From 56bd759df1d0c750a065b8c845e93d5dfa6b549d Mon Sep 17 00:00:00 2001 From: "Robin H. Johnson" Date: Sat, 8 Aug 2015 13:49:04 -0700 Subject: proj/gentoo: Initial commit MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson X-Thanks: Alec Warner - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring - wrote much python to improve cvs2svn X-Thanks: Rich Freeman - validation scripts X-Thanks: Patrick Lauer - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed --- sys-fs/eudev/files/40-gentoo.rules | 10 ++++ sys-fs/eudev/files/eudev-exclude-MD.patch | 53 +++++++++++++++++++++ sys-fs/eudev/files/eudev-fix-selinux-headers.patch | 32 +++++++++++++ sys-fs/eudev/files/eudev-fix-selinux-linking.patch | 30 ++++++++++++ sys-fs/eudev/files/eudev-selinux-timespan.patch | 27 +++++++++++ sys-fs/eudev/files/udev-postmount | 55 ++++++++++++++++++++++ 6 files changed, 207 insertions(+) create mode 100644 sys-fs/eudev/files/40-gentoo.rules create mode 100644 sys-fs/eudev/files/eudev-exclude-MD.patch create mode 100644 sys-fs/eudev/files/eudev-fix-selinux-headers.patch create mode 100644 sys-fs/eudev/files/eudev-fix-selinux-linking.patch create mode 100644 sys-fs/eudev/files/eudev-selinux-timespan.patch create mode 100755 sys-fs/eudev/files/udev-postmount (limited to 'sys-fs/eudev/files') diff --git a/sys-fs/eudev/files/40-gentoo.rules b/sys-fs/eudev/files/40-gentoo.rules new file mode 100644 index 000000000000..365c6ea0d441 --- /dev/null +++ b/sys-fs/eudev/files/40-gentoo.rules @@ -0,0 +1,10 @@ +# do not edit this file, it will be overwritten on update + +# Propably unrequired, check how it is with OSS/OSS4, then remove +SUBSYSTEM=="snd", GROUP="audio" + +# Gentoo specific usb group +SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", GROUP="usb" + +# Keep this for Linux 2.6.32 support wrt #457868 +SUBSYSTEM=="mem", KERNEL=="null|zero|full|random|urandom", MODE="0666" diff --git a/sys-fs/eudev/files/eudev-exclude-MD.patch b/sys-fs/eudev/files/eudev-exclude-MD.patch new file mode 100644 index 000000000000..d56026168809 --- /dev/null +++ b/sys-fs/eudev/files/eudev-exclude-MD.patch @@ -0,0 +1,53 @@ +From 2e5b17d01347d3c3118be2b8ad63d20415dbb1f0 Mon Sep 17 00:00:00 2001 +From: Kay Sievers +Date: Thu, 24 Jul 2014 23:37:35 +0200 +Subject: [PATCH] udev: exclude MD from block device ownership event locking + +MD instantiates devices at open(). This is incomptible with the +locking logic, as the "change" event emitted when stopping a +device will bring it back. +--- + src/udev/udevd.c | 23 +++++++---------------- + 1 file changed, 7 insertions(+), 16 deletions(-) + +diff --git a/src/udev/udevd.c b/src/udev/udevd.c +index a45d324..db935d6 100644 +--- a/src/udev/udevd.c ++++ b/src/udev/udevd.c +@@ -285,26 +285,17 @@ static void worker_new(struct event *event) + udev_event->exec_delay = exec_delay; + + /* +- * Take a "read lock" on the device node; this establishes ++ * Take a shared lock on the device node; this establishes + * a concept of device "ownership" to serialize device +- * access. External processes holding a "write lock" will ++ * access. External processes holding an exclusive lock will + * cause udev to skip the event handling; in the case udev +- * acquired the lock, the external process will block until ++ * acquired the lock, the external process can block until + * udev has finished its event handling. + */ +- +- /* +- * since we make check - device seems unused - we try +- * ioctl to deactivate - and device is found to be opened +- * sure, you try to take a write lock +- * if you get it udev is out +- * if you can't get it, udev is busy +- * we cannot deactivate openned device (as it is in-use) +- * maybe we should just exclude dm from that thing entirely +- * IMHO this sounds like a good plan for this moment +- */ +- if (streq_ptr("block", udev_device_get_subsystem(dev)) && +- !startswith(udev_device_get_sysname(dev), "dm-")) { ++ if (!streq_ptr(udev_device_get_action(dev), "remove") && ++ streq_ptr("block", udev_device_get_subsystem(dev)) && ++ !startswith(udev_device_get_sysname(dev), "dm-") && ++ !startswith(udev_device_get_sysname(dev), "md")) { + struct udev_device *d = dev; + + if (streq_ptr("partition", udev_device_get_devtype(d))) +-- +1.8.5.5 + diff --git a/sys-fs/eudev/files/eudev-fix-selinux-headers.patch b/sys-fs/eudev/files/eudev-fix-selinux-headers.patch new file mode 100644 index 000000000000..1d1d8dcc236f --- /dev/null +++ b/sys-fs/eudev/files/eudev-fix-selinux-headers.patch @@ -0,0 +1,32 @@ +From 361aa273d6fedda161c14b24302f009a58331693 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Amadeusz=20S=C5=82awi=C5=84ski?= +Date: Tue, 2 Sep 2014 21:20:24 +0200 +Subject: [PATCH] fix SELINUX build +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Signed-off-by: Amadeusz Sławiński +--- + src/shared/label.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/src/shared/label.c b/src/shared/label.c +index 3c6277a..e674241 100644 +--- a/src/shared/label.c ++++ b/src/shared/label.c +@@ -23,6 +23,11 @@ + #include + #include + ++#ifdef HAVE_SELINUX ++#include ++#include ++#endif ++ + #include "label.h" + #include "util.h" + #include "path-util.h" +-- +2.1.0 + diff --git a/sys-fs/eudev/files/eudev-fix-selinux-linking.patch b/sys-fs/eudev/files/eudev-fix-selinux-linking.patch new file mode 100644 index 000000000000..6a5e05bcaf1e --- /dev/null +++ b/sys-fs/eudev/files/eudev-fix-selinux-linking.patch @@ -0,0 +1,30 @@ +From e7f7217b9b9dbb3304116eae2b0ad90c84ede034 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Amadeusz=20S=C5=82awi=C5=84ski?= +Date: Wed, 3 Sep 2014 11:01:31 +0200 +Subject: [PATCH] link libudev against SELINUX +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Signed-off-by: Amadeusz Sławiński +--- + src/libudev/Makefile.am | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/src/libudev/Makefile.am b/src/libudev/Makefile.am +index 868a9fc..72e43bc 100644 +--- a/src/libudev/Makefile.am ++++ b/src/libudev/Makefile.am +@@ -54,7 +54,8 @@ libudev_la_LDFLAGS = \ + -Wl,--version-script=$(top_srcdir)/src/libudev/libudev.sym + + libudev_la_LIBADD = \ +- $(top_builddir)/src/shared/libudev_shared.la ++ $(top_builddir)/src/shared/libudev_shared.la \ ++ $(SELINUX_LIBS) + + libudev_private_la_SOURCES = \ + $(libudev_la_SOURCES) \ +-- +2.1.0 + diff --git a/sys-fs/eudev/files/eudev-selinux-timespan.patch b/sys-fs/eudev/files/eudev-selinux-timespan.patch new file mode 100644 index 000000000000..0a51ee9bbe40 --- /dev/null +++ b/sys-fs/eudev/files/eudev-selinux-timespan.patch @@ -0,0 +1,27 @@ +commit 3cc37a5e294048a52fa3c2aa2c1ed89b0cd07169 +Author: Ian Stakenvicius +Date: Thu Aug 8 11:09:30 2013 -0400 + + Fixed compile error when --enable-selinux + + FORMAT_TIMESPAN_MAX is used in src/udev/label.c in selinux-related + code, but this was not defined as it is located in a shared header + in systemd. Added the define to label.h. Didn't bother to track + down what commit added (or removed) this code (define) + + Signed-off-by: Ian Stakenvicius + +diff --git a/src/udev/label.h b/src/udev/label.h +index 3d12ac2..507fd2c 100644 +--- a/src/udev/label.h ++++ b/src/udev/label.h +@@ -25,6 +25,9 @@ + #include + #include + ++/* from systemd src/shared/time-util.h */ ++#define FORMAT_TIMESPAN_MAX 64 ++ + int label_init(const char *prefix); + void label_finish(void); + diff --git a/sys-fs/eudev/files/udev-postmount b/sys-fs/eudev/files/udev-postmount new file mode 100755 index 000000000000..e433736db9f3 --- /dev/null +++ b/sys-fs/eudev/files/udev-postmount @@ -0,0 +1,55 @@ +#!/sbin/runscript +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +depend() +{ + need localmount + keyword -vserver -lxc +} + +dir_writeable() +{ + touch "$1"/.test.$$ 2>/dev/null && rm "$1"/.test.$$ +} + +# store persistent-rules that got created while booting +# when / was still read-only +store_persistent_rules() +{ + # create /etc/udev/rules.d if it does not exist and /etc/udev is writable + [ -d /etc/udev/rules.d ] || \ + dir_writeable /etc/udev && \ + mkdir -p /etc/udev/rules.d + + # only continue if rules-directory is writable + dir_writeable /etc/udev/rules.d || return 0 + + local file dest + for file in /run/udev/tmp-rules--*; do + dest=${file##*tmp-rules--} + [ "$dest" = '*' ] && break + type=${dest##70-persistent-} + type=${type%%.rules} + ebegin "Saving udev persistent ${type} rules to /etc/udev/rules.d" + cat "$file" >> /etc/udev/rules.d/"$dest" && rm -f "$file" + eend $? "Failed moving persistent rules!" + done +} + +start() +{ + # check if this system uses udev + [ -d /run/udev ] || return 0 + + # store persistent-rules that got created while booting + # when / was still read-only + store_persistent_rules +} + +stop() +{ + return 0 +} + +# vim:ts=4 -- cgit v1.2.3-65-gdbad