1
0
mirror of https://gitlab.com/fdroid/fdroidserver.git synced 2024-11-18 20:50:10 +01:00
Commit Graph

4918 Commits

Author SHA1 Message Date
Boris Kraut
03ef37cbde Merge branch 'master' into 'master'
makebuildserver: bump tools, add api26 and build-tools 26

See merge request !284
2017-06-10 09:55:47 +00:00
Sergey Eremin
eb64b0889d makebuildserver: bump tools, add api26 and build-tools 26 2017-06-09 20:35:04 +03:00
Boris Kraut
c687a5c65d Merge branch 'fdroiddata-localization-fixes' into 'master'
fdroiddata localization fixes

See merge request !283
2017-06-08 01:54:34 +00:00
Hans-Christoph Steiner
30ff777897 rewritemeta: do not include empty Summary: or Description:
Since the Summary: and Description: in the metadata file has the highest
priority of all the localized texts, adding blank versions means that
apps would always have blank Summary and Description even if the app has
those fields in the localized sections of fdroiddata and/or in the app's
source repo itself.

fdroiddata!2262
2017-06-07 22:10:25 +02:00
Hans-Christoph Steiner
18c3bfa5fb lint can no longer properly detect unset Summary/Description
Since the Summary/Description can now be set in the app's source code, or
in fdroiddata/metadata/<packageName>/<locale>/*.txt, this lint check is
no longer valid.  It is important to check whether these texts are empty,
but it'll require some thinking about how and where to best to that.
`fdroid update` will have access to all that data, but perhaps at that
point it is too late.

Also, the current text prioritization puts Summary/Description in the
.txt/.yml file at the highest priority, overriding every other copy,
including in fdroiddata/metadata/<packageName>/<locale> and in the app's
source code.
2017-06-07 22:10:25 +02:00
Hans-Christoph Steiner
37c3bf304c support fdroid names in filenames for localized texts
* "full description" is just "description"
* "short description" is "summary"
* "title" is "name"
2017-06-07 22:10:25 +02:00
Hans-Christoph Steiner
43d3a9c7a5 support fastlane simplified metadata dir
Running `fastlane init` gave me a much simpler directory layout, which
turns out to be the same as what is used for fdroiddata.
2017-06-07 22:10:25 +02:00
Hans-Christoph Steiner
e36864e4f0 Merge branch 'check-vmx-libvirt' into 'master'
Use Qemu instead of KVM when we don't have VMX/SVM

See merge request !282
2017-06-07 18:19:40 +00:00
Torsten Grote
061093d014 Merge branch 'localization-template' into 'master'
add core help strings to gettext source file

See merge request !281
2017-06-02 14:22:26 +00:00
Torsten Grote
78d4603090 Merge branch 'duplicate-apk-processing' into 'master'
APK processing for duplicate versionCodes and renaming

See merge request !280
2017-06-02 14:20:20 +00:00
Hans-Christoph Steiner
75f29dd690 add core help strings to gettext source file
This will allow us to put these up on Weblate and have people start
translating them.  Then we can figure out how to actually include and
deploy the translations later.  It is unfortunately non-trivial, since
we have to manually figure out the install paths.
2017-06-02 14:06:17 +02:00
Willem Mulder
60bb34ef1a Use Qemu instead of KVM when we don't have VMX/SVM 2017-06-02 11:37:15 +02:00
Hans-Christoph Steiner
8776221988 check signature and OpenSSL after APK has proven valid
If working with a random grabbag of APKs, there can be all sorts of
issues like corrupt entries in the ZIP, bad signatures, signatures that
are invalid since they use MD5, etc.  Moving these two checks later means
that the APKs can be renamed still.

This does change how common.getsig() works.  For years, it returned
None if the signature check failed.  Now that I've started working
with giant APK collections gathered from the wild, I can see that
`fdroid update` needs to be able to first index what's there, then
make decisions based on that information.  So that means separating
the getsig() fingerprint fetching from the APK signature verification.

This is not hugely security sensitive, since the APKs still have to
get past the Android checks, e.g. update signature checks.  Plus the
APK hash is already included in the signed index.
2017-06-01 17:45:29 +02:00
Hans-Christoph Steiner
372c8b418d strip file extension from generated name for non-APKs
With a generic file, the file name is the only guaranteed name metadata
field.  So if the name is not specified in the metadata, then the name
is set to the filename.  This changes that so that the file extension is
stripped from that generated name.
2017-06-01 16:01:05 +02:00
Hans-Christoph Steiner
6105f8a184 use var naming scheme in KnownApks (apk --> apkName)
Everywhere else, the file name of the APK is called apkName.
2017-06-01 16:01:05 +02:00
Hans-Christoph Steiner
9471bf2731 regexs for getting packageName and versionCode from filenames
This is useful for parsing APK files, which can include packageName,
versionCode, and optionally 7 char signing key ID (i.e. <sig>).
This also can set the packageName and versionCoe for non APK files, so
that it is easy to assign them to metadata files, and to allow for
upgrades by setting the versionCode in the filename.
2017-06-01 16:01:05 +02:00
Hans-Christoph Steiner
ceac6d25cb index.xml cannot handle APKs with the same packageName/versionCode
Really, it is the fdroidclient parser of index.xml that fails, due to the
hardcoded expectation that there will only ever be a single APK for any
given versionCode.  We keep index.xml backwards compatible for old
clients, and use index-v1.json to support new things.  Having multiple
APKs that have the same packageName and versionCode will break the client
v0.103.* since that version uses index-v1.json, but still has the hard-
coded database parsing stuff.

#153
2017-06-01 16:01:05 +02:00
Hans-Christoph Steiner
4053f03d77 update: add --rename-apks to force APK filenames to fdroid standard
uses the standard package.name_123.apk.  If that exists, it appends the
shasum.  If that exists, then its a duplicate, so its deleted. This should
help @SergeWinters with his 12,000 APKs.
2017-06-01 16:01:05 +02:00
Andrew Patrikalakis
5a0c201fab Copy initial buildserver CPU/memory configuration to final box Vagrantfile 2017-06-01 09:53:33 -04:00
Hans-Christoph Steiner
0f4cbc7224 allow APKs with same packageName/versionCode but different signer
There are many APKs out in the wild that claim to be the same app and
version and each other, but they are signed by different keys.  fdroid
should be able to index these, and work with them.   This supports having
the developer's signature via reproducible builds, random collections of
APKs like repomaker, etc.
2017-06-01 10:30:41 +02:00
Hans-Christoph Steiner
2c6945dac7 gitlab-ci: add index v0 metadata parsing test
This test is very handy for making sure the old index.xml v0 format does
not inadvertantly change.
2017-05-30 21:13:49 +02:00
Hans-Christoph Steiner
afac1b2efd add basic test for fdroid scanner
There was no test coverage at all for this command, this is a very basic
test that should prevent things like 2626858450
2017-05-30 21:13:49 +02:00
Hans-Christoph Steiner
63fd20fff0 Merge branch 'master' into 'master'
Add support for the new Bitbucket look

See merge request !278
2017-05-30 19:08:28 +00:00
Alexey Krasilnikov
a3a34cdbd3 Add support for the new Bitbucket look 2017-05-30 18:33:55 +03:00
Hans-Christoph Steiner
7a302cfb75 Merge branch 'makebs' into 'master'
makebs: update to ndk-r14b and build-tools-25.0.3

See merge request !277
2017-05-29 08:01:32 +00:00
Boris Kraut
1558d2ba91 Merge branch 'lint-for-newness' into 'master'
`fdroid lint` support for SPDX, l18n, dev signatures

Closes #234

See merge request !269
2017-05-26 21:38:35 +00:00
Boris Kraut
a57bff78d4 makebs: update to ndk-r14b and build-tools-25.0.3 2017-05-26 23:21:20 +02:00
Hans-Christoph Steiner
114d5dc8c6 make tests pass new lint rules 2017-05-26 21:03:38 +02:00
Hans-Christoph Steiner
4570d9dc8a lint: use only license tags from https://spdx.org/license-list
closes #234
2017-05-26 21:03:38 +02:00
Hans-Christoph Steiner
1178d032f3 lint: support new per-package subdirs for l18n and dev signatures
Graphics and localized text can now be stored in the package folders,
always in a folder that is named for the locale.  The upstream developer
signature is also now stored, so that the upstream APK can be reproduced
even if they remove their APKs.

#291
fdroiddata!2229
fdroiddata!2224
fdroidclient#15
fdroidserver#174
2017-05-26 21:03:38 +02:00
Hans-Christoph Steiner
3dbd74262f lint: add popular URL shorteners to the banned list 2017-05-26 21:03:38 +02:00
Boris Kraut
c056b95fd5 scanner: allow google maven 2017-05-26 15:51:38 +02:00
Hans-Christoph Steiner
5a90443b0b Merge branch 'master' into 'master'
Don't pass root_dir to scan_source

See merge request !276
2017-05-25 18:49:14 +00:00
mimi89999
2626858450
Don't pass root_dir to scan_source 2017-05-25 20:11:14 +02:00
Torsten Grote
fe2d65df73 Merge branch 'modernize-pylint' into 'master'
modernize pylint

See merge request !252
2017-05-25 14:00:36 +00:00
Hans-Christoph Steiner
39d25da3e9 Merge branch 'linphone-packages' into 'master'
Add required packages for linphone 3.1.0 build

See merge request !274
2017-05-24 10:57:21 +00:00
Andrew Patrikalakis
61553a8e93 Add required packages for linphone 3.1.0 build 2017-05-23 21:20:10 -07:00
Hans-Christoph Steiner
9ad457c16f fix pylink 'dict' has no member 'keystore' 2017-05-23 22:34:16 +02:00
Hans-Christoph Steiner
17cd07f1a7 fix pylint unused-argument 2017-05-23 22:34:16 +02:00
Hans-Christoph Steiner
12c80f9062 update outdated pylint setup
The logilab-astng lib is dead, replaced by python-astroid.  The crazy astng
plugin is no longer needed also.

#281
2017-05-23 22:34:16 +02:00
Hans-Christoph Steiner
361ce5ca41 Merge branch 'python-vagrant-copy-caches' into 'master'
complete staging buildserver setup on jenkins.debian.net using nested KVM instances

See merge request !176
2017-05-23 18:38:57 +00:00
Hans-Christoph Steiner
a01e302cde makebuildserver: make config['domain'] local var where its needed 2017-05-23 20:08:29 +02:00
Michael Pöhn
c8234919df refactored vm related code from build.py to vmtools.py 2017-05-23 20:08:29 +02:00
Michael Pöhn
fc660048eb removed unused buildserver code 2017-05-23 20:08:08 +02:00
Hans-Christoph Steiner
9ef936c21a leave VirtualBox vagrant package as it was originally
We only need Vagrantfile hacks for KVM.
2017-05-23 20:06:47 +02:00
Michael Pöhn
8f1fabfed6 restart builder vm when ssh connection fails 2017-05-23 20:06:47 +02:00
Hans-Christoph Steiner
6106b962a2 build: delete bad builder/ symlinks
If builder/ is a symlink but is not detected as a directory by
os.path.isdir(), then it is a broken symlink.
2017-05-23 20:06:06 +02:00
Michael Pöhn
4546929d7f wait a sec after suspending 2017-05-23 20:06:06 +02:00
Michael Pöhn
48159f005a reset buildserver vm if vagrant uuid not present 2017-05-23 20:06:06 +02:00
Michael Pöhn
510efaa024 makebuildserver vbox logmessage fix 2017-05-23 20:06:06 +02:00