##// END OF EJS Templates
obsutil: sort metadata before comparing in geteffectflag()...
obsutil: sort metadata before comparing in geteffectflag() This is probably less important now that we dropped Python 2. We do still support Python 3.6 though, and the dictionaries aren't ordered there either (that was a big change that came with 3.7). Still, maybe it's a good idea to sort metadata explicitly.

File last commit:

r50314:2edb41ed default
r52395:a5d8f261 stable
Show More
Makefile
136 lines | 4.0 KiB | text/x-makefile | MakefileLexer
Gregory Szorc
packaging: move most packaging targets to own Makefile...
r38034 $(eval HGROOT := $(shell cd ../..; pwd))
Gregory Szorc
packaging: dynamically define make targets...
r38478 DEBIAN_CODENAMES := \
stretch \
av6
packaging: add Bullseye, remove Jessie...
r43077 buster \
bullseye
Gregory Szorc
packaging: dynamically define make targets...
r38478
UBUNTU_CODENAMES := \
xenial \
bionic \
av6
packaging: add Cosmic and Disco, remove Trusty and Artful...
r43076 cosmic \
Matt Harbison
packaging: drop Disco (19.04) and add Focal (20.04)...
r46582 focal
Gregory Szorc
packaging: dynamically define make targets...
r38478
Mads Kiilerich
packaging: update built-in Fedora support to Fedora 31...
r43678 FEDORA_RELEASE := 31
Gregory Szorc
packaging: dynamically define make targets...
r38478
Mathias De Mare
contrib: refer to RHEL and derivatives instead of CentOS specifically...
r49613 RHEL_RELEASES := \
Mathias De Mare
packaging: add support for CentOS 8...
r43723 7 \
Mathias De Mare
contrib: add support for rhel9
r50314 8 \
9
Gregory Szorc
packaging: dynamically define make targets...
r38478
Mathias De Mare
contrib: refer to RHEL and derivatives instead of CentOS specifically...
r49613 # Build a Python for these RHEL (and derivatives) releases.
RHEL_WITH_PYTHON_RELEASES :=
RHEL_WITH_NONVERSIONED_PYTHON :=
RHEL_WITH_36_DOCUTILS := 7
Gregory Szorc
packaging: dynamically define make targets...
r38478
Gregory Szorc
packaging: move most packaging targets to own Makefile...
r38034 help:
@echo 'Packaging Make Targets'
@echo ''
Mathias De Mare
contrib: refer to RHEL and derivatives instead of CentOS specifically...
r49613 @echo 'docker-rhel{$(strip $(RHEL_RELEASES))}'
@echo ' Build an RPM for a specific RHEL/derivative version using Docker.'
Gregory Szorc
packaging: move most packaging targets to own Makefile...
r38034 @echo ''
Gregory Szorc
packaging: dynamically define make targets...
r38478 @echo 'docker-debian-{$(strip $(DEBIAN_CODENAMES))}'
Gregory Szorc
packaging: move most packaging targets to own Makefile...
r38034 @echo ' Build Debian packages specific to a Debian distro using Docker.'
@echo ''
Mads Kiilerich
packaging: refactor "fedora29" target to a single more generic "fedora" target...
r43677 @echo 'docker-fedora'
@echo ' Build an RPM for a Fedora $(FEDORA_RELEASE) using Docker.'
Gregory Szorc
packaging: move most packaging targets to own Makefile...
r38034 @echo ''
Gregory Szorc
packaging: dynamically define make targets...
r38478 @echo 'docker-ubuntu-{$(strip $(UBUNTU_CODENAMES))}'
Gregory Szorc
packaging: move most packaging targets to own Makefile...
r38034 @echo ' Build Debian package specific to an Ubuntu distro using Docker.'
@echo ''
Gregory Szorc
packaging: dynamically define make targets...
r38478 @echo 'docker-ubuntu-{$(strip $(UBUNTU_CODENAMES))}-ppa'
Gregory Szorc
packaging: move most packaging targets to own Makefile...
r38034 @echo ' Build a source-only Debian package specific to an Ubuntu distro'
@echo ' using Docker.'
@echo ''
@echo 'linux-wheels'
@echo ' Build Linux manylinux wheels using Docker.'
@echo ''
@echo 'linux-wheels-{x86_64, i686}'
@echo ' Build Linux manylinux wheels for a specific architecture using Docker'
@echo ''
@echo 'deb'
@echo ' Build a Debian package locally targeting the current system'
@echo ''
@echo 'ppa'
@echo ' Build a Debian source package locally targeting the current system'
@echo ''
Mathias De Mare
contrib: refer to RHEL and derivatives instead of CentOS specifically...
r49613 @echo 'rhel{$(strip $(RHEL_RELEASES))}'
@echo ' Build an RPM for a specific RHEL/derivative version locally'
Gregory Szorc
packaging: move most packaging targets to own Makefile...
r38034 @echo ''
Mads Kiilerich
packaging: refactor "fedora29" target to a single more generic "fedora" target...
r43677 @echo 'fedora'
@echo ' Build an RPM for Fedora $(FEDORA_RELEASE) locally'
Gregory Szorc
packaging: move most packaging targets to own Makefile...
r38034
.PHONY: help
.PHONY: deb
deb:
./builddeb
.PHONY: ppa
ppa:
./builddeb --source-only
Gregory Szorc
packaging: dynamically define make targets...
r38478 # Debian targets.
define debian_targets =
.PHONY: docker-debian-$(1)
docker-debian-$(1):
./dockerdeb debian $(1)
Gregory Szorc
packaging: move most packaging targets to own Makefile...
r38034
Gregory Szorc
packaging: dynamically define make targets...
r38478 endef
Gregory Szorc
packaging: move most packaging targets to own Makefile...
r38034
Gregory Szorc
packaging: dynamically define make targets...
r38478 $(foreach codename,$(DEBIAN_CODENAMES),$(eval $(call debian_targets,$(codename))))
Gregory Szorc
packaging: move most packaging targets to own Makefile...
r38034
Gregory Szorc
packaging: dynamically define make targets...
r38478 # Ubuntu targets.
define ubuntu_targets =
.PHONY: docker-ubuntu-$(1)
docker-ubuntu-$(1):
./dockerdeb ubuntu $(1)
Gregory Szorc
packaging: move most packaging targets to own Makefile...
r38034
Gregory Szorc
packaging: dynamically define make targets...
r38478 .PHONY: docker-ubuntu-$(1)-ppa
docker-ubuntu-$(1)-ppa:
./dockerdeb ubuntu $(1) --source-only
Gregory Szorc
packaging: move most packaging targets to own Makefile...
r38034
Gregory Szorc
packaging: dynamically define make targets...
r38478 endef
Gregory Szorc
packaging: move most packaging targets to own Makefile...
r38034
Gregory Szorc
packaging: dynamically define make targets...
r38478 $(foreach codename,$(UBUNTU_CODENAMES),$(eval $(call ubuntu_targets,$(codename))))
Gregory Szorc
packaging: move most packaging targets to own Makefile...
r38034
Gregory Szorc
packaging: dynamically define make targets...
r38478 # Fedora targets.
Mads Kiilerich
packaging: refactor "fedora29" target to a single more generic "fedora" target...
r43677 .PHONY: fedora
fedora:
mkdir -p $(HGROOT)/packages/fedora$(FEDORA_RELEASE)
Gregory Szorc
packaging: move most packaging targets to own Makefile...
r38034 ./buildrpm
Mads Kiilerich
packaging: refactor "fedora29" target to a single more generic "fedora" target...
r43677 cp $(HGROOT)/contrib/packaging/rpmbuild/RPMS/*/* $(HGROOT)/packages/fedora$(FEDORA_RELEASE)
cp $(HGROOT)/contrib/packaging/rpmbuild/SRPMS/* $(HGROOT)/packages/fedora$(FEDORA_RELEASE)
Gregory Szorc
packaging: move most packaging targets to own Makefile...
r38034 rm -rf $(HGROOT)/rpmbuild
Mads Kiilerich
packaging: refactor "fedora29" target to a single more generic "fedora" target...
r43677 .PHONY: docker-fedora
docker-fedora:
./dockerrpm fedora$(FEDORA_RELEASE)
Gregory Szorc
packaging: move most packaging targets to own Makefile...
r38034
Mathias De Mare
contrib: refer to RHEL and derivatives instead of CentOS specifically...
r49613 # RHEL targets.
define rhel_targets
.PHONY: rhel$(1)
rhel$(1):
mkdir -p $$(HGROOT)/packages/rhel$(1)
./buildrpm $$(if $$(filter $(1),$$(RHEL_WITH_PYTHON_RELEASES)),--withpython,$$(if $$(filter $(1),$$(RHEL_WITH_NONVERSIONED_PYTHON)),--python python,))$$(if $$(filter $(1),$$(RHEL_WITH_36_DOCUTILS)), --docutilspackage python36-docutils,)
cp $$(HGROOT)/contrib/packaging/rpmbuild/RPMS/*/* $$(HGROOT)/packages/rhel$(1)
cp $$(HGROOT)/contrib/packaging/rpmbuild/SRPMS/* $$(HGROOT)/packages/rhel$(1)
Gregory Szorc
packaging: move most packaging targets to own Makefile...
r38034
Mathias De Mare
contrib: refer to RHEL and derivatives instead of CentOS specifically...
r49613 .PHONY: docker-rhel$(1)
docker-rhel$(1):
./dockerrpm rhel$(1) $$(if $$(filter $(1),$$(RHEL_WITH_PYTHON_RELEASES)),--withpython,$$(if $$(filter $(1),$$(RHEL_WITH_NONVERSIONED_PYTHON)),--python python,))$$(if $$(filter $(1),$$(RHEL_WITH_36_DOCUTILS)), --docutilspackage python36-docutils,)
Gregory Szorc
packaging: move most packaging targets to own Makefile...
r38034
Gregory Szorc
packaging: dynamically define make targets...
r38478 endef
Gregory Szorc
packaging: move most packaging targets to own Makefile...
r38034
Mathias De Mare
contrib: refer to RHEL and derivatives instead of CentOS specifically...
r49613 $(foreach release,$(RHEL_RELEASES),$(eval $(call rhel_targets,$(release))))
Gregory Szorc
packaging: move most packaging targets to own Makefile...
r38034
.PHONY: linux-wheels
linux-wheels: linux-wheels-x86_64 linux-wheels-i686
.PHONY: linux-wheels-x86_64
linux-wheels-x86_64:
docker run -e "HGTEST_JOBS=$(shell nproc)" --rm -ti -v `pwd`/../..:/src quay.io/pypa/manylinux1_x86_64 /src/contrib/packaging/build-linux-wheels.sh
.PHONY: linux-wheels-i686
linux-wheels-i686:
docker run -e "HGTEST_JOBS=$(shell nproc)" --rm -ti -v `pwd`/../..:/src quay.io/pypa/manylinux1_i686 linux32 /src/contrib/packaging/build-linux-wheels.sh