Commit graph

1765 commits

Author SHA1 Message Date
Hans-Christoph Steiner
803ec39e23 when symlinking current version of app, include gpg sig if it exists
Let's make it easy for people to also find the GPG signature, and promote
easy verification!
2014-11-11 15:06:52 +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
Ciaran Gultnieks
2e56f4ecbf Merge branch 'some-bug-fixes' into 'master'
Some bug fixes and things

A couple of useful bug fixes and commits.

See merge request !28
2014-11-07 14:49:07 +00:00
Hans-Christoph Steiner
18db382c47 include test cases for python getsig replacement
This includes the old getsig.java since that is the canonical implementation
of that algorithm.

fixes #5 https://gitlab.com/fdroid/fdroidserver/issues/5
2014-11-07 09:20:33 +00:00
Hans-Christoph Steiner
d74235564f move apk signature verification into getsig() function
This makes the python replacement behave like an all-in-one replacement
for getsig.java.

fixes #5 https://gitlab.com/fdroid/fdroidserver/issues/5
2014-11-07 09:20:23 +00:00
Daniel Martí
6e2d0a9e1e Replace getsig.java with a pure python implementation
Special thanks to deki for helping out with the certificate encodings:
https://gitlab.com/snippets/1842

fixes #5 https://gitlab.com/fdroid/fdroidserver/issues/5
2014-11-07 09:20:14 +00:00
Hans-Christoph Steiner
c88eff9af7 use jarsigner to verify the APK signature is valid
By using jarsigner here, we can get rid of getsig.java, since the rest of
what getsig.java does can easily be handled in python.  This simplifies
installation and deployment, and makes things work better cross-platform.
This also means that the fdroidserver Debian package no longer needs to
Build-Depends: on default-jdk, which makes builds in pbuilder run a lot
faster. :-)

refs #5 https://gitlab.com/fdroid/fdroidserver/issues/5
2014-11-07 09:20:04 +00:00
Ciaran Gultnieks
872e57c8da Set correct defaults for Binaries metadata field 2014-10-27 17:21:04 +00:00
Ciaran Gultnieks
3f63435318 Move build/fdroidserver info to META-INF 2014-10-24 22:20:42 +01:00
Daniel Martí
5df1d89c8e Make lint report total app counts as well 2014-10-24 22:24:11 +02: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
Hans-Christoph Steiner
e8e94e1020 add debug message to mark when syncing to Amazon S3 starts 2014-10-23 14:26:11 -04:00
Hans-Christoph Steiner
d2b5b86ed5 fix rsync's chmod on local copy
rsync's --chmod works a bit oddly, it only affects the source files. To
make it set the destintation with the perms set in --chmod, the --perms
flag must also be included.
2014-10-23 14:26:11 -04:00
Daniel Martí
57efa16f3f Bump build-tools to 21.0.2 2014-10-22 15:01:01 +02:00
Daniel Martí
ed9564023f Use '\s' instead of ' ' to identify spaces in regex 2014-10-15 15:00:45 +02:00
Daniel Martí
f90ba4747f Make lint check for trailing spaces 2014-10-15 14:36:59 +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í
5798887d53 Try using Auto Name before falling back to appid for Name 2014-09-23 09:56:09 +02:00
Daniel Martí
7d21417286 Fix 'fdroid import' flavours crasher 2014-09-20 22:35:58 +02:00
Daniel Martí
2397c13d30 Fix --android-home in 'fdroid init' when ANDROID_HOME is set 2014-09-17 00:20:37 +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í
9c4a529f5b Fix gradle builds without flavours 2014-09-16 08:38:18 +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í
8d1c4c1d60 Fix a few remaining gradle flavour crashes 2014-09-15 11:52:12 +02:00
Daniel Martí
1757017b8a More list comprehension fixes 2014-09-13 13:07:21 +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í
27edbd56a7 Discard descriptions longer than one line when checking duplicates 2014-09-01 10:34:12 +02:00
Daniel Martí
b5c363b6c8 Sort builds by vercode when reading them
Then, when written, the order will be enforced.
2014-08-31 00:21:29 +02:00
Daniel Martí
a1f51ebb4d Fix typo in app link hrefs 2014-08-28 15:36:09 +02:00
Daniel Martí
5822df9231 metadata: Simplify the writing of optional fields 2014-08-26 14:06:59 +02:00
Daniel Martí
cb63a5a62b Properly obey build --force. Fixes #29. 2014-08-26 13:49:42 +02:00
Daniel Martí
3d50ecf5fe Don't accept empty commits
With SCMs like git, "git checkout ''" doesn't actually fail, so one may
commit builds without noticing that they left the commit empty.
2014-08-26 13:40:18 +02:00
Daniel Martí
298934afa5 lint: warn about redundant links too 2014-08-26 13:33:17 +02:00
Daniel Martí
0da8c2c365 lint: fix duplicate usage of appid 2014-08-26 13:33:17 +02: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í
96f49f2a9e lint: Also warn about descriptions that are just the summary 2014-08-25 00:41:25 +02:00
Daniel Martí
3d1213b602 lint: remove pedantic warnings that are often wrong 2014-08-25 00:41:01 +02:00
Daniel Martí
858c1eabc1 Add lint warning for empty summaries 2014-08-25 00:28:40 +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