Packaging for multiple distros

This commit is contained in:
fuzzgun 2013-07-12 10:36:28 +01:00
parent 5f87415395
commit 10b23d0946
26 changed files with 903 additions and 172 deletions

70
Makefile Executable file → Normal file
View File

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

45
arch.sh Executable file
View File

@ -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 Normal file
View File

@ -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 vendored Executable file
View File

@ -0,0 +1 @@

View File

@ -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 #!/bin/bash
APP=pybitmessage APP=pybitmessage
PREV_VERSION=0.3.3 PREV_VERSION=0.3.4
VERSION=0.3.4 VERSION=0.3.4
RELEASE=1 RELEASE=1
ARCH_TYPE=all ARCH_TYPE=`uname -m`
DIR=${APP}-${VERSION}
#update version numbers automatically - so you don't have to if [ $ARCH_TYPE == "x86_64" ]; then
sed -i 's/VERSION='${PREV_VERSION}'/VERSION='${VERSION}'/g' Makefile ARCH_TYPE="amd64"
sed -i 's/'''${PREV_VERSION}'''/'''${VERSION}'''/g' src/shared.py 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
make clean
make
# change the parent directory name to debian format
mv ../${APP} ../${DIR}
# Create a source archive # Create a source archive
make clean
# change the directory name to pybitmessage-version
mv ../PyBitmessage ../${APP}-${VERSION}
make source make source
# Build the package # Build the package
dpkg-buildpackage -A dpkg-buildpackage -F
# change the directory name back # sign files
mv ../${APP}-${VERSION} ../PyBitmessage gpg -ba ../${APP}_${VERSION}-1_${ARCH_TYPE}.deb
gpg -ba ../${APP}_${VERSION}-${RELEASE}_${ARCH_TYPE}.deb
gpg -ba ../${APP}_${VERSION}.orig.tar.gz gpg -ba ../${APP}_${VERSION}.orig.tar.gz
# restore the parent directory name
mv ../${DIR} ../${APP}

4
debian/changelog vendored
View File

@ -18,7 +18,7 @@ pybitmessage (0.3.3-1) raring; urgency=low
via Portage (Gentoo) via Portage (Gentoo)
* Fix message authentication bug * 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 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 as the multiprocessing module does not work well with
pyinstaller's --onefile option. 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 pybitmessage (0.3.2-1) raring; urgency=low

2
debian/compat vendored
View File

@ -1 +1 @@
8 9

34
debian/control vendored
View File

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

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

1
debian/manpages vendored Normal file
View File

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

86
debian/rules vendored
View File

@ -1,66 +1,42 @@
#!/usr/bin/make -f #!/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 make
build-arch: build-stamp build-arch: build-stamp
build-indep: build-stamp build-indep: build-stamp
build-stamp: build-stamp:
dh_testdir dh_testdir
touch build-stamp touch build-stamp
clean: clean:
dh_testdir dh_testdir
dh_testroot dh_testroot
rm -f build-stamp rm -f build-stamp
dh_clean 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
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
install: build clean
dh_testdir
dh_testroot
dh_prep
dh_installdirs
${MAKE} install -B DESTDIR=${CURDIR}/debian/${APP}
binary-indep: build install binary-indep: build install
dh_shlibdeps dh_testdir
dh_testdir dh_testroot
dh_testroot dh_installchangelogs
dh_installchangelogs dh_installdocs
dh_installdocs dh_installexamples
# dh_installman dh_installman
dh_link dh_link
dh_compress dh_compress
dh_fixperms dh_fixperms
dh_installdeb dh_installdeb
dh_gencontrol dh_gencontrol
dh_md5sums dh_md5sums
dh_builddeb dh_builddeb
binary-arch: build install binary-arch: build install
binary: binary-indep binary-arch 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 Normal file
View File

@ -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 Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

@ -2,29 +2,8 @@
Type=Application Type=Application
Name=PyBitmessage Name=PyBitmessage
GenericName=PyBitmessage GenericName=PyBitmessage
X-GNOME-FullName=PyBitmessage Secure Messaging Comment=Send encrypted messages
Comment=Send encrypted messages to another person or to many subscribers Exec=pybitmessage %F
Exec=pybitmessage %U
Icon=pybitmessage Icon=pybitmessage
Terminal=false Terminal=false
Categories=Network;Email;Application; Categories=Office;Email;
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;

33
ebuild.sh Executable file
View File

@ -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}

View File

@ -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 Executable file
View File

@ -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 Normal file

Binary file not shown.

66
puppy.sh Executable file
View File

@ -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 Normal file
View File

@ -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 ` ",
" ... "};

View File

@ -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 Executable file
View File

@ -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

View File

@ -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 Executable file
View File

@ -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 Executable file
View File

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

19
slackpackage/slack-desc Normal file
View File

@ -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.