From c9a81d2806b59b05081d68648a16b9ac6340675f Mon Sep 17 00:00:00 2001 From: Albert Hopkins Date: Sun, 22 Feb 2015 15:32:16 +0000 Subject: [PATCH] The great systemd commit. This change converts the appliances from openrc to systemd. In addition, systemd needs to at least be be installed on the build machine as we now use systemd-nspawn instead of chroot/bind mounts do to the fact that systemd-nspawn is much more robust and lese prone to errors. In addition: * All stage4 tarballs and images are now stored in the images/ directory by default. * A package dir is now required and is set up in the packages/ directory by default. * The portage directory is not unpacked in the chroot every time anymore and is instead bind-mounted from a directory by systemd-nspawn. This is the portage/ directory by default. * In addition there is a distfiles/ directory (by default) which is bind-mounted in the chroot. It does what you'd probably expect. * The Makefile learned new target, eclean, which will run eclean-dist and eclean-pkg to clean out obsolete distfiles and binary packages. * The REMOVE_PORTAGE_TREE option is removed as portage is no longer installed. * The unused/untested PRUNE_CRITICAL functionality has been removed. I have no idea if it worked and if it didn't I didn't want to fix it. * As appliances are always using systemd, UDEV is no longer optional. * Timezones and hostnames are now handled by systemd (systemd-firstboot). * Stage4 tarballs are now directly importable as systemd containers (and probably docker too though I haven't tested that yet). * A number of packages (for example dhcpd, acpid) have been removed from the appliances when systemd provides equivalent functionality. * We no longer override etc-update.conf. There's no reason. * A number of Makefile targets, checkpoints, temp files, etc have been removed as they are no longer needed. --- .hgignore | 10 +- Makefile | 225 ++++++++++++------------------ appliances/airport/Makefile | 8 +- appliances/airport/critical | 37 ----- appliances/airport/package.use | 6 +- appliances/base/critical | 37 ----- appliances/base/package.use | 7 +- appliances/base/world | 1 - appliances/dpaste/Makefile | 8 +- appliances/dpaste/critical | 37 ----- appliances/dpaste/dpaste.init | 2 +- appliances/dpaste/package.use | 7 +- appliances/dpaste/world | 1 - appliances/gnome/Makefile | 5 +- appliances/gnome/critical | 35 ----- appliances/gnome/dhclient.conf | 34 ----- appliances/gnome/package.use | 13 +- appliances/hemp-node/critical | 37 ----- appliances/hemp-node/world | 2 +- appliances/kde/critical | 36 ----- appliances/kde/package.use | 4 +- appliances/mongodb/Makefile | 5 +- appliances/mongodb/critical | 36 ----- appliances/mongodb/package.use | 4 +- appliances/owncloud/Makefile | 2 +- appliances/owncloud/critical | 37 ----- appliances/owncloud/make.conf | 2 +- appliances/owncloud/package.use | 5 +- appliances/teamplayer/Makefile | 11 +- appliances/teamplayer/critical | 36 ----- appliances/teamplayer/package.use | 7 +- appliances/teamplayer/world | 1 - appliances/x/Makefile | 4 +- appliances/x/critical | 36 ----- appliances/x/make.conf | 4 +- appliances/x/package.use | 4 +- appliances/x/xdm.start | 4 - appliances/xfce/Makefile | 6 +- appliances/xfce/critical | 33 ----- appliances/xfce/make.conf | 4 +- appliances/xfce/package.use | 8 +- appliances/xfce/xdm.start | 3 - configs/etc-update.conf | 82 ----------- configs/eth.network | 4 + configs/grub.conf | 2 +- configs/make.conf.amd64 | 4 +- configs/make.conf.x86 | 3 +- configs/rsync-excludes-critical | 10 -- scripts/acpi.start | 10 -- scripts/motd.sh | 6 +- scripts/sync-stage3.sh | 1 + 51 files changed, 156 insertions(+), 770 deletions(-) delete mode 100644 appliances/airport/critical delete mode 100644 appliances/base/critical delete mode 100644 appliances/dpaste/critical delete mode 100644 appliances/gnome/critical delete mode 100644 appliances/gnome/dhclient.conf delete mode 100644 appliances/hemp-node/critical delete mode 100644 appliances/kde/critical delete mode 100644 appliances/mongodb/critical delete mode 100644 appliances/owncloud/critical delete mode 100644 appliances/teamplayer/critical delete mode 100644 appliances/x/critical delete mode 100755 appliances/x/xdm.start delete mode 100644 appliances/xfce/critical delete mode 100755 appliances/xfce/xdm.start delete mode 100644 configs/etc-update.conf create mode 100644 configs/eth.network delete mode 100644 configs/rsync-excludes-critical delete mode 100755 scripts/acpi.start diff --git a/.hgignore b/.hgignore index 023c8b1..eee8af9 100644 --- a/.hgignore +++ b/.hgignore @@ -1,11 +1,11 @@ -vabuild\/.* +build\/.* loop\/.* -^stage4 -.*\.swp$ +packages\/.* +portage\/.* +distfiles\/.* +^images\/.* .*\.cfg latest-stage3\.txt portage-snapshot\.tar\.bz2 stage3-.*-latest\.tar\.bz2 \.lst$ -.*\.qcow -.*\.vmdk.bz2 diff --git a/Makefile b/Makefile index 0812194..5f4b8da 100644 --- a/Makefile +++ b/Makefile @@ -1,12 +1,16 @@ -CHROOT = $(CURDIR)/vabuild APPLIANCE ?= base +CHROOT = $(CURDIR)/build +PKGDIR = $(CURDIR)/packages +DISTDIR = $(CURDIR)/distfiles +PORTAGE_DIR = $(CURDIR)/portage HOSTNAME = $(APPLIANCE) -RAW_IMAGE = $(APPLIANCE).img -QCOW_IMAGE = $(APPLIANCE).qcow -VMDK_IMAGE = $(APPLIANCE).vmdk -XVA_IMAGE = $(APPLIANCE).xva -LST_FILE = $(APPLIANCE)-packages.lst -STAGE4_TARBALL = stage4/$(APPLIANCE).tar.xz +IMAGES = $(CURDIR)/images +RAW_IMAGE = $(IMAGES)/$(APPLIANCE).img +QCOW_IMAGE = $(IMAGES)/$(APPLIANCE).qcow +VMDK_IMAGE = $(IMAGES)/$(APPLIANCE).vmdk +XVA_IMAGE = $(IMAGES)/$(APPLIANCE).xva +LST_FILE = $(IMAGES)/$(APPLIANCE)-packages.lst +STAGE4_TARBALL = $(CURDIR)/images/$(APPLIANCE).tar.xz VIRTIO = NO TIMEZONE = UTC DISK_SIZE = 6.0G @@ -14,14 +18,11 @@ SWAP_SIZE = 30 SWAP_FILE = $(CHROOT)/.swap ARCH = amd64 KERNEL_CONFIG = configs/kernel.config.$(ARCH) -MAKEOPTS = -j10 -l10 -PRUNE_CRITICAL = NO -REMOVE_PORTAGE_TREE = YES +MAKEOPTS = -j5 -l5.64 ENABLE_SSHD = NO CHANGE_PASSWORD = YES HEADLESS = NO EXTERNAL_KERNEL = NO -UDEV = YES SOFTWARE = 1 PKGLIST = 0 ACCEPT_KEYWORDS = amd64 @@ -38,7 +39,6 @@ KERNEL = gentoo-sources PACKAGE_FILES = $(wildcard appliances/$(APPLIANCE)/package.*) WORLD = appliances/$(APPLIANCE)/world EXTRA_WORLD = -CRITICAL = appliances/$(APPLIANCE)/critical # Allow appliance to override variables -include appliance/$(APPLIANCE)/$(APPLIANCE).cfg @@ -46,7 +46,13 @@ CRITICAL = appliances/$(APPLIANCE)/critical # Allow user to override variables -include $(profile).cfg -inroot := chroot $(CHROOT) +inroot := systemd-nspawn --quiet \ + --directory=$(CHROOT) \ + --machine=$(APPLIANCE)-build \ + --bind=$(PORTAGE_DIR):/usr/portage \ + --bind=$(PKGDIR):/usr/portage/packages \ + --bind=$(DISTDIR):/usr/portage/distfiles + ifeq ($(ARCH),x86) inroot := linux32 $(inroot) endif @@ -59,16 +65,7 @@ ifneq ($(SOFTWARE),0) endif -ifeq ($(PRUNE_CRITICAL),YES) - COPY_ARGS = --exclude-from=configs/rsync-excludes \ - --exclude-from=configs/rsync-excludes-critical -else - COPY_ARGS = --exclude-from=configs/rsync-excludes -endif - -ifeq ($(REMOVE_PORTAGE_TREE),YES) - COPY_ARGS += --exclude=usr/portage -endif +COPY_ARGS = --exclude-from=configs/rsync-excludes ifeq ($(CHANGE_PASSWORD),YES) ifdef ROOT_PASSWORD @@ -81,7 +78,7 @@ endif gcc_config = $(inroot) gcc-config 1 export APPLIANCE ACCEPT_KEYWORDS CHROOT EMERGE HEADLESS M4 M4C inroot -export HOSTNAME MAKEOPTS PRUNE_CRITICAL TIMEZONE USEPKG WORLD OVERLAY +export HOSTNAME MAKEOPTS TIMEZONE USEPKG WORLD export USEPKG RSYNC_MIRROR unexport PKGDIR ARCH @@ -89,7 +86,8 @@ unexport PKGDIR ARCH all: image $(RAW_IMAGE): - qemu-img create -f raw $(RAW_IMAGE) $(DISK_SIZE) + qemu-img create -f raw $(RAW_IMAGE).tmp $(DISK_SIZE) + mv $(RAW_IMAGE).tmp $(RAW_IMAGE) partitions: $(RAW_IMAGE) @scripts/echo Creating partition layout @@ -102,16 +100,6 @@ partitions: $(RAW_IMAGE) sync mkfs.ext4 -O sparse_super,^has_journal -L "$(APPLIANCE)"_root -m 0 `cat partitions`p1 -mounts: stage3 - @scripts/echo Creating chroot in $(CHROOT) - mkdir -p $(CHROOT) - if [ ! -e mounts ] ; then \ - mount -t proc none $(CHROOT)/proc; \ - mount -o rbind /dev $(CHROOT)/dev; \ - mount -o bind /var/tmp $(CHROOT)/var/tmp; \ - fi - touch mounts - portage-snapshot.tar.bz2: @scripts/echo You do not have a portage snapshot. Consider \"make sync_portage\" @exit 1 @@ -122,30 +110,24 @@ sync_portage: rsync --no-motd -L $(RSYNC_MIRROR)/snapshots/portage-latest.tar.bz2 portage-snapshot.tar.bz2 -portage: portage-snapshot.tar.bz2 stage3 +$(PORTAGE_DIR): portage-snapshot.tar.bz2 @scripts/echo Unpacking portage snapshot - rm -rf $(CHROOT)/usr/portage - tar xf portage-snapshot.tar.bz2 -C $(CHROOT)/usr + rm -rf $(PORTAGE_DIR) + mkdir $(PORTAGE_DIR) + tar xf portage-snapshot.tar.bz2 -C $(PORTAGE_DIR)/.. ifeq ($(EMERGE_RSYNC),YES) @scripts/echo Syncing portage tree $(inroot) emerge --sync --quiet endif -ifdef PKGDIR - mkdir -p $(CHROOT)/var/portage/packages - mount -o bind "$(PKGDIR)" $(CHROOT)/var/portage/packages -endif - touch portage -preproot: stage3 mounts portage configs/fstab - cp -L /etc/resolv.conf $(CHROOT)/etc/ - $(inroot) sed -i 's/root:.*/root::9797:0:::::/' /etc/shadow +preproot: stage3 $(PORTAGE_DIR) configs/fstab + mkdir -p $(PKGDIR) $(DISTDIR) + #$(inroot) sed -i 's/root:.*/root::9797:0:::::/' /etc/shadow cp configs/fstab $(CHROOT)/etc/fstab - echo hostname=\"$(HOSTNAME)\" > $(CHROOT)/etc/conf.d/hostname - echo $(HOSTNAME) > $(CHROOT)/etc/hostname touch preproot stage3-$(ARCH)-latest.tar.bz2: - @scripts/echo You do not have a portage stage3 tarball. Consider \"make sync_stage3\" + @scripts/echo You do not have a stage3 tarball. Consider \"make sync_stage3\" @exit 1 sync_stage3: @@ -161,13 +143,11 @@ else @scripts/echo Using stage3 tarball tar xpf stage3-$(ARCH)-latest.tar.bz2 -C $(CHROOT) endif + rm -f $(CHROOT)/etc/localtime touch stage3 -compile_options: portage configs/make.conf.$(ARCH) configs/locale.gen $(PACKAGE_FILES) +compile_options: stage3 $(PORTAGE_DIR) configs/make.conf.$(ARCH) configs/locale.gen $(PACKAGE_FILES) cp configs/make.conf.$(ARCH) $(CHROOT)/etc/portage/make.conf -ifdef PKGDIR - echo PKGDIR="/var/portage/packages" >> $(CHROOT)/etc/portage/make.conf -endif echo ACCEPT_KEYWORDS=$(ACCEPT_KEYWORDS) >> $(CHROOT)/etc/portage/make.conf -[ -f "appliances/$(APPLIANCE)/make.conf" ] && cat "appliances/$(APPLIANCE)/make.conf" >> $(CHROOT)/etc/portage/make.conf $(inroot) eselect profile set 1 @@ -179,19 +159,17 @@ ifdef PACKAGE_FILES endif touch compile_options -base_system: mounts compile_options - touch base_system - -kernel: base_system $(KERNEL_CONFIG) scripts/kernel.sh - $(inroot) cp /usr/share/zoneinfo/$(TIMEZONE) /etc/localtime - echo $(TIMEZONE) > "$(CHROOT)"/etc/timezone +kernel: compile_options $(KERNEL_CONFIG) scripts/kernel.sh ifneq ($(EXTERNAL_KERNEL),YES) @scripts/echo Configuring kernel cp $(KERNEL_CONFIG) $(CHROOT)/root/kernel.config - cp scripts/kernel.sh $(CHROOT)/tmp/kernel.sh - KERNEL=$(KERNEL) EMERGE="$(EMERGE)" USEPKG="$(USEPKG)" MAKEOPTS="$(MAKEOPTS)" \ - $(inroot) /bin/sh /tmp/kernel.sh - rm -f $(CHROOT)/tmp/kernel.sh + cp scripts/kernel.sh $(CHROOT)/root/kernel.sh + $(inroot) --setenv=KERNEL=$(KERNEL) \ + --setenv=EMERGE="$(EMERGE)" \ + --setenv=USEPKG="$(USEPKG)" \ + --setenv=MAKEOPTS="$(MAKEOPTS)" \ + /bin/sh /root/kernel.sh + rm -f $(CHROOT)/root/kernel.sh endif touch kernel @@ -204,31 +182,21 @@ else sed -i '/swap/d' $(CHROOT)/etc/fstab endif -sysconfig: preproot scripts/acpi.start $(SWAP_FILE) +sysconfig: preproot $(SWAP_FILE) @echo $(VIRTIO) ifeq ($(VIRTIO),YES) sed -i 's/sda/vda/' $(CHROOT)/etc/fstab - sed -i 's:clock_hctosys="YES":clock_hctosys="NO":g' "$(CHROOT)/etc/conf.d/hwclock" endif -ifeq ($(HEADLESS),YES) - sed -i 's/^#s0:/s0:/' $(CHROOT)/etc/inittab - sed -ri 's/^(c[0-9]:)/\#\1/' $(CHROOT)/etc/inittab - rm -f $(CHROOT)/etc/runlevels/boot/termencoding - rm -f $(CHROOT)/etc/runlevels/boot/keymaps -endif - echo 'modules="dhclient"' > $(CHROOT)/etc/conf.d/net - echo 'config_eth0="udhcpc"' >> $(CHROOT)/etc/conf.d/net - echo 'dhcp_eth0="release"' >> $(CHROOT)/etc/conf.d/net - $(inroot) ln -nsf net.lo /etc/init.d/net.eth0 - $(inroot) ln -nsf /etc/init.d/net.eth0 /etc/runlevels/default/net.eth0 - $(inroot) rm -f /etc/runlevels/boot/consolefont - cp -a scripts/acpi.start $(CHROOT)/etc/local.d touch sysconfig systools: sysconfig compile_options @scripts/echo Installing standard system tools - $(inroot) $(EMERGE) -n $(USEPKG) app-admin/metalog - $(inroot) /sbin/rc-update add metalog default + -$(inroot) $(EMERGE) --unmerge sys-fs/udev + $(inroot) $(EMERGE) $(USEPKG) -n1 sys-apps/systemd + $(inroot) systemd-firstboot \ + --timezone=$(TIMEZONE) \ + --hostname=$(HOSTNAME) \ + --root-password= ifeq ($(DASH),YES) if ! test -e "$(STAGE4_TARBALL)"; \ then $(inroot) $(EMERGE) -n $(USEPKG) app-shells/dash; \ @@ -251,46 +219,40 @@ ifeq ($(HEADLESS),YES) sed -i -f scripts/grub-headless.sed $(CHROOT)/boot/grub/grub.conf endif endif + $(inroot) ln -nsf /run/systemd/resolve/resolv.conf /etc/resolv.conf touch grub -build-software: systools configs/issue configs/etc-update.conf $(CRITICAL) $(WORLD) +build-software: systools configs/eth.network configs/issue $(WORLD) @scripts/echo Building $(APPLIANCE)-specific software $(MAKE) -C appliances/$(APPLIANCE) preinstall - cp configs/etc-update.conf $(CHROOT)/etc/ if test `stat -c "%s" $(WORLD)` -ne 0 ; then \ $(inroot) $(EMERGE) $(USEPKG) --update --newuse --deep `cat $(WORLD)` $(EXTRA_WORLD); \ else \ true; \ fi - $(gcc_config) + -$(gcc_config) - @scripts/echo Running revdep-rebuild - $(inroot) emerge @preserved-rebuild + @scripts/echo Running @preserved-rebuild + $(inroot) $(EMERGE) --usepkg=n @preserved-rebuild cp configs/issue $(CHROOT)/etc/issue - $(gcc_config) + -$(gcc_config) $(inroot) $(EMERGE) $(USEPKG) --update --newuse --deep world $(inroot) $(EMERGE) --depclean --with-bdeps=n - $(gcc_config) + -$(gcc_config) EDITOR=/usr/bin/nano $(inroot) etc-update $(MAKE) -C appliances/$(APPLIANCE) postinstall -ifeq ($(UDEV),NO) - rm -f $(CHROOT)/etc/runlevels/sysinit/udev - $(inroot) $(EMERGE) -c sys-fs/udev -else - ln -sf /etc/init.d/udev $(CHROOT)/etc/runlevels/sysinit/udev -endif + cp configs/eth.network $(CHROOT)/etc/systemd/network/eth.network + $(inroot) systemctl enable systemd-networkd.service + $(inroot) systemctl enable systemd-resolved.service ifeq ($(ENABLE_SSHD),YES) - $(inroot) /sbin/rc-update add sshd default + $(inroot) systemctl enable sshd.service endif $(change_password) -ifeq ($(PRUNE_CRITICAL),YES) - $(inroot) $(EMERGE) -C `cat $(CRITICAL)` ifeq ($(DASH),YES) $(inroot) $(EMERGE) -c app-shells/bash endif -endif software: $(software-deps) ifneq ($(PKGLIST),0) @@ -307,81 +269,71 @@ device-map: $(RAW_IMAGE) image: $(STAGE4_TARBALL) partitions device-map scripts/grub.shell scripts/motd.sh @scripts/echo Installing files to $(RAW_IMAGE) - mkdir -p loop - mount -o noatime `cat partitions`p1 loop - tar -Sxf $(STAGE4_TARBALL) --numeric-owner $(COPY_ARGS) -C loop - scripts/motd.sh $(EXTERNAL_KERNEL) $(VIRTIO) $(DISK_SIZE) $(SWAP_SIZE) $(UDEV) $(DASH) $(ARCH) > loop/etc/motd + mkdir $(CHROOT) + mount -o noatime `cat partitions`p1 $(CHROOT) + tar -xf $(STAGE4_TARBALL) --numeric-owner $(COPY_ARGS) -C $(CHROOT) + scripts/motd.sh $(EXTERNAL_KERNEL) $(VIRTIO) $(DISK_SIZE) $(SWAP_SIZE) $(DASH) $(ARCH) > $(CHROOT)/etc/motd ifneq ($(EXTERNAL_KERNEL),YES) - loop/sbin/grub --device-map=device-map --no-floppy --batch < scripts/grub.shell + $(CHROOT)/sbin/grub --device-map=device-map --no-floppy --batch < scripts/grub.shell endif - umount -l loop - rmdir loop + umount -l $(CHROOT) + rmdir $(CHROOT) sync losetup --detach `cat partitions` rm -f partitions device-map $(QCOW_IMAGE): image @scripts/echo Creating $(QCOW_IMAGE) - qemu-img convert -f raw -O qcow2 -c $(RAW_IMAGE) $(QCOW_IMAGE) + qemu-img convert -f raw -O qcow2 -c $(RAW_IMAGE) $(QCOW_IMAGE).tmp + mv $(QCOW_IMAGE).tmp $(QCOW_IMAGE) qcow: $(QCOW_IMAGE) $(XVA_IMAGE): image @scripts/echo Creating $(XVA_IMAGE) xva.py --disk=$(RAW_IMAGE) --is-hvm --memory=256 --vcpus=1 --name=$(APPLIANCE) \ - --filename=$(XVA_IMAGE) + --filename=$(XVA_IMAGE).tmp + mv $(XVA_IMAGE).tmp $(XVA_IMAGE) xva: $(XVA_IMAGE) $(VMDK_IMAGE): image @scripts/echo Creating $(VMDK_IMAGE) - qemu-img convert -f raw -O vmdk $(RAW_IMAGE) $(VMDK_IMAGE) + qemu-img convert -f raw -O vmdk $(RAW_IMAGE) $(VMDK_IMAGE).tmp + mv $(VMDK_IMAGE).tmp $(VMDK_IMAGE) vmdk: $(VMDK_IMAGE) -build_stage4: software kernel configs/rsync-excludes configs/rsync-excludes-critical grub +build_stage4: software kernel configs/rsync-excludes grub @scripts/echo Creating stage4 tarball: $(STAGE4_TARBALL) - mkdir -p stage4 - mkdir -p gentoo - mount -o bind $(CHROOT) gentoo - tar -aScf "$(STAGE4_TARBALL).tmp.xz" --numeric-owner $(COPY_ARGS) -C gentoo --one-file-system . - umount gentoo - rmdir gentoo + mkdir -p $(IMAGES) + tar -acf "$(STAGE4_TARBALL).tmp.xz" --numeric-owner $(COPY_ARGS) -C $(CHROOT) --one-file-system . mv "$(STAGE4_TARBALL).tmp.xz" "$(STAGE4_TARBALL)" stage4: build_stage4 clean -$(STAGE4_TARBALL): - stage4 +$(STAGE4_TARBALL): stage4 -umount: - @scripts/echo Attempting to unmount chroot mounts -ifdef PKGDIR - umount -l $(CHROOT)/var/portage/packages -endif - umount -l $(CHROOT)/var/tmp - umount -l $(CHROOT)/dev - umount -l $(CHROOT)/proc - touch umount +eclean: compile_options + $(inroot) $(EMERGE) $(USEPKG) -1 --noreplace app-portage/gentoolkit + $(inroot) eclean-pkg + $(inroot) eclean-dist + $(inroot) $(EMERGE) --depclean app-portage/gentoolkit + $(MAKE) clean -remove_checkpoints: - rm -f mounts compile_options base_system portage sync_portage - rm -f parted kernel grub stage3 software preproot sysconfig systools -clean: umount remove_checkpoints - rm -f umount - rm -rf --one-file-system loop - rm -rf --one-file-system gentoo - rm -rf --one-file-system $(CHROOT) +clean: + rm -f compile_options kernel grub stage3 software preproot sysconfig systools + rm -rf --one-file-system -- $(CHROOT) realclean: clean ${RM} $(RAW_IMAGE) $(QCOW_IMAGE) $(VMDK_IMAGE) distclean: - rm -f *.qcow *.img *.vmdk + rm -f -- *.qcow *.img *.vmdk rm -f latest-stage3.txt stage3-*-latest.tar.bz2 rm -f portage-snapshot.tar.bz2 @@ -397,6 +349,7 @@ help: @echo 'stage4 - Build a stage4 tarball' @echo 'software - Build software into a chroot' @echo 'clean - Unmount chroot and clean directory' + @echo 'eclean - Clean outdated packages and distfiles @echo 'realclean - Clean and remove image files' @scripts/echo 'Images' @echo 'image - Build a raw VM image from stage4' @@ -416,11 +369,9 @@ help: @echo 'VIRTIO=YES - Configure the stage2/image to use virtio' @echo 'EXTERNAL_KERNEL=YES - Do not build a kernel in the image' @echo 'HEADLESS=YES - Build a headless (serial console) image.' - @echo 'REMOVE_PORTAGE_TREE=NO - Do not exclude the portage tree from the image' - @echo 'PKGDIR= - Directory to use/store binary packages' @echo 'ENABLE_SSHD=YES - Enable sshd to start automatically in the image' @echo @scripts/echo 'Example' @echo 'make APPLIANCE=mongodb HEADLESS=YES VIRTIO=YES stage4 qcow clean' -.PHONY: qcow vmdk clean realclean distclean remove_checkpoints stage4 build-software image stage4 help appliance-list +.PHONY: qcow vmdk clean realclean distclean stage4 build-software image stage4 help appliance-list eclean sync_portage diff --git a/appliances/airport/Makefile b/appliances/airport/Makefile index 3048c87..6a21003 100644 --- a/appliances/airport/Makefile +++ b/appliances/airport/Makefile @@ -12,8 +12,8 @@ postinstall: airport.service settings.py local.start local.stop issue nginx.conf sed -i 's/^PG_INITDB_OPTS.*/PG_INITDB_OPTS="--locale=en_US.UTF-8"/' $(CHROOT)/etc/conf.d/postgresql-$(PGVER) $(inroot) eselect postgresql set $(PGVER) rm -rf $(CHROOT)/var/lib/postgresql/$(PGVER) - yes | $(inroot) $(EMERGE) --config postgresql:$(PGVER) - $(inroot) rc-update add postgresql-$(PGVER) default + $(inroot) bash -c "echo y |$(EMERGE) --config postgresql:$(PGVER)" + $(inroot) systemctl enable postgresql-$(PGVER) $(inroot) chsh -s /bin/sh postgres $(inroot) $(EMERGE) -1n $(USEPKG) dev-python/virtualenv rm -rf $(CHROOT)/$(APP_ROOT) @@ -40,12 +40,12 @@ endif cp issue $(CHROOT)/etc/issue $(M4) -D HOSTNAME=$(HOSTNAME) nginx.conf > $(CHROOT)/etc/nginx/nginx.conf $(inroot) gpasswd -a nginx airport - $(inroot) ln -sf /etc/init.d/nginx $(rcdefault)/nginx + $(inroot) systemctl enable nginx ifeq ($(AVAHI),YES) $(inroot) $(EMERGE) -n $(USEPKG) net-dns/avahi $(inroot) rm -f /etc/avahi/services/* cp airport.service $(CHROOT)/etc/avahi/services - $(inroot) ln -sf /etc/init.d/avahi-daemon $(rcdefault)/avahi-daemon + $(inroot) systemctl enable avahi-daemon endif $(inroot) $(EMERGE) --depclean --with-bdeps=n diff --git a/appliances/airport/critical b/appliances/airport/critical deleted file mode 100644 index aaed4f2..0000000 --- a/appliances/airport/critical +++ /dev/null @@ -1,37 +0,0 @@ -app-editors/nano -net-misc/openssh -net-misc/rsync -net-misc/wget -sys-kernel/gentoo-sources -sys-kernel/linux-headers -sys-devel/gcc -sys-devel/automake -sys-devel/bison -sys-devel/make -sys-devel/flex -sys-devel/automake-wrapper -sys-devel/autoconf-wrapper -sys-devel/autoconf -sys-devel/m4 -sys-devel/gcc-config -sys-devel/libtool -sys-devel/binutils -sys-devel/binutils-config -sys-devel/patch -sys-devel/gnuconfig -app-admin/python-updater -app-admin/perl-cleaner -sys-apps/man-pages -sys-apps/man -sys-apps/file -sys-apps/less -sys-apps/texinfo -sys-apps/busybox -sys-apps/debianutils -sys-apps/man-pages-posix -sys-apps/sandbox -sys-apps/which -dev-lang/perl -sys-devel/libperl -sys-apps/portage -dev-lang/python diff --git a/appliances/airport/package.use b/appliances/airport/package.use index fbffdb2..98c0754 100644 --- a/appliances/airport/package.use +++ b/appliances/airport/package.use @@ -2,14 +2,10 @@ app-editors/nano ncurses dev-lang/python ssl threads xml dev-libs/libpcre cxx dev-util/pkgconfig internal-glib -net-misc/dhcp client sys-apps/hwids udev -sys-apps/kmod openrc tools -sys-apps/openrc netifrc -sys-apps/openrc netifrc +sys-apps/kmod tools sys-apps/portage python3 ipc sys-devel/gcc cxx nptl -sys-fs/udev openrc sys-kernel/gentoo-sources symlink sys-libs/ncurses minimal diff --git a/appliances/base/critical b/appliances/base/critical deleted file mode 100644 index aaed4f2..0000000 --- a/appliances/base/critical +++ /dev/null @@ -1,37 +0,0 @@ -app-editors/nano -net-misc/openssh -net-misc/rsync -net-misc/wget -sys-kernel/gentoo-sources -sys-kernel/linux-headers -sys-devel/gcc -sys-devel/automake -sys-devel/bison -sys-devel/make -sys-devel/flex -sys-devel/automake-wrapper -sys-devel/autoconf-wrapper -sys-devel/autoconf -sys-devel/m4 -sys-devel/gcc-config -sys-devel/libtool -sys-devel/binutils -sys-devel/binutils-config -sys-devel/patch -sys-devel/gnuconfig -app-admin/python-updater -app-admin/perl-cleaner -sys-apps/man-pages -sys-apps/man -sys-apps/file -sys-apps/less -sys-apps/texinfo -sys-apps/busybox -sys-apps/debianutils -sys-apps/man-pages-posix -sys-apps/sandbox -sys-apps/which -dev-lang/perl -sys-devel/libperl -sys-apps/portage -dev-lang/python diff --git a/appliances/base/package.use b/appliances/base/package.use index 34b3fb5..3a60230 100644 --- a/appliances/base/package.use +++ b/appliances/base/package.use @@ -2,12 +2,9 @@ app-editors/nano ncurses dev-lang/python ssl threads xml dev-libs/libpcre cxx dev-util/pkgconfig internal-glib -net-misc/dhcp client sys-apps/hwids udev -sys-apps/kmod openrc tools -sys-apps/openrc netifrc -sys-apps/portage python3 ipc +sys-apps/kmod tools +sys-apps/portage ipc sys-devel/gcc cxx nptl -sys-fs/udev openrc sys-kernel/gentoo-sources symlink sys-libs/ncurses minimal diff --git a/appliances/base/world b/appliances/base/world index 9e83a32..e69de29 100644 --- a/appliances/base/world +++ b/appliances/base/world @@ -1 +0,0 @@ -net-misc/dhcp diff --git a/appliances/dpaste/Makefile b/appliances/dpaste/Makefile index efed954..868fdd0 100644 --- a/appliances/dpaste/Makefile +++ b/appliances/dpaste/Makefile @@ -10,12 +10,12 @@ preinstall: postinstall: bash_profile nginx.conf dpaste.init settings.py firstboot.start $(inroot) $(EMERGE) $(USEPKG) -1n dev-vcs/git - $(inroot) $(EMERGE) -n $(USEPKG) dev-db/postgresql-server:$(PGVER) + $(inroot) $(EMERGE) -n $(USEPKG) dev-db/postgresql:$(PGVER) $(inroot) passwd -d postgres $(inroot) eselect postgresql set $(PGVER) $(inroot) rm -rf /var/lib/postgresql/$(PGVER)/data - yes | $(inroot) $(EMERGE) --config postgresql-server:$(PGVER) - $(inroot) ln -sf /etc/init.d/postgresql-$(PGVER) $(rcdefault)/postgresql-$(PGVER) + $(inroot) bash -c "echo y |$(EMERGE) --config postgresql:$(PGVER)" + $(inroot) systemctl enable postgresql-$(PGVER) $(inroot) $(EMERGE) -1n $(USEPKG) dev-python/virtualenv $(inroot) getent passwd $(DPASTE_USER) || \ $(inroot) useradd -c "Dpaste Server" -G postgres -U -d $(DPASTE_HOME) $(DPASTE_USER) @@ -38,7 +38,7 @@ postinstall: bash_profile nginx.conf dpaste.init settings.py firstboot.start cp dpaste.init $(CHROOT)/etc/init.d/dpaste cp firstboot.start $(CHROOT)/etc/local.d/firstboot.start touch $(CHROOT)/firstboot - ln -sf /etc/init.d/nginx $(CHROOT)/$(rcdefault)/nginx + $(inroot) systemctl enable nginx $(inroot) ln -sf ../manage.py $(DPASTE_HOME)/bin/manage $(inroot) $(EMERGE) --depclean --with-bdeps=n diff --git a/appliances/dpaste/critical b/appliances/dpaste/critical deleted file mode 100644 index aaed4f2..0000000 --- a/appliances/dpaste/critical +++ /dev/null @@ -1,37 +0,0 @@ -app-editors/nano -net-misc/openssh -net-misc/rsync -net-misc/wget -sys-kernel/gentoo-sources -sys-kernel/linux-headers -sys-devel/gcc -sys-devel/automake -sys-devel/bison -sys-devel/make -sys-devel/flex -sys-devel/automake-wrapper -sys-devel/autoconf-wrapper -sys-devel/autoconf -sys-devel/m4 -sys-devel/gcc-config -sys-devel/libtool -sys-devel/binutils -sys-devel/binutils-config -sys-devel/patch -sys-devel/gnuconfig -app-admin/python-updater -app-admin/perl-cleaner -sys-apps/man-pages -sys-apps/man -sys-apps/file -sys-apps/less -sys-apps/texinfo -sys-apps/busybox -sys-apps/debianutils -sys-apps/man-pages-posix -sys-apps/sandbox -sys-apps/which -dev-lang/perl -sys-devel/libperl -sys-apps/portage -dev-lang/python diff --git a/appliances/dpaste/dpaste.init b/appliances/dpaste/dpaste.init index 2077b60..a5f5046 100755 --- a/appliances/dpaste/dpaste.init +++ b/appliances/dpaste/dpaste.init @@ -1,5 +1,5 @@ #!/sbin/runscript -# Copyright 2013-2014 Marduk Enterprises (marduk@python.net) +# Copyright 2013-2015 Marduk Enterprises (marduk@python.net) # Distributed under the terms of the GNU General Public License v2 description="GUnicorn server for the dpaste app" diff --git a/appliances/dpaste/package.use b/appliances/dpaste/package.use index 389eabf..90cd617 100644 --- a/appliances/dpaste/package.use +++ b/appliances/dpaste/package.use @@ -4,12 +4,11 @@ dev-libs/libpcre cxx dev-util/pkgconfig internal-glib dev-vcs/git curl net-misc/curl ssl curl_ssl_openssl -net-misc/dhcp client sys-apps/hwids udev -sys-apps/kmod openrc tools -sys-apps/openrc netifrc +sys-apps/kmod tools sys-apps/portage python3 ipc sys-devel/gcc cxx nptl -sys-fs/udev openrc sys-kernel/gentoo-sources symlink sys-libs/ncurses minimal + +dev-db/postgresql server diff --git a/appliances/dpaste/world b/appliances/dpaste/world index 16728ca..d605ee9 100644 --- a/appliances/dpaste/world +++ b/appliances/dpaste/world @@ -1,3 +1,2 @@ -net-misc/dhcp dev-lang/python:2.7 www-servers/nginx diff --git a/appliances/gnome/Makefile b/appliances/gnome/Makefile index a281f10..50b15db 100644 --- a/appliances/gnome/Makefile +++ b/appliances/gnome/Makefile @@ -1,7 +1,5 @@ -preinstall: custom.conf dhclient.conf - mkdir -p "$(CHROOT)"/etc/dhcp - cp dhclient.conf "$(CHROOT)"/etc/dhcp/dhclient.conf +preinstall: custom.conf mkdir -p "$(CHROOT)"/etc/gdm cp custom.conf "$(CHROOT)"/etc/gdm/custom.conf @@ -10,7 +8,6 @@ postinstall: $(inroot) systemctl enable NetworkManager.service $(inroot) systemctl enable gdm.service $(inroot) systemctl enable avahi-daemon.service - $(inroot) ln -nsf /usr/lib/systemd/systemd /sbin/init clean: diff --git a/appliances/gnome/critical b/appliances/gnome/critical deleted file mode 100644 index 18ee822..0000000 --- a/appliances/gnome/critical +++ /dev/null @@ -1,35 +0,0 @@ -app-editors/nano -net-misc/openssh -net-misc/rsync -net-misc/wget -sys-kernel/gentoo-sources -sys-kernel/linux-headers -sys-devel/gcc -sys-devel/automake -sys-devel/bison -sys-devel/make -sys-devel/flex -sys-devel/automake-wrapper -sys-devel/autoconf-wrapper -sys-devel/autoconf -sys-devel/m4 -sys-devel/gcc-config -sys-devel/binutils -sys-devel/binutils-config -sys-devel/patch -sys-devel/gnuconfig -app-admin/python-updater -app-admin/perl-cleaner -sys-apps/man-pages -sys-apps/man -sys-apps/file -sys-apps/less -sys-apps/texinfo -sys-apps/busybox -sys-apps/debianutils -sys-apps/man-pages-posix -sys-apps/sandbox -sys-apps/which -dev-lang/perl -sys-devel/libperl -sys-apps/portage diff --git a/appliances/gnome/dhclient.conf b/appliances/gnome/dhclient.conf deleted file mode 100644 index 41769e5..0000000 --- a/appliances/gnome/dhclient.conf +++ /dev/null @@ -1,34 +0,0 @@ -send host-name = pick-first-value(gethostname(), "ISC-dhclient"); -#send dhcp-client-identifier 1:0:a0:24:ab:fb:9c; -#send dhcp-lease-time 3600; -#supersede domain-search "fugue.com", "home.vix.com"; -#prepend domain-name-servers 127.0.0.1; -#request subnet-mask, broadcast-address, time-offset, routers, -# domain-name, domain-name-servers, host-name; -#require subnet-mask, domain-name-servers; -#timeout 60; -#retry 60; -#reboot 10; -#select-timeout 5; -#initial-interval 2; -#media "-link0 -link1 -link2", "link0 link1"; -#reject 192.33.137.209; - -#alias { -# interface "ep0"; -# fixed-address 192.5.5.213; -# option subnet-mask 255.255.255.255; -#} - -#lease { -# interface "ep0"; -# fixed-address 192.33.137.200; -# medium "link0 link1"; -# option subnet-mask 255.255.255.0; -# option broadcast-address 192.33.137.255; -# option routers 192.33.137.250; -# option domain-name-servers 127.0.0.1; -# renew 2 2000/1/12 00:00:01; -# rebind 2 2000/1/12 00:00:01; -# expire 2 2000/1/12 00:00:01; -#} diff --git a/appliances/gnome/package.use b/appliances/gnome/package.use index 879abe8..5454fe7 100644 --- a/appliances/gnome/package.use +++ b/appliances/gnome/package.use @@ -2,12 +2,10 @@ app-editors/nano ncurses dev-lang/python ssl sqlite threads xml dev-util/pkgconfig internal-glib sys-apps/hwids udev -sys-apps/kmod openrc tools -sys-apps/openrc netifrc +sys-apps/kmod tools sys-apps/portage python3 ipc sys-apps/systemd gudev kmod sys-devel/gcc cxx nptl -sys-fs/udev openrc sys-kernel/gentoo-sources symlink sys-libs/ncurses minimal virtual/udev gudev kmod @@ -25,6 +23,7 @@ dev-libs/folks eds telepathy dev-libs/gjs cairo dev-libs/libpeas gtk dev-libs/libxml2 python +dev-libs/nettle gmp dev-python/pygobject threads gnome-base/gconf gtk policykit gnome-base/gnome extras @@ -37,6 +36,7 @@ gnome-extra/evolution-data-server gnome-online-accounts ssl vala weather mail-client/evolution ssl media-libs/clutter gtk media-libs/cogl glib opengl pango +media-libs/grilo network playlist media-libs/gst-plugins-base X pango media-libs/gst-plugins-base ogg theora vorbis media-libs/harfbuzz glib icu truetype @@ -47,14 +47,15 @@ media-libs/swfdec gtk media-sound/pulseaudio glib udev net-dialup/ppp ipv6 net-dns/avahi dbus +net-misc/dhcp client net-libs/glib-networking ssl net-libs/gtk-vnc gtk3 +net-libs/liboauth nss net-libs/libsoup gnome ssl net-libs/telepathy-glib vala -net-libs/webkit-gtk gstreamer jit opengl webgl +net-libs/webkit-gtk X gstreamer jit opengl webgl net-misc/curl ssl -net-misc/dhcp client -net-misc/networkmanager dhclient gnutls modemmanager ppp +net-misc/networkmanager dhclient modemmanager nss ppp net-misc/vino avahi zlib net-print/cups dbus gnutls sys-apps/dbus X diff --git a/appliances/hemp-node/critical b/appliances/hemp-node/critical deleted file mode 100644 index aaed4f2..0000000 --- a/appliances/hemp-node/critical +++ /dev/null @@ -1,37 +0,0 @@ -app-editors/nano -net-misc/openssh -net-misc/rsync -net-misc/wget -sys-kernel/gentoo-sources -sys-kernel/linux-headers -sys-devel/gcc -sys-devel/automake -sys-devel/bison -sys-devel/make -sys-devel/flex -sys-devel/automake-wrapper -sys-devel/autoconf-wrapper -sys-devel/autoconf -sys-devel/m4 -sys-devel/gcc-config -sys-devel/libtool -sys-devel/binutils -sys-devel/binutils-config -sys-devel/patch -sys-devel/gnuconfig -app-admin/python-updater -app-admin/perl-cleaner -sys-apps/man-pages -sys-apps/man -sys-apps/file -sys-apps/less -sys-apps/texinfo -sys-apps/busybox -sys-apps/debianutils -sys-apps/man-pages-posix -sys-apps/sandbox -sys-apps/which -dev-lang/perl -sys-devel/libperl -sys-apps/portage -dev-lang/python diff --git a/appliances/hemp-node/world b/appliances/hemp-node/world index 963a035..ad4b895 100644 --- a/appliances/hemp-node/world +++ b/appliances/hemp-node/world @@ -1,4 +1,4 @@ -> $(CHROOT)/etc/conf.d/postgresql-$(PGVER) $(inroot) eselect postgresql set $(PGVER) $(inroot) rm -rf /var/lib/postgresql/$(PGVER)/data - yes | $(inroot) $(EMERGE) --config postgresql:$(PGVER) - $(inroot) ln -sf /etc/init.d/postgresql-$(PGVER) $(rcdefault)/postgresql-$(PGVER) + $(inroot) bash -c "echo y |$(EMERGE) --config postgresql:$(PGVER)" + $(inroot) systemctl enable postgresql-$(PGVER).service ifeq ($(AVAHI),YES) $(inroot) $(EMERGE) -n $(USEPKG) net-dns/avahi $(inroot) rm -f /etc/avahi/services/* cp teamplayer.service $(CHROOT)/etc/avahi/services - $(inroot) ln -sf /etc/init.d/avahi-daemon $(rcdefault)/avahi-daemon + $(inroot) systemctl enable avahi-daemon.service endif $(inroot) $(EMERGE) -1n $(USEPKG) dev-python/virtualenv $(inroot) getent passwd $(TP_USER) || \ @@ -69,8 +68,8 @@ endif $(M4C) nginx.conf > $(CHROOT)/etc/nginx/nginx.conf $(inroot) gpasswd -a nginx teamplayer - $(inroot) ln -sf /etc/init.d/nginx $(rcdefault)/nginx - $(inroot) ln -sf /etc/init.d/ntpd $(rcdefault)/ntpd + $(inroot) systemctl enable nginx.service + #$(inroot) ln -sf /etc/init.d/ntpd $(rcdefault)/ntpd $(inroot) $(EMERGE) --depclean --with-bdeps=n clean: diff --git a/appliances/teamplayer/critical b/appliances/teamplayer/critical deleted file mode 100644 index 07ffddb..0000000 --- a/appliances/teamplayer/critical +++ /dev/null @@ -1,36 +0,0 @@ -app-editors/nano -net-misc/openssh -net-misc/rsync -net-misc/wget -sys-kernel/gentoo-sources -sys-kernel/linux-headers -sys-devel/gcc -sys-devel/automake -sys-devel/bison -sys-devel/make -sys-devel/flex -sys-devel/automake-wrapper -sys-devel/autoconf-wrapper -sys-devel/autoconf -sys-devel/m4 -sys-devel/gcc-config -sys-devel/libtool -sys-devel/binutils -sys-devel/binutils-config -sys-devel/patch -sys-devel/gnuconfig -app-admin/python-updater -app-admin/perl-cleaner -sys-apps/man-pages -sys-apps/man -sys-apps/file -sys-apps/less -sys-apps/texinfo -sys-apps/busybox -sys-apps/debianutils -sys-apps/man-pages-posix -sys-apps/sandbox -sys-apps/which -dev-lang/perl -sys-devel/libperl -sys-apps/portage diff --git a/appliances/teamplayer/package.use b/appliances/teamplayer/package.use index ad11cdd..a477727 100644 --- a/appliances/teamplayer/package.use +++ b/appliances/teamplayer/package.use @@ -7,15 +7,10 @@ media-libs/flac ogg media-sound/mpd faad audiofile ffmpeg flac inotify id3tag lame network ogg vorbis mad soup sqlite unicode media-video/ffmpeg avx cpudetection mmx mmxext mp3 network ssse3 x264 sys-apps/hwids udev -sys-apps/kmod openrc tools -sys-apps/openrc netifrc +sys-apps/kmod tools sys-apps/portage ipc sys-devel/gcc cxx nptl -sys-fs/udev openrc sys-kernel/gentoo-sources symlink sys-libs/ncurses minimal virtual/ffmpeg x264 mp3 www-servers/nginx http - -# needed by ntp (bug #533548) -dev-libs/libevent threads diff --git a/appliances/teamplayer/world b/appliances/teamplayer/world index 6682bdd..6d98def 100644 --- a/appliances/teamplayer/world +++ b/appliances/teamplayer/world @@ -1,3 +1,2 @@ media-sound/mpd -net-misc/ntp www-servers/nginx diff --git a/appliances/x/Makefile b/appliances/x/Makefile index 5daae37..081355f 100644 --- a/appliances/x/Makefile +++ b/appliances/x/Makefile @@ -2,9 +2,9 @@ xdm_files = $(wildcard xdm/*) preinstall: -postinstall: $(xdm_files) xdm.start +postinstall: $(xdm_files) cp xdm/* "$(CHROOT)"/etc/X11/xdm - cp xdm.start "$(CHROOT)"/etc/local.d + $(inroot) systemctl enable xdm clean: diff --git a/appliances/x/critical b/appliances/x/critical deleted file mode 100644 index 07ffddb..0000000 --- a/appliances/x/critical +++ /dev/null @@ -1,36 +0,0 @@ -app-editors/nano -net-misc/openssh -net-misc/rsync -net-misc/wget -sys-kernel/gentoo-sources -sys-kernel/linux-headers -sys-devel/gcc -sys-devel/automake -sys-devel/bison -sys-devel/make -sys-devel/flex -sys-devel/automake-wrapper -sys-devel/autoconf-wrapper -sys-devel/autoconf -sys-devel/m4 -sys-devel/gcc-config -sys-devel/libtool -sys-devel/binutils -sys-devel/binutils-config -sys-devel/patch -sys-devel/gnuconfig -app-admin/python-updater -app-admin/perl-cleaner -sys-apps/man-pages -sys-apps/man -sys-apps/file -sys-apps/less -sys-apps/texinfo -sys-apps/busybox -sys-apps/debianutils -sys-apps/man-pages-posix -sys-apps/sandbox -sys-apps/which -dev-lang/perl -sys-devel/libperl -sys-apps/portage diff --git a/appliances/x/make.conf b/appliances/x/make.conf index eef6eaa..244ca7b 100644 --- a/appliances/x/make.conf +++ b/appliances/x/make.conf @@ -1,4 +1,4 @@ -PYTHON_TARGETS="python3_2" -PYTHON_SINGLE_TARGET="python3_2" +PYTHON_TARGETS="python3_4" +PYTHON_SINGLE_TARGET="python3_4" VIDEO_CARDS="" INPUT_DEVICES="" diff --git a/appliances/x/package.use b/appliances/x/package.use index d344542..5ed68da 100644 --- a/appliances/x/package.use +++ b/appliances/x/package.use @@ -2,9 +2,7 @@ dev-lang/python ssl xml dev-libs/libxml2 python dev-util/pkgconfig internal-glib sys-apps/hwids udev -sys-apps/kmod openrc tools -sys-apps/openrc netifrc +sys-apps/kmod tools sys-devel/gcc cxx nptl -sys-fs/udev openrc sys-libs/ncurses minimal x11-base/xorg-server minimal xorg nptl diff --git a/appliances/x/xdm.start b/appliances/x/xdm.start deleted file mode 100755 index 668c2ff..0000000 --- a/appliances/x/xdm.start +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh - -xdm - diff --git a/appliances/xfce/Makefile b/appliances/xfce/Makefile index 3e98b3a..698ac45 100644 --- a/appliances/xfce/Makefile +++ b/appliances/xfce/Makefile @@ -2,11 +2,11 @@ xdm_files = $(wildcard xdm/*) preinstall: -postinstall: xdm.start $(xdm_files) +postinstall: $(xdm_files) cp $(xdm_files) "$(CHROOT)"/etc/X11/xdm echo "XSESSION=Xfce4" > "$(CHROOT)"/etc/env.d/99local - chroot "$(CHROOT)" env-update - cp xdm.start "$(CHROOT)/etc/local.d/xdm.start" + $(inroot) env-update + $(inroot) systemctl enable xdm.service clean: diff --git a/appliances/xfce/critical b/appliances/xfce/critical deleted file mode 100644 index 15a49e2..0000000 --- a/appliances/xfce/critical +++ /dev/null @@ -1,33 +0,0 @@ -app-editors/nano -net-misc/rsync -net-misc/wget -sys-kernel/gentoo-sources -sys-kernel/linux-headers -sys-devel/automake -sys-devel/bison -sys-devel/make -sys-devel/flex -sys-devel/automake-wrapper -sys-devel/autoconf-wrapper -sys-devel/autoconf -sys-devel/m4 -sys-devel/gcc-config -sys-devel/libtool -sys-devel/binutils -sys-devel/binutils-config -sys-devel/patch -sys-devel/gnuconfig -app-admin/python-updater -app-admin/perl-cleaner -sys-apps/man-pages -sys-apps/man -sys-apps/file -sys-apps/less -sys-apps/texinfo -sys-apps/busybox -sys-apps/debianutils -sys-apps/man-pages-posix -sys-apps/sandbox -dev-lang/perl -sys-devel/libperl -sys-apps/portage diff --git a/appliances/xfce/make.conf b/appliances/xfce/make.conf index 5df6fad..9472510 100644 --- a/appliances/xfce/make.conf +++ b/appliances/xfce/make.conf @@ -1,4 +1,4 @@ USE="$USE gtk3" -PYTHON_TARGETS="python3_2 python2_7" -USE_PYTHON="3.2" +PYTHON_TARGETS="python3_4 python2_7" +USE_PYTHON="3.4" PYTHON_SINGLE_TARGET="python2_7" diff --git a/appliances/xfce/package.use b/appliances/xfce/package.use index 2abad12..c1ee78c 100644 --- a/appliances/xfce/package.use +++ b/appliances/xfce/package.use @@ -3,16 +3,16 @@ dev-db/sqlite extensions dev-lang/python ssl sqlite threads xml dev-libs/libxml2 python dev-util/pkgconfig internal-glib +gnome-base/gvfs udev udisks media-libs/harfbuzz glib truetype media-libs/libpng apng media-libs/libvpx threads -net-misc/dhcp client sys-apps/hwids udev -sys-apps/kmod openrc tools -sys-apps/openrc netifrc +sys-apps/kmod tools sys-apps/portage python3 ipc +sys-apps/systemd gudev sys-devel/gcc cxx nptl -sys-fs/udev gudev openrc +sys-fs/udev gudev sys-kernel/gentoo-sources symlink sys-libs/ncurses minimal www-client/firefox bindist diff --git a/appliances/xfce/xdm.start b/appliances/xfce/xdm.start deleted file mode 100755 index d0e8233..0000000 --- a/appliances/xfce/xdm.start +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -/usr/bin/xdm > /dev/null diff --git a/configs/etc-update.conf b/configs/etc-update.conf deleted file mode 100644 index 5ba358c..0000000 --- a/configs/etc-update.conf +++ /dev/null @@ -1,82 +0,0 @@ -# /etc/etc-update.conf: config file for `etc-update` utility -# edit the lines below to your liking - -# mode - 0 for text, 1 for menu (support incomplete) -# note that you need dev-util/dialog installed -mode="0" - -# Whether to clear the term prior to each display -#clear_term="yes" -clear_term="no" - -# Whether trivial/comment changes should be automerged -eu_automerge="yes" - -# arguments used whenever rm is called -rm_opts="" - -# arguments used whenever mv is called -mv_opts="" - -# arguments used whenever cp is called -cp_opts="" - -# set the pager for use with diff commands (this will -# cause the PAGER environment variable to be ignored) -#pager="less" - -# For emacs-users (see NOTE_2) -# diff_command="eval emacs -nw --eval=\'\(ediff\ \"%file1\"\ \"%file2\"\)\'" -#using_editor=1 - -# vim-users: you CAN use vimdiff for diff_command. (see NOTE_1 and NOTE_2) -#diff_command="vim -d %file1 %file2" -#using_editor=1 - -# If using colordiff instead of diff, the less -R option may be required -# for correct display (see 'pager' setting above). -diff_command="diff -uN %file1 %file2" -using_editor=0 - - -# vim-users: don't use vimdiff for merging (see NOTE_1) -merge_command="sdiff -s -o %merged %orig %new" - -# EXPLANATION -# -# pager: -# -# Examples of pager usage: -# pager="cat" # don't use a pager -# pager="less -E" # less -# pager="more" # more -# -# -# diff_command: -# -# Arguments: -# %file1 [REQUIRED] -# %file2 [REQUIRED] -# -# Examples of diff_command: -# diff_command="diff -uN %file1 %file2" # diff -# diff_command="vim -d %file1 %file2" # vimdiff -# -# -# merge_command: -# -# Arguments: -# %orig [REQUIRED] -# %new [REQUIRED] -# %merged [REQUIRED] -# -# Examples of merge_command: -# merge_command="sdiff -s -o %merged %old %new" # sdiff -# - -# NOTE_1: Editors such as vim/vimdiff are not usable for the merge_command -# because it is not known what filenames the produced files have (the user can -# choose while using those programs) - -# NOTE_2: Make sure using_editor is set to "1" when using an editor as -# diff_command! diff --git a/configs/eth.network b/configs/eth.network new file mode 100644 index 0000000..744de02 --- /dev/null +++ b/configs/eth.network @@ -0,0 +1,4 @@ +[Match] + +[Network] +DHCP=both diff --git a/configs/grub.conf b/configs/grub.conf index 188935c..e0afae0 100644 --- a/configs/grub.conf +++ b/configs/grub.conf @@ -3,5 +3,5 @@ timeout 5 title Gentoo Linux root (hd0,0) -kernel /boot/vmlinuz root=/dev/sda1 rootfstype=ext4 net.ifnames=0 quiet +kernel /boot/vmlinuz root=/dev/sda1 rootfstype=ext4 net.ifnames=0 init=/usr/lib/systemd/systemd quiet diff --git a/configs/make.conf.amd64 b/configs/make.conf.amd64 index aa8e43a..745c35d 100644 --- a/configs/make.conf.amd64 +++ b/configs/make.conf.amd64 @@ -2,7 +2,7 @@ CFLAGS="-Os -Qn -s" CXXFLAGS="-Os -Qn -s" CHOST="x86_64-pc-linux-gnu" MAKEOPTS="-j2" -USE="-* nptl pam unicode bindist" +USE="-* bindist nptl pam systemd unicode" ALSA_PCM_PLUGINS="*" CLEAN_DELAY="0" EMERGE_WARNING_DELAY="0" @@ -11,4 +11,4 @@ EPAUSE_IGNORE="1" EMERGE_DEFAULT_OPTS="--jobs=2 --autounmask=n" FEATURES="noinfo -test nodoc noman nostrip unmerge-orphans buildpkg notitles parallel-fetch" CURL_SSL="openssl" -PYTHON_TARGETS="python3_3" +PYTHON_TARGETS="python3_4" diff --git a/configs/make.conf.x86 b/configs/make.conf.x86 index df8910b..4f6cc3b 100644 --- a/configs/make.conf.x86 +++ b/configs/make.conf.x86 @@ -2,7 +2,7 @@ CFLAGS="-Os -Qn -s" CXXFLAGS="-Os -Qn -s" CHOST="i686-pc-linux-gnu" MAKEOPTS="-j2" -USE="-* nptl pam unicode bindist" +USE="-* bindist nptl pam systemd unicode" ALSA_PCM_PLUGINS="*" CLEAN_DELAY="0" EMERGE_WARNING_DELAY="0" @@ -11,5 +11,4 @@ EPAUSE_IGNORE="1" EMERGE_DEFAULT_OPTS="--jobs=2 --autounmask=n" FEATURES="noinfo -test nodoc noman nostrip unmerge-orphans buildpkg notitles parallel-fetch" CURL_SSL="openssl" -PYTHON_TARGETS="python3_3" ABI_X86="32" diff --git a/configs/rsync-excludes-critical b/configs/rsync-excludes-critical deleted file mode 100644 index bca3562..0000000 --- a/configs/rsync-excludes-critical +++ /dev/null @@ -1,10 +0,0 @@ -usr/include/* -usr/lib/python*/test -usr/lib64/python*/test -usr/share/gtk-doc -var/db/pkg -usr/lib/perl* -usr/lib64/perl* -usr/share/doc/* -*.pyc -*.pyo diff --git a/scripts/acpi.start b/scripts/acpi.start deleted file mode 100755 index b6d345b..0000000 --- a/scripts/acpi.start +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh - -script="/etc/acpi/PWRF/00000080" -if [ ! -f $script ] ; then - mkdir -p `dirname $script` - echo '#!/bin/sh\n/sbin/halt\n' > $script - chmod +x $script -fi - -busybox acpid diff --git a/scripts/motd.sh b/scripts/motd.sh index 8abff84..aace5a9 100755 --- a/scripts/motd.sh +++ b/scripts/motd.sh @@ -5,9 +5,8 @@ EXTERNAL_KERNEL=$1 VIRTIO=$2 DISK_SIZE=$3 SWAP_SIZE=$4 -UDEV=$5 -DASH=$6 -ARCH=$7 +DASH=$5 +ARCH=$6 TZ=$TIMEZONE ; export TZ @@ -32,7 +31,6 @@ cat << EOF | column -c80 VIRTIO: ${VIRTIO} DISK_SIZE: ${DISK_SIZE} SWAP_SIZE: ${SWAP_SIZE}M - UDEV: ${UDEV} DASH: ${DASH} EOF diff --git a/scripts/sync-stage3.sh b/scripts/sync-stage3.sh index bbbe25a..8f2e644 100755 --- a/scripts/sync-stage3.sh +++ b/scripts/sync-stage3.sh @@ -17,3 +17,4 @@ file=$(egrep -v 'nomultilib|hardened|uclibc|^#' latest-stage3.txt \ file=/releases/${g_arch}/autobuilds/${file} echo ${file} ${rsync} ${RSYNC_MIRROR}${file} stage3-${arch}-latest.tar.bz2 +rm -f latest-stage3.txt