From: Thierry Parmentelat Date: Mon, 9 Nov 2020 14:02:07 +0000 (+0100) Subject: lbuild-initvm.sh -u : use upstream repos X-Git-Url: http://git.onelab.eu/?p=build.git;a=commitdiff_plain;h=4a63162c62e4ae7d6834b399ec3fd837ab4d9611 lbuild-initvm.sh -u : use upstream repos tweaks for create-vm to not rely on our mirror can be used with f32 even though we do not mirror it --- diff --git a/create-vm.sh b/create-vm.sh index 696c8a80..3ac36326 100755 --- a/create-vm.sh +++ b/create-vm.sh @@ -89,6 +89,8 @@ fqdn=$VM_HOSTNAME.$DOMAIN initvm="$BUILD/lbuild-initvm.sh" [ -z "$IMAGE" ] && initvm="$initvm -f $DISTRO" || initvm="$initvm -i $IMAGE" initvm="$initvm -n $fqdn" +# always use fedora repos +initvm="$initvm -u" [ -n "$DO_NOT_START_VM" ] && initvm="$initvm -s" [ -n "$MEMORY" ] && initvm="$initvm -m $MEMORY" initvm="$initvm $container" diff --git a/lbuild-initvm.sh b/lbuild-initvm.sh index f43508f5..b0e732c4 100755 --- a/lbuild-initvm.sh +++ b/lbuild-initvm.sh @@ -181,9 +181,11 @@ function fedora_download() { cp /etc/yum.repos.d/fedora{,-updates}.repo $INSTALL_ROOT/etc/yum.repos.d/ # append fedora repo files with hardwired releasever and basearch - for f in $INSTALL_ROOT/etc/yum.repos.d/* ; do - sed -i "s/\$basearch/$arch/g; s/\$releasever/${fedora_release}/g;" $f - done + if [ -z "$USE_UPSTREAM_REPOS" ]; then + for f in $INSTALL_ROOT/etc/yum.repos.d/* ; do + sed -i "s/\$basearch/$arch/g; s/\$releasever/${fedora_release}/g;" $f + done + fi # looks like all this business about fetching fedora-release is not needed # it does @@ -224,7 +226,7 @@ function fedora_download() { # So ideally if we want to be able to build f12 images from f18 we need an rpm that has # this patch undone, like we have in place on our f14 boxes (our f14 boxes need a f18-like rpm) - DNF="dnf --installroot=$INSTALL_ROOT --nogpgcheck -y" + DNF="dnf --installroot=$INSTALL_ROOT --nogpgcheck -y --releasever=${fedora_release}" echo "$DNF install $FEDORA_PREINSTALLED" $DNF install $FEDORA_PREINSTALLED || { echo "Failed to download rootfs, aborting." ; return 1; } @@ -330,22 +332,23 @@ function fedora_configure_yum () { # rpm --rebuilddb chroot ${lxc_root} $personality rpm --rebuilddb - echo "Initializing yum.repos.d in $lxc" - rm -f $lxc_root/etc/yum.repos.d/* - - # use mirroring/ stuff instead of a hard-wired config - local repofile=$lxc_root/etc/yum.repos.d/building.repo - yumconf_mirrors $repofile ${DIRNAME} $fcdistro "" $FEDORA_MIRROR - # the keys stuff requires adjustment though - sed -i $repofile -e s,'gpgkey=.*',"gpgkey=${FEDORA_MIRROR_KEYS}/RPM-GPG-KEY-fedora-${fedora_release}-primary," + if [ -z "$USE_UPSTREAM_REPOS" ]; then + echo "Initializing yum.repos.d in $lxc" + rm -f $lxc_root/etc/yum.repos.d/* + # use mirroring/ stuff instead of a hard-wired config + local repofile=$lxc_root/etc/yum.repos.d/building.repo + yumconf_mirrors $repofile ${DIRNAME} $fcdistro "" $FEDORA_MIRROR + # the keys stuff requires adjustment though + sed -i $repofile -e s,'gpgkey=.*',"gpgkey=${FEDORA_MIRROR_KEYS}/RPM-GPG-KEY-fedora-${fedora_release}-primary," + fi # import fedora key so that gpgckeck does not whine or require stdin # required since fedora24 rpm --root $lxc_root --import $FEDORA_MIRROR_KEYS/RPM-GPG-KEY-fedora-${fedora_release}-primary # for using this script as a general-purpose lxc creation wrapper # just mention 'none' as the repo url - if [ -n "$REPO_URL" ] ; then + if [ -n "$MYPLC_REPO_URL" ] ; then if [ ! -d $lxc_root/etc/yum.repos.d ] ; then echo "WARNING : cannot create myplc repo" else @@ -358,7 +361,7 @@ function fedora_configure_yum () { cat > $lxc_root/etc/yum.repos.d/myplc.repo <