diff setup.py @ 3242:9c368d4cdac5

fix bdist_rpm [SF#1164328]
author Alexander Smishlajev <a1s@users.sourceforge.net>
date Thu, 17 Mar 2005 11:14:24 +0000
parents 91067c7d3f0a
children 4aeb0d0cf0d6
line wrap: on
line diff
--- a/setup.py	Sat Mar 05 05:13:54 2005 +0000
+++ b/setup.py	Thu Mar 17 11:14:24 2005 +0000
@@ -16,12 +16,14 @@
 # BASIS, AND THERE IS NO OBLIGATION WHATSOEVER TO PROVIDE MAINTENANCE,
 # SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
 #
-# $Id: setup.py,v 1.81 2005-03-01 14:40:36 a1s Exp $
+# $Id: setup.py,v 1.82 2005-03-17 11:14:24 a1s Exp $
 
 from distutils.core import setup, Extension
 from distutils.util import get_platform
+from distutils.file_util import write_file
+from distutils.command.bdist_rpm import bdist_rpm
+from distutils.command.build import build
 from distutils.command.build_scripts import build_scripts
-from distutils.command.build import build
 from distutils.command.build_py import build_py
 
 import sys, os, string
@@ -255,6 +257,30 @@
         self.build_message_files()
         build.run(self)
 
+class bdist_rpm_roundup(bdist_rpm):
+
+    def finalize_options(self):
+        bdist_rpm.finalize_options(self)
+        if self.install_script:
+            # install script is overridden.  skip default
+            return
+        # install script option must be file name.
+        # create the file in rpm build directory.
+        install_script = os.path.join(self.rpm_base, "install.sh")
+        self.mkpath(self.rpm_base)
+        self.execute(write_file, (install_script, [
+                ("%s setup.py install --root=$RPM_BUILD_ROOT "
+                    "--record=ROUNDUP_FILES") % self.python,
+                # allow any additional extension for man pages
+                # (rpm may compress them to .gz or .bz2)
+                # man page here is any file
+                # with single-character extension
+                # in man directory
+                "sed -e 's,\(/man/.*\..\)$,\\1*,' "
+                    "<ROUNDUP_FILES >INSTALLED_FILES",
+            ]), "writing '%s'" % install_script)
+        self.install_script = install_script
+
 #############################################################################
 ### Main setup stuff
 #############################################################################
@@ -368,6 +394,7 @@
             'build_scripts': build_scripts_roundup,
             'build_py': build_py_roundup,
             'build': build_roundup,
+            'bdist_rpm': bdist_rpm_roundup,
         },
         'scripts': roundup_scripts,
 

Roundup Issue Tracker: http://roundup-tracker.org/