@@ -9,22 +9,18 @@ AZURE_PACKAGES_DIR := ./build/azure/packages
99BINARY_PATH := $(BUILD_DIR ) /$(BINARY_NAME )
1010GPG_PUBLIC_KEY := .key
1111PACKAGE_BUILD ?= 1
12- PACKAGE_VERSION := $(shell echo ${VERSION} | tr -d 'v' )
12+ PACKAGE_VERSION := $(shell git describe --match "v[0-9] * " --abbrev=0 --tags )
1313TARBALL_NAME := $(PACKAGE_PREFIX ) .tar.gz
1414
15- DEB_DISTROS ?= ubuntu-plucky-25.04 ubuntu-oracular-24.10 ubuntu-noble-24.04 ubuntu-jammy-22.04 debian-bookworm-12 debian-bullseye-11
15+ DEB_DISTROS ?= ubuntu-plucky-25.04 ubuntu-oracular-24.10 ubuntu-noble-24.04 ubuntu-jammy-22.04 ubuntu-focal-20.04 debian-bookworm-12 debian-bullseye-11
1616DEB_ARCHS ?= arm64 amd64
17- RPM_DISTROS ?= oraclelinux-8-x86_64 oraclelinux-9-x86_64 oraclelinux-10-x86_64 suse-15-x86_64
17+ RPM_DISTROS ?= suse-15-x86_64
1818RPM_ARCH := x86_64
1919REDHAT_VERSIONS ?= redhatenterprise-8 redhatenterprise-9 redhatenterprise-10
2020REDHAT_ARCHS ?= aarch64 x86_64
21- ROCKY_VERSIONS ?= rocky-8 rocky-9 rocky-10
22- ROCKY_ARCHS ?= aarch64 x86_64
23- APK_VERSIONS ?= 3.19 3.20 3.21 3.22
21+ APK_VERSIONS ?= 3.18 3.19 3.20 3.21 3.22
2422APK_ARCHS ?= aarch64 x86_64
2523APK_REVISION ?= 1
26- ALMA_VERSIONS ?= almalinux-8 almalinux-9 almalinux-10
27- ALMA_ARCHS ?= aarch64 x86_64
2824AMAZON_VERSIONS ?= amazon-2 amazon-2023
2925AMAZON_ARCHS ?= aarch64 x86_64
3026
@@ -34,55 +30,38 @@ AMAZON_ARCHS ?= aarch64 x86_64
3430.PHONY : clean-packages
3531clean-packages :
3632 rm -rf $(PACKAGES_DIR )
37- rm -rf $(GITHUB_PACKAGES_DIR )
38- rm -rf $(AZURE_PACKAGES_DIR )
3933
4034$(PACKAGES_DIR ) :
41- @mkdir -p $(PACKAGES_DIR ) /deb && mkdir -p $(PACKAGES_DIR ) /rpm && mkdir -p $(PACKAGES_DIR ) /apk && mkdir -p $(PACKAGES_DIR ) /txz
42-
43- $(GITHUB_PACKAGES_DIR ) :
44- @mkdir -p $(GITHUB_PACKAGES_DIR )
45-
46- $(AZURE_PACKAGES_DIR ) :
47- @mkdir -p $(AZURE_PACKAGES_DIR )
35+ @mkdir -p $(PACKAGES_DIR ) /deb && mkdir -p $(PACKAGES_DIR ) /rpm && mkdir -p $(PACKAGES_DIR ) /apk
4836
4937.PHONY : package
50- package : gpg-key $(PACKAGES_DIR ) $( GITHUB_PACKAGES_DIR ) $( AZURE_PACKAGES_DIR ) # ### Create final packages for all supported distros
38+ package : $(PACKAGES_DIR ) # ### Create final packages for all supported distros
5139 # Create deb packages
52-
5340 @for arch in $(DEB_ARCHS ) ; do \
5441 GOWORK=off CGO_ENABLED=0 GOARCH=$$ {arch} GOOS=linux go build -pgo=auto -ldflags=${LDFLAGS} -o $(BINARY_PATH ) $(PROJECT_DIR ) /$(PROJECT_FILE ) ; \
5542 for distro in $( DEB_DISTROS) ; do \
5643 deb_codename=` echo $$ distro | cut -d- -f 2` ; \
5744 VERSION=$(PACKAGE_VERSION ) ~$$ {deb_codename} ARCH=$$ {arch} nfpm pkg --config .nfpm.yaml --packager deb --target ${PACKAGES_DIR} /deb/${PACKAGE_PREFIX} _$(PACKAGE_VERSION ) ~$$ {deb_codename}_$$ {arch}.deb; \
58- cp ${PACKAGES_DIR} /deb/${PACKAGE_PREFIX} _$(PACKAGE_VERSION ) ~$$ {deb_codename}_$$ {arch}.deb ${GITHUB_PACKAGES_DIR} /${PACKAGE_PREFIX} -$(PACKAGE_VERSION ) ~$$ {deb_codename}_$$ {arch}.deb; \
59- cp ${PACKAGES_DIR} /deb/${PACKAGE_PREFIX} _$(PACKAGE_VERSION ) ~$$ {deb_codename}_$$ {arch}.deb ${AZURE_PACKAGES_DIR} /${PACKAGE_PREFIX} -$(PACKAGE_VERSION ) ~$$ {deb_codename}_$$ {arch}.deb; \
6045 done ; \
6146 rm -rf $(BINARY_PATH ) ; \
6247 done ; \
6348
6449 # Create rpm packages
65-
6650 @GOWORK=off CGO_ENABLED=0 GOARCH=amd64 GOOS=linux go build -pgo=auto -ldflags=${LDFLAGS} -o $(BINARY_PATH ) $(PROJECT_DIR ) /$(PROJECT_FILE )
6751 @for distro in $(RPM_DISTROS ) ; do \
6852 rpm_distro=` echo $$ distro | cut -d- -f 1` ; \
6953 rpm_major=` echo $$ distro | cut -d- -f 2` ; \
7054 rpm_codename=' na' ; \
71- if [ "$$rpm_distro" = "centos" ] || [ "$$rpm_distro" = "redhatenterprise" ]; then rpm_codename="el$$rpm_major"; \
72- elif [ "$$rpm_distro" = "oraclelinux" ]; then rpm_codename="oraclelinux$$rpm_major"; \
73- elif [ "$$rpm_distro" = "suse" ]; then rpm_codename="sles$$rpm_major"; \
55+ if [ " $$ rpm_distro" = " suse" ]; then rpm_codename=" sles$$ rpm_major" ; \
7456 fi ; \
7557 if [ " $$ rpm_codename" != " na" ]; then \
7658 VERSION=$(PACKAGE_VERSION ) ARCH=amd64 nfpm pkg --config .nfpm.yaml --packager rpm --target $(PACKAGES_DIR ) /rpm/${PACKAGE_PREFIX} -$(PACKAGE_VERSION ) .$$ {rpm_codename}.ngx.${RPM_ARCH} .rpm; \
77- cp $(PACKAGES_DIR)/rpm/${PACKAGE_PREFIX}-$(PACKAGE_VERSION).$${rpm_codename}.ngx.$(RPM_ARCH).rpm ${GITHUB_PACKAGES_DIR}/${PACKAGE_PREFIX}-$(PACKAGE_VERSION).$${rpm_codename}.ngx.${RPM_ARCH}.rpm; \
78- cp $(PACKAGES_DIR)/rpm/${PACKAGE_PREFIX}-$(PACKAGE_VERSION).$${rpm_codename}.ngx.$(RPM_ARCH).rpm ${AZURE_PACKAGES_DIR}/${PACKAGE_PREFIX}-$(PACKAGE_VERSION).$${rpm_codename}.ngx.${RPM_ARCH}.rpm; \
7959 fi ; \
8060 done ; \
8161 rm -rf $(BINARY_PATH )
8262
8363
8464 # Create redhat rpm packages
85-
8665 @for arch in $(REDHAT_ARCHS); do \
8766 goarch=amd64; \
8867 if [ "$$arch" = "aarch64" ]; then goarch="arm64"; fi; \
@@ -92,49 +71,12 @@ package: gpg-key $(PACKAGES_DIR) $(GITHUB_PACKAGES_DIR) $(AZURE_PACKAGES_DIR) ##
9271 rpm_major=`echo $$distro | cut -d- -f 2`; \
9372 rpm_codename="el$$rpm_major"; \
9473 VERSION=$(PACKAGE_VERSION) ARCH=$${arch} nfpm pkg --config .nfpm.yaml --packager rpm --target $(PACKAGES_DIR)/rpm/${PACKAGE_PREFIX}-$(PACKAGE_VERSION).$${rpm_codename}.ngx.$${arch}.rpm; \
95- cp $(PACKAGES_DIR)/rpm/${PACKAGE_PREFIX}-$(PACKAGE_VERSION).$${rpm_codename}.ngx.$${arch}.rpm ${GITHUB_PACKAGES_DIR}/${PACKAGE_PREFIX}-$(PACKAGE_VERSION).$${rpm_codename}.ngx.$${arch}.rpm; \
96- cp $(PACKAGES_DIR)/rpm/${PACKAGE_PREFIX}-$(PACKAGE_VERSION).$${rpm_codename}.ngx.$${arch}.rpm ${AZURE_PACKAGES_DIR}/${PACKAGE_PREFIX}-$(PACKAGE_VERSION).$${rpm_codename}.ngx.$${arch}.rpm; \
9774 done; \
9875 rm -rf $(BINARY_PATH); \
9976 done; \
10077
101- # Create almalinux rpm packages
102-
103- @for arch in $(ALMA_ARCHS); do \
104- goarch=amd64; \
105- if [ "$$arch" = "aarch64" ]; then goarch="arm64"; fi; \
106- GOWORK=off CGO_ENABLED=0 GOARCH=$${goarch} GOOS=linux go build -pgo=auto -ldflags=${LDFLAGS} -o $(BINARY_PATH) $(PROJECT_DIR)/$(PROJECT_FILE); \
107- for distro in $(ALMA_VERSIONS); do \
108- rpm_distro=`echo $$distro | cut -d- -f 1`; \
109- rpm_major=`echo $$distro | cut -d- -f 2`; \
110- rpm_codename="almalinux$$rpm_major"; \
111- VERSION=$(PACKAGE_VERSION) ARCH=$${arch} nfpm pkg --config .nfpm.yaml --packager rpm --target $(PACKAGES_DIR)/rpm/${PACKAGE_PREFIX}-$(PACKAGE_VERSION).$${rpm_codename}.ngx.$${arch}.rpm; \
112- cp $(PACKAGES_DIR)/rpm/${PACKAGE_PREFIX}-$(PACKAGE_VERSION).$${rpm_codename}.ngx.$${arch}.rpm ${GITHUB_PACKAGES_DIR}/${PACKAGE_PREFIX}-$(PACKAGE_VERSION).$${rpm_codename}.ngx.$${arch}.rpm; \
113- cp $(PACKAGES_DIR)/rpm/${PACKAGE_PREFIX}-$(PACKAGE_VERSION).$${rpm_codename}.ngx.$${arch}.rpm ${AZURE_PACKAGES_DIR}/${PACKAGE_PREFIX}-$(PACKAGE_VERSION).$${rpm_codename}.ngx.$${arch}.rpm; \
114- done; \
115- rm -rf $(BINARY_PATH); \
116- done; \
117-
118- # Create rocky rpm packages
119-
120- @for arch in $(ROCKY_ARCHS); do \
121- goarch=amd64; \
122- if [ "$$arch" = "aarch64" ]; then goarch="arm64"; fi; \
123- GOWORK=off CGO_ENABLED=0 GOARCH=$${goarch} GOOS=linux go build -pgo=auto -ldflags=${LDFLAGS} -o $(BINARY_PATH) $(PROJECT_DIR)/$(PROJECT_FILE); \
124- for distro in $(ROCKY_VERSIONS); do \
125- rpm_distro=`echo $$distro | cut -d- -f 1`; \
126- rpm_major=`echo $$distro | cut -d- -f 2`; \
127- rpm_codename='na'; \
128- if [ "$$rpm_distro" = "rocky" ]; then rpm_codename="rocky$$rpm_major"; fi; \
129- if [ "$$rpm_codename" != "na" ]; then \
130- VERSION=$(PACKAGE_VERSION) ARCH=$${arch} nfpm pkg --config .nfpm.yaml --packager rpm --target $(PACKAGES_DIR)/rpm/${PACKAGE_PREFIX}-$(PACKAGE_VERSION).$${rpm_codename}.ngx.$${arch}.rpm; \
131- cp $(PACKAGES_DIR)/rpm/${PACKAGE_PREFIX}-$(PACKAGE_VERSION).$${rpm_codename}.ngx.$${arch}.rpm ${GITHUB_PACKAGES_DIR}/${PACKAGE_PREFIX}-$(PACKAGE_VERSION).$${rpm_codename}.ngx.$${arch}.rpm; \
132- cp $(PACKAGES_DIR)/rpm/${PACKAGE_PREFIX}-$(PACKAGE_VERSION).$${rpm_codename}.ngx.$${arch}.rpm ${AZURE_PACKAGES_DIR}/${PACKAGE_PREFIX}-$(PACKAGE_VERSION).$${rpm_codename}.ngx.$${arch}.rpm; \
133- fi; \
134- done; \
135- rm -rf $(BINARY_PATH); \
136- done; \
13778
79+ # Create amazon rpm packages
13880 @for arch in $(AMAZON_ARCHS); do \
13981 goarch=amd64; \
14082 if [ "$$arch" = "aarch64" ]; then goarch="arm64"; fi; \
@@ -143,34 +85,22 @@ package: gpg-key $(PACKAGES_DIR) $(GITHUB_PACKAGES_DIR) $(AZURE_PACKAGES_DIR) ##
14385 rpm_major=`echo $$version | cut -d- -f 2`; \
14486 rpm_codename="amzn$$rpm_major";\
14587 VERSION=$(PACKAGE_VERSION) ARCH=$${arch} nfpm pkg --config .nfpm.yaml --packager rpm --target $(PACKAGES_DIR)/rpm/${PACKAGE_PREFIX}-$(PACKAGE_VERSION).$${rpm_codename}.ngx.$${arch}.rpm; \
146- cp $(PACKAGES_DIR)/rpm/${PACKAGE_PREFIX}-$(PACKAGE_VERSION).$${rpm_codename}.ngx.$${arch}.rpm ${GITHUB_PACKAGES_DIR}/${PACKAGE_PREFIX}-$(PACKAGE_VERSION).$${rpm_codename}.ngx.$${arch}.rpm; \
147- cp $(PACKAGES_DIR)/rpm/${PACKAGE_PREFIX}-$(PACKAGE_VERSION).$${rpm_codename}.ngx.$${arch}.rpm ${AZURE_PACKAGES_DIR}/${PACKAGE_PREFIX}-$(PACKAGE_VERSION).$${rpm_codename}.ngx.$${arch}.rpm; \
14888 done; \
14989 rm -rf $(BINARY_PATH); \
15090 done; \
15191
15292 # Create apk packages
153-
15493 @for arch in $(APK_ARCHS); do \
15594 goarch=amd64; \
15695 if [ "$$arch" = "aarch64" ]; then goarch="arm64"; fi; \
15796 GOWORK=off CGO_ENABLED=0 GOARCH=$${goarch} GOOS=linux go build -pgo=auto -ldflags=${LDFLAGS} -o $(BINARY_PATH) $(PROJECT_DIR)/$(PROJECT_FILE); \
15897 for version in $(APK_VERSIONS); do \
15998 if [ ! -d "$(PACKAGES_DIR)/apk/v$${version}/$${arch}" ]; then mkdir -p $(PACKAGES_DIR)/apk/v$${version}/$${arch}; fi; \
16099 VERSION=$(PACKAGE_VERSION) ARCH=$${arch} nfpm pkg --config .nfpm.yaml --packager apk --target $(PACKAGES_DIR)/apk/v$${version}/$${arch}/${PACKAGE_PREFIX}-$(PACKAGE_VERSION).apk; \
161- cp $(PACKAGES_DIR)/apk/v$${version}/$${arch}/${PACKAGE_PREFIX}-$(PACKAGE_VERSION).apk ${GITHUB_PACKAGES_DIR}/${PACKAGE_PREFIX}-v$(PACKAGE_VERSION)-r$(APK_REVISION).apk; \
162- cp $(PACKAGES_DIR)/apk/v$${version}/$${arch}/${PACKAGE_PREFIX}-$(PACKAGE_VERSION).apk ${AZURE_PACKAGES_DIR}/${PACKAGE_PREFIX}-v$(PACKAGE_VERSION)-r$(APK_REVISION).apk; \
163100 done; \
164101 rm -rf $(BINARY_PATH); \
165102 done; \
166-
167- # Create txz packages
168-
169- rm -rf $(BINARY_PATH)
170- @GOWORK=off CGO_ENABLED=0 GOOS=freebsd GOARCH=amd64 go build -pgo=auto -ldflags=${LDFLAGS} -o $(BINARY_PATH) $(PROJECT_DIR)/$(PROJECT_FILE)
171-
172- docker run -v ${PWD}:/nginx-agent/ -e VERSION=$(PACKAGE_VERSION) build-signed-packager:1.0.0
173-
103+
174104 # Package build complete
175105
176106 echo "DEB packages:"; \
@@ -179,17 +109,9 @@ package: gpg-key $(PACKAGES_DIR) $(GITHUB_PACKAGES_DIR) $(AZURE_PACKAGES_DIR) ##
179109 find $(PACKAGES_DIR)/rpm ;\
180110 echo "APK packages:"; \
181111 find $(PACKAGES_DIR)/apk ;\
182- echo "TXZ packages:"; \
183- find $(PACKAGES_DIR)/txz ;\
184- echo "Github packages:"; \
185- find $(GITHUB_PACKAGES_DIR) ;\
186- cd $(PACKAGES_DIR) && tar -czvf "./$(TARBALL_NAME)" * && cd ../.. && cp "${PACKAGES_DIR}/$(TARBALL_NAME)" "${AZURE_PACKAGES_DIR}/$(TARBALL_NAME)"; \
187- echo "Azure packages:"; \
188- find $(AZURE_PACKAGES_DIR) ;
189112
190- .PHONY : build-signed-packager
191- build-signed-packager :
192- docker build -f scripts/packages/packager/Dockerfile --build-arg package_type=signed-package -t build-signed-packager:1.0.0 .
113+ # Create tarball containing all packages
114+ cd $(PACKAGES_DIR) && tar -czvf "./$(TARBALL_NAME)" * && cd ../.. && cp "${PACKAGES_DIR}/$(TARBALL_NAME)"; \
193115
194116.PHONY : gpg-key
195117gpg-key : # # Generate GPG public key
0 commit comments