summaryrefslogtreecommitdiffhomepage
path: root/pkg/deb
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/deb')
-rw-r--r--pkg/deb/Makefile103
-rw-r--r--pkg/deb/Makefile.jsc-common6
-rw-r--r--pkg/deb/Makefile.jsc1871
-rw-r--r--pkg/deb/Makefile.python31046
-rw-r--r--pkg/deb/debian.module/unit.example-jsc18-config15
-rw-r--r--pkg/deb/debian.module/unit.example-python3.10-config16
-rw-r--r--pkg/deb/debian/rules.in4
7 files changed, 163 insertions, 98 deletions
diff --git a/pkg/deb/Makefile b/pkg/deb/Makefile
index 85d5545e..66a5f33a 100644
--- a/pkg/deb/Makefile
+++ b/pkg/deb/Makefile
@@ -19,34 +19,35 @@ BUILD_DEPENDS = $(BUILD_DEPENDS_unit)
MODULES=
-# Ubuntu 21.04
-ifeq ($(CODENAME),hirsute)
+# Ubuntu 21.10
+ifeq ($(CODENAME),impish)
include Makefile.php
include Makefile.python27
include Makefile.python39
+include Makefile.python310
include Makefile.go
include Makefile.perl
include Makefile.ruby
include Makefile.jsc-common
include Makefile.jsc11
-include Makefile.jsc15
include Makefile.jsc16
include Makefile.jsc17
+include Makefile.jsc18
endif
-# Ubuntu 20.10
-ifeq ($(CODENAME),groovy)
+# Ubuntu 21.04
+ifeq ($(CODENAME),hirsute)
include Makefile.php
include Makefile.python27
-include Makefile.python38
+include Makefile.python39
include Makefile.go
include Makefile.perl
include Makefile.ruby
include Makefile.jsc-common
include Makefile.jsc11
-include Makefile.jsc13
-include Makefile.jsc14
include Makefile.jsc15
+include Makefile.jsc16
+include Makefile.jsc17
endif
# Ubuntu 20.04
@@ -61,46 +62,6 @@ include Makefile.jsc-common
include Makefile.jsc11
endif
-# Ubuntu 19.10
-ifeq ($(CODENAME),eoan)
-include Makefile.php
-include Makefile.python27
-include Makefile.python37
-include Makefile.python38
-include Makefile.go
-include Makefile.perl
-include Makefile.ruby
-include Makefile.jsc-common
-include Makefile.jsc11
-endif
-
-# Ubuntu 19.04
-ifeq ($(CODENAME),disco)
-include Makefile.php
-include Makefile.python27
-include Makefile.python37
-include Makefile.python38
-include Makefile.go
-include Makefile.perl
-include Makefile.ruby
-include Makefile.jsc-common
-include Makefile.jsc11
-endif
-
-# Ubuntu 18.10
-ifeq ($(CODENAME),cosmic)
-include Makefile.php
-include Makefile.python27
-include Makefile.python36
-include Makefile.python37
-include Makefile.go
-include Makefile.perl
-include Makefile.ruby
-include Makefile.jsc-common
-include Makefile.jsc8
-include Makefile.jsc11
-endif
-
# Ubuntu 18.04
ifeq ($(CODENAME),bionic)
include Makefile.php
@@ -116,25 +77,6 @@ include Makefile.jsc8
include Makefile.jsc11
endif
-# Ubuntu 16.04
-ifeq ($(CODENAME),xenial)
-include Makefile.php
-include Makefile.python27
-include Makefile.python35
-include Makefile.go
-include Makefile.perl
-include Makefile.ruby
-include Makefile.jsc-common
-include Makefile.jsc8
-endif
-
-# Ubuntu 14.04
-ifeq ($(CODENAME),trusty)
-include Makefile.php
-include Makefile.python
-include Makefile.perl
-endif
-
# Debian 11
ifeq ($(CODENAME),bullseye)
include Makefile.php
@@ -159,27 +101,6 @@ include Makefile.jsc-common
include Makefile.jsc11
endif
-# Debian 9
-ifeq ($(CODENAME),stretch)
-include Makefile.php
-include Makefile.python27
-include Makefile.python35
-include Makefile.go
-include Makefile.perl
-include Makefile.ruby
-include Makefile.jsc-common
-include Makefile.jsc8
-endif
-
-# Debian 8
-ifeq ($(CODENAME),jessie)
-include Makefile.php
-include Makefile.python27
-include Makefile.python34
-include Makefile.perl
-include Makefile.ruby
-endif
-
CONFIGURE_ARGS=\
--prefix=/usr \
--state=/var/lib/unit \
@@ -210,7 +131,7 @@ check-build-depends-%:
esac ; \
not_installed= ; \
for pkg in $${pkgs}; do \
- dpkg -s $${pkg} >/dev/null 2>&1 ; \
+ dpkg-query -W $${pkg} >/dev/null 2>&1 ; \
if [ $$? -ne 0 ]; then \
not_installed="$${not_installed} $${pkg}" ; \
fi ; \
@@ -231,7 +152,7 @@ debuild/$(SRCDIR)/debian:
set -e ; \
mkdir -p debuild/$(SRCDIR) ; \
cp -pr debian debuild/$(SRCDIR) ; \
- echo '9' > debuild/$(SRCDIR)/debian/compat ; \
+ echo '11' > debuild/$(SRCDIR)/debian/compat ; \
mkdir -p debuild/$(SRCDIR)/debian/source ; \
echo '3.0 (quilt)' > debuild/$(SRCDIR)/debian/source/format ; \
cat debian/control.in | sed \
@@ -275,7 +196,7 @@ debuild-%: debuild/unit_$(VERSION).orig.tar.gz ../../docs/changes.xml
cp debuild/unit_$(VERSION).orig.tar.gz debuild-$*/unit-$(MODULE_SUFFIX_$*)_$(VERSION).orig.tar.gz
cd $@ && tar zxf unit-$(MODULE_SUFFIX_$*)_$(VERSION).orig.tar.gz
mkdir $@/$(SRCDIR)/debian
- echo '9' > $@/$(SRCDIR)/debian/compat
+ echo '11' > $@/$(SRCDIR)/debian/compat
mkdir $@/$(SRCDIR)/debian/source
echo '3.0 (quilt)' > $@/$(SRCDIR)/debian/source/format
cd ../../docs && make ../build/unit-$(MODULE_SUFFIX_$*).deb-changelog
diff --git a/pkg/deb/Makefile.jsc-common b/pkg/deb/Makefile.jsc-common
index 5f727124..2b098025 100644
--- a/pkg/deb/Makefile.jsc-common
+++ b/pkg/deb/Makefile.jsc-common
@@ -6,10 +6,10 @@ MODULE_SUMMARY_jsc_common= Java shared packages for NGINX Unit
MODULE_VERSION_jsc_common= $(VERSION)
MODULE_RELEASE_jsc_common= 1
-ifneq (,$(findstring $(CODENAME),hirsute groovy focal eoan disco buster bullseye))
-JAVA_MINVERSION= 11
-else
+ifneq (,$(findstring $(CODENAME),bionic))
JAVA_MINVERSION= 8
+else
+JAVA_MINVERSION= 11
endif
MODULE_CONFARGS_jsc_common= java --home=/usr/lib/jvm/java-$(JAVA_MINVERSION)-openjdk-$$\(DEB_HOST_ARCH\) --jars=/usr/share/unit-jsc-common/
diff --git a/pkg/deb/Makefile.jsc18 b/pkg/deb/Makefile.jsc18
new file mode 100644
index 00000000..806aa320
--- /dev/null
+++ b/pkg/deb/Makefile.jsc18
@@ -0,0 +1,71 @@
+MODULES+= jsc18
+MODULE_SUFFIX_jsc18= jsc18
+
+MODULE_SUMMARY_jsc18= Java 18 module for NGINX Unit
+
+MODULE_VERSION_jsc18= $(VERSION)
+MODULE_RELEASE_jsc18= 1
+
+MODULE_CONFARGS_jsc18= java --module=java18 --home=/usr/lib/jvm/java-18-openjdk-$$\(DEB_HOST_ARCH\) --jars=/usr/share/unit-jsc-common/
+MODULE_MAKEARGS_jsc18= java18
+MODULE_INSTARGS_jsc18= java18-install
+
+MODULE_SOURCES_jsc18= unit.example-jsc-app \
+ unit.example-jsc18-config
+
+BUILD_DEPENDS_jsc18= openjdk-18-jdk-headless openjdk-18-jre-headless
+BUILD_DEPENDS+= $(BUILD_DEPENDS_jsc18)
+
+MODULE_BUILD_DEPENDS_jsc18=,openjdk-18-jdk-headless
+MODULE_DEPENDS_jsc18=,openjdk-18-jre-headless,unit-jsc-common (= $(MODULE_VERSION_jsc_common)-$(MODULE_RELEASE_jsc_common)~$(CODENAME))
+
+define MODULE_PREINSTALL_jsc18
+ mkdir -p debian/unit-jsc18/usr/share/doc/unit-jsc18/examples/jsc-app
+ install -m 644 -p debian/unit.example-jsc-app debian/unit-jsc18/usr/share/doc/unit-jsc18/examples/jsc-app/index.jsp
+ install -m 644 -p debian/unit.example-jsc18-config debian/unit-jsc18/usr/share/doc/unit-jsc18/examples/unit.config
+ install -m 644 -p src/java/README.JSR-340 debian/unit-jsc18/usr/share/doc/unit-jsc18/
+endef
+export MODULE_PREINSTALL_jsc18
+
+define MODULE_POSTINSTALL_jsc18
+ cd $$\(BUILDDIR_unit\) \&\& \
+ DESTDIR=$$\(INSTALLDIR\) make java-shared-uninstall
+endef
+export MODULE_POSTINSTALL_jsc18
+
+define MODULE_POST_jsc18
+cat <<BANNER
+----------------------------------------------------------------------
+
+The $(MODULE_SUMMARY_jsc18) has been installed.
+
+To check out the sample app, run these commands:
+
+ sudo service unit restart
+ cd /usr/share/doc/unit-$(MODULE_SUFFIX_jsc18)/examples
+ sudo curl -X PUT --data-binary @unit.config --unix-socket /var/run/control.unit.sock http://localhost/config
+ curl http://localhost:8800/
+
+Online documentation is available at https://unit.nginx.org
+
+NOTICE:
+
+This version of Unit code is made available in support of the open source
+development process. This is an intermediate build made available for
+testing purposes only. This Unit code is untested and presumed incompatible
+with the JSR 340 Java Servlet 3.1 specification. You should not deploy or
+write to this code. You should instead deploy and write production
+applications on pre-built binaries that have been tested and certified
+to meet the JSR-340 compatibility requirements such as certified binaries
+published for the JSR-340 reference implementation available at
+https://javaee.github.io/glassfish/.
+
+Redistribution of any Intermediate Build must retain this notice.
+
+Oracle and Java are registered trademarks of Oracle and/or its affiliates.
+Other names may be trademarks of their respective owners.
+
+----------------------------------------------------------------------
+BANNER
+endef
+export MODULE_POST_jsc18
diff --git a/pkg/deb/Makefile.python310 b/pkg/deb/Makefile.python310
new file mode 100644
index 00000000..960510a3
--- /dev/null
+++ b/pkg/deb/Makefile.python310
@@ -0,0 +1,46 @@
+MODULES+= python310
+MODULE_SUFFIX_python310= python3.10
+
+MODULE_SUMMARY_python310= Python 3.10 module for NGINX Unit
+
+MODULE_VERSION_python310= $(VERSION)
+MODULE_RELEASE_python310= 1
+
+MODULE_CONFARGS_python310= python --config=python3.10-config
+MODULE_MAKEARGS_python310= python3.10
+MODULE_INSTARGS_python310= python3.10-install
+
+MODULE_SOURCES_python310= unit.example-python-app \
+ unit.example-python3.10-config
+
+BUILD_DEPENDS_python310= python3.10-dev
+BUILD_DEPENDS+= $(BUILD_DEPENDS_python310)
+
+MODULE_BUILD_DEPENDS_python310=,python3.10-dev
+
+define MODULE_PREINSTALL_python310
+ mkdir -p debian/unit-python3.10/usr/share/doc/unit-python3.10/examples/python-app
+ install -m 644 -p debian/unit.example-python-app debian/unit-python3.10/usr/share/doc/unit-python3.10/examples/python-app/wsgi.py
+ install -m 644 -p debian/unit.example-python3.10-config debian/unit-python3.10/usr/share/doc/unit-python3.10/examples/unit.config
+endef
+export MODULE_PREINSTALL_python310
+
+define MODULE_POST_python310
+cat <<BANNER
+----------------------------------------------------------------------
+
+The $(MODULE_SUMMARY_python310) has been installed.
+
+To check out the sample app, run these commands:
+
+ sudo service unit restart
+ cd /usr/share/doc/unit-$(MODULE_SUFFIX_python310)/examples
+ sudo curl -X PUT --data-binary @unit.config --unix-socket /var/run/control.unit.sock http://localhost/config
+ curl http://localhost:8400/
+
+Online documentation is available at https://unit.nginx.org
+
+----------------------------------------------------------------------
+BANNER
+endef
+export MODULE_POST_python310
diff --git a/pkg/deb/debian.module/unit.example-jsc18-config b/pkg/deb/debian.module/unit.example-jsc18-config
new file mode 100644
index 00000000..08f9f596
--- /dev/null
+++ b/pkg/deb/debian.module/unit.example-jsc18-config
@@ -0,0 +1,15 @@
+{
+ "applications": {
+ "example_java18": {
+ "processes": 1,
+ "type": "java 18",
+ "webapp": "/usr/share/doc/unit-jsc18/examples/jsc-app"
+ }
+ },
+
+ "listeners": {
+ "*:8800": {
+ "pass": "applications/example_java18"
+ }
+ }
+}
diff --git a/pkg/deb/debian.module/unit.example-python3.10-config b/pkg/deb/debian.module/unit.example-python3.10-config
new file mode 100644
index 00000000..eaeb6103
--- /dev/null
+++ b/pkg/deb/debian.module/unit.example-python3.10-config
@@ -0,0 +1,16 @@
+{
+ "applications": {
+ "example_python": {
+ "type": "python 3.10",
+ "processes": 2,
+ "path": "/usr/share/doc/unit-python3.10/examples/python-app",
+ "module": "wsgi"
+ }
+ },
+
+ "listeners": {
+ "*:8400": {
+ "pass": "applications/example_python"
+ }
+ }
+}
diff --git a/pkg/deb/debian/rules.in b/pkg/deb/debian/rules.in
index c7a56b6b..3f1f9db8 100644
--- a/pkg/deb/debian/rules.in
+++ b/pkg/deb/debian/rules.in
@@ -99,11 +99,7 @@ install: build do.tests
dh_testroot
dh_prep
dh_installdirs
-ifeq ($(CODENAME), xenial)
- dh_installinit
-else
dh_installsystemd
-endif
dh_installlogrotate
cd $(BUILDDIR_unit) && DESTDIR=$(INSTALLDIR) make install
cd $(BUILDDIR_unit) && DESTDIR=$(INSTALLDIR_dev) make libunit-install