systemd/debian
Martin Pitt 1d744b97d4 libnss-*.prerm: Remove possible [key=value] options from NSS modules as well
Parameterize remove_nss_entry() so that it is exactly the same in all postrms
and thus easier to test and keep in sync. Move from the complicated Perl
subroutine to a simpler sed.

LP: #1625584
2016-09-20 13:25:28 +02:00
..
extra debian/extra/set-cpufreq: Use powersave with intel_pstate 2016-09-19 22:37:07 +02:00
patches Revert "networkd: remove route if carrier is lost" 2016-09-20 11:08:53 +02:00
source No longer necessary with gbp 2014-04-26 10:25:11 +02:00
tests debian/tests/storage: Avoid stderr output of stopping systemd-cryptsetup@.service 2016-09-20 13:25:28 +02:00
changelog releasing package systemd version 231-6 2016-09-11 15:01:40 +02:00
compat Bump to debhelper 9. 2012-06-29 22:34:45 +02:00
control systemd.postinst: Drop setcap call for systemd-detect-virt 2016-09-19 22:36:59 +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
git-cherry-pick git-cherry-pick: always recreate the patch-queue branch 2016-09-03 10:03:42 -03: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-*.prerm: Remove possible [key=value] options from NSS modules as well 2016-09-20 13:25:28 +02: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-*.prerm: Remove possible [key=value] options from NSS modules as well 2016-09-20 13:25:28 +02: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 libnss-*.prerm: Remove possible [key=value] options from NSS modules as well 2016-09-20 13:25:28 +02: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 Ref()/Unref() bus calls for units 2016-09-11 11:35:11 +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 Ubuntu: Move ondemand.service from static to runtime enablement 2016-09-19 22:37:07 +02:00
shlibs.local.in Use idiomatic variables from dpkg include. 2016-09-09 14:21:06 +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 Add debian/extra/kernel-install.d/60-initrd.install 2016-08-24 06:54:17 +02:00
systemd.links Drop sigpwr-container-shutdown.service 2016-07-20 16:31:09 +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 systemd.NEWS: Point out that alternatively rcS scripts can be moved to rc[2-5] 2016-08-25 11:08:25 +02:00
systemd.postinst Ubuntu: Move ondemand.service from static to runtime enablement 2016-09-19 22:37:07 +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