3240 Commits

Author SHA1 Message Date
Nick Owens
a71579ae01 sys-apps/systemd: sync with coreos/systemd v222 2015-07-14 12:43:26 -07:00
Alex Crawford
5278dc6ce2 Merge pull request #1282 from packethost/oem-packet
Packet image OEM
2015-07-10 08:39:27 -07:00
Sam Tresler
037dba3664 Packet OEM 2015-07-10 11:31:16 -04:00
Michael Marineau
9dabe87f88 Merge pull request #1354 from marineam/ccache
profiles: use compiler hash for ccache
2015-07-09 18:55:37 -07:00
Michael Marineau
becedcdf8e profiles: use compiler hash for ccache
By default ccache checks the compiler's mtime and size but that gets
thrown off by reinstalls, including from binary packages. The
alternative mode reads the compiler binary itself instead. In theory
that may be slower but in reality both modes are effectively the same
speed. ccache will now work under catalyst
2015-07-09 18:13:30 -07:00
Michael Marineau
0cc352c838 Merge pull request #1352 from marineam/ccache
Fix building GCC with ccache
2015-07-09 15:21:17 -07:00
Michael Marineau
4f87afd277 ccache: fix building GCC with ccache enabled 2015-07-09 13:40:01 -07:00
Michael Marineau
1b5d4d776f ccache: import current version from portage-stable 2015-07-09 13:31:42 -07:00
Alex Crawford
34c31ebb20 Merge pull request #1350 from crawford/openssl
profiles: remove unneeded entries for openssl
2015-07-09 10:35:03 -07:00
Alex Crawford
f45d0ad703 profiles: remove unneeded entries for openssl 2015-07-09 10:12:18 -07:00
Michael Marineau
0b1f2f4c8f Merge pull request #1349 from marineam/systemd
systemd: revise python dependencies
2015-07-08 18:58:53 -07:00
Michael Marineau
0825a88401 systemd: revise python dependencies
Dug more into the build process and python is not strictly required for
man pages, it is only used to create an index which isn't significant.
Only call setup_python when features that *do* need python are enabled.

Fixes bootstrap_sdk which builds systemd with minimal use flags.
2015-07-08 18:35:07 -07:00
Michael Marineau
5b3d82cd08 Merge pull request #1347 from marineam/systemd
systemd: sync with upstream, bump to 222
2015-07-08 17:16:06 -07:00
Michael Marineau
31b85412dd systemd: sync with upstream, bump to 222
Biggest change (beyond the version bump itself) is removing support for
building gudev which is moving out of the systemd repository. Also moves
USE flag changes from IUSE into package.use so the IUSE line doesn't
cause merge conflicts with upstream.

For reference the current delta from upstream is:

```patch
--- gentoo-x86/sys-apps/systemd/systemd-9999.ebuild	2015-07-08 14:20:49.679059002 -0700
+++ coreos-overlay/sys-apps/systemd/systemd-9999.ebuild	2015-07-08 15:51:11.351991236 -0700
@@ -4,18 +4,25 @@

 EAPI=5

+AUTOTOOLS_AUTORECONF=yes
 AUTOTOOLS_PRUNE_LIBTOOL_FILES=all
 PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+CROS_WORKON_PROJECT="coreos/systemd"
+CROS_WORKON_REPO="git://github.com"

 if [[ ${PV} == 9999 ]]; then
-	AUTOTOOLS_AUTORECONF=yes
-	EGIT_REPO_URI="https://github.com/systemd/systemd.git"
-	inherit git-r3
+	# Use ~arch instead of empty keywords for compatibility with cros-workon
+	KEYWORDS="~amd64 ~arm64 ~arm ~x86"
 else
-	SRC_URI="http://www.freedesktop.org/software/systemd/${P}.tar.xz"
-	KEYWORDS="~amd64 ~arm ~ia64 ~x86"
+	CROS_WORKON_COMMIT="9b174479806a66ff3a220a89291a38f8a4fed701"
+	KEYWORDS="amd64 arm64 ~arm ~x86"
 fi

+# cros-workon must be imported first, in cases where cros-workon and
+# another eclass exports the same function (say src_compile) we want
+# the later eclass's version to win. Only need src_unpack from workon.
+inherit cros-workon
+
 inherit autotools-utils bash-completion-r1 linux-info multilib \
 	multilib-minimal pam python-single-r1 systemd toolchain-funcs udev \
 	user
@@ -29,6 +36,9 @@
 	idn importd +kdbus +kmod +lz4 lzma nat pam policykit python
 	qrcode +seccomp selinux ssl sysv-utils terminal test vanilla xkb"

+# CoreOS specific use flags
+IUSE+=" man symlink-usr"
+
 REQUIRED_USE="importd? ( curl gcrypt lzma )
 	python? ( ${PYTHON_REQUIRED_USE} )"

@@ -82,7 +92,6 @@
 # sys-apps/dbus: the daemon only (+ build-time lib dep for tests)
 PDEPEND=">=sys-apps/dbus-1.6.8-r1:0[systemd]
 	>=sys-apps/hwids-20130717-r1[udev]
-	>=sys-fs/udev-init-scripts-25
 	policykit? ( sys-auth/polkit )
 	!vanilla? ( sys-apps/gentoo-systemd-integration )"

@@ -102,19 +111,19 @@
 	terminal? ( media-fonts/unifont[utils(+)] )
 	test? ( >=sys-apps/dbus-1.6.8-r1:0 )"

-if [[ -n ${AUTOTOOLS_AUTORECONF} ]]; then
-	DEPEND+="
-		app-text/docbook-xml-dtd:4.2
+# Not required when building from unpatched tarballs, but we build from git.
+DEPEND+="
+	man? ( app-text/docbook-xml-dtd:4.2
 		app-text/docbook-xml-dtd:4.5
 		app-text/docbook-xsl-stylesheets
 		dev-libs/libxslt:0
-		>=dev-libs/libgcrypt-1.4.5:0"
-fi
-
-if [[ ${PV} == 9999 ]]; then
-	DEPEND+=" ${PYTHON_DEPS}"
-	REQUIRED_USE+=" ${PYTHON_REQUIRED_USE}"
-fi
+		${PYTHON_DEPS} )
+	terminal? ( ${PYTHON_DEPS} )
+	>=dev-libs/libgcrypt-1.4.5:0"
+
+REQUIRED_USE+="
+	man? ( ${PYTHON_REQUIRED_USE} )
+	terminal? ( ${PYTHON_REQUIRED_USE} )"

 pkg_pretend() {
 	local CONFIG_CHECK="~AUTOFS4_FS ~BLK_DEV_BSG ~CGROUPS
@@ -162,12 +171,6 @@
 	# Bug 463376
 	sed -i -e 's/GROUP="dialout"/GROUP="uucp"/' rules/*.rules || die

-	if [[ ${PV} != 9999 ]]; then
-		# Update the timestamp on this to avoid rebuilding it.
-		[[ -e src/libsystemd-terminal/unifont-glyph-array.bin ]] || die "File missing from tarball"
-		touch src/libsystemd-terminal/unifont-glyph-array.bin || die
-	fi
-
 	autotools-utils_src_prepare
 }

@@ -177,18 +180,14 @@
 	# Fix systems broken by bug #509454.
 	[[ ${MY_UDEVDIR} ]] || MY_UDEVDIR=/lib/udev

-	if [[ ${PV} == 9999 ]] || use python; then
-		python_setup
-	fi
+	python_setup

 	multilib-minimal_src_configure
 }

 multilib_src_configure() {
 	local myeconfargs=(
-		# disable -flto since it is an optimization flag
-		# and makes distcc less effective
-		cc_cv_CFLAGS__flto=no
+		--with-pamconfdir=/usr/share/pam.d

 		# Workaround for bug 516346
 		--enable-dependency-tracking
@@ -229,6 +228,7 @@
 		$(multilib_native_use_enable kmod)
 		$(use_enable lz4)
 		$(use_enable lzma xz)
+		$(multilib_native_use_enable man manpages)
 		$(multilib_native_use_enable nat libiptc)
 		$(multilib_native_use_enable pam)
 		$(multilib_native_use_enable policykit polkit)
@@ -250,11 +250,19 @@
 		EFI_CC="$(tc-getCC)"

 		# dbus paths
-		--with-dbuspolicydir="${EPREFIX}/etc/dbus-1/system.d"
+		--with-dbuspolicydir="${EPREFIX}/usr/share/dbus-1/system.d"
 		--with-dbussessionservicedir="${EPREFIX}/usr/share/dbus-1/services"
 		--with-dbussystemservicedir="${EPREFIX}/usr/share/dbus-1/system-services"

-		--with-ntp-servers="0.gentoo.pool.ntp.org 1.gentoo.pool.ntp.org 2.gentoo.pool.ntp.org 3.gentoo.pool.ntp.org"
+		--with-ntp-servers="0.coreos.pool.ntp.org 1.coreos.pool.ntp.org 2.coreos.pool.ntp.org 3.coreos.pool.ntp.org"
+
+		# The CoreOS epoch, Mon Jul  1 00:00:00 UTC 2013. Used by timesyncd
+		# as a sanity check for the minimum acceptable time. Explicitly set
+		# to avoid using the current build time.
+		--with-time-epoch=1372636800
+
+		# no default name servers
+		--with-dns-servers=
 	)

 	if ! multilib_is_native_abi; then
@@ -326,38 +334,81 @@
 }

 multilib_src_install_all() {
+	local unitdir=$(systemd_get_unitdir)
+
 	prune_libtool_files --modules
 	einstalldocs

 	if use sysv-utils; then
+		local prefix
+		use symlink-usr && prefix=/usr
 		for app in halt poweroff reboot runlevel shutdown telinit; do
-			dosym "..${ROOTPREFIX-/usr}/bin/systemctl" /sbin/${app}
+			dosym "${ROOTPREFIX-/usr}/bin/systemctl" ${prefix}/sbin/${app}
 		done
-		dosym "..${ROOTPREFIX-/usr}/lib/systemd/systemd" /sbin/init
-	else
+		dosym "${ROOTPREFIX-/usr}/lib/systemd/systemd" ${prefix}/sbin/init
+	elif use man; then
 		# we just keep sysvinit tools, so no need for the mans
 		rm "${D}"/usr/share/man/man8/{halt,poweroff,reboot,runlevel,shutdown,telinit}.8 \
 			|| die
 		rm "${D}"/usr/share/man/man1/init.1 || die
 	fi

-	# Disable storing coredumps in journald, bug #433457
-	mv "${D}"/usr/lib/sysctl.d/50-coredump.conf{,.disabled} || die
-
-	# Preserve empty dirs in /etc & /var, bug #437008
-	keepdir /etc/binfmt.d /etc/modules-load.d /etc/tmpfiles.d \
-		/etc/systemd/ntp-units.d /etc/systemd/user /var/lib/systemd \
-		/var/log/journal/remote
-
-	# Symlink /etc/sysctl.conf for easy migration.
-	dosym ../sysctl.conf /etc/sysctl.d/99-sysctl.conf
-
-	# If we install these symlinks, there is no way for the sysadmin to remove them
-	# permanently.
-	rm "${D}"/etc/systemd/system/multi-user.target.wants/systemd-networkd.service || die
-	rm "${D}"/etc/systemd/system/multi-user.target.wants/systemd-resolved.service || die
-	rm -r "${D}"/etc/systemd/system/network-online.target.wants || die
-	rm -r "${D}"/etc/systemd/system/sysinit.target.wants || die
+	# Ensure journal directory has correct ownership/mode in inital image.
+	# This is fixed by systemd-tmpfiles *but* journald starts before that
+	# and will create the journal if the filesystem is already read-write.
+	# Conveniently the systemd Makefile sets this up completely wrong.
+	dodir /var/log/journal
+	fowners root:systemd-journal /var/log/journal
+	fperms 2755 /var/log/journal
+
+	systemd_dotmpfilesd "${FILESDIR}"/systemd-coreos.conf
+	systemd_dotmpfilesd "${FILESDIR}"/systemd-resolv.conf
+
+	# Don't default to graphical.target
+	rm "${D}${unitdir}"/default.target || die
+	dosym multi-user.target "${unitdir}"/default.target
+
+	# Move a few services enabled in /etc to /usr, delete files individually
+	# so builds fail if systemd adds any new unexpected stuff to /etc
+	local f
+	for f in \
+		getty.target.wants/getty@tty1.service \
+		multi-user.target.wants/remote-fs.target \
+		multi-user.target.wants/systemd-networkd.service \
+		multi-user.target.wants/systemd-resolved.service \
+		network-online.target.wants/systemd-networkd-wait-online.service \
+		sockets.target.wants/systemd-networkd.socket \
+		sysinit.target.wants/systemd-timesyncd.service
+	do
+		local s="${f#*/}" t="${f%/*}"
+		local u="${s/@*.service/@.service}"
+
+		# systemd_enable_service doesn't understand template units
+		einfo "Enabling ${s} via ${t}"
+		dodir "${unitdir}/${t}"
+		dosym "../${u}" "${unitdir}/${t}/${s}"
+
+		rm "${D}/etc/systemd/system/${f}" || die
+	done
+	rmdir "${D}"/etc/systemd/system/*.wants || die
+
+	# Grant networkd access to set the transient host name
+	insinto /usr/share/polkit-1/rules.d
+	doins "${FILESDIR}"/99-org.freedesktop.hostname1.rules
+
+	# Do not enable random services if /etc was detected as empty!!!
+	rm "${D}"/usr/lib/systemd/system-preset/90-systemd.preset
+	insinto /usr/lib/systemd/system-preset
+	doins "${FILESDIR}"/99-default.preset
+
+	# Disable the "First Boot Wizard" by default, it isn't very applicable to CoreOS
+	rm "${D}${unitdir}"/sysinit.target.wants/systemd-firstboot.service
+
+	# Do not ship distro-specific files (nsswitch.conf pam.d)
+	rm -rf "${D}"/usr/share/factory
+	sed -i "${D}"/usr/lib/tmpfiles.d/etc.conf \
+		-e '/^C \/etc\/nsswitch\.conf/d' \
+		-e '/^C \/etc\/pam\.d/d'
 }

 migrate_locale() {
```
2015-07-08 16:32:37 -07:00
Michael Marineau
5d07880d3d Merge pull request #1344 from marineam/util-linux
util-linux: don't bother excluding misc small utilities
2015-07-08 14:14:09 -07:00
Michael Marineau
b44ef79681 Merge pull request #1343 from marineam/ccache
ccache and systemd build cleanups
2015-07-08 12:02:02 -07:00
Michael Marineau
1ad8deb6ce systemd: remove nls use flag
This option doesn't actually do anything, it merely moves errors about
missing intltool from the compile step to the configure step. Upstream
dropped the flag ages ago but we kept it not knowing if it was useful.
2015-07-08 12:00:57 -07:00
Michael Marineau
76885d2ab3 systemd: add a 'man' use flag
No need to spend time generating man pages for targets we never install
man pages on.
2015-07-08 12:00:57 -07:00
Michael Marineau
d1da4816c4 systemd: remove old configure options
elfutils has a use flag, the dbus option was removed in 219
2015-07-08 12:00:50 -07:00
Michael Marineau
09e076669b util-linux: don't bother excluding misc small utilities
We may not *need* things like fsck.minix but it does get the systemd
test suite to pass. setarch should be there. fdformat and others are no
longer built by the ebuild.
2015-07-08 11:48:19 -07:00
Michael Marineau
5c8f1516ad systemd: set explicit reference time for NTP 2015-07-07 20:35:45 -07:00
Michael Marineau
e9a96f2f61 profiles: re-enable ccache, using latest 3.2.x version
Kernel builds should now be happy with ccache so re-enable by default.
2015-07-07 20:33:42 -07:00
Michael Marineau
7fed71e9ac coreos-kernel: explicitly add -nopie for hardened compilers
The Gentoo hardened compiler enables PIE by default unless it detects an
incompatible option. To detect kernel builds it uses -D__KERNEL__ which
is unfortunately a preprocessor option that ccache >= 3.2 will not pass
to compile-only calls, since in theory it is unnessicary and omitting
preprocessor options works around and issues in another (*cough* LLVM)
compilers. There really isn't any other alternative magic hack so go
with the plain no-magic solution. :)

Bug: https://bugs.gentoo.org/show_bug.cgi?id=535984
2015-07-07 20:25:12 -07:00
Alex Crawford
edfd5ad012 Merge pull request #1342 from crawford/seismograph
sys-apps/seismograph: include disk GUID feature
2015-07-06 16:47:25 -07:00
Alex Crawford
7ac986e5ed sys-apps/seismograph: include disk GUID feature 2015-07-06 13:51:16 -07:00
Michael Marineau
1721249283 Merge pull request #1341 from coreos/revert-1337-update
Revert "Update update_engine"
2015-07-06 13:10:33 -07:00
Michael Marineau
9f6ef609b5 Revert "Update update_engine" 2015-07-06 06:08:46 -07:00
Michael Marineau
dcf94ca48c Merge pull request #1340 from coreos/revert-1338-fleet-0.11.0
Revert "app-admin/fleet: bump to v0.11.0"
2015-07-04 20:16:09 -07:00
Michael Marineau
1520766779 Revert "app-admin/fleet: bump to v0.11.0" 2015-07-04 13:14:32 -07:00
Michael Marineau
0477ee2df0 Merge pull request #1337 from marineam/update
Update update_engine
2015-07-03 21:46:57 -07:00
Nick Owens
c6b9fa98be Merge pull request #1339 from mischief/networkd-nat
sys-apps/systemd: enable nat use flag for ip masquerading in networkd
2015-07-03 18:49:53 -07:00
mischief
cd117a321e sys-apps/systemd: enable nat use flag for ip masquerading in networkd 2015-07-03 18:48:05 -07:00
Nick Owens
f15f74448c Merge pull request #1338 from mischief/fleet-0.11.0
app-admin/fleet: bump to v0.11.0
2015-07-03 17:24:55 -07:00
mischief
f1278017ab app-admin/fleet: bump to v0.11.0 2015-07-03 17:19:07 -07:00
Michael Marineau
f52a4cc47e Merge pull request #1328 from exoscale/master
exoscale network workaround not needed anymore
2015-07-02 16:37:02 -07:00
retrack
1f6a7401b8 coreos-base/oem-exoscale: network workaround not needed anymore 2015-07-03 01:15:21 +02:00
Michael Marineau
a437c096fe update_engine: update to latest, fixes kernel payload code 2015-07-02 14:09:56 -07:00
Michael Marineau
7f33fd307c Revert "Revert "update_engine: lots of updates""
This reverts commit 7bbc88c31ce48c6da6fb6fd1c1bf9d3927825d9f.
2015-07-02 14:08:12 -07:00
Michael Marineau
5d4eebf714 Merge pull request #1336 from marineam/systemd
systemd: fix systemd-escape's exit code
2015-07-02 13:03:32 -07:00
Michael Marineau
8f935f6ebb Merge pull request #1335 from marineam/selinux
selinux: make selinux optional based on USE flags, disable for now.
2015-07-02 12:13:59 -07:00
Michael Marineau
bd33c8cf5d systemd: fix systemd-escape's exit code 2015-07-02 12:13:39 -07:00
Michael Marineau
e5c1d942ec selinux: make selinux optional based on USE flags, disable for now.
Some issues still to work out with tmpfiles and logind.
2015-07-01 22:41:43 -07:00
Nick Owens
6adadb896a Merge pull request #1332 from mischief/sfc
sys-kernel/coreos-kernel: enable sfc and mtd drivers
2015-07-01 18:50:15 -07:00
George Tankersley
9415e80fd1 Merge pull request #1334 from gtank/verity
bootengine: bump ebuild for verity generator
2015-07-01 18:35:03 -07:00
mischief
6b48095e48 sys-kernel/coreos-kernel: enable sfc and mtd drivers 2015-07-01 18:28:06 -07:00
mjg59
9c37f62093 Merge pull request #1326 from mjg59/master
Enable kernel lockdowns in Secure Boot environments
2015-07-01 18:09:54 -07:00
Matthew Garrett
7be98f2fdc Enable kernel lockdowns in Secure Boot environments
Secure Boot is easy to work around unless the kernel restricts
userspace's ability to modify the kernel. Add kernel patches from Fedora
that do this.
2015-07-01 17:45:21 -07:00
George Tankersley
37446bff38 bootengine: bump ebuild for verity generator 2015-07-01 17:31:39 -07:00
Eugene Yakubovich
1de896c887 Merge pull request #1333 from eyakubovich/flannel-0.5
flannel: bump to v0.5.0
2015-07-01 15:07:29 -07:00
Eugene Yakubovich
8f67ce4565 flannel: bump to v0.5.0 2015-07-01 14:44:39 -07:00