83 lines
2.8 KiB
Bash
Executable file
83 lines
2.8 KiB
Bash
Executable file
#!/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
|
|
|
|
DEB_DIRPATH="$PWD/deb"
|
|
DIST_DIRPATH="$PWD/dist"
|
|
SCRIPT_DIRPATH=$(dirname $(readlink -f "$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 $DIST_DIRPATH MANIFEST.in *.egg-info
|
|
mkdir $DEB_DIRPATH
|
|
|
|
for f 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
|
|
pwd
|
|
# break
|
|
done
|
|
|
|
# rm -rf $DIST_DIRPATH MANIFEST.in *.egg-info
|
|
|
|
echo
|
|
echo "Packages are in the $DEB_DIRPATH directory"
|