Opened 21 years ago
Closed 20 years ago
#163 closed defect (fixed)
RPM package
Reported by: | daniel | Owned by: | |
---|---|---|---|
Priority: | high | Milestone: | 0.9 |
Component: | general | Version: | devel |
Severity: | normal | Keywords: | install helpwanted |
Cc: | Branch: | ||
Release Notes: | |||
API Changes: | |||
Internal Changes: |
Description
setup.py should build RPM (Red Hat Package Manager) packages for 'binary' distribution.
Attachments (0)
Change History (13)
comment:1 by , 21 years ago
Milestone: | 0.7 → 0.6.1 |
---|
comment:2 by , 21 years ago
Whoops, wiki formatting did a number on my paste. Let me trying pasting setup.cfg again:
[bdist_rpm] requires = python >= 2.1 subversion-python >= 1.0.0 pysqlite >= 0.4.3 clearsilver >= 0.9.3 httpd
comment:3 by , 21 years ago
Ok, on another sidenote, comments should be EDITABLE! :)
Anycase, one more attempt with the formatting (the previous paste was missing an entry).
requires = python >= 2.1 python-xml >= 2.1 subversion-python >= 1.0.0 pysqlite >= 0.4.3 clearsilver >= 0.9.3 httpd
comment:4 by , 21 years ago
I checked out branches/0.6-stable (Mar/28/2004 12:45am EST). Here is the 'svn diff' output for fixing the missing MANIFEST.in and adding setup.cfg. Should be no problem applying this diff against main trunk also.
Index: setup.cfg =================================================================== --- setup.cfg (revision 0) +++ setup.cfg (revision 0) @@ -0,0 +1,8 @@ +[bdist_rpm] +requires = python >= 2.1 + python-xml >= 2.1 + subversion-python >= 1.0.0 + pysqlite >= 0.4.3 + clearsilver >= 0.9.3 + httpd + Index: MANIFEST.in =================================================================== --- MANIFEST.in (revision 321) +++ MANIFEST.in (working copy) @@ -1,4 +1,4 @@ -include RELEASE COPYING AUTHORS INSTALL ChangeLog THANKS UPGRADE +include RELEASE COPYING AUTHORS INSTALL ChangeLog THANKS UPGRADE MANIFEST.in setup.cfg include scripts/trac-admin include cgi-bin/trac.cgi recursive-include htdocs *.png *.gif *.js README
comment:5 by , 21 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
Patch applied to both trunk and 0.6-stable.
Please test :)
Thanks!
comment:6 by , 20 years ago
Resolution: | fixed |
---|---|
Severity: | enhancement → normal |
Status: | closed → reopened |
bdist_rpm works but doesn't respect the —fix-python flag, so it can only build for whatever "which python" returns. It should build for whatever python was used to call setup.py. i.e.:
python2.3 setup.py bdist_rpm —fix-python
Should build a package that installs into the "/usr/lib/python2.3" lib directory. Instead, on a Red Hat or Fedora Core 1 system, it drops it into "/usr/lib/python2.3". I have no clue how to fix this, as I thought it was an automagic part of distutils. I've never seen it /not/ work.
comment:7 by , 20 years ago
Milestone: | 0.6.1 → 0.8 |
---|
comment:8 by , 20 years ago
Owner: | changed from | to
---|---|
Status: | reopened → new |
comment:9 by , 20 years ago
Owner: | removed |
---|
comment:10 by , 20 years ago
Milestone: | 0.8 → 0.9 |
---|
This sound more like a distutils bug than a Trac bug, I don't think we can do anything about this?
Moving to 0.9 until this is verified…
comment:11 by , 20 years ago
Keywords: | install helpwanted added |
---|
comment:12 by , 20 years ago
The following patch should resolve the problem, but it relies on a private distutils API. The API in question hasn't changed in the 5 years since it was added, so it is relatively safe:
Index: setup.py =================================================================== --- setup.py (revision 1301) +++ setup.py (working copy) @@ -179,6 +179,7 @@ for distro in rpm_distros.keys(): r = generic_bdist_rpm(self.dist, distro) r.initialize_options() + self.dist._set_command_options(r, self.dist.command_options['bdist_rpm']) r.finalize_options() r.run()
comment:13 by , 20 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
Patch applied in [1304]. Thanks a lot, Mark!
After discussions on IrcChannel, it was determined this was already available with python's distutils setup. All that is needed is that the sdist command includes MANIFEST.in in the generated tarball.
Also, setting up dependencies for the generated rpm is quite easy. Following is info for setting up a trac rpm that has acceptable Suse 9.0 dependencies (may work on redhat too, unknown at this point).
Simply copy the following text and save it in a file called 'setup.cfg' in the same directory as setup.py.
[bdist_rpm] requires = python ≥ 2.1