help='specify target arch')
parser.add_option('-w','--whitelist-rpms',action='store',dest='whitelist',default='',
help='comma separated list of rpms to expose in makefile')
+ parser.add_option('-1','--with',action='store',dest='with',default='',
+ help='accept but ignore --with option')
+ parser.add_option('-0','--without',action='store',dest='without',default='',
+ help='accept but ignore --without option')
+ parser.add_option('-d','--define',action='store',dest='define',default='',
+ help='accept but ignore --define option')
(options,args) = parser.parse_args()
try:
for (fullsource,_,__) in specobj.sources:
#print '###fullsource=',fullsource
print "%s.tarballs += SOURCES/%s" %(package_name,os.path.basename(fullsource))
- for suffix in [".tar.gz", ".tgz", ".tar.bz2", ] :
+ for suffix in [".tar.gz", ".tgz", ".tar.bz2", ".tar.xz" ] :
#print "# trying %s"%suffix
if fullsource.endswith(suffix):
sourcename=fullsource.replace(suffix,"")
print "%s.srpm := SRPMS/%s-%s-%s.src.rpm"%(package_name, name, version, release)
target = options.target
- whitelist=options.whitelist.split(',')
+ whitelist=[ x for x in options.whitelist.split(',') if x]
# Print non-empty packages
+ counter=0
for package in specobj.packages:
+ counter += 1
header=package.header
name=header.format('%{name}')
version=header.format('%{version}')
# skip dummy entries
if not (name and version and release and arch) : continue
- whitelisted = name in whitelist
+ # select relevant packages
+ # could not find the magic recipe to do this properly yet
+ # so ugly temporary hack :
+ # when whitelisted, we expose the first package plus the white-listed ones
+ # otherwise we expose everything
+ relevant=False
+ if not whitelist: relevant=True
+ else:
+ if counter==1: relevant=True
+ else: relevant=name in whitelist
- if header.fullFilelist or whitelisted:
+ if relevant:
# attach (add) rpm path to package
print "%s.rpms += RPMS/%s/%s-%s-%s.%s.rpm"%\
(package_name, arch, name, version, release, arch)