Fixed syntax error.

Half-fixed RPM 2 compatibility:added 'rpm_base' option, which must be set
  (to eg. /usr/src/redhat on a stock Red Hat system) if rpm2_mode is on.
  Still not quite working, though.
This commit is contained in:
Greg Ward 2000-06-04 15:30:35 +00:00
parent 62d5a57b05
commit 7ce6d074aa
1 changed files with 14 additions and 9 deletions

View File

@ -18,8 +18,11 @@ class bdist_rpm (Command):
description = "create an RPM distribution" description = "create an RPM distribution"
user_options = [ user_options = [
('bdist-base', None, ('bdist-base=', None,
"base directory for creating built distributions"), "base directory for creating built distributions"),
('rpm-base=', None,
"base directory for creating RPMs (defaults to \"rpm\" under "
"--bdist-base; must be specified for RPM 2)"),
('spec-only', None, ('spec-only', None,
"only regenerate spec file"), "only regenerate spec file"),
('source-only', None, ('source-only', None,
@ -104,6 +107,7 @@ class bdist_rpm (Command):
def initialize_options (self): def initialize_options (self):
self.bdist_base = None self.bdist_base = None
self.rpm_base = None
self.spec_only = None self.spec_only = None
self.binary_only = None self.binary_only = None
self.source_only = None self.source_only = None
@ -143,6 +147,12 @@ class bdist_rpm (Command):
def finalize_options (self): def finalize_options (self):
self.set_undefined_options('bdist', ('bdist_base', 'bdist_base')) self.set_undefined_options('bdist', ('bdist_base', 'bdist_base'))
if self.rpm_base is None:
if not self.rpm3_mode:
raise DistutilsOptionError, \
"you must specify --rpm-base in RPM 2 mode"
self.rpm_base = os.path.join(self.bdist_base, "rpm")
if os.name != 'posix': if os.name != 'posix':
raise DistutilsPlatformError, \ raise DistutilsPlatformError, \
("don't know how to create RPM " ("don't know how to create RPM "
@ -218,14 +228,9 @@ class bdist_rpm (Command):
spec_dir = "dist" spec_dir = "dist"
self.mkpath(spec_dir) # XXX should be configurable self.mkpath(spec_dir) # XXX should be configurable
else: else:
if self.rpm3_mode:
rpm_base = os.path.join(self.bdist_base, "rpm")
else:
# complete path must be specified in RPM 2 mode
rpm_base = self.bdist_base
rpm_dir = {} rpm_dir = {}
for d in ('SOURCES', 'SPECS', 'BUILD', 'RPMS', 'SRPMS'): for d in ('SOURCES', 'SPECS', 'BUILD', 'RPMS', 'SRPMS'):
rpm_dir[d] = os.path.join(rpm_base, d) rpm_dir[d] = os.path.join(self.rpm_base, d)
self.mkpath(rpm_dir[d]) self.mkpath(rpm_dir[d])
spec_dir = rpm_dir['SPECS'] spec_dir = rpm_dir['SPECS']
@ -273,7 +278,7 @@ class bdist_rpm (Command):
rpm_args.append('-ba') rpm_args.append('-ba')
if self.rpm3_mode: if self.rpm3_mode:
rpm_args.extend(['--define', rpm_args.extend(['--define',
'_topdir %s/%s' % (os.getcwd(), rpm_base),]) '_topdir %s/%s' % (os.getcwd(), self.rpm_base),])
if self.clean: if self.clean:
rpm_args.append('--clean') rpm_args.append('--clean')
rpm_args.append(spec_path) rpm_args.append(spec_path)
@ -391,7 +396,7 @@ class bdist_rpm (Command):
('pre', 'pre_install', None), ('pre', 'pre_install', None),
('post', 'post_install', None), ('post', 'post_install', None),
('preun', 'pre_uninstall', None), ('preun', 'pre_uninstall', None),
('postun', 'post_uninstall', None)) ('postun', 'post_uninstall', None),
] ]
for (rpm_opt, attr, default) in script_options: for (rpm_opt, attr, default) in script_options: