Major infrastructure changes, part 2.
* Moved helpers, common and triggers dirs into xbps-src, where
they belong.
* Renamed the templates dir to srcpkgs, it was so redundant before.
* Make it possible to add subpkgs with no restriction in names, for
example udev now has a subpkgs called "libgudev". Previously
subpkgs were named "${sourcepkg}-${pkgname}".
* xbps-src: changed to look for template files in current directory.
That means that most arguments from the targets have been removed.
* xbps-src: added a reinstall target, to remove + install.
* xbps-src: do not overwrite binpkgs by default, skip them.
And more that I forgot because it's a mega-commit that I've been
working for some days already...
--HG--
extra : convert_revision : 0f466878584d1e6895d2a234f07ea1b2d1e61b3e
This commit is contained in:
24
srcpkgs/udev/files/udev.initramfs-bottom
Normal file
24
srcpkgs/udev/files/udev.initramfs-bottom
Normal file
@@ -0,0 +1,24 @@
|
||||
#!/bin/sh -e
|
||||
# initramfs premount script for udev
|
||||
|
||||
PREREQ=""
|
||||
|
||||
# Output pre-requisites
|
||||
prereqs()
|
||||
{
|
||||
echo "$PREREQ"
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
prereqs)
|
||||
prereqs
|
||||
exit 0
|
||||
;;
|
||||
esac
|
||||
|
||||
|
||||
# Stop udevd, we'll miss a few events while we run init, but we catch up
|
||||
pkill udevd
|
||||
|
||||
# Move /dev to the real filesystem
|
||||
mount -n -o move /dev ${rootmnt}/dev
|
||||
42
srcpkgs/udev/files/udev.initramfs-hook
Normal file
42
srcpkgs/udev/files/udev.initramfs-hook
Normal file
@@ -0,0 +1,42 @@
|
||||
#!/bin/sh -e
|
||||
# initramfs hook for udev
|
||||
|
||||
MINKVER="2.6.24"
|
||||
PREREQ=""
|
||||
|
||||
# Output pre-requisites
|
||||
prereqs()
|
||||
{
|
||||
echo "$PREREQ"
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
prereqs)
|
||||
prereqs
|
||||
exit 0
|
||||
;;
|
||||
esac
|
||||
|
||||
|
||||
. /usr/share/initramfs-tools/hook-functions
|
||||
|
||||
# Copy across the udev binaries
|
||||
copy_exec /sbin/udevd /sbin
|
||||
copy_exec /sbin/udevadm /sbin
|
||||
|
||||
# Copy udev configuration
|
||||
mkdir -p ${DESTDIR}/etc/udev
|
||||
cp -p /etc/udev/udev.conf ${DESTDIR}/etc/udev
|
||||
|
||||
# Only copy across relevant rules
|
||||
mkdir -p ${DESTDIR}/lib/udev/rules.d
|
||||
for rules in 50-udev-default.rules 60-persistent-storage.rules \
|
||||
61-persistent-storage-edd.rules 64-device-mapper.rules \
|
||||
64-md-raid.rules 80-drivers.rules 95-udev-late.rules; do
|
||||
cp -p /lib/udev/rules.d/$rules ${DESTDIR}/lib/udev/rules.d
|
||||
done
|
||||
|
||||
# Copy across helpers the rules need
|
||||
mkdir -p ${DESTDIR}/lib/udev
|
||||
copy_exec /lib/udev/path_id /lib/udev
|
||||
cp -f /lib/udev/firmware.sh ${DESTDIR}/lib/udev
|
||||
29
srcpkgs/udev/files/udev.initramfs-premount
Normal file
29
srcpkgs/udev/files/udev.initramfs-premount
Normal file
@@ -0,0 +1,29 @@
|
||||
#!/bin/sh -e
|
||||
# initramfs premount script for udev
|
||||
|
||||
PREREQ=""
|
||||
|
||||
# Output pre-requisites
|
||||
prereqs()
|
||||
{
|
||||
echo "$PREREQ"
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
prereqs)
|
||||
prereqs
|
||||
exit 0
|
||||
;;
|
||||
esac
|
||||
|
||||
|
||||
# It's all over netlink now
|
||||
echo "" > /proc/sys/kernel/hotplug
|
||||
|
||||
# Start the udev daemon to process events
|
||||
/sbin/udevd --daemon --resolve-names=never
|
||||
|
||||
# Iterate sysfs and fire off everything; if we include a rule for it then
|
||||
# it'll get handled; otherwise it'll get handled later when we do this again
|
||||
# in the main boot sequence.
|
||||
/sbin/udevadm trigger
|
||||
25
srcpkgs/udev/files/udev.rc
Normal file
25
srcpkgs/udev/files/udev.rc
Normal file
@@ -0,0 +1,25 @@
|
||||
#!/sbin/runscript
|
||||
#
|
||||
# OpenRC service for udev(7).
|
||||
|
||||
command=/sbin/udevd
|
||||
command_args="--daemon"
|
||||
name="UDev Daemon"
|
||||
|
||||
depend()
|
||||
{
|
||||
provide dev
|
||||
need sysfs
|
||||
before checkfs fsck
|
||||
keyword novserver
|
||||
}
|
||||
|
||||
start()
|
||||
{
|
||||
echo > /proc/sys/kernel/hotplug
|
||||
|
||||
ebegin "Starting UDev and waiting for uevents"
|
||||
${command} ${command_args} && \
|
||||
udevadm trigger && udevadm settle
|
||||
eend $?
|
||||
}
|
||||
Reference in New Issue
Block a user