termux / termux-packages

A package build system for Termux.
https://termux.dev
Other
13.34k stars 3.07k forks source link

[Feature]: Categories (Groups?) + contrib / non-free #22303

Open IntinteDAO opened 4 days ago

IntinteDAO commented 4 days ago

Problem description

Termux (build.sh) has the variable TERMUX_PKG_GROUPS. It seems probably unnecessary, although some applications could use it (e.g. Synaptic).

obraz

For example, there is a picture of Debian Synaptic and Termux Synaptic. Debian one, of course, is able to sort applications by category, while Termux packages do not require TERMUX_PKG_GROUPS or a similar variable, and not only are most of the packages undescribed, but some of those described - do not work.

The second thing to think about is whether a package is “free” or “non-free”. Many people are not bothered by such an ideological issue, however, probably some - yes. Termux has every kind of package, and you can introduce a variable of some kind (TERMUX_PKG_CUSTOM_REPO) or something, which would define whether it is free software or not. In theory there's TERMUX_PKG_LICENSE, but I also don't know if it's possible to sort packages and install only free ones.

What steps will reproduce the bug?

Run Synaptic :)

What is the expected behavior?

No response

System information

---
twaik commented 4 days ago

There are no "non-free" packages in termux. All packages are required to be opensource, no matter where they come from. It is required in both official repo and in tur.

TomJo2000 commented 4 days ago

It might be more accurate to say that all packages in the termux-packages repository are required to be open source. While packages in the TUR are required to have their source available, and licensing permitting modification and redistribution.

(e.g. BSL-1.1 or SSPL-1.0 licensed packages currently need to go in the TUR.)
Maxython commented 4 days ago

Termux (build.sh) has the variable TERMUX_PKG_GROUPS. It seems probably unnecessary, although some applications could use it (e.g. Synaptic).

The TERMUX_PKG_GROUPS variable is only used for pacman format packages, and debian format packages do not have this ability to specify packages in a group (as far as I know). To say that they are unnecessary is wrong, since groups are an alternative to metapackages. Screenshot_20241117_193135_Termux

IntinteDAO commented 4 days ago

@twaik

There are no "non-free" packages in termux. All packages are required to be opensource, no matter where they come from. It is required in both official repo and in tur.

Correct, but this does not mean that the application is “Free / Libre” in the sense of GNU. It's just that the source code is open source. An example of such a package is unrar, which even the license on Termux indicates is non-free.

@Maxython

and debian format packages do not have this ability to specify packages in a group (as far as I know)

I think they have. This is an (part) "control" file from the FreeOrion game

Section: games Priority: optional Homepage: https://www.freeorion.org/index.php/Main_Page

midnight commander: Provides: mcedit Section: utils Priority: optional

Audacity: Section: sound

Libc6: Section: libs

twaik commented 4 days ago

According to https://linux.die.net/man/5/deb-control we can use deb's Tag: feature for this. Also there is a full list of tags. https://salsa.debian.org/debtags-team/debtags-vocabulary/-/blob/master/debian-packages?ref_type=heads Also ig we can implement our own tags.

IntinteDAO commented 3 days ago

I am just wondering about the tags and section in the package. Maybe it should be commonality such as:

Example tag is: game::fps So we have part one, which can point to a section of the package and together as a game.

So that in Synaptic (as I understand it) the project will be in the games tab, but at the same time if the project uses tags (any?) then there will be a more accurate description that it is FPS.