From 53781f913b6beae4b08a8278299b1e55e4517026 Mon Sep 17 00:00:00 2001 From: Ciaran Gultnieks Date: Tue, 26 Nov 2013 22:02:33 +0000 Subject: [PATCH] Some more kivy wip --- buildserver/cookbooks/kivy/recipes/default.rb | 5 +++-- config.sample.py | 7 +++++++ fdroidserver/build.py | 10 ++++++++-- fdroidserver/common.py | 3 ++- fdroidserver/update.py | 4 ++++ 5 files changed, 24 insertions(+), 5 deletions(-) diff --git a/buildserver/cookbooks/kivy/recipes/default.rb b/buildserver/cookbooks/kivy/recipes/default.rb index d4cadc8b..916c5bce 100644 --- a/buildserver/cookbooks/kivy/recipes/default.rb +++ b/buildserver/cookbooks/kivy/recipes/default.rb @@ -1,7 +1,7 @@ user = node[:settings][:user] -%w{cython python-pygame python-opengl python-gst0.10 python-enchant libgl1-mesa-dev libgles2-mesa-dev}.each do |pkg| +%w{cython python-pygame python-pip python-opengl python-gst0.10 python-enchant libgl1-mesa-dev libgles2-mesa-dev}.each do |pkg| package pkg do action :install end @@ -13,7 +13,7 @@ script "install-kivy" do code " tar xf /vagrant/cache/Kivy-1.7.2.tar.gz cd Kivy-1.7.2 - sudo python setup.py install + python setup.py install cd .. rm -rf Kivy* " @@ -25,6 +25,7 @@ script "install-p4a" do interpreter "bash" code " git clone git://github.com/kivy/python-for-android + chown -R vagrant:vagrant python-for-android cd python-for-android git checkout ca369d774e2 " diff --git a/config.sample.py b/config.sample.py index 6de1fcca..712167b3 100644 --- a/config.sample.py +++ b/config.sample.py @@ -30,6 +30,13 @@ gradle_plugin = "0.6.+" # This corresponds to 72x72 pixels, i.e. mdpi icon_max_size = 72 +# Set the maximum age (in days) of an index that a client should accept from +# this repo. Setting it to 0 or not setting it at all disables this +# functionality. If you do set this to a non-zero value, you need to ensure +# that your index is updated much more frequently than the specified interval. +# The same policy is applied to the archive repo, if there is one. +repo_maxage = 0 + repo_url = "https://f-droid.org/repo" repo_name = "F-Droid" repo_icon = "fdroid-icon.png" diff --git a/fdroidserver/build.py b/fdroidserver/build.py index 6650106c..5ab4488d 100644 --- a/fdroidserver/build.py +++ b/fdroidserver/build.py @@ -539,13 +539,19 @@ def build_local(app, thisbuild, vcs, build_dir, output_dir, srclib_dir, extlib_d bconfig = ConfigParser(defaults, allow_no_value=True) bconfig.read(spec) + distdir = 'python-for-android/dist/fdroid' + if os.path.exists(distdir): + shutil.rmtree(distdir) + + modules = bconfig.get('app', 'requirements').split(',') cmd = 'ANDROIDSDK=' + config['sdk_path'] cmd += ' ANDROIDNDK=' + config['ndk_path'] cmd += ' ANDROIDNDKVER=r9' cmd += ' ANDROIDAPI=' + str(bconfig.get('app', 'android.api')) cmd += ' ./distribute.sh' - cmd += ' -m ' + bconfig.get('app', 'requirements') + cmd += ' -m ' + "'" + ' '.join(modules) + "'" + cmd += ' -d fdroid' if subprocess.call(cmd, cwd='python-for-android', shell=True) != 0: raise BuildException("Distribute build failed") @@ -577,7 +583,7 @@ def build_local(app, thisbuild, vcs, build_dir, output_dir, srclib_dir, extlib_d cmd.extend(['--icon', os.path.join(root_dir, icon)]) cmd.append('release') - p = FDroidPopen(cmd, cwd='python-for-android/dist/default') + p = FDroidPopen(cmd, cwd=distdir) elif thisbuild.get('gradle', 'no') != 'no': print "Building Gradle project..." diff --git a/fdroidserver/common.py b/fdroidserver/common.py index 6c8b65c6..8a2875e0 100644 --- a/fdroidserver/common.py +++ b/fdroidserver/common.py @@ -61,7 +61,8 @@ def read_config(opts, config_file='config.py'): 'update_stats': False, 'archive_older': 0, 'max_icon_size': 72, - 'stats_to_carbon': False + 'stats_to_carbon': False, + 'repo_maxage': 0 } if options.verbose: print "Reading %s..." % config_file diff --git a/fdroidserver/update.py b/fdroidserver/update.py index 86f103b1..84321a24 100644 --- a/fdroidserver/update.py +++ b/fdroidserver/update.py @@ -467,11 +467,15 @@ def make_index(apps, apks, repodir, archive, categories): repoel = doc.createElement("repo") if archive: repoel.setAttribute("name", config['archive_name']) + if config['repo_maxage'] != 0: + repoel.setAttribute("maxage", str(config['repo_maxage'])) repoel.setAttribute("icon", os.path.basename(config['archive_icon'])) repoel.setAttribute("url", config['archive_url']) addElement('description', config['archive_description'], doc, repoel) else: repoel.setAttribute("name", config['repo_name']) + if config['repo_maxage'] != 0: + repoel.setAttribute("maxage", str(config['repo_maxage'])) repoel.setAttribute("icon", os.path.basename(config['repo_icon'])) repoel.setAttribute("url", config['repo_url']) addElement('description', config['repo_description'], doc, repoel) -- 2.30.2