diff --git a/build/debian-packages/python-wheezy.diff b/build/debian-packages/python-wheezy.diff new file mode 100644 index 000000000000..1f005726023d --- /dev/null +++ b/build/debian-packages/python-wheezy.diff @@ -0,0 +1,149 @@ +diff -u python2.7-2.7.9/debian/changelog python2.7-2.7.9/debian/changelog +--- python2.7-2.7.9/debian/changelog ++++ python2.7-2.7.9/debian/changelog +@@ -1,3 +1,17 @@ ++python2.7 (2.7.9-2.deb7moz1) wheezy; urgency=medium ++ ++ * Mozilla backport for wheezy. ++ * debian/control.in: ++ - Remove gcc 4.9 build dependency, wheezy doesn't have it. ++ - Remove libexpat1-dev dependency from python dev packages. It prevents ++ from co-installing some i386 -dev packages. ++ * debian/rules: ++ - Adapt ar, ranlib and objcopy paths to work on wheezy. ++ * debian/control.in, debian/rules: Don't generate the -doc package, sphinx ++ is too old in wheezy. ++ ++ -- Mike Hommey Fri, 13 Oct 2017 19:20:21 +0900 ++ + python2.7 (2.7.9-2+deb8u1) jessie; urgency=medium + + * Backport upstream commit b3ce713fb9beebfff9848cefa0acbd59acc68fe9 +diff -u python2.7-2.7.9/debian/control.in python2.7-2.7.9/debian/control.in +--- python2.7-2.7.9/debian/control.in ++++ python2.7-2.7.9/debian/control.in +@@ -3,7 +3,6 @@ + Priority: optional + Maintainer: Matthias Klose + Build-Depends: debhelper (>= 5), @bd_dpkgdev@ +- gcc (>= 4:4.9.2), + quilt, autoconf, autotools-dev, + lsb-release, sharutils, + libreadline-dev, libtinfo-dev, libncursesw5-dev (>= 5.3), @bd_gcc@ +@@ -112,7 +111,7 @@ + Package: @PVER@-dev + Architecture: any + Multi-Arch: allowed +-Depends: @PVER@ (= ${binary:Version}), lib@PVER@-dev (= ${binary:Version}), lib@PVER@ (= ${binary:Version}), libexpat1-dev, ${shlibs:Depends}, ${misc:Depends} ++Depends: @PVER@ (= ${binary:Version}), lib@PVER@-dev (= ${binary:Version}), lib@PVER@ (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends} + Recommends: libc6-dev | libc-dev + Replaces: @PVER@ (<< 2.7-3) + Description: Header files and a static library for Python (v@VER@) +@@ -127,7 +126,7 @@ + Architecture: any + Multi-Arch: same + Pre-Depends: multiarch-support +-Depends: lib@PVER@-stdlib (= ${binary:Version}), lib@PVER@ (= ${binary:Version}), libexpat1-dev, ${shlibs:Depends}, ${misc:Depends} ++Depends: lib@PVER@-stdlib (= ${binary:Version}), lib@PVER@ (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends} + Replaces: @PVER@ (<< 2.7-3), @PVER@-dev (<< 2.7.3-10), @PVER@-minimal (<< 2.7.3-10) + Recommends: libc6-dev | libc-dev + Description: Header files and a static library for Python (v@VER@) +@@ -161,27 +160,6 @@ + IDLE is an Integrated Development Environment for Python (v@VER@). + IDLE is written using Tkinter and therefore quite platform-independent. + +-Package: @PVER@-doc +-Section: doc +-Architecture: all +-Depends: libjs-jquery, libjs-underscore, ${misc:Depends} +-Suggests: @PVER@ +-Description: Documentation for the high-level object-oriented language Python (v@VER@) +- These is the official set of documentation for the interactive high-level +- object-oriented language Python (v@VER@). All documents are provided +- in HTML format. The package consists of ten documents: +- . +- * What's New in Python@VER@ +- * Tutorial +- * Python Library Reference +- * Macintosh Module Reference +- * Python Language Reference +- * Extending and Embedding Python +- * Python/C API Reference +- * Installing Python Modules +- * Documenting Python +- * Distributing Python Modules +- + Package: @PVER@-dbg + Section: debug + Architecture: any +diff -u python2.7-2.7.9/debian/rules python2.7-2.7.9/debian/rules +--- python2.7-2.7.9/debian/rules ++++ python2.7-2.7.9/debian/rules +@@ -121,8 +121,8 @@ + CC = $(DEB_HOST_GNU_TYPE)-gcc + CXX=$(DEB_HOST_GNU_TYPE)-g++ + +-AR=$(DEB_HOST_GNU_TYPE)-ar +-RANLIB=$(DEB_HOST_GNU_TYPE)-ranlib ++AR=$(DEB_HOST_GNU_TYPE)-gcc-ar-4.7 ++RANLIB=$(DEB_HOST_GNU_TYPE)-gcc-ranlib-4.7 + + DPKG_CFLAGS := $(shell dpkg-buildflags --get CPPFLAGS; dpkg-buildflags --get CFLAGS) + DPKG_LDFLAGS := $(shell dpkg-buildflags --get LDFLAGS) +@@ -171,8 +171,6 @@ + LTO_CFLAGS += -ffat-lto-objects + endif + EXTRA_OPT_CFLAGS += $(LTO_CFLAGS) +- AR=$(DEB_HOST_GNU_TYPE)-gcc-ar +- RANLIB=$(DEB_HOST_GNU_TYPE)-gcc-ranlib + endif + + make_build_target = $(if $(with_pgo),profile-opt) +@@ -628,7 +626,6 @@ + + stamps/stamp-doc-html: + dh_testdir +- $(MAKE) -C Doc html + touch stamps/stamp-doc-html + + build-doc: stamps/stamp-patch stamps/stamp-build-doc +@@ -1215,30 +1212,6 @@ + dh_testdir -i + dh_testroot -i + +- : # $(p_doc) package +- dh_installdirs -p$(p_doc) \ +- usr/share/doc/$(p_base) \ +- usr/share/doc/$(p_doc) +- dh_installdocs -p$(p_doc) +- cp -a Doc/build/html $(d_doc)/usr/share/doc/$(p_base)/ +- rm -f $(d_doc)/usr/share/doc/$(p_base)/html/_static/jquery.js +- rm -f $(d_doc)/usr/share/doc/$(p_base)/html/_static/underscore.js +- dh_link -p$(p_doc) \ +- /usr/share/doc/$(p_base)/html \ +- /usr/share/doc/$(p_doc)/html \ +- /usr/share/javascript/jquery/jquery.js \ +- /usr/share/doc/$(p_base)/html/_static/jquery.js \ +- /usr/share/javascript/underscore/underscore.js \ +- /usr/share/doc/$(p_base)/html/_static/underscore.js +- +- : # devhelp docs +- $(buildd_static)/python debian/pyhtml2devhelp.py \ +- $(d_doc)/usr/share/doc/$(p_base)/html index.html $(VER) \ +- > $(d_doc)/usr/share/doc/$(p_base)/html/$(PVER).devhelp +- gzip -9v $(d_doc)/usr/share/doc/$(p_base)/html/$(PVER).devhelp +- dh_link -p$(p_doc) \ +- /usr/share/doc/$(p_base)/html /usr/share/devhelp/books/$(PVER) +- + for i in $(p_ltst); do \ + rm -rf debian/$$i/usr/share/doc/$$i; \ + ln -s $(p_lbase) debian/$$i/usr/share/doc/$$i; \ +@@ -1298,7 +1271,7 @@ + endif + + find $(d_ldbg) $(d_ldev) -name '*.a' ! -type l \ +- | xargs -n 1 $(DEB_HOST_GNU_TYPE)-objcopy -p --remove-section=.gnu.lto_.* ++ | xargs -n 1 objcopy -p --remove-section=.gnu.lto_.* + dh_strip -a -N$(p_dbg) -N$(p_ldbg) -Xdebug -Xdbg --dbg-package=$(p_dbg) + cp Tools/gdb/libpython.py $(d_dbg)/usr/lib/debug/usr/bin/$(PVER)-gdb.py + ln -sf $(PVER)-gdb.py $(d_dbg)/usr/lib/debug/usr/bin/$(PVER)-dbg-gdb.py diff --git a/taskcluster/ci/config.yml b/taskcluster/ci/config.yml index 1f442805907d..5dc781da41c8 100644 --- a/taskcluster/ci/config.yml +++ b/taskcluster/ci/config.yml @@ -41,6 +41,7 @@ treeherder: 'tc-rs': 'Repackage signing executed by Taskcluster' 'tc-BMcs': 'Beetmover checksums, executed by Taskcluster' 'Aries': 'Aries Device Image' + 'Deb7': 'Packages for Debian 7' 'Nexus 5-L': 'Nexus 5-L Device Image' 'I': 'Docker Image Builds' 'TL': 'Toolchain builds for Linux 64-bits' diff --git a/taskcluster/ci/packages/kind.yml b/taskcluster/ci/packages/kind.yml new file mode 100644 index 000000000000..33d2ef2e57c8 --- /dev/null +++ b/taskcluster/ci/packages/kind.yml @@ -0,0 +1,28 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +loader: taskgraph.loader.transform:loader + +transforms: + - taskgraph.transforms.try_job:transforms + - taskgraph.transforms.job:transforms + - taskgraph.transforms.task:transforms + +jobs: + deb7-python: + description: "Python backport for Debian wheezy" + treeherder: + kind: build + platform: packages/opt + symbol: Deb7(python) + tier: 1 + worker-type: aws-provisioner-v1/gecko-{level}-b-linux + worker: + max-run-time: 1800 + run: + using: debian-package + dsc: "http://snapshot.debian.org/archive/debian/20160813T164221Z/pool/main/p/python2.7/python2.7_2.7.9-2+deb8u1.dsc" + dsc-sha256: 274c293e7156edf59cb9f0a9d8cedcd94fa801df35adf39b8a9f3d776a250ead + patch: python-wheezy.diff + pre-build-command: debian/rules control-file