0
|
1 # pypedream
|
|
2
|
|
3 python + other packaging works
|
|
4
|
|
5 ______
|
|
6 |______|
|
|
7 | |
|
|
8 |____|
|
|
9
|
|
10
|
|
11
|
|
12 ## What's inside
|
|
13
|
|
14 This is a toolbox for dealing with packages as it stands. Install
|
|
15 this your usual way, e.g.: `python setup.py develop`
|
|
16
|
|
17 ## Console scripts
|
|
18
|
|
19 Invoke with `--help` for usage info.
|
|
20
|
|
21 - `py2rpm`: script for fetching an python package from http://pypi.python.org/
|
|
22 and its dependencies using `pip` and converting to RPMs using
|
|
23 `python setup.py bdist_rpm`. Requires the `pip` and `rpmbuild` on
|
|
24 your system.
|
|
25
|
|
26 - `py2centos`: the problem with using `bdist_rpm` is that it converts
|
|
27 the python package to an RPM as appropriate for your current
|
|
28 environment. What is desired is a package for, at current, the
|
|
29 Centos 6 operating system. In order to surmount these difficulties,
|
|
30 Docker is used by `py2centos` to provision a Centos 6 container,
|
|
31 copy the `py2rpm.py` python script into the container, and set up an
|
|
32 execution endpoint that will generate the Centos RPMs in an output
|
|
33 directory.
|
|
34
|
|
35
|
|
36 ## fpm
|
|
37
|
|
38 `fpm` is a ruby package manipulation tool. You can use `py2rpm` with
|
|
39 the `--fpm` option, if you have the `fpm` command line program on your
|
|
40 path, to do the conversion with this tool. The advantage is that the
|
|
41 package dependencies are noted correctly. By default, an additional
|
|
42 namespace of `python-` is prepended to the package name. This is
|
|
43 probably desirable.
|
|
44
|
|
45
|
|
46 ## RPM
|
|
47
|
|
48 Querying rpm dependencies:
|
|
49
|
|
50 # rpm -qpR *.rpm
|
|
51
|
|
52 Listing files in an rpm:
|
|
53
|
|
54 # rpm -qlp *.rpm
|
|
55
|
|
56
|
|
57 ## Links
|
|
58
|
|
59 - https://github.com/jordansissel/fpm
|
|
60 - https://github.com/jordansissel/fpm/wiki/ConvertingPython
|
|
61 - http://www.alexhudson.com/2013/05/24/packaging-a-virtualenv-really-not-relocatable/
|