Show More
@@ -1,136 +1,136 b'' | |||||
1 | $(eval HGROOT := $(shell cd ../..; pwd)) |
|
1 | $(eval HGROOT := $(shell cd ../..; pwd)) | |
2 |
|
2 | |||
3 | DEBIAN_CODENAMES := \ |
|
3 | DEBIAN_CODENAMES := \ | |
4 | stretch \ |
|
4 | stretch \ | |
5 | buster \ |
|
5 | buster \ | |
6 | bullseye |
|
6 | bullseye | |
7 |
|
7 | |||
8 | UBUNTU_CODENAMES := \ |
|
8 | UBUNTU_CODENAMES := \ | |
9 | xenial \ |
|
9 | xenial \ | |
10 | bionic \ |
|
10 | bionic \ | |
11 | cosmic \ |
|
11 | cosmic \ | |
12 | focal |
|
12 | focal | |
13 |
|
13 | |||
14 | FEDORA_RELEASE := 31 |
|
14 | FEDORA_RELEASE := 31 | |
15 |
|
15 | |||
16 | RHEL_RELEASES := \ |
|
16 | RHEL_RELEASES := \ | |
17 | 7 \ |
|
17 | 7 \ | |
18 | 8 \ |
|
18 | 8 \ | |
19 | 9 |
|
19 | 9 | |
20 |
|
20 | |||
21 | # Build a Python for these RHEL (and derivatives) releases. |
|
21 | # Build a Python for these RHEL (and derivatives) releases. | |
22 | RHEL_WITH_PYTHON_RELEASES := |
|
22 | RHEL_WITH_PYTHON_RELEASES := | |
23 | RHEL_WITH_NONVERSIONED_PYTHON := |
|
23 | RHEL_WITH_NONVERSIONED_PYTHON := | |
24 | RHEL_WITH_36_DOCUTILS := 7 |
|
24 | RHEL_WITH_36_DOCUTILS := 7 | |
25 |
|
25 | |||
26 | help: |
|
26 | help: | |
27 | @echo 'Packaging Make Targets' |
|
27 | @echo 'Packaging Make Targets' | |
28 | @echo '' |
|
28 | @echo '' | |
29 | @echo 'docker-rhel{$(strip $(RHEL_RELEASES))}' |
|
29 | @echo 'docker-rhel{$(strip $(RHEL_RELEASES))}' | |
30 | @echo ' Build an RPM for a specific RHEL/derivative version using Docker.' |
|
30 | @echo ' Build an RPM for a specific RHEL/derivative version using Docker.' | |
31 | @echo '' |
|
31 | @echo '' | |
32 | @echo 'docker-debian-{$(strip $(DEBIAN_CODENAMES))}' |
|
32 | @echo 'docker-debian-{$(strip $(DEBIAN_CODENAMES))}' | |
33 | @echo ' Build Debian packages specific to a Debian distro using Docker.' |
|
33 | @echo ' Build Debian packages specific to a Debian distro using Docker.' | |
34 | @echo '' |
|
34 | @echo '' | |
35 | @echo 'docker-fedora' |
|
35 | @echo 'docker-fedora' | |
36 | @echo ' Build an RPM for a Fedora $(FEDORA_RELEASE) using Docker.' |
|
36 | @echo ' Build an RPM for a Fedora $(FEDORA_RELEASE) using Docker.' | |
37 | @echo '' |
|
37 | @echo '' | |
38 | @echo 'docker-ubuntu-{$(strip $(UBUNTU_CODENAMES))}' |
|
38 | @echo 'docker-ubuntu-{$(strip $(UBUNTU_CODENAMES))}' | |
39 | @echo ' Build Debian package specific to an Ubuntu distro using Docker.' |
|
39 | @echo ' Build Debian package specific to an Ubuntu distro using Docker.' | |
40 | @echo '' |
|
40 | @echo '' | |
41 | @echo 'docker-ubuntu-{$(strip $(UBUNTU_CODENAMES))}-ppa' |
|
41 | @echo 'docker-ubuntu-{$(strip $(UBUNTU_CODENAMES))}-ppa' | |
42 | @echo ' Build a source-only Debian package specific to an Ubuntu distro' |
|
42 | @echo ' Build a source-only Debian package specific to an Ubuntu distro' | |
43 | @echo ' using Docker.' |
|
43 | @echo ' using Docker.' | |
44 | @echo '' |
|
44 | @echo '' | |
45 | @echo 'linux-wheels' |
|
45 | @echo 'linux-wheels' | |
46 | @echo ' Build Linux manylinux wheels using Docker.' |
|
46 | @echo ' Build Linux manylinux wheels using Docker.' | |
47 | @echo '' |
|
47 | @echo '' | |
48 | @echo 'linux-wheels-{x86_64, i686}' |
|
48 | @echo 'linux-wheels-{x86_64, i686}' | |
49 | @echo ' Build Linux manylinux wheels for a specific architecture using Docker' |
|
49 | @echo ' Build Linux manylinux wheels for a specific architecture using Docker' | |
50 | @echo '' |
|
50 | @echo '' | |
51 | @echo 'deb' |
|
51 | @echo 'deb' | |
52 | @echo ' Build a Debian package locally targeting the current system' |
|
52 | @echo ' Build a Debian package locally targeting the current system' | |
53 | @echo '' |
|
53 | @echo '' | |
54 | @echo 'ppa' |
|
54 | @echo 'ppa' | |
55 | @echo ' Build a Debian source package locally targeting the current system' |
|
55 | @echo ' Build a Debian source package locally targeting the current system' | |
56 | @echo '' |
|
56 | @echo '' | |
57 | @echo 'rhel{$(strip $(RHEL_RELEASES))}' |
|
57 | @echo 'rhel{$(strip $(RHEL_RELEASES))}' | |
58 | @echo ' Build an RPM for a specific RHEL/derivative version locally' |
|
58 | @echo ' Build an RPM for a specific RHEL/derivative version locally' | |
59 | @echo '' |
|
59 | @echo '' | |
60 | @echo 'fedora' |
|
60 | @echo 'fedora' | |
61 | @echo ' Build an RPM for Fedora $(FEDORA_RELEASE) locally' |
|
61 | @echo ' Build an RPM for Fedora $(FEDORA_RELEASE) locally' | |
62 |
|
62 | |||
63 | .PHONY: help |
|
63 | .PHONY: help | |
64 |
|
64 | |||
65 | .PHONY: deb |
|
65 | .PHONY: deb | |
66 | deb: |
|
66 | deb: | |
67 | ./builddeb |
|
67 | ./builddeb | |
68 |
|
68 | |||
69 | .PHONY: ppa |
|
69 | .PHONY: ppa | |
70 | ppa: |
|
70 | ppa: | |
71 | ./builddeb --source-only |
|
71 | ./builddeb --source-only | |
72 |
|
72 | |||
73 | # Debian targets. |
|
73 | # Debian targets. | |
74 | define debian_targets = |
|
74 | define debian_targets = | |
75 | .PHONY: docker-debian-$(1) |
|
75 | .PHONY: docker-debian-$(1) | |
76 | docker-debian-$(1): |
|
76 | docker-debian-$(1): | |
77 | ./dockerdeb debian $(1) |
|
77 | ./dockerdeb debian $(1) | |
78 |
|
78 | |||
79 | endef |
|
79 | endef | |
80 |
|
80 | |||
81 | $(foreach codename,$(DEBIAN_CODENAMES),$(eval $(call debian_targets,$(codename)))) |
|
81 | $(foreach codename,$(DEBIAN_CODENAMES),$(eval $(call debian_targets,$(codename)))) | |
82 |
|
82 | |||
83 | # Ubuntu targets. |
|
83 | # Ubuntu targets. | |
84 | define ubuntu_targets = |
|
84 | define ubuntu_targets = | |
85 | .PHONY: docker-ubuntu-$(1) |
|
85 | .PHONY: docker-ubuntu-$(1) | |
86 | docker-ubuntu-$(1): |
|
86 | docker-ubuntu-$(1): | |
87 | ./dockerdeb ubuntu $(1) |
|
87 | ./dockerdeb ubuntu $(1) | |
88 |
|
88 | |||
89 | .PHONY: docker-ubuntu-$(1)-ppa |
|
89 | .PHONY: docker-ubuntu-$(1)-ppa | |
90 | docker-ubuntu-$(1)-ppa: |
|
90 | docker-ubuntu-$(1)-ppa: | |
91 | ./dockerdeb ubuntu $(1) --source-only |
|
91 | ./dockerdeb ubuntu $(1) --source-only | |
92 |
|
92 | |||
93 | endef |
|
93 | endef | |
94 |
|
94 | |||
95 | $(foreach codename,$(UBUNTU_CODENAMES),$(eval $(call ubuntu_targets,$(codename)))) |
|
95 | $(foreach codename,$(UBUNTU_CODENAMES),$(eval $(call ubuntu_targets,$(codename)))) | |
96 |
|
96 | |||
97 | # Fedora targets. |
|
97 | # Fedora targets. | |
98 | .PHONY: fedora |
|
98 | .PHONY: fedora | |
99 | fedora: |
|
99 | fedora: | |
100 | mkdir -p $(HGROOT)/packages/fedora$(FEDORA_RELEASE) |
|
100 | mkdir -p $(HGROOT)/packages/fedora$(FEDORA_RELEASE) | |
101 | ./buildrpm |
|
101 | ./buildrpm | |
102 | cp $(HGROOT)/contrib/packaging/rpmbuild/RPMS/*/* $(HGROOT)/packages/fedora$(FEDORA_RELEASE) |
|
102 | cp $(HGROOT)/contrib/packaging/rpmbuild/RPMS/*/* $(HGROOT)/packages/fedora$(FEDORA_RELEASE) | |
103 | cp $(HGROOT)/contrib/packaging/rpmbuild/SRPMS/* $(HGROOT)/packages/fedora$(FEDORA_RELEASE) |
|
103 | cp $(HGROOT)/contrib/packaging/rpmbuild/SRPMS/* $(HGROOT)/packages/fedora$(FEDORA_RELEASE) | |
104 | rm -rf $(HGROOT)/rpmbuild |
|
104 | rm -rf $(HGROOT)/rpmbuild | |
105 |
|
105 | |||
106 | .PHONY: docker-fedora |
|
106 | .PHONY: docker-fedora | |
107 | docker-fedora: |
|
107 | docker-fedora: | |
108 | ./dockerrpm fedora$(FEDORA_RELEASE) |
|
108 | ./dockerrpm fedora$(FEDORA_RELEASE) | |
109 |
|
109 | |||
110 | # RHEL targets. |
|
110 | # RHEL targets. | |
111 | define rhel_targets |
|
111 | define rhel_targets | |
112 | .PHONY: rhel$(1) |
|
112 | .PHONY: rhel$(1) | |
113 | rhel$(1): |
|
113 | rhel$(1): | |
114 | mkdir -p $$(HGROOT)/packages/rhel$(1) |
|
114 | mkdir -p $$(HGROOT)/packages/rhel$(1) | |
115 | ./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,) |
|
115 | ./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,) | |
116 | cp $$(HGROOT)/contrib/packaging/rpmbuild/RPMS/*/* $$(HGROOT)/packages/rhel$(1) |
|
116 | cp $$(HGROOT)/contrib/packaging/rpmbuild/RPMS/*/* $$(HGROOT)/packages/rhel$(1) | |
117 | cp $$(HGROOT)/contrib/packaging/rpmbuild/SRPMS/* $$(HGROOT)/packages/rhel$(1) |
|
117 | cp $$(HGROOT)/contrib/packaging/rpmbuild/SRPMS/* $$(HGROOT)/packages/rhel$(1) | |
118 |
|
118 | |||
119 | .PHONY: docker-rhel$(1) |
|
119 | .PHONY: docker-rhel$(1) | |
120 | docker-rhel$(1): |
|
120 | docker-rhel$(1): | |
121 | ./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,) |
|
121 | ./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,) | |
122 |
|
122 | |||
123 | endef |
|
123 | endef | |
124 |
|
124 | |||
125 | $(foreach release,$(RHEL_RELEASES),$(eval $(call rhel_targets,$(release)))) |
|
125 | $(foreach release,$(RHEL_RELEASES),$(eval $(call rhel_targets,$(release)))) | |
126 |
|
126 | |||
127 | .PHONY: linux-wheels |
|
127 | .PHONY: linux-wheels | |
128 |
linux-wheels: linux-wheels-x86_64 |
|
128 | linux-wheels: linux-wheels-x86_64 | |
129 |
|
129 | |||
130 | .PHONY: linux-wheels-x86_64 |
|
130 | .PHONY: linux-wheels-x86_64 | |
131 | linux-wheels-x86_64: |
|
131 | linux-wheels-x86_64: | |
132 | docker run --rm -ti -v `pwd`/../..:/src registry.heptapod.net/mercurial/ci-images/core-wheel-x86_64-c:v3.0 /src/contrib/packaging/build-linux-wheels.sh |
|
132 | docker run --rm -ti -v `pwd`/../..:/src registry.heptapod.net/mercurial/ci-images/core-wheel-x86_64-c:v3.0 /src/contrib/packaging/build-linux-wheels.sh | |
133 |
|
133 | |||
134 | .PHONY: linux-wheels-i686 |
|
134 | .PHONY: linux-wheels-i686 | |
135 | linux-wheels-i686: |
|
135 | linux-wheels-i686: | |
136 | 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 |
|
136 | 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 |
General Comments 0
You need to be logged in to leave comments.
Login now