systemd/debian
2016-07-20 16:31:09 +02:00
..
extra getty-static.service: Only start if we have a working VC subsystem 2016-07-20 16:30:59 +02:00
patches Drop insserv.conf generator 2016-07-16 15:35:40 +02:00
source No longer necessary with gbp 2014-04-26 10:25:11 +02:00
tests debian/tests/udev: Update test-udev location 2016-07-07 15:33:01 +02:00
changelog systemd.postinst: Remove systemd-networkd-resolvconf-update.path removal leftover 2016-07-11 16:29:53 +02:00
compat Bump to debhelper 9. 2012-06-29 22:34:45 +02:00
control Add versioned breaks for packages shipping rcS init scripts 2016-07-20 16:31:09 +02:00
copyright Update debian/copyright 2015-09-19 19:06:46 +02:00
gbp.conf debian/gbp.conf: Enable dch options "full" and "multimaint-merge" 2016-07-14 14:08:55 +02:00
libnss-myhostname.install Move a few files into their correct packages 2015-07-08 18:49:15 +02:00
libnss-myhostname.postinst nss-my*.postinst: configure at the end of the hosts line, not before files. 2015-07-27 15:06:21 +02:00
libnss-myhostname.postrm libnss-my{machines,hostname}.postrm: do not remove entries from nsswitch.conf if there are packages from other architectures remaining. 2015-11-12 20:52:11 -03:00
libnss-mymachines.install Move a few files into their correct packages 2015-07-08 18:49:15 +02:00
libnss-mymachines.postinst nss-my*.postinst: configure at the end of the hosts line, not before files. 2015-07-27 15:06:21 +02:00
libnss-mymachines.postrm libnss-my{machines,hostname}.postrm: do not remove entries from nsswitch.conf if there are packages from other architectures remaining. 2015-11-12 20:52:11 -03:00
libnss-resolve.install Add libnss-resolve package 2015-11-11 11:20:27 +01:00
libnss-resolve.postinst Revert "libnss-resolve: Don't duplicate "dns" query" 2016-05-04 21:34:57 -05:00
libnss-resolve.postrm Revert "libnss-resolve: Don't duplicate "dns" query" 2016-05-04 21:34:57 -05:00
libpam-systemd.install Clean up Debian specific file installation 2015-01-22 09:46:15 +01: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 Build-Depends-Package to libudev1.symbols and libsystemd0.symbols 2016-07-08 11:42:31 +02:00
libsystemd-dev.install Install API documentation for libudev and libsystemd in their respective packages 2015-06-23 00:59:22 +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 Add Build-Depends-Package to libudev1.symbols and libsystemd0.symbols 2016-07-08 11:42:31 +02:00
libudev-dev.install Install API documentation for libudev and libsystemd in their respective packages 2015-06-23 00:59:22 +02:00
libudev-dev.maintscript libudev-dev: Transition doc symlink -> dir too 2015-06-29 17:32:06 +02:00
README.Debian Small typo fix in README.Debian 2016-02-03 04:17:02 +01:00
README.source Update build instructions to use "gbp clone" instead of "gbp-clone" 2015-09-09 16:52:17 +02:00
rules Add versioned breaks for packages shipping rcS init scripts 2016-07-20 16:31:09 +02:00
shlibs.local Convert common code into a private shared library 2016-07-01 08:17:21 +02:00
systemd-container.install debian/systemd-container.install: Drop *.busname installation 2016-06-13 08:08:59 +03:00
systemd-container.postinst Move conffile from systemd to systemd-container package 2015-08-28 13:20:22 -03:00
systemd-coredump.install Move systemd-coredump socket and service into systemd-coredump binary package 2016-02-27 12:02:30 +01:00
systemd-coredump.postinst debian/systemd-coredump.postinst: Do daemon-reload before starting systemd-coredump 2016-04-25 09:00:29 +02:00
systemd-coredump.prerm systemd-coredump.{prerm,postinst}: Fix order 2016-03-14 17:13:22 +01:00
systemd-journal-remote.install Enable GnuTLS support as systemd-journal-remote makes sense mostly with encryption enabled 2015-08-30 21:55:26 +02:00
systemd-journal-remote.postinst Add necessary system groups for systemd-journal-remote 2015-08-30 20:38:56 +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-sysv.postinst systemd-sysv.postinst: Adjust syntax for better portability 2015-03-26 08:30:11 +01:00
systemd.bug-control Include the state of the udev package when filing a bug against systemd, and vice versa 2015-10-29 01:25:03 +01:00
systemd.bug-script systemd.bug-script: Fix typo 2015-11-09 03:35:15 +01:00
systemd.dirs Don't enable persistent storage of journal log files. 2013-01-19 15:40:12 +01:00
systemd.install Build systemd-sysusers binary 2016-06-21 22:46:31 +02:00
systemd.links Add resolved → resolvconf integration 2016-06-29 15:22:52 +02:00
systemd.lintian-overrides Quiesce possibly-insecure-handling-of-tmp-files lintian warning 2014-12-28 12:05:28 +01:00
systemd.maintscript Remove obsolete /etc/systemd/bootchart.conf conffile on upgrades 2016-05-23 03:06:24 +02:00
systemd.NEWS debian/systemd.NEWS: Reformat old entry 2016-07-14 14:09:45 +02:00
systemd.postinst systemd.postinst: Remove systemd-networkd-resolvconf-update.path removal leftover 2016-07-11 16:29:53 +02:00
systemd.postrm Don't fail in postrm during cleanup if directories don't exist 2015-04-29 16:02:05 +02:00
systemd.preinst debian/systemd.preinst: Correctly determine whether a service is enabled 2016-06-21 23:10:41 +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 Trigger a systemctl daemon-reload when init scripts are installed or removed 2015-04-08 10:54:30 +02:00
udev-udeb.dirs Remove obsolete debian/udev*.dirs entries 2013-07-18 20:34:39 +02:00
udev-udeb.install Split out udev rule to name USB network interfaces by MAC address into 73-usb-net-by-mac.rules 2016-05-11 22:48:37 +02:00
udev-udeb.links Create /sbin/udevadm compat symlink for udev-udeb 2013-07-18 16:54:22 +02:00
udev.bug-control Include the state of the udev package when filing a bug against systemd, and vice versa 2015-10-29 01:25:03 +01: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 debian/udev.init: Drop noexec from /dev again 2015-09-15 07:17:17 +02:00
udev.install udev: Drop hotplug.functions 2016-05-13 14:44:31 +02:00
udev.links Drop udev-finish 2015-09-04 08:09:38 +02:00
udev.maintscript Ship fbdev-blacklist.conf in /lib/modprobe.d/ instead of /etc/modprobe.d/ 2016-04-27 00:19:18 +02:00
udev.NEWS debian/udev.NEWS: Reformat old entry 2016-07-14 14:09:59 +02:00
udev.postinst Fix migration check from the old persistent-net generator to not apply to chroots 2016-05-06 17:55:50 -05:00
udev.postrm Remove /var/log/udev on purge 2014-04-26 22:57:48 +02:00
udev.preinst Remove obsolete udev maintainer script checks 2016-02-08 23:21:36 +01:00
udev.prerm Stop testing for unknown arguments in udev maintainer scripts 2015-12-10 15:58:53 +01:00
udev.README.Debian Split out udev rule to name USB network interfaces by MAC address into 73-usb-net-by-mac.rules 2016-05-11 22:48:37 +02:00
udev.triggers Switch the hwdb trigger to interest-noawait 2013-07-21 15:33:42 +02:00
udev.udevmonitor.upstart Remove any vestiges of /dev/.udev/ 2015-06-02 01:15:33 +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 debian/watch: Adjust to new upstream release model of only providing the github tag tarballs 2015-07-08 07:06:30 +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
  gbp buildpackage

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

  gbp 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
  gbp 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"
  gbp 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 "github" or similar to avoid confusing it with the
already existing "upstream" branch from git-buildpackage:

  git remote add github https://github.com/systemd/systemd.git
  git fetch github -n

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

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