From 246d43d8e6b4c1f12b537f6218ded63917415df6 Mon Sep 17 00:00:00 2001 From: Freddy Martinez Date: Sun, 31 Aug 2014 20:43:14 -0500 Subject: [PATCH 1/3] Updated dependencies required by commit 8666fb77d36e3de3f1827fba20e5c24573862391 --- BUILD.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BUILD.md b/BUILD.md index 140c4882..602a7609 100644 --- a/BUILD.md +++ b/BUILD.md @@ -14,7 +14,7 @@ cd onionshare Note that python-stem appears in Debian wheezy and newer (so by extension Tails 1.1 and newer), and it appears in Ubuntu 13.10 and newer. Older versions of Debian and Ubuntu aren't supported. ```sh -sudo apt-get install -y build-essential fakeroot python-all python-stdeb python-flask python-stem python-qt4 +sudo apt-get install -y build-essential fakeroot python-all python-stdeb python-flask python-central python-socksipy python-stem python-qt4 ./build_deb.sh sudo dpkg -i deb_dist/onionshare_*.deb ``` From 41671e58dfb1ebebf5e0fabd361ad35d72fdc73d Mon Sep 17 00:00:00 2001 From: Freddy Martinez Date: Thu, 28 May 2015 04:52:27 -0500 Subject: [PATCH 2/3] fix for #188 --- build_deb.sh | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/build_deb.sh b/build_deb.sh index 5461283d..995ee009 100755 --- a/build_deb.sh +++ b/build_deb.sh @@ -1,14 +1,21 @@ -#!/bin/sh +#!/bin/bash + +DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && cd .. && pwd )" +cd $DIR VERSION=`cat version` # clean up from last build -rm -r deb_dist +rm -r deb_dist >/dev/null 2>&1 # build binary package python setup.py --command-packages=stdeb.command bdist_deb -# install it -echo "" -echo "To install, run:" -echo "sudo dpkg -i deb_dist/onionshare_$VERSION-1_all.deb" +# return install instructions if onionshare builds properly +if [$? -eq 0] then + echo "" + echo "To install, run:" + echo "sudo dpkg -i deb_dist/onionshare_$VERSION-1_all.deb" +else + echo "OnionShare failed to build!" +fi From c6160664c788895d7c9e19662c4be9fe7247a973 Mon Sep 17 00:00:00 2001 From: Freddy Martinez Date: Thu, 28 May 2015 04:58:50 -0500 Subject: [PATCH 3/3] build.md was out of sync --- BUILD.md | 52 +++++++++++++++++++++++++++++----------------------- 1 file changed, 29 insertions(+), 23 deletions(-) diff --git a/BUILD.md b/BUILD.md index 602a7609..27f74a3a 100644 --- a/BUILD.md +++ b/BUILD.md @@ -14,8 +14,8 @@ cd onionshare Note that python-stem appears in Debian wheezy and newer (so by extension Tails 1.1 and newer), and it appears in Ubuntu 13.10 and newer. Older versions of Debian and Ubuntu aren't supported. ```sh -sudo apt-get install -y build-essential fakeroot python-all python-stdeb python-flask python-central python-socksipy python-stem python-qt4 -./build_deb.sh +sudo apt-get install -y build-essential fakeroot python-all python-stdeb python-flask python-stem python-qt4 dh-python +./install/build_deb.sh sudo dpkg -i deb_dist/onionshare_*.deb ``` @@ -23,53 +23,51 @@ sudo dpkg -i deb_dist/onionshare_*.deb ```sh sudo yum install -y rpm-build python-flask python-stem pyqt4 -./build_rpm.sh +./install/build_rpm.sh sudo yum install -y dist/onionshare-*.rpm ``` ## Mac OS X +Install the [latest python 2.x](https://www.python.org/downloads/) from python.org. If you use the built-in version of python that comes with OS X, your .app might not run on other people's computers. + To install the right dependencies, you need homebrew and pip installed on your Mac. Follow instructions at http://brew.sh/ to install homebrew, and run `sudo easy_install pip` to install pip. The first time you're setting up your dev environment: ```sh -git clone https://github.com/micahflee/onionshare.git -cd onionshare echo export PYTHONPATH=\$PYTHONPATH:/usr/local/lib/python2.7/site-packages/ >> ~/.profile source ~/.profile brew install qt4 pyqt -sudo pip install virtualenv -virtualenv env -. env/bin/activate -pip install flask stem pyinstaller +sudo pip install py2app flask stem ``` -Each time you start work: +Get the source code: ```sh -. env/bin/activate +git clone https://github.com/micahflee/onionshare.git +cd onionshare ``` To build the .app: ```sh -pyinstaller -w -y setup/onionshare-osx.spec +install/build_osx.sh ``` Now you should have `dist/OnionShare.app`. -To build a .dmg (this script builds the .app for you): +To codesign and build a .pkg for distribution: ```sh -./build_dmg.sh +install/build_osx.sh --sign ``` -Now you should have `dist/OnionShare.dmg`. +Now you should have `dist/OnionShare.pkg`. ## Windows -The first time you're setting up your dev environment: +### Setting up your dev environment * Download and install the latest python 2.7 from https://www.python.org/downloads/ -- make sure you install the 32-bit version. * Right click on Computer, go to Properties. Click "Advanced system settings". Click Environment Variables. Under "System variables" double-click on Path to edit it. Add `;C:\Python27;C:\Python27\Scripts` to the end. Now you can just type `python` to run python scripts in the command prompt. @@ -80,20 +78,28 @@ The first time you're setting up your dev environment: * Go to http://sourceforge.net/projects/pywin32/ and download and install the latest 32-bit pywin32 binary for python 2.7. I downloaded `pywin32-219.win32-py2.7.exe`. * Download and install the [Microsoft Visual C++ 2008 Redistributable Package (x86)](http://www.microsoft.com/en-us/download/details.aspx?id=29). -To make a .exe: - -* Open a command prompt, cd into the onionshare directory, and type: `pyinstaller -y setup\onionshare-win.spec`. Inside the `dist` folder there will be a folder called `onionshare` with `onionshare.exe` in it. - If you want to build the installer: * Go to http://nsis.sourceforge.net/Download and download the latest NSIS. I downloaded `nsis-3.0b0-setup.exe`. * Right click on Computer, go to Properties. Click "Advanced system settings". Click Environment Variables. Under "System variables" double-click on Path to edit it. Add `;C:\Program Files (x86)\NSIS` to the end. Now you can just type `makensisw [script]` to build an installer. -To build the installer: +If you want to sign binaries with Authenticode: -* Open a command prompt, cd to the onionshare directory, and type: +* Go to http://msdn.microsoft.com/en-us/vstudio/aa496123 and install the latest .NET Framework. I installed `.NET Framework 4.5.1`. +* Go to http://www.microsoft.com/en-us/download/confirmation.aspx?id=8279 and install the Windows SDK. +* Right click on Computer, go to Properties. Click "Advanced system settings". Click Environment Variables. Under "System variables" double-click on Path to edit it. Add `;C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin` to the end. +* You'll also, of course, need a code signing certificate. I roughly followed [this guide](http://blog.assarbad.net/20110513/startssl-code-signing-certificate/) to make one using my StartSSL account. +* Once you get a code signing key and certificate and covert it to a pfx file, import it into your certificate store. -`build_exe.bat` +### To make a .exe: + +* Open a command prompt, cd into the onionshare directory, and type: `pyinstaller -y install\onionshare-win.spec`. Inside the `dist` folder there will be a folder called `onionshare` with `onionshare.exe` in it. + +### To build the installer: + +Note that you must have a code signing certificate installed in order to use the `install\build_exe.bat` script, because it tries code signing both `onionshare.exe` and `OnionShare_Setup.exe`. + +Open a command prompt, cd to the onionshare directory, and type: `install\build_exe.bat` A NSIS window will pop up, and once it's done you will have `dist\OnionShare_Setup.exe`.