Termux-app: Building with new application id/prefix

Created on 23 Sep 2019  路  8Comments  路  Source: termux/termux-app

Hello,

First of all, thank you very much for this library. I use this personally on my phone as well.

Recently, I'm required to change the prefix/application id of the app so I am referring to the instructions on this thread:
https://github.com/termux/termux-app/issues/1059#issuecomment-471497714

  • Compiling packages
    Re-compiling the debs files with the new prefix and hosting them on bintray was not an issue for me.

  • Getting bootstraps
    Currently I am stuck at building bootstraps, using the debs file. I noticed that getting debs file was just one part of the build. Packages file (for e.g., https://dl.bintray.com/termux/termux-packages-24/dists/stable/main/binary-aarch64/Packages) is also necessary for running the last step to get the bootstraps file, as mentioned in the issue above.

I apologize in advance for opening a new issue for this. If you could please advise me and give me a few pointer on how to get bootstraps with new prefix/app id, I'd really appreciate it.

Thanks a lot for your time!

Most helpful comment

Could you please give me a bit more details to obtain this bootstrap once the deb files are generated locally?

Generation of bootstraps locally isn't possible.
Debfile names are unpredictable + dependencies may not be available in ./debs folder.

In order to generate bootstraps you have to setup a complete APT repository on hosting (or local web server at least).

Packages and Release files are available only when you have APT repository. termux-packages by it self is only a build system and doesn't generate anything beyond deb files.

All 8 comments

Hi,

"Packages", "Release" and similar files are files needed to make the apt repository work. If you are using bintray then these files are generated automatically when you upload the debs.

You shouldn't need these files for generating a bootstrap zip though

Thanks for the quick response @Grimler91

I must be missing something.
Referring to this: https://github.com/termux/termux-app/issues/1059#issuecomment-471497714

  1. After running ./build-package.sh {package name} for instance. I do see the .deb files in the ./debs folder. Then, I actually manually uploaded them to bintray afterwards. I guess I am supposed to be running the build scripts inside build folder in termux-packages in order to get "Packages", "Releases"? Is that so?

  2. For bootstrap zip file, I'm looking at scripts/generate-bootstraps.sh file in termux-packaging repository and it does seem to go to bintray repo url and look at Packages file to proceed.

# Download package lists from remote repository.
# Actually, there 2 lists are downloaded: one architecture-independent and one
# for architecture specified as '$1' argument.
read_package_list() {
        local architecture
        for architecture in all "$1"; do
                if [ ! -e "${BOOTSTRAP_TMPDIR}/packages.${architecture}" ]; then
                        echo "[*] Downloading package list for architecture '${architecture}'..."
                        curl \
                                --fail \
                                --location \
                                --output "${BOOTSTRAP_TMPDIR}/packages.${architecture}" \
                                "${REPO_BASE_URL}/dists/stable/main/binary-${architecture}/Packages"
                        echo >> "${BOOTSTRAP_TMPDIR}/packages.${architecture}"
                fi

Could you please give me a bit more details to obtain this bootstrap once the deb files are generated locally? I am sorry to bug you. Thanks for your time 馃檹

Could you please give me a bit more details to obtain this bootstrap once the deb files are generated locally?

Generation of bootstraps locally isn't possible.
Debfile names are unpredictable + dependencies may not be available in ./debs folder.

In order to generate bootstraps you have to setup a complete APT repository on hosting (or local web server at least).

Packages and Release files are available only when you have APT repository. termux-packages by it self is only a build system and doesn't generate anything beyond deb files.

@xeffyr hi xeffyr.can i ask you a queation.
you had said:"Decide which packages you want to have in YOUR OWN REPOSITORY. Must have ones are: apt, dpkg, bash, dash, gnupg, busybox, termux-tools and all dependencies for these packages."

I just keep apt, dpkg, bash, dash, gnupg, busybox, termux-tools in the buildorder.txt file.and run build-all.sh.but.how to deal with that dependencies packages?

I want to use "apt-cache depends xxx " to check "xxx" package's depends.
and append it into the buildorder.txt
My idea is right?
thanks....

I just keep apt, dpkg, bash, dash, gnupg, busybox, termux-tools in the buildorder.txt file.and run build-all.sh.but.how to deal with that dependencies packages?

You are abusing the build-all.sh. You shouldn't edit the buildorder file.

I want to use "apt-cache depends xxx " to check "xxx" package's depends.

./scripts/buildorder.py ./packages/$packagename

@xeffyr so.the build-all.sh just use to build all packages....right?

馃榾 thanks for your reply.

build all packages....right?

Of course, and that's only its purpose. In fact, that script is used rarely and it has nothing to do with bootstraps.

build all packages....right?

Of course, and that's only its purpose. In fact, that script is used rarely and it has nothing to do with bootstraps.

.........it's embarrass............

Was this page helpful?
0 / 5 - 0 ratings