gevent #287

Merged
Atheros1 merged 19 commits from master into master 2013-07-05 22:59:12 +02:00
5 changed files with 89 additions and 76 deletions
Showing only changes of commit 21ce1f5a19 - Show all commits

View File

@ -1,52 +1,43 @@
APP=pybitmessage APP=pybitmessage
VERSION=0.3.4 VERSION=0.3.4
DEST_SHARE=$(DESTDIR)/usr/share DEST_SHARE=${DESTDIR}/usr/share
DEST_APP=$(DEST_SHARE)/$(APP) DEST_APP=${DEST_SHARE}/${APP}
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 -m 755 -p ${DESTDIR}/usr/bin
mkdir -m 755 -p $(DEST_APP) mkdir -m 755 -p ${DEST_APP}
mkdir -m 755 -p $(DEST_SHARE)/applications mkdir -m 755 -p ${DEST_SHARE}/applications
mkdir -m 755 -p $(DEST_APP)/images mkdir -m 755 -p ${DEST_APP}/images
mkdir -m 755 -p $(DEST_APP)/pyelliptic mkdir -m 755 -p ${DEST_APP}/pyelliptic
mkdir -m 755 -p $(DEST_APP)/socks mkdir -m 755 -p ${DEST_APP}/socks
mkdir -m 755 -p $(DEST_APP)/bitmessageqt mkdir -m 755 -p ${DEST_APP}/bitmessageqt
mkdir -m 755 -p $(DEST_APP)/translations mkdir -m 755 -p ${DEST_APP}/translations
mkdir -m 755 -p $(DEST_SHARE)/pixmaps mkdir -m 755 -p ${DEST_SHARE}/pixmaps
mkdir -m 755 -p $(DEST_SHARE)/icons mkdir -m 755 -p ${DEST_SHARE}/icons
mkdir -m 755 -p $(DEST_SHARE)/icons/hicolor 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
mkdir -m 755 -p $(DEST_SHARE)/icons/hicolor/scalable/apps 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
mkdir -m 755 -p $(DEST_SHARE)/icons/hicolor/24x24/apps mkdir -m 755 -p ${DEST_SHARE}/icons/hicolor/24x24/apps
install -m 644 src/*.ui $(DEST_APP) cp -r src/* ${DEST_APP}
install -m 644 src/*.py $(DEST_APP) install -m 755 debian/pybm ${DESTDIR}/usr/bin/${APP}
install -m 644 src/*.qrc $(DEST_APP)
install -m 644 src/images/*.png $(DEST_APP)/images install -m 644 desktop/${APP}.desktop ${DEST_SHARE}/applications/${APP}.desktop
install -m 644 src/images/*.ico $(DEST_APP)/images install -m 644 src/images/can-icon-24px.png ${DEST_SHARE}/icons/hicolor/24x24/apps/${APP}.png
install -m 644 src/pyelliptic/*.py $(DEST_APP)/pyelliptic install -m 644 desktop/can-icon.svg ${DEST_SHARE}/icons/hicolor/scalable/apps/${APP}.svg
install -m 644 src/socks/*.py $(DEST_APP)/socks install -m 644 desktop/can-icon.svg ${DEST_SHARE}/pixmaps/${APP}.svg
install -m 644 src/bitmessageqt/*.py $(DEST_APP)/bitmessageqt
install -m 644 src/translations/*.qm $(DEST_APP)/translations
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: clean:
rm -rf debian/$(APP) rm -rf debian/${APP}
rm -f ../$(APP)_*.deb ../$(APP)_*.asc ../$(APP)_*.dsc ../$(APP)*.changes rm -f ../${APP}_*.deb ../${APP}_*.asc ../${APP}_*.dsc ../${APP}*.changes
rm -f *.sh~ src/*.pyc src/socks/*.pyc src/pyelliptic/*.pyc rm -f *.sh~ src/*.pyc src/socks/*.pyc src/pyelliptic/*.pyc
rm -f *.deb \#* \.#* debian/*.log debian/*.substvars rm -f *.deb \#* \.#* debian/*.log debian/*.substvars
rm -f Makefile~ rm -f Makefile~

View File

@ -9,6 +9,7 @@
APP=pybitmessage APP=pybitmessage
PREV_VERSION=0.3.3 PREV_VERSION=0.3.3
VERSION=0.3.4 VERSION=0.3.4
RELEASE=1
ARCH_TYPE=all ARCH_TYPE=all
#update version numbers automatically - so you don't have to #update version numbers automatically - so you don't have to
@ -27,5 +28,5 @@ dpkg-buildpackage -A
# change the directory name back # change the directory name back
mv ../${APP}-${VERSION} ../PyBitmessage 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

30
debian/changelog vendored
View File

@ -1,3 +1,33 @@
pybitmessage (0.3.4-1) raring; urgency=low
* 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
-- Bob Mottram (4096 bits) <bob@robotics.uk.to> Sun, 30 June 2013 11:23:00 +0100
pybitmessage (0.3.3-1) raring; urgency=low
* 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
-- Bob Mottram (4096 bits) <bob@robotics.uk.to> Sun, 30 June 2013 11:23:00 +0100
pybitmessage (0.3.211-1) raring; urgency=low
* Removed multi-core proof of work
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
pybitmessage (0.3.2-1) raring; urgency=low pybitmessage (0.3.2-1) raring; urgency=low
* Bugfix: Remove remaining references to the old myapp.trayIcon * Bugfix: Remove remaining references to the old myapp.trayIcon

64
debian/rules vendored
View File

@ -1,12 +1,13 @@
#!/usr/bin/make -f #!/usr/bin/make -f
APP=pybitmessage APP=pybitmessage
DESTDIR=${CURDIR}/debian/${APP}
DEST_MAIN=$(CURDIR)/debian/$(APP)/usr/bin DEST_SHARE=${DESTDIR}/usr/share
DEST_SHARE=$(CURDIR)/debian/$(APP)/usr/share DEST_APP=${DEST_SHARE}/${APP}
DEST_APP=$(DEST_SHARE)/$(APP)
build: build-stamp build: build-stamp
make make
build-arch: build-stamp
build-indep: build-stamp
build-stamp: build-stamp:
dh_testdir dh_testdir
touch build-stamp touch build-stamp
@ -15,50 +16,43 @@ clean:
dh_testroot dh_testroot
rm -f build-stamp rm -f build-stamp
dh_clean dh_clean
install: build clean install:
dh_testdir dh_testdir
dh_testroot dh_testroot
dh_prep dh_prep
dh_clean -k
dh_installdirs dh_installdirs
mkdir -m 755 -p $(CURDIR)/debian/$(APP)/usr mkdir -m 755 -p ${DESTDIR}/usr/bin
mkdir -m 755 -p $(CURDIR)/debian/$(APP)/usr/bin mkdir -m 755 -p ${DEST_APP}
mkdir -m 755 -p $(DEST_APP) mkdir -m 755 -p ${DEST_SHARE}/applications
mkdir -m 755 -p $(DEST_SHARE)/applications mkdir -m 755 -p ${DEST_APP}/images
mkdir -m 755 -p $(DEST_APP)/images mkdir -m 755 -p ${DEST_APP}/pyelliptic
mkdir -m 755 -p $(DEST_APP)/pyelliptic mkdir -m 755 -p ${DEST_APP}/socks
mkdir -m 755 -p $(DEST_APP)/socks mkdir -m 755 -p ${DEST_APP}/bitmessageqt
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}/pixmaps
mkdir -m 755 -p $(DEST_SHARE)/icons mkdir -m 755 -p ${DEST_SHARE}/icons
mkdir -m 755 -p $(DEST_SHARE)/icons/hicolor 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
mkdir -m 755 -p $(DEST_SHARE)/icons/hicolor/scalable/apps 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
mkdir -m 755 -p $(DEST_SHARE)/icons/hicolor/24x24/apps mkdir -m 755 -p ${DEST_SHARE}/icons/hicolor/24x24/apps
install -m 644 $(CURDIR)/src/*.ui $(DEST_APP) cp -r src/* ${DEST_APP}
install -m 644 $(CURDIR)/src/*.py $(DEST_APP) install -m 755 debian/pybm ${DESTDIR}/usr/bin/${APP}
install -m 644 $(CURDIR)/src/*.qrc $(DEST_APP)
install -m 644 $(CURDIR)/src/images/*.png $(DEST_APP)/images install -m 644 desktop/${APP}.desktop ${DEST_SHARE}/applications/${APP}.desktop
install -m 644 $(CURDIR)/src/images/*.ico $(DEST_APP)/images install -m 644 src/images/can-icon-24px.png ${DEST_SHARE}/icons/hicolor/24x24/apps/${APP}.png
install -m 644 $(CURDIR)/src/pyelliptic/*.py $(DEST_APP)/pyelliptic install -m 644 desktop/can-icon.svg ${DEST_SHARE}/icons/hicolor/scalable/apps/${APP}.svg
install -m 644 $(CURDIR)/src/socks/*.py $(DEST_APP)/socks install -m 644 desktop/can-icon.svg ${DEST_SHARE}/pixmaps/${APP}.svg
install -m 644 $(CURDIR)/src/bitmessageqt/*.py $(DEST_APP)/bitmessageqt
install -m 755 $(CURDIR)/debian/pybm $(DEST_MAIN)/pybitmessage
install -m 644 $(CURDIR)/desktop/$(APP).desktop $(DEST_SHARE)/applications/$(APP).desktop
install -m 644 $(CURDIR)/src/images/can-icon-24px.png $(DEST_SHARE)/icons/hicolor/24x24/apps/$(APP).png
install -m 644 $(CURDIR)/desktop/can-icon.svg $(DEST_SHARE)/icons/hicolor/scalable/apps/$(APP).svg
install -m 644 $(CURDIR)/desktop/can-icon.svg $(DEST_SHARE)/pixmaps/$(APP).svg
binary-indep: build install binary-indep: build install
dh_shlibdeps 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
@ -68,5 +62,5 @@ binary-indep: build install
dh_md5sums dh_md5sums
dh_builddeb dh_builddeb
binary-arch: build install binary-arch: build install
binary: binary-indep binary: binary-indep binary-arch
.PHONY: build clean binary-indep binary install .PHONY: build clean binary-indep binary install

View File

@ -65,11 +65,9 @@ class receiveDataThread(threading.Thread):
print 'ID of the receiveDataThread is', str(id(self)) + '. The size of the shared.connectedHostsList is now', len(shared.connectedHostsList) print 'ID of the receiveDataThread is', str(id(self)) + '. The size of the shared.connectedHostsList is now', len(shared.connectedHostsList)
while True: while True:
dataLen = len(self.data)
try: try:
dataLen = len(self.data)
self.data += self.sock.recv(4096) self.data += self.sock.recv(4096)
if len(self.data) == dataLen: # recv returns 0 bytes when the remote closes the connection
raise Exception("Remote closed the connection")
except socket.timeout: except socket.timeout:
with shared.printLock: with shared.printLock:
print 'Timeout occurred waiting for data from', self.HOST + '. Closing receiveData thread. (ID:', str(id(self)) + ')' print 'Timeout occurred waiting for data from', self.HOST + '. Closing receiveData thread. (ID:', str(id(self)) + ')'
@ -81,10 +79,9 @@ class receiveDataThread(threading.Thread):
break break
# print 'Received', repr(self.data) # print 'Received', repr(self.data)
if self.data == "": if len(self.data) == dataLen: # If self.sock.recv returned no data:
with shared.printLock: with shared.printLock:
print 'Connection to', self.HOST, 'closed. Closing receiveData thread. (ID:', str(id(self)) + ')' print 'Connection to', self.HOST, 'closed. Closing receiveData thread. (ID:', str(id(self)) + ')'
break break
else: else:
self.processData() self.processData()