nginx/debian
2025-07-14 19:38:47 +07:00
..
apport setup 2025-07-14 19:38:47 +07:00
autoscripts setup 2025-07-14 19:38:47 +07:00
build-bin setup 2025-07-14 19:38:47 +07:00
conf setup 2025-07-14 19:38:47 +07:00
debhelper setup 2025-07-14 19:38:47 +07:00
help setup 2025-07-14 19:38:47 +07:00
libnginx-mod.conf setup 2025-07-14 19:38:47 +07:00
ngx-conf setup 2025-07-14 19:38:47 +07:00
patches setup 2025-07-14 19:38:47 +07:00
po setup 2025-07-14 19:38:47 +07:00
source setup 2025-07-14 19:38:47 +07:00
tests setup 2025-07-14 19:38:47 +07:00
ufw setup 2025-07-14 19:38:47 +07:00
upstream setup 2025-07-14 19:38:47 +07:00
vim setup 2025-07-14 19:38:47 +07:00
.rules.swp setup 2025-07-14 19:38:47 +07:00
changelog setup 2025-07-14 19:38:47 +07:00
control setup 2025-07-14 19:38:47 +07:00
copyright setup 2025-07-14 19:38:47 +07:00
gbp.conf setup 2025-07-14 19:38:47 +07:00
libnginx-mod-http-geoip.nginx setup 2025-07-14 19:38:47 +07:00
libnginx-mod-http-image-filter.nginx setup 2025-07-14 19:38:47 +07:00
libnginx-mod-http-perl.install setup 2025-07-14 19:38:47 +07:00
libnginx-mod-http-perl.nginx setup 2025-07-14 19:38:47 +07:00
libnginx-mod-http-xslt-filter.nginx setup 2025-07-14 19:38:47 +07:00
libnginx-mod-mail.nginx setup 2025-07-14 19:38:47 +07:00
libnginx-mod-stream-geoip.nginx setup 2025-07-14 19:38:47 +07:00
libnginx-mod-stream.nginx setup 2025-07-14 19:38:47 +07:00
libnginx-mod.abisubstvars setup 2025-07-14 19:38:47 +07:00
libnginx-mod.nginx.skeleton setup 2025-07-14 19:38:47 +07:00
nginx-common.config setup 2025-07-14 19:38:47 +07:00
nginx-common.dirs setup 2025-07-14 19:38:47 +07:00
nginx-common.install setup 2025-07-14 19:38:47 +07:00
nginx-common.links setup 2025-07-14 19:38:47 +07:00
nginx-common.NEWS setup 2025-07-14 19:38:47 +07:00
nginx-common.nginx.default setup 2025-07-14 19:38:47 +07:00
nginx-common.nginx.init setup 2025-07-14 19:38:47 +07:00
nginx-common.nginx.logrotate setup 2025-07-14 19:38:47 +07:00
nginx-common.nginx.service setup 2025-07-14 19:38:47 +07:00
nginx-common.postinst setup 2025-07-14 19:38:47 +07:00
nginx-common.postrm setup 2025-07-14 19:38:47 +07:00
nginx-common.preinst setup 2025-07-14 19:38:47 +07:00
nginx-common.templates setup 2025-07-14 19:38:47 +07:00
nginx-core.NEWS setup 2025-07-14 19:38:47 +07:00
nginx-dev.install setup 2025-07-14 19:38:47 +07:00
nginx-dev.manpages setup 2025-07-14 19:38:47 +07:00
nginx-doc.docs setup 2025-07-14 19:38:47 +07:00
nginx-doc.examples setup 2025-07-14 19:38:47 +07:00
nginx-extras.NEWS setup 2025-07-14 19:38:47 +07:00
nginx-full.NEWS setup 2025-07-14 19:38:47 +07:00
nginx-light.NEWS setup 2025-07-14 19:38:47 +07:00
nginx.dirs setup 2025-07-14 19:38:47 +07:00
nginx.install setup 2025-07-14 19:38:47 +07:00
nginx.manpages setup 2025-07-14 19:38:47 +07:00
nginx.postinst setup 2025-07-14 19:38:47 +07:00
nginx.prerm setup 2025-07-14 19:38:47 +07:00
nginx.triggers setup 2025-07-14 19:38:47 +07:00
README.source setup 2025-07-14 19:38:47 +07:00
rules setup 2025-07-14 19:38:47 +07:00
watch setup 2025-07-14 19:38:47 +07:00

Debian Packaging
================

We use git-buildpackage for packaging.

Workflow for Unstable
=====================

We use the standard git-buildpackage workflow.

Dynamic Modules
===============

Since v1.9.11 Nginx added dynamic module support. This will sanitize the
nginx packaging flow in the long term, but there is a lot work to be done
in order to get there. We gradually convert all modules to dynamic
as they add support for it.

[0] https://www.nginx.com/blog/dynamic-modules-nginx-1-9-11/

Workflow for Experimental
=========================

Nginx mainline releases (1.11.x series) are been packaged for experimental,
as they lack security support.

The workflow we use is based on the assumption that packaging work happens on
origin/master and experimental builds are a trivial patch away from that.

The direct consequence of treating experimental as a patchset for origin/master
is that the relevant branches are forced-pushed whenever we release a new
1.11.x version. In other words, **it is not safe to base your work on the
experimental branch**.

This is a brief description of our experimental branches and how we are using
them.

* experimental-base
  Force-pushed when origin/master changes.

  experimental-base tracks the changes needed for building the 1.11.x branch,
  such as new configure parameters, etc. On new 1.11.x releases, it is rebased
  on origin/master so it is always up-to-date with our latest packaging work.

* experimental
  Force-pushed on every 1.11.x release.

  This branch points to the latest 1.11.x release.
  Before release this branch is reset to experimental-base, and then merged
  with the new upstream-1.11 branch. Finally all the release specific changes
  are commited (changelog entry etc) and the build is made.

* upstream-1.11
  Pushed on every 1.11.x release.

  Before a new 1.11.x release origin/upstream is dummy merged (-s ours) into
  ustream-1.11.  This is a technicallity so we can avoid resolving conflicts
  when a new 1.10.x release happens between two experimental releases.

Older 1.11.x releases are not referenced by any branch, but they can be found
by the relevant debian/* tag.