Open mendaxi opened 8 years ago
Issue with the way things are named in the Makefile. Excerpt:
APP=pybitmessage
VERSION=0.4.4
source:
tar -cvf ../${APP}_${VERSION}.orig.tar ../${APP}-${VERSION} --exclude-vcs
gzip -f9n ../${APP}_${VERSION}.orig.tar
Problem is with ../${APP}-${VERSION}
being named pybitmessage-0.4.4
To build from the default git folder, change ../${APP}-${VERSION}
to PyBitmessage
, possibly?
It seems that with bashrc's packagemonkey implementation seems to have thrown quite a few things off.
In generate.sh:
packagemonkey -n "PyBitmessage" --version "0.4.4" --dir "." -l "mit" \
-e "Bob Mottram (4096 bits) <bob@robotics.uk.to>"
We aren't Bob
In debian.sh:
# Sign files
gpg -ba ../${APP}_${VERSION}-1_${ARCH_TYPE}.deb
gpg -ba ../${APP}_${VERSION}.orig.tar.gz
It signs the .deb package with a line in the debian/control file, which has this:
Maintainer: Bob Mottram (4096 bits) <bob@robotics.uk.to>
Because of the way Bob made the packaging scripts, this needs a total overhaul. I've attempted to rebuild this, but I'm not experienced enough with making debian packages to do it in a timely manner.
So in short, I don't know what files we need to get rid of and which ones we need to keep
I actually tried to contact Bob about a month ago but heard nothing back.
I need to spend more time on figuring out how linux packaging is supposed to work so that it can be smoothly integrated into distros. For now, I always deployed it by checking it out from github.
Feel free to spend more time on this, @mendaxi , if you want. I need to fix other stuff first.
Looks like I fixed all of the debian compilation errors with my latest commit. (Brace for wall of text)
phobos@mars:~/make/mailchuck-unstable$ ./debian.sh
sed: can't read puppypackage/pinstall.sh: No such file or directory
sed: can't read puppypackage/puninstall.sh: No such file or directory
sed: can't read debian/*.links: No such file or directory
rm -f pybitmessage \#* \.#* gnuplot* *.png debian/*.substvars debian/*.log
rm -fr deb.* debian/pybitmessage rpmpackage/`uname -m`
rm -f ../pybitmessage*.deb ../pybitmessage*.changes ../pybitmessage*.asc ../pybitmessage*.dsc
rm -f rpmpackage/*.src.rpm archpackage/*.gz archpackage/*.xz
rm -f puppypackage/*.gz puppypackage/*.pet slackpackage/*.txz
make: Nothing to be done for 'all'.
tar -cvf ../pybitmessage_0.5.5.orig.tar ../pybitmessage-0.5.5 --exclude-vcs --exclude 'debian'
tar: Removing leading `../' from member names
../pybitmessage-0.5.5/
../pybitmessage-0.5.5/ebuild.sh
../pybitmessage-0.5.5/man/
../pybitmessage-0.5.5/man/pybitmessage.1.gz
../pybitmessage-0.5.5/LICENSE
../pybitmessage-0.5.5/README.md
../pybitmessage-0.5.5/osx.sh
../pybitmessage-0.5.5/puppy.sh
../pybitmessage-0.5.5/COPYING
../pybitmessage-0.5.5/debian.sh
../pybitmessage-0.5.5/slackpackage/
../pybitmessage-0.5.5/slackpackage/slack-desc
../pybitmessage-0.5.5/slackpackage/doinst.sh
../pybitmessage-0.5.5/INSTALL.md
../pybitmessage-0.5.5/desktop/
../pybitmessage-0.5.5/desktop/can-icon.svg
../pybitmessage-0.5.5/desktop/icon24.png
../pybitmessage-0.5.5/desktop/icon14.xpm
../pybitmessage-0.5.5/desktop/pybitmessage.desktop
../pybitmessage-0.5.5/archpackage/
../pybitmessage-0.5.5/archpackage/PKGBUILD
../pybitmessage-0.5.5/slack.sh
../pybitmessage-0.5.5/puppypackage/
../pybitmessage-0.5.5/puppypackage/pybitmessage-0.3.5.pet.specs
../pybitmessage-0.5.5/puppypackage/icon14.xpm
../pybitmessage-0.5.5/rpm.sh
../pybitmessage-0.5.5/arch.sh
../pybitmessage-0.5.5/configure
../pybitmessage-0.5.5/rpmpackage/
../pybitmessage-0.5.5/rpmpackage/pybitmessage.spec
../pybitmessage-0.5.5/Makefile
../pybitmessage-0.5.5/src/
../pybitmessage-0.5.5/src/helper_inbox.py
../pybitmessage-0.5.5/src/namecoin.py
../pybitmessage-0.5.5/src/protocol.py
../pybitmessage-0.5.5/src/class_singleCleaner.py
../pybitmessage-0.5.5/src/build_osx.py
../pybitmessage-0.5.5/src/class_addressGenerator.py
../pybitmessage-0.5.5/src/api.py
../pybitmessage-0.5.5/src/bitmsghash/
../pybitmessage-0.5.5/src/bitmsghash/bitmsghash.cl
../pybitmessage-0.5.5/src/bitmsghash/bitmsghash.cpp
../pybitmessage-0.5.5/src/bitmsghash/Makefile
../pybitmessage-0.5.5/src/socks/
../pybitmessage-0.5.5/src/socks/README
../pybitmessage-0.5.5/src/socks/LICENSE
../pybitmessage-0.5.5/src/socks/BUGS
../pybitmessage-0.5.5/src/socks/__init__.py
../pybitmessage-0.5.5/src/images/
../pybitmessage-0.5.5/src/images/yellowicon.png
../pybitmessage-0.5.5/src/images/sent.png
../pybitmessage-0.5.5/src/images/bitmessage.icns
../pybitmessage-0.5.5/src/images/qidenticon.png
../pybitmessage-0.5.5/src/images/redicon.png
../pybitmessage-0.5.5/src/images/subscriptions.png
../pybitmessage-0.5.5/src/images/no_identicons.png
../pybitmessage-0.5.5/src/images/can-icon-24px-green.png
../pybitmessage-0.5.5/src/images/send.png
../pybitmessage-0.5.5/src/images/addressbook.png
../pybitmessage-0.5.5/src/images/can-icon-24px.png
../pybitmessage-0.5.5/src/images/networkstatus.png
../pybitmessage-0.5.5/src/images/qidenticon_two_x.png
../pybitmessage-0.5.5/src/images/can-icon.ico
../pybitmessage-0.5.5/src/images/blacklist.png
../pybitmessage-0.5.5/src/images/qidenticon_x.png
../pybitmessage-0.5.5/src/images/can-icon-24px-yellow.png
../pybitmessage-0.5.5/src/images/can-icon-16px.png
../pybitmessage-0.5.5/src/images/identities.png
../pybitmessage-0.5.5/src/images/inbox.png
../pybitmessage-0.5.5/src/images/can-icon-24px-red.png
../pybitmessage-0.5.5/src/images/greenicon.png
../pybitmessage-0.5.5/src/images/qidenticon_two.png
../pybitmessage-0.5.5/src/depends.py
../pybitmessage-0.5.5/src/shared.py
../pybitmessage-0.5.5/src/helper_bitcoin.py
../pybitmessage-0.5.5/src/class_objectHashHolder.py
../pybitmessage-0.5.5/src/proofofwork.py
../pybitmessage-0.5.5/src/l10n.py
../pybitmessage-0.5.5/src/class_sqlThread.py
../pybitmessage-0.5.5/src/addresses.py
../pybitmessage-0.5.5/src/helper_sql.py
../pybitmessage-0.5.5/src/message_data_reader.py
../pybitmessage-0.5.5/src/pyelliptic/
../pybitmessage-0.5.5/src/pyelliptic/openssl.py
../pybitmessage-0.5.5/src/pyelliptic/LICENSE
../pybitmessage-0.5.5/src/pyelliptic/README.md
../pybitmessage-0.5.5/src/pyelliptic/ecc.py
../pybitmessage-0.5.5/src/pyelliptic/hash.py
../pybitmessage-0.5.5/src/pyelliptic/cipher.py
../pybitmessage-0.5.5/src/pyelliptic/arithmetic.py
../pybitmessage-0.5.5/src/pyelliptic/__init__.py
../pybitmessage-0.5.5/src/class_sendDataThread.py
../pybitmessage-0.5.5/src/class_receiveDataThread.py
../pybitmessage-0.5.5/src/helper_threading.py
../pybitmessage-0.5.5/src/defaultKnownNodes.py
../pybitmessage-0.5.5/src/helper_bootstrap.py
../pybitmessage-0.5.5/src/bitmessagecurses/
../pybitmessage-0.5.5/src/bitmessagecurses/__init__.py
../pybitmessage-0.5.5/src/translations/
../pybitmessage-0.5.5/src/translations/bitmessage_ru.ts
../pybitmessage-0.5.5/src/translations/bitmessage_ar.ts
../pybitmessage-0.5.5/src/translations/bitmessage_eo.pro
../pybitmessage-0.5.5/src/translations/bitmessage_ja.ts
../pybitmessage-0.5.5/src/translations/bitmessage_ar.pro
../pybitmessage-0.5.5/src/translations/bitmessage_eo.qm
../pybitmessage-0.5.5/src/translations/bitmessage_ja.pro
../pybitmessage-0.5.5/src/translations/bitmessage_cs.ts
../pybitmessage-0.5.5/src/translations/bitmessage_ar.qm
../pybitmessage-0.5.5/src/translations/bitmessage_nl.ts
../pybitmessage-0.5.5/src/translations/bitmessage_cs.qm
../pybitmessage-0.5.5/src/translations/bitmessage_de.qm
../pybitmessage-0.5.5/src/translations/bitmessage_fr.qm
../pybitmessage-0.5.5/src/translations/bitmessage_en_pirate.pro
../pybitmessage-0.5.5/src/translations/bitmessage_nl.pro
../pybitmessage-0.5.5/src/translations/bitmessage_eo.ts
../pybitmessage-0.5.5/src/translations/bitmessage_en_pirate.qm
../pybitmessage-0.5.5/src/translations/bitmessage_cs.pro
../pybitmessage-0.5.5/src/translations/bitmessage_en_pirate.ts
../pybitmessage-0.5.5/src/translations/bitmessage_zh_cn.ts
../pybitmessage-0.5.5/src/translations/bitmessage_de.pro
../pybitmessage-0.5.5/src/translations/bitmessage_no.qm
../pybitmessage-0.5.5/src/translations/bitmessage_no.ts
../pybitmessage-0.5.5/src/translations/bitmessage_no.pro
../pybitmessage-0.5.5/src/translations/bitmessage_fr.pro
../pybitmessage-0.5.5/src/translations/bitmessage_fr.ts
../pybitmessage-0.5.5/src/translations/bitmessage_zh_cn.qm
../pybitmessage-0.5.5/src/translations/bitmessage_ja.qm
../pybitmessage-0.5.5/src/translations/bitmessage_ru.pro
../pybitmessage-0.5.5/src/translations/bitmessage_zh_cn.pro
../pybitmessage-0.5.5/src/translations/bitmessage_nl.qm
../pybitmessage-0.5.5/src/translations/bitmessage_ru.qm
../pybitmessage-0.5.5/src/translations/bitmessage_de.ts
../pybitmessage-0.5.5/src/class_objectProcessor.py
../pybitmessage-0.5.5/src/helper_generic.py
../pybitmessage-0.5.5/src/bitmessageqt/
../pybitmessage-0.5.5/src/bitmessageqt/newchandialog.ui
../pybitmessage-0.5.5/src/bitmessageqt/newaddressdialog.py
../pybitmessage-0.5.5/src/bitmessageqt/newaddresswizard.py
../pybitmessage-0.5.5/src/bitmessageqt/iconglossary.ui
../pybitmessage-0.5.5/src/bitmessageqt/about.py
../pybitmessage-0.5.5/src/bitmessageqt/emailgateway.ui
../pybitmessage-0.5.5/src/bitmessageqt/bitmessageui.py
../pybitmessage-0.5.5/src/bitmessageqt/addaddressdialog.py
../pybitmessage-0.5.5/src/bitmessageqt/newchandialog.py
../pybitmessage-0.5.5/src/bitmessageqt/messageview.py
../pybitmessage-0.5.5/src/bitmessageqt/migrationwizard.py
../pybitmessage-0.5.5/src/bitmessageqt/foldertree.py
../pybitmessage-0.5.5/src/bitmessageqt/iconglossary.py
../pybitmessage-0.5.5/src/bitmessageqt/settings.ui
../pybitmessage-0.5.5/src/bitmessageqt/settingsmixin.py
../pybitmessage-0.5.5/src/bitmessageqt/regenerateaddresses.ui
../pybitmessage-0.5.5/src/bitmessageqt/newsubscriptiondialog.py
../pybitmessage-0.5.5/src/bitmessageqt/wanlan.ui
../pybitmessage-0.5.5/src/bitmessageqt/help.ui
../pybitmessage-0.5.5/src/bitmessageqt/specialaddressbehavior.py
../pybitmessage-0.5.5/src/bitmessageqt/emailgateway.py
../pybitmessage-0.5.5/src/bitmessageqt/bitmessage_icons_rc.py
../pybitmessage-0.5.5/src/bitmessageqt/settings.py
../pybitmessage-0.5.5/src/bitmessageqt/bitmessageui.ui
../pybitmessage-0.5.5/src/bitmessageqt/connect.py
../pybitmessage-0.5.5/src/bitmessageqt/addaddressdialog.ui
../pybitmessage-0.5.5/src/bitmessageqt/safehtmlparser.py
../pybitmessage-0.5.5/src/bitmessageqt/support.py
../pybitmessage-0.5.5/src/bitmessageqt/about.ui
../pybitmessage-0.5.5/src/bitmessageqt/utils.py
../pybitmessage-0.5.5/src/bitmessageqt/help.py
../pybitmessage-0.5.5/src/bitmessageqt/newaddressdialog.ui
../pybitmessage-0.5.5/src/bitmessageqt/specialaddressbehavior.ui
../pybitmessage-0.5.5/src/bitmessageqt/account.py
../pybitmessage-0.5.5/src/bitmessageqt/addpeer.ui
../pybitmessage-0.5.5/src/bitmessageqt/bitmessage_icons.qrc
../pybitmessage-0.5.5/src/bitmessageqt/regenerateaddresses.py
../pybitmessage-0.5.5/src/bitmessageqt/__init__.py
../pybitmessage-0.5.5/src/bitmessageqt/connect.ui
../pybitmessage-0.5.5/src/bitmessageqt/newsubscriptiondialog.ui
../pybitmessage-0.5.5/src/tr.py
../pybitmessage-0.5.5/src/api_client.py
../pybitmessage-0.5.5/src/highlevelcrypto.py
../pybitmessage-0.5.5/src/upnp.py
../pybitmessage-0.5.5/src/bitmessagemain.py
../pybitmessage-0.5.5/src/qidenticon.py
../pybitmessage-0.5.5/src/sslkeys/
../pybitmessage-0.5.5/src/sslkeys/key.pem
../pybitmessage-0.5.5/src/sslkeys/cert.pem
../pybitmessage-0.5.5/src/helper_sent.py
../pybitmessage-0.5.5/src/helper_startup.py
../pybitmessage-0.5.5/src/class_outgoingSynSender.py
../pybitmessage-0.5.5/src/debug.py
../pybitmessage-0.5.5/src/openclpow.py
../pybitmessage-0.5.5/src/bitmessagecli.py
../pybitmessage-0.5.5/src/class_singleListener.py
../pybitmessage-0.5.5/src/class_singleWorker.py
../pybitmessage-0.5.5/src/singleton.py
gzip -f9n ../pybitmessage_0.5.5.orig.tar
dpkg-buildpackage: source package pybitmessage
dpkg-buildpackage: source version 0.5.5-1
dpkg-buildpackage: source distribution utopic
dpkg-buildpackage: source changed by James Hawthorne <mendaxi@bitmessage.ch>
dpkg-buildpackage: host architecture amd64
dpkg-source --before-build pybitmessage-0.5.5
fakeroot debian/rules clean
dh_testdir
dh_testroot
rm -f build-stamp
dh_clean
dpkg-source -b pybitmessage-0.5.5
dpkg-source: info: using source format '3.0 (quilt)'
dpkg-source: info: building pybitmessage using existing ./pybitmessage_0.5.5.orig.tar.gz
dpkg-source: info: building pybitmessage in pybitmessage_0.5.5-1.debian.tar.xz
dpkg-source: info: building pybitmessage in pybitmessage_0.5.5-1.dsc
debian/rules build
dh_testdir
touch build-stamp
make
make[1]: Entering directory '/home/phobos/make/pybitmessage-0.5.5'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/phobos/make/pybitmessage-0.5.5'
fakeroot debian/rules binary
make
make[1]: Entering directory '/home/phobos/make/pybitmessage-0.5.5'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/phobos/make/pybitmessage-0.5.5'
dh_testdir
dh_testroot
rm -f build-stamp
dh_clean
dh_testdir
dh_testroot
dh_prep
dh_installdirs
/usr/bin/make install -B DESTDIR=/home/phobos/make/pybitmessage-0.5.5/debian/pybitmessage PREFIX=/usr
make[1]: Entering directory '/home/phobos/make/pybitmessage-0.5.5'
mkdir -p /home/phobos/make/pybitmessage-0.5.5/debian/pybitmessage/usr
mkdir -p /home/phobos/make/pybitmessage-0.5.5/debian/pybitmessage/usr
mkdir -p /home/phobos/make/pybitmessage-0.5.5/debian/pybitmessage/usr/bin
mkdir -m 755 -p /home/phobos/make/pybitmessage-0.5.5/debian/pybitmessage/usr/share
mkdir -m 755 -p /home/phobos/make/pybitmessage-0.5.5/debian/pybitmessage/usr/share/man
mkdir -m 755 -p /home/phobos/make/pybitmessage-0.5.5/debian/pybitmessage/usr/share/man/man1
install -m 644 man/pybitmessage.1.gz /home/phobos/make/pybitmessage-0.5.5/debian/pybitmessage/usr/share/man/man1
mkdir -m 755 -p /home/phobos/make/pybitmessage-0.5.5/debian/pybitmessage/usr/share/pybitmessage
mkdir -m 755 -p /home/phobos/make/pybitmessage-0.5.5/debian/pybitmessage/usr/share/applications
mkdir -m 755 -p /home/phobos/make/pybitmessage-0.5.5/debian/pybitmessage/usr/share/pixmaps
mkdir -m 755 -p /home/phobos/make/pybitmessage-0.5.5/debian/pybitmessage/usr/share/icons
mkdir -m 755 -p /home/phobos/make/pybitmessage-0.5.5/debian/pybitmessage/usr/share/icons/hicolor
mkdir -m 755 -p /home/phobos/make/pybitmessage-0.5.5/debian/pybitmessage/usr/share/icons/hicolor/scalable
mkdir -m 755 -p /home/phobos/make/pybitmessage-0.5.5/debian/pybitmessage/usr/share/icons/hicolor/scalable/apps
mkdir -m 755 -p /home/phobos/make/pybitmessage-0.5.5/debian/pybitmessage/usr/share/icons/hicolor/24x24
mkdir -m 755 -p /home/phobos/make/pybitmessage-0.5.5/debian/pybitmessage/usr/share/icons/hicolor/24x24/apps
install -m 644 desktop/pybitmessage.desktop /home/phobos/make/pybitmessage-0.5.5/debian/pybitmessage/usr/share/applications/pybitmessage.desktop
install -m 644 desktop/icon24.png /home/phobos/make/pybitmessage-0.5.5/debian/pybitmessage/usr/share/icons/hicolor/24x24/apps/pybitmessage.png
cp -rf src/* /home/phobos/make/pybitmessage-0.5.5/debian/pybitmessage/usr/share/pybitmessage
echo '#!/bin/sh' > /home/phobos/make/pybitmessage-0.5.5/debian/pybitmessage/usr/bin/pybitmessage
echo "if [ -d /usr/share/pybitmessage ]; then" >> /home/phobos/make/pybitmessage-0.5.5/debian/pybitmessage/usr/bin/pybitmessage
echo " cd /usr/share/pybitmessage" >> /home/phobos/make/pybitmessage-0.5.5/debian/pybitmessage/usr/bin/pybitmessage
echo 'else' >> /home/phobos/make/pybitmessage-0.5.5/debian/pybitmessage/usr/bin/pybitmessage
echo " cd /usr/share/pybitmessage" >> /home/phobos/make/pybitmessage-0.5.5/debian/pybitmessage/usr/bin/pybitmessage
echo 'fi' >> /home/phobos/make/pybitmessage-0.5.5/debian/pybitmessage/usr/bin/pybitmessage
echo 'if [ -d /opt/openssl-compat-bitcoin/lib ]; then' >> /home/phobos/make/pybitmessage-0.5.5/debian/pybitmessage/usr/bin/pybitmessage
echo ' LD_LIBRARY_PATH="/opt/openssl-compat-bitcoin/lib/" exec python2 bitmessagemain.py' >> /home/phobos/make/pybitmessage-0.5.5/debian/pybitmessage/usr/bin/pybitmessage
echo 'else' >> /home/phobos/make/pybitmessage-0.5.5/debian/pybitmessage/usr/bin/pybitmessage
echo ' exec python2 bitmessagemain.py' >> /home/phobos/make/pybitmessage-0.5.5/debian/pybitmessage/usr/bin/pybitmessage
echo 'fi' >> /home/phobos/make/pybitmessage-0.5.5/debian/pybitmessage/usr/bin/pybitmessage
chmod +x /home/phobos/make/pybitmessage-0.5.5/debian/pybitmessage/usr/bin/pybitmessage
make[1]: Leaving directory '/home/phobos/make/pybitmessage-0.5.5'
dh_testdir
dh_testroot
dh_installchangelogs
dh_installdocs
dh_installexamples
dh_installman
dh_link
dh_compress
dh_fixperms
dh_installdeb
dh_gencontrol
dpkg-gencontrol: warning: Depends field of package pybitmessage: unknown substitution variable ${shlibs:Depends}
dpkg-gencontrol: warning: Depends field of package pybitmessage: unknown substitution variable ${python:Depends}
dh_md5sums
dh_builddeb
dpkg-deb: building package 'pybitmessage' in '../pybitmessage_0.5.5-1_all.deb'.
dpkg-genchanges >../pybitmessage_0.5.5-1_amd64.changes
dpkg-genchanges: warning: debian/changelog(l17): assuming long month name 'November'
LINE: -- Bob Mottram (4096 bits) <bob@robotics.uk.to> Sun, 2 November 2014 12:55:00 +0100
dpkg-genchanges: including full source code in upload
dpkg-source --after-build pybitmessage-0.5.5
dpkg-buildpackage: full upload (original source is included)
The important bits are as follows:
# Build the package
# The -us and -uc flags force you to not sign the resulting package, which is a solution(?) to the
# packaging issue.
dpkg-buildpackage -F -us -uc
# Sign files
#gpg -ba ../${APP}_${VERSION}-1_${ARCH_TYPE}.deb
#gpg -ba ../${APP}_${VERSION}.orig.tar.gz
# This does not work if you do not have a private signing key, so it will be commented out by default.
And that covers it. You should now be able to package this on Debian based systems now.
Also, I forgot where it was mentioned, ebuild.sh needs to be removed. This will never work the way gentoo works, and is packaged in upstream (portage) and overlays.
If you run the Makefile in the default git folder named "PyBitmessage", it will give you a whole list of errors.
This can be fixed by renaming the git directory as "pybitmessage-0.4.4", with the current version (citation needed) appended to the directory.