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:
Juan RP
2009-11-22 08:31:44 +01:00
parent 3c58e3ad40
commit 85cc462e1d
1305 changed files with 719 additions and 654 deletions

View 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

View 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

View 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

View 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 $?
}

View 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
}

View 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
View 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
}

View 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
}