X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;f=febootstrap.sh;h=3cadf2ab52e772f8bf7b1a930874da3462a0c584;hb=035dd0842c6c6c92f8669a3f0817fb730accdd5f;hp=590049990e3be9e35aceae7ff07f458e323a3ef9;hpb=7195fe81a0b4781e53e6264eda4f495690795839;p=febootstrap.git diff --git a/febootstrap.sh b/febootstrap.sh index 5900499..3cadf2a 100755 --- a/febootstrap.sh +++ b/febootstrap.sh @@ -18,9 +18,11 @@ # # Written by Richard W.M. Jones +unset CDPATH + TEMP=`getopt \ - -o g:i: \ - --long groupinstall:,group-install:,help,install:,noclean,no-clean \ + -o g:i:p:u: \ + --long groupinstall:,group-install:,help,install:,noclean,no-clean,proxy:,updates: \ -n febootstrap -- "$@"` if [ $? != 0 ]; then echo "febootstrap: problem parsing the command line arguments" @@ -45,9 +47,15 @@ while true; do -i|--install) packages[i++]="$2" shift 2;; - --groupinstall|--group-install) + -g|--groupinstall|--group-install) packages[i++]="@$2" shift 2;; + -p|--proxy) + proxy="proxy=$2" + shift 2;; + -u|--updates) + updates="$2"; + shift 2;; --noclean|--no-clean) clean=no shift;; @@ -96,6 +104,7 @@ name=febootstrap $repo $arch failovermethod=priority enabled=1 gpgcheck=0 +$proxy __EOF__ # "Mirror" parameter is a bit misnamed, but it means a local mirror, @@ -106,12 +115,42 @@ else echo "mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=$repo&arch=$arch" >> "$tmpdir"/febootstrap.repo fi +# Add the updates repository if asked. +case "$updates" in + 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. @@ -124,6 +163,11 @@ mkdir -p "$target"/var/cache/yum/febootstrap/packages # error: unpacking of archive failed on file /proc: cpio: utime 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 + # Make the device nodes inside the fake chroot. # (Copied from mock/backend.py) Why isn't there a base package which # creates these?