Hello,

AUR is a unique feature for Arch Linux (include derived distros). It 
significantly expand the Arch ecosystem. 

However, for the current infrastructure and workflow for AUR, there are some 
drawbacks.

1. Difficult to feedback and difficult to contribute (to already existed 
package). If have any ideas or report, user need to send email to maintainer 
via email personally. This is not convenient for both maintainers and users.

2. Lack of Peer review, audience supervise. Some packages even if updated 
frequently by its maintainer, but it doesn't following good practice and not 
built from source (Not Java, native program), It retrieve from Debian or Ubuntu 
or Fedora packages, and extract or repackage it in Arch Linux package. And some 
packages may failed to build, or some of its dependencies are forgotten added 
by maintainer. 

3. The entry with a specific name in AUR is always occupied by the Maintainer 
who firstly register the package. If there is another maintainer who has better 
practice than the previous one, This maintainer has to rename his/her package 
as `xxx-bin` or some sophisticated name else. This is unfair. It lack of 
refreshing mechanism.

4. upstream software author is difficult to directly contribute to the AUR 
packaging contribution. For a great number of upstream software author, they 
are willing to participate in downstream redistribution process. Especially for 
those young software. But the current AUR workflow block their way to 
contribute on downstream stuff.

5. Currently,to evaluate whether a AUR package is eligible to move in Arch 
Linux official packages (extra repo), It only depend on votes and popularity 
and whether there is a maintainer willing to pick it up. However, those factors 
is too lack of details. To evaluate the robustness of the eco-position of a 
package, It should evaulate the discussion, issue report, contribution, and ... 
And it should be evaluated case by case.


I have some ideas to resolve or mitigate the problems above.

1. Create a git repo on gitlab.archlinux.org named aur-meta (Or whatever names 
which maker users understand easily). This git repo keep a list (table of 
content) which point to the git repo URI of the AUR packages. 

2. For the AUR package, it can be placed on anywhere (github.com, gitlab.com, 
gitlab.archlinux.org, gitlab.gnome.org ...), the only things needed are these 
URIs are public accessible (can be git cloned by anyone who know this URI). And 
it need to keep its PKGBUILD on the top level of git repo.

3. The issue and affairs related to which upstream software is included and 
which PKGBUILD git repo is selected, goes to issues section of aur-meta. For 
packaging specific problems, it goes to the AUR package git repo.

4. If a package is orphaned or too broken/bad practice, the contributor who has 
access to aur-meta can simply change the pointer to a alternative PKGBUILD git 
repo which is better in practice and liveliness.

5. If user find there is package which need to be improved, it can firstly 
report it to PKGBUILD maintainer via the issue section of git repo. If the 
maintainer long time not response or insist to keep bad practice. The user can 
write a proposal in aur-meta to change the pointer to another alternative. This 
is what a community driven packaging method should be.

6. The name of entry in aur-meta is the package name, not the name of PKGBUILD 
git repo. (git repo can have different name). Many upstream software author 
would create a separate git repo along with their software repo which is 
dedicated for PKGBUILD.


The design above, is just for demonstrate ideas, improvements can be made 
further.

Evan

Reply via email to