makepanda: Add rpmversion for packaging.

Closes #1220
This commit is contained in:
Stephen A. Imhoff 2021-12-14 18:44:13 +00:00 committed by rdb
parent b397ddb311
commit c2635d2498
2 changed files with 16 additions and 7 deletions

View File

@ -276,7 +276,7 @@ def MakeDebugSymbolArchive(zipname, dirname):
zip.close() zip.close()
def MakeInstallerLinux(version, debversion=None, rpmrelease=1, runtime=False, def MakeInstallerLinux(version, debversion=None, rpmversion=None, rpmrelease=1, runtime=False,
python_versions=[], **kwargs): python_versions=[], **kwargs):
outputdir = GetOutputDir() outputdir = GetOutputDir()
@ -302,6 +302,8 @@ def MakeInstallerLinux(version, debversion=None, rpmrelease=1, runtime=False,
major_version = '.'.join(version.split('.')[:2]) major_version = '.'.join(version.split('.')[:2])
if not debversion: if not debversion:
debversion = version debversion = version
if not rpmversion:
rpmversion = version
# Clean and set up a directory to install Panda3D into # Clean and set up a directory to install Panda3D into
oscmd("rm -rf targetroot data.tar.gz control.tar.gz panda3d.spec") oscmd("rm -rf targetroot data.tar.gz control.tar.gz panda3d.spec")
@ -461,16 +463,16 @@ def MakeInstallerLinux(version, debversion=None, rpmrelease=1, runtime=False,
txt += "/usr/bin/%s\n" % (base) txt += "/usr/bin/%s\n" % (base)
# Write out the spec file. # Write out the spec file.
txt = txt.replace("VERSION", version) txt = txt.replace("VERSION", rpmversion)
txt = txt.replace("RPMRELEASE", str(rpmrelease)) txt = txt.replace("RPMRELEASE", str(rpmrelease))
txt = txt.replace("PANDASOURCE", pandasource) txt = txt.replace("PANDASOURCE", pandasource)
WriteFile("panda3d.spec", txt) WriteFile("panda3d.spec", txt)
oscmd("fakeroot rpmbuild --define '_rpmdir "+pandasource+"' --buildroot '"+os.path.abspath("targetroot")+"' -bb panda3d.spec") oscmd("fakeroot rpmbuild --define '_rpmdir "+pandasource+"' --buildroot '"+os.path.abspath("targetroot")+"' -bb panda3d.spec")
if runtime: if runtime:
oscmd("mv "+arch+"/panda3d-runtime-"+version+"-"+rpmrelease+"."+arch+".rpm .") oscmd("mv "+arch+"/panda3d-runtime-"+rpmversion+"-"+rpmrelease+"."+arch+".rpm .")
else: else:
oscmd("mv "+arch+"/panda3d-"+version+"-"+rpmrelease+"."+arch+".rpm .") oscmd("mv "+arch+"/panda3d-"+rpmversion+"-"+rpmrelease+"."+arch+".rpm .")
oscmd("rm -rf "+arch, True) oscmd("rm -rf "+arch, True)
else: else:
@ -1130,6 +1132,7 @@ if __name__ == "__main__":
parser = OptionParser() parser = OptionParser()
parser.add_option('', '--version', dest='version', help='Panda3D version number (default: %s)' % (version), default=version) parser.add_option('', '--version', dest='version', help='Panda3D version number (default: %s)' % (version), default=version)
parser.add_option('', '--debversion', dest='debversion', help='Version number for .deb file', default=None) parser.add_option('', '--debversion', dest='debversion', help='Version number for .deb file', default=None)
parser.add_option('', '--rpmversion', dest='rpmversion', help='Version number for .rpm file', default=None)
parser.add_option('', '--rpmrelease', dest='rpmrelease', help='Release number for .rpm file', default='1') parser.add_option('', '--rpmrelease', dest='rpmrelease', help='Release number for .rpm file', default='1')
parser.add_option('', '--outputdir', dest='outputdir', help='Makepanda\'s output directory (default: built)', default='built') parser.add_option('', '--outputdir', dest='outputdir', help='Makepanda\'s output directory (default: built)', default='built')
parser.add_option('', '--verbose', dest='verbose', help='Enable verbose output', action='store_true', default=False) parser.add_option('', '--verbose', dest='verbose', help='Enable verbose output', action='store_true', default=False)
@ -1167,6 +1170,7 @@ if __name__ == "__main__":
optimize=GetOptimize(), optimize=GetOptimize(),
compressor=options.compressor, compressor=options.compressor,
debversion=options.debversion, debversion=options.debversion,
rpmversion=options.rpmversion,
rpmrelease=options.rpmrelease, rpmrelease=options.rpmrelease,
runtime=options.runtime, runtime=options.runtime,
python_versions=ReadPythonVersionInfoFile(), python_versions=ReadPythonVersionInfoFile(),

View File

@ -56,6 +56,7 @@ DISTRIBUTOR=""
VERSION=None VERSION=None
DEBVERSION=None DEBVERSION=None
WHLVERSION=None WHLVERSION=None
RPMVERSION=None
RPMRELEASE="1" RPMRELEASE="1"
GIT_COMMIT=None GIT_COMMIT=None
P3DSUFFIX=None P3DSUFFIX=None
@ -171,7 +172,7 @@ def usage(problem):
def parseopts(args): def parseopts(args):
global INSTALLER,WHEEL,RUNTESTS,RTDIST,RUNTIME,GENMAN,DISTRIBUTOR,VERSION global INSTALLER,WHEEL,RUNTESTS,RTDIST,RUNTIME,GENMAN,DISTRIBUTOR,VERSION
global COMPRESSOR,THREADCOUNT,OSXTARGET,OSX_ARCHS,HOST_URL global COMPRESSOR,THREADCOUNT,OSXTARGET,OSX_ARCHS,HOST_URL
global DEBVERSION,WHLVERSION,RPMRELEASE,GIT_COMMIT,P3DSUFFIX,RTDIST_VERSION global DEBVERSION,WHLVERSION,RPMVERSION,RPMRELEASE,GIT_COMMIT,P3DSUFFIX,RTDIST_VERSION
global STRDXSDKVERSION, WINDOWS_SDK, MSVC_VERSION, BOOUSEINTELCOMPILER global STRDXSDKVERSION, WINDOWS_SDK, MSVC_VERSION, BOOUSEINTELCOMPILER
global COPY_PYTHON global COPY_PYTHON
@ -185,7 +186,7 @@ def parseopts(args):
"help","distributor=","verbose","runtime","osxtarget=","tests", "help","distributor=","verbose","runtime","osxtarget=","tests",
"optimize=","everything","nothing","installer","wheel","rtdist","nocolor", "optimize=","everything","nothing","installer","wheel","rtdist","nocolor",
"version=","lzma","no-python","threads=","outputdir=","override=", "version=","lzma","no-python","threads=","outputdir=","override=",
"static","host=","debversion=","rpmrelease=","p3dsuffix=","rtdist-version=", "static","host=","debversion=","rpmversion=","rpmrelease=","p3dsuffix=","rtdist-version=",
"directx-sdk=", "windows-sdk=", "msvc-version=", "clean", "use-icl", "directx-sdk=", "windows-sdk=", "msvc-version=", "clean", "use-icl",
"universal", "target=", "arch=", "git-commit=", "no-copy-python", "universal", "target=", "arch=", "git-commit=", "no-copy-python",
"cggl-incdir=", "cggl-libdir=", "cggl-incdir=", "cggl-libdir=",
@ -236,6 +237,7 @@ def parseopts(args):
elif (option=="--static"): SetLinkAllStatic(True) elif (option=="--static"): SetLinkAllStatic(True)
elif (option=="--host"): HOST_URL=value elif (option=="--host"): HOST_URL=value
elif (option=="--debversion"): DEBVERSION=value elif (option=="--debversion"): DEBVERSION=value
elif (option=="--rpmversion"): RPMVERSION=value
elif (option=="--rpmrelease"): RPMRELEASE=value elif (option=="--rpmrelease"): RPMRELEASE=value
elif (option=="--git-commit"): GIT_COMMIT=value elif (option=="--git-commit"): GIT_COMMIT=value
elif (option=="--p3dsuffix"): P3DSUFFIX=value elif (option=="--p3dsuffix"): P3DSUFFIX=value
@ -426,6 +428,9 @@ if RUNTIME or RTDIST:
if DEBVERSION is None: if DEBVERSION is None:
DEBVERSION = VERSION DEBVERSION = VERSION
if RPMVERSION is None:
RPMVERSION = VERSION
MAJOR_VERSION = '.'.join(VERSION.split('.')[:2]) MAJOR_VERSION = '.'.join(VERSION.split('.')[:2])
if P3DSUFFIX is None: if P3DSUFFIX is None:
@ -7186,7 +7191,7 @@ if INSTALLER:
MakeInstaller(version=VERSION, outputdir=GetOutputDir(), MakeInstaller(version=VERSION, outputdir=GetOutputDir(),
optimize=GetOptimize(), compressor=COMPRESSOR, optimize=GetOptimize(), compressor=COMPRESSOR,
debversion=DEBVERSION, rpmrelease=RPMRELEASE, debversion=DEBVERSION, rpmversion=RPMVERSION, rpmrelease=RPMRELEASE,
runtime=RUNTIME, python_versions=python_versions) runtime=RUNTIME, python_versions=python_versions)
if WHEEL: if WHEEL: