1
0
mirror of https://github.com/systemd/systemd.git synced 2024-11-05 15:21:37 +03:00
Commit Graph

255 Commits

Author SHA1 Message Date
Chris Down
4e1dfa45e9 cgroup: s/cgroups? ?v?([0-9])/cgroup v\1/gI
Nitpicky, but we've used a lot of random spacings and names in the past,
but we're trying to be completely consistent on "cgroup vN" now.

Generated by `fd -0 | xargs -0 -n1 sed -ri --follow-symlinks 's/cgroups?  ?v?([0-9])/cgroup v\1/gI'`.

I manually ignored places where it's not appropriate to replace (eg.
"cgroup2" fstype and in src/shared/linux).
2019-01-03 11:32:40 +09:00
Filipe Brandenburger
357211a426 docs: generate index.md in Jekyll
This uses a {% for %} loop in Jekyll to render the page, from the "title"
information in the Front Matter of the actual page files.

This also makes `make-index-md` build rule unnecessary, since generation is
done by the template engine itself.

Tested this by running Jekyll locally.
2019-01-02 14:23:18 -08:00
Filipe Brandenburger
c3e270f4ee docs: add a "front matter" snippet to our markdown pages
It turns out Jekyll (the engine behind GitHub Pages) requires that pages
include a "Front Matter" snippet of YAML at the top for proper rendering.

Omitting it will still render the pages, but including it opens up new
possibilities, such as using a {% for %} loop to generate index.md instead of
requiring a separate script.

I'm hoping this will also fix the issue with some of the pages (notably
CODE_OF_CONDUCT.html) not being available under systemd.io

Tested locally by rendering the website with Jekyll. Before this change, the
*.md files were kept unchanged (so not sure how that even works?!), after this
commit, proper *.html files were generated from it.
2019-01-02 14:16:34 -08:00
Lennart Poettering
59f13dd6f8 remount-fs: optionally remount / writable, if we are told through an env var 2018-12-18 14:47:44 +01:00
Lennart Poettering
7db43ec32f docs: add missing section to ENVIRONMENT.md
No, this is not an env var understood by logind. Let's fix the
confusoin.
2018-12-17 20:48:22 +01:00
Zbigniew Jędrzejewski-Szmek
3f9a0a522f tree-wide: s/time-out/timeout/g
From WordNet (r) 3.0 (2006) [wn]:

  time-out
      n 1: a brief suspension of play; "each team has two time-outs left"

From The Free On-line Dictionary of Computing (18 March 2015) [foldoc]:

  timeout

     A period of time after which an error condition is raised if
     some event has not occured.  A common example is sending a
     message.  If the receiver does not acknowledge the message
     within some preset timeout period, a transmission error is
     assumed to have occured.
2018-12-14 11:17:52 +01:00
Zbigniew Jędrzejewski-Szmek
06da5c63dd meson: make net.naming-scheme= default configurable
This is useful for distributions, where the stability of interface names should
be preseved after an upgrade of systemd. So when some specific release of the
distro is made available, systemd defaults to the latest & greatest naming
scheme, and subsequent updates set the same default. This default may still
be overriden through the kernel and env var options.

A special value "latest" is also allowed. Without a specific name, it is harder
to verride from meson. In case of 'combo' options, meson reads the default
during the initial configuration, and "remembers" this choice. When systemd is
updated, old build/ directories could keep the old default, which would be
annoying. Hence, "latest" is introduced to make it explicit, yet follow the
upstream. This is actually useful for the user too, because it may be used
as an override, without having to actually specify a version.
2018-12-12 10:09:36 +01:00
Lennart Poettering
f7e81fd96f udev: introduce udev net_id "naming schemes"
With this we can stabilize how naming works for network interfaces. A
user can request through a kernel cmdline option or an env var which
scheme to follow. The idea is that installers use this to set into stone
(a very soft stone though) the scheme used during installation so that
interface naming doesn't change afterwards anymore.

Why use env vars and kernel cmdline options, and not a config file of
its own?

Well, first of all there's no obvious existing one to use. But more
importantly: I have the feeling that this logic is kind of an incomplete
hack, and I simply don't want to do advertise this as a perfectly
working solution. So far we used env vars for the non-so-official
options and proper config files for the official stuff. Given how
incomplete this logic is (i.e. the big variable for naming remains the
kernel, which might expose sysfs attributes in newer versions that we
check for and didn't exist in older versions — and other problems like
this), I am simply not confident in giving this first-class exposure in
a primary configuration file.

Fixes: #10448
2018-12-11 23:29:46 +01:00
Zbigniew Jędrzejewski-Szmek
a2bd90d38e Merge branch 'predictable-interface-names'
This imports the wiki page for predictable interface names. I think it's
useful to preserve history here because it's a contentious subject, and
it's useful to know when what happened.
2018-12-11 11:13:26 +01:00
Zbigniew Jędrzejewski-Szmek
f9e6d49904 Rename to follow the convention
Also remove trailing whitespace.
2018-12-11 11:02:06 +01:00
LennartPoettering
4368c49697 2018-12-11 10:58:40 +01:00
LennartPoettering
e90d48ae38 2018-12-11 10:58:40 +01:00
TanuKaskinen
27eaa1bc7a fix typo 2018-12-11 10:58:40 +01:00
LennartPoettering
86db1e3532 2018-12-11 10:58:40 +01:00
LennartPoettering
c8f2c6b122 2018-12-11 10:58:40 +01:00
ColinGuthrie
b4584342c0 Deal with 80-net-setup-link.rules introduced in 209. 2018-12-11 10:58:40 +01:00
LennartPoettering
8745120c99 2018-12-11 10:58:40 +01:00
LennartPoettering
56fbd5310f 2018-12-11 10:58:40 +01:00
ColinGuthrie
f42be39a18 Document the net.ifnames kernel command line. 2018-12-11 10:58:40 +01:00
Joe Rayhawk
cedf08c774 moin2mdwn: convert page docs/PredictableNetworkInterfaceNames 2018-12-11 10:58:40 +01:00
LennartPoettering
54313217c1 2018-12-11 10:58:40 +01:00
LennartPoettering
3c31f15cdb 2018-12-11 10:58:40 +01:00
LennartPoettering
e2f9b633c4 2018-12-11 10:58:40 +01:00
LennartPoettering
afce8ff3af 2018-12-11 10:58:40 +01:00
LennartPoettering
d363512c92 2018-12-11 10:58:40 +01:00
LennartPoettering
ee83da3a75 2018-12-11 10:58:40 +01:00
LennartPoettering
b1661148ac 2018-12-11 10:58:39 +01:00
LennartPoettering
13f79279b2 2018-12-11 10:58:39 +01:00
LennartPoettering
fb30e224e7 2018-12-11 10:58:39 +01:00
LennartPoettering
1f6bee9328 2018-12-11 10:58:39 +01:00
LennartPoettering
f47346c3aa 2018-12-11 10:58:39 +01:00
LennartPoettering
ce7c9f453a 2018-12-11 10:58:39 +01:00
127.0.0.1
128faa63f2 typo fix 2018-12-11 10:58:39 +01:00
LennartPoettering
a5d1717c40 2018-12-11 10:58:39 +01:00
LennartPoettering
648f251ff9 2018-12-11 10:58:39 +01:00
LennartPoettering
2d2111748f 2018-12-11 10:58:39 +01:00
LennartPoettering
adb51bc84d 2018-12-11 10:58:39 +01:00
LennartPoettering
0adad03eb8 2018-12-11 10:58:39 +01:00
LennartPoettering
cd6c4dd571 2018-12-11 10:58:39 +01:00
LennartPoettering
80b0c64bcf 2018-12-11 10:58:39 +01:00
LennartPoettering
e13da0ac1e 2018-12-11 10:58:39 +01:00
LennartPoettering
93aae43890 2018-12-11 10:58:39 +01:00
LennartPoettering
6f99e67081 2018-12-11 10:58:39 +01:00
LennartPoettering
3c36dd1ca5 2018-12-11 10:58:39 +01:00
LennartPoettering
6dbee95541 2018-12-11 10:58:39 +01:00
LennartPoettering
5536de5cc4 2018-12-11 10:58:39 +01:00
LennartPoettering
7b1e4518e0 2018-12-11 10:58:39 +01:00
Zbigniew Jędrzejewski-Szmek
c90ee83400 coding style: reduce text width to 109 characters
Patches are shown on github with a fixed width (no matter how wide the window
is). When line numbers are high (we have some files with 5 digit line numbers),
the diff does not fit, and horizontal scrolling must be used when viewing the
patch. This is super annoying. Let's reduce the width a bit. I think 109 is
still very wide, but at least the github issue should be alleviated.
2018-12-08 10:14:28 +01:00
Lennart Poettering
5f1b0cc6d0 locale-util: add logic to output smiley emojis at various happiness levels 2018-11-30 16:19:29 +01:00
Filipe Brandenburger
00195abcbe docs: turn LGTM URL into a markdown link 2018-11-30 12:02:13 +03:00
Lennart Poettering
f7db73528f docs: work around GitHub pages weirdness
Fixes: #10546
2018-11-29 19:09:09 +01:00
Lennart Poettering
edc8e7b81f docs: fix typo 2018-11-29 15:29:47 +01:00
Lennart Poettering
c1d3483d47 docs: uppercase the title of our Markdown docs 2018-11-29 15:29:47 +01:00
Lennart Poettering
ecb1a44cc9 docs: add brief docs explaing udev's flock() block device node synchronization 2018-11-29 10:48:30 +01:00
Zbigniew Jędrzejewski-Szmek
8b4e51a60e
Merge pull request #10797 from poettering/run-generator
add new "systemd-run-generator" for running arbitrary commands from the kernel command line as system services using the "systemd.run=" kernel command line switch
2018-11-28 22:40:55 +01:00
Lennart Poettering
7af67e9a8b core: allow to set exit status when using SuccessAction=/FailureAction=exit in units
This adds SuccessActionExitStatus= and FailureActionExitStatus= that may
be used to configure the exit status to propagate in when
SuccessAction=exit or FailureAction=exit is used.

When not specified let's also propagate the exit status of the main
process we fork off for the unit.
2018-11-27 09:44:40 +01:00
Lennart Poettering
e2391ce0bc docs: document the .control/ subcgroup contract in the docs 2018-11-26 18:43:23 +01:00
nikolas
b24546706e Fix a few docs typos (#10907)
Found with [codespell](https://github.com/codespell-project/codespell)
2018-11-24 04:28:39 +09:00
nikolas
1e268f423c Fix typo in hacking guide: "no possible" -> "not possible" (#10905) 2018-11-24 03:01:50 +09:00
Zbigniew Jędrzejewski-Szmek
cd7bcfa8fe CODING_STYLE: describe log & return operations 2018-11-22 10:54:38 +01:00
Zbigniew Jędrzejewski-Szmek
a98dc693e4 CODING_STYLE: fix rules for STRLEN and recommend strjoina more strongly
Again, this mostly matches what is happening in the codebase already.
2018-11-20 07:27:37 +01:00
Zbigniew Jędrzejewski-Szmek
a527f70a41 CODING_STYLE: clarify the rules for the src/basic & src/shared split
The rule is changed from "put in basic unless there's a reason not to" to "put
in shared unless there's a reason not to", to match the change done in previous
commit. This minimizes libbasic. See previous commit for the reasons why this
is useful.

Previously, the guideline was based on whether the files in question use
"publicly exported APIs". This distinction is not particularly relevant. Let's
consider all other programs we compile: most of them use "publicly exported
APIs", usually linking to libsystemd-shared.so for the actual code. But those
programs are not forced to be in src/basic, and the distinction whether they
happen to use 'sd-*.h' or not is of no importance. The same is true for files
in src/shared/. If we didn't have publicly exported shared objects, we'd put
everything in libsystemd-shared.so. So let's only move things out of it that we
need to. Previous guideline was not "wrong", in the sense that it created *a*
split that was functional (no code in src/shared was required in the publicly
exported shared objects), but it put more files in basic/ then necessary.

Not much changes in practice, because (as previous commit shows), moving files
between libbasic.a and libsystemd-shared.so mostly just changes compilation
order.

The list of components which cannot use libsystemd-shared.so is adjusted.
2018-11-20 07:27:37 +01:00
Lennart Poettering
cc7a0bfa15 bootspec: introduce SYSTEMD_ESP_PATH for overriding where to look for the ESP (#10834) 2018-11-20 12:37:01 +09:00
Lennart Poettering
f7f00fb15b doc: document the boot menu entry identifier vocabulary
The existing text already said "See below regarding a recommended
vocabulary for boot loader entry identifiers.", but the section for it
was still missing. Let's fill in the missing bits, and describe basic
suggested rules for the boot menu entry identifier vocabulary, in
particular how to identify Windows and MacOS X installations, and how to
name automatic entries vs. explicitly configured ones.

This basically follows the logic implemented in sd-boot these days.
2018-11-19 21:52:28 +01:00
Lennart Poettering
14c4da2ffe
Merge pull request #10805 from poettering/migrate-boot-loader-interface
migrate boot loader interface doc from wiki into markdown (split out of #10495)
2018-11-16 17:55:08 +01:00
Lennart Poettering
6fdc4831bb docs: tweak index.md generation and run it again 2018-11-16 17:44:27 +01:00
Lennart Poettering
2fe8213230 docs: migrate boot loader interface from fdo wiki to git
This imports
https://www.freedesktop.org/wiki/Software/systemd/BootLoaderInterface/
into our sources, and extends it substantially with various variables
now supported.
2018-11-16 17:43:59 +01:00
Zbigniew Jędrzejewski-Szmek
2640b77356 docs/TRANSIENT-SETTINGS: drop PermissionsStartOnly= from 2018-11-16 16:21:21 +01:00
Felix Yan
3cc306e667 docs: Fix a typo in CODING_STYLE.md (#10630) 2018-11-03 17:38:41 +09:00
Faheel Ahmad
eea984028f docs: Update links to updated docs 2018-10-30 23:01:20 +05:30
Faheel Ahmad
5a8a9dee1a docs: Convert HACKING to Markdown
Also fix minor grammatical errors
2018-10-30 15:58:58 +05:30
Faheel Ahmad
82143987b3 docs: Convert CODING_STYLE to Markdown
Also fix minor grammatical errors
2018-10-30 15:58:44 +05:30
Lennart Poettering
b507423026 CODING_STYLE: briefly mention that fgets() should not be used anymore 2018-10-26 10:52:41 +02:00
Lennart Poettering
a57e48a133
Merge pull request #10415 from poettering/boot-loader-spec-tweaks
docs: tweaks to the boot loader spec
2018-10-22 15:15:45 +02:00
Lennart Poettering
07ec9c8225 boot-loader-spec: drop link to obsolete patch
This is not what distros use, let's not point users to obsolete stuff.
2018-10-19 22:49:42 +02:00
Lennart Poettering
bdc4c7ac23 boot-loader-spec: elaborate on 'architecture' stanza a bit and use it in the example 2018-10-19 22:48:27 +02:00
Lennart Poettering
084a8029dc docs: tweaks to the boot loader spec
A couple of changes:

1. Clearly name the drop-in entry files "Type #1", and the unified
   kernel images "Type #2", and be clearer that the latter is specific
   to UEFI.

2. Suffix all directory paths with a trailing "/" to clarify that these
   are directories. Also, enclose them all in ``.

3. Add introductory paragraph that explains that there is Type #1 and
   Type #2 and what they are about.

4. Explain that Type #2 is about signed UEFI SecureBoot.

5. Don't claim that $BOOT/loader/ contains really all files defined by
   the spec, because that's not true, Type #2 images are not located there
   after all.

Fixes: #10399
2018-10-19 22:48:27 +02:00
Lennart Poettering
0c74648b88 doc: add a markdown document introducing the boot assessment logic 2018-10-19 22:34:50 +02:00
Michael Biebl
991b4350a8 docs: use h2 headers
The primer theme does not add a mouse-over anchor link for h1 headers.
So use h2 for subsection headers which looks nicer anyway.

Followup for #10421
2018-10-18 09:57:45 +02:00
Anita Zhang
90fc172e19 core: implement per unit journal rate limiting
Add LogRateLimitIntervalSec= and LogRateLimitBurst= options for
services. If provided, these values get passed to the journald
client context, and those values are used in the rate limiting
function in the journal over the the journald.conf values.

Part of #10230
2018-10-18 09:56:20 +02:00
Andreas Henriksson
33eb44fe4a sulogin-shell: Use force if SYSTEMD_SULOGIN_FORCE set
When the root account is locked sulogin will either inform you of
this and not allow you in or if --force is used it will hand
you passwordless root (if using a recent enough version of util-linux).

Not being allowed a shell is ofcourse inconvenient, but at the same
time handing out passwordless root unconditionally is probably not
a good idea everywhere.

This patch thus allows to control which behaviour you want by
setting the SYSTEMD_SULOGIN_FORCE environment variable to true
or false to control the behaviour, eg. via adding this to
'systemctl edit rescue.service' (or emergency.service):

[Service]
Environment=SYSTEMD_SULOGIN_FORCE=1

Distributions who used locked root accounts and want the passwordless
behaviour could thus simply drop in the override file in
/etc/systemd/system/rescue.service.d/override.conf

Fixes: #7115
Addresses: https://bugs.debian.org/802211
2018-10-17 20:30:10 +02:00
Michael Biebl
f7eed93f15 Set theme jekyll-theme-primer
This theme uses anchorjs to provide mouse-over anchor links.

Closes: #10418
2018-10-16 17:43:54 +02:00
Lennart Poettering
14d0a740b5 Set theme jekyll-theme-cayman 2018-10-16 11:32:09 +02:00
Lennart Poettering
202d37cb8b Set theme jekyll-theme-minimal 2018-10-12 14:10:25 +02:00
Lennart Poettering
1e26d1cbdc Set theme jekyll-theme-dinky 2018-10-12 13:49:09 +02:00
Lennart Poettering
e2e2a6455d Create CNAME 2018-10-12 13:48:34 +02:00
Zbigniew Jędrzejewski-Szmek
dd76367d3b
Merge pull request #10307 from poettering/portable-path
finishing touches to portable services, and let's move portablectl to /usr/bin to make it official
2018-10-09 14:58:22 +02:00
Lennart Poettering
8cbb7d8783 efi: allow ESP validity checks to be turned off
let's add an env var for this, as this really shouldn't be a top-level
feature, as it turning off the validity checks certainly isn't
advisable.

Fixes: #4925
2018-10-08 21:40:44 +02:00
Lennart Poettering
1634ebb54a
Merge pull request #10262 from keszybz/hibres-disable
Switches to disable hibernation and/or resuming
2018-10-08 21:39:54 +02:00
Lennart Poettering
83f72cd65f man,docs: document the new unit file directory for attached images 2018-10-08 18:49:45 +02:00
Lennart Poettering
1099ceebce nspawn: optionally don't mount a tmpfs over /tmp (#10294)
nspawn: optionally, don't mount a tmpfs on /tmp

Fixes: #10260
2018-10-08 18:32:03 +02:00
Zbigniew Jędrzejewski-Szmek
0307ea49c7 Add $SYSTEMD_IN_INITRD=yes|no override for debugging 2018-10-08 16:04:51 +02:00
David Strauss
bca676e3d3 Docs: Update CoC with email alias for David Strauss 2018-10-02 09:22:45 -07:00
Lennart Poettering
0bc7a22d93 docs: add a simple, auto-generated index.md
This is useful for the github pages feature
2018-10-02 10:43:54 +02:00
Lennart Poettering
b2d1fbda78 Set theme jekyll-theme-modernist 2018-10-02 10:07:38 +02:00
Lennart Poettering
dba0ccd742 Set theme jekyll-theme-tactile 2018-10-02 10:06:41 +02:00
Zbigniew Jędrzejewski-Szmek
d467a75746 coc: spell systemd in the one-and-only correct way 2018-10-02 09:34:01 +02:00
Zbigniew Jędrzejewski-Szmek
31cccd4c81 coc: reword the sentence about individual contact
It wasn't clear enough:
https://github.com/systemd/systemd/pull/10233#discussion_r221734060
2018-10-02 09:32:59 +02:00
Zbigniew Jędrzejewski-Szmek
881958c0dd docs: rename file to appease github
Hopefully this will be enough to let github notice that we have
a coc now and display the green checkmark:
https://github.com/systemd/systemd/pull/10233#issuecomment-425918447
2018-10-02 09:29:42 +02:00
Zbigniew Jędrzejewski-Szmek
dea6e2a0ef Add a simple code of conduct based on ruby community guidelines
This was discussed at the systemd hackfest during ASG2018, and
we agreed to use the Ruby text [1] with the enforcement clause based on
the "contributor covenant". I obviously modified the text where applicable
to refer to systemd.

[1] https://www.ruby-lang.org/en/conduct/

Fixes 10148.
2018-10-01 14:59:14 +02:00
Anita Zhang
c87700a133 Make Watchdog Signal Configurable
Allows configuring the watchdog signal (with a default of SIGABRT).
This allows an alternative to SIGABRT when coredumps are not desirable.

Appropriate references to SIGABRT or aborting were renamed to reflect
more liberal watchdog signals.

Closes #8658
2018-09-26 16:14:29 +02:00
Lennart Poettering
9afd574039 docs: clarify controller mount logic in hybrid cgroups mode
Fixes: #10107
2018-09-25 11:00:57 +02:00
Lennart Poettering
7fe96758d1 docs: fix CONTRIBUTING path (#10160) 2018-09-25 06:25:48 +09:00
Zbigniew Jędrzejewski-Szmek
87ead8e298 Set theme jekyll-theme-slate 2018-09-12 11:51:27 +02:00
Filipe Brandenburger
b6dc0d7d01 docs: convert TRANSLATORS to Markdown
Also expand it to cover typical tasks of creating new translations, updating
existing ones and compiling them (which can be useful to check syntax.)
2018-09-08 13:40:19 -07:00
Filipe Brandenburger
1d1cb1683e docs: convert DISTRO_PORTING to Markdown 2018-09-08 13:39:03 -07:00
Filipe Brandenburger
c2beadcd34 docs: move markdown docs from .github/ to docs/
The GitHub guide on contributing file says: "Decide whether to store your
contributing guidelines in your repository's root, docs, or .github directory."

https://help.github.com/articles/setting-guidelines-for-repository-contributors/#adding-a-contributing-file

But there's really no advantage to keeping it in the hidden .github/, since
these are public and really belong together with the other documentation.

We can still keep the issue templates under .github/, since they are not really
documentation on their own.

Updated the links pointing to CONTRIBUTING.md to refer to the one in docs/.
2018-09-08 13:39:03 -07:00
Filipe Brandenburger
9e825ebf4f docs: move doc/ to docs/
The docs/ directory is special in GitHub, since it can be used to serve GitHub
Pages from, so there's a benefit to switching to it in order to expose it
directly as a website.

Updated references to it from the documentations themselves, from the
CONTRIBUTING.md file and from Meson build files.
2018-09-08 13:39:03 -07:00
Lennart Poettering
2d684e65aa doc: merge docs/ dir → doc/
It's weird having two subdirs for documentation, let's unify this in
one.
2018-03-28 09:38:30 -07:00
Zbigniew Jędrzejewski-Szmek
3a726fcd08 Add license headers and SPDX identifiers to meson.build files
So far I avoided adding license headers to meson files, but they are pretty
big and important and should carry license headers like everything else.
I added my own copyright, even though other people modified those files too.
But this is mostly symbolic, so I hope that's OK.
2017-11-19 19:08:15 +01:00
Zbigniew Jędrzejewski-Szmek
349cc4a507 build-sys: use #if Y instead of #ifdef Y everywhere
The advantage is that is the name is mispellt, cpp will warn us.

$ git grep -Ee "conf.set\('(HAVE|ENABLE)_" -l|xargs sed -r -i "s/conf.set\('(HAVE|ENABLE)_/conf.set10('\1_/"
$ git grep -Ee '#ifn?def (HAVE|ENABLE)' -l|xargs sed -r -i 's/#ifdef (HAVE|ENABLE)/#if \1/; s/#ifndef (HAVE|ENABLE)/#if ! \1/;'
$ git grep -Ee 'if.*defined\(HAVE' -l|xargs sed -i -r 's/defined\((HAVE_[A-Z0-9_]*)\)/\1/g'
$ git grep -Ee 'if.*defined\(ENABLE' -l|xargs sed -i -r 's/defined\((ENABLE_[A-Z0-9_]*)\)/\1/g'
+ manual changes to meson.build

squash! build-sys: use #if Y instead of #ifdef Y everywhere

v2:
- fix incorrect setting of HAVE_LIBIDN2
2017-10-04 12:09:29 +02:00
Zbigniew Jędrzejewski-Szmek
e5f752082e build-sys: drop gitignore patterns for in-tree builds
... and other autotools-generated files.
2017-07-18 10:05:06 -04:00
Zbigniew Jędrzejewski-Szmek
72cdb3e783 build-sys: drop automake support
v2:
- also mention m4
2017-07-18 10:04:44 -04:00
Zbigniew Jędrzejewski-Szmek
2c201c2140 meson: use booleans for conf.set and drop unecessary conditionals
Using conf.set() with a boolean argument does the right thing:
either #ifdef or #undef. This means that conf.set can be used unconditionally.

Previously I used '1' as the placeholder value, and that needs to be changed to
'true' for consistency (under meson 1 cannot be used in boolean context). All
checks need to be adjusted.
2017-05-02 16:29:11 -04:00
userwithuid
1c9f131444 meson: do not install files from disabled features (#5811)
Mirror conditions from Makefile.am.
2017-04-27 13:47:04 -04:00
Zbigniew Jędrzejewski-Szmek
37efbbd821 meson: reindent all files with 8 spaces
The indentation for emacs'es meson-mode is added .dir-locals.

All files are reindented automatically, using the lasest meson-mode from git.
Indentation should now be fairly consistent.
2017-04-23 21:47:29 -04:00
Zbigniew Jędrzejewski-Szmek
5c23128dab meson: build systemd using meson
It's crucial that we can build systemd using VS2010!

... er, wait, no, that's not the official reason. We need to shed old systems
by requring python 3! Oh, no, it's something else. Maybe we need to throw out
345 years of knowlege accumulated in autotools? Whatever, this new thing is
cool and shiny, let's use it.

This is not complete, I'm throwing it out here for your amusement and critique.

- rules for sd-boot are missing. Those might be quite complicated.

- rules for tests are missing too. Those are probably quite simple and
  repetitive, but there's lots of them.

- it's likely that I didn't get all the conditions right, I only tested "full"
  compilation where most deps are provided and nothing is disabled.

- busname.target and all .busname units are skipped on purpose.

  Otherwise, installation into $DESTDIR has the same list of files and the
  autoconf install, except for .la files.

It'd be great if people had a careful look at all the library linking options.
I added stuff until things compiled, and in the end there's much less linking
then in the old system. But it seems that there's still a lot of unnecessary
deps.

meson has a `shared_module` statement, which sounds like something appropriate
for our nss and pam modules. Unfortunately, I couldn't get it to work. For the
nss modules, we need an .so version of '2', but `shared_module` disallows the
version argument. For the pam module, it also didn't work, I forgot the reason.

The handling of .m4 and .in and .m4.in files is rather awkward. It's likely
that this could be simplified. If make support is ever dropped, I think it'd
make sense to switch to a different templating system so that two different
languages and not required, which would make everything simpler yet.

v2:
- use get_pkgconfig_variable
- use sh not bash
- use add_project_arguments

v3:
- drop required:true and fix progs/prog typo

v4:
- use find_library('bz2')
- add TTY_GID definition
- define __SANE_USERSPACE_TYPES__
- use join_paths(prefix, ...) is used on all paths to make them all absolute

v5:
- replace all declare_dependency's with []
- add more conf.get guards around optional components

v6:
- drop -pipe, -Wall which are the default in meson
- use compiler.has_function() and compiler.has_header_symbol instead of the
  hand-rolled checks.
- fix duplication in 'liblibsystemd' library name
- use the right .sym file for pam_systemd
- rename 'compiler' to 'cc': shorter, and more idiomatic.

v7:
- use ENABLE_ENVIRONMENT_D not HAVE_ENVIRONMENT_D
- rename prefix to prefixdir, rootprefix to rootprefixdir
  ("prefix" is too common of a name and too easy to overwrite by mistake)
- wrap more stuff with conf.get('ENABLE...') == 1
- use rootprefix=='/' and rootbindir as install_dir, to fix paths under
  split-usr==true.

v8:
- use .split() also for src/coredump. Now everything is consistent ;)
- add rootlibdir option and use it on the libraries that require it

v9:
- indentation

v10:
- fix check for qrencode and libaudit

v11:
- unify handling of executable paths, provide options for all progs

  This makes the meson build behave slightly differently than the
  autoconf-based one, because we always first try to find the executable in the
  filesystem, and fall back to the default. I think different handling of
  loadkeys, setfont, and telinit was just a historical accident.

  In addition to checking in $PATH, also check /usr/sbin/, /sbin for programs.
  In Fedora $PATH includes /usr/sbin, (and /sbin is is a symlink to /usr/sbin),
  but in Debian, those directories are not included in the path.

  C.f. https://github.com/mesonbuild/meson/issues/1576.

- call all the options 'xxx-path' for clarity.
- sort man/rules/meson.build properly so it's stable
2017-04-23 21:47:26 -04:00
AsciiWolf
83d69666a3 docs: use https:// in URLs 2017-02-21 18:18:24 +01:00
Kay Sievers
0c60116171 docs: add .gitignore 2015-07-06 17:47:38 +02:00
Tom Gundersen
72590bcb4e docs: remove stale .gitignore
This is no longer useful as the udev docs are gone.
2015-06-29 19:45:29 +02:00
Kay Sievers
2375607039 remove gudev and gtk-doc
The library moved to:
  https://git.gnome.org/browse/libgudev/
2015-06-03 00:22:53 +02:00
Dave Reisner
0f5a314b2e build-sys: fix distcheck
- fix misspelling in filename (intenal -> internal)
- remove deleted hwdb-related file (nuked with sd-hwdb refactor)
2014-12-14 10:56:25 -05:00
Kay Sievers
14cb733684 libudev: queue provide file descriptor to watch busy event queue 2014-06-27 17:56:41 +02:00
Zbigniew Jędrzejewski-Szmek
e342365c27 docs: add new gudev functions to documentation 2014-02-22 20:52:28 -05:00
Kay Sievers
bff9cfcc5c doc: disable gtk-doc test again - you are a really annoying piece of software
make  check-TESTS
make[5]: Nothing to be done for `/usr/bin/gtkdoc-check.log'.
fatal: making test-suite.log: failed to create /usr/bin/gtkdoc-check.trs
fatal: making test-suite.log: failed to create /usr/bin/gtkdoc-check.log
make[4]: *** [test-suite.log] Error 1
make[3]: *** [check-TESTS] Error 2
make[2]: *** [check-am] Error 2
make[1]: *** [check-recursive] Error 1
make: *** [check] Error 2
2013-03-21 15:07:54 +01:00
Hannes Reinecke
946f182575 libudev: implement udev_device_set_attribute_value() 2013-03-13 17:44:45 +01:00
Zbigniew Jędrzejewski-Szmek
9b2810721d build-sys: assemble HTML in docs/html
The goal is to be able to preview how the documenation
will look when uploaded. Just point your browser at
   docs/html/man/index.html.
2013-03-09 08:47:50 -05:00
Zbigniew Jędrzejewski-Szmek
6fc00209d5 build-sys: disable tests in po/, docs/ with separate build dir
Both gtk-doc and intltoolize have problems with VPATH builds.
"Creatively" disable tests when configuring from outside the
source directory.

This more-or-less reverts 9795da43c.
2013-02-13 01:05:28 -05:00
Kay Sievers
9795da43c4 doc: disable "make check" for gtk-doc 2013-01-16 04:26:49 +01:00
Zbigniew Jędrzejewski-Szmek
47cd54a994 build-sys: color test results 2012-12-01 16:38:37 +01:00
Kay Sievers
924ee2cb0c docs: gtk-doc warnings are annoying 2012-11-03 22:04:06 +01:00
Kay Sievers
2001208c2a libudev: import hwdb and export lookup interface 2012-10-27 23:39:41 +02:00
Lennart Poettering
0ce8860a15 docs: install README files into /var/log and 7etc/rc.d/init.d
On systemd systems seasoned admins might be surprised to see that the
init scripts and log files are gone. To ease the transition let's place
some README files there, that hopefully help clearing up the situation.
2012-10-17 21:25:42 +02:00
Kay Sievers
dbf61afb29 udev: export udev_device_new_from_device_id() 2012-08-10 19:56:57 +02:00
Zbigniew Jędrzejewski-Szmek
27a7a46429 build-sys: really override CFLAGS for gtk-doc
In 29a00c41 an override was added, but commandline variables have
higher precedence than Makefile variables, so the override was not
effective for commandline variables.

While at it, duplicate for libudev.
2012-08-08 19:22:23 +02:00
Kay Sievers
29a00c41b8 gudev: docs - work around the broken gtk-doc mess
gtk-doc add CFLAGS/LDFLAGS multiple times to the gcc command line,
which breaks options that must be listed only once.

For now, clear CFLAGS/LDFLAGS for the intermediate documentation
binary.
2012-08-08 18:18:57 +02:00
Kay Sievers
20bbd54f60 udev: libudev - bump soname, remove deprecated functions, introduce symbol versions 2012-05-15 23:06:26 +02:00
Lennart Poettering
04fb63514d build-sys: fix build 2012-05-15 14:34:06 +02:00
Lennart Poettering
84c2626ec1 git: update gitignore 2012-05-15 13:54:29 +02:00
Lennart Poettering
843605d372 build-sys: move gtk-doc stuff into its own subdir and reindent autogen.sh
We moved most other build noise files into their own subdirs, so let's
do this for gtk-doc too
2012-05-15 13:54:29 +02:00
Kay Sievers
2028f1cd92 udev: docs - it's 'GUdev' 2012-04-26 01:48:24 +02:00
Kay Sievers
cc85759ac9 docs: remove duplicated install hook 2012-04-20 12:40:15 +02:00
Kay Sievers
21dbe43aec docs: hook-up gtk-doc to 'make check' 2012-04-20 03:25:36 +02:00
Kay Sievers
80037e4d17 docs: rebase html documentation for online and local use 2012-04-19 19:00:35 +02:00
Javier Jardón
9e45e7d8f0 docs: do not generate tmpl files
Its not needed as all the documentation is inline source code,
not in separate *.tmpl files
2012-04-19 16:21:09 +02:00
Kay Sievers
1e8ebcdb59 udev: docs - updated index page to match common gtk style 2012-04-17 19:02:23 +02:00
Kay Sievers
018ef268b1 silence a bunch of gcc warnings 2012-04-17 18:42:09 +02:00
Kay Sievers
6ada823a9a udev: remove configuration options for /dev, /sys, /run directories 2012-04-16 19:20:57 +02:00
Kay Sievers
9d77f8751b udev: doc - sync libudev and gudev 2012-04-15 03:34:38 +02:00
Kay Sievers
194bbe3338 udev: cleanup the udev cgroup when the daemon enters the idle state 2012-04-15 03:11:08 +02:00