From 386b2081048a3d897eaf5de5abea11e15112aae8 Mon Sep 17 00:00:00 2001 From: Christophe Benz Date: Tue, 20 Jul 2010 22:48:05 +0200 Subject: [PATCH 01/14] add long description --- tools/setup.py.d/core.py | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/tools/setup.py.d/core.py b/tools/setup.py.d/core.py index 451f20aa..69d27472 100755 --- a/tools/setup.py.d/core.py +++ b/tools/setup.py.d/core.py @@ -24,7 +24,23 @@ setup( name='weboob-core', version='0.1', description='Weboob, Web Out Of Browsers - core library', - # long_description=read('README'), + long_description=""" +Weboob is a project which provides a core library, backends and applications. + +The core library defines capabilities: features common to various websites. For example, http://www.youtube.com and +http://www.dailymotion.com are both videos providers: Weboob defines the “ICapVideo” capability. + +Each backend interfaces a website and implements one or many of these capabilities. Backends can be configured, which +means that the end-user can provide personal information to access the underlaying website (login/password for example). + +Applications offer the ability to the end-user to work with many backends in parallel, in a multi-threaded way. For +example, one could search a video on many providers websites. Applications are toolkit-agnostic. They can use Gtk, Qt or +text-only, more adapted to reuse data through pipes. + +The core library provides base classes which help the developer to write backends and applications. + +Weboob is written in Python and is distributed under the GPLv3 license. +""", author='Romain Bignon', author_email='weboob@lists.symlink.me', license='GPLv3', From d3ce62384489f1e07dd18c0042d2d0a51078eeca Mon Sep 17 00:00:00 2001 From: Christophe Benz Date: Tue, 20 Jul 2010 22:51:43 +0200 Subject: [PATCH 02/14] ignore deb build dir --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index c0960067..ba250443 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,4 @@ Session.vim *.egg-info build dist +deb From 91bc9bb88bd81aa0e87d3ec02f6f3d32c59f938b Mon Sep 17 00:00:00 2001 From: Christophe Benz Date: Tue, 20 Jul 2010 22:52:02 +0200 Subject: [PATCH 03/14] deb generation script --- tools/create_debian_packages.sh | 60 +++++++++++++++++++++++++++++++++ tools/stdeb.d/core.cfg | 2 ++ 2 files changed, 62 insertions(+) create mode 100755 tools/create_debian_packages.sh create mode 100644 tools/stdeb.d/core.cfg diff --git a/tools/create_debian_packages.sh b/tools/create_debian_packages.sh new file mode 100755 index 00000000..d57d23de --- /dev/null +++ b/tools/create_debian_packages.sh @@ -0,0 +1,60 @@ +#!/bin/sh + +DEB_DIRPATH="$PWD/deb" +SCRIPT_DIRPATH=$(dirname $0) + +SETUP_PY_LIST=" +$SCRIPT_DIRPATH/setup.py.d/core.py +$SCRIPT_DIRPATH/setup.py.d/core-qt.py +$SCRIPT_DIRPATH/setup.py.d/core-webkit-formatter.py + +$SCRIPT_DIRPATH/setup.py.d/backends-bank.py +$SCRIPT_DIRPATH/setup.py.d/backends-dating.py +$SCRIPT_DIRPATH/setup.py.d/backends-messages.py +$SCRIPT_DIRPATH/setup.py.d/backends-torrent.py +$SCRIPT_DIRPATH/setup.py.d/backends-travel.py +$SCRIPT_DIRPATH/setup.py.d/backends-video.py +$SCRIPT_DIRPATH/setup.py.d/backends-video-nsfw.py +$SCRIPT_DIRPATH/setup.py.d/backends-weather.py + +$SCRIPT_DIRPATH/setup.py.d/boobank.py +$SCRIPT_DIRPATH/setup.py.d/havesex.py +$SCRIPT_DIRPATH/setup.py.d/masstransit.py +$SCRIPT_DIRPATH/setup.py.d/monboob.py +$SCRIPT_DIRPATH/setup.py.d/qboobmsg.py +$SCRIPT_DIRPATH/setup.py.d/qhavesex.py +$SCRIPT_DIRPATH/setup.py.d/qvideoob.py +$SCRIPT_DIRPATH/setup.py.d/qweboobcfg.py +$SCRIPT_DIRPATH/setup.py.d/travel.py +$SCRIPT_DIRPATH/setup.py.d/videoob.py +$SCRIPT_DIRPATH/setup.py.d/videoob_web.py +$SCRIPT_DIRPATH/setup.py.d/weboorrents.py +$SCRIPT_DIRPATH/setup.py.d/wetboobs.py +" + +rm -rf $DEB_DIRPATH +mkdir $DEB_DIRPATH + +for f in $SETUP_PY_LIST +do + echo "========== Creating Debian package for $f" + rm -rf dist + python $f sdist + pushd dist + TARGZ=$(ls *.tar.gz) + tar xf $TARGZ + PKGNAME=$(basename $f .py) + mkdir $DEB_DIRPATH/$PKGNAME + TARGZ_DIRPATH=$(basename $TARGZ .tar.gz) + pushd $TARGZ_DIRPATH + ln -s ../../$f setup.py + python setup.py --command-packages=stdeb.command sdist_dsc --extra-cfg-file $SCRIPT_DIRPATH/stdeb.d/$PKGNAME.cfg + pushd deb_dist + pushd $TARGZ_DIRPATH + fakeroot dpkg-buildpackage + popd + mv *.deb *.diff.gz *.changes *.orig.tar.gz $DEB_DIRPATH/$PKGNAME/ + popd + popd + #break +done diff --git a/tools/stdeb.d/core.cfg b/tools/stdeb.d/core.cfg new file mode 100644 index 00000000..eed61496 --- /dev/null +++ b/tools/stdeb.d/core.cfg @@ -0,0 +1,2 @@ +[weboob-core] +depends = python-dateutil From 6e94a3101ad2f7c00edef147aa1e7d956903918e Mon Sep 17 00:00:00 2001 From: Christophe Benz Date: Wed, 21 Jul 2010 23:08:07 +0200 Subject: [PATCH 04/14] add optional packages to INSTALL --- INSTALL | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/INSTALL b/INSTALL index 00d66872..1d127400 100644 --- a/INSTALL +++ b/INSTALL @@ -62,6 +62,12 @@ Then, please install the following packages before installing Weboob: * python-simplejson * python-yaml +Optional: +* python-gtk +* python-webkit +* python-imaging +* python-webob + Bash completion --------------- From b4efc7430d72fc0a46f254e3221424719ed19f00 Mon Sep 17 00:00:00 2001 From: Christophe Benz Date: Wed, 21 Jul 2010 23:09:00 +0200 Subject: [PATCH 05/14] more work on Debian packages creation --- setup.py | 2 + tools/packaging/MANIFEST.in.d/core-qt | 2 + .../MANIFEST.in.d/core-webkit-formatter | 3 + tools/{ => packaging}/all_packages.sh | 0 .../{ => packaging}/create_debian_packages.sh | 38 +++++---- tools/packaging/find_imports.sh | 28 +++++++ .../setup.py.d/backends-bank.py | 10 ++- .../setup.py.d/backends-dating.py | 8 +- .../setup.py.d/backends-messages.py | 6 +- .../setup.py.d/backends-torrent.py | 4 +- .../setup.py.d/backends-travel.py | 4 +- .../setup.py.d/backends-video-nsfw.py | 4 +- .../setup.py.d/backends-video.py | 6 +- .../setup.py.d/backends-weather.py | 4 +- tools/{ => packaging}/setup.py.d/boobank.py | 4 +- tools/{ => packaging}/setup.py.d/core-qt.py | 10 ++- .../setup.py.d/core-webkit-formatter.py | 19 +++-- tools/{ => packaging}/setup.py.d/core.py | 27 +++++-- tools/{ => packaging}/setup.py.d/havesex.py | 4 +- .../{ => packaging}/setup.py.d/masstransit.py | 7 +- tools/{ => packaging}/setup.py.d/monboob.py | 4 +- tools/{ => packaging}/setup.py.d/qboobmsg.py | 5 +- tools/{ => packaging}/setup.py.d/qhavesex.py | 6 +- tools/{ => packaging}/setup.py.d/qvideoob.py | 7 +- tools/{ => packaging}/setup.py.d/travel.py | 4 +- tools/{ => packaging}/setup.py.d/videoob.py | 4 +- .../{ => packaging}/setup.py.d/videoob_web.py | 7 +- .../{ => packaging}/setup.py.d/weboorrents.py | 4 +- tools/{ => packaging}/setup.py.d/wetboobs.py | 4 +- tools/packaging/stdeb.cfg | 79 +++++++++++++++++++ tools/stdeb.d/core.cfg | 2 - 31 files changed, 256 insertions(+), 60 deletions(-) create mode 100644 tools/packaging/MANIFEST.in.d/core-qt create mode 100644 tools/packaging/MANIFEST.in.d/core-webkit-formatter rename tools/{ => packaging}/all_packages.sh (100%) rename tools/{ => packaging}/create_debian_packages.sh (67%) create mode 100755 tools/packaging/find_imports.sh rename tools/{ => packaging}/setup.py.d/backends-bank.py (85%) rename tools/{ => packaging}/setup.py.d/backends-dating.py (84%) rename tools/{ => packaging}/setup.py.d/backends-messages.py (88%) rename tools/{ => packaging}/setup.py.d/backends-torrent.py (90%) rename tools/{ => packaging}/setup.py.d/backends-travel.py (91%) rename tools/{ => packaging}/setup.py.d/backends-video-nsfw.py (91%) rename tools/{ => packaging}/setup.py.d/backends-video.py (89%) rename tools/{ => packaging}/setup.py.d/backends-weather.py (90%) rename tools/{ => packaging}/setup.py.d/boobank.py (90%) rename tools/{ => packaging}/setup.py.d/core-qt.py (84%) rename tools/{ => packaging}/setup.py.d/core-webkit-formatter.py (77%) rename tools/{ => packaging}/setup.py.d/core.py (81%) rename tools/{ => packaging}/setup.py.d/havesex.py (90%) rename tools/{ => packaging}/setup.py.d/masstransit.py (85%) rename tools/{ => packaging}/setup.py.d/monboob.py (89%) rename tools/{ => packaging}/setup.py.d/qboobmsg.py (87%) rename tools/{ => packaging}/setup.py.d/qhavesex.py (88%) rename tools/{ => packaging}/setup.py.d/qvideoob.py (86%) rename tools/{ => packaging}/setup.py.d/travel.py (89%) rename tools/{ => packaging}/setup.py.d/videoob.py (90%) rename tools/{ => packaging}/setup.py.d/videoob_web.py (86%) rename tools/{ => packaging}/setup.py.d/weboorrents.py (90%) rename tools/{ => packaging}/setup.py.d/wetboobs.py (89%) create mode 100644 tools/packaging/stdeb.cfg delete mode 100644 tools/stdeb.d/core.cfg diff --git a/setup.py b/setup.py index 98e2f191..2abc0a60 100755 --- a/setup.py +++ b/setup.py @@ -33,6 +33,8 @@ setup( description='Weboob, Web Out Of Browsers - core library', author='Romain Bignon', author_email='weboob@lists.symlink.me', + maintainer='Christophe Benz', + maintainer_email='christophe.benz@gmail.com', license='GPLv3', url='http://www.weboob.org', packages=find_packages(), diff --git a/tools/packaging/MANIFEST.in.d/core-qt b/tools/packaging/MANIFEST.in.d/core-qt new file mode 100644 index 00000000..b9b2b417 --- /dev/null +++ b/tools/packaging/MANIFEST.in.d/core-qt @@ -0,0 +1,2 @@ +include weboob/tools/__init__.py +include weboob/tools/application/__init__.py diff --git a/tools/packaging/MANIFEST.in.d/core-webkit-formatter b/tools/packaging/MANIFEST.in.d/core-webkit-formatter new file mode 100644 index 00000000..0ad3a7d9 --- /dev/null +++ b/tools/packaging/MANIFEST.in.d/core-webkit-formatter @@ -0,0 +1,3 @@ +include weboob/tools/__init__.py +include weboob/tools/application/__init__.py +include weboob/tools/application/formatters/__init__.py diff --git a/tools/all_packages.sh b/tools/packaging/all_packages.sh similarity index 100% rename from tools/all_packages.sh rename to tools/packaging/all_packages.sh diff --git a/tools/create_debian_packages.sh b/tools/packaging/create_debian_packages.sh similarity index 67% rename from tools/create_debian_packages.sh rename to tools/packaging/create_debian_packages.sh index d57d23de..f49add91 100755 --- a/tools/create_debian_packages.sh +++ b/tools/packaging/create_debian_packages.sh @@ -1,7 +1,10 @@ #!/bin/sh +[ ! -d /usr/share/pyshared/stdeb ] && echo 'Please install the python-stdeb package' && exit + DEB_DIRPATH="$PWD/deb" -SCRIPT_DIRPATH=$(dirname $0) +DIST_DIRPATH="$PWD/dist" +SCRIPT_DIRPATH=$(dirname $(readlink -f "$0")) SETUP_PY_LIST=" $SCRIPT_DIRPATH/setup.py.d/core.py @@ -32,29 +35,34 @@ $SCRIPT_DIRPATH/setup.py.d/weboorrents.py $SCRIPT_DIRPATH/setup.py.d/wetboobs.py " -rm -rf $DEB_DIRPATH +rm -rf $DEB_DIRPATH *.egg-info mkdir $DEB_DIRPATH for f in $SETUP_PY_LIST do echo "========== Creating Debian package for $f" - rm -rf dist + rm -rf $DIST_DIRPATH + MANIFEST_IN=$SCRIPT_DIRPATH/MANIFEST.in.d/$(basename $f .py) + ln -s $MANIFEST_IN MANIFEST.in python $f sdist - pushd dist + cd $DIST_DIRPATH TARGZ=$(ls *.tar.gz) tar xf $TARGZ PKGNAME=$(basename $f .py) - mkdir $DEB_DIRPATH/$PKGNAME TARGZ_DIRPATH=$(basename $TARGZ .tar.gz) - pushd $TARGZ_DIRPATH - ln -s ../../$f setup.py - python setup.py --command-packages=stdeb.command sdist_dsc --extra-cfg-file $SCRIPT_DIRPATH/stdeb.d/$PKGNAME.cfg - pushd deb_dist - pushd $TARGZ_DIRPATH + cd $TARGZ_DIRPATH + ln -s $f setup.py + ln -s $MANIFEST_IN MANIFEST.in + python setup.py --command-packages=stdeb.command sdist_dsc --extra-cfg-file $SCRIPT_DIRPATH/stdeb.cfg + cd deb_dist/$TARGZ_DIRPATH fakeroot dpkg-buildpackage - popd - mv *.deb *.diff.gz *.changes *.orig.tar.gz $DEB_DIRPATH/$PKGNAME/ - popd - popd - #break + cd .. + mv *.deb *.diff.gz *.changes *.orig.tar.gz $DEB_DIRPATH + cd ../.. + break done + +rm -rf $DIST_DIRPATH MANIFEST.in *.egg-info + +echo +echo "Packages are in the $DEB_DIRPATH directory" diff --git a/tools/packaging/find_imports.sh b/tools/packaging/find_imports.sh new file mode 100755 index 00000000..d8eb18d1 --- /dev/null +++ b/tools/packaging/find_imports.sh @@ -0,0 +1,28 @@ +#!/bin/sh +# This script greps imports excluding standard packages (the list is not exhaustive). +# It helps finding dependencies on a given directory. +# Execute it on a setuptools sdist directory. +# +# For example: +# ./tools/packaging/setup.py.d/core.py sdist +# => generates dist/weboob-core-x.y.tar.gz +# cd dist +# tar xzf weboob-core-x.y.tar.gz +# cd .. +# ./tools/packaging/find_imports.sh dist/weboob-core-x.y/weboob +# +# Then, add the results to the setup.py.d files, +# and to the tools/packaging/stdeb.cfg for Debian dependencies. + +[ -z "$1" ] && echo "Please specify a directory" && exit + +grep 'import' "$1" -r --include=*.py | \ +egrep -w -v '^.+:.*weboob|__import__|__future__|logging|threading|ConfigParser|from \..*|copy|'\ +'optparse|functools|inspect|datetime|ordereddict|from\ HTMLParser|xml\.etree|sqlite3|'\ +'re|time|os|sys|hashlib|subprocess|stat|__builtin__|tempfile|urllib|urllib2|types|traceback|'\ +'getpass|htmlentitydefs|random|StringIO|minidom|from\ email|from\ smtplib|from\ smtpd|asyncore|'\ +'wsgiref' + +echo +echo "Used parsers:" +grep "tools\.parsers" "$1" -r --include=*.py diff --git a/tools/setup.py.d/backends-bank.py b/tools/packaging/setup.py.d/backends-bank.py similarity index 85% rename from tools/setup.py.d/backends-bank.py rename to tools/packaging/setup.py.d/backends-bank.py index 998248bd..ffe80dcc 100755 --- a/tools/setup.py.d/backends-bank.py +++ b/tools/packaging/setup.py.d/backends-bank.py @@ -26,6 +26,8 @@ setup( description='Weboob backends implementing bank capability', author='Laurent Bachelier', author_email='weboob@lists.symlink.me', + maintainer='Christophe Benz', + maintainer_email='christophe.benz@gmail.com', license='GPLv3', url='http://www.weboob.org/ICapBank', namespace_packages = ['weboob', 'weboob.backends'], @@ -39,8 +41,10 @@ setup( 'weboob.backends.cragr.pages', ], install_requires=[ - 'weboob-core', - # bnporc requires Image module - #'PIL', + 'weboob-core', # python-weboob-core + 'ClientForm', # python-clientform + # not Pypi packages: + # Suggests + # python-imaging ], ) diff --git a/tools/setup.py.d/backends-dating.py b/tools/packaging/setup.py.d/backends-dating.py similarity index 84% rename from tools/setup.py.d/backends-dating.py rename to tools/packaging/setup.py.d/backends-dating.py index 622e2c8e..91f150e5 100755 --- a/tools/setup.py.d/backends-dating.py +++ b/tools/packaging/setup.py.d/backends-dating.py @@ -26,6 +26,8 @@ setup( description='Weboob backends implementing dating capability', author='Romain Bignon', author_email='weboob@lists.symlink.me', + maintainer='Christophe Benz', + maintainer_email='christophe.benz@gmail.com', license='GPLv3', url='http://www.weboob.org/ICapDating', namespace_packages = ['weboob', 'weboob.backends'], @@ -38,7 +40,9 @@ setup( 'weboob.backends.aum.pages', ], install_requires=[ - 'weboob-core', - # html5lib, no egg? + 'weboob-core', # python-weboob-core + 'html5lib', # python-html5lib + 'PIL', # python-imaging + 'simplejson', # python-simplejson ], ) diff --git a/tools/setup.py.d/backends-messages.py b/tools/packaging/setup.py.d/backends-messages.py similarity index 88% rename from tools/setup.py.d/backends-messages.py rename to tools/packaging/setup.py.d/backends-messages.py index f27c31b1..2ad685a2 100755 --- a/tools/setup.py.d/backends-messages.py +++ b/tools/packaging/setup.py.d/backends-messages.py @@ -26,6 +26,8 @@ setup( description='Weboob backends implementing messages capability', author='Romain Bignon', author_email='weboob@lists.symlink.me', + maintainer='Christophe Benz', + maintainer_email='christophe.benz@gmail.com', license='GPLv3', url='http://www.weboob.org/ICapMessages', namespace_packages = ['weboob', 'weboob.backends'], @@ -38,7 +40,7 @@ setup( 'weboob.backends.fourchan.pages', ], install_requires=[ - 'weboob-core', - # feedparser, no egg? + 'weboob-core', # python-weboob-core + 'FeedParser', # python-feedparser ], ) diff --git a/tools/setup.py.d/backends-torrent.py b/tools/packaging/setup.py.d/backends-torrent.py similarity index 90% rename from tools/setup.py.d/backends-torrent.py rename to tools/packaging/setup.py.d/backends-torrent.py index b481af3d..4fef7f49 100755 --- a/tools/setup.py.d/backends-torrent.py +++ b/tools/packaging/setup.py.d/backends-torrent.py @@ -26,6 +26,8 @@ setup( description='Weboob backends implementing torrent capability', author='Romain Bignon', author_email='weboob@lists.symlink.me', + maintainer='Christophe Benz', + maintainer_email='christophe.benz@gmail.com', license='GPLv3', url='http://www.weboob.org/ICapTorrent', namespace_packages = ['weboob.backends'], @@ -36,6 +38,6 @@ setup( 'weboob.backends.gazelle.pages', ], install_requires=[ - 'weboob-core', + 'weboob-core', # python-weboob-core ], ) diff --git a/tools/setup.py.d/backends-travel.py b/tools/packaging/setup.py.d/backends-travel.py similarity index 91% rename from tools/setup.py.d/backends-travel.py rename to tools/packaging/setup.py.d/backends-travel.py index 8e49ebf4..35ed14fe 100755 --- a/tools/setup.py.d/backends-travel.py +++ b/tools/packaging/setup.py.d/backends-travel.py @@ -26,6 +26,8 @@ setup( description='Weboob backends implementing travel capability', author='Romain Bignon, Julien Hébert', author_email='weboob@lists.symlink.me', + maintainer='Christophe Benz', + maintainer_email='christophe.benz@gmail.com', license='GPLv3', url='http://www.weboob.org/ICapTravel', namespace_packages = ['weboob', 'weboob.backends'], @@ -37,6 +39,6 @@ setup( 'weboob.backends.transilien.pages', ], install_requires=[ - 'weboob-core', + 'weboob-core', # python-weboob-core ], ) diff --git a/tools/setup.py.d/backends-video-nsfw.py b/tools/packaging/setup.py.d/backends-video-nsfw.py similarity index 91% rename from tools/setup.py.d/backends-video-nsfw.py rename to tools/packaging/setup.py.d/backends-video-nsfw.py index 1bb5d560..6ad07da1 100755 --- a/tools/setup.py.d/backends-video-nsfw.py +++ b/tools/packaging/setup.py.d/backends-video-nsfw.py @@ -26,6 +26,8 @@ setup( description='Weboob backends implementing video capability - non-suitable for work', author='Romain Bignon, Roger Philibert', author_email='weboob@lists.symlink.me', + maintainer='Christophe Benz', + maintainer_email='christophe.benz@gmail.com', license='GPLv3', url='http://www.weboob.org/ICapVideo', namespace_packages = ['weboob', 'weboob.backends'], @@ -38,6 +40,6 @@ setup( 'weboob.backends.youporn.pages', ], install_requires=[ - 'weboob-core', + 'weboob-core', # python-weboob-core ], ) diff --git a/tools/setup.py.d/backends-video.py b/tools/packaging/setup.py.d/backends-video.py similarity index 89% rename from tools/setup.py.d/backends-video.py rename to tools/packaging/setup.py.d/backends-video.py index ff205436..dd1da238 100755 --- a/tools/setup.py.d/backends-video.py +++ b/tools/packaging/setup.py.d/backends-video.py @@ -26,6 +26,8 @@ setup( description='Weboob backends implementing video capability', author='Christophe Benz, Romain Bignon', author_email='weboob@lists.symlink.me', + maintainer='Christophe Benz', + maintainer_email='christophe.benz@gmail.com', license='GPLv3', url='http://www.weboob.org/ICapVideo', namespace_packages = ['weboob', 'weboob.backends'], @@ -38,7 +40,7 @@ setup( 'weboob.backends.youtube.pages', ], install_requires=[ - 'weboob-core', - # gdata, no egg? + 'weboob-core', # python-weboob-core + 'gdata', # python-gdata ], ) diff --git a/tools/setup.py.d/backends-weather.py b/tools/packaging/setup.py.d/backends-weather.py similarity index 90% rename from tools/setup.py.d/backends-weather.py rename to tools/packaging/setup.py.d/backends-weather.py index 80765c7b..da80a287 100755 --- a/tools/setup.py.d/backends-weather.py +++ b/tools/packaging/setup.py.d/backends-weather.py @@ -26,6 +26,8 @@ setup( description='Weboob backends implementing weather capability', author='Romain Bignon', author_email='weboob@lists.symlink.me', + maintainer='Christophe Benz', + maintainer_email='christophe.benz@gmail.com', license='GPLv3', url='http://www.weboob.org/ICapWeather', namespace_packages = ['weboob', 'weboob.backends'], @@ -35,6 +37,6 @@ setup( 'weboob.backends.yweather', ], install_requires=[ - 'weboob-core', + 'weboob-core', # python-weboob-core ], ) diff --git a/tools/setup.py.d/boobank.py b/tools/packaging/setup.py.d/boobank.py similarity index 90% rename from tools/setup.py.d/boobank.py rename to tools/packaging/setup.py.d/boobank.py index b45bb0d2..df2a5162 100755 --- a/tools/setup.py.d/boobank.py +++ b/tools/packaging/setup.py.d/boobank.py @@ -27,6 +27,8 @@ setup( long_description='List your bank accounts and get info about them', author='Christophe Benz, Romain Bignon', author_email='weboob@lists.symlink.me', + maintainer='Christophe Benz', + maintainer_email='christophe.benz@gmail.com', license='GPLv3', url='http://www.weboob.org/Boobank', namespace_packages = ['weboob', 'weboob.applications'], @@ -39,6 +41,6 @@ setup( 'scripts/boobank', ], install_requires=[ - 'weboob-backends-bank', + 'weboob-backends-bank', # python-weboob-backends-bank ], ) diff --git a/tools/setup.py.d/core-qt.py b/tools/packaging/setup.py.d/core-qt.py similarity index 84% rename from tools/setup.py.d/core-qt.py rename to tools/packaging/setup.py.d/core-qt.py index 974bf7e5..d6b09d17 100755 --- a/tools/setup.py.d/core-qt.py +++ b/tools/packaging/setup.py.d/core-qt.py @@ -31,6 +31,8 @@ setup( long_description='Configure backends using a Qt GUI.', author='Romain Bignon', author_email='weboob@lists.symlink.me', + maintainer='Christophe Benz', + maintainer_email='christophe.benz@gmail.com', license='GPLv3', url='http://www.weboob.org', namespace_packages = [ @@ -45,14 +47,14 @@ setup( 'weboob.tools.application.qt', ], data_files=[ - ('weboob/tools', ['weboob/tools/__init__.py']), - ('weboob/tools/application', ['weboob/tools/application/__init__.py']), + ('weboob/tools', ['weboob/tools/__init__.py']), + ('weboob/tools/application', ['weboob/tools/application/__init__.py']), ], scripts=[ 'scripts/weboob-config-qt', ], install_requires=[ - 'weboob-core', - #'PyQt', + 'weboob-core', # python-weboob-core + 'PyQt', # python-qt4 ], ) diff --git a/tools/setup.py.d/core-webkit-formatter.py b/tools/packaging/setup.py.d/core-webkit-formatter.py similarity index 77% rename from tools/setup.py.d/core-webkit-formatter.py rename to tools/packaging/setup.py.d/core-webkit-formatter.py index 2504d196..3cb467ab 100755 --- a/tools/setup.py.d/core-webkit-formatter.py +++ b/tools/packaging/setup.py.d/core-webkit-formatter.py @@ -26,6 +26,8 @@ setup( description='Weboob, Web Out Of Browsers - core library, WebKit formatter', author='Christophe Benz', author_email='weboob@lists.symlink.me', + maintainer='Christophe Benz', + maintainer_email='christophe.benz@gmail.com', license='GPLv3', url='http://www.weboob.org', classifiers=[ @@ -38,22 +40,25 @@ setup( 'Topic :: Internet', ], namespace_packages = [ - 'weboob', + 'weboob', 'weboob.tools', 'weboob.tools.application', 'weboob.tools.application.formatters', ], packages=[ - 'weboob', + 'weboob', 'weboob.tools.application.formatters.webkit', ], data_files=[ - ('weboob/tools', ['weboob/tools/__init__.py']), - ('weboob/tools/application', ['weboob/tools/application/__init__.py']), - ('weboob/tools/application/formatters', ['weboob/tools/application/formatters/__init__.py']), + ('weboob/tools', ['weboob/tools/__init__.py']), + ('weboob/tools/application', ['weboob/tools/application/__init__.py']), + ('weboob/tools/application/formatters', ['weboob/tools/application/formatters/__init__.py']), ], install_requires=[ - 'weboob-core', - # webkit dependency, is not an egg? + 'weboob-core', # python-weboob-core + # not Pypi packages: + # Depends + # gtk + # webkit ], ) diff --git a/tools/setup.py.d/core.py b/tools/packaging/setup.py.d/core.py similarity index 81% rename from tools/setup.py.d/core.py rename to tools/packaging/setup.py.d/core.py index 69d27472..5f178218 100755 --- a/tools/setup.py.d/core.py +++ b/tools/packaging/setup.py.d/core.py @@ -43,6 +43,8 @@ Weboob is written in Python and is distributed under the GPLv3 license. """, author='Romain Bignon', author_email='weboob@lists.symlink.me', + maintainer='Christophe Benz', + maintainer_email='christophe.benz@gmail.com', license='GPLv3', url='http://www.weboob.org', classifiers=[ @@ -56,8 +58,8 @@ Weboob is written in Python and is distributed under the GPLv3 license. ], # keywords='', namespace_packages = [ - 'weboob', - 'weboob.applications', + 'weboob', + 'weboob.applications', 'weboob.tools', 'weboob.tools.application', ], @@ -78,10 +80,25 @@ Weboob is written in Python and is distributed under the GPLv3 license. ], scripts=[ 'scripts/weboob-config', - 'scripts/weboob-debug', - 'scripts/weboob-tests', + # 'scripts/weboob-debug', + # 'scripts/weboob-tests', ], install_requires=[ - 'python-dateutil', + 'elementtidy', # python-elementtidy + 'lxml', # python-lxml + 'mechanize', # python-mechanize + 'python-dateutil', # python-dateutil + 'PyYAML', # python-yaml ], + # package name / Debian package name + # + # Recommends + # html2text / python-html2text + # PrettyTable / python-prettytable + # + # Suggests + # ClientForm / python-clientform + # ipython / ipython + # nose / python-nose + # pysqlite / python-pysqlite2 ) diff --git a/tools/setup.py.d/havesex.py b/tools/packaging/setup.py.d/havesex.py similarity index 90% rename from tools/setup.py.d/havesex.py rename to tools/packaging/setup.py.d/havesex.py index 1d07a3de..584175fd 100755 --- a/tools/setup.py.d/havesex.py +++ b/tools/packaging/setup.py.d/havesex.py @@ -27,6 +27,8 @@ setup( long_description='Optimize your probabilities to have sex on dating websites', author='Romain Bignon', author_email='weboob@lists.symlink.me', + maintainer='Christophe Benz', + maintainer_email='christophe.benz@gmail.com', license='GPLv3', url='http://www.weboob.org/HaveSex', namespace_packages = ['weboob', 'weboob.applications'], @@ -39,6 +41,6 @@ setup( 'scripts/havesex', ], install_requires=[ - 'weboob-backends-dating', + 'weboob-backends-dating', # python-weboob-backends-dating ], ) diff --git a/tools/setup.py.d/masstransit.py b/tools/packaging/setup.py.d/masstransit.py similarity index 85% rename from tools/setup.py.d/masstransit.py rename to tools/packaging/setup.py.d/masstransit.py index 6f2bdbc2..a785ff64 100755 --- a/tools/setup.py.d/masstransit.py +++ b/tools/packaging/setup.py.d/masstransit.py @@ -27,6 +27,8 @@ setup( long_description='Search for train stations and departure timegrids', author='Julien Hébert', author_email='weboob@lists.symlink.me', + maintainer='Christophe Benz', + maintainer_email='christophe.benz@gmail.com', license='GPLv3', url='http://www.weboob.org/Masstransit', namespace_packages = ['weboob', 'weboob.applications'], @@ -39,6 +41,9 @@ setup( 'scripts/masstransit', ], install_requires=[ - 'weboob-backends-travel', + 'weboob-backends-travel', # python-weboob-backends-travel + # python-gtk + # python-conic, on Maemo + # python-hildon, on Maemo ], ) diff --git a/tools/setup.py.d/monboob.py b/tools/packaging/setup.py.d/monboob.py similarity index 89% rename from tools/setup.py.d/monboob.py rename to tools/packaging/setup.py.d/monboob.py index 489144db..51f39203 100755 --- a/tools/setup.py.d/monboob.py +++ b/tools/packaging/setup.py.d/monboob.py @@ -26,6 +26,8 @@ setup( description='Monboob, the Weboob e-mail swiss-knife', author='Romain Bignon', author_email='weboob@lists.symlink.me', + maintainer='Christophe Benz', + maintainer_email='christophe.benz@gmail.com', license='GPLv3', url='http://www.weboob.org/Monboob', namespace_packages = ['weboob', 'weboob.applications'], @@ -38,6 +40,6 @@ setup( 'scripts/monboob', ], install_requires=[ - 'weboob-backends-messages', + 'weboob-backends-messages', # python-weboob-backends-messages ], ) diff --git a/tools/setup.py.d/qboobmsg.py b/tools/packaging/setup.py.d/qboobmsg.py similarity index 87% rename from tools/setup.py.d/qboobmsg.py rename to tools/packaging/setup.py.d/qboobmsg.py index 4789a970..23440f4f 100755 --- a/tools/setup.py.d/qboobmsg.py +++ b/tools/packaging/setup.py.d/qboobmsg.py @@ -30,6 +30,8 @@ setup( description='QBoobMsg, the Weboob e-mail swiss-knife, Qt version', author='Romain Bignon', author_email='weboob@lists.symlink.me', + maintainer='Christophe Benz', + maintainer_email='christophe.benz@gmail.com', license='GPLv3', url='http://www.weboob.org/QBoobMsg', namespace_packages = ['weboob', 'weboob.applications'], @@ -43,6 +45,7 @@ setup( 'scripts/qboobmsg', ], install_requires=[ - 'weboob-backends-messages', + 'weboob-core-qt', # python-weboob-core-qt + 'weboob-backends-messages', # python-weboob-backends-messages ], ) diff --git a/tools/setup.py.d/qhavesex.py b/tools/packaging/setup.py.d/qhavesex.py similarity index 88% rename from tools/setup.py.d/qhavesex.py rename to tools/packaging/setup.py.d/qhavesex.py index 3b906072..c479be04 100755 --- a/tools/setup.py.d/qhavesex.py +++ b/tools/packaging/setup.py.d/qhavesex.py @@ -31,6 +31,8 @@ setup( long_description='Optimize your probabilities to have sex on dating websites', author='Romain Bignon', author_email='weboob@lists.symlink.me', + maintainer='Christophe Benz', + maintainer_email='christophe.benz@gmail.com', license='GPLv3', url='http://www.weboob.org/QHaveSex', namespace_packages = ['weboob', 'weboob.applications'], @@ -44,7 +46,7 @@ setup( 'scripts/qhavesex', ], install_requires=[ - 'weboob-backends-dating', - #'yaml', + 'weboob-core-qt', # python-weboob-core-qt + 'weboob-backends-dating', # python-weboob-backends-dating ], ) diff --git a/tools/setup.py.d/qvideoob.py b/tools/packaging/setup.py.d/qvideoob.py similarity index 86% rename from tools/setup.py.d/qvideoob.py rename to tools/packaging/setup.py.d/qvideoob.py index d15a5cc4..cc12af04 100755 --- a/tools/setup.py.d/qvideoob.py +++ b/tools/packaging/setup.py.d/qvideoob.py @@ -31,6 +31,8 @@ setup( long_description='Search for videos on many websites, and get info about them', author='Romain Bignon', author_email='weboob@lists.symlink.me', + maintainer='Christophe Benz', + maintainer_email='christophe.benz@gmail.com', license='GPLv3', url='http://www.weboob.org/QVideoob', namespace_packages = ['weboob', 'weboob.applications'], @@ -44,7 +46,8 @@ setup( 'scripts/qvideoob', ], install_requires=[ - 'weboob-backends-video', - # python-qt4-phonon + 'weboob-core-qt', # python-weboob-core-qt + 'weboob-backends-video', # python-weboob-backends-video + # python-qt4-phonon ], ) diff --git a/tools/setup.py.d/travel.py b/tools/packaging/setup.py.d/travel.py similarity index 89% rename from tools/setup.py.d/travel.py rename to tools/packaging/setup.py.d/travel.py index 5e03e67c..2bbbb308 100755 --- a/tools/setup.py.d/travel.py +++ b/tools/packaging/setup.py.d/travel.py @@ -27,6 +27,8 @@ setup( long_description='Search for train stations and departure timegrids', author='Romain Bignon', author_email='weboob@lists.symlink.me', + maintainer='Christophe Benz', + maintainer_email='christophe.benz@gmail.com', license='GPLv3', url='http://www.weboob.org/Travel', namespace_packages = ['weboob', 'weboob.applications'], @@ -39,6 +41,6 @@ setup( 'scripts/travel', ], install_requires=[ - 'weboob-backends-travel', + 'weboob-backends-travel', # python-weboob-backends-travel ], ) diff --git a/tools/setup.py.d/videoob.py b/tools/packaging/setup.py.d/videoob.py similarity index 90% rename from tools/setup.py.d/videoob.py rename to tools/packaging/setup.py.d/videoob.py index f8481653..d86e159b 100755 --- a/tools/setup.py.d/videoob.py +++ b/tools/packaging/setup.py.d/videoob.py @@ -27,6 +27,8 @@ setup( long_description='Search for videos on many websites, and get info about them', author='Christophe Benz', author_email='weboob@lists.symlink.me', + maintainer='Christophe Benz', + maintainer_email='christophe.benz@gmail.com', license='GPLv3', url='http://www.weboob.org/Videoob', namespace_packages = ['weboob', 'weboob.applications'], @@ -39,6 +41,6 @@ setup( 'scripts/videoob', ], install_requires=[ - 'weboob-backends-video', + 'weboob-backends-video', # python-weboob-backends-video ], ) diff --git a/tools/setup.py.d/videoob_web.py b/tools/packaging/setup.py.d/videoob_web.py similarity index 86% rename from tools/setup.py.d/videoob_web.py rename to tools/packaging/setup.py.d/videoob_web.py index 0b7c57cd..95276908 100755 --- a/tools/setup.py.d/videoob_web.py +++ b/tools/packaging/setup.py.d/videoob_web.py @@ -27,6 +27,8 @@ setup( long_description='Search for videos on many websites, and get info about them', author='Christophe Benz', author_email='weboob@lists.symlink.me', + maintainer='Christophe Benz', + maintainer_email='christophe.benz@gmail.com', license='GPLv3', url='http://www.weboob.org/VideoobWeb', namespace_packages = ['weboob', 'weboob.applications'], @@ -41,6 +43,9 @@ setup( 'scripts/videoob-web-server', ], install_requires=[ - 'weboob-backends-video', + 'weboob-backends-video', # python-weboob-backends-video + 'Mako', # python-mako + 'Routes', # python-routes + 'WebOb', # python-webob ], ) diff --git a/tools/setup.py.d/weboorrents.py b/tools/packaging/setup.py.d/weboorrents.py similarity index 90% rename from tools/setup.py.d/weboorrents.py rename to tools/packaging/setup.py.d/weboorrents.py index 267271fb..389e0f01 100755 --- a/tools/setup.py.d/weboorrents.py +++ b/tools/packaging/setup.py.d/weboorrents.py @@ -27,6 +27,8 @@ setup( long_description='Search for torrents on many websites, and get info about them', author='Romain Bignon', author_email='weboob@lists.symlink.me', + maintainer='Christophe Benz', + maintainer_email='christophe.benz@gmail.com', license='GPLv3', url='http://www.weboob.org/Weboorrents', namespace_packages = ['weboob', 'weboob.applications'], @@ -39,6 +41,6 @@ setup( 'scripts/weboorrents', ], install_requires=[ - 'weboob-backends-torrent', + 'weboob-backends-torrent', # python-weboob-backends-torrent ], ) diff --git a/tools/setup.py.d/wetboobs.py b/tools/packaging/setup.py.d/wetboobs.py similarity index 89% rename from tools/setup.py.d/wetboobs.py rename to tools/packaging/setup.py.d/wetboobs.py index 0c241068..6f4e19b4 100755 --- a/tools/setup.py.d/wetboobs.py +++ b/tools/packaging/setup.py.d/wetboobs.py @@ -26,6 +26,8 @@ setup( description='Wetboobs, the Weboob weather forecast swiss-knife', author='Romain Bignon', author_email='weboob@lists.symlink.me', + maintainer='Christophe Benz', + maintainer_email='christophe.benz@gmail.com', license='GPLv3', url='http://www.weboob.org/Wetboobs', namespace_packages = ['weboob', 'weboob.applications'], @@ -38,6 +40,6 @@ setup( 'scripts/wetboobs', ], install_requires=[ - 'weboob-backends-weather', + 'weboob-backends-weather', # python-weboob-backends-weather ], ) diff --git a/tools/packaging/stdeb.cfg b/tools/packaging/stdeb.cfg new file mode 100644 index 00000000..d08af623 --- /dev/null +++ b/tools/packaging/stdeb.cfg @@ -0,0 +1,79 @@ +# core + +[weboob-core] +Depends = python-elementtidy, python-dateutil, python-lxml, python-mechanize, python-yaml +Recommends = python-prettytable, python-html2text, python-html5lib +Suggests = python-clientform, python-nose, ipython, python-pysqlite2 + +[weboob-core-qt] +Depends = python-weboob-core, python-qt4 + +[weboob-core-webkit-formatter] +Depends = python-weboob-core, python-gtk, python-webkit + + +# backends + +[weboob-backends-bank] +Depends = python-weboob-core, python-clientform +Recommends = python-imaging + +[weboob-backends-dating] +Depends = python-weboob-core, python-html5lib, python-imaging + +[weboob-backends-messages] +Depends = python-weboob-core, python-feedparser + +[weboob-backends-torrent] +Depends = python-weboob-core + +[weboob-backends-travel] +Depends = python-weboob-core + +[weboob-backends-video-nsfw] +Depends = python-weboob-core + +[weboob-backends-video] +Depends = python-weboob-core, python-gdata + +[weboob-backends-weather] +Depends = python-weboob-core + + +# applications + +[weboob-boobank] +Depends = python-weboob-backends-bank + +[weboob-havesex] +Depends = python-weboob-backends-dating + +[weboob-masstransit] +Depends = python-weboob-backends-travel, python-conic, python-hildon + +[weboob-monboob] +Depends = python-weboob-backends-messages + +[weboob-qboobmsg] +Depends = python-weboob-backends-messages, python-weboob-core-qt + +[weboob-qhavesex] +Depends = python-weboob-backends-dating, python-weboob-core-qt + +[weboob-qvideoob] +Depends = python-weboob-backends-messages, python-weboob-core-qt, python-qt4-phonon + +[weboob-travel] +Depends = python-weboob-backends-travel + +[weboob-videoob] +Depends = python-weboob-backends-video + +[weboob-videoob-web] +Depends = python-weboob-backends-video, python-mako, python-routes, python-webob + +[weboob-weboorrents] +Depends = python-weboob-backends-torrent + +[weboob-wetboobs] +Depends = python-weboob-backends-weather diff --git a/tools/stdeb.d/core.cfg b/tools/stdeb.d/core.cfg deleted file mode 100644 index eed61496..00000000 --- a/tools/stdeb.d/core.cfg +++ /dev/null @@ -1,2 +0,0 @@ -[weboob-core] -depends = python-dateutil From a6aa57846bbddacd5bde32db476ed2193b16487a Mon Sep 17 00:00:00 2001 From: Christophe Benz Date: Wed, 21 Jul 2010 23:09:19 +0200 Subject: [PATCH 06/14] ignore MANIFEST.in --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index ba250443..c2b4dbb9 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,4 @@ Session.vim build dist deb +MANIFEST.in From 5591f001d82ac12639d4948ff2e33a659cfe388d Mon Sep 17 00:00:00 2001 From: Christophe Benz Date: Wed, 21 Jul 2010 23:17:17 +0200 Subject: [PATCH 07/14] fix some paths --- tools/packaging/create_debian_packages.sh | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/tools/packaging/create_debian_packages.sh b/tools/packaging/create_debian_packages.sh index f49add91..fe3a6b6a 100755 --- a/tools/packaging/create_debian_packages.sh +++ b/tools/packaging/create_debian_packages.sh @@ -35,7 +35,7 @@ $SCRIPT_DIRPATH/setup.py.d/weboorrents.py $SCRIPT_DIRPATH/setup.py.d/wetboobs.py " -rm -rf $DEB_DIRPATH *.egg-info +rm -rf $DEB_DIRPATH $DIST_DIRPATH MANIFEST.in *.egg-info mkdir $DEB_DIRPATH for f in $SETUP_PY_LIST @@ -43,7 +43,7 @@ do echo "========== Creating Debian package for $f" rm -rf $DIST_DIRPATH MANIFEST_IN=$SCRIPT_DIRPATH/MANIFEST.in.d/$(basename $f .py) - ln -s $MANIFEST_IN MANIFEST.in + [ -f $MANIFEST_IN ] && ln -s $MANIFEST_IN MANIFEST.in python $f sdist cd $DIST_DIRPATH TARGZ=$(ls *.tar.gz) @@ -52,14 +52,14 @@ do TARGZ_DIRPATH=$(basename $TARGZ .tar.gz) cd $TARGZ_DIRPATH ln -s $f setup.py - ln -s $MANIFEST_IN MANIFEST.in + [ -f $MANIFEST_IN ] && ln -s $MANIFEST_IN MANIFEST.in python setup.py --command-packages=stdeb.command sdist_dsc --extra-cfg-file $SCRIPT_DIRPATH/stdeb.cfg cd deb_dist/$TARGZ_DIRPATH fakeroot dpkg-buildpackage cd .. mv *.deb *.diff.gz *.changes *.orig.tar.gz $DEB_DIRPATH - cd ../.. - break + cd ../../.. + # break done rm -rf $DIST_DIRPATH MANIFEST.in *.egg-info From e3a0561a9424bce287580a5c086ffeb316268b0c Mon Sep 17 00:00:00 2001 From: Christophe Benz Date: Thu, 22 Jul 2010 00:10:20 +0200 Subject: [PATCH 08/14] more work on deb --- README | 20 ++++++++++++++ tools/packaging/MANIFEST.in.d/backends-bank | 1 + tools/packaging/MANIFEST.in.d/backends-dating | 1 + tools/packaging/README.d/core-qt | 2 ++ tools/packaging/create_debian_packages.sh | 27 ++++++++++++++----- tools/packaging/setup.py.d/backends-bank.py | 5 +++- tools/packaging/setup.py.d/backends-dating.py | 5 +++- tools/packaging/setup.py.d/backends-video.py | 1 - tools/packaging/setup.py.d/core-qt.py | 8 +++--- .../setup.py.d/core-webkit-formatter.py | 14 +++++----- tools/packaging/setup.py.d/core.py | 23 +++++----------- tools/packaging/stdeb.patch | 10 +++++++ 12 files changed, 80 insertions(+), 37 deletions(-) create mode 100644 README create mode 100644 tools/packaging/MANIFEST.in.d/backends-bank create mode 100644 tools/packaging/MANIFEST.in.d/backends-dating create mode 100644 tools/packaging/README.d/core-qt create mode 100644 tools/packaging/stdeb.patch diff --git a/README b/README new file mode 100644 index 00000000..519b226a --- /dev/null +++ b/README @@ -0,0 +1,20 @@ +Weboob is a project which provides a core library, backends and applications. + +The core library defines capabilities: features common to various websites. For +example, http://www.youtube.com and http://www.dailymotion.com are both videos +providers: Weboob defines the “ICapVideo” capability. + +Each backend interfaces a website and implements one or many of these +capabilities. Backends can be configured, which means that the end-user can +provide personal information to access the underlaying website (login/password +for example). + +Applications offer the ability to the end-user to work with many backends in +parallel, in a multi-threaded way. For example, one could search a video on +many providers websites. Applications are toolkit-agnostic. They can use Gtk, +Qt or text-only, more adapted to reuse data through pipes. + +The core library provides base classes which help the developer to write +backends and applications. + +Weboob is written in Python and is distributed under the GPLv3 license. diff --git a/tools/packaging/MANIFEST.in.d/backends-bank b/tools/packaging/MANIFEST.in.d/backends-bank new file mode 100644 index 00000000..ea11e623 --- /dev/null +++ b/tools/packaging/MANIFEST.in.d/backends-bank @@ -0,0 +1 @@ +include share/pyshared/weboob/backends/aum/data/* diff --git a/tools/packaging/MANIFEST.in.d/backends-dating b/tools/packaging/MANIFEST.in.d/backends-dating new file mode 100644 index 00000000..79d7930a --- /dev/null +++ b/tools/packaging/MANIFEST.in.d/backends-dating @@ -0,0 +1 @@ +include share/pyshared/weboob/backends/bnporc/data/* diff --git a/tools/packaging/README.d/core-qt b/tools/packaging/README.d/core-qt new file mode 100644 index 00000000..ce1ef259 --- /dev/null +++ b/tools/packaging/README.d/core-qt @@ -0,0 +1,2 @@ +This package provides a dialog box used to configure backends. +This dialog box can be integrated in a Qt GUI. diff --git a/tools/packaging/create_debian_packages.sh b/tools/packaging/create_debian_packages.sh index fe3a6b6a..01f16f0c 100755 --- a/tools/packaging/create_debian_packages.sh +++ b/tools/packaging/create_debian_packages.sh @@ -1,4 +1,12 @@ #!/bin/sh +# +# This script generates the .deb packages for Weboob. +# It is based on python-stdeb setuptools extension. +# +# To accelerate the procedure, it is advised to disable the stdeb +# automatic depencies search feature. +# This requires a patch: +# # patch -p0 < stdeb.patch [ ! -d /usr/share/pyshared/stdeb ] && echo 'Please install the python-stdeb package' && exit @@ -41,28 +49,35 @@ mkdir $DEB_DIRPATH for f in $SETUP_PY_LIST do echo "========== Creating Debian package for $f" - rm -rf $DIST_DIRPATH - MANIFEST_IN=$SCRIPT_DIRPATH/MANIFEST.in.d/$(basename $f .py) + PKGNAME=$(basename $f .py) + rm -f MANIFEST.in + MANIFEST_IN=$SCRIPT_DIRPATH/MANIFEST.in.d/$PKGNAME [ -f $MANIFEST_IN ] && ln -s $MANIFEST_IN MANIFEST.in + README=$SCRIPT_DIRPATH/README.d/$PKGNAME + [ -f $README ] && mv README README.old && ln -s $README README python $f sdist cd $DIST_DIRPATH - TARGZ=$(ls *.tar.gz) + TARGZ=$(ls weboob-$PKGNAME-*.tar.gz) tar xf $TARGZ - PKGNAME=$(basename $f .py) TARGZ_DIRPATH=$(basename $TARGZ .tar.gz) + [ ! -d $TARGZ_DIRPATH ] && echo "$TARGZ_DIRPATH not found" && exit cd $TARGZ_DIRPATH ln -s $f setup.py - [ -f $MANIFEST_IN ] && ln -s $MANIFEST_IN MANIFEST.in + [ -f $MANIFEST_IN ] && ln -sf $MANIFEST_IN MANIFEST.in python setup.py --command-packages=stdeb.command sdist_dsc --extra-cfg-file $SCRIPT_DIRPATH/stdeb.cfg + [ ! -d deb_dist/$TARGZ_DIRPATH ] && echo "deb_dist/$TARGZ_DIRPATH not found" && exit cd deb_dist/$TARGZ_DIRPATH fakeroot dpkg-buildpackage cd .. + [ ! -f *.deb ] && echo "Debian package not found" && exit mv *.deb *.diff.gz *.changes *.orig.tar.gz $DEB_DIRPATH cd ../../.. + [ -f $README ] && mv README.old README + pwd # break done -rm -rf $DIST_DIRPATH MANIFEST.in *.egg-info +# rm -rf $DIST_DIRPATH MANIFEST.in *.egg-info echo echo "Packages are in the $DEB_DIRPATH directory" diff --git a/tools/packaging/setup.py.d/backends-bank.py b/tools/packaging/setup.py.d/backends-bank.py index ffe80dcc..35504b25 100755 --- a/tools/packaging/setup.py.d/backends-bank.py +++ b/tools/packaging/setup.py.d/backends-bank.py @@ -35,11 +35,14 @@ setup( 'weboob', 'weboob.backends', 'weboob.backends.bnporc', - 'weboob.backends.bnporc.data', 'weboob.backends.bnporc.pages', 'weboob.backends.cragr', 'weboob.backends.cragr.pages', ], + include_package_data=True, + package_data={ + 'weboob.backends.bnporc': ['data/*'], + }, install_requires=[ 'weboob-core', # python-weboob-core 'ClientForm', # python-clientform diff --git a/tools/packaging/setup.py.d/backends-dating.py b/tools/packaging/setup.py.d/backends-dating.py index 91f150e5..a59df629 100755 --- a/tools/packaging/setup.py.d/backends-dating.py +++ b/tools/packaging/setup.py.d/backends-dating.py @@ -35,10 +35,13 @@ setup( 'weboob', 'weboob.backends', 'weboob.backends.aum', - 'weboob.backends.aum.data', 'weboob.backends.aum.optim', 'weboob.backends.aum.pages', ], + include_package_data=True, + package_data={ + 'weboob.backends.aum': ['data/*'], + }, install_requires=[ 'weboob-core', # python-weboob-core 'html5lib', # python-html5lib diff --git a/tools/packaging/setup.py.d/backends-video.py b/tools/packaging/setup.py.d/backends-video.py index dd1da238..e58f5a91 100755 --- a/tools/packaging/setup.py.d/backends-video.py +++ b/tools/packaging/setup.py.d/backends-video.py @@ -37,7 +37,6 @@ setup( 'weboob.backends.ina', 'weboob.backends.ina.pages', 'weboob.backends.youtube', - 'weboob.backends.youtube.pages', ], install_requires=[ 'weboob-core', # python-weboob-core diff --git a/tools/packaging/setup.py.d/core-qt.py b/tools/packaging/setup.py.d/core-qt.py index d6b09d17..562f67e4 100755 --- a/tools/packaging/setup.py.d/core-qt.py +++ b/tools/packaging/setup.py.d/core-qt.py @@ -46,10 +46,10 @@ setup( 'weboob.applications.qweboobcfg', 'weboob.tools.application.qt', ], - data_files=[ - ('weboob/tools', ['weboob/tools/__init__.py']), - ('weboob/tools/application', ['weboob/tools/application/__init__.py']), - ], + # data_files=[ + # ('weboob/tools', ['weboob/tools/__init__.py']), + # ('weboob/tools/application', ['weboob/tools/application/__init__.py']), + # ], scripts=[ 'scripts/weboob-config-qt', ], diff --git a/tools/packaging/setup.py.d/core-webkit-formatter.py b/tools/packaging/setup.py.d/core-webkit-formatter.py index 3cb467ab..14b0b40b 100755 --- a/tools/packaging/setup.py.d/core-webkit-formatter.py +++ b/tools/packaging/setup.py.d/core-webkit-formatter.py @@ -49,16 +49,16 @@ setup( 'weboob', 'weboob.tools.application.formatters.webkit', ], - data_files=[ - ('weboob/tools', ['weboob/tools/__init__.py']), - ('weboob/tools/application', ['weboob/tools/application/__init__.py']), - ('weboob/tools/application/formatters', ['weboob/tools/application/formatters/__init__.py']), - ], + # data_files=[ + # ('weboob/tools', ['weboob/tools/__init__.py']), + # ('weboob/tools/application', ['weboob/tools/application/__init__.py']), + # ('weboob/tools/application/formatters', ['weboob/tools/application/formatters/__init__.py']), + # ], install_requires=[ 'weboob-core', # python-weboob-core # not Pypi packages: # Depends - # gtk - # webkit + # python-gtk + # python-webkit ], ) diff --git a/tools/packaging/setup.py.d/core.py b/tools/packaging/setup.py.d/core.py index 5f178218..9b72ded6 100755 --- a/tools/packaging/setup.py.d/core.py +++ b/tools/packaging/setup.py.d/core.py @@ -17,30 +17,19 @@ # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +from __future__ import with_statement + from setuptools import setup +with open('README') as f: + readme_data = f.read() + setup( name='weboob-core', version='0.1', description='Weboob, Web Out Of Browsers - core library', - long_description=""" -Weboob is a project which provides a core library, backends and applications. - -The core library defines capabilities: features common to various websites. For example, http://www.youtube.com and -http://www.dailymotion.com are both videos providers: Weboob defines the “ICapVideo” capability. - -Each backend interfaces a website and implements one or many of these capabilities. Backends can be configured, which -means that the end-user can provide personal information to access the underlaying website (login/password for example). - -Applications offer the ability to the end-user to work with many backends in parallel, in a multi-threaded way. For -example, one could search a video on many providers websites. Applications are toolkit-agnostic. They can use Gtk, Qt or -text-only, more adapted to reuse data through pipes. - -The core library provides base classes which help the developer to write backends and applications. - -Weboob is written in Python and is distributed under the GPLv3 license. -""", + long_description=readme_data, author='Romain Bignon', author_email='weboob@lists.symlink.me', maintainer='Christophe Benz', diff --git a/tools/packaging/stdeb.patch b/tools/packaging/stdeb.patch new file mode 100644 index 00000000..c6bb504c --- /dev/null +++ b/tools/packaging/stdeb.patch @@ -0,0 +1,10 @@ +--- /dev/null 2010-07-21 23:28:33.036382748 +0200 ++++ /usr/share/pyshared/stdeb/util.py 2010-07-21 23:28:39.808445830 +0200 +@@ -254,6 +254,7 @@ + import pkg_resources + + depends = [] # This will be the return value from this function. ++ return depends + + parsed_reqs=[] + From a3eb06b7f7c051af35531ab7e3248cf49581da6e Mon Sep 17 00:00:00 2001 From: Christophe Benz Date: Thu, 29 Jul 2010 19:24:42 +0200 Subject: [PATCH 09/14] more work on deb --- tools/packaging/create_debian_package.sh | 42 +++++++++++++++++++ tools/packaging/create_debian_packages.sh | 31 ++------------ .../setup.py.d/core-webkit-formatter.py | 10 ++--- 3 files changed, 51 insertions(+), 32 deletions(-) create mode 100755 tools/packaging/create_debian_package.sh diff --git a/tools/packaging/create_debian_package.sh b/tools/packaging/create_debian_package.sh new file mode 100755 index 00000000..30743a4e --- /dev/null +++ b/tools/packaging/create_debian_package.sh @@ -0,0 +1,42 @@ +#!/bin/sh +# +# This script generates one .deb packages for Weboob. +# It is based on python-stdeb setuptools extension. +# +# To accelerate the procedure, it is advised to disable the stdeb +# automatic depencies search feature. +# This requires a patch: +# # patch -p0 < stdeb.patch + +[ ! -d /usr/share/pyshared/stdeb ] && echo 'Please install the python-stdeb package' && exit + +FILEPATH="$1" + +DIST_DIRPATH="$PWD/dist" +SCRIPT_DIRPATH=$(dirname $(readlink -f "$0")) + +PKGNAME=$(basename $FILEPATH .py) +rm -f MANIFEST.in +MANIFEST_IN=$SCRIPT_DIRPATH/MANIFEST.in.d/$PKGNAME +[ -f $MANIFEST_IN ] && ln -s $MANIFEST_IN MANIFEST.in +README=$SCRIPT_DIRPATH/README.d/$PKGNAME +[ -f $README ] && mv README README.old && ln -s $README README +python $FILEPATH sdist +cd $DIST_DIRPATH +TARGZ=$(ls weboob-$PKGNAME-*.tar.gz) +tar xf $TARGZ +TARGZ_DIRPATH=$(basename $TARGZ .tar.gz) +[ ! -d $TARGZ_DIRPATH ] && echo "$TARGZ_DIRPATH not found" && exit +cd $TARGZ_DIRPATH +ln -s $FILEPATH setup.py +[ -f $MANIFEST_IN ] && ln -sf $MANIFEST_IN MANIFEST.in +# rm -f MANIFEST.in +python setup.py --command-packages=stdeb.command sdist_dsc --extra-cfg-file $SCRIPT_DIRPATH/stdeb.cfg +[ ! -d deb_dist/$TARGZ_DIRPATH ] && echo "deb_dist/$TARGZ_DIRPATH not found" && exit +cd deb_dist/$TARGZ_DIRPATH +dpkg-buildpackage -rfakeroot +cd .. +[ ! -f *.deb ] && echo "Debian package not found" && exit +mv *.deb *.diff.gz *.changes *.orig.tar.gz $DEB_DIRPATH +cd ../../.. +[ -f $README ] && mv README.old README diff --git a/tools/packaging/create_debian_packages.sh b/tools/packaging/create_debian_packages.sh index 01f16f0c..f0afe49d 100755 --- a/tools/packaging/create_debian_packages.sh +++ b/tools/packaging/create_debian_packages.sh @@ -46,38 +46,15 @@ $SCRIPT_DIRPATH/setup.py.d/wetboobs.py rm -rf $DEB_DIRPATH $DIST_DIRPATH MANIFEST.in *.egg-info mkdir $DEB_DIRPATH -for f in $SETUP_PY_LIST +for filepath in $SETUP_PY_LIST do - echo "========== Creating Debian package for $f" - PKGNAME=$(basename $f .py) - rm -f MANIFEST.in - MANIFEST_IN=$SCRIPT_DIRPATH/MANIFEST.in.d/$PKGNAME - [ -f $MANIFEST_IN ] && ln -s $MANIFEST_IN MANIFEST.in - README=$SCRIPT_DIRPATH/README.d/$PKGNAME - [ -f $README ] && mv README README.old && ln -s $README README - python $f sdist - cd $DIST_DIRPATH - TARGZ=$(ls weboob-$PKGNAME-*.tar.gz) - tar xf $TARGZ - TARGZ_DIRPATH=$(basename $TARGZ .tar.gz) - [ ! -d $TARGZ_DIRPATH ] && echo "$TARGZ_DIRPATH not found" && exit - cd $TARGZ_DIRPATH - ln -s $f setup.py - [ -f $MANIFEST_IN ] && ln -sf $MANIFEST_IN MANIFEST.in - python setup.py --command-packages=stdeb.command sdist_dsc --extra-cfg-file $SCRIPT_DIRPATH/stdeb.cfg - [ ! -d deb_dist/$TARGZ_DIRPATH ] && echo "deb_dist/$TARGZ_DIRPATH not found" && exit - cd deb_dist/$TARGZ_DIRPATH - fakeroot dpkg-buildpackage - cd .. - [ ! -f *.deb ] && echo "Debian package not found" && exit - mv *.deb *.diff.gz *.changes *.orig.tar.gz $DEB_DIRPATH - cd ../../.. - [ -f $README ] && mv README.old README + echo "========== Creating Debian package for $filepath" + exec $SCRIPT_DIRPATH/create_debian_package.sh $filepath pwd # break done -# rm -rf $DIST_DIRPATH MANIFEST.in *.egg-info +rm -rf $DIST_DIRPATH MANIFEST.in *.egg-info echo echo "Packages are in the $DEB_DIRPATH directory" diff --git a/tools/packaging/setup.py.d/core-webkit-formatter.py b/tools/packaging/setup.py.d/core-webkit-formatter.py index 14b0b40b..a3bd8aad 100755 --- a/tools/packaging/setup.py.d/core-webkit-formatter.py +++ b/tools/packaging/setup.py.d/core-webkit-formatter.py @@ -49,11 +49,11 @@ setup( 'weboob', 'weboob.tools.application.formatters.webkit', ], - # data_files=[ - # ('weboob/tools', ['weboob/tools/__init__.py']), - # ('weboob/tools/application', ['weboob/tools/application/__init__.py']), - # ('weboob/tools/application/formatters', ['weboob/tools/application/formatters/__init__.py']), - # ], + data_files=[ + ('weboob/tools', ['weboob/tools/__init__.py']), + ('weboob/tools/application', ['weboob/tools/application/__init__.py']), + ('weboob/tools/application/formatters', ['weboob/tools/application/formatters/__init__.py']), + ], install_requires=[ 'weboob-core', # python-weboob-core # not Pypi packages: From b41d8540efc5c4f5a0c2ee42e808818fb5cee4cd Mon Sep 17 00:00:00 2001 From: Christophe Benz Date: Fri, 30 Jul 2010 12:51:24 +0200 Subject: [PATCH 10/14] more work on .deb --- tools/packaging/MANIFEST.in.d/backends-bank | 2 +- tools/packaging/MANIFEST.in.d/backends-dating | 2 +- tools/packaging/MANIFEST.in.d/core-qt | 2 -- tools/packaging/MANIFEST.in.d/core-webkit-formatter | 3 --- tools/packaging/create_debian_package.sh | 5 ++++- tools/packaging/create_debian_packages.sh | 4 +--- tools/packaging/setup.py.d/core-qt.py | 4 ---- tools/packaging/setup.py.d/core-webkit-formatter.py | 7 +------ tools/packaging/stdeb.cfg | 2 +- 9 files changed, 9 insertions(+), 22 deletions(-) delete mode 100644 tools/packaging/MANIFEST.in.d/core-qt delete mode 100644 tools/packaging/MANIFEST.in.d/core-webkit-formatter diff --git a/tools/packaging/MANIFEST.in.d/backends-bank b/tools/packaging/MANIFEST.in.d/backends-bank index ea11e623..878ccf52 100644 --- a/tools/packaging/MANIFEST.in.d/backends-bank +++ b/tools/packaging/MANIFEST.in.d/backends-bank @@ -1 +1 @@ -include share/pyshared/weboob/backends/aum/data/* +include weboob/backends/bnporc/data/* diff --git a/tools/packaging/MANIFEST.in.d/backends-dating b/tools/packaging/MANIFEST.in.d/backends-dating index 79d7930a..092769aa 100644 --- a/tools/packaging/MANIFEST.in.d/backends-dating +++ b/tools/packaging/MANIFEST.in.d/backends-dating @@ -1 +1 @@ -include share/pyshared/weboob/backends/bnporc/data/* +include weboob/backends/aum/data/* diff --git a/tools/packaging/MANIFEST.in.d/core-qt b/tools/packaging/MANIFEST.in.d/core-qt deleted file mode 100644 index b9b2b417..00000000 --- a/tools/packaging/MANIFEST.in.d/core-qt +++ /dev/null @@ -1,2 +0,0 @@ -include weboob/tools/__init__.py -include weboob/tools/application/__init__.py diff --git a/tools/packaging/MANIFEST.in.d/core-webkit-formatter b/tools/packaging/MANIFEST.in.d/core-webkit-formatter deleted file mode 100644 index 0ad3a7d9..00000000 --- a/tools/packaging/MANIFEST.in.d/core-webkit-formatter +++ /dev/null @@ -1,3 +0,0 @@ -include weboob/tools/__init__.py -include weboob/tools/application/__init__.py -include weboob/tools/application/formatters/__init__.py diff --git a/tools/packaging/create_debian_package.sh b/tools/packaging/create_debian_package.sh index 30743a4e..ff88c69e 100755 --- a/tools/packaging/create_debian_package.sh +++ b/tools/packaging/create_debian_package.sh @@ -12,6 +12,7 @@ FILEPATH="$1" +DEB_DIRPATH="$PWD/deb" DIST_DIRPATH="$PWD/dist" SCRIPT_DIRPATH=$(dirname $(readlink -f "$0")) @@ -23,10 +24,12 @@ README=$SCRIPT_DIRPATH/README.d/$PKGNAME [ -f $README ] && mv README README.old && ln -s $README README python $FILEPATH sdist cd $DIST_DIRPATH -TARGZ=$(ls weboob-$PKGNAME-*.tar.gz) +TARGZ=$(find -maxdepth 1 -regex ".*$PKGNAME-[0-9]\.[0-9]\.tar\.gz") +[ ! -f $TARGZ ] && echo "$TARGZ not found" && exit tar xf $TARGZ TARGZ_DIRPATH=$(basename $TARGZ .tar.gz) [ ! -d $TARGZ_DIRPATH ] && echo "$TARGZ_DIRPATH not found" && exit +rm -f $TARGZ cd $TARGZ_DIRPATH ln -s $FILEPATH setup.py [ -f $MANIFEST_IN ] && ln -sf $MANIFEST_IN MANIFEST.in diff --git a/tools/packaging/create_debian_packages.sh b/tools/packaging/create_debian_packages.sh index f0afe49d..09760180 100755 --- a/tools/packaging/create_debian_packages.sh +++ b/tools/packaging/create_debian_packages.sh @@ -49,9 +49,7 @@ mkdir $DEB_DIRPATH for filepath in $SETUP_PY_LIST do echo "========== Creating Debian package for $filepath" - exec $SCRIPT_DIRPATH/create_debian_package.sh $filepath - pwd - # break + $SCRIPT_DIRPATH/create_debian_package.sh $filepath done rm -rf $DIST_DIRPATH MANIFEST.in *.egg-info diff --git a/tools/packaging/setup.py.d/core-qt.py b/tools/packaging/setup.py.d/core-qt.py index 562f67e4..54905bbb 100755 --- a/tools/packaging/setup.py.d/core-qt.py +++ b/tools/packaging/setup.py.d/core-qt.py @@ -46,10 +46,6 @@ setup( 'weboob.applications.qweboobcfg', 'weboob.tools.application.qt', ], - # data_files=[ - # ('weboob/tools', ['weboob/tools/__init__.py']), - # ('weboob/tools/application', ['weboob/tools/application/__init__.py']), - # ], scripts=[ 'scripts/weboob-config-qt', ], diff --git a/tools/packaging/setup.py.d/core-webkit-formatter.py b/tools/packaging/setup.py.d/core-webkit-formatter.py index a3bd8aad..88a9037e 100755 --- a/tools/packaging/setup.py.d/core-webkit-formatter.py +++ b/tools/packaging/setup.py.d/core-webkit-formatter.py @@ -49,16 +49,11 @@ setup( 'weboob', 'weboob.tools.application.formatters.webkit', ], - data_files=[ - ('weboob/tools', ['weboob/tools/__init__.py']), - ('weboob/tools/application', ['weboob/tools/application/__init__.py']), - ('weboob/tools/application/formatters', ['weboob/tools/application/formatters/__init__.py']), - ], install_requires=[ 'weboob-core', # python-weboob-core # not Pypi packages: # Depends - # python-gtk + # python-gtk2 # python-webkit ], ) diff --git a/tools/packaging/stdeb.cfg b/tools/packaging/stdeb.cfg index d08af623..8dba38fe 100644 --- a/tools/packaging/stdeb.cfg +++ b/tools/packaging/stdeb.cfg @@ -9,7 +9,7 @@ Suggests = python-clientform, python-nose, ipython, python-pysqlite2 Depends = python-weboob-core, python-qt4 [weboob-core-webkit-formatter] -Depends = python-weboob-core, python-gtk, python-webkit +Depends = python-weboob-core, python-gtk2, python-webkit # backends From 1fcb67a0b33edde848c9a858a8f78b67b77925c3 Mon Sep 17 00:00:00 2001 From: Christophe Benz Date: Fri, 30 Jul 2010 17:06:00 +0200 Subject: [PATCH 11/14] add copyright file --- tools/packaging/copyright | 29 ++++++++++++++++++++++++ tools/packaging/create_debian_package.sh | 3 +-- 2 files changed, 30 insertions(+), 2 deletions(-) create mode 100644 tools/packaging/copyright diff --git a/tools/packaging/copyright b/tools/packaging/copyright new file mode 100644 index 00000000..89aed629 --- /dev/null +++ b/tools/packaging/copyright @@ -0,0 +1,29 @@ +This package was debianized by Christophe Benz + +It was downloaded from : http://www.weboob.org + +Upstream Authors: + Romain Bignon + Christophe Benz + +Copyright: + See each source file for effective copyright. + +License: + + This package is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This package is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this package; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +On Debian systems, the complete text of the GNU General +Public License can be found in `/usr/share/common-licenses/GPL-3'. diff --git a/tools/packaging/create_debian_package.sh b/tools/packaging/create_debian_package.sh index ff88c69e..3104e4d2 100755 --- a/tools/packaging/create_debian_package.sh +++ b/tools/packaging/create_debian_package.sh @@ -33,8 +33,7 @@ rm -f $TARGZ cd $TARGZ_DIRPATH ln -s $FILEPATH setup.py [ -f $MANIFEST_IN ] && ln -sf $MANIFEST_IN MANIFEST.in -# rm -f MANIFEST.in -python setup.py --command-packages=stdeb.command sdist_dsc --extra-cfg-file $SCRIPT_DIRPATH/stdeb.cfg +python setup.py --command-packages=stdeb.command sdist_dsc --extra-cfg-file $SCRIPT_DIRPATH/stdeb.cfg --copyright-file $SCRIPT_DIRPATH/copyright [ ! -d deb_dist/$TARGZ_DIRPATH ] && echo "deb_dist/$TARGZ_DIRPATH not found" && exit cd deb_dist/$TARGZ_DIRPATH dpkg-buildpackage -rfakeroot From de9b47dc14b2736f8c2c94332a68b0a4651e26e9 Mon Sep 17 00:00:00 2001 From: Christophe Benz Date: Fri, 30 Jul 2010 17:13:50 +0200 Subject: [PATCH 12/14] allow to pass args --- tools/packaging/all_packages.sh | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/tools/packaging/all_packages.sh b/tools/packaging/all_packages.sh index f7109bb5..fefeb11c 100755 --- a/tools/packaging/all_packages.sh +++ b/tools/packaging/all_packages.sh @@ -4,8 +4,6 @@ SCRIPT_DIRNAME=$(dirname $0) [ -z "$1" ] && echo "no command provided" && exit 1 -COMMAND="$1" - SETUP_PY_LIST=" $SCRIPT_DIRNAME/setup.py.d/core.py $SCRIPT_DIRNAME/setup.py.d/core-qt.py @@ -37,5 +35,5 @@ $SCRIPT_DIRNAME/setup.py.d/wetboobs.py for f in $SETUP_PY_LIST do python $f clean --all - python $f "$COMMAND" + python $f $@ done From f8418a14537e057845997328fcf1aab647eab8d1 Mon Sep 17 00:00:00 2001 From: Christophe Benz Date: Fri, 30 Jul 2010 17:58:46 +0200 Subject: [PATCH 13/14] improve INSTALL --- INSTALL | 82 ++++++++++++++++++++++++--------------------------------- 1 file changed, 35 insertions(+), 47 deletions(-) diff --git a/INSTALL b/INSTALL index 1d127400..eaab8f46 100644 --- a/INSTALL +++ b/INSTALL @@ -1,30 +1,41 @@ Weboob installation =================== -Like any Python package using setuptools, Weboob can be installed in normal or -development mode. +Like any Python package using setuptools, Weboob can be installed: + * from eggs + * from Debian packages + * from setup.py in install mode or in development mode -Weboob is distributed with many packages. There is one package for the core + +From Eggs +--------- + +Weboob is distributed using many packages. There is one package for the core library, many packages for backends (grouped by capabilities), and one package for each application. - -Eggs install ------------- - -Call the helper script which will build the packages and install them all: - -# ./tools/all_packages.sh install +To install: +TODO: no packages released for the moment To uninstall: -* remove the Weboob eggs: -# rm -rf /usr/lib/python2.5/site-packages/weboob_*.egg -* remove the weboob lines in -/usr/lib/python2.5/site-packages/easy-install.pth +TODO: no packages released for the moment -Development mode ----------------- +From Debian packages +-------------------- + +Install from the Weboob repository: +TODO: no Debian repository exists + +For developers: build yourself Debian packages using +$ ./tools/packaging/create_debian_packages.sh + + +From setup.py +------------- + +The install mode copies files to /usr/lib/python2.5/site-packages +or /usr/local/lib/python2.6/dist-packages The development mode doesn't copy files, but it creates an egg-link which points to the development directory. @@ -32,41 +43,18 @@ It is useful for development when files often change. # ./setup.py develop Creates /usr/lib/python2.5/site-packages/weboob_dev.egg-link +or /usr/local/lib/python2.6/dist-packages/weboob_dev.egg-link -Scripts are not copied to /usr/bin, so you must launch them with: -$ ./scripts/videoob (for example) - -To uninstall, remove this egg-link and remove the weboob_dev line in -/usr/lib/python2.5/site-packages/easy-install.pth - - -Debian note ------------ - -When using Debian, it is advised to install Python Debian packages, and not the -PyPI ones (when they are available). - -To achieve this, use the --no-deps option of setup.py: +If you don't want to install all the dependencies, use the --no-deps option: # ./setup.py develop --no-deps +and install dependencies by hand from your distribution packages, or from PyPI +using easy_install, or the more modern pip. -Then, please install the following packages before installing Weboob: -* pyqt4-dev-tools -* python-dateutil -* python-feedparser -* python-gdata -* python-html5lib -* python-imaging -* python-lxml -* python-qt4 -* python-qt4-phonon -* python-simplejson -* python-yaml +Scripts are copied to /usr/bin. -Optional: -* python-gtk -* python-webkit -* python-imaging -* python-webob +To uninstall, remove the egg-link and remove the weboob_dev line in +/usr/lib/python2.5/site-packages/easy-install.pth +or /usr/local/lib/python2.6/dist-packages/easy-install.pth Bash completion From 88385daccd76af91830c91d4080f644224b8f2d9 Mon Sep 17 00:00:00 2001 From: Christophe Benz Date: Fri, 30 Jul 2010 17:59:02 +0200 Subject: [PATCH 14/14] add dependencies to setup.py --- setup.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/setup.py b/setup.py index 2abc0a60..d8a1b8a7 100755 --- a/setup.py +++ b/setup.py @@ -40,5 +40,20 @@ setup( packages=find_packages(), scripts=[os.path.join('scripts', script) for script in os.listdir('scripts')], install_requires=[ + 'ClientForm', # python-clientform + 'elementtidy', # python-elementtidy + 'FeedParser', # python-feedparser + 'gdata', # python-gdata + 'html5lib', # python-html5lib + 'lxml', # python-lxml + 'Mako', # python-mako + 'mechanize', # python-mechanize + 'PIL', # python-imaging + 'PyQt', # python-qt4 + 'python-dateutil', # python-dateutil + 'PyYAML', # python-yaml + 'Routes', # python-routes + 'simplejson', # python-simplejson + 'WebOb', # python-webob ], )