Age | Commit message (Collapse) | Author | Files | Lines |
|
This extends the approach used for debian-based packages in 3f805bc64e28
to rpm as well. Notable change for both deb and rpm packaging is to use
CFLAGS as defined in the build/Makefile, and not pass them from the
environment which might not be there (as is the case for rpm).
While at it, stop passing CFLAGS in the install phase, as it should no
longer invoke builds (see d54af163c46b).
The rpm part was overlooked in 7a6405566c0, since testing was not done
on the platforms where problem manifested itself, notably Amazon Linux
2023 and Fedora 38+.
|
|
We need to redefine CFLAGS to drop missing-prototypes as warning since
third-party code such as wasmtime fails to build from source when
building a debian package. This happens only for packages because we
use DPKG_EXPORT_BUILDFLAGS=1 propagating build flags to the environment,
so cargo build picks it up as well. Since we have no control over
third-party code, the easiest solution is to disable this warning.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Reviewed-by: Artem Konev <a.konev@f5.com>
Signed-off-by: Alejandro Colomar <alx@nginx.com>
|
|
addgroup/adduser will no longer be installed by default in the
"minbase". Also, moving to lower-level utilities saves us one runtime
dependency.
|
|
|
|
This makes the build tree more organized, which is good for adding new
stuff. Now, it's useful for example for adding manual pages in man3/,
but it may be useful in the future for example for extending the build
system to run linters (e.g., clang-tidy(1), Clang analyzer, ...) on the
C source code.
Previously, the build tree was quite flat, and looked like this (after
`./configure && make`):
$ tree -I src build
build
├── Makefile
├── autoconf.data
├── autoconf.err
├── echo
├── libnxt.a
├── nxt_auto_config.h
├── nxt_version.h
├── unitd
└── unitd.8
1 directory, 9 files
And after this patch, it looks like this:
$ tree -I src build
build
├── Makefile
├── autoconf.data
├── autoconf.err
├── bin
│ └── echo
├── include
│ ├── nxt_auto_config.h
│ └── nxt_version.h
├── lib
│ ├── libnxt.a
│ └── unit
│ └── modules
├── sbin
│ └── unitd
├── share
│ └── man
│ └── man8
│ └── unitd.8
└── var
├── lib
│ └── unit
├── log
│ └── unit
└── run
└── unit
17 directories, 9 files
It also solves one issue introduced in
5a37171f733f ("Added default values for pathnames."). Before that
commit, it was possible to run unitd from the build system
(`./build/unitd`). Now, since it expects files in a very specific
location, that has been broken. By having a directory structure that
mirrors the installation, it's possible to trick it to believe it's
installed, and run it from there:
$ ./configure --prefix=./build
$ make
$ ./build/sbin/unitd
Fixes: 5a37171f733f ("Added default values for pathnames.")
Reported-by: Liam Crilly <liam@nginx.com>
Reviewed-by: Konstantin Pavlov <thresh@nginx.com>
Reviewed-by: Andrew Clayton <a.clayton@nginx.com>
Cc: Andrei Zeliankou <zelenkov@nginx.com>
Cc: Zhidao Hong <z.hong@f5.com>
Signed-off-by: Alejandro Colomar <alx@nginx.com>
|
|
In BSD systems, it's usually </var/db> or some other dir under </var>
that is not </var/lib>, so $statedir is a more generic name. See
hier(7).
Reported-by: Andrei Zeliankou <zelenkov@nginx.com>
Reported-by: Zhidao Hong <z.hong@f5.com>
Reviewed-by: Konstantin Pavlov <thresh@nginx.com>
Reviewed-by: Andrew Clayton <a.clayton@nginx.com>
Cc: Liam Crilly <liam@nginx.com>
Signed-off-by: Alejandro Colomar <alx@nginx.com>
|
|
|
|
|
|
|
|
This allows us to update base or single modules packages without
updating the whole set.
|
|
|
|
It's never used.
|
|
|
|
|
|
|
|
|
|
|
|
Forgotten in 199a11eceb3c.
While here, Standards-Version increased to 4.1.4 (matches Ubuntu 18.04
as the oldest supported distro).
|
|
|
|
While here, default debhelper compat level bumped to 11 (this is the
version installed out of the box on Ubuntu 18.04 "bionic" which is
the oldest one from supported distros).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Changes introduced in a27532e3a17b effectively broke building of the unit
package due to missed dh_installsystemd script in older debhelper 9.x.
Once Ubuntu 16.04 reach EOL, the following actions should be made:
- this commit should be reverted;
- minimal debhelper version should be increased to 11.
|
|
This was broken since 00d8049418cf.
|
|
This allows tests to pass well in cases when the default user specified in
the ./configure parameters does not exist in the building environment.
|
|
|
|
While at it, propagate unit build depends to modules.
|
|
|
|
|
|
This resolves the following lintian error:
https://lintian.debian.org/tags/missing-notice-file-for-apache-license.html
While here, changed upstream changelog name to conform with the policy:
https://lintian.debian.org/tags/wrong-name-for-upstream-changelog.html
|
|
This is useful for running particular tests, e.g.:
PYTEST_ARGS='test/test_respawn.py::TestRespawn::test_respawn_router' make test
|
|
|
|
|
|
|
|
This closes #386 on GitHub.
|
|
|
|
|