Introduced deb packages building tools.
This commit is contained in:
@@ -6,12 +6,16 @@ VERSION ?= $(shell grep 'define NXT_VERSION' ../src/nxt_main.h \
|
||||
RELEASE ?= 1
|
||||
|
||||
default:
|
||||
@echo "available targets: rpm"
|
||||
@echo "available targets: rpm deb"
|
||||
|
||||
rpm:
|
||||
@cd rpm && VERSION=$(VERSION) RELEASE=$(RELEASE) make all
|
||||
|
||||
deb:
|
||||
@cd deb && VERSION=$(VERSION) RELEASE=$(RELEASE) make all
|
||||
|
||||
clean:
|
||||
@cd rpm && make clean
|
||||
@cd deb && make clean
|
||||
|
||||
.PHONY: default rpm clean
|
||||
.PHONY: default rpm deb clean
|
||||
|
||||
198
pkg/deb/Makefile
Normal file
198
pkg/deb/Makefile
Normal file
@@ -0,0 +1,198 @@
|
||||
#!/usr/bin/make
|
||||
|
||||
DEFAULT_VERSION := $(shell grep 'define NXT_VERSION' ../../src/nxt_main.h \
|
||||
| sed -e 's/^.*"\(.*\)".*/\1/')
|
||||
|
||||
DEFAULT_RELEASE := 1
|
||||
|
||||
VERSION ?= $(DEFAULT_VERSION)
|
||||
RELEASE ?= $(DEFAULT_RELEASE)
|
||||
|
||||
SRCDIR= unit-$(VERSION)
|
||||
|
||||
CODENAME = $(shell lsb_release -cs)
|
||||
|
||||
BUILD_DEPENDS = debhelper devscripts libxml2-utils lintian lsb-release xsltproc
|
||||
|
||||
MODULES=
|
||||
|
||||
# Ubuntu 17.04
|
||||
ifeq ($(CODENAME),zesty)
|
||||
include Makefile.php
|
||||
include Makefile.python27
|
||||
include Makefile.python35
|
||||
include Makefile.go17
|
||||
include Makefile.go18
|
||||
endif
|
||||
|
||||
# Ubuntu 16.04
|
||||
ifeq ($(CODENAME),xenial)
|
||||
include Makefile.php
|
||||
include Makefile.python27
|
||||
include Makefile.python35
|
||||
include Makefile.go
|
||||
endif
|
||||
|
||||
# Ubuntu 14.04
|
||||
ifeq ($(CODENAME),trusty)
|
||||
include Makefile.php
|
||||
include Makefile.python
|
||||
endif
|
||||
|
||||
# Debian 9
|
||||
ifeq ($(CODENAME),stretch)
|
||||
include Makefile.php
|
||||
include Makefile.python27
|
||||
include Makefile.python35
|
||||
include Makefile.go17
|
||||
include Makefile.go18
|
||||
endif
|
||||
|
||||
# Debian 8
|
||||
ifeq ($(CODENAME),jessie)
|
||||
include Makefile.php
|
||||
include Makefile.python27
|
||||
endif
|
||||
|
||||
CONFIGURE_ARGS=\
|
||||
--prefix=/usr \
|
||||
--state=/var/lib/unit \
|
||||
--control="unix:/var/run/control.unit.sock" \
|
||||
--pid=/var/run/unit.pid \
|
||||
--log=/var/log/unit.log \
|
||||
--tests
|
||||
|
||||
export CR=\\n
|
||||
|
||||
default:
|
||||
@echo "valid targets: all modules unit $(addprefix unit-, $(MODULES)) clean"
|
||||
|
||||
all: check-build-depends unit modules
|
||||
|
||||
modules: $(addprefix unit-, $(MODULES))
|
||||
|
||||
check-build-depends:
|
||||
@{ \
|
||||
not_installed= ; \
|
||||
for pkg in $(BUILD_DEPENDS); do \
|
||||
dpkg -s $${pkg} >/dev/null 2>&1 ; \
|
||||
if [ $$? -ne 0 ]; then \
|
||||
not_installed="$${not_installed} $${pkg}" ; \
|
||||
fi ; \
|
||||
done ; \
|
||||
if test -n "$${not_installed}" ; then \
|
||||
echo "" >&2 ; \
|
||||
echo "The following packages are required in order to proceed:" >&2 ; \
|
||||
echo "" >&2 ; \
|
||||
echo $${not_installed} >&2 ; \
|
||||
echo "" >&2 ; \
|
||||
exit 1 ; \
|
||||
fi \
|
||||
}
|
||||
|
||||
debuild/$(SRCDIR)/debian:
|
||||
@{ \
|
||||
set -e ; \
|
||||
mkdir -p debuild/$(SRCDIR) ; \
|
||||
cp -pr debian debuild/$(SRCDIR) ; \
|
||||
echo '9' > debuild/$(SRCDIR)/debian/compat ; \
|
||||
mkdir -p debuild/$(SRCDIR)/debian/source ; \
|
||||
echo '3.0 (quilt)' > debuild/$(SRCDIR)/debian/source/format ; \
|
||||
cat debian/rules.in | sed \
|
||||
-e "s#%%CONFIGURE_ARGS%%#$(CONFIGURE_ARGS)#g" \
|
||||
> debuild/$(SRCDIR)/debian/rules ; \
|
||||
}
|
||||
|
||||
debuild/$(SRCDIR)/debian/changelog: ../../docs/changes.xml | debuild/$(SRCDIR)/debian
|
||||
cd ../../docs && make ../build/unit.deb-changelog
|
||||
ifneq ($(DEFAULT_VERSION)$(DEFAULT_RELEASE), $(VERSION)$(RELEASE))
|
||||
cat ../../build/unit.deb-changelog | sed \
|
||||
-e "s/unit ($(DEFAULT_VERSION)-$(DEFAULT_RELEASE)~/unit ($(VERSION)-$(RELEASE)~/" \
|
||||
-e "s#%%CODENAME%%#$(CODENAME)#g" \
|
||||
> debuild/$(SRCDIR)/debian/changelog
|
||||
else
|
||||
cat ../../build/unit.deb-changelog | sed \
|
||||
-e "s#%%CODENAME%%#$(CODENAME)#g" \
|
||||
> debuild/$(SRCDIR)/debian/changelog
|
||||
endif
|
||||
|
||||
debuild/unit_$(VERSION).orig.tar.gz: | debuild/$(SRCDIR)/debian
|
||||
cd ../.. && tar -czf pkg/deb/debuild/$(SRCDIR).tar.gz \
|
||||
--transform "s#^#$(SRCDIR)/#" \
|
||||
LICENSE NOTICE CHANGES README configure auto src test
|
||||
mv debuild/$(SRCDIR).tar.gz debuild/unit_$(VERSION).orig.tar.gz
|
||||
cd debuild && tar zxf unit_$(VERSION).orig.tar.gz
|
||||
|
||||
unit: debuild/unit_$(VERSION).orig.tar.gz debuild/$(SRCDIR)/debian/changelog
|
||||
@echo "===> Building $@ package"
|
||||
cd debuild/$(SRCDIR) && debuild -us -uc
|
||||
mkdir -p debs
|
||||
find debuild/ -maxdepth 1 -type f -exec cp {} debs/ \;
|
||||
ln -s debuild/$(SRCDIR)/build $@
|
||||
|
||||
debuild-%: debuild/unit_$(VERSION).orig.tar.gz ../../docs/changes.xml
|
||||
mkdir $@
|
||||
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
|
||||
mkdir $@/$(SRCDIR)/debian/source
|
||||
echo '3.0 (quilt)' > $@/$(SRCDIR)/debian/source/format
|
||||
cd ../../docs && make ../build/unit-$(MODULE_SUFFIX_$*).deb-changelog
|
||||
cat ../../build/unit-$(MODULE_SUFFIX_$*).deb-changelog | sed \
|
||||
-e "s#%%CODENAME%%#$(CODENAME)#g" \
|
||||
> $@/$(SRCDIR)/debian/changelog
|
||||
cp debian/copyright debuild-$*/$(SRCDIR)/debian/
|
||||
@{ \
|
||||
set -e ; \
|
||||
for src in $(MODULE_SOURCES_$*); do \
|
||||
cp debian.module/$${src} $@/$(SRCDIR)/debian/ ; \
|
||||
done ; \
|
||||
definitions=`echo "$$MODULE_DEFINITIONS_$*" | sed -e ':a' -e 'N' -e '$$!ba' -e "s/\n/\$$CR/g"` ; \
|
||||
prebuild=`echo "$$MODULE_PREBUILD_$*" | sed -e ':a' -e 'N' -e '$$!ba' -e "s/\n/\$$CR/g"` ; \
|
||||
preinstall=`echo "$$MODULE_PREINSTALL_$*" | sed -e ':a' -e 'N' -e '$$!ba' -e "s/\n/\$$CR/g"` ; \
|
||||
post=`echo "$$MODULE_POST_$*" | sed -e ':a' -e 'N' -e '$$!ba' -e "s/\n/\$$CR/g"` ; \
|
||||
cat debian.module/control.in | sed \
|
||||
-e "s#%%NAME%%#unit-$(MODULE_SUFFIX_$*)#g" \
|
||||
-e "s#%%SUMMARY%%#$(MODULE_SUMMARY_$*)#g" \
|
||||
-e "s#%%CODENAME%%#$(CODENAME)#g" \
|
||||
-e "s#%%UNIT_VERSION%%#$(VERSION)#g" \
|
||||
-e "s#%%UNIT_RELEASE%%#$(RELEASE)#g" \
|
||||
-e "s#%%VERSION%%#$(MODULE_VERSION_$*)#g" \
|
||||
-e "s#%%RELEASE%%#$(MODULE_RELEASE_$*)#g" \
|
||||
-e "s#%%MODULE_BUILD_DEPENDS%%#$(MODULE_BUILD_DEPENDS_$*)#g" \
|
||||
-e "s#%%MODULE_DEPENDS%%#$(MODULE_DEPENDS_$*)#g" \
|
||||
> $@/$(SRCDIR)/debian/control ; \
|
||||
cat debian.module/rules.in | sed \
|
||||
-e "s#%%NAME%%#unit-$(MODULE_SUFFIX_$*)#g" \
|
||||
-e "s#%%CODENAME%%#$(CODENAME)#g" \
|
||||
-e "s#%%UNIT_VERSION%%#$(VERSION)#g" \
|
||||
-e "s#%%UNIT_RELEASE%%#$(RELEASE)#g" \
|
||||
-e "s#%%CONFIGURE_ARGS%%#$(CONFIGURE_ARGS)#g" \
|
||||
-e "s#%%MODULE_CONFARGS%%#$(MODULE_CONFARGS_$*)#g" \
|
||||
-e "s#%%MODULE_MAKEARGS%%#$(MODULE_MAKEARGS_$*)#g" \
|
||||
-e "s#%%MODULE_INSTARGS%%#$(MODULE_INSTARGS_$*)#g" \
|
||||
-e "s#%%MODULE_DEFINITIONS%%#$${definitions}#g" \
|
||||
-e "s#%%MODULE_PREBUILD%%#$${prebuild}#g" \
|
||||
-e "s#%%MODULE_PREINSTALL%%#$${preinstall}#g" \
|
||||
> $@/$(SRCDIR)/debian/rules ; \
|
||||
cat debian.module/preinst.in | sed \
|
||||
-e "s#%%MODULE_POST%%#$$post#g" \
|
||||
> $@/$(SRCDIR)/debian/preinst ; \
|
||||
chmod +x $@/$(SRCDIR)/debian/rules ; \
|
||||
}
|
||||
|
||||
unit-%: | debuild-%
|
||||
@echo "===> Building $@ package"
|
||||
cd debuild-$*/$(SRCDIR) && debuild -us -uc
|
||||
mkdir -p debs
|
||||
find debuild-$*/ -maxdepth 1 -type f -exec cp {} debs/ \;
|
||||
ln -s debuild-$*/$(SRCDIR)/build $@
|
||||
|
||||
clean:
|
||||
rm -rf debuild debuild-* debs ../../build
|
||||
find . -maxdepth 1 -type l -delete
|
||||
|
||||
.PHONY: default all modules check-build-depends clean
|
||||
|
||||
.SECONDARY:
|
||||
51
pkg/deb/Makefile.go
Normal file
51
pkg/deb/Makefile.go
Normal file
@@ -0,0 +1,51 @@
|
||||
MODULES+= go
|
||||
MODULE_SUFFIX_go= go
|
||||
|
||||
MODULE_SUMMARY_go= Go module for NGINX Unit
|
||||
|
||||
MODULE_VERSION_go= $(VERSION)
|
||||
MODULE_RELEASE_go= 1
|
||||
|
||||
MODULE_CONFARGS_go= go --go-path=\$$(GOROOT)
|
||||
MODULE_MAKEARGS_go= go
|
||||
MODULE_INSTARGS_go= go-install
|
||||
|
||||
MODULE_SOURCES_go= unit.example-go-app \
|
||||
unit.example-go-config
|
||||
|
||||
BUILD_DEPENDS+= golang
|
||||
|
||||
MODULE_BUILD_DEPENDS_go=,golang
|
||||
MODULE_DEPENDS_go=,golang
|
||||
|
||||
define MODULE_DEFINITIONS_go
|
||||
GOROOT = $(shell go env GOROOT)
|
||||
endef
|
||||
export MODULE_DEFINITIONS_go
|
||||
|
||||
define MODULE_PREINSTALL_go
|
||||
mkdir -p debian/unit-go/usr/share/doc/unit-go/examples/go-app
|
||||
install -m 644 -p debian/unit.example-go-app debian/unit-go/usr/share/doc/unit-go/examples/go-app/let-my-people.go
|
||||
install -m 644 -p debian/unit.example-go-config debian/unit-go/usr/share/doc/unit-go/examples/unit.config
|
||||
endef
|
||||
export MODULE_PREINSTALL_go
|
||||
|
||||
define MODULE_POST_go
|
||||
cat <<BANNER
|
||||
----------------------------------------------------------------------
|
||||
|
||||
The $(MODULE_SUMMARY_go) has been installed.
|
||||
|
||||
To check out the sample app, run these commands:
|
||||
|
||||
go build -o /tmp/go-app /usr/share/doc/unit-go/examples/go-app/let-my-people.go
|
||||
sudo service unit restart
|
||||
sudo service unit loadconfig /usr/share/doc/unit-go/examples/unit.config
|
||||
curl http://localhost:8500/
|
||||
|
||||
Online documentation is available at https://unit.nginx.org
|
||||
|
||||
----------------------------------------------------------------------
|
||||
BANNER
|
||||
endef
|
||||
export MODULE_POST_go
|
||||
51
pkg/deb/Makefile.go17
Normal file
51
pkg/deb/Makefile.go17
Normal file
@@ -0,0 +1,51 @@
|
||||
MODULES+= go17
|
||||
MODULE_SUFFIX_go17= go1.7
|
||||
|
||||
MODULE_SUMMARY_go17= Go 1.7 module for NGINX Unit
|
||||
|
||||
MODULE_VERSION_go17= $(VERSION)
|
||||
MODULE_RELEASE_go17= 1
|
||||
|
||||
MODULE_CONFARGS_go17= go --go=/usr/lib/go-1.7/bin/go --go-path=\$$(GOROOT)
|
||||
MODULE_MAKEARGS_go17= /usr/lib/go-1.7/bin/go
|
||||
MODULE_INSTARGS_go17= /usr/lib/go-1.7/bin/go-install
|
||||
|
||||
MODULE_SOURCES_go17= unit.example-go-app \
|
||||
unit.example-go1.7-config
|
||||
|
||||
BUILD_DEPENDS+= golang-1.7
|
||||
|
||||
MODULE_BUILD_DEPENDS_go=,golang-1.7
|
||||
MODULE_DEPENDS_go=,golang-1.7
|
||||
|
||||
define MODULE_DEFINITIONS_go17
|
||||
GOROOT = \$$(shell /usr/lib/go-1.7/bin/go env GOROOT)
|
||||
endef
|
||||
export MODULE_DEFINITIONS_go17
|
||||
|
||||
define MODULE_PREINSTALL_go17
|
||||
mkdir -p debian/unit-go1.7/usr/share/doc/unit-go1.7/examples/go-app
|
||||
install -m 644 -p debian/unit.example-go-app debian/unit-go1.7/usr/share/doc/unit-go1.7/examples/go-app/let-my-people.go
|
||||
install -m 644 -p debian/unit.example-go1.7-config debian/unit-go1.7/usr/share/doc/unit-go1.7/examples/unit.config
|
||||
endef
|
||||
export MODULE_PREINSTALL_go17
|
||||
|
||||
define MODULE_POST_go17
|
||||
cat <<BANNER
|
||||
----------------------------------------------------------------------
|
||||
|
||||
The $(MODULE_SUMMARY_go17) has been installed.
|
||||
|
||||
To check out the sample app, run these commands:
|
||||
|
||||
/usr/lib/go-1.7/bin/go build -o /tmp/go1.7-app /usr/share/doc/unit-go1.7/examples/go-app/let-my-people.go
|
||||
sudo service unit restart
|
||||
sudo service unit loadconfig /usr/share/doc/unit-go1.7/examples/unit.config
|
||||
curl http://localhost:8500/
|
||||
|
||||
Online documentation is available at https://unit.nginx.org
|
||||
|
||||
----------------------------------------------------------------------
|
||||
BANNER
|
||||
endef
|
||||
export MODULE_POST_go17
|
||||
51
pkg/deb/Makefile.go18
Normal file
51
pkg/deb/Makefile.go18
Normal file
@@ -0,0 +1,51 @@
|
||||
MODULES+= go18
|
||||
MODULE_SUFFIX_go18= go1.8
|
||||
|
||||
MODULE_SUMMARY_go18= Go 1.8 module for NGINX Unit
|
||||
|
||||
MODULE_VERSION_go18= $(VERSION)
|
||||
MODULE_RELEASE_go18= 1
|
||||
|
||||
MODULE_CONFARGS_go18= go --go=/usr/lib/go-1.8/bin/go --go-path=\$$(GOROOT)
|
||||
MODULE_MAKEARGS_go18= /usr/lib/go-1.8/bin/go
|
||||
MODULE_INSTARGS_go18= /usr/lib/go-1.8/bin/go-install
|
||||
|
||||
MODULE_SOURCES_go18= unit.example-go-app \
|
||||
unit.example-go1.8-config
|
||||
|
||||
BUILD_DEPENDS+= golang-1.8
|
||||
|
||||
MODULE_BUILD_DEPENDS_go=,golang-1.8
|
||||
MODULE_DEPENDS_go=,golang-1.8
|
||||
|
||||
define MODULE_DEFINITIONS_go18
|
||||
GOROOT = \$$(shell /usr/lib/go-1.8/bin/go env GOROOT)
|
||||
endef
|
||||
export MODULE_DEFINITIONS_go18
|
||||
|
||||
define MODULE_PREINSTALL_go18
|
||||
mkdir -p debian/unit-go1.8/usr/share/doc/unit-go1.8/examples/go-app
|
||||
install -m 644 -p debian/unit.example-go-app debian/unit-go1.8/usr/share/doc/unit-go1.8/examples/go-app/let-my-people.go
|
||||
install -m 644 -p debian/unit.example-go1.8-config debian/unit-go1.8/usr/share/doc/unit-go1.8/examples/unit.config
|
||||
endef
|
||||
export MODULE_PREINSTALL_go18
|
||||
|
||||
define MODULE_POST_go18
|
||||
cat <<BANNER
|
||||
----------------------------------------------------------------------
|
||||
|
||||
The $(MODULE_SUMMARY_go18) has been installed.
|
||||
|
||||
To check out the sample app, run these commands:
|
||||
|
||||
/usr/lib/go-1.8/bin/go build -o /tmp/go1.8-app /usr/share/doc/unit-go1.8/examples/go-app/let-my-people.go
|
||||
sudo service unit restart
|
||||
sudo service unit loadconfig /usr/share/doc/unit-go1.8/examples/unit.config
|
||||
curl http://localhost:8500/
|
||||
|
||||
Online documentation is available at https://unit.nginx.org
|
||||
|
||||
----------------------------------------------------------------------
|
||||
BANNER
|
||||
endef
|
||||
export MODULE_POST_go18
|
||||
50
pkg/deb/Makefile.php
Normal file
50
pkg/deb/Makefile.php
Normal file
@@ -0,0 +1,50 @@
|
||||
MODULES+= php
|
||||
MODULE_SUFFIX_php= php
|
||||
|
||||
MODULE_SUMMARY_php= PHP module for NGINX Unit
|
||||
|
||||
MODULE_VERSION_php= $(VERSION)
|
||||
MODULE_RELEASE_php= 1
|
||||
|
||||
MODULE_CONFARGS_php= php
|
||||
MODULE_MAKEARGS_php= php
|
||||
MODULE_INSTARGS_php= php-install
|
||||
|
||||
MODULE_SOURCES_php= unit.example-php-app \
|
||||
unit.example-php-config
|
||||
|
||||
ifneq (,$(findstring $(CODENAME),trusty jessie))
|
||||
BUILD_DEPENDS+= php5-dev libphp5-embed
|
||||
MODULE_BUILD_DEPENDS_php=,php5-dev,libphp5-embed
|
||||
MODULE_DEPENDS_php=,libphp5-embed
|
||||
else
|
||||
BUILD_DEPENDS+= php-dev libphp-embed
|
||||
MODULE_BUILD_DEPENDS_php=,php-dev,libphp-embed
|
||||
MODULE_DEPENDS_php=,libphp-embed
|
||||
endif
|
||||
|
||||
define MODULE_PREINSTALL_php
|
||||
mkdir -p debian/unit-php/usr/share/doc/unit-php/examples/phpinfo-app
|
||||
install -m 644 -p debian/unit.example-php-app debian/unit-php/usr/share/doc/unit-php/examples/phpinfo-app/index.php
|
||||
install -m 644 -p debian/unit.example-php-config debian/unit-php/usr/share/doc/unit-php/examples/unit.config
|
||||
endef
|
||||
export MODULE_PREINSTALL_php
|
||||
|
||||
define MODULE_POST_php
|
||||
cat <<BANNER
|
||||
----------------------------------------------------------------------
|
||||
|
||||
The $(MODULE_SUMMARY_php) has been installed.
|
||||
|
||||
To check out the sample app, run these commands:
|
||||
|
||||
sudo service unit restart
|
||||
sudo service unit loadconfig /usr/share/doc/unit-php/examples/unit.config
|
||||
curl http://localhost:8300/
|
||||
|
||||
Online documentation is available at https://unit.nginx.org
|
||||
|
||||
----------------------------------------------------------------------
|
||||
BANNER
|
||||
endef
|
||||
export MODULE_POST_php
|
||||
44
pkg/deb/Makefile.python
Normal file
44
pkg/deb/Makefile.python
Normal file
@@ -0,0 +1,44 @@
|
||||
MODULES+= python
|
||||
MODULE_SUFFIX_python= python
|
||||
|
||||
MODULE_SUMMARY_python= Python module for NGINX Unit
|
||||
|
||||
MODULE_VERSION_python= $(VERSION)
|
||||
MODULE_RELEASE_python= 1
|
||||
|
||||
MODULE_CONFARGS_python= python
|
||||
MODULE_MAKEARGS_python= python
|
||||
MODULE_INSTARGS_python= python-install
|
||||
|
||||
MODULE_SOURCES_python= unit.example-python-app \
|
||||
unit.example-python-config
|
||||
|
||||
BUILD_DEPENDS+= python-dev
|
||||
|
||||
MODULE_BUILD_DEPENDS_python=,python-dev
|
||||
|
||||
define MODULE_PREINSTALL_python
|
||||
mkdir -p debian/unit-python/usr/share/doc/unit-python/examples/python-app
|
||||
install -m 644 -p debian/unit.example-python-app debian/unit-python/usr/share/doc/unit-python/examples/python-app/wsgi.py
|
||||
install -m 644 -p debian/unit.example-python-config debian/unit-python/usr/share/doc/unit-python/examples/unit.config
|
||||
endef
|
||||
export MODULE_PREINSTALL_python
|
||||
|
||||
define MODULE_POST_python
|
||||
cat <<BANNER
|
||||
----------------------------------------------------------------------
|
||||
|
||||
The $(MODULE_SUMMARY_python) has been installed.
|
||||
|
||||
To check out the sample app, run these commands:
|
||||
|
||||
sudo service unit restart
|
||||
sudo service unit loadconfig /usr/share/doc/unit-python/examples/unit.config
|
||||
curl http://localhost:8400/
|
||||
|
||||
Online documentation is available at https://unit.nginx.org
|
||||
|
||||
----------------------------------------------------------------------
|
||||
BANNER
|
||||
endef
|
||||
export MODULE_POST_python
|
||||
44
pkg/deb/Makefile.python27
Normal file
44
pkg/deb/Makefile.python27
Normal file
@@ -0,0 +1,44 @@
|
||||
MODULES+= python27
|
||||
MODULE_SUFFIX_python27= python2.7
|
||||
|
||||
MODULE_SUMMARY_python27= Python 2.7 module for NGINX Unit
|
||||
|
||||
MODULE_VERSION_python27= $(VERSION)
|
||||
MODULE_RELEASE_python27= 1
|
||||
|
||||
MODULE_CONFARGS_python27= python --config=python2.7-config
|
||||
MODULE_MAKEARGS_python27= python2.7
|
||||
MODULE_INSTARGS_python27= python2.7-install
|
||||
|
||||
MODULE_SOURCES_python27= unit.example-python-app \
|
||||
unit.example-python2.7-config
|
||||
|
||||
BUILD_DEPENDS+= python2.7-dev
|
||||
|
||||
MODULE_BUILD_DEPENDS_python27=,python2.7-dev
|
||||
|
||||
define MODULE_PREINSTALL_python27
|
||||
mkdir -p debian/unit-python2.7/usr/share/doc/unit-python2.7/examples/python-app
|
||||
install -m 644 -p debian/unit.example-python-app debian/unit-python2.7/usr/share/doc/unit-python2.7/examples/python-app/wsgi.py
|
||||
install -m 644 -p debian/unit.example-python2.7-config debian/unit-python2.7/usr/share/doc/unit-python2.7/examples/unit.config
|
||||
endef
|
||||
export MODULE_PREINSTALL_python27
|
||||
|
||||
define MODULE_POST_python27
|
||||
cat <<BANNER
|
||||
----------------------------------------------------------------------
|
||||
|
||||
The $(MODULE_SUMMARY_python27) has been installed.
|
||||
|
||||
To check out the sample app, run these commands:
|
||||
|
||||
sudo service unit restart
|
||||
sudo service unit loadconfig /usr/share/doc/unit-python2.7/examples/unit.config
|
||||
curl http://localhost:8400/
|
||||
|
||||
Online documentation is available at https://unit.nginx.org
|
||||
|
||||
----------------------------------------------------------------------
|
||||
BANNER
|
||||
endef
|
||||
export MODULE_POST_python27
|
||||
44
pkg/deb/Makefile.python34
Normal file
44
pkg/deb/Makefile.python34
Normal file
@@ -0,0 +1,44 @@
|
||||
MODULES+= python34
|
||||
MODULE_SUFFIX_python34= python3.4
|
||||
|
||||
MODULE_SUMMARY_python34= Python 3.4 module for NGINX Unit
|
||||
|
||||
MODULE_VERSION_python34= $(VERSION)
|
||||
MODULE_RELEASE_python34= 1
|
||||
|
||||
MODULE_CONFARGS_python34= python --config=python3.4-config
|
||||
MODULE_MAKEARGS_python34= python3.4
|
||||
MODULE_INSTARGS_python34= python3.4-install
|
||||
|
||||
MODULE_SOURCES_python34= unit.example-python-app \
|
||||
unit.example-python3.4-config
|
||||
|
||||
BUILD_DEPENDS+= python3.4-dev
|
||||
|
||||
MODULE_BUILD_DEPENDS_python34=,python3.4-dev
|
||||
|
||||
define MODULE_PREINSTALL_python34
|
||||
mkdir -p debian/unit-python3.4/usr/share/doc/unit-python3.4/examples/python-app
|
||||
install -m 644 -p debian/unit.example-python-app debian/unit-python3.4/usr/share/doc/unit-python3.4/examples/python-app/wsgi.py
|
||||
install -m 644 -p debian/unit.example-python3.4-config debian/unit-python3.4/usr/share/doc/unit-python3.4/examples/unit.config
|
||||
endef
|
||||
export MODULE_PREINSTALL_python34
|
||||
|
||||
define MODULE_POST_python34
|
||||
cat <<BANNER
|
||||
----------------------------------------------------------------------
|
||||
|
||||
The $(MODULE_SUMMARY_python34) has been installed.
|
||||
|
||||
To check out the sample app, run these commands:
|
||||
|
||||
sudo service unit restart
|
||||
sudo service unit loadconfig /usr/share/doc/unit-python3.4/examples/unit.config
|
||||
curl http://localhost:8400/
|
||||
|
||||
Online documentation is available at https://unit.nginx.org
|
||||
|
||||
----------------------------------------------------------------------
|
||||
BANNER
|
||||
endef
|
||||
export MODULE_POST_python34
|
||||
44
pkg/deb/Makefile.python35
Normal file
44
pkg/deb/Makefile.python35
Normal file
@@ -0,0 +1,44 @@
|
||||
MODULES+= python35
|
||||
MODULE_SUFFIX_python35= python3.5
|
||||
|
||||
MODULE_SUMMARY_python35= Python 3.5 module for NGINX Unit
|
||||
|
||||
MODULE_VERSION_python35= $(VERSION)
|
||||
MODULE_RELEASE_python35= 1
|
||||
|
||||
MODULE_CONFARGS_python35= python --config=python3.5-config
|
||||
MODULE_MAKEARGS_python35= python3.5
|
||||
MODULE_INSTARGS_python35= python3.5-install
|
||||
|
||||
MODULE_SOURCES_python35= unit.example-python-app \
|
||||
unit.example-python3.5-config
|
||||
|
||||
BUILD_DEPENDS+= python3.5-dev
|
||||
|
||||
MODULE_BUILD_DEPENDS_python35=,python3.5-dev
|
||||
|
||||
define MODULE_PREINSTALL_python35
|
||||
mkdir -p debian/unit-python3.5/usr/share/doc/unit-python3.5/examples/python-app
|
||||
install -m 644 -p debian/unit.example-python-app debian/unit-python3.5/usr/share/doc/unit-python3.5/examples/python-app/wsgi.py
|
||||
install -m 644 -p debian/unit.example-python3.5-config debian/unit-python3.5/usr/share/doc/unit-python3.5/examples/unit.config
|
||||
endef
|
||||
export MODULE_PREINSTALL_python35
|
||||
|
||||
define MODULE_POST_python35
|
||||
cat <<BANNER
|
||||
----------------------------------------------------------------------
|
||||
|
||||
The $(MODULE_SUMMARY_python35) has been installed.
|
||||
|
||||
To check out the sample app, run these commands:
|
||||
|
||||
sudo service unit restart
|
||||
sudo service unit loadconfig /usr/share/doc/unit-python3.5/examples/unit.config
|
||||
curl http://localhost:8400/
|
||||
|
||||
Online documentation is available at https://unit.nginx.org
|
||||
|
||||
----------------------------------------------------------------------
|
||||
BANNER
|
||||
endef
|
||||
export MODULE_POST_python35
|
||||
32
pkg/deb/debian.module/control.in
Normal file
32
pkg/deb/debian.module/control.in
Normal file
@@ -0,0 +1,32 @@
|
||||
Source: %%NAME%%
|
||||
Section: admin
|
||||
Priority: extra
|
||||
Maintainer: Andrei Belov <defan@nginx.com>
|
||||
Build-Depends: debhelper (>= 9),
|
||||
linux-libc-dev%%MODULE_BUILD_DEPENDS%%
|
||||
Standards-Version: 3.9.5
|
||||
Homepage: https://unit.nginx.org
|
||||
|
||||
Package: %%NAME%%
|
||||
Section: admin
|
||||
Architecture: any
|
||||
Depends: lsb-base,
|
||||
${misc:Depends}, ${shlibs:Depends},
|
||||
unit (= %%UNIT_VERSION%%-%%UNIT_RELEASE%%~%%CODENAME%%)%%MODULE_DEPENDS%%
|
||||
Description: %%SUMMARY%%
|
||||
NGINX Unit is a runtime and delivery environment for modern distributed
|
||||
applications. It runs the application code in multiple languages
|
||||
(PHP, Python, Go, etc.), and tightly couples it with traffic delivery
|
||||
in and out of the application. Take this application server and proxy
|
||||
directly in the cloud / container environments and fully control your app
|
||||
dynamically via an API.
|
||||
This package contains %%SUMMARY%%.
|
||||
|
||||
Package: %%NAME%%-dbg
|
||||
Section: debug
|
||||
Architecture: any
|
||||
Priority: extra
|
||||
Depends: %%NAME%% (= ${binary:Version}),
|
||||
${misc:Depends}
|
||||
Description: %%SUMMARY%% (debug symbols)
|
||||
This package contains the debugging symbols for %%NAME%%
|
||||
21
pkg/deb/debian.module/preinst.in
Normal file
21
pkg/deb/debian.module/preinst.in
Normal file
@@ -0,0 +1,21 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
|
||||
case "$1" in
|
||||
install)
|
||||
%%MODULE_POST%%
|
||||
;;
|
||||
upgrade)
|
||||
;;
|
||||
abort-upgrade)
|
||||
;;
|
||||
*)
|
||||
echo "preinst called with unknown argument \`$1'" >&2
|
||||
exit 0
|
||||
;;
|
||||
esac
|
||||
|
||||
#DEBHELPER#
|
||||
|
||||
exit 0
|
||||
95
pkg/deb/debian.module/rules.in
Executable file
95
pkg/deb/debian.module/rules.in
Executable file
@@ -0,0 +1,95 @@
|
||||
#!/usr/bin/make -f
|
||||
|
||||
# Uncomment this to turn on verbose mode.
|
||||
#export DH_VERBOSE=1
|
||||
|
||||
BUILDDIR_unit = $(CURDIR)/debian/build-unit
|
||||
BUILDDIR_unit_debug = $(CURDIR)/debian/build-unit-debug
|
||||
INSTALLDIR = $(CURDIR)/debian/%%NAME%%
|
||||
BASEDIR = $(CURDIR)
|
||||
|
||||
%%MODULE_DEFINITIONS%%
|
||||
|
||||
config.env.%:
|
||||
dh_testdir
|
||||
mkdir -p $(BUILDDIR_$*)
|
||||
cp -Pa $(CURDIR)/auto $(BUILDDIR_$*)/
|
||||
cp -Pa $(CURDIR)/configure $(BUILDDIR_$*)/
|
||||
cp -Pa $(CURDIR)/src $(BUILDDIR_$*)/
|
||||
cp -Pa $(CURDIR)/test $(BUILDDIR_$*)/
|
||||
touch $@
|
||||
|
||||
configure.unit: config.env.unit
|
||||
cd $(BUILDDIR_unit) && \
|
||||
./configure \
|
||||
%%CONFIGURE_ARGS%% \
|
||||
--modules=/usr/lib/unit/modules && \
|
||||
./configure %%MODULE_CONFARGS%%
|
||||
touch $@
|
||||
|
||||
configure.unit_debug: config.env.unit_debug
|
||||
cd $(BUILDDIR_unit_debug) && \
|
||||
./configure \
|
||||
%%CONFIGURE_ARGS%% \
|
||||
--modules=/usr/lib/unit/debug-modules \
|
||||
--debug && \
|
||||
./configure %%MODULE_CONFARGS%%
|
||||
touch $@
|
||||
|
||||
build-arch.%: configure.%
|
||||
dh_testdir
|
||||
$(MAKE) -C $(BUILDDIR_$*) %%MODULE_MAKEARGS%%
|
||||
touch $@
|
||||
|
||||
build-indep:
|
||||
dh_testdir
|
||||
touch $@
|
||||
|
||||
build-arch: build-arch.unit build-arch.unit_debug
|
||||
dh_testdir
|
||||
touch $@
|
||||
|
||||
build: build-arch build-indep
|
||||
dh_testdir
|
||||
touch $@
|
||||
|
||||
clean:
|
||||
dh_testdir
|
||||
dh_testroot
|
||||
dh_clean
|
||||
find $(CURDIR) -maxdepth 1 -size 0 -delete
|
||||
|
||||
install: build
|
||||
dh_testdir
|
||||
dh_testroot
|
||||
dh_prep
|
||||
dh_installdirs
|
||||
dh_installinit
|
||||
dh_installlogrotate
|
||||
%%MODULE_PREINSTALL%%
|
||||
cd $(BUILDDIR_unit) && \
|
||||
DESTDIR=$(INSTALLDIR) make %%MODULE_INSTARGS%%
|
||||
cd $(BUILDDIR_unit_debug) && \
|
||||
DESTDIR=$(INSTALLDIR) make %%MODULE_INSTARGS%%
|
||||
|
||||
binary-indep: build install
|
||||
dh_testdir
|
||||
dh_testroot
|
||||
dh_installdocs
|
||||
dh_installchangelogs
|
||||
dh_link
|
||||
dh_strip --dbg-package=%%NAME%%-dbg
|
||||
dh_shlibdeps
|
||||
dh_compress
|
||||
dh_fixperms
|
||||
dh_installdeb
|
||||
dh_perl
|
||||
dh_gencontrol
|
||||
dh_md5sums
|
||||
dh_builddeb
|
||||
|
||||
binary-arch: install
|
||||
|
||||
binary: binary-indep binary-arch
|
||||
|
||||
.PHONY: clean binary-indep binary-arch binary install build
|
||||
20
pkg/deb/debian.module/unit.example-go-app
Normal file
20
pkg/deb/debian.module/unit.example-go-app
Normal file
@@ -0,0 +1,20 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"net/http"
|
||||
"unit"
|
||||
)
|
||||
|
||||
func handler(w http.ResponseWriter, r *http.Request) {
|
||||
w.Header().Add("Content-Type", "text/plain");
|
||||
|
||||
fmt.Fprintf(w, "Method : %s\n", r.Method)
|
||||
fmt.Fprintf(w, "URL : %s\n", r.URL.Path)
|
||||
fmt.Fprintf(w, "Host : %s\n", r.Host)
|
||||
}
|
||||
|
||||
func main() {
|
||||
http.HandleFunc("/", handler)
|
||||
unit.ListenAndServe("8000", nil)
|
||||
}
|
||||
15
pkg/deb/debian.module/unit.example-go-config
Normal file
15
pkg/deb/debian.module/unit.example-go-config
Normal file
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"applications": {
|
||||
"example_go": {
|
||||
"type": "go",
|
||||
"user": "nobody",
|
||||
"executable": "/tmp/go-app"
|
||||
}
|
||||
},
|
||||
|
||||
"listeners": {
|
||||
"*:8500": {
|
||||
"application": "example_go"
|
||||
}
|
||||
}
|
||||
}
|
||||
15
pkg/deb/debian.module/unit.example-go1.7-config
Normal file
15
pkg/deb/debian.module/unit.example-go1.7-config
Normal file
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"applications": {
|
||||
"example_go": {
|
||||
"type": "go",
|
||||
"user": "nobody",
|
||||
"executable": "/tmp/go1.7-app"
|
||||
}
|
||||
},
|
||||
|
||||
"listeners": {
|
||||
"*:8500": {
|
||||
"application": "example_go"
|
||||
}
|
||||
}
|
||||
}
|
||||
15
pkg/deb/debian.module/unit.example-go1.8-config
Normal file
15
pkg/deb/debian.module/unit.example-go1.8-config
Normal file
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"applications": {
|
||||
"example_go": {
|
||||
"type": "go",
|
||||
"user": "nobody",
|
||||
"executable": "/tmp/go1.8-app"
|
||||
}
|
||||
},
|
||||
|
||||
"listeners": {
|
||||
"*:8500": {
|
||||
"application": "example_go"
|
||||
}
|
||||
}
|
||||
}
|
||||
1
pkg/deb/debian.module/unit.example-php-app
Normal file
1
pkg/deb/debian.module/unit.example-php-app
Normal file
@@ -0,0 +1 @@
|
||||
<?php phpinfo(); ?>
|
||||
17
pkg/deb/debian.module/unit.example-php-config
Normal file
17
pkg/deb/debian.module/unit.example-php-config
Normal file
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"applications": {
|
||||
"example_php": {
|
||||
"type": "php",
|
||||
"user": "nobody",
|
||||
"workers": 2,
|
||||
"root": "/usr/share/doc/unit-php/examples/phpinfo-app",
|
||||
"index": "index.php"
|
||||
}
|
||||
},
|
||||
|
||||
"listeners": {
|
||||
"*:8300": {
|
||||
"application": "example_php"
|
||||
}
|
||||
}
|
||||
}
|
||||
16
pkg/deb/debian.module/unit.example-python-app
Normal file
16
pkg/deb/debian.module/unit.example-python-app
Normal file
@@ -0,0 +1,16 @@
|
||||
import os
|
||||
import datetime
|
||||
import sys
|
||||
|
||||
def application(environ, start_response):
|
||||
output = datetime.datetime.now().strftime("%Y-%m-%d %I:%M:%S %p")
|
||||
output += "\n\nPython: "
|
||||
output += sys.version
|
||||
output += "\n\nENV Variables:\n\n"
|
||||
for param in os.environ.keys():
|
||||
output += param
|
||||
output += "\t"
|
||||
output += os.environ[param]
|
||||
output += "\n"
|
||||
start_response('200 OK', [('Content-type', 'text/plain')])
|
||||
return [s.encode('utf8') for s in output]
|
||||
17
pkg/deb/debian.module/unit.example-python-config
Normal file
17
pkg/deb/debian.module/unit.example-python-config
Normal file
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"applications": {
|
||||
"example_python": {
|
||||
"type": "python",
|
||||
"user": "nobody",
|
||||
"workers": 2,
|
||||
"path": "/usr/share/doc/unit-python/examples/python-app",
|
||||
"module": "wsgi"
|
||||
}
|
||||
},
|
||||
|
||||
"listeners": {
|
||||
"*:8400": {
|
||||
"application": "example_python"
|
||||
}
|
||||
}
|
||||
}
|
||||
17
pkg/deb/debian.module/unit.example-python2.7-config
Normal file
17
pkg/deb/debian.module/unit.example-python2.7-config
Normal file
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"applications": {
|
||||
"example_python": {
|
||||
"type": "python",
|
||||
"user": "nobody",
|
||||
"workers": 2,
|
||||
"path": "/usr/share/doc/unit-python2.7/examples/python-app",
|
||||
"module": "wsgi"
|
||||
}
|
||||
},
|
||||
|
||||
"listeners": {
|
||||
"*:8400": {
|
||||
"application": "example_python"
|
||||
}
|
||||
}
|
||||
}
|
||||
17
pkg/deb/debian.module/unit.example-python3.4-config
Normal file
17
pkg/deb/debian.module/unit.example-python3.4-config
Normal file
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"applications": {
|
||||
"example_python": {
|
||||
"type": "python",
|
||||
"user": "nobody",
|
||||
"workers": 2,
|
||||
"path": "/usr/share/doc/unit-python3.4/examples/python-app",
|
||||
"module": "wsgi"
|
||||
}
|
||||
},
|
||||
|
||||
"listeners": {
|
||||
"*:8400": {
|
||||
"application": "example_python"
|
||||
}
|
||||
}
|
||||
}
|
||||
17
pkg/deb/debian.module/unit.example-python3.5-config
Normal file
17
pkg/deb/debian.module/unit.example-python3.5-config
Normal file
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"applications": {
|
||||
"example_python": {
|
||||
"type": "python",
|
||||
"user": "nobody",
|
||||
"workers": 2,
|
||||
"path": "/usr/share/doc/unit-python3.5/examples/python-app",
|
||||
"module": "wsgi"
|
||||
}
|
||||
},
|
||||
|
||||
"listeners": {
|
||||
"*:8400": {
|
||||
"application": "example_python"
|
||||
}
|
||||
}
|
||||
}
|
||||
30
pkg/deb/debian/control
Normal file
30
pkg/deb/debian/control
Normal file
@@ -0,0 +1,30 @@
|
||||
Source: unit
|
||||
Section: admin
|
||||
Priority: extra
|
||||
Maintainer: Andrei Belov <defan@nginx.com>
|
||||
Build-Depends: debhelper (>= 9),
|
||||
linux-libc-dev
|
||||
Standards-Version: 3.9.5
|
||||
Homepage: https://unit.nginx.org
|
||||
|
||||
Package: unit
|
||||
Section: admin
|
||||
Architecture: any
|
||||
Depends: lsb-base,
|
||||
${misc:Depends}, ${shlibs:Depends}
|
||||
Description: NGINX Unit
|
||||
NGINX Unit is a runtime and delivery environment for modern distributed
|
||||
applications. It runs the application code in multiple languages
|
||||
(PHP, Python, Go, etc.), and tightly couples it with traffic delivery
|
||||
in and out of the application. Take this application server and proxy
|
||||
directly in the cloud / container environments and fully control your app
|
||||
dynamically via an API.
|
||||
|
||||
Package: unit-dbg
|
||||
Section: debug
|
||||
Architecture: any
|
||||
Priority: extra
|
||||
Depends: unit (= ${binary:Version}),
|
||||
${misc:Depends}
|
||||
Description: NGINX Unit (debug symbols)
|
||||
This package contains the debugging symbols for NGINX Unit.
|
||||
21
pkg/deb/debian/copyright
Normal file
21
pkg/deb/debian/copyright
Normal file
@@ -0,0 +1,21 @@
|
||||
|
||||
NGINX Unit.
|
||||
|
||||
Copyright 2017 NGINX, Inc.
|
||||
Copyright 2017 Igor Sysoev
|
||||
Copyright 2017 Valentin V. Bartenev
|
||||
Copyright 2017 Max Romanov
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
/usr/share/common-licenses/Apache-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
4
pkg/deb/debian/dirs
Normal file
4
pkg/deb/debian/dirs
Normal file
@@ -0,0 +1,4 @@
|
||||
usr/sbin
|
||||
etc/unit
|
||||
usr/lib/unit
|
||||
var/lib/unit
|
||||
105
pkg/deb/debian/rules.in
Normal file
105
pkg/deb/debian/rules.in
Normal file
@@ -0,0 +1,105 @@
|
||||
#!/usr/bin/make -f
|
||||
|
||||
# Uncomment this to turn on verbose mode.
|
||||
#export DH_VERBOSE=1
|
||||
|
||||
BUILDDIR_unit = $(CURDIR)/debian/build-unit
|
||||
BUILDDIR_unit_debug = $(CURDIR)/debian/build-unit-debug
|
||||
INSTALLDIR = $(CURDIR)/debian/unit
|
||||
BASEDIR = $(CURDIR)
|
||||
|
||||
DOTESTS = 0
|
||||
|
||||
config.env.%:
|
||||
dh_testdir
|
||||
mkdir -p $(BUILDDIR_$*)
|
||||
cp -Pa $(CURDIR)/auto $(BUILDDIR_$*)/
|
||||
cp -Pa $(CURDIR)/configure $(BUILDDIR_$*)/
|
||||
cp -Pa $(CURDIR)/src $(BUILDDIR_$*)/
|
||||
cp -Pa $(CURDIR)/test $(BUILDDIR_$*)/
|
||||
touch $@
|
||||
|
||||
configure.unit: config.env.unit
|
||||
cd $(BUILDDIR_unit) && \
|
||||
./configure \
|
||||
%%CONFIGURE_ARGS%% \
|
||||
--modules=/usr/lib/unit/modules
|
||||
touch $@
|
||||
|
||||
configure.unit_debug: config.env.unit_debug
|
||||
cd $(BUILDDIR_unit_debug) && \
|
||||
./configure \
|
||||
%%CONFIGURE_ARGS%% \
|
||||
--modules=/usr/lib/unit/debug-modules \
|
||||
--debug
|
||||
touch $@
|
||||
|
||||
build-arch.%: configure.%
|
||||
dh_testdir
|
||||
$(MAKE) -C $(BUILDDIR_$*)
|
||||
ifeq ($(DOTESTS), 1)
|
||||
$(MAKE) -C $(BUILDDIR_$*) tests
|
||||
endif
|
||||
touch $@
|
||||
|
||||
do.tests: build
|
||||
dh_testdir
|
||||
ifeq ($(DOTESTS), 1)
|
||||
cd $(BUILDDIR_unit) && ./build/tests
|
||||
cd $(BUILDDIR_unit_debug) && ./build/tests
|
||||
endif
|
||||
touch $@
|
||||
|
||||
build-indep:
|
||||
dh_testdir
|
||||
touch $@
|
||||
|
||||
build-arch: build-arch.unit build-arch.unit_debug
|
||||
dh_testdir
|
||||
touch $@
|
||||
|
||||
build: build-arch build-indep
|
||||
dh_testdir
|
||||
touch $@
|
||||
|
||||
clean:
|
||||
dh_testdir
|
||||
dh_testroot
|
||||
dh_clean
|
||||
find $(CURDIR) -maxdepth 1 -size 0 -delete
|
||||
|
||||
install: build do.tests
|
||||
dh_testdir
|
||||
dh_testroot
|
||||
dh_prep
|
||||
dh_installdirs
|
||||
dh_installinit
|
||||
dh_installlogrotate
|
||||
cd $(BUILDDIR_unit) && DESTDIR=$(INSTALLDIR) make install
|
||||
install -m 755 $(BUILDDIR_unit_debug)/build/unitd $(INSTALLDIR)/usr/sbin/unitd-debug
|
||||
mkdir -p $(INSTALLDIR)/usr/share/doc/unit/examples
|
||||
install -m 644 debian/unit.example.config $(INSTALLDIR)/usr/share/doc/unit/examples/example.config
|
||||
install -m 644 CHANGES $(INSTALLDIR)/usr/share/doc/unit/
|
||||
install -m 644 README $(INSTALLDIR)/usr/share/doc/unit/
|
||||
|
||||
binary-indep: build install
|
||||
dh_testdir
|
||||
dh_testroot
|
||||
dh_installdocs
|
||||
dh_installchangelogs
|
||||
dh_link
|
||||
dh_strip --dbg-package=unit-dbg
|
||||
dh_shlibdeps
|
||||
dh_compress
|
||||
dh_fixperms
|
||||
dh_installdeb
|
||||
dh_perl
|
||||
dh_gencontrol
|
||||
dh_md5sums
|
||||
dh_builddeb
|
||||
|
||||
binary-arch: install
|
||||
|
||||
binary: binary-indep binary-arch
|
||||
|
||||
.PHONY: clean binary-indep binary-arch binary install build
|
||||
1
pkg/deb/debian/unit.default
Normal file
1
pkg/deb/debian/unit.default
Normal file
@@ -0,0 +1 @@
|
||||
DAEMON_ARGS="--log /var/log/unit.log --pid /run/unit.pid"
|
||||
20
pkg/deb/debian/unit.example-go-app
Normal file
20
pkg/deb/debian/unit.example-go-app
Normal file
@@ -0,0 +1,20 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"net/http"
|
||||
"unit"
|
||||
)
|
||||
|
||||
func handler(w http.ResponseWriter, r *http.Request) {
|
||||
w.Header().Add("Content-Type", "text/plain");
|
||||
|
||||
fmt.Fprintf(w, "Method : %s\n", r.Method)
|
||||
fmt.Fprintf(w, "URL : %s\n", r.URL.Path)
|
||||
fmt.Fprintf(w, "Host : %s\n", r.Host)
|
||||
}
|
||||
|
||||
func main() {
|
||||
http.HandleFunc("/", handler)
|
||||
unit.ListenAndServe("8000", nil)
|
||||
}
|
||||
1
pkg/deb/debian/unit.example-php-app
Normal file
1
pkg/deb/debian/unit.example-php-app
Normal file
@@ -0,0 +1 @@
|
||||
<?php phpinfo(); ?>
|
||||
16
pkg/deb/debian/unit.example-python-app
Normal file
16
pkg/deb/debian/unit.example-python-app
Normal file
@@ -0,0 +1,16 @@
|
||||
import os
|
||||
import datetime
|
||||
import sys
|
||||
|
||||
def application(environ, start_response):
|
||||
output = datetime.datetime.now().strftime("%Y-%m-%d %I:%M:%S %p")
|
||||
output += "\n\nPython: "
|
||||
output += sys.version
|
||||
output += "\n\nENV Variables:\n\n"
|
||||
for param in os.environ.keys():
|
||||
output += param
|
||||
output += "\t"
|
||||
output += os.environ[param]
|
||||
output += "\n"
|
||||
start_response('200 OK', [('Content-type', 'text/plain')])
|
||||
return output.encode('utf8')
|
||||
39
pkg/deb/debian/unit.example.config
Normal file
39
pkg/deb/debian/unit.example.config
Normal file
@@ -0,0 +1,39 @@
|
||||
{
|
||||
"applications": {
|
||||
"example_php": {
|
||||
"type": "php",
|
||||
"user": "nobody",
|
||||
"workers": 2,
|
||||
"root": "/usr/share/doc/unit/examples/php-app",
|
||||
"index": "index.php"
|
||||
},
|
||||
|
||||
"example_python": {
|
||||
"type": "python",
|
||||
"user": "nobody",
|
||||
"workers": 2,
|
||||
"path": "/usr/share/doc/unit/examples/python-app",
|
||||
"module": "wsgi"
|
||||
},
|
||||
|
||||
"example_go": {
|
||||
"type": "go",
|
||||
"user": "nobody",
|
||||
"executable": "/tmp/go-app"
|
||||
}
|
||||
},
|
||||
|
||||
"listeners": {
|
||||
"*:8300": {
|
||||
"application": "example_php"
|
||||
},
|
||||
|
||||
"*:8400": {
|
||||
"application": "example_python"
|
||||
},
|
||||
|
||||
"*:8500": {
|
||||
"application": "example_go"
|
||||
}
|
||||
}
|
||||
}
|
||||
104
pkg/deb/debian/unit.init
Normal file
104
pkg/deb/debian/unit.init
Normal file
@@ -0,0 +1,104 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# unitd NGINX Unit
|
||||
#
|
||||
### BEGIN INIT INFO
|
||||
# Provides: unitd
|
||||
# Required-Start: $network $remote_fs
|
||||
# Required-Stop: $network $remote_fs
|
||||
# Default-Start: 2 3 4 5
|
||||
# Default-Stop: 0 1 6
|
||||
# Short-Description: NGINX Unit
|
||||
# Description: NGINX Unit
|
||||
### END INIT INFO
|
||||
PATH=/sbin:/bin:/usr/sbin:/usr/bin
|
||||
DAEMON=/usr/sbin/unitd
|
||||
NAME=unitd
|
||||
DESC=unitd
|
||||
CONFIG=/etc/unit/config
|
||||
|
||||
[ -r /etc/default/${NAME} ] && . /etc/default/${NAME}
|
||||
|
||||
if [ -n "$2" ]; then
|
||||
CONFIG=$2
|
||||
fi
|
||||
|
||||
#includes lsb functions
|
||||
. /lib/lsb/init-functions
|
||||
|
||||
test -f $DAEMON || exit 0
|
||||
|
||||
umask 022
|
||||
|
||||
# Read configuration variable file if it is present
|
||||
[ -r /etc/default/$NAME ] && . /etc/default/$NAME
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
log_daemon_msg "Starting $DESC" "$NAME"
|
||||
if start-stop-daemon --start --quiet --pidfile /run/$NAME.pid \
|
||||
--exec $DAEMON -- $DAEMON_ARGS; then
|
||||
log_end_msg 0
|
||||
else
|
||||
log_end_msg 1
|
||||
fi
|
||||
;;
|
||||
status)
|
||||
status_of_proc -p "$PIDFILE" "$DAEMON" "$NAME" && exit 0 || exit $?
|
||||
;;
|
||||
stop)
|
||||
log_daemon_msg "Stopping $DESC" "$NAME"
|
||||
if start-stop-daemon --oknodo --stop --quiet --pidfile /var/run/$NAME.pid \
|
||||
--exec $DAEMON; then
|
||||
log_end_msg 0
|
||||
else
|
||||
log_end_msg 1
|
||||
fi
|
||||
;;
|
||||
reload|force-reload)
|
||||
echo "Not implemented." >&2
|
||||
exit 1
|
||||
;;
|
||||
restart)
|
||||
log_action_begin_msg "Restarting $DESC" "$NAME"
|
||||
|
||||
start-stop-daemon --stop --quiet --pidfile \
|
||||
/var/run/$NAME.pid --exec $DAEMON || true
|
||||
sleep 1
|
||||
if start-stop-daemon --start --quiet --pidfile \
|
||||
/var/run/$NAME.pid --exec $DAEMON -- $DAEMON_ARGS; then
|
||||
log_end_msg 0
|
||||
else
|
||||
log_end_msg 1
|
||||
fi
|
||||
;;
|
||||
saveconfig)
|
||||
curl -sS --unix-socket /var/run/control.unit.sock localhost >${CONFIG}.new
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "Could not retreive configuration" >&2
|
||||
rm -f ${CONFIG}.new
|
||||
exit 1
|
||||
fi
|
||||
mv ${CONFIG}.new ${CONFIG}
|
||||
echo "The following configuration has been saved to ${CONFIG}:"
|
||||
cat ${CONFIG}
|
||||
;;
|
||||
loadconfig)
|
||||
if [ ! -e ${CONFIG} ]; then
|
||||
echo "Could not find ${CONFIG} for loading" >&2
|
||||
exit 1
|
||||
fi
|
||||
echo "Loading configuration from ${CONFIG}..."
|
||||
curl -sS -X PUT --data-binary @${CONFIG} --unix-socket /var/run/control.unit.sock localhost
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "Loading failed!" >&2
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
echo "Usage: /etc/init.d/$NAME {start|status|stop|restart|reload|force-reload|saveconfig|loadconfig}" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
exit 0
|
||||
11
pkg/deb/debian/unit.postinst
Executable file
11
pkg/deb/debian/unit.postinst
Executable file
@@ -0,0 +1,11 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
|
||||
if [ "$1" != "configure" ]; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
#DEBHELPER#
|
||||
|
||||
exit 0
|
||||
34
pkg/deb/debian/unit.preinst
Normal file
34
pkg/deb/debian/unit.preinst
Normal file
@@ -0,0 +1,34 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
|
||||
case "$1" in
|
||||
install)
|
||||
cat <<BANNER
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Thank you for installing NGINX Unit!
|
||||
|
||||
Additional modules are available in standalone packages.
|
||||
To see the available modules, run: apt search --names-only '^unit-'
|
||||
|
||||
Online documentation is available at https://unit.nginx.org/
|
||||
|
||||
----------------------------------------------------------------------
|
||||
BANNER
|
||||
;;
|
||||
upgrade)
|
||||
;;
|
||||
|
||||
abort-upgrade)
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "preinst called with unknown argument \`$1'" >&2
|
||||
exit 0
|
||||
;;
|
||||
esac
|
||||
|
||||
#DEBHELPER#
|
||||
|
||||
exit 0
|
||||
14
pkg/deb/debian/unit.service
Normal file
14
pkg/deb/debian/unit.service
Normal file
@@ -0,0 +1,14 @@
|
||||
[Unit]
|
||||
Description=NGINX Unit
|
||||
Wants=network-online.target
|
||||
After=network-online.target
|
||||
|
||||
[Service]
|
||||
Type=forking
|
||||
PIDFile=/run/unit.pid
|
||||
EnvironmentFile=-/etc/default/unit
|
||||
ExecStart=/usr/sbin/unitd $DAEMON_ARGS
|
||||
ExecReload=
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
Reference in New Issue
Block a user