diff --git a/README.md b/README.md index e51a403e..c96dc872 100644 --- a/README.md +++ b/README.md @@ -1,15 +1,22 @@ - - -| CI Builds | fdroidserver | buildserver | fdroid build --all | publishing tools | -|--------------------------|:-------------:|:-----------:|:------------------:|:----------------:| -| GNU/Linux | [![fdroidserver status on GNU/Linux](https://gitlab.com/fdroid/fdroidserver/badges/master/pipeline.svg)](https://gitlab.com/fdroid/fdroidserver/-/jobs) | [![buildserver status](https://jenkins.debian.net/job/reproducible_setup_fdroid_build_environment/badge/icon)](https://jenkins.debian.net/job/reproducible_setup_fdroid_build_environment) | [![fdroid build all status](https://jenkins.debian.net/job/reproducible_fdroid_build_apps/badge/icon)](https://jenkins.debian.net/job/reproducible_fdroid_build_apps/) | [![fdroid test status](https://jenkins.debian.net/job/reproducible_fdroid_test/badge/icon)](https://jenkins.debian.net/job/reproducible_fdroid_test/) | -| macOS | [![fdroidserver status on macOS](https://travis-ci.org/f-droid/fdroidserver.svg?branch=master)](https://travis-ci.org/f-droid/fdroidserver) | | | | +
+

# F-Droid Server +### Server tools for maintaining an F-Droid repository system. -Server for [F-Droid](https://f-droid.org), the Free Software repository system -for Android. +
+ +--- + +## What is F-Droid? + +F-Droid is an installable catalogue of FOSS (Free and Open Source Software) +applications for the Android platform. The client makes it easy to browse, +install, and keep track of updates on your device. + + +## What is F-Droid Server? The F-Droid server tools provide various scripts and tools that are used to maintain the main @@ -18,19 +25,20 @@ can use these same tools to create your own additional or alternative repository for publishing, or to assist in creating, testing and submitting metadata to the main repository. -For documentation, please see , or you can +For documentation, please see , or you can find the source for the documentation in [fdroid/fdroid-website](https://gitlab.com/fdroid/fdroid-website). -### What is F-Droid? +## CI/CD status -F-Droid is an installable catalogue of FOSS (Free and Open Source Software) -applications for the Android platform. The client makes it easy to browse, -install, and keep track of updates on your device. +| | fdroidserver | buildserver | fdroid build --all | publishing tools | +|--------------------------|:-------------:|:-----------:|:------------------:|:----------------:| +| GNU/Linux | [![fdroidserver status on GNU/Linux](https://gitlab.com/fdroid/fdroidserver/badges/master/pipeline.svg)](https://gitlab.com/fdroid/fdroidserver/-/jobs) | [![buildserver status](https://jenkins.debian.net/job/reproducible_setup_fdroid_build_environment/badge/icon)](https://jenkins.debian.net/job/reproducible_setup_fdroid_build_environment) | [![fdroid build all status](https://jenkins.debian.net/job/reproducible_fdroid_build_apps/badge/icon)](https://jenkins.debian.net/job/reproducible_fdroid_build_apps/) | [![fdroid test status](https://jenkins.debian.net/job/reproducible_fdroid_test/badge/icon)](https://jenkins.debian.net/job/reproducible_fdroid_test/) | +| macOS | [![fdroidserver status on macOS](https://travis-ci.org/f-droid/fdroidserver.svg?branch=master)](https://travis-ci.org/f-droid/fdroidserver) | | | | -### Installing +## Installing There are many ways to install _fdroidserver_, they are documented on the website: @@ -39,35 +47,33 @@ https://f-droid.org/docs/Installing_the_Server_and_Repo_Tools All sorts of other documentation lives there as well. -### Tests +## Tests -There are many components to all of the tests for the components in -this git repo. The most commonly used parts of well tested, while +There are many components to all the tests for the components in +this git repository. The most commonly used parts of well tested, while some parts still lack tests. This test suite has built over time a bit haphazardly, so it is not as clean, organized, or complete as it could be. We welcome contributions. Before rearchitecting any parts of it, be sure to [contact us](https://f-droid.org/about) to discuss the changes beforehand. - -#### `fdroid` commands +### `fdroid` commands The test suite for all of the `fdroid` commands is in the _tests/_ subdir. _.gitlab-ci.yml_ and _.travis.yml_ run this test suite on various configurations. -* _tests/run-tests_ runs the whole test suite -* _tests/*.TestCase_ are individual unit tests for all of the `fdroid` +- _tests/run-tests_ runs the whole test suite +- _tests/*.TestCase_ are individual unit tests for all of the `fdroid` commands, which can be run separately, e.g. `./update.TestCase`. -* run one test: `tests/common.TestCase CommonTest.test_get_apk_id` +- run one test: `tests/common.TestCase CommonTest.test_get_apk_id` - -#### Additional tests for different linux distributions +### Additional tests for different linux distributions These tests are also run on various distributions through GitLab CI. This is -only enabled for `master@fdroid/fdroidserver` because it'll take longer to +only enabled for `master@fdroid/fdroidserver` because it takes longer to complete than the regular CI tests. Most of the time you won't need to worry -about them but sometimes it might make sense to also run them for your merge +about them, but sometimes it might make sense to also run them for your merge request. In that case you need to remove [these lines from .gitlab-ci.yml](https://gitlab.com/fdroid/fdroidserver/blob/master/.gitlab-ci.yml#L34-35) and push this to a new branch of your fork. @@ -76,26 +82,19 @@ Alternatively [run them locally](https://docs.gitlab.com/runner/commands/README.html#gitlab-runner-exec) like this: `gitlab-runner exec docker ubuntu_lts` -#### buildserver +### Buildserver The tests for the whole build server setup are entirely separate -because they require at least 200GB of disk space, and 8GB of +because they require at least 200 GB of disk space, and 8 GB of RAM. These test scripts are in the root of the project, all starting with _jenkins-_ since they are run on https://jenkins.debian.net. -### Translation +## Documentation -Everything can be translated. See -[Translation and Localization](https://f-droid.org/docs/Translation_and_Localization) -for more info. - -[![translation status](https://hosted.weblate.org/widgets/f-droid/-/fdroidserver/multi-auto.svg)](https://hosted.weblate.org/engage/f-droid/?utm_source=widget) - - -### Documentation - -The API documentation based on the docstrings gets automatically published [here](http://fdroid.gitlab.io/fdroidserver/) on every commit on the `master` branch. +The API documentation based on the docstrings gets automatically +published [here](https://fdroid.gitlab.io/fdroidserver) on every commit +on the `master` branch. It can be built locally via @@ -112,4 +111,25 @@ To additionally lint the code call pydocstyle fdroidserver --count ``` -When writing docstrings you should follow the [numpy style guide](https://numpydoc.readthedocs.io/en/latest/format.html). \ No newline at end of file +When writing docstrings you should follow the +[numpy style guide](https://numpydoc.readthedocs.io/en/latest/format.html). + + +## Translation + +Everything can be translated. See +[Translation and Localization](https://f-droid.org/docs/Translation_and_Localization) +for more info. + +
+ +[![](https://hosted.weblate.org/widgets/f-droid/-/287x66-white.png)](https://hosted.weblate.org/engage/f-droid) + +
+View translation status for all languages. + +[![](https://hosted.weblate.org/widgets/f-droid/-/fdroidserver/multi-auto.svg)](https://hosted.weblate.org/engage/f-droid/?utm_source=widget) + +
+ +