b26fa1a2fbcfee7d03b0c8fd15ec3aa64ae70b9f |
|
10-Feb-2016 |
Daniel Mack <daniel@zonque.org> |
tree-wide: remove Emacs lines from all files
This should be handled fine now by .dir-locals.el, so need to carry that
stuff in every file. |
a8fbdf5424be099ba1b2b1ec261c02b8759d6b0c |
|
06-Dec-2015 |
Thomas Hindoe Paaboel Andersen <phomes@gmail.com> |
shared: include what we use
The next step of a general cleanup of our includes. This one mostly
adds missing includes but there are a few removals as well. |
d986e364c4343240ef77b26a1c9c516f574f015d |
|
15-Nov-2015 |
Thomas Hindoe Paaboel Andersen <phomes@gmail.com> |
install: don't mix state and type enums
from 0ec0deaa |
79413b673b45adc98dfeaec882bbdda2343cb2f9 |
|
12-Nov-2015 |
Lennart Poettering <lennart@poettering.net> |
core: simplify handling of %u, %U, %s and %h unit file specifiers
Previously, the %u, %U, %s and %h specifiers would resolve to the user
name, numeric user ID, shell and home directory of the user configured
in the User= setting of a unit file, or the user of the manager instance
if no User= setting was configured. That at least was the theory. In
real-life this was not ever actually useful:
- For the systemd --user instance it made no sense to ever set User=,
since the instance runs in user context after all, and hence the
privileges to change user IDs don't even exist. The four specifiers
were actually not useful at all in this case.
- For the systemd --system instance we did not allow any resolving that
would require NSS. Hence, %s and %h were not supported, unless
User=root was set, in which case they would be hardcoded to /bin/sh
and /root, to avoid NSS. Then, %u would actually resolve to whatever
was set with User=, but %U would only resolve to the numeric UID of
that setting if the User= was specified in numeric form, or happened
to be root (in which case 0 was hardcoded as mapping). Two of the
specifiers are entirely useless in this case, one is realistically
also useless, and one is pretty pointless.
- Resolving of these settings would only happen if User= was actually
set *before* the specifiers where resolved. This behaviour was
undocumented and is really ugly, as specifiers should actually be
considered something that applies to the whole file equally,
independently of order...
With this change, %u, %U, %s and %h are drastically simplified: they now
always refer to the user that is running the service instance, and the
user configured in the unit file is irrelevant. For the system instance
of systemd this means they always resolve to "root", "0", "/bin/sh" and
"/root", thus avoiding NSS. For the user instance, to the data for the
specific user.
The new behaviour is identical to the old behaviour in all --user cases
and for all units that have no User= set (or set to "0" or "root"). |
0ec0deaa30d0e68430f03fa6f32affa576481d18 |
|
12-Nov-2015 |
Lennart Poettering <lennart@poettering.net> |
install: follow unit file symlinks in /usr, but not /etc when looking for [Install] data
Some distributions use alias unit files via symlinks in /usr to cover
for legacy service names. With this change we'll allow "systemctl
enable" on such aliases.
Previously, our rule was that symlinks are user configuration that
"systemctl enable" + "systemctl disable" creates and removes, while unit
files is where the instructions to do so are store. As a result of the
rule we'd never read install information through symlinks, since that
would mix enablement state with installation instructions.
Now, the new rule is that only symlinks inside of /etc are
configuration. Unit files, and symlinks in /usr are now valid for
installation instructions.
This patch is quite a rework of the whole install logic, and makes the
following addional changes:
- Adds a complete test "test-instal-root" that tests the install logic
pretty comprehensively.
- Never uses canonicalize_file_name(), because that's incompatible with
operation relative to a specific root directory.
- unit_file_get_state() is reworked to return a proper error, and
returns the state in a call-by-ref parameter. This cleans up confusion
between the enum type and errno-like errors.
- The new logic puts a limit on how long to follow unit file symlinks:
it will do so only for 64 steps at max.
- The InstallContext object's fields are renamed to will_process and
has_processed (will_install and has_installed) since they are also
used for deinstallation and all kinds of other operations.
- The root directory is always verified before use.
- install.c is reordered to place the exported functions together.
- Stricter rules are followed when traversing symlinks: the unit suffix
must say identical, and it's not allowed to link between regular units
and templated units.
- Various modernizations
- The "invalid" unit file state has been renamed to "bad", in order to
avoid confusion between UNIT_FILE_INVALID and
_UNIT_FILE_STATE_INVALID. Given that the state should normally not be
seen and is not documented this should not be a problematic change.
The new name is now documented however.
Fixes #1375, #1718, #1706 |
d073dea0a89c271fc4a769d5b3b2db395aa0239a |
|
12-Nov-2015 |
Lennart Poettering <lennart@poettering.net> |
install: never log from install functions
Instead, let the caller do that. Fix this by moving masked unit messages
into the caller, by returning a clear error code (ESHUTDOWN) by which
this may be detected. |
d25e100bd6def67f302e43794869b651e780bffa |
|
12-Nov-2015 |
Lennart Poettering <lennart@poettering.net> |
install: various simplifications |
03da651313621aeffac06409b19151e9e6a0c329 |
|
28-Oct-2015 |
Susant Sahani <ssahani@gmail.com> |
install: port to extract_first_word |
b5efdb8af40ea759a1ea584c1bc44ecc81dd00ce |
|
27-Oct-2015 |
Lennart Poettering <lennart@poettering.net> |
util-lib: split out allocation calls into alloc-util.[ch] |
8b43440b7ef4b81c69c31de7ff820dc07a780254 |
|
27-Oct-2015 |
Lennart Poettering <lennart@poettering.net> |
util-lib: move string table stuff into its own string-table.[ch] |
8fcde01280adcbd07e8205b91ac52b06305b6208 |
|
27-Oct-2015 |
Lennart Poettering <lennart@poettering.net> |
util-lib: split stat()/statfs()/stavfs() related calls into stat-util.[ch] |
f4f15635ec05293ffcc83a5b39f624bbabbd8fd0 |
|
27-Oct-2015 |
Lennart Poettering <lennart@poettering.net> |
util-lib: move a number of fs operations into fs-util.[ch] |
a09561746f15b84da9471b5c4be74e53d19e4f3f |
|
27-Oct-2015 |
Lennart Poettering <lennart@poettering.net> |
util-lib: introduce dirent-util.[ch] for directory entry calls
Also, move a couple of more path-related functions to path-util.c. |
5f311f8c0e51e2f13773823feb6a71f7c6f2838c |
|
27-Oct-2015 |
Lennart Poettering <lennart@poettering.net> |
util: remove path_get_parent(), in favour of dirname_malloc()
We don't need two functions that do essentialy the same, hence drop
path_get_parent(), and stick to dirname_malloc(), but move it to
path-util.[ch]. |
3ffd4af22052963e7a29431721ee204e634bea75 |
|
25-Oct-2015 |
Lennart Poettering <lennart@poettering.net> |
util-lib: split out fd-related operations into fd-util.[ch]
There are more than enough to deserve their own .c file, hence move them
over. |
07630cea1f3a845c09309f197ac7c4f11edd3b62 |
|
24-Oct-2015 |
Lennart Poettering <lennart@poettering.net> |
util-lib: split our string related calls from util.[ch] into its own file string-util.[ch]
There are more than enough calls doing string manipulations to deserve
its own files, hence do something about it.
This patch also sorts the #include blocks of all files that needed to be
updated, according to the sorting suggestions from CODING_STYLE. Since
pretty much every file needs our string manipulation functions this
effectively means that most files have sorted #include blocks now.
Also touches a few unrelated include files. |
12ca818ffddb77eb6a0fabe369a5bcbf6994ff8b |
|
30-Sep-2015 |
Lennart Poettering <lennart@poettering.net> |
tree-wide: clean up log_syntax() usage
- Rely everywhere that we use abs() on the error code passed in anyway,
thus don't need to explicitly negate what we pass in
- Never attach synthetic error number information to log messages. Only
log about errors we *receive* with the error number we got there,
don't log any synthetic error, that don#t even propagate, but just eat
up.
- Be more careful with attaching exactly the error we get, instead of
errno or unrelated errors randomly.
- Fix one occasion where the error number and line number got swapped.
- Make sure we never tape over OOM issues, or inability to resolve
specifiers |
8508ea9d05242afa8f4748ea01890f521fef0d9f |
|
25-Jun-2015 |
Michal Sekletar <msekleta@redhat.com> |
install: make unit_file_get_list aware of UNIT_FILE_INDIRECT
Commit aedd401 introduced new unit file state, UNIT_FILE_INDIRECT. Unit file is
said to have indirect state if it contains [Install] section which has only
Also= directive. Thus, if enable of such unit file is requested then some other
unit file gets enabled.
Whether or not unit file is in indirect state can be determined by calling
unit_file_can_install. Function unit_file_get_list populates list of unit files
present in given lookup location. So far it did call unit_file_can_install in a
way that would prevent finding out about unit files in indirect state. Such unit
file would be incorrectly marked as static.
Fixes following assertion in test-install,
Assertion 'p->state == s' failed at src/test/test-install.c:59, function main(). Aborting.
[1] 26868 abort (core dumped) ./test-install |
77cd2c87a47c49aa9063fbaa4d9077f4a381cab1 |
|
25-Jun-2015 |
Michal Sekletar <msekleta@redhat.com> |
install: explicitly return 0 on success
Maybe there is some left-over value stored in r from previous function
call. Let's make sure we always return consistent error code when we reach end of
the function body.
Fixes following crash of test-install,
Assertion 'r == 0' failed at src/test/test-install.c:52, function main(). Aborting.
[1] 11703 abort (core dumped) ./test-install |
25d40bf57cd0b850f479c00528b4378e02f2d841 |
|
24-Jun-2015 |
Lennart Poettering <lennart@poettering.net> |
install: fix bad memory access |
57ab2eabb8f92fad5239c7d4492e9c6e23ee0678 |
|
15-May-2015 |
Jan Synacek <jsynacek@redhat.com> |
systemctl: introduce --now for enable, disable and mask
https://bugs.freedesktop.org/show_bug.cgi?id=42940 |
cab6235f748e365198a7939f23c87ab3b8f59b2e |
|
11-May-2015 |
Lennart Poettering <lennart@poettering.net> |
install: when exporting prefix InstallInfo to become UnitFileInstallInfo
All other types exported from install.h should be namespaces like this,
hence namespace InstallInfo the same way.
Also, remove external forward definition of UnitFileScope type. |
7410616cd9dbbec97cf98d75324da5cda2b2f7a2 |
|
06-May-2015 |
Lennart Poettering <lennart@poettering.net> |
core: rework unit name validation and manipulation logic
A variety of changes:
- Make sure all our calls distuingish OOM from other errors if OOM is
not the only error possible.
- Be much stricter when parsing escaped paths, do not accept trailing or
leading escaped slashes.
- Change unit validation to take a bit mask for allowing plain names,
instance names or template names or an combination thereof.
- Refuse manipulating invalid unit name |
0d67448869bd881fd6aea57de6da98800395cf1f |
|
10-Apr-2015 |
Ronny Chevalier <chevalier.ronny@gmail.com> |
shared: fix memleak
path was used for 2 purposes but it was not freed before being reused. |
a7f7d1bde43fc825c49afea3f946f5b4b3d563e0 |
|
27-Mar-2015 |
Harald Hoyer <harald@redhat.com> |
fix gcc warnings about uninitialized variables
like:
src/shared/install.c: In function ‘unit_file_lookup_state’:
src/shared/install.c:1861:16: warning: ‘r’ may be used uninitialized in
this function [-Wmaybe-uninitialized]
return r < 0 ? r : state;
^
src/shared/install.c:1796:13: note: ‘r’ was declared here
int r;
^ |
a8ffe6fbcbfdba39aef8dce8b298b3e0cb377c0e |
|
15-Mar-2015 |
Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> |
sysv-generator: initialize LookupPaths just once
With debugging on, sysv-generator would print the full set of
lookup paths for *every* sysv script.
While at it, pass LookupPaths as a pointer in sysv-generator,
and constify it everywhere. |
15411c0cb1192799b37ec8f25d6f30e8d7292fc6 |
|
13-Mar-2015 |
David Herrmann <dh.herrmann@gmail.com> |
tree-wide: there is no ENOTSUP on linux
Replace ENOTSUP by EOPNOTSUPP as this is what linux actually uses. |
2eec67acbb00593e414549a7e5b35eb7dd776b1b |
|
23-Feb-2015 |
Thomas Hindoe Paaboel Andersen <phomes@gmail.com> |
remove unused includes
This patch removes includes that are not used. The removals were found with
include-what-you-use which checks if any of the symbols from a header is
in use. |
63c372cb9df3bee01e3bf8cd7f96f336bddda846 |
|
03-Feb-2015 |
Lennart Poettering <lennart@poettering.net> |
util: rework strappenda(), and rename it strjoina()
After all it is now much more like strjoin() than strappend(). At the
same time, add support for NULL sentinels, even if they are normally not
necessary. |
60d27f1916c90871c063819a6e7d586c7a663789 |
|
05-Jan-2015 |
Ivan Shapovalov <intelfx100@gmail.com> |
path-lookup, systemctl: export lookup_paths_init_from_scope() from shared/install.c and use it |
a34bf9db5da0fdd6bdb14459e203dbe41ee99614 |
|
19-Dec-2014 |
Lennart Poettering <lennart@poettering.net> |
util: rename ignore_file() to hidden_file()
hidden_file() is a bit more precise, since dot files usually shouldn't
be ignored, but certainly be considered hidden. |
764458325ef3586229137694538bcf5e8bde8c48 |
|
10-Dec-2014 |
Lennart Poettering <lennart@poettering.net> |
core: properly pass unit file state to clients via the bus |
56e73b34ce0b020ef54c0dc2aba16e50d4fea9f5 |
|
29-Nov-2014 |
Tom Gundersen <teg@jklm.no> |
shared: install - report error if mask symlink can not be marked for removal |
f647962d64e844689f3e2acfce6102fc47e76df2 |
|
28-Nov-2014 |
Michal Schmidt <mschmidt@redhat.com> |
treewide: yet more log_*_errno + return simplifications
Using:
find . -name '*.[ch]' | while read f; do perl -i.mmm -e \
'local $/;
local $_=<>;
s/(if\s*\([^\n]+\))\s*{\n(\s*)(log_[a-z_]*_errno\(\s*([->a-zA-Z_]+)\s*,[^;]+);\s*return\s+\g4;\s+}/\1\n\2return \3;/msg;
print;'
$f
done
And a couple of manual whitespace fixups. |
da927ba997d68401563b927f92e6e40e021a8e5c |
|
28-Nov-2014 |
Michal Schmidt <mschmidt@redhat.com> |
treewide: no need to negate errno for log_*_errno()
It corrrectly handles both positive and negative errno values. |
0a1beeb64207eaa88ab9236787b1cbc2f704ae14 |
|
28-Nov-2014 |
Michal Schmidt <mschmidt@redhat.com> |
treewide: auto-convert the simple cases to log_*_errno()
As a followup to 086891e5c1 "log: add an "error" parameter to all
low-level logging calls and intrdouce log_error_errno() as log calls
that take error numbers", use sed to convert the simple cases to use
the new macros:
find . -name '*.[ch]' | xargs sed -r -i -e \
's/log_(debug|info|notice|warning|error|emergency)\("(.*)%s"(.*), strerror\(-([a-zA-Z_]+)\)\);/log_\1_errno(-\4, "\2%m"\3);/'
Multi-line log_*() invocations are not covered.
And we also should add log_unit_*_errno(). |
aedd4012f437a0b08c34f40a5bb97b6e615ac074 |
|
10-Nov-2014 |
Jan Synacek <jsynacek@redhat.com> |
shared/install: when unit contains only Also=, report 'indirect'
If a unit contains only Also=, with no Alias= or WantedBy=, it shouldn't
be reported as static. New 'indirect' status shall be introduced.
https://bugzilla.redhat.com/show_bug.cgi?id=864298 |
0ffce503cd6e5a5ff5ba5cd1cc23684cfb8bb9e3 |
|
31-Oct-2014 |
Dave Reisner <dreisner@archlinux.org> |
shared/install: avoid prematurely rejecting "missing" units
f7101b7368df copied some logic to prevent enabling masked units, but
also added a check which causes attempts to enable templated units to
fail. Since we know the logic beyond this check will properly handle
units which truly do not exist, we can rely on the unit file state
comparison to suffice for expressing the intent of f7101b7368df.
ref: https://bugs.archlinux.org/task/42616 |
e95c98378ac2d34df864de4a9b785fd17defb77b |
|
25-Oct-2014 |
Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> |
systemctl: do not ignore errors in symlink removal
On an ro fs, systemctl disable ... would fail silently. |
2d5c93c7af05bfa25cad85909acdb7b0bfc3f4e1 |
|
23-Oct-2014 |
Michal Schmidt <mschmidt@redhat.com> |
install, cgtop: adjust hashmap_move_one() callers for -ENOMEM possibility
That hashmap_move_one() currently cannot fail with -ENOMEM is an
implementation detail, which is not possible to guarantee in general.
Hashmap implementations based on anything else than chaining of
individual entries may have to allocate.
hashmap_move_one will not fail with -ENOMEM if a proper reservation has
been made beforehand. Use reservations in install.c.
In cgtop.c simply propagate the error instead of asserting. |
9f03ee51a2207954ef18be79ca3e11cd14ca56fd |
|
23-Oct-2014 |
Michal Schmidt <mschmidt@redhat.com> |
install: make InstallContext::{will_install,have_installed} OrderedHashmaps
It appears order may matter here. Use OrderedHashmaps to be safe. |
e94937df954451eb4aa63573f0d7404ed2db987e |
|
08-Oct-2014 |
Lukas Nykryn <lnykryn@redhat.com> |
systemctl: add add-wants and add-requires verbs |
f7101b7368dfe41dbc8b7203e06133cccb589c01 |
|
07-Oct-2014 |
Jan Synacek <jsynacek@redhat.com> |
core: don't allow enabling if unit is masked |
4d5dec2389d8e6ce78b45d3058220888f4a93db7 |
|
02-Oct-2014 |
Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> |
Rename user_runtime to user_runtime_dir
This makes this function name similar to user_config_home() and makes
it match the name of the environment variable. |
718880ba0d557a045e2f969e141cbd59e78c76f4 |
|
02-Oct-2014 |
Steven Allen <steven@stebalien.com> |
add a transient user unit directory
This patch adds a transient user unit directory under
`$XDG_RUNTIME_DIR/systemd/user/` and stores transient user-instance
units (such as those created by `systemd-run --user`) under there
instead of putting them in $XDG_CONFIG_HOME/systemd/user/.
Fixes https://bugs.freedesktop.org/show_bug.cgi?id=67331 |
d9ab174bd7ec1dd5b382d3d84737d1c9ed1f4481 |
|
16-Sep-2014 |
Andreas Henriksson <andreas@fatal.se> |
shared: fix resource leak in config_parse_default_instance
The recently allocated "printed" is not freed on error path.
Found by coverity. Fixes: CID#1237745 |
d5099efc47d4e6ac60816b5381a5f607ab03f06e |
|
15-Sep-2014 |
Michal Schmidt <mschmidt@redhat.com> |
hashmap: introduce hash_ops to make struct Hashmap smaller
It is redundant to store 'hash' and 'compare' function pointers in
struct Hashmap separately. The functions always comprise a pair.
Store a single pointer to struct hash_ops instead.
systemd keeps hundreds of hashmaps, so this saves a little bit of
memory. |
81fc054dc7c365545bca86d78bf36a12658cedb3 |
|
27-Aug-2014 |
Lukas Nykryn <lnykryn@redhat.com> |
systemctl: fix broken list-unit-files with --root |
4fc13f521ab44eb55c599b07c18860c1aeca35a7 |
|
26-Aug-2014 |
Lennart Poettering <lennart@poettering.net> |
Revert "systemctl: fix broken list-unit-files with --root"
This reverts commit 41a451cc2901a5deb985aea4cc8de204a22e5612.
This breaks checks for masking of units file, since we invoke
null_or_empty_path() on the resulting path. |
41a451cc2901a5deb985aea4cc8de204a22e5612 |
|
25-Aug-2014 |
Lukas Nykryn <lnykryn@redhat.com> |
systemctl: fix broken list-unit-files with --root
This patch modifies unit_file_get_list which will now return
hashmap of structures where f->path is *without* root_dir prefix.
This change should be ok, because current code either does not use
root_dir at all or calls basename() on the f->path. |
59ccf93d97f0a37522e5f4fbf5cc0288dbedf495 |
|
21-Aug-2014 |
Lennart Poettering <lennart@poettering.net> |
install: simplify usage of _cleanup_ macros |
fdbdf6ec29bda40763d7d3e7bb2a63e2f5d60c4c |
|
20-Aug-2014 |
Lukas Nykryn <lnykryn@redhat.com> |
systemctl: fail in the case that no unit files were found
Previously systemctl died with message
-bash-4.2# systemctl --root /rawhi list-unit-files
(src/systemctl/systemctl.c:868) Out of memory.
in the case that no unit files were found in the --root
or the directory did not exist.
So lets return ENOENT in the case that --root does not exist
and empty list in the case that there are no unit files. |
8085f163c50d998f3e30a6ddfc72c73d5dc57747 |
|
14-Aug-2014 |
Dave Reisner <dreisner@archlinux.org> |
util: allow strappenda to take any number of args
This makes strappenda3 redundant, so we remove its usage and
definition. Add a few tests along the way for sanity. |
b2fadec6048adb3596f2633cb7fe7a49f5937a18 |
|
31-Jul-2014 |
Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> |
Properly report invalid quoted strings
$ systemd-analyze verify trailing-g.service
[./trailing-g.service:2] Trailing garbage, ignoring.
trailing-g.service lacks ExecStart setting. Refusing.
Error: org.freedesktop.systemd1.LoadFailed: Unit trailing-g.service failed to load: Invalid argument.
Failed to create trailing-g.service/start: Invalid argument |
a2a5291b3f5ab6ed4c92f51d0fd10a03047380d8 |
|
31-Jul-2014 |
Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> |
Reject invalid quoted strings
String which ended in an unfinished quote were accepted, potentially
with bad memory accesses.
Reject anything which ends in a unfished quote, or contains
non-whitespace characters right after the closing quote.
_FOREACH_WORD now returns the invalid character in *state. But this return
value is not checked anywhere yet.
Also, make 'word' and 'state' variables const pointers, and rename 'w'
to 'word' in various places. Things are easier to read if the same name
is used consistently.
mbiebl_> am I correct that something like this doesn't work
mbiebl_> ExecStart=/usr/bin/encfs --extpass='/bin/systemd-ask-passwd "Unlock EncFS"'
mbiebl_> systemd seems to strip of the quotes
mbiebl_> systemctl status shows
mbiebl_> ExecStart=/usr/bin/encfs --extpass='/bin/systemd-ask-password Unlock EncFS $RootDir $MountPoint
mbiebl_> which is pretty weird |
0c6ea3a4e2ac3f350dcb58e8f08bb74b030cd624 |
|
26-Jul-2014 |
Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> |
Add utility function to append root to path |
7de80bfe2e61d5818601ccfddbadad3b7703ed70 |
|
26-Jul-2014 |
Karel Zak <kzak@redhat.com> |
Always check asprintf return code
There is a small number of the places in sources where we don't check
asprintf() return code and assume that after error the function
returns NULL pointer via the first argument. That's wrong, after
error the content of pointer is undefined. |
86bbe5bfbc0bf213e9d3fafbe6c64d59b9fc90ea |
|
17-Jul-2014 |
Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> |
test-tables: add new entries
One missing string found.
A few things had to be moved around to make it possible to test them. |
36f822c4bd077f9121757e24b6516e5c7ada63b5 |
|
17-Jul-2014 |
Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> |
Let config_parse open file where applicable
Special care is needed so that we get an error message if the
file failed to parse, but not when it is missing. To avoid duplicating
the same error check in every caller, add an additional 'warn' boolean
to tell config_parse whether a message should be issued.
This makes things both shorter and more robust wrt. to error reporting. |
e9f3d2d508bfd9fb5b54e82994bda365a71eb864 |
|
16-Jul-2014 |
Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> |
Constify ConfigTableItem tables |
cba2ef02722114da2b730d57f1e3bb43013d8921 |
|
20-Jun-2014 |
Michael Marineau <michael.marineau@coreos.com> |
conf-files: include root in returned file paths
This restores the original root handling logic that was present prior to
112cfb18 when path expansion moved to path_strv_canonicalize_absolute.
That behavior partially went away in 12ed81d9.
Alternatively all users of conf_files_list* could be updated to
concatenate the paths themselves as unit_file_query_preset did but since
no user needs the un-concatenated form that is pointless duplication. |
de228aabc833901e7c75aab8d62e58229e2a8bfc |
|
17-Jun-2014 |
Thomas Hindoe Paaboel Andersen <phomes@gmail.com> |
install: remove unused variable |
ac78d81a35fae1c10464992dac25f1527a05cbc9 |
|
17-Jun-2014 |
Lennart Poettering <lennart@poettering.net> |
install: improve paths we show the user when enabling/disabling |
278fa5758c8e30f03c8c50f15873d55edfc4cbaf |
|
17-Jun-2014 |
Lennart Poettering <lennart@poettering.net> |
install: simplify symlink --root= logic |
0a327d753f992ffdcff5f38c861c90bfa1f5a4af |
|
17-Jun-2014 |
Lennart Poettering <lennart@poettering.net> |
install: "systemctl enable" should be a nop for template units lacking a DefaultInstance= setting |
8f294b45cbb627d31342f6a79444be59ce7e2274 |
|
17-Jun-2014 |
Lennart Poettering <lennart@poettering.net> |
install: make sure that --root= mode doesn't make us consider all units outside of search path |
559367add5e22bf32d14fa1496512c68488f48b0 |
|
17-Jun-2014 |
Lennart Poettering <lennart@poettering.net> |
install: make sure "systemctl disable foobar@.service" actually removes all instances |
d54c4993699f4fa5feece43715aac3564c4dada6 |
|
17-Jun-2014 |
Lennart Poettering <lennart@poettering.net> |
install: introduce new DefaultInstance= field for [Install] sections
The DefaultInstance= name is used when enabling template units when only
specifying the template name, but no instance.
Add DefaultInstance=tty1 to getty@.service, so that when the template
itself is enabled an instance for tty1 is created.
This is useful so that we "systemctl preset-all" can work properly,
because we can operate on getty@.service after finding it, and the right
instance is created. |
e50bd775163cd96be1888943a8785a436be710e8 |
|
17-Jun-2014 |
Lennart Poettering <lennart@poettering.net> |
install: when looking for a unit file for enabling, search for templates only after traversing all search directories
Let's always make sure to look in all search directories for the full
unit names first, before looking for templates for them. |
1f8c46040e824d7367c2f013de13c87d53f249dc |
|
17-Jun-2014 |
Lennart Poettering <lennart@poettering.net> |
install: use symlink_atomic() instead of unlink()+symlink() when force creating a symlink |
1dacfd2ad643019f41fb979f5a8c144172911f85 |
|
17-Jun-2014 |
Lennart Poettering <lennart@poettering.net> |
install: various modernizations |
c2a8d7b05c8a067dff701db5127c2c1753e0ac26 |
|
17-Jun-2014 |
Lennart Poettering <lennart@poettering.net> |
install: teach preset query logic --root= support |
d309c1c36426f9a355e28e3c35153281939aeea6 |
|
17-Jun-2014 |
Lennart Poettering <lennart@poettering.net> |
install: beef up preset logic to limit to only enable or only disable, and do all-unit preset operations
The new "systemctl preset-all" command may now be used to put all
installed units back into the enable/disable state the vendor/admin
encoded in preset files.
Also, introduce "systemctl --preset-mode=enable-only" and "systemctl
--preset-mode=disable-only" to only apply the enable or only the disable
operations of a "systemctl preset" or "systemctl preset-all" operation.
"systemctl preset-all" implements this RFE:
https://bugzilla.redhat.com/show_bug.cgi?id=630174 |
bcafe923a74e702abbba3655b0270febe143499f |
|
17-Jun-2014 |
Lennart Poettering <lennart@poettering.net> |
install: simplify and clarify disabling logic for instanced units |
da39f6a63e9ca59bec23cc9d1cb841703bb5ef56 |
|
17-Jun-2014 |
Lennart Poettering <lennart@poettering.net> |
install: various modernizations |
223217749e57996336d5730b0a28716cca56d45d |
|
13-Jun-2014 |
Andreas Henriksson <andreas@fatal.se> |
install: fix invalid free() in unit_file_mask()
int unit_file_mask(...) in ./src/shared/install.c calls
get_config_path(...) which can in 4 error cases return without setting
"ret", and thus "prefix" can be uninitialized when unit_file_mask(...)
finishes (which it does directly after the error is returned from
get_config_path(...)). |
12ed81d9c88406234c20e9261ae8c8b992d8bc4d |
|
15-May-2014 |
Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> |
Make systemctl --root look for files in the proper places
Running systemctl enable/disable/set-default/... with the --root
option under strace reveals that it accessed various files and
directories in the main fs, and not underneath the specified root.
This can lead to correct results only when the layout and
configuration in the container are identical, which often is not the
case. Fix this by adding the specified root to all file access
operations.
This patch does not handle some corner cases: symlinks which point
outside of the specified root might be interpreted differently than
they would be by the kernel if the specified root was the real root.
But systemctl does not create such symlinks by itself, and I think
this is enough of a corner case not to be worth the additional
complexity of reimplementing link chasing in systemd.
Also, simplify the code in a few places and remove an hypothetical
memory leak on error. |
62b002337727093c21d020c730bd65971f7783a7 |
|
15-May-2014 |
Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> |
shared/install: do not prefix created symlink with root path
Before: /var/tmp/inst1//etc/systemd/system/default.target -> /var/tmp/inst1//usr/lib/systemd/system/graphical.target
After: /var/tmp/inst1/etc/systemd/system/default.target -> /usr/lib/systemd/system/graphical.target |
ead349509e325aad720bb0349521a9e56e2ac7c0 |
|
13-May-2014 |
Lennart Poettering <lennart@poettering.net> |
replace more dup() by F_DUPFD_CLOEXEC |
b91a3b02f3be899dd8a2ae22df5be8de78f5a175 |
|
23-Apr-2014 |
Lennart Poettering <lennart@poettering.net> |
install: simplification |
af7fce1cdb6c0d6ce56bcddccbc31dd3d64a8cd8 |
|
17-Apr-2014 |
Djalal Harouni <tixxdz@opendz.org> |
install: create_symlink() check unlink() return value
create_symlink() do not check the return value of unlink(), this may
confuse the user.
Before the unlink() call we check the 'force' argument. If it is not set
we fail with -EEXIST, otherwise we unlink() the file, therefore the next
symlink() should not fail with -EEXIST (do not count races...).
However since callers may not have appropriate privileges to unlink()
the file we lose the -EPERM or any other errno code of unlink(), and
return the -EEXIST of the next symlink(). Fix this by checking unlink()
results.
Before:
$ systemctl --force --root=~/container-03 set-default multi-user.target
Failed to set default target: File exists
After:
$ systemctl --force --root=~/container-03 set-default multi-user.target
Failed to set default target: Permission denied |
03e334a1c7dc8c20c38902aa039440763acc9b17 |
|
18-Mar-2014 |
Lennart Poettering <lennart@poettering.net> |
util: replace close_nointr_nofail() by a more useful safe_close()
safe_close() automatically becomes a NOP when a negative fd is passed,
and returns -1 unconditionally. This makes it easy to write lines like
this:
fd = safe_close(fd);
Which will close an fd if it is open, and reset the fd variable
correctly.
By making use of this new scheme we can drop a > 200 lines of code that
was required to test for non-negative fds or to reset the closed fd
variable afterwards. |
bdd13f6be4b588568683a1ab54f421fc6a636dbb |
|
25-Feb-2014 |
Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> |
Remove dead lines in various places
As pointed-out by clang -Wunreachable-code.
No behaviour changes. |
7195aa42e3d3c2b51da5f0ddefa74bd0925441be |
|
05-Jan-2014 |
Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> |
shared/install: use char** convention for strvs |
f78e6385dc4cee0a1f399c4c89ebf823c108d447 |
|
26-Dec-2013 |
Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> |
Use enums to make it obvious what boolean params mean
Suggested-by: Russ Allbery <rra@debian.org> |
693eb9a2d42d71445dad273a76e2470199d1dc5a |
|
25-Dec-2013 |
Lennart Poettering <lennart@poettering.net> |
bus: rename message "serial" to "cookie"
Even if the lower-leveld dbus1 protocol calls it "serial", let's expose
the word "cookie" for this instead, as this is what kdbus uses and since
it doesn't imply monotonicity the same way "serial" does. |
4d993c8cb75aef0f4293e0b9e8f249dd0530b5d8 |
|
22-Dec-2013 |
Florian Weimer <fweimer@redhat.com> |
install: replace readdir_r with readdir
The old code incorrectly assumed that readdir_r updates errno. |
2b6bf07dd23bb467099d213c97b3875c5e453491 |
|
07-Dec-2013 |
Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> |
Get rid of our reimplementation of basename
The only problem is that libgen.h #defines basename to point to it's
own broken implementation instead of the GNU one. This can be fixed
by #undefining basename. |
71a6151083d842b2f5bf04e50239f0bf85d34d2e |
|
25-Nov-2013 |
Tom Gundersen <teg@jklm.no> |
conf-parser: distinguish between multiple sections with the same name
Pass on the line on which a section was decleared to the parsers, so they
can distinguish between multiple sections (if they chose to). Currently
no parsers take advantage of this, but a follow-up patch will do that
to distinguish
[Address]
Address=192.168.0.1/24
Label=one
[Address]
Address=192.168.0.2/24
Label=two
from
[Address]
Address=192.168.0.1/24
Label=one
Address=192.168.0.2/24
Label=two |
718db96199eb307751264e4163555662c9a389fa |
|
20-Nov-2013 |
Lennart Poettering <lennart@poettering.net> |
core: convert PID 1 to libsystemd-bus
This patch converts PID 1 to libsystemd-bus and thus drops the
dependency on libdbus. The only remaining code using libdbus is a test
case that validates our bus marshalling against libdbus' marshalling,
and this dependency can be turned off.
This patch also adds a couple of things to libsystem-bus, that are
necessary to make the port work:
- Synthesizing of "Disconnected" messages when bus connections are
severed.
- Support for attaching multiple vtables for the same interface on the
same path.
This patch also fixes the SetDefaultTarget() and GetDefaultTarget() bus
calls which used an inappropriate signature.
As a side effect we will now generate PropertiesChanged messages which
carry property contents, rather than just invalidation information. |
e8372f7e3e3a5aba053b1b5b944cb84d6d525877 |
|
20-Nov-2013 |
Lennart Poettering <lennart@poettering.net> |
install: when determining where default.target points to, accept a file instead of a symlink, too |
16ed0233a5b7ae38ed4f544d6fcd5827cde695dc |
|
20-Nov-2013 |
Lennart Poettering <lennart@poettering.net> |
install: use const where we can |
97137ecce66197dda9e276575f10ff262c76fda7 |
|
08-Nov-2013 |
Lennart Poettering <lennart@poettering.net> |
install: don't override caller's parameter |
fb15be839500c39f6c2f006f45306d439e1a7add |
|
27-Oct-2013 |
Daniel Buch <boogiewasthere@gmail.com> |
path_lookup: moved _cleanup_lookup_paths_free_ from install.c to path-lookup.h |
1ca208fb4f93e5869704af1812cbff7130a2fc03 |
|
13-Oct-2013 |
Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> |
Introduce udev object cleanup functions |
b47d419c25ecc735615a1088060c1ec8bef1e41f |
|
13-Oct-2013 |
Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> |
Modernization
Fixes minor leak in error path in device.c. |
19f6d710772305610b928bc2678b9d77fe11e770 |
|
17-Sep-2013 |
Lennart Poettering <lennart@poettering.net> |
specifier: rework specifier calls to return proper error message
Previously the specifier calls could only indicate OOM by returning
NULL. With this change they will return negative errno-style error codes
like everything else. |
6c5a28255bea4385289149b4617c86a24eec519f |
|
15-Jul-2013 |
Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> |
systemd: fix NULL dereference when disabling a nonexistent instance
Assertion 'p' failed at src/shared/path-util.c:51, function path_get_file_name(). Aborting.
The unit file could not be found, and i->path would not be set.
In 02b9e969 a code path was added which attempts to remove symlinks
to a nonexistent (removed) unit file. This worked OK in case of
non-instance services, but broke in the case of instance services.
Behaviour wrt. to instance units is changed in the way that 02b9e969
changed it for non-instance units: it is now possible to remove
instance symlinks to a template unit that has been removed.
This patch isn't a full fix, because the behaviour wrt. to enabling
and disabling instance units is still broken: e.g it is possible to
start autovt@tty5.service, but it is not possible to enable it,
because autovt@.service is a symlink, and on the other hand, disabling
getty@tty5.service removes all symlinks to getty@.service, which is
wrong too. But segfaults make bad pr, so let's add at least this
partial fix for now. |
92d430a9e03056c0f62ed49149d59aed0046d0dd |
|
13-Jul-2013 |
Ross Lagerwall <rosslagerwall@gmail.com> |
install: make "reenable" work with templated units
Before, "systemctl reenable getty@tty1.service" would fail with:
Failed to issue method call: File exists
To fix this, reimplement "reenable" explicitly as a disable followed by
an enable.
This is shorter and is how the man page documents its behavior. |
d7b478b448d16b0f755e7e1c2eb4df83859034b2 |
|
12-Jul-2013 |
Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> |
shared/install: fix trivial memleak
We lost the reference when setting path second time. |
02b9e969a6f512d2312e7028ce5c48c84ad87d06 |
|
03-Jun-2013 |
Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> |
systemctl,core: allow nuking of symlinks to removed units
Before, one the unit file was deleted, install_context_for_removal()
would refuse to look for symlinks. But we can remove dangling symlinks
anyway.
In principle, package installation/deinstallation scripts should do
that before the unit is uninstalled, but they don't always do. Also,
a user might have added additional symlinks manually.
https://bugs.freedesktop.org/show_bug.cgi?id=62395 |
99504dd4c13af7516a976fffc0f68e6f26d3faac |
|
31-May-2013 |
Václav Pavlín < <vpavlin@redhat.com> |
systemctl: add commands set-default and get-default
systemctl set-default NAME links the default.target to the given unit,
get-default prints out the path to the currently set default target. |
67820a0cbdc9d72a1074debf8b2bc72203c775cc |
|
21-May-2013 |
Michael Tremer <michael.tremer@ipfire.org> |
systemctl: make systemctl is-enabled work for templated units
Patch resolves the problem that 'systemctl is-enabled' does
not work for templated units.
Without this patch, systemctl is-enabled something@abc.service
returned "No such file or directory", because it first checked
if /usr/lib/systemd/system/something@abc.service, etc. exists.
If systemctl is-enabled is called for templated units, this
check should be omitted and it should search for symlinks in
the .wants dirs right away.
This patch fixes the broken behaviour and resolves
https://bugs.freedesktop.org/show_bug.cgi?id=55318.
[zj: fixed the patch to still check for broken symlinks and
masked instances. Also removed untrue assumptions from
the patch description.] |
db5c0122853a9ecf1cc92e6593461932df2fa866 |
|
25-Apr-2013 |
Lennart Poettering <lennart@poettering.net> |
conf-parser: restrict .include usage
Disallow recursive .include, and make it unavailable in anything but
unit files. |
ef42202ac8ed27e7ff1fc90ef8bc2590046dff25 |
|
24-Apr-2013 |
Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> |
Add set_consume which always takes ownership
Freeing in error path is the common pattern with set_put(). |
7fd1b19bc9e9f5574f2877936b8ac267c7706947 |
|
18-Apr-2013 |
Harald Hoyer <harald@redhat.com> |
move _cleanup_ attribute in front of the type
http://lists.freedesktop.org/archives/systemd-devel/2013-April/010510.html |
e8e581bf256b8c0fbd430935af79fa0e8ee570a1 |
|
17-Apr-2013 |
Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> |
Report about syntax errors with metadata
The information about the unit for which files are being parsed
is passed all the way down. This way messages land in the journal
with proper UNIT=... or USER_UNIT=... attribution.
'systemctl status' and 'journalctl -u' not displaying those messages
has been a source of confusion for users, since the journal entry for
a misspelt setting was often logged quite a bit earlier than the
failure to start a unit.
Based-on-a-patch-by: Oleksii Shevchuk <alxchk@gmail.com> |
d3b6d0c21ea5a0d15ec6dbd8b8d179138b7463bc |
|
14-Apr-2013 |
Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> |
fileio: in envfiles, do not skip lines following empty lines
https://bugs.freedesktop.org/show_bug.cgi?id=63477 |
7914d6bba47a21b98617d04c992a9075ff5af4c0 |
|
14-Apr-2013 |
Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> |
Remove a few NULLs
Just {} is used in a lot of places now, and there's nothing
special abose those few. |
bcb161b0230fdd1faf9176f95fee76a7db6afd59 |
|
12-Apr-2013 |
Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> |
errno is positive
Make sure we compare errno against positive error codes.
The ones in hwclock.c and install.c can have an impact, the
rest are unlikely to be hit or in code that isn't widely
used.
Also check that errno > 0, to help gcc know that we are
returning a negative error code. |
b92bea5d2a9481de69bb627a7b442a9f58fca43d |
|
06-Apr-2013 |
Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> |
Use initalization instead of explicit zeroing
Before, we would initialize many fields twice: first
by filling the structure with zeros, and then a second
time with the real values. We can let the compiler do
the job for us, avoiding one copy.
A downside of this patch is that text gets slightly
bigger. This is because all zero() calls are effectively
inlined:
$ size build/.libs/systemd
text data bss dec hex filename
before 897737 107300 2560 1007597 f5fed build/.libs/systemd
after 897873 107300 2560 1007733 f6075 build/.libs/systemd
… actually less than 1‰.
A few asserts that the parameter is not null had to be removed. I
don't think this changes much, because first, it is quite unlikely
for the assert to fail, and second, an immediate SEGV is almost as
good as an assert. |
7850b3b83791ba0e2377ba40383c5abc258b839d |
|
08-Feb-2013 |
Kay Sievers <kay@vrfy.org> |
shared: conf-files - add root parameter |
3f0b2f0f452e94444e4fb7b62030ea05738bb1b6 |
|
30-Jan-2013 |
Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> |
install: allow %u an and %U specifiers in WantedBy/RequiredBy/Alias |
7584d236eac91f9b7128b1eb08bddf18be2bce9f |
|
30-Jan-2013 |
Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> |
install: allow specifiers in WantedBy/RequiredBy/Alias
This allows one templated unit to refer to another templated unit
at installation time.
Examples:
> grep WantedBy ~/.config/systemd/user/mpop@.timer
WantedBy=services@%i.target
> srv disable mpop@iit.timer
rm '/home/alxchk/.config/systemd/user/services@iit.target.wants/mpop@iit.timer'
> srv enable mpop@iit.timer
ln -s '/home/alxchk/.config/systemd/user/mpop@.timer' '/home/alxchk/.config/systemd/user/services@iit.target.wants/mpop@iit.timer'
Based-on-patch-by: Oleksii Shevchuk <alxchk@gmail.com> |
d9e5e694ea7841045975426163c96fc9f71e6f7d |
|
30-Jan-2013 |
Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> |
install: automatic cleanup using local cleanup functions |
ea55addcb7cd31ab46f7be610cd3dc60c3abb52a |
|
30-Jan-2013 |
Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> |
install: use automatic cleanup in find_symlinks_fd() |
20f59e42cd64c0c7fd9386b0ca93842c6cdbc387 |
|
19-Oct-2012 |
Christian Hesse <list@eworm.de> |
shared/install: fix typo in comment |
7d5e9c0f60cddf01ec803012cbdc02d2f55b78c1 |
|
19-Sep-2012 |
Lennart Poettering <lennart@poettering.net> |
util: define union dirent_storage and make use of it everywhere
Make sure to allocate enough space for readdir_r().
https://bugzilla.redhat.com/show_bug.cgi?id=858754 |
67445f4e22ad924394acdd4fd49e6f238244a5ca |
|
18-Sep-2012 |
Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> |
core: move ManagerRunningAs to shared
Note: I did s/MANAGER/SYSTEMD/ everywhere, even though it makes the
patch quite verbose. Nevertheless, keeping MANAGER prefix in some
places, and SYSTEMD prefix in others would just lead to confusion down
the road. Better to rip off the band-aid now. |
d8831ed55442cfe0a3ca54644282a7c27d26f1b0 |
|
16-Sep-2012 |
Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> |
install: use automatic cleanup |
d5891fdacf761130c9babdb5e50367504d29970c |
|
16-Sep-2012 |
Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> |
install: treat non-existent directory as empty
When looking for symlinks, it doesn't make sense to error-out if
the directory is missing. The user might delete an empty directory.
This check caused test-unit-file to fail when run before installation. |
b5b46d599524341ddd7407e5dff1021af8ff5089 |
|
11-Sep-2012 |
Lennart Poettering <lennart@poettering.net> |
when determining unit file list, include invalid unit names in an "invalid" state |
29283ea4cf5df20aa0ea9e24e3cb7035bf4c4a04 |
|
26-Jul-2012 |
Michal Sekletar <msekleta@redhat.com> |
systemd: enable/disable instances of template
https://bugzilla.redhat.com/show_bug.cgi?id=752774 |
5f73969991fa765f2826975c0fc5e47438b5e9ea |
|
10-Jul-2012 |
Lennart Poettering <lennart@poettering.net> |
unit-name: remove unit_name_is_valid_no_type() and move unit_name_is_valid() to unit-name.h |
a7480dbad22cfb3d34c9bef5af562d3ff9e0227e |
|
27-Jun-2012 |
Lennart Poettering <lennart@poettering.net> |
core: rename system.preset to system-presets to follow naming scheme of other dirs in /usr/lib/systemd/
Thankfully nobody is using this yet, and presets aren't documented yet,
hence take the liberty to rename this. |
b4bdfefac3fcf633aa0700a981d854cc49a9725b |
|
21-Jun-2012 |
Lennart Poettering <lennart@poettering.net> |
preset: don't look for preset files in /lib unless /usr is split off |
d2e54fae5ca7a0f71b5ac8b356a589ff0a09ea0a |
|
31-May-2012 |
Kay Sievers <kay@vrfy.org> |
mkdir: append _label to all mkdir() calls that explicitly set the selinux context |
07719a21b6425d378b36bb8d7f47ad5ec5296d28 |
|
23-May-2012 |
Lennart Poettering <lennart@poettering.net> |
manager: rework generator logic
Previously generated units were always placed at the end of the search
path. With this change there will be three unit dirs instead of one, to
place generated entries at the beginning, in the middle and at the end
of the search path:
beginning: for units that need to override all configuration, regardless
of user or vendor. Example use: system-update-generator uses this to
temporarily redirect default.target.
middle: for units that need to override vendor configuration, but not
vendor configuration. Example use: /etc/fstab should override vendor
supplied configuration (think /tmp), but should not override native user
configuration.
end: does not override anything but is available as well. Possible usage
might be to convert D-Bus bus service files to native units but allowing
vendor supplied native units to win. |
78d54bd42b87818f5d0ef862d247f9db4844fadd |
|
21-May-2012 |
Lennart Poettering <lennart@poettering.net> |
unit: introduce RequiredBy= setting in [Install], to complement WantedBy= |
ba49b4a1a2497b9d3372d45ee1e43aec0c0d66f1 |
|
15-May-2012 |
Michal Schmidt <mschmidt@redhat.com> |
install: fix inverted meaning of '--force' in systemctl enable |
9eb977db5b89b44f254ab40c1876a76b7d7ea2d0 |
|
08-May-2012 |
Kay Sievers <kay@vrfy.org> |
util: split-out path-util.[ch] |
2c21044f05e32ec483b6ab13e175278779e9ebe3 |
|
07-May-2012 |
Kay Sievers <kay@vrfy.org> |
util: split-out conf-file.[ch] |
771faa9ae64dbc373a36db9108c20dea325bd5d8 |
|
19-Apr-2012 |
Sven Anders <anders@anduras.de> |
fix typo in src/shared/install.c |
f33d3ec1d7521c91da8b30ad5cb345d6416bb07d |
|
12-Apr-2012 |
Kay Sievers <kay@vrfy.org> |
move more common files to shared/ and add them to shared.la |