X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=lbuild-initvm.sh;h=b0e732c4262982cf51c879e386f3f51fa0f06fc9;hb=efc8519c4f9395f13d0f443802c8eca18db56741;hp=636fdc4f305c36d481bd510ba6460e3fe87e5098;hpb=77cf7bccd1980c4fb1208a730e4ad53382c16274;p=build.git diff --git a/lbuild-initvm.sh b/lbuild-initvm.sh index 636fdc4f..b0e732c4 100755 --- a/lbuild-initvm.sh +++ b/lbuild-initvm.sh @@ -30,7 +30,7 @@ function lxcroot () { # XXX fixme : when creating a 32bits VM we need to call linux32 as appropriate...s -DEFAULT_FCDISTRO=f29 +DEFAULT_FCDISTRO=f33 DEFAULT_PLDISTRO=lxc DEFAULT_PERSONALITY=linux64 DEFAULT_MEMORY=3072 @@ -82,7 +82,7 @@ function package_method () { case $fcdistro in f[0-9]*|centos[0-9]*|sl[0-9]*) echo dnf ;; - wheezy|jessie|precise|trusty|utopic|vivid|wily|xenial) + wheezy|jessie|trusty|xenial|bionic) echo debootstrap ;; *) echo Unknown distro $fcdistro ;; @@ -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; } @@ -312,7 +314,8 @@ function fedora_configure_systemd() { ln -sf /dev/null ${lxc_root}/etc/systemd/system/"getty@.service" rm -f ${lxc_root}/etc/systemd/system/getty.target.wants/*service || : # can't seem to handle this one with systemctl - chroot ${lxc_root} $personality chkconfig network on +# second part should trigger starting with fedora31, where the network target is not manually manageable + chroot ${lxc_root} $personality chkconfig network on || chroot ${lxc_root} $personality systemctl enable NetworkManager } # overwrite container yum config @@ -329,23 +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 <