annotate roundup/dist/command/bdist_rpm.py @ 8264:09e8d1a4c796

docs: clarify wording, fix index, add superseder link Make superseder, messages etc. properties index entries point to the right place. Link to description of using Superseder in the original overview. fix bad wording on boolean properties.
author John Rouillard <rouilj@ieee.org>
date Wed, 08 Jan 2025 11:39:54 -0500
parents 551fec9c4cfc
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4068
e233d7a66343 Refactor setup.py.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
1 #
e233d7a66343 Refactor setup.py.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
2 # Copyright (C) 2009 Stefan Seefeld
e233d7a66343 Refactor setup.py.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
3 # All rights reserved.
e233d7a66343 Refactor setup.py.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
4 # For license terms see the file COPYING.txt.
e233d7a66343 Refactor setup.py.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
5 #
6647
42bf0a707763 issue2551183 - Replace references to distutils in roundup/dist/command
John Rouillard <rouilj@ieee.org>
parents: 4068
diff changeset
6 # converted to not use distutils 2021
42bf0a707763 issue2551183 - Replace references to distutils in roundup/dist/command
John Rouillard <rouilj@ieee.org>
parents: 4068
diff changeset
7 from setuptools.command.bdist_rpm import bdist_rpm as base
4068
e233d7a66343 Refactor setup.py.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
8 import os
e233d7a66343 Refactor setup.py.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
9
6907
551fec9c4cfc flake8 fixes
John Rouillard <rouilj@ieee.org>
parents: 6647
diff changeset
10
6647
42bf0a707763 issue2551183 - Replace references to distutils in roundup/dist/command
John Rouillard <rouilj@ieee.org>
parents: 4068
diff changeset
11 # cribbed from 2.7 distutils
6907
551fec9c4cfc flake8 fixes
John Rouillard <rouilj@ieee.org>
parents: 6647
diff changeset
12 def write_file(filename, contents):
6647
42bf0a707763 issue2551183 - Replace references to distutils in roundup/dist/command
John Rouillard <rouilj@ieee.org>
parents: 4068
diff changeset
13 """Create a file with the specified name and write 'contents' (a
42bf0a707763 issue2551183 - Replace references to distutils in roundup/dist/command
John Rouillard <rouilj@ieee.org>
parents: 4068
diff changeset
14 sequence of strings without line terminators) to it.
42bf0a707763 issue2551183 - Replace references to distutils in roundup/dist/command
John Rouillard <rouilj@ieee.org>
parents: 4068
diff changeset
15 """
42bf0a707763 issue2551183 - Replace references to distutils in roundup/dist/command
John Rouillard <rouilj@ieee.org>
parents: 4068
diff changeset
16 f = open(filename, "w")
42bf0a707763 issue2551183 - Replace references to distutils in roundup/dist/command
John Rouillard <rouilj@ieee.org>
parents: 4068
diff changeset
17 try:
42bf0a707763 issue2551183 - Replace references to distutils in roundup/dist/command
John Rouillard <rouilj@ieee.org>
parents: 4068
diff changeset
18 for line in contents:
42bf0a707763 issue2551183 - Replace references to distutils in roundup/dist/command
John Rouillard <rouilj@ieee.org>
parents: 4068
diff changeset
19 f.write(line + "\n")
42bf0a707763 issue2551183 - Replace references to distutils in roundup/dist/command
John Rouillard <rouilj@ieee.org>
parents: 4068
diff changeset
20 finally:
42bf0a707763 issue2551183 - Replace references to distutils in roundup/dist/command
John Rouillard <rouilj@ieee.org>
parents: 4068
diff changeset
21 f.close()
42bf0a707763 issue2551183 - Replace references to distutils in roundup/dist/command
John Rouillard <rouilj@ieee.org>
parents: 4068
diff changeset
22
6907
551fec9c4cfc flake8 fixes
John Rouillard <rouilj@ieee.org>
parents: 6647
diff changeset
23
4068
e233d7a66343 Refactor setup.py.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
24 class bdist_rpm(base):
e233d7a66343 Refactor setup.py.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
25
e233d7a66343 Refactor setup.py.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
26 def finalize_options(self):
e233d7a66343 Refactor setup.py.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
27 base.finalize_options(self)
e233d7a66343 Refactor setup.py.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
28 if self.install_script:
e233d7a66343 Refactor setup.py.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
29 # install script is overridden. skip default
e233d7a66343 Refactor setup.py.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
30 return
e233d7a66343 Refactor setup.py.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
31 # install script option must be file name.
e233d7a66343 Refactor setup.py.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
32 # create the file in rpm build directory.
e233d7a66343 Refactor setup.py.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
33 install_script = os.path.join(self.rpm_base, "install.sh")
e233d7a66343 Refactor setup.py.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
34 self.mkpath(self.rpm_base)
e233d7a66343 Refactor setup.py.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
35 self.execute(write_file, (install_script, [
e233d7a66343 Refactor setup.py.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
36 ("%s setup.py install --root=$RPM_BUILD_ROOT "
e233d7a66343 Refactor setup.py.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
37 "--record=ROUNDUP_FILES") % self.python,
e233d7a66343 Refactor setup.py.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
38 # allow any additional extension for man pages
e233d7a66343 Refactor setup.py.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
39 # (rpm may compress them to .gz or .bz2)
e233d7a66343 Refactor setup.py.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
40 # man page here is any file
e233d7a66343 Refactor setup.py.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
41 # with single-character extension
e233d7a66343 Refactor setup.py.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
42 # in man directory
6907
551fec9c4cfc flake8 fixes
John Rouillard <rouilj@ieee.org>
parents: 6647
diff changeset
43 r"sed -e 's,\(/man/.*\..\)$,\\1*,' "
551fec9c4cfc flake8 fixes
John Rouillard <rouilj@ieee.org>
parents: 6647
diff changeset
44 "<ROUNDUP_FILES >INSTALLED_FILES",
4068
e233d7a66343 Refactor setup.py.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
45 ]), "writing '%s'" % install_script)
e233d7a66343 Refactor setup.py.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
46 self.install_script = install_script

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