Update packaging to conform with package unification and few fixes (#372)

* Rename package (dupeguru-se -> dupeguru)
* Update package name in .desktop files and scripts
* Add Ubuntu package building instructions
* Fix build_pe_modules.py
* Add description to package
* Add conflicts dependencies to replace previous versions
* Update python version
* Unify .json configs
* Few cosmetics changes (mainly missing end-lines and images permissions)
This commit is contained in:
Eugene San 2016-06-28 22:39:23 -04:00 committed by Virgil Dupras
parent bdd404ce0e
commit d660cef245
16 changed files with 36 additions and 51 deletions

View File

@ -122,9 +122,14 @@ With your virtualenv activated, you can build and run dupeGuru with these comman
$ python run.py
You can also package dupeGuru into an installable package with:
$ python package.py
### Generate Ubuntu packages
$ bash -c "pyvenv --system-site-packages env && source env/bin/activate && pip install -r requirements.txt && python3 build.py --clean && python3 package.py"
### Running tests
The complete test suite is ran with [Tox 1.7+][tox]. If you have it installed system-wide, you

0
images/dgpe_logo_32.png Executable file → Normal file
View File

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

0
images/dgse_logo_32.png Executable file → Normal file
View File

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

0
images/folder32.png Executable file → Normal file
View File

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@ -59,7 +59,7 @@ def package_debian_distribution(distribution):
debdest = op.join(destpath, 'debian')
debskel = op.join('pkg', 'debian')
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']:
copy(op.join(debskel, fn), op.join(debdest, fn))
filereplace(op.join(debskel, 'control'), op.join(debdest, 'control'), **debopts)
@ -95,7 +95,7 @@ def package_arch():
]
copy_files_to_package(srcpath, packages, with_so=True)
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)
def package_source_tgz():

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

@ -0,0 +1,7 @@
{
"pkgname": "dupeguru",
"longname": "dupeGuru",
"execname": "dupeguru",
"arch": "any",
"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"
}

View File

@ -1,11 +1,11 @@
#!/usr/bin/make -f
all:
dh_prep
dh_prep
dh_installdirs
touch build_pe_modules.py
python3 build_pe_modules.py
chmod +x src/run.py
cp -R src/ $(CURDIR)/debian/{pkgname}/usr/share/{execname}
cp $(CURDIR)/debian/{execname}.desktop $(CURDIR)/debian/{pkgname}/usr/share/applications
ln -s /usr/share/{execname}/run.py $(CURDIR)/debian/{pkgname}/usr/bin/{execname}
ln -s /usr/share/{execname}/run.py $(CURDIR)/debian/{pkgname}/usr/bin/{execname}

View File

@ -20,5 +20,5 @@ setup(
ext_modules = exts,
)
move_all('_block_qt*', op.join('src', 'qt', 'pe'))
move_all('_cache*', op.join('src', 'core_pe'))
move_all('_block*', op.join('src', 'core_pe'))
move_all('_cache*', op.join('src', 'core/pe'))
move_all('_block*', op.join('src', 'core/pe'))

View File

@ -3,10 +3,18 @@ Section: devel
Priority: extra
Maintainer: Virgil Dupras <hsoft@hardcoded.net>
Build-Depends: debhelper (>= 7), python3-dev, python3-setuptools
Standards-Version: 3.8.1
Standards-Version: 3.9.2
Homepage: http://www.hardcoded.net
Package: {pkgname}
Architecture: {arch}
Depends: python3 (>=3.3), python3-pyqt5
Depends: ${shlibs:Depends}, python3 (>=3.4), python3-pyqt5
Provides: dupeguru-se, dupeguru-me, dupeguru-pe
Replaces: dupeguru-se, dupeguru-me, dupeguru-pe
Conflicts: dupeguru-se, dupeguru-me, dupeguru-pe
Description: {longname}
dupeGuru is a cross-platform (Linux and OS X) GUI tool to find duplicate files in a system.
It's written mostly in Python 3 and has the peculiarity of using multiple GUI toolkits,
all using the same core Python code.
On OS X, the UI layer is written in Objective-C and uses Cocoa.
On Linux, it's written in Python and uses Qt5.

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

@ -0,0 +1,7 @@
{
"pkgname": "dupeguru",
"longname": "dupeGuru",
"execname": "dupeguru",
"arch": "any",
"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"
}