SliTaz Packages

Community Doc Forum Pro Shop Bugs Hg
.

Receipt for package "udev"

# SliTaz package receipt.

PACKAGE="udev"
VERSION="182"
BUILD_WARNING="Install new udev package and rebuild hal"
CATEGORY="base-system"
SHORT_DESC="Udev creat automaticly right devices in /dev."
MAINTAINER="pankso@slitaz.org"
LICENSE="GPL2"
TARBALL="$PACKAGE-$VERSION.tar.xz"
WEB_SITE="https://www.freedesktop.org/software/systemd/man/udev.html"
WGET_URL="https://www.kernel.org/pub/linux/utils/kernel/hotplug/$TARBALL"
HOST_ARCH="i486 arm"

DEPENDS="util-linux-blkid pciids usbids acl kmod"
BUILD_DEPENDS="util-linux-blkid-dev gperf pkg-config pciids acl-dev \
libgio-dev usbutils-dev libusb-dev glib-dev pciids usbids kmod-dev \
pcre-dev liblzma-dev util-linux-uuid-dev python3-dev"

# Need avoid loop, rebuild after with libgudev-dev

# Use build host: gperf
case "$ARCH" in
    arm*) BUILD_DEPENDS="util-linux-blkid-dev kmod-dev acl-dev glib-dev"
esac

current_version()
{
    wget -O - $(dirname $WGET_URL) 2>/dev/null | \
    sed "/rc[0-9]/d;/$PACKAGE-[0-9]/!d;/tar/!d;s|.*$PACKAGE-\\(.*\\).tar.*\".*|\\1|" | sort -Vr | sed q
}

# Rules to configure and make the package.
compile_rules()
{
    case "$ARCH" in
        arm*) 
            # ARM Hack
            for la in libgthread-2.0.la libglib-2.0.la
            do
                if grep -q "^libdir='/usr/lib'" /usr/lib/${la}; then
                    sed -i s"#/usr/lib#/cross/$ARCH/sysroot/usr/lib#" \
                        /usr/lib/${la}
                fi 
            done ;;
    esac

    # Patch for gcc >= 6
    # see https://github.com/openwrt/packages/issues/2293
    patch -p1 < $stuff/udev-gcc6.patch

    # Patch for glibc >= 2.28
    # see https://svn.exactcode.de/t2/trunk/package/filesystem/udev/hotfix-glibc2.18.patch
    patch -p1 < $stuff/udev-glibc2.28.patch

    LDFLAGS='-lrt' ./configure \
        --exec-prefix="" \
        --with-rootprefix="" \
        --bindir=/sbin \
        --sysconfdir=/etc \
        --libexecdir=/lib \
        --disable-manpages \
        --disable-introspection \
        --disable-keymap \
        --enable-floppy \
        --enable-rule_generator \
        --with-pci-ids-path=/usr/share/misc/pci.ids.gz \
        --with-usb-ids-path=/usr/share/misc/usb.ids.gz \
        --with-systemdsystemunitdir=no \
        $CONFIGURE_ARGS &&
    make && make install
}

# Rules to gen a SliTaz package suitable for Tazpkg.
genpkg_rules()
{
    mkdir -p $fs/lib/firmware

    cp -a $install/sbin $fs
    cp -a $install/etc $fs
    cp -a $install/lib/libudev*so* $fs/lib
    cp -a $install/lib/udev $fs/lib

    # Have udevd in PATH
    mv $fs/lib/udev/udevd $fs/sbin

    # Copy rules files to udev conf dir
    mv -f $fs/lib/udev/rules.d $fs/etc/udev
    cp $stuff/udev.conf $fs/etc/udev
    cp $stuff/*.rules $fs/etc/udev/rules.d

    # Create some devices and directories that Udev cannot handle
    # due to them being required very early in the boot process
    mkdir -p $fs/lib/udev/devices/pts
    mkdir -p $fs/lib/udev/devices/shm
    mknod -m 0666 $fs/lib/udev/devices/null c 1 3

    # Fix permissions
    chmod +x $fs/lib/udev/*
    chown -R root.root $fs
}

list_udev_group()
{
    object=${2:-GROUP}
    grep $object "$1/etc/udev/rules.d/"* | \
    sed "s|.*$object=\"\([a-zA-Z0-9]*\)\".*|\1|" | sort | uniq
}

post_install()
{
    # Sanity check for udev+ldap boot
    list_udev_group "$1" GROUP | \
    while read x; do
        grep -q ^$x: "$1/etc/group" || chroot "$1/" addgroup -S $x
    done
    list_udev_group "$1" OWNER | \
    while read x; do
        grep -q ^$x: "$1/etc/passwd" || chroot "$1/" adduser -S -D -H $x
    done
}
6025 packages and 203154 files in current database (Thu Apr 25 06:17:47 2024)