mirror of
https://git.proxmox.com/git/systemd
synced 2025-10-04 18:14:10 +00:00
New upstream version 235
This commit is contained in:
parent
81c583552e
commit
f5e6527918
@ -18,3 +18,7 @@ charset = utf-8
|
||||
[*.{c,h}]
|
||||
indent_style = space
|
||||
indent_size = 8
|
||||
|
||||
[meson.build]
|
||||
indent_style = space
|
||||
indent_size = 8
|
||||
|
2
.github/CONTRIBUTING.md
vendored
2
.github/CONTRIBUTING.md
vendored
@ -26,7 +26,7 @@ If you discover a security vulnerability, we'd appreciate a non-public disclosur
|
||||
* Make sure to post PRs only relative to a very recent git master.
|
||||
* Follow our [Coding Style](https://raw.githubusercontent.com/systemd/systemd/master/CODING_STYLE) when contributing code. This is a requirement for all code we merge.
|
||||
* Please make sure to test your change before submitting the PR. See [HACKING](https://raw.githubusercontent.com/systemd/systemd/master/HACKING) for details how to do this.
|
||||
* Make sure to run "make check" locally, before posting your PR. We use a CI system, meaning we don't even look at your PR, if the build and tests don't pass.
|
||||
* Make sure to run the test suite locally, before posting your PR. We use a CI system, meaning we don't even look at your PR, if the build and tests don't pass.
|
||||
* If you need to update the code in an existing PR, force-push into the same branch, overriding old commits with new versions.
|
||||
* After you have pushed a new version, add a comment about the new version (no notification is sent just for the commits, so it's easy to miss the update without an explicit comment). If you are a member of the systemd project on github, remove the `reviewed/needs-rework` label.
|
||||
|
||||
|
302
.gitignore
vendored
302
.gitignore
vendored
@ -1,326 +1,32 @@
|
||||
*.a
|
||||
*.cache
|
||||
*.gch
|
||||
*.la
|
||||
*.lo
|
||||
*.log
|
||||
*.o
|
||||
*.plist
|
||||
*.py[co]
|
||||
*.stamp
|
||||
*.swp
|
||||
*.trs
|
||||
*~
|
||||
.config.args
|
||||
.deps/
|
||||
.dirstamp
|
||||
.libs/
|
||||
/*.gcda
|
||||
/*.gcno
|
||||
/*.tar.bz2
|
||||
/*.tar.gz
|
||||
/*.tar.xz
|
||||
/30-systemd-environment-d-generator
|
||||
/GPATH
|
||||
/GRTAGS
|
||||
/GSYMS
|
||||
/GTAGS
|
||||
/Makefile
|
||||
/TAGS
|
||||
/ata_id
|
||||
/bootctl
|
||||
/build*
|
||||
/busctl
|
||||
/cdrom_id
|
||||
/collect
|
||||
/coredumpctl
|
||||
/coverage/
|
||||
/defined
|
||||
/exported
|
||||
/exported-*
|
||||
/hostnamectl
|
||||
/image.raw
|
||||
/image.raw.cache-pre-dev
|
||||
/image.raw.cache-pre-inst
|
||||
/install-tree
|
||||
/journalctl
|
||||
/libtool
|
||||
/linuxx64.efi.stub
|
||||
/localectl
|
||||
/loginctl
|
||||
/machinectl
|
||||
/mtd_probe
|
||||
/networkctl
|
||||
/scsi_id
|
||||
/systemctl
|
||||
/systemd
|
||||
/systemd-ac-power
|
||||
/systemd-analyze
|
||||
/systemd-ask-password
|
||||
/systemd-backlight
|
||||
/systemd-binfmt
|
||||
/systemd-bootx64.efi
|
||||
/systemd-cat
|
||||
/systemd-cgls
|
||||
/systemd-cgroups-agent
|
||||
/systemd-cgtop
|
||||
/systemd-coredump
|
||||
/systemd-cryptsetup
|
||||
/systemd-cryptsetup-generator
|
||||
/systemd-dbus1-generator
|
||||
/systemd-debug-generator
|
||||
/systemd-delta
|
||||
/systemd-detect-virt
|
||||
/systemd-dissect
|
||||
/systemd-escape
|
||||
/systemd-export
|
||||
/systemd-firstboot
|
||||
/systemd-fsck
|
||||
/systemd-fstab-generator
|
||||
/systemd-getty-generator
|
||||
/systemd-gpt-auto-generator
|
||||
/systemd-hibernate-resume
|
||||
/systemd-hibernate-resume-generator
|
||||
/systemd-hostnamed
|
||||
/systemd-hwdb
|
||||
/systemd-import
|
||||
/systemd-importd
|
||||
/systemd-inhibit
|
||||
/systemd-initctl
|
||||
/systemd-journal-gatewayd
|
||||
/systemd-journal-remote
|
||||
/systemd-journal-upload
|
||||
/systemd-journald
|
||||
/systemd-localed
|
||||
/systemd-logind
|
||||
/systemd-machine-id-setup
|
||||
/systemd-machined
|
||||
/systemd-modules-load
|
||||
/systemd-mount
|
||||
/systemd-networkd
|
||||
/systemd-networkd-wait-online
|
||||
/systemd-notify
|
||||
/systemd-nspawn
|
||||
/systemd-path
|
||||
/systemd-pull
|
||||
/systemd-quotacheck
|
||||
/systemd-random-seed
|
||||
/systemd-rc-local-generator
|
||||
/systemd-remount-fs
|
||||
/systemd-reply-password
|
||||
/systemd-resolve
|
||||
/systemd-resolved
|
||||
/systemd-rfkill
|
||||
/systemd-run
|
||||
/systemd-shutdown
|
||||
/systemd-sleep
|
||||
/systemd-socket-activate
|
||||
/systemd-socket-proxyd
|
||||
/systemd-stdio-bridge
|
||||
/systemd-sysctl
|
||||
/systemd-system-update-generator
|
||||
/systemd-sysusers
|
||||
/systemd-sysv-generator
|
||||
/systemd-timedated
|
||||
/systemd-timesyncd
|
||||
/systemd-tmpfiles
|
||||
/systemd-tty-ask-password-agent
|
||||
/systemd-udevd
|
||||
/systemd-update-done
|
||||
/systemd-update-utmp
|
||||
/systemd-user-sessions
|
||||
/systemd-vconsole-setup
|
||||
/systemd-veritysetup
|
||||
/systemd-veritysetup-generator
|
||||
/systemd-volatile-root
|
||||
/mkosi.builddir/
|
||||
/tags
|
||||
/test-acd
|
||||
/test-acl-util
|
||||
/test-af-list
|
||||
/test-alloc-util
|
||||
/test-architecture
|
||||
/test-arphrd-list
|
||||
/test-ask-password-api
|
||||
/test-async
|
||||
/test-audit-type
|
||||
/test-barrier
|
||||
/test-bitmap
|
||||
/test-boot-timestamps
|
||||
/test-btrfs
|
||||
/test-bus-benchmark
|
||||
/test-bus-chat
|
||||
/test-bus-cleanup
|
||||
/test-bus-creds
|
||||
/test-bus-error
|
||||
/test-bus-gvariant
|
||||
/test-bus-introspect
|
||||
/test-bus-kernel
|
||||
/test-bus-kernel-bloom
|
||||
/test-bus-marshal
|
||||
/test-bus-match
|
||||
/test-bus-objects
|
||||
/test-bus-policy
|
||||
/test-bus-server
|
||||
/test-bus-signature
|
||||
/test-bus-track
|
||||
/test-bus-vtable
|
||||
/test-bus-vtable-cc
|
||||
/test-bus-zero-copy
|
||||
/test-calendarspec
|
||||
/test-cap-list
|
||||
/test-capability
|
||||
/test-catalog
|
||||
/test-cgroup
|
||||
/test-cgroup-mask
|
||||
/test-cgroup-util
|
||||
/test-clock
|
||||
/test-compress
|
||||
/test-compress-benchmark
|
||||
/test-condition
|
||||
/test-conf-files
|
||||
/test-conf-parser
|
||||
/test-copy
|
||||
/test-coredump-vacuum
|
||||
/test-cpu-set-util
|
||||
/test-daemon
|
||||
/test-date
|
||||
/test-device-nodes
|
||||
/test-dnssec-complex
|
||||
/test-dhcp-client
|
||||
/test-dhcp-option
|
||||
/test-dhcp-server
|
||||
/test-dhcp6-client
|
||||
/test-dissect-image
|
||||
/test-dns-domain
|
||||
/test-dns-packet
|
||||
/test-dnssec
|
||||
/test-efi-disk.img
|
||||
/test-ellipsize
|
||||
/test-engine
|
||||
/test-env-util
|
||||
/test-escape
|
||||
/test-event
|
||||
/test-exec-util
|
||||
/test-execute
|
||||
/test-extract-word
|
||||
/test-fd-util
|
||||
/test-fdset
|
||||
/test-fileio
|
||||
/test-firewall-util
|
||||
/test-fs-util
|
||||
/test-fstab-util
|
||||
/test-glob-util
|
||||
/test-hash
|
||||
/test-hashmap
|
||||
/test-hexdecoct
|
||||
/test-hostname
|
||||
/test-hostname-util
|
||||
/test-id128
|
||||
/test-inhibit
|
||||
/test-install
|
||||
/test-install-root
|
||||
/test-io-util
|
||||
/test-ipcrm
|
||||
/test-ipv4ll
|
||||
/test-ipv4ll-manual
|
||||
/test-job-type
|
||||
/test-journal
|
||||
/test-journal-enum
|
||||
/test-journal-flush
|
||||
/test-journal-importer
|
||||
/test-journal-init
|
||||
/test-journal-interleaving
|
||||
/test-journal-match
|
||||
/test-journal-send
|
||||
/test-journal-stream
|
||||
/test-journal-syslog
|
||||
/test-journal-verify
|
||||
/test-keymap-util
|
||||
/test-libsystemd-sym*
|
||||
/test-libudev
|
||||
/test-libudev-sym*
|
||||
/test-list
|
||||
/test-lldp
|
||||
/test-local-addresses
|
||||
/test-locale-util
|
||||
/test-log
|
||||
/test-login
|
||||
/test-login-shared
|
||||
/test-login-tables
|
||||
/test-loopback
|
||||
/test-machine-tables
|
||||
/test-mmap-cache
|
||||
/test-mount-util
|
||||
/test-namespace
|
||||
/test-ndisc-rs
|
||||
/test-netlink
|
||||
/test-netlink-manual
|
||||
/test-networkd-conf
|
||||
/test-network
|
||||
/test-network-tables
|
||||
/test-ns
|
||||
/test-nss
|
||||
/test-parse-util
|
||||
/test-patch-uid
|
||||
/test-path
|
||||
/test-path-lookup
|
||||
/test-path-util
|
||||
/test-prioq
|
||||
/test-proc-cmdline
|
||||
/test-process-util
|
||||
/test-pty
|
||||
/test-qcow2
|
||||
/test-random-util
|
||||
/test-ratelimit
|
||||
/test-replace-var
|
||||
/test-resolve
|
||||
/test-resolve-tables
|
||||
/test-resolved-packet
|
||||
/test-ring
|
||||
/test-rlimit-util
|
||||
/test-sched-prio
|
||||
/test-sd-dhcp-lease
|
||||
/test-seccomp
|
||||
/test-selinux
|
||||
/test-set
|
||||
/test-sizeof
|
||||
/test-sigbus
|
||||
/test-signal-util
|
||||
/test-siphash24
|
||||
/test-sleep
|
||||
/test-socket-util
|
||||
/test-stat-util
|
||||
/test-strbuf
|
||||
/test-string-util
|
||||
/test-strip-tab-ansi
|
||||
/test-strv
|
||||
/test-strxcpyx
|
||||
/test-tables
|
||||
/test-terminal-util
|
||||
/test-time
|
||||
/test-timesync
|
||||
/test-tmpfiles
|
||||
/test-udev
|
||||
/test-uid-range
|
||||
/test-unaligned
|
||||
/test-unit-file
|
||||
/test-unit-name
|
||||
/test-user-util
|
||||
/test-utf8
|
||||
/test-util
|
||||
/test-verbs
|
||||
/test-watchdog
|
||||
/test-web-util
|
||||
/test-xattr-util
|
||||
/test-xml
|
||||
/timedatectl
|
||||
/udevadm
|
||||
/undefined
|
||||
/v4l_id
|
||||
Makefile.in
|
||||
__pycache__/
|
||||
*.py[co]
|
||||
aclocal.m4
|
||||
config.h
|
||||
config.h.in
|
||||
config.log
|
||||
config.status
|
||||
configure
|
||||
stamp-*
|
||||
|
9
.mailmap
9
.mailmap
@ -123,3 +123,12 @@ Federico Di Pierro <nierro92@gmail.com>
|
||||
Josef Andersson <josef.andersson@fripost.org>
|
||||
Josef Andersson <l10nl18nsweja@gmail.com>
|
||||
Hendrik Westerberg <hendrik@gestorf.com>
|
||||
Stefan Pietsch <mail.ipv4v6@gmail.com>
|
||||
Jérémy Rosen <jeremy.rosen@enst-bretagne.fr>
|
||||
Vasilis Liaskovitis <vliaskov@gmail.com>
|
||||
Daniel Kahn Gillmor <dkg@fifthhorseman.net>
|
||||
Tomasz Pala <gotar@polanet.pl>
|
||||
Dmitriy Geels <dmitriy.geels@gmail.com>
|
||||
Beniamino Galvani <bgalvani@redhat.com> <bengal@users.noreply.github.com>
|
||||
Justin Capella <justincapella@gmail.com> <b1tninja@users.noreply.github.com>
|
||||
Daniel Șerbănescu <dasj19@users.noreply.github.com>
|
||||
|
@ -1 +0,0 @@
|
||||
../src/Makefile
|
@ -48,7 +48,7 @@ BuildPackages=
|
||||
kmod
|
||||
libcap
|
||||
libgcrypt
|
||||
libidn2
|
||||
libidn
|
||||
libmicrohttpd
|
||||
libseccomp
|
||||
libtool
|
||||
@ -56,6 +56,7 @@ BuildPackages=
|
||||
libxkbcommon
|
||||
libxslt
|
||||
lz4
|
||||
m4
|
||||
meson
|
||||
pam
|
||||
pkgconfig
|
||||
@ -63,6 +64,7 @@ BuildPackages=
|
||||
python-lxml
|
||||
qrencode
|
||||
xz
|
||||
# TODO use libidn2 once it's available in official repositories
|
||||
|
||||
Packages=
|
||||
libidn2
|
||||
libidn
|
||||
|
@ -65,6 +65,7 @@ BuildPackages=
|
||||
libsmartcols-dev
|
||||
libtool
|
||||
libxkbcommon-dev
|
||||
m4
|
||||
meson
|
||||
pkg-config
|
||||
python3
|
||||
|
@ -62,6 +62,7 @@ BuildPackages=
|
||||
libxslt
|
||||
lz4
|
||||
lz4-devel
|
||||
m4
|
||||
meson
|
||||
pam-devel
|
||||
pkgconfig
|
||||
|
@ -6,29 +6,29 @@ HOWTO:
|
||||
|
||||
1) Find the right configure parameters for:
|
||||
|
||||
--with-rootprefix=
|
||||
--with-sysvinit-path=
|
||||
--with-sysvrcnd-path=
|
||||
--with-rc-local-script-path-start=
|
||||
--with-rc-local-script-path-stop=
|
||||
--with-kbd-loadkeys=
|
||||
--with-kbd-setfont=
|
||||
--with-tty-gid=
|
||||
--with-ntp-servers=
|
||||
--with-support-url=
|
||||
-D rootprefix=
|
||||
-D sysvinit-path=
|
||||
-D sysvrcnd-path=
|
||||
-D rc-local=
|
||||
-D halt-local=
|
||||
-D loadkeys-path=
|
||||
-D setfont-path=
|
||||
-D tty-gid=
|
||||
-D ntp-servers=
|
||||
-D dns-servers=
|
||||
-D support-url=
|
||||
|
||||
2) Try it out. Play around (as an ordinary user) with
|
||||
'/usr/lib/systemd/systemd --test --system' for a test run
|
||||
of systemd without booting. This will read the unit files and
|
||||
print the initial transaction it would execute during boot-up.
|
||||
This will also inform you about ordering loops and suchlike
|
||||
This will also inform you about ordering loops and suchlike.
|
||||
|
||||
NTP POOL:
|
||||
|
||||
By default, timesyncd uses the Google Public NTP servers
|
||||
time[1-4].google.com. They serve time that uses a leap second
|
||||
smear, and can be up to .5s off from servers that use stepped
|
||||
leap seconds.
|
||||
By default, systemd-timesyncd uses the Google Public NTP servers
|
||||
time[1-4].google.com, if no other NTP configuration is available. They
|
||||
serve time that uses a leap second smear, and can be up to .5s off from
|
||||
servers that use stepped leap seconds.
|
||||
|
||||
https://developers.google.com/time/smear
|
||||
|
||||
@ -39,6 +39,17 @@ NTP POOL:
|
||||
|
||||
http://www.pool.ntp.org/en/vendors.html
|
||||
|
||||
Use -D ntp-servers= to direct systemd-timesyncd to different fallback
|
||||
NTP servers.
|
||||
|
||||
DNS SERVERS:
|
||||
By default, systemd-resolved uses the Google Public DNS servers
|
||||
8.8.8.8, 8.8.4.4, 2001:4860:4860::8888, 2001:4860:4860::8844 as
|
||||
fallback, if no other DNS configuration is available.
|
||||
|
||||
Use -D dns-servers= to direct systemd-resolved to different fallback
|
||||
DNS servers.
|
||||
|
||||
PAM:
|
||||
The default PAM config shipped by systemd is really bare bones.
|
||||
It does not include many modules your distro might want to enable
|
||||
@ -46,17 +57,15 @@ PAM:
|
||||
/etc/security/limits.conf will not be read unless you load pam_limits.
|
||||
Make sure you add modules your distro expects from user services.
|
||||
|
||||
Pass --with-pamconfdir=no to ./configure to avoid installing this file
|
||||
and instead install your own.
|
||||
Pass -D pamconfdir=no to meson to avoid installing this file and
|
||||
instead install your own.
|
||||
|
||||
CONTRIBUTING UPSTREAM:
|
||||
|
||||
We generally do no longer accept distribution-specific
|
||||
patches to systemd upstream. If you have to make changes to
|
||||
systemd's source code to make it work on your distribution,
|
||||
unless your code is generic enough to be generally useful, we
|
||||
are unlikely to merge it. Please always consider adopting the
|
||||
upstream defaults. If that is not possible, please maintain
|
||||
the relevant patches downstream.
|
||||
We generally do no longer accept distribution-specific patches to
|
||||
systemd upstream. If you have to make changes to systemd's source code
|
||||
to make it work on your distribution, unless your code is generic
|
||||
enough to be generally useful, we are unlikely to merge it. Please
|
||||
always consider adopting the upstream defaults. If that is not
|
||||
possible, please maintain the relevant patches downstream.
|
||||
|
||||
Thank you for understanding.
|
||||
|
@ -64,3 +64,17 @@ installed systemd tests:
|
||||
|
||||
* `$SYSTEMD_TEST_DATA` — override the location of test data. This is useful if
|
||||
a test executable is moved to an arbitrary location.
|
||||
|
||||
nss-systemd:
|
||||
|
||||
* `$SYSTEMD_NSS_BYPASS_SYNTHETIC=1` — if set, `nss-systemd` won't synthesize
|
||||
user/group records for the `root` and `nobody` users if they are missing from
|
||||
`/etc/passwd`.
|
||||
|
||||
* `$SYSTEMD_NSS_DYNAMIC_BYPASS=1` — if set, `nss-systemd` won't return
|
||||
user/group records for dynamically registered service users (i.e. users
|
||||
registered through `DynamicUser=1`).
|
||||
|
||||
* `$SYSTEMD_NSS_BYPASS_BUS=1` — if set, `nss-systemd` won't use D-Bus to do
|
||||
dynamic user lookups. This is primarily useful to make `nss-systemd` work
|
||||
safely from within `dbus-daemon`.
|
||||
|
12
HACKING
12
HACKING
@ -56,15 +56,17 @@ for systemd (this example is for Fedora):
|
||||
$ git clone https://github.com/systemd/systemd.git
|
||||
$ cd systemd
|
||||
$ vim src/core/main.c # or wherever you'd like to make your changes
|
||||
$ ./autogen.sh c # configure the source tree
|
||||
$ make -j `nproc` # build it locally, see if everything compiles fine
|
||||
$ make -j `nproc` check # run some simple regression tests
|
||||
$ meson build # configure the build
|
||||
$ ninja -C build # build it locally, see if everything compiles fine
|
||||
$ ninja -C build test # run some simple regression tests
|
||||
$ sudo mkosi # build a test image
|
||||
$ sudo systemd-nspawn -bi image.raw # boot up the test image
|
||||
$ git add -p # interactively put together your patch
|
||||
$ git commit # commit it
|
||||
$ ...
|
||||
$ git push REMOTE HEAD:refs/heads/BRANCH
|
||||
# where REMOTE is your "fork" on github
|
||||
# and BRANCH is a branch name.
|
||||
|
||||
And after that, please submit your branch as PR to systemd via github.
|
||||
And after that, head over to your repo on github and click "Compare & pull request"
|
||||
|
||||
Happy hacking!
|
||||
|
5
Makefile
Normal file
5
Makefile
Normal file
@ -0,0 +1,5 @@
|
||||
all:
|
||||
ninja -C build
|
||||
|
||||
install:
|
||||
DESTDIR=$(DESTDIR) ninja -C build install
|
2910
Makefile-man.am
2910
Makefile-man.am
File diff suppressed because it is too large
Load Diff
6915
Makefile.am
6915
Makefile.am
File diff suppressed because it is too large
Load Diff
249
NEWS
249
NEWS
@ -1,5 +1,251 @@
|
||||
systemd System and Service Manager
|
||||
|
||||
CHANGES WITH 235:
|
||||
|
||||
* A new modprobe.d drop-in is now shipped by default that sets the
|
||||
bonding module option max_bonds=0. This overrides the kernel default,
|
||||
to avoid conflicts and ambiguity as to whether or not bond0 should be
|
||||
managed by systemd-networkd or not. This resolves multiple issues
|
||||
with bond0 properties not being applied, when bond0 is configured
|
||||
with systemd-networkd. Distributors may choose to not package this,
|
||||
however in that case users will be prevented from correctly managing
|
||||
bond0 interface using systemd-networkd.
|
||||
|
||||
* systemd-analyze gained new verbs "get-log-level" and "get-log-target"
|
||||
which print the logging level and target of the system manager. They
|
||||
complement the existing "set-log-level" and "set-log-target" verbs
|
||||
used to change those values.
|
||||
|
||||
* journald.conf gained a new boolean setting ReadKMsg= which defaults
|
||||
to on. If turned off kernel log messages will not be read by
|
||||
systemd-journald or included in the logs. It also gained a new
|
||||
setting LineMax= for configuring the maximum line length in
|
||||
STDOUT/STDERR log streams. The new default for this value is 48K, up
|
||||
from the previous hardcoded 2048.
|
||||
|
||||
* A new unit setting RuntimeDirectoryPreserve= has been added, which
|
||||
allows more detailed control of what to do with a runtime directory
|
||||
configured with RuntimeDirectory= (i.e. a directory below /run or
|
||||
$XDG_RUNTIME_DIR) after a unit is stopped.
|
||||
|
||||
* The RuntimeDirectory= setting for units gained support for creating
|
||||
deeper subdirectories below /run or $XDG_RUNTIME_DIR, instead of just
|
||||
one top-level directory.
|
||||
|
||||
* Units gained new options StateDirectory=, CacheDirectory=,
|
||||
LogsDirectory= and ConfigurationDirectory= which are closely related
|
||||
to RuntimeDirectory= but manage per-service directories below
|
||||
/var/lib, /var/cache, /var/log and /etc. By making use of them it is
|
||||
possible to write unit files which when activated automatically gain
|
||||
properly owned service specific directories in these locations, thus
|
||||
making unit files self-contained and increasing compatibility with
|
||||
stateless systems and factory reset where /etc or /var are
|
||||
unpopulated at boot. Matching these new settings there's also
|
||||
StateDirectoryMode=, CacheDirectoryMode=, LogsDirectoryMode=,
|
||||
ConfigurationDirectoryMode= for configuring the access mode of these
|
||||
directories. These settings are particularly useful in combination
|
||||
with DynamicUser=yes as they provide secure, properly-owned,
|
||||
writable, and stateful locations for storage, excluded from the
|
||||
sandbox that such services live in otherwise.
|
||||
|
||||
* Automake support has been removed from this release. systemd is now
|
||||
Meson-only.
|
||||
|
||||
* systemd-journald will now aggressively cache client metadata during
|
||||
runtime, speeding up log write performance under pressure. This comes
|
||||
at a small price though: as much of the metadata is read
|
||||
asynchronously from /proc/ (and isn't implicitly attached to log
|
||||
datagrams by the kernel, like UID/GID/PID/SELinux are) this means the
|
||||
metadata stored alongside a log entry might be slightly
|
||||
out-of-date. Previously it could only be slightly newer than the log
|
||||
message. The time window is small however, and given that the kernel
|
||||
is unlikely to be improved anytime soon in this regard, this appears
|
||||
acceptable to us.
|
||||
|
||||
* nss-myhostname/systemd-resolved will now by default synthesize an
|
||||
A/AAAA resource record for the "_gateway" hostname, pointing to the
|
||||
current default IP gateway. Previously it did that for the "gateway"
|
||||
name, hampering adoption, as some distributions wanted to leave that
|
||||
host name open for local use. The old behaviour may still be
|
||||
requested at build time.
|
||||
|
||||
* systemd-networkd's [Address] section in .network files gained a new
|
||||
Scope= setting for configuring the IP address scope. The [Network]
|
||||
section gained a new boolean setting ConfigureWithoutCarrier= that
|
||||
tells systemd-networkd to ignore link sensing when configuring the
|
||||
device. The [DHCP] section gained a new Anonymize= boolean option for
|
||||
turning on a number of options suggested in RFC 7844. A new
|
||||
[RoutingPolicyRule] section has been added for configuring the IP
|
||||
routing policy. The [Route] section has gained support for a new
|
||||
Type= setting which permits configuring
|
||||
blackhole/unreachable/prohibit routes.
|
||||
|
||||
* The [VRF] section in .netdev files gained a new Table= setting for
|
||||
configuring the routing table to use. The [Tunnel] section gained a
|
||||
new Independent= boolean field for configuring tunnels independent of
|
||||
an underlying network interface. The [Bridge] section gained a new
|
||||
GroupForwardMask= option for configuration of propagation of link
|
||||
local frames between bridge ports.
|
||||
|
||||
* The WakeOnLan= setting in .link files gained support for a number of
|
||||
new modes. A new TCP6SegmentationOffload= setting has been added for
|
||||
configuring TCP/IPv6 hardware segmentation offload.
|
||||
|
||||
* The IPv6 RA sender implementation may now optionally send out RDNSS
|
||||
and RDNSSL records to supply DNS configuration to peers.
|
||||
|
||||
* systemd-nspawn gained support for a new --system-call-filter= command
|
||||
line option for adding and removing entries in the default system
|
||||
call filter it applies. Moreover systemd-nspawn has been changed to
|
||||
implement a system call whitelist instead of a blacklist.
|
||||
|
||||
* systemd-run gained support for a new --pipe command line option. If
|
||||
used the STDIN/STDOUT/STDERR file descriptors passed to systemd-run
|
||||
are directly passed on to the activated transient service
|
||||
executable. This allows invoking arbitrary processes as systemd
|
||||
services (for example to take benefit of dependency management,
|
||||
accounting management, resource management or log management that is
|
||||
done automatically for services) — while still allowing them to be
|
||||
integrated in a classic UNIX shell pipeline.
|
||||
|
||||
* When a service sends RELOAD=1 via sd_notify() and reload propagation
|
||||
using ReloadPropagationTo= is configured, a reload is now propagated
|
||||
to configured units. (Previously this was only done on explicitly
|
||||
requested reloads, using "systemctl reload" or an equivalent
|
||||
command.)
|
||||
|
||||
* For each service unit a restart counter is now kept: it is increased
|
||||
each time the service is restarted due to Restart=, and may be
|
||||
queried using "systemctl show -p NRestarts …".
|
||||
|
||||
* New system call filter groups @aio, @sync, @chown, @setuid, @memlock,
|
||||
@signal and @timer have been added, for usage with SystemCallFilter=
|
||||
in unit files and the new --system-call-filter= command line option
|
||||
of systemd-nspawn (see above).
|
||||
|
||||
* ExecStart= lines in unit files gained two new modifiers: when a
|
||||
command line is prefixed with "!" the command will be executed as
|
||||
configured, except for the credentials applied by
|
||||
setuid()/setgid()/setgroups(). It is very similar to the pre-existing
|
||||
"+", but does still apply namespacing options unlike "+". There's
|
||||
also "!!" now, which is mostly identical, but becomes a NOP on
|
||||
systems that support ambient capabilities. This is useful to write
|
||||
unit files that work with ambient capabilities where possible but
|
||||
automatically fall back to traditional privilege dropping mechanisms
|
||||
on systems where this is not supported.
|
||||
|
||||
* ListenNetlink= settings in socket units now support RDMA netlink
|
||||
sockets.
|
||||
|
||||
* A new unit file setting LockPersonality= has been added which permits
|
||||
locking down the chosen execution domain ("personality") of a service
|
||||
during runtime.
|
||||
|
||||
* A new special target "getty-pre.target" has been added, which is
|
||||
ordered before all text logins, and may be used to order services
|
||||
before textual logins acquire access to the console.
|
||||
|
||||
* systemd will now attempt to load the virtio-rng.ko kernel module very
|
||||
early on if a VM environment supporting this is detected. This should
|
||||
improve entropy during early boot in virtualized environments.
|
||||
|
||||
* A _netdev option is now supported in /etc/crypttab that operates in a
|
||||
similar way as the same option in /etc/fstab: it permits configuring
|
||||
encrypted devices that need to be ordered after the network is up.
|
||||
Following this logic, two new special targets
|
||||
remote-cryptsetup-pre.target and remote-cryptsetup.target have been
|
||||
added that are to cryptsetup.target what remote-fs.target and
|
||||
remote-fs-pre.target are to local-fs.target.
|
||||
|
||||
* Service units gained a new UnsetEnvironment= setting which permits
|
||||
unsetting specific environment variables for services that are
|
||||
normally passed to it (for example in order to mask out locale
|
||||
settings for specific services that can't deal with it).
|
||||
|
||||
* Units acquired a new boolean option IPAccounting=. When turned on, IP
|
||||
traffic accounting (packet count as well as byte count) is done for
|
||||
the service, and shown as part of "systemctl status" or "systemd-run
|
||||
--wait".
|
||||
|
||||
* Service units acquired two new options IPAddressAllow= and
|
||||
IPAddressDeny=, taking a list of IPv4 or IPv6 addresses and masks,
|
||||
for configuring a simple IP access control list for all sockets of
|
||||
the unit. These options are available also on .slice and .socket
|
||||
units, permitting flexible access list configuration for individual
|
||||
services as well as groups of services (as defined by a slice unit),
|
||||
including system-wide. Note that IP ACLs configured this way are
|
||||
enforced on every single IPv4 and IPv6 socket created by any process
|
||||
of the service unit, and apply to ingress as well as egress traffic.
|
||||
|
||||
* If CPUAccounting= or IPAccounting= is turned on for a unit a new
|
||||
structured log message is generated each time the unit is stopped,
|
||||
containing information about the consumed resources of this
|
||||
invocation.
|
||||
|
||||
* A new setting KeyringMode= has been added to unit files, which may be
|
||||
used to control how the kernel keyring is set up for executed
|
||||
processes.
|
||||
|
||||
* "systemctl poweroff", "systemctl reboot", "systemctl halt",
|
||||
"systemctl kexec" and "systemctl exit" are now always asynchronous in
|
||||
behaviour (that is: these commands return immediately after the
|
||||
operation was enqueued instead of waiting for the operation to
|
||||
complete). Previously, "systemctl poweroff" and "systemctl reboot"
|
||||
were asynchronous on systems using systemd-logind (i.e. almost
|
||||
always, and like they were on sysvinit), and the other three commands
|
||||
were unconditionally synchronous. With this release this is cleaned
|
||||
up, and callers will see the same asynchronous behaviour on all
|
||||
systems for all five operations.
|
||||
|
||||
* systemd-logind gained new Halt() and CanHalt() bus calls for halting
|
||||
the system.
|
||||
|
||||
* .timer units now accept calendar specifications in other timezones
|
||||
than UTC or the local timezone.
|
||||
|
||||
* The tmpfiles snippet var.conf has been changed to create
|
||||
/var/log/btmp with access mode 0660 instead of 0600. It was owned by
|
||||
the "utmp" group already, and it appears to be generally understood
|
||||
that members of "utmp" can modify/flush the utmp/wtmp/lastlog/btmp
|
||||
databases. Previously this was implemented correctly for all these
|
||||
databases excepts btmp, which has been opened up like this now
|
||||
too. Note that while the other databases are world-readable
|
||||
(i.e. 0644), btmp is not and remains more restrictive.
|
||||
|
||||
* The systemd-resolve tool gained a new --reset-server-features
|
||||
switch. When invoked like this systemd-resolved will forget
|
||||
everything it learnt about the features supported by the configured
|
||||
upstream DNS servers, and restarts the feature probing logic on the
|
||||
next resolver look-up for them at the highest feature level
|
||||
again.
|
||||
|
||||
* The status dump systemd-resolved sends to the logs upon receiving
|
||||
SIGUSR1 now also includes information about all DNS servers it is
|
||||
configured to use, and the features levels it probed for them.
|
||||
|
||||
Contributions from: Abdó Roig-Maranges, Alan Jenkins, Alexander
|
||||
Kuleshov, Andreas Rammhold, Andrew Jeddeloh, Andrew Soutar, Ansgar
|
||||
Burchardt, Beniamino Galvani, Benjamin Berg, Benjamin Robin, Charles
|
||||
Huber, Christian Hesse, Daniel Berrange, Daniel Kahn Gillmor, Daniel
|
||||
Mack, Daniel Rusek, Daniel Șerbănescu, Davide Cavalca, Dimitri John
|
||||
Ledkov, Diogo Pereira, Djalal Harouni, Dmitriy Geels, Dmitry Torokhov,
|
||||
ettavolt, Evgeny Vereshchagin, Fabio Kung, Felipe Sateler, Franck Bui,
|
||||
Hans de Goede, Harald Hoyer, Insun Pyo, Ivan Kurnosov, Ivan Shapovalov,
|
||||
Jakub Wilk, Jan Synacek, Jason Gunthorpe, Jeremy Bicha, Jérémy Rosen,
|
||||
John Lin, jonasBoss, Jonathan Lebon, Jonathan Teh, Jon Ringle, Jörg
|
||||
Thalheim, Jouke Witteveen, juga0, Justin Capella, Justin Michaud,
|
||||
Kai-Heng Feng, Lennart Poettering, Lion Yang, Luca Bruno, Lucas
|
||||
Werkmeister, Lukáš Nykrýn, Marcel Hollerbach, Marcus Lundblad, Martin
|
||||
Pitt, Michael Biebl, Michael Grzeschik, Michal Sekletar, Mike Gilbert,
|
||||
Neil Brown, Nicolas Iooss, Patrik Flykt, pEJipE, Piotr Drąg, Russell
|
||||
Stuart, S. Fan, Shengyao Xue, Stefan Pietsch, Susant Sahani, Tejun Heo,
|
||||
Thomas Miller, Thomas Sailer, Tobias Hunger, Tomasz Pala, Tom
|
||||
Gundersen, Tommi Rantala, Topi Miettinen, Torstein Husebø, userwithuid,
|
||||
Vasilis Liaskovitis, Vito Caputo, WaLyong Cho, William Douglas, Xiang
|
||||
Fan, Yu Watanabe, Zbigniew Jędrzejewski-Szmek
|
||||
|
||||
— Berlin, 2017-10-06
|
||||
|
||||
CHANGES WITH 234:
|
||||
|
||||
* Meson is now supported as build system in addition to Automake. It is
|
||||
@ -132,9 +378,6 @@ CHANGES WITH 234:
|
||||
|
||||
CHANGES WITH 233:
|
||||
|
||||
* This version requires at least gperf 3.1 for building, 3.0 is not
|
||||
sufficient.
|
||||
|
||||
* The "hybrid" control group mode has been modified to improve
|
||||
compatibility with "legacy" cgroups-v1 setups. Specifically, the
|
||||
"hybrid" setup of /sys/fs/cgroup is now pretty much identical to
|
||||
|
59
README
59
README
@ -8,9 +8,6 @@ WEB SITE:
|
||||
|
||||
GIT:
|
||||
git@github.com:systemd/systemd.git
|
||||
https://github.com/systemd/systemd.git
|
||||
|
||||
GITWEB:
|
||||
https://github.com/systemd/systemd
|
||||
|
||||
MAILING LIST:
|
||||
@ -110,6 +107,14 @@ REQUIREMENTS:
|
||||
fixed, and it's best to disable group scheduling hence.
|
||||
CONFIG_RT_GROUP_SCHED=n
|
||||
|
||||
It's a good idea to disable the implicit creation of networking bonding
|
||||
devices by the kernel networking bonding module, so that the
|
||||
automatically created "bond0" interface doesn't conflict with any such
|
||||
device created by systemd-networkd (or other tools). Ideally there
|
||||
would be a kernel compile-time option for this, but there currently
|
||||
isn't. The next best thing is to make this change through a modprobe.d
|
||||
drop-in. This is shipped by default, see modprobe.d/systemd.conf.
|
||||
|
||||
Note that kernel auditing is broken when used with systemd's
|
||||
container code. When using systemd in conjunction with
|
||||
containers, please make sure to either turn off auditing at
|
||||
@ -126,9 +131,8 @@ REQUIREMENTS:
|
||||
|
||||
glibc >= 2.16
|
||||
libcap
|
||||
libmount >= 2.27.1 (from util-linux)
|
||||
(util-linux < 2.29 *must* be built with --enable-libmount-force-mountinfo,
|
||||
and later versions without --enable-libmount-support-mtab.)
|
||||
libmount >= 2.30 (from util-linux)
|
||||
(util-linux *must* be built without --enable-libmount-support-mtab)
|
||||
libseccomp >= 2.3.1 (optional)
|
||||
libblkid >= 2.24 (from util-linux) (optional)
|
||||
libkmod >= 15 (optional)
|
||||
@ -145,7 +149,13 @@ REQUIREMENTS:
|
||||
libpython (optional)
|
||||
libidn2 or libidn (optional)
|
||||
elfutils >= 158 (optional)
|
||||
make, gcc, and similar tools
|
||||
pkg-config
|
||||
gperf
|
||||
docbook-xsl (optional, required for documentation)
|
||||
xsltproc (optional, required for documentation)
|
||||
python-lxml (optional, required to build the indices)
|
||||
python, meson, ninja
|
||||
gcc, awk, sed, grep, m4, and similar tools
|
||||
|
||||
During runtime, you need the following additional
|
||||
dependencies:
|
||||
@ -157,18 +167,6 @@ REQUIREMENTS:
|
||||
dracut (optional)
|
||||
PolicyKit (optional)
|
||||
|
||||
Two build systems are supported: meson + ninja-build and autools + make.
|
||||
|
||||
The following tools are needed with both systems:
|
||||
|
||||
pkg-config
|
||||
gperf >= 3.1
|
||||
docbook-xsl (optional, required for documentation)
|
||||
xsltproc (optional, required for documentation)
|
||||
python-lxml (optional, required to build the indices)
|
||||
|
||||
When building with meson, python and ninja-build are required.
|
||||
|
||||
To build in directory build/:
|
||||
meson build/ && ninja -C build
|
||||
|
||||
@ -185,19 +183,7 @@ REQUIREMENTS:
|
||||
sudo ninja install
|
||||
DESTDIR=... ninja install
|
||||
|
||||
When building with autotools, the following tools are needed:
|
||||
|
||||
automake
|
||||
autoconf
|
||||
libtool
|
||||
intltool
|
||||
python (optional)
|
||||
|
||||
The build system is initialized with ./autogen.sh and the usual
|
||||
./configure && make
|
||||
should be used.
|
||||
|
||||
A tar ball can be created with:
|
||||
A tarball can be created with:
|
||||
git archive --format=tar --prefix=systemd-222/ v222 | xz > systemd-222.tar.xz
|
||||
|
||||
When systemd-hostnamed is used, it is strongly recommended to
|
||||
@ -304,9 +290,12 @@ WARNINGS:
|
||||
https://www.freedesktop.org/wiki/Software/systemd/separate-usr-is-broken
|
||||
|
||||
To run systemd under valgrind, compile with VALGRIND defined
|
||||
(e.g. ./configure CPPFLAGS='... -DVALGRIND=1'). Otherwise,
|
||||
false positives will be triggered by code which violates
|
||||
some rules but is actually safe.
|
||||
(e.g. CPPFLAGS='... -DVALGRIND=1' meson <options>) and have valgrind
|
||||
development headers installed (i.e. valgrind-devel or
|
||||
equivalent). Otherwise, false positives will be triggered by code which
|
||||
violates some rules but is actually safe. Note that valgrind generates
|
||||
nice output only on exit(), hence on shutdown we don't execve()
|
||||
systemd-shutdown.
|
||||
|
||||
ENGINEERING AND CONSULTING SERVICES:
|
||||
Kinvolk (https://kinvolk.io) offers professional engineering
|
||||
|
70
TODO
70
TODO
@ -24,6 +24,36 @@ Janitorial Clean-ups:
|
||||
|
||||
Features:
|
||||
|
||||
* maybe set a new set of env vars for services, based on RuntimeDirectory=,
|
||||
StateDirectory=, LogsDirectory=, CacheDirectory= and ConfigurationDirectory=
|
||||
automatically. For example, there could be $RUNTIME_DIRECTORY,
|
||||
$STATE_DIRECTORY, $LOGS_DIRECTORY=, $CACHE_DIRECTORY and
|
||||
$CONFIGURATION_DIRECTORY or so. This could be useful to write services that
|
||||
can adapt to varying directories for these purposes. Special care has to be
|
||||
taken if multiple dirs are configured. Maybe avoid setting the env vars in
|
||||
that case?
|
||||
|
||||
* In a similar vein, consider adding unit specifiers that resolve to the root
|
||||
directory used for state, logs, cache and configuration
|
||||
directory. i.e. similar to %t, but for the root of the other special dirs.
|
||||
|
||||
* expose IO accounting data on the bus, show it in systemd-run --wait and log
|
||||
about it in the resource log message
|
||||
|
||||
* add "systemctl purge" for flushing out configuration, state, logs, ... of a
|
||||
unit when it is stopped
|
||||
|
||||
* show whether a service has out-of-date configuration in "systemctl status" by
|
||||
using mtime data of ConfigurationDirectory=.
|
||||
|
||||
* replace all uses of fgets() + LINE_MAX by read_line()
|
||||
|
||||
* set IPAddressDeny=any on all services that shouldn't do networking (possibly
|
||||
combined with IPAddressAllow=localhost).
|
||||
|
||||
* dissect: when we discover squashfs, don't claim we had a "writable" partition
|
||||
in systemd-dissect
|
||||
|
||||
* Add AddUser= setting to unit files, similar to DynamicUser=1 which however
|
||||
creates a static, persistent user rather than a dynamic, transient user. We
|
||||
can leverage code from sysusers.d for this.
|
||||
@ -37,8 +67,6 @@ Features:
|
||||
diffs remain minimal (in particular: the OUI databases we import are not
|
||||
sorted, and not stable)
|
||||
|
||||
* set SystemCallArchitectures=native on all our services
|
||||
|
||||
* maybe add call sd_journal_set_block_timeout() or so to set SO_SNDTIMEO for
|
||||
the sd-journal logging socket, and, if the timeout is set to 0, sets
|
||||
O_NONBLOCK on it. That way people can control if and when to block for
|
||||
@ -47,13 +75,6 @@ Features:
|
||||
* tighten sd_notify() MAINPID= checks a bit: don't accept foreign PIDs (i.e.
|
||||
PIDs not managed by the service manager)
|
||||
|
||||
* journald: when we recv a log datagram via the native or syslog transports,
|
||||
search for the PID in the active stream connections, and let's make sure to
|
||||
always process the datagrams before the streams. Then, cache client metadata
|
||||
per stream in the stream object. This way we can somewhat fix the race with
|
||||
quickly exiting processes which log as long as they had their own stream
|
||||
connection...
|
||||
|
||||
* hostnamed: populate form factor data from a new hwdb database, so that old
|
||||
yogas can be recognized as "convertible" too, even if they predate the DMI
|
||||
"convertible" form factor
|
||||
@ -94,8 +115,6 @@ Features:
|
||||
|
||||
* maybe introduce gpt auto discovery for /var/tmp?
|
||||
|
||||
* set ProtectSystem=strict for all our usual services.
|
||||
|
||||
* fix PrivateNetwork= so that we fall back gracefully on kernels lacking
|
||||
namespacing support (similar for the other namespacing options)
|
||||
|
||||
@ -140,8 +159,6 @@ Features:
|
||||
|
||||
* enable LockMLOCK to take a percentage value relative to physical memory
|
||||
|
||||
* switch to ProtectSystem=strict for all our long-running services where that's possible
|
||||
|
||||
* Permit masking specific netlink APIs with RestrictAddressFamily=
|
||||
|
||||
* nspawn: start UID allocation loop from hash of container name
|
||||
@ -168,9 +185,6 @@ Features:
|
||||
|
||||
* DeviceAllow= should also generate seccomp filters for mknod()
|
||||
|
||||
* Add DataDirectory=, CacheDirectory= and LogDirectory= to match
|
||||
RuntimeDirectory=, and create it as necessary when starting a service, owned by the right user.
|
||||
|
||||
* make sure the ratelimit object can deal with USEC_INFINITY as way to turn off things
|
||||
|
||||
* journalctl: make sure -f ends when the container indicated by -M terminates
|
||||
@ -435,25 +449,18 @@ Features:
|
||||
* sd-bus:
|
||||
- EBADSLT handling
|
||||
- GetAllProperties() on a non-existing object does not result in a failure currently
|
||||
- kdbus: process fd=-1 for incoming msgs
|
||||
- port to sd-resolve for connecting to TCP dbus servers
|
||||
- kdbus: maybe add controlling tty metadata fields
|
||||
- see if we can introduce a new sd_bus_get_owner_machine_id() call to retrieve the machine ID of the machine of the bus itself
|
||||
- when kdbus does not take our message without memfds, try again with memfds
|
||||
- see if we can drop more message validation on the sending side
|
||||
- add API to clone sd_bus_message objects
|
||||
- make AddMatch calls on dbus1 transports async?
|
||||
- kdbus: matches against source or destination pids for an "strace -p"-like feel. Problem: The PID info needs to be available in userspace too...
|
||||
- longer term: priority inheritance
|
||||
- dbus spec updates:
|
||||
- kdbus mapping
|
||||
- NameLost/NameAcquired obsolete
|
||||
- GVariant
|
||||
- path escaping
|
||||
- update systemd.special(7) to mention that dbus.socket is only about the compatibility socket now
|
||||
- test bloom filter generation indexes
|
||||
- kdbus: introduce a concept of "send-only" connections
|
||||
- kdbus: add counter for refused unicast messages that is passed out via the RECV ioctl. SImilar to the counter for dropped multicast messages we already have.
|
||||
|
||||
* sd-event
|
||||
- allow multiple signal handlers per signal?
|
||||
@ -473,8 +480,6 @@ Features:
|
||||
|
||||
* maybe add a generator that looks for "systemd.run=" on the kernel cmdline for container usercases...
|
||||
|
||||
* cgtop: make cgtop useful in a container
|
||||
|
||||
* test/:
|
||||
- add 'set -e' to scripts in test/
|
||||
- make stuff in test/ work with separate output dir
|
||||
@ -724,8 +729,6 @@ Features:
|
||||
|
||||
* cryptsetup:
|
||||
- cryptsetup-generator: allow specification of passwords in crypttab itself
|
||||
- move cryptsetup key caching into kernel keyctl?
|
||||
https://bugs.freedesktop.org/show_bug.cgi?id=54982
|
||||
- support rd.luks.allow-discards= kernel cmdline params in cryptsetup generator
|
||||
|
||||
* hw watchdog: optionally try to use the preset watchdog timeout instead of always overriding it
|
||||
@ -733,6 +736,8 @@ Features:
|
||||
|
||||
* create /sbin/init symlinks from the build system
|
||||
|
||||
* add a dependency on standard-conf.xml and other included files to man pages
|
||||
|
||||
* MountFlags=shared acts as MountFlags=slave right now.
|
||||
|
||||
* properly handle loop back mounts via fstab, especially regards to fsck/passno
|
||||
@ -745,8 +750,6 @@ Features:
|
||||
- add trigger --subsystem-match=usb/usb_device device
|
||||
- reimport udev db after MOVE events for devices without dev_t
|
||||
|
||||
* when a service has the same env var set twice we actually store it twice and return that in systemctl show -p... We should only show the last setting
|
||||
|
||||
* There's currently no way to cancel fsck (used to be possible via C-c or c on the console)
|
||||
|
||||
* add option to sockets to avoid activation. Instead just drop packets/connections, see http://cyberelk.net/tim/2012/02/15/portreserve-systemd-solution/
|
||||
@ -805,10 +808,7 @@ Features:
|
||||
|
||||
* dot output for --test showing the 'initial transaction'
|
||||
|
||||
* fingerprint.target, wireless.target, gps.target, netdevice.target
|
||||
|
||||
* pid1:
|
||||
- .timer units should optionally support CLOCK_BOOTTIME in addition to CLOCK_MONOTONIC
|
||||
- When logging about multiple units (stopping BoundTo units, conflicts, etc.),
|
||||
log both units as UNIT=, so that journalctl -u triggers on both.
|
||||
- generate better errors when people try to set transient properties
|
||||
@ -844,12 +844,9 @@ Features:
|
||||
- load-fragment: when loading a unit file via a chain of symlinks
|
||||
verify that it is not masked via any of the names traversed.
|
||||
- introduce Type=pid-file
|
||||
- ExecOnFailure=/usr/bin/foo
|
||||
- introduce mix of BindTo and Requisite
|
||||
- add a concept of RemainAfterExit= to scope units
|
||||
- Set NoNewPrivileges= on all of our own services, where that makes sense
|
||||
- Allow multiple ExecStart= for all Type= settings, so that we can cover rescue.service nicely
|
||||
- consider adding RuntimeDirectoryUser= + RuntimeDirectoryGroup=
|
||||
|
||||
* udev-link-config:
|
||||
- Make sure ID_PATH is always exported and complete for
|
||||
@ -891,7 +888,6 @@ Features:
|
||||
|
||||
* dhcp:
|
||||
- figure out how much we can increase Maximum Message Size
|
||||
- support RFC4702 (pass FQDN)
|
||||
|
||||
* dhcp6:
|
||||
- add functions to set previously stored IPv6 addresses on startup and get
|
||||
@ -923,8 +919,6 @@ External:
|
||||
|
||||
* drop accountsservice's StandardOutput=syslog and Type=dbus fields
|
||||
|
||||
* dbus: in fedora, make /var/lib/dbus/machine-id a symlink to /etc/machine-id
|
||||
|
||||
* /usr/bin/service should actually show the new command line
|
||||
|
||||
* fedora: suggest auto-restart on failure, but not on success and not on coredump. also, ask people to think about changing the start limit logic. Also point people to RestartPreventExitStatus=, SuccessExitStatus=
|
||||
|
94
autogen.sh
94
autogen.sh
@ -1,94 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
# This file is part of systemd.
|
||||
#
|
||||
# systemd is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU Lesser General Public License as published by
|
||||
# the Free Software Foundation; either version 2.1 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# systemd is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
# Lesser General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Lesser General Public License
|
||||
# along with systemd; If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
set -e
|
||||
|
||||
verb="$1"
|
||||
|
||||
case "$verb" in
|
||||
"") ;;
|
||||
[cgals]) shift ;;
|
||||
*) echo "Unexpected argument: $verb" >&2; exit 1 ;;
|
||||
esac
|
||||
|
||||
oldpwd=$(pwd)
|
||||
topdir=$(dirname $0)
|
||||
cd $topdir
|
||||
|
||||
if [ -f .git/hooks/pre-commit.sample ] && [ ! -f .git/hooks/pre-commit ]; then
|
||||
# This part is allowed to fail
|
||||
cp -p .git/hooks/pre-commit.sample .git/hooks/pre-commit && \
|
||||
chmod +x .git/hooks/pre-commit && \
|
||||
echo "Activated pre-commit hook." || :
|
||||
fi
|
||||
|
||||
intltoolize --force --automake
|
||||
autoreconf --force --install --symlink
|
||||
|
||||
libdir() {
|
||||
echo $(cd "$1/$(gcc -print-multi-os-directory)"; pwd)
|
||||
}
|
||||
|
||||
args="\
|
||||
--sysconfdir=/etc \
|
||||
--localstatedir=/var \
|
||||
--libdir=$(libdir /usr/lib) \
|
||||
"
|
||||
|
||||
if [ -f "$topdir/.config.args" ]; then
|
||||
args="$args $(cat $topdir/.config.args)"
|
||||
fi
|
||||
|
||||
if [ ! -L /bin ]; then
|
||||
args="$args \
|
||||
--with-rootprefix=/ \
|
||||
--with-rootlibdir=$(libdir /lib) \
|
||||
"
|
||||
fi
|
||||
|
||||
args="$args $@"
|
||||
cd $oldpwd
|
||||
|
||||
if [ "$verb" = "c" ]; then
|
||||
set -x
|
||||
$topdir/configure CFLAGS='-g -O0 -ftrapv' $args
|
||||
make clean >/dev/null
|
||||
elif [ "$verb" = "g" ]; then
|
||||
set -x
|
||||
$topdir/configure CFLAGS='-g -Og -ftrapv' $args
|
||||
make clean >/dev/null
|
||||
elif [ "$verb" = "a" ]; then
|
||||
set -x
|
||||
$topdir/configure CFLAGS='-g -O0 -Wsuggest-attribute=pure -Wsuggest-attribute=const -ftrapv' $args
|
||||
make clean >/dev/null
|
||||
elif [ "$verb" = "l" ]; then
|
||||
set -x
|
||||
$topdir/configure CC=clang CFLAGS='-g -O0 -ftrapv' $args
|
||||
make clean >/dev/null
|
||||
elif [ "$verb" = "s" ]; then
|
||||
set -x
|
||||
scan-build $topdir/configure CFLAGS='-std=gnu99 -g -O0 -ftrapv' $args
|
||||
scan-build make
|
||||
else
|
||||
echo
|
||||
echo "----------------------------------------------------------------"
|
||||
echo "Initialized build system. For a common configuration please run:"
|
||||
echo "----------------------------------------------------------------"
|
||||
echo
|
||||
echo "$topdir/configure CFLAGS='-g -O0 -ftrapv' $args"
|
||||
echo
|
||||
fi
|
1
catalog/.gitignore
vendored
1
catalog/.gitignore
vendored
@ -1 +0,0 @@
|
||||
*.catalog
|
@ -1 +0,0 @@
|
||||
../src/Makefile
|
@ -2,6 +2,7 @@ in_files = '''
|
||||
systemd.bg.catalog
|
||||
systemd.be.catalog
|
||||
systemd.be@latin.catalog
|
||||
systemd.de.catalog
|
||||
systemd.fr.catalog
|
||||
systemd.it.catalog
|
||||
systemd.pl.catalog
|
||||
|
@ -99,18 +99,6 @@ and storage by systemd-coredump(8). Only the first @SIZE_LIMIT@ bytes were
|
||||
saved. This core might still be usable, but various tools like gdb(1) will warn
|
||||
about the file being truncated.
|
||||
|
||||
-- fc2e22bc6ee647b6b90729ab34a250b1 de
|
||||
Subject: Speicherabbild für Prozess @COREDUMP_PID@ (@COREDUMP_COMM) generiert
|
||||
Defined-By: systemd
|
||||
Support: %SUPPORT_URL%
|
||||
Documentation: man:core(5)
|
||||
|
||||
Prozess @COREDUMP_PID@ (@COREDUMP_COMM@) ist abgebrochen worden und
|
||||
ein Speicherabbild wurde generiert.
|
||||
|
||||
Üblicherweise ist dies ein Hinweis auf einen Programmfehler und sollte
|
||||
als Fehler dem jeweiligen Hersteller gemeldet werden.
|
||||
|
||||
-- 8d45620c1a4348dbb17410da57c60c66
|
||||
Subject: A new session @SESSION_ID@ has been created for user @USER_ID@
|
||||
Defined-By: systemd
|
||||
@ -354,3 +342,18 @@ Documentation: man:systemd-resolved.service(8)
|
||||
A DNSSEC trust anchor has been revoked. A new trust anchor has to be
|
||||
configured, or the operating system needs to be updated, to provide an updated
|
||||
DNSSEC trust anchor.
|
||||
|
||||
-- 5eb03494b6584870a536b337290809b3
|
||||
Subject: Automatic restarting of a unit has been scheduled
|
||||
Defined-By: systemd
|
||||
Support: %SUPPORT_URL%
|
||||
|
||||
Automatic restarting of the unit @UNIT@ has been scheduled, as the result for
|
||||
the configured Restart= setting for the unit.
|
||||
|
||||
-- ae8f7b866b0347b9af31fe1c80b127c0
|
||||
Subject: Resources consumed by unit runtime
|
||||
Defined-By: systemd
|
||||
Support: %SUPPORT_URL%
|
||||
|
||||
The unit @UNIT@ completed and consumed the indicated resources.
|
||||
|
@ -1,6 +1,6 @@
|
||||
# This file is part of systemd.
|
||||
#
|
||||
# Copyright 2010 Lennart Poettering
|
||||
# Copyright 2012 Lennart Poettering
|
||||
#
|
||||
# systemd is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU Lesser General Public License as published by
|
||||
@ -15,14 +15,14 @@
|
||||
# You should have received a copy of the GNU Lesser General Public License
|
||||
# along with systemd; If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
# This file is a dirty trick to simplify compilation from within
|
||||
# emacs. This file is not intended to be distributed. So, don't touch
|
||||
# it, even better ignore it!
|
||||
-- fc2e22bc6ee647b6b90729ab34a250b1
|
||||
Subject: Speicherabbild für Prozess @COREDUMP_PID@ (@COREDUMP_COMM) generiert
|
||||
Defined-By: systemd
|
||||
Support: %SUPPORT_URL%
|
||||
Documentation: man:core(5)
|
||||
|
||||
all:
|
||||
$(MAKE) -C ..
|
||||
Prozess @COREDUMP_PID@ (@COREDUMP_COMM@) ist abgebrochen worden und
|
||||
ein Speicherabbild wurde generiert.
|
||||
|
||||
clean:
|
||||
$(MAKE) -C .. clean
|
||||
|
||||
.PHONY: all clean
|
||||
Üblicherweise ist dies ein Hinweis auf einen Programmfehler und sollte
|
||||
als Fehler dem jeweiligen Hersteller gemeldet werden.
|
@ -1,7 +1,7 @@
|
||||
# This file is part of systemd.
|
||||
#
|
||||
# Copyright 2012 Lennart Poettering
|
||||
# Copyright 2014-2016 Piotr Drąg
|
||||
# Copyright 2014-2017 Piotr Drąg
|
||||
#
|
||||
# systemd is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU Lesser General Public License as published by
|
||||
@ -336,3 +336,18 @@ Documentation: man:systemd-resolved.service(8)
|
||||
Kotwica zaufania DNSSEC została unieważniona. Należy skonfigurować nową, albo
|
||||
system operacyjny musi zostać zaktualizowany, aby dostarczyć zaktualizowaną
|
||||
kotwicę zaufania DNSSEC.
|
||||
|
||||
-- 5eb03494b6584870a536b337290809b3
|
||||
Subject: Zaplanowano automatyczne ponowne uruchamianie jednostki
|
||||
Defined-By: systemd
|
||||
Support: %SUPPORT_URL%
|
||||
|
||||
W wyniki skonfigurowania ustawienia Restart= zaplanowano automatyczne ponowne
|
||||
uruchamianie jednostki @UNIT@.
|
||||
|
||||
-- ae8f7b866b0347b9af31fe1c80b127c0
|
||||
Subject: Zasoby zużyte przez uruchomienie jednostki
|
||||
Defined-By: systemd
|
||||
Support: %SUPPORT_URL%
|
||||
|
||||
Jednostka @UNIT@ została ukończona, zużywając wskazane zasoby.
|
||||
|
35
coccinelle/in_set.cocci
Normal file
35
coccinelle/in_set.cocci
Normal file
@ -0,0 +1,35 @@
|
||||
@@
|
||||
expression e;
|
||||
identifier n1, n2, n3, n4, n5, n6;
|
||||
statement s;
|
||||
@@
|
||||
- e == n1 || e == n2 || e == n3 || e == n4 || e == n5 || e == n6
|
||||
+ IN_SET(e, n1, n2, n3, n4, n5, n6)
|
||||
@@
|
||||
expression e;
|
||||
identifier n1, n2, n3, n4, n5;
|
||||
statement s;
|
||||
@@
|
||||
- e == n1 || e == n2 || e == n3 || e == n4 || e == n5
|
||||
+ IN_SET(e, n1, n2, n3, n4, n5)
|
||||
@@
|
||||
expression e;
|
||||
identifier n1, n2, n3, n4;
|
||||
statement s;
|
||||
@@
|
||||
- e == n1 || e == n2 || e == n3 || e == n4
|
||||
+ IN_SET(e, n1, n2, n3, n4)
|
||||
@@
|
||||
expression e;
|
||||
identifier n1, n2, n3;
|
||||
statement s;
|
||||
@@
|
||||
- e == n1 || e == n2 || e == n3
|
||||
+ IN_SET(e, n1, n2, n3)
|
||||
@@
|
||||
expression e;
|
||||
identifier n, p;
|
||||
statement s;
|
||||
@@
|
||||
- e == n || e == p
|
||||
+ IN_SET(e, n, p)
|
147
coccinelle/not_in_set.cocci
Normal file
147
coccinelle/not_in_set.cocci
Normal file
@ -0,0 +1,147 @@
|
||||
@@
|
||||
expression e;
|
||||
identifier n0, n1, n2, n3, n4, n5, n6, n7, n8, n9, n10, n11, n12, n13, n14, n15, n16, n17, n18, n19, n20;
|
||||
statement s;
|
||||
@@
|
||||
- e != n0 && e != n1 && e != n2 && e != n3 && e != n4 && e != n5 && e != n6 && e != n7 && e != n8 && e != n9 && e != n10 && e != n11 && e != n12 && e != n13 && e != n14 && e != n15 && e != n16 && e != n17 && e != n18 && e != n19 && e != n20
|
||||
+ !IN_SET(e, n0, n1, n2, n3, n4, n5, n6, n7, n8, n9, n10, n11, n12, n13, n14, n15, n16, n17, n18, n19, n20)
|
||||
@@
|
||||
expression e;
|
||||
identifier n0, n1, n2, n3, n4, n5, n6, n7, n8, n9, n10, n11, n12, n13, n14, n15, n16, n17, n18, n19;
|
||||
statement s;
|
||||
@@
|
||||
- e != n0 && e != n1 && e != n2 && e != n3 && e != n4 && e != n5 && e != n6 && e != n7 && e != n8 && e != n9 && e != n10 && e != n11 && e != n12 && e != n13 && e != n14 && e != n15 && e != n16 && e != n17 && e != n18 && e != n19
|
||||
+ !IN_SET(e, n0, n1, n2, n3, n4, n5, n6, n7, n8, n9, n10, n11, n12, n13, n14, n15, n16, n17, n18, n19)
|
||||
@@
|
||||
expression e;
|
||||
identifier n0, n1, n2, n3, n4, n5, n6, n7, n8, n9, n10, n11, n12, n13, n14, n15, n16, n17, n18;
|
||||
statement s;
|
||||
@@
|
||||
- e != n0 && e != n1 && e != n2 && e != n3 && e != n4 && e != n5 && e != n6 && e != n7 && e != n8 && e != n9 && e != n10 && e != n11 && e != n12 && e != n13 && e != n14 && e != n15 && e != n16 && e != n17 && e != n18
|
||||
+ !IN_SET(e, n0, n1, n2, n3, n4, n5, n6, n7, n8, n9, n10, n11, n12, n13, n14, n15, n16, n17, n18)
|
||||
@@
|
||||
expression e;
|
||||
identifier n0, n1, n2, n3, n4, n5, n6, n7, n8, n9, n10, n11, n12, n13, n14, n15, n16, n17;
|
||||
statement s;
|
||||
@@
|
||||
- e != n0 && e != n1 && e != n2 && e != n3 && e != n4 && e != n5 && e != n6 && e != n7 && e != n8 && e != n9 && e != n10 && e != n11 && e != n12 && e != n13 && e != n14 && e != n15 && e != n16 && e != n17
|
||||
+ !IN_SET(e, n0, n1, n2, n3, n4, n5, n6, n7, n8, n9, n10, n11, n12, n13, n14, n15, n16, n17)
|
||||
@@
|
||||
expression e;
|
||||
identifier n0, n1, n2, n3, n4, n5, n6, n7, n8, n9, n10, n11, n12, n13, n14, n15, n16;
|
||||
statement s;
|
||||
@@
|
||||
- e != n0 && e != n1 && e != n2 && e != n3 && e != n4 && e != n5 && e != n6 && e != n7 && e != n8 && e != n9 && e != n10 && e != n11 && e != n12 && e != n13 && e != n14 && e != n15 && e != n16
|
||||
+ !IN_SET(e, n0, n1, n2, n3, n4, n5, n6, n7, n8, n9, n10, n11, n12, n13, n14, n15, n16)
|
||||
@@
|
||||
expression e;
|
||||
identifier n0, n1, n2, n3, n4, n5, n6, n7, n8, n9, n10, n11, n12, n13, n14, n15;
|
||||
statement s;
|
||||
@@
|
||||
- e != n0 && e != n1 && e != n2 && e != n3 && e != n4 && e != n5 && e != n6 && e != n7 && e != n8 && e != n9 && e != n10 && e != n11 && e != n12 && e != n13 && e != n14 && e != n15
|
||||
+ !IN_SET(e, n0, n1, n2, n3, n4, n5, n6, n7, n8, n9, n10, n11, n12, n13, n14, n15)
|
||||
@@
|
||||
expression e;
|
||||
identifier n0, n1, n2, n3, n4, n5, n6, n7, n8, n9, n10, n11, n12, n13, n14;
|
||||
statement s;
|
||||
@@
|
||||
- e != n0 && e != n1 && e != n2 && e != n3 && e != n4 && e != n5 && e != n6 && e != n7 && e != n8 && e != n9 && e != n10 && e != n11 && e != n12 && e != n13 && e != n14
|
||||
+ !IN_SET(e, n0, n1, n2, n3, n4, n5, n6, n7, n8, n9, n10, n11, n12, n13, n14)
|
||||
@@
|
||||
expression e;
|
||||
identifier n0, n1, n2, n3, n4, n5, n6, n7, n8, n9, n10, n11, n12, n13;
|
||||
statement s;
|
||||
@@
|
||||
- e != n0 && e != n1 && e != n2 && e != n3 && e != n4 && e != n5 && e != n6 && e != n7 && e != n8 && e != n9 && e != n10 && e != n11 && e != n12 && e != n13
|
||||
+ !IN_SET(e, n0, n1, n2, n3, n4, n5, n6, n7, n8, n9, n10, n11, n12, n13)
|
||||
@@
|
||||
expression e;
|
||||
identifier n0, n1, n2, n3, n4, n5, n6, n7, n8, n9, n10, n11, n12;
|
||||
statement s;
|
||||
@@
|
||||
- e != n0 && e != n1 && e != n2 && e != n3 && e != n4 && e != n5 && e != n6 && e != n7 && e != n8 && e != n9 && e != n10 && e != n11 && e != n12
|
||||
+ !IN_SET(e, n0, n1, n2, n3, n4, n5, n6, n7, n8, n9, n10, n11, n12)
|
||||
@@
|
||||
expression e;
|
||||
identifier n0, n1, n2, n3, n4, n5, n6, n7, n8, n9, n10, n11;
|
||||
statement s;
|
||||
@@
|
||||
- e != n0 && e != n1 && e != n2 && e != n3 && e != n4 && e != n5 && e != n6 && e != n7 && e != n8 && e != n9 && e != n10 && e != n11
|
||||
+ !IN_SET(e, n0, n1, n2, n3, n4, n5, n6, n7, n8, n9, n10, n11)
|
||||
@@
|
||||
expression e;
|
||||
identifier n0, n1, n2, n3, n4, n5, n6, n7, n8, n9, n10;
|
||||
statement s;
|
||||
@@
|
||||
- e != n0 && e != n1 && e != n2 && e != n3 && e != n4 && e != n5 && e != n6 && e != n7 && e != n8 && e != n9 && e != n10
|
||||
+ !IN_SET(e, n0, n1, n2, n3, n4, n5, n6, n7, n8, n9, n10)
|
||||
@@
|
||||
expression e;
|
||||
identifier n0, n1, n2, n3, n4, n5, n6, n7, n8, n9;
|
||||
statement s;
|
||||
@@
|
||||
- e != n0 && e != n1 && e != n2 && e != n3 && e != n4 && e != n5 && e != n6 && e != n7 && e != n8 && e != n9
|
||||
+ !IN_SET(e, n0, n1, n2, n3, n4, n5, n6, n7, n8, n9)
|
||||
@@
|
||||
expression e;
|
||||
identifier n0, n1, n2, n3, n4, n5, n6, n7, n8;
|
||||
statement s;
|
||||
@@
|
||||
- e != n0 && e != n1 && e != n2 && e != n3 && e != n4 && e != n5 && e != n6 && e != n7 && e != n8
|
||||
+ !IN_SET(e, n0, n1, n2, n3, n4, n5, n6, n7, n8)
|
||||
@@
|
||||
expression e;
|
||||
identifier n0, n1, n2, n3, n4, n5, n6, n7;
|
||||
statement s;
|
||||
@@
|
||||
- e != n0 && e != n1 && e != n2 && e != n3 && e != n4 && e != n5 && e != n6 && e != n7
|
||||
+ !IN_SET(e, n0, n1, n2, n3, n4, n5, n6, n7)
|
||||
@@
|
||||
expression e;
|
||||
identifier n0, n1, n2, n3, n4, n5, n6;
|
||||
statement s;
|
||||
@@
|
||||
- e != n0 && e != n1 && e != n2 && e != n3 && e != n4 && e != n5 && e != n6
|
||||
+ !IN_SET(e, n0, n1, n2, n3, n4, n5, n6)
|
||||
@@
|
||||
expression e;
|
||||
identifier n0, n1, n2, n3, n4, n5;
|
||||
statement s;
|
||||
@@
|
||||
- e != n0 && e != n1 && e != n2 && e != n3 && e != n4 && e != n5
|
||||
+ !IN_SET(e, n0, n1, n2, n3, n4, n5)
|
||||
@@
|
||||
expression e;
|
||||
identifier n1, n2, n3, n4, n5;
|
||||
statement s;
|
||||
@@
|
||||
- e != n1 && e != n2 && e != n3 && e != n4 && e != n5
|
||||
+ !IN_SET(e, n1, n2, n3, n4, n5)
|
||||
@@
|
||||
expression e;
|
||||
identifier n1, n2, n3, n4;
|
||||
statement s;
|
||||
@@
|
||||
- e != n1 && e != n2 && e != n3 && e != n4
|
||||
+ !IN_SET(e, n1, n2, n3, n4)
|
||||
@@
|
||||
expression e;
|
||||
identifier n1, n2, n3, n4;
|
||||
statement s;
|
||||
@@
|
||||
- e != n1 && e != n2 && e != n3 && e != n4
|
||||
+ !IN_SET(e, n1, n2, n3, n4)
|
||||
@@
|
||||
expression e;
|
||||
identifier n1, n2, n3;
|
||||
statement s;
|
||||
@@
|
||||
- e != n1 && e != n2 && e != n3
|
||||
+ !IN_SET(e, n1, n2, n3)
|
||||
@@
|
||||
expression e;
|
||||
identifier n, p;
|
||||
statement s;
|
||||
@@
|
||||
- e != n && e != p
|
||||
+ !IN_SET(e, n, p)
|
21
configure
vendored
Executable file
21
configure
vendored
Executable file
@ -0,0 +1,21 @@
|
||||
#!/bin/bash -e
|
||||
|
||||
cflags=CFLAGS="$CFLAGS"
|
||||
cxxflags=CXXFLAGS="$CXXFLAGS"
|
||||
declare -a args
|
||||
j=0
|
||||
for i in "$@"; do
|
||||
case "$i" in
|
||||
CFLAGS=*)
|
||||
cflags="$i";;
|
||||
CXXFLAGS=*)
|
||||
cxxflags="$i";;
|
||||
*)
|
||||
args[$j]="$i"
|
||||
j=$((j+1))
|
||||
esac
|
||||
done
|
||||
|
||||
export "$cflags" "$cxxflags"
|
||||
set -x
|
||||
exec meson build "${args[@]}"
|
1863
configure.ac
1863
configure.ac
File diff suppressed because it is too large
Load Diff
1
docs/.gitignore
vendored
1
docs/.gitignore
vendored
@ -1 +0,0 @@
|
||||
/html
|
@ -1 +0,0 @@
|
||||
../src/Makefile
|
1
docs/sysvinit/.gitignore
vendored
1
docs/sysvinit/.gitignore
vendored
@ -1 +0,0 @@
|
||||
/README
|
@ -1 +0,0 @@
|
||||
../../src/Makefile
|
@ -3,7 +3,7 @@ file = configure_file(
|
||||
output : 'README',
|
||||
configuration : substs)
|
||||
|
||||
if conf.get('HAVE_SYSV_COMPAT', false)
|
||||
if conf.get('HAVE_SYSV_COMPAT') == 1
|
||||
install_data(file,
|
||||
install_dir : sysvinit_path)
|
||||
endif
|
||||
|
1
docs/var-log/.gitignore
vendored
1
docs/var-log/.gitignore
vendored
@ -1 +0,0 @@
|
||||
/README
|
@ -1 +0,0 @@
|
||||
../../src/Makefile
|
@ -3,7 +3,7 @@ file = configure_file(
|
||||
output : 'README',
|
||||
configuration : substs)
|
||||
|
||||
if conf.get('HAVE_SYSV_COMPAT', false)
|
||||
if conf.get('HAVE_SYSV_COMPAT') == 1
|
||||
install_data(file,
|
||||
install_dir : varlogdir)
|
||||
endif
|
||||
|
7
hwdb/.gitignore
vendored
7
hwdb/.gitignore
vendored
@ -1,8 +1 @@
|
||||
/20-acpi-vendor.hwdb.base
|
||||
/acpi_id_registry.html
|
||||
/ma-large.txt
|
||||
/ma-medium.txt
|
||||
/ma-small.txt
|
||||
/pci.ids
|
||||
/pnp_id_registry.html
|
||||
/usb.ids
|
||||
|
162176
hwdb/20-OUI.hwdb
162176
hwdb/20-OUI.hwdb
File diff suppressed because it is too large
Load Diff
@ -114,6 +114,9 @@ acpi:IBMX*:
|
||||
acpi:IDEA*:
|
||||
ID_VENDOR_FROM_DATABASE=Lenovo Beijing Co. Ltd.
|
||||
|
||||
acpi:IHSE*:
|
||||
ID_VENDOR_FROM_DATABASE=IHSE GmbH
|
||||
|
||||
acpi:IMPJ*:
|
||||
ID_VENDOR_FROM_DATABASE=Impinj
|
||||
|
||||
@ -1338,9 +1341,6 @@ acpi:CHO*:
|
||||
acpi:CHP*:
|
||||
ID_VENDOR_FROM_DATABASE=CH Products
|
||||
|
||||
acpi:CHR*:
|
||||
ID_VENDOR_FROM_DATABASE=christmann informationstechnik + medien GmbH & Co. KG
|
||||
|
||||
acpi:CHS*:
|
||||
ID_VENDOR_FROM_DATABASE=Agentur Chairos
|
||||
|
||||
@ -2736,9 +2736,6 @@ acpi:GFN*:
|
||||
acpi:GGL*:
|
||||
ID_VENDOR_FROM_DATABASE=Google Inc.
|
||||
|
||||
acpi:GGT*:
|
||||
ID_VENDOR_FROM_DATABASE=G2TOUCH KOREA
|
||||
|
||||
acpi:GIC*:
|
||||
ID_VENDOR_FROM_DATABASE=General Inst. Corporation
|
||||
|
||||
@ -4551,9 +4548,6 @@ acpi:MVM*:
|
||||
acpi:MVN*:
|
||||
ID_VENDOR_FROM_DATABASE=Meta Company
|
||||
|
||||
acpi:MVR*:
|
||||
ID_VENDOR_FROM_DATABASE=MediCapture, Inc.
|
||||
|
||||
acpi:MVS*:
|
||||
ID_VENDOR_FROM_DATABASE=Microvision
|
||||
|
||||
@ -5265,9 +5259,6 @@ acpi:PNR*:
|
||||
acpi:PNS*:
|
||||
ID_VENDOR_FROM_DATABASE=PanaScope
|
||||
|
||||
acpi:PNT*:
|
||||
ID_VENDOR_FROM_DATABASE=HOYA Corporation PENTAX Lifecare Division
|
||||
|
||||
acpi:PNX*:
|
||||
ID_VENDOR_FROM_DATABASE=Phoenix Technologies, Ltd.
|
||||
|
||||
@ -6522,9 +6513,6 @@ acpi:TEK*:
|
||||
acpi:TEL*:
|
||||
ID_VENDOR_FROM_DATABASE=Promotion and Display Technology Ltd.
|
||||
|
||||
acpi:TEN*:
|
||||
ID_VENDOR_FROM_DATABASE=Tencent
|
||||
|
||||
acpi:TER*:
|
||||
ID_VENDOR_FROM_DATABASE=TerraTec Electronic GmbH
|
||||
|
||||
|
@ -1,492 +1,493 @@
|
||||
--- 20-acpi-vendor.hwdb.base 2016-06-10 12:40:38.143970821 +0200
|
||||
+++ 20-acpi-vendor.hwdb 2016-06-10 12:43:40.557054147 +0200
|
||||
--- 20-acpi-vendor.hwdb.base 2017-09-28 13:48:25.370636463 +0200
|
||||
+++ 20-acpi-vendor.hwdb 2017-09-28 13:48:25.375636571 +0200
|
||||
@@ -3,6 +3,8 @@
|
||||
# Data imported from:
|
||||
# http://www.uefi.org/uefi-pnp-export
|
||||
# http://www.uefi.org/uefi-acpi-export
|
||||
+#
|
||||
+# With various additions from other sources
|
||||
|
||||
acpi:3NOD*:
|
||||
ID_VENDOR_FROM_DATABASE=Shenzhen three Connaught Information Technology Co., Ltd. (3nod Group)
|
||||
@@ -10,9 +12,6 @@
|
||||
|
||||
acpi:3GVR*:
|
||||
ID_VENDOR_FROM_DATABASE=VR Technology Holdings Limited
|
||||
@@ -16,9 +18,6 @@
|
||||
acpi:AAVA*:
|
||||
ID_VENDOR_FROM_DATABASE=Aava Mobile Oy
|
||||
|
||||
|
||||
-acpi:ACPI*:
|
||||
- ID_VENDOR_FROM_DATABASE=Intel Corporation
|
||||
-
|
||||
acpi:AMDI*:
|
||||
ID_VENDOR_FROM_DATABASE=AMD
|
||||
|
||||
@@ -217,6 +216,9 @@
|
||||
|
||||
@@ -244,6 +243,9 @@
|
||||
acpi:AAA*:
|
||||
ID_VENDOR_FROM_DATABASE=Avolites Ltd
|
||||
|
||||
|
||||
+acpi:AAC*:
|
||||
+ ID_VENDOR_FROM_DATABASE=AcerView
|
||||
+
|
||||
acpi:AAE*:
|
||||
ID_VENDOR_FROM_DATABASE=Anatek Electronics Inc.
|
||||
|
||||
@@ -241,6 +243,9 @@
|
||||
|
||||
@@ -271,6 +273,9 @@
|
||||
acpi:ABO*:
|
||||
ID_VENDOR_FROM_DATABASE=D-Link Systems Inc
|
||||
|
||||
|
||||
+acpi:ABP*:
|
||||
+ ID_VENDOR_FROM_DATABASE=Advansys
|
||||
+
|
||||
acpi:ABS*:
|
||||
ID_VENDOR_FROM_DATABASE=Abaco Systems, Inc.
|
||||
|
||||
@@ -286,7 +291,7 @@
|
||||
|
||||
@@ -316,7 +321,7 @@
|
||||
acpi:ACO*:
|
||||
ID_VENDOR_FROM_DATABASE=Allion Computer Inc.
|
||||
|
||||
|
||||
-acpi:ACP*:
|
||||
+acpi:ACP[0-9A-F]*:
|
||||
ID_VENDOR_FROM_DATABASE=Aspen Tech Inc
|
||||
|
||||
|
||||
acpi:ACR*:
|
||||
@@ -556,6 +561,9 @@
|
||||
@@ -586,6 +591,9 @@
|
||||
acpi:AMT*:
|
||||
ID_VENDOR_FROM_DATABASE=AMT International Industry
|
||||
|
||||
|
||||
+acpi:AMW*:
|
||||
+ ID_VENDOR_FROM_DATABASE=AMW
|
||||
+
|
||||
acpi:AMX*:
|
||||
ID_VENDOR_FROM_DATABASE=AMX LLC
|
||||
|
||||
@@ -604,6 +612,9 @@
|
||||
|
||||
@@ -634,6 +642,9 @@
|
||||
acpi:AOA*:
|
||||
ID_VENDOR_FROM_DATABASE=AOpen Inc.
|
||||
|
||||
|
||||
+acpi:AOC*:
|
||||
+ ID_VENDOR_FROM_DATABASE=AOC
|
||||
+
|
||||
acpi:AOE*:
|
||||
ID_VENDOR_FROM_DATABASE=Advanced Optics Electronics, Inc.
|
||||
|
||||
@@ -613,6 +624,9 @@
|
||||
|
||||
@@ -643,6 +654,9 @@
|
||||
acpi:AOT*:
|
||||
ID_VENDOR_FROM_DATABASE=Alcatel
|
||||
|
||||
|
||||
+acpi:APA*:
|
||||
+ ID_VENDOR_FROM_DATABASE=Adaptec
|
||||
+
|
||||
acpi:APC*:
|
||||
ID_VENDOR_FROM_DATABASE=American Power Conversion
|
||||
|
||||
@@ -788,7 +802,7 @@
|
||||
|
||||
@@ -818,7 +832,7 @@
|
||||
ID_VENDOR_FROM_DATABASE=Alps Electric Inc
|
||||
|
||||
|
||||
acpi:AUO*:
|
||||
- ID_VENDOR_FROM_DATABASE=DO NOT USE - AUO
|
||||
+ ID_VENDOR_FROM_DATABASE=AU Optronics
|
||||
|
||||
|
||||
acpi:AUR*:
|
||||
ID_VENDOR_FROM_DATABASE=Aureal Semiconductor
|
||||
@@ -862,6 +876,9 @@
|
||||
acpi:AXC*:
|
||||
ID_VENDOR_FROM_DATABASE=AXIOMTEK CO., LTD.
|
||||
|
||||
@@ -895,6 +909,9 @@
|
||||
acpi:AXE*:
|
||||
ID_VENDOR_FROM_DATABASE=Axell Corporation
|
||||
|
||||
+acpi:AXE*:
|
||||
+ ID_VENDOR_FROM_DATABASE=D-Link Systems Inc
|
||||
+
|
||||
acpi:AXI*:
|
||||
ID_VENDOR_FROM_DATABASE=American Magnetics
|
||||
|
||||
@@ -1003,6 +1020,9 @@
|
||||
|
||||
@@ -1039,6 +1056,9 @@
|
||||
acpi:BML*:
|
||||
ID_VENDOR_FROM_DATABASE=BIOMED Lab
|
||||
|
||||
|
||||
+acpi:BMM*:
|
||||
+ ID_VENDOR_FROM_DATABASE=BMM
|
||||
+
|
||||
acpi:BMS*:
|
||||
ID_VENDOR_FROM_DATABASE=BIOMEDISYS
|
||||
|
||||
@@ -1015,6 +1035,9 @@
|
||||
|
||||
@@ -1051,6 +1071,9 @@
|
||||
acpi:BNO*:
|
||||
ID_VENDOR_FROM_DATABASE=Bang & Olufsen
|
||||
|
||||
|
||||
+acpi:BNQ*:
|
||||
+ ID_VENDOR_FROM_DATABASE=BenQ Corporation
|
||||
+
|
||||
acpi:BNS*:
|
||||
ID_VENDOR_FROM_DATABASE=Boulder Nonlinear Systems
|
||||
|
||||
@@ -1255,6 +1278,9 @@
|
||||
|
||||
@@ -1291,6 +1314,9 @@
|
||||
acpi:CHA*:
|
||||
ID_VENDOR_FROM_DATABASE=Chase Research PLC
|
||||
|
||||
|
||||
+acpi:CHC*:
|
||||
+ ID_VENDOR_FROM_DATABASE=Chic Technology Corp.
|
||||
+
|
||||
acpi:CHD*:
|
||||
ID_VENDOR_FROM_DATABASE=ChangHong Electric Co.,Ltd
|
||||
|
||||
@@ -1402,6 +1428,9 @@
|
||||
|
||||
@@ -1438,6 +1464,9 @@
|
||||
acpi:COD*:
|
||||
ID_VENDOR_FROM_DATABASE=CODAN Pty. Ltd.
|
||||
|
||||
|
||||
+acpi:COG*:
|
||||
+ ID_VENDOR_FROM_DATABASE=Cogent
|
||||
+
|
||||
acpi:COI*:
|
||||
ID_VENDOR_FROM_DATABASE=Codec Inc.
|
||||
|
||||
@@ -1805,7 +1834,7 @@
|
||||
|
||||
@@ -1841,7 +1870,7 @@
|
||||
ID_VENDOR_FROM_DATABASE=Dragon Information Technology
|
||||
|
||||
|
||||
acpi:DJE*:
|
||||
- ID_VENDOR_FROM_DATABASE=Capstone Visua lProduct Development
|
||||
+ ID_VENDOR_FROM_DATABASE=Capstone Visual Product Development
|
||||
|
||||
|
||||
acpi:DJP*:
|
||||
ID_VENDOR_FROM_DATABASE=Maygay Machines, Ltd
|
||||
@@ -2119,6 +2148,9 @@
|
||||
@@ -2161,6 +2190,9 @@
|
||||
acpi:EIC*:
|
||||
ID_VENDOR_FROM_DATABASE=Eicon Technology Corporation
|
||||
|
||||
|
||||
+acpi:EIZ*:
|
||||
+ ID_VENDOR_FROM_DATABASE=Eizo
|
||||
+
|
||||
acpi:EKA*:
|
||||
ID_VENDOR_FROM_DATABASE=MagTek Inc.
|
||||
|
||||
@@ -2377,6 +2409,9 @@
|
||||
|
||||
@@ -2419,6 +2451,9 @@
|
||||
acpi:FCG*:
|
||||
ID_VENDOR_FROM_DATABASE=First International Computer Ltd
|
||||
|
||||
|
||||
+acpi:FCM*:
|
||||
+ ID_VENDOR_FROM_DATABASE=Funai
|
||||
+
|
||||
acpi:FCS*:
|
||||
ID_VENDOR_FROM_DATABASE=Focus Enhancements, Inc.
|
||||
|
||||
@@ -2839,6 +2874,9 @@
|
||||
|
||||
@@ -2884,6 +2919,9 @@
|
||||
acpi:HEC*:
|
||||
ID_VENDOR_FROM_DATABASE=Hisense Electric Co., Ltd.
|
||||
|
||||
|
||||
+acpi:HEI*:
|
||||
+ ID_VENDOR_FROM_DATABASE=Hyundai
|
||||
+
|
||||
acpi:HEL*:
|
||||
ID_VENDOR_FROM_DATABASE=Hitachi Micro Systems Europe Ltd
|
||||
|
||||
@@ -2968,6 +3006,9 @@
|
||||
|
||||
@@ -3013,6 +3051,9 @@
|
||||
acpi:HSD*:
|
||||
ID_VENDOR_FROM_DATABASE=HannStar Display Corp
|
||||
|
||||
|
||||
+acpi:HSL*:
|
||||
+ ID_VENDOR_FROM_DATABASE=Hansol
|
||||
+
|
||||
acpi:HSM*:
|
||||
ID_VENDOR_FROM_DATABASE=AT&T Microelectronics
|
||||
|
||||
@@ -3082,6 +3123,9 @@
|
||||
|
||||
@@ -3133,6 +3174,9 @@
|
||||
acpi:ICI*:
|
||||
ID_VENDOR_FROM_DATABASE=Infotek Communication Inc
|
||||
|
||||
|
||||
+acpi:ICL*:
|
||||
+ ID_VENDOR_FROM_DATABASE=Fujitsu ICL
|
||||
+
|
||||
acpi:ICM*:
|
||||
ID_VENDOR_FROM_DATABASE=Intracom SA
|
||||
|
||||
@@ -3175,6 +3219,9 @@
|
||||
|
||||
@@ -3226,6 +3270,9 @@
|
||||
acpi:IKE*:
|
||||
ID_VENDOR_FROM_DATABASE=Ikegami Tsushinki Co. Ltd.
|
||||
|
||||
|
||||
+acpi:IKN*:
|
||||
+ ID_VENDOR_FROM_DATABASE=IKON
|
||||
+
|
||||
acpi:IKS*:
|
||||
ID_VENDOR_FROM_DATABASE=Ikos Systems Inc
|
||||
|
||||
@@ -3217,6 +3264,9 @@
|
||||
|
||||
@@ -3268,6 +3315,9 @@
|
||||
acpi:IMT*:
|
||||
ID_VENDOR_FROM_DATABASE=Inmax Technology Corporation
|
||||
|
||||
|
||||
+acpi:IMS*:
|
||||
+ ID_VENDOR_FROM_DATABASE=Integrated Micro Solution Inc.
|
||||
+
|
||||
acpi:INA*:
|
||||
ID_VENDOR_FROM_DATABASE=Inventec Corporation
|
||||
|
||||
@@ -3712,6 +3762,9 @@
|
||||
|
||||
@@ -3769,6 +3819,9 @@
|
||||
acpi:LAN*:
|
||||
ID_VENDOR_FROM_DATABASE=Sodeman Lancom Inc
|
||||
|
||||
|
||||
+acpi:LAP*:
|
||||
+ ID_VENDOR_FROM_DATABASE=BenQ
|
||||
+
|
||||
acpi:LAS*:
|
||||
ID_VENDOR_FROM_DATABASE=LASAT Comm. A/S
|
||||
|
||||
@@ -3757,6 +3810,9 @@
|
||||
|
||||
@@ -3814,6 +3867,9 @@
|
||||
acpi:LED*:
|
||||
ID_VENDOR_FROM_DATABASE=Long Engineering Design Inc
|
||||
|
||||
|
||||
+acpi:LED*:
|
||||
+ ID_VENDOR_FROM_DATABASE=LeafNet
|
||||
+
|
||||
acpi:LEG*:
|
||||
ID_VENDOR_FROM_DATABASE=Legerity, Inc
|
||||
|
||||
@@ -3772,6 +3828,9 @@
|
||||
|
||||
@@ -3829,6 +3885,9 @@
|
||||
acpi:LGC*:
|
||||
ID_VENDOR_FROM_DATABASE=Logic Ltd
|
||||
|
||||
|
||||
+acpi:LGD*:
|
||||
+ ID_VENDOR_FROM_DATABASE=LG Display
|
||||
+
|
||||
acpi:LGI*:
|
||||
ID_VENDOR_FROM_DATABASE=Logitech Inc
|
||||
|
||||
@@ -3823,6 +3882,9 @@
|
||||
|
||||
@@ -3880,6 +3939,9 @@
|
||||
acpi:LND*:
|
||||
ID_VENDOR_FROM_DATABASE=Land Computer Company Ltd
|
||||
|
||||
|
||||
+acpi:LNE*:
|
||||
+ ID_VENDOR_FROM_DATABASE=Linksys
|
||||
+
|
||||
acpi:LNK*:
|
||||
ID_VENDOR_FROM_DATABASE=Link Tech Inc
|
||||
|
||||
@@ -3857,7 +3919,7 @@
|
||||
|
||||
@@ -3914,7 +3976,7 @@
|
||||
ID_VENDOR_FROM_DATABASE=Design Technology
|
||||
|
||||
|
||||
acpi:LPL*:
|
||||
- ID_VENDOR_FROM_DATABASE=DO NOT USE - LPL
|
||||
+ ID_VENDOR_FROM_DATABASE=LG Philips
|
||||
|
||||
|
||||
acpi:LSC*:
|
||||
ID_VENDOR_FROM_DATABASE=LifeSize Communications
|
||||
@@ -4027,6 +4089,9 @@
|
||||
@@ -4084,6 +4146,9 @@
|
||||
acpi:MCX*:
|
||||
ID_VENDOR_FROM_DATABASE=Millson Custom Solutions Inc.
|
||||
|
||||
|
||||
+acpi:MCY*:
|
||||
+ ID_VENDOR_FROM_DATABASE=Microdyne
|
||||
+
|
||||
acpi:MDA*:
|
||||
ID_VENDOR_FROM_DATABASE=Media4 Inc
|
||||
|
||||
@@ -4252,6 +4317,9 @@
|
||||
|
||||
@@ -4312,6 +4377,9 @@
|
||||
acpi:MOM*:
|
||||
ID_VENDOR_FROM_DATABASE=Momentum Data Systems
|
||||
|
||||
|
||||
+acpi:MON*:
|
||||
+ ID_VENDOR_FROM_DATABASE=Daewoo
|
||||
+
|
||||
acpi:MOS*:
|
||||
ID_VENDOR_FROM_DATABASE=Moses Corporation
|
||||
|
||||
@@ -4474,6 +4542,9 @@
|
||||
|
||||
@@ -4534,6 +4602,9 @@
|
||||
acpi:NAL*:
|
||||
ID_VENDOR_FROM_DATABASE=Network Alchemy
|
||||
|
||||
|
||||
+acpi:NAN*:
|
||||
+ ID_VENDOR_FROM_DATABASE=Nanao
|
||||
+
|
||||
acpi:NAT*:
|
||||
ID_VENDOR_FROM_DATABASE=NaturalPoint Inc.
|
||||
|
||||
@@ -4969,6 +5040,9 @@
|
||||
|
||||
@@ -5032,6 +5103,9 @@
|
||||
acpi:PCX*:
|
||||
ID_VENDOR_FROM_DATABASE=PC Xperten
|
||||
|
||||
|
||||
+acpi:PDC*:
|
||||
+ ID_VENDOR_FROM_DATABASE=Polaroid
|
||||
+
|
||||
acpi:PDM*:
|
||||
ID_VENDOR_FROM_DATABASE=Psion Dacom Plc.
|
||||
|
||||
@@ -5032,9 +5106,6 @@
|
||||
|
||||
@@ -5095,9 +5169,6 @@
|
||||
acpi:PHE*:
|
||||
ID_VENDOR_FROM_DATABASE=Philips Medical Systems Boeblingen GmbH
|
||||
|
||||
|
||||
-acpi:PHI*:
|
||||
- ID_VENDOR_FROM_DATABASE=DO NOT USE - PHI
|
||||
-
|
||||
acpi:PHL*:
|
||||
ID_VENDOR_FROM_DATABASE=Philips Consumer Electronics Company
|
||||
|
||||
@@ -5116,9 +5187,6 @@
|
||||
|
||||
@@ -5182,9 +5253,6 @@
|
||||
acpi:PNL*:
|
||||
ID_VENDOR_FROM_DATABASE=Panelview, Inc.
|
||||
|
||||
|
||||
-acpi:PNP*:
|
||||
- ID_VENDOR_FROM_DATABASE=Microsoft
|
||||
-
|
||||
acpi:PNR*:
|
||||
ID_VENDOR_FROM_DATABASE=Planar Systems, Inc.
|
||||
|
||||
@@ -5248,15 +5316,9 @@
|
||||
|
||||
@@ -5314,15 +5382,9 @@
|
||||
acpi:PTS*:
|
||||
ID_VENDOR_FROM_DATABASE=Plain Tree Systems Inc
|
||||
|
||||
|
||||
-acpi:PTW*:
|
||||
- ID_VENDOR_FROM_DATABASE=DO NOT USE - PTW
|
||||
-
|
||||
acpi:PUL*:
|
||||
ID_VENDOR_FROM_DATABASE=Pulse-Eight Ltd
|
||||
|
||||
|
||||
-acpi:PVC*:
|
||||
- ID_VENDOR_FROM_DATABASE=DO NOT USE - PVC
|
||||
-
|
||||
acpi:PVG*:
|
||||
ID_VENDOR_FROM_DATABASE=Proview Global Co., Ltd
|
||||
|
||||
@@ -5560,9 +5622,6 @@
|
||||
|
||||
@@ -5629,9 +5691,6 @@
|
||||
acpi:RTI*:
|
||||
ID_VENDOR_FROM_DATABASE=Rancho Tech Inc
|
||||
|
||||
|
||||
-acpi:RTK*:
|
||||
- ID_VENDOR_FROM_DATABASE=DO NOT USE - RTK
|
||||
-
|
||||
acpi:RTL*:
|
||||
ID_VENDOR_FROM_DATABASE=Realtek Semiconductor Company Ltd
|
||||
|
||||
@@ -5725,9 +5784,6 @@
|
||||
|
||||
@@ -5794,9 +5853,6 @@
|
||||
acpi:SEE*:
|
||||
ID_VENDOR_FROM_DATABASE=SeeColor Corporation
|
||||
|
||||
|
||||
-acpi:SEG*:
|
||||
- ID_VENDOR_FROM_DATABASE=DO NOT USE - SEG
|
||||
-
|
||||
acpi:SEI*:
|
||||
ID_VENDOR_FROM_DATABASE=Seitz & Associates Inc
|
||||
|
||||
@@ -6178,6 +6234,9 @@
|
||||
|
||||
@@ -6247,6 +6303,9 @@
|
||||
acpi:SVD*:
|
||||
ID_VENDOR_FROM_DATABASE=SVD Computer
|
||||
|
||||
|
||||
+acpi:SVE*:
|
||||
+ ID_VENDOR_FROM_DATABASE=SVEC
|
||||
+
|
||||
acpi:SVI*:
|
||||
ID_VENDOR_FROM_DATABASE=Sun Microsystems
|
||||
|
||||
@@ -6259,6 +6318,9 @@
|
||||
|
||||
@@ -6328,6 +6387,9 @@
|
||||
acpi:SZM*:
|
||||
ID_VENDOR_FROM_DATABASE=Shenzhen MTC Co., Ltd
|
||||
|
||||
|
||||
+acpi:SZV*:
|
||||
+ ID_VENDOR_FROM_DATABASE=OvisLink
|
||||
+
|
||||
acpi:TAA*:
|
||||
ID_VENDOR_FROM_DATABASE=Tandberg
|
||||
|
||||
@@ -6343,6 +6405,9 @@
|
||||
acpi:TDD*:
|
||||
ID_VENDOR_FROM_DATABASE=Tandberg Data Display AS
|
||||
|
||||
|
||||
@@ -6418,6 +6480,9 @@
|
||||
acpi:TDG*:
|
||||
ID_VENDOR_FROM_DATABASE=Six15 Technologies
|
||||
|
||||
+acpi:TDK*:
|
||||
+ ID_VENDOR_FROM_DATABASE=TDK USA Corporation
|
||||
+
|
||||
acpi:TDM*:
|
||||
ID_VENDOR_FROM_DATABASE=Tandem Computer Europe Inc
|
||||
|
||||
@@ -6379,6 +6444,9 @@
|
||||
|
||||
@@ -6454,6 +6519,9 @@
|
||||
acpi:TET*:
|
||||
ID_VENDOR_FROM_DATABASE=TETRADYNE CO., LTD.
|
||||
|
||||
|
||||
+acpi:TEX*:
|
||||
+ ID_VENDOR_FROM_DATABASE=Texas Instruments
|
||||
+
|
||||
acpi:TEZ*:
|
||||
ID_VENDOR_FROM_DATABASE=Tech Source Inc.
|
||||
|
||||
@@ -6490,9 +6558,6 @@
|
||||
|
||||
@@ -6568,9 +6636,6 @@
|
||||
acpi:TNC*:
|
||||
ID_VENDOR_FROM_DATABASE=TNC Industrial Company Ltd
|
||||
|
||||
|
||||
-acpi:TNJ*:
|
||||
- ID_VENDOR_FROM_DATABASE=DO NOT USE - TNJ
|
||||
-
|
||||
acpi:TNM*:
|
||||
ID_VENDOR_FROM_DATABASE=TECNIMAGEN SA
|
||||
|
||||
@@ -6787,14 +6852,14 @@
|
||||
|
||||
@@ -6874,14 +6939,14 @@
|
||||
acpi:UNC*:
|
||||
ID_VENDOR_FROM_DATABASE=Unisys Corporation
|
||||
|
||||
|
||||
-acpi:UND*:
|
||||
- ID_VENDOR_FROM_DATABASE=DO NOT USE - UND
|
||||
+acpi:UND*
|
||||
+ ID_VENDOR_FROM_DATABASE=Unisys Corporation
|
||||
|
||||
|
||||
-acpi:UNE*:
|
||||
- ID_VENDOR_FROM_DATABASE=DO NOT USE - UNE
|
||||
+acpi:UNE*
|
||||
+ ID_VENDOR_FROM_DATABASE=Unisys Corporation
|
||||
|
||||
|
||||
-acpi:UNF*:
|
||||
- ID_VENDOR_FROM_DATABASE=DO NOT USE - UNF
|
||||
+acpi:UNF*
|
||||
+ ID_VENDOR_FROM_DATABASE=Unisys Corporation
|
||||
|
||||
|
||||
acpi:UNI*:
|
||||
ID_VENDOR_FROM_DATABASE=Uniform Industry Corp.
|
||||
@@ -6829,6 +6894,9 @@
|
||||
@@ -6916,6 +6981,9 @@
|
||||
acpi:USA*:
|
||||
ID_VENDOR_FROM_DATABASE=Utimaco Safeware AG
|
||||
|
||||
|
||||
+acpi:USC*:
|
||||
+ ID_VENDOR_FROM_DATABASE=UltraStor
|
||||
+
|
||||
acpi:USD*:
|
||||
ID_VENDOR_FROM_DATABASE=U.S. Digital Corporation
|
||||
|
||||
@@ -7057,9 +7125,6 @@
|
||||
|
||||
@@ -7144,9 +7212,6 @@
|
||||
acpi:WAL*:
|
||||
ID_VENDOR_FROM_DATABASE=Wave Access
|
||||
|
||||
|
||||
-acpi:WAN*:
|
||||
- ID_VENDOR_FROM_DATABASE=DO NOT USE - WAN
|
||||
-
|
||||
acpi:WAV*:
|
||||
ID_VENDOR_FROM_DATABASE=Wavephore
|
||||
|
||||
@@ -7178,7 +7243,7 @@
|
||||
|
||||
@@ -7265,7 +7330,7 @@
|
||||
ID_VENDOR_FROM_DATABASE=Woxter Technology Co. Ltd
|
||||
|
||||
|
||||
acpi:WYS*:
|
||||
- ID_VENDOR_FROM_DATABASE=Myse Technology
|
||||
+ ID_VENDOR_FROM_DATABASE=Wyse Technology
|
||||
|
||||
|
||||
acpi:WYT*:
|
||||
ID_VENDOR_FROM_DATABASE=Wooyoung Image & Information Co.,Ltd.
|
||||
@@ -7192,9 +7257,6 @@
|
||||
@@ -7279,9 +7344,6 @@
|
||||
acpi:XDM*:
|
||||
ID_VENDOR_FROM_DATABASE=XDM Ltd.
|
||||
|
||||
|
||||
-acpi:XER*:
|
||||
- ID_VENDOR_FROM_DATABASE=DO NOT USE - XER
|
||||
-
|
||||
acpi:XFG*:
|
||||
ID_VENDOR_FROM_DATABASE=Jan Strapko - FOTO
|
||||
|
||||
@@ -7222,9 +7284,6 @@
|
||||
|
||||
@@ -7309,9 +7371,6 @@
|
||||
acpi:XNT*:
|
||||
ID_VENDOR_FROM_DATABASE=XN Technologies, Inc.
|
||||
|
||||
|
||||
-acpi:XOC*:
|
||||
- ID_VENDOR_FROM_DATABASE=DO NOT USE - XOC
|
||||
-
|
||||
acpi:XQU*:
|
||||
ID_VENDOR_FROM_DATABASE=SHANGHAI SVA-DAV ELECTRONICS CO., LTD
|
||||
|
||||
@@ -7291,6 +7350,9 @@
|
||||
|
||||
@@ -7378,6 +7437,9 @@
|
||||
acpi:ZBX*:
|
||||
ID_VENDOR_FROM_DATABASE=Zebax Technologies
|
||||
|
||||
|
||||
+acpi:ZCM*:
|
||||
+ ID_VENDOR_FROM_DATABASE=Zenith
|
||||
+
|
||||
acpi:ZCT*:
|
||||
ID_VENDOR_FROM_DATABASE=ZeitControl cardsystems GmbH
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -80,9 +80,6 @@ sdio:c*v02D0*
|
||||
sdio:c*v02D0d044B*
|
||||
ID_MODEL_FROM_DATABASE=Nintendo Wii WLAN daughter card
|
||||
|
||||
sdio:c*v02D0dA887*
|
||||
ID_MODEL_FROM_DATABASE=BCM43143 WLAN card
|
||||
|
||||
sdio:c*v02D0d4324*
|
||||
ID_MODEL_FROM_DATABASE=BCM43241 WLAN card
|
||||
|
||||
@ -95,21 +92,24 @@ sdio:c*v02D0d4330*
|
||||
sdio:c*v02D0d4334*
|
||||
ID_MODEL_FROM_DATABASE=BCM4334 WLAN card
|
||||
|
||||
sdio:c*v02D0d4335*
|
||||
ID_MODEL_FROM_DATABASE=BCM4335/BCM4339 WLAN card
|
||||
|
||||
sdio:c*v02D0d4354*
|
||||
ID_MODEL_FROM_DATABASE=BCM4354 WLAN card
|
||||
|
||||
sdio:c*v02D0dA887*
|
||||
ID_MODEL_FROM_DATABASE=BCM43143 WLAN card
|
||||
|
||||
sdio:c*v02D0dA94C*
|
||||
ID_MODEL_FROM_DATABASE=BCM43340 WLAN card
|
||||
|
||||
sdio:c*v02D0dA94D*
|
||||
ID_MODEL_FROM_DATABASE=BCM43341 WLAN card
|
||||
|
||||
sdio:c*v02D0d4335*
|
||||
ID_MODEL_FROM_DATABASE=BCM4335/BCM4339 WLAN card
|
||||
|
||||
sdio:c*v02D0dA962*
|
||||
ID_MODEL_FROM_DATABASE=BCM43362 WLAN card
|
||||
|
||||
sdio:c*v02D0d4354*
|
||||
ID_MODEL_FROM_DATABASE=BCM4354 WLAN card
|
||||
|
||||
sdio:c*v02DB*
|
||||
ID_VENDOR_FROM_DATABASE=SyChip Inc.
|
||||
|
||||
@ -146,12 +146,12 @@ sdio:c*v02DFd9129*
|
||||
sdio:c*v02DFd912A*
|
||||
ID_MODEL_FROM_DATABASE=SD8797 BT
|
||||
|
||||
sdio:c*v02DFd912E*
|
||||
ID_MODEL_FROM_DATABASE=SD8897 BT
|
||||
|
||||
sdio:c*v02DFd912D*
|
||||
ID_MODEL_FROM_DATABASE=SD8897 WLAN
|
||||
|
||||
sdio:c*v02DFd912E*
|
||||
ID_MODEL_FROM_DATABASE=SD8897 BT
|
||||
|
||||
sdio:c*v02FE*
|
||||
ID_VENDOR_FROM_DATABASE=Spectec Computer Co., Ltd
|
||||
|
||||
|
@ -92,9 +92,6 @@ usb:v02AD*
|
||||
usb:v02ADp138C*
|
||||
ID_MODEL_FROM_DATABASE=PVR Mass Storage
|
||||
|
||||
usb:v0300*
|
||||
ID_VENDOR_FROM_DATABASE=MM300 eBook Reader
|
||||
|
||||
usb:v0324*
|
||||
ID_VENDOR_FROM_DATABASE=OCZ Technology Inc
|
||||
|
||||
@ -410,6 +407,9 @@ usb:v03EBp7617*
|
||||
usb:v03EBp7800*
|
||||
ID_MODEL_FROM_DATABASE=Mini Album
|
||||
|
||||
usb:v03EBp800C*
|
||||
ID_MODEL_FROM_DATABASE=Airspy HF+
|
||||
|
||||
usb:v03EBpFF07*
|
||||
ID_MODEL_FROM_DATABASE=Tux Droid fish dongle
|
||||
|
||||
@ -4667,6 +4667,9 @@ usb:v0424p2640*
|
||||
usb:v0424p2660*
|
||||
ID_MODEL_FROM_DATABASE=Hub
|
||||
|
||||
usb:v0424p4041*
|
||||
ID_MODEL_FROM_DATABASE=Hub and media card controller
|
||||
|
||||
usb:v0424p4060*
|
||||
ID_MODEL_FROM_DATABASE=Ultra Fast Media Reader
|
||||
|
||||
@ -5537,6 +5540,9 @@ usb:v044FpB653*
|
||||
usb:v044FpB654*
|
||||
ID_MODEL_FROM_DATABASE=Ferrari GT Force Feedback Wheel
|
||||
|
||||
usb:v044FpB678*
|
||||
ID_MODEL_FROM_DATABASE=T.Flight Rudder Pedals
|
||||
|
||||
usb:v044FpB687*
|
||||
ID_MODEL_FROM_DATABASE=TWCS Throttle
|
||||
|
||||
@ -6947,6 +6953,9 @@ usb:v045Ep07F8*
|
||||
usb:v045Ep07FD*
|
||||
ID_MODEL_FROM_DATABASE=Nano Transceiver 1.1
|
||||
|
||||
usb:v045Ep0A00*
|
||||
ID_MODEL_FROM_DATABASE=Lumia 950 Dual SIM (RM-1118)
|
||||
|
||||
usb:v045Ep930A*
|
||||
ID_MODEL_FROM_DATABASE=ISOUSB.SYS Intel 82930 Isochronous IO Test Board
|
||||
|
||||
@ -7364,6 +7373,9 @@ usb:v046Dp0843*
|
||||
usb:v046Dp0850*
|
||||
ID_MODEL_FROM_DATABASE=QuickCam Web
|
||||
|
||||
usb:v046Dp085C*
|
||||
ID_MODEL_FROM_DATABASE=C922 Pro Stream Webcam
|
||||
|
||||
usb:v046Dp0870*
|
||||
ID_MODEL_FROM_DATABASE=QuickCam Express
|
||||
|
||||
@ -14165,6 +14177,9 @@ usb:v04D9pA050*
|
||||
usb:v04D9pA055*
|
||||
ID_MODEL_FROM_DATABASE=Keyboard
|
||||
|
||||
usb:v04D9pA09F*
|
||||
ID_MODEL_FROM_DATABASE=E-Signal LUOM G10 Mechanical Gaming Mouse
|
||||
|
||||
usb:v04D9pA100*
|
||||
ID_MODEL_FROM_DATABASE=Mouse [HV-MS735]
|
||||
|
||||
@ -15704,6 +15719,9 @@ usb:v04F2pB3EB*
|
||||
usb:v04F2pB3F6*
|
||||
ID_MODEL_FROM_DATABASE=HD WebCam (Acer)
|
||||
|
||||
usb:v04F2pB3FD*
|
||||
ID_MODEL_FROM_DATABASE=HD WebCam (Asus N-series)
|
||||
|
||||
usb:v04F2pB40E*
|
||||
ID_MODEL_FROM_DATABASE=HP Truevision HD camera
|
||||
|
||||
@ -17243,6 +17261,9 @@ usb:v04F9p2002*
|
||||
usb:v04F9p2004*
|
||||
ID_MODEL_FROM_DATABASE=PT-2300/2310 p-Touch Laber Printer
|
||||
|
||||
usb:v04F9p2007*
|
||||
ID_MODEL_FROM_DATABASE=PT-2420PC P-touch Label Printer
|
||||
|
||||
usb:v04F9p2015*
|
||||
ID_MODEL_FROM_DATABASE=QL-500 P-touch label printer
|
||||
|
||||
@ -19481,6 +19502,9 @@ usb:v0566p3004*
|
||||
usb:v0566p3107*
|
||||
ID_MODEL_FROM_DATABASE=Keyboard
|
||||
|
||||
usb:v0566p4006*
|
||||
ID_MODEL_FROM_DATABASE=FID 638 Mouse (Sun Microsystems)
|
||||
|
||||
usb:v0567*
|
||||
ID_VENDOR_FROM_DATABASE=Xyratex International, Ltd
|
||||
|
||||
@ -20441,6 +20465,9 @@ usb:v057Ep0305*
|
||||
usb:v057Ep0306*
|
||||
ID_MODEL_FROM_DATABASE=Wii Remote Controller RVL-003
|
||||
|
||||
usb:v057Ep0337*
|
||||
ID_MODEL_FROM_DATABASE=Wii U GameCube Controller Adapter
|
||||
|
||||
usb:v057Ep2006*
|
||||
ID_MODEL_FROM_DATABASE=Joy-Con L
|
||||
|
||||
@ -21821,6 +21848,9 @@ usb:v059Fp1061*
|
||||
usb:v059Fp1064*
|
||||
ID_MODEL_FROM_DATABASE=Rugged 16 and 32 GB
|
||||
|
||||
usb:v059Fp106B*
|
||||
ID_MODEL_FROM_DATABASE=Rugged Mini HDD
|
||||
|
||||
usb:v059Fp106D*
|
||||
ID_MODEL_FROM_DATABASE=Porsche Design Mobile Drive
|
||||
|
||||
@ -21848,6 +21878,21 @@ usb:v05A3*
|
||||
usb:v05A3p8388*
|
||||
ID_MODEL_FROM_DATABASE=Marvell 88W8388 802.11a/b/g WLAN
|
||||
|
||||
usb:v05A3p9230*
|
||||
ID_MODEL_FROM_DATABASE=Camera
|
||||
|
||||
usb:v05A3p9320*
|
||||
ID_MODEL_FROM_DATABASE=Camera
|
||||
|
||||
usb:v05A3p9331*
|
||||
ID_MODEL_FROM_DATABASE=Camera
|
||||
|
||||
usb:v05A3p9422*
|
||||
ID_MODEL_FROM_DATABASE=Camera
|
||||
|
||||
usb:v05A3p9520*
|
||||
ID_MODEL_FROM_DATABASE=Camera
|
||||
|
||||
usb:v05A4*
|
||||
ID_VENDOR_FROM_DATABASE=Ortek Technology, Inc.
|
||||
|
||||
@ -23351,6 +23396,9 @@ usb:v05DAp3022*
|
||||
usb:v05DAp3023*
|
||||
ID_MODEL_FROM_DATABASE=USB1200II Scanner
|
||||
|
||||
usb:v05DAp3025*
|
||||
ID_MODEL_FROM_DATABASE=ScanMaker S460
|
||||
|
||||
usb:v05DAp30C1*
|
||||
ID_MODEL_FROM_DATABASE=USB600 Scanner
|
||||
|
||||
@ -23693,6 +23741,9 @@ usb:v05DCpA81D*
|
||||
usb:v05DCpA833*
|
||||
ID_MODEL_FROM_DATABASE=JumpDrive S23 64GB
|
||||
|
||||
usb:v05DCpA838*
|
||||
ID_MODEL_FROM_DATABASE=JumpDrive Tough
|
||||
|
||||
usb:v05DCpB002*
|
||||
ID_MODEL_FROM_DATABASE=USB CF Reader
|
||||
|
||||
@ -24275,6 +24326,9 @@ usb:v0603p00F2*
|
||||
usb:v0603p6871*
|
||||
ID_MODEL_FROM_DATABASE=Mouse
|
||||
|
||||
usb:v0603p8611*
|
||||
ID_MODEL_FROM_DATABASE=NTK96550 based camera
|
||||
|
||||
usb:v0604*
|
||||
ID_VENDOR_FROM_DATABASE=Jean Co., Ltd
|
||||
|
||||
@ -29285,6 +29339,9 @@ usb:v07B4p0118*
|
||||
usb:v07B4p0125*
|
||||
ID_MODEL_FROM_DATABASE=Tough TG-1 Camera
|
||||
|
||||
usb:v07B4p0126*
|
||||
ID_MODEL_FROM_DATABASE=VR340/D750 Digital Camera
|
||||
|
||||
usb:v07B4p0184*
|
||||
ID_MODEL_FROM_DATABASE=P-S100 port
|
||||
|
||||
@ -33401,6 +33458,9 @@ usb:v0951p168A*
|
||||
usb:v0951p168C*
|
||||
ID_MODEL_FROM_DATABASE=DT Elite 3.0
|
||||
|
||||
usb:v0951p16B3*
|
||||
ID_MODEL_FROM_DATABASE=HyperX Savage
|
||||
|
||||
usb:v0954*
|
||||
ID_VENDOR_FROM_DATABASE=RPM Systems Corp.
|
||||
|
||||
@ -35531,6 +35591,9 @@ usb:v0ACDp0810*
|
||||
usb:v0ACDp2030*
|
||||
ID_MODEL_FROM_DATABASE=ValueMag Magnetic Stripe Reader
|
||||
|
||||
usb:v0ACDp3710*
|
||||
ID_MODEL_FROM_DATABASE=ViVOpay Kiosk III
|
||||
|
||||
usb:v0ACE*
|
||||
ID_VENDOR_FROM_DATABASE=ZyDAS
|
||||
|
||||
@ -38618,6 +38681,9 @@ usb:v0C45p7402*
|
||||
usb:v0C45p7403*
|
||||
ID_MODEL_FROM_DATABASE=Foot Switch
|
||||
|
||||
usb:v0C45p7404*
|
||||
ID_MODEL_FROM_DATABASE=Foot switch FS1-P
|
||||
|
||||
usb:v0C45p8000*
|
||||
ID_MODEL_FROM_DATABASE=DC31VC
|
||||
|
||||
@ -40226,6 +40292,9 @@ usb:v0D8Cp000D*
|
||||
usb:v0D8Cp000E*
|
||||
ID_MODEL_FROM_DATABASE=Audio Adapter (Planet UP-100, Genius G-Talk)
|
||||
|
||||
usb:v0D8Cp0014*
|
||||
ID_MODEL_FROM_DATABASE=Audio Adapter (Unitek Y-247A)
|
||||
|
||||
usb:v0D8Cp001F*
|
||||
ID_MODEL_FROM_DATABASE=CM108 Audio Controller
|
||||
|
||||
@ -41204,6 +41273,15 @@ usb:v0E0Fp0005*
|
||||
usb:v0E0Fp0006*
|
||||
ID_MODEL_FROM_DATABASE=Virtual Keyboard
|
||||
|
||||
usb:v0E0Fp8001*
|
||||
ID_MODEL_FROM_DATABASE=Root Hub
|
||||
|
||||
usb:v0E0Fp8002*
|
||||
ID_MODEL_FROM_DATABASE=Root Hub
|
||||
|
||||
usb:v0E0Fp8003*
|
||||
ID_MODEL_FROM_DATABASE=Root Hub
|
||||
|
||||
usb:v0E0FpF80A*
|
||||
ID_MODEL_FROM_DATABASE=Smoker FX2
|
||||
|
||||
@ -46157,6 +46235,9 @@ usb:v12D1p14D1*
|
||||
usb:v12D1p14DB*
|
||||
ID_MODEL_FROM_DATABASE=E353/E3131
|
||||
|
||||
usb:v12D1p14DC*
|
||||
ID_MODEL_FROM_DATABASE=E33372 LTE/UMTS/GSM HiLink Modem/Networkcard
|
||||
|
||||
usb:v12D1p14F1*
|
||||
ID_MODEL_FROM_DATABASE=Gobi 3000 HSPA+ Modem
|
||||
|
||||
@ -46187,6 +46268,12 @@ usb:v12D1p155A*
|
||||
usb:v12D1p1575*
|
||||
ID_MODEL_FROM_DATABASE=K5150 LTE modem
|
||||
|
||||
usb:v12D1p15BB*
|
||||
ID_MODEL_FROM_DATABASE=ME936 LTE/HSDPA+ 4G modem
|
||||
|
||||
usb:v12D1p15C1*
|
||||
ID_MODEL_FROM_DATABASE=ME906s LTE M.2 Module
|
||||
|
||||
usb:v12D1p15CA*
|
||||
ID_MODEL_FROM_DATABASE=E3131 3G/UMTS/HSPA+ Modem (Mass Storage Mode)
|
||||
|
||||
@ -46397,6 +46484,9 @@ usb:v131Dp0158*
|
||||
usb:v1325*
|
||||
ID_VENDOR_FROM_DATABASE=ams AG
|
||||
|
||||
usb:v1325p4002*
|
||||
ID_MODEL_FROM_DATABASE=I2C Dongle
|
||||
|
||||
usb:v132A*
|
||||
ID_VENDOR_FROM_DATABASE=Envara Inc.
|
||||
|
||||
@ -46523,14 +46613,26 @@ usb:v1342p0304*
|
||||
usb:v1343*
|
||||
ID_VENDOR_FROM_DATABASE=Citizen Systems
|
||||
|
||||
usb:v1343p0002*
|
||||
ID_MODEL_FROM_DATABASE=CW-01
|
||||
|
||||
usb:v1343p0003*
|
||||
ID_MODEL_FROM_DATABASE=CX / DNP DS40
|
||||
|
||||
usb:v1343p0004*
|
||||
ID_MODEL_FROM_DATABASE=CX-W / DNP DS80
|
||||
ID_MODEL_FROM_DATABASE=CX-W / DNP DS80 / Mitsubishi CP3800
|
||||
|
||||
usb:v1343p0005*
|
||||
ID_MODEL_FROM_DATABASE=CY / DNP DSRX
|
||||
ID_MODEL_FROM_DATABASE=CY / DNP DSRX1
|
||||
|
||||
usb:v1343p0006*
|
||||
ID_MODEL_FROM_DATABASE=CW-02
|
||||
|
||||
usb:v1343p0007*
|
||||
ID_MODEL_FROM_DATABASE=DNP DS80DX
|
||||
|
||||
usb:v1343p0008*
|
||||
ID_MODEL_FROM_DATABASE=CX2 / DNP DS620
|
||||
|
||||
usb:v1345*
|
||||
ID_VENDOR_FROM_DATABASE=Sino Lite Technology Corp.
|
||||
@ -46580,6 +46682,15 @@ usb:v1347p0413*
|
||||
usb:v1347p0414*
|
||||
ID_MODEL_FROM_DATABASE=G1-1400 CCD
|
||||
|
||||
usb:v1347p0415*
|
||||
ID_MODEL_FROM_DATABASE=G1-1200 CCD
|
||||
|
||||
usb:v1347p04B0*
|
||||
ID_MODEL_FROM_DATABASE=Gx CCD-B CCD
|
||||
|
||||
usb:v1347p04B1*
|
||||
ID_MODEL_FROM_DATABASE=Gx CCD-BI CCD
|
||||
|
||||
usb:v1348*
|
||||
ID_VENDOR_FROM_DATABASE=Katsuragawa Electric Co., Ltd.
|
||||
|
||||
@ -46643,6 +46754,9 @@ usb:v136B*
|
||||
usb:v136E*
|
||||
ID_VENDOR_FROM_DATABASE=Andor Technology Ltd.
|
||||
|
||||
usb:v136Ep0012*
|
||||
ID_MODEL_FROM_DATABASE=iXon Ultra CCD
|
||||
|
||||
usb:v136Ep0014*
|
||||
ID_MODEL_FROM_DATABASE=Zyla 5.5 sCMOS camera
|
||||
|
||||
@ -46685,6 +46799,12 @@ usb:v1371p9401*
|
||||
usb:v1376*
|
||||
ID_VENDOR_FROM_DATABASE=Vimtron Electronics Co., Ltd.
|
||||
|
||||
usb:v1377*
|
||||
ID_VENDOR_FROM_DATABASE=Sennheiser electronic GmbH & Co. KG
|
||||
|
||||
usb:v1377p4000*
|
||||
ID_MODEL_FROM_DATABASE=HDVD800
|
||||
|
||||
usb:v137B*
|
||||
ID_VENDOR_FROM_DATABASE=SCAPS GmbH
|
||||
|
||||
@ -46733,8 +46853,11 @@ usb:v138Ap0010*
|
||||
usb:v138Ap0011*
|
||||
ID_MODEL_FROM_DATABASE=VFS5011 Fingerprint Reader
|
||||
|
||||
usb:v138Ap0015*
|
||||
ID_MODEL_FROM_DATABASE=VFS 5011 fingerprint sensor
|
||||
|
||||
usb:v138Ap0017*
|
||||
ID_MODEL_FROM_DATABASE=Fingerprint Reader
|
||||
ID_MODEL_FROM_DATABASE=VFS 5011 fingerprint sensor
|
||||
|
||||
usb:v138Ap0018*
|
||||
ID_MODEL_FROM_DATABASE=Fingerprint scanner
|
||||
@ -46751,11 +46874,17 @@ usb:v138Ap003F*
|
||||
usb:v138Ap0050*
|
||||
ID_MODEL_FROM_DATABASE=Swipe Fingerprint Sensor
|
||||
|
||||
usb:v138Ap0090*
|
||||
ID_MODEL_FROM_DATABASE=VFS7500 Touch Fingerprint Sensor
|
||||
|
||||
usb:v138Ap0091*
|
||||
ID_MODEL_FROM_DATABASE=VFS7552 Touch Fingerprint Sensor
|
||||
|
||||
usb:v138E*
|
||||
ID_VENDOR_FROM_DATABASE=Jungo LTD
|
||||
|
||||
usb:v138Ep9000*
|
||||
ID_MODEL_FROM_DATABASE=Raisonance S.A. STM32 ARM evaluation board
|
||||
ID_MODEL_FROM_DATABASE=Raisonance S.A. STM32 ARM evaluation board / RLink dongle
|
||||
|
||||
usb:v1390*
|
||||
ID_VENDOR_FROM_DATABASE=TOMTOM B.V.
|
||||
@ -46769,6 +46898,9 @@ usb:v1390p5454*
|
||||
usb:v1390p7474*
|
||||
ID_MODEL_FROM_DATABASE=GPS Sport Watch [Runner, Multi-Sport]
|
||||
|
||||
usb:v1390pA001*
|
||||
ID_MODEL_FROM_DATABASE=Bandit Action Camera Batt-Stick
|
||||
|
||||
usb:v1391*
|
||||
ID_VENDOR_FROM_DATABASE=IdealTEK, Inc.
|
||||
|
||||
@ -46778,6 +46910,12 @@ usb:v1391p1000*
|
||||
usb:v1395*
|
||||
ID_VENDOR_FROM_DATABASE=Sennheiser Communications
|
||||
|
||||
usb:v1395p0025*
|
||||
ID_MODEL_FROM_DATABASE=Headset [PC 8]
|
||||
|
||||
usb:v1395p0046*
|
||||
ID_MODEL_FROM_DATABASE=PXC 550
|
||||
|
||||
usb:v1395p3556*
|
||||
ID_MODEL_FROM_DATABASE=USB Headset
|
||||
|
||||
@ -46880,6 +47018,12 @@ usb:v13B1p003E*
|
||||
usb:v13B1p003F*
|
||||
ID_MODEL_FROM_DATABASE=WUSB6300 802.11a/b/g/n/ac Wireless Adapter [Realtek RTL8812AU]
|
||||
|
||||
usb:v13B1p0041*
|
||||
ID_MODEL_FROM_DATABASE=Gigabit Ethernet Adapter
|
||||
|
||||
usb:v13B1p0042*
|
||||
ID_MODEL_FROM_DATABASE=WUSB6100M 802.11a/b/g/n/ac Wireless Adapter
|
||||
|
||||
usb:v13B1p13B1*
|
||||
ID_MODEL_FROM_DATABASE=WUSB200: Wireless-G Business Network Adapter with Rangebooster
|
||||
|
||||
@ -47031,11 +47175,14 @@ usb:v13D3p3244*
|
||||
ID_MODEL_FROM_DATABASE=DTV-DVB UDTT 7047Z-USB 2.0 DVB-T Driver
|
||||
|
||||
usb:v13D3p3247*
|
||||
ID_MODEL_FROM_DATABASE=802.11 n/g/b Wireless LAN Adapter
|
||||
ID_MODEL_FROM_DATABASE=AW-NU222 802.11bgn Wireless Module [Ralink RT2770+RT2720]
|
||||
|
||||
usb:v13D3p3249*
|
||||
ID_MODEL_FROM_DATABASE=Internal Bluetooth
|
||||
|
||||
usb:v13D3p3250*
|
||||
ID_MODEL_FROM_DATABASE=Broadcom Bluetooth 2.1
|
||||
|
||||
usb:v13D3p3262*
|
||||
ID_MODEL_FROM_DATABASE=802.11 n/g/b Wireless LAN USB Adapter
|
||||
|
||||
@ -47060,6 +47207,9 @@ usb:v13D3p3306*
|
||||
usb:v13D3p3315*
|
||||
ID_MODEL_FROM_DATABASE=Bluetooth module
|
||||
|
||||
usb:v13D3p3327*
|
||||
ID_MODEL_FROM_DATABASE=AW-NU137 802.11bgn Wireless Module [Atheros AR9271]
|
||||
|
||||
usb:v13D3p3362*
|
||||
ID_MODEL_FROM_DATABASE=Atheros AR3012 Bluetooth 4.0 Adapter
|
||||
|
||||
@ -47096,6 +47246,9 @@ usb:v13D3p5126*
|
||||
usb:v13D3p5130*
|
||||
ID_MODEL_FROM_DATABASE=Integrated Webcam
|
||||
|
||||
usb:v13D3p5134*
|
||||
ID_MODEL_FROM_DATABASE=Integrated Webcam
|
||||
|
||||
usb:v13D3p5702*
|
||||
ID_MODEL_FROM_DATABASE=UVC VGA Webcam
|
||||
|
||||
@ -47117,6 +47270,9 @@ usb:v13D7*
|
||||
usb:v13D7p0001*
|
||||
ID_MODEL_FROM_DATABASE=T5 PATA forensic bridge
|
||||
|
||||
usb:v13D7p000C*
|
||||
ID_MODEL_FROM_DATABASE=T8-R2 forensic bridge
|
||||
|
||||
usb:v13DC*
|
||||
ID_VENDOR_FROM_DATABASE=ALEREON, INC.
|
||||
|
||||
@ -47168,6 +47324,9 @@ usb:v13FDp0840*
|
||||
usb:v13FDp0841*
|
||||
ID_MODEL_FROM_DATABASE=Samsung SE-T084M DVD-RW
|
||||
|
||||
usb:v13FDp0940*
|
||||
ID_MODEL_FROM_DATABASE=ASUS SBW-06D2X-U
|
||||
|
||||
usb:v13FDp1040*
|
||||
ID_MODEL_FROM_DATABASE=INIC-1511L PATA Bridge
|
||||
|
||||
@ -47189,6 +47348,15 @@ usb:v13FDp1840*
|
||||
usb:v13FDp1E40*
|
||||
ID_MODEL_FROM_DATABASE=INIC-1610P SATA bridge
|
||||
|
||||
usb:v13FDp2040*
|
||||
ID_MODEL_FROM_DATABASE=Samsung Writemaster external DVD writer
|
||||
|
||||
usb:v13FDp3940*
|
||||
ID_MODEL_FROM_DATABASE=external DVD burner ECD819-SU3
|
||||
|
||||
usb:v13FDp3E40*
|
||||
ID_MODEL_FROM_DATABASE=ZALMAN ZM-VE350
|
||||
|
||||
usb:v13FE*
|
||||
ID_VENDOR_FROM_DATABASE=Kingston Technology Company Inc.
|
||||
|
||||
@ -47240,6 +47408,9 @@ usb:v13FEp5000*
|
||||
usb:v13FEp5100*
|
||||
ID_MODEL_FROM_DATABASE=Flash Drive
|
||||
|
||||
usb:v13FEp5200*
|
||||
ID_MODEL_FROM_DATABASE=DataTraveler R3.0
|
||||
|
||||
usb:v1400*
|
||||
ID_VENDOR_FROM_DATABASE=Axxion Group Corp.
|
||||
|
||||
@ -47252,6 +47423,9 @@ usb:v1403*
|
||||
usb:v1403p0001*
|
||||
ID_MODEL_FROM_DATABASE=Digital Photo Frame
|
||||
|
||||
usb:v1403p0003*
|
||||
ID_MODEL_FROM_DATABASE=Digital Photo Frame (DPF-1104)
|
||||
|
||||
usb:v1409*
|
||||
ID_VENDOR_FROM_DATABASE=IDS Imaging Development Systems GmbH
|
||||
|
||||
@ -47342,6 +47516,78 @@ usb:v1421*
|
||||
usb:v1421p0605*
|
||||
ID_MODEL_FROM_DATABASE=Sentech Camera
|
||||
|
||||
usb:v1424*
|
||||
ID_VENDOR_FROM_DATABASE=Posnet Polska S.A.
|
||||
|
||||
usb:v1424p1001*
|
||||
ID_MODEL_FROM_DATABASE=Temo
|
||||
|
||||
usb:v1424p1002*
|
||||
ID_MODEL_FROM_DATABASE=Thermal
|
||||
|
||||
usb:v1424p1003*
|
||||
ID_MODEL_FROM_DATABASE=Neo
|
||||
|
||||
usb:v1424p1004*
|
||||
ID_MODEL_FROM_DATABASE=Combo DF
|
||||
|
||||
usb:v1424p1005*
|
||||
ID_MODEL_FROM_DATABASE=Thermal-A
|
||||
|
||||
usb:v1424p1006*
|
||||
ID_MODEL_FROM_DATABASE=Thermal FV
|
||||
|
||||
usb:v1424p1007*
|
||||
ID_MODEL_FROM_DATABASE=Bingo HS
|
||||
|
||||
usb:v1424p1008*
|
||||
ID_MODEL_FROM_DATABASE=Thermal HS FV
|
||||
|
||||
usb:v1424p1009*
|
||||
ID_MODEL_FROM_DATABASE=Thermal FV EJ
|
||||
|
||||
usb:v1424p100A*
|
||||
ID_MODEL_FROM_DATABASE=Thermal HD
|
||||
|
||||
usb:v1424p100B*
|
||||
ID_MODEL_FROM_DATABASE=Thermal
|
||||
|
||||
usb:v1424p100C*
|
||||
ID_MODEL_FROM_DATABASE=Neo
|
||||
|
||||
usb:v1424p100D*
|
||||
ID_MODEL_FROM_DATABASE=Ergo
|
||||
|
||||
usb:v1424p100E*
|
||||
ID_MODEL_FROM_DATABASE=Trio
|
||||
|
||||
usb:v1424p1010*
|
||||
ID_MODEL_FROM_DATABASE=Thermal HS FV EJ
|
||||
|
||||
usb:v1424p1011*
|
||||
ID_MODEL_FROM_DATABASE=Neo EJ
|
||||
|
||||
usb:v1424p1012*
|
||||
ID_MODEL_FROM_DATABASE=Thermal-A
|
||||
|
||||
usb:v1424p1013*
|
||||
ID_MODEL_FROM_DATABASE=Thermal-A EJ
|
||||
|
||||
usb:v1424p1014*
|
||||
ID_MODEL_FROM_DATABASE=Mobile
|
||||
|
||||
usb:v1424p1015*
|
||||
ID_MODEL_FROM_DATABASE=Temo HS
|
||||
|
||||
usb:v1424p1016*
|
||||
ID_MODEL_FROM_DATABASE=Mobile HS
|
||||
|
||||
usb:v1424p1017*
|
||||
ID_MODEL_FROM_DATABASE=TH230+ FV EJ
|
||||
|
||||
usb:v1424p1018*
|
||||
ID_MODEL_FROM_DATABASE=4610-1NR FV EJ
|
||||
|
||||
usb:v1429*
|
||||
ID_VENDOR_FROM_DATABASE=Vega Technologies Industrial (Austria) Co.
|
||||
|
||||
@ -47423,6 +47669,48 @@ usb:v1446p6A73*
|
||||
usb:v1446p6A78*
|
||||
ID_MODEL_FROM_DATABASE=DYMO Endicia 75lb Digital Scale
|
||||
|
||||
usb:v1451*
|
||||
ID_VENDOR_FROM_DATABASE=Force Dimension
|
||||
|
||||
usb:v1451p0301*
|
||||
ID_MODEL_FROM_DATABASE=haptic device
|
||||
|
||||
usb:v1451p0302*
|
||||
ID_MODEL_FROM_DATABASE=haptic device
|
||||
|
||||
usb:v1451p0400*
|
||||
ID_MODEL_FROM_DATABASE=haptic device
|
||||
|
||||
usb:v1451p0401*
|
||||
ID_MODEL_FROM_DATABASE=delta.x haptic device
|
||||
|
||||
usb:v1451p0402*
|
||||
ID_MODEL_FROM_DATABASE=omega.x haptic device
|
||||
|
||||
usb:v1451p0403*
|
||||
ID_MODEL_FROM_DATABASE=sigma.x haptic device
|
||||
|
||||
usb:v1451p0404*
|
||||
ID_MODEL_FROM_DATABASE=haptic controller
|
||||
|
||||
usb:v1451p0405*
|
||||
ID_MODEL_FROM_DATABASE=dedicated haptic device
|
||||
|
||||
usb:v1451p0406*
|
||||
ID_MODEL_FROM_DATABASE=dedicated haptic device
|
||||
|
||||
usb:v1451p0407*
|
||||
ID_MODEL_FROM_DATABASE=dedicated haptic device
|
||||
|
||||
usb:v1451p0408*
|
||||
ID_MODEL_FROM_DATABASE=dedicated haptic device
|
||||
|
||||
usb:v1452*
|
||||
ID_VENDOR_FROM_DATABASE=Dai Nippon Printing, Inc
|
||||
|
||||
usb:v1452p8B01*
|
||||
ID_MODEL_FROM_DATABASE=DS620
|
||||
|
||||
usb:v1453*
|
||||
ID_VENDOR_FROM_DATABASE=Radio Shack
|
||||
|
||||
@ -47475,7 +47763,7 @@ usb:v145F*
|
||||
ID_VENDOR_FROM_DATABASE=Trust
|
||||
|
||||
usb:v145Fp0106*
|
||||
ID_MODEL_FROM_DATABASE=Trust K56 V92 USB Modem
|
||||
ID_MODEL_FROM_DATABASE=K56 V92 Modem
|
||||
|
||||
usb:v145Fp013D*
|
||||
ID_MODEL_FROM_DATABASE=PC Camera (SN9C201 + OV7660)
|
||||
@ -47672,6 +47960,9 @@ usb:v148Fp7601*
|
||||
usb:v148Fp760B*
|
||||
ID_MODEL_FROM_DATABASE=MT7601U Wireless Adapter
|
||||
|
||||
usb:v148Fp761A*
|
||||
ID_MODEL_FROM_DATABASE=MT7610U ("Archer T2U" 2.4G+5G WLAN Adapter
|
||||
|
||||
usb:v148Fp9020*
|
||||
ID_MODEL_FROM_DATABASE=RT2500USB Wireless Adapter
|
||||
|
||||
@ -47684,6 +47975,9 @@ usb:v1491*
|
||||
usb:v1491p0020*
|
||||
ID_MODEL_FROM_DATABASE=FS81 Fingerprint Scanner Module
|
||||
|
||||
usb:v1491p0088*
|
||||
ID_MODEL_FROM_DATABASE=Fingerprint Scanner Model FS88
|
||||
|
||||
usb:v1493*
|
||||
ID_VENDOR_FROM_DATABASE=Suunto
|
||||
|
||||
@ -47819,6 +48113,9 @@ usb:v14C2p0350*
|
||||
usb:v14C8*
|
||||
ID_VENDOR_FROM_DATABASE=Zytronic
|
||||
|
||||
usb:v14C8p0005*
|
||||
ID_MODEL_FROM_DATABASE=Touchscreen Controller
|
||||
|
||||
usb:v14CD*
|
||||
ID_VENDOR_FROM_DATABASE=Super Top
|
||||
|
||||
@ -47858,6 +48155,12 @@ usb:v14CDp8123*
|
||||
usb:v14CDp8125*
|
||||
ID_MODEL_FROM_DATABASE=SD MMC Reader
|
||||
|
||||
usb:v14CDp8601*
|
||||
ID_MODEL_FROM_DATABASE=4-Port hub
|
||||
|
||||
usb:v14CDp8608*
|
||||
ID_MODEL_FROM_DATABASE=Hub [Super Top]
|
||||
|
||||
usb:v14D8*
|
||||
ID_VENDOR_FROM_DATABASE=JAMER INDUSTRIES CO., LTD.
|
||||
|
||||
@ -48092,12 +48395,24 @@ usb:v152D*
|
||||
usb:v152Dp0539*
|
||||
ID_MODEL_FROM_DATABASE=JMS539/567 SuperSpeed SATA II/III 3.0G/6.0G Bridge
|
||||
|
||||
usb:v152Dp0551*
|
||||
ID_MODEL_FROM_DATABASE=JMS551 SuperSpeed two ports SATA 3Gb/s bridge
|
||||
|
||||
usb:v152Dp0561*
|
||||
ID_MODEL_FROM_DATABASE=JMS551 - Sharkoon SATA QuickPort Duo
|
||||
|
||||
usb:v152Dp0567*
|
||||
ID_MODEL_FROM_DATABASE=JMS567 SATA 6Gb/s bridge
|
||||
|
||||
usb:v152Dp0578*
|
||||
ID_MODEL_FROM_DATABASE=JMS567 SATA 6Gb/s bridge
|
||||
|
||||
usb:v152Dp0770*
|
||||
ID_MODEL_FROM_DATABASE=Alienware Integrated Webcam
|
||||
|
||||
usb:v152Dp1561*
|
||||
ID_MODEL_FROM_DATABASE=JMS561U two ports SATA 6Gb/s bridge
|
||||
|
||||
usb:v152Dp2329*
|
||||
ID_MODEL_FROM_DATABASE=JM20329 SATA Bridge
|
||||
|
||||
@ -48120,16 +48435,19 @@ usb:v152Dp2352*
|
||||
ID_MODEL_FROM_DATABASE=ATA/ATAPI Bridge
|
||||
|
||||
usb:v152Dp2509*
|
||||
ID_MODEL_FROM_DATABASE=JMS539 SuperSpeed SATA II 3.0G Bridge
|
||||
ID_MODEL_FROM_DATABASE=JMS539, JMS551 SATA 3Gb/s bridge
|
||||
|
||||
usb:v152Dp2551*
|
||||
ID_MODEL_FROM_DATABASE=JMS551 SATA 3Gb/s bridge
|
||||
|
||||
usb:v152Dp2561*
|
||||
ID_MODEL_FROM_DATABASE=CEB-2235S-U3 external RAID box
|
||||
|
||||
usb:v152Dp2566*
|
||||
ID_MODEL_FROM_DATABASE=JMS566 SATA 3Gb/s bridge
|
||||
|
||||
usb:v152Dp2590*
|
||||
ID_MODEL_FROM_DATABASE=Seatay ATA/ATAPI Bridge
|
||||
ID_MODEL_FROM_DATABASE=JMS567 SATA 6Gb/s bridge
|
||||
|
||||
usb:v152Dp3562*
|
||||
ID_MODEL_FROM_DATABASE=JMS567 SATA 6Gb/s bridge
|
||||
@ -48174,14 +48492,35 @@ usb:v1532p001C*
|
||||
ID_MODEL_FROM_DATABASE=RZ01-0036 Optical Gaming Mouse [Abyssus]
|
||||
|
||||
usb:v1532p0024*
|
||||
ID_MODEL_FROM_DATABASE=Razer Mamba
|
||||
ID_MODEL_FROM_DATABASE=Mamba
|
||||
|
||||
usb:v1532p002E*
|
||||
ID_MODEL_FROM_DATABASE=RZ01-0058 Gaming Mouse [Naga]
|
||||
|
||||
usb:v1532p002F*
|
||||
ID_MODEL_FROM_DATABASE=Imperator 2012
|
||||
|
||||
usb:v1532p0036*
|
||||
ID_MODEL_FROM_DATABASE=RZ01-0075, Gaming Mouse [Naga Hex]
|
||||
|
||||
usb:v1532p0042*
|
||||
ID_MODEL_FROM_DATABASE=Abyssus 2014
|
||||
|
||||
usb:v1532p0043*
|
||||
ID_MODEL_FROM_DATABASE=DeathAdder Chroma
|
||||
|
||||
usb:v1532p0044*
|
||||
ID_MODEL_FROM_DATABASE=Mamba Chroma (Wired)
|
||||
|
||||
usb:v1532p0045*
|
||||
ID_MODEL_FROM_DATABASE=Mamba Chroma (Wireless)
|
||||
|
||||
usb:v1532p0046*
|
||||
ID_MODEL_FROM_DATABASE=Mamba 2015 Tournament Edition [RZ01-01370100-R3]
|
||||
|
||||
usb:v1532p0048*
|
||||
ID_MODEL_FROM_DATABASE=Orochi (Wired)
|
||||
|
||||
usb:v1532p0101*
|
||||
ID_MODEL_FROM_DATABASE=Copperhead Mouse
|
||||
|
||||
@ -48191,12 +48530,51 @@ usb:v1532p0102*
|
||||
usb:v1532p0109*
|
||||
ID_MODEL_FROM_DATABASE=Lycosa Keyboard
|
||||
|
||||
usb:v1532p010D*
|
||||
ID_MODEL_FROM_DATABASE=BlackWidow Ultimate 2012
|
||||
|
||||
usb:v1532p0113*
|
||||
ID_MODEL_FROM_DATABASE=RZ07-0074 Gaming Keypad [Orbweaver]
|
||||
|
||||
usb:v1532p0118*
|
||||
ID_MODEL_FROM_DATABASE=RZ03-0080, Gaming Keyboard [Deathstalker]
|
||||
|
||||
usb:v1532p011A*
|
||||
ID_MODEL_FROM_DATABASE=BlackWidow Ultimate 2013
|
||||
|
||||
usb:v1532p011B*
|
||||
ID_MODEL_FROM_DATABASE=BlackWidow Classic
|
||||
|
||||
usb:v1532p0203*
|
||||
ID_MODEL_FROM_DATABASE=BlackWidow Chroma
|
||||
|
||||
usb:v1532p0205*
|
||||
ID_MODEL_FROM_DATABASE=Blade Stealth
|
||||
|
||||
usb:v1532p0208*
|
||||
ID_MODEL_FROM_DATABASE=Tartarus
|
||||
|
||||
usb:v1532p0209*
|
||||
ID_MODEL_FROM_DATABASE=BlackWidow Tournament Edition Chroma
|
||||
|
||||
usb:v1532p0214*
|
||||
ID_MODEL_FROM_DATABASE=BlackWidow Ultimate 2016
|
||||
|
||||
usb:v1532p0216*
|
||||
ID_MODEL_FROM_DATABASE=BlackWidow X Chroma
|
||||
|
||||
usb:v1532p021A*
|
||||
ID_MODEL_FROM_DATABASE=BlackWidow X Tournament Edition Chroma
|
||||
|
||||
usb:v1532p0220*
|
||||
ID_MODEL_FROM_DATABASE=Blade Stealth (2016)
|
||||
|
||||
usb:v1532p0300*
|
||||
ID_MODEL_FROM_DATABASE=RZ06-0063 Motion Sensing Controllers [Hydra]
|
||||
|
||||
usb:v1532p0C00*
|
||||
ID_MODEL_FROM_DATABASE=Firefly
|
||||
|
||||
usb:v153B*
|
||||
ID_VENDOR_FROM_DATABASE=TerraTec Electronic GmbH
|
||||
|
||||
@ -48209,8 +48587,23 @@ usb:v153Bp1182*
|
||||
usb:v1546*
|
||||
ID_VENDOR_FROM_DATABASE=U-Blox AG
|
||||
|
||||
usb:v1546p01A4*
|
||||
ID_MODEL_FROM_DATABASE=Antaris 4
|
||||
|
||||
usb:v1546p01A5*
|
||||
ID_MODEL_FROM_DATABASE=NL-402U
|
||||
ID_MODEL_FROM_DATABASE=[u-blox 5]
|
||||
|
||||
usb:v1546p01A6*
|
||||
ID_MODEL_FROM_DATABASE=[u-blox 6]
|
||||
|
||||
usb:v1546p01A7*
|
||||
ID_MODEL_FROM_DATABASE=[u-blox 7]
|
||||
|
||||
usb:v1546p01A8*
|
||||
ID_MODEL_FROM_DATABASE=[u-blox 8]
|
||||
|
||||
usb:v1546p1102*
|
||||
ID_MODEL_FROM_DATABASE=LISA-U2
|
||||
|
||||
usb:v1547*
|
||||
ID_VENDOR_FROM_DATABASE=SG Intec Ltd & Co KG
|
||||
@ -48650,6 +49043,9 @@ usb:v15F4p0001*
|
||||
usb:v15F4p0025*
|
||||
ID_MODEL_FROM_DATABASE=HanfTek UMT-010 USB2.0 DVB-T (warm)
|
||||
|
||||
usb:v15F4p0135*
|
||||
ID_MODEL_FROM_DATABASE=Astrometa T2hybrid
|
||||
|
||||
usb:v1604*
|
||||
ID_VENDOR_FROM_DATABASE=Tascam
|
||||
|
||||
@ -48671,6 +49067,12 @@ usb:v1604p8006*
|
||||
usb:v1604p8007*
|
||||
ID_MODEL_FROM_DATABASE=US-122 Audio/Midi Interface
|
||||
|
||||
usb:v1605*
|
||||
ID_VENDOR_FROM_DATABASE=ACCES I/O Products, Inc.
|
||||
|
||||
usb:v1605p0001*
|
||||
ID_MODEL_FROM_DATABASE=DIO-32 (No Firmware Yet)
|
||||
|
||||
usb:v1606*
|
||||
ID_VENDOR_FROM_DATABASE=Umax
|
||||
|
||||
@ -48986,6 +49388,12 @@ usb:v1617p2002*
|
||||
usb:v1619*
|
||||
ID_VENDOR_FROM_DATABASE=L & K Precision Technology Co., Ltd.
|
||||
|
||||
usb:v161C*
|
||||
ID_VENDOR_FROM_DATABASE=Digitech Systems
|
||||
|
||||
usb:v161Cp0002*
|
||||
ID_MODEL_FROM_DATABASE=DTC-02U [Digi Touch Controller]
|
||||
|
||||
usb:v1621*
|
||||
ID_VENDOR_FROM_DATABASE=Wionics Research
|
||||
|
||||
@ -49133,6 +49541,12 @@ usb:v165C*
|
||||
usb:v165Cp0002*
|
||||
ID_MODEL_FROM_DATABASE=Serial Adapter
|
||||
|
||||
usb:v165Cp0006*
|
||||
ID_MODEL_FROM_DATABASE=FT232 [ICS adapter HS]
|
||||
|
||||
usb:v165Cp0008*
|
||||
ID_MODEL_FROM_DATABASE=FT232 [Dual adapter HS]
|
||||
|
||||
usb:v1660*
|
||||
ID_VENDOR_FROM_DATABASE=Creatix Polymedia GmbH
|
||||
|
||||
@ -49257,7 +49671,16 @@ usb:v1681p0001*
|
||||
ID_MODEL_FROM_DATABASE=Tuner's Dashboard
|
||||
|
||||
usb:v1681p0002*
|
||||
ID_MODEL_FROM_DATABASE=Tubachron
|
||||
ID_MODEL_FROM_DATABASE=DocuBrain(R) Tubachron
|
||||
|
||||
usb:v1681p0003*
|
||||
ID_MODEL_FROM_DATABASE=DocuBrain(R) I2C
|
||||
|
||||
usb:v1681p0004*
|
||||
ID_MODEL_FROM_DATABASE=DocuBrain(R) WWVB Receiver
|
||||
|
||||
usb:v1681p0005*
|
||||
ID_MODEL_FROM_DATABASE=DocuBrain(R) WWVB Transmitter
|
||||
|
||||
usb:v1682*
|
||||
ID_VENDOR_FROM_DATABASE=Maxwise Production Enterprise Ltd.
|
||||
@ -49637,6 +50060,9 @@ usb:v16CC*
|
||||
usb:v16D0*
|
||||
ID_VENDOR_FROM_DATABASE=MCS
|
||||
|
||||
usb:v16D0p0436*
|
||||
ID_MODEL_FROM_DATABASE=Xylanta Ltd, XSP Device
|
||||
|
||||
usb:v16D0p0498*
|
||||
ID_MODEL_FROM_DATABASE=Braintechnology USB-LPS
|
||||
|
||||
@ -49649,6 +50075,9 @@ usb:v16D0p054B*
|
||||
usb:v16D0p05BE*
|
||||
ID_MODEL_FROM_DATABASE=EasyLogic Board
|
||||
|
||||
usb:v16D0p06CC*
|
||||
ID_MODEL_FROM_DATABASE=Trinamic TMCM-3110
|
||||
|
||||
usb:v16D0p06F9*
|
||||
ID_MODEL_FROM_DATABASE=Gabotronics Xminilab
|
||||
|
||||
@ -49667,6 +50096,12 @@ usb:v16D0p080A*
|
||||
usb:v16D0p0870*
|
||||
ID_MODEL_FROM_DATABASE=Kaufmann Automotive GmbH, RKS+CAN Interface
|
||||
|
||||
usb:v16D0p0B03*
|
||||
ID_MODEL_FROM_DATABASE=AIS Receiver [dAISy]
|
||||
|
||||
usb:v16D0p0BD4*
|
||||
ID_MODEL_FROM_DATABASE=codesrc SCSI2SD
|
||||
|
||||
usb:v16D1*
|
||||
ID_VENDOR_FROM_DATABASE=Suprema Inc.
|
||||
|
||||
@ -49757,6 +50192,9 @@ usb:v16DCp0012*
|
||||
usb:v16DCp0015*
|
||||
ID_MODEL_FROM_DATABASE=CML Control, Measurement and Data Logging System
|
||||
|
||||
usb:v16DE*
|
||||
ID_VENDOR_FROM_DATABASE=Telemecanique
|
||||
|
||||
usb:v16DF*
|
||||
ID_VENDOR_FROM_DATABASE=King Billion Electronics Co., Ltd.
|
||||
|
||||
@ -49889,6 +50327,15 @@ usb:v1737p0078*
|
||||
usb:v1737p0079*
|
||||
ID_MODEL_FROM_DATABASE=WUSB600N v2 Dual-Band Wireless-N Network Adapter [Ralink RT3572]
|
||||
|
||||
usb:v173A*
|
||||
ID_VENDOR_FROM_DATABASE=Roche
|
||||
|
||||
usb:v173Ap2198*
|
||||
ID_MODEL_FROM_DATABASE=Accu-Chek Mobile
|
||||
|
||||
usb:v173Ap21CA*
|
||||
ID_MODEL_FROM_DATABASE=ACCU-CHEK Mobile Model U1
|
||||
|
||||
usb:v173D*
|
||||
ID_VENDOR_FROM_DATABASE=QSENN
|
||||
|
||||
@ -49952,8 +50399,11 @@ usb:v1748p0101*
|
||||
usb:v174C*
|
||||
ID_VENDOR_FROM_DATABASE=ASMedia Technology Inc.
|
||||
|
||||
usb:v174Cp07D1*
|
||||
ID_MODEL_FROM_DATABASE=Transcend ESD400 Portable SSD (USB 3.0)
|
||||
|
||||
usb:v174Cp1153*
|
||||
ID_MODEL_FROM_DATABASE=ASM2115 SATA 6Gb/s bridge
|
||||
ID_MODEL_FROM_DATABASE=ASM1153 SATA 3Gb/s bridge
|
||||
|
||||
usb:v174Cp2074*
|
||||
ID_MODEL_FROM_DATABASE=ASM1074 High-Speed hub
|
||||
@ -49965,10 +50415,13 @@ usb:v174Cp5106*
|
||||
ID_MODEL_FROM_DATABASE=ASM1051 SATA 3Gb/s bridge
|
||||
|
||||
usb:v174Cp5136*
|
||||
ID_MODEL_FROM_DATABASE=ASM1053 SATA 6Gb/s bridge
|
||||
ID_MODEL_FROM_DATABASE=ASM1053 SATA 3Gb/s bridge
|
||||
|
||||
usb:v174Cp51D6*
|
||||
ID_MODEL_FROM_DATABASE=ASM1051W SATA 3Gb/s bridge
|
||||
|
||||
usb:v174Cp55AA*
|
||||
ID_MODEL_FROM_DATABASE=ASM1051E SATA 6Gb/s bridge, ASM1053E SATA 6Gb/s bridge, ASM1153 SATA 3Gb/s bridge
|
||||
ID_MODEL_FROM_DATABASE=Name: ASM1051E SATA 6Gb/s bridge, ASM1053E SATA 6Gb/s bridge, ASM1153 SATA 3Gb/s bridge, ASM1153E SATA 6Gb/s bridge
|
||||
|
||||
usb:v174F*
|
||||
ID_VENDOR_FROM_DATABASE=Syntek
|
||||
@ -53921,6 +54374,15 @@ usb:v1E7Dp2D51*
|
||||
usb:v1E7Dp30D4*
|
||||
ID_MODEL_FROM_DATABASE=Arvo Keyboard
|
||||
|
||||
usb:v1EA7*
|
||||
ID_VENDOR_FROM_DATABASE=SHARKOON Technologies GmbH
|
||||
|
||||
usb:v1EA7p0066*
|
||||
ID_MODEL_FROM_DATABASE=[Mediatrack Edge Mini Keyboard]
|
||||
|
||||
usb:v1EA7p2007*
|
||||
ID_MODEL_FROM_DATABASE=SHARK ZONE K30 Illuminated Gaming Keyboard
|
||||
|
||||
usb:v1EBB*
|
||||
ID_VENDOR_FROM_DATABASE=NuCORE Technology, Inc.
|
||||
|
||||
@ -55712,6 +56174,18 @@ usb:v2931p0A05*
|
||||
usb:v2931p0AFE*
|
||||
ID_MODEL_FROM_DATABASE=Jolla charging only
|
||||
|
||||
usb:v2939*
|
||||
ID_VENDOR_FROM_DATABASE=Zaber Technologies Inc.
|
||||
|
||||
usb:v2939p4959*
|
||||
ID_MODEL_FROM_DATABASE=A-MCB2
|
||||
|
||||
usb:v2939p495A*
|
||||
ID_MODEL_FROM_DATABASE=X-MCB1
|
||||
|
||||
usb:v2939p495B*
|
||||
ID_MODEL_FROM_DATABASE=X-MCB2
|
||||
|
||||
usb:v2A03*
|
||||
ID_VENDOR_FROM_DATABASE=dog hunter AG
|
||||
|
||||
|
@ -364,6 +364,13 @@ evdev:name:AlpsPS/2 ALPS GlidePoint:dmi:*svnLENOVO:*pvrLenovoYoga500-14ISK*
|
||||
EVDEV_ABS_35=124:3955:36
|
||||
EVDEV_ABS_36=103:1959:26
|
||||
|
||||
# Lenovo Flex 3 15-inch
|
||||
evdev:name:AlpsPS/2 ALPS GlidePoint*:dmi:bvn*:bvr*:bd*:svnLENOVO*:pvrFlex3-15*
|
||||
EVDEV_ABS_00=::38
|
||||
EVDEV_ABS_01=::28
|
||||
EVDEV_ABS_35=::38
|
||||
EVDEV_ABS_36=::28
|
||||
|
||||
#########################################
|
||||
# Samsung
|
||||
#########################################
|
||||
@ -382,6 +389,17 @@ evdev:name:ETPS/2 Elantech Touchpad:dmi:*svnSAMSUNGELECTRONICSCO.,LTD.:pn870Z5E/
|
||||
EVDEV_ABS_35=::30
|
||||
EVDEV_ABS_36=::29
|
||||
|
||||
#########################################
|
||||
# System76
|
||||
#########################################
|
||||
|
||||
# GalagoPro 2 (galp2)
|
||||
evdev:name:SynPS/2 Synaptics TouchPad:dmi:*svnSystem76:pnGalagoPro:pvrgalp2:*
|
||||
EVDEV_ABS_00=1238:5747:50
|
||||
EVDEV_ABS_01=901:4900:83
|
||||
EVDEV_ABS_35=1238:5747:50
|
||||
EVDEV_ABS_36=901:4900:83
|
||||
|
||||
#########################################
|
||||
# Toshiba
|
||||
#########################################
|
||||
@ -391,6 +409,17 @@ evdev:name:AlpsPS/2 ALPS DualPoint TouchPad:dmi:*svnTOSHIBA:pnTECRAM11*
|
||||
EVDEV_ABS_00=90:962:11
|
||||
EVDEV_ABS_01=51:681:14
|
||||
|
||||
#########################################
|
||||
# Razer
|
||||
#########################################
|
||||
|
||||
# Razer Blade Stealth (2016)
|
||||
evdev:name:Synaptics TM2438-005:dmi:*svnRazer:pnBladeStealth*
|
||||
EVDEV_ABS_00=0:4064:29
|
||||
EVDEV_ABS_01=0:2405:37
|
||||
EVDEV_ABS_35=0:4064:29
|
||||
EVDEV_ABS_36=0:2405:37
|
||||
|
||||
#########################################
|
||||
# Waltop
|
||||
#########################################
|
||||
|
@ -709,6 +709,8 @@ evdev:atkbd:dmi:bvn*:bvr*:bd*:svnIBM*:pn18666TU:pvr*
|
||||
|
||||
# IdeaPad
|
||||
evdev:name:Ideapad extra buttons:dmi:bvn*:bvr*:bd*:svnLENOVO*:pn*
|
||||
KEYBOARD_KEY_0d=rfkill # airplane mode switch (toggle all wireless devices)
|
||||
KEYBOARD_KEY_08=f20 # micmute
|
||||
KEYBOARD_KEY_42=f23
|
||||
KEYBOARD_KEY_43=f22
|
||||
|
||||
|
@ -41,21 +41,67 @@
|
||||
#
|
||||
# Sort by brand, model
|
||||
|
||||
#########################################
|
||||
# Acer
|
||||
#########################################
|
||||
sensor:modalias:acpi:BMA250E*:dmi:*:svnAcer:pnIconiaW1-810:*
|
||||
ACCEL_MOUNT_MATRIX=1, 0, 0; 0, -1, 0; 0, 0, 1
|
||||
|
||||
#########################################
|
||||
# AsusTek
|
||||
#########################################
|
||||
sensor:modalias:acpi:SMO8500*:dmi:*svn*ASUSTeK*:*pn*TP500LB*
|
||||
ACCEL_MOUNT_MATRIX=0, 1, 0; 1, 0, 0; 0, 0, 0
|
||||
sensor:modalias:acpi:INVN6500*:dmi:*svnASUSTeK*:*pnT100CHI*
|
||||
ACCEL_MOUNT_MATRIX=-1, 0, 0; 0, 1, 0; 0, 0, 1
|
||||
|
||||
sensor:modalias:acpi:INVN6500*:dmi:*svnASUSTeK*:*pnT100TA*
|
||||
ACCEL_MOUNT_MATRIX=1, 0, 0; 0, -1, 0; 0, 0, 1
|
||||
|
||||
sensor:modalias:acpi:INVN6500*:dmi:*svn*ASUSTeK*:*pn*TP300LD*
|
||||
ACCEL_MOUNT_MATRIX=0, 1, 0; 1, 0, 0; 0, 0, 1
|
||||
|
||||
sensor:modalias:acpi:SMO8500*:dmi:*svn*ASUSTeK*:*pn*TP300LJ*
|
||||
ACCEL_MOUNT_MATRIX=0, -1, 0; -1, 0, 0; 0, 0, 1
|
||||
|
||||
#########################################
|
||||
# Chuwi
|
||||
#########################################
|
||||
|
||||
# Chuwi Vi8 Plus
|
||||
sensor:modalias:acpi:BOSC0200*:dmi:*:svnHampoo:pnD2D3_Vi8A1:*
|
||||
ACCEL_MOUNT_MATRIX=0, -1, 0; -1, 0, 0; 0, 0, 1
|
||||
|
||||
# Chuwi Hi8 Pro
|
||||
sensor:modalias:acpi:BOSC0200*:dmi:*:svnHampoo:pnX1D3_C806N:*
|
||||
ACCEL_MOUNT_MATRIX=0, -1, 0; -1, 0, 0; 0, 0, 1
|
||||
|
||||
# Chuwi Hi13
|
||||
sensor:modalias:acpi:KIOX000A*:dmi:svnChuwi*:pnHi13
|
||||
ACCEL_MOUNT_MATRIX=1, 0, 0; 0, -1, 0; 0, 0, 1
|
||||
|
||||
#########################################
|
||||
# Cube
|
||||
#########################################
|
||||
|
||||
# Cube iWork8 Air
|
||||
sensor:modalias:acpi:KIOX000A*:dmi:*:svncube:pni1-TF:*
|
||||
ACCEL_MOUNT_MATRIX=1, 0, 0; 0, -1, 0; 0, 0, 1
|
||||
|
||||
# Cube i7 Stylus
|
||||
sensor:modalias:acpi:KIOX000A*:dmi:*:svnCube:pni7Stylus:*
|
||||
ACCEL_MOUNT_MATRIX=-1, 0, 0; 0, 1, 0; 0, 0, 1
|
||||
|
||||
#########################################
|
||||
# Endless
|
||||
#########################################
|
||||
sensor:modalias:acpi:ACCE0001*:dmi:*svnEndless*:*pnELT-NL3*
|
||||
ACCEL_MOUNT_MATRIX=0, 1, 0; 0, 0, -1; -1, 0, 0
|
||||
|
||||
#########################################
|
||||
# GP-electronic
|
||||
#########################################
|
||||
sensor:modalias:acpi:KIOX000A*:dmi:bvnINSYDECorp.:bvrBYT70A.YNCHENG.WIN.007:*:svnInsyde:pnT701:*
|
||||
ACCEL_MOUNT_MATRIX=0, 1, 0; 1, 0, 0; 0, 0, 1
|
||||
|
||||
#########################################
|
||||
# HP
|
||||
#########################################
|
||||
@ -63,11 +109,75 @@ sensor:modalias:platform:lis3lv02d:dmi:*svn*Hewlett-Packard*:*pn*HPEliteBook8540
|
||||
sensor:modalias:platform:lis3lv02d:dmi:*svn*Hewlett-Packard*:*pn*HPEliteBook8560w*
|
||||
ACCEL_MOUNT_MATRIX=1, 0, 0; 0, 0, -1; 0, 1, 0
|
||||
|
||||
sensor:modalias:acpi:SMO8500*:dmi:*:svnHewlett-Packard:pnHPStream7Tablet:*
|
||||
ACCEL_MOUNT_MATRIX=0, 1, 0; 1, 0, 0; 0, 0, 1
|
||||
|
||||
#########################################
|
||||
# Winbook
|
||||
# I.T.Works
|
||||
#########################################
|
||||
sensor:modalias:acpi:BMA250*:dmi:*svn*WinBook*:*pn*TW100*
|
||||
ACCEL_MOUNT_MATRIX=0, -1, 0; -1, 0, 0; 0, 0, 0
|
||||
|
||||
# The I.T.Works TW891 2-in-1's DMI has the product-name field set, but not
|
||||
# the sys-vendor field. This makes the DMI data a bit generic, so we match
|
||||
# the whole dmi modalias, except for the BIOS version/date
|
||||
sensor:modalias:acpi:KIOX000A*:dmi:bvnAmericanMegatrendsInc.:*:svnTobefilledbyO.E.M.:pnTW891:pvrTobefilledbyO.E.M.:rvnTobefilledbyO.E.M.:rnTW891:rvr1.0:cvnToBeFilledByO.E.M.:ct3:cvrToBeFilledByO.E.M.:
|
||||
ACCEL_MOUNT_MATRIX=0, 1, 0; 1, 0, 0; 0, 0, 1
|
||||
|
||||
#########################################
|
||||
# Jumper
|
||||
#########################################
|
||||
|
||||
# EZpad mini 3
|
||||
sensor:modalias:acpi:BOSC0200*:dmi:bvnINSYDECorp.:bvrjumperx.T87.KFBNEE*
|
||||
ACCEL_MOUNT_MATRIX=0, -1, 0; -1, 0, 0; 0, 0, 1
|
||||
|
||||
#########################################
|
||||
# Lamina
|
||||
#########################################
|
||||
sensor:modalias:acpi:SMO8500*:dmi:*svnLamina*:*pnT701BR.SE*
|
||||
ACCEL_MOUNT_MATRIX=-1, 0, 0; 0, 1, 0; 0, 0, 1
|
||||
|
||||
sensor:modalias:acpi:KIOX000A*:dmi:*svnLAMINA:pnT-1016BNORD*
|
||||
ACCEL_MOUNT_MATRIX=0, 1, 0; 1, 0, 0; 0, 0, 1
|
||||
|
||||
#########################################
|
||||
# Lenovo
|
||||
#########################################
|
||||
sensor:modalias:acpi:NCPE0388*:dmi:*:rnLenovoYOGA510-14IKB:*
|
||||
ACCEL_MOUNT_MATRIX=-1, 0, 0; 0, -1, 0; 0, 0, 1
|
||||
|
||||
#########################################
|
||||
# Peaq
|
||||
#########################################
|
||||
sensor:modalias:acpi:SMO8500*:dmi:*:svnPEAQ:pnPEAQPMMC1010MD99187:*
|
||||
ACCEL_MOUNT_MATRIX=-1, 0, 0; 0, 1, 0; 0, 0, 1
|
||||
|
||||
#########################################
|
||||
# Pipo
|
||||
#########################################
|
||||
sensor:modalias:acpi:KIOX000A*:dmi:*:svnPIPO:pnW2S:*
|
||||
ACCEL_MOUNT_MATRIX=1, 0, 0; 0, -1, 0; 0, 0, 1
|
||||
|
||||
#########################################
|
||||
# Ployer
|
||||
#########################################
|
||||
sensor:modalias:acpi:BMA250E*:dmi:*:svnShenzhenPLOYER*:pnMOMO7W:*
|
||||
ACCEL_MOUNT_MATRIX=0, 1, 0; 1, 0, 0; 0, 0, 1
|
||||
|
||||
#########################################
|
||||
# Point of View
|
||||
#########################################
|
||||
|
||||
# The Point of View TAB-P800W does not have its product name filled, so we
|
||||
# match the entire dmi-alias, assuming that the use of a BMA250E +
|
||||
# bios-version + bios-date combo is unique
|
||||
sensor:modalias:acpi:BMA250E*:dmi:bvnAmericanMegatrendsInc.:bvr3BAIR1013:bd08/22/2014:svnTobefilledbyO.E.M.:pnTobefilledbyO.E.M.:pvrTobefilledbyO.E.M.:rvnAMICorporation:rnAptioCRB:rvrTobefilledbyO.E.M.:cvnToBeFilledByO.E.M.:ct3:cvrToBeFilledByO.E.M.:
|
||||
ACCEL_MOUNT_MATRIX=0, 1, 0; 1, 0, 0; 0, 0, 1
|
||||
|
||||
#########################################
|
||||
# Trekstor
|
||||
#########################################
|
||||
sensor:modalias:acpi:BMA250*:dmi:*:bvrTREK.G.WI71C.JGBMRBA*:*:svnInsyde:pnST70416-6:*
|
||||
ACCEL_MOUNT_MATRIX=0, 1, 0; 1, 0, 0; 0, 0, 1
|
||||
|
||||
#########################################
|
||||
# Cytrix (Mytrix)
|
||||
|
@ -198,6 +198,10 @@ mouse:usb:v413cp3012:name:Dell Dell USB Optical Mouse:
|
||||
mouse:usb:v046dpc063:name:DELL DELL USB Laser Mouse:
|
||||
MOUSE_DPI=1000@125
|
||||
|
||||
# Dell MS116t
|
||||
mouse:usb:v413cp301a:name:PixArt Dell MS116 USB Optical Mouse:
|
||||
MOUSE_DPI=1000@125
|
||||
|
||||
##########################################
|
||||
# Dynex
|
||||
#########################################
|
||||
@ -221,6 +225,18 @@ mouse:usb:v0461p4d16:name:USB Optical Mouse:
|
||||
mouse:usb:v0403p97c1:name:Retrode SNES Mouse:
|
||||
MOUSE_DPI=235@126
|
||||
|
||||
##########################################
|
||||
# Generic
|
||||
##########################################
|
||||
|
||||
# FM-901 Wireless Mouse
|
||||
mouse:usb:v1ea7p000b:name:2.4G RF Mouse:
|
||||
MOUSE_DPI=*800@125 1600@125
|
||||
|
||||
# WK-727
|
||||
mouse:usb:v04d9p0499:name:*
|
||||
MOUSE_DPI=800@125
|
||||
|
||||
##########################################
|
||||
# HandShoe Mouse
|
||||
##########################################
|
||||
@ -247,10 +263,15 @@ mouse:usb:v0458p0133:name:Mouse Laser Mouse:
|
||||
MOUSE_WHEEL_CLICK_ANGLE=15
|
||||
|
||||
# HP X1000
|
||||
# Dell MS111-T
|
||||
mouse:usb:v093ap2510:name:PixArt USB Optical Mouse:
|
||||
mouse:usb:v093ap2510:name:PIXART USB OPTICAL MOUSE:
|
||||
MOUSE_DPI=1000@125
|
||||
|
||||
# HP X1200 Optical Mouse
|
||||
mouse:usb:v03f0p0641:name:PixArt HP X1200 USB Optical Mouse:
|
||||
MOUSE_DPI=1100@125
|
||||
|
||||
##########################################
|
||||
# IBM
|
||||
##########################################
|
||||
@ -307,6 +328,10 @@ mouse:usb:v046dpc03e:name:Logitech USB-PS/2 Optical Mouse:
|
||||
mouse:usb:v046dpc401:name:Logitech USB-PS/2 Trackball:
|
||||
MOUSE_DPI=400@125
|
||||
|
||||
# Logitech Cordless MouseMan Optical M-RM63
|
||||
mouse:usb:v046dpc501:name:Logitech USB Receiver:
|
||||
MOUSE_DPI=800@63
|
||||
|
||||
# Lenovo USB mouse model MO28UOL
|
||||
mouse:usb:v04b3p310c:name:USB Optical Mouse:
|
||||
MOUSE_DPI=400@142
|
||||
@ -430,6 +455,10 @@ mouse:usb:v046dp4041:name:Logitech MX Master:
|
||||
mouse:usb:v046dpc52e:name:Logitech USB Receiver:
|
||||
MOUSE_DPI=1000@200
|
||||
|
||||
# Logitech G100s Optical Gaming Mouse
|
||||
mouse:usb:v046dpc247:name:Logitech G100s Optical Gaming Mouse:
|
||||
MOUSE_DPI=*1000@500 1750@500 2500@500
|
||||
|
||||
# Logitech G700 Laser Mouse (Wired)
|
||||
mouse:usb:v046dpc06b:name:Logitech G700 Laser Mouse:
|
||||
# Logitech G700 Laser Mouse (Wireless)
|
||||
@ -492,6 +521,10 @@ mouse:usb:v045ep0040:name:Microsoft Microsoft 3-Button Mouse with IntelliEye(TM)
|
||||
mouse:usb:v045ep0745:name:Microsoft Microsoft® 2.4GHz Transceiver v6.0:
|
||||
MOUSE_DPI=800@142
|
||||
|
||||
# Microsoft Comfort Mouse 4500
|
||||
mouse:usb:v045ep076c:name:Microsoft Microsoft® Comfort Mouse 4500:
|
||||
MOUSE_DPI=1000@125
|
||||
|
||||
# Microsoft Wireless Mobile Mouse 4000
|
||||
mouse:usb:v045ep0745:name:Microsoft Microsoft® Nano Transceiver v2.0:
|
||||
# Microsoft Sculpt Ergonomic Mouse
|
||||
@ -539,6 +572,14 @@ mouse:usb:v0e8fp00a7:name:DaKai 2.4G RX:
|
||||
mouse:bluetooth:v056ep0061:name:Laser BTmouse:
|
||||
MOUSE_DPI=*800@333 1600@333
|
||||
|
||||
##########################################
|
||||
# P-Active
|
||||
##########################################
|
||||
|
||||
# P-Active Wireless Mouse PA-27K2
|
||||
mouse:usb:v0425p0101:name:G-Tech CHINA USB Wireless Mouse & KeyBoard V1.01 :
|
||||
MOUSE_DPI=800@125
|
||||
|
||||
##########################################
|
||||
# Razer
|
||||
##########################################
|
||||
|
@ -1 +0,0 @@
|
||||
../src/Makefile
|
89
hwdb/acpi_id_registry.html
Normal file
89
hwdb/acpi_id_registry.html
Normal file
@ -0,0 +1,89 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
</head>
|
||||
<body>
|
||||
<table>
|
||||
<thead><tr><th>Company</th><th>ACPI ID</th><th>Approved on Date</th></tr></thead> <tbody> <tr class="odd"><td>Aava Mobile Oy</td><td>AAVA</td><td>04/02/2014</td> </tr>
|
||||
<tr class="even"><td>AMD</td><td>AMDI</td><td>08/06/2014</td> </tr>
|
||||
<tr class="odd"><td>Applied Micro Circuits Corporation</td><td>APMC</td><td>11/14/2013</td> </tr>
|
||||
<tr class="even"><td>Aptina Imaging Corporation</td><td>APTA</td><td>10/28/2013</td> </tr>
|
||||
<tr class="odd"><td>ARM Ltd.</td><td>ARMH</td><td>08/13/2012</td> </tr>
|
||||
<tr class="even"><td>ARM Ltd.</td><td>ARML</td><td>02/24/2015</td> </tr>
|
||||
<tr class="odd"><td>ASUS</td><td>ASUS</td><td>09/13/2012</td> </tr>
|
||||
<tr class="even"><td>Atmel</td><td>ATML</td><td>11/17/2011</td> </tr>
|
||||
<tr class="odd"><td>AuthenTec</td><td>AUTH</td><td>06/01/2012</td> </tr>
|
||||
<tr class="even"><td>Broadcom Corporation</td><td>BRCM</td><td>05/14/2015</td> </tr>
|
||||
<tr class="odd"><td>Capella Microsystems Inc.</td><td>CPLM</td><td>05/09/2012</td> </tr>
|
||||
<tr class="even"><td>Dell, Inc.</td><td>DLLK</td><td>04/17/2012</td> </tr>
|
||||
<tr class="odd"><td>Dell, Inc.</td><td>DELL</td><td>07/26/2012</td> </tr>
|
||||
<tr class="even"><td>ELAN MICROELECTRONICS CORPORATION</td><td>ELAN</td><td>11/14/2014</td> </tr>
|
||||
<tr class="odd"><td>Everest Semiconductor Co., Ltd.</td><td>ESSX</td><td>11/17/2014</td> </tr>
|
||||
<tr class="even"><td>FocalTech Systems Co., Ltd.</td><td>FTSC</td><td>07/23/2013</td> </tr>
|
||||
<tr class="odd"><td>Freescale, Inc</td><td>FRSC</td><td>01/01/2010</td> </tr>
|
||||
<tr class="even"><td>Fuzhou Rockchip Electronics Co., Ltd.</td><td>RKCP</td><td>07/20/2015</td> </tr>
|
||||
<tr class="odd"><td>Google, Inc.</td><td>GOOG</td><td>12/05/2013</td> </tr>
|
||||
<tr class="even"><td>Hewlett-Packard Company</td><td>HPQC</td><td>11/26/2012</td> </tr>
|
||||
<tr class="odd"><td>Hewlett Packard Enterprise</td><td>HWPE</td><td>01/15/2015</td> </tr>
|
||||
<tr class="even"><td>Himax Technologies, Inc.</td><td>HIMX</td><td>03/19/2014</td> </tr>
|
||||
<tr class="odd"><td>HiSilicon Technologies Co., Ltd.</td><td>HISI</td><td>11/14/2014</td> </tr>
|
||||
<tr class="even"><td>HP Inc. </td><td>HPIC</td><td>01/15/2015</td> </tr>
|
||||
<tr class="odd"><td>HTBLuVA Mödling</td><td>HTLM</td><td>02/18/2014</td> </tr>
|
||||
<tr class="even"><td>IBM</td><td>IBMX</td><td>11/15/2012</td> </tr>
|
||||
<tr class="odd"><td>Impinj</td><td>IMPJ</td><td>08/14/2012</td> </tr>
|
||||
<tr class="even"><td>Inphi Corporation</td><td>IPHI</td><td>07/15/2014</td> </tr>
|
||||
<tr class="odd"><td>Intel Corporation</td><td>ACPI</td><td>11/18/2011</td> </tr>
|
||||
<tr class="even"><td>Intel Corporation</td><td>INTC</td><td>01/01/2010</td> </tr>
|
||||
<tr class="odd"><td>Intel Corporation</td><td>INTL</td><td>01/01/2010</td> </tr>
|
||||
<tr class="even"><td>Invensense, Inc</td><td>INVN</td><td>02/09/2012</td> </tr>
|
||||
<tr class="odd"><td>IP3 Technology Ltd.</td><td>IP3T</td><td>11/11/2013</td> </tr>
|
||||
<tr class="even"><td>Kionix, Inc.</td><td>KIOX</td><td>12/23/2013</td> </tr>
|
||||
<tr class="odd"><td>Lenovo Beijing Co. Ltd.</td><td>IDEA</td><td>05/22/2012</td> </tr>
|
||||
<tr class="even"><td>Linaro, Ltd.</td><td>LNRO</td><td>11/26/2013</td> </tr>
|
||||
<tr class="odd"><td>Microsoft Corporation</td><td>MSAY</td><td>03/01/2012</td> </tr>
|
||||
<tr class="even"><td>Microsoft Corporation</td><td>MSFT</td><td>01/01/2010</td> </tr>
|
||||
<tr class="odd"><td>Microsoft Corporation</td><td>MSHW</td><td>01/10/2011</td> </tr>
|
||||
<tr class="even"><td>MIPI Alliance</td><td>MIPI</td><td>04/17/2015</td> </tr>
|
||||
<tr class="odd"><td>Nuvoton Technology Corporation</td><td>NVTN</td><td>11/14/2014</td> </tr>
|
||||
<tr class="even"><td>Nvidia</td><td>NVDA</td><td>01/01/2010</td> </tr>
|
||||
<tr class="odd"><td>OmniVision Technologies, Inc.</td><td>OVTI</td><td>02/26/2014</td> </tr>
|
||||
<tr class="even"><td>Pegatron Corporation</td><td>PEGA</td><td>08/27/2013</td> </tr>
|
||||
<tr class="odd"><td>Qualcomm Inc</td><td>QCOM</td><td>01/01/2010</td> </tr>
|
||||
<tr class="even"><td>REALTEK Semiconductor Corp. </td><td>OBDA</td><td>11/07/2013</td> </tr>
|
||||
<tr class="odd"><td>Red Hat, Inc.</td><td>QEMU</td><td>07/30/2015</td> </tr>
|
||||
<tr class="even"><td>Robert Bosch GmbH</td><td>BOSC</td><td>05/16/2014</td> </tr>
|
||||
<tr class="odd"><td>Rozsnyó, s.r.o.</td><td>RZSN</td><td>03/24/2014</td> </tr>
|
||||
<tr class="even"><td>Sharp Corporation</td><td>SHRP</td><td>01/27/2015</td> </tr>
|
||||
<tr class="odd"><td>Shenzhen DSO Microelectronics Co.,Ltd.</td><td>DSUO</td><td>10/10/2013</td> </tr>
|
||||
<tr class="even"><td>Shenzhen South-Top Computer Co., Ltd.</td><td>ST86</td><td>12/06/2013</td> </tr>
|
||||
<tr class="odd"><td>Shenzhen three Connaught Information Technology Co., Ltd. (3nod Group)</td><td>3NOD</td><td>09/23/2013</td> </tr>
|
||||
<tr class="even"><td>Sierra Wireless</td><td>SWEM</td><td>01/22/2013</td> </tr>
|
||||
<tr class="odd"><td>Sony Corporation</td><td>SONY</td><td>09/12/2012</td> </tr>
|
||||
<tr class="even"><td>Synaptics Inc</td><td>SYNA</td><td>11/17/2011</td> </tr>
|
||||
<tr class="odd"><td>Teracue AG</td><td>TCAG</td><td>12/07/2012</td> </tr>
|
||||
<tr class="even"><td>Texas Instruments</td><td>TXNW</td><td>01/01/2010</td> </tr>
|
||||
<tr class="odd"><td>The Linux Foundation</td><td>LNUX</td><td>04/04/2014</td> </tr>
|
||||
<tr class="even"><td>Toshiba Corporation</td><td>TOSB</td><td>07/07/2015</td> </tr>
|
||||
<tr class="odd"><td>VAIO Corporation</td><td>VAIO</td><td>04/18/2014</td> </tr>
|
||||
<tr class="even"><td>Validity Sensors, Inc</td><td>VFSI</td><td>06/17/2013</td> </tr>
|
||||
<tr class="odd"><td>Wacom</td><td>WCOM</td><td>11/17/2011</td> </tr>
|
||||
<tr class="even"><td>Winsider Seminars & Solutions Inc.</td><td>WSDR</td><td>07/07/2015</td> </tr>
|
||||
<tr class="odd"><td>Maxim Integrated</td><td>MXIM</td><td>10/16/2015</td> </tr>
|
||||
<tr class="even"><td>Xiaomi Inc.</td><td>XMCC</td><td>12/08/2015</td> </tr>
|
||||
<tr class="odd"><td>u-blox AG</td><td>UBLX</td><td>12/08/2015</td> </tr>
|
||||
<tr class="even"><td>Raydium Semiconductor Corporation</td><td>RAYD</td><td>04/13/2016</td> </tr>
|
||||
<tr class="odd"><td>Dialog Semiconductor PLC</td><td>DLGS</td><td>04/27/2016</td> </tr>
|
||||
<tr class="even"><td>OmniPreSense</td><td>OMPS</td><td>05/25/2016</td> </tr>
|
||||
<tr class="odd"><td>CoreOS, Inc</td><td>CORE</td><td>07/01/2016</td> </tr>
|
||||
<tr class="even"><td>Microchip Technology Inc</td><td>MCHP</td><td>08/03/2016</td> </tr>
|
||||
<tr class="odd"><td>Green Hills Software</td><td>GHSW</td><td>08/11/2016</td> </tr>
|
||||
<tr class="even"><td>AAEON Technology Inc.</td><td>AANT</td><td>09/01/2016</td> </tr>
|
||||
<tr class="odd"><td>VR Technology Holdings Limited </td><td>3GVR</td><td>01/19/2017</td> </tr>
|
||||
<tr class="even"><td>Exar Corporation</td><td>EXAR</td><td>02/28/2017</td> </tr>
|
||||
<tr class="odd"><td>Coreboot Project</td><td>BOOT</td><td>02/28/2017</td> </tr>
|
||||
<tr class="even"><td>Marvell Technology Group Ltd.</td><td>MRVL</td><td>05/25/2017</td> </tr>
|
||||
<tr class="odd"><td>IHSE GmbH</td><td>IHSE</td><td>06/22/2017</td> </tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
@ -1,375 +0,0 @@
|
||||
#!/usr/bin/perl
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
sub usb_vendor {
|
||||
my $vendor;
|
||||
|
||||
open(IN, "<", "usb.ids");
|
||||
open(OUT, ">", "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, ">", "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, ">", "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, ">", "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, "<", "sdio.ids");
|
||||
open(OUT, ">", "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, "<", "sdio.ids");
|
||||
open(OUT, ">", "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, ">", "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, "<", "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, "<", "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, "<", "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();
|
365
hwdb/ids_parser.py
Executable file
365
hwdb/ids_parser.py
Executable file
@ -0,0 +1,365 @@
|
||||
#!/usr/bin/env python3
|
||||
|
||||
import re
|
||||
import sys
|
||||
from pyparsing import (Word, White, Literal, Regex,
|
||||
LineEnd, SkipTo,
|
||||
ZeroOrMore, OneOrMore, Combine, Optional, Suppress,
|
||||
stringEnd, pythonStyleComment)
|
||||
|
||||
EOL = LineEnd().suppress()
|
||||
NUM1 = Word('0123456789abcdefABCDEF', exact=1)
|
||||
NUM2 = Word('0123456789abcdefABCDEF', exact=2)
|
||||
NUM3 = Word('0123456789abcdefABCDEF', exact=3)
|
||||
NUM4 = Word('0123456789abcdefABCDEF', exact=4)
|
||||
NUM6 = Word('0123456789abcdefABCDEF', exact=6)
|
||||
TAB = White('\t', exact=1).suppress()
|
||||
COMMENTLINE = pythonStyleComment + EOL
|
||||
EMPTYLINE = LineEnd()
|
||||
text_eol = lambda name: Regex(r'[^\n]+')(name) + EOL
|
||||
# text_eol = lambda name: Word(printables + ' ' + '®üäßçõãİó ײ⁶´‐“\u200E\u200B')(name) + EOL
|
||||
|
||||
def klass_grammar():
|
||||
klass_line = Literal('C ').suppress() + NUM2('klass') + text_eol('text')
|
||||
subclass_line = TAB + NUM2('subclass') + text_eol('text')
|
||||
protocol_line = TAB + TAB + NUM2('protocol') + text_eol('name')
|
||||
subclass = (subclass_line('SUBCLASS') -
|
||||
ZeroOrMore(protocol_line('PROTOCOLS*')
|
||||
^ COMMENTLINE.suppress()))
|
||||
klass = (klass_line('KLASS') -
|
||||
ZeroOrMore(subclass('SUBCLASSES*')
|
||||
^ COMMENTLINE.suppress()))
|
||||
return klass
|
||||
|
||||
def usb_ids_grammar():
|
||||
vendor_line = NUM4('vendor') + text_eol('text')
|
||||
device_line = TAB + NUM4('device') + text_eol('text')
|
||||
vendor = (vendor_line('VENDOR') +
|
||||
ZeroOrMore(device_line('VENDOR_DEV*') ^ COMMENTLINE.suppress()))
|
||||
|
||||
klass = klass_grammar()
|
||||
|
||||
other_line = (Literal('AT ') ^ Literal('HID ') ^ Literal('R ')
|
||||
^ Literal('PHY ') ^ Literal('BIAS ') ^ Literal('HUT ')
|
||||
^ Literal('L ') ^ Literal('VT ') ^ Literal('HCC ')) + text_eol('text')
|
||||
other_group = (other_line - ZeroOrMore(TAB + text_eol('text')))
|
||||
|
||||
commentgroup = OneOrMore(COMMENTLINE).suppress() ^ EMPTYLINE.suppress()
|
||||
grammar = OneOrMore(vendor('VENDORS*') ^ klass('CLASSES*')
|
||||
^ other_group.suppress() ^ commentgroup) + stringEnd()
|
||||
|
||||
grammar.parseWithTabs()
|
||||
return grammar
|
||||
|
||||
def pci_ids_grammar():
|
||||
vendor_line = NUM4('vendor') + text_eol('text')
|
||||
device_line = TAB + NUM4('device') + text_eol('text')
|
||||
subvendor_line = TAB + TAB + NUM4('a') + White(' ') + NUM4('b') + text_eol('name')
|
||||
|
||||
device = (device_line('DEVICE') +
|
||||
ZeroOrMore(subvendor_line('SUBVENDORS*') ^ COMMENTLINE.suppress()))
|
||||
vendor = (vendor_line('VENDOR') +
|
||||
ZeroOrMore(device('DEVICES*') ^ COMMENTLINE.suppress()))
|
||||
|
||||
klass = klass_grammar()
|
||||
|
||||
commentgroup = OneOrMore(COMMENTLINE).suppress() ^ EMPTYLINE.suppress()
|
||||
grammar = OneOrMore(vendor('VENDORS*') ^ klass('CLASSES*')
|
||||
^ commentgroup) + stringEnd()
|
||||
|
||||
grammar.parseWithTabs()
|
||||
return grammar
|
||||
|
||||
def sdio_ids_grammar():
|
||||
vendor_line = NUM4('vendor') + text_eol('text')
|
||||
device_line = TAB + NUM4('device') + text_eol('text')
|
||||
vendor = (vendor_line('VENDOR') +
|
||||
ZeroOrMore(device_line('DEVICES*') ^ COMMENTLINE.suppress()))
|
||||
|
||||
klass = klass_grammar()
|
||||
|
||||
commentgroup = OneOrMore(COMMENTLINE).suppress() ^ EMPTYLINE.suppress()
|
||||
grammar = OneOrMore(vendor('VENDORS*') ^ klass('CLASSES*') ^ commentgroup) + stringEnd()
|
||||
|
||||
grammar.parseWithTabs()
|
||||
return grammar
|
||||
|
||||
def oui_grammar(type):
|
||||
prefix_line = (Combine(NUM2 - Suppress('-') - NUM2 - Suppress('-') - NUM2)('prefix')
|
||||
- Literal('(hex)') - text_eol('text'))
|
||||
if type == 'small':
|
||||
vendor_line = (NUM3('start') - '000-' - NUM3('end') - 'FFF'
|
||||
- Literal('(base 16)') - text_eol('text2'))
|
||||
elif type == 'medium':
|
||||
vendor_line = (NUM1('start') - '00000-' - NUM1('end') - 'FFFFF'
|
||||
- Literal('(base 16)') - text_eol('text2'))
|
||||
else:
|
||||
assert type == 'large'
|
||||
vendor_line = (NUM6('start')
|
||||
- Literal('(base 16)') - text_eol('text2'))
|
||||
|
||||
extra_line = TAB - TAB - TAB - TAB - SkipTo(EOL)
|
||||
vendor = prefix_line + vendor_line + ZeroOrMore(extra_line) + Optional(EMPTYLINE)
|
||||
|
||||
grammar = (Literal('OUI') + text_eol('header')
|
||||
+ text_eol('header') + text_eol('header') + EMPTYLINE
|
||||
+ OneOrMore(vendor('VENDORS*')) + stringEnd())
|
||||
|
||||
grammar.parseWithTabs()
|
||||
return grammar
|
||||
|
||||
|
||||
def header(file, *sources):
|
||||
print('''\
|
||||
# This file is part of systemd.
|
||||
#
|
||||
# Data imported from:{}{}'''.format(' ' if len(sources) == 1 else '\n# ',
|
||||
'\n# '.join(sources)),
|
||||
file=file)
|
||||
|
||||
def add_item(items, key, value):
|
||||
if key in items:
|
||||
print(f'Ignoring duplicate entry: {key} = "{items[key]}", "{value}"')
|
||||
else:
|
||||
items[key] = value
|
||||
|
||||
def usb_vendor_model(p):
|
||||
items = {}
|
||||
|
||||
for vendor_group in p.VENDORS:
|
||||
vendor = vendor_group.VENDOR.vendor.upper()
|
||||
text = vendor_group.VENDOR.text.strip()
|
||||
add_item(items, (vendor,), text)
|
||||
|
||||
for vendor_dev in vendor_group.VENDOR_DEV:
|
||||
device = vendor_dev.device.upper()
|
||||
text = vendor_dev.text.strip()
|
||||
add_item(items, (vendor, device), text)
|
||||
|
||||
with open('20-usb-vendor-model.hwdb', 'wt') as out:
|
||||
header(out, 'http://www.linux-usb.org/usb.ids')
|
||||
|
||||
for key in sorted(items):
|
||||
if len(key) == 1:
|
||||
p, n = 'usb:v{}*', 'VENDOR'
|
||||
else:
|
||||
p, n = 'usb:v{}p{}*', 'MODEL',
|
||||
print('', p.format(*key),
|
||||
f' ID_{n}_FROM_DATABASE={items[key]}', sep='\n', file=out)
|
||||
|
||||
print(f'Wrote {out.name}')
|
||||
|
||||
def usb_classes(p):
|
||||
items = {}
|
||||
|
||||
for klass_group in p.CLASSES:
|
||||
klass = klass_group.KLASS.klass.upper()
|
||||
text = klass_group.KLASS.text.strip()
|
||||
|
||||
if klass != '00' and not re.match(r'(\?|None|Unused)\s*$', text):
|
||||
add_item(items, (klass,), text)
|
||||
|
||||
for subclass_group in klass_group.SUBCLASSES:
|
||||
subclass = subclass_group.subclass.upper()
|
||||
text = subclass_group.text.strip()
|
||||
if subclass != '00' and not re.match(r'(\?|None|Unused)\s*$', text):
|
||||
add_item(items, (klass, subclass), text)
|
||||
|
||||
for protocol_group in subclass_group.PROTOCOLS:
|
||||
protocol = protocol_group.protocol.upper()
|
||||
text = protocol_group.name.strip()
|
||||
if klass != '00' and not re.match(r'(\?|None|Unused)\s*$', text):
|
||||
add_item(items, (klass, subclass, protocol), text)
|
||||
|
||||
with open('20-usb-classes.hwdb', 'wt') as out:
|
||||
header(out, 'http://www.linux-usb.org/usb.ids')
|
||||
|
||||
for key in sorted(items):
|
||||
if len(key) == 1:
|
||||
p, n = 'usb:v*p*d*dc{}*', 'CLASS'
|
||||
elif len(key) == 2:
|
||||
p, n = 'usb:v*p*d*dc{}dsc{}*', 'SUBCLASS'
|
||||
else:
|
||||
p, n = 'usb:v*p*d*dc{}dsc{}dp{}*', 'PROTOCOL'
|
||||
print('', p.format(*key),
|
||||
f' ID_USB_{n}_FROM_DATABASE={items[key]}', sep='\n', file=out)
|
||||
|
||||
print(f'Wrote {out.name}')
|
||||
|
||||
def pci_vendor_model(p):
|
||||
items = {}
|
||||
|
||||
for vendor_group in p.VENDORS:
|
||||
vendor = vendor_group.VENDOR.vendor.upper()
|
||||
text = vendor_group.VENDOR.text.strip()
|
||||
add_item(items, (vendor,), text)
|
||||
|
||||
for device_group in vendor_group.DEVICES:
|
||||
device = device_group.device.upper()
|
||||
text = device_group.text.strip()
|
||||
add_item(items, (vendor, device), text)
|
||||
|
||||
for subvendor_group in device_group.SUBVENDORS:
|
||||
sub_vendor = subvendor_group.a.upper()
|
||||
sub_model = subvendor_group.b.upper()
|
||||
sub_text = subvendor_group.name.strip()
|
||||
if sub_text.startswith(text):
|
||||
sub_text = sub_text[len(text):].lstrip()
|
||||
if sub_text:
|
||||
sub_text = f' ({sub_text})'
|
||||
add_item(items, (vendor, device, sub_vendor, sub_model), text + sub_text)
|
||||
|
||||
with open('20-pci-vendor-model.hwdb', 'wt') as out:
|
||||
header(out, 'http://pci-ids.ucw.cz/v2.2/pci.ids')
|
||||
|
||||
for key in sorted(items):
|
||||
if len(key) == 1:
|
||||
p, n = 'pci:v0000{}*', 'VENDOR'
|
||||
elif len(key) == 2:
|
||||
p, n = 'pci:v0000{}d0000{}*', 'MODEL'
|
||||
else:
|
||||
p, n = 'pci:v0000{}d0000{}sv0000{}sd0000{}*', 'MODEL'
|
||||
print('', p.format(*key),
|
||||
f' ID_{n}_FROM_DATABASE={items[key]}', sep='\n', file=out)
|
||||
|
||||
print(f'Wrote {out.name}')
|
||||
|
||||
def pci_classes(p):
|
||||
items = {}
|
||||
|
||||
for klass_group in p.CLASSES:
|
||||
klass = klass_group.KLASS.klass.upper()
|
||||
text = klass_group.KLASS.text.strip()
|
||||
add_item(items, (klass,), text)
|
||||
|
||||
for subclass_group in klass_group.SUBCLASSES:
|
||||
subclass = subclass_group.subclass.upper()
|
||||
text = subclass_group.text.strip()
|
||||
add_item(items, (klass, subclass), text)
|
||||
|
||||
for protocol_group in subclass_group.PROTOCOLS:
|
||||
protocol = protocol_group.protocol.upper()
|
||||
text = protocol_group.name.strip()
|
||||
add_item(items, (klass, subclass, protocol), text)
|
||||
|
||||
with open('20-pci-classes.hwdb', 'wt') as out:
|
||||
header(out, 'http://pci-ids.ucw.cz/v2.2/pci.ids')
|
||||
|
||||
for key in sorted(items):
|
||||
if len(key) == 1:
|
||||
p, n = 'pci:v*d*sv*sd*bc{}*', 'CLASS'
|
||||
elif len(key) == 2:
|
||||
p, n = 'pci:v*d*sv*sd*bc{}sc{}*', 'SUBCLASS'
|
||||
else:
|
||||
p, n = 'pci:v*d*sv*sd*bc{}sc{}i{}*', 'INTERFACE'
|
||||
print('', p.format(*key),
|
||||
f' ID_PCI_{n}_FROM_DATABASE={items[key]}', sep='\n', file=out)
|
||||
|
||||
print(f'Wrote {out.name}')
|
||||
|
||||
def sdio_vendor_model(p):
|
||||
items = {}
|
||||
|
||||
for vendor_group in p.VENDORS:
|
||||
vendor = vendor_group.VENDOR.vendor.upper()
|
||||
text = vendor_group.VENDOR.text.strip()
|
||||
add_item(items, (vendor,), text)
|
||||
|
||||
for device_group in vendor_group.DEVICES:
|
||||
device = device_group.device.upper()
|
||||
text = device_group.text.strip()
|
||||
add_item(items, (vendor, device), text)
|
||||
|
||||
with open('20-sdio-vendor-model.hwdb', 'wt') as out:
|
||||
header(out, 'hwdb/sdio.ids')
|
||||
|
||||
for key in sorted(items):
|
||||
if len(key) == 1:
|
||||
p, n = 'sdio:c*v{}*', 'VENDOR'
|
||||
else:
|
||||
p, n = 'sdio:c*v{}d{}*', 'MODEL'
|
||||
print('', p.format(*key),
|
||||
f' ID_{n}_FROM_DATABASE={items[key]}', sep='\n', file=out)
|
||||
|
||||
print(f'Wrote {out.name}')
|
||||
|
||||
def sdio_classes(p):
|
||||
items = {}
|
||||
|
||||
for klass_group in p.CLASSES:
|
||||
klass = klass_group.KLASS.klass.upper()
|
||||
text = klass_group.KLASS.text.strip()
|
||||
add_item(items, klass, text)
|
||||
|
||||
with open('20-sdio-classes.hwdb', 'wt') as out:
|
||||
header(out, 'hwdb/sdio.ids')
|
||||
|
||||
for klass in sorted(items):
|
||||
print(f'',
|
||||
f'sdio:c{klass}v*d*',
|
||||
f' ID_SDIO_CLASS_FROM_DATABASE={items[klass]}', sep='\n', file=out)
|
||||
|
||||
print(f'Wrote {out.name}')
|
||||
|
||||
# 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)
|
||||
def oui(p1, p2, p3):
|
||||
prefixes = set()
|
||||
items = {}
|
||||
|
||||
for p, check in ((p1, False), (p2, False), (p3, True)):
|
||||
for vendor_group in p.VENDORS:
|
||||
prefix = vendor_group.prefix.upper()
|
||||
if check:
|
||||
if prefix in prefixes:
|
||||
continue
|
||||
else:
|
||||
prefixes.add(prefix)
|
||||
start = vendor_group.start.upper()
|
||||
end = vendor_group.end.upper()
|
||||
|
||||
if end and start != end:
|
||||
print(f'{prefix:} {start} != {end}', file=sys.stderr)
|
||||
text = vendor_group.text.strip()
|
||||
|
||||
key = prefix + start if end else prefix
|
||||
add_item(items, key, text)
|
||||
|
||||
with open('20-OUI.hwdb', 'wt') as out:
|
||||
header(out,
|
||||
'https://services13.ieee.org/RST/standards-ra-web/rest/assignments/download/?registry=MA-L&format=txt',
|
||||
'https://services13.ieee.org/RST/standards-ra-web/rest/assignments/download/?registry=MA-M&format=txt',
|
||||
'https://services13.ieee.org/RST/standards-ra-web/rest/assignments/download/?registry=MA-S&format=txt')
|
||||
|
||||
for pattern in sorted(items):
|
||||
print(f'',
|
||||
f'OUI:{pattern}*',
|
||||
f' ID_OUI_FROM_DATABASE={items[pattern]}', sep='\n', file=out)
|
||||
|
||||
print(f'Wrote {out.name}')
|
||||
|
||||
if __name__ == '__main__':
|
||||
args = sys.argv[1:]
|
||||
|
||||
if not args or 'usb' in args:
|
||||
p = usb_ids_grammar().parseFile(open('usb.ids'))
|
||||
usb_vendor_model(p)
|
||||
usb_classes(p)
|
||||
|
||||
if not args or 'pci' in args:
|
||||
p = pci_ids_grammar().parseFile(open('pci.ids'))
|
||||
pci_vendor_model(p)
|
||||
pci_classes(p)
|
||||
|
||||
if not args or 'sdio' in args:
|
||||
p = pci_ids_grammar().parseFile(open('sdio.ids'))
|
||||
sdio_vendor_model(p)
|
||||
sdio_classes(p)
|
||||
|
||||
if not args or 'oui' in args:
|
||||
p = oui_grammar('small').parseFile(open('ma-small.txt'))
|
||||
p2 = oui_grammar('medium').parseFile(open('ma-medium.txt'))
|
||||
p3 = oui_grammar('large').parseFile(open('ma-large.txt'))
|
||||
oui(p, p2, p3)
|
143475
hwdb/ma-large.txt
Normal file
143475
hwdb/ma-large.txt
Normal file
File diff suppressed because it is too large
Load Diff
10152
hwdb/ma-medium.txt
Normal file
10152
hwdb/ma-medium.txt
Normal file
File diff suppressed because it is too large
Load Diff
13701
hwdb/ma-small.txt
Normal file
13701
hwdb/ma-small.txt
Normal file
File diff suppressed because it is too large
Load Diff
@ -12,12 +12,13 @@ hwdb_files = files('''
|
||||
60-evdev.hwdb
|
||||
60-keyboard.hwdb
|
||||
60-sensor.hwdb
|
||||
70-joystick.hwdb
|
||||
70-mouse.hwdb
|
||||
70-pointingstick.hwdb
|
||||
70-touchpad.hwdb
|
||||
'''.split())
|
||||
|
||||
if conf.get('ENABLE_HWDB', false)
|
||||
if conf.get('ENABLE_HWDB') == 1
|
||||
install_data(hwdb_files,
|
||||
install_dir : udevhwdbdir)
|
||||
|
||||
@ -39,5 +40,5 @@ test('parse-hwdb',
|
||||
############################################################
|
||||
|
||||
run_target(
|
||||
'update',
|
||||
'hwdb-update',
|
||||
command : [hwdb_update_sh, meson.current_source_dir()])
|
||||
|
@ -168,6 +168,20 @@ def check_one_default(prop, settings):
|
||||
if len(defaults) > 1:
|
||||
error('More than one star entry: {!r}', prop)
|
||||
|
||||
def check_one_mount_matrix(prop, value):
|
||||
numbers = [s for s in value if s not in {';', ','}]
|
||||
if len(numbers) != 9:
|
||||
error('Wrong accel matrix: {!r}', prop)
|
||||
try:
|
||||
numbers = [abs(float(number)) for number in numbers]
|
||||
except ValueError:
|
||||
error('Wrong accel matrix: {!r}', prop)
|
||||
bad_x, bad_y, bad_z = max(numbers[0:3]) == 0, max(numbers[3:6]) == 0, max(numbers[6:9]) == 0
|
||||
if bad_x or bad_y or bad_z:
|
||||
error('Mount matrix is all zero in {} row: {!r}',
|
||||
'x' if bad_x else ('y' if bad_y else 'z'),
|
||||
prop)
|
||||
|
||||
def check_one_keycode(prop, value):
|
||||
if value != '!' and ecodes is not None:
|
||||
key = 'KEY_' + value.upper()
|
||||
@ -194,6 +208,8 @@ def check_properties(groups):
|
||||
prop_names.add(parsed.NAME)
|
||||
if parsed.NAME == 'MOUSE_DPI':
|
||||
check_one_default(prop, parsed.VALUE.SETTINGS)
|
||||
elif parsed.NAME == 'ACCEL_MOUNT_MATRIX':
|
||||
check_one_mount_matrix(prop, parsed.VALUE)
|
||||
elif parsed.NAME.startswith('KEYBOARD_KEY_'):
|
||||
check_one_keycode(prop, parsed.VALUE)
|
||||
|
||||
|
29544
hwdb/pci.ids
Normal file
29544
hwdb/pci.ids
Normal file
File diff suppressed because it is too large
Load Diff
2414
hwdb/pnp_id_registry.html
Normal file
2414
hwdb/pnp_id_registry.html
Normal file
File diff suppressed because it is too large
Load Diff
21079
hwdb/usb.ids
Normal file
21079
hwdb/usb.ids
Normal file
File diff suppressed because it is too large
Load Diff
6
m4/.gitignore
vendored
6
m4/.gitignore
vendored
@ -1,6 +0,0 @@
|
||||
intltool.m4
|
||||
libtool.m4
|
||||
ltoptions.m4
|
||||
ltsugar.m4
|
||||
ltversion.m4
|
||||
lt~obsolete.m4
|
13
m4/arch.m4
13
m4/arch.m4
@ -1,13 +0,0 @@
|
||||
|
||||
dnl SET_ARCH(ARCHNAME, PATTERN)
|
||||
dnl
|
||||
dnl Define ARCH_<archname> condition if the pattern match with the current
|
||||
dnl architecture
|
||||
dnl
|
||||
AC_DEFUN([SET_ARCH], [
|
||||
cpu_$1=false
|
||||
case "$host" in
|
||||
$2) cpu_$1=true ;;
|
||||
esac
|
||||
AM_CONDITIONAL(AS_TR_CPP(ARCH_$1), [test "x$cpu_$1" = xtrue])
|
||||
])
|
292
m4/attributes.m4
292
m4/attributes.m4
@ -1,292 +0,0 @@
|
||||
dnl Macros to check the presence of generic (non-typed) symbols.
|
||||
dnl Copyright (c) 2006-2008 Diego Pettenò <flameeyes@gmail.com>
|
||||
dnl Copyright (c) 2006-2008 xine project
|
||||
dnl Copyright (c) 2012 Lucas De Marchi <lucas.de.marchi@gmail.com>
|
||||
dnl
|
||||
dnl This program is free software; you can redistribute it and/or modify
|
||||
dnl it under the terms of the GNU General Public License as published by
|
||||
dnl the Free Software Foundation; either version 2, or (at your option)
|
||||
dnl any later version.
|
||||
dnl
|
||||
dnl This program is distributed in the hope that it will be useful,
|
||||
dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
dnl GNU General Public License for more details.
|
||||
dnl
|
||||
dnl You should have received a copy of the GNU General Public License
|
||||
dnl along with this program; if not, write to the Free Software
|
||||
dnl Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
||||
dnl 02110-1301, USA.
|
||||
dnl
|
||||
dnl As a special exception, the copyright owners of the
|
||||
dnl macro gives unlimited permission to copy, distribute and modify the
|
||||
dnl configure scripts that are the output of Autoconf when processing the
|
||||
dnl Macro. You need not follow the terms of the GNU General Public
|
||||
dnl License when using or distributing such scripts, even though portions
|
||||
dnl of the text of the Macro appear in them. The GNU General Public
|
||||
dnl License (GPL) does govern all other use of the material that
|
||||
dnl constitutes the Autoconf Macro.
|
||||
dnl
|
||||
dnl This special exception to the GPL applies to versions of the
|
||||
dnl Autoconf Macro released by this project. When you make and
|
||||
dnl distribute a modified version of the Autoconf Macro, you may extend
|
||||
dnl this special exception to the GPL to apply to your modified version as
|
||||
dnl well.
|
||||
|
||||
dnl Check if FLAG in ENV-VAR is supported by compiler and append it
|
||||
dnl to WHERE-TO-APPEND variable. Note that we invert -Wno-* checks to
|
||||
dnl -W* as gcc cannot test for negated warnings. If a C snippet is passed,
|
||||
dnl use it, otherwise use a simple main() definition that just returns 0.
|
||||
dnl CC_CHECK_FLAG_APPEND([WHERE-TO-APPEND], [ENV-VAR], [FLAG], [C-SNIPPET])
|
||||
|
||||
AC_DEFUN([CC_CHECK_FLAG_APPEND], [
|
||||
AC_CACHE_CHECK([if $CC supports flag $3 in envvar $2],
|
||||
AS_TR_SH([cc_cv_$2_$3]),
|
||||
[eval "AS_TR_SH([cc_save_$2])='${$2}'"
|
||||
eval "AS_TR_SH([$2])='${cc_save_$2} -Werror `echo "$3" | sed 's/^-Wno-/-W/'`'"
|
||||
AC_LINK_IFELSE([AC_LANG_SOURCE(ifelse([$4], [],
|
||||
[int main(void) { return 0; } ],
|
||||
[$4]))],
|
||||
[eval "AS_TR_SH([cc_cv_$2_$3])='yes'"],
|
||||
[eval "AS_TR_SH([cc_cv_$2_$3])='no'"])
|
||||
eval "AS_TR_SH([$2])='$cc_save_$2'"])
|
||||
|
||||
AS_IF([eval test x$]AS_TR_SH([cc_cv_$2_$3])[ = xyes],
|
||||
[eval "$1='${$1} $3'"])
|
||||
])
|
||||
|
||||
dnl CC_CHECK_FLAGS_APPEND([WHERE-TO-APPEND], [ENV-VAR], [FLAG1 FLAG2], [C-SNIPPET])
|
||||
AC_DEFUN([CC_CHECK_FLAGS_APPEND], [
|
||||
for flag in [$3]; do
|
||||
CC_CHECK_FLAG_APPEND([$1], [$2], $flag, [$4])
|
||||
done
|
||||
])
|
||||
|
||||
dnl Check if the flag is supported by linker (cacheable)
|
||||
dnl CC_CHECK_LDFLAGS([FLAG], [ACTION-IF-FOUND],[ACTION-IF-NOT-FOUND])
|
||||
|
||||
AC_DEFUN([CC_CHECK_LDFLAGS], [
|
||||
AC_CACHE_CHECK([if $CC supports $1 flag],
|
||||
AS_TR_SH([cc_cv_ldflags_$1]),
|
||||
[ac_save_LDFLAGS="$LDFLAGS"
|
||||
LDFLAGS="$LDFLAGS $1"
|
||||
AC_LINK_IFELSE([int main() { return 1; }],
|
||||
[eval "AS_TR_SH([cc_cv_ldflags_$1])='yes'"],
|
||||
[eval "AS_TR_SH([cc_cv_ldflags_$1])="])
|
||||
LDFLAGS="$ac_save_LDFLAGS"
|
||||
])
|
||||
|
||||
AS_IF([eval test x$]AS_TR_SH([cc_cv_ldflags_$1])[ = xyes],
|
||||
[$2], [$3])
|
||||
])
|
||||
|
||||
dnl define the LDFLAGS_NOUNDEFINED variable with the correct value for
|
||||
dnl the current linker to avoid undefined references in a shared object.
|
||||
AC_DEFUN([CC_NOUNDEFINED], [
|
||||
dnl We check $host for which systems to enable this for.
|
||||
AC_REQUIRE([AC_CANONICAL_HOST])
|
||||
|
||||
case $host in
|
||||
dnl FreeBSD (et al.) does not complete linking for shared objects when pthreads
|
||||
dnl are requested, as different implementations are present; to avoid problems
|
||||
dnl use -Wl,-z,defs only for those platform not behaving this way.
|
||||
*-freebsd* | *-openbsd*) ;;
|
||||
*)
|
||||
dnl First of all check for the --no-undefined variant of GNU ld. This allows
|
||||
dnl for a much more readable command line, so that people can understand what
|
||||
dnl it does without going to look for what the heck -z defs does.
|
||||
for possible_flags in "-Wl,--no-undefined" "-Wl,-z,defs"; do
|
||||
CC_CHECK_LDFLAGS([$possible_flags], [LDFLAGS_NOUNDEFINED="$possible_flags"])
|
||||
break
|
||||
done
|
||||
;;
|
||||
esac
|
||||
|
||||
AC_SUBST([LDFLAGS_NOUNDEFINED])
|
||||
])
|
||||
|
||||
dnl Check for a -Werror flag or equivalent. -Werror is the GCC
|
||||
dnl and ICC flag that tells the compiler to treat all the warnings
|
||||
dnl as fatal. We usually need this option to make sure that some
|
||||
dnl constructs (like attributes) are not simply ignored.
|
||||
dnl
|
||||
dnl Other compilers don't support -Werror per se, but they support
|
||||
dnl an equivalent flag:
|
||||
dnl - Sun Studio compiler supports -errwarn=%all
|
||||
AC_DEFUN([CC_CHECK_WERROR], [
|
||||
AC_CACHE_CHECK(
|
||||
[for $CC way to treat warnings as errors],
|
||||
[cc_cv_werror],
|
||||
[CC_CHECK_CFLAGS_SILENT([-Werror], [cc_cv_werror=-Werror],
|
||||
[CC_CHECK_CFLAGS_SILENT([-errwarn=%all], [cc_cv_werror=-errwarn=%all])])
|
||||
])
|
||||
])
|
||||
|
||||
AC_DEFUN([CC_CHECK_ATTRIBUTE], [
|
||||
AC_REQUIRE([CC_CHECK_WERROR])
|
||||
AC_CACHE_CHECK([if $CC supports __attribute__(( ifelse([$2], , [$1], [$2]) ))],
|
||||
AS_TR_SH([cc_cv_attribute_$1]),
|
||||
[ac_save_CFLAGS="$CFLAGS"
|
||||
CFLAGS="$CFLAGS $cc_cv_werror"
|
||||
AC_COMPILE_IFELSE([AC_LANG_SOURCE([$3])],
|
||||
[eval "AS_TR_SH([cc_cv_attribute_$1])='yes'"],
|
||||
[eval "AS_TR_SH([cc_cv_attribute_$1])='no'"])
|
||||
CFLAGS="$ac_save_CFLAGS"
|
||||
])
|
||||
|
||||
AS_IF([eval test x$]AS_TR_SH([cc_cv_attribute_$1])[ = xyes],
|
||||
[AC_DEFINE(
|
||||
AS_TR_CPP([SUPPORT_ATTRIBUTE_$1]), 1,
|
||||
[Define this if the compiler supports __attribute__(( ifelse([$2], , [$1], [$2]) ))]
|
||||
)
|
||||
$4],
|
||||
[$5])
|
||||
])
|
||||
|
||||
AC_DEFUN([CC_ATTRIBUTE_CONSTRUCTOR], [
|
||||
CC_CHECK_ATTRIBUTE(
|
||||
[constructor],,
|
||||
[void __attribute__((constructor)) ctor() { int a; }],
|
||||
[$1], [$2])
|
||||
])
|
||||
|
||||
AC_DEFUN([CC_ATTRIBUTE_FORMAT], [
|
||||
CC_CHECK_ATTRIBUTE(
|
||||
[format], [format(printf, n, n)],
|
||||
[void __attribute__((format(printf, 1, 2))) printflike(const char *fmt, ...) { fmt = (void *)0; }],
|
||||
[$1], [$2])
|
||||
])
|
||||
|
||||
AC_DEFUN([CC_ATTRIBUTE_FORMAT_ARG], [
|
||||
CC_CHECK_ATTRIBUTE(
|
||||
[format_arg], [format_arg(printf)],
|
||||
[char *__attribute__((format_arg(1))) gettextlike(const char *fmt) { fmt = (void *)0; }],
|
||||
[$1], [$2])
|
||||
])
|
||||
|
||||
AC_DEFUN([CC_ATTRIBUTE_VISIBILITY], [
|
||||
CC_CHECK_ATTRIBUTE(
|
||||
[visibility_$1], [visibility("$1")],
|
||||
[void __attribute__((visibility("$1"))) $1_function() { }],
|
||||
[$2], [$3])
|
||||
])
|
||||
|
||||
AC_DEFUN([CC_ATTRIBUTE_NONNULL], [
|
||||
CC_CHECK_ATTRIBUTE(
|
||||
[nonnull], [nonnull()],
|
||||
[void __attribute__((nonnull())) some_function(void *foo, void *bar) { foo = (void*)0; bar = (void*)0; }],
|
||||
[$1], [$2])
|
||||
])
|
||||
|
||||
AC_DEFUN([CC_ATTRIBUTE_UNUSED], [
|
||||
CC_CHECK_ATTRIBUTE(
|
||||
[unused], ,
|
||||
[void some_function(void *foo, __attribute__((unused)) void *bar);],
|
||||
[$1], [$2])
|
||||
])
|
||||
|
||||
AC_DEFUN([CC_ATTRIBUTE_SENTINEL], [
|
||||
CC_CHECK_ATTRIBUTE(
|
||||
[sentinel], ,
|
||||
[void some_function(void *foo, ...) __attribute__((sentinel));],
|
||||
[$1], [$2])
|
||||
])
|
||||
|
||||
AC_DEFUN([CC_ATTRIBUTE_DEPRECATED], [
|
||||
CC_CHECK_ATTRIBUTE(
|
||||
[deprecated], ,
|
||||
[void some_function(void *foo, ...) __attribute__((deprecated));],
|
||||
[$1], [$2])
|
||||
])
|
||||
|
||||
AC_DEFUN([CC_ATTRIBUTE_ALIAS], [
|
||||
CC_CHECK_ATTRIBUTE(
|
||||
[alias], [weak, alias],
|
||||
[void other_function(void *foo) { }
|
||||
void some_function(void *foo) __attribute__((weak, alias("other_function")));],
|
||||
[$1], [$2])
|
||||
])
|
||||
|
||||
AC_DEFUN([CC_ATTRIBUTE_MALLOC], [
|
||||
CC_CHECK_ATTRIBUTE(
|
||||
[malloc], ,
|
||||
[void * __attribute__((malloc)) my_alloc(int n);],
|
||||
[$1], [$2])
|
||||
])
|
||||
|
||||
AC_DEFUN([CC_ATTRIBUTE_PACKED], [
|
||||
CC_CHECK_ATTRIBUTE(
|
||||
[packed], ,
|
||||
[struct astructure { char a; int b; long c; void *d; } __attribute__((packed));],
|
||||
[$1], [$2])
|
||||
])
|
||||
|
||||
AC_DEFUN([CC_ATTRIBUTE_CONST], [
|
||||
CC_CHECK_ATTRIBUTE(
|
||||
[const], ,
|
||||
[int __attribute__((const)) twopow(int n) { return 1 << n; } ],
|
||||
[$1], [$2])
|
||||
])
|
||||
|
||||
AC_DEFUN([CC_FLAG_VISIBILITY], [
|
||||
AC_REQUIRE([CC_CHECK_WERROR])
|
||||
AC_CACHE_CHECK([if $CC supports -fvisibility=hidden],
|
||||
[cc_cv_flag_visibility],
|
||||
[cc_flag_visibility_save_CFLAGS="$CFLAGS"
|
||||
CFLAGS="$CFLAGS $cc_cv_werror"
|
||||
CC_CHECK_CFLAGS_SILENT([-fvisibility=hidden],
|
||||
cc_cv_flag_visibility='yes',
|
||||
cc_cv_flag_visibility='no')
|
||||
CFLAGS="$cc_flag_visibility_save_CFLAGS"])
|
||||
|
||||
AS_IF([test "x$cc_cv_flag_visibility" = "xyes"],
|
||||
[AC_DEFINE([SUPPORT_FLAG_VISIBILITY], 1,
|
||||
[Define this if the compiler supports the -fvisibility flag])
|
||||
$1],
|
||||
[$2])
|
||||
])
|
||||
|
||||
AC_DEFUN([CC_FUNC_EXPECT], [
|
||||
AC_REQUIRE([CC_CHECK_WERROR])
|
||||
AC_CACHE_CHECK([if compiler has __builtin_expect function],
|
||||
[cc_cv_func_expect],
|
||||
[ac_save_CFLAGS="$CFLAGS"
|
||||
CFLAGS="$CFLAGS $cc_cv_werror"
|
||||
AC_COMPILE_IFELSE([AC_LANG_SOURCE(
|
||||
[int some_function() {
|
||||
int a = 3;
|
||||
return (int)__builtin_expect(a, 3);
|
||||
}])],
|
||||
[cc_cv_func_expect=yes],
|
||||
[cc_cv_func_expect=no])
|
||||
CFLAGS="$ac_save_CFLAGS"
|
||||
])
|
||||
|
||||
AS_IF([test "x$cc_cv_func_expect" = "xyes"],
|
||||
[AC_DEFINE([SUPPORT__BUILTIN_EXPECT], 1,
|
||||
[Define this if the compiler supports __builtin_expect() function])
|
||||
$1],
|
||||
[$2])
|
||||
])
|
||||
|
||||
AC_DEFUN([CC_ATTRIBUTE_ALIGNED], [
|
||||
AC_REQUIRE([CC_CHECK_WERROR])
|
||||
AC_CACHE_CHECK([highest __attribute__ ((aligned ())) supported],
|
||||
[cc_cv_attribute_aligned],
|
||||
[ac_save_CFLAGS="$CFLAGS"
|
||||
CFLAGS="$CFLAGS $cc_cv_werror"
|
||||
for cc_attribute_align_try in 64 32 16 8 4 2; do
|
||||
AC_COMPILE_IFELSE([AC_LANG_SOURCE([
|
||||
int main() {
|
||||
static char c __attribute__ ((aligned($cc_attribute_align_try))) = 0;
|
||||
return c;
|
||||
}])], [cc_cv_attribute_aligned=$cc_attribute_align_try; break])
|
||||
done
|
||||
CFLAGS="$ac_save_CFLAGS"
|
||||
])
|
||||
|
||||
if test "x$cc_cv_attribute_aligned" != "x"; then
|
||||
AC_DEFINE_UNQUOTED([ATTRIBUTE_ALIGNED_MAX], [$cc_cv_attribute_aligned],
|
||||
[Define the highest alignment supported])
|
||||
fi
|
||||
])
|
@ -1,87 +0,0 @@
|
||||
# ===========================================================================
|
||||
# http://www.gnu.org/software/autoconf-archive/ax_compiler_vendor.html
|
||||
# ===========================================================================
|
||||
#
|
||||
# SYNOPSIS
|
||||
#
|
||||
# AX_COMPILER_VENDOR
|
||||
#
|
||||
# DESCRIPTION
|
||||
#
|
||||
# Determine the vendor of the C/C++ compiler, e.g., gnu, intel, ibm, sun,
|
||||
# hp, borland, comeau, dec, cray, kai, lcc, metrowerks, sgi, microsoft,
|
||||
# watcom, etc. The vendor is returned in the cache variable
|
||||
# $ax_cv_c_compiler_vendor for C and $ax_cv_cxx_compiler_vendor for C++.
|
||||
#
|
||||
# LICENSE
|
||||
#
|
||||
# Copyright (c) 2008 Steven G. Johnson <stevenj@alum.mit.edu>
|
||||
# Copyright (c) 2008 Matteo Frigo
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License as published by the
|
||||
# Free Software Foundation, either version 3 of the License, or (at your
|
||||
# option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
|
||||
# Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License along
|
||||
# with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
# As a special exception, the respective Autoconf Macro's copyright owner
|
||||
# gives unlimited permission to copy, distribute and modify the configure
|
||||
# scripts that are the output of Autoconf when processing the Macro. You
|
||||
# need not follow the terms of the GNU General Public License when using
|
||||
# or distributing such scripts, even though portions of the text of the
|
||||
# Macro appear in them. The GNU General Public License (GPL) does govern
|
||||
# all other use of the material that constitutes the Autoconf Macro.
|
||||
#
|
||||
# This special exception to the GPL applies to versions of the Autoconf
|
||||
# Macro released by the Autoconf Archive. When you make and distribute a
|
||||
# modified version of the Autoconf Macro, you may extend this special
|
||||
# exception to the GPL to apply to your modified version as well.
|
||||
|
||||
#serial 15
|
||||
|
||||
AC_DEFUN([AX_COMPILER_VENDOR],
|
||||
[AC_CACHE_CHECK([for _AC_LANG compiler vendor], ax_cv_[]_AC_LANG_ABBREV[]_compiler_vendor,
|
||||
dnl Please add if possible support to ax_compiler_version.m4
|
||||
[# note: don't check for gcc first since some other compilers define __GNUC__
|
||||
vendors="intel: __ICC,__ECC,__INTEL_COMPILER
|
||||
ibm: __xlc__,__xlC__,__IBMC__,__IBMCPP__
|
||||
pathscale: __PATHCC__,__PATHSCALE__
|
||||
clang: __clang__
|
||||
cray: _CRAYC
|
||||
fujitsu: __FUJITSU
|
||||
gnu: __GNUC__
|
||||
sun: __SUNPRO_C,__SUNPRO_CC
|
||||
hp: __HP_cc,__HP_aCC
|
||||
dec: __DECC,__DECCXX,__DECC_VER,__DECCXX_VER
|
||||
borland: __BORLANDC__,__CODEGEARC__,__TURBOC__
|
||||
comeau: __COMO__
|
||||
kai: __KCC
|
||||
lcc: __LCC__
|
||||
sgi: __sgi,sgi
|
||||
microsoft: _MSC_VER
|
||||
metrowerks: __MWERKS__
|
||||
watcom: __WATCOMC__
|
||||
portland: __PGI
|
||||
tcc: __TINYC__
|
||||
unknown: UNKNOWN"
|
||||
for ventest in $vendors; do
|
||||
case $ventest in
|
||||
*:) vendor=$ventest; continue ;;
|
||||
*) vencpp="defined("`echo $ventest | sed 's/,/) || defined(/g'`")" ;;
|
||||
esac
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[
|
||||
#if !($vencpp)
|
||||
thisisanerror;
|
||||
#endif
|
||||
])], [break])
|
||||
done
|
||||
ax_cv_[]_AC_LANG_ABBREV[]_compiler_vendor=`echo $vendor | cut -d: -f1`
|
||||
])
|
||||
])
|
@ -1,115 +0,0 @@
|
||||
# ===========================================================================
|
||||
# http://www.gnu.org/software/autoconf-archive/ax_normalize_path.html
|
||||
# ===========================================================================
|
||||
#
|
||||
# SYNOPSIS
|
||||
#
|
||||
# AX_NORMALIZE_PATH(VARNAME, [REFERENCE_STRING])
|
||||
#
|
||||
# DESCRIPTION
|
||||
#
|
||||
# Perform some cleanups on the value of $VARNAME (interpreted as a path):
|
||||
#
|
||||
# - empty paths are changed to '.'
|
||||
# - trailing slashes are removed
|
||||
# - repeated slashes are squeezed except a leading doubled slash '//'
|
||||
# (which might indicate a networked disk on some OS).
|
||||
#
|
||||
# REFERENCE_STRING is used to turn '/' into '\' and vice-versa: if
|
||||
# REFERENCE_STRING contains some backslashes, all slashes and backslashes
|
||||
# are turned into backslashes, otherwise they are all turned into slashes.
|
||||
#
|
||||
# This makes processing of DOS filenames quite easier, because you can
|
||||
# turn a filename to the Unix notation, make your processing, and turn it
|
||||
# back to original notation.
|
||||
#
|
||||
# filename='A:\FOO\\BAR\'
|
||||
# old_filename="$filename"
|
||||
# # Switch to the unix notation
|
||||
# AX_NORMALIZE_PATH([filename], ["/"])
|
||||
# # now we have $filename = 'A:/FOO/BAR' and we can process it as if
|
||||
# # it was a Unix path. For instance let's say that you want
|
||||
# # to append '/subpath':
|
||||
# filename="$filename/subpath"
|
||||
# # finally switch back to the original notation
|
||||
# AX_NORMALIZE_PATH([filename], ["$old_filename"])
|
||||
# # now $filename equals to 'A:\FOO\BAR\subpath'
|
||||
#
|
||||
# One good reason to make all path processing with the unix convention is
|
||||
# that backslashes have a special meaning in many cases. For instance
|
||||
#
|
||||
# expr 'A:\FOO' : 'A:\Foo'
|
||||
#
|
||||
# will return 0 because the second argument is a regex in which
|
||||
# backslashes have to be backslashed. In other words, to have the two
|
||||
# strings to match you should write this instead:
|
||||
#
|
||||
# expr 'A:\Foo' : 'A:\\Foo'
|
||||
#
|
||||
# Such behavior makes DOS filenames extremely unpleasant to work with. So
|
||||
# temporary turn your paths to the Unix notation, and revert them to the
|
||||
# original notation after the processing. See the macro
|
||||
# AX_COMPUTE_RELATIVE_PATHS for a concrete example of this.
|
||||
#
|
||||
# REFERENCE_STRING defaults to $VARIABLE, this means that slashes will be
|
||||
# converted to backslashes if $VARIABLE already contains some backslashes
|
||||
# (see $thirddir below).
|
||||
#
|
||||
# firstdir='/usr/local//share'
|
||||
# seconddir='C:\Program Files\\'
|
||||
# thirddir='C:\home/usr/'
|
||||
# AX_NORMALIZE_PATH([firstdir])
|
||||
# AX_NORMALIZE_PATH([seconddir])
|
||||
# AX_NORMALIZE_PATH([thirddir])
|
||||
# # $firstdir = '/usr/local/share'
|
||||
# # $seconddir = 'C:\Program Files'
|
||||
# # $thirddir = 'C:\home\usr'
|
||||
#
|
||||
# LICENSE
|
||||
#
|
||||
# Copyright (c) 2008 Alexandre Duret-Lutz <adl@gnu.org>
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License as published by the
|
||||
# Free Software Foundation; either version 2 of the License, or (at your
|
||||
# option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
|
||||
# Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License along
|
||||
# with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
# As a special exception, the respective Autoconf Macro's copyright owner
|
||||
# gives unlimited permission to copy, distribute and modify the configure
|
||||
# scripts that are the output of Autoconf when processing the Macro. You
|
||||
# need not follow the terms of the GNU General Public License when using
|
||||
# or distributing such scripts, even though portions of the text of the
|
||||
# Macro appear in them. The GNU General Public License (GPL) does govern
|
||||
# all other use of the material that constitutes the Autoconf Macro.
|
||||
#
|
||||
# This special exception to the GPL applies to versions of the Autoconf
|
||||
# Macro released by the Autoconf Archive. When you make and distribute a
|
||||
# modified version of the Autoconf Macro, you may extend this special
|
||||
# exception to the GPL to apply to your modified version as well.
|
||||
|
||||
#serial 5
|
||||
|
||||
AU_ALIAS([ADL_NORMALIZE_PATH], [AX_NORMALIZE_PATH])
|
||||
AC_DEFUN([AX_NORMALIZE_PATH],
|
||||
[case ":[$]$1:" in
|
||||
# change empty paths to '.'
|
||||
::) $1='.' ;;
|
||||
# strip trailing slashes
|
||||
:*[[\\/]]:) $1=`echo "[$]$1" | sed 's,[[\\/]]*[$],,'` ;;
|
||||
:*:) ;;
|
||||
esac
|
||||
# squeze repeated slashes
|
||||
case ifelse($2,,"[$]$1",$2) in
|
||||
# if the path contains any backslashes, turn slashes into backslashes
|
||||
*\\*) $1=`echo "[$]$1" | sed 's,\(.\)[[\\/]][[\\/]]*,\1\\\\,g'` ;;
|
||||
# if the path contains slashes, also turn backslashes into slashes
|
||||
*) $1=`echo "[$]$1" | sed 's,\(.\)[[\\/]][[\\/]]*,\1/,g'` ;;
|
||||
esac])
|
5
man/.gitignore
vendored
5
man/.gitignore
vendored
@ -1,5 +0,0 @@
|
||||
/systemd.directives.xml
|
||||
/systemd.index.xml
|
||||
/*.[13578]
|
||||
/*.html
|
||||
/custom-entities.ent
|
@ -1 +0,0 @@
|
||||
../src/Makefile
|
@ -193,7 +193,7 @@
|
||||
<varlistentry>
|
||||
<term>COREFILE</term>
|
||||
<listitem><para>Information whether the coredump was stored, and whether
|
||||
it is still accessible: <literal>none</literal> means the the core was
|
||||
it is still accessible: <literal>none</literal> means the core was
|
||||
not stored, <literal>-</literal> means that it was not available (for
|
||||
example because the process was not terminated by a signal),
|
||||
<literal>present</literal> means that the core file is accessible by the
|
||||
|
109
man/crypttab.xml
109
man/crypttab.xml
@ -69,8 +69,10 @@
|
||||
|
||||
<para>Empty lines and lines starting with the <literal>#</literal>
|
||||
character are ignored. Each of the remaining lines describes one
|
||||
encrypted block device, fields on the line are delimited by white
|
||||
space. The first two fields are mandatory, the remaining two are
|
||||
encrypted block device. Fields are delimited by white space.</para>
|
||||
|
||||
<para>Each line is in the form<programlisting><replaceable>name</replaceable> <replaceable>encrypted-device</replaceable> <replaceable>password</replaceable> <replaceable>options</replaceable></programlisting>
|
||||
The first two fields are mandatory, the remaining two are
|
||||
optional.</para>
|
||||
|
||||
<para>Setting up encrypted block devices using this file supports
|
||||
@ -105,14 +107,6 @@
|
||||
|
||||
<variablelist class='fstab-options'>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>discard</option></term>
|
||||
|
||||
<listitem><para>Allow discard requests to be passed through
|
||||
the encrypted block device. This improves performance on SSD
|
||||
storage but has security implications.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>cipher=</option></term>
|
||||
|
||||
@ -124,6 +118,14 @@
|
||||
recommended.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>discard</option></term>
|
||||
|
||||
<listitem><para>Allow discard requests to be passed through the encrypted block
|
||||
device. This improves performance on SSD storage but has security implications.
|
||||
</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>hash=</option></term>
|
||||
|
||||
@ -145,30 +147,6 @@
|
||||
option.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>offset=</option></term>
|
||||
|
||||
<listitem><para>Start offset in the backend device, in 512-byte sectors.
|
||||
This option is only relevant for plain devices.
|
||||
</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>skip=</option></term>
|
||||
|
||||
<listitem><para>How many 512-byte sectors of the encrypted data to skip
|
||||
at the beginning. This is different from the <option>--offset</option>
|
||||
option with respect to the sector numbers used in initialization vector
|
||||
(IV) calculation. Using <option>--offset</option> will shift the IV
|
||||
calculation by the same negative amount. Hence, if <option>--offset n</option> is given,
|
||||
sector n will get a sector number of 0 for the IV calculation.
|
||||
Using <option>--skip</option> causes sector n to also be the first
|
||||
sector of the mapped device, but with its number for IV generation being n.</para>
|
||||
|
||||
<para>This option is only relevant for plain devices.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>keyfile-offset=</option></term>
|
||||
|
||||
@ -213,6 +191,19 @@
|
||||
<option>size=</option>.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>_netdev</option></term>
|
||||
|
||||
<listitem><para>Marks this cryptsetup device as requiring network. It will be
|
||||
started after the network is available, similarly to
|
||||
<citerefentry><refentrytitle>systemd.mount</refentrytitle><manvolnum>5</manvolnum></citerefentry>
|
||||
units marked with <option>_netdev</option>. The service unit to set up this device
|
||||
will be ordered between <filename>remote-cryptsetup-pre.target</filename> and
|
||||
<filename>remote-cryptsetup.target</filename>, instead of
|
||||
<filename>cryptsetup-pre.target</filename> and
|
||||
<filename>cryptsetup.target</filename>.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>noauto</option></term>
|
||||
|
||||
@ -228,6 +219,13 @@
|
||||
does not show up.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>offset=</option></term>
|
||||
|
||||
<listitem><para>Start offset in the backend device, in 512-byte sectors. This
|
||||
option is only relevant for plain devices.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>plain</option></term>
|
||||
|
||||
@ -241,6 +239,23 @@
|
||||
mode.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>skip=</option></term>
|
||||
|
||||
<listitem><para>How many 512-byte sectors of the encrypted data to skip at the
|
||||
beginning. This is different from the <option>offset=</option> option with respect
|
||||
to the sector numbers used in initialization vector (IV) calculation. Using
|
||||
<option>offset=</option> will shift the IV calculation by the same negative
|
||||
amount. Hence, if <option>offset=<replaceable>n</replaceable></option> is given,
|
||||
sector <replaceable>n</replaceable> will get a sector number of 0 for the IV
|
||||
calculation. Using <option>skip=</option> causes sector
|
||||
<replaceable>n</replaceable> to also be the first sector of the mapped device, but
|
||||
with its number for IV generation being <replaceable>n</replaceable>.</para>
|
||||
|
||||
<para>This option is only relevant for plain devices.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>size=</option></term>
|
||||
|
||||
@ -346,19 +361,6 @@
|
||||
indefinitely (which is the default).</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>x-systemd.device-timeout=</option></term>
|
||||
|
||||
<listitem><para>Specifies how long systemd should wait for a
|
||||
device to show up before giving up on the entry. The argument
|
||||
is a time in seconds or explicitly specified units of
|
||||
<literal>s</literal>,
|
||||
<literal>min</literal>,
|
||||
<literal>h</literal>,
|
||||
<literal>ms</literal>.
|
||||
</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>tmp</option></term>
|
||||
|
||||
@ -390,6 +392,19 @@
|
||||
typos.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>x-systemd.device-timeout=</option></term>
|
||||
|
||||
<listitem><para>Specifies how long systemd should wait for a device to show up
|
||||
before giving up on the entry. The argument is a time in seconds or explicitly
|
||||
specified units of
|
||||
<literal>s</literal>,
|
||||
<literal>min</literal>,
|
||||
<literal>h</literal>,
|
||||
<literal>ms</literal>.
|
||||
</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
<para>At early boot and when the system manager configuration is
|
||||
|
@ -21,7 +21,7 @@
|
||||
along with systemd; If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<refentry id="dnssec-trust-anchors.d" conditional='ENABLE_RESOLVED'
|
||||
<refentry id="dnssec-trust-anchors.d" conditional='ENABLE_RESOLVE'
|
||||
xmlns:xi="http://www.w3.org/2001/XInclude">
|
||||
<refentryinfo>
|
||||
<title>dnssec-trust-anchors.d</title>
|
||||
|
@ -357,6 +357,14 @@
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><varname>ReadKMsg=</varname></term>
|
||||
|
||||
<listitem><para>Takes a boolean value. If enabled (the
|
||||
default), journal reads <filename>/dev/kmsg</filename>
|
||||
messages generated by the kernel.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><varname>TTYPath=</varname></term>
|
||||
|
||||
@ -365,6 +373,24 @@
|
||||
<filename>/dev/console</filename>.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><varname>LineMax=</varname></term>
|
||||
|
||||
<listitem><para>The maximum line length to permit when converting stream logs into record logs. When a systemd
|
||||
unit's standard output/error are connected to the journal via a stream socket, the data read is split into
|
||||
individual log records at newline (<literal>\n</literal>, ASCII 10) and NUL characters. If no such delimiter is
|
||||
read for the specified number of bytes a hard log record boundary is artifically inserted, breaking up overly
|
||||
long lines into multiple log records. Selecting overly large values increases the possible memory usage of the
|
||||
Journal daemon for each stream client, as in the worst case the journal daemon needs to buffer the specified
|
||||
number of bytes in memory before it can flush a new log record to disk. Also note that permitting overly large
|
||||
line maximum line lengths affects compatibility with traditional log protocols as log records might not fit
|
||||
anymore into a single <constant>AF_UNIX</constant> or <constant>AF_INET</constant> datagram. Takes a size in
|
||||
bytes. If the value is suffixed with K, M, G or T, the specified size is parsed as Kilobytes, Megabytes,
|
||||
Gigabytes, or Terabytes (with the base 1024), respectively. Defaults to 48K, which is relatively large but
|
||||
still small enough so that log records likely fit into network datagrams along with extra room for
|
||||
metadata. Note that values below 79 are not accepted and will be bumped to 79.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
</refsect1>
|
||||
|
@ -335,6 +335,18 @@
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><varname>mount.usr=</varname></term>
|
||||
<term><varname>mount.usrfstype=</varname></term>
|
||||
<term><varname>mount.usrflags=</varname></term>
|
||||
|
||||
<listitem>
|
||||
<para>Configures the /usr file system (if required) and
|
||||
its file system type and mount options. For details, see
|
||||
<citerefentry><refentrytitle>systemd-fstab-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><varname>roothash=</varname></term>
|
||||
<term><varname>systemd.verity=</varname></term>
|
||||
|
@ -79,17 +79,18 @@
|
||||
OS kernel with the host OS, in order to run
|
||||
OS userspace instances on top the host OS.</para></listitem>
|
||||
|
||||
<listitem><para>The host system itself</para></listitem>
|
||||
<listitem><para>The host system itself.</para></listitem>
|
||||
</itemizedlist>
|
||||
|
||||
<para>Machines are identified by names that follow the same rules
|
||||
as UNIX and DNS host names, for details, see below. Machines are
|
||||
instantiated from disk or file system images that frequently — but not
|
||||
necessarily — carry the same name as machines running from
|
||||
them. Images in this sense are considered:</para>
|
||||
as UNIX and DNS host names. For details, see below.</para>
|
||||
|
||||
<para>Machines are instantiated from disk or file system images that
|
||||
frequently — but not necessarily — carry the same name as machines running
|
||||
from them. Images in this sense may be:</para>
|
||||
|
||||
<itemizedlist>
|
||||
<listitem><para>Directory trees containing an OS, including its
|
||||
<listitem><para>Directory trees containing an OS, including the
|
||||
top-level directories <filename>/usr</filename>,
|
||||
<filename>/etc</filename>, and so on.</para></listitem>
|
||||
|
||||
@ -299,7 +300,16 @@
|
||||
</varlistentry>
|
||||
|
||||
<xi:include href="user-system-options.xml" xpointer="host" />
|
||||
<xi:include href="user-system-options.xml" xpointer="machine" />
|
||||
|
||||
<varlistentry>
|
||||
<term><option>-M</option></term>
|
||||
<term><option>--machine=</option></term>
|
||||
|
||||
<listitem><para>Connect to
|
||||
<citerefentry><refentrytitle>systemd-machined.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>
|
||||
running in a local container, to perform the specified operation within
|
||||
the container.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<xi:include href="standard-options.xml" xpointer="no-pager" />
|
||||
<xi:include href="standard-options.xml" xpointer="no-legend" />
|
||||
@ -809,7 +819,7 @@
|
||||
qcow2 or raw disk image, possibly compressed with xz, gzip or
|
||||
bzip2. If the second argument (the resulting image name) is
|
||||
not specified, it is automatically derived from the file
|
||||
name. If the file name is passed as <literal>-</literal>, the
|
||||
name. If the filename is passed as <literal>-</literal>, the
|
||||
image is read from standard input, in which case the second
|
||||
argument is mandatory.</para>
|
||||
|
||||
|
@ -11,6 +11,7 @@ want_html = want_html != 'false' and xsltproc.found()
|
||||
xsltproc_flags = [
|
||||
'--nonet',
|
||||
'--xinclude',
|
||||
'--maxdepth', '9000',
|
||||
'--stringparam', 'man.output.quietly', '1',
|
||||
'--stringparam', 'funcsynopsis.style', 'ansi',
|
||||
'--stringparam', 'man.authors.section.enabled', '0',
|
||||
@ -50,7 +51,7 @@ foreach tuple : manpages
|
||||
|
||||
mandirn = join_paths(get_option('mandir'), 'man' + section)
|
||||
|
||||
if condition == '' or conf.get(condition, false)
|
||||
if condition == '' or conf.get(condition) == 1
|
||||
p1 = custom_target(
|
||||
man,
|
||||
input : xml,
|
||||
@ -170,10 +171,10 @@ man = custom_target(
|
||||
depends : man_pages,
|
||||
command : ['echo'])
|
||||
|
||||
html = run_target(
|
||||
html = custom_target(
|
||||
'html',
|
||||
depends : html_pages,
|
||||
output : 'html',
|
||||
depends : html_pages,
|
||||
command : ['echo'])
|
||||
|
||||
run_target(
|
||||
@ -191,14 +192,15 @@ run_target(
|
||||
############################################################
|
||||
|
||||
if git.found()
|
||||
run_target(
|
||||
custom_target(
|
||||
'update-man-rules',
|
||||
output : 'update-man-rules',
|
||||
# slightly strange syntax because of
|
||||
# https://github.com/mesonbuild/meson/issues/1643
|
||||
# and https://github.com/mesonbuild/meson/issues/1512
|
||||
command : ['sh', '-c',
|
||||
'cd @0@ && '.format(meson.build_root()) +
|
||||
'python3 @0@/tools/make-man-rules.py --meson `git ls-files ":/man/*.xml"` >t && '.format(meson.source_root()) +
|
||||
'python3 @0@/tools/make-man-rules.py `git ls-files ":/man/*.xml"` >t && '.format(meson.source_root()) +
|
||||
'mv t @0@/rules/meson.build'.format(meson.current_source_dir())],
|
||||
depend_files : custom_entities_ent)
|
||||
endif
|
||||
|
@ -22,7 +22,7 @@
|
||||
along with systemd; If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<refentry id="nss-myhostname" conditional='HAVE_MYHOSTNAME'>
|
||||
<refentry id="nss-myhostname" conditional='ENABLE_MYHOSTNAME'>
|
||||
|
||||
<refentryinfo>
|
||||
<title>nss-myhostname</title>
|
||||
|
@ -22,7 +22,7 @@
|
||||
along with systemd; If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<refentry id="nss-resolve" conditional='ENABLE_RESOLVED'>
|
||||
<refentry id="nss-resolve" conditional='ENABLE_RESOLVE'>
|
||||
|
||||
<refentryinfo>
|
||||
<title>nss-resolve</title>
|
||||
|
@ -21,7 +21,7 @@
|
||||
along with systemd; If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<refentry id="resolved.conf" conditional='ENABLE_RESOLVED'
|
||||
<refentry id="resolved.conf" conditional='ENABLE_RESOLVE'
|
||||
xmlns:xi="http://www.w3.org/2001/XInclude">
|
||||
<refentryinfo>
|
||||
<title>resolved.conf</title>
|
||||
|
@ -11,7 +11,7 @@ manpages = [
|
||||
['dnssec-trust-anchors.d',
|
||||
'5',
|
||||
['systemd.negative', 'systemd.positive'],
|
||||
'ENABLE_RESOLVED'],
|
||||
'ENABLE_RESOLVE'],
|
||||
['environment.d', '5', [], 'ENABLE_ENVIRONMENT_D'],
|
||||
['file-hierarchy', '7', [], ''],
|
||||
['halt', '8', ['poweroff', 'reboot'], ''],
|
||||
@ -36,14 +36,14 @@ manpages = [
|
||||
['modules-load.d', '5', [], 'HAVE_KMOD'],
|
||||
['networkctl', '1', [], 'ENABLE_NETWORKD'],
|
||||
['networkd.conf', '5', ['networkd.conf.d'], 'ENABLE_NETWORKD'],
|
||||
['nss-myhostname', '8', ['libnss_myhostname.so.2'], 'HAVE_MYHOSTNAME'],
|
||||
['nss-myhostname', '8', ['libnss_myhostname.so.2'], 'ENABLE_MYHOSTNAME'],
|
||||
['nss-mymachines', '8', ['libnss_mymachines.so.2'], 'ENABLE_MACHINED'],
|
||||
['nss-resolve', '8', ['libnss_resolve.so.2'], 'ENABLE_RESOLVED'],
|
||||
['nss-resolve', '8', ['libnss_resolve.so.2'], 'ENABLE_RESOLVE'],
|
||||
['nss-systemd', '8', ['libnss_systemd.so.2'], 'ENABLE_NSS_SYSTEMD'],
|
||||
['os-release', '5', [], ''],
|
||||
['pam_systemd', '8', [], 'HAVE_PAM'],
|
||||
['resolved.conf', '5', ['resolved.conf.d'], 'ENABLE_RESOLVED'],
|
||||
['runlevel', '8', [], 'HAVE_UTMP'],
|
||||
['resolved.conf', '5', ['resolved.conf.d'], 'ENABLE_RESOLVE'],
|
||||
['runlevel', '8', [], 'ENABLE_UTMP'],
|
||||
['sd-bus-errors',
|
||||
'3',
|
||||
['SD_BUS_ERROR_ACCESS_DENIED',
|
||||
@ -588,8 +588,8 @@ manpages = [
|
||||
['systemd-random-seed'],
|
||||
'ENABLE_RANDOMSEED'],
|
||||
['systemd-remount-fs.service', '8', ['systemd-remount-fs'], ''],
|
||||
['systemd-resolve', '1', [], 'ENABLE_RESOLVED'],
|
||||
['systemd-resolved.service', '8', ['systemd-resolved'], 'ENABLE_RESOLVED'],
|
||||
['systemd-resolve', '1', [], 'ENABLE_RESOLVE'],
|
||||
['systemd-resolved.service', '8', ['systemd-resolved'], 'ENABLE_RESOLVE'],
|
||||
['systemd-rfkill.service',
|
||||
'8',
|
||||
['systemd-rfkill', 'systemd-rfkill.socket'],
|
||||
@ -632,7 +632,7 @@ manpages = [
|
||||
['systemd-update-utmp.service',
|
||||
'8',
|
||||
['systemd-update-utmp', 'systemd-update-utmp-runlevel.service'],
|
||||
'HAVE_UTMP'],
|
||||
'ENABLE_UTMP'],
|
||||
['systemd-user-sessions.service', '8', ['systemd-user-sessions'], 'HAVE_PAM'],
|
||||
['systemd-vconsole-setup.service',
|
||||
'8',
|
||||
|
@ -23,7 +23,7 @@
|
||||
|
||||
<refentry id="runlevel"
|
||||
xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||
conditional="HAVE_UTMP">
|
||||
conditional="ENABLE_UTMP">
|
||||
|
||||
<refentryinfo>
|
||||
<title>runlevel</title>
|
||||
|
150
man/sd-login.xml
150
man/sd-login.xml
@ -66,11 +66,6 @@
|
||||
and monitor seat, login session and user status information on the
|
||||
local system. </para>
|
||||
|
||||
<para>See <ulink
|
||||
url="https://www.freedesktop.org/wiki/Software/systemd/multiseat">Multi-Seat
|
||||
on Linux</ulink> for an introduction into multi-seat support on
|
||||
Linux, the background for this set of APIs.</para>
|
||||
|
||||
<para>Note that these APIs only allow purely passive access and
|
||||
monitoring of seats, sessions and users. To actively make changes
|
||||
to the seat configuration, terminate login sessions, or switch
|
||||
@ -115,6 +110,146 @@
|
||||
implemented.</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
<title>Definition of Terms</title>
|
||||
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term>seat</term>
|
||||
|
||||
<listitem><para>A seat consists of all hardware devices assigned to a specific
|
||||
workplace. It consists of at least one graphics device, and usually also includes
|
||||
keyboard, mouse. It can also include video cameras, sound cards and more. Seats
|
||||
are identified by seat names, which are strings (<= 255 characters), that start
|
||||
with the four characters <literal>seat</literal> followed by at least one
|
||||
character from the range [a-zA-Z0-9], <literal>_</literal> and
|
||||
<literal>-</literal>. They are suitable for use as file names. Seat names may or
|
||||
may not be stable and may be reused if a seat becomes available again.
|
||||
</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>session</term>
|
||||
|
||||
<listitem><para>A session is defined by the time a user is logged in until they
|
||||
log out. A session is bound to one or no seats (the latter for 'virtual' ssh
|
||||
logins). Multiple sessions can be attached to the same seat, but only one of them
|
||||
can be active, the others are in the background. A session is identified by a
|
||||
short string.</para>
|
||||
|
||||
<para>
|
||||
<citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>
|
||||
ensures that audit sessions are identical to systemd sessions, and uses the audit
|
||||
session ID as session ID in systemd (if auditing is enabled). In general the
|
||||
session identifier is a short string consisting only of [a-zA-Z0-9],
|
||||
<literal>_</literal> and <literal>-</literal>, suitable for use as a file name.
|
||||
Session IDs are unique on the local machine and are
|
||||
never reused as long as the machine is online. A user (the way we know it on UNIX)
|
||||
corresponds to the person using a computer. A single user can have multiple
|
||||
sessions open at the same time. A user is identified by a numeric user id (UID) or
|
||||
a user name (a string). A multi-session system allows multiple user sessions on
|
||||
the same seat at the same time. A multi-seat system allows multiple independent
|
||||
seats that can be individually and simultaneously used by different users.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
|
||||
<para>All hardware devices that are eligible to being assigned to a seat, are assigned
|
||||
to one. A device can be assigned to only one seat at a time. If a device is not
|
||||
assigned to any particular other seat it is implicitly assigned to the special default
|
||||
seat called <literal>seat0</literal>.</para>
|
||||
|
||||
<para>Note that hardware like printers, hard disks or network cards is generally not
|
||||
assigned to a specific seat. They are available to all seats equally. (Well, with one
|
||||
exception: USB sticks can be assigned to a seat.)</para>
|
||||
|
||||
<para><literal>seat0</literal> always exists.</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
<title>udev Rules</title>
|
||||
|
||||
<para>Assignment of hardware devices to seats is managed inside the udev database, via
|
||||
settings on the devices:</para>
|
||||
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term>Tag <literal>seat</literal></term>
|
||||
|
||||
<listitem><para>When set, a device is eligible to be assigned to a seat. This tag
|
||||
is set for graphics devices, mice, keyboards, video cards, sound cards and
|
||||
more. Note that some devices like sound cards consist of multiple subdevices
|
||||
(i.e. a PCM for input and another one for output). This tag will be set only for
|
||||
the originating device, not for the individual subdevices. A UI for configuring
|
||||
assignment of devices to seats should enumerate and subscribe to all devices with
|
||||
this tag set and show them in the UI. Note that USB hubs can be assigned to a seat
|
||||
as well, in which case all (current and future) devices plugged into it will also
|
||||
be assigned to the same seat (unless they are explicitly assigned to another
|
||||
seat).
|
||||
</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>Tag <literal>master-of-seat</literal></term>
|
||||
|
||||
<listitem><para>When set, this device is enough for a seat to be considered
|
||||
existent. This tag is usually set for the framebuffer device of graphics cards. A
|
||||
seat hence consists of an arbitrary number of devices marked with the
|
||||
<literal>seat</literal> tag, but (at least) one of these devices needs to be
|
||||
tagged with <literal>master-of-seat</literal> before the seat is actually
|
||||
considered to be around.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>Property <varname>ID_SEAT</varname></term>
|
||||
|
||||
<listitem><para>This property specifies the name of the seat a specific device is
|
||||
assigned to. If not set the device is assigned to <literal>seat0</literal>. Also,
|
||||
to speed up enumeration of hardware belonging to a specific seat, the seat is also
|
||||
set as tag on the device. I.e. if the property
|
||||
<varname>ID_SEAT=seat-waldo</varname> is set for a device, the tag
|
||||
<literal>seat-waldo</literal> will be set as well. Note that if a device is
|
||||
assigned to <literal>seat0</literal>, it will usually not carry such a tag and you
|
||||
need to enumerate all devices and check the <varname>ID_SEAT</varname> property
|
||||
manually. Again, if a device is assigned to seat0 this is visible on the device in
|
||||
two ways: with a property <varname>ID_SEAT=seat0</varname> and with no property
|
||||
<varname>ID_SEAT</varname> set for it at all.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>Property <varname>ID_AUTOSEAT</varname></term>
|
||||
|
||||
<listitem><para>When set to <literal>1</literal>, this device automatically
|
||||
generates a new and independent seat, which is named after the path of the
|
||||
device. This is set for specialized USB hubs like the Plugable devices, which when
|
||||
plugged in should create a hotplug seat without further configuration.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>Property <varname>ID_FOR_SEAT</varname></term>
|
||||
|
||||
<listitem><para>When creating additional (manual) seats starting from a graphics
|
||||
device this is a good choice to name the seat after. It is created from the path
|
||||
of the device. This is useful in UIs for configuring seats: as soon as you create
|
||||
a new seat from a graphics device, read this property and prefix it with
|
||||
<literal>seat-</literal> and use it as name for the seat.</para></listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
|
||||
<para>A seat exists only and exclusively because a properly tagged device with the
|
||||
right <varname>ID_SEAT</varname> property exists. Besides udev rules there is no
|
||||
persistent data about seats stored on disk.</para>
|
||||
|
||||
<para>Note that
|
||||
<citerefentry><refentrytitle>systemd-logind</refentrytitle><manvolnum>8</manvolnum></citerefentry>
|
||||
manages ACLs on a number of device classes, to allow user code to access the device
|
||||
nodes attached to a seat as long as the user has an active session on it. This is
|
||||
mostly transparent to applications. As mentioned above, for certain user software it
|
||||
might be a good idea to watch whether they can access device nodes instead of thinking
|
||||
about seats.</para>
|
||||
</refsect1>
|
||||
|
||||
<xi:include href="libsystemd-pkgconfig.xml" />
|
||||
|
||||
<refsect1>
|
||||
@ -130,6 +265,11 @@
|
||||
<citerefentry><refentrytitle>sd-daemon</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
|
||||
<citerefentry project='die-net'><refentrytitle>pkg-config</refentrytitle><manvolnum>1</manvolnum></citerefentry>
|
||||
</para>
|
||||
|
||||
<para>
|
||||
<ulink url="https://www.freedesktop.org/wiki/Software/systemd/multiseat">Multi-Seat on Linux</ulink>
|
||||
for an introduction to multi-seat support on Linux and the background for this set of APIs.
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
</refentry>
|
||||
|
@ -165,13 +165,17 @@
|
||||
not set, a suitable default for the default system D-Bus instance
|
||||
will be used.</para>
|
||||
|
||||
<para><function>sd_bus_open_system_remote()</function> connects to
|
||||
the system bus on the specified <parameter>host</parameter> using
|
||||
<citerefentry
|
||||
project='die-net'><refentrytitle>ssh</refentrytitle><manvolnum>1</manvolnum></citerefentry>. <parameter>host</parameter>
|
||||
consists of an optional user name followed by the
|
||||
<literal>@</literal> symbol, and the hostname.
|
||||
</para>
|
||||
<para><function>sd_bus_open_system_remote()</function> connects to the system bus on
|
||||
the specified host using
|
||||
<citerefentry project='die-net'><refentrytitle>ssh</refentrytitle><manvolnum>1</manvolnum></citerefentry>.
|
||||
<parameter>host</parameter> consists of an optional user name followed by the
|
||||
<literal>@</literal> symbol, and the hostname, optionally followed by a
|
||||
<literal>:</literal> and a machine name. If the machine name is given, a connection
|
||||
is created to the system bus in the specified container on the remote machine, and
|
||||
otherwise a connection to the system bus on the specified host is created.</para>
|
||||
|
||||
<para>Note that entering a container is a privileged operation, and will likely only
|
||||
work for the root user on the remote machine.</para>
|
||||
|
||||
<para><function>sd_bus_open_system_machine()</function> connects
|
||||
to the system bus in the specified <parameter>machine</parameter>,
|
||||
|
@ -93,12 +93,6 @@
|
||||
default, file descriptor passing is negotiated for all
|
||||
connections.</para>
|
||||
|
||||
<para>Note that when bus activation is used, it is highly
|
||||
recommended to set the <option>AcceptFileDescriptors=</option>
|
||||
setting in the <filename>.busname</filename> unit file to the same
|
||||
setting as negotiated by the program ultimately activated. By
|
||||
default, file descriptor passing is enabled for both.</para>
|
||||
|
||||
<para><function>sd_bus_negotiate_timestamp()</function> controls whether implicit sender
|
||||
timestamps shall be attached automatically to all incoming messages. Takes a bus object and a
|
||||
boolean, which, when true, enables timestamping, and, when false, disables it. Use
|
||||
@ -178,8 +172,7 @@
|
||||
<citerefentry><refentrytitle>sd_bus_message_get_monotonic_usec</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>sd_bus_message_get_realtime_usec</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>sd_bus_message_get_seqnum</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>sd_bus_message_get_creds</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>systemd.busname</refentrytitle><manvolnum>5</manvolnum></citerefentry>
|
||||
<citerefentry><refentrytitle>sd_bus_message_get_creds</refentrytitle><manvolnum>3</manvolnum></citerefentry>
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
|
@ -183,7 +183,7 @@
|
||||
whether the specified file descriptor refers to a special file. If
|
||||
the <parameter>path</parameter> parameter is not
|
||||
<constant>NULL</constant>, it is checked whether the file
|
||||
descriptor is bound to the specified file name. Special files in
|
||||
descriptor is bound to the specified filename. Special files in
|
||||
this context are character device nodes and files in
|
||||
<filename>/proc</filename> or <filename>/sys</filename>.</para>
|
||||
</refsect1>
|
||||
|
@ -139,7 +139,8 @@
|
||||
present it to the user. Note that a service that sends this
|
||||
notification must also send a <literal>READY=1</literal>
|
||||
notification when it completed reloading its
|
||||
configuration.</para></listitem>
|
||||
configuration. Reloads are propagated in the same way as they
|
||||
are when initiated by the user.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
|
@ -32,7 +32,6 @@
|
||||
<filename>/etc/</filename>, with the same filename as the vendor
|
||||
configuration file. If the vendor configuration file is included in
|
||||
the initrd image, the image has to be regenerated.</para>
|
||||
|
||||
</refsection>
|
||||
|
||||
<refsection id='main-conf'>
|
||||
@ -55,14 +54,15 @@
|
||||
configuration file is read before any of the configuration
|
||||
directories, and has the lowest precedence; entries in a file in
|
||||
any configuration directory override entries in the single
|
||||
configuration file. Files in the
|
||||
<filename>*.conf.d/</filename> configuration subdirectories
|
||||
are sorted by their filename in lexicographic order, regardless of
|
||||
which of the subdirectories they reside in. If multiple files
|
||||
specify the same option, the entry in the file with the
|
||||
lexicographically latest name takes precedence. It is recommended
|
||||
to prefix all filenames in those subdirectories with a two-digit
|
||||
number and a dash, to simplify the ordering of the files.</para>
|
||||
configuration file. Files in the <filename>*.conf.d/</filename>
|
||||
configuration subdirectories are sorted by their filename in lexicographic
|
||||
order, regardless of which of the subdirectories they reside in. When
|
||||
multiple files specify the same option, for options which accept just a
|
||||
single value, the entry in the file with the lexicographically latest name
|
||||
takes precedence. For options which accept a list of values, entries are
|
||||
collected as they occur in files sorted lexicographically. It is recommended
|
||||
to prefix all filenames in those subdirectories with a two-digit number and
|
||||
a dash, to simplify the ordering of the files.</para>
|
||||
|
||||
<para>To disable a configuration file supplied by the vendor, the
|
||||
recommended way is to place a symlink to
|
||||
|
@ -295,7 +295,8 @@
|
||||
transactions from replacing these jobs (or even being enqueued
|
||||
while the irreversible jobs are still pending). Irreversible
|
||||
jobs can still be cancelled using the <command>cancel</command>
|
||||
command.</para>
|
||||
command. This job mode should be used on any transaction which
|
||||
pulls in <filename>shutdown.target</filename>.</para>
|
||||
|
||||
<para><literal>isolate</literal> is only valid for start
|
||||
operations and causes all other units to be stopped when the
|
||||
@ -406,8 +407,7 @@
|
||||
<term><option>--no-wall</option></term>
|
||||
|
||||
<listitem>
|
||||
<para>Do not send wall message before halt, power-off,
|
||||
reboot.</para>
|
||||
<para>Do not send wall message before halt, power-off and reboot.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
@ -524,7 +524,7 @@
|
||||
<option>--force</option> twice with any of these operations might result in data loss. Note that when
|
||||
<option>--force</option> is specified twice the selected operation is executed by
|
||||
<command>systemctl</command> itself, and the system manager is not contacted. This means the command should
|
||||
succeed even when the system manager hangs or crashed.</para>
|
||||
succeed even when the system manager has crashed.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
@ -532,11 +532,9 @@
|
||||
<term><option>--message=</option></term>
|
||||
|
||||
<listitem>
|
||||
<para>When used with <command>halt</command>,
|
||||
<command>poweroff</command>, <command>reboot</command> or
|
||||
<command>kexec</command>, set a short message explaining the reason
|
||||
for the operation. The message will be logged together with the
|
||||
default shutdown message.</para>
|
||||
<para>When used with <command>halt</command>, <command>poweroff</command> or <command>reboot</command>, set a
|
||||
short message explaining the reason for the operation. The message will be logged together with the default
|
||||
shutdown message.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
@ -727,7 +725,7 @@ Sun 2017-02-26 20:57:49 EST 2h 3min left Sun 2017-02-26 11:56:36 EST 6h ago
|
||||
<para><emphasis>LAST</emphasis> shows the last time the timer ran.</para>
|
||||
<para><emphasis>PASSED</emphasis> shows has long as passed since the timer laset ran.</para>
|
||||
<para><emphasis>UNIT</emphasis> shows the name of the timer</para>
|
||||
<para><emphasis>ACTIVATES</emphasis> shows the the name the service the timer activates when it runs.</para>
|
||||
<para><emphasis>ACTIVATES</emphasis> shows the name the service the timer activates when it runs.</para>
|
||||
|
||||
<para>Also see <option>--all</option> and <option>--state=</option>.</para>
|
||||
</listitem>
|
||||
@ -819,9 +817,11 @@ Sun 2017-02-26 20:57:49 EST 2h 3min left Sun 2017-02-26 11:56:36 EST 6h ago
|
||||
<term><command>isolate <replaceable>NAME</replaceable></command></term>
|
||||
|
||||
<listitem>
|
||||
<para>Start the unit specified on the command line and its
|
||||
dependencies and stop all others. If a unit name with no
|
||||
extension is given, an extension of
|
||||
<para>Start the unit specified on the command line and its dependencies
|
||||
and stop all others, unless they have
|
||||
<option>IgnoreOnIsolate=yes</option> (see
|
||||
<citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>).
|
||||
If a unit name with no extension is given, an extension of
|
||||
<literal>.target</literal> will be assumed.</para>
|
||||
|
||||
<para>This is similar to changing the runlevel in a
|
||||
@ -1126,8 +1126,8 @@ Jan 12 10:46:45 example.com bluetoothd[8900]: gatt-time-server: Input/output err
|
||||
|
||||
<para>Depending on whether <option>--system</option>, <option>--user</option>, <option>--runtime</option>,
|
||||
or <option>--global</option> is specified, this enables the unit for the system, for the calling user only,
|
||||
for only this boot of the system, or for all future logins of all users, or only this boot. Note that in
|
||||
the last case, no systemd daemon configuration is reloaded.</para>
|
||||
for only this boot of the system, or for all future logins of all users. Note that in the last case, no
|
||||
systemd daemon configuration is reloaded.</para>
|
||||
|
||||
<para>Using <command>enable</command> on masked units is not supported and results in an error.</para>
|
||||
</listitem>
|
||||
@ -1242,7 +1242,7 @@ Jan 12 10:46:45 example.com bluetoothd[8900]: gatt-time-server: Input/output err
|
||||
<tbody>
|
||||
<row>
|
||||
<entry><literal>enabled</literal></entry>
|
||||
<entry morerows='1'>Enabled via <filename>.wants/</filename>, <filename>.requires/</filename> or alias symlinks (permanently in <filename>/etc/systemd/system/</filename>, or transiently in <filename>/run/systemd/system/</filename>).</entry>
|
||||
<entry morerows='1'>Enabled via <filename>.wants/</filename>, <filename>.requires/</filename> or <varname>Alias=</varname> symlinks (permanently in <filename>/etc/systemd/system/</filename>, or transiently in <filename>/run/systemd/system/</filename>).</entry>
|
||||
<entry morerows='1'>0</entry>
|
||||
</row>
|
||||
<row>
|
||||
@ -1271,7 +1271,7 @@ Jan 12 10:46:45 example.com bluetoothd[8900]: gatt-time-server: Input/output err
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal>indirect</literal></entry>
|
||||
<entry>The unit file itself is not enabled, but it has a non-empty <varname>Also=</varname> setting in the <literal>[Install]</literal> unit file section, listing other unit files that might be enabled.</entry>
|
||||
<entry>The unit file itself is not enabled, but it has a non-empty <varname>Also=</varname> setting in the <literal>[Install]</literal> unit file section, listing other unit files that might be enabled, or it has an alias under a different name through a symlink that is not specified in Also=. For template unit file, an instance different than the one specified in <varname>DefaultInstance=</varname> is enabled.</entry>
|
||||
<entry>0</entry>
|
||||
</row>
|
||||
<row>
|
||||
@ -1687,8 +1687,8 @@ Jan 12 10:46:45 example.com bluetoothd[8900]: gatt-time-server: Input/output err
|
||||
<term><command>default</command></term>
|
||||
|
||||
<listitem>
|
||||
<para>Enter default mode. This is mostly equivalent to
|
||||
<command>isolate default.target</command>.</para>
|
||||
<para>Enter default mode. This is equivalent to <command>systemctl isolate default.target</command>. This
|
||||
operation is blocking by default, use <option>--no-block</option> to request asynchronous behavior.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
@ -1696,72 +1696,77 @@ Jan 12 10:46:45 example.com bluetoothd[8900]: gatt-time-server: Input/output err
|
||||
<term><command>rescue</command></term>
|
||||
|
||||
<listitem>
|
||||
<para>Enter rescue mode. This is mostly equivalent to
|
||||
<command>isolate rescue.target</command>, but also prints a
|
||||
wall message to all users.</para>
|
||||
<para>Enter rescue mode. This is equivalent to <command>systemctl isolate rescue.target</command>. This
|
||||
operation is blocking by default, use <option>--no-block</option> to request asynchronous behavior.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><command>emergency</command></term>
|
||||
|
||||
<listitem>
|
||||
<para>Enter emergency mode. This is mostly equivalent to
|
||||
<command>isolate emergency.target</command>, but also prints
|
||||
a wall message to all users.</para>
|
||||
<para>Enter emergency mode. This is equivalent to <command>systemctl isolate
|
||||
emergency.target</command>. This operation is blocking by default, use <option>--no-block</option> to
|
||||
request asynchronous behavior.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><command>halt</command></term>
|
||||
|
||||
<listitem>
|
||||
<para>Shut down and halt the system. This is mostly equivalent to <command>start halt.target
|
||||
--job-mode=replace-irreversibly</command>, but also prints a wall message to all users. If combined with
|
||||
<option>--force</option>, shutdown of all running services is skipped, however all processes are killed and
|
||||
all file systems are unmounted or mounted read-only, immediately followed by the system halt. If
|
||||
<option>--force</option> is specified twice, the operation is immediately executed without terminating any
|
||||
processes or unmounting any file systems. This may result in data loss. Note that when
|
||||
<option>--force</option> is specified twice the halt operation is executed by
|
||||
<command>systemctl</command> itself, and the system manager is not contacted. This means the command should
|
||||
succeed even when the system manager hangs or crashed.</para>
|
||||
<para>Shut down and halt the system. This is mostly equivalent to <command>systemctl start halt.target
|
||||
--job-mode=replace-irreversibly --no-block</command>, but also prints a wall message to all users. This command is
|
||||
asynchronous; it will return after the halt operation is enqueued, without waiting for it to complete. Note
|
||||
that this operation will simply halt the OS kernel after shutting down, leaving the hardware powered
|
||||
on. Use <command>systemctl poweroff</command> for powering off the system (see below).</para>
|
||||
|
||||
<para>If combined with <option>--force</option>, shutdown of all running services is skipped, however all
|
||||
processes are killed and all file systems are unmounted or mounted read-only, immediately followed by the
|
||||
system halt. If <option>--force</option> is specified twice, the operation is immediately executed without
|
||||
terminating any processes or unmounting any file systems. This may result in data loss. Note that when
|
||||
<option>--force</option> is specified twice the halt operation is executed by <command>systemctl</command>
|
||||
itself, and the system manager is not contacted. This means the command should succeed even when the system
|
||||
manager has crashed.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><command>poweroff</command></term>
|
||||
|
||||
<listitem>
|
||||
<para>Shut down and power-off the system. This is mostly equivalent to <command>start poweroff.target
|
||||
--job-mode=replace-irreversibly</command>, but also prints a wall message to all users. If combined with
|
||||
<option>--force</option>, shutdown of all running services is skipped, however all processes are killed and
|
||||
all file systems are unmounted or mounted read-only, immediately followed by the powering off. If
|
||||
<option>--force</option> is specified twice, the operation is immediately executed without terminating any
|
||||
processes or unmounting any file systems. This may result in data loss. Note that when
|
||||
<para>Shut down and power-off the system. This is mostly equivalent to <command>systemctl start
|
||||
poweroff.target --job-mode=replace-irreversibly --no-block</command>, but also prints a wall message to all
|
||||
users. This command is asynchronous; it will return after the power-off operation is enqueued, without
|
||||
waiting for it to complete.</para>
|
||||
|
||||
<para>If combined with <option>--force</option>, shutdown of all running services is skipped, however all
|
||||
processes are killed and all file systems are unmounted or mounted read-only, immediately followed by the
|
||||
powering off. If <option>--force</option> is specified twice, the operation is immediately executed without
|
||||
terminating any processes or unmounting any file systems. This may result in data loss. Note that when
|
||||
<option>--force</option> is specified twice the power-off operation is executed by
|
||||
<command>systemctl</command> itself, and the system manager is not contacted. This means the command should
|
||||
succeed even when the system manager hangs or crashed.</para>
|
||||
succeed even when the system manager has crashed.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><command>reboot <optional><replaceable>arg</replaceable></optional></command></term>
|
||||
|
||||
<listitem>
|
||||
<para>Shut down and reboot the system. This is mostly equivalent to <command>start reboot.target
|
||||
--job-mode=replace-irreversibly</command>, but also prints a wall message to all users. If combined with
|
||||
<option>--force</option>, shutdown of all running services is skipped, however all processes are killed and
|
||||
all file systems are unmounted or mounted read-only, immediately followed by the reboot. If
|
||||
<option>--force</option> is specified twice, the operation is immediately executed without terminating any
|
||||
processes or unmounting any file systems. This may result in data loss. Note that when
|
||||
<para>Shut down and reboot the system. This is mostly equivalent to <command>systemctl start reboot.target
|
||||
--job-mode=replace-irreversibly --no-block</command>, but also prints a wall message to all users. This
|
||||
command is asynchronous; it will return after the reboot operation is enqueued, without waiting for it to
|
||||
complete.</para>
|
||||
|
||||
<para>If combined with <option>--force</option>, shutdown of all running services is skipped, however all
|
||||
processes are killed and all file systems are unmounted or mounted read-only, immediately followed by the
|
||||
reboot. If <option>--force</option> is specified twice, the operation is immediately executed without
|
||||
terminating any processes or unmounting any file systems. This may result in data loss. Note that when
|
||||
<option>--force</option> is specified twice the reboot operation is executed by
|
||||
<command>systemctl</command> itself, and the system manager is not contacted. This means the command should
|
||||
succeed even when the system manager hangs or crashed.</para>
|
||||
succeed even when the system manager has crashed.</para>
|
||||
|
||||
<para>If the optional argument
|
||||
<replaceable>arg</replaceable> is given, it will be passed
|
||||
as the optional argument to the
|
||||
<citerefentry><refentrytitle>reboot</refentrytitle><manvolnum>2</manvolnum></citerefentry>
|
||||
system call. The value is architecture and firmware
|
||||
specific. As an example, <literal>recovery</literal> might
|
||||
be used to trigger system recovery, and
|
||||
<literal>fota</literal> might be used to trigger a
|
||||
<para>If the optional argument <replaceable>arg</replaceable> is given, it will be passed as the optional
|
||||
argument to the <citerefentry><refentrytitle>reboot</refentrytitle><manvolnum>2</manvolnum></citerefentry>
|
||||
system call. The value is architecture and firmware specific. As an example, <literal>recovery</literal>
|
||||
might be used to trigger system recovery, and <literal>fota</literal> might be used to trigger a
|
||||
<quote>firmware over the air</quote> update.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
@ -1770,13 +1775,14 @@ Jan 12 10:46:45 example.com bluetoothd[8900]: gatt-time-server: Input/output err
|
||||
<term><command>kexec</command></term>
|
||||
|
||||
<listitem>
|
||||
<para>Shut down and reboot the system via kexec. This is
|
||||
mostly equivalent to <command>start kexec.target --job-mode=replace-irreversibly</command>,
|
||||
but also prints a wall message to all users. If combined
|
||||
with <option>--force</option>, shutdown of all running
|
||||
services is skipped, however all processes are killed and
|
||||
all file systems are unmounted or mounted read-only,
|
||||
immediately followed by the reboot.</para>
|
||||
<para>Shut down and reboot the system via <command>kexec</command>. This is equivalent to
|
||||
<command>systemctl start kexec.target --job-mode=replace-irreversibly --no-block</command>. This command is
|
||||
asynchronous; it will return after the reboot operation is enqueued, without waiting for it to
|
||||
complete.</para>
|
||||
|
||||
<para>If combined with <option>--force</option>, shutdown of all running services is skipped, however all
|
||||
processes are killed and all file systems are unmounted or mounted read-only, immediately followed by the
|
||||
reboot.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
@ -1784,14 +1790,13 @@ Jan 12 10:46:45 example.com bluetoothd[8900]: gatt-time-server: Input/output err
|
||||
<term><command>exit <optional><replaceable>EXIT_CODE</replaceable></optional></command></term>
|
||||
|
||||
<listitem>
|
||||
<para>Ask the systemd manager to quit. This is only
|
||||
supported for user service managers (i.e. in conjunction
|
||||
with the <option>--user</option> option) or in containers
|
||||
and is equivalent to <command>poweroff</command> otherwise.</para>
|
||||
<para>Ask the service manager to quit. This is only supported for user service managers (i.e. in
|
||||
conjunction with the <option>--user</option> option) or in containers and is equivalent to
|
||||
<command>poweroff</command> otherwise. This command is asynchronous; it will return after the exit
|
||||
operation is enqueued, without waiting for it to complete.</para>
|
||||
|
||||
<para>The systemd manager can exit with a non-zero exit
|
||||
code if the optional argument
|
||||
<replaceable>EXIT_CODE</replaceable> is given.</para>
|
||||
<para>The service manager will exit with the the specified exit code, if
|
||||
<replaceable>EXIT_CODE</replaceable> is passed.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
@ -1815,9 +1820,9 @@ Jan 12 10:46:45 example.com bluetoothd[8900]: gatt-time-server: Input/output err
|
||||
<term><command>suspend</command></term>
|
||||
|
||||
<listitem>
|
||||
<para>Suspend the system. This will trigger activation of
|
||||
the special <filename>suspend.target</filename> target.
|
||||
</para>
|
||||
<para>Suspend the system. This will trigger activation of the special target unit
|
||||
<filename>suspend.target</filename>. This command is asynchronous, and will return after the suspend
|
||||
operation is successfully enqueued. It will not wait for the suspend/resume cycle to complete.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
@ -1825,9 +1830,9 @@ Jan 12 10:46:45 example.com bluetoothd[8900]: gatt-time-server: Input/output err
|
||||
<term><command>hibernate</command></term>
|
||||
|
||||
<listitem>
|
||||
<para>Hibernate the system. This will trigger activation of
|
||||
the special <filename>hibernate.target</filename> target.
|
||||
</para>
|
||||
<para>Hibernate the system. This will trigger activation of the special target unit
|
||||
<filename>hibernate.target</filename>. This command is asynchronous, and will return after the hibernation
|
||||
operation is successfully enqueued. It will not wait for the hibernate/thaw cycle to complete.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
@ -1835,9 +1840,9 @@ Jan 12 10:46:45 example.com bluetoothd[8900]: gatt-time-server: Input/output err
|
||||
<term><command>hybrid-sleep</command></term>
|
||||
|
||||
<listitem>
|
||||
<para>Hibernate and suspend the system. This will trigger
|
||||
activation of the special
|
||||
<filename>hybrid-sleep.target</filename> target.</para>
|
||||
<para>Hibernate and suspend the system. This will trigger activation of the special target unit
|
||||
<filename>hybrid-sleep.target</filename>. This command is asynchronous, and will return after the hybrid
|
||||
sleep operation is successfully enqueued. It will not wait for the sleep/wake-up cycle to complete.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
|
@ -101,6 +101,16 @@
|
||||
<arg choice="plain">set-log-target</arg>
|
||||
<arg choice="plain"><replaceable>TARGET</replaceable></arg>
|
||||
</cmdsynopsis>
|
||||
<cmdsynopsis>
|
||||
<command>systemd-analyze</command>
|
||||
<arg choice="opt" rep="repeat">OPTIONS</arg>
|
||||
<arg choice="plain">get-log-level</arg>
|
||||
</cmdsynopsis>
|
||||
<cmdsynopsis>
|
||||
<command>systemd-analyze</command>
|
||||
<arg choice="opt" rep="repeat">OPTIONS</arg>
|
||||
<arg choice="plain">get-log-target</arg>
|
||||
</cmdsynopsis>
|
||||
<cmdsynopsis>
|
||||
<command>systemd-analyze</command>
|
||||
<arg choice="opt" rep="repeat">OPTIONS</arg>
|
||||
@ -187,6 +197,12 @@
|
||||
<option>--log-target=</option>, described in
|
||||
<citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>).</para>
|
||||
|
||||
<para><command>systemd-analyze get-log-level</command>
|
||||
prints the current log level of the <command>systemd</command> daemon.</para>
|
||||
|
||||
<para><command>systemd-analyze get-log-target</command>
|
||||
prints the current log target of the <command>systemd</command> daemon.</para>
|
||||
|
||||
<para><command>systemd-analyze syscall-filter <optional><replaceable>SET</replaceable>…</optional></command>
|
||||
will list system calls contained in the specified system call set <replaceable>SET</replaceable>,
|
||||
or all known sets if no sets are specified. Argument <replaceable>SET</replaceable> must include
|
||||
@ -281,13 +297,23 @@
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>--no-man</option></term>
|
||||
<term><option>--man=no</option></term>
|
||||
|
||||
<listitem><para>Do not invoke man to verify the existence of
|
||||
man pages listed in <varname>Documentation=</varname>.
|
||||
</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>--generators</option></term>
|
||||
|
||||
<listitem><para>Invoke unit generators, see
|
||||
<citerefentry><refentrytitle>systemd.generator</refentrytitle><manvolnum>7</manvolnum></citerefentry>.
|
||||
Some generators require root privileges. When run under a
|
||||
normal users, enabling generators will generally result in
|
||||
some warnings.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<xi:include href="user-system-options.xml" xpointer="host" />
|
||||
<xi:include href="user-system-options.xml" xpointer="machine" />
|
||||
|
||||
@ -313,13 +339,13 @@
|
||||
<literal>avahi-daemon</literal></title>
|
||||
|
||||
<programlisting>$ systemd-analyze dot 'avahi-daemon.*' | dot -Tsvg > avahi.svg
|
||||
$ eog avahi.svg</programlisting>
|
||||
$ eog avahi.svg</programlisting>
|
||||
</example>
|
||||
|
||||
<example>
|
||||
<title>Plots the dependencies between all known target units</title>
|
||||
|
||||
<programlisting>systemd-analyze dot --to-pattern='*.target' --from-pattern='*.target' | dot -Tsvg > targets.svg
|
||||
<programlisting>$ systemd-analyze dot --to-pattern='*.target' --from-pattern='*.target' | dot -Tsvg > targets.svg
|
||||
$ eog targets.svg</programlisting>
|
||||
</example>
|
||||
</refsect1>
|
||||
|
@ -45,7 +45,7 @@
|
||||
|
||||
<refnamediv>
|
||||
<refname>systemd-escape</refname>
|
||||
<refpurpose>Escape strings for usage in system unit names</refpurpose>
|
||||
<refpurpose>Escape strings for usage in systemd unit names</refpurpose>
|
||||
</refnamediv>
|
||||
|
||||
<refsynopsisdiv>
|
||||
|
@ -55,12 +55,14 @@
|
||||
|
||||
<para><filename>systemd-getty-generator</filename> is a generator
|
||||
that automatically instantiates
|
||||
<filename>serial-getty@.service</filename> on the kernel console
|
||||
<filename>/dev/console</filename> if that is not directed to the
|
||||
virtual console subsystem. It will also instantiate
|
||||
<filename>serial-getty@.service</filename> on the kernel
|
||||
console(s), if they can function as ttys and are not provided by
|
||||
the virtual console subsystem. It will also instantiate
|
||||
<filename>serial-getty@.service</filename> instances for
|
||||
virtualizer consoles, if execution in a virtualized environment is
|
||||
detected. Finally, it will instantiate
|
||||
detected. If execution in a container environment is detected, it
|
||||
will instead enable <filename>console-getty.service</filename> for
|
||||
<filename>/dev/console</filename>, and
|
||||
<filename>container-getty@.service</filename> instances for
|
||||
additional container pseudo TTYs as requested by the container
|
||||
manager (see <ulink
|
||||
@ -78,8 +80,8 @@
|
||||
<para><filename>systemd-getty-generator</filename> implements
|
||||
<citerefentry><refentrytitle>systemd.generator</refentrytitle><manvolnum>7</manvolnum></citerefentry>.</para>
|
||||
|
||||
<para>Further information about configuration of gettys you may
|
||||
find in
|
||||
<para>Further information about configuration of gettys can be
|
||||
found in
|
||||
<ulink url="http://0pointer.de/blog/projects/serial-console.html">systemd
|
||||
for Administrators, Part XVI: Gettys on Serial Consoles (and
|
||||
Elsewhere)</ulink>.</para>
|
||||
|
@ -70,7 +70,7 @@
|
||||
<citerefentry
|
||||
project='man-pages'><refentrytitle>fstab</refentrytitle><manvolnum>5</manvolnum></citerefentry>),
|
||||
the units this generator creates are overridden, but additional
|
||||
automatic dependencies might be created.</para>
|
||||
implicit dependencies might be created.</para>
|
||||
|
||||
<para>This generator will only look for root partitions on the
|
||||
same physical disk the EFI System Partition (ESP) is located on.
|
||||
|
@ -106,6 +106,8 @@
|
||||
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><arg choice="opt" rep="repeat">SOURCES</arg></term>
|
||||
|
||||
<listitem><para>When <option>-</option> is given as a
|
||||
positional argument, events will be read from standard input.
|
||||
Other positional arguments will be treated as filenames
|
||||
@ -124,6 +126,20 @@
|
||||
instance, e.g. http://some.host:19531/ or
|
||||
https://some.host:19531/.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>--getter='<replaceable>PROG</replaceable> <arg choice="opt" rep="repeat">OPTIONS</arg>'</option></term>
|
||||
|
||||
<listitem><para>Program to invoke to retrieve data. The journal
|
||||
event stream must be generated on standard output.</para>
|
||||
|
||||
<para>Examples:</para>
|
||||
|
||||
<programlisting>--getter='curl "-HAccept: application/vnd.fdo.journal" https://some.host:19531/'</programlisting>
|
||||
|
||||
<programlisting>--getter='wget --header="Accept: application/vnd.fdo.journal" -O- https://some.host:19531/'</programlisting>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
|
||||
<para>Passive sources can be specified in the following
|
||||
@ -187,8 +203,7 @@
|
||||
<title>Sinks</title>
|
||||
|
||||
<para>The location of the output journal can be specified
|
||||
with <option>-o</option> or <option>--output=</option>. For "active"
|
||||
sources, this option is required.
|
||||
with <option>-o</option> or <option>--output=</option>.
|
||||
</para>
|
||||
|
||||
<variablelist>
|
||||
@ -225,8 +240,9 @@
|
||||
escaped hostname of the source endpoint of the connection, or the
|
||||
numerical address if the hostname cannot be determined.</para>
|
||||
|
||||
<para>In case of "active" sources, the output file name must
|
||||
always be given explicitly.</para>
|
||||
<para>In the case that "active" sources are given by the positional
|
||||
arguments or <option>--getter=</option> option, the output file name
|
||||
must always be given explicitly.</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
@ -244,7 +260,8 @@
|
||||
is used, based on the hostname of the other endpoint of a
|
||||
connection.</para>
|
||||
|
||||
<para>In case of "active" sources, the output file name must
|
||||
<para>In the case that "active" sources are given by the positional
|
||||
arguments or <option>--getter=</option> option, the output file name must
|
||||
always be given explicitly and only <constant>none</constant>
|
||||
is allowed.</para></listitem>
|
||||
</varlistentry>
|
||||
@ -265,20 +282,6 @@
|
||||
The default is <literal>no</literal>.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>--getter=<replaceable>PROG --option1 --option2</replaceable></option></term>
|
||||
|
||||
<listitem><para>Program to invoke to retrieve data. The journal
|
||||
event stream must be generated on standard output.</para>
|
||||
|
||||
<para>Examples:</para>
|
||||
|
||||
<programlisting>--getter='curl "-HAccept: application/vnd.fdo.journal" https://some.host:19531/'</programlisting>
|
||||
|
||||
<programlisting>--getter='wget --header="Accept: application/vnd.fdo.journal" -O- https://some.host:19531/'</programlisting>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<xi:include href="standard-options.xml" xpointer="help" />
|
||||
<xi:include href="standard-options.xml" xpointer="version" />
|
||||
</variablelist>
|
||||
@ -288,7 +291,7 @@
|
||||
<title>Examples</title>
|
||||
<para>Copy local journal events to a different journal directory:
|
||||
<programlisting>
|
||||
journalctl -o export | systemd-journal-remote -o /tmp/dir -
|
||||
journalctl -o export | systemd-journal-remote -o /tmp/dir/foo.journal -
|
||||
</programlisting>
|
||||
</para>
|
||||
|
||||
|
@ -70,19 +70,18 @@
|
||||
<itemizedlist>
|
||||
<listitem><para>Kernel log messages, via kmsg</para></listitem>
|
||||
|
||||
<listitem><para>Simple system log messages, via the libc
|
||||
<citerefentry project='man-pages'><refentrytitle>syslog</refentrytitle><manvolnum>3</manvolnum></citerefentry>
|
||||
<listitem><para>Simple system log messages, via the <filename>libc</filename> <citerefentry
|
||||
project='man-pages'><refentrytitle>syslog</refentrytitle><manvolnum>3</manvolnum></citerefentry>
|
||||
call</para></listitem>
|
||||
|
||||
<listitem><para>Structured system log messages via the native
|
||||
Journal API, see
|
||||
<citerefentry><refentrytitle>sd_journal_print</refentrytitle><manvolnum>4</manvolnum></citerefentry></para></listitem>
|
||||
|
||||
<listitem><para>Standard output and standard error of system
|
||||
services</para></listitem>
|
||||
<listitem><para>Standard output and standard error of service units. For further details see
|
||||
below.</para></listitem>
|
||||
|
||||
<listitem><para>Audit records, via the audit
|
||||
subsystem</para></listitem>
|
||||
<listitem><para>Audit records, originating from the kernel audit subsystem</para></listitem>
|
||||
</itemizedlist>
|
||||
|
||||
<para>The daemon will implicitly collect numerous metadata fields
|
||||
@ -111,6 +110,50 @@ systemd-tmpfiles --create --prefix /var/log/journal</programlisting>
|
||||
for information about the configuration of this service.</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
<title>Stream logging</title>
|
||||
|
||||
<para>The systemd service manager invokes all service processes with standard output and standard error connected
|
||||
to the journal by default. This behaviour may be altered via the
|
||||
<varname>StandardOutput=</varname>/<varname>StandardError=</varname> unit file settings, see
|
||||
<citerefentry><refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum></citerefentry> for details. The
|
||||
journal converts the log byte stream received this way into individual log records, splitting the stream at newline
|
||||
(<literal>\n</literal>, ASCII <constant>10</constant>) and <constant>NUL</constant> bytes.</para>
|
||||
|
||||
<para>If <filename>systemd-journald.service</filename> is stopped, the stream connections associated with all
|
||||
services are terminated. Further writes to those streams by the service will result in <constant>EPIPE</constant>
|
||||
errors. In order to react gracefully in this case it is recommended that programs logging to standard output/error
|
||||
ignore such errors. If the the <constant>SIGPIPE</constant> UNIX signal handler is not blocked or turned off, such
|
||||
write attempts will also result in such process signals being generated, see
|
||||
<citerefentry><refentrytitle>signal</refentrytitle><manvolnum>7</manvolnum></citerefentry>. To mitigate this issue,
|
||||
systemd service manager explicitly turns off the <constant>SIGPIPE</constant> signal for all invoked processes by
|
||||
default (this may be changed for each unit individually via the <varname>IgnoreSIGPIPE=</varname> option, see
|
||||
<citerefentry><refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum></citerefentry> for
|
||||
details). After the standard output/standard error streams have been terminated they may not be recovered until the
|
||||
services they are associated with are restarted. Note that during normal operation,
|
||||
<filename>systemd-journald.service</filename> stores copies of the file descriptors for those streams in the
|
||||
service manager. If <filename>systemd-journald.service</filename> is restarted using <command>systemctl
|
||||
restart</command> or equivalent operation instead of a pair of separate <command>systemctl stop</command> and
|
||||
<command>systemctl start</command> commands (or equivalent operations), these stream connections are not terminated
|
||||
and survive the restart. It is thus safe to restart <filename>systemd-journald.service</filename>, but stopping it
|
||||
is not recommended.</para>
|
||||
|
||||
<para>Note that the log record metadata for records transferred via such standard output/error streams reflect the
|
||||
metadata of the peer the stream was originally created for. If the stream connection is passed on to other
|
||||
processes (such as further child processes forked off the main service process), the log records will not reflect
|
||||
their metadata, but will continue to describe the original process. This is different from the other logging
|
||||
transports listed above, which are inherently record based and where the metadata is always associated with the
|
||||
individual record.</para>
|
||||
|
||||
<para>In addition to the the implicit standard output/error logging of services, stream logging is also available
|
||||
via the <citerefentry><refentrytitle>systemd-cat</refentrytitle><manvolnum>1</manvolnum></citerefentry> command
|
||||
line tool.</para>
|
||||
|
||||
<para>Currently, the number of parallel log streams <filename>systemd-journald</filename> will accept is limited to
|
||||
4096. When this limit is reached further log streams may be established but will receieve
|
||||
<constant>EPIPE</constant> right from the beginning.</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
<title>Signals</title>
|
||||
|
||||
|
@ -63,13 +63,13 @@
|
||||
<listitem><para>Keeping track of users and sessions, their processes and their idle state. This is implemented by
|
||||
allocating a systemd slice unit for each user below <filename>user.slice</filename>, and a scope unit below it
|
||||
for each concurrent session of a user. Also, a per-user service manager is started as system service instance of
|
||||
<filename>user@.service</filename> for each user logged in.</para></listitem>
|
||||
<filename>user@.service</filename> for each logged in user.</para></listitem>
|
||||
|
||||
<listitem><para>Generating and managing session IDs. If auditing is available and an audit session ID is set for
|
||||
a session already, the session ID is initialized from it. Otherwise, an independent session counter is
|
||||
<listitem><para>Generating and managing session IDs. If auditing is available and an audit session ID is already set for
|
||||
a session, then this ID is reused as the session ID. Otherwise, an independent session counter is
|
||||
used.</para></listitem>
|
||||
|
||||
<listitem><para>Providing PolicyKit-based access for users to
|
||||
<listitem><para>Providing PolicyKit-based access for users for
|
||||
operations such as system shutdown or sleep</para></listitem>
|
||||
|
||||
<listitem><para>Implementing a shutdown/sleep inhibition logic
|
||||
|
@ -101,7 +101,7 @@
|
||||
systems that may be mounted with this command.</para>
|
||||
|
||||
<para><command>systemd-umount</command> can be used to unmount a mount or automount point. It is the same
|
||||
as <command>systemd-mount</command> <option>--unmount</option>.</para>
|
||||
as <command>systemd-mount</command> <option>--umount</option>.</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
|
@ -64,13 +64,30 @@
|
||||
networks, see
|
||||
<citerefentry><refentrytitle>systemd.link</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para>
|
||||
|
||||
<para>Network configurations applied before networkd is started
|
||||
are not removed, and static configuration applied by networkd is
|
||||
not removed when networkd exits. Dynamic configuration applied by
|
||||
networkd may also optionally be left in place on shutdown. This
|
||||
ensures restarting networkd does not cut the network connection,
|
||||
and, in particular, that it is safe to transition between the
|
||||
initrd and the real root, and back.</para>
|
||||
<para><command>systemd-networkd</command> will create network devices based
|
||||
on the configuration in
|
||||
<citerefentry><refentrytitle>systemd.netdev</refentrytitle><manvolnum>5</manvolnum></citerefentry>
|
||||
files, respecting the [Match] sections in those files.</para>
|
||||
|
||||
<para><command>systemd-networkd</command> will manage network addresses and
|
||||
routes for any link for which it finds a <filename>.network</filename> file
|
||||
with an appropriate [Match] section, see
|
||||
<citerefentry><refentrytitle>systemd.network</refentrytitle><manvolnum>5</manvolnum></citerefentry>.
|
||||
For those links, it will flush existing network addresses and routes when
|
||||
bringing up the device. Any links not matched by one of the
|
||||
<filename>.network</filename> files will be ignored. It is also possible to
|
||||
explicitly tell <filename>systemd-networkd</filename> to ignore a link by
|
||||
using <varname>Unmanaged=yes</varname> option, see
|
||||
<citerefentry><refentrytitle>systemd.network</refentrytitle><manvolnum>5</manvolnum></citerefentry>.
|
||||
</para>
|
||||
|
||||
<para>When <filename>systemd-networkd</filename> exits, it generally leaves
|
||||
existing network devices and configuration intact. This makes it possible to
|
||||
transition from the initrams and to restart the service without breaking
|
||||
connectivity. This also means that when configuration is updated and
|
||||
<filename>systemd-networkd</filename> is restarted, netdev interfaces for
|
||||
which configuration was removed will not be dropped, and may need to be
|
||||
cleaned up manually.</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1><title>Configuration Files</title>
|
||||
|
@ -713,6 +713,23 @@
|
||||
above).</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>--system-call-filter=</option></term>
|
||||
|
||||
<listitem><para>Alter the system call filter applied to containers. Takes a space-separated list of system call
|
||||
names or group names (the latter prefixed with <literal>@</literal>, as listed by the
|
||||
<command>syscall-filter</command> command of <citerefentry
|
||||
project='man-pages'><refentrytitle>systemd-analyze</refentrytitle><manvolnum>1</manvolnum></citerefentry>). Passed
|
||||
system calls will be permitted. The list may optionally be prefixed by <literal>~</literal>, in which case all
|
||||
listed system calls are prohibited. If this command line option is used multiple times the configured lists are
|
||||
combined. If both a positive and a negative list (that is one system call list without and one with the
|
||||
<literal>~</literal> prefix) are configured, the negative list takes precedence over the positive list. Note
|
||||
that <command>systemd-nspawn</command> always implements a system call whitelist (as opposed to a blacklist),
|
||||
and this command line option hence adds or removes entries from the default whitelist, depending on the
|
||||
<literal>~</literal> prefix. Note that the applied system call filter is also altered implicitly if additional
|
||||
capabilities are passed using the <command>--capabilities=</command>.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>--kill-signal=</option></term>
|
||||
|
||||
|
@ -48,7 +48,7 @@
|
||||
|
||||
<refsynopsisdiv>
|
||||
<para><filename>systemd-random-seed.service</filename></para>
|
||||
<para><filename>/usr/lib/systemd/systemd-random-seed</filename></para>
|
||||
<para><filename>/usr/lib/systemd/random-seed</filename></para>
|
||||
</refsynopsisdiv>
|
||||
|
||||
<refsect1>
|
||||
|
@ -21,7 +21,7 @@
|
||||
along with systemd; If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<refentry id="systemd-resolve" conditional='ENABLE_RESOLVED'
|
||||
<refentry id="systemd-resolve" conditional='ENABLE_RESOLVE'
|
||||
xmlns:xi="http://www.w3.org/2001/XInclude">
|
||||
|
||||
<refentryinfo>
|
||||
@ -299,7 +299,18 @@
|
||||
<varlistentry>
|
||||
<term><option>--flush-caches</option></term>
|
||||
|
||||
<listitem><para>Flushes all DNS resource record caches the service maintains locally.</para></listitem>
|
||||
<listitem><para>Flushes all DNS resource record caches the service maintains locally. This is mostly equivalent
|
||||
to sending the <constant>SIGUSR2</constant> to the <command>systemd-resolved</command>
|
||||
service.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>--reset-server-features</option></term>
|
||||
|
||||
<listitem><para>Flushes all feature level information the resolver learnt about specific servers, and ensures
|
||||
that the server feature probing logic is started from the beginning with the next look-up request. This is
|
||||
mostly equivalent to sending the <constant>SIGRTMIN+1</constant> to the <command>systemd-resolved</command>
|
||||
service.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
|
@ -21,7 +21,7 @@
|
||||
along with systemd; If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<refentry id="systemd-resolved.service" conditional='ENABLE_RESOLVED'>
|
||||
<refentry id="systemd-resolved.service" conditional='ENABLE_RESOLVE'>
|
||||
|
||||
<refentryinfo>
|
||||
<title>systemd-resolved.service</title>
|
||||
@ -138,7 +138,7 @@
|
||||
LLMNR.</para></listitem>
|
||||
|
||||
<listitem><para>Multi-label names are routed to all local
|
||||
interfaces that have a DNS sever configured, plus the globally
|
||||
interfaces that have a DNS server configured, plus the globally
|
||||
configured DNS server if there is one. Address lookups from the
|
||||
link-local address range are never routed to
|
||||
DNS.</para></listitem>
|
||||
@ -202,19 +202,38 @@
|
||||
<varlistentry>
|
||||
<term><constant>SIGUSR1</constant></term>
|
||||
|
||||
<listitem><para>Upon reception of the SIGUSR1 process signal <command>systemd-resolved</command> will dump the
|
||||
contents of all DNS resource record caches it maintains into the system logs.</para></listitem>
|
||||
<listitem><para>Upon reception of the <constant>SIGUSR1</constant> process signal
|
||||
<command>systemd-resolved</command> will dump the contents of all DNS resource record caches it maintains, as
|
||||
well as all feature level information it learnt about configured DNS servers into the system
|
||||
logs.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><constant>SIGUSR2</constant></term>
|
||||
|
||||
<listitem><para>Upon reception of the SIGUSR2 process signal <command>systemd-resolved</command> will flush all
|
||||
caches it maintains. Note that it should normally not be necessary to request this explicitly – except for
|
||||
debugging purposes – as <command>systemd-resolved</command> flushes the caches automatically anyway any time
|
||||
the host's network configuration changes.</para></listitem>
|
||||
<listitem><para>Upon reception of the <constant>SIGUSR2</constant> process signal
|
||||
<command>systemd-resolved</command> will flush all caches it maintains. Note that it should normally not be
|
||||
necessary to request this explicitly – except for debugging purposes – as <command>systemd-resolved</command>
|
||||
flushes the caches automatically anyway any time the host's network configuration changes. Sending this signal
|
||||
to <command>systemd-resolved</command> is equivalent to the <command>systemd-resolve --flush-caches</command>
|
||||
command, however the latter is recommended since it operates in a synchronous way.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><constant>SIGRTMIN+1</constant></term>
|
||||
|
||||
<listitem><para>Upon reception of the <constant>SIGRTMIN+1</constant> process signal
|
||||
<command>systemd-resolved</command> will forget everything it learnt about the configured DNS
|
||||
servers. Specifically any information about server feature support is flushed out, and the server feature
|
||||
probing logic is restarted on the next request, starting with the most fully featured level. Note that it
|
||||
should normally not be necessary to request this explicitly – except for debugging purposes – as
|
||||
<command>systemd-resolved</command> automatically forgets learnt information any time the DNS server
|
||||
configuration changes. Sending this signal to <command>systemd-resolved</command> is equivalent to the
|
||||
<command>systemd-resolve --reset-server-features</command> command, however the latter is recommended since it
|
||||
operates in a synchronous way.</para></listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
|
@ -219,14 +219,32 @@
|
||||
<term><option>--pty</option></term>
|
||||
<term><option>-t</option></term>
|
||||
|
||||
<listitem><para>When invoking the command, the transient service connects its standard input and output to the
|
||||
terminal <command>systemd-run</command> is invoked on, via a pseudo TTY device. This allows running binaries
|
||||
that expect interactive user input as services, such as interactive command shells.</para>
|
||||
<listitem><para>When invoking the command, the transient service connects its standard input, output and error
|
||||
to the terminal <command>systemd-run</command> is invoked on, via a pseudo TTY device. This allows running
|
||||
programs that expect interactive user input/output as services, such as interactive command shells.</para>
|
||||
|
||||
<para>Note that
|
||||
<citerefentry><refentrytitle>machinectl</refentrytitle><manvolnum>1</manvolnum></citerefentry>'s
|
||||
<command>shell</command> command is usually a better alternative for requesting a new, interactive login
|
||||
session on the local host or a local container.</para></listitem>
|
||||
session on the local host or a local container.</para>
|
||||
|
||||
<para>See below for details on how this switch combines with <option>--pipe</option>.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>--pipe</option></term>
|
||||
<term><option>-P</option></term>
|
||||
|
||||
<listitem><para>If specified, standard input, output, and error of the transient service are inherited from the
|
||||
<command>systemd-run</command> command itself. This allows <command>systemd-run</command>
|
||||
to be used within shell pipelines.
|
||||
Note that this mode is not suitable for interactive command shells and similar, as the
|
||||
service process will not become a TTY controller when invoked on a terminal. Use <option>--pty</option> instead
|
||||
in that case.</para>
|
||||
|
||||
<para>When both <option>--pipe</option> and <option>--pty</option> are used in combination the more appropriate
|
||||
option is automatically determined and used. Specifically, when invoked with standard input, output and error
|
||||
connected to a TTY <option>--pty</option> is used, and otherwise <option>--pipe</option>.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
|
@ -118,6 +118,8 @@ WantedBy=sockets.target]]></programlisting>
|
||||
<programlisting><![CDATA[[Unit]
|
||||
Requires=nginx.service
|
||||
After=nginx.service
|
||||
Requires=proxy-to-nginx.socket
|
||||
After=proxy-to-nginx.service
|
||||
|
||||
[Service]
|
||||
ExecStart=/usr/lib/systemd/systemd-socket-proxyd /tmp/nginx.sock
|
||||
@ -159,6 +161,8 @@ WantedBy=sockets.target]]></programlisting>
|
||||
<programlisting><![CDATA[[Unit]
|
||||
Requires=nginx.service
|
||||
After=nginx.service
|
||||
Requires=proxy-to-nginx.service
|
||||
After=proxy-to-nginx.service
|
||||
JoinsNamespaceOf=nginx.service
|
||||
|
||||
[Service]
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user