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: