Cleanup packaging after editions unification and "runtime packaging" (install)

* Requires "Add runtime packaging parameter for package.py" in hscommon
This commit is contained in:
Eugene San (eugenesan) 2016-06-22 12:56:55 -04:00
parent bdd404ce0e
commit 5d4bf175ac
9 changed files with 45 additions and 44 deletions

View File

@ -6,6 +6,7 @@
import os import os
import os.path as op import os.path as op
import stat
import compileall import compileall
import shutil import shutil
import json import json
@ -59,7 +60,7 @@ def package_debian_distribution(distribution):
debdest = op.join(destpath, 'debian') debdest = op.join(destpath, 'debian')
debskel = op.join('pkg', 'debian') debskel = op.join('pkg', 'debian')
os.makedirs(debdest) os.makedirs(debdest)
debopts = json.load(open(op.join(debskel, 'se.json'))) debopts = json.load(open(op.join(debskel, 'dupeguru.json')))
for fn in ['compat', 'copyright', 'dirs', 'rules']: for fn in ['compat', 'copyright', 'dirs', 'rules']:
copy(op.join(debskel, fn), op.join(debdest, fn)) copy(op.join(debskel, fn), op.join(debdest, fn))
filereplace(op.join(debskel, 'control'), op.join(debdest, 'control'), **debopts) filereplace(op.join(debskel, 'control'), op.join(debdest, 'control'), **debopts)
@ -95,7 +96,7 @@ def package_arch():
] ]
copy_files_to_package(srcpath, packages, with_so=True) copy_files_to_package(srcpath, packages, with_so=True)
shutil.copy(op.join('images', 'dgse_logo_128.png'), srcpath) shutil.copy(op.join('images', 'dgse_logo_128.png'), srcpath)
debopts = json.load(open(op.join('pkg', 'arch', 'se.json'))) debopts = json.load(open(op.join('pkg', 'arch', 'dupeguru.json')))
filereplace(op.join('pkg', 'arch', 'dupeguru.desktop'), op.join(srcpath, 'dupeguru.desktop'), **debopts) filereplace(op.join('pkg', 'arch', 'dupeguru.desktop'), op.join(srcpath, 'dupeguru.desktop'), **debopts)
def package_source_tgz(): def package_source_tgz():
@ -111,6 +112,28 @@ def package_source_tgz():
print_and_do('tar -rf {} deps'.format(dest)) print_and_do('tar -rf {} deps'.format(dest))
print_and_do('gzip {}'.format(dest)) print_and_do('gzip {}'.format(dest))
def package_runtime():
app_version = get_module_version('core')
version = '{}'.format(app_version)
destpath = op.join('build', 'dupeguru-{}'.format(version))
sharepath = op.join(destpath, 'usr/share/dupeguru')
apppath = op.join(destpath, 'usr/share/applications')
binpath = op.join(destpath, 'usr/bin')
packages = [
'hscommon', 'core', 'qtlib', 'qt', 'send2trash', 'hsaudiotag'
]
copy_files_to_package(sharepath, packages, with_so=True)
st = os.stat(op.join(sharepath, 'run.py'))
os.chmod(op.join(sharepath, 'run.py'), st.st_mode | stat.S_IEXEC)
os.mkdir(binpath)
os.symlink(op.join('/usr/share/dupeguru/run.py'), op.join(binpath, 'dupeguru'))
shutil.copy(op.join('images', 'dgse_logo_128.png'), sharepath)
debskel = op.join('pkg', 'debian')
debopts = json.load(open(op.join(debskel, 'dupeguru.json')))
os.mkdir(apppath)
filereplace(op.join(debskel, 'dupeguru.desktop'), op.join(apppath, 'dupeguru.desktop'), **debopts)
def main(): def main():
args = parse_args() args = parse_args()
ui = 'cocoa' if ISOSX else 'qt' ui = 'cocoa' if ISOSX else 'qt'
@ -118,6 +141,12 @@ def main():
print("Creating source package for dupeGuru") print("Creating source package for dupeGuru")
package_source_tgz() package_source_tgz()
return return
if args.runtime_pkg:
print("Creating runtime package for dupeGuru")
package_runtime()
return
print("Packaging dupeGuru with UI {}".format(ui)) print("Packaging dupeGuru with UI {}".format(ui))
if ui == 'cocoa': if ui == 'cocoa':
package_cocoa(args) package_cocoa(args)

7
pkg/arch/dupe.json Normal file
View File

@ -0,0 +1,7 @@
{
"pkgname": "dupeguru-",
"longname": "dupeGuru",
"execname": "dupeguru",
"arch": "all",
"iconpath": "/usr/share/dupeguru/dgse_logo_128.png"
}

View File

@ -1,7 +0,0 @@
{
"pkgname": "dupeguru-me",
"longname": "dupeGuru Music Edition",
"execname": "dupeguru-me",
"arch": "all",
"iconpath": "/usr/share/dupeguru-me/dgme_logo_128.png"
}

View File

@ -1,7 +0,0 @@
{
"pkgname": "dupeguru-pe",
"longname": "dupeGuru Picture Edition",
"execname": "dupeguru-pe",
"arch": "any",
"iconpath": "/usr/share/dupeguru-pe/dgpe_logo_128.png"
}

View File

@ -1,7 +0,0 @@
{
"pkgname": "dupeguru-se",
"longname": "dupeGuru",
"execname": "dupeguru-se",
"arch": "all",
"iconpath": "/usr/share/dupeguru-se/dgse_logo_128.png"
}

7
pkg/debian/dupeguru.json Normal file
View File

@ -0,0 +1,7 @@
{
"pkgname": "dupeguru",
"longname": "dupeGuru",
"execname": "dupeguru",
"arch": "all",
"iconpath": "/usr/share/dupeguru/dgse_logo_128.png"
}

View File

@ -1,7 +0,0 @@
{
"pkgname": "dupeguru-me",
"longname": "dupeGuru Music Edition",
"execname": "dupeguru_me",
"arch": "all",
"iconpath": "/usr/share/dupeguru_me/dgme_logo_128.png"
}

View File

@ -1,7 +0,0 @@
{
"pkgname": "dupeguru-pe",
"longname": "dupeGuru Picture Edition",
"execname": "dupeguru_pe",
"arch": "any",
"iconpath": "/usr/share/dupeguru_pe/dgpe_logo_128.png"
}

View File

@ -1,7 +0,0 @@
{
"pkgname": "dupeguru-se",
"longname": "dupeGuru",
"execname": "dupeguru_se",
"arch": "all",
"iconpath": "/usr/share/dupeguru_se/dgse_logo_128.png"
}