summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.rst22
-rw-r--r--changes/bug-3821_inconsistent-hide-show-mainwindow1
-rw-r--r--docs/release_checklist.wiki2
-rwxr-xr-xsetup.py61
-rw-r--r--src/leap/bitmask/__init__.py2
-rw-r--r--src/leap/bitmask/gui/mainwindow.py4
6 files changed, 62 insertions, 30 deletions
diff --git a/README.rst b/README.rst
index c6d37390..a4272c40 100644
--- a/README.rst
+++ b/README.rst
@@ -34,8 +34,8 @@ Bitmask depends on these libraries:
Python packages are listed in ``pkg/requirements.pip`` and ``pkg/test-requirements.pip``
-Debian
-^^^^^^
+Getting dependencies under debian
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
With a Debian based system, to be able to run Bitmask you need to run the following command::
@@ -47,7 +47,7 @@ Installing
After getting the source and installing all the dependencies, proceed to install ``bitmask`` package::
$ make
- $ sudo LEAP_VENV_SKIP_PYSIDE=1 python setup.py install
+ $ sudo python2 setup.py install
Running
-------
@@ -60,7 +60,7 @@ If you are testing a new provider and do not have a CA certificate chain tied to
$ bitmask --danger
-But **DO NOT use it on a regular bases**.
+But **DO NOT use it on a regular basis**.
**WARNING**: If you use the --danger flag you may be victim to a MITM_ attack without noticing. Use at your own risk.
@@ -69,9 +69,13 @@ But **DO NOT use it on a regular bases**.
Hacking
=======
-The Bitmask git repository is available at::
+Get the source from the main Bitmask repo::
- git://leap.se/bitmask_client
+ git clone https://leap.se/git/bitmask_client
+
+The code is also browsable online at::
+
+ https://leap.se/git/?p=bitmask_client.git
Some steps need to be run when setting a development environment for the first time.
@@ -90,14 +94,14 @@ Symlink your global pyside libraries::
And make your working tree available to your pythonpath::
- (bitmask)$ python setup.py develop
+ (bitmask)$ python2 setup.py develop
Run Bitmask::
- (bitmask)$ python src/leap/app.py -d
+ (bitmask)$ bitmask --debug
-If you are testing a new provider that doesn't have the proper certificates yet, you can use --danger flag, but **DO NOT use it on a regular bases**.
+If you are testing a new provider that doesn't have the proper certificates yet, you can use --danger flag, but **DO NOT use it on a regular basis**.
**WARNING**: If you use the --danger flag you may be victim to a MITM_ attack without noticing. Use at your own risk.
diff --git a/changes/bug-3821_inconsistent-hide-show-mainwindow b/changes/bug-3821_inconsistent-hide-show-mainwindow
new file mode 100644
index 00000000..3fb05a85
--- /dev/null
+++ b/changes/bug-3821_inconsistent-hide-show-mainwindow
@@ -0,0 +1 @@
+ o Inconsistent hide/show main window from tray action. Closes #3821.
diff --git a/docs/release_checklist.wiki b/docs/release_checklist.wiki
index b12a42a4..19a19289 100644
--- a/docs/release_checklist.wiki
+++ b/docs/release_checklist.wiki
@@ -17,10 +17,10 @@
- Helper bash line: for i in $(ls changes); do cat changes/$i; echo; done
* [ ] Update relnotes.txt if needed.
* [ ] git rm changes/*
- * [ ] git commit -av
* [ ] Review pkg/requirements.pip for everything and update if needed (that's why the order).
- See whatever has been introduced in changes/VERSION_COMPAT
- Reset changes/VERSION_COMPAT
+ * [ ] git commit -av # we should add a commit message here...
* [ ] git checkout master && git pull origin master && git merge --no-ff release-X.Y.Z && git push origin master
* [ ] git tag -s X.Y.Z -m "Tag <package> version X.Y.Z" # (note the -s so that it's a signed tag and -m to specify the message for the tag)
* [ ] git push origin X.Y.Z
diff --git a/setup.py b/setup.py
index 88cb0e40..78c5b0fb 100755
--- a/setup.py
+++ b/setup.py
@@ -18,10 +18,10 @@
"""
Setup file for bitmask.
"""
-
from __future__ import print_function
import sys
+import re
if not sys.version_info[0] == 2:
print("[ERROR] Sorry, Python 3 is not supported (yet). "
@@ -65,10 +65,13 @@ trove_classifiers = [
"Programming Language :: Python",
"Programming Language :: Python :: 2.6",
"Programming Language :: Python :: 2.7",
- "Topic :: Communications",
"Topic :: Security",
- "Topic :: System :: Networking",
- "Topic :: Utilities"
+ 'Topic :: Security :: Cryptography',
+ "Topic :: Communications",
+ 'Topic :: Communications :: Email',
+ 'Topic :: Communications :: Email :: Post-Office :: IMAP',
+ 'Topic :: Internet',
+ "Topic :: Utilities",
]
@@ -139,7 +142,7 @@ data_files = []
if IS_LINUX:
# XXX use check_for_permissions to install data
- # globally. See #3805
+ # globally. Or make specific install command. See #3805
data_files = [
("share/polkit-1/actions",
["pkg/linux/polkit/net.openvpn.gui.leap.policy"]),
@@ -147,23 +150,42 @@ if IS_LINUX:
["pkg/linux/resolv-update"]),
]
+DOWNLOAD_BASE = ('https://github.com/leapcode/bitmask_client/'
+ 'archive/%s.tar.gz')
+VERSION = versioneer.get_version()
+DOWNLOAD_URL = ""
+
+# get the short version for the download url
+short_ver = re.findall('\d+\.\d+\.\d+', VERSION)
+if len(short_ver) > 0:
+ DOWNLOAD_URL = DOWNLOAD_BASE % short_ver[0]
+
+
setup(
name="leap.bitmask",
package_dir={"": "src"},
- version=versioneer.get_version(),
+ version=VERSION,
cmdclass=cmdclass,
- description="The Internet Encryption Toolkit",
+ description=("The Internet Encryption Toolkit: "
+ "Encrypted Internet Proxy and Encrypted Mail."),
+ # XXX unify the long_description on a file of its own, so we
+ # can reuse it easily.
long_description=(
- "Desktop Client for the LEAP Platform."
+ "Bitmask is the multiplatform desktop client for the LEAP Platform."
"\n"
- "LEAP (LEAP Encryption Access Project) develops "
- "a multi-year plan to secure everyday communication, breaking down"
- "into discrete services, to be rolled out one at a time.\n"
- "The client for the current phase gives support to the EIP Service."
- "EIP (the Encrypted Internet Proxy) provides circumvention, location "
- "anonymization, and traffic "
- "encryption in a hassle-free, automatically self-configuring fashion, "
- "and has an enhanced level of security."
+ "The LEAP Encryption Access Project develops "
+ "a multi-year plan to secure everyday communication.\n "
+ "The Encrypted Internet Proxy (EIP) provides circumvention, location "
+ "anonymization, and traffic encryption in a hassle-free, "
+ "automatically self-configuring fashion.\n"
+ "Encrypted Mail offers automatic encryption and decryption for "
+ "both outgoing and incoming email, adding public key cryptography "
+ "to your mail without you ever having to worry about key distribution "
+ "or signature verification. \n"
+ "The Encrypted Mail services will run local SMTP and IMAP proxies "
+ "that, once you configure the mail client of your choice, will "
+ "automatically encrypt and decrypt your email using GPG encryption "
+ "under the hood."
),
classifiers=trove_classifiers,
install_requires=parsed_reqs,
@@ -171,10 +193,13 @@ setup(
tests_require=utils.parse_requirements(
reqfiles=['pkg/requirements-testing.pip']),
keywords=('Bitmask, LEAP, client, qt, encryption, '
- 'proxy, openvpn, imap, smtp'),
+ 'proxy, openvpn, imap, smtp, gnupg'),
author='The LEAP Encryption Access Project',
author_email='info@leap.se',
- url='https://leap.se',
+ maintainer='Kali Kaneko',
+ maintainer_email='kali@leap.se',
+ url='https://bitmask.rtfd.org',
+ download_url=DOWNLOAD_URL,
license='GPL-3+',
packages=find_packages(
'src',
diff --git a/src/leap/bitmask/__init__.py b/src/leap/bitmask/__init__.py
index ebdd53c4..a4642e27 100644
--- a/src/leap/bitmask/__init__.py
+++ b/src/leap/bitmask/__init__.py
@@ -71,5 +71,5 @@ except ImportError:
#the setup.py setver
pass
-__short_version__ = first(re.findall('\d\.\d\.\d', __version__))
+__short_version__ = first(re.findall('\d+\.\d+\.\d+', __version__))
__full_version__ = __appname__ + '/' + str(__version__)
diff --git a/src/leap/bitmask/gui/mainwindow.py b/src/leap/bitmask/gui/mainwindow.py
index c0983b67..89069151 100644
--- a/src/leap/bitmask/gui/mainwindow.py
+++ b/src/leap/bitmask/gui/mainwindow.py
@@ -696,7 +696,9 @@ class MainWindow(QtGui.QMainWindow):
qApp.setQuitOnLastWindowClosed(False)
self.hide()
- self._update_hideshow_menu()
+ # Wait a bit until the window visibility has changed so
+ # the menu is set with the correct value.
+ QtCore.QTimer.singleShot(500, self._update_hideshow_menu)
def _center_window(self):
"""