From 0162513827e9125cf9a28798c75b80f1f678ae8f Mon Sep 17 00:00:00 2001 From: r00t Date: Sat, 17 Jan 2015 17:37:57 -0500 Subject: [PATCH] completed apacman integration and linux 3.18.2 --- extra/pre-build.d/32/etc/pacman.conf | 6 +++--- extra/pre-build.d/64/etc/pacman.conf | 6 +++--- extra/pre-build.d/etc/customizepkg.d/linux | 7 +++++-- extra/pre-build.d/root/post-build.sh | 12 +++++++----- lib/10-mentos.func.sh | 16 +++++++++------- lib/mk.chroot.sh | 16 +++++++++------- 6 files changed, 36 insertions(+), 27 deletions(-) diff --git a/extra/pre-build.d/32/etc/pacman.conf b/extra/pre-build.d/32/etc/pacman.conf index 12e3c0e..696061c 100644 --- a/extra/pre-build.d/32/etc/pacman.conf +++ b/extra/pre-build.d/32/etc/pacman.conf @@ -89,6 +89,6 @@ Include = /etc/pacman.d/mirrorlist #SigLevel = Optional TrustAll #Server = file:///home/custompkgs -[archlinuxfr] -SigLevel = Never -Server = http://repo.archlinux.fr/$arch +#[archlinuxfr] +#SigLevel = Never +#Server = http://repo.archlinux.fr/$arch diff --git a/extra/pre-build.d/64/etc/pacman.conf b/extra/pre-build.d/64/etc/pacman.conf index 277c670..a46395b 100644 --- a/extra/pre-build.d/64/etc/pacman.conf +++ b/extra/pre-build.d/64/etc/pacman.conf @@ -98,6 +98,6 @@ Include = /etc/pacman.d/mirrorlist #SigLevel = Optional TrustAll #Server = file:///home/custompkgs -[archlinuxfr] -SigLevel = Never -Server = http://repo.archlinux.fr/$arch +#[archlinuxfr] +#SigLevel = Never +#Server = http://repo.archlinux.fr/$arch diff --git a/extra/pre-build.d/etc/customizepkg.d/linux b/extra/pre-build.d/etc/customizepkg.d/linux index 14cf735..c0e1da7 100755 --- a/extra/pre-build.d/etc/customizepkg.d/linux +++ b/extra/pre-build.d/etc/customizepkg.d/linux @@ -3,6 +3,7 @@ sed -i -e 's/^\(pkgbase=linux[[:space:]]*\)/#\1/g' ${1} sed -i -e 's/^#\(pkgbase=linux-\)custom.*$/\1BDisk/g' ${1} sed -i -e '/^_kernelname/a KERNVER=$(echo ${pkgver} | sed -e "s/\\\([0-9]\\\.[0-9]*\\\).*$/\\\1/")' ${1} +sed -i -e '/^_kernelname/a KERNVER_MIN=$(echo ${pkgver} | sed -e "s/\\\([0-9]\\\.[0-9]*\\\)\\\.\\\(.*\\\)$/\\\2/")' ${1} sed -i -e "s/^\(makedepends=.*\))$/\1 'rsync' 'git')/g" ${1} ##cp linux.preset linux-BDisk.preset ##sed -i -e 's#^[[:space:]]*install\ -D\ -m644\ "${srcdir}/linux.preset".*$#install -D -m644 "${srcdir}/linux-BDisk.preset" "${pkgdir}/etc/mkinitcpio.d/${pkgbase}.preset"#g' ${1} @@ -15,6 +16,7 @@ sed -i -e "s/^\(makedepends=.*\))$/\1 'rsync' 'git')/g" ${1} # add source for aufs3 ## 12.07.2014 - remove the "git checkout " once a bug is fixed. currently fails with: +##\ git checkout c75f6dddc1c58950c76cc1581e4b4c7ac8365bff > \/dev\/null 2>&1\ ## LD fs/aufs/built-in.o ## CC [M] fs/aufs/module.o ##In file included from fs/aufs/module.c:24:0: @@ -38,8 +40,9 @@ sed -i -e "s/^\(makedepends=.*\))$/\1 'rsync' 'git')/g" ${1} sed -i -e '/^prepare()\ {/a\ \ git clone git:\/\/aufs.git.sourceforge.net\/gitroot\/aufs\/aufs3-standalone.git aufs3 > \/dev\/null 2>&1\ \ cd aufs3\ -\ git checkout aufs${KERNVER} > \/dev\/null 2>&1\ -\ git checkout c75f6dddc1c58950c76cc1581e4b4c7ac8365bff > \/dev\/null 2>&1\ +\ AUFS_MIN=$(git branch -a | grep "${KERNVER}" | tail -n1 | cut -f3 -d"/" | sed -e "s/aufs${KERNVER}//g ; s/\\\.\\\([0-9]*\\\).*$/\\\1/g")\ +\ if [ -n "${AUFS_MIN}" ] && [ -n "${KERNVER_MIN}" ] && [[ "${AUFS_MIN}" -le "${KERNVER_MIN}" ]] ; then CO="$(git branch -a | grep "${KERNVER}" | tail -n1 | cut -f3 -d"/")" ; else CO=aufs${KERNVER} ; fi \ +\ git checkout ${CO} > \/dev\/null 2>&1\ \ cd ..\/' ${1} #sed -i -e 's/^\(_kernelname=\).*$/\1"-BDisk"/' ${1} sed -i -e '/^[[:space:]]*patch.*pkgver}"$/i rsync -a ../aufs3/Documentation/. Documentation/. ; rsync -a ../aufs3/fs/. fs/. ; cp -a ../aufs3/include/uapi/linux/aufs_type.h include/uapi/linux/. \ diff --git a/extra/pre-build.d/root/post-build.sh b/extra/pre-build.d/root/post-build.sh index 6a11aef..62274d4 100755 --- a/extra/pre-build.d/root/post-build.sh +++ b/extra/pre-build.d/root/post-build.sh @@ -16,12 +16,14 @@ cd /tmp/core/linux customizepkg --modify chown -R nobody:nobody /tmp/core/linux -sudo -u nobody makepkg +sudo -u nobody makepkg --skipinteg set -e -for i in $(ls -1 linux-*.pkg.tar.xz | sort); -do - pacman --noconfirm -U ${i} -done +yes '' | apacman --skipinteg --noconfirm --noedit -U /tmp/core/linux/linux-*.pkg.tar.xz + +#for i in $(ls -1 linux-*.pkg.tar.xz | sort); +#do + #apacman --skipinteg --noconfirm --noedit --noconfirm -U ${i} +#done echo "Done." diff --git a/lib/10-mentos.func.sh b/lib/10-mentos.func.sh index 60e3ef5..ef92793 100644 --- a/lib/10-mentos.func.sh +++ b/lib/10-mentos.func.sh @@ -39,17 +39,19 @@ 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 --skipinteg-Syyua --devel" >> "${LOGFILE}.${FUNCNAME}" 2>&1 + ${CHROOTCMD} ${i}/ bash -c "${RACECAR_CHK}apacman --noconfirm --noedit --skipinteg -Syyu --devel" >> "${LOGFILE}.${FUNCNAME}" 2>&1 else - ${CHROOTCMD} ${i}/ bash -c "${RACECAR_CHK}apacman --noconfirm --noedit --skipinteg-Syyua --devel --ignore linux,linux-${PNAME}" >> "${LOGFILE}.${FUNCNAME}" 2>&1 + ${CHROOTCMD} ${i}/ bash -c "${RACECAR_CHK}apacman --noconfirm --noedit --skipinteg -Syyu --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 --skipinteg-S --needed --ignore linux,linux-${PNAME} ${PKGLIST}" >> "${LOGFILE}.${FUNCNAME}" 2>&1 + ${CHROOTCMD} ${i}/ bash -c "${RACECAR_CHK}apacman --noconfirm --noedit --skipinteg -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 --skipinteg-S --needed ${PKGLIST}" + #${CHROOTCMD} ${i}/ bash -c "apacman --noconfirm --noedit --skipinteg -S --needed ${PKGLIST}" if [[ -n $(find ${BASEDIR}/extra/pre-build.d/ -type f -newer root.x86_64/boot/vmlinuz-linux-${PNAME}) ]]; then + set +e ${CHROOTCMD} ${i}/ bash -c "${RACECAR_CHK}mkinitcpio -p linux-${PNAME}" >> "${LOGFILE}.${FUNCNAME}" 2>&1 + set -e fi echo "Done." done @@ -60,7 +62,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 --skipinteg-S --needed ${PKGLIST}" >> "${LOGFILE}.${FUNCNAME}" 2>&1 + ${CHROOTCMD} ${CHROOTDIR32}/ bash -c "yes '' | ${RACECAR_CHK}apacman --noconfirm --noedit --skipinteg -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 +71,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 --skipinteg-S --needed ${PKGLIST}" >> "${LOGFILE}.${FUNCNAME}" 2>&1 + ${CHROOTCMD} ${CHROOTDIR64}/ bash -c "${RACECAR_CHK}apacman --noconfirm --noedit --skipinteg -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 --skipinteg-S --needed ${PKGLIST}" + #${CHROOTCMD} ${CHROOTDIR64}/ bash -c "apacman --noconfirm --noedit --skipinteg -S --needed ${PKGLIST}" echo "Syncing overlay..." rsync -a ${BASEDIR}/overlay/64/. ${CHROOTDIR64}/. echo "Done." diff --git a/lib/mk.chroot.sh b/lib/mk.chroot.sh index 72f23ed..89e7ee4 100755 --- a/lib/mk.chroot.sh +++ b/lib/mk.chroot.sh @@ -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 abs xmlto bc >> "${LOGFILE}.${FUNCNAME}" 2>&1 + ${CHROOTCMD} ${i}/ pacman -S --noconfirm --needed base syslinux wget rsync unzip jshon sed sudo abs xmlto bc docbook-xsl git >> "${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..." @@ -186,7 +186,7 @@ EOF 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 --skipintegapacman-deps expac" >> "${LOGFILE}.${FUNCNAME}" 2>&1 + ${CHROOTCMD} ${i} bash -c "apacman -S --noconfirm --noedit --skipinteg -S 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 @@ -215,15 +215,15 @@ EOF ${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 #set +e - #${CHROOTCMD} ${i}/ /usr/bin/bash -c "apacman --noconfirm --noedit --skipinteg-S --needed linux" >> "${LOGFILE}.${FUNCNAME}" 2>&1 + #${CHROOTCMD} ${i}/ /usr/bin/bash -c "apacman --noconfirm --noedit --skipinteg -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 --skipinteg-S --needed debian-whois-mkpasswd" >> "${LOGFILE}.${FUNCNAME}" 2>&1 + #${CHROOTCMD} ${i}/ bash -c "apacman --noconfirm --noedit --skipinteg -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 --skipinteg-S --needed ${PKGLIST}" >> "${LOGFILE}.${FUNCNAME}" 2>&1 + ${CHROOTCMD} ${i}/ bash -c "yes '' | apacman --noconfirm --noedit --skipinteg -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 @@ -260,7 +260,9 @@ EOF for i in ${CHROOTDIR32} ${CHROOTDIR64}; do + set +e ${CHROOTCMD} ${i}/ /usr/bin/bash -c "mkinitcpio -p linux-${PNAME}" >> "${LOGFILE}.${FUNCNAME}" 2>&1 + set -e done # 32-bit @@ -268,7 +270,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 --skipinteg-S --needed ${PKGLIST}" >> "${LOGFILE}.${FUNCNAME}" 2>&1 + ${CHROOTCMD} ${CHROOTDIR32}/ /usr/bin/bash -c "apacman --noconfirm --noedit --skipinteg -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 @@ -280,7 +282,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 --skipinteg-S --needed ${PKGLIST}" >> "${LOGFILE}.${FUNCNAME}" 2>&1 + ${CHROOTCMD} ${CHROOTDIR64}/ /usr/bin/bash -c "apacman --noconfirm --noedit --skipinteg -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