Hey there. This is my first time creating an app for fdroid.
My app, v4lpt.vpt.pwg at GitHub - v4lpt/PWG: This is a simple password generator for the android operating system. passed all the tests of the pipeline, but failed at the checkupdates section. When I try to run checkupdates on my own machine: this is the error:
(fdroid) ai@computer:~/fdroid/fdroiddata$ fdroid checkupdates v4lpt.vpt.pwg
2024-01-05 10:54:36,610 ERROR: Build metadata git repo has uncommited changes!
(fdroid) ai@computer:~/fdroid/fdroiddata$
Then I followed this advice:
and I got a different error (it also took a lot longer):
I searched online and found this thread, in which the problem seems to be similar:
(fdroid) ai@computer:~/fdroid/fdroiddata$ fdroid checkupdates --allow-dirty v4lpt.vpt.pwg
2024-01-05 10:58:13,924 INFO: Processing v4lpt.vpt.pwg
2024-01-05 10:58:22,865 ERROR: ...checkupdate failed for v4lpt.vpt.pwg : Couldn't find any version information
(fdroid) ai@computer:~/fdroid/fdroiddata$
so I checked my repo, and added a changelogs folder and a file 10.txt with some basic text in it.
I called fdroid rewritemeta v4lpt.vpt.pwg
, then checked the metadata file. I was shocked to see that the commithash didnāt change, so I manually updated it. Then I tried to run fdroid checkupdates --allow-dirty v4lpt.vpt.pwg
again. I waited with anticipation, only to be greeted with the same error.
I also checked my build.gradle.kts file and my android manifest - in all of them the version information is present and consistent with each other. I looked through more forum posts, and eventually stumbled upon this thread:
Immidietly I opened a terminal and ran the command, and got a verbose output:
2024-01-05 11:05:50,655 DEBUG: Parsing manifest at ābuild/v4lpt.vpt.pwg/build.gradle.ktsā
2024-01-05 11:05:50,655 DEBUG: ā¦got package=None, version=None, vercode=None
2024-01-05 11:05:50,656 DEBUG: Parsing manifest at ābuild/v4lpt.vpt.pwg/app/src/main/AndroidManifest.xmlā
2024-01-05 11:05:50,656 DEBUG: ā¦got package=None, version=None, vercode=None
2024-01-05 11:05:50,656 DEBUG: Parsing manifest at ābuild/v4lpt.vpt.pwg/app/build.gradle.ktsā
2024-01-05 11:05:50,656 DEBUG: ā¦got package=None, version=1.0, vercode=1
2024-01-05 11:05:50,657 DEBUG: Parsing manifest at ābuild/v4lpt.vpt.pwg/app/src/main/AndroidManifest.xmlā
2024-01-05 11:05:50,657 DEBUG: ā¦got package=None, version=None, vercode=None
Thats strange.
I look into my github repo, and see that the android manifest contains the version number code.
I check the source where the app is located, and check the android manifest file. Itās an older version that doesnāt contain the version code. I delete the folder and import my project again, and it still fails - same error. I check the folder and its the same old version! āThis is unbelievableā I think to myself. I delete every part of the project, and try to lint and build my project and it all works. I transfer the .apk file to my Google Pixel 7a running Graphene OS and it all works flawlessly. As a final stretch effort, I create a new python venv and try to do the whole process again - maybe turning something off and on again will fix the problem.
And so I do - I update my fork of the gitlab repository of fdroiddata
and clone it into the newly created python environment.
I run all of the boring steps, like importing my project, and reading metaās.
Then the moment of truth. I type it out, instead of copying and pasting it. fdroid checkupdates --allow-dirty v4lpt.vpt.pwg
I wait with great anticipation, only to see the dissapointing error message again. I try it with verbose - but the error message is the same. I check into the build folder, and see that the version of my app in there is a very old one.
How can this happen? What can I do to fix it?