diff --git a/.gitignore b/.gitignore index 010b4d9b..7a4dc9a2 100644 --- a/.gitignore +++ b/.gitignore @@ -3,7 +3,7 @@ __pycache__/ *.log -/src/Solaar.egg-info/ +/lib/Solaar.egg-info/ /build/ /sdist/ /dist/ diff --git a/CHANGES.txt b/CHANGES.txt new file mode 100644 index 00000000..e69de29b diff --git a/COPYRIGHT b/COPYRIGHT new file mode 100644 index 00000000..0c5c6b67 --- /dev/null +++ b/COPYRIGHT @@ -0,0 +1,2 @@ +Copyright 2012, 2013 +Daniel Pavel diff --git a/MANIFEST.in b/MANIFEST.in new file mode 100644 index 00000000..3ee1e3af --- /dev/null +++ b/MANIFEST.in @@ -0,0 +1,2 @@ +include COPYRIGHT COPYING README.md +recursive-include rules.d * diff --git a/bin/solaar b/bin/solaar index 9612f5a2..d4c3a8f9 100755 --- a/bin/solaar +++ b/bin/solaar @@ -10,10 +10,14 @@ def init_paths(): import sys import os.path as _path - src_lib = _path.normpath(_path.join(_path.realpath(sys.path[0]), '..', 'src')) - init_py = _path.join(src_lib, 'solaar', '__init__.py') - if _path.exists(init_py): - sys.path[0] = src_lib + prefix = _path.normpath(_path.join(_path.realpath(sys.path[0]), '..')) + src_lib = _path.join(prefix, 'lib') + share_lib = _path.join(prefix, 'share', 'solaar', 'lib') + for location in src_lib, share_lib: + init_py = _path.join(location, 'solaar', '__init__.py') + if _path.exists(init_py): + sys.path[0] = location + break if __name__ == '__main__': diff --git a/bin/solaar-cli b/bin/solaar-cli index a2873d22..1e1351da 100755 --- a/bin/solaar-cli +++ b/bin/solaar-cli @@ -10,10 +10,14 @@ def init_paths(): import sys import os.path as _path - src_lib = _path.normpath(_path.join(_path.realpath(sys.path[0]), '..', 'src')) - init_py = _path.join(src_lib, 'solaar', '__init__.py') - if _path.exists(init_py): - sys.path[0] = src_lib + prefix = _path.normpath(_path.join(_path.realpath(sys.path[0]), '..')) + src_lib = _path.join(prefix, 'lib') + share_lib = _path.join(prefix, 'share', 'solaar', 'lib') + for location in src_lib, share_lib: + init_py = _path.join(location, 'solaar', '__init__.py') + if _path.exists(init_py): + sys.path[0] = location + break if __name__ == '__main__': diff --git a/src/hidapi/__init__.py b/lib/hidapi/__init__.py similarity index 100% rename from src/hidapi/__init__.py rename to lib/hidapi/__init__.py diff --git a/src/hidapi/hidconsole.py b/lib/hidapi/hidconsole.py similarity index 100% rename from src/hidapi/hidconsole.py rename to lib/hidapi/hidconsole.py diff --git a/src/hidapi/native.py b/lib/hidapi/native.py similarity index 100% rename from src/hidapi/native.py rename to lib/hidapi/native.py diff --git a/src/hidapi/udev.py b/lib/hidapi/udev.py similarity index 100% rename from src/hidapi/udev.py rename to lib/hidapi/udev.py diff --git a/src/logitech/__init__.py b/lib/logitech/__init__.py similarity index 100% rename from src/logitech/__init__.py rename to lib/logitech/__init__.py diff --git a/src/logitech/unifying_receiver/__init__.py b/lib/logitech/unifying_receiver/__init__.py similarity index 100% rename from src/logitech/unifying_receiver/__init__.py rename to lib/logitech/unifying_receiver/__init__.py diff --git a/src/logitech/unifying_receiver/base.py b/lib/logitech/unifying_receiver/base.py similarity index 100% rename from src/logitech/unifying_receiver/base.py rename to lib/logitech/unifying_receiver/base.py diff --git a/src/logitech/unifying_receiver/common.py b/lib/logitech/unifying_receiver/common.py similarity index 100% rename from src/logitech/unifying_receiver/common.py rename to lib/logitech/unifying_receiver/common.py diff --git a/src/logitech/unifying_receiver/descriptors.py b/lib/logitech/unifying_receiver/descriptors.py similarity index 100% rename from src/logitech/unifying_receiver/descriptors.py rename to lib/logitech/unifying_receiver/descriptors.py diff --git a/src/logitech/unifying_receiver/hidpp10.py b/lib/logitech/unifying_receiver/hidpp10.py similarity index 100% rename from src/logitech/unifying_receiver/hidpp10.py rename to lib/logitech/unifying_receiver/hidpp10.py diff --git a/src/logitech/unifying_receiver/hidpp20.py b/lib/logitech/unifying_receiver/hidpp20.py similarity index 100% rename from src/logitech/unifying_receiver/hidpp20.py rename to lib/logitech/unifying_receiver/hidpp20.py diff --git a/src/logitech/unifying_receiver/listener.py b/lib/logitech/unifying_receiver/listener.py similarity index 100% rename from src/logitech/unifying_receiver/listener.py rename to lib/logitech/unifying_receiver/listener.py diff --git a/src/logitech/unifying_receiver/receiver.py b/lib/logitech/unifying_receiver/receiver.py similarity index 100% rename from src/logitech/unifying_receiver/receiver.py rename to lib/logitech/unifying_receiver/receiver.py diff --git a/src/logitech/unifying_receiver/settings.py b/lib/logitech/unifying_receiver/settings.py similarity index 100% rename from src/logitech/unifying_receiver/settings.py rename to lib/logitech/unifying_receiver/settings.py diff --git a/src/logitech/unifying_receiver/status.py b/lib/logitech/unifying_receiver/status.py similarity index 100% rename from src/logitech/unifying_receiver/status.py rename to lib/logitech/unifying_receiver/status.py diff --git a/src/solaar/__init__.py b/lib/solaar/__init__.py similarity index 100% rename from src/solaar/__init__.py rename to lib/solaar/__init__.py diff --git a/src/solaar/cli.py b/lib/solaar/cli.py similarity index 100% rename from src/solaar/cli.py rename to lib/solaar/cli.py diff --git a/src/solaar/gtk.py b/lib/solaar/gtk.py similarity index 100% rename from src/solaar/gtk.py rename to lib/solaar/gtk.py diff --git a/src/solaar/listener.py b/lib/solaar/listener.py similarity index 100% rename from src/solaar/listener.py rename to lib/solaar/listener.py diff --git a/src/solaar/ui/__init__.py b/lib/solaar/ui/__init__.py similarity index 90% rename from src/solaar/ui/__init__.py rename to lib/solaar/ui/__init__.py index 7f72d5e7..c464eebb 100644 --- a/src/solaar/ui/__init__.py +++ b/lib/solaar/ui/__init__.py @@ -14,7 +14,7 @@ def _look_for_application_icons(): local_share = _os.environ.get('XDG_DATA_HOME', _path.expanduser('~/.local/share')) data_dirs = _os.environ.get('XDG_DATA_DIRS', '/usr/local/share:/usr/share') - share_solaar = [src_share] + list(_path.join(x, 'solaar') for x in [local_share] + data_dirs.split(':')) + share_solaar = list(_path.join(x, 'solaar') for x in [src_share, local_share] + data_dirs.split(':')) for location in share_solaar: solaar_png = _path.join(location, 'icons', 'solaar.png') if _path.exists(solaar_png): diff --git a/src/solaar/ui/action.py b/lib/solaar/ui/action.py similarity index 100% rename from src/solaar/ui/action.py rename to lib/solaar/ui/action.py diff --git a/src/solaar/ui/config_panel.py b/lib/solaar/ui/config_panel.py similarity index 100% rename from src/solaar/ui/config_panel.py rename to lib/solaar/ui/config_panel.py diff --git a/src/solaar/ui/icons.py b/lib/solaar/ui/icons.py similarity index 100% rename from src/solaar/ui/icons.py rename to lib/solaar/ui/icons.py diff --git a/src/solaar/ui/indicate.py b/lib/solaar/ui/indicate.py similarity index 100% rename from src/solaar/ui/indicate.py rename to lib/solaar/ui/indicate.py diff --git a/src/solaar/ui/main_window.py b/lib/solaar/ui/main_window.py similarity index 100% rename from src/solaar/ui/main_window.py rename to lib/solaar/ui/main_window.py diff --git a/src/solaar/ui/notify.py b/lib/solaar/ui/notify.py similarity index 100% rename from src/solaar/ui/notify.py rename to lib/solaar/ui/notify.py diff --git a/src/solaar/ui/pair_window.py b/lib/solaar/ui/pair_window.py similarity index 100% rename from src/solaar/ui/pair_window.py rename to lib/solaar/ui/pair_window.py diff --git a/src/solaar/ui/status_icon.py b/lib/solaar/ui/status_icon.py similarity index 100% rename from src/solaar/ui/status_icon.py rename to lib/solaar/ui/status_icon.py diff --git a/packaging/debian/changelog b/packaging/debian/changelog new file mode 100644 index 00000000..13a9ddb0 --- /dev/null +++ b/packaging/debian/changelog @@ -0,0 +1,18 @@ +solaar (0.8.5-2) UNRELEASED; urgency=low + + * Proper debian packaging, dropped stdeb. + + -- Daniel Pavel Sat, 05 Jan 2013 11:33:00 +0200 + +solaar (0.8.5-1) UNRELEASED; urgency=low + + * Fixed locating application-specific icons. + + -- Daniel Pavel Fri, 04 Jan 2013 11:33:00 +0200 + + +solaar (0.8.4-1) UNRELEASED; urgency=low + + * Initial debian packaging. + + -- Daniel Pavel Tue, 18 Dec 2012 00:46:17 +0200 diff --git a/packaging/debian/compat b/packaging/debian/compat new file mode 100644 index 00000000..45a4fb75 --- /dev/null +++ b/packaging/debian/compat @@ -0,0 +1 @@ +8 diff --git a/packaging/debian/control b/packaging/debian/control new file mode 100644 index 00000000..343e1d12 --- /dev/null +++ b/packaging/debian/control @@ -0,0 +1,21 @@ +Source: solaar +Section: misc +Priority: optional +Maintainer: Daniel Pavel +Build-Depends: debhelper (>= 8) +Build-Depends-Indep: python +X-Python-Version: >= 2.7, << 2.8 +X-Python3-Version: >= 3.2 +Standards-Version: 3.9.4 +Homepage: http://pwr.github.com/Solaar +Vcs-Git: git://github.com/pwr/Solaar.git +Vcs-browser: http://github.com/pwr/Solaar + +Package: solaar +Architecture: all +Depends: ${misc:Depends}, ${python:Depends}, udev, python-pyudev (>= 0.13), python-gi (>= 3.2), gir1.2-gtk-3.0 (>= 3.4) +Suggests: gir1.2-notify-0.7 +Description: Logitech Unifying Receiver peripherals manager for Linux. + Solaar is a Linux device manager for Logitech's Unifying Receiver peripherals. + It is able to pair/unpair devices to the receiver, and for some devices read + battery status. diff --git a/packaging/debian/rules b/packaging/debian/rules new file mode 100755 index 00000000..63c70af1 --- /dev/null +++ b/packaging/debian/rules @@ -0,0 +1,21 @@ +#!/usr/bin/make -f +# -*- makefile -*- + +# Uncomment this to turn on verbose mode. +#export DH_VERBOSE=1 + +%: + # Adding the required helpers + dh $@ --with=python2 + +# override_dh_auto_clean: +# dh_auto_clean +# rm -rf build/ + +override_dh_auto_install: + python setup.py install --root=debian/solaar --install-layout=deb --install-lib=/usr/share/solaar/lib + +override_dh_auto_build: + +override_dh_installudev: + dh_installudev -v --priority=99 --name=logitech-unifying-receiver diff --git a/packaging/debian/source/format b/packaging/debian/source/format new file mode 100644 index 00000000..163aaf8d --- /dev/null +++ b/packaging/debian/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/packaging/debian/stdeb.cfg b/packaging/debian/stdeb.cfg deleted file mode 100644 index 383ae9f1..00000000 --- a/packaging/debian/stdeb.cfg +++ /dev/null @@ -1,10 +0,0 @@ -[Solaar] -Source = solaar -Package = solaar -Section = misc -Copyright-File = packaging/debian/copyright -XS-Python-Version = >= 2.7 -Depends = python-pyudev (>= 0.13), python-gi (>= 3.2), gir1.2-gtk-3.0 -Suggests = gir1.2-notify-0.7 -Udev-Rules = rules.d/99-logitech-unifying-receiver.rules -no-backwards-compatibility = True diff --git a/packaging/debian/watch b/packaging/debian/watch new file mode 100644 index 00000000..0644d500 --- /dev/null +++ b/packaging/debian/watch @@ -0,0 +1,2 @@ +version=3 +http://github.com/pwr/solaar/tags .*/v?(\d.*)\.(?:tgz|tar\.(?:gz|bz2|xz)) diff --git a/setup.py b/setup.py index b1abf193..93d067e5 100755 --- a/setup.py +++ b/setup.py @@ -4,7 +4,7 @@ from glob import glob from distutils.core import setup -setup(name='Solaar', +setup(name='solaar', version='0.8.5', description='Linux devices manager for the Logitech Unifying Receiver.', long_description=''' @@ -33,16 +33,15 @@ battery status. platforms=['linux'], requires=['pyudev (>= 0.13)', 'gi.repository.GObject (>= 2.0)', 'gi.repository.Gtk (>= 3.0)'], - package_dir={'': 'src'}, + package_dir={'': 'lib'}, packages=['hidapi', 'logitech', 'logitech.unifying_receiver', 'solaar', 'solaar.ui'], data_files=[ - ('share/icons/hicolor/128x128/apps', ['share/icons/solaar.png']), - ('share/solaar/icons', glob('share/icons/*.png')), + ('share/icons/hicolor/128x128/apps', ['share/solaar/icons/solaar.png']), + ('share/solaar/icons', glob('share/solaar/icons/*.png')), ('share/applications', ['share/applications/solaar.desktop']), ('share/doc/solaar', glob('share/doc/*')), - # ('/etc/udev/rules.d', ['rules.d/99-logitech-unifying-receiver.rules']), ], - scripts=['bin/solaar', 'bin/solaar-cli'], + scripts=glob('bin/*'), ) diff --git a/share/icons/battery_000.png b/share/solaar/icons/battery_000.png similarity index 100% rename from share/icons/battery_000.png rename to share/solaar/icons/battery_000.png diff --git a/share/icons/battery_010.png b/share/solaar/icons/battery_010.png similarity index 100% rename from share/icons/battery_010.png rename to share/solaar/icons/battery_010.png diff --git a/share/icons/battery_020.png b/share/solaar/icons/battery_020.png similarity index 100% rename from share/icons/battery_020.png rename to share/solaar/icons/battery_020.png diff --git a/share/icons/battery_030.png b/share/solaar/icons/battery_030.png similarity index 100% rename from share/icons/battery_030.png rename to share/solaar/icons/battery_030.png diff --git a/share/icons/battery_040.png b/share/solaar/icons/battery_040.png similarity index 100% rename from share/icons/battery_040.png rename to share/solaar/icons/battery_040.png diff --git a/share/icons/battery_050.png b/share/solaar/icons/battery_050.png similarity index 100% rename from share/icons/battery_050.png rename to share/solaar/icons/battery_050.png diff --git a/share/icons/battery_060.png b/share/solaar/icons/battery_060.png similarity index 100% rename from share/icons/battery_060.png rename to share/solaar/icons/battery_060.png diff --git a/share/icons/battery_070.png b/share/solaar/icons/battery_070.png similarity index 100% rename from share/icons/battery_070.png rename to share/solaar/icons/battery_070.png diff --git a/share/icons/battery_080.png b/share/solaar/icons/battery_080.png similarity index 100% rename from share/icons/battery_080.png rename to share/solaar/icons/battery_080.png diff --git a/share/icons/battery_090.png b/share/solaar/icons/battery_090.png similarity index 100% rename from share/icons/battery_090.png rename to share/solaar/icons/battery_090.png diff --git a/share/icons/battery_100.png b/share/solaar/icons/battery_100.png similarity index 100% rename from share/icons/battery_100.png rename to share/solaar/icons/battery_100.png diff --git a/share/icons/battery_unknown.png b/share/solaar/icons/battery_unknown.png similarity index 100% rename from share/icons/battery_unknown.png rename to share/solaar/icons/battery_unknown.png diff --git a/share/icons/light_000.png b/share/solaar/icons/light_000.png similarity index 100% rename from share/icons/light_000.png rename to share/solaar/icons/light_000.png diff --git a/share/icons/light_020.png b/share/solaar/icons/light_020.png similarity index 100% rename from share/icons/light_020.png rename to share/solaar/icons/light_020.png diff --git a/share/icons/light_040.png b/share/solaar/icons/light_040.png similarity index 100% rename from share/icons/light_040.png rename to share/solaar/icons/light_040.png diff --git a/share/icons/light_060.png b/share/solaar/icons/light_060.png similarity index 100% rename from share/icons/light_060.png rename to share/solaar/icons/light_060.png diff --git a/share/icons/light_080.png b/share/solaar/icons/light_080.png similarity index 100% rename from share/icons/light_080.png rename to share/solaar/icons/light_080.png diff --git a/share/icons/light_100.png b/share/solaar/icons/light_100.png similarity index 100% rename from share/icons/light_100.png rename to share/solaar/icons/light_100.png diff --git a/share/icons/light_unknown.png b/share/solaar/icons/light_unknown.png similarity index 100% rename from share/icons/light_unknown.png rename to share/solaar/icons/light_unknown.png diff --git a/share/icons/solaar-fail.png b/share/solaar/icons/solaar-fail.png similarity index 100% rename from share/icons/solaar-fail.png rename to share/solaar/icons/solaar-fail.png diff --git a/share/icons/solaar-init.png b/share/solaar/icons/solaar-init.png similarity index 100% rename from share/icons/solaar-init.png rename to share/solaar/icons/solaar-init.png diff --git a/share/icons/solaar-mask.png b/share/solaar/icons/solaar-mask.png similarity index 100% rename from share/icons/solaar-mask.png rename to share/solaar/icons/solaar-mask.png diff --git a/share/icons/solaar.png b/share/solaar/icons/solaar.png similarity index 100% rename from share/icons/solaar.png rename to share/solaar/icons/solaar.png diff --git a/tools/build_deb.sh b/tools/build_deb.sh index 5d751278..b6cd26ac 100755 --- a/tools/build_deb.sh +++ b/tools/build_deb.sh @@ -1,4 +1,29 @@ #!/bin/sh cd `dirname "$0"`/.. -exec python setup.py sdist_dsc -x packaging/debian/stdeb.cfg bdist_deb "$@" +DEBIAN="$PWD/packaging/debian" +RULES_D="$PWD/rules.d" + +DIST="${TMPDIR:-/tmp}/$PWD" +mkdir -m 0700 -p "$DIST" +rm -rf "$DIST"/* +python setup.py sdist --dist-dir="$DIST" + +cd "$DIST" +S=`ls -1 solaar-*.tar.gz` +VERSION=${S#solaar-} +VERSION=${VERSION%.tar.gz} +tar xfz "$S" +mv "$S" solaar_$VERSION.orig.tar.gz + +cd solaar-* +cp -a "$DEBIAN" . + +for rule in "$RULES_D"/*.rules; do + target=`basename "$rule"` + target=${target##??-} + target=${target%%.rules} + cp -av "$rule" ./debian/solaar.$target.udev +done + +debuild -uc -us