Commit graph

170 commits

Author SHA1 Message Date
Jan Mojžíš
2148a071bf
d/libnginx-mod.abisubstvars: remove third-party modules version constraints 2024-05-01 06:29:23 +02:00
Jan Mojžíš
f3ce71ad91
d/control add nginx-dev dependency on ${nginx:abi} 2023-10-10 16:25:14 +02:00
Jan Mojžíš
3f8de1c086
d/control fixed binNMU safe dependency declaration nginx to nginx-common 2023-07-15 08:26:10 +02:00
Jan Mojžíš
2d48a8c8ec
d/control add dependency nginx-common to nginx 2023-06-30 16:40:37 +02:00
Jan Mojžíš
9a5dedf461
d/control: nginx-common Breaks+Replaces: nginx (<< 1.22.1-8) 2023-03-14 12:53:14 +01:00
Jan Mojžíš
c1f58a85e1
Revert "move common files from nginx-common to nginx"
This reverts commit 473f36a7d1.
2023-03-13 18:54:13 +01:00
Jan Mojžíš
f215469ef5
d/control fix nginx-full dependencies 2023-02-13 20:18:20 +01:00
Jérémy Lal
3a3786f1d4
Switch to pcre2. 2023-02-10 17:32:41 +01:00
Jan Mojžíš
309c257646
nginx: provide nginx-abi-<VERSION> 2023-02-10 17:29:30 +01:00
Jan Mojžíš
40664a0df5
d/control: bump Standards-Version: 4.6.2, no changes 2023-02-08 11:43:05 +01:00
Jan Mojžíš
0a2666b12c
fixes
- d/control: remove unnecesary 'Suggests'
- d/control: remove Provides: nginx for nginx package
- debian/apport/source_nginx.py: nginx-common -> nginx
2023-02-08 11:10:14 +01:00
Jan Mojžíš
473f36a7d1
move common files from nginx-common to nginx 2023-02-08 11:08:32 +01:00
Jan Mojžíš
5f65c2c182
move binaries to nginx package instead nginx-bin 2023-02-08 11:08:21 +01:00
Jérémy Lal
7ceb830e66
B-D: remove quilt, no longer needed 2023-01-22 13:09:10 +01:00
Jan Mojžíš
b0a64680b5
d/control: remove dependency on obsolete package lsb-base 2023-01-21 16:30:49 +01:00
Jan Mojžíš
1088db1699
d/control: fix dependencies for safe binNMU 2023-01-12 18:22:37 +01:00
Jan Mojžíš
9373935883
d/control fix nginx-common dependency 2023-01-12 18:17:16 +01:00
Jan Mojžíš
7e238bfad9 add nginx-bin package and replace core/light/extras by a dependency package
and fix dependencies for safe binNMU
2023-01-12 16:23:24 +00:00
Jan Mojžíš
32e7cc8921
d/control: update nginx-common dependency,
fixes lintian warning maybe-not-arch-all-binnmuable
2022-12-20 08:56:12 +01:00
Jan Mojžíš
e5c631271d
d/control bump libnginx-mod-nchan version (>= 1:1.3.5+dfsg-3~) 2022-12-20 08:19:48 +01:00
Miao Wang
4eef3437c0 Remove unnecessary dependencies after removing 3rd party modules 2022-12-12 13:45:29 +08:00
Jan Mojžíš
10a2613f37
remove 3th party modules 2022-12-10 05:26:48 +01:00
Jan Mojžíš
075c5d85db
d/control fix whitespace 2022-12-08 13:03:18 +01:00
Jan Mojžíš
11ca3f5693
remove modules ndk,nchan,rtmp 2022-12-08 12:56:39 +01:00
Jan Mojžíš
f868709a45
d/control: added Multi-Arch: foreign for package nginx-dev 2022-12-02 00:31:15 +01:00
Jérémy Lal
ad7d6fcf98
Uploaders for a team needs only one name 2022-11-29 20:27:42 +01:00
Jan Mojžíš
b99e3ad524
Remove constraints unnecessary since buster (oldstable)
* nginx-dev: Drop versioned constraint on dpkg-dev in Depends.

Changes-By: deb-scrub-obsolete
2022-11-29 13:17:04 +01:00
Jérémy Lal
cb417c7e2c
nginx-dev provides dh-sequence-nginx 2022-11-29 13:11:06 +01:00
Jan Mojžíš
70c390852c
d/control update implicit dependencies of third-party modules 2022-11-26 16:03:37 +01:00
Jan Mojžíš
c3f0a00120
d/control fix spelling-error-in-description
Subsitution -> Substitution
2022-11-11 06:16:39 +01:00
Jan Mojžíš
304ba44d13
d/control fix implicit version libnginx-mod-http-lua
>=1:0.10.22-3~
2022-10-28 10:14:30 +02:00
Jan Mojžíš
a8134e4741
Add libnginx-mod-http-lua powerpc architecture 2022-10-27 16:35:14 +02:00
Jan Mojžíš
8ac7c1efb5
d/changelog added exact version of dependency libnginx-mod-http-lua 2022-10-26 17:27:15 +02:00
Jan Mojžíš
212327ed57
http-lua: remove 2022-08-17 06:54:21 +02:00
Jan Mojžíš
43b9a879c9
Remove constraints unnecessary since buster
* Build-Depends: Drop versioned constraint on dpkg-dev.
* nginx-common: Drop versioned constraint on lsb-base in Depends.
* nginx-core: Drop versioned constraint on nginx in Breaks.
* nginx-full: Drop versioned constraint on nginx in Breaks.
* nginx-light: Drop versioned constraint on nginx in Breaks.
* nginx-extras: Drop versioned constraint on nginx in Breaks.
* libnginx-mod-http-perl: Drop versioned constraint on nginx-extras in Replaces.
* Remove 5 maintscript entries from 1 files.
2022-07-23 10:48:06 +02:00
Jan Mojžíš
142c95ade0
add libnginx-mod-http-ndk-dev to nginx to build ngx-lua 2022-07-23 10:47:23 +02:00
Jan Mojžíš
bf9c433dbb
d/control: bump Standards-Version to 4.6.1, no changes 2022-06-26 14:35:33 +02:00
Miao Wang
87b5e38f6d nginx-dev: simplify dependencies
nginx-dev depends on ${S:Build-Depends} before this commit, to include
all the build-depdencies of nginx source packages. However, this also
includes build dependency for those in-tree 3rd party modules, which are
unnecessary. This commit removes them and explicitly list those packages
needed to build a general module. The architecture of nginx-dev can thus
be changed to all instead of any.

When all 3rd party modules are removed, the dependency can be changed
back to ${S:Build-Depends} to make the config less redundant.
2022-06-26 15:20:09 +08:00
Miao Wang
d4b9d6a1da Adding nginx-dev package for tools for building out-of-tree modules
Nginx does not officially provide a mechanism to build out-of-tree modules,
however, this can be achieved by using all the headers and the configure
scripts in the auto/ directory. As a result, a nginx-dev package can thus be
developed for build out-of-tree modules.

The detailed steps to build an out-of-tree module in the headers-only nginx
source tree is:

1. Execute the configure script of nginx, with the same configure arguments
(excluding the reference to other dynamic modules, but including the reference
to depending modules as a built-in module). To prevent the configure scripts
modifying the nginx ource tree, we can 1. point the build dir to a directory
elsewhere, to generate all the build time files outside; 2. slightly patch the
configure scripts to prevent generating a makefile directly in the source tree,
which simply includes the generated makefile at the build dir.

2. Execute make at the source tree, but providing the generated makefile in the
build dir. The command is `make -C /path/to/nginx/source -f
/path/to/build_dir/Makefile modules`

To make sure the compiled module is compatible with the nginx binary and the
nginx binaries with the same upstream version, the key points are:

- Module signature: A module signature containing the (upstream) version number
and encoding the necessary configuration flags is put in each module as well as
the nginx binary itself. When loading a module, nginx will compare the signature
on the module with its own. As long as the configure flags, especially those
encoded in the signature, and the version of the nginx source used to build the
module are the same as thoes used to build the nginx binary, the moudle can pass
the signature check. As a result, the module can depend on the exact nginx
upstream version, ignoring the debian revison.
- ABI compatibility: We should maintain nginx precisely, to prevent making any
ABI changes between different debian revisions.
- Build check: When building the module, we can perform a simple module loading
check via `nginx -t`. This test serves as a "smoking test", to ensure we are
actually building loadable modules.

Summing all the above up and adding the necessary automation scripts for module
packaging, the nginx-dev package can be composed, including the following parts:

- The headers and configure scripts: generated and filtered out from the source
tree. The scripts are slightly patched to prevent generating a makefile directly
in the source tree, as stated above;
- The recorded configure options: all the modules built should include these
options when configured;
- dh_nginx script and its man page: modified from the original dh_nginx script,
adding a "--in-nginx-tree" option. When specified, the behavior remains the same
as the original version (so the option is added in the rule building the
in-package modules). When not specified, the dependency added into misc:Depends
will be the exact upstream nginx version, ignoring the debian revision. E.g.
nginx-common >= 1.20.2, << 1.20.2.1~
- a debhelper sequence plugin which can be enabled by module packages with `dh
--with=nginx`, inserting `dh_nginx` after `dh_install`
- a build system plugin which can bu enabled by module packages with `dh
--buildsystem=nginx_mod`, automating the module building process using the steps
mentioned before.
- autoscript templates used by dh_nginx are also installed without modification.

Currently. the architecture of nginx-dev is any because nginx has arch related
dependencies, which is brought in by http-lua module. After it is
removed from the nginx source tree, the architecture can be changed to
all since no binary is included in this package.
2022-06-26 15:19:47 +08:00
Thomas Ward
333875401c Return ppc64el to liblua, luajit2 still broken on ppc64el. 2022-06-25 17:31:16 -04:00
Thomas Ward
4b7212e745 Enable luajit for s390x 2022-06-08 16:15:40 -04:00
Thomas Ward
20eb8ab414 ppc64el FTBFS fixed in luajit, nginx: no action needed 2022-06-08 15:22:49 -04:00
Jan Mojžíš
7224e5e7ca
d/control: removed ppc64el from list of luajit platforms. 2022-05-25 11:04:30 +02:00
Ondřej Nový
45005f76d4 Add Jan Mojžíš <jan.mojzis@gmail.com> as uploader 2022-05-04 15:46:42 +02:00
Ondřej Nový
9c7d79dce0 Add Thomas Ward <teward@ubuntu.com> as uploader 2022-05-04 15:46:35 +02:00
Thomas Ward
9bc813d5a2 Remove self from uploaders per other DDs 2022-04-19 10:37:35 -04:00
Thomas Ward
7e21f77a90 Update uploaders as Thomas Ward is now a maintainer in Salsa 2022-04-12 12:54:09 -04:00
Jan Mojžíš
ced892ac0d
d/control: Add mips64el,ppc64,kfreebsd-amd64 to list of luajit platforms. 2022-04-05 19:56:40 +02:00
Jan Mojžíš
b58e677848
d/control: fix Homepage nginx.net -> nginx.org 2022-04-05 19:25:57 +02:00
Ondřej Nový
bd32060ee7 Bump standards version to 4.6.1 (no changes) 2022-03-15 11:39:40 +01:00