diff --git a/.gitignore b/.gitignore index c16d3da..f6ace3a 100644 --- a/.gitignore +++ b/.gitignore @@ -7,5 +7,5 @@ images/ *.cfg latest-stage3.txt portage-snapshot.tar.bz2 -stage3-*-latest.tar.bz2 -stage3-*.tar.bz2 +stage3-*-latest.tar.xz +stage3-*.tar.xz diff --git a/Makefile b/Makefile index 852ff42..3e3a370 100644 --- a/Makefile +++ b/Makefile @@ -132,22 +132,22 @@ $(PREPROOT): $(STAGE3) $(PORTAGE_DIR) $(CHROOT)/etc/fstab $(etc_portage) $(porta COPY -L /etc/resolv.conf /etc/resolv.conf touch $(PREPROOT) -stage3-$(VA_ARCH).tar.bz2: +stage3-$(VA_ARCH).tar.xz: @print You do not have a stage3 tarball. Consider \"make sync_stage3\" @exit 1 sync_stage3: - fetch-stage3 --specialty=systemd --outfile=stage3-$(VA_ARCH).tar.bz2 $(VA_ARCH) + fetch-stage3 --systemd --outfile=stage3-$(VA_ARCH).tar.xz $(VA_ARCH) -$(STAGE3): stage3-$(VA_ARCH).tar.bz2 configs/stage3-tarball-excludes +$(STAGE3): stage3-$(VA_ARCH).tar.xz configs/stage3-tarball-excludes mkdir -p $(CHROOT) ifdef stage4-exists @print Using stage4 tarball: `basename $(STAGE4_TARBALL)` tar xpf "$(STAGE4_TARBALL)" -C $(CHROOT) else @print Using stage3 tarball - tar xpf stage3-$(VA_ARCH).tar.bz2 -C $(CHROOT) --exclude-from=configs/stage3-tarball-excludes + tar xpf stage3-$(VA_ARCH).tar.xz -C $(CHROOT) --exclude-from=configs/stage3-tarball-excludes endif rm -f $(CHROOT)/etc/localtime touch $(STAGE3) @@ -306,7 +306,7 @@ $(VMDK_IMAGE): $(RAW_IMAGE) vmdk: $(VMDK_IMAGE) -$(STAGE4_TARBALL): $(PORTAGE_DIR) stage3-$(VA_ARCH).tar.bz2 appliances/$(APPLIANCE) configs/rsync-excludes +$(STAGE4_TARBALL): $(PORTAGE_DIR) stage3-$(VA_ARCH).tar.xz appliances/$(APPLIANCE) configs/rsync-excludes $(MAKE) $(STAGE3) $(MAKE) $(PREPROOT) $(MAKE) $(SOFTWARE) @@ -339,7 +339,7 @@ realclean: clean distclean: rm -f -- *.qcow *.img *.vmdk - rm -f stage3-*.tar.bz2 + rm -f stage3-*.tar.xz rm -f portage-snapshot.tar.bz2 appliance-list: diff --git a/scripts/fetch-stage3 b/scripts/fetch-stage3 index 3ce9059..68803cd 100755 --- a/scripts/fetch-stage3 +++ b/scripts/fetch-stage3 @@ -9,9 +9,10 @@ import sys from collections import namedtuple MIRROR = 'http://gentoo.osuosl.org/' -Stage3 = namedtuple('Stage3', 'url cpu specialty minimal nomultilib size') +Stage3 = namedtuple('Stage3', 'url cpu specialty minimal nomultilib systemd size') MINIMAL = re.compile(r'[\+-]minimal-') NOMULTILIB = re.compile(r'[\+-]nomultilib-') +SYSTEMD = re.compile(r'[\+-]systemd-') def parse_args(): @@ -19,6 +20,7 @@ def parse_args(): parser.add_argument('--cpu', type=str, default=None) parser.add_argument('--specialty', type=str, default=None) parser.add_argument('--no-multilib', action='store_true', default=False) + parser.add_argument('--systemd', action='store_true', default=False) parser.add_argument('--minimal', action='store_true', default=False) parser.add_argument('--outfile', type=str, default=None) parser.add_argument('arch', type=str) @@ -53,12 +55,15 @@ def get_manifest(arch, mirror=MIRROR): cpu = rest.split('-', 2)[1] nomultilib = 'nomultilib-' in rest nomultilib = bool(NOMULTILIB.search(rest)) + systemd = 'systemd-' in rest + systemd = bool(SYSTEMD.search(rest)) minimal = bool(MINIMAL.search(rest)) stage3 = Stage3( cpu=cpu, minimal=minimal, nomultilib=nomultilib, + systemd=systemd, size=size, specialty=specialty, url=base_url + filename, @@ -94,6 +99,7 @@ def main(): if not all([ args.minimal == item.minimal, args.no_multilib == item.nomultilib, + args.systemd == item.systemd, args.specialty == item.specialty, ]): continue