Currently, we assume that a package is not coupled with any specific
version of it's dependencies. Therefore, we update them individually
without any specific order. But this assumtion fails for package
families like lxqt which requires all it's family members to be of
specific version.
Although we would have to manually update dependencies in such
situation (if they can not be auto-updated), but we can atleast
decide order of updation for packages that can be auto-updated.
Signed-off-by: Aditya Alok <dev.aditya.alok@gmail.com>
- add checks for 'newest-tag' as fallback, if 'latest-release-tag' is not found
- adhere to DRY principle
Signed-off-by: Aditya Alok <dev.aditya.alok@gmail.com>
Should speed up downloads and also reduce situations where downloads
simply have to wait for timeout to happen (I have no idea why this
happens, probably nginx trying to cooldown some requests to prevent
(D)DoS?)
- Now auto update will be disable until issue is closed.
- Assign to GITHUB_ACTOR. Myself if GITHUB_ACTOR is Termux bot.
Signed-off-by: Aditya Alok <dev.aditya.alok@gmail.com>
Dockerfile setup script doesn't know exactly which ndk/sdk version we
are using, so can't cd to the right folder now that the version is
part of the folder name.
- GitHub api only allows 65536 chars long body in one go.
- Now body beyond 65536 limit will be appended after a gap of 5 sec.
Appending (or patching) does not consider already present body, so we
can bypass this limit.
Signed-off-by: Aditya Alok <dev.aditya.alok@gmail.com>
- now a new issue with output logs will be created and assigned to
$GITHUB_ACTOR, if auto update fails for a package
Signed-off-by: Aditya Alok <dev.aditya.alok@gmail.com>
%ci:no-build
Above tag is for previous commit but CI checks head commit for
this, so applying here.
Signed-off-by: Aditya Alok <dev.aditya.alok@gmail.com>
- this variable will store path of directory containing packages
`build.sh` file.
- this is a more standard approach than specifying `pkg_dir` each time
Signed-off-by: Aditya Alok <dev.aditya.alok@gmail.com>
x11-repo uses distribution x11, and root-repo distribution root.
Store this information in the json file as well, and parse it to set
both REPOSITORY_NAME and REPOSITORY_DISTRIBUTION.
Also remove unnecessary `< repo.json` from jq command, jq accepts the
file as an argument.
This fixes upload issues to x11-repo and root-repo.
Earlier in 5b8b15e7aa, I had configured
our upload scripts to treat failure of `aptly_add_to_repo` as failure to publish
packages at all. However it won't work, since even if all debs are
uploaded, and aptly_add_to_repo is called, debs are moved from temporary
directory to the repository. The proxy may drop connection during this
moment due to stale connection. And just after that we call
aptly_delete_dir which will delete the temporary directory. On the
server side, aptly will however continue to move debs from temporary
directory. Repository is published, but since the temporary directory is
removed during the transaction, the transaction never completely
succeeds. So only some of the debs are uploaded practically. This is now
fixed by adding a sleep of 180s (should be more than enough for all
stuff)
Building packages that use libtool for linking libraries has issues
with ndk-r23 (https://github.com/android/ndk/issues/1614). This check
makes sure that the built libraries do not give an error like
CANNOT LINK EXECUTABLE "tesseract": cannot locate symbol "__extenddftf2" referenced by "/data/data/com.termux/files/usr/lib/libtesseract.so"...
once used on device. In https://github.com/android/ndk/issues/1614 it
seemed like arm gave false positives and needed special consideration,
but when I tested it again today the same false positives do not occur
in built libraries, so no "if arm then .." workaround has been added
for now.