chiark / gitweb /
Some more kivy wip
authorCiaran Gultnieks <ciaran@ciarang.com>
Tue, 26 Nov 2013 22:02:33 +0000 (22:02 +0000)
committerCiaran Gultnieks <ciaran@ciarang.com>
Tue, 26 Nov 2013 22:02:33 +0000 (22:02 +0000)
buildserver/cookbooks/kivy/recipes/default.rb
config.sample.py
fdroidserver/build.py
fdroidserver/common.py
fdroidserver/update.py

index d4cadc8bcaddf2adf640acfbb45dd51930eaea20..916c5bce1917680a5321ffc9a39fa8ad6f831bcb 100644 (file)
@@ -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
   "
index 6de1fcca8c23235cb2833b45607a9a346a907d68..712167b3b0dffc9fcbdfc11d9371746c867e3585 100644 (file)
@@ -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"
index 6650106c77d559d9ec5b053472d7b6e461d8ebb9..5ab4488d4d642b82de6b88a4f08ed6950902da30 100644 (file)
@@ -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..."
index 6c8b65c66b94539daa09425dce7c1498cb3bfea6..8a2875e025334c730bce87d55f4b7f87ec5c850e 100644 (file)
@@ -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
index 86f103b1e7c40cfea4f123a12421a0d6094c8642..84321a243c1f85cbbdd4b9e31e341b0b9f95938c 100644 (file)
@@ -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)