X-Git-Url: https://git.sommitrealweird.co.uk/rpmbased-dist-chroot.git/blobdiff_plain/2105183cee6c9fc558f86a34d5dd291fae495c24..4c7bc94994c3e5b42030496b9f9cff8d1b79e7fa:/rpmbased-dist-chroot.sh diff --git a/rpmbased-dist-chroot.sh b/rpmbased-dist-chroot.sh index 5aaf4ea..2349b2e 100755 --- a/rpmbased-dist-chroot.sh +++ b/rpmbased-dist-chroot.sh @@ -24,13 +24,28 @@ RPMArchives=/media/cdrom/Fedora/RPMS InstallRoot=/mnt/temp/fedora -installpackages="bash coreutils yum" +installpackages="bash coreutils yum basesystem redhat-release" ourcachedirectory=$(mktemp -d) architecture=$(uname -m) export ARCH=$architecture +case $architecture in + x86_64) + architecture="x86_64,i686,i586,i486,i386" + ;; + i686) + architecture="i686,i586,i486,i386" + ;; + i586) + architecture="i586,i486,i386" + ;; + i486) + architecture="i486,i386" + ;; +esac + function displayHelp() { cat <> $ourcachedirectory/files-cache - rpm -qp --provides $file | cut -d " " -f 1 | sed 's#^#'$file':#' >> $ourcachedirectory/package-cache + for arch in noarch $(echo $architecture | sed -e 's/,/\n/g'); do + for file in *.$arch.rpm; do + rpm -qpl $file | sed 's#^#'$file':#' >> $ourcachedirectory/files-cache + rpm -qp --provides $file | cut -d " " -f 1 | sed 's#^#'$file':#' >> $ourcachedirectory/package-cache + done done } @@ -188,8 +221,10 @@ for package in $installpackages; do cd ${RPMArchives} && rpm -r ${InstallRoot} --ignorearch --install $(cat $ourcachedirectory/build-packagelist | cut -d ' ' -f 1) if ( ! grep " $package\$" $ourcachedirectory/build-packagelist > /dev/null 2>/dev/null ); then - echo rpm -r ${InstallRoot} --ignorearch --install $(findrpm $package) >> $ourcachedirectory/install-log - cd ${RPMArchives} && rpm -r ${InstallRoot} --ignorearch --install $(findrpm $package) + packages="$(findrpm $package)" + echo rpm -r ${InstallRoot} --ignorearch --install "${packages}" >> $ourcachedirectory/install-log + echo "${packages}" >> $ourcachedirectory/packages-installed + cd ${RPMArchives} && rpm -r ${InstallRoot} --ignorearch --install ${packages} fi else echo " Failed to find the RPM providing $package - skipping" @@ -198,7 +233,9 @@ done read -p "Remove cache directory ($ourcachedirectory)? [Yn]: " cleanup -if [[ $cleanup =~ ^[Nn] ]]; then +cleanup=${cleanup:0:1} + +if [ "$cleanup" == "N" ] || [ "$cleanup" == "n" ] ; then echo leaving logs in $ourcachedirectory else echo removing logs directory