Compare commits
9 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 1dcbe73c7b | |||
| 3133e4a962 | |||
| 66323730f9 | |||
| 42fe9ece4e | |||
| 14d587827a | |||
| 4516168d99 | |||
| 065db383a2 | |||
| a7b777ce40 | |||
| 9e036e250e |
@@ -67,7 +67,7 @@ for i in ${ROOTDIR} ${CHROOTDIR32} ${CHROOTDIR64} ${BUILDDIR}32 ${BUILDDIR}64 ${
|
||||
do
|
||||
if [ ! -d ${i} ];
|
||||
then
|
||||
echo "${i} does not exist - creating."
|
||||
#echo "${i} does not exist - creating."
|
||||
mkdir -p ${i}
|
||||
fi
|
||||
done
|
||||
|
||||
BIN
extra/bootstrap/apacman-0.9-1-any.pkg.tar.xz
Normal file
BIN
extra/bootstrap/apacman-0.9-1-any.pkg.tar.xz
Normal file
Binary file not shown.
Binary file not shown.
@@ -71,7 +71,7 @@ RSYNC_DEST="${BASEDIR}"
|
||||
# Note that the code appends, rather than replaces, logs- hence the timestamp in EPOCH time format.
|
||||
LOGFILE="${BASEDIR}/logs/$(date +%s)"
|
||||
|
||||
# What should the regular username be? (Automatically logged in on boot)
|
||||
# What should the regular username be? (Can be automatically logged in on boot; see below)
|
||||
REGUSR="${UXNAME}"
|
||||
|
||||
# Should the REGUSR have a password? IF THIS IS NOT SET, PASSWORD LOGIN WILL BE DISABLED!
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# Server list generated by rankmirrors on 2014-11-10
|
||||
Server = http://mirror.rit.edu/archlinux/$repo/os/$arch
|
||||
Server = http://mirror.cc.columbia.edu/pub/linux/archlinux/$repo/os/$arch
|
||||
Server = http://mirrors.acm.wpi.edu/archlinux/$repo/os/$arch
|
||||
Server = http://mirror.jmu.edu/pub/archlinux/$repo/os/$arch
|
||||
Server = http://mirror.cs.pitt.edu/archlinux/$repo/os/$arch
|
||||
Server = http://mirror.vtti.vt.edu/archlinux/$repo/os/$arch
|
||||
# Server list generated by rankmirrors on 2015-01-10
|
||||
Server = http://mirrors.advancedhosters.com/archlinux/$repo/os/$arch
|
||||
Server = http://mirror.yellowfiber.net/archlinux/$repo/os/$arch
|
||||
Server = http://mirror.es.its.nyu.edu/archlinux/$repo/os/$arch
|
||||
Server = http://mirror.us.leaseweb.net/archlinux/$repo/os/$arch
|
||||
Server = http://mirrors.rutgers.edu/archlinux/$repo/os/$arch
|
||||
Server = http://mirror.umd.edu/archlinux/$repo/os/$arch
|
||||
|
||||
27
extra/pre-build.d/root/post-build.sh
Executable file
27
extra/pre-build.d/root/post-build.sh
Executable file
@@ -0,0 +1,27 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
apacman --noconfirm --noedit -S --needed customizepkg-scripting
|
||||
|
||||
echo -n "Compiling kernel sources..."
|
||||
set +e
|
||||
## Uncomment below and remove manual ABS/makepkg when https://github.com/oshazard/apacman/issues/2 is fulfulled
|
||||
#apacman --noconfirm --noedit -S --needed linux
|
||||
|
||||
export ABSROOT=/tmp
|
||||
abs core/linux
|
||||
|
||||
cd /tmp/core/linux
|
||||
customizepkg --modify
|
||||
|
||||
chown -R nobody:nobody /tmp/core/linux
|
||||
sudo -u nobody makepkg
|
||||
set -e
|
||||
|
||||
for i in $(ls -1 linux-*.pkg.tar.xz | sort);
|
||||
do
|
||||
pacman --noconfirm -U ${i}
|
||||
done
|
||||
|
||||
echo "Done."
|
||||
@@ -27,8 +27,8 @@ function jenny_craig () {
|
||||
# sync over new changes and trim out the fat
|
||||
rsync -a --delete ${CHROOTDIR}/. ${BUILDDIR}/.
|
||||
set +e
|
||||
cp -af ${BUILDDIR}/usr/share/zoneinfo/EST5EDT ${BUILDDIR}/etc/localtime
|
||||
cp -af ${CHROOTDIR}/usr/share/zoneinfo/EST5EDT ${CHROOTDIR}/etc/localtime
|
||||
cp -af ${BUILDDIR}/usr/share/zoneinfo/EST5EDT ${BUILDDIR}/etc/localtime > /dev/null 2>&1
|
||||
cp -af ${CHROOTDIR}/usr/share/zoneinfo/EST5EDT ${CHROOTDIR}/etc/localtime > /dev/null 2>&1
|
||||
set -e
|
||||
cp -af ${BUILDDIR}/usr/share/locale/locale.alias ${BUILDDIR}/tmp/.
|
||||
echo "Cleaning up unnecessary cruft in ${BUILDDIR}..."
|
||||
@@ -45,6 +45,7 @@ function jenny_craig () {
|
||||
mv -f ${BUILDDIR}/tmp/locale.alias ${BUILDDIR}/usr/share/locale/.
|
||||
rm -rf ${BUILDDIR}/var/cache/pacman/*
|
||||
rm -rf ${BUILDDIR}/var/cache/pkgfile/*
|
||||
rm -rf ${BUILDDIR}/var/cache/apacman/pkg/*
|
||||
rm -rf ${BUILDDIR}/var/lib/pacman/*
|
||||
mkdir -p ${BUILDDIR}/var/lib/pacman/local
|
||||
rm -rf ${BUILDDIR}/var/abs/local/yaourtbuild/*
|
||||
@@ -54,6 +55,8 @@ function jenny_craig () {
|
||||
rm -rf ${BUILDDIR}/var/abs/*
|
||||
rm -rf ${BUILDDIR}/run/*
|
||||
rm -rf ${BUILDDIR}/boot/*
|
||||
#rm -rf ${BUILDDIR}/root/*
|
||||
rm -rf ${BUILDDIR}/root/post-build.sh
|
||||
rm -rf ${BUILDDIR}/usr/src/*
|
||||
rm -rf ${BUILDDIR}/var/log/*
|
||||
rm -rf ${BUILDDIR}/.git
|
||||
|
||||
@@ -39,14 +39,14 @@ function mentos {
|
||||
|
||||
if [[ -n $(find ${BASEDIR}/extra/pre-build.d/ -type f -newer ${BASEDIR}/root.x86_64/boot/vmlinuz-linux-${PNAME}) ]] || [[ "${INSTKERN}" != "${NEWKERN}" ]];
|
||||
then
|
||||
${CHROOTCMD} ${i}/ bash -c "${RACECAR_CHK}apacman --noconfirm --noedit -Syyua --noconfirm --devel" >> "${LOGFILE}.${FUNCNAME}" 2>&1
|
||||
${CHROOTCMD} ${i}/ bash -c "${RACECAR_CHK}apacman --noconfirm --noedit -Syyua --devel" >> "${LOGFILE}.${FUNCNAME}" 2>&1
|
||||
else
|
||||
${CHROOTCMD} ${i}/ bash -c "${RACECAR_CHK}apacman --noconfirm --noedit -Syyua --noconfirm --devel --ignore linux,linux-${PNAME}" >> "${LOGFILE}.${FUNCNAME}" 2>&1
|
||||
${CHROOTCMD} ${i}/ bash -c "${RACECAR_CHK}apacman --noconfirm --noedit -Syyua --devel --ignore linux,linux-${PNAME}" >> "${LOGFILE}.${FUNCNAME}" 2>&1
|
||||
fi
|
||||
for x in $(find ${i}/etc/ -type f -iname "*.pacorig");do mv -f ${x} ${x%.pacorig} ; done
|
||||
${CHROOTCMD} ${i}/ bash -c "${RACECAR_CHK}apacman --noconfirm --noedit -S --needed --ignore linux,linux-${PNAME} --noconfirm ${PKGLIST}" >> "${LOGFILE}.${FUNCNAME}" 2>&1
|
||||
${CHROOTCMD} ${i}/ bash -c "${RACECAR_CHK}apacman --noconfirm --noedit -S --needed --ignore linux,linux-${PNAME} ${PKGLIST}" >> "${LOGFILE}.${FUNCNAME}" 2>&1
|
||||
for x in $(find ${i}/etc/ -type f -iname "*.pacorig");do mv -f ${x} ${x%.pacorig} ; done
|
||||
#${CHROOTCMD} ${i}/ bash -c "apacman --noconfirm --noedit -S --needed --noconfirm ${PKGLIST}"
|
||||
#${CHROOTCMD} ${i}/ bash -c "apacman --noconfirm --noedit -S --needed ${PKGLIST}"
|
||||
if [[ -n $(find ${BASEDIR}/extra/pre-build.d/ -type f -newer root.x86_64/boot/vmlinuz-linux-${PNAME}) ]];
|
||||
then
|
||||
${CHROOTCMD} ${i}/ bash -c "${RACECAR_CHK}mkinitcpio -p linux-${PNAME}" >> "${LOGFILE}.${FUNCNAME}" 2>&1
|
||||
@@ -60,7 +60,7 @@ function mentos {
|
||||
PKGLIST=$(sed -e '/^[[:space:]]*#/d ; /^[[:space:]]*$/d' ${BASEDIR}/extra/packages.32 | tr '\n' ' ')
|
||||
if [ -n "${PKGLIST}" ];
|
||||
then
|
||||
${CHROOTCMD} ${CHROOTDIR32}/ bash -c "yes '' | ${RACECAR_CHK}apacman --noconfirm --noedit -S --needed --noconfirm ${PKGLIST}" >> "${LOGFILE}.${FUNCNAME}" 2>&1
|
||||
${CHROOTCMD} ${CHROOTDIR32}/ bash -c "yes '' | ${RACECAR_CHK}apacman --noconfirm --noedit -S --needed ${PKGLIST}" >> "${LOGFILE}.${FUNCNAME}" 2>&1
|
||||
fi
|
||||
for x in $(find ${CHROOTDIR32}/etc/ -type f -iname "*.pacorig");do mv -f ${x} ${x%.pacorig} ; done
|
||||
|
||||
@@ -69,10 +69,10 @@ function mentos {
|
||||
PKGLIST=$(sed -e '/^[[:space:]]*#/d ; /^[[:space:]]*$/d' ${BASEDIR}/extra/packages.64 | tr '\n' ' ')
|
||||
if [ -n "${PKGLIST}" ];
|
||||
then
|
||||
${CHROOTCMD} ${CHROOTDIR64}/ bash -c "${RACECAR_CHK}apacman --noconfirm --noedit -S --needed --noconfirm ${PKGLIST}" >> "${LOGFILE}.${FUNCNAME}" 2>&1
|
||||
${CHROOTCMD} ${CHROOTDIR64}/ bash -c "${RACECAR_CHK}apacman --noconfirm --noedit -S --needed ${PKGLIST}" >> "${LOGFILE}.${FUNCNAME}" 2>&1
|
||||
fi
|
||||
for x in $(find ${CHROOTDIR64}/etc/ -type f -iname "*.pacorig");do mv -f ${x} ${x%.pacorig} ; done
|
||||
#${CHROOTCMD} ${CHROOTDIR64}/ bash -c "apacman --noconfirm --noedit -S --needed --noconfirm ${PKGLIST}"
|
||||
#${CHROOTCMD} ${CHROOTDIR64}/ bash -c "apacman --noconfirm --noedit -S --needed ${PKGLIST}"
|
||||
echo "Syncing overlay..."
|
||||
rsync -a ${BASEDIR}/overlay/64/. ${CHROOTDIR64}/.
|
||||
echo "Done."
|
||||
@@ -99,6 +99,8 @@ function mentos {
|
||||
find ${CHROOTDIR64}/root/ -type f -exec chmod 600 '{}' \;
|
||||
find ${CHROOTDIR32}/root/ -type d -exec chmod 700 '{}' \;
|
||||
find ${CHROOTDIR32}/root/ -type f -exec chmod 600 '{}' \;
|
||||
chmod 600 ${CHROOTDIR64}/etc/ssh/*
|
||||
chmod 600 ${CHROOTDIR32}/etc/ssh/*
|
||||
echo "Done."
|
||||
|
||||
}
|
||||
|
||||
@@ -167,7 +167,7 @@ EOF
|
||||
# if that doesn't work,
|
||||
${CHROOTCMD} ${i}/ pacman -Syy >> "${LOGFILE}.${FUNCNAME}" 2>&1
|
||||
for x in $(find ${i}/etc/ -type f -iname "*.pacorig");do mv -f ${x} ${x%%.pacorig} ; done
|
||||
${CHROOTCMD} ${i}/ pacman -S --noconfirm --needed base syslinux wget rsync unzip jshon sed sudo >> "${LOGFILE}.${FUNCNAME}" 2>&1
|
||||
${CHROOTCMD} ${i}/ pacman -S --noconfirm --needed base syslinux wget rsync unzip jshon sed sudo abs xmlto bc >> "${LOGFILE}.${FUNCNAME}" 2>&1
|
||||
for x in $(find ${i}/etc/ -type f -iname "*.pacorig");do mv -f ${x} ${x%%.pacorig} ; done
|
||||
echo "Done."
|
||||
echo -n "...Upgrading any outdated packages..."
|
||||
@@ -182,10 +182,12 @@ EOF
|
||||
## https://projects.archlinux.org/pacman.git/tree/NEWS#n54
|
||||
## https://bugs.archlinux.org/task/43302
|
||||
#${CHROOTCMD} ${i}/ pacman -S --noconfirm --needed yaourt >> "${LOGFILE}.${FUNCNAME}" 2>&1
|
||||
mkdir -p ${i}/tmp/apacman && cp ${BASEDIR}/extra/bootstrap/apacman* ${i}/tmp/.
|
||||
tar -zxf ${i}/tmp/apacman.tar.gz -C ${i}/tmp/apacman
|
||||
${CHROOTCMD} ${i}/ "chown -R nobody:nobody /tmp/apacman* ; cd /tmp/apacman/apacman ' sudo -u nobody makepkg ; pacman --noconfirm -U apacman-*.tar.xz" >> "${LOGFILE}.${FUNCNAME}" 2>&1
|
||||
${CHROOTCMD} ${i}/ "apacman -S --noconfirm --noedit apacman-deps expac" >> "${LOGFILE}.${FUNCNAME}" 2>&1
|
||||
mkdir ${i}/var/tmp/pkg
|
||||
cp ${BASEDIR}/extra/bootstrap/apacman* ${i}/var/tmp/pkg/apacman.tar.xz
|
||||
#${CHROOTCMD} ${i} "pacman --noconfirm -U /var/tmp/pkg/apacman.tar.xz" >> "${LOGFILE}.${FUNCNAME}" 2>&1
|
||||
${CHROOTCMD} ${i} bash -c "pacman --noconfirm -U /var/tmp/pkg/apacman.tar.xz" >> "${LOGFILE}.${FUNCNAME}" 2>&1
|
||||
${CHROOTCMD} ${i} bash -c "apacman -S --noconfirm --noedit apacman-deps expac" >> "${LOGFILE}.${FUNCNAME}" 2>&1
|
||||
#rm -rf ${i}/var/tmp/pkg
|
||||
#${CHROOTCMD} ${i}/ pacman -S --noconfirm --needed yaourt >> "${LOGFILE}.${FUNCNAME}" 2>&1
|
||||
for x in $(find ${i}/etc/ -type f -iname "*.pacorig");do mv -f ${x} ${x%%.pacorig} ; done
|
||||
done
|
||||
@@ -209,19 +211,19 @@ EOF
|
||||
PKGLIST=$(sed -e '/^[[:space:]]*#/d ; /^[[:space:]]*$/d' ${BASEDIR}/extra/packages.both | tr '\n' ' ')
|
||||
for i in ${CHROOTDIR32} ${CHROOTDIR64};
|
||||
do
|
||||
echo -n "...Packages installing to ${i}..."
|
||||
${CHROOTCMD} ${i}/ /usr/bin/bash -c "apacman --noconfirm --noedit -S --needed --noconfirm customizepkg-scripting" >> "${LOGFILE}.${FUNCNAME}" 2>&1
|
||||
echo "Running post-build tasks (building kernel, etc.) in ${i}..."
|
||||
${CHROOTCMD} ${i}/ "/root/post-build.sh" >> "${LOGFILE}.${FUNCNAME}" 2>&1
|
||||
for x in $(find ${i}/etc/ -type f -iname "*.pacorig");do mv -f ${x} ${x%%.pacorig} ; done
|
||||
echo -n "Compiling kernel sources..."
|
||||
set +e
|
||||
${CHROOTCMD} ${i}/ /usr/bin/bash -c "apacman --noconfirm --noedit -S --needed --noconfirm linux" >> "${LOGFILE}.${FUNCNAME}" 2>&1
|
||||
set -e
|
||||
#set +e
|
||||
#${CHROOTCMD} ${i}/ /usr/bin/bash -c "apacman --noconfirm --noedit -S --needed linux" >> "${LOGFILE}.${FUNCNAME}" 2>&1
|
||||
#set -e
|
||||
#for x in $(find ${i}/etc/ -type f -iname "*.pacorig");do mv -f ${x} ${x%%.pacorig} ; done
|
||||
# Uncomment if you wish to use the mkpasswd binary from within the chroot...
|
||||
#${CHROOTCMD} ${i}/ bash -c "apacman --noconfirm --noedit -S --needed --noconfirm debian-whois-mkpasswd" >> "${LOGFILE}.${FUNCNAME}" 2>&1
|
||||
for x in $(find ${i}/etc/ -type f -iname "*.pacorig");do mv -f ${x} ${x%%.pacorig} ; done
|
||||
#${CHROOTCMD} ${i}/ bash -c "apacman --noconfirm --noedit -S --needed debian-whois-mkpasswd" >> "${LOGFILE}.${FUNCNAME}" 2>&1
|
||||
#for x in $(find ${i}/etc/ -type f -iname "*.pacorig");do mv -f ${x} ${x%%.pacorig} ; done
|
||||
echo -n "Regular packages..."
|
||||
set +e
|
||||
${CHROOTCMD} ${i}/ bash -c "yes '' | apacman --noconfirm --noedit -S --needed --noconfirm ${PKGLIST}" >> "${LOGFILE}.${FUNCNAME}" 2>&1
|
||||
${CHROOTCMD} ${i}/ bash -c "yes '' | apacman --noconfirm --noedit -S --needed ${PKGLIST}" >> "${LOGFILE}.${FUNCNAME}" 2>&1
|
||||
for x in $(find ${i}/etc/ -type f -iname "*.pacorig");do mv -f ${x} ${x%%.pacorig} ; done
|
||||
# User creation
|
||||
set -e
|
||||
@@ -249,7 +251,7 @@ EOF
|
||||
then
|
||||
${CHROOTCMD} ${i}/ passwd -d root >> "${LOGFILE}.${FUNCNAME}" 2>&1
|
||||
else
|
||||
${CHROOTCMD} ${i}/ usermod -L ${REGUSR} >> "${LOGFILE}.${FUNCNAME}" 2>&1
|
||||
${CHROOTCMD} ${i}/ usermod -L root >> "${LOGFILE}.${FUNCNAME}" 2>&1
|
||||
fi
|
||||
# The following is supposed to do the same as the above, but "cleaner". However, it currently fails with "execv() failed: No such file or directory"
|
||||
##${CHROOTCMD} ${i}/ usermod -L root >> "${LOGFILE}.${FUNCNAME}" 2>&1
|
||||
@@ -266,7 +268,7 @@ EOF
|
||||
PKGLIST=$(sed -e '/^[[:space:]]*#/d ; /^[[:space:]]*$/d' ${BASEDIR}/extra/packages.32 | tr '\n' ' ')
|
||||
if [ -n "${PKGLIST}" ];
|
||||
then
|
||||
${CHROOTCMD} ${CHROOTDIR32}/ /usr/bin/bash -c "apacman --noconfirm --noedit -S --needed --noconfirm ${PKGLIST}" >> "${LOGFILE}.${FUNCNAME}" 2>&1
|
||||
${CHROOTCMD} ${CHROOTDIR32}/ /usr/bin/bash -c "apacman --noconfirm --noedit -S --needed ${PKGLIST}" >> "${LOGFILE}.${FUNCNAME}" 2>&1
|
||||
fi
|
||||
set +e
|
||||
for x in $(find ${CHROOTDIR32}/etc/ -type f -iname "*.pacorig");do mv -f ${x} ${x%.pacorig} ; done
|
||||
@@ -278,7 +280,7 @@ EOF
|
||||
PKGLIST=$(sed -e '/^[[:space:]]*#/d ; /^[[:space:]]*$/d' ${BASEDIR}/extra/packages.64 | tr '\n' ' ')
|
||||
if [ -n "${PKGLIST}" ];
|
||||
then
|
||||
${CHROOTCMD} ${CHROOTDIR64}/ /usr/bin/bash -c "apacman --noconfirm --noedit -S --needed --noconfirm ${PKGLIST}" >> "${LOGFILE}.${FUNCNAME}" 2>&1
|
||||
${CHROOTCMD} ${CHROOTDIR64}/ /usr/bin/bash -c "apacman --noconfirm --noedit -S --needed ${PKGLIST}" >> "${LOGFILE}.${FUNCNAME}" 2>&1
|
||||
fi
|
||||
set +e
|
||||
for x in $(find ${CHROOTDIR64}/etc/ -type f -iname "*.pacorig");do mv -f ${x} ${x%.pacorig} ; done
|
||||
@@ -305,6 +307,8 @@ EOF
|
||||
find ${CHROOTDIR64}/root/ -type f -exec chmod 600 '{}' \;
|
||||
find ${CHROOTDIR32}/root/ -type d -exec chmod 700 '{}' \;
|
||||
find ${CHROOTDIR32}/root/ -type f -exec chmod 600 '{}' \;
|
||||
chmod 600 ${CHROOTDIR64}/etc/ssh/*
|
||||
chmod 600 ${CHROOTDIR32}/etc/ssh/*
|
||||
echo "Done."
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user