99======
1010
1111Use standard build mechanisms such as ``dpkg-buildpackage ``, ``debuild ``,
12- ``pbuilder `` or whatever works for you. The ``debian/ `` directory is intended
13- to track the current release of Debian at the time of the release of PyTiger.
14- At the time of writing, this is
15- `Debian 10 (buster) <https://www.debian.org/releases/stable/ >`_.
16-
17- For example:
18-
19- .. code-block :: console
20-
21- $ debuild -us -uc
22- [...]
23- dpkg-genchanges: including full source code in upload
24- dpkg-source --after-build pytiger
25- dpkg-buildpackage: full upload; Debian-native package (full source is included)
26- Now running lintian...
27- Finished running lintian.
12+ ``pbuilder `` or whatever works for you. The ``debian/ `` directory is available
13+ in branches prefixed ``debian/ `` in Git.
2814
2915We strongly recommend using ``pbuilder `` or ``sbuild `` or similar mechanisms in
3016order that packages are built in a clean, reproducible environment so that no
@@ -37,107 +23,10 @@ Red Hat & CentOS
3723Packages targeting the "native" python versions for Red Hat or CentOS can be
3824built using standard tools such as ``rpmbuild `` or `Mock
3925<https://github.com/rpm-software-management/mock/wiki> `_ with no specific
40- configuration. The supplied spec file will generate:
41-
42- * on Red Hat / CentOS 6.x:
43-
44- * ``python2-pytiger `` for Python 2.6
45-
46- * on Red Hat / CentOS 7.x:
47-
48- * ``python2-pytiger `` for Python 2.7
49- * ``python34-pytiger `` for Python 3.4
50-
51- For example:
52-
53- .. code-block :: console
54-
55- $ rpmbuild -bs pytiger.spec
56- Wrote: /path/to/rpmbuild/SRPMS/pytiger-1.1.0-1.el7.centos.src.rpm
57- $ mock -r epel-7-x86_64 --rebuild /path/to/rpmbuild/SRPMS/pytiger-1.1.0-1.el7.centos.src.rpm
58- [...]
59- Finish: rpmbuild pytiger-1.1.0-1.el7.centos.src.rpm
60- Finish: build phase for pytiger-1.1.0-1.el7.centos.src.rpm
61- INFO: Done(/path/to/rpmbuild/SRPMS/pytiger-1.1.0-1.el7.centos.src.rpm) Config(epel-7-x86_64) 3 minutes 4 seconds
62- INFO: Results and/or logs in: /var/lib/mock/epel-7-x86_64/result
63- Finish: run
26+ configuration. The supplied spec file will generate the ``python3-pytiger ``
27+ RPM.
6428
6529We strongly recommend using ``mock `` or similar mechanisms in order that
6630packages are built in a clean, reproducible environment so that no unexpected
6731dependencies are pulled in and to avoid having to install all build
6832dependencies on your build systems.
69-
70- In addition, the same spec file can be used to build RPM packages for Python
71- versions packaged in `Software Collections
72- <https://www.softwarecollections.org> `_, but this requires specially prepared
73- chroots that have the SCL Python packages included in them. The `Red Hat Blog
74- <http://developers.redhat.com/blog/> `_ has `some instructions about this
75- <http://developers.redhat.com/blog/2015/01/07/using-mock-to-build-python27-software-collections-packages-for-rhel6/> `_
76- covering SCL Python 2.7 on CentOS 6. Once you have a specially prepared chroot
77- for the SCL Python version you require, just build the package in that chroot
78- using the usual mock commands.
79-
80- The following configurations are supported:
81-
82- * on Red Hat / CentOS 6.x:
83-
84- * SCL Python 2.7, creating ``python27-pytiger `` (``sclpy27 ``)
85- * SCL Python 3.4, creating ``rh-python34-pytiger `` (``sclpy34 ``)
86-
87- The mock configurations we use for these are:
88-
89- For CentOS 6 with SCL Python 2.7 (``sclpy27 ``):
90-
91- .. code-block :: diff
92-
93- --- epel-6-x86_64.cfg 2016-09-13 10:10:00.000000000 +0100
94- +++ epel-6-sclpy27-x86_64.cfg 2016-10-11 16:03:41.470227420 +0100
95- @@ -1,7 +1,7 @@
96- -config_opts['root'] = 'epel-6-x86_64'
97- +config_opts['root'] = 'epel-6-sclpy27-x86_64'
98- config_opts['target_arch'] = 'x86_64'
99- config_opts['legal_host_arches'] = ('x86_64',)
100- -config_opts['chroot_setup_cmd'] = 'install @buildsys-build'
101- +config_opts['chroot_setup_cmd'] = 'install @buildsys-build scl-utils-build python27-build'
102- config_opts['dist'] = 'el6' # only useful for --resultdir variable subst
103- # beware RHEL use 6Server or 6Client
104- config_opts['releasever'] = '6'
105- @@ -61,4 +61,10 @@
106- mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=epel-debug-6&arch=x86_64
107- failovermethod=priority
108- enabled=0
109- +
110- +[python27scl]
111- +name=Python27 - epel-6-x86_64
112- +baseurl=https://www.softwarecollections.org/repos/rhscl/python27/epel-6-x86_64
113- +enabled=1
114- +gpgcheck=0
115- """
116-
117- For CentOS 6 with SCL Python 3.4 (``sclpy34 ``):
118-
119- .. code-block :: diff
120-
121- --- epel-6-x86_64.cfg 2016-09-13 10:10:00.000000000 +0100
122- +++ epel-6-sclpy34-x86_64.cfg 2016-11-14 16:50:34.543356289 +0000
123- @@ -1,7 +1,7 @@
124- -config_opts['root'] = 'epel-6-x86_64'
125- +config_opts['root'] = 'epel-6-sclpy34-x86_64'
126- config_opts['target_arch'] = 'x86_64'
127- config_opts['legal_host_arches'] = ('x86_64',)
128- -config_opts['chroot_setup_cmd'] = 'install @buildsys-build'
129- +config_opts['chroot_setup_cmd'] = 'install @buildsys-build scl-utils-build rh-python34-build'
130- config_opts['dist'] = 'el6' # only useful for --resultdir variable subst
131- # beware RHEL use 6Server or 6Client
132- config_opts['releasever'] = '6'
133- @@ -61,4 +61,10 @@
134- mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=epel-debug-6&arch=x86_64
135- failovermethod=priority
136- enabled=0
137- +
138- +[python34scl]
139- +name=Python34 - epel-6-x86_64
140- +baseurl=https://www.softwarecollections.org/repos/rhscl/rh-python34/epel-6-x86_64
141- +enabled=1
142- +gpgcheck=0
143- """
0 commit comments