diff --git a/README.md b/README.md index 7d0a18a710913d605fadf02607d945b7a290cffa..cb9ad1b83ccb772cc2e3baa1a14228b08c3e6159 100644 --- a/README.md +++ b/README.md @@ -55,6 +55,8 @@ the Python framework can be created with PyInstaller. '/usr/lib/libsqlite3.dylib' '@loader_path/libsqlite3.dylib' _sqlite3.so` +4. Make an archive (zip, or gzipped tar) with `python bundle.py <platform>`. + ## Copyright and license Copyright (C) 2015 GRNET S.A. diff --git a/bundle.py b/bundle.py new file mode 100644 index 0000000000000000000000000000000000000000..de9938212e88b36beef56e8ad71dea7309bad503 --- /dev/null +++ b/bundle.py @@ -0,0 +1,61 @@ +# Copyright (C) 2015 GRNET S.A. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. +# + +import os +import sys +import shutil +import agkyra + +DISTPATH = 'dist' + +OS_OPTIONS = [ + "win64", + "osx64", + "linux64", + "win32", + "osx32", + "linux32", +] + + +def main(): + os.chdir(os.path.dirname(os.path.realpath(__file__))) + + if len(sys.argv) < 2 or sys.argv[1] not in OS_OPTIONS: + print "Select one of: %s" % " ".join(OS_OPTIONS) + exit(1) + + osarg = sys.argv[1] + version = agkyra.__version__ + + os.chdir(DISTPATH) + filename = 'agkyra-%s-%s' % (version, osarg) + if osarg.startswith("linux"): + arch_type = 'gztar' + base_dir = 'agkyra' + elif osarg.startswith('osx'): + arch_type = 'zip' + base_dir = 'agkyra.app' + elif osarg.startswith('win'): + arch_type = 'zip' + base_dir = 'agkyra' + + arch_name = shutil.make_archive( + filename, arch_type, root_dir='.', base_dir=base_dir) + print "Wrote %s" % os.path.join(DISTPATH, arch_name) + +if __name__ == "__main__": + main()