X-Git-Url: https://iankelling.org/git/?a=blobdiff_plain;f=fai%2Fconfig%2Fbasefiles%2Fmk-basefile;h=8878aadf2c84283f7bee3fe85b8eaf421d2156ef;hb=fe81034ee9664d8e131bac218b40d99a58a31649;hp=ccfd3677ec218fb7086eec123a33d7e6a2adc3ba;hpb=ac4e0089e245c96a388b8fcdd92fc05da3399694;p=automated-distro-installer diff --git a/fai/config/basefiles/mk-basefile b/fai/config/basefiles/mk-basefile index ccfd367..8878aad 100755 --- a/fai/config/basefiles/mk-basefile +++ b/fai/config/basefiles/mk-basefile @@ -1,8 +1,7 @@ #! /bin/bash -set -x # mk-basefile, create basefiles for some distributions # -# Thomas Lange, Uni Koeln, 2011-2017 +# Thomas Lange, Uni Koeln, 2011-2020 # based on the Makefile implementation of Michael Goetze # # Usage example: mk-basefile -J STRETCH64 @@ -11,7 +10,7 @@ set -x # Supported distributions (each i386/amd64): # Debian GNU/Linux # Ubuntu 14.04/16.04 -# CentOS 5/6/7 +# CentOS 5/6/7/8 # Scientific Linux Cern 5/6 # # Packages you might want to install to use this command: @@ -25,17 +24,25 @@ MIRROR_UBUNTU=http://mirror.netcologne.de/ubuntu/ MIRROR_TRISQUEL=http://mirror.fsf.org/trisquel/ MIRROR_CENTOS=http://mirror.netcologne.de/ -EXCLUDE_SQUEEZE=isc-dhcp-client,isc-dhcp-common,info,tasksel,tasksel-data -EXCLUDE_WHEEZY=info,tasksel,tasksel-data -EXCLUDE_JESSIE=info,tasksel,tasksel-data -EXCLUDE_STRETCH=info,tasksel,tasksel-data -EXCLUDE_BUSTER=tasksel,tasksel-data +EXCLUDE_SQUEEZE=isc-dhcp-client,isc-dhcp-common,info +EXCLUDE_WHEEZY=info +EXCLUDE_JESSIE=info +EXCLUDE_STRETCH=info +EXCLUDE_BUSTER= +EXCLUDE_BULLSEYE= +EXCLUDE_SID= EXCLUDE_BELENOS=dhcp3-client,dhcp3-common,info EXCLUDE_TRUSTY=dhcp3-client,dhcp3-common,info -EXCLUDE_FLIDAS=udhcpc,dibbler-client,info,tasksel,tasksel-data -EXCLUDE_XENIAL=udhcpc,dibbler-client,info,tasksel,tasksel-data +EXCLUDE_XENIAL=udhcpc,dibbler-client,info +EXCLUDE_FLIDAS=udhcpc,dibbler-client,info +EXCLUDE_BIONIC=udhcpc,dibbler-client,info +EXCLUDE_ETIONA=udhcpc,dibbler-client,info +EXCLUDE_FOCAL=udhcpc,dibbler-client,info +# here you can add packages, that are needed very early +INCLUDE_DEBIAN= +INCLUDE_ETIONA=ifupdown setarch() { @@ -47,7 +54,7 @@ setarch() { check() { - if [ `id -u` != 0 ]; then + if [ $(id -u) != 0 ]; then echo "You must be root to create chroots." exit 1 fi @@ -136,7 +143,7 @@ cleanup-rinse() { tarit() { - tar $attributes --one-file-system -C $xtmp -cf - . | $zip > $target.$ext + tar $attributes --numeric-owner --one-file-system -C $xtmp -cf - . | $zip > $target.$ext } @@ -180,11 +187,15 @@ debgeneric() { dist=${DIST%%[0-9][0-9]} local exc="EXCLUDE_$dist" + [ -n "${!exc}" ] && exc="--exclude=${!exc}" || unset exc + local inc="INCLUDE_$dist" + [ -n "${!inc}" ] && inc="--include=${!inc}" || unset inc dist=${dist,,} check + if [ -n "$arch" ]; then - qemu-debootstrap --arch $arch --exclude=${!exc} $dist $xtmp $mirror + qemu-debootstrap --arch $arch ${exc} $inc $dist $xtmp $mirror target="${target}_${arch^^}" else if [[ $DIST =~ 64 ]]; then @@ -192,7 +203,7 @@ debgeneric() { else arch=i386 fi - debootstrap --arch $arch --exclude=${!exc} $dist $xtmp $mirror + debootstrap --arch $arch ${exc} $inc $dist $xtmp $mirror fi cleanup-deb tarit @@ -205,16 +216,23 @@ prtdists() { CENTOS5_32 CENTOS5_64 CENTOS6_32 CENTOS6_64 CENTOS7_32 CENTOS7_64 + CENTOS8_64 SLC5_32 SLC5_64 SLC6_32 SLC6_64 SLC7_64 TRUSTY32 TRUSTY64 XENIAL32 XENIAL64 + FLIDAS64 + BIONIC64 + ETIONA64 + FOCAL64 SQUEEZE32 SQUEEZE64 WHEEZY32 WHEEZY64 JESSIE32 JESSIE64 STRETCH32 STRETCH64 BUSTER32 BUSTER64 + BULLSEYE32 BULLSEYE64 + SID32 SID64 " } @@ -223,12 +241,11 @@ usage() { cat <