X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;f=febootstrap.sh;h=2965a7e51227821dd51d5a6a72b9c9f3847f616a;hb=f6ca1f0328b16824b5239f026d82c598401f0ab7;hp=0b384113100308305e1a8b5d57fdb940c449fcf1;hpb=b1078f9a7d0fc70770216a8d49e544ae67d4a687;p=febootstrap.git diff --git a/febootstrap.sh b/febootstrap.sh index 0b38411..2965a7e 100755 --- a/febootstrap.sh +++ b/febootstrap.sh @@ -47,7 +47,7 @@ while true; do -i|--install) packages[i++]="$2" shift 2;; - --groupinstall|--group-install) + -g|--groupinstall|--group-install) packages[i++]="@$2" shift 2;; -p|--proxy) @@ -82,7 +82,7 @@ mirror="$3" # Architecture is currently always the same as the current arch. We # cannot do --foreign builds. See discussion in the manpage. -arch=$(arch) +arch=$(uname -m) case $arch in i?86) arch=i386 ;; esac @@ -117,7 +117,7 @@ fi # Add the updates repository if asked. case "$updates" in - none|no) + ""|none|no) ;; *://*) cat >> $tmpdir/febootstrap.repo <> $tmpdir/febootstrap.repo < /dev/null; pwd) # This is necessary to keep yum happy. It's not clear why yum can't # just create this file itself. @@ -166,7 +168,10 @@ export FAKECHROOT_EXCLUDE_PATH=/proc # Substitute some statically-linked commands. This is only supported # in fakechroot > 2.9. For previous versions of fakechroot it is # ignored. -export FAKECHROOT_CMD_SUBST=/sbin/ldconfig=/bin/true:/usr/sbin/glibc_post_upgrade.i686=/bin/true:/usr/sbin/glibc_post_upgrade.x86_64=/bin/true:/usr/sbin/build-locale-archive=/bin/true:/usr/sbin/libgcc_post_upgrade=/bin/true +export FAKECHROOT_CMD_SUBST=/sbin/ldconfig=/bin/true:/usr/sbin/glibc_post_upgrade.i686=/bin/true:/usr/sbin/glibc_post_upgrade.x86_64=/bin/true:/usr/sbin/build-locale-archive=/bin/true:/usr/sbin/libgcc_post_upgrade=/bin/true:/sbin/new-kernel-pkg=/bin/true:/usr/sbin/nscd=/bin/true + +# Use the libraries inside the chroot. +export LD_LIBRARY_PATH="$target"/usr/lib64:"$target"/usr/lib:"$target"/lib64:"$target"/usr/lib # Make the device nodes inside the fake chroot. # (Copied from mock/backend.py) Why isn't there a base package which @@ -204,18 +209,24 @@ else make_device_nodes fi +repos=febootstrap +if [ -n "$addrepo" ]; then + repos="$repos,$addrepo" +fi + # Run yum. run_yum () { yum \ -y -c "$tmpdir"/febootstrap.repo \ - --disablerepo=* --enablerepo=febootstrap \ + --disablerepo=* --enablerepo=$repos \ --noplugins --nogpgcheck \ --installroot="$target" \ install "$@" } export -f run_yum export tmpdir +export repos if [ $(id -u) -ne 0 ]; then # Bash doesn't support exporting array variables, hence this @@ -229,5 +240,6 @@ fi # Clean up the yum repository. if [ "$clean" = "yes" ]; then - rm -rf "$target"/var/cache/yum/febootstrap + febootstrap-run "$target" -- rm -rf /var/cache/yum/febootstrap + febootstrap-run "$target" -- rm -rf /var/cache/yum/febootstrap-updates fi