1
0
mirror of https://gitlab.com/fdroid/fdroidserver.git synced 2024-11-04 22:40:12 +01:00
Commit Graph

2823 Commits

Author SHA1 Message Date
Hans-Christoph Steiner
0adb2575fe update: add stricter checking when updating repo index using rsync
rsync uses the modification time and size of the file when deciding whether
to update a file.  These are relatively easy to control in malicious code,
so instead make rsync use a full MD5 checksum when decided whether the
index needs to be updated.  I suppose we could add an option to use
checksum checking on all files, but since the signed repo already provides
a checksum check, it seems not worth the added load on the process.

Also, renamed 'index' to 'indexxml' to make it clear what is the XML and
what is the JAR.
2014-06-05 15:50:21 -04:00
Ciaran Gultnieks
b86bfb94fb Merge branch 'test-updates-and-related-bug-fixes' into 'master'
Test updates and related bug fixes

I just set up some big tests of generating repos based on feeding as many random APKs into `fdroid update` as possible.  On our jenkins server, the tests copy all of the APKs that the jenkins server has generated and builds a repo from them.  This process caught lots of little glitches in the whole process.  While these little glitches are usually caused by problematic APKs, `fdroid update` should handle them gracefully.  Hopefully this set of fixes accomplishes that.
2014-06-05 15:51:24 +00:00
Daniel Martí
6aeb57e950 Be less clumsy when removing signingConfigs 2014-06-05 10:02:30 +02:00
Hans-Christoph Steiner
0272124248 tests: fix --android-home test to actually work
In this case, ANDROID_HOME is set to a fake, non-working version that will
be detected by fdroid as an Android SDK install.  It should use the path
set by --android-home over the one in ANDROID_HOME, therefore if it uses
the one in ANDROID_HOME, it won't work because it is a fake one.  Only
--android-home provides a working one.
2014-06-04 22:01:25 -04:00
Hans-Christoph Steiner
479e194976 update name/description in examples/config.py
It was confusing that by default, repos created with `fdroid init` had the
same name/description as f-droid.org/repo
2014-06-04 22:01:25 -04:00
Hans-Christoph Steiner
13baea9558 some APKs do not have a name, like system APKs
It is not necessarily a good idea to try to distribute system APKs via
FDroid, but `fdroid update` should just ignore APKs it cannot handle rather
than die and prevent a repo from being fully created.  This is necessary to
handle the automatic creation of repos, like for debug builds from a
Jenkins server.
2014-06-04 22:01:25 -04:00
Hans-Christoph Steiner
c81ff764a3 update: improve warning about APKs set to be debuggable
This uses the actual XML code used to set this flag making the warning
message easily searchable on the interwebs.
2014-06-04 22:01:25 -04:00
Hans-Christoph Steiner
d68830418b apps with no <uses-sdk> get strange values of minSdkVersion
Using this example app which does not have <uses-sdk>:
https://android.googlesource.com/platform/development/+log/master/samples/ApiDemos/assets/HelloActivity.apk

aapt then returns "sdkVersion:'IceCreamSandwich'".  minSdkVersion is only
ever supposed to be an integer, so this is a bizarre APK.  It is included
only as a binary in the git repo for Android sample code.  But who knows
what else is out there, so report and error and carry on with the update
process.
2014-06-04 22:01:25 -04:00
Hans-Christoph Steiner
57a4e03277 update: skip APKs that cannot be parsed instead of exiting
Some APKs can be corrupt or some system APKs do not have all the normal
info.  Instead of quitting, `fdroid update` skips the non-parsable APKs and
optionally deletes them if --delete-unknown is specified.
2014-06-04 22:01:25 -04:00
Hans-Christoph Steiner
ed73db65ae make FDroidPopen output based on --verbose
FDroidPopen outputs by default, this should be controlled by the --verbose
flag so that most of the time, only meaningful messages are shown like
errors and such.  For command output that should be shown everytime,
output=True can be set.
2014-06-04 22:01:25 -04:00
Hans-Christoph Steiner
c6d946ed54 update: remove overly verbose message about icon sizing being correct
This seems like purely a debug message, I can't see why its useful in general
2014-06-04 22:01:25 -04:00
Hans-Christoph Steiner
6085556a7b jenkins: run git pre-commit hook for pep8, pyflakes, etc
This provides a central script for running certain checks at commit time,
and in jenkins automated builds.
2014-06-04 22:01:25 -04:00
Hans-Christoph Steiner
9b313e76bb tests: specify dir for APKs as cmd line arg, and set jenkins to ~
This lets people easily set whatever dir they want, while letting jenkins
search through its whole workspace for any APKs that have been built. Also,
only include the latest version of a given packageName+versionCode.
2014-06-04 22:01:25 -04:00
Hans-Christoph Steiner
78d5ebf26c use 'metadata' name throughout: --createmeta to --create-metadata
To keep the naming used within fdroid consistent, I renamed this long flag
to use the whole word 'metadata' since that is what is used everywhere else
2014-06-04 21:54:56 -04:00
Hans-Christoph Steiner
0e2f4d54d0 tests: try fdroid update after adding an APK to an existing repo
Yes, this includes a binary file, but it is only for the tests, and it is
free software since I wrote it.  The source is here:

https://github.com/eighthave/urzip
2014-06-04 21:54:55 -04:00
Hans-Christoph Steiner
ed7a0576c2 test: make sure fdroid update -c creates a full index.xml
Previously, `fdroid update -c` would only create the new metadata, but
would not add the new apps/apks to the repo.  That required a second run of
`fdroid update`.  This has been fixes, so this test makes sure it stays
fixed, in a very generic way.
2014-06-04 21:54:55 -04:00
Hans-Christoph Steiner
bc8ad37249 init: make prompt for SDK path exit cleanly on Ctrl-C
This just makes a clean exit rather than showing a python stacktrace.
2014-06-04 21:54:55 -04:00
Hans-Christoph Steiner
6ca060e10d add more SDK checks: build-tools/19.0.3 and presense of aapt
Make sure that fdroid can find aapt in the current config, otherwise exit
with an error.  Some users don't have build_tools set, and their SDK does
not include the build-tools in the default versioned dir, so this should
warn them of what is wrong.
2014-06-04 21:54:55 -04:00
Daniel Martí
3690b89e0a Fix crash in checkupdates with auto-updates 2014-06-04 13:29:01 +02:00
Daniel Martí
9198cd4127 Add warnings for repo clonings in build recipes 2014-06-01 19:12:00 +02:00
Daniel Martí
67cbd1fba4 Fix the script defaults 2014-06-01 19:11:49 +02:00
Daniel Martí
9f1c075119 No need to check for non-default build items 2014-06-01 19:05:18 +02:00
Daniel Martí
8fd02e3fcf Remove dead mvnflags code 2014-06-01 19:05:10 +02:00
Daniel Martí
8675d50261 Add support for gitlab.com repos to import 2014-06-01 16:37:33 +02:00
Daniel Martí
67630b6c72 Store build comments by vercode, not version
vercodes are unique, versions aren't
2014-06-01 15:40:33 +02:00
Daniel Martí
a544907bef Don't allow for duplicate build entries 2014-06-01 15:38:11 +02:00
Daniel Martí
3d72c30fe5 Use ordered dicts for defaults in apps and builds 2014-05-31 23:54:50 +02:00
Daniel Martí
c125ab9b7f Enable pep8 in pre-commit 2014-05-31 23:09:58 +02:00
Daniel Martí
e5854b7e13 Fix pep8 warnings in makebuildserver 2014-05-31 23:00:27 +02:00
Daniel Martí
b594558811 Re-order app_defaults to match the writing order
Also fix a couple of issues:

* Update Check Name was never written to disk
* Maintainer Notes had no default and was used differently
2014-05-30 19:51:10 +02:00
Daniel Martí
e93017569f Simplify field/flag checking and bool flag usage 2014-05-30 18:52:30 +02:00
Daniel Martí
5933880a90 Make unspecified license use regex 2014-05-30 18:52:30 +02:00
Daniel Martí
969a568430 Merge branch 'recent-bug-fixes' into 'master'
Recent bug fixes

Fix a couple of bugs from the tracker.
2014-05-29 20:24:39 +00:00
Hans-Christoph Steiner
6839f9a9ed fixes #12: make fdroid update -c do complete update like fdroid update
Since the new metadata created by -c is added after the existing metadata
was already parsed, `fdroid update -c` was not doing a complete update of
the repo.  This moves the metadata creation as early as possible, then
reruns the metadata parsing if new metadata was created.

refs #12 https://gitlab.com/fdroid/fdroidserver/issues/12
2014-05-29 15:29:57 -04:00
Hans-Christoph Steiner
af22962572 Fixes #8: if unknown APKs found, prompt to use -c or use --delete-unknown
This adds the option --delete-unknown for the current default behavior of
`fdroid update`: to delete any unknown APKs.  Instead, it just outputs a
warning about the unknown APKs and suggests -c for adding it.

Fixes #8 https://gitlab.com/fdroid/fdroidserver/issues/8
2014-05-29 13:40:06 -04:00
Hans-Christoph Steiner
2f3022ff65 fix PEP8 E128 continuation line under-indented for visual indent 2014-05-29 13:10:28 -04:00
Daniel Martí
0f0ccdb1e1 Fix some more pep8 warnings 2014-05-28 09:33:14 +02:00
Daniel Martí
fd417425ae Fix E265 in config.py 2014-05-28 09:30:55 +02:00
Daniel Martí
709ead7db7 Add pre-commit hook with installer
Will enable pep8 once all the problems are gone
2014-05-28 09:28:28 +02:00
Daniel Martí
1d5280d528 Fix pyflakes errors in readmeta 2014-05-27 15:56:57 +02:00
Daniel Martí
ecb2a2a969 Make readmeta use srclibs and check for config.py too 2014-05-27 15:17:37 +02:00
Daniel Martí
9301c50e3b More strict string search regex 2014-05-27 10:10:15 +02:00
Daniel Martí
5bbbda71a3 Also use srclibs in checkupdates
Needed when Repo Type is srclib
2014-05-27 09:53:58 +02:00
Daniel Martí
a129ef5f9f Warn about summaries that are not capitalized 2014-05-26 08:09:22 +02:00
Daniel Martí
93a56e4f51 Fall back to launchable-activity label if application has none
This fixes apps like MiniZip not having a name
2014-05-23 09:47:11 +02:00
Daniel Martí
295cddcddb Add android targets 5, 6 and 9
They are nice to have, and will be needed to build support-v4 from source
2014-05-21 11:45:16 +02:00
Ciaran Gultnieks
3a73654d49 Centralise management of srclib metadata 2014-05-20 22:44:47 +01:00
Ciaran Gultnieks
e29da6b023 Restore friendly error messages
Use --verbose if you really want a full traceback with your 'you made a
typo in an package ID' messages.

It would be better to do this based on exception types (i.e. our own
exceptions - MetadataException, BuildException, VCSException) would not
print a traceback, but unexpected exceptions would. But the types are
not available at the 'fdroid' level currently.
2014-05-20 22:14:19 +01:00
Ciaran Gultnieks
6391f204e1 Lose the other unused read_metadata parameter 2014-05-20 21:07:54 +01:00
Ciaran Gultnieks
720ec22e9a Remove mysterious keyword arguments 2014-05-20 17:55:48 +01:00