Example in instructions for package submission does not work, problem in docker container

Andreas Enge
2026-02-05T16:50:43Z

Hello,

I am trying to follow the instructions at
https://f-droid.org/en/docs/Submitting_to_F-Droid_Quick_Start_Guide/
to build my app in the official docker container.

The fdroid commands do not work as described.

First a warning from "fdroid readmeta":
```
WARNING: unsafe permissions on 'config.yml' (should be 0600)!
But when I change the permissions, then they are not sufficient for running in the container.
```

fdroid rewritemeta fr.ubordeaux.math.paridroid
```
2026-02-05 16:47:48,564 INFO: Rewriting 'fr.ubordeaux.math.paridroid'
2026-02-05 16:47:48,589 CRITICAL: Unknown exception found!
Traceback (most recent call last):
File "/usr/lib/python3.13/shutil.py", line 856, in move
os.rename(src, real_dst)
~~~~~~~~~^^^^^^^^^^^^^^^
OSError: [Errno 18] Invalid cross-device link: '/tmp/tmpxjjjuozg/fr.ubordeaux.math.paridroid.yml' -> 'metadata/fr.ubordeaux.math.paridroid.yml'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/home/vagrant/fdroidserver/fdroid", line 22, in
fdroidserver.__main__.main()
~~~~~~~~~~~~~~~~~~~~~~~~~~^^
File "/home/vagrant/fdroidserver/fdroidserver/__main__.py", line 255, in main
raise e
File "/home/vagrant/fdroidserver/fdroidserver/__main__.py", line 236, in main
mod.main()
~~~~~~~~^^
File "/home/vagrant/fdroidserver/fdroidserver/rewritemeta.py", line 100, in main
shutil.move(tmp_path, path)
~~~~~~~~~~~^^^^^^^^^^^^^^^^
File "/usr/lib/python3.13/shutil.py", line 876, in move
copy_function(src, real_dst)
~~~~~~~~~~~~~^^^^^^^^^^^^^^^
File "/usr/lib/python3.13/shutil.py", line 468, in copy2
copyfile(src, dst, follow_symlinks=follow_symlinks)
~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.13/shutil.py", line 262, in copyfile
with open(dst, 'wb') as fdst:
~~~~^^^^^^^^^^^
PermissionError: [Errno 13] Permission denied: 'metadata/fr.ubordeaux.math.paridroid.yml'
```

fdroid build fr.ubordeaux.math.paridroid:30
```
2026-02-05 16:48:29,225 WARNING: unsafe permissions on 'config.yml' (should be 0600)!
2026-02-05 16:48:29,229 CRITICAL: Unknown exception found!
Traceback (most recent call last):
File "/home/vagrant/fdroidserver/fdroid", line 22, in
fdroidserver.__main__.main()
~~~~~~~~~~~~~~~~~~~~~~~~~~^^
File "/home/vagrant/fdroidserver/fdroidserver/__main__.py", line 255, in main
raise e
File "/home/vagrant/fdroidserver/fdroidserver/__main__.py", line 236, in main
mod.main()
~~~~~~~~^^
File "/home/vagrant/fdroidserver/fdroidserver/build.py", line 1100, in main
status_output = common.setup_status_output(start_timestamp)
File "/home/vagrant/fdroidserver/fdroidserver/common.py", line 1429, in setup_status_output
'isDirty': git_repo.is_dirty(),
~~~~~~~~~~~~~~~~~^^
File "/usr/lib/python3/dist-packages/git/repo/base.py", line 965, in is_dirty
if osp.isfile(self.index.path) and len(self.git.diff("--cached", *default_args)):
~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/git/cmd.py", line 986, in
return lambda *args, **kwargs: self._call_process(name, *args, **kwargs)
~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/git/cmd.py", line 1599, in _call_process
return self.execute(call, **exec_kwargs)
~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/git/cmd.py", line 1389, in execute
raise GitCommandError(redacted_command, status, stderr_value, stdout_value)
git.exc.GitCommandError: Cmd('git') failed due to: exit code(129)
cmdline: git diff --cached --abbrev=40 --full-index --raw
stderr: 'error: unknown option `cached'
usage: git diff --no-index []
```

Indeed the git in the docker container does not support the "--cached" option.