chiark / gitweb /
Don't pass root_dir to scan_source
[fdroidserver.git] / README.md
1 # F-Droid Server
2
3 [![build status](https://gitlab.com/fdroid/fdroidserver/badges/master/build.svg)](https://gitlab.com/fdroid/fdroidserver/builds)
4
5 Server for [F-Droid](https://f-droid.org), the Free Software repository system
6 for Android.
7
8 The F-Droid server tools provide various scripts and tools that are used to
9 maintain the main [F-Droid application repository](https://f-droid.org/repository/browse).
10 You can use these same tools to create your own additional or alternative
11 repository for publishing, or to assist in creating, testing and submitting
12 metadata to the main repository.
13
14 For documentation, please see <https://f-droid.org/docs/>, or you can
15 find the source for the documentation in
16 [fdroid/fdroid-website](https://gitlab.com/fdroid/fdroid-website).
17
18
19 ### What is F-Droid?
20
21 F-Droid is an installable catalogue of FOSS (Free and Open Source Software)
22 applications for the Android platform. The client makes it easy to browse,
23 install, and keep track of updates on your device.
24
25 ### Installing
26
27 Note that only Python 3 is supported. We recommend version 3.4 or later.
28
29 The easiest way to install the `fdroidserver` tools is on Ubuntu, Mint or other
30 Ubuntu based distributions, you can install using:
31
32         sudo apt-get install fdroidserver
33
34 For older Ubuntu releases or to get the latest version, you can get
35 `fdroidserver` from the Guardian Project PPA (the signing key
36 fingerprint is `6B80 A842 07B3 0AC9 DEE2 35FE F50E ADDD 2234 F563`)
37
38         sudo add-apt-repository ppa:guardianproject/ppa
39         sudo apt-get update
40         sudo apt-get install fdroidserver
41
42 On OSX, `fdroidserver` is available from third party package managers,
43 like Homebrew, MacPorts, and Fink:
44
45         brew install fdroidserver
46
47 For Arch-Linux is a package in the AUR available. If you have installed
48 `yaourt` or something similiar, you can do:
49
50         yaourt -S fdroidserver
51
52 For any platform where Python's `easy_install` is an option (e.g. OSX
53 or Cygwin, you can use it:
54
55         sudo easy_install fdroidserver
56
57 Python's `pip` also works:
58
59         sudo pip3 install fdroidserver
60
61 The combination of `pyvenv` and `pip` is great for testing out the
62 latest versions of `fdroidserver`. Using `pip`, `fdroidserver` can
63 even be installed straight from git. First, make sure you have
64 installed the python header files, venv and pip. They should be
65 included in your OS's default package manager or you can install them
66 via other mechanisms like Brew/dnf/pacman/emerge/Fink/MacPorts.
67
68 For Debian based distributions:
69
70         apt-get install python3-dev python3-pip python3-venv libjpeg-dev zlib1g-dev
71
72 Then here's how to install:
73
74         git clone https://gitlab.com/fdroid/fdroidserver.git
75         cd fdroidserver
76         pyvenv env/
77         source env/bin/activate
78         pip3 install -e .
79         python3 setup.py install
80
81
82 ### Drozer Scanner
83
84 There is a new feature under development that can scan any APK in a
85 repo, or any build, using Drozer.  Drozer is a dynamic exploit
86 scanner, it runs an app in the emulator and runs known exploits on it.
87
88 This setup requires specific versions of two Python modules:
89 _docker-py_ 1.9.0 and _requests_ older than 2.11.  Other versions
90 might cause the docker-py connection to break with the containers.
91 Newer versions of docker-py might have this fixed already.
92
93 For Debian based distributions:
94
95         apt-get install libffi-dev libssl-dev python-docker