Radix cross Linux

The main Radix cross Linux repository contains the build scripts of packages, which have the most complete and common functionality for desktop machines

452 Commits   2 Branches   1 Tag
Index: create.patch.sh
===================================================================
--- create.patch.sh	(nonexistent)
+++ create.patch.sh	(revision 5)
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+VERSION=3.2.10
+
+tar --files-from=file.list -xJvf ../eudev-$VERSION.tar.xz
+mv eudev-$VERSION eudev-$VERSION-orig
+
+cp -rf ./eudev-$VERSION-new ./eudev-$VERSION
+
+diff --unified -Nr  eudev-$VERSION-orig  eudev-$VERSION > eudev-$VERSION-ids-pl.patch
+
+mv eudev-$VERSION-ids-pl.patch ../patches
+
+rm -rf ./eudev-$VERSION
+rm -rf ./eudev-$VERSION-orig

Property changes on: create.patch.sh
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: eudev-3.2.10-new/configure.ac
===================================================================
--- eudev-3.2.10-new/configure.ac	(nonexistent)
+++ eudev-3.2.10-new/configure.ac	(revision 5)
@@ -0,0 +1,403 @@
+AC_PREREQ([2.68])
+AC_INIT([eudev],[3.2.10],[https://github.com/gentoo/eudev/issues])
+AC_SUBST(UDEV_VERSION, 243)
+AC_CONFIG_SRCDIR([src/udev/udevd.c])
+
+AC_USE_SYSTEM_EXTENSIONS
+AC_SYS_LARGEFILE
+AC_PREFIX_DEFAULT([/usr])
+
+AC_CONFIG_MACRO_DIR([m4])
+AC_CONFIG_HEADERS([config.h])
+
+AM_INIT_AUTOMAKE([foreign 1.11])
+AM_SILENT_RULES([yes])
+
+LT_PREREQ(2.2)
+LT_INIT
+
+# Checks for programs.
+AC_PROG_MKDIR_P
+AC_PROG_LN_S
+AC_PROG_SED
+AC_PROG_GREP
+AC_PROG_AWK
+
+AC_PROG_CC_C99
+AS_IF([test "x$ac_cv_prog_cc_c99" = "xno"], [
+        AC_MSG_ERROR([no C99 compiler found, $PACKAGE requires a C99 compiler.])
+])
+
+AC_PROG_CXX
+AC_PROG_CPP
+AC_PROG_INSTALL
+AC_PROG_LN_S
+AC_PROG_MAKE_SET
+
+AC_PATH_PROG([M4], [m4])
+
+# Checks for header files.
+AC_CHECK_HEADERS(
+        [arpa/inet.h fcntl.h inttypes.h limits.h locale.h \
+         netinet/in.h sys/ioctl.h sys/mount.h \
+         sys/param.h sys/socket.h sys/statvfs.h sys/time.h sys/vfs.h syslog.h \
+         termios.h unistd.h],
+        [],
+        [AC_MSG_ERROR([*** POSIX header not found])]
+)
+
+AC_CHECK_HEADERS(
+        [mtd/mtd-user.h],
+        [],
+        [AC_MSG_ERROR([*** KERNEL header not found])]
+)
+
+AC_CHECK_HEADERS(
+        [linux/btrfs.h],
+        [],
+        [AC_MSG_WARN([*** KERNEL header not found])]
+)
+
+# Checks for typedefs, structures, and compiler characteristics.
+AC_TYPE_UID_T
+AC_C_INLINE
+AC_TYPE_MODE_T
+AC_TYPE_PID_T
+AC_CHECK_MEMBERS([struct stat.st_rdev])
+AC_CHECK_DECLS([getrandom, gettid, name_to_handle_at, accept4, mkostemp, ppoll, strndupa], [], [],
+[[#include <fcntl.h>
+#include <linux/random.h>
+#include <poll.h>
+#include <signal.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/mount.h>
+#include <sys/socket.h>
+#include <sys/types.h>
+#include <unistd.h>]])
+
+AC_CHECK_SIZEOF(pid_t)
+AC_CHECK_SIZEOF(uid_t)
+AC_CHECK_SIZEOF(gid_t)
+AC_CHECK_SIZEOF(dev_t)
+AC_CHECK_SIZEOF(time_t)
+AC_CHECK_SIZEOF(rlim_t,,[[
+#include <sys/time.h>
+#include <sys/resource.h>]])
+
+# Checks for library functions.
+AC_FUNC_CHOWN
+AC_FUNC_FORK
+AC_FUNC_FSEEKO
+AC_FUNC_GETGROUPS
+AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK
+AC_HEADER_MAJOR
+AC_FUNC_MMAP
+
+AC_CHECK_FUNCS(
+        [alarm dup2 ftruncate localtime_r mempcpy \
+         mkdir munmap nl_langinfo rmdir setlocale socket stpcpy \
+         uname],
+        [],
+        [AC_MSG_ERROR([*** POSIX function not found])]
+)
+AC_SEARCH_LIBS([clock_gettime], [rt], [], [AC_MSG_ERROR([*** POSIX librt not found])])
+LT_LIB_M
+
+# ------------------------------------------------------------------------------
+
+# TODO: the old python checks are irrelevant, but we do need python and perl for tests
+
+# ------------------------------------------------------------------------------
+# Set paths here
+
+AC_ARG_WITH(
+        [rootprefix],
+        [AS_HELP_STRING(
+                [--with-rootprefix=DIR],
+                [rootfs directory prefix for config files and kernel modules])],
+        [],
+        [with_rootprefix="\${prefix}"]
+)
+
+AC_ARG_WITH(
+        [rootlibdir],
+        [AS_HELP_STRING(
+                [--with-rootlibdir=DIR],
+                [Root directory for libraries necessary for boot])],
+        [],
+        [with_rootlibdir=${libdir}]
+)
+
+AC_ARG_WITH(
+        [rootlibexecdir],
+        [AS_HELP_STRING(
+                [--with-rootlibexecdir=DIR],
+                [Root directory for libexecs necessary for boot])],
+        [],
+        [with_rootlibexecdir=${with_rootlibdir}/udev]
+)
+
+AC_ARG_WITH(
+        [rootrundir],
+        [AS_HELP_STRING(
+                [--with-rootrundir=DIR],
+                [Configurable path for /run])],
+        [],
+        [with_rootrundir=/run]
+)
+
+AC_ARG_ENABLE(
+        [split-usr],
+        [AS_HELP_STRING(
+                [--enable-split-usr],
+                [Include hard-coded default search paths in / and /usr])],
+        [],
+        [AS_IF(
+                [test "x${ac_default_prefix}" != "x${with_rootprefix}" && test "x${with_rootprefix}" != "x\${prefix}"],
+                [enable_split_usr=yes],
+                [enable_split_usr=no])]
+)
+
+AS_IF(
+        [test "x${enable_split_usr}" = "xyes"],
+        [AC_DEFINE(HAVE_SPLIT_USR, 1, [Define to include hard-coded default search paths in / and /usr])]
+)
+
+# Configured paths
+AC_SUBST([rootprefix], [${with_rootprefix}])
+AC_SUBST([rootlibdir], [${with_rootlibdir}])
+AC_SUBST([rootlibexecdir], [${with_rootlibexecdir}])
+AC_SUBST([udevlibexecdir], [${rootlibexecdir}])
+
+# sysconfdir paths
+AC_SUBST([udevconfdir],[${sysconfdir}/udev])
+AC_SUBST([udevconffile],[${udevconfdir}/udev.conf])
+AC_SUBST([udevhwdbdir],[${udevconfdir}/hwdb.d])
+AC_SUBST([udevhwdbbin],[${udevconfdir}/hwdb.bin])
+
+# udevlibexecdir paths
+AC_SUBST([udevkeymapdir],[${udevlibexecdir}/keymaps])
+AC_SUBST([udevkeymapforceredir],[${udevkeymapdir}/force-release])
+AC_SUBST([udevrulesdir],[${udevlibexecdir}/rules.d])
+
+# pkgconfigdir paths
+AC_SUBST([pkgconfiglibdir], [${libdir}/pkgconfig])
+AC_SUBST([sharepkgconfigdir],[${datadir}/pkgconfig])
+
+AC_SUBST([rootrundir],[${with_rootrundir}])
+
+# ------------------------------------------------------------------------------
+AC_ARG_ENABLE([programs],
+        AS_HELP_STRING([--disable-programs], [disable programs (udevd, udevadm and helpers)]),
+        [], [enable_programs="yes"])
+AM_CONDITIONAL([ENABLE_PROGRAMS], [test "x$enable_programs" = "xyes"])
+
+# ------------------------------------------------------------------------------
+have_blkid=no
+AC_ARG_ENABLE(blkid, AS_HELP_STRING([--disable-blkid], [Disable optional blkid support]))
+if test "x$enable_blkid" != "xno"; then
+        PKG_CHECK_MODULES([BLKID], [blkid >= 2.20],
+                [AC_DEFINE(HAVE_BLKID, 1, [Define if blkid is available]) have_blkid=yes], have_blkid=no)
+        if test "x$have_blkid" = xno && test "x$enable_blkid" = xyes; then
+                AC_MSG_ERROR([*** blkid support requested but not found])
+        fi
+fi
+AM_CONDITIONAL(HAVE_BLKID, [test "x$have_blkid" = "xyes"])
+
+# ------------------------------------------------------------------------------
+have_selinux=no
+AC_ARG_ENABLE(selinux, AS_HELP_STRING([--disable-selinux], [Disable optional SELINUX support]))
+if test "x$enable_selinux" != "xno"; then
+        PKG_CHECK_MODULES([SELINUX], [libselinux >= 2.1.9],
+                [AC_DEFINE(HAVE_SELINUX, 1, [Define if SELinux is available]) have_selinux=yes], have_selinux=no)
+        if test "x$have_selinux" = xno && test "x$enable_selinux" = xyes; then
+                AC_MSG_ERROR([*** SELinux support requested but libraries not found])
+        fi
+fi
+AM_CONDITIONAL(HAVE_SELINUX, [test "$have_selinux" = "yes"])
+if test "x${have_selinux}" != xno ; then
+        sushell=/sbin/sushell
+else
+        sushell=/bin/bash
+fi
+AC_SUBST(sushell)
+
+# selinux-util.c uses struct mallinfo which is not available for all C libraries (musl).
+AC_CHECK_FUNCS([mallinfo])
+
+# ------------------------------------------------------------------------------
+
+AC_CHECK_DECL([unshare],
+        [AC_DEFINE(HAVE_UNSHARE, 1, [Define if unshare is declared])],
+        [AC_CHECK_DECL([SYS_unshare],
+                [ ] ,
+                [AC_MSG_ERROR([*** unshare nor SYS_unshare found.])],
+                [#include <syscall.h>])],
+        [#include <sched.h>])
+
+# ------------------------------------------------------------------------------
+AC_PATH_TOOL(GPERF, gperf)
+if test -z "$GPERF" ; then
+        AC_MSG_ERROR([*** gperf not found])
+fi
+
+# ------------------------------------------------------------------------------
+AC_ARG_ENABLE([manpages], AS_HELP_STRING([--disable-manpages],[disable manpages]),[],[enable_manpages=no])
+AM_CONDITIONAL(ENABLE_MANPAGES, [test "x$enable_manpages" = "xyes"])
+
+# ------------------------------------------------------------------------------
+if test "x$cross_compiling" = "xno" ; then
+       AC_CHECK_FILES([/usr/share/pci.ids], [pciids=/usr/share/pci.ids])
+       AC_CHECK_FILES([/usr/share/hwdata/pci.ids], [pciids=/usr/share/hwdata/pci.ids])
+       AC_CHECK_FILES([/usr/share/misc/pci.ids], [pciids=/usr/share/misc/pci.ids])
+fi
+
+AC_ARG_WITH(usb-ids-path,
+       [AS_HELP_STRING([--with-usb-ids-path=DIR], [Path to usb.ids file])],
+       [USB_IDS_PATH=${withval} ; USB_IDS="${USB_IDS_PATH}/usb.ids" ],
+       [if test -n "$usdids" ; then
+              USB_IDS="$usbids"
+       else
+              PKG_CHECK_MODULES(USBUTILS, usbutils >= 0.82)
+              AC_SUBST([USB_IDS], [$($PKG_CONFIG --variable=usbids usbutils)])
+       fi])
+if test -z "$USB_IDS" ; then
+  USB_IDS_PATH="${udevhwdbdir}"
+  USB_IDS="usb.ids"
+fi
+AC_MSG_CHECKING([for USB IDs database location])
+AC_MSG_RESULT([$USB_IDS])
+AC_SUBST(USB_IDS)
+
+AC_ARG_WITH(pci-ids-path,
+       [AS_HELP_STRING([--with-pci-ids-path=DIR], [Path to pci.ids file])],
+       [PCI_IDS_PATH=${withval} ; PCI_IDS="${PCI_IDS_PATH}/pci.ids" ],
+       [if test -n "$pciids" ; then
+              PCI_IDS="$pciids"
+       else
+              PCI_IDS="pci.ids"
+       fi])
+AC_MSG_CHECKING([for PCI IDs database location])
+AC_MSG_RESULT([$PCI_IDS])
+AC_SUBST(PCI_IDS)
+
+AC_ARG_WITH(misc-ids-path,
+       [AS_HELP_STRING([--with-misc-ids-path=DIR], [Path to unique ids files])],
+       [MISC_IDS_PATH=${withval}], [MISC_IDS_PATH="/usr/share/hwdata"])
+AC_MSG_CHECKING([for MISC IDs database location])
+AC_MSG_RESULT([$MISC_IDS_PATH])
+AC_SUBST(MISC_IDS_PATH)
+
+AC_ARG_ENABLE(update-ids-script,
+       AS_HELP_STRING(--disable-update-ids-script, [disable installing update-udev-ids.pl @<:@default=install@:>@]))
+AM_CONDITIONAL([INSTALL_UPDATE_IDS_SCRIPT], [test "x$enable_update_ids_script" != "xno"])
+
+# ------------------------------------------------------------------------------
+have_kmod=no
+AC_ARG_ENABLE(kmod, AS_HELP_STRING([--disable-kmod], [disable loadable modules support]))
+if test "x$enable_kmod" != "xno"; then
+        PKG_CHECK_EXISTS([ libkmod ], have_kmod=yes, have_kmod=no)
+        if test "x$have_kmod" = "xyes"; then
+                PKG_CHECK_MODULES(KMOD, [ libkmod >= 15 ],
+                        [AC_DEFINE(HAVE_KMOD, 1, [Define if kmod is available])],
+                        AC_MSG_ERROR([*** kmod version >= 15 not found]))
+        fi
+        if test "x$have_kmod" = xno && test "x$enable_kmod" = xyes; then
+                AC_MSG_ERROR([*** kmod support requested, but libraries not found])
+        fi
+fi
+AM_CONDITIONAL(HAVE_KMOD, [test "$have_kmod" = "yes"])
+
+# ------------------------------------------------------------------------------
+
+AC_ARG_ENABLE([hwdb], AS_HELP_STRING([--enable-hwdb],[install hwdb.d files]),[],[enable_hwdb=yes])
+AM_CONDITIONAL(ENABLE_HWDB, [test "x$enable_hwdb" = "xyes"])
+
+# ------------------------------------------------------------------------------
+# rule-generator - persistent network and optical device rule generator
+# ------------------------------------------------------------------------------
+AC_ARG_ENABLE([rule-generator],
+        AS_HELP_STRING([--enable-rule-generator], [enable legacy persistent network, cdrom support]),
+        [], [enable_rule_generator=no])
+
+if test "x${enable_rule_generator}" != xno; then
+        AC_DEFINE([ENABLE_RULE_GENERATOR], [1], [Define if we are enabling rule generator])
+fi
+
+AM_CONDITIONAL([ENABLE_RULE_GENERATOR], [test "x$enable_rule_generator" = xyes])
+
+# ------------------------------------------------------------------------------
+# mtd_probe - autoloads FTL module for mtd devices
+# ------------------------------------------------------------------------------
+AC_ARG_ENABLE([mtd_probe],
+        AS_HELP_STRING([--disable-mtd_probe], [disable MTD support]),
+        [], [enable_mtd_probe=yes])
+AM_CONDITIONAL([ENABLE_MTD_PROBE], [test "x$enable_mtd_probe" = xyes])
+
+# ------------------------------------------------------------------------------
+
+AC_CONFIG_FILES([Makefile
+                 hwdb/Makefile
+                 hwdb/ids-update.pl
+                 man/Makefile
+                 rule_generator/Makefile
+                 rule_generator/write_net_rules
+                 rules/Makefile
+                 src/Makefile
+                 src/ata_id/Makefile
+                 src/cdrom_id/Makefile
+                 src/collect/Makefile
+                 src/mtd_probe/Makefile
+                 src/scsi_id/Makefile
+                 src/v4l_id/Makefile
+                 src/shared/Makefile
+                 src/libudev/Makefile
+                 src/libudev/libudev.pc
+                 src/udev/Makefile
+                 src/udev/udev.pc
+                 test/Makefile], [chmod a+x hwdb/ids-update.pl])
+
+AC_OUTPUT
+
+# ------------------------------------------------------------------------------
+
+AC_MSG_RESULT([
+        prefix:                  ${prefix}
+        exec_prefix:             ${exec_prefix}
+        sysconfdir:              ${sysconfdir}
+        datadir:                 ${datadir}
+        includedir:              ${includedir}
+        bindir:                  ${bindir}
+        libdir:                  ${libdir}
+
+        rootprefix:              ${rootprefix}
+        rootlibdir:              ${rootlibdir}
+        rootlibexecdir:          ${rootlibexecdir}
+        datarootdir:             ${datarootdir}
+        rootrundir:              ${rootrundir}
+
+        udevconfdir:             ${udevconfdir}
+        udevconffile:            ${udevconffile}
+        udevhwdbdir:             ${udevhwdbdir}
+        udevhwdbbin:             ${udevhwdbbin}
+        udevlibexecdir:          ${udevlibexecdir}
+        udevkeymapdir:           ${udevkeymapdir}
+        udevkeymapforceredir:    ${udevkeymapforceredir}
+        udevrulesdir:            ${udevrulesdir}
+
+        pkgconfiglibdir:         ${libdir}/pkgconfig
+        sharepkgconfigdir        ${datadir}/pkgconfig
+])
+
+# ------------------------------------------------------------------------------
+
+dnl Set configured scripts executable
+if test -f  src/keymap/check-keymaps.sh; then
+        chmod +x src/keymap/check-keymaps.sh
+fi
+
+if test -f src/keymap/keyboard-force-release.sh; then
+        chmod +x src/keymap/keyboard-force-release.sh
+fi
+
Index: eudev-3.2.10-new/hwdb/Makefile.am
===================================================================
--- eudev-3.2.10-new/hwdb/Makefile.am	(nonexistent)
+++ eudev-3.2.10-new/hwdb/Makefile.am	(revision 5)
@@ -0,0 +1,30 @@
+ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS}
+
+dist_udevhwdb_DATA = \
+	20-OUI.hwdb \
+	20-acpi-vendor.hwdb \
+	20-bluetooth-vendor-product.hwdb \
+	20-net-ifname.hwdb \
+	20-pci-classes.hwdb \
+	20-pci-vendor-model.hwdb \
+	20-sdio-classes.hwdb \
+	20-sdio-vendor-model.hwdb \
+	20-usb-classes.hwdb \
+	20-usb-vendor-model.hwdb \
+	20-vmbus-class.hwdb \
+	60-evdev.hwdb \
+	60-keyboard.hwdb \
+	60-sensor.hwdb \
+	70-mouse.hwdb \
+	70-pointingstick.hwdb \
+	70-touchpad.hwdb
+
+sbin_SCRIPTS =
+
+if INSTALL_UPDATE_IDS_SCRIPT
+sbin_SCRIPTS += update-udev-ids.pl
+
+update-udev-ids.pl: ids-update.pl
+	cp $< $@
+	chmod 755 $@
+endif
Index: eudev-3.2.10-new/hwdb/ids-update.pl.in
===================================================================
--- eudev-3.2.10-new/hwdb/ids-update.pl.in	(nonexistent)
+++ eudev-3.2.10-new/hwdb/ids-update.pl.in	(revision 5)
@@ -0,0 +1,375 @@
+#!/usr/bin/perl
+
+use strict;
+use warnings;
+
+sub usb_vendor {
+        my $vendor;
+
+        open(IN, "<", "@USB_IDS@");
+        open(OUT, ">", "@udevhwdbdir@/20-usb-vendor-model.hwdb");
+        print(OUT "# This file is part of systemd.\n" .
+                  "#\n" .
+                  "# Data imported from: http://www.linux-usb.org/usb.ids\n");
+
+        while (my $line = <IN>) {
+                $line =~ s/\s+$//;
+                $line =~ m/^([0-9a-f]{4})\s*(.+)$/;
+                if (defined $1) {
+                        $vendor = uc $1;
+                        my $text = $2;
+                        print(OUT "\n");
+                        print(OUT "usb:v" . $vendor . "*\n");
+                        print(OUT " ID_VENDOR_FROM_DATABASE=" . $text . "\n");
+                        next;
+                }
+
+                $line =~ m/^\t([0-9a-f]{4})\s*(.+)$/;
+                if (defined $1) {
+                        my $model = uc $1;
+                        my $text = $2;
+                        print(OUT "\n");
+                        print(OUT "usb:v" . $vendor . "p" . $model . "*\n");
+                        print(OUT " ID_MODEL_FROM_DATABASE=" . $text . "\n");
+                }
+        }
+
+        close(IN);
+        close(OUT);
+}
+
+sub usb_classes {
+        my $class;
+        my $subclass;
+        my $protocol;
+
+        open(IN, "<", "@USB_IDS@");
+        open(OUT, ">", "@udevhwdbdir@/20-usb-classes.hwdb");
+        print(OUT "# This file is part of systemd.\n" .
+                  "#\n" .
+                  "# Data imported from: http://www.linux-usb.org/usb.ids\n");
+
+        while (my $line = <IN>) {
+                $line =~ s/\s+$//;
+
+                $line =~ m/^C\ ([0-9a-f]{2})\s*(.+)$/;
+                if (defined $1) {
+                        $class = uc $1;
+                        if ($class =~ m/^00$/) {
+                                next;
+                        }
+                        my $text = $2;
+                        print(OUT "\n");
+                        print(OUT "usb:v*p*d*dc" . $class . "*\n");
+                        print(OUT " ID_USB_CLASS_FROM_DATABASE=" . $text . "\n");
+                        next;
+                }
+
+                if (not defined $class) {
+                        next;
+                } elsif ($line =~ m/^$/) {
+                        last;
+                }
+
+                $line =~ m/^\t([0-9a-f]{2})\s*(.+)$/;
+                if (defined $1) {
+                        $subclass = uc $1;
+                        if ($subclass =~ m/^00$/) {
+                                next;
+                        }
+                        my $text = $2;
+                        if ($text =~ m/^(\?|None|Unused)$/) {
+                                next;
+                        }
+                        print(OUT "\n");
+                        print(OUT "usb:v*p*d*dc" . $class . "dsc" . $subclass . "*\n");
+                        print(OUT " ID_USB_SUBCLASS_FROM_DATABASE=" . $text . "\n");
+                        next;
+                }
+
+                $line =~ m/^\t\t([0-9a-f]{2})\s*(.+)$/;
+                if (defined $1) {
+                        $protocol = uc $1;
+                        my $text = $2;
+                        if ($text =~ m/^(\?|None|Unused)$/) {
+                                next;
+                        }
+                        print(OUT "\n");
+                        print(OUT "usb:v*p*d*dc" .  $class . "dsc" . $subclass . "dp" . $protocol . "*\n");
+                        print(OUT " ID_USB_PROTOCOL_FROM_DATABASE=" . $text . "\n");
+                }
+        }
+
+        close(IN);
+        close(OUT);
+}
+
+sub pci_vendor {
+        my $vendor;
+        my $device;
+        my $device_text;
+
+        open(IN, "<", "@PCI_IDS@");
+        open(OUT, ">", "@udevhwdbdir@/20-pci-vendor-model.hwdb");
+        print(OUT "# This file is part of systemd.\n" .
+                  "#\n" .
+                  "# Data imported from: http://pci-ids.ucw.cz/v2.2/pci.ids\n");
+
+        while (my $line = <IN>) {
+                $line =~ s/\s+$//;
+                $line =~ m/^([0-9a-f]{4})\s*(.+)$/;
+
+                if (defined $1) {
+                        $vendor = uc $1;
+                        my $text = $2;
+                        print(OUT "\n");
+                        print(OUT "pci:v0000" . $vendor . "*\n");
+                        print(OUT " ID_VENDOR_FROM_DATABASE=" . $text . "\n");
+                        next;
+                }
+
+                $line =~ m/^\t([0-9a-f]{4})\s*(.+)$/;
+                if (defined $1) {
+                        $device = uc $1;
+                        $device_text = $2;
+                        print(OUT "\n");
+                        print(OUT "pci:v0000" . $vendor . "d0000" . $device . "*\n");
+                        print(OUT " ID_MODEL_FROM_DATABASE=" . $device_text . "\n");
+                        next;
+                }
+
+                $line =~ m/^\t\t([0-9a-f]{4})\s*([0-9a-f]{4})\s*(.*)$/;
+                if (defined $1) {
+                        my $sub_vendor = uc $1;
+                        my $sub_device = uc $2;
+                        my $sub_text = $3;
+                        $sub_text =~ s/^\Q$device_text\E\s*//;
+                        $sub_text =~ s/(.+)/\ ($1)/;
+                        print(OUT "\n");
+                        print(OUT "pci:v0000" . $vendor . "d0000" . $device . "sv0000" . $sub_vendor . "sd0000" . $sub_device . "*\n");
+                        print(OUT " ID_MODEL_FROM_DATABASE=" . $device_text . $sub_text . "\n");
+                }
+        }
+
+        close(IN);
+        close(OUT);
+}
+
+sub pci_classes {
+        my $class;
+        my $subclass;
+        my $interface;
+
+        open(IN, "<", "@PCI_IDS@");
+        open(OUT, ">", "@udevhwdbdir@/20-pci-classes.hwdb");
+        print(OUT "# This file is part of systemd.\n" .
+                  "#\n" .
+                  "# Data imported from: http://pci-ids.ucw.cz/v2.2/pci.ids\n");
+
+        while (my $line = <IN>) {
+                $line =~ s/\s+$//;
+
+                $line =~ m/^C\ ([0-9a-f]{2})\s*(.+)$/;
+                if (defined $1) {
+                        $class = uc $1;
+                        my $text = $2;
+                        print(OUT "\n");
+                        print(OUT "pci:v*d*sv*sd*bc" . $class . "*\n");
+                        print(OUT " ID_PCI_CLASS_FROM_DATABASE=" . $text . "\n");
+                        next;
+                }
+
+                if (not defined $class) {
+                        next;
+                } elsif ($line =~ m/^$/) {
+                        last;
+                }
+
+                $line =~ m/^\t([0-9a-f]{2})\s*(.+)$/;
+                if (defined $1) {
+                        $subclass = uc $1;
+                        my $text = $2;
+                        print(OUT "\n");
+                        print(OUT "pci:v*d*sv*sd*bc" . $class . "sc" . $subclass . "*\n");
+                        print(OUT " ID_PCI_SUBCLASS_FROM_DATABASE=" . $text . "\n");
+                        next;
+                }
+
+                $line =~ m/^\t\t([0-9a-f]{2})\s*(.+)$/;
+                if (defined $1) {
+                        $interface = uc $1;
+                        my $text = $2;
+                        print(OUT "\n");
+                        print(OUT "pci:v*d*sv*sd*bc" .  $class . "sc" . $subclass . "i" . $interface . "*\n");
+                        print(OUT " ID_PCI_INTERFACE_FROM_DATABASE=" . $text . "\n");
+                }
+        }
+
+        close(IN);
+        close(OUT);
+}
+
+sub sdio_vendor {
+        my $vendor;
+        my $device;
+
+        open(IN, "<", "@MISC_IDS_PATH@/sdio.ids");
+        open(OUT, ">", "@udevhwdbdir@/20-sdio-vendor-model.hwdb");
+        print(OUT "# This file is part of systemd.\n" .
+                  "#\n" .
+                  "# Data imported from: hwdb/sdio.ids\n");
+
+        while (my $line = <IN>) {
+                $line =~ s/\s+$//;
+                $line =~ m/^([0-9a-f]{4})\s*(.+)$/;
+
+                if (defined $1) {
+                        $vendor = uc $1;
+                        my $text = $2;
+                        print(OUT "\n");
+                        print(OUT "sdio:c*v" . $vendor . "*\n");
+                        print(OUT " ID_VENDOR_FROM_DATABASE=" . $text . "\n");
+                        next;
+                }
+
+                $line =~ m/^\t([0-9a-f]{4})\s*(.+)$/;
+                if (defined $1) {
+                        $device = uc $1;
+                        my $text = $2;
+                        print(OUT "\n");
+                        print(OUT "sdio:c*v" . $vendor . "d" . $device . "*\n");
+                        print(OUT " ID_MODEL_FROM_DATABASE=" . $text . "\n");
+                        next;
+                }
+        }
+
+        close(IN);
+        close(OUT);
+}
+
+sub sdio_classes {
+        my $class;
+        my $subclass;
+        my $interface;
+
+        open(IN, "<", "@MISC_IDS_PATH@/sdio.ids");
+        open(OUT, ">", "@udevhwdbdir@/20-sdio-classes.hwdb");
+        print(OUT "# This file is part of systemd.\n" .
+                  "#\n" .
+                  "# Data imported from: hwdb/sdio.ids\n");
+
+        while (my $line = <IN>) {
+                $line =~ s/\s+$//;
+
+                $line =~ m/^C\ ([0-9a-f]{2})\s*(.+)$/;
+                if (defined $1) {
+                        $class = uc $1;
+                        my $text = $2;
+                        print(OUT "\n");
+                        print(OUT "sdio:c" . $class . "v*d*\n");
+                        print(OUT " ID_SDIO_CLASS_FROM_DATABASE=" . $text . "\n");
+                        next;
+                }
+        }
+
+        close(IN);
+        close(OUT);
+}
+
+# MAC Address Block Large/Medium/Small
+# Large  MA-L 24/24 bit (OUI)
+# Medium MA-M 28/20 bit (OUI prefix owned by IEEE)
+# Small  MA-S 36/12 bit (OUI prefix owned by IEEE)
+sub oui {
+        my $prefix;
+        my %ieee_prefixes = ();
+
+        open(OUT, ">", "@udevhwdbdir@/20-OUI.hwdb");
+        print(OUT "# This file is part of systemd.\n" .
+                  "#\n" .
+                  "# Data imported from:\n" .
+                  "#   https://services13.ieee.org/RST/standards-ra-web/rest/assignments/download/?registry=MA-L&format=txt\n" .
+                  "#   https://services13.ieee.org/RST/standards-ra-web/rest/assignments/download/?registry=MA-M&format=txt\n" .
+                  "#   https://services13.ieee.org/RST/standards-ra-web/rest/assignments/download/?registry=MA-S&format=txt\n");
+
+        open(IN, "<", "@MISC_IDS_PATH@/ma-small.txt");
+        while (my $line = <IN>) {
+                $line =~ s/^ +//;
+                $line =~ s/\s+$//;
+                $line =~ m/^([0-9A-F]{2})-([0-9A-F]{2})-([0-9A-F]{2})\s*\(hex\)\s*.+$/;
+                if (defined $1) {
+                        $prefix = $1 . $2 . $3;
+                        $ieee_prefixes{ $prefix } = 1;
+                        next;
+                }
+
+                $line =~ m/^([0-9A-F]{3})000-\g1FFF\s*\(base 16\)\s*(.+)$/;
+                if (defined $1) {
+                        my $vendor = uc $1;
+                        my $text = $2;
+
+                        print(OUT "\n");
+                        print(OUT "OUI:" . $prefix . $vendor . "*\n");
+                        print(OUT " ID_OUI_FROM_DATABASE=" . $text . "\n");
+                }
+        }
+        close(IN);
+
+        open(IN, "<", "@MISC_IDS_PATH@/ma-medium.txt");
+        while (my $line = <IN>) {
+                $line =~ s/^ +//;
+                $line =~ s/\s+$//;
+                $line =~ m/^([0-9A-F]{2})-([0-9A-F]{2})-([0-9A-F]{2})\s*\(hex\)\s*.+$/;
+                if (defined $1) {
+                        $prefix = $1 . $2 . $3;
+                        $ieee_prefixes{ $prefix } = 1;
+                        next;
+                }
+
+                $line =~ m/^([0-9A-F])00000-\g1FFFFF\s*\(base 16\)\s*(.+)$/;
+                if (defined $1) {
+                        my $vendor = uc $1;
+                        my $text = $2;
+
+                        print(OUT "\n");
+                        print(OUT "OUI:" . $prefix . $vendor . "*\n");
+                        print(OUT " ID_OUI_FROM_DATABASE=" . $text . "\n");
+                }
+        }
+
+        open(IN, "<", "@MISC_IDS_PATH@/ma-large.txt");
+        while (my $line = <IN>) {
+                $line =~ s/^ +//;
+                $line =~ s/\s+$//;
+                $line =~ m/^([0-9A-F]{6})\s*\(base 16\)\s*(.+)$/;
+                if (defined $1) {
+                        my $vendor = uc $1;
+                        my $text = $2;
+
+                        if ($text =~ m/^IEEE REGISTRATION AUTHORITY/) {
+                                next;
+                        }
+
+                        # skip the IEEE owned prefixes
+                        if (! exists $ieee_prefixes{ $vendor }) {
+                                print(OUT "\n");
+                                print(OUT "OUI:" . $vendor . "*\n");
+                                print(OUT " ID_OUI_FROM_DATABASE=" . $text . "\n");
+                        }
+                }
+        }
+        close(IN);
+
+        close(OUT);
+}
+
+usb_vendor();
+usb_classes();
+
+pci_vendor();
+pci_classes();
+
+sdio_vendor();
+sdio_classes();
+
+oui();
Index: eudev-3.2.10-new/hwdb
===================================================================
--- eudev-3.2.10-new/hwdb	(nonexistent)
+++ eudev-3.2.10-new/hwdb	(revision 5)

Property changes on: eudev-3.2.10-new/hwdb
___________________________________________________________________
Added: svn:ignore
## -0,0 +1,73 ##
+
+# install dir
+dist
+
+# Target build dirs
+.a1x-newlib
+.a2x-newlib
+.at91sam7s-newlib
+
+.build-machine
+
+.a1x-glibc
+.a2x-glibc
+.h3-glibc
+.h5-glibc
+.i586-glibc
+.i686-glibc
+.imx6-glibc
+.jz47xx-glibc
+.makefile
+.am335x-glibc
+.omap543x-glibc
+.p5600-glibc
+.power8-glibc
+.power8le-glibc
+.power9-glibc
+.power9le-glibc
+.m1000-glibc
+.riscv64-glibc
+.rk328x-glibc
+.rk33xx-glibc
+.rk339x-glibc
+.s8xx-glibc
+.s9xx-glibc
+.x86_64-glibc
+
+# Hidden files (each file)
+.makefile
+.dist
+.rootfs
+
+# src & hw requires
+.src_requires
+.src_requires_depend
+.requires
+.requires_depend
+
+# Tarballs
+*.gz
+*.bz2
+*.lz
+*.xz
+*.tgz
+*.txz
+
+# Signatures
+*.asc
+*.sig
+*.sign
+*.sha1sum
+
+# Patches
+*.patch
+
+# Descriptions
+*.dsc
+*.txt
+
+# Default linux config files
+*.defconfig
+
+# backup copies
+*~
Index: eudev-3.2.10-new
===================================================================
--- eudev-3.2.10-new	(nonexistent)
+++ eudev-3.2.10-new	(revision 5)

Property changes on: eudev-3.2.10-new
___________________________________________________________________
Added: svn:ignore
## -0,0 +1,73 ##
+
+# install dir
+dist
+
+# Target build dirs
+.a1x-newlib
+.a2x-newlib
+.at91sam7s-newlib
+
+.build-machine
+
+.a1x-glibc
+.a2x-glibc
+.h3-glibc
+.h5-glibc
+.i586-glibc
+.i686-glibc
+.imx6-glibc
+.jz47xx-glibc
+.makefile
+.am335x-glibc
+.omap543x-glibc
+.p5600-glibc
+.power8-glibc
+.power8le-glibc
+.power9-glibc
+.power9le-glibc
+.m1000-glibc
+.riscv64-glibc
+.rk328x-glibc
+.rk33xx-glibc
+.rk339x-glibc
+.s8xx-glibc
+.s9xx-glibc
+.x86_64-glibc
+
+# Hidden files (each file)
+.makefile
+.dist
+.rootfs
+
+# src & hw requires
+.src_requires
+.src_requires_depend
+.requires
+.requires_depend
+
+# Tarballs
+*.gz
+*.bz2
+*.lz
+*.xz
+*.tgz
+*.txz
+
+# Signatures
+*.asc
+*.sig
+*.sign
+*.sha1sum
+
+# Patches
+*.patch
+
+# Descriptions
+*.dsc
+*.txt
+
+# Default linux config files
+*.defconfig
+
+# backup copies
+*~
Index: file.list
===================================================================
--- file.list	(nonexistent)
+++ file.list	(revision 5)
@@ -0,0 +1,3 @@
+eudev-3.2.10/configure.ac
+eudev-3.2.10/hwdb/Makefile.am
+eudev-3.2.10/hwdb/ids-update.pl
Index: .
===================================================================
--- .	(nonexistent)
+++ .	(revision 5)

Property changes on: .
___________________________________________________________________
Added: svn:ignore
## -0,0 +1,73 ##
+
+# install dir
+dist
+
+# Target build dirs
+.a1x-newlib
+.a2x-newlib
+.at91sam7s-newlib
+
+.build-machine
+
+.a1x-glibc
+.a2x-glibc
+.h3-glibc
+.h5-glibc
+.i586-glibc
+.i686-glibc
+.imx6-glibc
+.jz47xx-glibc
+.makefile
+.am335x-glibc
+.omap543x-glibc
+.p5600-glibc
+.power8-glibc
+.power8le-glibc
+.power9-glibc
+.power9le-glibc
+.m1000-glibc
+.riscv64-glibc
+.rk328x-glibc
+.rk33xx-glibc
+.rk339x-glibc
+.s8xx-glibc
+.s9xx-glibc
+.x86_64-glibc
+
+# Hidden files (each file)
+.makefile
+.dist
+.rootfs
+
+# src & hw requires
+.src_requires
+.src_requires_depend
+.requires
+.requires_depend
+
+# Tarballs
+*.gz
+*.bz2
+*.lz
+*.xz
+*.tgz
+*.txz
+
+# Signatures
+*.asc
+*.sig
+*.sign
+*.sha1sum
+
+# Patches
+*.patch
+
+# Descriptions
+*.dsc
+*.txt
+
+# Default linux config files
+*.defconfig
+
+# backup copies
+*~