summaryrefslogtreecommitdiffhomepage
path: root/pkg/rpm
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--pkg/rpm/Makefile21
-rw-r--r--pkg/rpm/Makefile.jsc-common8
-rw-r--r--pkg/rpm/Makefile.jsc1770
-rw-r--r--pkg/rpm/Makefile.python3112
-rw-r--r--pkg/rpm/Makefile.python392
-rw-r--r--pkg/rpm/rpmbuild/SOURCES/unit.example-jsc17-config15
-rw-r--r--pkg/rpm/unit.module.spec.in4
-rw-r--r--pkg/rpm/unit.spec.in17
8 files changed, 127 insertions, 12 deletions
diff --git a/pkg/rpm/Makefile b/pkg/rpm/Makefile
index 5c104ca3..d3cc34bd 100644
--- a/pkg/rpm/Makefile
+++ b/pkg/rpm/Makefile
@@ -18,6 +18,8 @@ else ifeq ($(shell rpm --eval "%{?rhel}"), 9)
OSVER = centos9
else ifeq ($(shell rpm --eval "%{?amzn}"), 2)
OSVER = amazonlinux2
+else ifeq ($(shell rpm --eval "%{?amzn}"), 2023)
+OSVER = amazonlinux2023
else ifeq ($(shell test `rpm --eval '0%{?fedora} -ge 35 -a 0%{?fedora} -le 36'`; echo $$?),0)
OSVER = fedora
else ifeq ($(shell test `rpm --eval '0%{?fedora} -ge 37'`; echo $$?),0)
@@ -84,6 +86,16 @@ include Makefile.jsc-common
include Makefile.jsc8
endif
+ifeq ($(OSVER), amazonlinux2023)
+include Makefile.php
+include Makefile.python39
+include Makefile.python311
+include Makefile.go
+include Makefile.perl
+include Makefile.jsc-common
+include Makefile.jsc17
+endif
+
ifeq ($(OSVER), fedora)
include Makefile.php
include Makefile.python310
@@ -108,11 +120,11 @@ endif
CONFIGURE_ARGS_COMMON=\
--prefix=/usr \
- --state=%{_sharedstatedir}/unit \
+ --statedir=%{_sharedstatedir}/unit \
--control="unix:/var/run/unit/control.sock" \
--pid=/var/run/unit/unit.pid \
--log=/var/log/unit/unit.log \
- --tmp=/var/tmp \
+ --tmpdir=/var/tmp \
--user=unit \
--group=unit \
--tests \
@@ -142,7 +154,7 @@ check-build-depends-%:
esac ; \
not_installed= ; \
for pkg in $${pkgs}; do \
- rpm -qi $${pkg} >/dev/null 2>&1 ; \
+ rpm -qi --whatprovides $${pkg} >/dev/null 2>&1 ; \
if [ $$? -ne 0 ]; then \
not_installed="$${not_installed} $${pkg}" ; \
fi ; \
@@ -180,7 +192,8 @@ endif
rpmbuild/SOURCES/unit-$(VERSION).tar.gz:
cd ../.. && tar -czf pkg/rpm/rpmbuild/SOURCES/unit-$(VERSION).tar.gz \
--transform "s#^#unit-$(VERSION)/#" \
- LICENSE NOTICE CHANGES README.md CONTRIBUTING.md configure auto src test version go pkg/contrib docs/man/unitd.8.in
+ LICENSE NOTICE CHANGES README.md CONTRIBUTING.md configure auto src \
+ test tools version go pkg/contrib docs/man/man8/unitd.8.in
unit: check-build-depends-unit rpmbuild/SPECS/unit.spec rpmbuild/SOURCES/unit-$(VERSION).tar.gz
@echo "===> Building $@ package" ; \
diff --git a/pkg/rpm/Makefile.jsc-common b/pkg/rpm/Makefile.jsc-common
index 9688e265..a3c3a3da 100644
--- a/pkg/rpm/Makefile.jsc-common
+++ b/pkg/rpm/Makefile.jsc-common
@@ -8,13 +8,21 @@ MODULE_RELEASE_jsc_common= 1
JAVA_ARCH_jsc_common= $(shell /usr/lib/jvm/java-1.8.0/bin/java -XshowSettings 2>&1 | grep -F -e os.arch | sed -e 's/^.*= //')
+ifeq ($(OSVER),amazonlinux2023)
+MODULE_CONFARGS_jsc_common= java --home=/usr/lib/jvm/java-17-amazon-corretto --lib-path=/usr/lib/jvm/java-17-amazon-corretto/lib --jars=/usr/share/unit-jsc-common/
+else
MODULE_CONFARGS_jsc_common= java --home=/usr/lib/jvm/java-1.8.0 --lib-path=/usr/lib/jvm/jre-1.8.0/lib/$(JAVA_ARCH_jsc_common) --jars=/usr/share/unit-jsc-common/
+endif
MODULE_MAKEARGS_jsc_common= java
MODULE_INSTARGS_jsc_common= java-shared-install
MODULE_SOURCES_jsc_common= COPYRIGHT.unit-jsc-common
+ifeq ($(OSVER),amazonlinux2023)
+BUILD_DEPENDS_jsc_common= java-17-amazon-corretto-devel curl
+else
BUILD_DEPENDS_jsc_common= java-1.8.0-openjdk-devel curl
+endif
BUILD_DEPENDS+= $(BUILD_DEPENDS_jsc_common)
define MODULE_DEFINITIONS_jsc_common
diff --git a/pkg/rpm/Makefile.jsc17 b/pkg/rpm/Makefile.jsc17
new file mode 100644
index 00000000..7efdafaa
--- /dev/null
+++ b/pkg/rpm/Makefile.jsc17
@@ -0,0 +1,70 @@
+MODULES+= jsc17
+MODULE_SUFFIX_jsc17= jsc17
+
+MODULE_SUMMARY_jsc17= Java 17 module for NGINX Unit
+
+MODULE_VERSION_jsc17= $(VERSION)
+MODULE_RELEASE_jsc17= 1
+
+MODULE_CONFARGS_jsc17= java --module=java17 --home=/usr/lib/jvm/java-17-amazon-corretto --lib-path=/usr/lib/jvm/java-17-amazon-corretto/lib --jars=/usr/share/unit-jsc-common/
+MODULE_MAKEARGS_jsc17= java17
+MODULE_INSTARGS_jsc17= java17-install
+
+MODULE_SOURCES_jsc17= unit.example-jsc-app \
+ unit.example-jsc17-config
+
+BUILD_DEPENDS_jsc17= java-17-amazon-corretto-devel
+BUILD_DEPENDS+= $(BUILD_DEPENDS_jsc17)
+
+define MODULE_DEFINITIONS_jsc17
+Requires: unit-jsc-common == $(MODULE_VERSION_jsc_common)-$(MODULE_RELEASE_jsc_common)%{?dist}.ngx
+Requires: java-17-amazon-corretto-headless
+endef
+export MODULE_DEFINITIONS_jsc17
+
+define MODULE_PREINSTALL_jsc17
+%{__mkdir} -p %{buildroot}%{_datadir}/doc/unit-jsc17/examples/jsc-app
+%{__install} -m 644 -p %{SOURCE100} \
+ %{buildroot}%{_datadir}/doc/unit-jsc17/examples/jsc-app/index.jsp
+%{__install} -m 644 -p %{SOURCE101} \
+ %{buildroot}%{_datadir}/doc/unit-jsc17/examples/unit.config
+%{__install} -m 644 -p %{bdir}/src/java/README.JSR-340 \
+ %{buildroot}%{_datadir}/doc/unit-jsc17/
+endef
+export MODULE_PREINSTALL_jsc17
+
+define MODULE_POSTINSTALL_jsc17
+DESTDIR=%{buildroot} make java-shared-uninstall
+endef
+export MODULE_POSTINSTALL_jsc17
+
+define MODULE_FILES_jsc17
+%{_libdir}/unit/modules/*
+%{_libdir}/unit/debug-modules/*
+%dir %{_datadir}/doc/unit-jsc17
+%{_datadir}/doc/unit-jsc17/*
+%{_datadir}/unit-jsc-common/*
+endef
+export MODULE_FILES_jsc17
+
+define MODULE_POST_jsc17
+cat <<BANNER
+----------------------------------------------------------------------
+
+The $(MODULE_SUMMARY_jsc17) has been installed.
+
+To check out the sample app, run these commands:
+
+ sudo service unit restart
+ cd /usr/share/doc/%{name}/examples
+ sudo curl -X PUT --data-binary @unit.config --unix-socket /var/run/unit/control.sock http://localhost/config
+ curl http://localhost:8800/
+
+Online documentation is available at https://unit.nginx.org
+
+`cat /usr/share/doc/unit-jsc17/README.JSR-340`
+
+----------------------------------------------------------------------
+BANNER
+endef
+export MODULE_POST_jsc17
diff --git a/pkg/rpm/Makefile.python311 b/pkg/rpm/Makefile.python311
index a8bee943..ae58d722 100644
--- a/pkg/rpm/Makefile.python311
+++ b/pkg/rpm/Makefile.python311
@@ -15,6 +15,8 @@ MODULE_SOURCES_python311= unit.example-python-app \
ifneq (,$(findstring $(OSVER),fedora37))
BUILD_DEPENDS_python311= python3-devel
+else
+BUILD_DEPENDS_python311= python3.11-devel
endif
BUILD_DEPENDS+= $(BUILD_DEPENDS_python311)
diff --git a/pkg/rpm/Makefile.python39 b/pkg/rpm/Makefile.python39
index 5d7c2327..7a3ae0b0 100644
--- a/pkg/rpm/Makefile.python39
+++ b/pkg/rpm/Makefile.python39
@@ -13,7 +13,7 @@ MODULE_INSTARGS_python39= python3.9-install
MODULE_SOURCES_python39= unit.example-python-app \
unit.example-python39-config
-ifneq (,$(findstring $(OSVER),fedora amazonlinux2 centos9))
+ifneq (,$(findstring $(OSVER),fedora amazonlinux2 amazonlinux2023 centos9))
BUILD_DEPENDS_python39= python3-devel
else
BUILD_DEPENDS_python39= python39-devel
diff --git a/pkg/rpm/rpmbuild/SOURCES/unit.example-jsc17-config b/pkg/rpm/rpmbuild/SOURCES/unit.example-jsc17-config
new file mode 100644
index 00000000..28b13e4d
--- /dev/null
+++ b/pkg/rpm/rpmbuild/SOURCES/unit.example-jsc17-config
@@ -0,0 +1,15 @@
+{
+ "applications": {
+ "example_java17": {
+ "processes": 1,
+ "type": "java 17",
+ "webapp": "/usr/share/doc/unit-jsc17/examples/jsc-app"
+ }
+ },
+
+ "listeners": {
+ "*:8800": {
+ "pass": "applications/example_java17"
+ }
+ }
+}
diff --git a/pkg/rpm/unit.module.spec.in b/pkg/rpm/unit.module.spec.in
index bc68a254..04323afc 100644
--- a/pkg/rpm/unit.module.spec.in
+++ b/pkg/rpm/unit.module.spec.in
@@ -61,7 +61,7 @@ tar --strip-components=1 -zxf %{SOURCE0}
%build
./configure \
%{CONFIGURE_ARGS} \
- --modules=%{_libdir}/unit/debug-modules \
+ --modulesdir=%{_libdir}/unit/debug-modules \
--cc-opt="%{CC_OPT}" \
--debug
./configure %%MODULE_CONFARGS%%
@@ -69,7 +69,7 @@ make %%MODULE_MAKEARGS%%
%{__mv} build build-debug
./configure \
%{CONFIGURE_ARGS} \
- --modules=%{_libdir}/unit/modules \
+ --modulesdir=%{_libdir}/unit/modules \
--cc-opt="%{CC_OPT}"
./configure %%MODULE_CONFARGS%%
make %%MODULE_MAKEARGS%%
diff --git a/pkg/rpm/unit.spec.in b/pkg/rpm/unit.spec.in
index 06880fcf..14a2ea00 100644
--- a/pkg/rpm/unit.spec.in
+++ b/pkg/rpm/unit.spec.in
@@ -80,19 +80,19 @@ Library and include files required for NGINX Unit modules development.
PKG_CONFIG_PATH=%{bdir}/pkg/contrib/njs/build \
./configure \
%{CONFIGURE_ARGS} \
- --modules=%{_libdir}/unit/debug-modules \
+ --modulesdir=%{_libdir}/unit/debug-modules \
--libdir=%{_libdir} \
--cc-opt="%{CC_OPT}" \
--ld-opt="%{LD_OPT}" \
--debug
%{__make} %{?_smp_mflags}
-%{__make} %{?_smp_mflags} build/libunit.a
+%{__make} %{?_smp_mflags} build/lib/libunit.a
%{__mv} build build-debug
PKG_CONFIG_PATH=%{bdir}/pkg/contrib/njs/build \
./configure \
%{CONFIGURE_ARGS} \
- --modules=%{_libdir}/unit/modules \
+ --modulesdir=%{_libdir}/unit/modules \
--libdir=%{_libdir} \
--cc-opt="%{CC_OPT}" \
--ld-opt="%{LD_OPT}"
@@ -103,9 +103,14 @@ PKG_CONFIG_PATH=%{bdir}/pkg/contrib/njs/build \
%{__rm} -rf %{buildroot}
%{__ln_s} build-nodebug build
DESTDIR=%{buildroot} make unitd-install libunit-install manpage-install
-%{__install} -m755 %{bdir}/build-debug/unitd \
+%{__mkdir} -p %{buildroot}%{_bindir}
+%{__install} -m755 %{bdir}/tools/unitc \
+ %{buildroot}%{_bindir}/unitc
+%{__install} -m755 %{bdir}/tools/setup-unit \
+ %{buildroot}%{_bindir}/setup-unit
+%{__install} -m755 %{bdir}/build-debug/sbin/unitd \
%{buildroot}%{_sbindir}/unitd-debug
-%{__install} -m644 %{bdir}/build-debug/libunit.a \
+%{__install} -m644 %{bdir}/build-debug/lib/libunit.a \
%{buildroot}%{_libdir}/libunit-debug.a
%{__mkdir} -p %{buildroot}%{_libdir}/unit/modules
%{__mkdir} -p %{buildroot}%{_libdir}/unit/debug-modules
@@ -197,6 +202,8 @@ BANNER
%files
%defattr(-,root,root,-)
+%attr(0755,root,root) %{_bindir}/unitc
+%attr(0755,root,root) %{_bindir}/setup-unit
%attr(0755,root,root) %{_sbindir}/unitd
%attr(0755,root,root) %{_sbindir}/unitd-debug
%{_unitdir}/unit.service