systemd/debian
Martin Pitt f1bd9cb4f7 Bump util-linux dependency to >= 2.25
As per NEWS:

   * This version reenables support for fsck's -l switch. This
     means at least version v2.25 of util-linux is required for
     operation, otherwise dead-locks on device nodes may
     occur. Again: you need to update util-linux to at least
     v2.25 when updating systemd to v217.
2014-11-28 10:52:32 +01:00
..
extra net.agent: Properly close stdout/err FDs 2014-11-18 12:31:05 +01:00
init-functions.d Don't change behavior of SysV init scripts using "set -e" or "set -u" 2014-06-24 16:17:39 +02:00
pam-configs Re-add workaround for non-interactive PAM sessions 2012-04-28 10:51:13 +02:00
patches Port patches to 217 2014-11-28 10:52:31 +01:00
po Add Turkish debconf translations 2014-08-13 12:35:44 +02:00
source No longer necessary with gbp 2014-04-26 10:25:11 +02:00
tests Make systemd-nspawn@.service work out of the box 2014-11-25 12:02:21 +01:00
tmpfiles.d Add /run/shm -> /dev/shm symlink in debian/tmpfiles.d/debian.conf 2014-11-19 12:13:12 +01:00
changelog Bump util-linux dependency to >= 2.25 2014-11-28 10:52:32 +01:00
compat Bump to debhelper 9. 2012-06-29 22:34:45 +02:00
control Bump util-linux dependency to >= 2.25 2014-11-28 10:52:32 +01:00
copyright Fix duplicate line in copyright 2014-08-07 08:31:58 +02:00
debian-fixup Don't migrate /var/run to a symlink if /run is a symlink 2012-03-07 08:50:15 +01:00
debian-fixup.service Upstream renamed remount-rootfs.service → systemd-remount-fs.service 2013-07-18 16:54:22 +02:00
gbp.conf Switch debian/gbp.conf to experimental branch 2014-11-28 10:52:22 +01:00
gir1.2-gudev-1.0.install Add .install files for the udev packages 2013-07-18 16:54:10 +02:00
ifup@.service debian/ifup@.service: Only run if /run/network exists 2014-11-14 12:33:52 +01:00
libgudev-1.0-0.install Add .install files for the udev packages 2013-07-18 16:54:10 +02:00
libgudev-1.0-0.symbols Update symbols files 2014-09-04 18:50:20 +02:00
libgudev-1.0-dev.install Add .install files for the udev packages 2013-07-18 16:54:10 +02:00
libpam-systemd.install Convert to Multi-Arch: same where possible. Closes: #676615 2012-06-29 22:35:39 +02:00
libpam-systemd.postinst Add pam-auth-update calls to libpam-systemd's postinst and prerm 2010-09-01 21:10:41 +02:00
libpam-systemd.prerm Do proper refcounting of the PAM module package on prerm 2014-04-26 12:38:03 +02:00
libsystemd0.install Install the new combined libsystemd0 library 2014-07-16 23:29:00 +02:00
libsystemd0.symbols Add new symbols file for libsystemd0. 2014-07-16 23:29:00 +02:00
libsystemd-daemon0.install Convert to Multi-Arch: same where possible. Closes: #676615 2012-06-29 22:35:39 +02:00
libsystemd-daemon0.symbols Split libsystemd-login and libsystemd-daemon into separate binary packages. 2011-09-14 08:30:08 +02:00
libsystemd-daemon-dev.install Install the new combined libsystemd0 library 2014-07-16 23:29:00 +02:00
libsystemd-dev.install Install the new combined libsystemd0 library 2014-07-16 23:29:00 +02:00
libsystemd-id128-0.install Convert to Multi-Arch: same where possible. Closes: #676615 2012-06-29 22:35:39 +02:00
libsystemd-id128-0.symbols Add packages for libsystemd-journal and libsystemd-id128. 2012-02-11 19:49:24 +01:00
libsystemd-id128-dev.install Install the new combined libsystemd0 library 2014-07-16 23:29:00 +02:00
libsystemd-journal0.install Convert to Multi-Arch: same where possible. Closes: #676615 2012-06-29 22:35:39 +02:00
libsystemd-journal0.symbols Update symbols files for libsystemd-journal and libsystemd-login. 2014-04-27 14:28:17 +02:00
libsystemd-journal-dev.install Install the new combined libsystemd0 library 2014-07-16 23:29:00 +02:00
libsystemd-login0.install Convert to Multi-Arch: same where possible. Closes: #676615 2012-06-29 22:35:39 +02:00
libsystemd-login0.symbols Update symbols files for libsystemd-journal and libsystemd-login. 2014-04-27 14:28:17 +02:00
libsystemd-login-dev.install Install the new combined libsystemd0 library 2014-07-16 23:29:00 +02:00
libudev1-udeb.install Add .install files for the udev packages 2013-07-18 16:54:10 +02:00
libudev1.install Add .install files for the udev packages 2013-07-18 16:54:10 +02:00
libudev1.symbols Update symbols files 2014-09-04 18:50:20 +02:00
libudev-dev.install Add .install files for the udev packages 2013-07-18 16:54:10 +02:00
python3-systemd.install Build python3-systemd for Python 3 bindings. 2014-08-04 08:32:22 +02:00
README.Debian debian/README.Debian: Some clarifications to debug instructions 2014-10-29 14:11:27 +01:00
README.source Minor formatting fixes for README.source 2014-05-01 02:08:30 +02:00
rules Disable systemd-resolved for now 2014-11-28 10:52:32 +01:00
shlibs.local Install the new combined libsystemd0 library 2014-07-16 23:29:00 +02:00
systemd-logind-launch Revert "Drop systemd-logind-launch script" 2014-08-06 11:20:18 +02:00
systemd-sysv.install Add systemd-sysv package which ships the symlinks that replaces sysvinit 2010-07-07 22:01:32 +02:00
systemd-sysv.links Update /sbin/init symlink. The systemd binary was moved to $pkglibdir. 2012-03-06 18:07:25 +01:00
systemd.bug-script Be more conservative and upfront when attaching data to the bug report 2014-09-14 17:14:16 +02:00
systemd.dirs Don't enable persistent storage of journal log files. 2013-01-19 15:40:12 +01:00
systemd.install Install new systemd-path and systemd-escape binaries. 2014-09-05 01:54:44 +02:00
systemd.links Make /run/lock tmpfs an API fs so it is available during early boot 2014-09-05 01:23:23 +02:00
systemd.maintscript Rename conffiles for logind and journald 2013-07-17 20:24:08 +02:00
systemd.postinst Fix up /dev/log and /dev/initctl symlinks on upgrades 2014-09-14 16:00:19 +02:00
systemd.postrm Remove more stuff from /var/lib/systemd on systemd purge. 2014-08-10 15:34:59 +02:00
systemd.preinst Do not force-enable default-on services on every upgrade. 2014-08-10 11:04:26 +02:00
systemd.prerm Update the checks which test if systemd is the active init. 2013-06-20 01:17:00 +02:00
systemd.triggers Add handling of Message Catalog files. 2013-07-21 12:10:48 +02:00
udev-udeb.dirs Remove obsolete debian/udev*.dirs entries 2013-07-18 20:34:39 +02:00
udev-udeb.install Drop our Debian specific 50-udev-default.rules and 91-permissions.rules 2014-04-26 16:26:43 +02:00
udev-udeb.links Create /sbin/udevadm compat symlink for udev-udeb 2013-07-18 16:54:22 +02:00
udev.bug-script Update udev bug-script to attach instead of paste extra info if a new enough reportbug version is available. 2014-06-25 10:54:50 +02:00
udev.init Don't write to /sys/kernel/uevent_helper unconditionally 2014-08-20 22:31:08 +02:00
udev.install Add debian/extra/60-keyboard.hwdb: Latest keymaps from upstream git 2014-08-06 12:59:56 +02:00
udev.links Create a few compat symlinks for the udev package 2013-07-18 16:54:15 +02:00
udev.maintscript Kill /etc/udev/links.conf, create_static_nodes, and associated code. 2014-04-26 20:25:56 +02:00
udev.postinst Replace our Debian hwdb.bin location patch with what got committed upstream 2014-10-28 14:57:26 +01:00
udev.postrm Remove /var/log/udev on purge 2014-04-26 22:57:48 +02:00
udev.preinst Do not fail udev upgrades if the udev service is already runtime-masked when the preinst script is run 2014-08-06 11:41:06 +02:00
udev.prerm Merge remaining files from udev 175-7 2013-07-18 18:57:39 +02:00
udev.README.Debian Merge remaining files from udev 175-7 2013-07-18 18:57:39 +02:00
udev.templates Merge remaining files from udev 175-7 2013-07-18 18:57:39 +02:00
udev.triggers Switch the hwdb trigger to interest-noawait 2013-07-21 15:33:42 +02:00
udev.udev-fallback-graphics.upstart Add changes from 175-7.1 NMU (upstart support) 2013-07-18 19:29:15 +02:00
udev.udev-finish.init Source lsb init-functions in udev-finish SysV init script 2014-08-26 13:57:37 +02:00
udev.udev-finish.upstart Convert udev-finish.upstart from a task to a job 2014-08-06 12:41:12 +02:00
udev.udevmonitor.upstart Add changes from 175-7.1 NMU (upstart support) 2013-07-18 19:29:15 +02:00
udev.udevtrigger.upstart Add changes from 175-7.1 NMU (upstart support) 2013-07-18 19:29:15 +02:00
udev.upstart debian/udev.upstart: Fix path to udevd 2013-11-06 15:52:09 +01:00
watch Add watch file to track new upstream releases. 2012-10-24 02:29:36 +02:00

Building from source
--------------------
Install “git-buildpackage” and run the following steps:

  gbp-clone git+ssh://git.debian.org/git/pkg-systemd/systemd.git
  cd systemd
  git-buildpackage

We recommend you use pbuilder to make sure you build in a clean environment:

  git-buildpackage --git-pbuilder

Patch handling
--------------
The official form of modifications to the upstream source are quilt patches in
debian/patches/, like most Debian packages do. You are welcome to use quilt to
add or modify patches, but you might prefer using a git commit based approach.
gbp-pq provides that by synthesizing a "patch-queue/<branch>" local branch
which represents each quilt patch as git commit. You create this with

  gbp-pq import --force

Then you are in the patch-queue branch and can git log, commit, cherry-pick
upstream commits, rebase, etc. there. After you are done, run

  gbp-pq export

which will put you back into master and update debian/patches/ (including
series). You need to git add etc. new patches, add a changelog and other
packaging changes, and then debcommit as usual.

Rebasing patches to a new upstream version
------------------------------------------
gbp-pq's "rebase" command does not work very conveniently as it fails on merge
conflicts. First, ensure you are in the master branch:

  git checkout master  # in case you aren't already

Now, do one of

 (1) To import a new upstream release into the existing master branch for unstable,
do:

  gbp-pq import --force
  gbp-pq switch   # switch back to master from patch-queue/master
  git-import-orig [...]
  gbp-pq switch   # switch to patch-queue/master
  git rebase master

 (2) To import a new upstream release into a new branch for Debian experimental, do:

  git branch experimental
  git checkout experimental
  editor debian/gbp.conf  # set "debian-branch=experimental"
  git-import-orig [...]
  git branch patch-queue/experimental patch-queue/master
  git checkout patch-queue/experimental
  git rebase experimental

Now resolve all the conflicts, skip obsolete patches, etc. When you are done, run

  gbp-pq export

Note that our debian/gbp.conf disables patch numbers.

Cherry-picking upstream patches
-------------------------------
You can add the systemd upstream branch as an additional remote to the Debian
packaging branch. Call it "fdo" or "systemd" or similar to avoid confusing it
with the already existing "upstream" branch from git-buildpackage:

  git remote add fdo git://anongit.freedesktop.org/systemd/systemd
  git fetch fdo -n

Now you can look at the upstream log and cherry-pick patches into the
patch-queue branch:

  gbp-pq import --force
  git log fdo/master
  git cherry-pick 123DEADBEEF