Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: eudev-project/eudev
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v3.2.10
Choose a base ref
...
head repository: eudev-project/eudev
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v3.2.11
Choose a head ref
Loading
Showing with 50,474 additions and 3,703 deletions.
  1. +70 −0 .github/workflows/build.yml
  2. +2 −0 .gitignore
  3. +159 −0 BUILD
  4. +7 −12 CONTRIBUTING
  5. +18 −9 README.md
  6. +1 −1 autogen.sh
  7. +138 −138 configure.ac
  8. +16,653 −420 hwdb/20-OUI.hwdb
  9. +173 −5 hwdb/20-acpi-vendor.hwdb
  10. +3,623 −68 hwdb/20-bluetooth-vendor-product.hwdb
  11. +6 −0 hwdb/20-dmi-id.hwdb
  12. +12 −0 hwdb/20-pci-classes.hwdb
  13. +7,177 −451 hwdb/20-pci-vendor-model.hwdb
  14. +10,269 −195 hwdb/20-usb-vendor-model.hwdb
  15. +332 −0 hwdb/60-autosuspend-fingerprint-reader.hwdb
  16. +86 −0 hwdb/60-autosuspend.hwdb
  17. +184 −64 hwdb/60-evdev.hwdb
  18. +19 −18 hwdb/60-input-id.hwdb
  19. +587 −354 hwdb/60-keyboard.hwdb
  20. +36 −0 hwdb/60-seat.hwdb
  21. +444 −103 hwdb/60-sensor.hwdb
  22. +33 −0 hwdb/70-analyzers.hwdb
  23. +25 −0 hwdb/70-cameras.hwdb
  24. +223 −167 hwdb/70-mouse.hwdb
  25. +13 −7 hwdb/70-pointingstick.hwdb
  26. +1,366 −0 hwdb/80-ieee1394-unit-function.hwdb
  27. +11 −2 hwdb/Makefile.am
  28. +0 −375 hwdb/ids-update.pl
  29. +0 −245 hwdb/parse_hwdb.py
  30. +4,425 −524 hwdb/pci.ids
  31. +2 −1 hwdb/sdio.ids
  32. +4,013 −219 hwdb/usb.ids
  33. +1 −0 man/make.sh
  34. +2 −1 src/ata_id/ata_id.c
  35. +5 −1 src/mtd_probe/Makefile.am
  36. +13 −14 src/mtd_probe/mtd_probe.c
  37. +1 −1 src/mtd_probe/mtd_probe.h
  38. +22 −16 src/mtd_probe/probe_smartmedia.c
  39. +33 −33 src/scsi_id/scsi.h
  40. +29 −34 src/scsi_id/scsi_id.c
  41. +1 −1 src/scsi_id/scsi_id.h
  42. +88 −126 src/scsi_id/scsi_serial.c
  43. +2 −2 src/shared/conf-files.c
  44. +1 −4 src/shared/hashmap.h
  45. +2 −0 src/shared/missing.h
  46. +24 −16 src/shared/selinux-util.c
  47. +25 −23 src/shared/sparse-endian.h
  48. +9 −1 src/shared/util.c
  49. +1 −0 src/shared/util.h
  50. +1 −1 src/udev/Makefile.am
  51. +52 −39 src/udev/udev-event.c
  52. +18 −6 src/udev/udev-rules.c
  53. +13 −6 src/v4l_id/v4l_id.c
  54. +24 −0 test/udev-test.pl
70 changes: 70 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
# this can and should be optimized, the setup steps can be cached in docker,
# and that should be broken out, annoyingly, though, I can't do that with
# proper interjob dependency tracking without exposing tokens to third parties
# possibly
name: build

on:
push:
branches: '*'
pull_request:
branches: '*'

permissions:
contents: read

jobs:
build:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
distro: ['dyne/devuan:chimaera', 'alpine:latest']
container:
image: ${{ matrix.distro }}
steps:
- name: install prerequisites (alpine)
if: ${{ matrix.distro == 'alpine:latest' }}
run: >-
apk --no-cache add \
build-base \
gperf \
glib-dev \
linux-headers \
kmod-dev \
gobject-introspection-dev \
util-linux-dev \
perl \
autoconf \
libxslt \
automake \
tree
- name: install prerequisites (devuan)
if: ${{ matrix.distro == 'dyne/devuan:chimaera' }}
run: >-
apt-get update && apt-get install -y \
build-essential \
libblkid-dev \
libkmod-dev \
libselinux1-dev \
autoconf \
automake \
xsltproc \
gperf \
libglib-object-introspection-perl \
libglib2.0-dev \
linux-headers-amd64 \
libtool \
tree
- name: checkout
uses: actions/checkout@v2
- name: generate configure script
run: ./autogen.sh
- name: configure
run: ./configure
- name: make
run: make -j$(($(nproc)+1))
- name: check
run: make check || cat test/udev-test.pl.log
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -13,6 +13,7 @@ autom4te.cache
compile
config.*
configure
configure~
libtool
stamp-h1

@@ -57,3 +58,4 @@ test/udev-test.pl.log
test/udev-test.pl.trs

eudev-*.tar.gz
eudev-*.tar.gz.asc
159 changes: 159 additions & 0 deletions BUILD
Original file line number Diff line number Diff line change
@@ -0,0 +1,159 @@
Building eudev
==============

The following instructions provide the steps needed to acquire and build the
eudev software on different Linux distributions. Similar instructions apply to
other distributions, not included here, though the package names and the syntax
of the package manager may vary.

Please note that command examples in this document use the following convention.
Commands prefixed by a "$" symbol are to be run as a regular, user. Commands
with a "#" prefix need to be run as the root user. If your user has sudo access
then sudo may be used instead of logging into the root account.


1. Installing dependencies
==========================

The first thing we need to do is install the dependencies required to build
eudev. This can be accomplished by running the following commands depending on
the Linux distribution:


1.1. Alpine
-----------

# apk --no-cache add \
autoconf \
automake \
build-base \
glib-dev \
gobject-introspection-dev \
gperf \
kmod-dev \
libxslt \
linux-headers \
perl \
util-linux-dev


1.2. ArchLinux
--------------

# pacman -S --needed \
autoconf \
automake \
gawk \
gcc \
glib2 \
gperf \
kmod \
libxslt \
libtool \
linux-headers \
m4 \
make \
sed \
util-linux


1.3. Debian/Devuan/Ubuntu or other derivatives
----------------------------------------------

# apt-get update && apt-get install \
autoconf \
automake \
build-essential \
docbook-xml \
docbook-xsl \
gnu-efi \
gobject-introspection \
gperf \
intltool \
libacl1-dev \
libblkid-dev \
libcap-dev \
libglib-object-introspection-perl \
libkmod-dev \
libselinux1-dev \
libtool \
m4 \
pkg-config \
xsltproc


1.4. Gentoo
-----------

# TODO


2. Downloading the source code
==============================

There are two common approaches to downloading the project's source code. The
first is to visit the eudev GitHub releases page

https://github.com/eudev-project/eudev/releases

and downloading the latest eudev-*.tar.xz archive file. Then unpack the
downloaded archive. For example, if we downloaded eudev version 3.2.10 we could
unpack the archive using the following command:

$ tar xf eudev-3.2.10.tar.gz

Alternatively, we can download the latest source code by using git. This is
the recommended option for developers. Here we use the git source control
program and use it to download the latest eudev source code:

$ git clone https://github.com/eudev-project/eudev.git


3. Configuring and building eudev
=================================

To build the eudev source code, run the following commands:

$ cd eudev

$ ./autogen.sh

$ ./configure

Please note that, by default, the configure script will assume we want to place
eudev under the /usr directory. If this is not accurate, we can supply an
alternative location using the "--prefix" flag. For instance, to place eudev
under the /usr/local directory tree, run the following:

$ ./configure --prefix /usr/local

Once eudev has been configured we can then perform the build.

$ make


4. Install eudev
================

*** WARNING ****
Installing eudev manually can break your operating system.

Please note that, in most situations, people will not wish to install eudev
manually. This work is typically performed by your distribution's package
manager.

If you really wish to proceed and install eudev manually, you can do so by
running:

# make install


5. Removing eudev
=================

Please note that removing eudev can damage your system.

If you wish to remove eudev from yoru system you can do so by running the
following command:

# make uninstall
19 changes: 7 additions & 12 deletions CONTRIBUTING
Original file line number Diff line number Diff line change
@@ -91,6 +91,10 @@ You can delete a remote branch by doing
Reported-by: Snoopy Coderdog <charlie@brown.org>
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>

Patches cherry-picked from systemd-udev must reference the commit hash of
the version committed into systemd-udev git, *not* the version in the systemd
PR.

If you commit using

git commit -s
@@ -108,21 +112,12 @@ doing
Then push it to your public repo.


4.a Open an issue at (using GitHub)

https://github.com/gentoo/eudev/issues?state=open

And request a pull of your clean commit. A team member will review it,
discuss it and commit it to master or reject it.
4. Open a pull request at GitHub

https://github.com/eudev-project/eudev/compare

4.b Send to mailing list (using git format-patch)
Make sure you are subscribe on the mailing list. If you do not, send an email to
eudev+subscribe@lists.gentoo.org
and follow instructions.
A team member will review it, discuss it and commit it to master or reject it.

When sending patches to mailing list, use
git send-email --to eudev@lists.gentoo.org 0001-foo-bar.patch

5. eudev is a peer-reviewed project. So even team members must ask another
team member to sign-off and commit your work. The only exception are trivial
27 changes: 18 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
@@ -2,28 +2,37 @@ This git repo is a fork of git://anongit.freedesktop.org/systemd/systemd
with the aim of isolating udev from any particular flavor of system
initialization. In this case, the isolation is from systemd.

This is a project started by Gentoo developers and testing is currently being
This is a project started by Gentoo developers and testing was initially being
done mostly on OpenRC. We welcome contribution from others using a variety of
system initializations to ensure eudev remains system initialization and
distribution neutral.
distribution neutral. On 2021-08-20 Gentoo decided to abandon eudev and a new
project was established on 2021-09-14 by Alpine, Devuan and Gentoo
contributors (alphabetical order).

Homepage: https://wiki.gentoo.org/wiki/Project:Eudev
Homepage: https://github.com/eudev-project/eudev

Tarballs of releases: http://dev.gentoo.org/~blueness/eudev/
Tarballs of releases: https://github.com/eudev-project/eudev/releases
Old releases (archive): http://dev.gentoo.org/~blueness/eudev/

Contact: You can email us as a group below.
The eudev community gathers on [Libera.Chat](https://libera.chat/):
ircs://irc.libera.chat:6697/#eudev
https://web.libera.chat/#eudev

IRC: Freenode/#gentoo-udev

Committers (alphabetical order by last name):
Active team members (alphabetical order by last name):

Arsen Asenović (Arsen) <arsen@aarsen.me>
Luca Barbato (lu_zero) <lu_zero@gentoo.org>
Anthony G. Basile (blueness) <blueness@gentoo.org>
Boian Bonev (bb|hcb) <boian@bonev.com>
Ariadne Conill (Ariadne) <ariadne@dereferenced.org>

Emeritus team members (alphabetical order by last name):

Francisco Izquierdo (klondike) <klondike@gentoo.org>
Ian Stakenvicius (axs) <axs@gentoo.org>
Matthew Thode (prometheanfire) <prometheanfire@gentoo.org>
Tony Vroon (chainsaw) <tony@linx.net>
Richard Yao (ryao) <ryao@gentoo.org>

## Build status
[![Build Status](https://travis-ci.org/gentoo/eudev.svg?branch=master)](https://travis-ci.org/gentoo/eudev)
[![Build Status](https://github.com/eudev-project/eudev/actions/workflows/build.yml/badge.svg)](https://github.com/eudev-project/eudev/actions)
2 changes: 1 addition & 1 deletion autogen.sh
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#!/bin/sh

set -xe
autoreconf -f -i -s

cd man
Loading