Commit graph

1169 commits

Author SHA1 Message Date
Hans-Christoph Steiner
0f71929e71 remove redundant test_sdk_exists() call, its called by test_build_tools_exists()
No need to call test_sdk_exists() before test_build_tools_exists() since
test_build_tools_exists() calls test_sdk_exists() as the first thing it
does.
2014-12-14 13:25:20 +01:00
Daniel Martí
16601a0be3 Bump build-tools again to 21.1.2 2014-12-12 12:57:12 +01:00
Daniel Martí
aaf36f654d Update build-tools to 21.1.1 2014-12-12 12:40:09 +01:00
Hans-Christoph Steiner
e826938734 static URLs to "Current Version" of each app
I wrote up the feature to automatically generate symlinks with a constant name
that points to the current release version. I have it on by default, with a
*config.py* option to turn it off. There is also an option to set where the
symlink name comes from which defaults to app['Name'] i.e. F-Droid.apk, but
can easily be set to app['id'], i.e. _org.fdroid.fdroid.apk_. I think the best
place for the symlinks is in the root of the repo, so like
https://f-droid.org/F-Droid.apk or https://guardianproject.info/fdroid/ChatSecure.apk

For the case of the current FDroid static link https://f-droid.org/FDroid.apk
it can just be a symlink to the generated one (https://f-droid.org/F-Droid.apk
or https://f-droid.org/org.fdroid.fdroid.apk). Right now, this feature is all
or nothing, meaning it generates symlinks for all apps in the repo, or none. I
can’t think of any problems that this might cause since its only symlinks, so
the amount of disk space is tiny. Also, I think it would be useful for having
an easy “Download this app” button on each app’s page on the “Browse” view. As
long as this button is less prominent than the “Download F-Droid” button, and
it is clear that it is better to use the FDroid app than doing direct
downloads. For the f-droid.org repo, the symlinks should probably be based on
app['id'] to prevent name conflicts.

more info here:
https://f-droid.org/forums/topic/static-urls-to-current-version-of-each-app/
2014-11-11 15:06:52 +01:00
Daniel Martí
3829896a8a Fix all pep8 warnings 2014-10-24 22:23:58 +02:00
Ciaran Gultnieks
8568805866 Support for publishing signed binaries from elsewhere
Done after verifying that they match ones built using a recipe.
Everything in the metadata should be the same as normal, with the
addition of the Binaries: directive to specify where (with pattern
substitution) to get the binaries from.

Publishing only takes place if there is a proper match. (Which seems
very unlikely to be the case unless the exact same toolchain is used, so
I would imagine that unless the person building and signing the incoming
binaries uses fdroidserver to build them, probably the exact same
buildserver id, they will not match. But at least we have the
functionality to support that.)
2014-10-24 21:04:15 +01:00
Daniel Martí
57efa16f3f Bump build-tools to 21.0.2 2014-10-22 15:01:01 +02:00
Daniel Martí
c77c9f06fc 'ndk_path' will always be in the config 2014-09-25 18:13:16 +02:00
Daniel Martí
c9daf93f69 Create local.properties if it doesn't exist 2014-09-25 18:11:56 +02:00
Daniel Martí
9327adfe74 Name config args thisconfig to avoid confusion with the global config 2014-09-17 00:12:24 +02:00
Daniel Martí
ce61186cd2 Fix issue where gradle=yes would be removed by rewritemeta 2014-09-15 17:03:45 +02:00
Daniel Martí
e038b4424c config['sdk_path'] will never be None, behave properly if ANDROID_HOME is unset 2014-09-15 12:49:36 +02:00
Daniel Martí
37aa3a7b99 Only expand paths on config items that can actually be paths 2014-09-15 12:39:42 +02:00
Daniel Martí
88dc0b2bb5 Keep consistency in config defaults and writes
* Default paths are not expanded
* When writing to config.py in "fdroid init", don't write expanded paths
  either
* Support changes in e.g. $ANDROID_HOME after a config.py is generated thanks
  to the fix above
2014-09-15 12:34:40 +02:00
Daniel Martí
34a3405208 Centralise handling of default gradle flavours 2014-09-13 13:04:24 +02:00
Daniel Martí
a195556378 Make gradle and antcommands (previously antcommand) proper lists 2014-09-13 13:01:08 +02:00
Daniel Martí
93a0d9918d Closes #34: Catch OSErrors when running Popen 2014-09-11 23:08:51 +02:00
Ciaran Gultnieks
b454ea3c6f Make stats retrieval more configurable 2014-09-02 18:53:36 +01:00
Daniel Martí
5e988eb84d common: discard wrapping quotes in strings
Fixes auto names that shouldn't have wrapping quotes like '"PassDroid"'
instead of just 'PassDroid'.
2014-08-25 08:45:46 +02:00
Daniel Martí
f7f8c80018 Fix "no such package" search logic 2014-08-25 00:28:18 +02:00
Ciaran Gultnieks
b43f7bea1a Add ability to filter asshattery from stats 2014-08-22 21:18:55 +01:00
Daniel Martí
58a88acd92 Make the scanner log scanignore as well 2014-08-21 20:02:52 +02:00
Daniel Martí
c5cab888e4 Revert some stuff from 94c29f9c37 that shouldn't have been commited 2014-08-18 11:25:39 +02:00
Daniel Martí
94c29f9c37 Map apps in memory from appid to appinfo
Instead of storing them in a list and doing linear searches by appinfo['id']
2014-08-16 12:46:02 +02:00
Daniel Martí
51c93c9576 Be more specific about when git svn is used 2014-08-16 10:55:21 +02:00
Daniel Martí
bf227948a9 Make use of Popen.wait() return value 2014-08-10 12:28:19 +02:00
Daniel Martí
94e2b120e4 Remove extra argument in magic warning call 2014-07-24 08:55:54 +02:00
Daniel Martí
a5f0f439c5 Use --before when using find-rev in git-svn 2014-07-23 17:26:33 +02:00
Daniel Martí
5167e3d771 Don't crash if a magic number can't be used
This should fix the anki build crashing.
2014-07-22 10:06:51 +02:00
Daniel Martí
78ff22d952 Drop svn support in favour of git-svn
Reasons:

* Cloning a svn repo via svn doesn't fetch the entire history
* Svn checkout is incredibly slow
* Svn doesn't have important features such as a 'clean' command

The only reason why we kept svn was for anonymous logins to repositories. This
is no longer a reason since git-svn also supports them.
2014-07-18 12:39:24 +02:00
Daniel Martí
13987b5c77 Use os.path.join instead of adding strings more often 2014-07-18 12:21:52 +02:00
Daniel Martí
d3ae163152 Fix Tags UCM on newer git-svn versions 2014-07-18 12:12:16 +02:00
Hans-Christoph Steiner
8c8fb8b156 support lists/tuples in 'serverwebroot' config item
This allows the user to specify multiple servers to put the repo to, and
`fdroid server update` will automatically push to them all.

fixes #22 https://gitlab.com/fdroid/fdroidserver/issues/22
2014-07-14 15:04:30 -04:00
Hans-Christoph Steiner
f34c842f55 auto-clean newlines and spaces in repo/archive descriptions
This gives us flexibility in how the blocks of text can be formatted in
config.py, but also provides a more useful format for displaying since the
client can decide where to wrap the text.
2014-07-14 15:01:57 -04:00
Daniel Martí
3d923a6718 Use p.wait() instead of p.communicate()
The latter calls the former anyway, and we don't need to fetch the output nor
send any stdin.
2014-07-09 19:22:39 +02:00
Daniel Martí
a834ff4ab2 Make a few Popens silent 2014-07-09 19:15:39 +02:00
Daniel Martí
69725c3f4c Much cleaner and nicer way to ignore vcs dot dirs
We now discard their entire subtree directly
2014-07-09 19:11:13 +02:00
Daniel Martí
f3dd6d9510 More generic usual suspects regex 2014-07-09 18:17:28 +02:00
Daniel Martí
acbbc6a973 Revert "Always print command output when --verbose"
This reverts commit a4cdd92448.
2014-07-09 11:11:41 +02:00
Daniel Martí
fad659921f Remove some gradle @dir leftovers 2014-07-09 11:11:13 +02:00
Daniel Martí
b404e1b69c Support git-svn refs in the form of rN 2014-07-09 10:41:35 +02:00
Daniel Martí
2c55fb499c Do write .fdroidvcs if the clone succeeded
If the clone succeeded but the checkout failed, it didn't. Now it does, by
keeping the exception and raising it a bit later.
2014-07-09 10:30:28 +02:00
Daniel Martí
f857169317 Support origin/ checkouts with tags as well in gitsvn 2014-07-08 12:04:24 +02:00
Daniel Martí
a4cdd92448 Always print command output when --verbose 2014-07-08 11:16:03 +02:00
Daniel Martí
ff06694adc Don't use generic Exception raises
That hides bugs, since all exceptions (including bugs that cause raises that
weren't our doing) fall under the "Exception" except
2014-07-07 15:41:50 +02:00
Daniel Martí
d8cd9a3163 Move more logging.info stuff to debug 2014-07-05 15:25:39 +02:00
Daniel Martí
17dc21b69b All logging goes to stderr, FDroidPopen should too 2014-07-05 14:10:26 +02:00
Daniel Martí
9d96ad3478 Don't directly print FDroidPopen output unless verbose 2014-07-05 14:07:53 +02:00
Daniel Martí
7d07e52e1f Try the old git svn find-rev format as well 2014-07-05 12:15:20 +02:00
Daniel Martí
8306bac7de Also check that platform-tools and tools exist 2014-07-03 18:23:35 +02:00