Commit Graph

8520 Commits

Author SHA1 Message Date
Michal Schmidt
05d576f1f7 job: separate job_install()
Let the jobs install themselves.
2012-04-20 17:12:28 +02:00
Michal Schmidt
f1c2bdca42 transaction: remove a couple of asserts
We already asserted these facts in the previous loop.
2012-04-20 17:12:28 +02:00
Michal Schmidt
e6eda1f23e transaction: remove the anchor link
tr->anchor_job is sufficient.
2012-04-20 17:12:28 +02:00
Michal Schmidt
38809d9dfe transaction: avoid garbage collecting the anchor job
Make sure the anchor job is never considered garbage, even if it has no links
leading to it (this will be allowed in the next patch).
2012-04-20 17:12:28 +02:00
Michal Schmidt
0d9989aa68 transaction: simplify transaction_find_jobs_that_matter_to_anchor() 2012-04-20 17:12:28 +02:00
Michal Schmidt
4483f69498 transaction: change the linking of isolate jobs to the anchor
When isolating, the JOB_STOP jobs have no parent job, so they are all peers
of the real anchor job. This is a bit odd.

Link them from the anchor job.
2012-04-20 17:12:28 +02:00
Michal Schmidt
b94fbd3078 transaction: maintain anchor_job
Track which job is the anchor in the transaction.
2012-04-20 17:12:28 +02:00
Michal Schmidt
3c956cfee2 transaction: do not add installed jobs to the transaction
Do not attempt to optimize away the job creation by refering to installed jobs.
We do not want to disturb installed jobs until commiting the transaction.

(A later patch to job merging will make the separation of transaction jobs and
installed jobs complete.)
2012-04-20 17:12:28 +02:00
Michal Schmidt
1da4264fbd job: jobs shouldn't need to know about transaction anchors
Let the transactions maintain their own anchor links.
2012-04-20 17:12:28 +02:00
Michal Schmidt
668ad332a4 job: job_new() can find the manager from the unit 2012-04-20 17:12:27 +02:00
Michal Schmidt
75778e21df manager: split transaction.[ch]
manager.c takes care of the main loop, unit management, signal handling, ...
transaction.c computes transactions.

After split:
manager.c:     65 KB
transaction.c: 40 KB
2012-04-20 17:12:27 +02:00
Michal Schmidt
7527cb5275 manager: Transaction as an object
This makes it obvious that transactions are short-lived. They are created in
manager_add_job() and destroyed after the application of jobs.
It also prepares for a split of the transaction code to a new source.
2012-04-20 17:12:27 +02:00
Michal Schmidt
97e7d748d1 job: job_uninstall()
Split the uninstallation of the job from job_free() into a separate function.
Adjust the callers.

job_free() now only works on unlinked and uninstalled jobs. This enforces clear
thinking about job lifetimes.
2012-04-20 17:12:27 +02:00
Michal Schmidt
121b3b3180 manager: simplify transaction_abort()
This is equivalent.
2012-04-20 17:12:27 +02:00
Michal Schmidt
02a3bcc6b4 job: allow job_free() only on already unlinked jobs
job_free() is IMO too helpful when it unlinks the job from the transaction.
The callers should ensure the job is already unlinked before freeing.
The added assertions check if anyone gets it wrong.
2012-04-20 17:12:27 +02:00
Michal Schmidt
153bda8f03 manager: fix comment 2012-04-20 17:12:27 +02:00
Michal Schmidt
a48f3d1566 tmpfiles: fix error message 2012-04-20 17:12:27 +02:00
Kay Sievers
cc85759ac9 docs: remove duplicated install hook 2012-04-20 12:40:15 +02:00
Lennart Poettering
678d485a55 log: fix LOG_TARGET_JOURNAL_OR_KMSG 2012-04-20 12:40:02 +02:00
Lennart Poettering
71f737d2de mount-setup: don't log with LOG_ERROR if a mount that doesn't matter fails 2012-04-20 12:40:02 +02:00
Lennart Poettering
a0a3844815 main: log to the journal in container mode, by default 2012-04-20 12:40:01 +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
Sven Anders
771faa9ae6 fix typo in src/shared/install.c 2012-04-19 12:03:28 +02:00
Kay Sievers
ebcd5d3acd update TODO 2012-04-18 20:31:16 +02:00
Kay Sievers
180bd81280 udev: units - reference systemd-* units 2012-04-18 16:29:43 +02:00
Kay Sievers
88f642c00b build-sys: move dev-setup to label.la 2012-04-18 16:13:37 +02:00
Kay Sievers
4d46fec56d remove MS_* which can not be combined with current kernel code
MS_BIND|MS_MOVE can not be combined:
  do_mount()
    else if (flags & MS_BIND)
      do_loopback(&path, dev_name, flags & MS_REC);
    [...]
    else if (flags & MS_MOVE)
      do_move_mount(&path, dev_name);

MS_REMOUNT|MS_UNBINDABLE can not be combined:
  do_mount()
    if (flags & MS_REMOUNT)
      do_remount(&path, flags & ~MS_REMOUNT, mnt_flags, data_page);
    [...]
    else if (flags & (MS_SHARED | MS_PRIVATE | MS_SLAVE | MS_UNBINDABLE))
      do_change_type(&path, flags);
2012-04-18 13:37:45 +02:00
Kay Sievers
5ba2dc259f udev: unify /dev static symlink setup 2012-04-17 22:31:38 +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
20ffc4c4a9 update TODO 2012-04-17 18:47:49 +02:00
Kay Sievers
018ef268b1 silence a bunch of gcc warnings 2012-04-17 18:42:09 +02:00
Kay Sievers
80a5cbace4 build-sys: silence gtk-doc check, remove gtk-doc options from configure and distcheck 2012-04-17 17:11:02 +02:00
Javier Jardón
92ec4495f7 build-sys: make gtk-doc dependency optional 2012-04-17 17:01:21 +02:00
Kay Sievers
512dabcdc6 update TODO 2012-04-17 16:54:45 +02:00
Kay Sievers
e9a5ef7cdd selinux: unify systemd and udev code 2012-04-17 16:05:28 +02:00
Kay Sievers
75e37ac5b1 mkdir: do not use alloca() in a loop 2012-04-17 16:05:28 +02:00
Lennart Poettering
acf9b2f154 update .gitignore 2012-04-17 16:04:42 +02:00
Javier Jardón
a80db8bd5f configure.ac: Use a auxiliar directory to store autogenerated files 2012-04-17 16:02:36 +02:00
Javier Jardón
4e949c11a1 configure.ac: Use the new autoconf field to set the project webpage 2012-04-17 16:01:08 +02:00
Lennart Poettering
25016cb67f update TODO 2012-04-17 15:36:03 +02:00
Michael Biebl
dc786b29c3 man: Fix a few typos
Reported-by: A. Costa <agcosta@gis.net>
Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=668344
2012-04-17 14:37:18 +02:00
Tollef Fog Heen
91cf7e5c37 Fix typo 2012-04-17 09:47:23 +02:00
Kay Sievers
7c66aeba0f update TODO 2012-04-17 02:55:39 +02:00
Kay Sievers
3b49d09a3d udev: kill udev_selinux_setfscreateconat() 2012-04-17 02:20:32 +02:00
Kay Sievers
9e13dbae50 udev: replace util_create_path() with mkdir_parents() 2012-04-17 01:09:39 +02:00
Kay Sievers
f13b388f97 udev: install udevd as /usr/lib/systemd/systemd-udevd 2012-04-17 00:18:30 +02:00
Kay Sievers
33502ffe2e udev: use startswith() and streq() 2012-04-16 20:54:17 +02:00
Kay Sievers
6ada823a9a udev: remove configuration options for /dev, /sys, /run directories 2012-04-16 19:20:57 +02:00