diff --git a/.gitignore b/.gitignore index c8ac9607..8863e72d 100644 --- a/.gitignore +++ b/.gitignore @@ -2,7 +2,9 @@ config.py repo/ logs/ built/ -build/ +tmp/ build_*/ *~ *.pyc +buildserver.box +unsigned/ diff --git a/README b/README index e3824d51..140b6a0d 100644 --- a/README +++ b/README @@ -186,6 +186,8 @@ configuration to the build. These are: last character on a line to join that line with the next. It has no special meaning in other contexts; in particular, literal backslashes should not be escaped. + init=xxxx As for 'prebuild', but runs on the source code BEFORE any + other processing takes place. novcheck=yes Don't check that the version name and code in the resulting apk are correct by looking at the build output - assume the metadata is correct. This takes away a useful level of @@ -204,6 +206,16 @@ configuration to the build. These are: files within a directory below the metadata, with the same name as the metadata file but without the extension. Each of these patches is applied to the code in turn. + extlibs=a;b;c Specifies a list of external libraries (jar files) from the + build/extlib library, which will be placed in the libs + directory of the project. Separate items with semicolons. + srclibs=a@r;b@r1 Specifies a list of source libraries (kept up to date using + version control) from a predefined set. Separate items with + semicolons, and each item is of the form name@rev where name + is the predefined source library name and rev is the + revision in source control to use. You can then also use + $$name$$ in the prebuild command to substitute the relative + path to the library directory. Another example, using extra parameters: diff --git a/README.buildserver b/README.buildserver new file mode 100644 index 00000000..a28bab97 --- /dev/null +++ b/README.buildserver @@ -0,0 +1,17 @@ + +Setting up a build server: + +1. Install VirtualBox, vagrant and vagrant-snap +2. In the buildserver directory, run 'vagrant up'. Will take a long time. +3. Log in with 'vagrant ssh' +4. Check it all looks ok, then 'sudo shutdown -h now' +5. Back in the main directory, run 'VBoxManage listvms' look for + buildserver_xxxx +6. Run 'vagrant package --base buildserver_xxxx --output buildserver.box'. + Will take a while. +7. You should now have a new 'buildserver.box' + +You should now be able to use the --server option on build.py and builds will +take place in the clean, secure, isolated environment of a fresh virtual +machine for each app built. + diff --git a/build.py b/build.py index 0fcdcd67..5356aac6 100755 --- a/build.py +++ b/build.py @@ -24,8 +24,7 @@ import subprocess import re import zipfile import tarfile -import md5 -import shlex +import traceback from xml.dom.minidom import Document from optparse import OptionParser @@ -44,8 +43,20 @@ parser.add_option("-p", "--package", default=None, help="Build only the specified package") parser.add_option("-s", "--stop", action="store_true", default=False, help="Make the build stop on exceptions") +parser.add_option("-t", "--test", action="store_true", default=False, + help="Test mode - put output in the tmp directory only.") +parser.add_option("--server", action="store_true", default=False, + help="Use build server") +parser.add_option("--on-server", action="store_true", default=False, + help="Specify that we're running on the build server") +parser.add_option("-f", "--force", action="store_true", default=False, + help="Force build of disabled app. Only allowed in test mode.") (options, args) = parser.parse_args() +if options.force and not options.test: + print "Force is only allowed in test mode" + sys.exit(1) + # Get all apps... apps = common.read_metadata(options.verbose) @@ -57,32 +68,40 @@ if not os.path.isdir(log_dir): print "Creating log directory" os.makedirs(log_dir) -output_dir = 'repo' -if not os.path.isdir(output_dir): - print "Creating output directory" - os.makedirs(output_dir) - tmp_dir = 'tmp' if not os.path.isdir(tmp_dir): print "Creating temporary directory" os.makedirs(tmp_dir) +if options.test: + output_dir = tmp_dir +else: + output_dir = 'unsigned' + if not os.path.isdir(output_dir): + print "Creating output directory" + os.makedirs(output_dir) + +repo_dir = 'repo' + build_dir = 'build' if not os.path.isdir(build_dir): print "Creating build directory" os.makedirs(build_dir) +extlib_dir = os.path.join(build_dir, 'extlib') +# Build applications... for app in apps: if options.package and options.package != app['id']: # Silent skip... pass - elif app['Disabled']: - print "Skipping %s: disabled" % app['id'] + elif app['Disabled'] and not options.force: + if options.verbose: + print "Skipping %s: disabled" % app['id'] elif (not app['builds']) or app['Repo Type'] =='' or len(app['builds']) == 0: - print "Skipping %s: no builds specified" % app['id'] + if options.verbose: + print "Skipping %s: no builds specified" % app['id'] else: - print "Processing " + app['id'] build_dir = 'build/' + app['id'] @@ -96,180 +115,217 @@ for app in apps: try: dest = os.path.join(output_dir, app['id'] + '_' + thisbuild['vercode'] + '.apk') - dest_unsigned = os.path.join(tmp_dir, app['id'] + '_' + - thisbuild['vercode'] + '_unsigned.apk') + dest_repo = os.path.join(repo_dir, app['id'] + '_' + + thisbuild['vercode'] + '.apk') - if os.path.exists(dest): - print "..version " + thisbuild['version'] + " already exists" + if os.path.exists(dest) or (not options.test and os.path.exists(dest_repo)): + if options.verbose: + print "..version " + thisbuild['version'] + " already exists" elif thisbuild['commit'].startswith('!'): - print ("..skipping version " + thisbuild['version'] + " - " + + if options.verbose: + print ("..skipping version " + thisbuild['version'] + " - " + thisbuild['commit'][1:]) else: - print "..building version " + thisbuild['version'] + if options.verbose: + mstart = '.. building version ' + else: + mstart = 'Building version ' + print mstart + thisbuild['version'] + ' of ' + app['id'] - # Prepare the source code... - root_dir = common.prepare_source(vcs, app, thisbuild, - build_dir, sdk_path, ndk_path, javacc_path, - not refreshed_source) - refreshed_source = True + if options.server: - # Build the source tarball right before we build the release... - tarname = app['id'] + '_' + thisbuild['vercode'] + '_src' - tarball = tarfile.open(os.path.join(output_dir, - tarname + '.tar.gz'), "w:gz") - def tarexc(f): - if f in ['.svn', '.git', '.hg', '.bzr']: - return True - return False - tarball.add(build_dir, tarname, exclude=tarexc) - tarball.close() + import paramiko - # Build native stuff if required... - if thisbuild.get('buildjni', 'no') == 'yes': - ndkbuild = os.path.join(ndk_path, "ndk-build") - p = subprocess.Popen([ndkbuild], cwd=root_dir, - stdout=subprocess.PIPE) - output = p.communicate()[0] + # Start up the virtual maachine... + if subprocess.call(['vagrant', 'up'], cwd='builder') != 0: + # Not a very helpful message yet! + raise BuildException("Failed to set up build server") + # Get SSH configuration settings for us to connect... + subprocess.call('vagrant ssh-config >sshconfig', + cwd='builder', shell=True) + vagranthost = 'default' # Host in ssh config file + + # Load and parse the SSH config... + sshconfig = paramiko.SSHConfig() + sshconfig.parse('builder/sshconfig') + sshconfig = sshconfig.lookup(vagranthost) + + # Open SSH connection... + ssh = paramiko.SSHClient() + ssh.set_missing_host_key_policy(paramiko.AcceptPolicy) + ssh.connect(sshconfig['HostName'], username=sshconfig['Username'], + port=sshconfig['Port'], timeout=10, look_for_keys=False, + key_filename=sshconfig['IdentityFile']) + + # Get an SFTP connection... + ftp = ssh.open_sftp() + ftp.get_channel().settimeout(15) + + # Put all the necessary files in place... + ftp.chdir('/home/vagrant') + ftp.put('build.py', 'build.py') + ftp.put('common.py', 'common.py') + ftp.put('config.buildserver.py', 'config.py') + ftp.mkdir('build') + ftp.chdir('build') + ftp.mkdir('extlib') + def send_dir(path): + lastdir = path + for r, d, f in os.walk(base): + while lastdir != os.path.commonprefix([lastdir, root]): + ftp.chdir('..') + lastdir = os.path.split(lastdir)[0] + lastdir = r + for ff in f: + ftp.put(os.path.join(r, ff), ff) + ftp.send_dir(app['id']) + # TODO: send relevant extlib directories too + ftp.chdir('/home/vagrant') + + # Execute the build script... + ssh.exec_command('python build.py --on-server -p ' + + app['id']) + + # Retrieve the built files... + apkfile = app['id'] + '_' + thisbuild['vercode'] + '.apk' + tarball = app['id'] + '_' + thisbuild['vercode'] + '_src' + '.tar.gz' + ftp.chdir('unsigned') + ftp.get(apkfile, os.path.join(output_dir, apkfile)) + ftp.get(tarball, os.path.join(output_dir, tarball)) + + # Get rid of the virtual machine... + if subprocess.call(['vagrant', 'destroy'], cwd='builder') != 0: + # Not a very helpful message yet! + raise BuildException("Failed to destroy") + + else: + + # Prepare the source code... + root_dir = common.prepare_source(vcs, app, thisbuild, + build_dir, extlib_dir, sdk_path, ndk_path, + javacc_path, not refreshed_source) + refreshed_source = True + + # Scan before building... + buildprobs = common.scan_source(build_dir, root_dir, thisbuild) + if len(buildprobs) > 0: + print 'Scanner found ' + str(len(buildprobs)) + ' problems:' + for problem in buildprobs: + print '...' + problem + raise BuildException("Can't build due to " + + str(len(buildprobs)) + " scanned problems") + + # Build the source tarball right before we build the release... + tarname = app['id'] + '_' + thisbuild['vercode'] + '_src' + tarball = tarfile.open(os.path.join(tmp_dir, + tarname + '.tar.gz'), "w:gz") + def tarexc(f): + if f in ['.svn', '.git', '.hg', '.bzr']: + return True + return False + tarball.add(build_dir, tarname, exclude=tarexc) + tarball.close() + + # Build native stuff if required... + if thisbuild.get('buildjni', 'no') == 'yes': + ndkbuild = os.path.join(ndk_path, "ndk-build") + p = subprocess.Popen([ndkbuild], cwd=root_dir, + stdout=subprocess.PIPE) + output = p.communicate()[0] + if p.returncode != 0: + print output + raise BuildException("NDK build failed for %s:%s" % (app['id'], thisbuild['version'])) + elif options.verbose: + print output + + # Build the release... + if thisbuild.has_key('maven'): + p = subprocess.Popen(['mvn', 'clean', 'install', + '-Dandroid.sdk.path=' + sdk_path], + cwd=root_dir, stdout=subprocess.PIPE, stderr=subprocess.PIPE) + else: + if thisbuild.has_key('antcommand'): + antcommand = thisbuild['antcommand'] + else: + antcommand = 'release' + p = subprocess.Popen(['ant', antcommand], cwd=root_dir, + stdout=subprocess.PIPE, stderr=subprocess.PIPE) + output, error = p.communicate() if p.returncode != 0: - print output - raise BuildException("NDK build failed for %s:%s" % (app['id'], thisbuild['version'])) + raise BuildException("Build failed for %s:%s" % (app['id'], thisbuild['version']), output.strip(), error.strip()) elif options.verbose: print output + print "Build successful" - # Build the release... - if thisbuild.has_key('maven'): - p = subprocess.Popen(['mvn', 'clean', 'install', - '-Dandroid.sdk.path=' + sdk_path], - cwd=root_dir, stdout=subprocess.PIPE, stderr=subprocess.PIPE) - else: - if thisbuild.has_key('antcommand'): - antcommand = thisbuild['antcommand'] + # Find the apk name in the output... + if thisbuild.has_key('bindir'): + bindir = os.path.join(build_dir, thisbuild['bindir']) else: - antcommand = 'release' - p = subprocess.Popen(['ant', antcommand], cwd=root_dir, - stdout=subprocess.PIPE, stderr=subprocess.PIPE) - output, error = p.communicate() - if p.returncode != 0: - raise BuildException("Build failed for %s:%s" % (app['id'], thisbuild['version']), output.strip(), error.strip()) - elif options.verbose: - print output - print "Build successful" - - # Find the apk name in the output... - if thisbuild.has_key('bindir'): - bindir = os.path.join(build_dir, thisbuild['bindir']) - else: - bindir = os.path.join(root_dir, 'bin') - if thisbuild.get('initfun', 'no') == "yes": - # Special case (again!) for funambol... - src = ("funambol-android-sync-client-" + - thisbuild['version'] + "-unsigned.apk") - src = os.path.join(bindir, src) - elif thisbuild.has_key('maven'): - src = re.match(r".*^\[INFO\] Installing /.*/([^/]*)\.apk", - output, re.S|re.M).group(1) - src = os.path.join(bindir, src) + '.apk' + bindir = os.path.join(root_dir, 'bin') + if thisbuild.get('initfun', 'no') == "yes": + # Special case (again!) for funambol... + src = ("funambol-android-sync-client-" + + thisbuild['version'] + "-unsigned.apk") + src = os.path.join(bindir, src) + elif thisbuild.has_key('maven'): + src = re.match(r".*^\[INFO\] Installing /.*/([^/]*)\.apk", + output, re.S|re.M).group(1) + src = os.path.join(bindir, src) + '.apk' #[INFO] Installing /home/ciaran/fdroidserver/tmp/mainline/application/target/callerid-1.0-SNAPSHOT.apk - else: - src = re.match(r".*^.*Creating (\S+) for release.*$.*", output, - re.S|re.M).group(1) - src = os.path.join(bindir, src) + else: + src = re.match(r".*^.*Creating (\S+) for release.*$.*", output, + re.S|re.M).group(1) + src = os.path.join(bindir, src) - # By way of a sanity check, make sure the version and version - # code in our new apk match what we expect... - print "Checking " + src - p = subprocess.Popen([os.path.join(sdk_path, 'platform-tools', - 'aapt'), - 'dump', 'badging', src], - stdout=subprocess.PIPE) - output = p.communicate()[0] - if thisbuild.get('novcheck', 'no') == "yes": - vercode = thisbuild['vercode'] - version = thisbuild['version'] - else: - vercode = None - version = None - for line in output.splitlines(): - if line.startswith("package:"): - pat = re.compile(".*versionCode='([0-9]*)'.*") - vercode = re.match(pat, line).group(1) - pat = re.compile(".*versionName='([^']*)'.*") - version = re.match(pat, line).group(1) - if version == None or vercode == None: - raise BuildException("Could not find version information in build in output") - - # Some apps (e.g. Timeriffic) have had the bonkers idea of - # including the entire changelog in the version number. Remove - # it so we can compare. (TODO: might be better to remove it - # before we compile, in fact) - index = version.find(" //") - if index != -1: - version = version[:index] - - if (version != thisbuild['version'] or - vercode != thisbuild['vercode']): - raise BuildException(("Unexpected version/version code in output" - "APK: %s / %s" - "Expected: %s / %s") - % (version, str(vercode), thisbuild['version'], str(thisbuild['vercode'])) - ) - - # Copy the unsigned apk to our temp directory for further - # processing... - shutil.copyfile(src, dest_unsigned) - - # Figure out the key alias name we'll use. Only the first 8 - # characters are significant, so we'll use the first 8 from - # the MD5 of the app's ID and hope there are no collisions. - # If a collision does occur later, we're going to have to - # come up with a new alogrithm, AND rename all existing keys - # in the keystore! - if keyaliases.has_key(app['id']): - # For this particular app, the key alias is overridden... - keyalias = keyaliases[app['id']] - else: - m = md5.new() - m.update(app['id']) - keyalias = m.hexdigest()[:8] - print "Key alias: " + keyalias - - # See if we already have a key for this application, and - # if not generate one... - p = subprocess.Popen(['keytool', '-list', - '-alias', keyalias, '-keystore', keystore, - '-storepass', keystorepass], stdout=subprocess.PIPE) - output = p.communicate()[0] - if p.returncode !=0: - print "Key does not exist - generating..." - p = subprocess.Popen(['keytool', '-genkey', - '-keystore', keystore, '-alias', keyalias, - '-keyalg', 'RSA', '-keysize', '2048', - '-validity', '10000', - '-storepass', keystorepass, '-keypass', keypass, - '-dname', keydname], stdout=subprocess.PIPE) + # By way of a sanity check, make sure the version and version + # code in our new apk match what we expect... + print "Checking " + src + p = subprocess.Popen([os.path.join(sdk_path, 'platform-tools', + 'aapt'), + 'dump', 'badging', src], + stdout=subprocess.PIPE) output = p.communicate()[0] - print output - if p.returncode != 0: - raise BuildException("Failed to generate key") + if thisbuild.get('novcheck', 'no') == "yes": + vercode = thisbuild['vercode'] + version = thisbuild['version'] + else: + vercode = None + version = None + for line in output.splitlines(): + if line.startswith("package:"): + pat = re.compile(".*versionCode='([0-9]*)'.*") + vercode = re.match(pat, line).group(1) + pat = re.compile(".*versionName='([^']*)'.*") + version = re.match(pat, line).group(1) + if version == None or vercode == None: + raise BuildException("Could not find version information in build in output") - # Sign the application... - p = subprocess.Popen(['jarsigner', '-keystore', keystore, - '-storepass', keystorepass, '-keypass', keypass, - dest_unsigned, keyalias], stdout=subprocess.PIPE) - output = p.communicate()[0] - print output - if p.returncode != 0: - raise BuildException("Failed to sign application") + # Some apps (e.g. Timeriffic) have had the bonkers idea of + # including the entire changelog in the version number. Remove + # it so we can compare. (TODO: might be better to remove it + # before we compile, in fact) + index = version.find(" //") + if index != -1: + version = version[:index] + + if (version != thisbuild['version'] or + vercode != thisbuild['vercode']): + raise BuildException(("Unexpected version/version code in output" + "APK: %s / %s" + "Expected: %s / %s") + % (version, str(vercode), thisbuild['version'], str(thisbuild['vercode'])) + ) + + # Copy the unsigned apk to our destination directory for further + # processing (by publish.py)... + shutil.copyfile(src, dest) + + # Move the source tarball into the output directory... + if output_dir != tmp_dir: + tarfilename = tarname + '.tar.gz' + shutil.move(os.path.join(tmp_dir, tarfilename), + os.path.join(output_dir, tarfilename)) - # Zipalign it... - p = subprocess.Popen([os.path.join(sdk_path,'tools','zipalign'), - '-v', '4', dest_unsigned, dest], - stdout=subprocess.PIPE) - output = p.communicate()[0] - print output - if p.returncode != 0: - raise BuildException("Failed to align application") - os.remove(dest_unsigned) build_succeeded.append(app) except BuildException as be: if options.stop: @@ -287,7 +343,7 @@ for app in apps: except Exception as e: if options.stop: raise - print "Could not build app %s due to unknown error: %s" % (app['id'], e) + print "Could not build app %s due to unknown error: %s" % (app['id'], traceback.format_exc()) failed_apps[app['id']] = e for app in build_succeeded: diff --git a/build/.gitignore b/build/.gitignore new file mode 100644 index 00000000..90b3dc52 --- /dev/null +++ b/build/.gitignore @@ -0,0 +1,2 @@ +*/ +!extlib/ diff --git a/build/extlib/.gitignore b/build/extlib/.gitignore new file mode 100644 index 00000000..0eedae0e --- /dev/null +++ b/build/extlib/.gitignore @@ -0,0 +1,6 @@ +!*/ +GreenDroid/ +ActionBarSherlock/ +FacebookSDK/ +OI/ +JOpenDocument/ diff --git a/build/extlib/HtmlSpanner/htmlspanner-0.1-SNAPSHOT.jar b/build/extlib/HtmlSpanner/htmlspanner-0.1-SNAPSHOT.jar new file mode 100644 index 00000000..790956e7 Binary files /dev/null and b/build/extlib/HtmlSpanner/htmlspanner-0.1-SNAPSHOT.jar differ diff --git a/build/extlib/HtmlSpanner/source.txt b/build/extlib/HtmlSpanner/source.txt new file mode 100644 index 00000000..5be1cec8 --- /dev/null +++ b/build/extlib/HtmlSpanner/source.txt @@ -0,0 +1 @@ +https://github.com/NightWhistler/HtmlSpanner.git diff --git a/build/extlib/acra/acra-4.2.3.jar b/build/extlib/acra/acra-4.2.3.jar new file mode 100644 index 00000000..c6b57a9d Binary files /dev/null and b/build/extlib/acra/acra-4.2.3.jar differ diff --git a/build/extlib/commons-io/LICENSE.txt b/build/extlib/commons-io/LICENSE.txt new file mode 100644 index 00000000..43e91eb0 --- /dev/null +++ b/build/extlib/commons-io/LICENSE.txt @@ -0,0 +1,203 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + diff --git a/build/extlib/commons-io/commons-io-2.0.1.jar b/build/extlib/commons-io/commons-io-2.0.1.jar new file mode 100644 index 00000000..5b64b7d6 Binary files /dev/null and b/build/extlib/commons-io/commons-io-2.0.1.jar differ diff --git a/build/extlib/commons-io/origin.txt b/build/extlib/commons-io/origin.txt new file mode 100644 index 00000000..791a769b --- /dev/null +++ b/build/extlib/commons-io/origin.txt @@ -0,0 +1 @@ +http://archive.apache.org/dist/commons/io/binaries/commons-io-2.0.1-bin.zip diff --git a/build/extlib/epublib/epublib-core-3.0-SNAPSHOT.jar b/build/extlib/epublib/epublib-core-3.0-SNAPSHOT.jar new file mode 100644 index 00000000..945682b9 Binary files /dev/null and b/build/extlib/epublib/epublib-core-3.0-SNAPSHOT.jar differ diff --git a/build/extlib/epublib/source.txt b/build/extlib/epublib/source.txt new file mode 100644 index 00000000..58417932 --- /dev/null +++ b/build/extlib/epublib/source.txt @@ -0,0 +1 @@ +https://github.com/psiegman/epublib diff --git a/build/extlib/guava-r08/COPYING b/build/extlib/guava-r08/COPYING new file mode 100644 index 00000000..d6456956 --- /dev/null +++ b/build/extlib/guava-r08/COPYING @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/build/extlib/guava-r08/guava-r08.jar b/build/extlib/guava-r08/guava-r08.jar new file mode 100644 index 00000000..d18d0bda Binary files /dev/null and b/build/extlib/guava-r08/guava-r08.jar differ diff --git a/build/extlib/guava-r08/source.txt b/build/extlib/guava-r08/source.txt new file mode 100644 index 00000000..c1f45086 --- /dev/null +++ b/build/extlib/guava-r08/source.txt @@ -0,0 +1 @@ +http://guava-libraries.googlecode.com/files/guava-r08.zip diff --git a/build/extlib/guice/guice-2.0-no_aop.jar b/build/extlib/guice/guice-2.0-no_aop.jar new file mode 100644 index 00000000..613aa6d6 Binary files /dev/null and b/build/extlib/guice/guice-2.0-no_aop.jar differ diff --git a/build/extlib/guice/source.txt b/build/extlib/guice/source.txt new file mode 100644 index 00000000..c2a43c05 --- /dev/null +++ b/build/extlib/guice/source.txt @@ -0,0 +1 @@ +http://code.google.com/p/google-guice/ diff --git a/build/extlib/htmlcleaner/htmlcleaner-2.2.jar b/build/extlib/htmlcleaner/htmlcleaner-2.2.jar new file mode 100644 index 00000000..5322a852 Binary files /dev/null and b/build/extlib/htmlcleaner/htmlcleaner-2.2.jar differ diff --git a/build/extlib/roboguice/roboguice-1.1.jar b/build/extlib/roboguice/roboguice-1.1.jar new file mode 100644 index 00000000..0262f153 Binary files /dev/null and b/build/extlib/roboguice/roboguice-1.1.jar differ diff --git a/build/extlib/sl4j/slf4j-android-1.6.1-RC1.jar b/build/extlib/sl4j/slf4j-android-1.6.1-RC1.jar new file mode 100644 index 00000000..480348f0 Binary files /dev/null and b/build/extlib/sl4j/slf4j-android-1.6.1-RC1.jar differ diff --git a/builder/.gitignore b/builder/.gitignore new file mode 100644 index 00000000..7fc03613 --- /dev/null +++ b/builder/.gitignore @@ -0,0 +1 @@ +sshconfig diff --git a/builder/Vagrantfile b/builder/Vagrantfile new file mode 100644 index 00000000..865a496a --- /dev/null +++ b/builder/Vagrantfile @@ -0,0 +1,8 @@ +Vagrant::Config.run do |config| + + config.vm.box = "buildserver" + config.vm.box_url = "../buildserver.box" + + config.vm.customize ["modifyvm", :id, "--memory", "768"] + +end diff --git a/buildserver/.gitignore b/buildserver/.gitignore new file mode 100644 index 00000000..8000dd9d --- /dev/null +++ b/buildserver/.gitignore @@ -0,0 +1 @@ +.vagrant diff --git a/buildserver/Vagrantfile b/buildserver/Vagrantfile new file mode 100644 index 00000000..d4f8d533 --- /dev/null +++ b/buildserver/Vagrantfile @@ -0,0 +1,26 @@ +Vagrant::Config.run do |config| + + config.vm.box = "debian6-32" + config.vm.box_url = "/shares/software/OS and Boot/debian6-32.box" + + config.vm.customize ["modifyvm", :id, "--memory", "1024"] + + config.vm.provision :shell, :path => "fixpaths.sh" + # Set apt proxy - remove, or adjust this, accordingly! + config.vm.provision :shell, :inline => 'sudo echo "Acquire::http { Proxy \"http://thurlow:3142\"; };" > /etc/apt/apt.conf.d/02proxy && sudo apt-get update' + + config.vm.provision :chef_solo do |chef| + chef.cookbooks_path = "cookbooks" + chef.log_level = :debug + chef.json = { + :settings => { + :sdk_loc => "/home/vagrant/android-sdk", + :ndk_loc => "/home/vagrant/android-ndk", + :user => "vagrant" + } + } + chef.add_recipe "android-sdk" + chef.add_recipe "android-ndk" + chef.add_recipe "fdroidbuild-general" + end +end diff --git a/buildserver/cookbooks/android-ndk/recipes/default.rb b/buildserver/cookbooks/android-ndk/recipes/default.rb new file mode 100644 index 00000000..80e06346 --- /dev/null +++ b/buildserver/cookbooks/android-ndk/recipes/default.rb @@ -0,0 +1,17 @@ + +ndk_loc = node[:settings][:ndk_loc] + +script "setup-android-ndk" do + interpreter "bash" + user node[:settings][:user] + cwd "/tmp" + code " + wget http://dl.google.com/android/ndk/android-ndk-r7-linux-x86.tar.bz2 + tar jxvf android-ndk-r7-linux-x86.tar.bz2 + mv android-ndk-r7 #{ndk_loc} + " + not_if do + File.exists?("#{ndk_loc}") + end +end + diff --git a/buildserver/cookbooks/android-sdk/recipes/default.rb b/buildserver/cookbooks/android-sdk/recipes/default.rb new file mode 100644 index 00000000..91b5a084 --- /dev/null +++ b/buildserver/cookbooks/android-sdk/recipes/default.rb @@ -0,0 +1,34 @@ +%w{openjdk-6-jdk}.each do |pkg| + package pkg do + action :install + end +end + +sdk_loc = node[:settings][:sdk_loc] +user = node[:settings][:user] + +script "setup-android-sdk" do + interpreter "bash" + user user + cwd "/tmp" + code " + wget http://dl.google.com/android/android-sdk_r16-linux.tgz + tar zxvf android-sdk_r16-linux.tgz + mv android-sdk-linux #{sdk_loc} + rm android-sdk_r16-linux.tgz + #{sdk_loc}/tools/android update sdk --no-ui -t platform-tool + #{sdk_loc}/tools/android update sdk --no-ui -t platform + #{sdk_loc}/tools/android update sdk --no-ui -t tool,platform-tool + " + not_if do + File.exists?("#{sdk_loc}") + end +end + +execute "add-android-sdk-path" do + user user + path = "#{sdk_loc}/tools:#{sdk_loc}/platform-tools" + command "echo \"export PATH=\\$PATH:#{path}\" >> /home/#{user}/.bashrc" + not_if "grep #{sdk_loc} /home/#{user}/.bashrc" +end + diff --git a/buildserver/cookbooks/fdroidbuild-general/recipes/default.rb b/buildserver/cookbooks/fdroidbuild-general/recipes/default.rb new file mode 100644 index 00000000..81e4c949 --- /dev/null +++ b/buildserver/cookbooks/fdroidbuild-general/recipes/default.rb @@ -0,0 +1,7 @@ + +%w{ant ant-contrib maven2 javacc python}.each do |pkg| + package pkg do + action :install + end +end + diff --git a/buildserver/fixpaths.sh b/buildserver/fixpaths.sh new file mode 100644 index 00000000..eb8a81fb --- /dev/null +++ b/buildserver/fixpaths.sh @@ -0,0 +1,23 @@ +#!/bin/sh + +fixit() +{ + #Fix sudoers so the PATH gets passed through, otherwise chef + #provisioning doesn't work. + if [ -z "$1" ]; then + export EDITOR=$0 && sudo -E visudo + else + echo "Fix sudoers" + echo "Defaults exempt_group=admin" >> $1 + fi + #Stick the gems bin onto root's path as well. + sudo echo "PATH=$PATH:/var/lib/gems/1.8/bin" >>/root/.bashrc + # Restart sudo so it gets the changes straight away + sudo /etc/init.d/sudo restart +} + +sudo grep "exempt_group" /etc/sudoers -q +if [ "$?" -eq "1" ]; then + fixit +fi + diff --git a/checkupdates.py b/checkupdates.py index caa27c82..2c083044 100755 --- a/checkupdates.py +++ b/checkupdates.py @@ -1,7 +1,7 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- # -# checkmarket2.py - part of the FDroid server tools +# checkupdates.py - part of the FDroid server tools # Copyright (C) 2010-12, Ciaran Gultnieks, ciaran@ciarang.com # # This program is free software: you can redistribute it and/or modify @@ -35,9 +35,14 @@ execfile('config.py') # Returns (None, "a message") if this didn't work, or (version, vercode) for # the details of the current version. def check_market(app): - time.sleep(5) + time.sleep(10) url = 'http://market.android.com/details?id=' + app['id'] - page = urllib.urlopen(url).read() + req = urllib.urlopen(url) + if req.getcode() == 404: + return (None, 'Not in market') + elif req.getcode() != 200: + return (None, 'Return code ' + str(req.getcode())) + page = req.read() version = None vercode = None @@ -46,6 +51,9 @@ def check_market(app): if m: version = html_parser.unescape(m.group(1)) + if version == 'Varies with device': + return (None, 'Device-variable version, cannot use this method') + m = re.search('data-paramValue="(\d+)">
Latest Version<', page) if m: vercode = m.group(1) @@ -63,6 +71,8 @@ def check_market(app): parser = OptionParser() parser.add_option("-v", "--verbose", action="store_true", default=False, help="Spew out even more information than normal") +parser.add_option("-p", "--package", default=None, + help="Build only the specified package") (options, args) = parser.parse_args() # Get all apps... @@ -72,28 +82,32 @@ html_parser = HTMLParser.HTMLParser() for app in apps: - print "Processing " + app['id'] + '...' - - mode = app['Update Check Mode'] - if mode == 'Market': - (version, vercode) = check_market(app) - elif mode == 'None': - version = None - vercode = 'Checking disabled' + if options.package and options.package != app['id']: + # Silent skip... + pass else: - version = None - vercode = 'Invalid update check method' + print "Processing " + app['id'] + '...' - if not version: - print "..." + vercode - elif vercode == app['Market Version Code'] and version == app['Market Version']: - print "...up to date" - else: - print '...updating to version:' + version + ' vercode:' + vercode - app['Market Version'] = version - app['Market Version Code'] = vercode - metafile = os.path.join('metadata', app['id'] + '.txt') - common.write_metadata(metafile, app) + mode = app['Update Check Mode'] + if mode == 'Market': + (version, vercode) = check_market(app) + elif mode == 'None': + version = None + vercode = 'Checking disabled' + else: + version = None + vercode = 'Invalid update check method' + + if not version: + print "..." + vercode + elif vercode == app['Current Version Code'] and version == app['Current Version']: + print "...up to date" + else: + print '...updating to version:' + version + ' vercode:' + vercode + app['Current Version'] = version + app['Current Version Code'] = vercode + metafile = os.path.join('metadata', app['id'] + '.txt') + common.write_metadata(metafile, app) print "Finished." diff --git a/common.py b/common.py index d70ea6f9..b020df0a 100644 --- a/common.py +++ b/common.py @@ -30,9 +30,11 @@ def getvcs(vcstype, remote, local): elif vcstype == 'git-svn': return vcs_gitsvn(remote, local) elif vcstype == 'hg': - return vcs_hg(remote,local) + return vcs_hg(remote, local) elif vcstype == 'bzr': - return vcs_bzr(remote,local) + return vcs_bzr(remote, local) + elif vcstype == 'srclib': + return vcs_srclib(remote, local) raise VCSException("Invalid vcs type " + vcstype) class vcs: @@ -56,12 +58,15 @@ class vcs: self.remote = remote self.local = local self.refreshed = False + self.srclib = None # Take the local repository to a clean version of the given revision, which # is specificed in the VCS's native format. Beforehand, the repository can # be dirty, or even non-existent. If the repository does already exist # locally, it will be updated from the origin, but only once in the # lifetime of the vcs object. + # None is acceptable for 'rev' if you know you are cloning a clean copy of + # the repo - otherwise it must specify a valid revision. def gotorevision(self, rev): raise VCSException("This VCS type doesn't define gotorevision") @@ -69,6 +74,11 @@ class vcs: def initsubmodules(self): raise VCSException('Submodules not supported for this vcs type') + # Returns the srclib (name, path) used in setting up the current + # revision, or None. + def getsrclib(self): + return self.srclib + class vcs_git(vcs): # If the local directory exists, but is somehow not a git repository, git @@ -95,19 +105,23 @@ class vcs_git(vcs): raise VCSException("Git reset failed") # Remove untracked files now, in case they're tracked in the target # revision (it happens!)... - if subprocess.call(['git', 'clean', '-dfx'], cwd=self.local) != 0: + if subprocess.call(['git', 'clean', '-dffx'], cwd=self.local) != 0: raise VCSException("Git clean failed") if not self.refreshed: # Get latest commits and tags from remote... + if subprocess.call(['git', 'fetch', 'origin'], + cwd=self.local) != 0: + raise VCSException("Git fetch failed") if subprocess.call(['git', 'fetch', '--tags', 'origin'], cwd=self.local) != 0: raise VCSException("Git fetch failed") self.refreshed = True # Check out the appropriate revision... - if subprocess.call(['git', 'checkout', rev], cwd=self.local) != 0: - raise VCSException("Git checkout failed") + if rev: + if subprocess.call(['git', 'checkout', rev], cwd=self.local) != 0: + raise VCSException("Git checkout failed") # Get rid of any uncontrolled files left behind... - if subprocess.call(['git', 'clean', '-dfx'], cwd=self.local) != 0: + if subprocess.call(['git', 'clean', '-dffx'], cwd=self.local) != 0: raise VCSException("Git clean failed") def initsubmodules(self): @@ -146,7 +160,7 @@ class vcs_gitsvn(vcs): raise VCSException("Git reset failed") # Remove untracked files now, in case they're tracked in the target # revision (it happens!)... - if subprocess.call(['git', 'clean', '-dfx'], cwd=self.local) != 0: + if subprocess.call(['git', 'clean', '-dffx'], cwd=self.local) != 0: raise VCSException("Git clean failed") if not self.refreshed: # Get new commits and tags from repo... @@ -154,17 +168,18 @@ class vcs_gitsvn(vcs): cwd=self.local) != 0: raise VCSException("Git svn rebase failed") self.refreshed = True - # Figure out the git commit id corresponding to the svn revision... - p = subprocess.Popen(['git', 'svn', 'find-rev', 'r' + rev], - cwd=self.local, stdout=subprocess.PIPE) - rev = p.communicate()[0].rstrip() - if p.returncode != 0: - raise VCSException("Failed to get git treeish from svn rev") - # Check out the appropriate revision... - if subprocess.call(['git', 'checkout', rev], cwd=self.local) != 0: - raise VCSException("Git checkout failed") + if rev: + # Figure out the git commit id corresponding to the svn revision... + p = subprocess.Popen(['git', 'svn', 'find-rev', 'r' + rev], + cwd=self.local, stdout=subprocess.PIPE) + rev = p.communicate()[0].rstrip() + if p.returncode != 0: + raise VCSException("Failed to get git treeish from svn rev") + # Check out the appropriate revision... + if subprocess.call(['git', 'checkout', rev], cwd=self.local) != 0: + raise VCSException("Git checkout failed") # Get rid of any uncontrolled files left behind... - if subprocess.call(['git', 'clean', '-dfx'], cwd=self.local) != 0: + if subprocess.call(['git', 'clean', '-dffx'], cwd=self.local) != 0: raise VCSException("Git clean failed") class vcs_svn(vcs): @@ -193,10 +208,11 @@ class vcs_svn(vcs): self.userargs(), cwd=self.local) != 0: raise VCSException("Svn update failed") self.refreshed = True - revargs = ['-r', rev] - if subprocess.call(['svn', 'update', '--force'] + revargs + - self.userargs(), cwd=self.local) != 0: - raise VCSException("Svn update failed") + if rev: + revargs = ['-r', rev] + if subprocess.call(['svn', 'update', '--force'] + revargs + + self.userargs(), cwd=self.local) != 0: + raise VCSException("Svn update failed") class vcs_hg(vcs): @@ -214,10 +230,11 @@ class vcs_hg(vcs): cwd=self.local) != 0: raise VCSException("Hg pull failed") self.refreshed = True - revargs = [rev] - if subprocess.call(['hg', 'checkout', '-C'] + revargs, - cwd=self.local) != 0: - raise VCSException("Hg checkout failed") + if rev: + revargs = [rev] + if subprocess.call(['hg', 'checkout', '-C'] + revargs, + cwd=self.local) != 0: + raise VCSException("Hg checkout failed") class vcs_bzr(vcs): @@ -235,10 +252,33 @@ class vcs_bzr(vcs): cwd=self.local) != 0: raise VCSException("Bzr update failed") self.refreshed = True - revargs = ['-r', rev] - if subprocess.call(['bzr', 'revert'] + revargs, - cwd=self.local) != 0: - raise VCSException("Bzr revert failed") + if rev: + revargs = ['-r', rev] + if subprocess.call(['bzr', 'revert'] + revargs, + cwd=self.local) != 0: + raise VCSException("Bzr revert failed") + +class vcs_srclib(vcs): + + def gotorevision(self, rev): + + # Yuk... + extlib_dir = 'build/extlib' + + if os.path.exists(self.local): + shutil.rmtree(self.local) + + if self.remote.find(':') != -1: + srclib, path = self.remote.split(':') + else: + srclib = self.remote + path = None + libdir = getsrclib(srclib + '@' + rev, extlib_dir) + self.srclib = (srclib, libdir) + if path: + libdir = os.path.join(libdir, path) + shutil.copytree(libdir, self.local) + return self.local # Get the type expected for a given metadata field. @@ -257,7 +297,7 @@ def metafieldtype(name): # Parse metadata for a single application. # # 'metafile' - the filename to read. The package id for the application comes -# from this filename. +# from this filename. Pass None to get a blank entry. # # Returns a dictionary containing all the details of the application. There are # two major kinds of information in the dictionary. Keys beginning with capital @@ -302,12 +342,15 @@ def parse_metadata(metafile, **kw): thisinfo['comments'].append((key, comment)) del curcomments[:] - if not isinstance(metafile, file): - metafile = open(metafile, "r") thisinfo = {} - thisinfo['id'] = metafile.name[9:-4] - if kw.get("verbose", False): - print "Reading metadata for " + thisinfo['id'] + if metafile: + if not isinstance(metafile, file): + metafile = open(metafile, "r") + thisinfo['id'] = metafile.name[9:-4] + if kw.get("verbose", False): + print "Reading metadata for " + thisinfo['id'] + else: + thisinfo['id'] = None # Defaults for fields that come from metadata... thisinfo['Name'] = None @@ -322,8 +365,8 @@ def parse_metadata(metafile, **kw): thisinfo['Disabled'] = None thisinfo['AntiFeatures'] = None thisinfo['Update Check Mode'] = 'Market' - thisinfo['Market Version'] = '' - thisinfo['Market Version Code'] = '0' + thisinfo['Current Version'] = '' + thisinfo['Current Version Code'] = '0' thisinfo['Repo Type'] = '' thisinfo['Repo'] = '' thisinfo['Requires Root'] = False @@ -332,6 +375,9 @@ def parse_metadata(metafile, **kw): thisinfo['builds'] = [] thisinfo['comments'] = [] + if metafile is None: + return thisinfo + mode = 0 buildlines = [] curcomments = [] @@ -350,6 +396,11 @@ def parse_metadata(metafile, **kw): field = line[:index] value = line[index+1:] + # Translate obsolete fields... + if field == 'Market Version': + field = 'Current Version' + if field == 'Market Version Code': + field = 'Current Version Code' fieldtype = metafieldtype(field) if fieldtype != 'build': @@ -466,13 +517,22 @@ def write_metadata(dest, app): for build in app['builds']: writecomments('build:' + build['version']) mf.write('Build Version:') - mf.write('\\\n'.join(build['origlines']) + '\n') + if build.has_key('origlines'): + # Keeping the original formatting if we loaded it from a file... + mf.write('\\\n'.join(build['origlines']) + '\n') + else: + mf.write(build['version'] + ',' + build['vercode'] + ',' + + build['commit']) + for key,value in build.iteritems(): + if key not in ['version', 'vercode', 'commit']: + mf.write(',' + key + '=' + value) + mf.write('\n') if len(app['builds']) > 0: mf.write('\n') writefield('Update Check Mode') - if len(app['Market Version']) > 0: - writefield('Market Version') - writefield('Market Version Code') + if len(app['Current Version']) > 0: + writefield('Current Version') + writefield('Current Version Code') mf.write('\n') writecomments(None) mf.close() @@ -532,18 +592,75 @@ class MetaDataException(Exception): return repr(self.value) +# Get the specified source library. +# Returns the path to it. +# TODO: These are currently just hard-coded in this method. It will be a +# metadata-driven system eventually, but not yet. +def getsrclib(spec, extlib_dir): + name, ref = spec.split('@') + + if name == 'GreenDroid': + sdir = os.path.join(extlib_dir, 'GreenDroid') + vcs = getvcs('git', + 'https://github.com/cyrilmottier/GreenDroid.git', sdir) + vcs.gotorevision(ref) + return os.path.join(sdir, 'GreenDroid') + + if name == 'ActionBarSherlock': + sdir = os.path.join(extlib_dir, 'ActionBarSherlock') + vcs = getvcs('git', + 'https://github.com/JakeWharton/ActionBarSherlock.git', sdir) + vcs.gotorevision(ref) + libdir = os.path.join(sdir, 'library') + if subprocess.call(['android', 'update', 'project', '-p', + libdir]) != 0: + raise BuildException('Error updating ActionBarSherlock project') + return libdir + + if name == 'FacebookSDK': + sdir = os.path.join(extlib_dir, 'FacebookSDK') + vcs = getvcs('git', + 'git://github.com/facebook/facebook-android-sdk.git', sdir) + vcs.gotorevision(ref) + libdir = os.path.join(sdir, 'facebook') + if subprocess.call(['android', 'update', 'project', '-p', + libdir]) != 0: + raise BuildException('Error updating FacebookSDK project') + return libdir + + if name == 'OI': + sdir = os.path.join(extlib_dir, 'OI') + vcs = getvcs('git-svn', + 'http://openintents.googlecode.com/svn/trunk/', sdir) + vcs.gotorevision(ref) + return sdir + + if name == 'JOpenDocument': + sdir = os.path.join(extlib_dir, 'JOpenDocument') + vcs = getvcs('git', + 'https://github.com/andiwand/JOpenDocument.git', sdir) + vcs.gotorevision(ref) + shutil.rmtree(os.path.join(sdir, 'bin')) + return sdir + + raise BuildException('Unknown srclib ' + name) + + # Prepare the source code for a particular build # 'vcs' - the appropriate vcs object for the application # 'app' - the application details from the metadata # 'build' - the build details from the metadata -# 'build_dir' - the path to the build directory +# 'build_dir' - the path to the build directory, usually +# 'build/app.id' +# 'extlib_dir' - the path to the external libraries directory, usually +# 'build/extlib' # 'sdk_path' - the path to the Android SDK # 'ndk_path' - the path to the Android NDK # 'javacc_path' - the path to javacc # 'refresh' - True to refresh from the remote repo # Returns the root directory, which may be the same as 'build_dir' or may # be a subdirectory of it. -def prepare_source(vcs, app, build, build_dir, sdk_path, ndk_path, javacc_path, refresh): +def prepare_source(vcs, app, build, build_dir, extlib_dir, sdk_path, ndk_path, javacc_path, refresh): # Optionally, the actual app source can be in a subdirectory... if build.has_key('subdir'): @@ -564,6 +681,12 @@ def prepare_source(vcs, app, build, build_dir, sdk_path, ndk_path, javacc_path, if build.get('submodules', 'no') == 'yes': vcs.initsubmodules() + # Run an init command if one is required... + if build.has_key('init'): + init = build['init'] + if subprocess.call(init, cwd=root_dir, shell=True) != 0: + raise BuildException("Error running init command") + # Generate (or update) the ant build file, build.xml... if (build.get('update', 'yes') == 'yes' and not build.has_key('maven')): @@ -579,6 +702,7 @@ def prepare_source(vcs, app, build, build_dir, sdk_path, ndk_path, javacc_path, # the original behaviour... buildxml = os.path.join(root_dir, 'build.xml') if os.path.exists(buildxml): + print 'Force-removing old build.xml' os.remove(buildxml) if subprocess.call(parms, cwd=root_dir) != 0: raise BuildException("Failed to update project") @@ -680,10 +804,35 @@ def prepare_source(vcs, app, build, build_dir, sdk_path, ndk_path, javacc_path, f.writelines(outlines) f.close() + # Add required external libraries... + if build.has_key('extlibs'): + libsdir = os.path.join(root_dir, 'libs') + if not os.path.exists(libsdir): + os.mkdir(libsdir) + for lib in build['extlibs'].split(';'): + libf = os.path.basename(lib) + shutil.copyfile(os.path.join(extlib_dir, lib), + os.path.join(libsdir, libf)) + + # Get required source libraries... + srclibpaths = [] + if build.has_key('srclibs'): + for lib in build['srclibs'].split(';'): + name, _ = lib.split('@') + srclibpaths.append((name, getsrclib(lib, extlib_dir))) + basesrclib = vcs.getsrclib() + # If one was used for the main source, add that too. + if basesrclib: + srclibpaths.append(basesrclib) + # Run a pre-build command if one is required... if build.has_key('prebuild'): - if subprocess.call(build['prebuild'], - cwd=root_dir, shell=True) != 0: + prebuild = build['prebuild'] + # Substitute source library paths into prebuild commands... + for name, libpath in srclibpaths: + libpath = os.path.relpath(libpath, root_dir) + prebuild = prebuild.replace('$$' + name + '$$', libpath) + if subprocess.call(prebuild, cwd=root_dir, shell=True) != 0: raise BuildException("Error running pre-build command") # Apply patches if any @@ -778,6 +927,45 @@ def prepare_source(vcs, app, build, build_dir, sdk_path, ndk_path, javacc_path, return root_dir +# Scan the source code in the given directory (and all subdirectories) +# and return a list of potential problems. +def scan_source(build_dir, root_dir, thisbuild): + + problems = [] + + # Scan for common known non-free blobs: + usual_suspects = ['flurryagent', + 'paypal_mpl', + 'libgoogleanalytics', + 'admob-sdk-android', + 'googleadview', + 'googleadmobadssdk'] + for r,d,f in os.walk(build_dir): + for curfile in f: + for suspect in usual_suspects: + if curfile.lower().find(suspect) != -1: + msg = 'Found probable non-free blob ' + os.path.join(r, curfile) + problems.append(msg) + + # Presence of a jni directory without buildjni=yes might + # indicate a problem... + if (os.path.exists(os.path.join(root_dir, 'jni')) and + thisbuild.get('buildjni', 'no') != 'yes'): + msg = 'Found jni directory, but buildjni is not enabled' + problems.append(msg) + + # Presence of these is not a problem as such, but they + # shouldn't be there and mess up our source tarballs... + if os.path.exists(os.path.join(root_dir, 'bin')): + msg = "There shouldn't be a bin directory" + problems.append(msg) + if os.path.exists(os.path.join(root_dir, 'gen')): + msg = "There shouldn't be a gen directory" + problems.append(msg) + + return problems + + class KnownApks: def __init__(self): @@ -832,5 +1020,6 @@ class KnownApks: lst = [] for app, added in sortedapps: lst.append(app) + lst.reverse() return lst diff --git a/config.buildserver.py b/config.buildserver.py new file mode 100644 index 00000000..44e5eaac --- /dev/null +++ b/config.buildserver.py @@ -0,0 +1,4 @@ +aapt_path = "/home/vagrant/android-sdk/platform-tools/aapt" +sdk_path = "/home/vagrant/android-sdk" +ndk_path = "/home/vagrant/android-ndk" +javacc_path = "/usr/share/java" diff --git a/config.sample.py b/config.sample.py index e6615dab..bdfc022d 100644 --- a/config.sample.py +++ b/config.sample.py @@ -39,9 +39,4 @@ keydname = "CN=Birdman, OU=Cell, O=Alcatraz, L=Alcatraz, S=California, C=US" keyaliases = {} keyaliases['com.example.app'] = 'example' -#For the market checker, which is used only to determine a 'current' version -#that the developer recommends, for those apps that are there. -market_user = "" -market_password = "" -market_deviceid = "" diff --git a/import.py b/import.py new file mode 100755 index 00000000..e29fbc3a --- /dev/null +++ b/import.py @@ -0,0 +1,243 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# +# import.py - part of the FDroid server tools +# Copyright (C) 2010-12, Ciaran Gultnieks, ciaran@ciarang.com +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero 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 Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . + +import sys +import os +import shutil +import subprocess +import re +import urllib +from optparse import OptionParser + +#Read configuration... +repo_name = None +repo_description = None +repo_icon = None +repo_url = None +execfile('config.py') + +import common + +# Parse command line... +parser = OptionParser() +parser.add_option("-u", "--url", default=None, + help="Project URL to import from.") +parser.add_option("-s", "--subdir", default=None, + help="Path to main android project subdirectory, if not in root.") +(options, args) = parser.parse_args() + +if not options.url: + print "Specify project url." + sys.exit(1) +url = options.url + +tmp_dir = 'tmp' +if not os.path.isdir(tmp_dir): + print "Creating temporary directory" + os.makedirs(tmp_dir) + +# Get all apps... +apps = common.read_metadata() + +# Figure out what kind of project it is... +projecttype = None +issuetracker = None +license = None +if url.startswith('https://github.com'): + projecttype = 'github' + repo = url + '.git' + repotype = 'git' + sourcecode = url +elif url.startswith('http://code.google.com/p/'): + if not url.endswith('/'): + print "Expected format for googlecode url is http://code.google.com/p/PROJECT/" + sys.exit(1) + projecttype = 'googlecode' + sourcecode = url + 'source/checkout' + issuetracker = url + 'issues/list' + + # Figure out the repo type and adddress... + req = urllib.urlopen(sourcecode) + if req.getcode() != 200: + print 'Unable to find source at ' + sourcecode + ' - return code ' + str(req.getcode()) + sys.exit(1) + page = req.read() + repotype = None + index = page.find('hg clone') + if index != -1: + repotype = 'hg' + repo = page[index + 9:] + index = repo.find('<') + if index == -1: + print "Error while getting repo address" + sys.exit(1) + repo = repo[:index] + if not repotype: + index=page.find('git clone') + if index != -1: + repotype = 'git' + repo = page[index + 10:] + index = repo.find('<') + if index == -1: + print "Error while getting repo address" + sys.exit(1) + repo = repo[:index] + if not repotype: + index=page.find('svn checkout') + if index != -1: + repotype = 'git-svn' + repo = page[index + 13:] + prefix = 'http' + if not repo.startswith(prefix): + print "Unexpected checkout instructions format" + sys.exit(1) + repo = 'http' + repo[len(prefix):] + index = repo.find('<') + if index == -1: + print "Error while getting repo address - no end tag? '" + repo + "'" + sys.exit(1) + repo = repo[:index] + index = repo.find(' ') + if index == -1: + print "Error while getting repo address - no space? '" + repo + "'" + sys.exit(1) + repo = repo[:index] + if not repotype: + print "Unable to determine vcs type" + sys.exit(1) + + # Figure out the license... + req = urllib.urlopen(url) + if req.getcode() != 200: + print 'Unable to find project page at ' + sourcecode + ' - return code ' + str(req.getcode()) + sys.exit(1) + page = req.read() + index = page.find('Code license') + if index == -1: + print "Couldn't find license data" + sys.exit(1) + ltext = page[index:] + lprefix = 'rel="nofollow">' + index = ltext.find(lprefix) + if index == -1: + print "Couldn't find license text" + sys.exit(1) + ltext = ltext[index + len(lprefix):] + index = ltext.find('<') + if index == -1: + print "License text not formatted as expected" + sys.exit(1) + ltext = ltext[:index] + if ltext == 'GNU GPL v3': + license = 'GPLv3' + elif ltext == 'GNU GPL v2': + license = 'GPLv2' + elif ltext == 'Apache License 2.0': + license = 'Apache2' + else: + print "License " + ltext + " is not recognised" + sys.exit(1) + +if not projecttype: + print "Unable to determine the project type." + sys.exit(1) + +# Get a copy of the source so we can extract some info... +print 'Getting source from ' + repotype + ' repo at ' + repo +src_dir = os.path.join(tmp_dir, 'importer') +if os.path.exists(tmp_dir): + shutil.rmtree(tmp_dir) +vcs = common.getvcs(repotype, repo, src_dir) +vcs.gotorevision(None) +if options.subdir: + root_dir = os.path.join(src_dir, options.subdir) +else: + root_dir = src_dir + +# Check AndroidManiifest.xml exists... +manifest = os.path.join(root_dir, 'AndroidManifest.xml') +if not os.path.exists(manifest): + print "AndroidManifest.xml did not exist in the expected location. Specify --subdir?" + sys.exit(1) + +# Extract some information... +vcsearch = re.compile(r'.*android:versionCode="([^"]+)".*').search +vnsearch = re.compile(r'.*android:versionName="([^"]+)".*').search +psearch = re.compile(r'.*package="([^"]+)".*').search +version = None +vercode = None +package = None +for line in file(manifest): + if not package: + matches = psearch(line) + if matches: + package = matches.group(1) + if not version: + matches = vnsearch(line) + if matches: + version = matches.group(1) + if not vercode: + matches = vcsearch(line) + if matches: + vercode = matches.group(1) +if not package: + print "Couldn't find package ID" + sys.exit(1) +if not version: + print "Couldn't find latest version name" + sys.exit(1) +if not vercode: + print "Couldn't find latest version code" + sys.exit(1) + +# Make sure it's actually new... +for app in apps: + if app['id'] == package: + print "Package " + package + " already exists" + sys.exit(1) + +# Construct the metadata... +app = common.parse_metadata(None) +app['id'] = package +app['Web Site'] = url +app['Source Code'] = sourcecode +if issuetracker: + app['Issue Tracker'] = issuetracker +if license: + app['License'] = license +app['Repo Type'] = repotype +app['Repo'] = repo + +# Create a build line... +build = {} +build['version'] = version +build['vercode'] = vercode +build['commit'] = '?' +if options.subdir: + build['subdir'] = options.subdir +if os.path.exists(os.path.join(root_dir, 'jni')): + build['buildjni'] = 'yes' +app['builds'].append(build) +app['comments'].append(('build:' + version, + "#Generated by import.py - check this is the right version, and find the right commit!")) + +metafile = os.path.join('metadata', package + '.txt') +common.write_metadata(metafile, app) +print "Wrote " + metafile + diff --git a/metadata/An.stop.txt b/metadata/An.stop.txt index 43d7a191..b7634cb6 100644 --- a/metadata/An.stop.txt +++ b/metadata/An.stop.txt @@ -15,3 +15,5 @@ Repo:http://anstop.googlecode.com/svn/trunk Build Version:1.4,9,34 +Update Check Mode:None + diff --git a/metadata/aarddict.android.txt b/metadata/aarddict.android.txt index 560ecfbd..dddaae67 100644 --- a/metadata/aarddict.android.txt +++ b/metadata/aarddict.android.txt @@ -14,8 +14,9 @@ Repo Type:git Repo:git://github.com/aarddict/android.git Build Version:1.3.1,10,1.3.1,prebuild=mv lib libs +Build Version:1.4.0,12,7df930161256324e31b2c720281629f58446b6d6,prebuild=mv lib libs Update Check Mode:Market -Market Version:1.3.1 -Market Version Code:10 +Current Version:1.4.0 +Current Version Code:12 diff --git a/metadata/android.androidVNC.txt b/metadata/android.androidVNC.txt index 31b00ab0..b63f491a 100644 --- a/metadata/android.androidVNC.txt +++ b/metadata/android.androidVNC.txt @@ -14,6 +14,7 @@ Repo:http://android-vnc-viewer.googlecode.com/svn/branches/antlersoft Build Version:0.5.0,13,197,subdir=androidVNC -Market Version:0.5.0 -Market Version Code:13 +Update Check Mode:Market +Current Version:0.5.0 +Current Version Code:13 diff --git a/metadata/apps.droidnotify.txt b/metadata/apps.droidnotify.txt index 89c50077..b80f2858 100644 --- a/metadata/apps.droidnotify.txt +++ b/metadata/apps.droidnotify.txt @@ -14,13 +14,12 @@ It is extremely customizable with many options to suit your needs and style. Repo Type:svn Repo:http://droid-notify.googlecode.com/svn/trunk -Build Version:2.20,27,707,patch=facebook.patch,prebuild=mv lib/ libs/ \ - && git clone git://github.com/facebook/facebook-android-sdk.git \ - && cp facebook-android-sdk/facebook/default.properties facebook-android-sdk/facebook/project.properties \ - && cp build.xml facebook-android-sdk/facebook/ \ - && cp local.properties facebook-android-sdk/facebook/ +Build Version:2.20,27,707,srclibs=FacebookSDK@c58af0b,prebuild=sed -i 's@\(android.library.reference.1=\).*@\1$$FacebookSDK$$@' project.properties && mv lib/ libs/ +Build Version:2.22,29,759,srclibs=FacebookSDK@c58af0b,prebuild=sed -i 's@\(android.library.reference.1=\).*@\1$$FacebookSDK$$@' project.properties && mv lib/ libs/ +Build Version:2.23,30,760,encoding=utf-8,srclibs=FacebookSDK@c58af0b,prebuild=sed -i 's@\(android.library.reference.1=\).*@\1$$FacebookSDK$$@' project.properties && mv lib/ libs/ +Build Version:2.24,31,781,encoding=utf-8,srclibs=FacebookSDK@c58af0b,prebuild=sed -i 's@\(android.library.reference.1=\).*@\1$$FacebookSDK$$@' project.properties && mv lib/ libs/ && rm -rf gen/ && rm -rf bin/ Update Check Mode:Market -Market Version:2.21 -Market Version Code:28 +Current Version:2.24 +Current Version Code:31 diff --git a/metadata/apps.droidnotify/facebook.patch b/metadata/apps.droidnotify/facebook.patch deleted file mode 100644 index 6382c131..00000000 --- a/metadata/apps.droidnotify/facebook.patch +++ /dev/null @@ -1,10 +0,0 @@ -Index: project.properties -=================================================================== ---- a/project.properties (revision 707) -+++ b/project.properties (working copy) -@@ -9,4 +9,4 @@ - - # Project target. - target=android-8 --android.library.reference.1=../com_facebook_android -+android.library.reference.1=facebook-android-sdk/facebook diff --git a/metadata/arity.calculator.txt b/metadata/arity.calculator.txt new file mode 100644 index 00000000..48952c11 --- /dev/null +++ b/metadata/arity.calculator.txt @@ -0,0 +1,20 @@ +Category:Office +License:Apache2 +Web Site:http://code.google.com/p/arity-calculator/ +Source Code:http://code.google.com/p/arity-calculator/source/checkout +Issue Tracker:http://code.google.com/p/arity-calculator/issues/list + +Summary:Scientific Calculator +Description: +Scientific calculator with complex numbers and graphing of user-defined functions. +. + +Repo Type:hg +Repo:https://code.google.com/p/arity-calculator/ + +Build Version:1.27,27,ad8847de5df0,target=android-8 + +Update Check Mode:Market +Current Version:1.27 +Current Version Code:27 + diff --git a/metadata/as.adamsmith.iteration.txt b/metadata/as.adamsmith.iteration.txt index cc327de8..f24e6d72 100644 --- a/metadata/as.adamsmith.iteration.txt +++ b/metadata/as.adamsmith.iteration.txt @@ -10,6 +10,7 @@ Description: Generative art (pretty pictures of mathematical origin). . -Market Version:3.15 -Market Version Code:25 +Update Check Mode:Market +Current Version:3.15 +Current Version Code:25 diff --git a/metadata/at.aichbauer.ical.txt b/metadata/at.aichbauer.ical.txt index 00d1102f..3a3bd5ee 100644 --- a/metadata/at.aichbauer.ical.txt +++ b/metadata/at.aichbauer.ical.txt @@ -15,6 +15,7 @@ Repo:http://ical-import-export.googlecode.com/svn/trunk/ Build Version:1.5,51,!11 but needs AndroidTools compiling too,subdir=iCalImportExport,target=android-10 -Market Version:1.5 -Market Version Code:51 +Update Check Mode:Market +Current Version:1.5 +Current Version Code:51 diff --git a/metadata/at.tomtasche.reader.txt b/metadata/at.tomtasche.reader.txt index 681f9d7e..b01ee393 100644 --- a/metadata/at.tomtasche.reader.txt +++ b/metadata/at.tomtasche.reader.txt @@ -1,9 +1,10 @@ -Disabled:Sends device info and other data to a web server without permission -Category:None +AntiFeatures:Tracking +Category:Office License:GPLv3+ Web Site:http://tomtasche.at/p/OpenOffice%20Document%20Reader -Source Code:https://github.com/TomTasche/OpenOffice-Document-Reader -Issue Tracker:https://github.com/TomTasche/OpenOffice-Document-Reader/issues +Source Code:https://github.com/TomTasche/OpenDocument.droid +Issue Tracker:https://github.com/TomTasche/OpenDocument.droid/issues +Donate:https://flattr.com/thing/117140/OpenOffice-Document-Reader Summary:Open Office document reader. Description: @@ -11,12 +12,15 @@ Open Office document reader. . Repo Type:git -Repo:https://github.com/TomTasche/OpenOffice-Document-Reader.git +Repo:https://github.com/TomTasche/OpenDocument.droid.git Build Version:1.1.9,11,243eba4f441b3601de96 Build Version:1.2,12,d174bed05a6026ddb5db Build Version:1.2.3,15,8fe022fd67e5bb62c6d8 +Build Version:1.3.0,22,4b8ea7438125e90d43bdadfc042723a7a485a217,srclibs=JOpenDocument@35ec3d3ddfc11592cefe8cae9eea3608ad2b30c2,prebuild=rm *.apk && rm -rf bin/ && rm -rf gen/ && cp -r $$JOpenDocument$$/src/* src/ && rm -rf src/test/ +Build Version:1.3.2,24,4bcf9024ac9fb96bc5c03c3129f9d401272caaf0,srclibs=JOpenDocument@35ec3d3ddfc11592cefe8cae9eea3608ad2b30c2,prebuild=rm *.apk && rm -rf bin/ && rm -rf gen/ && rm libs/jopendocument.jar && cp -r $$JOpenDocument$$/src/* src/ && rm -rf src/test/ -Market Version:1.3.0 -Market Version Code:22 +Update Check Mode:Market +Current Version:1.3.0 +Current Version Code:22 diff --git a/metadata/caldwell.ben.trolly.txt b/metadata/caldwell.ben.trolly.txt index cbc34799..39dc0279 100644 --- a/metadata/caldwell.ben.trolly.txt +++ b/metadata/caldwell.ben.trolly.txt @@ -17,6 +17,7 @@ Repo:http://trolly.googlecode.com/svn/trunk # It needs a file from OpenIntents, so let's get it from Subversion... Build Version:1.4,6,40,target=android-4,prebuild=mkdir -p src/org/openintents/intents && svn cat -r 3070 http://openintents.googlecode.com/svn/trunk/shoppinglist/ShoppingList/src/org/openintents/intents/ShoppingListIntents.java >src/org/openintents/intents/ShoppingListIntents.java -Market Version:1.4 -Market Version Code:6 +Update Check Mode:Market +Current Version:1.4 +Current Version Code:6 diff --git a/metadata/cm.aptoide.pt.txt b/metadata/cm.aptoide.pt.txt index c9dfc9b2..d4251616 100644 --- a/metadata/cm.aptoide.pt.txt +++ b/metadata/cm.aptoide.pt.txt @@ -14,7 +14,8 @@ based on Aptoide! Repo Type:svn Repo:http://aptoide.org/repo -Market Version:2.0.1 -Market Version Code:145 +Update Check Mode:Market +Current Version:2.0.1 +Current Version Code:145 #Build Version:2.0,126,45,subdir=aptoide-client/v2.0 diff --git a/metadata/cmupdaterapp.ui.txt b/metadata/cmupdaterapp.ui.txt index 50563d3f..15189704 100644 --- a/metadata/cmupdaterapp.ui.txt +++ b/metadata/cmupdaterapp.ui.txt @@ -17,6 +17,7 @@ Repo:http://cyanogen-updater.googlecode.com/svn/trunk/ Build Version:5.0.1,501,626 -Market Version:5.0.1 -Market Version Code:501 +Update Check Mode:None +Current Version:5.0.1 +Current Version Code:501 diff --git a/metadata/com.FireFart.Permissions.txt b/metadata/com.FireFart.Permissions.txt index 70de69ba..05ba68bd 100644 --- a/metadata/com.FireFart.Permissions.txt +++ b/metadata/com.FireFart.Permissions.txt @@ -17,6 +17,7 @@ Repo:http://androidpermissions.googlecode.com/svn/trunk Build Version:1.1,2,16 -Market Version:1.1 -Market Version Code:2 +Update Check Mode:Market +Current Version:1.1 +Current Version Code:2 diff --git a/metadata/com.agiro.scanner.android.txt b/metadata/com.agiro.scanner.android.txt index 337535f0..cda959ae 100644 --- a/metadata/com.agiro.scanner.android.txt +++ b/metadata/com.agiro.scanner.android.txt @@ -2,6 +2,8 @@ Category:Office License:Apache2 Web Site: Source Code:https://github.com/pakerfeldt/aGiro +# The closest thing to a web site or issue tracker is this thread: +# http://www.swedroid.se/forum/showthread.php?t=16305 Issue Tracker: Summary:OCR scanner for Swedish bills @@ -16,8 +18,5 @@ Repo:https://github.com/pakerfeldt/aGiro.git Build Version:alpha 2,2,!repo moved and renamed 20bd0f021dd852afcc9aa9008ee713419ae8e05c -#Use Built:Yes -# The closest thing to a web site or issue tracker is this thread: -# http://www.swedroid.se/forum/showthread.php?t=16305 -#Web Site: -#Issue Tracker: +Update Check Mode:None + diff --git a/metadata/com.alfray.mandelbrot2.txt b/metadata/com.alfray.mandelbrot2.txt index f421aaab..da5f527a 100644 --- a/metadata/com.alfray.mandelbrot2.txt +++ b/metadata/com.alfray.mandelbrot2.txt @@ -10,6 +10,7 @@ Mandelbrot set viewer that works in the style of a map viewer - i.e. scroll arou and zoom in/out. . -Market Version:0.13 -Market Version Code:13 +Update Check Mode:Market +Current Version:0.13 +Current Version Code:13 diff --git a/metadata/com.alfray.timeriffic.txt b/metadata/com.alfray.timeriffic.txt index 9562dab5..0a041b0a 100644 --- a/metadata/com.alfray.timeriffic.txt +++ b/metadata/com.alfray.timeriffic.txt @@ -22,6 +22,7 @@ Build Version:1.09.05,10905,fc40dccbb9,subdir=Timeriffic,oldsdkloc=yes,novcheck= Build Version:1.09.11,10911,!Can't find correct commit. See metadata notes too. Build Version:1.09.12,10912,!No source for this in the repo -Market Version:1.09.12 -Market Version Code:10912 +Update Check Mode:Market +Current Version:1.09.12 +Current Version Code:10912 diff --git a/metadata/com.andrewshu.android.reddit.txt b/metadata/com.andrewshu.android.reddit.txt index c6d3ce00..bf0c855a 100644 --- a/metadata/com.andrewshu.android.reddit.txt +++ b/metadata/com.andrewshu.android.reddit.txt @@ -24,6 +24,6 @@ Build Version:1.2.1.5,78,!more dependency shuffling required and watch out for t Build Version:1.3.0,83,v1.3.0,target=android-11,prebuild=mkdir lib && mv libs-dependencies/* lib && rm -r libs-dependencies && mv libs/* lib && rm -r libs && git checkout proguard.cfg Update Check Mode:Market -Market Version:1.3.0 -Market Version Code:83 +Current Version:1.3.0 +Current Version Code:83 diff --git a/metadata/com.android.inputmethod.norwegian.txt b/metadata/com.android.inputmethod.norwegian.txt index c0569467..4d02a0cc 100644 --- a/metadata/com.android.inputmethod.norwegian.txt +++ b/metadata/com.android.inputmethod.norwegian.txt @@ -17,6 +17,7 @@ Repo:http://scandinavian-keyboard.googlecode.com/svn/trunk Build Version:1.4.4,13,15,target=android-4 Build Version:1.4.6,15,17,target=android-4 -Market Version:1.4.6 -Market Version Code:15 +Update Check Mode:Market +Current Version:1.4.6 +Current Version Code:15 diff --git a/metadata/com.android.keepass.txt b/metadata/com.android.keepass.txt index 62eee207..249f359f 100644 --- a/metadata/com.android.keepass.txt +++ b/metadata/com.android.keepass.txt @@ -21,8 +21,9 @@ Build Version:1.9.3.1,80,v1.9.3.1 Build Version:1.9.5,82,v1.9.5 Build Version:1.9.6,83,v1.9.6 Build Version:1.9.7,84,v1.9.7,target=android-8 +Build Version:1.9.8,85,v1.9.8,target=android-8 Update Check Mode:Market -Market Version:1.9.7 -Market Version Code:84 +Current Version:1.9.8 +Current Version Code:85 diff --git a/metadata/com.angrydoughnuts.android.alarmclock.txt b/metadata/com.angrydoughnuts.android.alarmclock.txt index 5fd4d84e..d71013d7 100644 --- a/metadata/com.angrydoughnuts.android.alarmclock.txt +++ b/metadata/com.angrydoughnuts.android.alarmclock.txt @@ -14,6 +14,7 @@ Repo:http://kraigsandroid.googlecode.com/svn/tags/ Build Version:1.7,8,378 -Market Version:1.7 -Market Version Code:8 +Update Check Mode:Market +Current Version:1.7 +Current Version Code:8 diff --git a/metadata/com.anoshenko.android.mahjongg.txt b/metadata/com.anoshenko.android.mahjongg.txt new file mode 100644 index 00000000..82f405c0 --- /dev/null +++ b/metadata/com.anoshenko.android.mahjongg.txt @@ -0,0 +1,24 @@ +Category:Games +License:GPLv3 +Web Site:http://code.google.com/p/mahjonggbuilder/ +Source Code:http://code.google.com/p/mahjonggbuilder/source/checkout +Issue Tracker:http://code.google.com/p/mahjonggbuilder/issues/list + +Summary:Solitaire games +Description: +A collection of 19 solitaire games where the object is to remove all pieces +from the game board by finding matching pairs of images from the both ends of +lines of pieces. + +The built-in layout editor allows creation of new game layouts. +. + +Repo Type:git-svn +Repo:http://mahjonggbuilder.googlecode.com/svn/trunk/ + +Build Version:1.4.4,14,15,subdir=Android + +Update Check Mode:Market +Current Version:1.4.4 +Current Version Code:14 + diff --git a/metadata/com.appengine.paranoid_android.lost.txt b/metadata/com.appengine.paranoid_android.lost.txt index 1796a1a1..5dc9a526 100644 --- a/metadata/com.appengine.paranoid_android.lost.txt +++ b/metadata/com.appengine.paranoid_android.lost.txt @@ -20,6 +20,7 @@ Repo:http://contactowner.googlecode.com/svn/branches/v2next/ Build Version:2.2,12,44,target=android-4 -Market Version:2.2 -Market Version Code:22 +Update Check Mode:Market +Current Version:2.2 +Current Version Code:22 diff --git a/metadata/com.ath0.rpn.txt b/metadata/com.ath0.rpn.txt new file mode 100644 index 00000000..feae8722 --- /dev/null +++ b/metadata/com.ath0.rpn.txt @@ -0,0 +1,20 @@ +Category:Office +License:GPLv3+ +Web Site:http://meta.ath0.com/software/rpn/ +Source Code:https://github.com/lpar/RPN +Issue Tracker:https://github.com/lpar/RPN/issues + +Summary:RPN Calculator +Description: +Simple fixed-point decimal arithmetic, Reverse Polish Notation calculator. +. + +Repo Type:git +Repo:https://github.com/lpar/RPN.git + +Build Version:1.8.1,10,199a87f7319b685e59d6847f1ff2417613f69c6e + +Update Check Mode:Market +Current Version:1.8 +Current Version Code:9 + diff --git a/metadata/com.axelby.podax.txt b/metadata/com.axelby.podax.txt index 187f324a..9e9ffe4b 100644 --- a/metadata/com.axelby.podax.txt +++ b/metadata/com.axelby.podax.txt @@ -25,6 +25,6 @@ Repo:git://github.com/thasmin/Podax.git Build Version:2.11,12,13d0e30198d96b4cd7b1a87065a1b8cf3ed578f4,target=android-7 Update Check Mode:Market -Market Version:2.11 -Market Version Code:12 +Current Version:2.11 +Current Version Code:12 diff --git a/metadata/com.beem.project.beem.txt b/metadata/com.beem.project.beem.txt index bda6600e..31725271 100644 --- a/metadata/com.beem.project.beem.txt +++ b/metadata/com.beem.project.beem.txt @@ -15,8 +15,9 @@ Repo:http://www.beem-project.com/hg/trunk/ Build Version:0.1.5,7,0.1.5 Build Version:0.1.6,9,0.1.6 Build Version:0.1.7_rc1,10,0.1.7_rc1,target=android-8 +Build Version:0.1.7_rc2,11,0.1.7_rc2,target=android-8 Update Check Mode:Market -Market Version:0.1.7_rc1 -Market Version Code:10 +Current Version:0.1.7_rc2 +Current Version Code:11 diff --git a/metadata/com.boardgamegeek.txt b/metadata/com.boardgamegeek.txt index 21dee90e..d6cf4b5c 100644 --- a/metadata/com.boardgamegeek.txt +++ b/metadata/com.boardgamegeek.txt @@ -16,6 +16,7 @@ Repo:http://boardgamegeek.googlecode.com/svn/trunk/ Build Version:3.3,20,r416,subdir=BoardGameGeek,target=android-8 Build Version:3.4,21,r525,subdir=BoardGameGeek,target=android-8 -Market Version:3.4 -Market Version Code:21 +Update Check Mode:Market +Current Version:3.4 +Current Version Code:21 diff --git a/metadata/com.bottleworks.dailymoney.txt b/metadata/com.bottleworks.dailymoney.txt index 8de3d59f..8f85dd11 100644 --- a/metadata/com.bottleworks.dailymoney.txt +++ b/metadata/com.bottleworks.dailymoney.txt @@ -18,8 +18,9 @@ Features: Repo Type:svn Repo:https://daily-money.googlecode.com/svn/trunk/ -Market Version:0.9.7-0702-freshly -Market Version Code:2011070200 +Update Check Mode:Market +Current Version:0.9.7-0702-freshly +Current Version Code:2011070200 # Does not build yet #Build Version:0.9.7-0702-freshly,2011070200,218,subdir=dailymoney-surface/,target=android-7,prebuild=\ diff --git a/metadata/com.bwx.bequick.txt b/metadata/com.bwx.bequick.txt index 7b8d974f..a8bb8598 100644 --- a/metadata/com.bwx.bequick.txt +++ b/metadata/com.bwx.bequick.txt @@ -18,6 +18,7 @@ Build Version:1.9.8 p2,201012060,184,target=android-8 Build Version:1.9.9.2,201106160,213,target=android-8 Build Version:1.9.9.3,201107260,220,target=android-8 -Market Version:1.9.9.5 -Market Version Code:201110061 +Update Check Mode:Market +Current Version:1.9.9.5 +Current Version Code:201110061 diff --git a/metadata/com.bwx.qs.battery.txt b/metadata/com.bwx.qs.battery.txt index 7ff8337c..8ac0c83c 100644 --- a/metadata/com.bwx.qs.battery.txt +++ b/metadata/com.bwx.qs.battery.txt @@ -14,6 +14,7 @@ Repo:http://quick-settings.googlecode.com/svn/trunk/quick-battery/ Build Version:0.8.2,201010020,153,target=android-8 -Market Version:0.8.2 -Market Version Code:201010020 +Update Check Mode:Market +Current Version:0.8.2 +Current Version Code:201010020 diff --git a/metadata/com.chessclock.android.txt b/metadata/com.chessclock.android.txt index 5ef2b876..f1b3edda 100644 --- a/metadata/com.chessclock.android.txt +++ b/metadata/com.chessclock.android.txt @@ -15,6 +15,7 @@ Repo:https://code.google.com/p/simplechessclock/ Build Version:1.2.0,8,379155447bff,subdir=simplechessclock,target=android-8 -Market Version:1.2.0 -Market Version Code:8 +Update Check Mode:Market +Current Version:1.2.0 +Current Version Code:8 diff --git a/metadata/com.ciarang.tallyphant.txt b/metadata/com.ciarang.tallyphant.txt new file mode 100644 index 00000000..432938bb --- /dev/null +++ b/metadata/com.ciarang.tallyphant.txt @@ -0,0 +1,27 @@ + +Category:Office +License:GPLv3 +Web Site:http://projects.ciarang.com/p/tallyphant/ +Source Code:http://projects.ciarang.com/p/tallyphant/source/tree/master/ +Issue Tracker:http://projects.ciarang.com/p/tallyphant/issues/ +Donate:http://projects.ciarang.com/p/tallyphant/page/Donate/ + +Summary:Counter +Description: +A simple counting application. Count any number of items simultanously, +either up or down. Can be set to vibrate, beep or speak when the values +change. + +Live data can also be send via UDP to a networked computer, and results +can be shared via email, etc. +. + +Repo Type:git +Repo:git://git.ciarang.com/tallyphant.git + +Build Version:0.1,2,065a77a8d508746c6838b6892f68d7b35ac10608 +Build Version:0.2,3,38c8d82a1b19c7313aea5cdaae9f93a95fcaac32 +Build Version:0.3,4,cbe9aa47adb5ac24244b4e80484fee3eb356cf8b +Build Version:0.4,5,f207fbd7d2d7a682ba71c4fa7c446cc636401cba + +Update Check Mode:None diff --git a/metadata/com.commonsware.android.arXiv.txt b/metadata/com.commonsware.android.arXiv.txt index 7f233533..cb5ac568 100644 --- a/metadata/com.commonsware.android.arXiv.txt +++ b/metadata/com.commonsware.android.arXiv.txt @@ -21,6 +21,7 @@ Build Version:2.0.16,102,!No source in repo,target=android-11 #https://answers.launchpad.net/arxivdroid/+question/173825 Build Version:2.0.20,106,!No source in repo -Market Version:2.0.20 -Market Version Code:106 +Update Check Mode:Market +Current Version:2.0.20 +Current Version Code:106 diff --git a/metadata/com.csipsimple.txt b/metadata/com.csipsimple.txt index f1593cb4..881315c9 100644 --- a/metadata/com.csipsimple.txt +++ b/metadata/com.csipsimple.txt @@ -10,8 +10,9 @@ Description: A SIP (VOIP) client. . +Update Check Mode:Market #Note : build needs a customised ndk, as described at: # http://code.google.com/p/csipsimple/wiki/HowToBuild -Market Version:0.03-01 -Market Version Code:1108 +Current Version:0.03-01 +Current Version Code:1108 diff --git a/metadata/com.danga.squeezer.txt b/metadata/com.danga.squeezer.txt index bb3d934b..ef1310b3 100644 --- a/metadata/com.danga.squeezer.txt +++ b/metadata/com.danga.squeezer.txt @@ -19,6 +19,7 @@ prebuild=sed -r -i \ AndroidManifest.xml,\ oldsdkloc=yes,target=android-4 -Market Version:0.5 -Market Version Code:5 +Update Check Mode:None +Current Version:0.5 +Current Version Code:5 diff --git a/metadata/com.determinato.feeddroid.txt b/metadata/com.determinato.feeddroid.txt index 67843f85..f227af23 100644 --- a/metadata/com.determinato.feeddroid.txt +++ b/metadata/com.determinato.feeddroid.txt @@ -13,7 +13,8 @@ An RSS feed reader and podcatcher with audio and video support. Repo Type:git Repo:http://git.gitorious.org/feeddroid/feeddroid.git +Update Check Mode:None #Build Version:1.1.1,37,db5077bf1ef792d8d5f6154198b7200a50d963df,subdir=FeedDroid -Market Version:1.1.1 -Market Version Code:37 +Current Version:1.1.1 +Current Version Code:37 diff --git a/metadata/com.digitallizard.nicecompass.txt b/metadata/com.digitallizard.nicecompass.txt index 871b9765..0141af29 100644 --- a/metadata/com.digitallizard.nicecompass.txt +++ b/metadata/com.digitallizard.nicecompass.txt @@ -12,9 +12,10 @@ It provides a graphical compass card along with text bearing information. Repo Type:git Repo:git://github.com/okey666/NiceCompass.git -Update Check Mode:Market -Market Version:1.3 -Market Version Code:6 +Build Version:1.3,6,b6f322cf10ec4320ca5b4111f75dccfdd4b6f7f0,target=android-13,srclibs=ActionBarSherlock@3.5.1,prebuild=\ +sed -i 's@\(android.library.reference.1=\).*@\1$$ActionBarSherlock$$@' project.properties + +Update Check Mode:Market +Current Version:1.3 +Current Version Code:6 -# uses ActionBarSherlock library which is not included -#Build Version:1.3,6,b6f322cf10ec4320ca5b4111f75dccfdd4b6f7f0 diff --git a/metadata/com.dozingcatsoftware.bouncy.txt b/metadata/com.dozingcatsoftware.bouncy.txt index 16feceb3..09958fea 100644 --- a/metadata/com.dozingcatsoftware.bouncy.txt +++ b/metadata/com.dozingcatsoftware.bouncy.txt @@ -14,7 +14,9 @@ Repo:https://github.com/dozingcat/Vector-Pinball.git Build Version:1.1,4,45b5218594320ffb4b37 Build Version:1.3,10,1210949b1e373916d096 +Build Version:1.3.1,11,!No corresponding source -Market Version:1.3.1 -Market Version Code:11 +Update Check Mode:Market +Current Version:1.3.1 +Current Version Code:11 diff --git a/metadata/com.drodin.tuxrider.txt b/metadata/com.drodin.tuxrider.txt index d12323c7..4f7366b3 100644 --- a/metadata/com.drodin.tuxrider.txt +++ b/metadata/com.drodin.tuxrider.txt @@ -14,7 +14,8 @@ A Tux Racer clone. Repo Type:git Repo:git://github.com/drodin/TuxRider.git +Update Check Mode:Market #Build Version:1.0.4 beta,6,67bce39cda321c225bc5 -Market Version:1.0.9 -Market Version Code:11 +Current Version:1.0.9 +Current Version Code:11 diff --git a/metadata/com.droidwave.offlinecalendar.txt b/metadata/com.droidwave.offlinecalendar.txt index c8390ea2..51da1505 100644 --- a/metadata/com.droidwave.offlinecalendar.txt +++ b/metadata/com.droidwave.offlinecalendar.txt @@ -13,8 +13,9 @@ A calendar application. Repo Type:hg Repo:https://bitbucket.org/giszmo/offline-calendar +Update Check Mode:Market #There don't seem to be any developer releases yet #There is now a 1.1 in the android market, but no source for it in the repository -Market Version:1.1 -Market Version Code:2 +Current Version:1.1 +Current Version Code:2 diff --git a/metadata/com.eddyspace.networkmonitor.txt b/metadata/com.eddyspace.networkmonitor.txt index 56dba3ca..d380b993 100644 --- a/metadata/com.eddyspace.networkmonitor.txt +++ b/metadata/com.eddyspace.networkmonitor.txt @@ -15,3 +15,5 @@ Repo:https://anetmon.svn.sourceforge.net/svnroot/anetmon/ Build Version:0.2-beta,2,17 +Update Check Mode:None + diff --git a/metadata/com.eleybourn.bookcatalogue.txt b/metadata/com.eleybourn.bookcatalogue.txt index 3b926f79..b6854953 100644 --- a/metadata/com.eleybourn.bookcatalogue.txt +++ b/metadata/com.eleybourn.bookcatalogue.txt @@ -27,6 +27,7 @@ Build Version:3.7,68,514799b45d18cf6dbc42065adf08abbdc9e2f16f,target=android-10 Build Version:3.8,69,bb85065cb6045df773cd681ac8bad55a6818d48a,target=android-10 Build Version:3.8.1,70,890b6affe8a64,target=android-10 -Market Version:3.8.1 -Market Version Code:70 +Update Check Mode:Market +Current Version:3.8.1 +Current Version Code:70 diff --git a/metadata/com.episode6.android.appalarm.lite.txt b/metadata/com.episode6.android.appalarm.lite.txt index cd95aa3a..e50b3c71 100644 --- a/metadata/com.episode6.android.appalarm.lite.txt +++ b/metadata/com.episode6.android.appalarm.lite.txt @@ -15,6 +15,7 @@ Repo:https://github.com/ghackett/AppAlarm Build Version:1.2.6,30,af9d89993212c67bfc510ed082381afc7abcd95a -Market Version:1.2.6 -Market Version Code:30 +Update Check Mode:Market +Current Version:1.2.6 +Current Version Code:30 diff --git a/metadata/com.evancharlton.mileage.txt b/metadata/com.evancharlton.mileage.txt index 6a4057a6..07a41ffd 100644 --- a/metadata/com.evancharlton.mileage.txt +++ b/metadata/com.evancharlton.mileage.txt @@ -19,6 +19,7 @@ Repo:https://code.google.com/p/android-mileage/ #Build Version:3.0.0,3000,0766c4f352a5,subdir=trunk,oldsdkloc=yes Build Version:3.0.8,3080,16b397029a76,subdir=trunk,oldsdkloc=yes -Market Version:3.0.8 -Market Version Code:3080 +Update Check Mode:Market +Current Version:3.0.8 +Current Version Code:3080 diff --git a/metadata/com.example.android.maxpapers.txt b/metadata/com.example.android.maxpapers.txt index 1447eb47..17058c68 100644 --- a/metadata/com.example.android.maxpapers.txt +++ b/metadata/com.example.android.maxpapers.txt @@ -18,3 +18,5 @@ Build Version:1.0.2,35,35,\ prebuild=sed -i -r 's/(android:versionName)/android:versionCode="35" \1/' \ AndroidManifest.xml +Update Check Mode:None + diff --git a/metadata/com.example.weightchart.txt b/metadata/com.example.weightchart.txt index c7708b24..43e8365d 100644 --- a/metadata/com.example.weightchart.txt +++ b/metadata/com.example.weightchart.txt @@ -1,4 +1,4 @@ -Disabled: Doesn't built at the moment. +Disabled: Doesn't build at the moment. Category:Office License:GPLv3 Web Site:https://launchpad.net/weightchart @@ -16,3 +16,5 @@ Repo:lp:weightchart Build Version:1,1,1,target=8 +Update Check Mode:None + diff --git a/metadata/com.fsck.k9.txt b/metadata/com.fsck.k9.txt index 05d636ff..56a07181 100644 --- a/metadata/com.fsck.k9.txt +++ b/metadata/com.fsck.k9.txt @@ -16,6 +16,6 @@ Repo:https://github.com/k9mail/k-9.git #Note - k9 is currently developer's binary only #Build Version:3.906,14006,3.906,oldsdkloc=yes,patch=target9to10.patch,target=android-10 Update Check Mode:Market -Market Version:4.003 -Market Version Code:14021 +Current Version:4.005 +Current Version Code:14023 diff --git a/metadata/com.funambol.androidsync.txt b/metadata/com.funambol.androidsync.txt index 43a009f5..c7c6d7dd 100644 --- a/metadata/com.funambol.androidsync.txt +++ b/metadata/com.funambol.androidsync.txt @@ -25,6 +25,6 @@ Update Check Mode:Market #Source is now accessible, but the build is failing without an obvious error. #Need to look at this again. #Build Version:10.0.7,17,2671,subdir=tags/10.0.7,update=no,initfun=yes -Market Version:10.0.8 -Market Version Code:18 +Current Version:10.0.8 +Current Version Code:18 diff --git a/metadata/com.ghostsq.commander.txt b/metadata/com.ghostsq.commander.txt index d1dd16e2..3866b32a 100644 --- a/metadata/com.ghostsq.commander.txt +++ b/metadata/com.ghostsq.commander.txt @@ -26,7 +26,12 @@ Build Version:1.35,94,131,\ prebuild=sed -ri 's/(debuggable)="true"/\1="false"/' AndroidManifest.xml Build Version:1.36.4,110,161,\ prebuild=sed -ri 's/(debuggable)="true"/\1="false"/' AndroidManifest.xml +Build Version:1.40,160,302,\ +prebuild=sed -ri 's/(debuggable)="true"/\1="false"/' AndroidManifest.xml +Build Version:1.40.1,163,307 +Build Version:1.40.2,164,314,prebuild=rm -rf gen/ -Market Version:1.39.3 -Market Version Code:154 +Update Check Mode:Market +Current Version:1.40.2 +Current Version Code:164 diff --git a/metadata/com.gluegadget.hndroid.txt b/metadata/com.gluegadget.hndroid.txt index 4f9e1cdc..2dc1cdcc 100644 --- a/metadata/com.gluegadget.hndroid.txt +++ b/metadata/com.gluegadget.hndroid.txt @@ -10,6 +10,7 @@ Description: No description available . -Market Version:0.4 -Market Version Code:5 +Update Check Mode:Market +Current Version:0.4 +Current Version Code:5 diff --git a/metadata/com.google.android.diskusage.txt b/metadata/com.google.android.diskusage.txt index b292131f..fb41d22a 100644 --- a/metadata/com.google.android.diskusage.txt +++ b/metadata/com.google.android.diskusage.txt @@ -21,6 +21,7 @@ Build Version:3.0alpha3,3005,!no source in repo,prebuild=mkdir libs && cp extra/ Build Version:3.1,3010,68,prebuild=mkdir libs && cp extra/system.jar libs/ Build Version:3.2,3020,69,prebuild=mkdir libs && cp extra/system.jar libs/ -Market Version:3.2 -Market Version Code:3020 +Update Check Mode:Market +Current Version:3.2 +Current Version Code:3020 diff --git a/metadata/com.google.android.maps.mytracks.txt b/metadata/com.google.android.maps.mytracks.txt index 9fc683d9..5d310f22 100644 --- a/metadata/com.google.android.maps.mytracks.txt +++ b/metadata/com.google.android.maps.mytracks.txt @@ -17,9 +17,10 @@ Repo:https://mytracks.googlecode.com/hg/ Build Version:1.1.0,23,a86a640f2d,subdir=MyTracks Build Version:1.1.3,26,!Doesn't build - needs dependencies building now I think +Update Check Mode:Market #Build Version:1.1.3,26,62821d45032d,subdir=MyTracks,target=android-10,encoding=utf-8 #Still doesn't build... #Build Version:1.1.9,22,v1.1.9,subdir=MyTracks,encoding=utf-8,target=android-13 -Market Version:1.1.13 -Market Version Code:36 +Current Version:1.1.13 +Current Version Code:36 diff --git a/metadata/com.google.android.stardroid.txt b/metadata/com.google.android.stardroid.txt index 71c912c0..52427cad 100644 --- a/metadata/com.google.android.stardroid.txt +++ b/metadata/com.google.android.stardroid.txt @@ -17,6 +17,6 @@ Repo:http://stardroid.googlecode.com/svn/trunk/app Build Version:1.6.4,1112,3 Update Check Mode:Market -Market Version:1.6.4 -Market Version Code:1112 +Current Version:1.6.4 +Current Version Code:1112 diff --git a/metadata/com.google.code.appsorganizer.txt b/metadata/com.google.code.appsorganizer.txt index 24c186ca..7841f614 100644 --- a/metadata/com.google.code.appsorganizer.txt +++ b/metadata/com.google.code.appsorganizer.txt @@ -21,6 +21,7 @@ Build Version:1.5.16,164,187,subdir=AppsOrganizer Build Version:1.5.18,166,190,subdir=AppsOrganizer Build Version:1.5.19,167,191,subdir=AppsOrganizer,target=android-10 -Market Version:1.5.19 -Market Version Code:167 +Update Check Mode:Market +Current Version:1.5.19 +Current Version Code:167 diff --git a/metadata/com.google.zxing.client.android.txt b/metadata/com.google.zxing.client.android.txt index 36d1ec81..5184e779 100644 --- a/metadata/com.google.zxing.client.android.txt +++ b/metadata/com.google.zxing.client.android.txt @@ -9,6 +9,7 @@ Description: Barcode scanner from ZXing. . -Market Version:3.72 -Market Version Code:76 +Update Check Mode:None +Current Version:4.0 +Current Version Code:79 diff --git a/metadata/com.googlecode.androidcells.txt b/metadata/com.googlecode.androidcells.txt index 97161910..1b880c4a 100644 --- a/metadata/com.googlecode.androidcells.txt +++ b/metadata/com.googlecode.androidcells.txt @@ -1,3 +1,4 @@ +Disabled:Missing current source for library - 1.0 available, 1.4 used - https://sourceforge.net/tracker/?func=detail&aid=3479542&group_id=218065&atid=1043257 Category:Internet License:GPLv3 Web Site:http://openbmap.org @@ -15,7 +16,9 @@ Repo:git://myposition.git.sourceforge.net/gitroot/myposition/AndroidClient Build Version:0.4.96,9,bc15ce80024d7f53897fd10e6ea0cc914d0ba226,prebuild=mv lib libs,target=android-10 Build Version:0.4.991,13,!Source is not there - see https://sourceforge.net/tracker/?func=detail&aid=3374951&group_id=218065&atid=1043257 +Build Version:0.4.999,14,3ed4e59fff30555325f9affa8c0021ee033fc72f,prebuild=mv lib libs,target=android-10 -Market Version:0.4.991 -Market Version Code:13 +Update Check Mode:Market +Current Version:0.4.999 +Current Version Code:14 diff --git a/metadata/com.googlecode.chartdroid.txt b/metadata/com.googlecode.chartdroid.txt index fe72a2e1..6a4791c9 100644 --- a/metadata/com.googlecode.chartdroid.txt +++ b/metadata/com.googlecode.chartdroid.txt @@ -17,6 +17,7 @@ Repo:http://chartdroid.googlecode.com/svn/trunk/core Build Version:2.0.0,18,294 -Market Version:2.0.0 -Market Version Code:18 +Update Check Mode:Market +Current Version:2.0.0 +Current Version Code:18 diff --git a/metadata/com.googlecode.droidwall.txt b/metadata/com.googlecode.droidwall.txt index 45e71479..85c0f2f7 100644 --- a/metadata/com.googlecode.droidwall.txt +++ b/metadata/com.googlecode.droidwall.txt @@ -22,6 +22,7 @@ Build Version:1.4.8,148,156 Build Version:1.5.3,153,219 Build Version:1.5.6,156,245,target=android-8 -Market Version:1.5.6 -Market Version Code:156 +Update Check Mode:Market +Current Version:1.5.6 +Current Version Code:156 diff --git a/metadata/com.googlecode.talkmyphone.txt b/metadata/com.googlecode.talkmyphone.txt index 89c6e7f8..0dadcd27 100644 --- a/metadata/com.googlecode.talkmyphone.txt +++ b/metadata/com.googlecode.talkmyphone.txt @@ -11,6 +11,7 @@ You can also receive information, such as incoming calls and SMS, and battery state. . -Market Version:2.06-beta -Market Version Code:17 +Update Check Mode:Market +Current Version:2.06-beta +Current Version Code:17 diff --git a/metadata/com.gpl.rpg.AndorsTrail.txt b/metadata/com.gpl.rpg.AndorsTrail.txt index 5f3b7096..8a3898b8 100644 --- a/metadata/com.gpl.rpg.AndorsTrail.txt +++ b/metadata/com.gpl.rpg.AndorsTrail.txt @@ -25,6 +25,7 @@ Repo:http://andors-trail.googlecode.com/svn/trunk/ Build Version:0.6.9,20,118,subdir=AndorsTrail Build Version:0.6.10,25,192,subdir=AndorsTrail -Market Version:0.6.10 -Market Version Code:25 +Update Check Mode:Market +Current Version:0.6.10 +Current Version Code:25 diff --git a/metadata/com.hughes.android.dictionary.txt b/metadata/com.hughes.android.dictionary.txt new file mode 100644 index 00000000..61ad0a33 --- /dev/null +++ b/metadata/com.hughes.android.dictionary.txt @@ -0,0 +1,37 @@ +Category:Office +License:Apache2 +Web Site:http://code.google.com/p/quickdic-dictionary/ +Source Code:http://code.google.com/p/quickdic-dictionary/source/checkout +Issue Tracker:http://code.google.com/p/quickdic-dictionary/issues/list + +Summary:Offline translation dictionary +Description: +Uses data from Wiktionary and Beolingus to generate dictionary files that can +be used offline. +. + +Repo Type:git +Repo:https://code.google.com/p/quickdic-dictionary.dictionary/ + +Build Version:3.0.1,15,6507667d0e0af60c201ae6c732c15e2fd07886ae,prebuild=mkdir libs && \ +mv jars/*.jar libs/ && \ +git clone https://code.google.com/p/quickdic-dictionary.util/ Util && \ +cd Util && \ +git checkout c848279fde9af59fdd167eacbc5deb0258223c8e && \ +cd .. && \ +cp -r Util/src . && \ +rm -rf Util/ + +Build Version:3.1,16,64d2b5,prebuild=mkdir libs && \ +mv jars/*.jar libs/ && \ +git clone https://code.google.com/p/quickdic-dictionary.util/ Util && \ +cd Util && \ +git checkout c8f5ba9eac5f110d574ef8b443a205051026688c && \ +cd .. && \ +cp -r Util/src . && \ +rm -rf Util/ + +Update Check Mode:Market +Current Version:3.1 +Current Version Code:16 + diff --git a/metadata/com.ichi2.anki.txt b/metadata/com.ichi2.anki.txt index b4450fe7..11e9c9e6 100644 --- a/metadata/com.ichi2.anki.txt +++ b/metadata/com.ichi2.anki.txt @@ -21,7 +21,9 @@ Repo:git://github.com/nicolas-raoul/Anki-Android.git Build Version:0.6,20,f26b7662ae9db9a92d21 Build Version:0.7,21,v0.7 Build Version:1.0,22,v1.0,prebuild=sed -i -e "/key\.alias.*/d" -e "/key\.store.*/d" *.properties +Build Version:1.0,23,!Same version presumably -Market Version:1.0 -Market Version Code:23 +Update Check Mode:Market +Current Version:1.0 +Current Version Code:23 diff --git a/metadata/com.ihunda.android.binauralbeat.txt b/metadata/com.ihunda.android.binauralbeat.txt new file mode 100644 index 00000000..7b66055d --- /dev/null +++ b/metadata/com.ihunda.android.binauralbeat.txt @@ -0,0 +1,28 @@ +Category:Multimedia +License:GPLv3 +Web Site:http://binauralbeatstherapy.wordpress.com/ +Source Code:https://github.com/GiorgioRegni/Binaural-Beats +Issue Tracker:https://github.com/GiorgioRegni/Binaural-Beats/issues + +Summary:Auditory brainwave mangler +Description: +Stimulate your brain to produce subtle changes though entraiment of brainwaves. + +Binaural beats stimulates your brain by sending special auditory artifacts +directly into your headphones to produce subtle changes in behavior though +entraiment of brainwaves frequency. + +This app can help induce relaxation, creativity and many other desirable mental +states. +. + +Repo Type:git +Repo:https://github.com/GiorgioRegni/Binaural-Beats.git + +Build Version:1.2,24,85160b47e80d1cac025d02756f642f3c8f667191 +Build Version:1.3,25,!No source in repo + +Update Check Mode:Market +Current Version:1.3 +Current Version Code:25 + diff --git a/metadata/com.integralblue.callerid.txt b/metadata/com.integralblue.callerid.txt index 5df7200d..e9f65685 100644 --- a/metadata/com.integralblue.callerid.txt +++ b/metadata/com.integralblue.callerid.txt @@ -13,8 +13,9 @@ their number. The web service is also FOSS. Repo Type:git Repo:git://gitorious.org/callerid-for-android/mainline.git +Update Check Mode:Market #Disabled pending figuring out how to stop it zipaligning.... #Build Version:1.0,1,e6d5a9ac4bb24ae3866a0782f2b23d1f18eb2266,subdir=application,maven=yes,bindir=application/target,prebuild=wget http://osmdroid.googlecode.com/files/osmdroid-android-3.0.3.jar && mvn install:install-file -DgroupId=org.osmdroid -DartifactId=osmdroid -Dversion=3.0.3 -Dpackaging=jar -Dfile=osmdroid-android-3.0.3.jar -Market Version:1.3 -Market Version Code:4 +Current Version:1.3 +Current Version Code:4 diff --git a/metadata/com.jadn.cc.txt b/metadata/com.jadn.cc.txt index d5ac2b66..a64366e3 100644 --- a/metadata/com.jadn.cc.txt +++ b/metadata/com.jadn.cc.txt @@ -20,6 +20,7 @@ Repo:git://github.com/bherrmann7/Car-Cast.git Build Version:1.0.129,129,7a879c6bfa51b5d80401b84e031bf4ff2981bb8c,subdir=cc,target=android-8,rm=cc/libs/admob-sdk-android.jar,patch=admob.patch -Market Version:1.0.129 -Market Version Code:129 +Update Check Mode:Market +Current Version:1.0.129 +Current Version Code:129 diff --git a/metadata/com.kirit.android.mintercept.txt b/metadata/com.kirit.android.mintercept.txt index a34a2713..6c4c117e 100644 --- a/metadata/com.kirit.android.mintercept.txt +++ b/metadata/com.kirit.android.mintercept.txt @@ -10,6 +10,7 @@ A game in the style of the classic Missile Command. Defend your cities from inco enemy missiles. . -Market Version:0.5.1 -Market Version Code:6 +Update Check Mode:Market +Current Version:0.5.1 +Current Version Code:6 diff --git a/metadata/com.kmagic.solitaire.txt b/metadata/com.kmagic.solitaire.txt index 6509c27e..14f7f0e3 100644 --- a/metadata/com.kmagic.solitaire.txt +++ b/metadata/com.kmagic.solitaire.txt @@ -16,6 +16,7 @@ Repo:http://solitaire-for-android.googlecode.com/svn/trunk/ Build Version:1.12.2,450,30,target=android-8 -Market Version:1.12.2 -Market Version Code:450 +Update Check Mode:Market +Current Version:1.12.2 +Current Version Code:450 diff --git a/metadata/com.lecz.android.tiltmazes.txt b/metadata/com.lecz.android.tiltmazes.txt index 7ba74c25..a23a85b9 100644 --- a/metadata/com.lecz.android.tiltmazes.txt +++ b/metadata/com.lecz.android.tiltmazes.txt @@ -12,6 +12,7 @@ literally, start the ball rolling. The ball rolls in a straight line until it hi a wall, you can then tilt again. . -Market Version:1.2 -Market Version Code:3 +Update Check Mode:Market +Current Version:1.2 +Current Version Code:3 diff --git a/metadata/com.leinardi.kitchentimer.txt b/metadata/com.leinardi.kitchentimer.txt new file mode 100644 index 00000000..89da8933 --- /dev/null +++ b/metadata/com.leinardi.kitchentimer.txt @@ -0,0 +1,21 @@ +Category:Office +License:GPLv3 +Web Site:https://code.google.com/p/kitchentimer/ +Source Code:https://code.google.com/p/kitchentimer/source/checkout +Issue Tracker:https://code.google.com/p/kitchentimer/issues/list + +Summary:Simple Timer +Description: +Three independent timers on one screen. +. + +Repo Type:hg +Repo:https://code.google.com/p/kitchentimer/ + +Build Version:1.1.6,116,aec14b3db581 +Build Version:1.2.0,121,!No source code + +Update Check Mode:Market +Current Version:1.2.0 +Current Version Code:121 + diff --git a/metadata/com.liato.bankdroid.txt b/metadata/com.liato.bankdroid.txt index 4d32fd91..5318eefd 100644 --- a/metadata/com.liato.bankdroid.txt +++ b/metadata/com.liato.bankdroid.txt @@ -13,52 +13,21 @@ display notifications on changes. Includes a widget. Repo Type:git Repo:https://github.com/liato/android-bankdroid.git -Build Version:1.6.3,102,612aae755a82008f44a6,encoding=utf-8,prebuild=mkdir libs && \ - cd libs && \ - wget http://archive.apache.org/dist/commons/io/binaries/commons-io-2.0.1-bin.zip && \ - unzip -j commons-io-2.0.1-bin.zip commons-io-2.0.1/commons-io-2.0.1.jar && \ - wget http://guava-libraries.googlecode.com/files/guava-r08.zip && \ - unzip -j guava-r08.zip guava-r08/guava-r08.jar && \ - rm *.zip && \ - cd .. -Build Version:1.7.2,110,fec08e34a157a3e0b455,encoding=utf-8,prebuild=mkdir libs && \ - cd libs && \ - wget http://archive.apache.org/dist/commons/io/binaries/commons-io-2.0.1-bin.zip && \ - unzip -j commons-io-2.0.1-bin.zip commons-io-2.0.1/commons-io-2.0.1.jar && \ - wget http://guava-libraries.googlecode.com/files/guava-r08.zip && \ - unzip -j guava-r08.zip guava-r08/guava-r08.jar && \ - rm *.zip && \ - cd .. +# In all the following builds, removing the attempted parent inheritance. This +# doesn't work with platform tools newer than 6 anyway, and apparently wouldn't +# work on devices anyway, it would inherit either nothing, or the wrong thing! +# Ref: http://groups.google.com/group/android-developers/browse_thread/thread/550fce9670530d9b +Build Version:1.6.3,102,612aae755a82008f44a6,encoding=utf-8,extlibs=commons-io/commons-io-2.0.1.jar;guava-r08/guava-r08.jar,prebuild=sed -i "s@parent=\"android:WindowTitleBackground\"@@" res/values/styles.xml +Build Version:1.7.2,110,fec08e34a157a3e0b455,encoding=utf-8,extlibs=commons-io/commons-io-2.0.1.jar;guava-r08/guava-r08.jar,prebuild=sed -i "s@parent=\"android:WindowTitleBackground\"@@" res/values/styles.xml Build Version:1.7.3,115,!a08cab7e66c70e7b0f5c but wrong version code in repo -Build Version:1.8.0,120,899e4b957e512bf55254,encoding=utf-8,prebuild=mkdir libs && \ - cd libs && \ - wget http://archive.apache.org/dist/commons/io/binaries/commons-io-2.0.1-bin.zip && \ - unzip -j commons-io-2.0.1-bin.zip commons-io-2.0.1/commons-io-2.0.1.jar && \ - wget http://guava-libraries.googlecode.com/files/guava-r08.zip && \ - unzip -j guava-r08.zip guava-r08/guava-r08.jar && \ - rm *.zip && \ - cd .. +Build Version:1.8.0,120,899e4b957e512bf55254,encoding=utf-8,extlibs=commons-io/commons-io-2.0.1.jar;guava-r08/guava-r08.jar,prebuild=sed -i "s@parent=\"android:WindowTitleBackground\"@@" res/values/styles.xml +Build Version:1.8.1,121,b5f637bbb301aa2fe997c9f3367cfb144d158633,encoding=utf-8,extlibs=commons-io/commons-io-2.0.1.jar;guava-r08/guava-r08.jar,prebuild=sed -i "s@parent=\"android:WindowTitleBackground\"@@" res/values/styles.xml +Build Version:1.8.1,121,9f626b0dedb01cb90a16fb127a041c5f3dd1c579,target=android-10,encoding=utf-8,extlibs=commons-io/commons-io-2.0.1.jar;guava-r08/guava-r08.jar,prebuild=sed -i "s@parent=\"android:WindowTitleBackground\"@@" res/values/styles.xml +Build Version:1.8.5,128,263023cd883da7b12c94cb46b9d3fdd23068446c,target=android-11,encoding=utf-8,prebuild=mv lib libs +Build Version:1.8.5,128,e6582cc4249e2d6ba6a8630322a5dc26e54d35ff,target=android-11,encoding=utf-8,prebuild=mv lib libs +Build Version:1.8.7,131,e6582cc4249e2d6ba6a8630322a5dc26e54d35ff,target=android-11,encoding=utf-8,prebuild=mv lib libs -#Build fails on this version: -# res/values/styles.xml:62: error: Error retrieving parent for item: No resource found that matches the given name 'android:WindowTitleBackground' -#Build Version:1.8.1,121,b5f637bbb301aa2fe997c9f3367cfb144d158633,encoding=utf-8,prebuild=mkdir libs && \ -# cd libs && \ -# wget http://archive.apache.org/dist/commons/io/binaries/commons-io-2.0.1-bin.zip && \ -# unzip -j commons-io-2.0.1-bin.zip commons-io-2.0.1/commons-io-2.0.1.jar && \ -# wget http://guava-libraries.googlecode.com/files/guava-r08.zip && \ -# unzip -j guava-r08.zip guava-r08/guava-r08.jar && \ -# rm *.zip && \ -# cd .. -#Build fails on this version, same as previous version: -# res/values/styles.xml:62: error: Error retrieving parent for item: No resource found that matches the given name 'android:WindowTitleBackground' -#Build Version:1.8.1,121,9f626b0dedb01cb90a16fb127a041c5f3dd1c579,target=android-10,encoding=utf-8,prebuild=mkdir libs && \ -# cd libs && \ -# wget http://archive.apache.org/dist/commons/io/binaries/commons-io-2.0.1-bin.zip && \ -# unzip -j commons-io-2.0.1-bin.zip commons-io-2.0.1/commons-io-2.0.1.jar && \ -# wget http://guava-libraries.googlecode.com/files/guava-r08.zip && \ -# unzip -j guava-r08.zip guava-r08/guava-r08.jar && \ -# rm *.zip && \ -# cd .. -Market Version:1.8.4 -Market Version Code:125 +Update Check Mode:Market +Current Version:1.8.7 +Current Version Code:131 diff --git a/metadata/com.madgag.agit.txt b/metadata/com.madgag.agit.txt index b4d2a501..b200a520 100644 --- a/metadata/com.madgag.agit.txt +++ b/metadata/com.madgag.agit.txt @@ -14,6 +14,6 @@ Repo:https://github.com/rtyley/agit.git Update Check Mode:Market #No builds yet - another 'need to figure out how to make maven work' scenario -Market Version:1.27 -Market Version Code:120101721 +Current Version:1.27 +Current Version Code:120101721 diff --git a/metadata/com.martynhaigh.violin.txt b/metadata/com.martynhaigh.violin.txt index 46f9a335..3244cac5 100644 --- a/metadata/com.martynhaigh.violin.txt +++ b/metadata/com.martynhaigh.violin.txt @@ -10,6 +10,7 @@ Description: The world's tiniest open source violin. . -Market Version:1.3 -Market Version Code:9 +Update Check Mode:Market +Current Version:1.3 +Current Version Code:9 diff --git a/metadata/com.matburt.mobileorg.txt b/metadata/com.matburt.mobileorg.txt index 210363ef..46555092 100644 --- a/metadata/com.matburt.mobileorg.txt +++ b/metadata/com.matburt.mobileorg.txt @@ -12,9 +12,10 @@ TODO/task management based on emacs org-mode files. Repo Type:git Repo:https://github.com/matburt/mobileorg-android.git -Update Check Mode:Market #Needs dropbox consumer key #Build Version:0.5.2,51,38dfe967ee99c71b12b8 -Market Version:0.7.2 -Market Version Code:72 +#Build Version:0.7.1,71,ac21586a40da6d7c643e1b12023b59aa05d13c14 +Update Check Mode:Market +Current Version:0.8.0 +Current Version Code:80 diff --git a/metadata/com.mobilepearls.sokoban.txt b/metadata/com.mobilepearls.sokoban.txt index bb1d2d35..099fdc5f 100644 --- a/metadata/com.mobilepearls.sokoban.txt +++ b/metadata/com.mobilepearls.sokoban.txt @@ -14,6 +14,7 @@ Repo:https://github.com/mobilepearls/com.mobilepearls.sokoban.git Build Version:1.11,12,48e1976f9d9881adb70e -Market Version:1.11 -Market Version Code:12 +Update Check Mode:Market +Current Version:1.11 +Current Version Code:12 diff --git a/metadata/com.morphoss.acal.txt b/metadata/com.morphoss.acal.txt index 8e0f2dda..7d90709f 100644 --- a/metadata/com.morphoss.acal.txt +++ b/metadata/com.morphoss.acal.txt @@ -32,6 +32,6 @@ Build Version:1.35,37,r1.35,target=android-8 Build Version:1.36,38,r1.36,target=android-8 Update Check Mode:Market -Market Version:1.36 -Market Version Code:38 +Current Version:1.36 +Current Version Code:38 diff --git a/metadata/com.mp3tunes.android.player.txt b/metadata/com.mp3tunes.android.player.txt index 89c8d54e..61274b3b 100644 --- a/metadata/com.mp3tunes.android.player.txt +++ b/metadata/com.mp3tunes.android.player.txt @@ -17,6 +17,7 @@ Repo:https://mp3tunes.googlecode.com/hg/ Build Version:3.7,89,ba4550305733,target=android-4,fixapos=yes Build Version:5.1,92,!No source in repo -Market Version:5.1 -Market Version Code:92 +Update Check Mode:Market +Current Version:5.1 +Current Version Code:92 diff --git a/metadata/com.namelessdev.mpdroid.txt b/metadata/com.namelessdev.mpdroid.txt index 0925f42d..35ce9f0a 100644 --- a/metadata/com.namelessdev.mpdroid.txt +++ b/metadata/com.namelessdev.mpdroid.txt @@ -1,10 +1,8 @@ -Disabled:Doesn't build for me Category:Multimedia -#build/com.namelessdev.mpdroid/MPDroid/res/values/styles.xml:18: error: Error retrieving parent for item: No resource found that matches the given name '@android:style/Widget.Holo.ActionBar'. License:Apache2 -Web Site:https://github.com/dreamteam69/dmix -Source Code:https://github.com/dreamteam69/dmix -Issue Tracker:https://github.com/dreamteam69/dmix/issues +Web Site:https://github.com/abarisain/dmix +Source Code:https://github.com/abarisain/dmix +Issue Tracker:https://github.com/abarisain/dmix/issues Summary:MPD client Description: @@ -12,12 +10,17 @@ An MPD client which supports streaming. Can fetch cover art from last.fm. . Repo Type:git -Repo:https://github.com/dreamteam69/dmix.git +Repo:https://github.com/abarisain/dmix.git -Build Version:1.0,20,63a363a2ccc13232f4d80f5f857ab19b40fb5469,subdir=MPDroid,target=8,prebuild=\ -cd ../JMPDComm/ && ant && mkdir ../MPDroid/libs/ && cp ../JMPDComm/JMPDComm.jar ../MPDroid/libs/ && cd ../MPDroid \ -&& mv lib/android-support-v4.jar libs/ && cp -r ../lastfm-java/src/net/ src/; +Build Version:1.0,20,63a363a2ccc13232f4d80f5f857ab19b40fb5469,subdir=MPDroid,target=android-13,prebuild=mv lib/ libs/ && \ +cd ../JMPDComm/ && \ +ant && \ +cp JMPDComm.jar ../MPDroid/libs/ && \ +cd ../MPDroid && \ +cp -r ../lastfm-java/src/net/ src/ -Market Version:0.7 -Market Version Code:18 +# No longer updated in Google's Market, which has 0.7. +Update Check Mode:None +Current Version:1.0 +Current Version Code:20 diff --git a/metadata/com.nephoapp.anarxiv.txt b/metadata/com.nephoapp.anarxiv.txt index 3315f0d5..ad4f0aba 100644 --- a/metadata/com.nephoapp.anarxiv.txt +++ b/metadata/com.nephoapp.anarxiv.txt @@ -9,6 +9,7 @@ Description: Browse papers released on arxiv.org . -Market Version:0.3 -Market Version Code:3 +Update Check Mode:Market +Current Version:0.3 +Current Version Code:3 diff --git a/metadata/com.nexes.manager.txt b/metadata/com.nexes.manager.txt index a9754a59..5a3b5419 100644 --- a/metadata/com.nexes.manager.txt +++ b/metadata/com.nexes.manager.txt @@ -16,6 +16,7 @@ Build Version:2.0.0,4,f55ed171435570fa8d72 Build Version:2.1.2,212,7bca6266be731085ac92 Build Version:2.1.8,218,edf793a782861ae31648 -Market Version:2.1.8 -Market Version Code:218 +Update Check Mode:Market +Current Version:2.1.8 +Current Version Code:218 diff --git a/metadata/com.prey.txt b/metadata/com.prey.txt index f657a062..7886498a 100644 --- a/metadata/com.prey.txt +++ b/metadata/com.prey.txt @@ -26,6 +26,7 @@ Repo:https://github.com/prey/prey-android-client # TODO: c2dm (aka "push API") seems to require an API key from Google, see http://code.google.com/android/c2dm/index.html Build Version:0.5,34,8934cda82af81580a26cf4de233da15feaab1dfd,prebuild=echo "ask-for-password=true\nprey-minor-version=0\nprey-versionon=0.5\nprey-subdomain=control\nprey-domain=preyproject.com\n#c2dm\nc2dm-mail=\nc2dm-action=\nc2dm-message-sync=" > res/raw/config -Market Version:0.5 -Market Version Code:33 +Update Check Mode:Market +Current Version:0.5 +Current Version Code:33 diff --git a/metadata/com.proch.practicehub.txt b/metadata/com.proch.practicehub.txt index 17728a7c..42c0dbb7 100644 --- a/metadata/com.proch.practicehub.txt +++ b/metadata/com.proch.practicehub.txt @@ -15,6 +15,7 @@ Repo:https://code.google.com/p/music-practice-tools/ Build Version:1.0,1,109c0bddf346 -Market Version:1.0 -Market Version Code:1 +Update Check Mode:Market +Current Version:1.0 +Current Version Code:1 diff --git a/metadata/com.replica.replicaisland.txt b/metadata/com.replica.replicaisland.txt index 4c8f6fdb..c3632c5a 100644 --- a/metadata/com.replica.replicaisland.txt +++ b/metadata/com.replica.replicaisland.txt @@ -17,6 +17,7 @@ Repo:http://replicaisland.googlecode.com/svn/trunk/ Build Version:1.4,14,7 -Market Version:1.4 -Market Version Code:14 +Update Check Mode:Market +Current Version:1.4 +Current Version Code:14 diff --git a/metadata/com.ringdroid.txt b/metadata/com.ringdroid.txt index ba9e3924..6f1d5c14 100644 --- a/metadata/com.ringdroid.txt +++ b/metadata/com.ringdroid.txt @@ -15,6 +15,7 @@ Repo:http://ringdroid.googlecode.com/svn/trunk/ Build Version:2.5,20500,64,target=android-8 -Market Version:2.5 -Market Version Code:20500 +Update Check Mode:Market +Current Version:2.5 +Current Version Code:20500 diff --git a/metadata/com.roozen.SoundManager.txt b/metadata/com.roozen.SoundManager.txt index c3731585..ca09f4d7 100644 --- a/metadata/com.roozen.SoundManager.txt +++ b/metadata/com.roozen.SoundManager.txt @@ -17,6 +17,7 @@ Repo:http://app-soundmanager.googlecode.com/svn/tags/ Build Version:2.0.0,18,127,subdir=SoundManager-2.0.0,target=android-8,fixapos=yes -Market Version:2.0.0 -Market Version Code:18 +Update Check Mode:Market +Current Version:2.0.0 +Current Version Code:18 diff --git a/metadata/com.ryanm.minedroid.txt b/metadata/com.ryanm.minedroid.txt index b654748c..19150eb2 100644 --- a/metadata/com.ryanm.minedroid.txt +++ b/metadata/com.ryanm.minedroid.txt @@ -12,5 +12,7 @@ An experimental Minecraft client. Repo Type:svn Repo:http://minedroid.googlecode.com/svn/trunk/ +Update Check Mode:Market + #Needs DroidRUGL to build. #Build Version:Extra lucky bugfix edition,13,47,subdir=MineDroid diff --git a/metadata/com.scottmain.android.searchlight.txt b/metadata/com.scottmain.android.searchlight.txt new file mode 100644 index 00000000..a0f60e01 --- /dev/null +++ b/metadata/com.scottmain.android.searchlight.txt @@ -0,0 +1,21 @@ +Category:System +License:Apache2 +Web Site:http://code.google.com/p/search-light/ +Source Code:http://code.google.com/p/search-light/source/checkout +Issue Tracker:http://code.google.com/p/search-light/issues/list + +Summary:LED Flashlight +Description: +Uses your camera's LED as a flashlight. +. + +Repo Type:git-svn +Repo:http://search-light.googlecode.com/svn/trunk/ + +Build Version:1.0,1,2 +Build Version:1.3,4,!Source not available + +Update Check Mode:Market +Current Version:1.3 +Current Version Code:4 + diff --git a/metadata/com.serone.desktoplabel.txt b/metadata/com.serone.desktoplabel.txt index b4c4d775..0caa9407 100644 --- a/metadata/com.serone.desktoplabel.txt +++ b/metadata/com.serone.desktoplabel.txt @@ -9,6 +9,7 @@ Description: Allows you to add custom widgets to your 'desktop' to label things. . -Market Version:1.3.0 -Market Version Code:6 +Update Check Mode:Market +Current Version:1.3.0 +Current Version Code:6 diff --git a/metadata/com.smorgasbork.hotdeath.txt b/metadata/com.smorgasbork.hotdeath.txt index 2e3b6527..75d4e51d 100644 --- a/metadata/com.smorgasbork.hotdeath.txt +++ b/metadata/com.smorgasbork.hotdeath.txt @@ -13,7 +13,10 @@ Repo Type:svn Repo:http://hotdeath.googlecode.com/svn/trunk/ Build Version:1.0.2,3,26 +Build Version:1.0.5,6,34 +Build Version:1.0.6,7,36 -Market Version:1.0.2 -Market Version Code:3 +Update Check Mode:Market +Current Version:1.0.6 +Current Version Code:7 diff --git a/metadata/com.stericson.permissions.txt b/metadata/com.stericson.permissions.txt new file mode 100644 index 00000000..fb1070dd --- /dev/null +++ b/metadata/com.stericson.permissions.txt @@ -0,0 +1,28 @@ +Category:System +License:GPLv3 +Web Site:https://code.google.com/p/android-permissions/ +Source Code:https://code.google.com/p/android-permissions/source/checkout +Issue Tracker:https://code.google.com/p/android-permissions/issues/list + +Summary:Control permissions of installed apps +Description: +Permissions allows you to somewhat control the permissions an app is requesting +on your Android device. While it is not a perfect system, it does work +(although perhaps not on all devices). You do have to reboot the device before +the changes take place. + +Note that there are newer versions of this application available elsewhere, but +these are proprietary software. +. + +Requires Root:Yes + +Repo Type:git-svn +Repo:http://android-permissions.googlecode.com/svn/trunk/ + +Build Version:1.3,4,9,prebuild=rm -rf bin/ && rm -rf gen/ && mkdir libs && mv RootTools-1.0-sdk3-generic.jar libs + +Update Check Mode:None +Current Version:1.3 +Current Version Code:4 + diff --git a/metadata/com.tastycactus.timesheet.txt b/metadata/com.tastycactus.timesheet.txt new file mode 100644 index 00000000..0f7fcadf --- /dev/null +++ b/metadata/com.tastycactus.timesheet.txt @@ -0,0 +1,24 @@ +Category:Office +License:GPLv2 +Web Site:http://tastycactus.com/projects/timesheet/ +Source Code:https://github.com/ambrice/timesheet +Issue Tracker:https://github.com/ambrice/timesheet/issues + +Summary:Time Tracker +Description: +Timesheet is an application designed primarily for contractors and freelancers to track the time +spent on different tasks. + +You can add billable tasks and unbillable tasks (such as "Lunch") and get a daily or weekly +report of time spent on each. +. + +Repo Type:git +Repo:https://github.com/ambrice/timesheet.git + +Build Version:1.4,5,b6fca7587d7340cf6f433362d9e30a732349d857 + +Update Check Mode:Market +Current Version:1.4 +Current Version Code:5 + diff --git a/metadata/com.teleca.jamendo.txt b/metadata/com.teleca.jamendo.txt index 17f99aa7..8439456c 100644 --- a/metadata/com.teleca.jamendo.txt +++ b/metadata/com.teleca.jamendo.txt @@ -17,7 +17,9 @@ Build Version:1.0.1 [BETA],32,16425d6dde3bd2e18d4f Build Version:1.0.2 [BETA],33,641656d8811cdbe47b86 Build Version:1.0.2 [BETA],33,!No source in repo Build Version:1.0.3 [BETA],34,!No source in repo +Build Version:1.0.4 [BETA],35,63dceec70d59132b6311289c62edd0acb795ab27,target=android-11 -Market Version:1.0.4 [BETA] -Market Version Code:35 +Update Check Mode:Market +Current Version:1.0.4 [BETA] +Current Version Code:35 diff --git a/metadata/com.textuality.lifesaver2.txt b/metadata/com.textuality.lifesaver2.txt index 2e912022..48cf6350 100644 --- a/metadata/com.textuality.lifesaver2.txt +++ b/metadata/com.textuality.lifesaver2.txt @@ -9,6 +9,7 @@ Description: A simple backup and restore of your SMS and call logs. . -Market Version:1.0 -Market Version Code:3 +Update Check Mode:Market +Current Version:1.0 +Current Version Code:3 diff --git a/metadata/com.tj.qotd.txt b/metadata/com.tj.qotd.txt index 3b8b17b4..315c9649 100644 --- a/metadata/com.tj.qotd.txt +++ b/metadata/com.tj.qotd.txt @@ -13,6 +13,7 @@ A simple widget that displays random quotes in English or French. Repo Type:git Repo:https://github.com/thibault/OpenQOTD.git -Market Version:1.0.1 -Market Version Code:2 +Update Check Mode:Market +Current Version:1.0.1 +Current Version Code:2 diff --git a/metadata/com.totsp.bookworm.txt b/metadata/com.totsp.bookworm.txt index 5c6bf917..84940acb 100644 --- a/metadata/com.totsp.bookworm.txt +++ b/metadata/com.totsp.bookworm.txt @@ -18,6 +18,7 @@ Repo:http://and-bookworm.googlecode.com/svn/trunk Build Version:1.0.17,18,570 Build Version:1.0.18,19,574 -Market Version:1.0.18 -Market Version Code:19 +Update Check Mode:Market +Current Version:1.0.18 +Current Version Code:19 diff --git a/metadata/com.totsp.crossword.shortyz.txt b/metadata/com.totsp.crossword.shortyz.txt index 84184627..219092b8 100644 --- a/metadata/com.totsp.crossword.shortyz.txt +++ b/metadata/com.totsp.crossword.shortyz.txt @@ -15,7 +15,9 @@ Repo:https://code.google.com/p/shortyz/ Build Version:3.1.0,30100,1ce970a00083,subdir=shortyz,target=android-11,prebuild=\ cd ../puzlib && mvn package && mv target/*.jar ../shortyz/libs && rm -rf target &&\ cd ../shortyz +Build Version:3.1.7,30107,!No source code apparently -Market Version:3.1.7 -Market Version Code:30107 +Update Check Mode:Market +Current Version:3.1.7 +Current Version Code:30107 diff --git a/metadata/com.ubuntuone.android.files.txt b/metadata/com.ubuntuone.android.files.txt new file mode 100644 index 00000000..fa0b1efc --- /dev/null +++ b/metadata/com.ubuntuone.android.files.txt @@ -0,0 +1,23 @@ +Disabled:Proprietary dependencies, e.g. libGoogleAnalytics.jar +AntiFeatures:NonFreeNet,Tracking +Category:Internet +License:AGPLv3 +Web Site:https://one.ubuntu.com/ +Source Code:http://bazaar.launchpad.net/~ubuntuone-android-hackers/ubuntuone-android-files/trunk-2011/files +Issue Tracker:https://bugs.launchpad.net/ubuntuone-android-files + +Summary:Ubuntu One Client +Description: +File synchronisation client for Ubuntu One. +. + +Repo Type:bzr +Repo:lp:ubuntuone-android-files + +Update Check Mode:Market +Current Version:1.0.5.2 +Current Version Code:295 + +#Need more dependencies for this too, but pointless since at least one is proprietary. +#The others will need to be checked carefully too. +#Build Version:1.0.5.2,295,296,prebuild=sed -i "s@\.\./GreenDroid@extlib/GreenDroid@" project.properties diff --git a/metadata/com.unitedcoders.android.gpodroid.txt b/metadata/com.unitedcoders.android.gpodroid.txt index 879ea869..00f3df34 100644 --- a/metadata/com.unitedcoders.android.gpodroid.txt +++ b/metadata/com.unitedcoders.android.gpodroid.txt @@ -14,3 +14,5 @@ Repo:git://github.com/gpodder/GpodRoid.git Build Version:0.4.7,12,0.4.7,target=android-7,prebuild=mv jars libs +Update Check Mode:Market + diff --git a/metadata/com.voidcode.diasporawebclient.txt b/metadata/com.voidcode.diasporawebclient.txt index d9fac683..d2b03da5 100644 --- a/metadata/com.voidcode.diasporawebclient.txt +++ b/metadata/com.voidcode.diasporawebclient.txt @@ -14,6 +14,14 @@ Repo:https://github.com/voidcode/Diaspora-Webclient.git Build Version:1.3,3,26d7120fea1af5835a17537bebeef6df523d57e6,prebuild=rm -rf gen/ && rm -rf bin/,target=android-10 -Market Version:1.5 -Market Version Code:6 +Build Version:1.5,6,a153d5f996f284da44d5defa25ce601fd76b53ad,target=android-10,prebuild=\ +rm -rf gen/ && \ +rm -rf bin/ && \ +mkdir libs && \ +mv google-api-translate-java-0.97.jar libs/ && \ +mv microsoft-translator-java-api-0.4-jar-with-dependencies.jar libs/ + +Update Check Mode:Market +Current Version:1.5 +Current Version Code:6 diff --git a/metadata/com.volosyukivan.txt b/metadata/com.volosyukivan.txt index 78e11d26..c166eceb 100644 --- a/metadata/com.volosyukivan.txt +++ b/metadata/com.volosyukivan.txt @@ -16,6 +16,7 @@ Build Version:2.2.1,23,b40d511cf0,encoding=utf-8,prebuild=mv html/key.html res/r Build Version:2.3.1,25,e14cdd438d00,encoding=utf-8,prebuild=mv html/key.html res/raw Build Version:2.3.2,26,887fc89874c5,encoding=utf-8,prebuild=mv html/key.html res/raw -Market Version:2.3.2 -Market Version Code:26 +Update Check Mode:Market +Current Version:2.3.2 +Current Version Code:26 diff --git a/metadata/com.wanghaus.remembeer.txt b/metadata/com.wanghaus.remembeer.txt index 6c692951..d0d270fa 100644 --- a/metadata/com.wanghaus.remembeer.txt +++ b/metadata/com.wanghaus.remembeer.txt @@ -18,6 +18,7 @@ Repo:git://code.discordians.net/srv/git/remembeer.git Build Version:1.2.2,48,c9d64e35964e9c445749aa02e470354b5788d8b4,target=android-4,subdir=android,prebuild=mv lib libs Build Version:1.3.0,50,319231627d207cf7fb1d2ac23ada0ffdd486230c,target=android-4,subdir=android,prebuild=mv lib libs -Market Version:1.3.0 -Market Version Code:50 +Update Check Mode:Market +Current Version:1.3.0 +Current Version Code:50 diff --git a/metadata/com.webworxshop.swallowcatcher.txt b/metadata/com.webworxshop.swallowcatcher.txt index 0a789d88..9a7ade0a 100644 --- a/metadata/com.webworxshop.swallowcatcher.txt +++ b/metadata/com.webworxshop.swallowcatcher.txt @@ -16,3 +16,5 @@ Build Version:0.1.2,5,1528089ae926c6424f9017b46940616cf1164820 Build Version:0.1.3,6,96660ce659e830f1ac18d4187948a3ac227e2225 Build Version:0.2.0,7,cb4dd3114342b41ae63fe050628bb4811efa8beb +Update Check Mode:Market + diff --git a/metadata/com.zegoggles.gist.txt b/metadata/com.zegoggles.gist.txt index 6265cad3..22314b4c 100644 --- a/metadata/com.zegoggles.gist.txt +++ b/metadata/com.zegoggles.gist.txt @@ -13,6 +13,7 @@ this Android app. Repo Type:git Repo:https://github.com/jberkel/gist-it.git -Market Version:0.1.4 -Market Version Code:5 +Update Check Mode:Market +Current Version:0.1.4 +Current Version Code:5 diff --git a/metadata/com.zegoggles.smssync.txt b/metadata/com.zegoggles.smssync.txt index 20d996c2..38a2e3f6 100644 --- a/metadata/com.zegoggles.smssync.txt +++ b/metadata/com.zegoggles.smssync.txt @@ -18,6 +18,7 @@ Build Version:1.4.3,1404,1.4.3 Build Version:1.4.4,1405,1.4.4,target=android-10,prebuild=mv lib libs Build Version:1.4.5,1406,1.4.5,target=android-10,prebuild=mv lib libs -Market Version:1.4.5 -Market Version Code:1406 +Update Check Mode:Market +Current Version:1.4.5 +Current Version Code:1406 diff --git a/metadata/cz.hejl.chesswalk.txt b/metadata/cz.hejl.chesswalk.txt index 0922d068..1eaeb4f8 100644 --- a/metadata/cz.hejl.chesswalk.txt +++ b/metadata/cz.hejl.chesswalk.txt @@ -14,7 +14,7 @@ Repo:https://git.gitorious.org/chesswalk/chesswalk.git Build Version:1.5,7,4007173d,buildjni=yes -Update Check Mode:Market -Market Version:1.4 -Market Version Code:6 +Update Check Mode:None +Current Version:1.5 +Current Version Code:7 diff --git a/metadata/cz.romario.opensudoku.txt b/metadata/cz.romario.opensudoku.txt index caffa4c5..233d609a 100644 --- a/metadata/cz.romario.opensudoku.txt +++ b/metadata/cz.romario.opensudoku.txt @@ -17,6 +17,7 @@ Repo:http://opensudoku-android.googlecode.com/svn/trunk/OpenSudoku Build Version:1.1.4,1104,409 Build Version:1.1.5,1105,412 -Market Version:1.1.5 -Market Version Code:1105 +Update Check Mode:Market +Current Version:1.1.5 +Current Version Code:1105 diff --git a/metadata/de.blau.android.Application.txt b/metadata/de.blau.android.Application.txt index 09b971be..67d25f61 100644 --- a/metadata/de.blau.android.Application.txt +++ b/metadata/de.blau.android.Application.txt @@ -14,3 +14,5 @@ Repo:http://osmeditor4android.googlecode.com/svn Build Version:0.7.0,14,201,subdir=tags/Version_0.7.0 +Update Check Mode:Market + diff --git a/metadata/de.joergjahnke.c64.android.txt b/metadata/de.joergjahnke.c64.android.txt index a27f39e2..7da9984d 100644 --- a/metadata/de.joergjahnke.c64.android.txt +++ b/metadata/de.joergjahnke.c64.android.txt @@ -12,6 +12,6 @@ A Commodore 64 (C64) emulator. . Update Check Mode:Market -Market Version:1.6 -Market Version Code:10600 +Current Version:1.6.1 +Current Version Code:10601 diff --git a/metadata/de.shandschuh.slightbackup.txt b/metadata/de.shandschuh.slightbackup.txt index 1a131513..dc2bebe7 100644 --- a/metadata/de.shandschuh.slightbackup.txt +++ b/metadata/de.shandschuh.slightbackup.txt @@ -21,6 +21,7 @@ Build Version:0.2,6,94715551ab863b20df3d,target=android-10 Build Version:0.4.2,12,843c7eecef6ac3602728,target=android-10 Build Version:0.4.3,13,093cf46438b95cc379139792f7093739dcdfc2a7,target=android-10 -Market Version:0.4.3 -Market Version Code:13 +Update Check Mode:Market +Current Version:0.4.3 +Current Version Code:13 diff --git a/metadata/de.shandschuh.sparserss.txt b/metadata/de.shandschuh.sparserss.txt index 8e1f07b6..81f148be 100644 --- a/metadata/de.shandschuh.sparserss.txt +++ b/metadata/de.shandschuh.sparserss.txt @@ -22,7 +22,10 @@ Build Version:1.1.1,65,177,target=android-8 Build Version:1.2.2,68,183,target=android-8 Build Version:1.3,69,197,target=android-8 Build Version:1.3.1,70,210,target=android-10 +Build Version:1.3.2,71,217,target=android-10,prebuild=rm -rf bin/ +Build Version:1.3.3_4,75,!No corresponding source in repo -Market Version:1.3.2 -Market Version Code:71 +Update Check Mode:Market +Current Version:1.3.3_4 +Current Version Code:75 diff --git a/metadata/de.ub0r.android.adBlock.txt b/metadata/de.ub0r.android.adBlock.txt index 5d6788bb..3901b7a2 100644 --- a/metadata/de.ub0r.android.adBlock.txt +++ b/metadata/de.ub0r.android.adBlock.txt @@ -14,6 +14,7 @@ Repo:https://github.com/felixb/adBlock.git Build Version:0.5,5,v0.5,oldsdkloc=yes -Market Version:0.5 -Market Version Code:5 +Update Check Mode:Market +Current Version:0.5 +Current Version Code:5 diff --git a/metadata/de.ub0r.android.callmeter.txt b/metadata/de.ub0r.android.callmeter.txt index 4bde3529..bb620d9f 100644 --- a/metadata/de.ub0r.android.callmeter.txt +++ b/metadata/de.ub0r.android.callmeter.txt @@ -1,3 +1,4 @@ +Disabled:Proprietary binary - GoogleAdMobAdsSdk-4.3.1.jar AntiFeatures:Ads Category:System License:GPL3+ @@ -10,6 +11,7 @@ Description: CallMeter is an Android application summing up your call and text logs. Different billing modes and periods are take into account on summing. . -Market Version:3.0 -Market Version Code:2836 +Update Check Mode:Market +Current Version:3.0 +Current Version Code:2836 diff --git a/metadata/dk.andsen.asqlitemanager.txt b/metadata/dk.andsen.asqlitemanager.txt index 62b2ae46..a53e2cb5 100644 --- a/metadata/dk.andsen.asqlitemanager.txt +++ b/metadata/dk.andsen.asqlitemanager.txt @@ -14,7 +14,9 @@ Repo:https://asqlitemanager.svn.sourceforge.net/svnroot/asqlitemanager Build Version:2.6,7,190,subdir=aSQLiteManager Build Version:2.7,9,204,subdir=aSQLiteManager,target=android-10 +Build Version:3.0,10,211,subdir=aSQLiteManager,target=android-10 -Market Version:2.7 -Market Version Code:9 +Update Check Mode:Market +Current Version:3.0 +Current Version Code:10 diff --git a/metadata/edu.nyu.cs.omnidroid.app.txt b/metadata/edu.nyu.cs.omnidroid.app.txt index f12b9a8e..e4c4c8da 100644 --- a/metadata/edu.nyu.cs.omnidroid.app.txt +++ b/metadata/edu.nyu.cs.omnidroid.app.txt @@ -19,6 +19,7 @@ Repo:http://omnidroid.googlecode.com/svn/trunk/ Build Version:0.2.1,6,861,subdir=omnidroid,fixtrans=yes Build Version:0.2.2,7,!Apparently no source code exists for this -Market Version:0.2.2 -Market Version Code:7 +Update Check Mode:Market +Current Version:0.2.2 +Current Version Code:7 diff --git a/metadata/edu.rit.poe.atomix.txt b/metadata/edu.rit.poe.atomix.txt index b52769d5..5bb6af06 100644 --- a/metadata/edu.rit.poe.atomix.txt +++ b/metadata/edu.rit.poe.atomix.txt @@ -16,6 +16,7 @@ Repo:https://droid-atomix.googlecode.com/hg/ Build Version:1.0.1,2,ea2086d1f9fe759866008f6fe5187fc1cc97bd1d,target=android-4,prebuild=sed -i -e "/key\.alias.*/d" -e "/key\.store.*/d" *.properties -Market Version:1.0.1 -Market Version Code:2 +Update Check Mode:Market +Current Version:1.0.1 +Current Version Code:2 diff --git a/metadata/es.prodevelop.gvsig.mini.txt b/metadata/es.prodevelop.gvsig.mini.txt index b49b5214..d8cab53d 100644 --- a/metadata/es.prodevelop.gvsig.mini.txt +++ b/metadata/es.prodevelop.gvsig.mini.txt @@ -9,6 +9,7 @@ Description: A tile-based map viewer with support for maps from many sources. . -Market Version:1.2.3 -Market Version Code:457 +Update Check Mode:Market +Current Version:1.2.3 +Current Version Code:457 diff --git a/metadata/eu.vranckaert.worktime.txt b/metadata/eu.vranckaert.worktime.txt index d9786b4b..23da76e2 100644 --- a/metadata/eu.vranckaert.worktime.txt +++ b/metadata/eu.vranckaert.worktime.txt @@ -4,7 +4,6 @@ License:Apache2 Web Site:https://code.google.com/p/worktime/ Source Code:https://code.google.com/p/worktime/source/browse/ Issue Tracker:https://code.google.com/p/worktime/wiki/Issues?tm=3 -Donate: Summary:tracks your work time Description: @@ -20,3 +19,5 @@ Repo:http://worktime.googlecode.com/svn/branches/1.1.2-f/android-app #Build Version:1.1.2.f,104,268,target=android-11,patch=style.patch Build Version:1.1.3.a - UNSTABLE,107,273,target=android-11,patch=style.patch +Update Check Mode:Market + diff --git a/metadata/fm.libre.droid.txt b/metadata/fm.libre.droid.txt index 0984298a..45499812 100644 --- a/metadata/fm.libre.droid.txt +++ b/metadata/fm.libre.droid.txt @@ -15,6 +15,7 @@ Repo:git://gitorious.org/foocorp/gnu-fm.git Build Version:1.4,4,926fde6d208190a1fffef12a47bb231f908125e8,subdir=clients/libredroid Build Version:1.2,3,4ebfcf224745ca443a308463721e4f8001293f15,subdir=clients/libredroid -Market Version:1.4 -Market Version Code:4 +Update Check Mode:Market +Current Version:1.4 +Current Version Code:4 diff --git a/metadata/fr.seeks.txt b/metadata/fr.seeks.txt index 828a6f06..58a464ec 100644 --- a/metadata/fr.seeks.txt +++ b/metadata/fr.seeks.txt @@ -14,6 +14,7 @@ Repo:https://github.com/sileht/SeeksWidget.git Build Version:1.2,4,1.2 -Market Version:1.2 -Market Version Code:4 +Update Check Mode:Market +Current Version:1.2 +Current Version Code:4 diff --git a/metadata/goo.TeaTimer.txt b/metadata/goo.TeaTimer.txt index fcff73bf..84e38e5c 100644 --- a/metadata/goo.TeaTimer.txt +++ b/metadata/goo.TeaTimer.txt @@ -15,6 +15,7 @@ Repo:https://github.com/ralphleon/TeaTimer.git Build Version:1.6,9,c92a936 Build Version:1.7,10,!No source in repo -Market Version:1.7 -Market Version Code:10 +Update Check Mode:Market +Current Version:1.7 +Current Version Code:10 diff --git a/metadata/info.guardianproject.browser.txt b/metadata/info.guardianproject.browser.txt index c77daf1d..ffffbeef 100644 --- a/metadata/info.guardianproject.browser.txt +++ b/metadata/info.guardianproject.browser.txt @@ -14,6 +14,7 @@ Repo:git://github.com/guardianproject/Orweb.git Build Version:0.2.2,3,460a5a92bc5a426f7ff710f03bc1341359a17d4b -Market Version:0.2.2 -Market Version Code:4 +Update Check Mode:Market +Current Version:0.2.2 +Current Version Code:4 diff --git a/metadata/info.guardianproject.cacert.txt b/metadata/info.guardianproject.cacert.txt index 2e8de754..965dd198 100644 --- a/metadata/info.guardianproject.cacert.txt +++ b/metadata/info.guardianproject.cacert.txt @@ -23,6 +23,7 @@ Repo:https://github.com/guardianproject/cacert.git Build Version:0.0.2-20110906,3,0.0.2,target=android-8,subdir=app Build Version:0.0.2.20111012,4,212187e9c398e46fda87fe2335ee48bb693caca0,target=android-8,subdir=app -Market Version:0.0.2-20110906 -Market Version Code:3 +Update Check Mode:Market +Current Version:0.0.2-20110906 +Current Version Code:3 diff --git a/metadata/info.guardianproject.otr.app.im.txt b/metadata/info.guardianproject.otr.app.im.txt index d01a21be..95a4437e 100644 --- a/metadata/info.guardianproject.otr.app.im.txt +++ b/metadata/info.guardianproject.otr.app.im.txt @@ -16,6 +16,7 @@ Repo:https://github.com/guardianproject/Gibberbot.git Build Version:0.0.7-RC1,25,e17dbbcf338af00466cabc5178634cd0d5ffded8,target=android-4 -Market Version:0.0.5-RC5 -Market Version Code:21 +Update Check Mode:Market +Current Version:0.0.5-RC5 +Current Version Code:21 diff --git a/metadata/info.lamatricexiste.network.txt b/metadata/info.lamatricexiste.network.txt index 731998b2..31b08a2a 100644 --- a/metadata/info.lamatricexiste.network.txt +++ b/metadata/info.lamatricexiste.network.txt @@ -13,7 +13,9 @@ Repo Type:git Repo:https://github.com/rorist/android-network-discovery.git Build Version:0.3.4,42,32bffddce7e37a3c12f8,oldsdkloc=yes +Build Version:0.3.5,43,e89a9791a646a1abbf5b4916e86784d167b89034,oldsdkloc=yes,target=android-8,init=rm build.properties -Market Version:0.3.4 -Market Version Code:42 +Update Check Mode:Market +Current Version:0.3.5 +Current Version Code:43 diff --git a/metadata/info.staticfree.android.units.txt b/metadata/info.staticfree.android.units.txt index b72fcc0f..66b07181 100644 --- a/metadata/info.staticfree.android.units.txt +++ b/metadata/info.staticfree.android.units.txt @@ -14,10 +14,11 @@ Repo:git://staticfree.info/git/Units/ Build Version:0.8,7,8be8c10c67152783b6871a70d077a0758e5086ba Build Version:0.9,8,3cde1f8d6b822ddcee23f984fab53e7bad3817df - #Commenting the following out because it doesn't build.... #src/info/staticfree/android/units/Units.java:32: package org.jared.commons.ui does not exist -#Build Version:1.0,9,1db6cd055203bd2f15eaffd7a780db2ee22974af -Market Version:1.0 -Market Version Code:9 +#Build Version:1.0,9,1db6cd055203bd2f15eaffd7a780db2ee22974af,rm Units.apk && rm extra/*.jar && rm -rf libs/ && mv lib/ libs/ + +Update Check Mode:Market +Current Version:1.0 +Current Version Code:9 diff --git a/metadata/me.guillaumin.android.osmtracker.txt b/metadata/me.guillaumin.android.osmtracker.txt index 1b5e73d6..50cf52f1 100644 --- a/metadata/me.guillaumin.android.osmtracker.txt +++ b/metadata/me.guillaumin.android.osmtracker.txt @@ -17,7 +17,9 @@ Repo Type:git Repo:https://github.com/nguillaumin/osmtracker-android.git Build Version:0.5.6,21,0.5.6,target=android-8 +Build Version:0.5.7,22,eac27c8a37066988f784cbc2ad7e7a2ab0326839,target=android-8 -Market Version:0.5.6 -Market Version Code:21 +Update Check Mode:Market +Current Version:0.5.7 +Current Version Code:22 diff --git a/metadata/mixedbit.speechtrainer.txt b/metadata/mixedbit.speechtrainer.txt index 1f2839b2..5b441af1 100644 --- a/metadata/mixedbit.speechtrainer.txt +++ b/metadata/mixedbit.speechtrainer.txt @@ -16,6 +16,7 @@ Repo:git://github.com/wrr/speech_trainer.git Build Version:1.01,2,109eba6da3eac93c6e0d445f488433452387f815,subdir=app,target=android-10 -Market Version:1.01 -Market Version Code:2 +Update Check Mode:Market +Current Version:1.01 +Current Version Code:2 diff --git a/metadata/name.bagi.levente.pedometer.txt b/metadata/name.bagi.levente.pedometer.txt index 94736bba..026f1c0e 100644 --- a/metadata/name.bagi.levente.pedometer.txt +++ b/metadata/name.bagi.levente.pedometer.txt @@ -14,6 +14,7 @@ Repo:https://github.com/bagilevi/android-pedometer.git Build Version:1.4.1,6,1.4.1 -Market Version:1.4.1 -Market Version Code:6 +Update Check Mode:Market +Current Version:1.4.1 +Current Version Code:6 diff --git a/metadata/net.androgames.level.txt b/metadata/net.androgames.level.txt index d32a0505..0b23df58 100644 --- a/metadata/net.androgames.level.txt +++ b/metadata/net.androgames.level.txt @@ -22,6 +22,6 @@ Repo:http://androgames-sample.googlecode.com/svn/Market-apps/Level/trunk/ Build Version:1.8.0,27,75 Update Check Mode:Market -Market Version:1.8.0 -Market Version Code:27 +Current Version:1.8.0 +Current Version Code:27 diff --git a/metadata/net.avs234.txt b/metadata/net.avs234.txt index d045711b..507b9c20 100644 --- a/metadata/net.avs234.txt +++ b/metadata/net.avs234.txt @@ -14,9 +14,10 @@ are also supported. Repo Type:git-svn Repo:http://andless.googlecode.com/svn/trunk/ +Update Check Mode:Market #Can't build this without modifying the NDK - http://code.google.com/p/andless/wiki/Building #Binary of this version in the repo #Build Version:1.3.3,10,91,buildjni=yes -Market Version:1.3.3 -Market Version Code:10 +Current Version:1.3.3 +Current Version Code:10 diff --git a/metadata/net.bytten.xkcdviewer.txt b/metadata/net.bytten.xkcdviewer.txt index dc2f99b0..03a08972 100644 --- a/metadata/net.bytten.xkcdviewer.txt +++ b/metadata/net.bytten.xkcdviewer.txt @@ -17,6 +17,7 @@ Build Version:2.1.2,15,20ceb28d4360b11d2bfd Build Version:2.2.1,17,8ee6381d565db4d1b6a4 Build Version:3.0.2,21,v3.0.2,target=android-10 -Market Version:3.0.2 -Market Version Code:21 +Update Check Mode:Market +Current Version:3.0.2 +Current Version Code:21 diff --git a/metadata/net.cactii.mathdoku.txt b/metadata/net.cactii.mathdoku.txt index 59daa2b6..9b5f6fc2 100644 --- a/metadata/net.cactii.mathdoku.txt +++ b/metadata/net.cactii.mathdoku.txt @@ -14,6 +14,7 @@ Repo:http://mathdoku.googlecode.com/svn/trunk/ Build Version:1.8,70,70 -Market Version:1.8 -Market Version Code:70 +Update Check Mode:Market +Current Version:1.8 +Current Version Code:70 diff --git a/metadata/net.dahanne.android.regalandroid.txt b/metadata/net.dahanne.android.regalandroid.txt index 826da7a4..fca67dd3 100644 --- a/metadata/net.dahanne.android.regalandroid.txt +++ b/metadata/net.dahanne.android.regalandroid.txt @@ -10,6 +10,7 @@ A gallery client with support for G2 and G3 (also known as Menalto Gallery) and Piwigo. . -Market Version:1.1.2 -Market Version Code:5 +Update Check Mode:Market +Current Version:1.1.2 +Current Version Code:5 diff --git a/metadata/net.fercanet.LNM.txt b/metadata/net.fercanet.LNM.txt index 45c68edd..907a6210 100644 --- a/metadata/net.fercanet.LNM.txt +++ b/metadata/net.fercanet.LNM.txt @@ -15,6 +15,7 @@ Repo:https://learnmusicnotes.svn.sourceforge.net/svnroot/learnmusicnotes/trunk Build Version:1.2,3,16 Build Version:1.4,5,!No source for this version in the repo -Market Version:1.4 -Market Version Code:5 +Update Check Mode:Market +Current Version:1.4 +Current Version Code:5 diff --git a/metadata/net.gaast.giggity.txt b/metadata/net.gaast.giggity.txt index 17f45290..d1dce4c6 100644 --- a/metadata/net.gaast.giggity.txt +++ b/metadata/net.gaast.giggity.txt @@ -15,8 +15,10 @@ Repo Type:bzr Repo:http://wilmer.gaa.st/giggity/ Build Version:0.8.1,4,133 +Build Version:0.9.8,16,238 +Build Version:0.9.9,17,!No source in repo -#There is a 0.8.2 in the market, but the repo source doesn't seem to correspond -Market Version:0.9.8 -Market Version Code:16 +Update Check Mode:Market +Current Version:0.9.9 +Current Version Code:17 diff --git a/metadata/net.gorry.aicia.txt b/metadata/net.gorry.aicia.txt index 07b46cea..92e95b5c 100644 --- a/metadata/net.gorry.aicia.txt +++ b/metadata/net.gorry.aicia.txt @@ -10,6 +10,6 @@ Internet Relay Chat client with a twin-pane view. . Update Check Mode:Market -Market Version:2012.0117.1 -Market Version Code:201201171 +Current Version:2012.0117.1 +Current Version Code:201201171 diff --git a/metadata/net.healeys.lexic.txt b/metadata/net.healeys.lexic.txt new file mode 100644 index 00000000..ce9a66e9 --- /dev/null +++ b/metadata/net.healeys.lexic.txt @@ -0,0 +1,21 @@ +Category:Games +License:GPLv3 +Web Site:http://lexic-games.com/ +Source Code:http://code.google.com/p/lexic/source/checkout +Issue Tracker:http://code.google.com/p/lexic/issues/list + +Summary:Word Game +Description: +A word game where you have 3 minutes to find as many words as possible on a +grid of random letters. +. + +Repo Type:hg +Repo:https://code.google.com/p/lexic/ + +Build Version:0.8.1,41,5ffa6d7ee6a4,target=android-8,subdir=trunk + +Update Check Mode:Market +Current Version:0.8.1 +Current Version Code:42 + diff --git a/metadata/net.jaqpot.netcounter.txt b/metadata/net.jaqpot.netcounter.txt index 0e11ab31..5acfe338 100644 --- a/metadata/net.jaqpot.netcounter.txt +++ b/metadata/net.jaqpot.netcounter.txt @@ -11,6 +11,7 @@ to you in an easy to read format. It can also alert you when you reach a predefi limit. . -Market Version:0.14.1 -Market Version Code:22 +Update Check Mode:Market +Current Version:0.14.1 +Current Version Code:22 diff --git a/metadata/net.mafro.android.wakeonlan.txt b/metadata/net.mafro.android.wakeonlan.txt index cd59613b..b092ac5b 100644 --- a/metadata/net.mafro.android.wakeonlan.txt +++ b/metadata/net.mafro.android.wakeonlan.txt @@ -14,6 +14,7 @@ Repo:https://github.com/mafrosis/Wake-On-Lan.git Build Version:1.4.2,12,468312845057e78a70f7b6260f2b116042571c42 -Market Version:1.4.2 -Market Version Code:12 +Update Check Mode:Market +Current Version:1.4.2 +Current Version Code:12 diff --git a/metadata/net.nightwhistler.pageturner.txt b/metadata/net.nightwhistler.pageturner.txt new file mode 100644 index 00000000..dc26cce2 --- /dev/null +++ b/metadata/net.nightwhistler.pageturner.txt @@ -0,0 +1,19 @@ +Category:Office +License:GPLv3 +Web Site:http://pageturner-reader.org/ +Source Code:https://github.com/NightWhistler/PageTurner +Issue Tracker:https://github.com/NightWhistler/PageTurner/issues +Donate:http://www.pageturner-reader.org/ + +Summary:Synchronising e-reader +Description: +E-book reader with synchronisation capabilities. +. + +Repo Type:git +Repo:https://github.com/NightWhistler/PageTurner.git + +Build Version:0.2.14_dev,1,dadd9b4eb0f4ca272e7e86c3e06dd47993755696,extlibs=guice/guice-2.0-no_aop.jar;roboguice/roboguice-1.1.jar;epublib/epublib-core-3.0-SNAPSHOT.jar;acra/acra-4.2.3.jar;sl4j/slf4j-android-1.6.1-RC1.jar;HtmlSpanner/htmlspanner-0.1-SNAPSHOT.jar;htmlcleaner/htmlcleaner-2.2.jar +Build Version:1.0,2,59a4d5ceca218973105bb3923d02dda72a45fbdd,extlibs=guice/guice-2.0-no_aop.jar;roboguice/roboguice-1.1.jar;epublib/epublib-core-3.0-SNAPSHOT.jar;acra/acra-4.2.3.jar;sl4j/slf4j-android-1.6.1-RC1.jar;HtmlSpanner/htmlspanner-0.1-SNAPSHOT.jar;htmlcleaner/htmlcleaner-2.2.jar +Build Version:1.0.1,3,d29570f185d585d3eaf83ebf8b9e78928f36ad2e,extlibs=guice/guice-2.0-no_aop.jar;roboguice/roboguice-1.1.jar;epublib/epublib-core-3.0-SNAPSHOT.jar;acra/acra-4.2.3.jar;sl4j/slf4j-android-1.6.1-RC1.jar;HtmlSpanner/htmlspanner-0.1-SNAPSHOT.jar;htmlcleaner/htmlcleaner-2.2.jar + diff --git a/metadata/net.osmand.plus.txt b/metadata/net.osmand.plus.txt index aca71039..02ae14fb 100644 --- a/metadata/net.osmand.plus.txt +++ b/metadata/net.osmand.plus.txt @@ -23,6 +23,6 @@ Build Version:0.6.9,42,v0.6.9,subdir=OsmAnd,encoding=utf-8,prebuild=mkdir raw Build Version:0.6.9',43,!No corresponding source for whatever this is Update Check Mode:Market -Market Version:0.7.0 -Market Version Code:45 +Current Version:0.7.0 +Current Version Code:46 diff --git a/metadata/net.osmand.txt b/metadata/net.osmand.txt index 343f973b..aaa098f9 100644 --- a/metadata/net.osmand.txt +++ b/metadata/net.osmand.txt @@ -17,6 +17,6 @@ Build Version:0.5.2,25,efc0e83a,subdir=OsmAnd,encoding=utf-8,prebuild=mkdir asse Build Version:0.5.3,26,8e9d76ea685ea75d6c08,subdir=OsmAnd,encoding=utf-8,prebuild=mkdir assets && mkdir raw Update Check Mode:Market -Market Version:0.7.0 -Market Version Code:45 +Current Version:0.7.0 +Current Version Code:46 diff --git a/metadata/net.pierrox.mcompass.txt b/metadata/net.pierrox.mcompass.txt index 02a42e38..a08d1296 100644 --- a/metadata/net.pierrox.mcompass.txt +++ b/metadata/net.pierrox.mcompass.txt @@ -14,6 +14,8 @@ Repo:http://svn.pierrox.net/mcompass/trunk/ Build Version:1.2.4,10,32 -Market Version:2.5.1 -Market Version Code:23 +# In market, as v2.x, but it's now apparently proprietary +Update Check Mode:None +Current Version:1.2.4 +Current Version Code:10 diff --git a/metadata/net.rocrail.androc.txt b/metadata/net.rocrail.androc.txt index 6f9e9fe5..4c18fbd1 100644 --- a/metadata/net.rocrail.androc.txt +++ b/metadata/net.rocrail.androc.txt @@ -29,7 +29,9 @@ Build Version:1.5.315,315,315 Build Version:1.5.317,317,!wrong version code Build Version:1.5.324,324,324 Build Version:1.5.324,324,324 +Build Version:339,339,339 -Market Version:339 -Market Version Code:339 +Update Check Mode:Market +Current Version:339 +Current Version Code:339 diff --git a/metadata/net.sf.andbatdog.batterydog.txt b/metadata/net.sf.andbatdog.batterydog.txt index a9b4db3c..c84756ec 100644 --- a/metadata/net.sf.andbatdog.batterydog.txt +++ b/metadata/net.sf.andbatdog.batterydog.txt @@ -19,6 +19,7 @@ Repo:https://andbatdog.svn.sourceforge.net/svnroot/andbatdog/trunk/AndroidBatter Build Version:0.1.1,11,22,encoding=iso-8859-1 Build Version:0.1.3,13,!No source for 0.1.2 and newer -Market Version:0.1.3 -Market Version Code:13 +Update Check Mode:Market +Current Version:0.1.3 +Current Version Code:13 diff --git a/metadata/net.sourceforge.servestream.txt b/metadata/net.sourceforge.servestream.txt index 103ae6d0..a2e22bf3 100644 --- a/metadata/net.sourceforge.servestream.txt +++ b/metadata/net.sourceforge.servestream.txt @@ -22,6 +22,6 @@ Build Version:0.3.1,48,659,prebuild=mv lib/ libs/ Build Version:0.4.4,54,957,prebuild=mv lib/ libs/ Update Check Mode:Market -Market Version:0.4.4 -Market Version Code:54 +Current Version:0.4.4 +Current Version Code:54 diff --git a/metadata/net.status.client.mobile.txt b/metadata/net.status.client.mobile.txt index 264fe8a8..ecffc238 100644 --- a/metadata/net.status.client.mobile.txt +++ b/metadata/net.status.client.mobile.txt @@ -9,6 +9,7 @@ Description: The official client for StatusNet microblogging (which includes identi.ca). . -Market Version:1.0.4 -Market Version Code:3 +Update Check Mode:Market +Current Version:1.0.4 +Current Version Code:3 diff --git a/metadata/net.sylvek.sharemyposition.txt b/metadata/net.sylvek.sharemyposition.txt index 83b51987..b62aaa0e 100644 --- a/metadata/net.sylvek.sharemyposition.txt +++ b/metadata/net.sylvek.sharemyposition.txt @@ -22,8 +22,9 @@ Repo:http://sharemyposition.googlecode.com/svn/trunk/ Build Version:1.0.11,16,64,subdir=ShareMyPosition-android Build Version:1.1.0-beta3,20,70,subdir=ShareMyPosition-android,target=android-11,prebuild=mv lib libs +Build Version:1.1.2,24,75,subdir=ShareMyPosition-android,target=android-11,prebuild=mv lib libs Update Check Mode:Market -Market Version:1.1.0 -Market Version Code:22 +Current Version:1.1.2 +Current Version Code:24 diff --git a/metadata/net.szym.barnacle.txt b/metadata/net.szym.barnacle.txt new file mode 100644 index 00000000..8218b081 --- /dev/null +++ b/metadata/net.szym.barnacle.txt @@ -0,0 +1,23 @@ +Category:System +License:GPLv3 +Web Site:http://szym.net/barnacle +Source Code:https://github.com/szym/barnacle +Issue Tracker:https://github.com/szym/barnacle/issues +Donate:http://szym.net/barnacle/#donate + +Summary:Ad-hoc WiFi Access Point +Description: +Turn your device into a wireless ad-hoc access point. +. + +Requires Root:Yes + +Repo Type:git +Repo:https://github.com/szym/barnacle.git + +Build Version:0.6.7 (evo),39,3a922c0260dea065b871b17127fa76d1bb21017c,buildjni=yes,fixtrans=yes,prebuild=sed -i 's@name="paypalUrl"@name="paypalUrl" formatted="false"@' res/values/strings.xml + +Update Check Mode:Market +Current Version:0.6.7 +Current Version Code:40 + diff --git a/metadata/net.tapi.handynotes.txt b/metadata/net.tapi.handynotes.txt index e7204344..1c625903 100644 --- a/metadata/net.tapi.handynotes.txt +++ b/metadata/net.tapi.handynotes.txt @@ -15,6 +15,7 @@ Repo:https://github.com/atd/HandyNotes.git Build Version:1.0,1,bd33550beaf014ebbe8d,target=android-8 Build Version:1.2,3,v1.2,target=android-8 -Market Version:1.2 -Market Version Code:3 +Update Check Mode:Market +Current Version:1.2 +Current Version Code:3 diff --git a/metadata/net.tedstein.AndroSS.txt b/metadata/net.tedstein.AndroSS.txt index 2e723bfb..c1fd53c5 100644 --- a/metadata/net.tedstein.AndroSS.txt +++ b/metadata/net.tedstein.AndroSS.txt @@ -19,7 +19,10 @@ Build Version:0.2.1,7,v0.2.1,buildjni=yes,target=android-8 Build Version:0.2.2,8,v0.2.2,buildjni=yes,target=android-8 Build Version:0.3.-1,10,v0.3.-1,buildjni=yes,target=android-8 Build Version:0.3.2,13,v0.3.2,buildjni=yes,target=android-8 +Build Version:0.4.2,16,4a9161b6f94d07e3da030a66c0a24fda06f3a53d,buildjni=yes,target=android-8 +Build Version:0.4.3,17,a03d152e4a17c1d01ca4cb3ae3fc473be5736920,buildjni=yes,target=android-8 -Market Version:0.4.2 -Market Version Code:16 +Update Check Mode:Market +Current Version:0.4.3 +Current Version Code:17 diff --git a/metadata/net.tevp.postcode.txt b/metadata/net.tevp.postcode.txt index 995767c1..23e88276 100644 --- a/metadata/net.tevp.postcode.txt +++ b/metadata/net.tevp.postcode.txt @@ -10,6 +10,7 @@ A simple way to retrieve the postcode for your current location. Only works in t currently. . -Market Version:1.1 -Market Version Code:2 +Update Check Mode:Market +Current Version:1.1 +Current Version Code:2 diff --git a/metadata/nl.sogeti.android.gpstracker.txt b/metadata/nl.sogeti.android.gpstracker.txt index bf15f49f..fdeaf868 100644 --- a/metadata/nl.sogeti.android.gpstracker.txt +++ b/metadata/nl.sogeti.android.gpstracker.txt @@ -10,6 +10,7 @@ Description: A GPS logging application. . -Market Version:1.3-cupcake -Market Version Code:64 +Update Check Mode:Market +Current Version:1.3-cupcake +Current Version Code:64 diff --git a/metadata/nu.firetech.android.pactrack.txt b/metadata/nu.firetech.android.pactrack.txt index 279b6480..72830384 100644 --- a/metadata/nu.firetech.android.pactrack.txt +++ b/metadata/nu.firetech.android.pactrack.txt @@ -16,6 +16,7 @@ Repo:https://github.com/firetech/PactrackDroid.git Build Version:1.3.1,1310,a2722a4062afbef38ec91e9af41908c9548d7a76 -Market Version:1.3.1 -Market Version Code:1310 +Update Check Mode:Market +Current Version:1.3.1 +Current Version Code:1310 diff --git a/metadata/org.abrantix.rockon.rockonnggl.txt b/metadata/org.abrantix.rockon.rockonnggl.txt index 2424ede6..a1790669 100644 --- a/metadata/org.abrantix.rockon.rockonnggl.txt +++ b/metadata/org.abrantix.rockon.rockonnggl.txt @@ -1,3 +1,4 @@ +Disabled:Non-free binaries Category:Multimedia License:GPLv3 Web Site:http://abrantix.org/3.php @@ -23,8 +24,9 @@ Repo:https://github.com/fabrantes/rockonnggl.git #to remove the library and associated code entirely. #Build Version:1.0.79,80,2a567bd9632032c1f58c,prebuild=sed -i "s@config_isMarketVersion\">true@config_isMarketVersion\">false@" res/values/config.xml Build Version:1.0.93,94,!No source for anything after 1.0.79 - see https://github.com/fabrantes/rockonnggl/issues/issue/125 -Build Version:1.0.96,97,!Still no source - should probably just remove this fake FOSS from the repo +Build Version:1.0.96,97,!Non-free binaries when the source eventually appeared -Market Version:1.0.96 -Market Version Code:97 +Update Check Mode:Market +Current Version:1.0.103 +Current Version Code:104 diff --git a/metadata/org.adaway.txt b/metadata/org.adaway.txt index 19e31a1b..c4067233 100644 --- a/metadata/org.adaway.txt +++ b/metadata/org.adaway.txt @@ -22,10 +22,9 @@ Build Version:1.19,20,ab27f4dab5f3ea5e228cfb4a6b0e1fbf53695f22,subdir=org_adaway Build Version:1.20,21,695e3801e4081026c8f7213a2345fc451d5eb89c,subdir=org_adaway/,buildjni=yes,patch=defprop.patch Build Version:1.21,22,65138c11cc8b6affd28b68e125fbc1dff0886a4e,subdir=org_adaway/,buildjni=yes,patch=defprop.patch Build Version:1.23,24,!no source in repo -Build Version:1.24,25,f811e53e1e1d2ee047b18715fd7d2072b90ae76b,subdir=org_adaway/,buildjni=yes,patch=defprop.patch - +Build Version:1.24,25,f811e53e1e1d2ee047b18715fd7d2072b90ae76b,subdir=org_adaway/,buildjni=yes,prebuild=android update project -p ../com_actionbarsherlock Update Check Mode:Market -Market Version:1.24 -Market Version Code:25 +Current Version:1.24 +Current Version Code:25 diff --git a/metadata/org.adw.launcher.txt b/metadata/org.adw.launcher.txt index 56fdc4f1..ad7517f7 100644 --- a/metadata/org.adw.launcher.txt +++ b/metadata/org.adw.launcher.txt @@ -15,6 +15,6 @@ Repo:https://github.com/AnderWeb/android_packages_apps_Launcher.git Build Version:1.3.6 Standalone,34,b28e9e417c81857cfd2e0265c3c6d409d6c8d0f1 Update Check Mode:None -Market Version:1.3.6 Standalone -Market Version Code:34 +Current Version:1.3.6 Standalone +Current Version Code:34 diff --git a/metadata/org.andnav.osm.txt b/metadata/org.andnav.osm.txt index b8c78388..6d9ab705 100644 --- a/metadata/org.andnav.osm.txt +++ b/metadata/org.andnav.osm.txt @@ -9,6 +9,7 @@ Description: Map viewer using OpenStreetMap tiles. . -Market Version:2.0.0 -Market Version Code:3 +Update Check Mode:Market +Current Version:2.0.0 +Current Version Code:3 diff --git a/metadata/org.androhid.txt b/metadata/org.androhid.txt index 239d5645..f266d77f 100644 --- a/metadata/org.androhid.txt +++ b/metadata/org.androhid.txt @@ -15,7 +15,8 @@ Requires Root:Yes Repo Type:svn Repo:http://androhid.googlecode.com/svn/trunk/ +Update Check Mode:Market + # needs libbluetooth-dev to build #Build Version:0.6,6,34,buildjni=yes #,patch=jni.patch - diff --git a/metadata/org.androidsoft.games.memory.kids.txt b/metadata/org.androidsoft.games.memory.kids.txt index c2979ac7..92580bab 100644 --- a/metadata/org.androidsoft.games.memory.kids.txt +++ b/metadata/org.androidsoft.games.memory.kids.txt @@ -14,6 +14,7 @@ Repo:http://androidsoft.googlecode.com/svn/trunk/memory/ Build Version:1.8.0,13,44,prebuild=rm -rf releases && rm libs/androidsoft-credits-1.0.0.jar,target=android-11 -Market Version:1.8.0 -Market Version Code:13 +Update Check Mode:Market +Current Version:1.8.0 +Current Version Code:13 diff --git a/metadata/org.andstatus.app.txt b/metadata/org.andstatus.app.txt index 1afe5716..47a08500 100644 --- a/metadata/org.andstatus.app.txt +++ b/metadata/org.andstatus.app.txt @@ -3,7 +3,6 @@ License:Apache2 Web Site:http://andstatus.org/ Source Code:https://github.com/andstatus/andstatus Issue Tracker:https://github.com/andstatus/andstatus/issues -Donate: Summary:a light-weight Twitter alternative Description: @@ -13,6 +12,7 @@ It allows you to read tweets, send Status updates, create Favorites etc. even wh Repo Type:git Repo:git://github.com/andstatus/andstatus.git +Update Check Mode:Market + # needs to adapt src/org/andstatus/app/net/OAuthKeys.java #Build Version:1.2.4,48,9dba38c8d77fe8068564b88c197fb60ec64b60a3,target=android-3 - diff --git a/metadata/org.connectbot.txt b/metadata/org.connectbot.txt index 9c65f18f..71f09051 100644 --- a/metadata/org.connectbot.txt +++ b/metadata/org.connectbot.txt @@ -13,8 +13,9 @@ Supports multiple sessions, including running them concurrently. Repo Type:git Repo:git://github.com/kruton/connectbot.git -Market Version:1.7.1 -Market Version Code:323 +Update Check Mode:Market +Current Version:1.7.1 +Current Version Code:323 #Can't build these versions with SDK tools r7 due to build.xml issues #Build Version:1.7.1,323,19fbcefef5251cdfac97 diff --git a/metadata/org.coolreader.txt b/metadata/org.coolreader.txt index 60776d92..313e0704 100644 --- a/metadata/org.coolreader.txt +++ b/metadata/org.coolreader.txt @@ -55,8 +55,10 @@ Build Version:3.0.54-47,447,cr3.0.54-47,subdir=android,rm=android/build.properti Build Version:3.0.55-5,505,cr3.0.55-5,subdir=android,rm=android/build.properties,buildjni=yes Build Version:3.0.55-9,509,cr3.0.55-9,subdir=android,rm=android/build.properties,buildjni=yes Build Version:3.0.55-14,514,cr3.0.55-14,subdir=android,rm=android/build.properties,buildjni=yes +Build Version:3.0.55-30,530,cr3.0.55-30,subdir=android,rm=android/ant.properties,buildjni=yes +Build Version:3.0.55-32,532,cr3.0.55-32,subdir=android,rm=android/ant.properties,buildjni=yes Update Check Mode:Market -Market Version:3.0.55-14 -Market Version Code:514 +Current Version:3.0.55-32 +Current Version Code:532 diff --git a/metadata/org.crocodile.sbautologin.txt b/metadata/org.crocodile.sbautologin.txt index 6e0012c2..3c32bba2 100644 --- a/metadata/org.crocodile.sbautologin.txt +++ b/metadata/org.crocodile.sbautologin.txt @@ -13,9 +13,10 @@ a Starbucks WLAN. Repo Type:hg Repo:https://code.google.com/p/sbautologin/ +Update Check Mode:Market #Temporarily disabled - won't build on the build server due to lack of #org.junit (but it's installed!) #Build Version:1.6,7,62 -Market Version:1.5 -Market Version Code:6 +Current Version:1.5 +Current Version Code:6 diff --git a/metadata/org.curiouscreature.android.shelves.txt b/metadata/org.curiouscreature.android.shelves.txt index 4791f9b1..fe9a18f7 100644 --- a/metadata/org.curiouscreature.android.shelves.txt +++ b/metadata/org.curiouscreature.android.shelves.txt @@ -15,7 +15,9 @@ Repo Type:svn Repo:http://shelves.googlecode.com/svn/trunk/Shelves Build Version:1.0,1,26,oldsdkloc=yes +Build Version:1.5,2,!No source code apparently -Market Version:1.5 -Market Version Code:2 +Update Check Mode:Market +Current Version:1.5 +Current Version Code:2 diff --git a/metadata/org.damazio.notifier.txt b/metadata/org.damazio.notifier.txt index 7bee1b20..cc9e7512 100644 --- a/metadata/org.damazio.notifier.txt +++ b/metadata/org.damazio.notifier.txt @@ -15,6 +15,7 @@ Repo:http://android-notifier.googlecode.com/svn/trunk/AndroidNotifier Build Version:0.2.8,11,315,fixtrans=yes,prebuild=mkdir libs && mv lib/locale_platform.jar libs/ -Market Version:0.2.8 -Market Version Code:11 +Update Check Mode:Market +Current Version:0.2.8 +Current Version Code:11 diff --git a/metadata/org.droidseries.txt b/metadata/org.droidseries.txt index f220226f..e4c67a93 100644 --- a/metadata/org.droidseries.txt +++ b/metadata/org.droidseries.txt @@ -17,6 +17,7 @@ Repo:git://gitorious.org/droidseries/droidseries.git Build Version:0.1.5-5,12,6aedbf31da874605b65eea6bbe3d4740f373672d Build Version:0.1.5-6,13,a72bc0a -Market Version:0.1.5-6 -Market Version Code:13 +Update Check Mode:Market +Current Version:0.1.5-6 +Current Version Code:13 diff --git a/metadata/org.eehouse.android.xw4.txt b/metadata/org.eehouse.android.xw4.txt index 73204beb..8c7aa946 100644 --- a/metadata/org.eehouse.android.xw4.txt +++ b/metadata/org.eehouse.android.xw4.txt @@ -21,6 +21,7 @@ Build Version:4.4 beta 33,26,android_beta_33,subdir=xwords4/android/XWords4,buil Build Version:4.4 beta 38,30,android_beta_38,subdir=xwords4/android/XWords4,buildjni=yes Build Version:4.4 beta 39,31,android_beta_39,subdir=xwords4/android/XWords4,buildjni=yes,target=android-8,prebuild=cd .. && ./scripts/genvers.sh >ant_out.txt -Market Version:4.4 -Market Version Code:33 +Update Check Mode:Market +Current Version:4.4 +Current Version Code:33 diff --git a/metadata/org.example.pushupbuddy.txt b/metadata/org.example.pushupbuddy.txt index 79c001ab..d5f1abd7 100644 --- a/metadata/org.example.pushupbuddy.txt +++ b/metadata/org.example.pushupbuddy.txt @@ -15,6 +15,7 @@ Repo:lp:~rheo/pushupbuddy/trunk Build Version:1.0,1,1,bindir=bin/,oldsdkloc=yes -Market Version:1.0 -Market Version Code:1 +Update Check Mode:Market +Current Version:1.0 +Current Version Code:1 diff --git a/metadata/org.fdroid.fdroid.txt b/metadata/org.fdroid.fdroid.txt index 9c68ac5f..c910320b 100644 --- a/metadata/org.fdroid.fdroid.txt +++ b/metadata/org.fdroid.fdroid.txt @@ -2,7 +2,7 @@ Category:System License:GPLv2+ Web Site:http://f-droid.org/repository Source Code:http://gitorious.org/f-droid/fdroidclient -Issue Tracker:http://f-droid.org/issues +Issue Tracker:http://f-droid.org/repository/issues Summary:FOSS application repository Description: diff --git a/metadata/org.fdroid.taskstrid.txt b/metadata/org.fdroid.taskstrid.txt index 30d34cb1..0b493d91 100644 --- a/metadata/org.fdroid.taskstrid.txt +++ b/metadata/org.fdroid.taskstrid.txt @@ -16,3 +16,5 @@ Repo:git://gitorious.org/astrid-foss/astrid-foss.git Build Version:3.6.4,170,f583967d77a28f7a83392095d7edb1537dfe8a73,submodules=yes,prebuild=sed -i "s@\.\./astridApi@astridApi@" default.properties +Update Check Mode:Market + diff --git a/metadata/org.fosdem.txt b/metadata/org.fosdem.txt index 2352d042..d127b292 100644 --- a/metadata/org.fosdem.txt +++ b/metadata/org.fosdem.txt @@ -15,6 +15,7 @@ Repo:http://fosdem-android.svn.sourceforge.net/svnroot/fosdem-android Build Version:1.0.2,4,117 Build Version:1.0.3,5,!Source for this market version not in repo -Market Version:1.0.3 -Market Version Code:5 +Update Check Mode:Market +Current Version:1.0.3 +Current Version Code:5 diff --git a/metadata/org.geometerplus.zlibrary.ui.android.txt b/metadata/org.geometerplus.zlibrary.ui.android.txt index 37514868..a6ae0757 100644 --- a/metadata/org.geometerplus.zlibrary.ui.android.txt +++ b/metadata/org.geometerplus.zlibrary.ui.android.txt @@ -31,7 +31,10 @@ Build Version:1.2.2,102021,e63c553aeb032da828b270a735f0171d8d22c54c,buildjni=yes Build Version:1.2.3,102031,46d83bb4351c2f6ec51e0d9aa6202c86c1297e7f,buildjni=yes,target=android-10,prebuild=mkdir res/drawable && find icons -iname "*.*" -exec cp {} res/drawable \; Build Version:1.2.4,102041,6426bcf131d4,buildjni=yes,target=android-10,prebuild=mkdir res/drawable && find icons -iname "*.*" -exec cp {} res/drawable \; Build Version:1.2.6,102061,1.2.6,buildjni=yes,target=android-10,prebuild=mkdir res/drawable && find icons -iname "*.*" -exec cp {} res/drawable \; +Build Version:1.3.3,103031,1.3.3,buildjni=yes,target=android-10,prebuild=mkdir res/drawable && find icons -iname "*.*" -exec cp {} res/drawable \; +Build Version:1.3.6,103061,a16e3eb7ff731edea99248f8a7c1633148a26236,buildjni=yes,target=android-10,prebuild=mkdir res/drawable && find icons -iname "*.*" -exec cp {} res/drawable \; -Market Version:1.2.5 -Market Version Code:102051 +Update Check Mode:None +Current Version:1.3.6 +Current Version Code:103061 diff --git a/metadata/org.helllabs.android.xmp.txt b/metadata/org.helllabs.android.xmp.txt index eb8cc517..fed13459 100644 --- a/metadata/org.helllabs.android.xmp.txt +++ b/metadata/org.helllabs.android.xmp.txt @@ -22,6 +22,7 @@ Build Version:2.1.0,15,639549fda2111cb800fabe468b4a64bf4ae27003,\ buildjni=yes,subdir=src/android/project,target=android-8,\ insertversion=2.1.0[^"]* -Market Version:2.4.0 -Market Version Code:20 +Update Check Mode:Market +Current Version:2.4.0 +Current Version Code:20 diff --git a/metadata/org.hermit.audalyzer.txt b/metadata/org.hermit.audalyzer.txt index 400cec70..11e83a61 100644 --- a/metadata/org.hermit.audalyzer.txt +++ b/metadata/org.hermit.audalyzer.txt @@ -12,9 +12,10 @@ Realtime spectrum analysis of audio (via the microphone). Repo Type:svn Repo:http://moonblink.googlecode.com/svn/trunk/ +Update Check Mode:Market #Need to build the associated (in the repo) libraries first... #Build Version:1.14,15,774,subdir=Audalyzer #Build Version:1.15,16,954,subdir=Audalyzer -Market Version:1.15 -Market Version Code:16 +Current Version:1.15 +Current Version Code:16 diff --git a/metadata/org.hermit.dazzle.txt b/metadata/org.hermit.dazzle.txt index 6e943f51..ab4cb87c 100644 --- a/metadata/org.hermit.dazzle.txt +++ b/metadata/org.hermit.dazzle.txt @@ -15,8 +15,9 @@ supported devices, brightness lets you toggle between auto and manual modes. Repo Type:svn Repo:http://moonblink.googlecode.com/svn/trunk -Market Version:2.9 -Market Version Code:12 +Update Check Mode:Market +Current Version:2.9 +Current Version Code:12 # Build fails, probably also needs to build ../HermitLibrary #Build Version:2.9,12,907,subdir=Dazzle,target=android-4,prebuild=\ diff --git a/metadata/org.hermit.netscramble.txt b/metadata/org.hermit.netscramble.txt index 82c127ed..b8393768 100644 --- a/metadata/org.hermit.netscramble.txt +++ b/metadata/org.hermit.netscramble.txt @@ -11,6 +11,7 @@ the network randomly rotated and must rotate them to connect all the terminals to the server. A port of the KDE game "knetwalk". . -Market Version:5.0.2 -Market Version Code:28 +Update Check Mode:Market +Current Version:5.0.2 +Current Version Code:28 diff --git a/metadata/org.hermit.tricorder.txt b/metadata/org.hermit.tricorder.txt index 26a0f248..468b9a7c 100644 --- a/metadata/org.hermit.tricorder.txt +++ b/metadata/org.hermit.tricorder.txt @@ -9,6 +9,7 @@ Description: Turns your Android device into a functional Tricorder in the style of Star Trek. . -Market Version:5.12 -Market Version Code:41 +Update Check Mode:Market +Current Version:5.12 +Current Version Code:41 diff --git a/metadata/org.jessies.mathdroid.txt b/metadata/org.jessies.mathdroid.txt index ad836277..d216f902 100644 --- a/metadata/org.jessies.mathdroid.txt +++ b/metadata/org.jessies.mathdroid.txt @@ -14,6 +14,7 @@ Repo:http://enh.googlecode.com/svn/trunk Build Version:2.5,25,525,oldsdkloc=yes,target=android-10,subdir=mathdroid,prebuild=rm -rf src/org/jessies/test && mkdir src/org/jessies/test && wget http://software.jessies.org/svn/salma-hayek/trunk/src/org/jessies/test/Assert.java -O src/org/jessies/test/Assert.java && wget http://software.jessies.org/svn/salma-hayek/trunk/src/org/jessies/test/Test.java -O src/org/jessies/test/Test.java && wget http://software.jessies.org/svn/salma-hayek/trunk/src/org/jessies/test/TestHelper.java -O src/org/jessies/test/TestHelper.java -Market Version:2.5 -Market Version Code:25 +Update Check Mode:Market +Current Version:2.5 +Current Version Code:25 diff --git a/metadata/org.jfedor.frozenbubble.txt b/metadata/org.jfedor.frozenbubble.txt index 89a7c4d2..bb7fc431 100644 --- a/metadata/org.jfedor.frozenbubble.txt +++ b/metadata/org.jfedor.frozenbubble.txt @@ -16,8 +16,10 @@ Repo:http://frozenbubbleandroid.googlecode.com/svn/ Build Version:1.7,8,15 Build Version:1.8,9,16 Build Version:1.10,11,18 -Build Version:1.11,12,r19 +Build Version:1.11,12,19 +Build Version:1.12,13,20 -Market Version:1.12 -Market Version Code:13 +Update Check Mode:Market +Current Version:1.12 +Current Version Code:13 diff --git a/metadata/org.jmoyer.NotificationPlus.txt b/metadata/org.jmoyer.NotificationPlus.txt index b47f90e3..5b98e592 100644 --- a/metadata/org.jmoyer.NotificationPlus.txt +++ b/metadata/org.jmoyer.NotificationPlus.txt @@ -17,6 +17,6 @@ Repo:https://code.google.com/p/notification-plus/ Build Version:1.1,2,396686558905 Update Check Mode:Market -Market Version:1.1 -Market Version Code:2 +Current Version:1.1 +Current Version Code:2 diff --git a/metadata/org.johanhil.flygtider.txt b/metadata/org.johanhil.flygtider.txt index 12d262fa..6a5a4544 100644 --- a/metadata/org.johanhil.flygtider.txt +++ b/metadata/org.johanhil.flygtider.txt @@ -18,6 +18,7 @@ Repo:http://flygtider.googlecode.com/svn/trunk Build Version:0.7,9,23 Build Version:0.61,8,!This version was never committed -Market Version:0.61 -Market Version Code:8 +Update Check Mode:Market +Current Version:0.61 +Current Version Code:8 diff --git a/metadata/org.jsharkey.sky.txt b/metadata/org.jsharkey.sky.txt new file mode 100644 index 00000000..743b3acc --- /dev/null +++ b/metadata/org.jsharkey.sky.txt @@ -0,0 +1,19 @@ +Category:Office +License:Apache2 +Web Site:http://code.google.com/p/android-sky/ +Source Code:http://code.google.com/p/android-sky/source/checkout +Issue Tracker:http://code.google.com/p/android-sky/issues/list + +Summary:Weather Widget +Description: +A weather forecast widget - USA only. +. + +Repo Type:git-svn +Repo:http://android-sky.googlecode.com/svn/trunk/ + +#Generated by import.py - check this is the right version, and find the right commit! +Build Version:1.0,1,2,subdir=Sky,prebuild=rm -rf Sky/ && rm -rf gen/ + +Update Check Mode:None + diff --git a/metadata/org.jtb.alogcat.txt b/metadata/org.jtb.alogcat.txt index 783afe49..8a17c5ea 100644 --- a/metadata/org.jtb.alogcat.txt +++ b/metadata/org.jtb.alogcat.txt @@ -16,7 +16,9 @@ Repo:http://alogcat.googlecode.com/svn/trunk Build Version:2.1.6,34,28 Build Version:2.3,36,30 Build Version:2.3.2,38,31,prebuild=find . -type f -name \*.java -print0 | xargs -0 sed -i "s/^import org\.jtb\.alogcat\.donate\.R;$/import org.jtb.alogcat.R;/g" && sed -i "s/org.jtb.alogcat.donate/org.jtb.alogcat/" AndroidManifest.xml +Build Version:2.4,39,37 -Market Version:2.4 -Market Version Code:39 +Update Check Mode:Market +Current Version:2.4 +Current Version Code:39 diff --git a/metadata/org.jtb.droidlife.txt b/metadata/org.jtb.droidlife.txt index ad5af9e2..8e1965f3 100644 --- a/metadata/org.jtb.droidlife.txt +++ b/metadata/org.jtb.droidlife.txt @@ -14,6 +14,7 @@ Repo:http://droidlife.googlecode.com/svn/trunk/ Build Version:2.4.1,21,22 -Market Version:2.4.1 -Market Version Code:21 +Update Check Mode:Market +Current Version:2.4.1 +Current Version Code:21 diff --git a/metadata/org.jtb.httpmon.txt b/metadata/org.jtb.httpmon.txt index 36b69422..5fab2bfc 100644 --- a/metadata/org.jtb.httpmon.txt +++ b/metadata/org.jtb.httpmon.txt @@ -10,6 +10,7 @@ A simple HTTP monitoring application. Get notified when remote web sites are down. . -Market Version:0.4.10 -Market Version Code:27 +Update Check Mode:Market +Current Version:0.4.10 +Current Version Code:27 diff --git a/metadata/org.kost.externalip.txt b/metadata/org.kost.externalip.txt index 7f335230..eb7af8bf 100644 --- a/metadata/org.kost.externalip.txt +++ b/metadata/org.kost.externalip.txt @@ -16,6 +16,7 @@ Repo:https://code.google.com/p/external-ip/ Build Version:1.2,3,431da48bfb10,target=android-8 -Market Version:1.2 -Market Version Code:3 +Update Check Mode:Market +Current Version:1.2 +Current Version Code:3 diff --git a/metadata/org.kreed.vanilla.txt b/metadata/org.kreed.vanilla.txt index 0fa8a57b..e4f75842 100644 --- a/metadata/org.kreed.vanilla.txt +++ b/metadata/org.kreed.vanilla.txt @@ -17,6 +17,7 @@ Repo:https://github.com/kreed/vanilla.git Build Version:0.1,16,4169dd05b3ac321555bb8436fd2a90f93e52b49d -Market Version:0.1 -Market Version Code:16 +Update Check Mode:Market +Current Version:0.1 +Current Version Code:16 diff --git a/metadata/org.liberty.android.fantastischmemo.txt b/metadata/org.liberty.android.fantastischmemo.txt new file mode 100644 index 00000000..add5c9f7 --- /dev/null +++ b/metadata/org.liberty.android.fantastischmemo.txt @@ -0,0 +1,21 @@ +Category:Office +License:GPLv2 +Web Site:http://anymemo.org/ +Source Code:https://github.com/helloworld1/AnyMemo +Issue Tracker:https://github.com/helloworld1/AnyMemo/issues +Donate:http://anymemo.org/ + +Summary:Flashcard-based Learning +Description: +Spaced repetition flashcard learning software. +. + +Repo Type:git +Repo:https://github.com/helloworld1/AnyMemo.git + +Build Version:8.3.0,135,a591497118fe2cae101027add50d835c7fe6ed27,target=android-13,prebuild=rm -rf jni/ + +Update Check Mode:Market +Current Version:8.3.0 +Current Version Code:135 + diff --git a/metadata/org.linphone.txt b/metadata/org.linphone.txt index 4688a50e..ca629b24 100644 --- a/metadata/org.linphone.txt +++ b/metadata/org.linphone.txt @@ -9,6 +9,7 @@ Description: A SIP (VOIP) client. . -Market Version:1.2.2 -Market Version Code:1220 +Update Check Mode:Market +Current Version:1.2.2 +Current Version Code:1220 diff --git a/metadata/org.mailboxer.saymyname.txt b/metadata/org.mailboxer.saymyname.txt index 38651391..0d743c2a 100644 --- a/metadata/org.mailboxer.saymyname.txt +++ b/metadata/org.mailboxer.saymyname.txt @@ -12,6 +12,7 @@ SayMyName reads out loud the name saved in your address book and tells you who's calling. Also works with incoming SMS and email via K-9 Mail. . -Market Version:2.5.4.6 (http://goo.gl/N10G) -Market Version Code:131 +Update Check Mode:Market +Current Version:2.5.4.6 (http://goo.gl/N10G) +Current Version Code:131 diff --git a/metadata/org.marcus905.wifi.ace.txt b/metadata/org.marcus905.wifi.ace.txt index b48d7f6d..59dbe885 100644 --- a/metadata/org.marcus905.wifi.ace.txt +++ b/metadata/org.marcus905.wifi.ace.txt @@ -14,8 +14,9 @@ Repo Type:svn Repo:http://android-wifi-ace.googlecode.com/svn/trunk/WiFiACE Build Version:0.10,20100924,13 +Build Version:0.11,20120115,14 Update Check Mode:Market -Market Version:0.11 -Market Version Code:20120115 +Current Version:0.11 +Current Version Code:20120115 diff --git a/metadata/org.mixare.txt b/metadata/org.mixare.txt index d97e78ec..2e9488e7 100644 --- a/metadata/org.mixare.txt +++ b/metadata/org.mixare.txt @@ -13,7 +13,9 @@ Repo Type:git Repo:https://github.com/mixare/mixare.git Build Version:0.6.6,14,v0.6.6 +Build Version:0.7.3,20,v0.7.3 -Market Version:0.7.3 -Market Version Code:20 +Update Check Mode:Market +Current Version:0.7.3 +Current Version Code:20 diff --git a/metadata/org.moparisthebest.appbak.txt b/metadata/org.moparisthebest.appbak.txt index dd338ae3..04b92f70 100644 --- a/metadata/org.moparisthebest.appbak.txt +++ b/metadata/org.moparisthebest.appbak.txt @@ -10,6 +10,7 @@ Simple way to back up (and restore) a list of installed applications to a file on your SD card. . -Market Version:1.0 -Market Version Code:2 +Update Check Mode:Market +Current Version:1.0 +Current Version Code:2 diff --git a/metadata/org.mozilla.firefox.txt b/metadata/org.mozilla.firefox.txt index 98d68311..af369a14 100644 --- a/metadata/org.mozilla.firefox.txt +++ b/metadata/org.mozilla.firefox.txt @@ -9,6 +9,7 @@ Description: Firefox Mobile web browser. . -Market Version:9.0 -Market Version Code:2011121613 +Update Check Mode:Market +Current Version:10.0.1 +Current Version Code:2012020807 diff --git a/metadata/org.mult.daap.txt b/metadata/org.mult.daap.txt index f7611868..1b2c8ad6 100644 --- a/metadata/org.mult.daap.txt +++ b/metadata/org.mult.daap.txt @@ -17,8 +17,9 @@ Build Version:.9.1,30,62 Build Version:.9.2,31,!Repo code is missing at least one file update - the manifest Build Version:.9.6.2,38,!No corresponding source in repo Build Version:.9.6.5,39,89 +Build Version:.9.7,40,90,prebuild=rm -rf bin/ Update Check Mode:Market -Market Version:.9.6.5 -Market Version Code:39 +Current Version:.9.7 +Current Version Code:41 diff --git a/metadata/org.mustard.android.txt b/metadata/org.mustard.android.txt index d95751af..e4e0dc81 100644 --- a/metadata/org.mustard.android.txt +++ b/metadata/org.mustard.android.txt @@ -11,6 +11,7 @@ Mustard is the first full-featured statusnet (like identica) client application It has many features like attachments, geolocation and avatar update. It supports tags, groups and public timelines, favor/disfavor notices, subscribe/unsubscribe users and multiple accounts. . -Market Version:0.3.0 -Market Version Code:126 +Update Check Mode:Market +Current Version:0.3.0 +Current Version Code:126 diff --git a/metadata/org.mythdroid.txt b/metadata/org.mythdroid.txt index 3a6b0537..48cdb498 100644 --- a/metadata/org.mythdroid.txt +++ b/metadata/org.mythdroid.txt @@ -30,3 +30,5 @@ Repo:http://mythdroid.googlecode.com/svn/trunk/ Build Version:0.4.3,4,244,prebuild=mv lib libs Build Version:0.5.3,53,572,prebuild=mv lib libs,target=android-11 +Update Check Mode:Market + diff --git a/metadata/org.navitproject.navit.txt b/metadata/org.navitproject.navit.txt index 10a2a797..33ec0eb5 100644 --- a/metadata/org.navitproject.navit.txt +++ b/metadata/org.navitproject.navit.txt @@ -11,6 +11,7 @@ support for various vector map formats. This is a beta version which may not work very well! . -Market Version:navit 0.5.0 -Market Version Code:4785 +Update Check Mode:Market +Current Version:navit +Current Version Code:4785 diff --git a/metadata/org.nerdcircus.android.klaxon.txt b/metadata/org.nerdcircus.android.klaxon.txt new file mode 100644 index 00000000..6baf2e3b --- /dev/null +++ b/metadata/org.nerdcircus.android.klaxon.txt @@ -0,0 +1,22 @@ +Name:Klaxon +Category:Office +License:Apache2 +Web Site:http://code.google.com/p/klaxon/ +Source Code:http://code.google.com/p/klaxon/source/checkout +Issue Tracker:http://code.google.com/p/klaxon/issues/list + +Summary:SMS-based pager +Description: +Klaxon is a tool designed for on-call personnel, that repeatedly notifies the user (by means of a +ringtone, vibration or both) when a page is received until the user looks at it. A page to Klaxon +is an SMS message, optionally meeting filtering criteria set by the user. +. + +Repo Type:git-svn +Repo:http://klaxon.googlecode.com/svn/trunk/ + +Build Version:0.27,27,144,target=android-14 + +Update Check Mode:Market +Current Version:0.27 +Current Version Code:27 diff --git a/metadata/org.openintents.filemanager.txt b/metadata/org.openintents.filemanager.txt new file mode 100644 index 00000000..db0993f3 --- /dev/null +++ b/metadata/org.openintents.filemanager.txt @@ -0,0 +1,26 @@ +Category:System +License:Apache2 +Web Site:http://www.openintents.org +Source Code:http://code.google.com/p/openintents/source/checkout +Issue Tracker:http://code.google.com/p/openintents/issues/list +Donate:http://www.openintents.org/en/contribute + +Summary:File Manager +Description: +The OpenIntents file manager allows you to browse your SD card, create directories, rename, move, +and delete files. It also acts as an extension to other applications to display "Open" and "Save" +dialogs. + +Note that this is included in Cyanogenmod as a system application, so if you are running that +you will not be able to upgrade without first manually removing (as root) the existing version. +. + +Repo Type:srclib +Repo:OI:filemanager + +Build Version:1.2-rc1,18,4106,subdir=FileManager,target=android-11,buildjni=yes,prebuild=sed -i 's@\(android.library.reference.1=\).*@\1$$OI$$/distribution/DistributionLibrary@' project.properties && android update project -p $$OI$$/distribution/DistributionLibrary -t android-11 + +Update Check Mode:Market +Current Version:1.1.6 +Current Version Code:17 + diff --git a/metadata/org.openintents.flashlight.txt b/metadata/org.openintents.flashlight.txt index 6fcb1ce1..00a12877 100644 --- a/metadata/org.openintents.flashlight.txt +++ b/metadata/org.openintents.flashlight.txt @@ -1,4 +1,4 @@ -Disabled:Build problem +Disabled:Apparently non-free binary hardware09.jar Category:Office License:Apache2 Web Site:http://code.google.com/p/openintents @@ -11,11 +11,12 @@ A flashlight with color settings. It can use the phone's screen, or the flash of the phone's camera if there is one. . -Repo Type:svn -Repo:http://openintents.googlecode.com/svn/trunk/flashlight/Flashlight +Repo Type:srclib +Repo:OI:flashlight -Build Version:1.1,10011,3971,target=android-15 +Build Version:1.1,10011,3971,target=android-15,subdir=Flashlight -Market Version:1.1 -Market Version Code:10011 +Update Check Mode:Market +Current Version:1.1 +Current Version Code:10011 diff --git a/metadata/org.openintents.newsreader.txt b/metadata/org.openintents.newsreader.txt new file mode 100644 index 00000000..d072f388 --- /dev/null +++ b/metadata/org.openintents.newsreader.txt @@ -0,0 +1,18 @@ +Disabled:Proprietary EULA. Also, possible build problem - force closes on startup. +Category:Internet +License:Apache2 +Web Site:http://www.openintents.org/en/newsreader +Source Code:http://code.google.com/p/openintents/source/checkout +Issue Tracker:http://code.google.com/p/openintents/issues/list +Donate:http://www.openintents.org/en/contribute + +Summary:Feed reader +Description: +A feed reader, with offline support. +. + +Repo Type:srclib +Repo:OI:newsreader + +Build Version:1.1.1,65549,3272,subdir=NewsReader,target=android-3 + diff --git a/metadata/org.openintents.notepad.txt b/metadata/org.openintents.notepad.txt index 757ddef5..a3737ef8 100644 --- a/metadata/org.openintents.notepad.txt +++ b/metadata/org.openintents.notepad.txt @@ -1,3 +1,4 @@ +Disabled:Apparently non-free binary OINotepadMyBackupPro.jar Category:Office License:Apache2 Web Site:http://www.openintents.org/en/notepad @@ -9,6 +10,10 @@ Description: OI Notepad allows to create, edit, send, and delete notes. . -Market Version:1.2.3 -Market Version Code:10065 +Repo Type:srclib +Repo:OI:notepad + +Update Check Mode:Market +Current Version:1.2.3 +Current Version Code:10065 diff --git a/metadata/org.opensatnav.txt b/metadata/org.opensatnav.txt index d41eac3c..f7af9b9a 100644 --- a/metadata/org.opensatnav.txt +++ b/metadata/org.opensatnav.txt @@ -10,3 +10,5 @@ Satellite Navitation using OpenStreetMap data. Supports car, bicycle and pedestrian modes of transport. . +Update Check Mode:Market + diff --git a/metadata/org.paulmach.textedit.txt b/metadata/org.paulmach.textedit.txt index d243f01a..4ed3ffdd 100644 --- a/metadata/org.paulmach.textedit.txt +++ b/metadata/org.paulmach.textedit.txt @@ -18,7 +18,9 @@ Repo:https://github.com/paulmach/Text-Edit-for-Android.git Build Version:1.3.3,12,1d724fc9d0fde2cc5426,target=android-8 Build Version:1.4.1,14,cddfa34997bf3da10586,target=android-8,patch=set1.4.1.patch +Build Version:1.5,15,a46aec194ec385a0d543e80709821c16cf8aa198,target=android-8 -Market Version:1.5 -Market Version Code:15 +Update Check Mode:Market +Current Version:1.5 +Current Version Code:15 diff --git a/metadata/org.penghuang.tools.rotationlock.txt b/metadata/org.penghuang.tools.rotationlock.txt index d9dad556..9397a4f0 100644 --- a/metadata/org.penghuang.tools.rotationlock.txt +++ b/metadata/org.penghuang.tools.rotationlock.txt @@ -16,7 +16,9 @@ Repo Type:git Repo:https://github.com/phuang/RotationLock Build Version:1.4,5,7c5d43c2ed17a9329abf6b6af07f150e7d0cbd5b,target=android-4 +Build Version:1.5,6,08fce41fd3ce0e0686d5bded6841c21b9247c2e8,target=android-4,rm=ant.properties -Market Version:1.4 -Market Version Code:5 +Update Check Mode:Market +Current Version:1.5 +Current Version Code:6 diff --git a/metadata/org.piwik.mobile.txt b/metadata/org.piwik.mobile.txt index faefaebf..c67ae283 100644 --- a/metadata/org.piwik.mobile.txt +++ b/metadata/org.piwik.mobile.txt @@ -10,6 +10,7 @@ Piwik is an open-source web analytics package. Piwik Mobile is a client that giv you access to your statistics. . -Market Version:1.6.2 -Market Version Code:10 +Update Check Mode:Market +Current Version:1.6.2 +Current Version Code:10 diff --git a/metadata/org.pocketworkstation.pckeyboard.txt b/metadata/org.pocketworkstation.pckeyboard.txt index 0dc9237f..47019309 100644 --- a/metadata/org.pocketworkstation.pckeyboard.txt +++ b/metadata/org.pocketworkstation.pckeyboard.txt @@ -19,6 +19,6 @@ Build Version:v1.22,1022,154e21230e81,subdir=java,target=android-11,buildjni=yes Build Version:v1.29,1029,1.29,subdir=java,target=android-11,buildjni=yes,prebuild=./AutoVersion.sh Update Check Mode:Market -Market Version:v1.29 -Market Version Code:1029 +Current Version:v1.29 +Current Version Code:1029 diff --git a/metadata/org.scoutant.blokish.txt b/metadata/org.scoutant.blokish.txt index 90753194..39165f80 100644 --- a/metadata/org.scoutant.blokish.txt +++ b/metadata/org.scoutant.blokish.txt @@ -17,6 +17,7 @@ Build Version:1.4,7,82ca58cdd26797f9ba9519e79c54031282d066af,target=android-10 Build Version:1.5,8,e6ab83e8832f03d78bf3f8deae33acb22a7ba520,target=android-10 Build Version:1.6,9,ebd1b966b70e,target=android-10 -Market Version:1.6 -Market Version Code:9 +Update Check Mode:Market +Current Version:1.6 +Current Version Code:9 diff --git a/metadata/org.sipdroid.sipua.txt b/metadata/org.sipdroid.sipua.txt index 21db3585..dbb1e04d 100644 --- a/metadata/org.sipdroid.sipua.txt +++ b/metadata/org.sipdroid.sipua.txt @@ -9,6 +9,7 @@ Description: A SIP (VOIP) client with video calling capabilities. . -Market Version:2.4 -Market Version Code:87 +Update Check Mode:Market +Current Version:2.4 +Current Version Code:87 diff --git a/metadata/org.sixgun.ponyexpress.txt b/metadata/org.sixgun.ponyexpress.txt index 263a69c7..11ae7b3d 100644 --- a/metadata/org.sixgun.ponyexpress.txt +++ b/metadata/org.sixgun.ponyexpress.txt @@ -20,6 +20,7 @@ Build Version:0.4.3,9,0.4.3 Build Version:1.0,11,efc427322038febb25d6ca909bf8c4157f685839 Build Version:1.1,12,1.1,target=android-10 -Market Version:1.1 -Market Version Code:12 +Update Check Mode:Market +Current Version:1.1 +Current Version Code:12 diff --git a/metadata/org.sparkleshare.android.txt b/metadata/org.sparkleshare.android.txt index 7d57ae4e..ec4ea16b 100644 --- a/metadata/org.sparkleshare.android.txt +++ b/metadata/org.sparkleshare.android.txt @@ -18,6 +18,7 @@ Repo:https://github.com/NewProggie/SparkleShare-Android.git Build Version:1.0,1,a9e23f0f9ae6161a786bf48cb48ab3dec20110c9,prebuild=rm -rf gen/ && rm -rf bin/,target=android-7 -Market Version:1.0 -Market Version Code:1 +Update Check Mode:Market +Current Version:1.0 +Current Version Code:1 diff --git a/metadata/org.swiftp.txt b/metadata/org.swiftp.txt index ceefe403..1c106b9f 100644 --- a/metadata/org.swiftp.txt +++ b/metadata/org.swiftp.txt @@ -14,8 +14,9 @@ device, optionally, if you have root access). Repo Type:svn Repo:http://swiftp.googlecode.com/svn/trunk/ -Market Version:1.24 -Market Version Code:17 +Update Check Mode:Market +Current Version:1.24 +Current Version Code:17 #Can't build this version - see http://code.google.com/p/swiftp/issues/detail?id=128 #Build Version:1.24,17,69,target=android-3 diff --git a/metadata/org.thialfihar.android.apg.txt b/metadata/org.thialfihar.android.apg.txt index c97ebedc..89a308ce 100644 --- a/metadata/org.thialfihar.android.apg.txt +++ b/metadata/org.thialfihar.android.apg.txt @@ -11,6 +11,7 @@ conjunction with K-9 Mail, to seamlessly add support for encyrpting and decrypti emails, as well as adding and verifying digital signatures. . -Market Version:1.0.8 -Market Version Code:10899 +Update Check Mode:Market +Current Version:1.0.8 +Current Version Code:10899 diff --git a/metadata/org.thoughtcrime.securesms.txt b/metadata/org.thoughtcrime.securesms.txt index 8dbee37c..39b5aaa7 100644 --- a/metadata/org.thoughtcrime.securesms.txt +++ b/metadata/org.thoughtcrime.securesms.txt @@ -18,6 +18,7 @@ Repo:https://github.com/WhisperSystems/TextSecure.git Build Version:0.5.7,21,6a30867fd481474e8634b508d524863bc8a6b565,target=android-10 -Market Version:0.5.7 -Market Version Code:21 +Update Check Mode:Market +Current Version:0.5.7 +Current Version Code:21 diff --git a/metadata/org.tof.txt b/metadata/org.tof.txt new file mode 100644 index 00000000..79c148eb --- /dev/null +++ b/metadata/org.tof.txt @@ -0,0 +1,19 @@ +Category:Games +License:GPLv3 +Web Site:http://code.google.com/p/tapsoffire/ +Source Code:http://code.google.com/p/tapsoffire/source/checkout +Issue Tracker:http://code.google.com/p/tapsoffire/issues/list + +Summary:Guitar Game +Description: +An Android implementation of Frets on Fire (Guitar Hero like game). It supports +plain FOF songs (just put them in /sdcard/TapsOfFire/songs). +. + +Repo Type:git-svn +Repo:http://tapsoffire.googlecode.com/svn/trunk/ + +Build Version:1.0.5 (Droid),17,22,fixtrans=yes,prebuild=mkdir -p libs/armeabi && mv libs_/* libs/armeabi && rm -rf libs_/ && sed -i 's/\(app_name\">Taps Of Fire\)[^<]*/\1/' res/values/strings.xml + +Update Check Mode:Market + diff --git a/metadata/org.tomdroid.txt b/metadata/org.tomdroid.txt index 196a078e..d2ccc1b9 100644 --- a/metadata/org.tomdroid.txt +++ b/metadata/org.tomdroid.txt @@ -16,6 +16,7 @@ Repo:lp:tomdroid Build Version:0.4.1,6,214 -Market Version:0.4.1 -Market Version Code:6 +Update Check Mode:Market +Current Version:0.4.1 +Current Version Code:6 diff --git a/metadata/org.torproject.android.txt b/metadata/org.torproject.android.txt index 83dc4375..dfb93415 100644 --- a/metadata/org.torproject.android.txt +++ b/metadata/org.torproject.android.txt @@ -11,6 +11,6 @@ device, the proxying can be completely transparent. . Update Check Mode:Market -Market Version:0.2.3.7-orbot-1.0.7-INTERIM -Market Version Code:27 +Current Version:0.2.3.10-alpha-1.0.7-FINAL +Current Version Code:32 diff --git a/metadata/org.transdroid.txt b/metadata/org.transdroid.txt index 4121bdee..38119844 100644 --- a/metadata/org.transdroid.txt +++ b/metadata/org.transdroid.txt @@ -12,6 +12,7 @@ and rTorrent are supported. It can show the active torrents, pause, resume or re them and new torrents can be added via URL, RSS feed or using the integrated search. . -Market Version:1.0.4 -Market Version Code:136 +Update Check Mode:Market +Current Version:1.0.4 +Current Version Code:136 diff --git a/metadata/org.ttrssreader.txt b/metadata/org.ttrssreader.txt index 439a791e..362b66d1 100644 --- a/metadata/org.ttrssreader.txt +++ b/metadata/org.ttrssreader.txt @@ -26,8 +26,9 @@ Build Version:1.21,1210,1.21,subdir=ttrss-reader,target=android-8 Build Version:1.22,1220,1.22,subdir=ttrss-reader,target=android-8 #The 1.23 tag is wrong... Build Version:1.23,1230,1e255c7e32ae,subdir=ttrss-reader,target=android-8 +Build Version:1.24,1240,fb656e839908,subdir=ttrss-reader,target=android-8 Update Check Mode:Market -Market Version:1.23 -Market Version Code:1230 +Current Version:1.24 +Current Version Code:1240 diff --git a/metadata/org.vudroid.txt b/metadata/org.vudroid.txt index fb5825ad..8d01a629 100644 --- a/metadata/org.vudroid.txt +++ b/metadata/org.vudroid.txt @@ -16,6 +16,7 @@ Build Version:1.2,3,36,buildjni=yes,target=android-8 Build Version:1.3,4,51,buildjni=yes,target=android-8 Build Version:1.4,5,56,buildjni=yes,target=android-8 -Market Version:1.4 -Market Version Code:5 +Update Check Mode:Market +Current Version:1.4 +Current Version Code:5 diff --git a/metadata/org.wahtod.wififixer.txt b/metadata/org.wahtod.wififixer.txt index 8fcfd84b..05ef29cc 100644 --- a/metadata/org.wahtod.wififixer.txt +++ b/metadata/org.wahtod.wififixer.txt @@ -22,6 +22,7 @@ Build Version:0.8.0.5,822,846b5c057e886f8436eb,subdir=wififixer,target=android-8 Build Version:0.8.0.6,838,81e9557f73d8529755cd,subdir=wififixer,target=android-8 Build Version:0.9.0.1,915,!commit 7155ca938dc1 but can't compile for some reason -Market Version:0.9.0.1 -Market Version Code:915 +Update Check Mode:Market +Current Version:0.9.0.1 +Current Version Code:915 diff --git a/metadata/org.wikipedia.txt b/metadata/org.wikipedia.txt new file mode 100644 index 00000000..52ec6a02 --- /dev/null +++ b/metadata/org.wikipedia.txt @@ -0,0 +1,22 @@ +Category:Internet +License:GPLv2 +Web Site: http://meta.wikimedia.org/wiki/Mobile_Projects +Source Code: https://github.com/wikimedia/WikipediaMobile +Issue Tracker: https://bugzilla.wikimedia.org/ + +Summary:Wikipedia Application +Description: +Official Wikipedia application. +. + +Repo Type:git +Repo:https://github.com/wikimedia/WikipediaMobile.git + +Build Version:1.0,1,v1.0-android +Build Version:1.0.2,3,a1dc1d87ac85351f44babbb9101e2311e89924b3 +Build Version:1.0.3,4,68957ccea4209347833997169f1bcf298beee7d9 + +Update Check Mode:Market +Current Version:1.0.3 +Current Version Code:4 + diff --git a/metadata/org.wordpress.android.txt b/metadata/org.wordpress.android.txt index ffde651d..d37f3ac0 100644 --- a/metadata/org.wordpress.android.txt +++ b/metadata/org.wordpress.android.txt @@ -15,13 +15,14 @@ and without permission, sends tracking details, including a unique identifier fo phone, and information about your mobile network, to the developer's server. . -Repo Type:svn -Repo:http://android.svn.wordpress.org/trunk/ +Repo Type:git-svn +Repo:http://android.svn.wordpress.org/ -Build Version:1.3.9,31,202,prebuild=mkdir libs && mv *.jar libs && sed -i "s@checkStats(accounts.size());@// MY PRIVACY > YOUR STATS@" src/org/wordpress/android/wpAndroid.java,encoding=utf-8 -Build Version:1.4.1,33,228,prebuild=mkdir libs && mv *.jar libs && sed -i "s@checkStats(accounts.size());@// MY PRIVACY > YOUR STATS@" src/org/wordpress/android/wpAndroid.java,encoding=utf-8 +Build Version:1.3.9,31,202,subdir=trunk,prebuild=mkdir libs && mv *.jar libs && sed -i "s@checkStats(accounts.size());@// MY PRIVACY > YOUR STATS@" src/org/wordpress/android/wpAndroid.java,encoding=utf-8 +Build Version:1.4.1,33,228,subdir=trunk,prebuild=mkdir libs && mv *.jar libs && sed -i "s@checkStats(accounts.size());@// MY PRIVACY > YOUR STATS@" src/org/wordpress/android/wpAndroid.java,encoding=utf-8 +Build Version:2.0.6,45,642,subdir=branches/2.0.6,encoding=utf-8 Update Check Mode:Market -Market Version:2.0.4 -Market Version Code:43 +Current Version:2.0.6 +Current Version Code:45 diff --git a/metadata/org.xbmc.android.remote.txt b/metadata/org.xbmc.android.remote.txt index 31381ea3..34f096f9 100644 --- a/metadata/org.xbmc.android.remote.txt +++ b/metadata/org.xbmc.android.remote.txt @@ -16,7 +16,9 @@ Repo:http://android-xbmcremote.googlecode.com/svn/trunk/XBMC%20Remote #get the 'android update project' to automatically incorporate it. Build Version:0.8.5-beta1,730,730,encoding=utf-8,prebuild=mv lib libs && mv lib-src/org/codehaus src/org/ Build Version:0.8.6-beta1,768,768,encoding=utf-8,prebuild=mv lib libs && mv lib-src/org/codehaus src/org/ +Build Version:0.8.8-beta1,808,!No corresponding source -Market Version:0.8.8-beta1 -Market Version Code:808 +Update Check Mode:Market +Current Version:0.8.8-beta1 +Current Version Code:808 diff --git a/metadata/org.xcsoar.txt b/metadata/org.xcsoar.txt index 7df8fdb1..eacdc6cf 100644 --- a/metadata/org.xcsoar.txt +++ b/metadata/org.xcsoar.txt @@ -14,8 +14,9 @@ calculation, collision avoidance and many many more features. Repo Type:git Repo:http://git.xcsoar.org/cgit/master/xcsoar.git/ -Market Version:6.2.4 -Market Version Code:51 +Update Check Mode:Market +Current Version:6.2.5 +Current Version Code:52 #Far too difficult to build - binary in repo #Build Version:6.2.4,51,95a3ad045eb05cb69b11b274f27c7eae387b9c40 diff --git a/metadata/org.yaaic.txt b/metadata/org.yaaic.txt index 588509ab..c4316798 100644 --- a/metadata/org.yaaic.txt +++ b/metadata/org.yaaic.txt @@ -18,6 +18,7 @@ Build Version:0.7,9,v0.7,subdir=application,bindir=builds/ant Build Version:0.8,10,v0.8,subdir=application,bindir=builds/ant Build Version:0.9,11,v0.9,subdir=application,bindir=builds/ant -Market Version:0.9 -Market Version Code:11 +Update Check Mode:Market +Current Version:0.9 +Current Version Code:11 diff --git a/metadata/org.yaxim.androidclient.txt b/metadata/org.yaxim.androidclient.txt index 1786f293..6164acf1 100644 --- a/metadata/org.yaxim.androidclient.txt +++ b/metadata/org.yaxim.androidclient.txt @@ -21,6 +21,7 @@ Build Version:0.8.1,10,0.8.1,oldsdkloc=yes,submodules=yes,fixtrans=yes,target=an Build Version:0.8.2,11,0.8.2,oldsdkloc=yes,submodules=yes,fixtrans=yes,target=android-10 Build Version:0.8.3,12,!can't find corresponding source code -Market Version:0.8.3 -Market Version Code:12 +Update Check Mode:Market +Current Version:0.8.3 +Current Version Code:12 diff --git a/metadata/org.zirco.txt b/metadata/org.zirco.txt index c1296ce3..2a1c7efd 100644 --- a/metadata/org.zirco.txt +++ b/metadata/org.zirco.txt @@ -27,6 +27,7 @@ Build Version:0.4.1,15,407 Build Version:0.4.2,16,438,target=android-10 Build Version:0.4.3,17,443,target=android-10 -Market Version:0.4.3 -Market Version Code:17 +Update Check Mode:Market +Current Version:0.4.3 +Current Version Code:17 diff --git a/metadata/pl.magot.vetch.ancal.txt b/metadata/pl.magot.vetch.ancal.txt index 985ac3f1..f9e8504d 100644 --- a/metadata/pl.magot.vetch.ancal.txt +++ b/metadata/pl.magot.vetch.ancal.txt @@ -15,6 +15,7 @@ Repo:http://ancal.googlecode.com/svn/trunk/ Build Version:1.6,32,23,fixtrans=yes -Market Version:1.5 -Market Version Code:31 +Update Check Mode:Market +Current Version:1.5 +Current Version Code:31 diff --git a/metadata/remuco.client.android.txt b/metadata/remuco.client.android.txt index 7860f8f3..37463f44 100644 --- a/metadata/remuco.client.android.txt +++ b/metadata/remuco.client.android.txt @@ -26,3 +26,5 @@ Repo:https://code.google.com/p/remuco/ Build Version:0.9.6,1,0.9.6,subdir=client/android,prebuild=cp -R ../common/src .,target=android-10 +Update Check Mode:Market + diff --git a/metadata/ru.gelin.android.weather.notification.txt b/metadata/ru.gelin.android.weather.notification.txt index 37d83ccc..0ac87ec8 100644 --- a/metadata/ru.gelin.android.weather.notification.txt +++ b/metadata/ru.gelin.android.weather.notification.txt @@ -16,6 +16,7 @@ Repo:https://code.google.com/p/weather-notification-android/ Build Version:0.2-beta2,23,253d9dc3022a,target=android-4 -Market Version:0.2-beta2 -Market Version Code:23 +Update Check Mode:Market +Current Version:0.2-beta2 +Current Version Code:23 diff --git a/metadata/ru.orangesoftware.financisto.txt b/metadata/ru.orangesoftware.financisto.txt index 31294da3..4731710c 100644 --- a/metadata/ru.orangesoftware.financisto.txt +++ b/metadata/ru.orangesoftware.financisto.txt @@ -21,8 +21,8 @@ Repo Type:bzr Repo:lp:financisto Update Check Mode:Market -Market Version:1.5.5 -Market Version Code:60 +Current Version:1.5.5 +Current Version Code:60 # Build fails, wrong path to GreenDroid library #Build Version:1.5.4,57,303,target=android-4 diff --git a/metadata/se.johanhil.clipboard.txt b/metadata/se.johanhil.clipboard.txt index 82aa8639..5c376482 100644 --- a/metadata/se.johanhil.clipboard.txt +++ b/metadata/se.johanhil.clipboard.txt @@ -21,6 +21,7 @@ Repo:https://github.com/johanhil/copy-to-clipboard.git Build Version:1.0,2,c6c466770fb7215d957118216c2414ae69ca1bc8,target=4 -Market Version:1.0 -Market Version Code:2 +Update Check Mode:Market +Current Version:1.0 +Current Version Code:2 diff --git a/metadata/se.johanhil.duckduckgo.txt b/metadata/se.johanhil.duckduckgo.txt index 88efb27b..a67df07a 100644 --- a/metadata/se.johanhil.duckduckgo.txt +++ b/metadata/se.johanhil.duckduckgo.txt @@ -16,6 +16,7 @@ Repo:https://github.com/johanhil/ddg-android.git Build Version:0.1,1,5a8b23c01eff6560bb9f5a815187c389f421b2b2,target=android-4 -Market Version:0.1 -Market Version Code:1 +Update Check Mode:Market +Current Version:0.1 +Current Version Code:1 diff --git a/metadata/se.peterbjorkman.android.trafikinfo.txt b/metadata/se.peterbjorkman.android.trafikinfo.txt index cead3237..84e17da6 100644 --- a/metadata/se.peterbjorkman.android.trafikinfo.txt +++ b/metadata/se.peterbjorkman.android.trafikinfo.txt @@ -16,6 +16,7 @@ Repo:http://trafikinfoandroid.googlecode.com/svn/trunk Build Version:0.9,12,628,encoding=utf-8 Build Version:0.9.1,13,630,encoding=utf-8 -Market Version:0.9.1 -Market Version Code:13 +Update Check Mode:Market +Current Version:0.9.1 +Current Version Code:13 diff --git a/metadata/seanfoy.wherering.txt b/metadata/seanfoy.wherering.txt index 7522ea05..7ac5efe4 100644 --- a/metadata/seanfoy.wherering.txt +++ b/metadata/seanfoy.wherering.txt @@ -10,6 +10,7 @@ Automatically changes the phone's ring mode (silent, vibrate, etc) according to current location. . -Market Version:1.99.0 -Market Version Code:99 +Update Check Mode:Market +Current Version:1.99.0 +Current Version Code:99 diff --git a/metadata/stericson.busybox.donate.txt b/metadata/stericson.busybox.donate.txt new file mode 100644 index 00000000..752542a2 --- /dev/null +++ b/metadata/stericson.busybox.donate.txt @@ -0,0 +1,34 @@ +Category:System +License:Apache 2.0 +Web Site:http://code.google.com/p/busybox-android/ +Source Code:http://code.google.com/p/busybox-android/source/checkout +Issue Tracker:http://code.google.com/p/busybox-android/issues/list + +Summary:BusyBox installer +Description: +Installs and updates BusyBox on a rooted device. + +BusyBox combines tiny versions of many common UNIX utilities into a single +small executable. It provides replacements for most of the utilities you +usually find in GNU fileutils, shellutils, etc. See the BusyBox web site at +http://www.busybox.net for more information. BusyBox itself is GPLv2 +licensed. +. + +Requires Root:Yes + +Repo Type:git-svn +Repo:http://busybox-android.googlecode.com/svn/trunk/ + +Build Version:7.1,103,3,target=android-8,prebuild=\ +rm -rf gen &&\ +cd src/stericson &&\ +svn co -r 133 http://roottools.googlecode.com/svn/trunk/Developmental/RootTools_sdk3_generic/src/com/stericson/RootTools &&\ +cd ../.. +Build Version:7.2,104,!No source available +Build Version:7.5,105,!No source available + +Update Check Mode:Market +Current Version:7.5 +Current Version Code:105 + diff --git a/metadata/tkj.android.homecontrol.mythmote.txt b/metadata/tkj.android.homecontrol.mythmote.txt index 92a64389..853aa45d 100644 --- a/metadata/tkj.android.homecontrol.mythmote.txt +++ b/metadata/tkj.android.homecontrol.mythmote.txt @@ -13,8 +13,9 @@ Repo Type:svn Repo:http://mythmote.googlecode.com/svn/trunk/ #Build Version:1.4.0,8,126,rm=src/tkj/android/homecontrol/mythmote/R.java +Build Version:1.6.2,1304,241,rm=src/tkj/android/homecontrol/mythmote/R.java Update Check Mode:Market -Market Version:1.6.0 -Market Version Code:11 +Current Version:1.6.0 +Current Version Code:11 diff --git a/metadata/to.networld.android.divedroid.txt b/metadata/to.networld.android.divedroid.txt index 3f35b72a..77d0ff1c 100644 --- a/metadata/to.networld.android.divedroid.txt +++ b/metadata/to.networld.android.divedroid.txt @@ -26,3 +26,5 @@ Repo:git://gandalf.networld.to/home/repos/semweb/android/DiveDroid.git Build Version:0.6,1,c50b1e638253cedf32dce49ef836fd30ba6071f9,encoding=utf-8,prebuild=mkdir libs && cd libs && wget http://dist.codehaus.org/jaxen/distributions/jaxen-1.1.3.zip && unzip -j jaxen-1.1.3.zip jaxen-1.1.3/jaxen-1.1.3.jar && rm *.zip && wget -O org.dom4j.jar http://sourceforge.net/projects/dom4j/files/dom4j-2.0.0-ALPHA-2/dom4j-2.0.0-ALPHA-2.jar/download && wget http://achartengine.googlecode.com/files/achartengine-0.5.0.jar && cd .. +Update Check Mode:Market + diff --git a/metadata/to.networld.android.foafviewer.txt b/metadata/to.networld.android.foafviewer.txt index dc85f7d4..f1b780a0 100644 --- a/metadata/to.networld.android.foafviewer.txt +++ b/metadata/to.networld.android.foafviewer.txt @@ -17,6 +17,8 @@ Repo:git://networld.to/var/scm/android/FOAFViewer.git Build Version:0.11,3,FOAFViewer_v0.11,prebuild=mkdir libs && cd libs && wget http://dist.codehaus.org/jaxen/distributions/jaxen-1.1.3.zip && unzip -j jaxen-1.1.3.zip jaxen-1.1.3/jaxen-1.1.3.jar && rm *.zip && wget -O org.dom4j.jar http://sourceforge.net/projects/dom4j/files/dom4j-2.0.0-ALPHA-2/dom4j-2.0.0-ALPHA-2.jar/download && cd .. +Update Check Mode:Market + # # Dependencies resolved I think (see above), but there is still a build error: # diff --git a/metadata/tuioDroid.impl.txt b/metadata/tuioDroid.impl.txt index 2e551240..615a8f0e 100644 --- a/metadata/tuioDroid.impl.txt +++ b/metadata/tuioDroid.impl.txt @@ -15,6 +15,7 @@ Repo:http://tuiodroid.googlecode.com/svn/trunk/ Build Version:1.0,4,28,subdir=TUIOdroid,prebuild=rm -rf bin && rm -rf gen,target=android-11 -Market Version:1.0 -Market Version Code:4 +Update Check Mode:Market +Current Version:1.0 +Current Version Code:4 diff --git a/metadata/uk.co.jarofgreen.JustADamnCompass.txt b/metadata/uk.co.jarofgreen.JustADamnCompass.txt new file mode 100644 index 00000000..bcf5d3ea --- /dev/null +++ b/metadata/uk.co.jarofgreen.JustADamnCompass.txt @@ -0,0 +1,18 @@ +Category:Navigation +License:Apache2 +Web Site:https://github.com/jarofgreen/Just-A-Damn-Compass +Source Code:https://github.com/jarofgreen/Just-A-Damn-Compass +Issue Tracker:https://github.com/jarofgreen/Just-A-Damn-Compass + +Summary:Simple Compass +Description: +A simple compass with no unnecessary extras. +. + +Repo Type:git +Repo:https://github.com/jarofgreen/Just-A-Damn-Compass.git + +Build Version:1.1,2,32e3d60ecadac260f71da17a6cb4b22084c5bcc2,target=android-8,prebuild=rm -rf gen + +Update Check Mode:Market + diff --git a/metadata/urbanstew.RehearsalAssistant.txt b/metadata/urbanstew.RehearsalAssistant.txt index 8ec8be16..b0407ac2 100644 --- a/metadata/urbanstew.RehearsalAssistant.txt +++ b/metadata/urbanstew.RehearsalAssistant.txt @@ -20,6 +20,7 @@ Repo:https://rehearsalassist.svn.sourceforge.net/svnroot/rehearsalassist/android Build Version:0.8.2,22,90,target=android-8,prebuild=mkdir -p gen/urbanstew/RehearsalAssistant && aidl aidl/urbanstew/RehearsalAssistant/IRecordService.aidl gen/urbanstew/RehearsalAssistant/IRecordService.java Build Version:0.9,26,!Source missing - see https://sourceforge.net/tracker/index.php?func=detail&aid=3196094&group_id=226240&atid=1067598 -Market Version:0.9 -Market Version Code:26 +Update Check Mode:Market +Current Version:0.9 +Current Version Code:26 diff --git a/metadata/us.lindanrandy.cidrcalculator.txt b/metadata/us.lindanrandy.cidrcalculator.txt index 10a2520b..7b3bc25f 100644 --- a/metadata/us.lindanrandy.cidrcalculator.txt +++ b/metadata/us.lindanrandy.cidrcalculator.txt @@ -6,15 +6,18 @@ Issue Tracker:https://code.google.com/p/cidrcalculator/issues/list Summary:utility for CIDR/subnet calculation. Description: -CIDR Calculator is a simple IP subnet calculator for network engineers to quickly determine what the address range is of a subnet. +CIDR Calculator is a simple IP subnet calculator for network engineers to +quickly determine what the address range is of a subnet. . Repo Type:svn Repo:http://cidrcalculator.googlecode.com/svn/trunk/ Build Version:1.13,115,31,target=android-8 +Build Version:1.14,116,!No source available +Build Version:1.16,118,32,target=android-11 Update Check Mode:Market -Market Version:1.14 -Market Version Code:116 +Current Version:1.16 +Current Version Code:118 diff --git a/metadata/vu.de.urpool.quickdroid.txt b/metadata/vu.de.urpool.quickdroid.txt index 3c351a08..68456778 100644 --- a/metadata/vu.de.urpool.quickdroid.txt +++ b/metadata/vu.de.urpool.quickdroid.txt @@ -19,6 +19,7 @@ Build Version:2.9.4,31,65,subdir=Quickdroid,target=android-7 Build Version:3.0,37,75,subdir=Quickdroid,target=android-10 Build Version:3.0.1,38,76,subdir=Quickdroid,target=android-10 -Market Version:4.0.1 -Market Version Code:41 +Update Check Mode:Market +Current Version:4.0.1 +Current Version Code:41 diff --git a/publish.py b/publish.py new file mode 100755 index 00000000..7fd9a1fe --- /dev/null +++ b/publish.py @@ -0,0 +1,136 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# +# publish.py - part of the FDroid server tools +# Copyright (C) 2010-12, Ciaran Gultnieks, ciaran@ciarang.com +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero 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 Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . + +import sys +import os +import shutil +import subprocess +import re +import zipfile +import tarfile +import md5 +import glob +from optparse import OptionParser + +import common +from common import BuildException + +#Read configuration... +execfile('config.py') + +# Parse command line... +parser = OptionParser() +parser.add_option("-v", "--verbose", action="store_true", default=False, + help="Spew out even more information than normal") +parser.add_option("-p", "--package", default=None, + help="Publish only the specified package") +(options, args) = parser.parse_args() + +log_dir = 'logs' +if not os.path.isdir(log_dir): + print "Creating log directory" + os.makedirs(log_dir) + +tmp_dir = 'tmp' +if not os.path.isdir(tmp_dir): + print "Creating temporary directory" + os.makedirs(tmp_dir) + +output_dir = 'repo' +if not os.path.isdir(output_dir): + print "Creating output directory" + os.makedirs(output_dir) + +unsigned_dir = 'unsigned' +if not os.path.isdir(unsigned_dir): + print "No unsigned directory - nothing to do" + sys.exit(0) + +for apkfile in sorted(glob.glob(os.path.join(unsigned_dir, '*.apk'))): + + apkfilename = os.path.basename(apkfile) + i = apkfilename.rfind('_') + if i == -1: + raise BuildException("Invalid apk name") + appid = apkfilename[:i] + print "Processing " + appid + + if not options.package or options.package == appid: + + # Figure out the key alias name we'll use. Only the first 8 + # characters are significant, so we'll use the first 8 from + # the MD5 of the app's ID and hope there are no collisions. + # If a collision does occur later, we're going to have to + # come up with a new alogrithm, AND rename all existing keys + # in the keystore! + if keyaliases.has_key(appid): + # For this particular app, the key alias is overridden... + keyalias = keyaliases[appid] + else: + m = md5.new() + m.update(appid) + keyalias = m.hexdigest()[:8] + print "Key alias: " + keyalias + + # See if we already have a key for this application, and + # if not generate one... + p = subprocess.Popen(['keytool', '-list', + '-alias', keyalias, '-keystore', keystore, + '-storepass', keystorepass], stdout=subprocess.PIPE) + output = p.communicate()[0] + if p.returncode !=0: + print "Key does not exist - generating..." + p = subprocess.Popen(['keytool', '-genkey', + '-keystore', keystore, '-alias', keyalias, + '-keyalg', 'RSA', '-keysize', '2048', + '-validity', '10000', + '-storepass', keystorepass, '-keypass', keypass, + '-dname', keydname], stdout=subprocess.PIPE) + output = p.communicate()[0] + print output + if p.returncode != 0: + raise BuildException("Failed to generate key") + + # Sign the application... + p = subprocess.Popen(['jarsigner', '-keystore', keystore, + '-storepass', keystorepass, '-keypass', keypass, + apkfile, keyalias], stdout=subprocess.PIPE) + output = p.communicate()[0] + print output + if p.returncode != 0: + raise BuildException("Failed to sign application") + + # Zipalign it... + p = subprocess.Popen([os.path.join(sdk_path,'tools','zipalign'), + '-v', '4', apkfile, + os.path.join(output_dir, apkfilename)], + stdout=subprocess.PIPE) + output = p.communicate()[0] + print output + if p.returncode != 0: + raise BuildException("Failed to align application") + os.remove(apkfile) + + # Move the source tarball into the output directory... + tarfilename = apkfilename[:-4] + '_src.tar.gz' + shutil.move(os.path.join(unsigned_dir, tarfilename), + os.path.join(output_dir, tarfilename)) + + print 'Published ' + apkfilename + diff --git a/scanner.py b/scanner.py index 2f30b439..53c38a99 100755 --- a/scanner.py +++ b/scanner.py @@ -50,6 +50,8 @@ html_parser = HTMLParser.HTMLParser() problems = [] +extlib_dir = os.path.join('build', 'extlib') + for app in apps: skip = False @@ -86,29 +88,15 @@ for app in apps: # Prepare the source code... root_dir = common.prepare_source(vcs, app, thisbuild, - build_dir, sdk_path, ndk_path, javacc_path, + build_dir, extlib_dir, sdk_path, ndk_path, javacc_path, not refreshed_source) refreshed_source = True - # Scan for common known non-free blobs: - usual_suspects = ['flurryagent.jar', - 'paypal_mpl.jar', - 'libGoogleAnalytics.jar', - 'admob-sdk-android.jar'] - for r,d,f in os.walk(build_dir): - for curfile in f: - if curfile.lower() in usual_suspects: - msg = 'Found probable non-free blob ' + os.path.join(r, curfile) - msg += ' in ' + app['id'] + ' ' + thisbuild['version'] - problems.append(msg) - - # Presence of a jni directory without buildjni=yes might - # indicate a problem... - if (os.path.exists(os.path.join(root_dir, 'jni')) and - thisbuild.get('buildjni', 'no') != 'yes'): - msg = 'Found jni directory, but buildjni is not enabled' - msg += ' in ' + app['id'] + ' ' + thisbuild['version'] - problems.append(msg) + # Do the scan... + buildprobs = common.scan_source(build_dir, root_dir, thisbuild) + for problem in buildprobs: + problems.append(problem + + ' in ' + app['id'] + ' ' + thisbuild['version']) except BuildException as be: msg = "Could not scan app %s due to BuildException: %s" % (app['id'], be) diff --git a/stats/known_apks.txt b/stats/known_apks.txt index 28e9469b..917b3876 100644 --- a/stats/known_apks.txt +++ b/stats/known_apks.txt @@ -1,16 +1,16 @@ -0.2.2.14-alpha-orbot-1.0.4.apk org.torproject.android +0.2.2.14-alpha-orbot-1.0.4.apk org.torproject.android 2010-12-29 0.2.2.22-alpha-orbot-1.0.4.1.apk org.torproject.android 2010-12-09-OpenSatNav-snapshot-r197.apk org.opensatnav -APG-1.0.7-release.apk org.thialfihar.android.apg +APG-1.0.7-release.apk org.thialfihar.android.apg 2010-10-21 APG-1.0.8-release.apk org.thialfihar.android.apg -AlarmKlock_1.6.apk com.angrydoughnuts.android.alarmclock +AlarmKlock_1.6.apk com.angrydoughnuts.android.alarmclock 2010-10-27 An.stop_9.apk An.stop 2011-07-04 -AppBak_1.0.apk org.moparisthebest.appbak +AppBak_1.0.apk org.moparisthebest.appbak 2010-10-21 Aptoide.apk cm.aptoide.pt -Aptoide_1.2.0.apk cm.aptoide.pt +Aptoide_1.2.0.apk cm.aptoide.pt 2010-10-21 Aptoide_2.0.apk cm.aptoide.pt -Audalyzer_1.14.apk org.hermit.audalyzer -BarcodeScanner3.4.apk com.google.zxing.client.android +Audalyzer_1.14.apk org.hermit.audalyzer 2010-10-21 +BarcodeScanner3.4.apk com.google.zxing.client.android 2010-10-21 BarcodeScanner3.5.apk com.google.zxing.client.android BarcodeScanner3.51.apk com.google.zxing.client.android BarcodeScanner3.52.apk com.google.zxing.client.android @@ -18,106 +18,116 @@ BarcodeScanner3.53.apk com.google.zxing.client.android BarcodeScanner3.6.apk com.google.zxing.client.android BarcodeScanner3.7.apk com.google.zxing.client.android 2011-11-01 BarcodeScanner3.72.apk com.google.zxing.client.android 2011-11-15 -Beem_0.1.4.apk com.beem.project.beem +BarcodeScanner4.0.apk com.google.zxing.client.android 2012-02-06 +Beem_0.1.4.apk com.beem.project.beem 2010-10-21 CSipSimple-0.01-01.apk com.csipsimple CSipSimple-0.02-01.apk com.csipsimple CSipSimple-0.02-03.apk com.csipsimple CSipSimple-0.03-00.apk com.csipsimple 2011-11-14 CSipSimple-0.03-01.apk com.csipsimple 2011-11-17 -CSipSimple_0.00-15-06.apk com.csipsimple +CSipSimple_0.00-15-06.apk com.csipsimple 2010-10-27 CSipSimple_0.00-16.apk com.csipsimple -ConnectBot_1.7.1.apk org.connectbot -Cubed_1.0.67.apk org.abrantix.rockon.rockonnggl +ConnectBot_1.7.1.apk org.connectbot 2010-10-21 +Cubed_1.0.67.apk org.abrantix.rockon.rockonnggl 2010-10-21 Cubed_1.0.68.apk org.abrantix.rockon.rockonnggl -DesktopLabel_1.3.0.apk com.serone.desktoplabel -DroidLife.apk org.jtb.droidlife +DesktopLabel_1.3.0.apk com.serone.desktoplabel 2010-10-21 +DroidLife.apk org.jtb.droidlife 2010-11-21 FBReaderJ-0.7.11.apk org.geometerplus.zlibrary.ui.android FBReaderJ-0.7.13.apk org.geometerplus.zlibrary.ui.android FBReaderJ-0.7.14.apk org.geometerplus.zlibrary.ui.android FBReaderJ-0.7.16.apk org.geometerplus.zlibrary.ui.android FBReaderJ-0.7.17.apk org.geometerplus.zlibrary.ui.android -FBReaderJ-0.7.5.apk org.geometerplus.zlibrary.ui.android +FBReaderJ-0.7.5.apk org.geometerplus.zlibrary.ui.android 2010-10-21 FBReaderJ-0.99.2.apk org.geometerplus.zlibrary.ui.android FBReaderJ-0.99.4.apk org.geometerplus.zlibrary.ui.android FBReaderJ-0.99.7.apk org.geometerplus.zlibrary.ui.android FBReaderJ-0.99.9.apk org.geometerplus.zlibrary.ui.android FDroid.apk org.fdroid.fdroid -FDroid_0.10.apk org.fdroid.fdroid +FDroid_0.10.apk org.fdroid.fdroid 2010-10-21 FDroid_0.11.apk org.fdroid.fdroid FDroid_0.12.apk org.fdroid.fdroid FDroid_0.13.apk org.fdroid.fdroid FDroid_0.14.apk org.fdroid.fdroid FDroid_0.15.apk org.fdroid.fdroid FDroid_0.16.apk org.fdroid.fdroid -Jamendo_0.9.9.1.apk com.teleca.jamendo +Jamendo_0.9.9.1.apk com.teleca.jamendo 2010-10-27 KeePassDroid-1.8.3.apk com.android.keepass KeePassDroid-1.8.5.1.apk com.android.keepass KeePassDroid-1.8.6.0.1.apk com.android.keepass KeePassDroid-1.8.6.4.apk com.android.keepass KeePassDroid-1.8.6.apk com.android.keepass -KeePassDroid_1.7.2.apk com.android.keepass -LifeSaver2_1.0.apk com.textuality.lifesaver2 +KeePassDroid_1.7.2.apk com.android.keepass 2010-10-21 +LifeSaver2_1.0.apk com.textuality.lifesaver2 2010-10-21 Mandelbrot2_v0.13_20110313a.apk com.alfray.mandelbrot2 -MandelbrotMap.apk com.alfray.mandelbrot2 -MathDoku_1.5.apk net.cactii.mathdoku +MandelbrotMap.apk com.alfray.mandelbrot2 2010-10-22 +MathDoku_1.5.apk net.cactii.mathdoku 2010-10-21 MathDoku_1.6.apk net.cactii.mathdoku Mathdoku-1.7.apk net.cactii.mathdoku -MissileIntercept.apk com.kirit.android.mintercept -Mixare_0.5.apk org.mixare -MobileC64-1.1.3.apk de.joergjahnke.c64.android +MissileIntercept.apk com.kirit.android.mintercept 2010-10-22 +Mixare_0.5.apk org.mixare 2010-10-21 +MobileC64-1.1.3.apk de.joergjahnke.c64.android 2010-12-29 MyTracks-1.0.21.apk com.google.android.maps.mytracks -MyTracks_1.0.19.apk com.google.android.maps.mytracks -MythMote_1.4.0.apk tkj.android.homecontrol.mythmote -NetCounter_0.14.1.apk net.jaqpot.netcounter -OpenGPSTracker-0.9.20.apk nl.sogeti.android.gpstracker +MyTracks_1.0.19.apk com.google.android.maps.mytracks 2010-10-21 +MythMote_1.4.0.apk tkj.android.homecontrol.mythmote 2010-10-21 +NetCounter_0.14.1.apk net.jaqpot.netcounter 2010-10-21 +OpenGPSTracker-0.9.20.apk nl.sogeti.android.gpstracker 2010-10-21 OpenGPSTracker-0.9.21.apk nl.sogeti.android.gpstracker OpenGPSTracker-0.9.22.apk nl.sogeti.android.gpstracker OpenGPSTracker-0.9.23.apk nl.sogeti.android.gpstracker OpenGPSTracker-0.9.24.apk nl.sogeti.android.gpstracker OpenGPSTracker-1.0.apk nl.sogeti.android.gpstracker -OpenManager_1.1.2.apk com.nexes.manager +OpenManager_1.1.2.apk com.nexes.manager 2010-10-21 OpenSatNav-snapshot-r179.apk org.opensatnav -OpenSatNav_0.9.apk org.opensatnav +OpenSatNav_0.9.apk org.opensatnav 2010-10-21 Orbot-1.0.6-Tor-0.2.3.7-alpha-FINAL.apk org.torproject.android 2011-11-14 -OsmAnd-0.5.1beta-b2.apk net.osmand +OsmAnd-0.5.1beta-b2.apk net.osmand 2010-12-29 OsmAnd-0.5.1beta-b3.apk net.osmand -Osmdroid_2.0.apk org.andnav.osm -PiwikMobile_1.apk org.piwik.mobile -Postcode_1.0.apk net.tevp.postcode +Osmdroid_2.0.apk org.andnav.osm 2010-10-21 +PiwikMobile_1.apk org.piwik.mobile 2010-10-21 +Postcode_1.0.apk net.tevp.postcode 2010-10-21 Postcode_1.1.apk net.tevp.postcode -ReplicaIsland_1.3.apk com.replica.replicaisland -Ringdroid-2.3.apk com.ringdroid +ReplicaIsland_1.3.apk com.replica.replicaisland 2010-10-21 +Ringdroid-2.3.apk com.ringdroid 2010-10-21 Ringdroid-2.4-rc2.apk com.ringdroid -SayMyName_2.5.3.2.apk org.mailboxer.saymyname +SayMyName_2.5.3.2.apk org.mailboxer.saymyname 2010-10-22 Scrambled%20Net-5.0.apk org.hermit.netscramble -Scrambled_Net-5.0.apk org.hermit.netscramble -Sipdroid-1.6.1.apk org.sipdroid.sipua +Scrambled_Net-5.0.apk org.hermit.netscramble 2010-12-05 +Sipdroid-1.6.1.apk org.sipdroid.sipua 2010-10-27 Sipdroid-2.0.1.apk org.sipdroid.sipua Sipdroid-2.1.apk org.sipdroid.sipua Sipdroid-2.3.apk org.sipdroid.sipua -SparseRSS_0.6.2.apk de.shandschuh.sparserss +Sipdroid-2.4.apk org.sipdroid.sipua 2012-02-08 +SparseRSS_0.6.2.apk de.shandschuh.sparserss 2010-12-04 SparseRSS_0.7.1.apk de.shandschuh.sparserss SparseRSS_0.7.2.apk de.shandschuh.sparserss SparseRSS_0.7.apk de.shandschuh.sparserss SparseRSS_0.8.3.apk de.shandschuh.sparserss -StatusNet1.0.2.apk net.status.client.mobile -SwiFTP_1.24.apk org.swiftp -TiltMazes-V1.2.apk com.lecz.android.tiltmazes +StatusNet1.0.2.apk net.status.client.mobile 2010-10-21 +SwiFTP_1.24.apk org.swiftp 2010-10-21 +TiltMazes-V1.2.apk com.lecz.android.tiltmazes 2010-10-22 Timeriffic_v1.09.04_20101120a.apk com.alfray.timeriffic -Tricorder_5.11.apk org.hermit.tricorder -WhereRing_1.99.0.apk seanfoy.wherering -WiFiKeyboard.apk com.volosyukivan +Tricorder_5.11.apk org.hermit.tricorder 2010-10-21 +WhereRing_1.99.0.apk seanfoy.wherering 2010-10-21 +WiFiKeyboard.apk com.volosyukivan 2010-10-22 +XCSoar.apk org.xcsoar 2012-01-28 XCSoar6.2.4.apk org.xcsoar 2011-12-24 -XWords4_android_beta_18.apk org.eehouse.android.xw4 +XWords4_android_beta_18.apk org.eehouse.android.xw4 2010-11-21 aarddict.android_10.apk aarddict.android 2012-01-13 -alogcat-2.1.4.apk org.jtb.alogcat +aarddict.android_12.apk aarddict.android 2012-02-12 +alogcat-2.1.4.apk org.jtb.alogcat 2010-11-21 andLess_05202011.apk net.avs234 2011-05-20 android.androidVNC_13.apk android.androidVNC 2011-04-06 -androidVNC_build20100725.apk android.androidVNC +androidVNC_build20100725.apk android.androidVNC 2010-11-18 apps.droidnotify_27.apk apps.droidnotify 2012-01-21 +apps.droidnotify_29.apk apps.droidnotify 2012-01-28 +apps.droidnotify_30.apk apps.droidnotify 2012-02-02 +apps.droidnotify_31.apk apps.droidnotify 2012-02-12 +arity.calculator_27.apk arity.calculator 2012-02-11 at.tomtasche.reader_11.apk at.tomtasche.reader 2011-01-05 at.tomtasche.reader_12.apk at.tomtasche.reader 2011-01-10 at.tomtasche.reader_15.apk at.tomtasche.reader 2011-01-13 +at.tomtasche.reader_22.apk at.tomtasche.reader 2012-02-10 +at.tomtasche.reader_24.apk at.tomtasche.reader 2012-02-10 caldwell.ben.trolly_6.apk caldwell.ben.trolly 2011-01-27 cmupdaterapp.ui_501.apk cmupdaterapp.ui 2011-07-12 com.FireFart.Permissions_2.apk com.FireFart.Permissions 2011-03-02 @@ -144,10 +154,14 @@ com.android.keepass_80.apk com.android.keepass 2011-06-29 com.android.keepass_82.apk com.android.keepass 2011-07-22 com.android.keepass_83.apk com.android.keepass 2011-12-31 com.android.keepass_84.apk com.android.keepass 2012-01-19 +com.android.keepass_85.apk com.android.keepass 2012-01-24 com.angrydoughnuts.android.alarmclock_8.apk com.angrydoughnuts.android.alarmclock 2011-05-19 com.appengine.paranoid_android.lost_12.apk com.appengine.paranoid_android.lost 2012-01-08 +com.ath0.rpn_10.apk com.ath0.rpn 2012-02-11 +com.ath0.rpn_9.apk com.ath0.rpn 2012-02-10 com.axelby.podax_12.apk com.axelby.podax 2012-01-21 com.beem.project.beem_10.apk com.beem.project.beem 2012-01-20 +com.beem.project.beem_11.apk com.beem.project.beem 2012-01-25 com.beem.project.beem_7.apk com.beem.project.beem 2011-02-03 com.beem.project.beem_9.apk com.beem.project.beem 2012-01-10 com.boardgamegeek_20.apk com.boardgamegeek 2011-09-26 @@ -157,8 +171,13 @@ com.bwx.bequick_201106160.apk com.bwx.bequick 2011-06-29 com.bwx.bequick_201107260.apk com.bwx.bequick 2011-08-09 com.bwx.qs.battery_201010020.apk com.bwx.qs.battery 2011-01-24 com.chessclock.android_8.apk com.chessclock.android 2012-01-08 +com.ciarang.tallyphant_2.apk com.ciarang.tallyphant 2012-01-26 +com.ciarang.tallyphant_3.apk com.ciarang.tallyphant 2012-02-07 +com.ciarang.tallyphant_4.apk com.ciarang.tallyphant 2012-02-07 +com.ciarang.tallyphant_5.apk com.ciarang.tallyphant 2012-02-08 com.commonsware.android.arXiv_92.apk com.commonsware.android.arXiv 2011-05-19 com.danga.squeezer_5.apk com.danga.squeezer 2011-03-02 +com.digitallizard.nicecompass_6.apk com.digitallizard.nicecompass 2012-01-28 com.dozingcatsoftware.bouncy_10.apk com.dozingcatsoftware.bouncy 2011-08-04 com.dozingcatsoftware.bouncy_4.apk com.dozingcatsoftware.bouncy 2011-03-10 com.eddyspace.networkmonitor_2.apk com.eddyspace.networkmonitor 2011-01-23 @@ -185,6 +204,8 @@ com.funambol.androidsync_16.apk com.funambol.androidsync 2011-08-25 com.funambol.androidsync_8.apk com.funambol.androidsync 2011-01-10 com.funambol.androidsync_9.apk com.funambol.androidsync 2011-01-09 com.ghostsq.commander_110.apk com.ghostsq.commander 2011-05-18 +com.ghostsq.commander_160.apk com.ghostsq.commander 2012-01-24 +com.ghostsq.commander_163.apk com.ghostsq.commander 2012-02-06 com.ghostsq.commander_94.apk com.ghostsq.commander 2011-04-02 com.ghostsq.commander_97.apk com.ghostsq.commander 2011-04-02 com.google.android.diskusage_2004.apk com.google.android.diskusage 2011-01-31 @@ -208,16 +229,23 @@ com.googlecode.droidwall_153.apk com.googlecode.droidwall 2011-10-03 com.googlecode.droidwall_156.apk com.googlecode.droidwall 2011-12-11 com.gpl.rpg.AndorsTrail_20.apk com.gpl.rpg.AndorsTrail 2011-10-02 com.gpl.rpg.AndorsTrail_25.apk com.gpl.rpg.AndorsTrail 2011-10-24 +com.hughes.android.dictionary_15.apk com.hughes.android.dictionary 2012-01-29 +com.hughes.android.dictionary_16.apk com.hughes.android.dictionary 2012-02-04 com.ichi2.anki_12.apk com.ichi2.anki 2010-11-12 com.ichi2.anki_18.apk com.ichi2.anki 2011-02-08 com.ichi2.anki_20.apk com.ichi2.anki 2011-04-26 com.ichi2.anki_21.apk com.ichi2.anki 2011-10-03 com.ichi2.anki_22.apk com.ichi2.anki 2011-11-27 +com.ihunda.android.binauralbeat_24.apk com.ihunda.android.binauralbeat 2012-02-11 com.jadn.cc_129.apk com.jadn.cc 2012-01-07 com.kmagic.solitaire_450.apk com.kmagic.solitaire 2011-01-23 +com.leinardi.kitchentimer_116.apk com.leinardi.kitchentimer 2012-01-28 com.liato.bankdroid_102.apk com.liato.bankdroid 2011-03-03 com.liato.bankdroid_110.apk com.liato.bankdroid 2011-04-19 com.liato.bankdroid_120.apk com.liato.bankdroid 2011-09-02 +com.liato.bankdroid_121.apk com.liato.bankdroid 2012-01-28 +com.liato.bankdroid_128.apk com.liato.bankdroid 2012-01-28 +com.liato.bankdroid_131.apk com.liato.bankdroid 2012-02-06 com.mobilepearls.sokoban_12.apk com.mobilepearls.sokoban 2011-01-05 com.morphoss.acal_14.apk com.morphoss.acal 2011-03-27 com.morphoss.acal_15.apk com.morphoss.acal 2011-03-29 @@ -234,6 +262,7 @@ com.morphoss.acal_36.apk com.morphoss.acal 2012-01-09 com.morphoss.acal_37.apk com.morphoss.acal 2012-01-15 com.morphoss.acal_38.apk com.morphoss.acal 2012-01-20 com.mp3tunes.android.player_89.apk com.mp3tunes.android.player 2011-04-09 +com.namelessdev.mpdroid_20.apk com.namelessdev.mpdroid 2012-01-29 com.nexes.manager_212.apk com.nexes.manager 2011-03-09 com.nexes.manager_218.apk com.nexes.manager 2011-07-22 com.nexes.manager_4.apk com.nexes.manager 2011-01-23 @@ -241,15 +270,22 @@ com.proch.practicehub_1.apk com.proch.practicehub 2011-11-25 com.replica.replicaisland_14.apk com.replica.replicaisland 2011-03-03 com.ringdroid_20500.apk com.ringdroid 2011-03-26 com.roozen.SoundManager_18.apk com.roozen.SoundManager 2011-03-03 +com.scottmain.android.searchlight_1.apk com.scottmain.android.searchlight 2012-01-27 com.smorgasbork.hotdeath_3.apk com.smorgasbork.hotdeath 2011-12-06 +com.smorgasbork.hotdeath_6.apk com.smorgasbork.hotdeath 2012-01-24 +com.smorgasbork.hotdeath_7.apk com.smorgasbork.hotdeath 2012-02-05 +com.stericson.permissions_4.apk com.stericson.permissions 2012-01-27 +com.tastycactus.timesheet_5.apk com.tastycactus.timesheet 2012-02-05 com.teleca.jamendo_31.apk com.teleca.jamendo 2011-04-28 com.teleca.jamendo_32.apk com.teleca.jamendo 2011-06-03 com.teleca.jamendo_33.apk com.teleca.jamendo 2011-06-04 +com.teleca.jamendo_35.apk com.teleca.jamendo 2012-01-28 com.totsp.bookworm_18.apk com.totsp.bookworm 2011-01-27 com.totsp.bookworm_19.apk com.totsp.bookworm 2011-05-04 com.totsp.crossword.shortyz_30100.apk com.totsp.crossword.shortyz 2012-01-08 com.unitedcoders.android.gpodroid_12.apk com.unitedcoders.android.gpodroid 2012-01-08 com.voidcode.diasporawebclient_3.apk com.voidcode.diasporawebclient 2011-12-08 +com.voidcode.diasporawebclient_6.apk com.voidcode.diasporawebclient 2012-01-28 com.volosyukivan_23.apk com.volosyukivan 2011-01-30 com.volosyukivan_25.apk com.volosyukivan 2011-03-09 com.volosyukivan_26.apk com.volosyukivan 2011-09-02 @@ -274,11 +310,14 @@ de.shandschuh.sparserss_65.apk de.shandschuh.sparserss 2011-08-25 de.shandschuh.sparserss_68.apk de.shandschuh.sparserss 2011-10-02 de.shandschuh.sparserss_69.apk de.shandschuh.sparserss 2011-11-03 de.shandschuh.sparserss_70.apk de.shandschuh.sparserss 2011-12-12 +de.shandschuh.sparserss_71.apk de.shandschuh.sparserss 2012-02-06 de.ub0r.android.adBlock_5.apk de.ub0r.android.adBlock 2011-01-23 +dk.andsen.asqlitemanager_10.apk dk.andsen.asqlitemanager 2012-01-26 dk.andsen.asqlitemanager_7.apk dk.andsen.asqlitemanager 2011-12-05 dk.andsen.asqlitemanager_9.apk dk.andsen.asqlitemanager 2011-12-08 edu.nyu.cs.omnidroid.app_6.apk edu.nyu.cs.omnidroid.app 2011-10-04 edu.rit.poe.atomix_2.apk edu.rit.poe.atomix 2011-03-02 +fennec-10.0.multi.android-arm.apk org.mozilla.firefox 2012-02-01 fennec-5.0.multi.eabi-arm.apk org.mozilla.firefox fennec-6.0.multi.eabi-arm.apk org.mozilla.firefox fennec-9.0.multi.android-arm.apk org.mozilla.firefox 2012-01-19 @@ -286,19 +325,20 @@ fm.libre.droid_3.apk fm.libre.droid 2010-11-12 fm.libre.droid_4.apk fm.libre.droid 2010-11-12 fr.seeks_4.apk fr.seeks 2011-05-04 goo.TeaTimer_9.apk goo.TeaTimer 2011-05-18 -gvSIG_Mini_1_0_0_SDK16.apk es.prodevelop.gvsig.mini +gvSIG_Mini_1_0_0_SDK16.apk es.prodevelop.gvsig.mini 2010-10-21 gvSIG_Mini_1_1_0_SDK16.apk es.prodevelop.gvsig.mini gvSIG_Mini_1_2_2_SDK16-456.apk es.prodevelop.gvsig.mini 2011-03-28 -httpmon.apk org.jtb.httpmon +httpmon.apk org.jtb.httpmon 2010-11-21 httpmon_0.4.10.apk org.jtb.httpmon info.guardianproject.browser_3.apk info.guardianproject.browser 2011-12-07 info.guardianproject.cacert_3.apk info.guardianproject.cacert 2011-10-03 info.guardianproject.cacert_4.apk info.guardianproject.cacert 2011-12-11 info.guardianproject.otr.app.im_25.apk info.guardianproject.otr.app.im 2012-01-22 info.lamatricexiste.network_42.apk info.lamatricexiste.network 2011-07-06 +info.lamatricexiste.network_43.apk info.lamatricexiste.network 2012-02-04 info.staticfree.android.units_7.apk info.staticfree.android.units 2011-01-05 info.staticfree.android.units_8.apk info.staticfree.android.units 2011-01-17 -k9-3.200-release.apk com.fsck.k9 +k9-3.200-release.apk com.fsck.k9 2010-10-21 k9-3.202-release.apk com.fsck.k9 k9-3.204-release.apk com.fsck.k9 k9-3.206-release.apk com.fsck.k9 @@ -316,37 +356,44 @@ k9-3.605-release.apk com.fsck.k9 k9-3.800-release.apk com.fsck.k9 2011-05-25 k9-4.001-release.apk com.fsck.k9 2011-12-28 k9-4.003-release.apk com.fsck.k9 2012-01-08 -linphone-android-1.0.15.apk org.linphone +k9-4.005-release.apk com.fsck.k9 2012-01-28 +linphone-android-1.0.15.apk org.linphone 2010-11-16 linphone-android-1.1.6.apk org.linphone linphone-android-1.2.1.apk org.linphone 2011-09-29 me.guillaumin.android.osmtracker_20.apk me.guillaumin.android.osmtracker 2011-07-03 me.guillaumin.android.osmtracker_21.apk me.guillaumin.android.osmtracker 2011-10-02 +me.guillaumin.android.osmtracker_22.apk me.guillaumin.android.osmtracker 2012-02-05 mixare-0061.apk org.mixare mixare-0062.apk org.mixare mixare-0063.apk org.mixare mixedbit.speechtrainer_2.apk mixedbit.speechtrainer 2011-11-28 -mobileorg-release.apk com.matburt.mobileorg +mobileorg-release.apk com.matburt.mobileorg 2011-02-19 mustard-0.1.10.apk org.mustard.android mustard-0.1.12b.apk org.mustard.android mustard-0.1.12c.apk org.mustard.android mustard-0.1.12f.apk org.mustard.android mustard-0.1.14b.apk org.mustard.android -mustard-0.1.9.6-2.apk org.mustard.android +mustard-0.1.9.6-2.apk org.mustard.android 2010-10-21 mustard-0.1.9.7a.apk org.mustard.android mustard-0.2.0.apk org.mustard.android mustard-0.2.1.apk org.mustard.android 2011-10-29 mustard-0.3.0.apk org.mustard.android 2011-12-12 mythmote-1.5.1.apk tkj.android.homecontrol.mythmote name.bagi.levente.pedometer_6.apk name.bagi.levente.pedometer 2011-08-14 -navit-0.2.0.apk org.navitproject.navit +navit-0.2.0.apk org.navitproject.navit 2011-01-02 net.androgames.level_27.apk net.androgames.level 2012-01-11 net.bytten.xkcdviewer_15.apk net.bytten.xkcdviewer 2011-01-26 net.bytten.xkcdviewer_17.apk net.bytten.xkcdviewer 2011-04-06 net.bytten.xkcdviewer_21.apk net.bytten.xkcdviewer 2011-07-22 net.cactii.mathdoku_70.apk net.cactii.mathdoku 2011-01-22 net.fercanet.LNM_3.apk net.fercanet.LNM 2011-01-20 +net.gaast.giggity_16.apk net.gaast.giggity 2012-01-28 net.gaast.giggity_4.apk net.gaast.giggity 2011-02-04 +net.healeys.lexic_41.apk net.healeys.lexic 2012-02-09 net.mafro.android.wakeonlan_12.apk net.mafro.android.wakeonlan 2011-11-24 +net.nightwhistler.pageturner_1.apk net.nightwhistler.pageturner 2012-02-03 +net.nightwhistler.pageturner_2.apk net.nightwhistler.pageturner 2012-02-04 +net.nightwhistler.pageturner_3.apk net.nightwhistler.pageturner 2012-02-11 net.osmand.plus_34.apk net.osmand.plus 2011-06-24 net.osmand.plus_36.apk net.osmand.plus 2011-07-12 net.osmand.plus_37.apk net.osmand.plus 2011-09-26 @@ -369,6 +416,7 @@ net.rocrail.androc_286.apk net.rocrail.androc 2011-08-09 net.rocrail.androc_289.apk net.rocrail.androc 2011-08-14 net.rocrail.androc_315.apk net.rocrail.androc 2011-08-25 net.rocrail.androc_324.apk net.rocrail.androc 2011-10-10 +net.rocrail.androc_339.apk net.rocrail.androc 2012-01-25 net.sf.andbatdog.batterydog_11.apk net.sf.andbatdog.batterydog 2011-04-02 net.sourceforge.servestream_35.apk net.sourceforge.servestream 2011-03-30 net.sourceforge.servestream_46.apk net.sourceforge.servestream 2011-08-02 @@ -376,10 +424,14 @@ net.sourceforge.servestream_48.apk net.sourceforge.servestream 2011-08-14 net.sourceforge.servestream_54.apk net.sourceforge.servestream 2012-01-19 net.sylvek.sharemyposition_16.apk net.sylvek.sharemyposition 2011-02-03 net.sylvek.sharemyposition_20.apk net.sylvek.sharemyposition 2012-01-10 +net.sylvek.sharemyposition_24.apk net.sylvek.sharemyposition 2012-01-27 +net.szym.barnacle_39.apk net.szym.barnacle 2012-02-05 net.tapi.handynotes_1.apk net.tapi.handynotes 2011-02-13 net.tapi.handynotes_3.apk net.tapi.handynotes 2011-02-19 net.tedstein.AndroSS_10.apk net.tedstein.AndroSS 2011-06-27 net.tedstein.AndroSS_13.apk net.tedstein.AndroSS 2011-07-12 +net.tedstein.AndroSS_16.apk net.tedstein.AndroSS 2012-01-25 +net.tedstein.AndroSS_17.apk net.tedstein.AndroSS 2012-02-03 net.tedstein.AndroSS_6.apk net.tedstein.AndroSS 2011-03-29 net.tedstein.AndroSS_7.apk net.tedstein.AndroSS 2011-04-19 net.tedstein.AndroSS_8.apk net.tedstein.AndroSS 2011-05-05 @@ -390,6 +442,7 @@ org.adaway_19.apk org.adaway 2011-11-14 org.adaway_20.apk org.adaway 2012-01-10 org.adaway_21.apk org.adaway 2012-01-11 org.adaway_22.apk org.adaway 2012-01-15 +org.adaway_25.apk org.adaway 2012-01-24 org.adw.launcher_34.apk org.adw.launcher 2011-12-05 org.androidsoft.games.memory.kids_13.apk org.androidsoft.games.memory.kids 2011-12-08 org.coolreader_103.apk org.coolreader 2011-02-13 @@ -421,6 +474,8 @@ org.coolreader_447.apk org.coolreader 2012-01-11 org.coolreader_505.apk org.coolreader 2012-01-13 org.coolreader_509.apk org.coolreader 2012-01-15 org.coolreader_514.apk org.coolreader 2012-01-19 +org.coolreader_530.apk org.coolreader 2012-01-30 +org.coolreader_532.apk org.coolreader 2012-02-01 org.coolreader_60.apk org.coolreader 2011-01-05 org.coolreader_64.apk org.coolreader 2011-01-07 org.coolreader_69.apk org.coolreader 2011-01-13 @@ -461,6 +516,7 @@ org.geometerplus.zlibrary.ui.android_102021.apk org.geometerplus.zlibrary.ui.and org.geometerplus.zlibrary.ui.android_102031.apk org.geometerplus.zlibrary.ui.android 2011-11-25 org.geometerplus.zlibrary.ui.android_102041.apk org.geometerplus.zlibrary.ui.android 2011-12-04 org.geometerplus.zlibrary.ui.android_102061.apk org.geometerplus.zlibrary.ui.android 2012-01-06 +org.geometerplus.zlibrary.ui.android_103031.apk org.geometerplus.zlibrary.ui.android 2012-01-27 org.geometerplus.zlibrary.ui.android_9903.apk org.geometerplus.zlibrary.ui.android 2011-01-08 org.geometerplus.zlibrary.ui.android_9911.apk org.geometerplus.zlibrary.ui.android 2011-02-02 org.geometerplus.zlibrary.ui.android_9912.apk org.geometerplus.zlibrary.ui.android 2011-02-10 @@ -470,25 +526,37 @@ org.helllabs.android.xmp_15.apk org.helllabs.android.xmp 2011-03-02 org.jessies.mathdroid_25.apk org.jessies.mathdroid 2011-12-06 org.jfedor.frozenbubble_11.apk org.jfedor.frozenbubble 2011-04-26 org.jfedor.frozenbubble_12.apk org.jfedor.frozenbubble 2011-10-10 +org.jfedor.frozenbubble_13.apk org.jfedor.frozenbubble 2012-01-28 org.jfedor.frozenbubble_8.apk org.jfedor.frozenbubble 2011-01-02 org.jfedor.frozenbubble_9.apk org.jfedor.frozenbubble 2011-01-02 org.jmoyer.NotificationPlus_2.apk org.jmoyer.NotificationPlus 2012-01-15 org.johanhil.flygtider_9.apk org.johanhil.flygtider 2011-04-02 +org.jsharkey.sky_1.apk org.jsharkey.sky 2012-02-12 org.jtb.alogcat_34.apk org.jtb.alogcat 2011-01-04 org.jtb.alogcat_36.apk org.jtb.alogcat 2011-03-09 org.jtb.alogcat_38.apk org.jtb.alogcat 2011-03-10 +org.jtb.alogcat_39.apk org.jtb.alogcat 2012-01-24 org.jtb.droidlife_21.apk org.jtb.droidlife 2011-11-27 org.kost.externalip_3.apk org.kost.externalip 2011-09-26 org.kreed.vanilla_16.apk org.kreed.vanilla 2011-04-02 +org.liberty.android.fantastischmemo_135.apk org.liberty.android.fantastischmemo 2012-02-12 org.marcus905.wifi.ace_20100924.apk org.marcus905.wifi.ace 2011-01-27 +org.marcus905.wifi.ace_20120115.apk org.marcus905.wifi.ace 2012-02-06 org.mixare_14.apk org.mixare 2011-07-22 +org.mixare_20.apk org.mixare 2012-01-28 org.mult.daap_30.apk org.mult.daap 2011-01-27 org.mult.daap_39.apk org.mult.daap 2012-01-19 +org.mult.daap_40.apk org.mult.daap 2012-02-04 org.mythdroid_4.apk org.mythdroid 2011-03-02 org.mythdroid_53.apk org.mythdroid 2012-01-06 +org.nerdcircus.android.klaxon_27.apk org.nerdcircus.android.klaxon 2012-02-04 +org.openintents.filemanager_18.apk org.openintents.filemanager 2012-02-03 +org.openintents.newsreader_65549.apk org.openintents.newsreader 2012-01-30 org.paulmach.textedit_12.apk org.paulmach.textedit 2011-01-27 org.paulmach.textedit_14.apk org.paulmach.textedit 2011-08-04 +org.paulmach.textedit_15.apk org.paulmach.textedit 2012-02-06 org.penghuang.tools.rotationlock_5.apk org.penghuang.tools.rotationlock 2012-01-11 +org.penghuang.tools.rotationlock_6.apk org.penghuang.tools.rotationlock 2012-02-04 org.pocketworkstation.pckeyboard_1018.apk org.pocketworkstation.pckeyboard 2011-07-01 org.pocketworkstation.pckeyboard_1020.apk org.pocketworkstation.pckeyboard 2011-07-01 org.pocketworkstation.pckeyboard_1022.apk org.pocketworkstation.pckeyboard 2011-10-02 @@ -516,6 +584,7 @@ org.ttrssreader_1075.apk org.ttrssreader 2011-08-18 org.ttrssreader_1210.apk org.ttrssreader 2011-11-24 org.ttrssreader_1220.apk org.ttrssreader 2012-01-02 org.ttrssreader_1230.apk org.ttrssreader 2012-01-20 +org.ttrssreader_1240.apk org.ttrssreader 2012-02-01 org.ttrssreader_807.apk org.ttrssreader 2011-01-22 org.ttrssreader_840.apk org.ttrssreader 2011-02-09 org.ttrssreader_850.apk org.ttrssreader 2011-06-12 @@ -535,6 +604,9 @@ org.wahtod.wififixer_760.apk org.wahtod.wififixer 2011-02-13 org.wahtod.wififixer_770.apk org.wahtod.wififixer 2011-03-03 org.wahtod.wififixer_822.apk org.wahtod.wififixer 2011-08-07 org.wahtod.wififixer_838.apk org.wahtod.wififixer 2011-09-02 +org.wikipedia_1.apk org.wikipedia 2012-01-26 +org.wikipedia_3.apk org.wikipedia 2012-01-26 +org.wikipedia_4.apk org.wikipedia 2012-02-03 org.wordpress.android_31.apk org.wordpress.android 2011-01-26 org.wordpress.android_33.apk org.wordpress.android 2011-07-01 org.xbmc.android.remote_730.apk org.xbmc.android.remote 2011-02-24 @@ -557,7 +629,7 @@ org.zirco_15.apk org.zirco 2011-10-10 org.zirco_16.apk org.zirco 2011-12-12 org.zirco_17.apk org.zirco 2012-01-08 pl.magot.vetch.ancal_32.apk pl.magot.vetch.ancal 2011-02-01 -regalandroid-1.0.0-20101204.212606-5.apk net.dahanne.android.regalandroid +regalandroid-1.0.0-20101204.212606-5.apk net.dahanne.android.regalandroid 2010-12-16 regalandroid-1.0.1-aligned.apk net.dahanne.android.regalandroid remuco.client.android_1.apk remuco.client.android 2012-01-08 ru.gelin.android.weather.notification_23.apk ru.gelin.android.weather.notification 2011-12-11 @@ -565,26 +637,30 @@ se.johanhil.clipboard_2.apk se.johanhil.clipboard 2011-03-10 se.johanhil.duckduckgo_1.apk se.johanhil.duckduckgo 2011-03-10 se.peterbjorkman.android.trafikinfo_12.apk se.peterbjorkman.android.trafikinfo 2011-01-27 se.peterbjorkman.android.trafikinfo_13.apk se.peterbjorkman.android.trafikinfo 2011-02-02 -sms-backup-plus-v1.2.apk com.zegoggles.smssync +sms-backup-plus-v1.2.apk com.zegoggles.smssync 2010-11-19 sms-backup-plus-v1.3.2.apk com.zegoggles.smssync sms-backup-plus-v1.3.3.apk com.zegoggles.smssync sms-backup-plus-v1.3.4.apk com.zegoggles.smssync sms-backup-plus-v1.3.7.apk com.zegoggles.smssync sms-backup-plus-v1.4.0.apk com.zegoggles.smssync -talkmyphone-2.06-beta.apk com.googlecode.talkmyphone +stericson.busybox.donate_103.apk stericson.busybox.donate 2012-01-26 +talkmyphone-2.06-beta.apk com.googlecode.talkmyphone 2010-11-19 +tkj.android.homecontrol.mythmote_1304.apk tkj.android.homecontrol.mythmote 2012-01-28 to.networld.android.divedroid_1.apk to.networld.android.divedroid 2011-02-13 -transdroid-0.22.0.apk org.transdroid +transdroid-0.22.0.apk org.transdroid 2010-10-21 transdroid-0.22.2.apk org.transdroid transdroid-0.22.3.apk org.transdroid transdroid-1.0.4.apk org.transdroid 2011-05-24 transdroid-1.1.0-beta.apk org.transdroid 2011-10-21 tuioDroid.impl_4.apk tuioDroid.impl 2011-11-28 -tuxrider_1.0.4.apk com.drodin.tuxrider +tuxrider_1.0.4.apk com.drodin.tuxrider 2010-11-18 +uk.co.jarofgreen.JustADamnCompass_2.apk uk.co.jarofgreen.JustADamnCompass 2012-02-12 urbanstew.RehearsalAssistant_22.apk urbanstew.RehearsalAssistant 2011-02-19 us.lindanrandy.cidrcalculator_115.apk us.lindanrandy.cidrcalculator 2012-01-21 +us.lindanrandy.cidrcalculator_118.apk us.lindanrandy.cidrcalculator 2012-01-28 vu.de.urpool.quickdroid_31.apk vu.de.urpool.quickdroid 2011-01-27 vu.de.urpool.quickdroid_37.apk vu.de.urpool.quickdroid 2011-03-10 vu.de.urpool.quickdroid_38.apk vu.de.urpool.quickdroid 2011-05-16 -yaaic-0.5.apk org.yaaic +yaaic-0.5.apk org.yaaic 2010-10-21 yaaic-0.6.1.apk org.yaaic yaaic-0.6.apk org.yaaic diff --git a/stats/latestapps.txt b/stats/latestapps.txt index cc7327c0..a9943fda 100644 --- a/stats/latestapps.txt +++ b/stats/latestapps.txt @@ -1,10 +1,10 @@ -org.eehouse.android.xw4 -aarddict.android -org.jmoyer.NotificationPlus -org.mozilla.firefox -apps.droidnotify -com.axelby.podax -com.google.android.stardroid -us.lindanrandy.cidrcalculator -net.pierrox.mcompass -info.guardianproject.otr.app.im +com.ihunda.android.binauralbeat +arity.calculator +com.ath0.rpn +net.healeys.lexic +net.szym.barnacle +com.tastycactus.timesheet +org.nerdcircus.android.klaxon +org.openintents.filemanager +net.nightwhistler.pageturner +org.openintents.newsreader diff --git a/stats/total_downloads_app.txt b/stats/total_downloads_app.txt index 1ecbf82a..4fba7a9c 100644 --- a/stats/total_downloads_app.txt +++ b/stats/total_downloads_app.txt @@ -1,194 +1,213 @@ # Total downloads by application, since October 2011 -ALL 166414 -An.stop 768 -aarddict.android 309 -android.androidVNC 927 -apps.droidnotify 7 -at.tomtasche.reader 78 -caldwell.ben.trolly 605 +ALL 209885 +An.stop 924 +aarddict.android 778 +android.androidVNC 1173 +apps.droidnotify 227 +at.tomtasche.reader 97 +caldwell.ben.trolly 721 cm.aptoide.pt 81 -cmupdaterapp.ui 1491 -com.FireFart.Permissions 815 -com.agiro.scanner.android 221 -com.alfray.mandelbrot2 513 -com.alfray.timeriffic 306 -com.andrewshu.android.reddit 838 -com.android.inputmethod.norwegian 122 -com.android.keepass 1283 -com.angrydoughnuts.android.alarmclock 1488 -com.appengine.paranoid_android.lost 146 -com.axelby.podax 11 -com.beem.project.beem 931 -com.boardgamegeek 522 -com.bwx.bequick 894 -com.bwx.qs.battery 742 -com.chessclock.android 42 -com.commonsware.android.arXiv 453 -com.csipsimple 904 -com.danga.squeezer 150 -com.dozingcatsoftware.bouncy 1094 +cmupdaterapp.ui 1707 +com.FireFart.Permissions 976 +com.agiro.scanner.android 275 +com.alfray.mandelbrot2 615 +com.alfray.timeriffic 351 +com.andrewshu.android.reddit 988 +com.android.inputmethod.norwegian 146 +com.android.keepass 1634 +com.angrydoughnuts.android.alarmclock 1725 +com.appengine.paranoid_android.lost 292 +com.ath0.rpn 9 +com.axelby.podax 136 +com.beem.project.beem 1291 +com.boardgamegeek 603 +com.bwx.bequick 1109 +com.bwx.qs.battery 887 +com.chessclock.android 93 +com.ciarang.tallyphant 109 +com.commonsware.android.arXiv 555 +com.csipsimple 1044 +com.danga.squeezer 183 +com.digitallizard.nicecompass 272 +com.dozingcatsoftware.bouncy 1332 com.drodin.tuxrider 26 -com.eddyspace.networkmonitor 372 -com.eleybourn.bookcatalogue 896 +com.eddyspace.networkmonitor 464 +com.eleybourn.bookcatalogue 1015 com.episode6.android.appalarm.pro 3 -com.evancharlton.mileage 368 -com.example.android.maxpapers 792 -com.fsck.k9 2959 -com.funambol.androidsync 530 -com.ghostsq.commander 1724 -com.google.android.diskusage 1516 -com.google.android.maps.mytracks 533 -com.google.android.stardroid 5 -com.google.code.appsorganizer 1053 -com.google.zxing.client.android 2985 -com.googlecode.androidcells 405 -com.googlecode.chartdroid 222 -com.googlecode.droidwall 1466 -com.googlecode.talkmyphone 287 -com.gpl.rpg.AndorsTrail 1747 -com.ichi2.anki 980 -com.jadn.cc 140 -com.kirit.android.mintercept 846 -com.kmagic.solitaire 1166 -com.lecz.android.tiltmazes 790 -com.liato.bankdroid 258 -com.matburt.mobileorg 505 -com.mobilepearls.sokoban 845 -com.morphoss.acal 2446 -com.mp3tunes.android.player 54 -com.nexes.manager 1179 -com.proch.practicehub 368 -com.replica.replicaisland 827 -com.ringdroid 668 -com.roozen.SoundManager 568 -com.serone.desktoplabel 435 -com.smorgasbork.hotdeath 312 -com.teleca.jamendo 839 -com.textuality.lifesaver2 309 -com.totsp.bookworm 407 -com.totsp.crossword.shortyz 74 -com.unitedcoders.android.gpodroid 58 -com.voidcode.diasporawebclient 310 -com.volosyukivan 683 -com.wanghaus.remembeer 91 -com.webworxshop.swallowcatcher 500 -com.zegoggles.smssync 690 -cz.hejl.chesswalk 237 -cz.romario.opensudoku 604 +com.evancharlton.mileage 446 +com.example.android.maxpapers 968 +com.fsck.k9 3847 +com.funambol.androidsync 610 +com.ghostsq.commander 2586 +com.google.android.diskusage 1777 +com.google.android.maps.mytracks 541 +com.google.android.stardroid 65 +com.google.code.appsorganizer 1217 +com.google.zxing.client.android 3948 +com.googlecode.androidcells 421 +com.googlecode.chartdroid 260 +com.googlecode.droidwall 1682 +com.googlecode.talkmyphone 334 +com.gpl.rpg.AndorsTrail 2034 +com.hughes.android.dictionary 201 +com.ichi2.anki 1122 +com.ihunda.android.binauralbeat 12 +com.jadn.cc 303 +com.kirit.android.mintercept 999 +com.kmagic.solitaire 1415 +com.lecz.android.tiltmazes 986 +com.leinardi.kitchentimer 226 +com.liato.bankdroid 296 +com.matburt.mobileorg 649 +com.mobilepearls.sokoban 1000 +com.morphoss.acal 2981 +com.mp3tunes.android.player 70 +com.namelessdev.mpdroid 122 +com.nexes.manager 1422 +com.proch.practicehub 480 +com.replica.replicaisland 1070 +com.ringdroid 798 +com.roozen.SoundManager 690 +com.scottmain.android.searchlight 136 +com.serone.desktoplabel 510 +com.smorgasbork.hotdeath 537 +com.stericson.permissions 201 +com.tastycactus.timesheet 52 +com.teleca.jamendo 1117 +com.textuality.lifesaver2 379 +com.totsp.bookworm 500 +com.totsp.crossword.shortyz 136 +com.unitedcoders.android.gpodroid 161 +com.voidcode.diasporawebclient 538 +com.volosyukivan 807 +com.wanghaus.remembeer 110 +com.webworxshop.swallowcatcher 584 +com.zegoggles.smssync 693 +cz.hejl.chesswalk 513 +cz.romario.opensudoku 742 de.blau.android 24 de.joergjahnke.c64.android 31 -de.shandschuh.slightbackup 405 -de.shandschuh.sparserss 1237 -de.ub0r.android.adBlock 1413 -dk.andsen.asqlitemanager 335 -edu.nyu.cs.omnidroid.app 529 -edu.rit.poe.atomix 699 -es.prodevelop.gvsig.mini 522 -fm.libre.droid 419 -fr.seeks 155 -goo.TeaTimer 508 -info.guardianproject.browser 274 -info.guardianproject.cacert 393 -info.lamatricexiste.network 1679 -info.staticfree.android.units 940 -me.guillaumin.android.osmtracker 493 -mixedbit.speechtrainer 252 -name.bagi.levente.pedometer 726 -net.androgames.level 185 -net.avs234 167 -net.bytten.xkcdviewer 695 -net.cactii.mathdoku 511 -net.dahanne.android.regalandroid 214 -net.fercanet.LNM 780 -net.gaast.giggity 182 -net.jaqpot.netcounter 688 -net.mafro.android.wakeonlan 331 -net.osmand 664 -net.osmand.plus 2398 -net.pierrox.mcompass 19 -net.rocrail.androc 885 -net.sf.andbatdog.batterydog 1019 -net.sourceforge.servestream 408 -net.status.client.mobile 275 -net.sylvek.sharemyposition 252 -net.tapi.handynotes 917 -net.tedstein.AndroSS 1515 -net.tevp.postcode 155 -nl.sogeti.android.gpstracker 778 -nu.firetech.android.pactrack 52 -org.abrantix.rockon.rockonnggl 1195 -org.adaway 2712 -org.adw.launcher 689 -org.andnav.osm 555 -org.androidsoft.games.memory.kids 306 -org.connectbot 1499 -org.coolreader 3590 -org.curiouscreature.android.shelves 171 -org.damazio.notifier 247 -org.droidseries 871 -org.eehouse.android.xw4 848 -org.example.pushupbuddy 288 -org.fdroid.fdroid 35195 +de.shandschuh.slightbackup 502 +de.shandschuh.sparserss 1501 +de.ub0r.android.adBlock 1642 +dk.andsen.asqlitemanager 519 +edu.nyu.cs.omnidroid.app 633 +edu.rit.poe.atomix 848 +es.prodevelop.gvsig.mini 619 +fm.libre.droid 513 +fr.seeks 211 +goo.TeaTimer 594 +info.guardianproject.browser 427 +info.guardianproject.cacert 475 +info.guardianproject.otr.app.im 270 +info.lamatricexiste.network 2207 +info.staticfree.android.units 1175 +me.guillaumin.android.osmtracker 710 +mixedbit.speechtrainer 352 +name.bagi.levente.pedometer 862 +net.androgames.level 456 +net.avs234 373 +net.bytten.xkcdviewer 826 +net.cactii.mathdoku 598 +net.dahanne.android.regalandroid 250 +net.fercanet.LNM 924 +net.gaast.giggity 248 +net.healeys.lexic 16 +net.jaqpot.netcounter 838 +net.mafro.android.wakeonlan 458 +net.nightwhistler.pageturner 61 +net.osmand 811 +net.osmand.plus 2902 +net.pierrox.mcompass 395 +net.rocrail.androc 997 +net.sf.andbatdog.batterydog 1200 +net.sourceforge.servestream 494 +net.status.client.mobile 351 +net.sylvek.sharemyposition 355 +net.szym.barnacle 80 +net.tapi.handynotes 1100 +net.tedstein.AndroSS 1868 +net.tevp.postcode 178 +nl.sogeti.android.gpstracker 886 +nu.firetech.android.pactrack 66 +org.abrantix.rockon.rockonnggl 1258 +org.adaway 3645 +org.adw.launcher 1005 +org.andnav.osm 690 +org.androidsoft.games.memory.kids 416 +org.connectbot 1848 +org.coolreader 4302 +org.curiouscreature.android.shelves 218 +org.damazio.notifier 298 +org.droidseries 1006 +org.eehouse.android.xw4 1012 +org.example.pushupbuddy 358 +org.fdroid.fdroid 42586 org.fdroid.taskstrid 23 -org.fosdem 205 -org.geometerplus.zlibrary.ui.android 2545 -org.helllabs.android.xmp 253 -org.hermit.audalyzer 773 -org.hermit.netscramble 454 -org.hermit.tricorder 1136 -org.jessies.mathdroid 505 -org.jfedor.frozenbubble 2460 -org.jmoyer.NotificationPlus 37 -org.johanhil.flygtider 64 -org.jtb.alogcat 858 -org.jtb.droidlife 809 -org.jtb.httpmon 371 -org.kost.externalip 754 -org.kreed.vanilla 675 -org.linphone 586 +org.fosdem 260 +org.geometerplus.zlibrary.ui.android 3056 +org.helllabs.android.xmp 299 +org.hermit.audalyzer 930 +org.hermit.netscramble 564 +org.hermit.tricorder 1344 +org.jessies.mathdroid 718 +org.jfedor.frozenbubble 3226 +org.jmoyer.NotificationPlus 96 +org.johanhil.flygtider 79 +org.jtb.alogcat 1208 +org.jtb.droidlife 944 +org.jtb.httpmon 441 +org.kost.externalip 879 +org.kreed.vanilla 822 +org.linphone 695 org.mailboxer.saymyname 31 -org.marcus905.wifi.ace 768 -org.mixare 669 -org.moparisthebest.appbak 803 -org.mozilla.firefox 5842 -org.mult.daap 334 -org.mustard.android 852 -org.mythdroid 239 -org.navitproject.navit 655 -org.opensatnav 1016 -org.paulmach.textedit 1163 -org.penghuang.tools.rotationlock 85 -org.piwik.mobile 115 -org.pocketworkstation.pckeyboard 1930 -org.scoutant.blokish 1255 -org.sipdroid.sipua 439 -org.sixgun.ponyexpress 324 -org.sparkleshare.android 58 -org.swiftp 410 -org.thialfihar.android.apg 778 -org.thoughtcrime.securesms 160 -org.tomdroid 391 -org.torproject.android 903 -org.transdroid 541 -org.ttrssreader 966 -org.vudroid 1253 -org.wahtod.wififixer 967 -org.wordpress.android 374 -org.xbmc.android.remote 361 -org.xcsoar 34 -org.yaaic 710 -org.yaxim.androidclient 776 -org.zirco 1898 +org.marcus905.wifi.ace 976 +org.mixare 908 +org.moparisthebest.appbak 931 +org.mozilla.firefox 7288 +org.mult.daap 436 +org.mustard.android 946 +org.mythdroid 307 +org.navitproject.navit 770 +org.nerdcircus.android.klaxon 37 +org.openintents.filemanager 187 +org.openintents.newsreader 4 +org.opensatnav 1274 +org.paulmach.textedit 1606 +org.penghuang.tools.rotationlock 303 +org.piwik.mobile 140 +org.pocketworkstation.pckeyboard 2349 +org.scoutant.blokish 1493 +org.sipdroid.sipua 577 +org.sixgun.ponyexpress 363 +org.sparkleshare.android 122 +org.swiftp 541 +org.thialfihar.android.apg 986 +org.thoughtcrime.securesms 324 +org.tomdroid 481 +org.torproject.android 1121 +org.transdroid 708 +org.ttrssreader 1151 +org.vudroid 1553 +org.wahtod.wififixer 1150 +org.wikipedia 489 +org.wordpress.android 439 +org.xbmc.android.remote 447 +org.xcsoar 80 +org.yaaic 848 +org.yaxim.androidclient 894 +org.zirco 2237 pl.magot.vetch.ancal 23 -remuco.client.android 112 -ru.gelin.android.weather.notification 500 -se.johanhil.clipboard 397 -se.johanhil.duckduckgo 736 -se.peterbjorkman.android.trafikinfo 108 -seanfoy.wherering 203 -tkj.android.homecontrol.mythmote 304 -to.networld.android.divedroid 183 -tuioDroid.impl 59 -urbanstew.RehearsalAssistant 346 -us.lindanrandy.cidrcalculator 11 -vu.de.urpool.quickdroid 715 +remuco.client.android 217 +ru.gelin.android.weather.notification 710 +se.johanhil.clipboard 478 +se.johanhil.duckduckgo 977 +se.peterbjorkman.android.trafikinfo 124 +seanfoy.wherering 235 +stericson.busybox.donate 297 +tkj.android.homecontrol.mythmote 353 +to.networld.android.divedroid 223 +tuioDroid.impl 78 +urbanstew.RehearsalAssistant 421 +us.lindanrandy.cidrcalculator 207 +vu.de.urpool.quickdroid 838 diff --git a/update.py b/update.py index 293a2a1e..367d7544 100755 --- a/update.py +++ b/update.py @@ -75,6 +75,12 @@ if (repo_url is None or repo_name is None or # Get all apps... apps = common.read_metadata(verbose=options.verbose) +# Generate a list of categories... +categories = [] +for app in apps: + if app['Category'] not in categories: + categories.append(app['Category']) + # Gather information about all the apk files in the repo directory... apks = [] for apkfile in glob.glob(os.path.join('repo','*.apk')): @@ -290,12 +296,12 @@ for app in apps: if app['Disabled'] is None: # Get a list of the apks for this app... - gotmarketver = False + gotcurrentver = False apklist = [] for apk in apks: if apk['id'] == app['id']: - if str(apk['versioncode']) == app['Market Version Code']: - gotmarketver = True + if str(apk['versioncode']) == app['Current Version Code']: + gotcurrentver = True apklist.append(apk) if len(apklist) == 0: @@ -320,8 +326,13 @@ for app in apps: addElement('tracker', app['Issue Tracker'], doc, apel) if app['Donate'] != None: addElement('donate', app['Donate'], doc, apel) - addElement('marketversion', app['Market Version'], doc, apel) - addElement('marketvercode', app['Market Version Code'], doc, apel) + + # These elements actually refer to the current version (i.e. which + # one is recommended. They are historically mis-named, and need + # changing, but stay like this for now to support existing clients. + addElement('marketversion', app['Current Version'], doc, apel) + addElement('marketvercode', app['Current Version Code'], doc, apel) + if not (app['AntiFeatures'] is None): addElement('antifeatures', app['AntiFeatures'], doc, apel) if app['Requires Root']: @@ -378,35 +389,35 @@ for app in apps: " Source: " + app['Source Code']) warnings += 1 else: - if app['Market Version Code'] != '0': + if app['Current Version Code'] != '0': gotbuild = False for build in app['builds']: - if build['vercode'] == app['Market Version Code']: + if build['vercode'] == app['Current Version Code']: gotbuild = True if not gotbuild: - print ("WARNING: No build data for market version of " - + app['id'] + " (" + app['Market Version'] + print ("WARNING: No build data for current version of " + + app['id'] + " (" + app['Current Version'] + ") " + app['Source Code']) warnings += 1 - # If we don't have the market version, check if there is a build + # If we don't have the current version, check if there is a build # with a commit ID starting with '!' - this means we can't build it # for some reason, and don't want hassling about it... - if not gotmarketver and app['Market Version Code'] != '0': + if not gotcurrentver and app['Current Version Code'] != '0': for build in app['builds']: - if build['vercode'] == app['Market Version Code']: - gotmarketver = True + if build['vercode'] == app['Current Version Code']: + gotcurrentver = True - # Output a message of harassment if we don't have the market version: - if not gotmarketver and app['Market Version Code'] != '0': + # Output a message of harassment if we don't have the current version: + if not gotcurrentver and app['Current Version Code'] != '0': addr = app['Source Code'] - print "WARNING: Don't have market version (" + app['Market Version'] + ") of " + app['Name'] + print "WARNING: Don't have current version (" + app['Current Version'] + ") of " + app['Name'] print " (" + app['id'] + ") " + addr warnings += 1 if options.verbose: # A bit of extra debug info, basically for diagnosing # app developer mistakes: - print " Market vercode:" + app['Market Version Code'] + print " Current vercode:" + app['Current Version Code'] print " Got:" for apk in apks: if apk['id'] == app['id']: @@ -460,42 +471,40 @@ if repo_keyalias != None: if options.verbose: print output -#Copy the repo icon into the repo directory... +# Copy the repo icon into the repo directory... iconfilename = os.path.join(icon_dir, os.path.basename(repo_icon)) shutil.copyfile(repo_icon, iconfilename) -#Update known apks info... +# Write a category list in the repo to allow quick access... +catdata = '' +for cat in categories: + catdata += cat + '\n' +f = open('repo/categories.txt', 'w') +f.write(catdata) +f.close() + +# Update known apks info... knownapks = common.KnownApks() for apk in apks: knownapks.recordapk(apk['apkname'], apk['id']) - - app, added = knownapks.getapp(apk['apkname']) - if not added: - print 'Need a date for ' + apk['apkname'] - p = subprocess.Popen('git log --format="%ci" metadata/' + apk['id'] + '.txt | tail -n 1', - shell=True, stdout = subprocess.PIPE) - d = p.communicate()[0][:10] - if len(d) == 0: - print "...didn't find a metadata commit" - else: - print '...metadata committed:' + d - if apk['apkname'].startswith(apk['id']): - vercode = int(apk['apkname'][len(apk['id'])+1:-4]) - print '...built vercode:' + str(vercode) - expr = 'Build Version:[^,]+,' + str(vercode) + ',.*' - p = subprocess.Popen('git log --format="%ci" -S"' + expr + '" --pickaxe-regex metadata/' + apk['id'] + '.txt | tail -n 1', - shell=True, stdout = subprocess.PIPE) - d = p.communicate()[0][:10] - if len(d) > 0: - print '...build line added:' + d - print '...using that!' - knownapks.apks[apk['apkname']] = (apk['id'], time.strptime(d, '%Y-%m-%d')) - knownapks.changed = True - else: - print "...didn't find addition of build line" - knownapks.writeifchanged() +# Generate latest apps HTML for widget +html = '

' +for line in file(os.path.join('stats', 'latestapps.txt')): + appid = line.rstrip() + html += '' + for app in apps: + if app['id'] == appid: + html += app['Name'] + '
' + break +html += '

' +f = open('repo/latestapps.html', 'w') +f.write(html) +f.close() + + + print "Finished." print str(apps_inrepo) + " apps in repo" print str(apps_disabled) + " disabled" diff --git a/updatestats.py b/updatestats.py index 61feb845..892c20bc 100755 --- a/updatestats.py +++ b/updatestats.py @@ -70,22 +70,22 @@ if options.download: ftp.chdir('logs') files = ftp.listdir() - for file in files: - if file.startswith('access-') and file.endswith('.log'): + for f in files: + if f.startswith('access-') and f.endswith('.log'): - destpath = os.path.join(logsdir, file) - archivepath = os.path.join(logsarchivedir, file + '.gz') + destpath = os.path.join(logsdir, f) + archivepath = os.path.join(logsarchivedir, f + '.gz') if os.path.exists(archivepath): if os.path.exists(destpath): # Just in case we have it archived but failed to remove # the original... os.remove(destpath) else: - destsize = ftp.stat(file).st_size + destsize = ftp.stat(f).st_size if (not os.path.exists(destpath) or os.path.getsize(destpath) != destsize): - print "...retrieving " + file - ftp.get(file, destpath) + print "...retrieving " + f + ftp.get(f, destpath) except Exception as e: traceback.print_exc() sys.exit(1) diff --git a/wp-fdroid/wp-fdroid.php b/wp-fdroid/wp-fdroid.php index 12514178..7d486034 100644 --- a/wp-fdroid/wp-fdroid.php +++ b/wp-fdroid/wp-fdroid.php @@ -28,7 +28,8 @@ class FDroid add_shortcode('fdroidrepo',array($this, 'do_shortcode')); add_filter('query_vars',array($this, 'queryvars')); $this->inited=false; - $this->site_path=getenv('DOCUMENT_ROOT'); + $this->site_path=getenv('DOCUMENT_ROOT'); + register_sidebar_widget('FDroid Latest', 'widget_fdroidlatest'); } @@ -108,6 +109,7 @@ class FDroid sys_get_temp_dir().'/android-permissions.cache'); $permissions_data = $permissions_object->get_permissions_array(); + // Get app data $xml = simplexml_load_file($this->site_path.'/repo/index.xml'); foreach($xml->children() as $app) { @@ -143,6 +145,12 @@ class FDroid case "web": $web=$el; break; + case "antifeatures"; + $antifeatures=$el; + break; + case "requirements"; + $requirements=$el; + break; case "package": $thisapk=array(); foreach($el->children() as $pel) { @@ -178,6 +186,23 @@ class FDroid } } + // Generate app diff data + foreach(array_reverse($apks, true) as $key=>$apk) { + if(isset($previous)) { + // Apk size + $apks[$key]['diff']['size'] = $apk['size']-$previous['size']; + } + + // Permissions + $permissions = explode(',',$apk['permissions']); + $permissionsPrevious = isset($previous['permissions'])?explode(',',$previous['permissions']):array(); + $apks[$key]['diff']['permissions']['added'] = array_diff($permissions, $permissionsPrevious); + $apks[$key]['diff']['permissions']['removed'] = array_diff($permissionsPrevious, $permissions); + + $previous = $apk; + } + + // Output app information $out='
'; $out.='
'; $out.='

'.$name.""; @@ -186,7 +211,21 @@ class FDroid $out.="

".$desc."

"; - $out.="

License: ".$license."

"; + if(isset($antifeatures)) { + $antifeaturesArray = explode(',',$antifeatures); + foreach($antifeaturesArray as $antifeature) { + $antifeatureDesctiption = $this->get_antifeature_description($antifeature); + $out.='

'.$antifeatureDesctiption['name'].'
'; + $out.=$antifeatureDesctiption['description'].'

'; + } + } + + $out.="

"; + $out.="License: ".$license; + if(isset($requirements)) { + $out.='
Additional requirements: '.$requirements; + } + $out.="

"; $out.="

"; if(strlen($web)>0) @@ -212,43 +251,83 @@ class FDroid $out.="

Packages

"; $i=0; foreach($apks as $apk) { + $first = $i+1==count($apks); $out.="

Version ".$apk['version']."
"; $out.='download apk '; - $out.=$apk['size']." bytes"; - if($apk['srcname']) - $out.='
source tarball'; + $out.=$this->human_readable_size($apk['size']); + $diffSize = $apk['diff']['size']; + if(abs($diffSize) > 500) { + $out.=' ('; + $out.=$diffSize>0?'+':''; + $out.=$this->human_readable_size($diffSize, 1).')'; + } + if(isset($apk['srcname']) && file_exists($this->site_path.'/repo/'.$apk['srcname'])) { + $out.='
source tarball '; + $out.=$this->human_readable_size(filesize($this->site_path.'/repo/'.$apk['srcname'])); + } if(isset($apk['permissions'])) { + // Permissions diff link + if($first == false) { + $permissionsAddedCount = count($apk['diff']['permissions']['added']); + $permissionsRemovedCount = count($apk['diff']['permissions']['removed']); + $divIdDiff='permissionsDiff'.$i; + if($permissionsAddedCount || $permissionsRemovedCount) { + $out.='
permissions diff'; + $out.=' ('; + if($permissionsAddedCount) + $out.='+'.$permissionsAddedCount; + if($permissionsAddedCount && $permissionsRemovedCount) + $out.='/'; + if($permissionsRemovedCount) + $out.='-'.$permissionsRemovedCount; + $out.=')'; + } + else + { + $out.='
no permission changes'; + } + } + + // Permissions list link + $permissionsListString = $this->get_permission_list_string(explode(',',$apk['permissions']), $permissions_data, $summary); /*if($i==0) $divStyleDisplay='block'; else*/ $divStyleDisplay='none'; $divId='permissions'.$i; - $out.='
view permissions
'; - $out.='

'; - $permissions = explode(',',$apk['permissions']); - usort($permissions, "permissions_cmp"); + $out.='
view permissions'; + $out.=' ['.$summary.']'; + $out.='
'; - $permission_group_last = ''; - foreach($permissions as $permission) { - $permission_group = $permissions_data['permission'][$permission]['permissionGroup']; - if($permission_group != $permission_group_last) { - $permission_group_label = $permissions_data['permission-group'][$permission_group]['label']; - if($permission_group_label=='') $permission_group_label = 'Extra/Custom'; - $out.=''.strtoupper($permission_group_label).'
'; - $permission_group_last = $permission_group; + // Permissions list + $out.='
'; + $out.=$permissionsListString; + $out.='
'; + + // Permissions diff + { + $out.='
'; + $permissionsRemoved = $apk['diff']['permissions']['removed']; + usort($permissionsRemoved, "permissions_cmp"); + + // Added permissions + if($permissionsAddedCount) { + $out.='
ADDED

'; + $out.=$this->get_permission_list_string($apk['diff']['permissions']['added'], $permissions_data, $summary); } - $out.=$this->get_permission_protection_level_icon($permissions_data['permission'][$permission]['protectionLevel']).' '; - $out.=''.$permissions_data['permission'][$permission]['label'].' ['.$permission.']
'; - if($permissions_data['permission'][$permission]['description']) $out.=$permissions_data['permission'][$permission]['description'].'
'; - //$out.=$permissions_data['permission'][$permission]['comment'].'
'; - $out.='
'; + // Removed permissions + if($permissionsRemovedCount) { + $out.='
REMOVED

'; + $out.=$this->get_permission_list_string($apk['diff']['permissions']['removed'], $permissions_data, $summary); + } + + $out.='
'; } - $out.='
'; } else { - $out.='
no permissions
'; + $out.='
no extra permissions needed
'; } $out.='

'; @@ -263,18 +342,96 @@ class FDroid return "

Application not found

"; } - private function get_permission_protection_level_icon($protection_level) { + private function get_permission_list_string($permissions, $permissions_data, &$summary) { + $out=''; + usort($permissions, "permissions_cmp"); + $permission_group_last = ''; + foreach($permissions as $permission) { + $permission_group = $permissions_data['permission'][$permission]['permissionGroup']; + if($permission_group != $permission_group_last) { + $permission_group_label = $permissions_data['permission-group'][$permission_group]['label']; + if($permission_group_label=='') $permission_group_label = 'Extra/Custom'; + $out.=''.strtoupper($permission_group_label).'
'; + $permission_group_last = $permission_group; + } + + $out.=$this->get_permission_protection_level_icon($permissions_data['permission'][$permission]['protectionLevel']).' '; + $out.=''.$permissions_data['permission'][$permission]['label'].' ['.$permission.']
'; + if($permissions_data['permission'][$permission]['description']) $out.=$permissions_data['permission'][$permission]['description'].'
'; + //$out.=$permissions_data['permission'][$permission]['comment'].'
'; + $out.='
'; + + if(!isset($summaryCount[$permissions_data['permission'][$permission]['protectionLevel']])) + $summaryCount[$permissions_data['permission'][$permission]['protectionLevel']] = 0; + $summaryCount[$permissions_data['permission'][$permission]['protectionLevel']]++; + } + + $summary = ''; + foreach($summaryCount as $protectionLevel => $count) { + $summary .= $this->get_permission_protection_level_icon($protectionLevel, 'regular').' '.$count; + $summary .= ', '; + } + $summary = substr($summary,0,-2); + + return $out; + } + + private function get_permission_protection_level_icon($protection_level, $size='adjusted') { + $iconString = ''; if($protection_level=='dangerous') { - return ''; + $iconString .= ''; } elseif($protection_level=='normal') { - return ''; + $iconString .= ''; } else { - return ''; + $iconString .= ''; } + + return $iconString; } + private function human_readable_size($size, $minDiv=0) { + $si_prefix = array('bytes','kB','MB'); + $div = 1000; + + for($i=0;(abs($size) > $div && $i < count($si_prefix)) || $i<$minDiv;$i++) { + $size /= $div; + } + + return round($size,max(0,$i-1)).' '.$si_prefix[$i]; + } + + private function get_antifeature_description($antifeature) { + // Anti feature names and descriptions + $antifeatureDesctiption['ads']['name'] = 'Advertising'; + $antifeatureDesctiption['ads']['description'] = 'This application contains advertising'; + $antifeatureDesctiption['tracking']['name'] = 'Tracks You'; + $antifeatureDesctiption['tracking']['description'] = 'This application tracks and reports your activity to somewhere'; + $antifeatureDesctiption['nonfreenet']['name'] = 'Non-Free Network Services'; + $antifeatureDesctiption['nonfreenet']['description'] = 'This application promotes a non-Free network service'; + $antifeatureDesctiption['nonfreeadd']['name'] = 'Non-Free Addons'; + $antifeatureDesctiption['nonfreeadd']['description'] = 'This application promotes non-Free add-ons'; + $antifeatureDesctiption['nonfreedep']['name'] = 'Non-Free Dependencies'; + $antifeatureDesctiption['nonfreedep']['description'] = 'This application depends on another non-Free application'; + + $antifeatureLower = strtolower($antifeature); + if(isset($antifeatureDesctiption[$antifeatureLower])) { + return $antifeatureDesctiption[$antifeatureLower]; + } + return array('name'=>$antifeature); + } + + function get_apps($query_vars) { $xml = simplexml_load_file($this->site_path."/repo/index.xml"); @@ -433,22 +590,21 @@ class FDOutList function outputEntry($query_vars, $appinfo) { $out=""; - $out.="
\n"; + $out.='
'."\n"; + $out.=''; $out.='
'; - $out.='
'; + $out.='
'; $out.='
'; - $out.='

Details...'; - $out.="

"; + $out.='

Details...

'; $out.="
\n"; - $out.='

'.$appinfo['name'].""; + $out.='

'.$appinfo['name'].""; $out.="
".$appinfo['summary']."

\n"; $out.="
\n"; + $out.=''; return $out; } @@ -550,6 +706,13 @@ function linkify($vars) { return substr($retvar,0,-1); } +function widget_fdroidlatest($args) { + extract($args); + echo $before_widget; + echo $before_title . 'Latest Apps' . $after_title; + readfile(getenv('DOCUMENT_ROOT').'/repo/latestapps.html'); + echo $after_widget; +} $wp_fdroid = new FDroid();