Ninjatrappeur's systemd working tree
Go to file
Zbigniew Jędrzejewski-Szmek 2b0445262a tree-wide: add SD_ID128_MAKE_STR, remove LOG_MESSAGE_ID
Embedding sd_id128_t's in constant strings was rather cumbersome. We had
SD_ID128_CONST_STR which returned a const char[], but it had two problems:
- it wasn't possible to statically concatanate this array with a normal string
- gcc wasn't really able to optimize this, and generated code to perform the
  "conversion" at runtime.
Because of this, even our own code in coredumpctl wasn't using
SD_ID128_CONST_STR.

Add a new macro to generate a constant string: SD_ID128_MAKE_STR.
It is not as elegant as SD_ID128_CONST_STR, because it requires a repetition
of the numbers, but in practice it is more convenient to use, and allows gcc
to generate smarter code:

$ size .libs/systemd{,-logind,-journald}{.old,}
   text	   data	    bss	    dec	    hex	filename
1265204	 149564	   4808	1419576	 15a938	.libs/systemd.old
1260268	 149564	   4808	1414640	 1595f0	.libs/systemd
 246805	  13852	    209	 260866	  3fb02	.libs/systemd-logind.old
 240973	  13852	    209	 255034	  3e43a	.libs/systemd-logind
 146839	   4984	     34	 151857	  25131	.libs/systemd-journald.old
 146391	   4984	     34	 151409	  24f71	.libs/systemd-journald

It is also much easier to check if a certain binary uses a certain MESSAGE_ID:

$ strings .libs/systemd.old|grep MESSAGE_ID
MESSAGE_ID=%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x
MESSAGE_ID=%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x
MESSAGE_ID=%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x
MESSAGE_ID=%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x

$ strings .libs/systemd|grep MESSAGE_ID
MESSAGE_ID=c7a787079b354eaaa9e77b371893cd27
MESSAGE_ID=b07a249cd024414a82dd00cd181378ff
MESSAGE_ID=641257651c1b4ec9a8624d7a40a9e1e7
MESSAGE_ID=de5b426a63be47a7b6ac3eaac82e2f6f
MESSAGE_ID=d34d037fff1847e6ae669a370e694725
MESSAGE_ID=7d4958e842da4a758f6c1cdc7b36dcc5
MESSAGE_ID=1dee0369c7fc4736b7099b38ecb46ee7
MESSAGE_ID=39f53479d3a045ac8e11786248231fbf
MESSAGE_ID=be02cf6855d2428ba40df7e9d022f03d
MESSAGE_ID=7b05ebc668384222baa8881179cfda54
MESSAGE_ID=9d1aaa27d60140bd96365438aad20286
2017-02-15 00:45:12 -05:00
.github CONTRIBUTING: reword the part about unsetting the label (#4716) 2016-11-23 08:52:19 +01:00
.mkosi Merge pull request #4879 from poettering/systemd 2017-01-14 21:29:27 -05:00
catalog catalog: update Russian translation (#5232) 2017-02-05 11:56:47 -05:00
coccinelle tree-wide: drop NULL sentinel from strjoin 2016-10-23 11:43:27 -04:00
docs docs: add .gitignore 2015-07-06 17:47:38 +02:00
factory/etc factory: remove broken pam_limits 2014-07-30 15:21:54 +02:00
hwdb hwdb: Cube iwork8 air button keymap fixup 2017-02-12 12:45:21 +01:00
m4 build-sys: Perform flag tests in context to existing flags 2016-02-06 14:57:46 +01:00
man tree-wide: add SD_ID128_MAKE_STR, remove LOG_MESSAGE_ID 2017-02-15 00:45:12 -05:00
network network: allow LLDP packets to cross non-customer bridges for container network interfaces 2016-05-09 15:45:31 +02:00
po l10n: fix file permissions of Indonesian translation 2017-02-07 19:02:01 +01:00
rules rules: add persistent by-path drm rules (#5337) 2017-02-14 10:18:27 +01:00
shell-completion shell_completion: Add -r option for coredumpctl 2017-02-14 23:27:16 +09:00
src tree-wide: add SD_ID128_MAKE_STR, remove LOG_MESSAGE_ID 2017-02-15 00:45:12 -05:00
sysctl.d sysctl.d: replace URL of SysRq key documentation (#5274) 2017-02-08 19:42:43 +01:00
system-preset unit: drop console-shell.service (#4298) (#4325) 2016-10-10 12:06:26 +02:00
sysusers.d remove bus-proxyd 2016-02-12 19:10:01 +01:00
test test-journal-importer: add a test case with broken input 2017-02-15 00:31:55 -05:00
tmpfiles.d tmpfiles.d: set primary group rights to r-w (#5265) 2017-02-07 18:56:55 -05:00
tools tools/catalog-report.py: a script to scour the journal for bad catalog entries 2016-12-11 15:43:16 -05:00
units Introduce '## ' as internal comment prefix in .in files and filter out a comment (#5289) 2017-02-09 16:28:37 +01:00
xorg login: support user-bus on dbus1 2015-08-31 18:12:37 +02:00
.dir-locals.el editors: only extend line width to 119 for C and XML files 2016-02-10 12:29:32 +01:00
.editorconfig editors: only extend line width to 119 for C and XML files 2016-02-10 12:29:32 +01:00
.gitattributes git: indicate that tabs are never OK in the systemd tree 2013-10-30 02:25:38 +01:00
.gitignore test-journal-importer: new test file to check the newly exported importer code 2017-02-15 00:29:57 -05:00
.mailmap NEWS: add contributor list to news file 2016-11-02 15:52:57 -06:00
.travis.yml remove gudev and gtk-doc 2015-06-03 00:22:53 +02:00
.vimrc vimrc: fix indentation logic for our docbook xml files 2016-04-29 12:23:34 +02:00
.ycm_extra_conf.py ycm: update flag blacklist 2014-06-04 15:41:10 -04:00
CODING_STYLE tree-wide: set SA_RESTART for signal handlers we install 2016-12-01 12:41:17 +01:00
DISTRO_PORTING It's now ok to use Google NTP servers (#5311) 2017-02-12 00:30:40 -05:00
ENVIRONMENT.md util-lib: read $SYSTEMD_PROC_CMDLINE if set when looking for the kernel cmdline 2016-12-21 19:07:55 +01:00
HACKING HACKING: mkosi is now packaged for Fedora 2017-02-14 23:56:48 -05:00
LICENSE.GPL2 relicense to LGPLv2.1 (with exceptions) 2012-04-12 00:24:39 +02:00
LICENSE.LGPL2.1 licence: remove references to old FSF address 2012-12-17 11:41:31 +01:00
Makefile-man.am tree-wide: add SD_ID128_MAKE_STR, remove LOG_MESSAGE_ID 2017-02-15 00:45:12 -05:00
Makefile.am test-journal-importer: add a test case with broken input 2017-02-15 00:31:55 -05:00
NEWS resolve: mention added mDNS support in NEWS 2017-01-19 11:51:21 +02:00
README Merge pull request #5319 from keszybz/test-execute 2017-02-13 15:29:40 +01:00
README.md documentation: add a short document describing how to test your systemd build tree (#3763) 2016-07-20 22:15:54 -04:00
TODO Merge pull request #4962 from poettering/root-directory-2 2017-02-08 23:05:05 -05:00
autogen.sh build-sys/autogen: don't use bashisms (#4489) 2016-10-25 19:39:48 -04:00
configure.ac It's now ok to use Google NTP servers (#5311) 2017-02-12 00:30:40 -05:00
mkosi.build mkosi: change /etc/issue text a bit for mkosi images build from systemd tree 2016-12-14 18:29:30 +01:00
mkosi.default mkosi: create .mkosi directory 2016-10-06 11:53:58 -04:00

README.md

systemd - System and Service Manager

Build Status
Coverity Scan Status

Details

General information about systemd can be found in the systemd Wiki.

Information about build requirements are provided in the README file.

Consult our NEWS file for information about what's new in the most recent systemd versions.

Please see the HACKING file for information how to hack on systemd and test your modifications.

Please see our Contribution Guidelines for more information about filing GitHub Issues and posting GitHub Pull Requests.

When preparing patches for systemd, please follow our Coding Style Guidelines.

If you are looking for support, please contact our mailing list or join our IRC channel.