This repository has been archived on 2024-12-15. You can view files and clone it, but cannot push or open issues or pull requests.
PyBitmessage-2024-12-15/rpmpackage/pybitmessage.spec
2016-05-11 12:59:47 -07:00

358 lines
16 KiB
RPMSpec

Name: pybitmessage
Version: 0.6.0
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
BuildArch: noarch
Group: Office/Email
Requires: python, PyQt4, openssl-compat-bitcoin-libs, gst123
%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} PREFIX=/usr
%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 Nov 2 2014 Bob Mottram (4096 bits) <bob@robotics.uk.to> - 0.4.4-1
- Added ability to limit network transfer rate
- Updated to Protocol Version 3
- Removed use of memoryview so that we can support python 2.7.3
- Make use of l10n for localizations
* Thu Mar 6 2014 Bob Mottram (4096 bits) <bob@robotics.uk.to> - 0.4.3-1
- Support pyelliptic's updated HMAC algorithm. We'll remove support for the old method after an upgrade period.
- Improved version check
- Refactored decodeBase58 function
- Ignore duplicate messages
- Added bytes received/sent counts and rate on the network information tab
- Fix unicode handling in 'View HTML code as formatted text'
- Refactor handling of packet headers
- Use pointMult function instead of arithmetic.privtopub since it is faster
- Fixed issue where client wasn't waiting for a verack before continuing on with the conversation
- Fixed CPU hogging by implementing tab-based refresh improvements
- Added curses interface
- Added support for IPv6
- Added a 'trustedpeer' option to keys.dat
- Limit maximum object size to 20 MB
- Support email-like > quote characters and reply-below-quote
- Added Japanese and Dutch language files; updated Norwegian and Russian languages files
* Thu Mar 6 2014 Bob Mottram (4096 bits) <bob@robotics.uk.to> - 0.4.2-1
- Exclude debian directory from orig.tar.gz
- Added Norwegian, Chinese, and Arabic translations
- sock.sendall function isn't atomic.
Let sendDataThread be the only thread which sends data.
- Moved API code to api.py
- Populate comboBoxSendFrom when replying
- Added option to show recent broadcasts when subscribing
- Fixed issue: If Windows username contained an international character,
Bitmessage wouldn't start
- Added some code for FreeBSD compatibility
- Moved responsibility for processing network objects
to the new ObjectProcessorThread
- Refactored main QT module
Moved popup menus initialization to separate methods
Simplified inbox loading
Moved magic strings to the model scope constants so they won't
be created every time.
- Updated list of defaultKnownNodes
- Fixed issue: [Linux] When too many messages arrive too quickly,
exception occurs: "Exceeded maximum number of notifications"
- Fixed issue: creating then deleting an Address in short time crashes
class_singleWorker.py
- Refactored code which displays messages to improve code readability
- load "Sent To" label from subscriptions if available
- Removed code to add chans to our address book as it is no longer necessary
- Added identicons
- Modified addresses.decodeAddress so that API command decodeAddress
works properly
- Added API commands createChan, joinChan, leaveChan, deleteAddress
- In pyelliptic, check the return value of RAND_bytes to make sure enough
random data was generated
- Don't store messages in UI table (and thus in memory), pull from SQL
inventory as needed
- Fix typos in API commands addSubscription and getInboxMessagesByAddress
- Add feature in settings menu to give up resending a message after a
specified period of time
* Sun Sep 29 2013 Bob Mottram (4096 bits) <bob@robotics.uk.to> - 0.4.1-1
- Fixed whitelist bug
- Fixed chan bug
Added addressversion field to pubkeys table
Sending messages to a chan no longer uses anything in the pubkeys table
Sending messages to yourself is now fully supported
- Change _verifyAddress function to support v4 addresses
* Sat Sep 28 2013 Bob Mottram (4096 bits) <bob@robotics.uk.to> - 0.4.0-1
- Raised default demanded difficulty from 1 to 2 for new addresses
- Added v4 addresses:
pubkeys are now encrypted and tagged in the inventory
- Use locks when accessing dictionary inventory
- Refactored the way inv and addr messages are shared
- Give user feedback when disk is full
- Added chan true/false to listAddresses results
- When replying using chan address, send to whole chan not just sender
- Refactored of the way PyBitmessage looks for interesting new objects
in large inv messages from peers
- Show inventory lookup rate on Network Status tab
- Added SqlBulkExecute class
so we can update inventory with only one commit
- Updated Russian translations
- Move duplicated SQL code into helper
- Allow specification of alternate settings dir
via BITMESSAGE_HOME environment variable
- Removed use of gevent. Removed class_bgWorker.py
- Added Sip and PyQt to includes in build_osx.py
- Show number of each message type processed
in the API command clientStatus
- Use fast PoW
unless we're explicitly a frozen (binary) version of the code
- Enable user-set localization in settings
- Fix Archlinux package creation
- Fallback to language only localization when region doesn't match
- Fixed brew install instructions
- Added German translation
- Made inbox and sent messages table panels read-only
- Allow inbox and sent preview panels to resize
- Count RE: as a reply header, just like Re: so we don't chain Re: RE:
- Fix for traceback on OSX
- Added backend ability to understand shorter addresses
- Convert 'API Error' to raise APIError()
- Added option in settings to allow sending to a mobile device
(app not yet done)
- Added ability to start daemon mode when using Bitmessage as a module
- Improved the way client detects locale
- Added API commands:
getInboxMessageIds, getSentMessageIds, listAddressBookEntries,
trashSentMessageByAckData, addAddressBookEntry,
deleteAddressBookEntry, listAddresses2, listSubscriptions
- Set a maximum frequency for playing sounds
- Show Invalid Method error in same format as other API errors
- Update status of separate broadcasts separately
even if the sent data is identical
- Added Namecoin integration
- Internally distinguish peers by IP and port
- Inbox message retrieval API
functions now also returns read status
* Mon Jul 29 2013 Bob Mottram (4096 bits) <bob@robotics.uk.to> - 0.3.5-1
- Inbox message retrieval API functions now also returns read status
- Added right-click option to mark a message as unread
- Prompt user to connect at first startup
- Install into /usr/local by default
- Add a missing rm -f to the uninstall task.
- Use system text color for enabled addresses instead of black
- Added support for Chans
- Start storing msgid in sent table
- Optionally play sounds on connection/disconnection or when messages arrive
- Adding configuration option to listen for connections when using SOCKS
- Added packaging for multiple distros (Arch, Puppy, Slack, etc.)
- Added Russian translation
- Added search support in the UI
- Added 'make uninstall'
- To improve OSX support, use PKCS5_PBKDF2_HMAC_SHA1
if PKCS5_PBKDF2_HMAC is unavailable
- Added better warnings for OSX users who are using old versions of Python
- Repaired debian packaging
- Altered Makefile to avoid needing to chase changes
- Added logger module
- Added bgWorker class for background tasks
- Added use of gevent module
- On not-Windows: Fix insecure keyfile permissions
- Fix 100% CPU usage issue
* 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
* Mon 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.
* Mon 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