Browse Source

Packaging for multiple distros

master
fuzzgun 9 years ago
parent
commit
10b23d0946
  1. 70
      Makefile
  2. 45
      arch.sh
  3. 31
      archpackage/PKGBUILD
  4. 1
      configure
  5. 52
      debian.sh
  6. 4
      debian/changelog
  7. 2
      debian/compat
  8. 34
      debian/control
  9. 40
      debian/copyright
  10. 1
      debian/manpages
  11. 86
      debian/rules
  12. 111
      desktop/icon14.xpm
  13. BIN
      desktop/icon24.png
  14. 27
      desktop/pybitmessage.desktop
  15. 33
      ebuild.sh
  16. 22
      ebuildpackage/pybitmessage-0.3.4-1.ebuild
  17. 7
      generate.sh
  18. BIN
      man/pybitmessage.1.gz
  19. 66
      puppy.sh
  20. 111
      puppypackage/icon14.xpm
  21. 1
      puppypackage/pybitmessage-0.3.4.pet.specs
  22. 53
      rpm.sh
  23. 207
      rpmpackage/pybitmessage.spec
  24. 48
      slack.sh
  25. 4
      slackpackage/doinst.sh
  26. 19
      slackpackage/slack-desc

70
Makefile

@ -1,43 +1,45 @@
APP=pybitmessage
VERSION=0.3.4
DEST_SHARE=${DESTDIR}/usr/share
DEST_APP=${DEST_SHARE}/${APP}
RELEASE=1
ARCH_TYPE=`uname -m`
all:
debug:
source:
tar -cvzf ../${APP}_${VERSION}.orig.tar.gz ../${APP}-${VERSION} --exclude-vcs
install:
mkdir -m 755 -p ${DESTDIR}/usr/bin
mkdir -m 755 -p ${DEST_APP}
mkdir -m 755 -p ${DEST_SHARE}/applications
mkdir -m 755 -p ${DEST_APP}/images
mkdir -m 755 -p ${DEST_APP}/pyelliptic
mkdir -m 755 -p ${DEST_APP}/socks
mkdir -m 755 -p ${DEST_APP}/bitmessageqt
mkdir -m 755 -p ${DEST_APP}/translations
mkdir -m 755 -p ${DEST_SHARE}/pixmaps
mkdir -m 755 -p ${DEST_SHARE}/icons
mkdir -m 755 -p ${DEST_SHARE}/icons/hicolor
mkdir -m 755 -p ${DEST_SHARE}/icons/hicolor/scalable
mkdir -m 755 -p ${DEST_SHARE}/icons/hicolor/scalable/apps
mkdir -m 755 -p ${DEST_SHARE}/icons/hicolor/24x24
mkdir -m 755 -p ${DEST_SHARE}/icons/hicolor/24x24/apps
cp -r src/* ${DEST_APP}
install -m 755 debian/pybm ${DESTDIR}/usr/bin/${APP}
install -m 644 desktop/${APP}.desktop ${DEST_SHARE}/applications/${APP}.desktop
install -m 644 src/images/can-icon-24px.png ${DEST_SHARE}/icons/hicolor/24x24/apps/${APP}.png
install -m 644 desktop/can-icon.svg ${DEST_SHARE}/icons/hicolor/scalable/apps/${APP}.svg
install -m 644 desktop/can-icon.svg ${DEST_SHARE}/pixmaps/${APP}.svg
mkdir -p ${DESTDIR}/usr
mkdir -p ${DESTDIR}/usr/bin
mkdir -m 755 -p ${DESTDIR}/usr/share
mkdir -m 755 -p ${DESTDIR}/usr/share/man
mkdir -m 755 -p ${DESTDIR}/usr/share/man/man1
install -m 644 man/${APP}.1.gz ${DESTDIR}/usr/share/man/man1
mkdir -m 755 -p ${DESTDIR}/usr/share/${APP}
mkdir -m 755 -p ${DESTDIR}/usr/share/applications
mkdir -m 755 -p ${DESTDIR}/usr/share/pixmaps
mkdir -m 755 -p ${DESTDIR}/usr/share/icons
mkdir -m 755 -p ${DESTDIR}/usr/share/icons/hicolor
mkdir -m 755 -p ${DESTDIR}/usr/share/icons/hicolor/scalable
mkdir -m 755 -p ${DESTDIR}/usr/share/icons/hicolor/scalable/apps
mkdir -m 755 -p ${DESTDIR}/usr/share/icons/hicolor/24x24
mkdir -m 755 -p ${DESTDIR}/usr/share/icons/hicolor/24x24/apps
install -m 644 desktop/${APP}.desktop ${DESTDIR}/usr/share/applications/${APP}.desktop
install -m 644 desktop/icon24.png ${DESTDIR}/usr/share/icons/hicolor/24x24/apps/${APP}.png
cp -rf src/* ${DESTDIR}/usr/share/${APP}
echo '#!/bin/sh' > ${DESTDIR}/usr/bin/${APP}
echo 'cd /usr/share/pybitmessage' >> ${DESTDIR}/usr/bin/${APP}
echo 'LD_LIBRARY_PATH="/opt/openssl-compat-bitcoin/lib/" exec python bitmessagemain.py' >> ${DESTDIR}/usr/bin/${APP}
chmod +x ${DESTDIR}/usr/bin/${APP}
uninstall:
rm -f /usr/share/man/man1/${APP}.1.gz
rm -rf /usr/share/${APP}
rm -f /usr/bin/${APP}
rm -f /usr/share/applications/${APP}.desktop
rm -f /usr/share/icons/hicolor/scalable/apps/${APP}.svg
/usr/share/pixmaps/${APP}.svg
clean:
rm -rf debian/${APP}
rm -f ../${APP}_*.deb ../${APP}_*.asc ../${APP}_*.dsc ../${APP}*.changes
rm -f *.sh~ src/*.pyc src/socks/*.pyc src/pyelliptic/*.pyc
rm -f *.deb \#* \.#* debian/*.log debian/*.substvars
rm -f Makefile~
rm -f ${APP} \#* \.#* gnuplot* *.png debian/*.substvars debian/*.log
rm -fr deb.* debian/${APP} rpmpackage/${ARCH_TYPE}
rm -f ../${APP}*.deb ../${APP}*.changes ../${APP}*.asc ../${APP}*.dsc
rm -f rpmpackage/*.src.rpm archpackage/*.gz
rm -f puppypackage/*.gz puppypackage/*.pet slackpackage/*.txz

45
arch.sh

@ -0,0 +1,45 @@
#!/bin/bash
APP=pybitmessage
PREV_VERSION=0.3.4
VERSION=0.3.4
RELEASE=1
ARCH_TYPE=`uname -m`
CURRDIR=`pwd`
SOURCE=archpackage/${APP}-${VERSION}.tar.gz
# Update version numbers automatically - so you don't have to
sed -i 's/VERSION='${PREV_VERSION}'/VERSION='${VERSION}'/g' Makefile debian.sh rpm.sh puppy.sh ebuild.sh slack.sh
sed -i 's/Version: '${PREV_VERSION}'/Version: '${VERSION}'/g' rpmpackage/${APP}.spec
sed -i 's/Release: '${RELEASE}'/Release: '${RELEASE}'/g' rpmpackage/${APP}.spec
sed -i 's/pkgrel='${RELEASE}'/pkgrel='${RELEASE}'/g' archpackage/PKGBUILD
sed -i 's/pkgver='${PREV_VERSION}'/pkgver='${VERSION}'/g' archpackage/PKGBUILD
sed -i "s/-${PREV_VERSION}-/-${VERSION}-/g" puppypackage/*.specs
sed -i "s/|${PREV_VERSION}|/|${VERSION}|/g" puppypackage/*.specs
sed -i 's/VERSION='${PREV_VERSION}'/VERSION='${VERSION}'/g' puppypackage/pinstall.sh puppypackage/puninstall.sh
sed -i 's/-'${PREV_VERSION}'.so/-'${VERSION}'.so/g' debian/*.links
# Create the source code
make clean
rm -f archpackage/*.gz
# having the root directory called name-version seems essential
mv ../${APP} ../${APP}-${VERSION}
tar -cvzf ${SOURCE} ../${APP}-${VERSION} --exclude-vcs
# rename the root directory without the version number
mv ../${APP}-${VERSION} ../${APP}
# calculate the MD5 checksum
CHECKSM=$(md5sum ${SOURCE})
sed -i "s/md5sums[^)]*)/md5sums=(${CHECKSM%% *})/g" archpackage/PKGBUILD
cd archpackage
# Create the package
makepkg
# Move back to the original directory
cd ${CURRDIR}

31
archpackage/PKGBUILD

@ -0,0 +1,31 @@
# Maintainer: Bob Mottram (4096 bits) <bob@robotics.uk.to>
pkgname=pybitmessage
pkgver=0.3.4
pkgrel=1
pkgdesc="Bitmessage is a P2P communications protocol used to send encrypted messages to another person or to many subscribers. It is decentralized and trustless, meaning that you need-not inherently trust any entities like root certificate authorities. It uses strong authentication which means that the sender of a message cannot be spoofed, and it aims to hide "non-content" data, like the sender and receiver of messages, from passive eavesdroppers like those running warrantless wiretapping programs."
arch=('i686' 'x86_64')
url="https://github.com/Bitmessage/PyBitmessage"
license=('MIT')
groups=()
depends=()
makedepends=()
optdepends=()
provides=()
conflicts=()
replaces=()
backup=()
options=()
install=
changelog=
source=($pkgname-$pkgver.tar.gz)
noextract=()
md5sums=(56a8a225463e96b435b2a5b438006983)
build() {
cd "$srcdir/$pkgname-$pkgver"
./configure --prefix=/usr
make
}
package() {
cd "$srcdir/$pkgname-$pkgver"
make DESTDIR="$pkgdir/" install
}

1
configure

@ -0,0 +1 @@

52
debian.sh

@ -1,32 +1,46 @@
# To build a debian package first ensure that the code exists
# within a directory called pybitmessage-x.x.x (where the x's
# are the version number), make sure that the VERSION parameter
# within debian/rules and this script are correct, then run
# this script.
#!/bin/bash
APP=pybitmessage
PREV_VERSION=0.3.3
PREV_VERSION=0.3.4
VERSION=0.3.4
RELEASE=1
ARCH_TYPE=all
ARCH_TYPE=`uname -m`
DIR=${APP}-${VERSION}
#update version numbers automatically - so you don't have to
sed -i 's/VERSION='${PREV_VERSION}'/VERSION='${VERSION}'/g' Makefile
sed -i 's/'''${PREV_VERSION}'''/'''${VERSION}'''/g' src/shared.py
if [ $ARCH_TYPE == "x86_64" ]; then
ARCH_TYPE="amd64"
fi
if [ $ARCH_TYPE == "i686" ]; then
ARCH_TYPE="i386"
fi
# Update version numbers automatically - so you don't have to
sed -i 's/VERSION='${PREV_VERSION}'/VERSION='${VERSION}'/g' Makefile rpm.sh arch.sh puppy.sh ebuild.sh slack.sh
sed -i 's/Version: '${PREV_VERSION}'/Version: '${VERSION}'/g' rpmpackage/${APP}.spec
sed -i 's/Release: '${RELEASE}'/Release: '${RELEASE}'/g' rpmpackage/${APP}.spec
sed -i 's/pkgrel='${RELEASE}'/pkgrel='${RELEASE}'/g' archpackage/PKGBUILD
sed -i 's/pkgver='${PREV_VERSION}'/pkgver='${VERSION}'/g' archpackage/PKGBUILD
sed -i "s/-${PREV_VERSION}-/-${VERSION}-/g" puppypackage/*.specs
sed -i "s/|${PREV_VERSION}|/|${VERSION}|/g" puppypackage/*.specs
sed -i 's/VERSION='${PREV_VERSION}'/VERSION='${VERSION}'/g' puppypackage/pinstall.sh puppypackage/puninstall.sh
sed -i 's/-'${PREV_VERSION}'.so/-'${VERSION}'.so/g' debian/*.links
# Create a source archive
make clean
# change the directory name to pybitmessage-version
mv ../PyBitmessage ../${APP}-${VERSION}
make
# change the parent directory name to debian format
mv ../${APP} ../${DIR}
# Create a source archive
make source
# Build the package
dpkg-buildpackage -A
dpkg-buildpackage -F
# change the directory name back
mv ../${APP}-${VERSION} ../PyBitmessage
gpg -ba ../${APP}_${VERSION}-${RELEASE}_${ARCH_TYPE}.deb
# sign files
gpg -ba ../${APP}_${VERSION}-1_${ARCH_TYPE}.deb
gpg -ba ../${APP}_${VERSION}.orig.tar.gz
# restore the parent directory name
mv ../${DIR} ../${APP}

4
debian/changelog

@ -18,7 +18,7 @@ pybitmessage (0.3.3-1) raring; urgency=low
via Portage (Gentoo)
* Fix message authentication bug
-- Bob Mottram (4096 bits) <bob@robotics.uk.to> Sun, 30 June 2013 11:23:00 +0100
-- Bob Mottram (4096 bits) <bob@robotics.uk.to> Sat, 29 June 2013 11:23:00 +0100
pybitmessage (0.3.211-1) raring; urgency=low
@ -26,7 +26,7 @@ pybitmessage (0.3.211-1) raring; urgency=low
as the multiprocessing module does not work well with
pyinstaller's --onefile option.
-- Bob Mottram (4096 bits) <bob@robotics.uk.to> Sun, 30 June 2013 11:23:00 +0100
-- Bob Mottram (4096 bits) <bob@robotics.uk.to> Fri, 28 June 2013 11:23:00 +0100
pybitmessage (0.3.2-1) raring; urgency=low

2
debian/compat

@ -1 +1 @@
8
9

34
debian/control

@ -1,21 +1,21 @@
Source: pybitmessage
Section: contrib/comm
Priority: extra
Maintainer: Jonathan Warren <jonathan@bitmessage.org>
Build-Depends: debhelper (>= 8.0.0), python (>= 2.7.0), openssl, python-qt4, libqt4-dev (>= 4.8.0), python-qt4-dev, sqlite3, libsqlite3-dev, libmessaging-menu-dev
Standards-Version: 3.9.2
Homepage: https://bitmessage.org/
Vcs-Browser: https://github.com/Bitmessage/PyBitmessage
Vcs-Git: https://github.com/Bitmessage/PyBitmessage.git
Maintainer: Bob Mottram (4096 bits) <bob@robotics.uk.to>
Build-Depends: debhelper (>= 9.0.0)
Standards-Version: 3.9.4
Homepage: https://github.com/Bitmessage/PyBitmessage
Vcs-Git: https://github.com/fuzzgun/autocv.git
Package: pybitmessage
Architecture: all
Depends: ${misc:Depends}, python (>= 2.7.0), openssl, python-qt4, libqt4-dev (>= 4.8.0), python-qt4-dev, sqlite3, libsqlite3-dev, libmessaging-menu-dev
Description: Send encrypted messages to another person or to many subscribers
Bitmessage is a P2P communications protocol used to send encrypted messages
to another person or to many subscribers. It is decentralized and trustless,
meaning that you need-not inherently trust any entities like root certificate
authorities. It uses strong authentication which means that the sender of a
message cannot be spoofed, and it aims to hide "non-content" data, like the
sender and receiver of messages, from passive eavesdroppers like those
running warrantless wiretapping programs.
Section: mail
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}, python (>= 2.7.0), openssl, python-qt4, libqt4-dev (>= 4.8.0), python-qt4-dev, sqlite3, libsqlite3-dev
Suggests: libmessaging-menu-dev
Description: Send encrypted messages
Bitmessage is a P2P communications protocol used to send encrypted
messages to another person or to many subscribers. It is decentralized and
trustless, meaning that you need-not inherently trust any entities like
root certificate authorities. It uses strong authentication which means
that the sender of a message cannot be spoofed, and it aims to hide
"non-content" data, like the sender and receiver of messages, from passive
eavesdroppers like those running warrantless wiretapping programs.

40
debian/copyright

@ -1,30 +1,30 @@
Format: http://dep.debian.net/deps/dep5
Upstream-Name: PyBitmessage
Source: https://github.com/Bitmessage/PyBitmessage
Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name:
Source:
Files: *
Copyright: 2012 Jonathan Warren
Copyright: Copyright 2013 Bob Mottram (4096 bits) <bob@robotics.uk.to>
License: MIT
Files: debian/*
Copyright: 2012 Jonathan Warren
Copyright: Copyright 2013 Bob Mottram (4096 bits) <bob@robotics.uk.to>
License: MIT
License: MIT
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"),
to deal in the Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, sublicense,
and/or sell copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following conditions:
.
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.
.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

1
debian/manpages

@ -0,0 +1 @@
man/pybitmessage.1.gz

86
debian/rules

@ -1,66 +1,42 @@
#!/usr/bin/make -f
APP=pybitmessage
DESTDIR=${CURDIR}/debian/${APP}
DEST_SHARE=${DESTDIR}/usr/share
DEST_APP=${DEST_SHARE}/${APP}
build: build-stamp
APP=pybitmessage
build: build-stamp
make
build-arch: build-stamp
build-indep: build-stamp
build-stamp:
dh_testdir
touch build-stamp
clean:
dh_testdir
dh_testroot
rm -f build-stamp
dh_clean
install:
dh_testdir
dh_testroot
dh_prep
dh_clean -k
dh_installdirs
mkdir -m 755 -p ${DESTDIR}/usr/bin
mkdir -m 755 -p ${DEST_APP}
mkdir -m 755 -p ${DEST_SHARE}/applications
mkdir -m 755 -p ${DEST_APP}/images
mkdir -m 755 -p ${DEST_APP}/pyelliptic
mkdir -m 755 -p ${DEST_APP}/socks
mkdir -m 755 -p ${DEST_APP}/bitmessageqt
mkdir -m 755 -p ${DEST_APP}/translations
mkdir -m 755 -p ${DEST_SHARE}/pixmaps
mkdir -m 755 -p ${DEST_SHARE}/icons
mkdir -m 755 -p ${DEST_SHARE}/icons/hicolor
mkdir -m 755 -p ${DEST_SHARE}/icons/hicolor/scalable
mkdir -m 755 -p ${DEST_SHARE}/icons/hicolor/scalable/apps
mkdir -m 755 -p ${DEST_SHARE}/icons/hicolor/24x24
mkdir -m 755 -p ${DEST_SHARE}/icons/hicolor/24x24/apps
dh_testdir
touch build-stamp
cp -r src/* ${DEST_APP}
install -m 755 debian/pybm ${DESTDIR}/usr/bin/${APP}
install -m 644 desktop/${APP}.desktop ${DEST_SHARE}/applications/${APP}.desktop
install -m 644 src/images/can-icon-24px.png ${DEST_SHARE}/icons/hicolor/24x24/apps/${APP}.png
install -m 644 desktop/can-icon.svg ${DEST_SHARE}/icons/hicolor/scalable/apps/${APP}.svg
install -m 644 desktop/can-icon.svg ${DEST_SHARE}/pixmaps/${APP}.svg
clean:
dh_testdir
dh_testroot
rm -f build-stamp
dh_clean
install: build clean
dh_testdir
dh_testroot
dh_prep
dh_installdirs
${MAKE} install -B DESTDIR=${CURDIR}/debian/${APP}
binary-indep: build install
dh_shlibdeps
dh_testdir
dh_testroot
dh_installchangelogs
dh_installdocs
# dh_installman
dh_link
dh_compress
dh_fixperms
dh_installdeb
dh_gencontrol
dh_md5sums
dh_builddeb
dh_testdir
dh_testroot
dh_installchangelogs
dh_installdocs
dh_installexamples
dh_installman
dh_link
dh_compress
dh_fixperms
dh_installdeb
dh_gencontrol
dh_md5sums
dh_builddeb
binary-arch: build install
binary: binary-indep binary-arch
.PHONY: build clean binary-indep binary install
.PHONY: build clean binary-indep binary-arch binary install

111
desktop/icon14.xpm

@ -0,0 +1,111 @@
/* XPM */
static char * icon14_xpm[] = {
"14 14 94 2",
" c None",
". c #B9BABC",
"+ c #D2D3D4",
"@ c #BEBFC1",
"# c #CBCCCF",
"$ c #E0E3E1",
"% c #F6F8F8",
"& c #F3F3F3",
"* c #B9BABD",
"= c #C8C9CB",
"- c #DADCDB",
"; c #E6E8E7",
"> c #F7F7F7",
", c #FCFCFC",
"' c #F5F5F5",
") c #BCBDBF",
"! c #D3D5D5",
"~ c #E3E5E4",
"{ c #F1F2F2",
"] c #FDFDFD",
"^ c #F8F8F8",
"/ c #CBCCCC",
"( c #B2B3B6",
"_ c #B0B1B3",
": c #D3D4D6",
"< c #DFE0E0",
"[ c #EAEDEB",
"} c #FAF9F9",
"| c #DFE0DF",
"1 c #B9BBBD",
"2 c #C2C3C5",
"3 c #B7B8BC",
"4 c #CDCED0",
"5 c #DCDDDE",
"6 c #E7E9E7",
"7 c #F6F6F6",
"8 c #C0C1C2",
"9 c #DDDFDF",
"0 c #BCBCBF",
"a c #D7D9DA",
"b c #E2E4E3",
"c c #F0F2F1",
"d c #FAFAFA",
"e c #F9F9F9",
"f c #CCCDCD",
"g c #B6B7B9",
"h c #C7C8CA",
"i c #A6A7A9",
"j c #D3D4D5",
"k c #F2F5F3",
"l c #F1F2F1",
"m c #F6F8F7",
"n c #FCFBFC",
"o c #E8EAE9",
"p c #B6B7B8",
"q c #BFC0C2",
"r c #323138",
"s c #1D1D22",
"t c #111117",
"u c #4C4C51",
"v c #ECECED",
"w c #FFFFFF",
"x c #BBBDBD",
"y c #C9CACB",
"z c #333238",
"A c #313036",
"B c #27272C",
"C c #1E1F24",
"D c #16171D",
"E c #919193",
"F c #F2F3F3",
"G c #B4B5B7",
"H c #CDCFCF",
"I c #67666B",
"J c #37363C",
"K c #2C2B31",
"L c #2A292F",
"M c #16171C",
"N c #68696B",
"O c #C7C8C9",
"P c #CBCDCC",
"Q c #49474E",
"R c #39383E",
"S c #36353B",
"T c #333138",
"U c #28272D",
"V c #CED0D0",
"W c #67676C",
"X c #414046",
"Y c #424147",
"Z c #39383F",
"` c #8C8D8F",
" . c #6B6C70",
".. c #75757A",
" . + ",
" @ # $ % & ",
" * = - ; > , ' ",
" ) ! ~ { ] ^ / ( ",
" _ : < [ } , | 1 2 ",
" 3 4 5 6 7 , { 8 . 9 ",
" 2 0 a b c d e f g h ",
" i j k l m n o p q h ",
" r s t u v w ' x g y ",
" z A B C D E F G H ",
" I J A K L M N O P ",
" Q R R S T U V ",
" W X Y X Z ` ",
" ... "};

BIN
desktop/icon24.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

27
desktop/pybitmessage.desktop

@ -2,29 +2,8 @@
Type=Application
Name=PyBitmessage
GenericName=PyBitmessage
X-GNOME-FullName=PyBitmessage Secure Messaging
Comment=Send encrypted messages to another person or to many subscribers
Exec=pybitmessage %U
Comment=Send encrypted messages
Exec=pybitmessage %F
Icon=pybitmessage
Terminal=false
Categories=Network;Email;Application;
Keywords=Email;E-mail;Newsgroup;Messaging;
X-MessagingMenu-UsesChatSection=true
X-Ubuntu-Gettext-Domain=pybitmessage
Actions=Send;Subscribe;AddressBook;
[Desktop Action Send]
Name=Send
Exec=pybitmessage -s
OnlyShowIn=Unity;
[Desktop Action Subscribe]
Name=Subscribe
Exec=pybitmessage -b
OnlyShowIn=Unity;
[Desktop Action AddressBook]
Name=Address Book
Exec=pybitmessage -a
OnlyShowIn=Unity;
Categories=Office;Email;

33
ebuild.sh

@ -0,0 +1,33 @@
#!/bin/bash
APP=pybitmessage
PREV_VERSION=0.3.4
VERSION=0.3.4
RELEASE=1
SOURCEDIR=.
ARCH_TYPE=`uname -m`
CURRDIR=`pwd`
SOURCE=~/ebuild/${APP}-${VERSION}.tar.gz
# Update version numbers automatically - so you don't have to
sed -i 's/VERSION='${PREV_VERSION}'/VERSION='${VERSION}'/g' Makefile debian.sh rpm.sh arch.sh puppy.sh slack.sh
sed -i 's/Version: '${PREV_VERSION}'/Version: '${VERSION}'/g' rpmpackage/${APP}.spec
sed -i 's/Release: '${RELEASE}'/Release: '${RELEASE}'/g' rpmpackage/${APP}.spec
sed -i 's/pkgrel='${RELEASE}'/pkgrel='${RELEASE}'/g' archpackage/PKGBUILD
sed -i 's/pkgver='${PREV_VERSION}'/pkgver='${VERSION}'/g' archpackage/PKGBUILD
sed -i "s/-${PREV_VERSION}-/-${VERSION}-/g" puppypackage/*.specs
sed -i "s/|${PREV_VERSION}|/|${VERSION}|/g" puppypackage/*.specs
sed -i 's/VERSION='${PREV_VERSION}'/VERSION='${VERSION}'/g' puppypackage/pinstall.sh puppypackage/puninstall.sh
sed -i 's/-'${PREV_VERSION}'.so/-'${VERSION}'.so/g' debian/*.links
# create the source code in the SOURCES directory
make clean
mkdir -p ~/ebuild
rm -f ${SOURCE}
mv ../${APP} ../${APP}-${VERSION}
tar -cvzf ${SOURCE} ../${APP}-${VERSION} --exclude-vcs
# rename the root directory without the version number
mv ../${APP}-${VERSION} ../${APP}

22
ebuildpackage/pybitmessage-0.3.4-1.ebuild

@ -0,0 +1,22 @@
# $Header: $
EAPI=4
DESCRIPTION="Bitmessage is a P2P communications protocol used to send encrypted messages to another person or to many subscribers. It is decentralized and trustless, meaning that you need-not inherently trust any entities like root certificate authorities. It uses strong authentication which means that the sender of a message cannot be spoofed, and it aims to hide "non-content" data, like the sender and receiver of messages, from passive eavesdroppers like those running warrantless wiretapping programs."
HOMEPAGE="https://github.com/Bitmessage/PyBitmessage"
SRC_URI="${PN}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="x86"
RDEPEND="dev-libs/popt"
DEPEND="${RDEPEND}"
src_configure() {
econf --with-popt
}
src_install() {
emake DESTDIR="${D}" install
# Install README and (Debian) changelog
dodoc README.md debian/changelog
}

7
generate.sh

@ -0,0 +1,7 @@
#!/bin/bash
# Generates packaging
rm -f Makefile rpmpackage/*.spec
packagemonkey -n "PyBitmessage" --version "0.3.4" --dir "." -l "mit" -e "Bob Mottram (4096 bits) <bob@robotics.uk.to>" --brief "Send encrypted messages" --desc "Bitmessage is a P2P communications protocol used to send encrypted messages to another person or to many subscribers. It is decentralized and trustless, meaning that you need-not inherently trust any entities like root certificate authorities. It uses strong authentication which means that the sender of a message cannot be spoofed, and it aims to hide \"non-content\" data, like the sender and receiver of messages, from passive eavesdroppers like those running warrantless wiretapping programs." --homepage "https://github.com/Bitmessage/PyBitmessage" --section "mail" --categories "Office/Email" --dependsdeb "python (>= 2.7.0), openssl, python-qt4, libqt4-dev (>= 4.8.0), python-qt4-dev, sqlite3, libsqlite3-dev" --dependsrpm "python, PyQt4, openssl-compat-bitcoin-libs" --mainscript "bitmessagemain.py" --librarypath "/opt/openssl-compat-bitcoin/lib/" --suggestsdeb "libmessaging-menu-dev" --dependspuppy "openssl, python-qt4, sqlite3, sqlite3-dev, python-openssl"

BIN
man/pybitmessage.1.gz

Binary file not shown.

66
puppy.sh

@ -0,0 +1,66 @@
#!/bin/bash
APP=pybitmessage
PREV_VERSION=0.3.4
VERSION=0.3.4
RELEASE=1
BUILDDIR=~/petbuild
CURRDIR=`pwd`
PROJECTDIR=${BUILDDIR}/${APP}-${VERSION}-${RELEASE}
# Update version numbers automatically - so you don't have to
sed -i 's/VERSION='${PREV_VERSION}'/VERSION='${VERSION}'/g' Makefile debian.sh rpm.sh arch.sh ebuild.sh slack.sh
sed -i 's/Version: '${PREV_VERSION}'/Version: '${VERSION}'/g' rpmpackage/${APP}.spec
sed -i 's/Release: '${RELEASE}'/Release: '${RELEASE}'/g' rpmpackage/${APP}.spec
sed -i 's/pkgrel='${RELEASE}'/pkgrel='${RELEASE}'/g' archpackage/PKGBUILD
sed -i 's/pkgver='${PREV_VERSION}'/pkgver='${VERSION}'/g' archpackage/PKGBUILD
sed -i "s/-${PREV_VERSION}-/-${VERSION}-/g" puppypackage/*.specs
sed -i "s/|${PREV_VERSION}|/|${VERSION}|/g" puppypackage/*.specs
sed -i 's/VERSION='${PREV_VERSION}'/VERSION='${VERSION}'/g' puppypackage/pinstall.sh puppypackage/puninstall.sh
sed -i 's/-'${PREV_VERSION}'.so/-'${VERSION}'.so/g' debian/*.links
# Make directories within which the project will be built
mkdir -p ${BUILDDIR}
mkdir -p ${PROJECTDIR}
# Build the project
make clean
make
make install -B DESTDIR=${PROJECTDIR}
# Alter the desktop file categories
sed -i "s/Categories=Office;Email;/Categories=Internet;mailnews;/g" ${PROJECTDIR}/usr/share/applications/${APP}.desktop
# Create directories specific to puppy
mkdir ${PROJECTDIR}/usr
mkdir ${PROJECTDIR}/usr/local
mkdir ${PROJECTDIR}/usr/local/bin
# Copy anything in /usr/bin into /usr/local/bin
cp ${PROJECTDIR}/usr/bin/* ${PROJECTDIR}/usr/local/bin/
# Copy the spec file into the build directory
cp ${CURRDIR}/puppypackage/${APP}-${VERSION}.pet.specs ${PROJECTDIR}
# Copy the XPM mini icon into the build directory
cp ${CURRDIR}//home/motters/develop/pybitmessage/desktop/icon14.xpm ${PROJECTDIR}/pybitmessage.xpm
# Compress the build directory
cd ${BUILDDIR}
tar -c -f ${APP}-${VERSION}-${RELEASE}.tar .
sync
gzip ${APP}-${VERSION}-${RELEASE}.tar
mv ${APP}-${VERSION}-${RELEASE}.tar.gz ${CURRDIR}/puppypackage
cd ${CURRDIR}/puppypackage
# Create the PET package
MD5SUM="`md5sum ${APP}-${VERSION}-${RELEASE}.tar.gz | cut -f 1 -d ' '`"
echo -n "$MD5SUM" >> ${APP}-${VERSION}-${RELEASE}.tar.gz
sync
mv -f ${APP}-${VERSION}-${RELEASE}.tar.gz ${APP}-${VERSION}-${RELEASE}.pet
sync
cd ${CURRDIR}
# Remove the temporary build directory
rm -fr ${BUILDDIR}

111
puppypackage/icon14.xpm

@ -0,0 +1,111 @@
/* XPM */
static char * icon14_xpm[] = {
"14 14 94 2",
" c None",
". c #B9BABC",
"+ c #D2D3D4",
"@ c #BEBFC1",
"# c #CBCCCF",
"$ c #E0E3E1",
"% c #F6F8F8",
"& c #F3F3F3",
"* c #B9BABD",
"= c #C8C9CB",
"- c #DADCDB",
"; c #E6E8E7",
"> c #F7F7F7",
", c #FCFCFC",
"' c #F5F5F5",
") c #BCBDBF",
"! c #D3D5D5",
"~ c #E3E5E4",
"{ c #F1F2F2",
"] c #FDFDFD",
"^ c #F8F8F8",
"/ c #CBCCCC",
"( c #B2B3B6",
"_ c #B0B1B3",
": c #D3D4D6",
"< c #DFE0E0",
"[ c #EAEDEB",
"} c #FAF9F9",
"| c #DFE0DF",
"1 c #B9BBBD",
"2 c #C2C3C5",
"3 c #B7B8BC",
"4 c #CDCED0",
"5 c #DCDDDE",
"6 c #E7E9E7",
"7 c #F6F6F6",
"8 c #C0C1C2",
"9 c #DDDFDF",
"0 c #BCBCBF",
"a c #D7D9DA",
"b c #E2E4E3",
"c c #F0F2F1",
"d c #FAFAFA",
"e c #F9F9F9",
"f c #CCCDCD",
"g c #B6B7B9",
"h c #C7C8CA",
"i c #A6A7A9",
"j c #D3D4D5",
"k c #F2F5F3",
"l c #F1F2F1",
"m c #F6F8F7",
"n c #FCFBFC",
"o c #E8EAE9",
"p c #B6B7B8",
"q c #BFC0C2",
"r c #323138",
"s c #1D1D22",
"t c #111117",
"u c #4C4C51",
"v c #ECECED",
"w c #FFFFFF",
"x c #BBBDBD",
"y c #C9CACB",
"z c #333238",
"A c #313036",
"B c #27272C",
"C c #1E1F24",
"D c #16171D",
"E c #919193",
"F c #F2F3F3",
"G c #B4B5B7",
"H c #CDCFCF",
"I c #67666B",
"J c #37363C",
"K c #2C2B31",
"L c #2A292F",
"M c #16171C",
"N c #68696B",
"O c #C7C8C9",
"P c #CBCDCC",
"Q c #49474E",
"R c #39383E",
"S c #36353B",
"T c #333138",
"U c #28272D",
"V c #CED0D0",
"W c #67676C",
"X c #414046",
"Y c #424147",
"Z c #39383F",
"` c #8C8D8F",
" . c #6B6C70",
".. c #75757A",
" . + ",
" @ # $ % & ",
" * = - ; > , ' ",
" ) ! ~ { ] ^ / ( ",
" _ : < [ } , | 1 2 ",
" 3 4 5 6 7 , { 8 . 9 ",
" 2 0 a b c d e f g h ",
" i j k l m n o p q h ",
" r s t u v w ' x g y ",
" z A B C D E F G H ",
" I J A K L M N O P ",
" Q R R S T U V ",
" W X Y X Z ` ",
" ... "};

1
puppypackage/pybitmessage-0.3.4.pet.specs

@ -0,0 +1 @@
pybitmessage-0.3.4-1|PyBitmessage|0.3.4|1|Internet;mailnews;|3.9M||pybitmessage-0.3.4-1.pet||Send encrypted messages|ubuntu|precise|5|

53
rpm.sh

@ -0,0 +1,53 @@
#!/bin/bash
APP=pybitmessage
PREV_VERSION=0.3.4
VERSION=0.3.4
RELEASE=1
SOURCEDIR=.
ARCH_TYPE=`uname -m`
CURRDIR=`pwd`
SOURCE=~/rpmbuild/SOURCES/${APP}_${VERSION}.orig.tar.gz
# Update version numbers automatically - so you don't have to
sed -i 's/VERSION='${PREV_VERSION}'/VERSION='${VERSION}'/g' Makefile debian.sh arch.sh puppy.sh ebuild.sh slack.sh
sed -i 's/Version: '${PREV_VERSION}'/Version: '${VERSION}'/g' rpmpackage/${APP}.spec
sed -i 's/Release: '${RELEASE}'/Release: '${RELEASE}'/g' rpmpackage/${APP}.spec
sed -i 's/pkgrel='${RELEASE}'/pkgrel='${RELEASE}'/g' archpackage/PKGBUILD
sed -i 's/pkgver='${PREV_VERSION}'/pkgver='${VERSION}'/g' archpackage/PKGBUILD
sed -i "s/-${PREV_VERSION}-/-${VERSION}-/g" puppypackage/*.specs
sed -i "s/|${PREV_VERSION}|/|${VERSION}|/g" puppypackage/*.specs
sed -i 's/VERSION='${PREV_VERSION}'/VERSION='${VERSION}'/g' puppypackage/pinstall.sh puppypackage/puninstall.sh
sed -i 's/-'${PREV_VERSION}'.so/-'${VERSION}'.so/g' debian/*.links
sudo yum groupinstall "Development Tools"
sudo yum install rpmdevtools
# setup the rpmbuild directory tree
rpmdev-setuptree
# create the source code in the SOURCES directory
make clean
mkdir -p ~/rpmbuild/SOURCES
rm -f ${SOURCE}
# having the root directory called name-version seems essential
mv ../${APP} ../${APP}-${VERSION}
tar -cvzf ${SOURCE} ../${APP}-${VERSION} --exclude-vcs
# rename the root directory without the version number
mv ../${APP}-${VERSION} ../${APP}
# copy the spec file into the SPECS directory
cp -f rpmpackage/${APP}.spec ~/rpmbuild/SPECS
# build
cd ~/rpmbuild/SPECS
rpmbuild -ba ${APP}.spec
cd ${CURRDIR}
# Copy the results into the rpmpackage directory
mkdir -p rpmpackage/${ARCH_TYPE}
cp -r ~/rpmbuild/RPMS/${ARCH_TYPE}/${APP}* rpmpackage/${ARCH_TYPE}
cp -r ~/rpmbuild/SRPMS/${APP}* rpmpackage

207
rpmpackage/pybitmessage.spec

@ -0,0 +1,207 @@
Name: pybitmessage
Version: 0.3.4
Release: 1%{?dist}
Summary: Send encrypted messages
License: MIT
URL: https://github.com/Bitmessage/PyBitmessage
Packager: Bob Mottram (4096 bits) <bob@robotics.uk.to>
Source0: http://yourdomainname.com/src/%{name}_%{version}.orig.tar.gz
Group: Office/Email
Requires: python, PyQt4, openssl-compat-bitcoin-libs
%description
Bitmessage is a P2P communications protocol used to send encrypted messages
to another person or to many subscribers. It is decentralized and
trustless, meaning that you need-not inherently trust any entities like
root certificate authorities. It uses strong authentication which means
that the sender of a message cannot be spoofed, and it aims to hide
"non-content" data, like the sender and receiver of messages, from passive
eavesdroppers like those running warrantless wiretapping programs.
%prep
%setup -q
%build
%configure
make %{?_smp_mflags}
%install
rm -rf %{buildroot}
mkdir -p %{buildroot}
mkdir -p %{buildroot}/etc
mkdir -p %{buildroot}/etc/%{name}
mkdir -p %{buildroot}/usr
mkdir -p %{buildroot}/usr/bin
mkdir -p %{buildroot}/usr/share
mkdir -p %{buildroot}/usr/share/man
mkdir -p %{buildroot}/usr/share/man/man1
mkdir -p %{buildroot}/usr/share/%{name}
mkdir -p %{buildroot}/usr/share/applications
mkdir -p %{buildroot}/usr/share/icons
mkdir -p %{buildroot}/usr/share/icons/hicolor
mkdir -p %{buildroot}/usr/share/icons/hicolor/24x24
mkdir -p %{buildroot}/usr/share/icons/hicolor/24x24/apps
mkdir -p %{buildroot}/usr/share/pixmaps
mkdir -p %{buildroot}/usr/share/icons/hicolor/scalable
mkdir -p %{buildroot}/usr/share/icons/hicolor/scalable/apps
# Make install but to the RPM BUILDROOT directory
make install -B DESTDIR=%{buildroot}
%files
%doc README.md LICENSE
%defattr(-,root,root,-)
%dir /usr/share/%{name}
%dir /usr/share/applications
%dir /usr/share/icons/hicolor
%dir /usr/share/icons/hicolor/24x24
%dir /usr/share/icons/hicolor/24x24/apps
%dir /usr/share/pixmaps
%dir /usr/share/icons/hicolor/scalable
%dir /usr/share/icons/hicolor/scalable/apps
/usr/share/%{name}/*
%{_bindir}/*
%{_mandir}/man1/*
%attr(644,root,root) /usr/share/applications/%{name}.desktop
%attr(644,root,root) /usr/share/icons/hicolor/24x24/apps/%{name}.png
%changelog
* Sun Jun 30 2013 Bob Mottram (4096 bits) <bob@robotics.uk.to> - 0.3.4-1
- Switched addr, msg, broadcast, and getpubkey message types
to 8 byte time. Last remaining type is pubkey.
- Added tooltips to show the full subject of messages
- Added Maximum Acceptable Difficulty fields in the settings
- Send out pubkey immediately after generating deterministic
addresses rather than waiting for a request
* Sat Jun 29 2013 Bob Mottram (4096 bits) <bob@robotics.uk.to> - 0.3.3-1
- Remove inbox item from GUI when using API command trashMessage
- Add missing trailing semicolons to pybitmessage.desktop
- Ensure $(DESTDIR)/usr/bin exists
- Update Makefile to correct sandbox violations when built
via Portage (Gentoo)
- Fix message authentication bug
* Fri Jun 28 2013 Bob Mottram (4096 bits) <bob@robotics.uk.to> - 0.3.211-1
- Removed multi-core proof of work
as the multiprocessing module does not work well with
pyinstaller's --onefile option.
* Mon Jun 03 2013 Bob Mottram (4096 bits) <bob@robotics.uk.to> - 0.3.2-1
- Bugfix: Remove remaining references to the old myapp.trayIcon
- Refactored message status-related code. API function getStatus
now returns one of these strings: notfound, msgqueued,
broadcastqueued, broadcastsent, doingpubkeypow, awaitingpubkey,
doingmsgpow, msgsent, or ackreceived
- Moved proof of work to low-priority multi-threaded child
processes
- Added menu option to delete all trashed messages
- Added inv flooding attack mitigation
- On Linux, when selecting Show Bitmessage, do not maximize
automatically
- Store tray icons in bitmessage_icons_rc.py
* Sat May 25 2013 Jonathan Warren (4096 bits) <jonathan@bitmessage.org> - 0.3.1-1
- Added new API commands: getDeterministicAddress,
addSubscription, deleteSubscription
- TCP Connection timeout for non-fully-established connections
now 20 seconds
- Don't update the time we last communicated with a node unless
the connection is fully established. This will allow us to
forget about active but non-Bitmessage nodes which have made
it into our knownNodes file.
- Prevent incoming connection flooding from crashing
singleListener thread. Client will now only accept one
connection per remote node IP
- Bugfix: Worker thread crashed when doing a POW to send out
a v2 pubkey (bug introduced in 0.3.0)
- Wrap all sock.shutdown functions in error handlers
- Put all 'commit' commands within SQLLocks
- Bugfix: If address book label is blank, Bitmessage wouldn't
show message (bug introduced in 0.3.0)
- Messaging menu item selects the oldest unread message
- Standardize on 'Quit' rather than 'Exit'
- [OSX] Try to seek homebrew installation of OpenSSL
- Prevent multiple instances of the application from running
- Show 'Connected' or 'Connection Lost' indicators
- Use only 9 half-open connections on Windows but 32 for
everyone else
- Added appIndicator (a more functional tray icon) and Ubuntu
Messaging Menu integration
- Changed Debian install directory and run script name based
on Github issue #135
* Tue May 6 2013 Bob Mottram (4096 bits) <bob@sluggish.dyndns.org> - 0.3.0-1
- Added new API function: getStatus
- Added error-handling around all sock.sendall() functions
in the receiveData thread so that if there is a problem
sending data, the threads will close gracefully
- Abandoned and removed the connectionsCount data structure;
use the connectedHostsList instead because it has proved to be
more accurate than trying to maintain the connectionsCount
- Added daemon mode. All UI code moved into a module and many
shared objects moved into shared.py
- Truncate display of very long messages to avoid freezing the UI
- Added encrypted broadcasts for v3 addresses or v2 addresses
after 2013-05-28 10:00 UTC
- No longer self.sock.close() from within receiveDataThreads,
let the sendDataThreads do it
- Swapped out the v2 announcements subscription address for a v3
announcements subscription address
- Vacuum the messages.dat file once a month: will greatly reduce the file size
- Added a settings table in message.dat
- Implemented v3 addresses:
pubkey messages must now include two var_ints: nonce_trials_per_byte
and extra_bytes, and also be signed. When sending a message to a v3
address, the sender must use these values in calculating its POW or
else the message will not be accepted by the receiver.
- Display a privacy warning when selecting 'Send Broadcast from this address'
- Added gitignore file
- Added code in preparation for a switch from 32-bit time to 64-bit time.
Nodes will now advertise themselves as using protocol version 2.
- Don't necessarily delete entries from the inventory after 2.5 days;
leave pubkeys there for 28 days so that we don't process the same ones
many times throughout a month. This was causing the 'pubkeys processed'
indicator on the 'Network Status' tab to not accurately reflect the
number of truly new addresses on the network.
- Use 32 threads for outgoing connections in order to connect quickly
- Fix typo when calling os.environ in the sys.platform=='darwin' case
- Allow the cancelling of a message which is in the process of being
sent by trashing it then restarting Bitmessage
- Bug fix: can't delete address from address book
* Tue Apr 9 2013 Bob Mottram (4096 bits) <bob@sluggish.dyndns.org> - 0.2.8-1
- Fixed Ubuntu & OS X issue:
Bitmessage wouldn't receive any objects from peers after restart.
- Inventory flush to disk when exiting program now vastly faster.
- Fixed address generation bug (kept Bitmessage from restarting).
- Improve deserialization of messages
before processing (a 'best practice').
- Change to help Macs find OpenSSL the way Unix systems find it.
- Do not share or accept IPs which are in the private IP ranges.
- Added time-fuzzing
to the embedded time in pubkey and getpubkey messages.
- Added a knownNodes lock
to prevent an exception from sometimes occurring when saving
the data-structure to disk.
- Show unread messages in bold
and do not display new messages automatically.
- Support selecting multiple items
in the inbox, sent box, and address book.
- Use delete key to trash Inbox or Sent messages.
- Display richtext(HTML) messages
from senders in address book or subscriptions (although not
pseudo-mailing-lists; use new right-click option).
- Trim spaces
from the beginning and end of addresses when adding to
address book, subscriptions, and blacklist.
- Improved the display of the time for foreign language users.
* Tue Apr 1 2013 Bob Mottram (4096 bits) <bob@sluggish.dyndns.org> - 0.2.7-1
- Added debian packaging
- Script to generate debian packages
- SVG icon for Gnome shell, etc
- Source moved int src directory for debian standards compatibility
- Trailing carriage return on COPYING LICENSE and README.md

48
slack.sh

@ -0,0 +1,48 @@
#!/bin/bash
APP=pybitmessage
PREV_VERSION=0.3.4
VERSION=0.3.4
RELEASE=1
ARCH_TYPE=`uname -m`
BUILDDIR=~/slackbuild
CURRDIR=`pwd`
PROJECTDIR=${BUILDDIR}/${APP}-${VERSION}-${RELEASE}
# Update version numbers automatically - so you don't have to
sed -i 's/VERSION='${PREV_VERSION}'/VERSION='${VERSION}'/g' Makefile debian.sh rpm.sh arch.sh puppy.sh ebuild.sh
sed -i 's/Version: '${PREV_VERSION}'/Version: '${VERSION}'/g' rpmpackage/${APP}.spec
sed -i 's/Release: '${RELEASE}'/Release: '${RELEASE}'/g' rpmpackage/${APP}.spec
sed -i 's/pkgrel='${RELEASE}'/pkgrel='${RELEASE}'/g' archpackage/PKGBUILD
sed -i 's/pkgver='${PREV_VERSION}'/pkgver='${VERSION}'/g' archpackage/PKGBUILD
sed -i "s/-${PREV_VERSION}-/-${VERSION}-/g" puppypackage/*.specs
sed -i "s/|${PREV_VERSION}|/|${VERSION}|/g" puppypackage/*.specs
sed -i 's/VERSION='${PREV_VERSION}'/VERSION='${VERSION}'/g' puppypackage/pinstall.sh puppypackage/puninstall.sh
sed -i 's/-'${PREV_VERSION}'.so/-'${VERSION}'.so/g' debian/*.links
# Make directories within which the project will be built
mkdir -p ${BUILDDIR}
mkdir -p ${PROJECTDIR}
# Build the project
make clean
make
make install -B DESTDIR=${PROJECTDIR}
# Copy the slack-desc and doinst.sh files into the build install directory
mkdir ${PROJECTDIR}/install
cp ${CURRDIR}/slackpackage/slack-desc ${PROJECTDIR}/install
cp ${CURRDIR}/slackpackage/doinst.sh ${PROJECTDIR}/install
# Compress the build directory
cd ${BUILDDIR}
tar -c -f ${APP}-${VERSION}-${RELEASE}.tar .
sync
xz ${APP}-${VERSION}-${RELEASE}.tar
sync
mv ${APP}-${VERSION}-${RELEASE}.tar.xz ${CURRDIR}/slackpackage/${APP}-${VERSION}-${ARCH_TYPE}-${RELEASE}.txz
cd ${CURRDIR}
# Remove the temporary build directory
rm -fr ${BUILDDIR}

4
slackpackage/doinst.sh

@ -0,0 +1,4 @@
#!/bin/sh -e
# This script is run after installation.
# Any additional configuration goes here.

19
slackpackage/slack-desc

@ -0,0 +1,19 @@
# HOW TO EDIT THIS FILE:
# The "handy ruler" below makes it easier to edit a package description. Line
# up the first '|' above the ':' following the base package name, and the '|' on
# the right side marks the last column you can put a character in. You must make
# exactly 11 lines for the formatting to be correct. It's also customary to
# leave one space after the ':'.
|-----handy-ruler--------------------------------------------------|
pybitmessage: pybitmessage (Send encrypted messages)
pybitmessage:
pybitmessage: Bitmessage is a P2P communications protocol used to send
pybitmessage: encrypted messages to another person or to many subscribers. It
pybitmessage: is decentralized and trustless, meaning that you need-not
pybitmessage: inherently trust any entities like root certificate authorities.
pybitmessage: It uses strong authentication which means that the sender of a
pybitmessage: message cannot be spoofed, and it aims to hide "non-content"
pybitmessage: data, like the sender and receiver of messages, from passive
pybitmessage: eavesdroppers like those running warrantless wiretapping
pybitmessage: programs.
Loading…
Cancel
Save