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 $?
|
||||
}
|
||||
25
srcpkgs/udev/libgudev-devel.template
Normal file
25
srcpkgs/udev/libgudev-devel.template
Normal file
@@ -0,0 +1,25 @@
|
||||
# Template file for 'udev-glib-devel'.
|
||||
#
|
||||
short_desc="${short_desc} (development glib bindings)"
|
||||
long_desc="${long_desc}
|
||||
|
||||
This package contains the libgudev development files (static libs, headers,
|
||||
etc), a library to interact with udev through the GLib bindings."
|
||||
|
||||
replaces="udev-glib-devel"
|
||||
revision=1
|
||||
|
||||
Add_dependency run libgudev
|
||||
|
||||
do_install()
|
||||
{
|
||||
mkdir -p ${DESTDIR}/usr/lib ${DESTDIR}/usr/share/gtk-doc/html \
|
||||
${DESTDIR}/usr/lib/pkgconfig
|
||||
mv ${SRCPKGDESTDIR}/usr/include/gudev* ${DESTDIR}/usr/include
|
||||
mv ${SRCPKGDESTDIR}/usr/share/gtk-doc/html/gudev \
|
||||
${DESTDIR}/usr/share/gtk-doc/html
|
||||
mv ${SRCPKGDESTDIR}/usr/lib/pkgconfig/gudev* \
|
||||
${DESTDIR}/usr/lib/pkgconfig
|
||||
mv ${SRCPKGDESTDIR}/usr/lib/girepository* ${DESTDIR}/usr/lib
|
||||
mv ${SRCPKGDESTDIR}/usr/share/gir* ${DESTDIR}/usr/share
|
||||
}
|
||||
19
srcpkgs/udev/libgudev.template
Normal file
19
srcpkgs/udev/libgudev.template
Normal file
@@ -0,0 +1,19 @@
|
||||
# Template file for 'udev-glib'.
|
||||
#
|
||||
short_desc="${short_desc} (glib bindings)"
|
||||
long_desc="${long_desc}
|
||||
|
||||
This package contains libgudev, a library to interact with udev through
|
||||
the GLib bindings."
|
||||
|
||||
replaces="udev-glib"
|
||||
revision=1
|
||||
|
||||
Add_dependency run udev
|
||||
Add_dependency run glib
|
||||
|
||||
do_install()
|
||||
{
|
||||
mkdir -p ${DESTDIR}/lib
|
||||
mv ${SRCPKGDESTDIR}/lib/libgudev* ${DESTDIR}/lib
|
||||
}
|
||||
61
srcpkgs/udev/template
Normal file
61
srcpkgs/udev/template
Normal file
@@ -0,0 +1,61 @@
|
||||
# Template file for 'udev'
|
||||
pkgname=udev
|
||||
version=147
|
||||
distfiles="${KERNEL_SITE}/utils/kernel/hotplug/udev-${version}.tar.bz2"
|
||||
build_style=gnu_configure
|
||||
configure_args="--exec-prefix= --without-selinux --libexecdir=/lib/udev
|
||||
--with-rootlibdir=/lib"
|
||||
short_desc="A userspace implementation of devfs"
|
||||
maintainer="Juan RP <xtraeme@gmail.com>"
|
||||
checksum=6517acde28bf319fc52c2b65fef7ef9f35a62bd669bbda6ad65de354d74d8d6b
|
||||
long_desc="
|
||||
udev is a implementation of devfs in userspace using sysfs and
|
||||
/sbin/hotplug. It requires a 2.5/2.6 kernel to run properly."
|
||||
|
||||
openrc_services="udev sysinit"
|
||||
conf_files="/etc/udev/udev.conf"
|
||||
subpackages="udev-devel libgudev libgudev-devel"
|
||||
|
||||
Add_dependency full glibc
|
||||
Add_dependency full procps
|
||||
Add_dependency full libblkid
|
||||
Add_dependency full acl
|
||||
Add_dependency full usbutils ">=0.82"
|
||||
Add_dependency full pciutils
|
||||
Add_dependency build glib
|
||||
Add_dependency build gperf
|
||||
Add_dependency build gobject-introspection
|
||||
Add_dependency build libtool
|
||||
|
||||
post_install()
|
||||
{
|
||||
# Install some additional rules.
|
||||
install -m644 ${wrksrc}/rules/packages/* ${DESTDIR}/lib/udev/rules.d
|
||||
# Remove unneeded rules.
|
||||
for f in ia64 ppc s390; do
|
||||
rm ${DESTDIR}/lib/udev/rules.d/40-${f}.rules
|
||||
done
|
||||
|
||||
# Install the OpenRC service
|
||||
install -D -m755 ${FILESDIR}/udev.rc ${DESTDIR}/etc/init.d/udev
|
||||
|
||||
# Install the initramfs-tools hook/scripts.
|
||||
install -d $DESTDIR/usr/share/initramfs-tools/hooks
|
||||
install -d $DESTDIR/usr/share/initramfs-tools/scripts/init-premount
|
||||
install -d $DESTDIR/usr/share/initramfs-tools/scripts/init-bottom
|
||||
install -m 755 ${FILESDIR}/udev.initramfs-hook \
|
||||
$DESTDIR/usr/share/initramfs-tools/hooks/udev
|
||||
install -m 755 ${FILESDIR}/udev.initramfs-premount \
|
||||
$DESTDIR/usr/share/initramfs-tools/scripts/init-premount/udev
|
||||
install -m 755 ${FILESDIR}/udev.initramfs-bottom \
|
||||
$DESTDIR/usr/share/initramfs-tools/scripts/init-bottom/udev
|
||||
|
||||
# Move gobject introspection stuff to correct path
|
||||
mv $DESTDIR//lib/girepository* $DESTDIR/usr/lib
|
||||
|
||||
# Move pkgconfig files to correct path
|
||||
install -d $DESTDIR/usr/lib/pkgconfig
|
||||
mv $DESTDIR/lib/pkgconfig/* $DESTDIR/usr/lib/pkgconfig
|
||||
mv $DESTDIR/usr/share/pkgconfig/* $DESTDIR/usr/lib/pkgconfig
|
||||
rmdir $DESTDIR/usr/share/pkgconfig
|
||||
}
|
||||
22
srcpkgs/udev/udev-devel.template
Normal file
22
srcpkgs/udev/udev-devel.template
Normal file
@@ -0,0 +1,22 @@
|
||||
# Template file for 'udev-devel'.
|
||||
#
|
||||
short_desc="${short_desc} (development files)"
|
||||
long_desc="${long_desc}
|
||||
|
||||
This package contains files for development, headers, static libs, etc."
|
||||
|
||||
Add_dependency run udev
|
||||
|
||||
do_install()
|
||||
{
|
||||
mkdir -p ${DESTDIR}/usr/share/gtk-doc/html \
|
||||
${DESTDIR}/usr/lib/pkgconfig ${DESTDIR}/usr/include
|
||||
mv ${SRCPKGDESTDIR}/usr/include/*.h ${DESTDIR}/usr/include
|
||||
mv ${SRCPKGDESTDIR}/usr/share/gtk-doc/html/libudev \
|
||||
${DESTDIR}/usr/share/gtk-doc/html
|
||||
mv ${SRCPKGDESTDIR}/usr/share/doc ${DESTDIR}/usr/share
|
||||
mv ${SRCPKGDESTDIR}/usr/lib/pkgconfig/udev.pc \
|
||||
${DESTDIR}/usr/lib/pkgconfig
|
||||
mv ${SRCPKGDESTDIR}/usr/lib/pkgconfig/libudev.pc \
|
||||
${DESTDIR}/usr/lib/pkgconfig
|
||||
}
|
||||
Reference in New Issue
Block a user