mirror of
https://github.com/f-droid/fdroidserver.git
synced 2025-09-13 22:42:29 +03:00
Some more documentation
This commit is contained in:
parent
ce1deec8dd
commit
68f8ed2250
2 changed files with 92 additions and 12 deletions
|
@ -43,6 +43,9 @@ Copyright (C) 2011 Henrik Tunedal, Michael Haas, John Sullivan
|
||||||
<li><a name="toc_Setup" href="#Setup">3 Setup</a>
|
<li><a name="toc_Setup" href="#Setup">3 Setup</a>
|
||||||
<li><a name="toc_Simple-Binary-Repository" href="#Simple-Binary-Repository">4 Simple Binary Repository</a>
|
<li><a name="toc_Simple-Binary-Repository" href="#Simple-Binary-Repository">4 Simple Binary Repository</a>
|
||||||
<li><a name="toc_Building-Applications" href="#Building-Applications">5 Building Applications</a>
|
<li><a name="toc_Building-Applications" href="#Building-Applications">5 Building Applications</a>
|
||||||
|
<ul>
|
||||||
|
<li><a href="#Building-Applications">5.1 More about build.py</a>
|
||||||
|
</li></ul>
|
||||||
<li><a name="toc_Metadata" href="#Metadata">6 Metadata</a>
|
<li><a name="toc_Metadata" href="#Metadata">6 Metadata</a>
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="#License">6.1 License</a>
|
<li><a href="#License">6.1 License</a>
|
||||||
|
@ -287,13 +290,24 @@ except now you need to:
|
||||||
<li>Run publish.py to finalise packaging and sign any APKs that have been built.
|
<li>Run publish.py to finalise packaging and sign any APKs that have been built.
|
||||||
</ol>
|
</ol>
|
||||||
|
|
||||||
|
<h3 class="section">5.1 More about build.py</h3>
|
||||||
|
|
||||||
|
<p>When run without any parameters, build.py will build any and all versions of
|
||||||
|
applications that you don't already have in the <code>repo</code> directory (or more
|
||||||
|
accurately, the <code>unsigned</code> directory. There are various other things you
|
||||||
|
can do. As with all the tools, the <code>--help</code> option is your friend, but a
|
||||||
|
few annotated examples and discussion of the more common usage modes follows:
|
||||||
|
|
||||||
<p>To build a single version of a single application, you could run the
|
<p>To build a single version of a single application, you could run the
|
||||||
following:
|
following:
|
||||||
|
|
||||||
<pre class="example"> ./build.py -p org.fdroid.fdroid -c 16
|
<pre class="example"> ./build.py --package=org.fdroid.fdroid --vercode 16
|
||||||
</pre>
|
</pre>
|
||||||
<p>This attempts to build version code 16 (which is version 0.25) of the F-Droid
|
<p>This attempts to build version code 16 (which is version 0.25) of the F-Droid
|
||||||
client. If the build was succesful, two files will have been placed in the
|
client. Many of the tools recognise this <code>--package</code> parameter, allowing
|
||||||
|
their activity to be limited to just a single package.
|
||||||
|
|
||||||
|
<p>If the build above was succesful, two files will have been placed in the
|
||||||
<code>unsigned</code> directory:
|
<code>unsigned</code> directory:
|
||||||
|
|
||||||
<pre class="example"> org.fdroid.fdroid_16.apk
|
<pre class="example"> org.fdroid.fdroid_16.apk
|
||||||
|
@ -312,6 +326,16 @@ directory you would push to your web server). A signed and zip-aligned version
|
||||||
of the APK would also appear there, and both files would be removed from the
|
of the APK would also appear there, and both files would be removed from the
|
||||||
<code>unsigned</code> directory.
|
<code>unsigned</code> directory.
|
||||||
|
|
||||||
|
<p>If you're building purely for the purposes of testing, and not intending to
|
||||||
|
push the results to a repository, at least yet, the <code>--test</code> option can be
|
||||||
|
used to direct output to the <code>tmp</code> directory instead of <code>unsigned</code>.
|
||||||
|
A similar effect could by achieved by simply deleting the output files from
|
||||||
|
<code>unsigned</code> after the build, but with the risk of forgetting to do so!
|
||||||
|
|
||||||
|
<p>Along similar lines (and only in conjunction with <code>--test</code>, you can use
|
||||||
|
<code>--force</code> to force a build of a Disabled application for test purposes,
|
||||||
|
where normally it would be completely ignored.
|
||||||
|
|
||||||
<div class="node">
|
<div class="node">
|
||||||
<a name="Metadata"></a>
|
<a name="Metadata"></a>
|
||||||
<p><hr>
|
<p><hr>
|
||||||
|
@ -325,12 +349,28 @@ Up: <a rel="up" accesskey="u" href="#Top">Top</a>
|
||||||
|
|
||||||
<p><a name="index-metadata-4"></a>
|
<p><a name="index-metadata-4"></a>
|
||||||
Information used by update.py to compile the public index comes from two
|
Information used by update.py to compile the public index comes from two
|
||||||
sources, 1) the APK files in the repo directory, and 2) the metadata files
|
sources:
|
||||||
in the metadata directory.
|
|
||||||
|
<ol type=1 start=1>
|
||||||
|
<li>the APK files in the repo directory, and
|
||||||
|
<li>the metadata files in the metadata directory.
|
||||||
|
</ol>
|
||||||
|
|
||||||
<p>The metadata files are simple, easy to edit text files, always named as the
|
<p>The metadata files are simple, easy to edit text files, always named as the
|
||||||
application's package ID with '.txt' appended. The following sections describe
|
application's package ID with '.txt' appended.
|
||||||
the fields recognised within the file.
|
|
||||||
|
<p>Note that although the metadata files are designed to be easily read and
|
||||||
|
writable by humans, they are also processed and written by various scripts.
|
||||||
|
They are capable of rewriting the entire file when necessary. Even so,
|
||||||
|
the structure and comments will be preserved correctly, although the order
|
||||||
|
of fields will be standardised. (In the event that the original file was
|
||||||
|
in a different order, comments are considered as being attached to the field
|
||||||
|
following them). In fact, you can standardise all the metadata in a single
|
||||||
|
command, without changing the functional content, by running:
|
||||||
|
|
||||||
|
<pre class="example"> ./rewritemetadata.py
|
||||||
|
</pre>
|
||||||
|
<p>The following sections describe the fields recognised within the file.
|
||||||
|
|
||||||
<ul class="menu">
|
<ul class="menu">
|
||||||
<li><a accesskey="1" href="#License">License</a>
|
<li><a accesskey="1" href="#License">License</a>
|
||||||
|
|
|
@ -231,15 +231,26 @@ Run build.py to build any applications that are not already built.
|
||||||
Run publish.py to finalise packaging and sign any APKs that have been built.
|
Run publish.py to finalise packaging and sign any APKs that have been built.
|
||||||
@end enumerate
|
@end enumerate
|
||||||
|
|
||||||
|
@section More about build.py
|
||||||
|
|
||||||
|
When run without any parameters, build.py will build any and all versions of
|
||||||
|
applications that you don't already have in the @code{repo} directory (or more
|
||||||
|
accurately, the @code{unsigned} directory. There are various other things you
|
||||||
|
can do. As with all the tools, the @code{--help} option is your friend, but a
|
||||||
|
few annotated examples and discussion of the more common usage modes follows:
|
||||||
|
|
||||||
To build a single version of a single application, you could run the
|
To build a single version of a single application, you could run the
|
||||||
following:
|
following:
|
||||||
|
|
||||||
@example
|
@example
|
||||||
./build.py -p org.fdroid.fdroid -c 16
|
./build.py --package=org.fdroid.fdroid --vercode 16
|
||||||
@end example
|
@end example
|
||||||
|
|
||||||
This attempts to build version code 16 (which is version 0.25) of the F-Droid
|
This attempts to build version code 16 (which is version 0.25) of the F-Droid
|
||||||
client. If the build was succesful, two files will have been placed in the
|
client. Many of the tools recognise this @code{--package} parameter, allowing
|
||||||
|
their activity to be limited to just a single package.
|
||||||
|
|
||||||
|
If the build above was succesful, two files will have been placed in the
|
||||||
@code{unsigned} directory:
|
@code{unsigned} directory:
|
||||||
|
|
||||||
@example
|
@example
|
||||||
|
@ -262,6 +273,15 @@ directory you would push to your web server). A signed and zip-aligned version
|
||||||
of the APK would also appear there, and both files would be removed from the
|
of the APK would also appear there, and both files would be removed from the
|
||||||
@code{unsigned} directory.
|
@code{unsigned} directory.
|
||||||
|
|
||||||
|
If you're building purely for the purposes of testing, and not intending to
|
||||||
|
push the results to a repository, at least yet, the @code{--test} option can be
|
||||||
|
used to direct output to the @code{tmp} directory instead of @code{unsigned}.
|
||||||
|
A similar effect could by achieved by simply deleting the output files from
|
||||||
|
@code{unsigned} after the build, but with the risk of forgetting to do so!
|
||||||
|
|
||||||
|
Along similar lines (and only in conjunction with @code{--test}, you can use
|
||||||
|
@code{--force} to force a build of a Disabled application for test purposes,
|
||||||
|
where normally it would be completely ignored.
|
||||||
|
|
||||||
@node Metadata
|
@node Metadata
|
||||||
@chapter Metadata
|
@chapter Metadata
|
||||||
|
@ -269,12 +289,32 @@ of the APK would also appear there, and both files would be removed from the
|
||||||
@cindex metadata
|
@cindex metadata
|
||||||
|
|
||||||
Information used by update.py to compile the public index comes from two
|
Information used by update.py to compile the public index comes from two
|
||||||
sources, 1) the APK files in the repo directory, and 2) the metadata files
|
sources:
|
||||||
in the metadata directory.
|
|
||||||
|
@enumerate
|
||||||
|
@item
|
||||||
|
the APK files in the repo directory, and
|
||||||
|
@item
|
||||||
|
the metadata files in the metadata directory.
|
||||||
|
@end enumerate
|
||||||
|
|
||||||
The metadata files are simple, easy to edit text files, always named as the
|
The metadata files are simple, easy to edit text files, always named as the
|
||||||
application's package ID with '.txt' appended. The following sections describe
|
application's package ID with '.txt' appended.
|
||||||
the fields recognised within the file.
|
|
||||||
|
Note that although the metadata files are designed to be easily read and
|
||||||
|
writable by humans, they are also processed and written by various scripts.
|
||||||
|
They are capable of rewriting the entire file when necessary. Even so,
|
||||||
|
the structure and comments will be preserved correctly, although the order
|
||||||
|
of fields will be standardised. (In the event that the original file was
|
||||||
|
in a different order, comments are considered as being attached to the field
|
||||||
|
following them). In fact, you can standardise all the metadata in a single
|
||||||
|
command, without changing the functional content, by running:
|
||||||
|
|
||||||
|
@example
|
||||||
|
./rewritemetadata.py
|
||||||
|
@end example
|
||||||
|
|
||||||
|
The following sections describe the fields recognised within the file.
|
||||||
|
|
||||||
@menu
|
@menu
|
||||||
* License::
|
* License::
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue