Packaging changes for updated Go package.

- package name changed to 'nginx/unit';
- source files installed in /usr/share/gocode;
- rpm and deb go packages made noarch.
This commit is contained in:
Max Romanov
2017-12-01 16:59:41 +03:00
parent 40eb1f8b9b
commit cdf900cf2c
10 changed files with 140 additions and 36 deletions

View File

@@ -144,7 +144,7 @@ debuild-%: debuild/unit_$(VERSION).orig.tar.gz ../../docs/changes.xml
> $@/$(SRCDIR)/debian/changelog > $@/$(SRCDIR)/debian/changelog
cp debian/copyright debuild-$*/$(SRCDIR)/debian/ cp debian/copyright debuild-$*/$(SRCDIR)/debian/
@{ \ @{ \
set -e ; \ set -e ; \
for src in $(MODULE_SOURCES_$*); do \ for src in $(MODULE_SOURCES_$*); do \
cp debian.module/$${src} $@/$(SRCDIR)/debian/ ; \ cp debian.module/$${src} $@/$(SRCDIR)/debian/ ; \
done ; \ done ; \
@@ -152,7 +152,7 @@ debuild-%: debuild/unit_$(VERSION).orig.tar.gz ../../docs/changes.xml
prebuild=`echo "$$MODULE_PREBUILD_$*" | 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"` ; \ 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"` ; \ post=`echo "$$MODULE_POST_$*" | sed -e ':a' -e 'N' -e '$$!ba' -e "s/\n/\$$CR/g"` ; \
cat debian.module/control.in | sed \ cat debian.module/$(if $(MODULE_NOARCH_$*),control-noarch.in,control.in) | sed \
-e "s#%%NAME%%#unit-$(MODULE_SUFFIX_$*)#g" \ -e "s#%%NAME%%#unit-$(MODULE_SUFFIX_$*)#g" \
-e "s#%%SUMMARY%%#$(MODULE_SUMMARY_$*)#g" \ -e "s#%%SUMMARY%%#$(MODULE_SUMMARY_$*)#g" \
-e "s#%%CODENAME%%#$(CODENAME)#g" \ -e "s#%%CODENAME%%#$(CODENAME)#g" \
@@ -163,7 +163,7 @@ debuild-%: debuild/unit_$(VERSION).orig.tar.gz ../../docs/changes.xml
-e "s#%%MODULE_BUILD_DEPENDS%%#$(MODULE_BUILD_DEPENDS_$*)#g" \ -e "s#%%MODULE_BUILD_DEPENDS%%#$(MODULE_BUILD_DEPENDS_$*)#g" \
-e "s#%%MODULE_DEPENDS%%#$(MODULE_DEPENDS_$*)#g" \ -e "s#%%MODULE_DEPENDS%%#$(MODULE_DEPENDS_$*)#g" \
> $@/$(SRCDIR)/debian/control ; \ > $@/$(SRCDIR)/debian/control ; \
cat debian.module/rules.in | sed \ cat debian.module/$(if $(MODULE_NOARCH_$*),rules-noarch.in,rules.in) | sed \
-e "s#%%NAME%%#unit-$(MODULE_SUFFIX_$*)#g" \ -e "s#%%NAME%%#unit-$(MODULE_SUFFIX_$*)#g" \
-e "s#%%CODENAME%%#$(CODENAME)#g" \ -e "s#%%CODENAME%%#$(CODENAME)#g" \
-e "s#%%UNIT_VERSION%%#$(VERSION)#g" \ -e "s#%%UNIT_VERSION%%#$(VERSION)#g" \

View File

@@ -6,7 +6,7 @@ MODULE_SUMMARY_go= Go module for NGINX Unit
MODULE_VERSION_go= $(VERSION) MODULE_VERSION_go= $(VERSION)
MODULE_RELEASE_go= 1 MODULE_RELEASE_go= 1
MODULE_CONFARGS_go= go --go-path=\$$(GOROOT) MODULE_CONFARGS_go= go --go-path=/usr/share/gocode
MODULE_MAKEARGS_go= go MODULE_MAKEARGS_go= go
MODULE_INSTARGS_go= go-install MODULE_INSTARGS_go= go-install
@@ -18,10 +18,7 @@ BUILD_DEPENDS+= golang
MODULE_BUILD_DEPENDS_go=,golang MODULE_BUILD_DEPENDS_go=,golang
MODULE_DEPENDS_go=,golang MODULE_DEPENDS_go=,golang
define MODULE_DEFINITIONS_go MODULE_NOARCH_go= true
GOROOT = $(shell go env GOROOT)
endef
export MODULE_DEFINITIONS_go
define MODULE_PREINSTALL_go define MODULE_PREINSTALL_go
mkdir -p debian/unit-go/usr/share/doc/unit-go/examples/go-app mkdir -p debian/unit-go/usr/share/doc/unit-go/examples/go-app
@@ -38,7 +35,7 @@ The $(MODULE_SUMMARY_go) has been installed.
To check out the sample app, run these commands: 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 GOPATH=/usr/share/gocode 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 restart
sudo service unit loadconfig /usr/share/doc/unit-go/examples/unit.config sudo service unit loadconfig /usr/share/doc/unit-go/examples/unit.config
curl http://localhost:8500/ curl http://localhost:8500/

View File

@@ -6,7 +6,7 @@ MODULE_SUMMARY_go17= Go 1.7 module for NGINX Unit
MODULE_VERSION_go17= $(VERSION) MODULE_VERSION_go17= $(VERSION)
MODULE_RELEASE_go17= 1 MODULE_RELEASE_go17= 1
MODULE_CONFARGS_go17= go --go=/usr/lib/go-1.7/bin/go --go-path=\$$(GOROOT) MODULE_CONFARGS_go17= go --go=/usr/lib/go-1.7/bin/go --go-path=/usr/share/gocode
MODULE_MAKEARGS_go17= /usr/lib/go-1.7/bin/go MODULE_MAKEARGS_go17= /usr/lib/go-1.7/bin/go
MODULE_INSTARGS_go17= /usr/lib/go-1.7/bin/go-install MODULE_INSTARGS_go17= /usr/lib/go-1.7/bin/go-install
@@ -15,13 +15,10 @@ MODULE_SOURCES_go17= unit.example-go-app \
BUILD_DEPENDS+= golang-1.7 BUILD_DEPENDS+= golang-1.7
MODULE_BUILD_DEPENDS_go=,golang-1.7 MODULE_BUILD_DEPENDS_go17=,golang-1.7
MODULE_DEPENDS_go=,golang-1.7 MODULE_DEPENDS_go17=,golang-1.7
define MODULE_DEFINITIONS_go17 MODULE_NOARCH_go17= true
GOROOT = \$$(shell /usr/lib/go-1.7/bin/go env GOROOT)
endef
export MODULE_DEFINITIONS_go17
define MODULE_PREINSTALL_go17 define MODULE_PREINSTALL_go17
mkdir -p debian/unit-go1.7/usr/share/doc/unit-go1.7/examples/go-app mkdir -p debian/unit-go1.7/usr/share/doc/unit-go1.7/examples/go-app
@@ -38,7 +35,7 @@ The $(MODULE_SUMMARY_go17) has been installed.
To check out the sample app, run these commands: 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 GOPATH=/usr/share/gocode /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 restart
sudo service unit loadconfig /usr/share/doc/unit-go1.7/examples/unit.config sudo service unit loadconfig /usr/share/doc/unit-go1.7/examples/unit.config
curl http://localhost:8500/ curl http://localhost:8500/

View File

@@ -6,7 +6,7 @@ MODULE_SUMMARY_go18= Go 1.8 module for NGINX Unit
MODULE_VERSION_go18= $(VERSION) MODULE_VERSION_go18= $(VERSION)
MODULE_RELEASE_go18= 1 MODULE_RELEASE_go18= 1
MODULE_CONFARGS_go18= go --go=/usr/lib/go-1.8/bin/go --go-path=\$$(GOROOT) MODULE_CONFARGS_go18= go --go=/usr/lib/go-1.8/bin/go --go-path=/usr/share/gocode
MODULE_MAKEARGS_go18= /usr/lib/go-1.8/bin/go MODULE_MAKEARGS_go18= /usr/lib/go-1.8/bin/go
MODULE_INSTARGS_go18= /usr/lib/go-1.8/bin/go-install MODULE_INSTARGS_go18= /usr/lib/go-1.8/bin/go-install
@@ -15,13 +15,10 @@ MODULE_SOURCES_go18= unit.example-go-app \
BUILD_DEPENDS+= golang-1.8 BUILD_DEPENDS+= golang-1.8
MODULE_BUILD_DEPENDS_go=,golang-1.8 MODULE_BUILD_DEPENDS_go18=,golang-1.8
MODULE_DEPENDS_go=,golang-1.8 MODULE_DEPENDS_go18=,golang-1.8
define MODULE_DEFINITIONS_go18 MODULE_NOARCH_go18= true
GOROOT = \$$(shell /usr/lib/go-1.8/bin/go env GOROOT)
endef
export MODULE_DEFINITIONS_go18
define MODULE_PREINSTALL_go18 define MODULE_PREINSTALL_go18
mkdir -p debian/unit-go1.8/usr/share/doc/unit-go1.8/examples/go-app mkdir -p debian/unit-go1.8/usr/share/doc/unit-go1.8/examples/go-app
@@ -38,7 +35,7 @@ The $(MODULE_SUMMARY_go18) has been installed.
To check out the sample app, run these commands: 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 GOPATH=/usr/share/gocode /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 restart
sudo service unit loadconfig /usr/share/doc/unit-go1.8/examples/unit.config sudo service unit loadconfig /usr/share/doc/unit-go1.8/examples/unit.config
curl http://localhost:8500/ curl http://localhost:8500/

View File

@@ -0,0 +1,23 @@
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: all
Depends: lsb-base,
${misc: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%%.

View File

@@ -0,0 +1,93 @@
#!/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_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

View File

@@ -3,7 +3,7 @@ package main
import ( import (
"fmt" "fmt"
"net/http" "net/http"
"unit" "nginx/unit"
) )
func handler(w http.ResponseWriter, r *http.Request) { func handler(w http.ResponseWriter, r *http.Request) {

View File

@@ -3,7 +3,7 @@ package main
import ( import (
"fmt" "fmt"
"net/http" "net/http"
"unit" "nginx/unit"
) )
func handler(w http.ResponseWriter, r *http.Request) { func handler(w http.ResponseWriter, r *http.Request) {

View File

@@ -5,7 +5,7 @@ MODULE_SUMMARY_go= Go module for NGINX Unit
MODULE_VERSION_go= $(VERSION) MODULE_VERSION_go= $(VERSION)
MODULE_RELEASE_go= 1 MODULE_RELEASE_go= 1
MODULE_CONFARGS_go= go --go-path=%{goroot} MODULE_CONFARGS_go= go --go-path=%{gopath}
MODULE_MAKEARGS_go= go MODULE_MAKEARGS_go= go
MODULE_INSTARGS_go= go-install MODULE_INSTARGS_go= go-install
@@ -15,11 +15,9 @@ MODULE_SOURCES_go= unit.example-go-app \
BUILD_DEPENDS+= golang BUILD_DEPENDS+= golang
define MODULE_DEFINITIONS_go define MODULE_DEFINITIONS_go
%define goroot %(go env GOROOT)
%define goos %(go env GOOS)
%define goarch %(go env GOARCH)
BuildRequires: golang BuildRequires: golang
BuildArch: noarch
endef endef
export MODULE_DEFINITIONS_go export MODULE_DEFINITIONS_go
@@ -36,9 +34,8 @@ endef
export MODULE_PREINSTALL_go export MODULE_PREINSTALL_go
define MODULE_FILES_go define MODULE_FILES_go
%dir %{goroot}/src/unit %dir %{gopath}/src/nginx/unit
%{goroot}/src/unit/* %{gopath}/src/nginx/unit/*
%{goroot}/pkg/%{goos}_%{goarch}/unit.a
endef endef
export MODULE_FILES_go export MODULE_FILES_go
@@ -50,7 +47,7 @@ The $(MODULE_SUMMARY_go) has been installed.
To check the sample app, run these commands: To check the sample app, run these commands:
go build -o /tmp/go-app /usr/share/doc/unit-go/examples/go-app/let-my-people.go GOPATH=/usr/share/gocode go build -o /tmp/go-app /usr/share/doc/unit-go/examples/go-app/let-my-people.go
sudo service unit start sudo service unit start
sudo service unit loadconfig /usr/share/doc/unit-go/examples/unit.config sudo service unit loadconfig /usr/share/doc/unit-go/examples/unit.config
curl http://localhost:8500/ curl http://localhost:8500/

View File

@@ -3,7 +3,7 @@ package main
import ( import (
"fmt" "fmt"
"net/http" "net/http"
"unit" "nginx/unit"
) )
func handler(w http.ResponseWriter, r *http.Request) { func handler(w http.ResponseWriter, r *http.Request) {