summaryrefslogtreecommitdiff
path: root/bundler
diff options
context:
space:
mode:
authorleap <leap@leap32>2013-11-22 12:09:23 -0500
committerTomás Touceda <chiiph@leap.se>2013-11-27 10:59:17 -0300
commitb29a76bf334238e6200b29208c627c71090860da (patch)
tree30789ae04ae6a6b98c745d7522050ea63df3cde7 /bundler
parent33e5c8a339e2ac0300256d81271c05e556fb3083 (diff)
Fixes for linuxfeature/linux_bundle
Diffstat (limited to 'bundler')
-rw-r--r--bundler/actions.py44
-rw-r--r--bundler/depcollector.py8
-rw-r--r--bundler/main.py5
3 files changed, 39 insertions, 18 deletions
diff --git a/bundler/actions.py b/bundler/actions.py
index 6b977d4..15d5f10 100644
--- a/bundler/actions.py
+++ b/bundler/actions.py
@@ -7,11 +7,15 @@ from contextlib import contextmanager
from distutils import file_util, dir_util
from sh import git, cd, python, mkdir, make, cp, glob, pip, rm
-from sh import find, SetFile, hdiutil, ln
+from sh import find, ln, tar, mv
from utils import IS_MAC
+
+if IS_MAC:
+ from sh import SetFile, hdiutil
+ from darwin_dyliber import fix_all_dylibs
+
from depcollector import collect_deps
-from darwin_dyliber import fix_all_dylibs
class Action(object):
__metaclass__ = ABCMeta
@@ -213,11 +217,11 @@ class CopyBinaries(Action):
def run(self, binaries_path):
print "Copying binaries..."
dest_lib_dir = platform_dir(self._basedir, "lib")
- cp(glob(os.path.join(binaries_path, "Qt*")), dest_lib_dir)
- cp(glob(os.path.join(binaries_path, "*.dylib")), dest_lib_dir)
- cp(glob(os.path.join(binaries_path, "Python")), dest_lib_dir)
if IS_MAC:
+ cp(glob(os.path.join(binaries_path, "Qt*")), dest_lib_dir)
+ cp(glob(os.path.join(binaries_path, "*.dylib")), dest_lib_dir)
+ cp(glob(os.path.join(binaries_path, "Python")), dest_lib_dir)
resources_dir = os.path.join(self._basedir,
"Bitmask",
"Bitmask.app",
@@ -232,16 +236,18 @@ class CopyBinaries(Action):
cp("-r", os.path.join(binaries_path, "qt_menu.nib"), resources_dir)
cp("-r", os.path.join(binaries_path, "tuntap-installer.app"), resources_dir)
+ cp(os.path.join(binaries_path, "Bitmask"), platform_dir(self._basedir))
else:
+ cp(glob(os.path.join(binaries_path, "*.so*")), dest_lib_dir)
+
eip_dir = platform_dir(self._basedir, "apps", "eip")
- cp(glob(os.path.join(binaries_path, "openvpn.leap*")), eip_dir)
+ cp(os.path.join(binaries_path, "openvpn"), eip_dir)
- mkdir(os.path.join(resources_dir, "openvpn"))
cp("-r", glob(os.path.join(binaries_path, "openvpn.files", "*")), os.path.join(eip_dir, "files"))
+ cp(os.path.join(binaries_path, "bitmask"), platform_dir(self._basedir))
mail_dir = platform_dir(self._basedir, "apps", "mail")
cp(os.path.join(binaries_path, "gpg"), mail_dir)
- cp(os.path.join(binaries_path, "Bitmask"), platform_dir(self._basedir))
print "Done"
class PLister(Action):
@@ -373,9 +379,9 @@ class CopyMisc(Action):
"leap_pycommon",
"src", "leap", "common", "cacert.pem"),
os.path.join(lib_dir, "leap", "common"))
- cp(os.path.join(self._basedir,
- "bitmask_client", "build",
- "lib", "leap", "bitmask", "_version.py"),
+ cp(glob(os.path.join(self._basedir,
+ "bitmask_client", "build",
+ "lib*", "leap", "bitmask", "_version.py")),
os.path.join(apps_dir, "leap", "bitmask"))
cp(os.path.join(self._basedir,
@@ -432,6 +438,22 @@ class DmgIt(Action):
dmg_path)
rm("-f", raw_dmg_path)
+class TarballIt(Action):
+ def __init__(self, basedir, skip, do):
+ Action.__init__(self, "tarballit", basedir, skip, do)
+
+ @skippable
+ def run(self):
+ cd(self._basedir)
+ version = "unknown"
+ with push_pop("bitmask_client"):
+ version = git("describe").strip()
+ import platform
+ bits = platform.architecture()[0][:2]
+ bundle_name = "Bitmask-linux%s-%s" % (bits, version)
+ mv("Bitmask", bundle_name)
+ tar("cjf", bundle_name+".tar.bz2", bundle_name)
+
class PycRemover(Action):
def __init__(self, basedir, skip, do):
Action.__init__(self, "removepyc", basedir, skip, do)
diff --git a/bundler/depcollector.py b/bundler/depcollector.py
index de765a0..2f9864a 100644
--- a/bundler/depcollector.py
+++ b/bundler/depcollector.py
@@ -84,6 +84,8 @@ def collect_deps(root, dest_lib_dir, path_file):
# if i.identifier == "distutils":
# i.filename = distutils.__file__
print i.identifier, i.filename
+ if i.identifier == "leap.bitmask":
+ continue
parts = i.identifier.split(".")
destdir = os.path.join(*([dest_lib_dir]+parts))
mkdir_p(destdir)
@@ -104,9 +106,3 @@ def collect_deps(root, dest_lib_dir, path_file):
# i.filename = site.__file__
print i.identifier, i.filename
file_util.copy_file(i.filename, dest_lib_dir)
-
- # TODO: remove everything in dest_lib_dir/PySide that is not QtCore, QtGui and __init__
-
- # ON OSX ONLY:
- # TODO: remove dest_lib_dir/sre* and PYTHONHOME from the launcher script
- # remove dest_lib_dir/_socket.so
diff --git a/bundler/main.py b/bundler/main.py
index 2c1207e..4768c31 100644
--- a/bundler/main.py
+++ b/bundler/main.py
@@ -13,7 +13,7 @@ from distutils import dir_util
from actions import GitCloneAll, PythonSetupAll, CreateDirStructure
from actions import CollectAllDeps, CopyBinaries, PLister, SeededConfig
from actions import DarwinLauncher, CopyAssets, CopyMisc, FixDylibs
-from actions import DmgIt, PycRemover
+from actions import DmgIt, PycRemover, TarballIt
from utils import IS_MAC
@@ -109,6 +109,9 @@ def main():
if IS_MAC:
dm = init(DmgIt)
dm.run()
+ else:
+ ti = init(TarballIt)
+ ti.run()
# do manifest on windows