Talk:Arch User Repository

From ArchWiki
(Redirected from Talk:AUR User Guidelines)
Jump to navigation Jump to search

Contents

What is the correct AUR forum section?

Arch_User_Repository#Submitting_packages says it's [1], but we also have [2]. One of them should be added to Arch_User_Repository#I_have_a_PKGBUILD_I_would_like_to_submit.3B_can_someone_check_it_to_see_if_there_are_any_errors.3F. -- Karol (talk) 12:30, 7 August 2015 (UTC)

Markdown Syntax

Should there be a Markdown syntax section? [3][4] All those seem to work: linkDettalk 16:24, 5 December 2017 (UTC)

Oh wow, yes please. I had no idea that this was possible. And it's still unclear to me what syntax it uses. —Ostiensis (talk) 20:52, 5 December 2017 (UTC)
Well, there's a preliminary section: Arch_User_Repository#Comment_syntax. --Dettalk 22:28, 13 December 2017 (UTC)
[5] Well, I don't know how to do that, since they only implemented a small part of it? --Dettalk 22:35, 13 December 2017 (UTC)
Here they use the Python-Markdown library, which "is almost completely compliant with the reference implementation, though there are a few very minor differences." -- Lahwaacz (talk) 22:50, 13 December 2017 (UTC)
Thanks for that. FWIW I've never seen that multiline code syntax before, so I wonder if it *is* some strange home-brew markdown. —Ostiensis (talk) 22:37, 13 December 2017 (UTC)

FAQ - outdated package

Do you understand what the comment means "When we are talking about a package which is flagged out of date for more than 3 months and is in general not updated for a long time, please add this in your orphan request. " ? Kewl (talk) 15:49, 13 January 2018 (UTC)

When people request a package to be orphaned because the current maintainer does not respond to out-of-date notifications, it should be clarified in the request to speed up the resolution. -- Lahwaacz (talk) 18:05, 13 January 2018 (UTC)
Yes indeed and what about the 2 weeks vs the 3 months difference in the comments? This is what I don't get, if this is more than 3 months we should say in the comments "it has been 4 months" but if it has been let say 2 months we should not mention it? The rule is not clear and I am wondering if it is more urgent to find an adopter for a package that has not been updated for 2 years or for 3 weeks. In the latter case it does seem more urgent, rather the opposite then. Kewl (talk) 18:57, 13 January 2018 (UTC)
I think that the 2 weeks are for the maintainers to react to the request, even if it is not due to out-of-date package. Anyway, the FAQ entries are not strict, I doubt that the 3 months are obligatory. -- Lahwaacz (talk) 19:15, 13 January 2018 (UTC)
I have rephrased providing some more details in line with the AUR request template. The 3 months does not seems to be anything official, the 2 weeks neither but sounds reasonable. Feel free to amend or revert. Kewl (talk) 19:41, 13 January 2018 (UTC)

contribute to existing package

what is the best way to contribute to an existing AUR package? i cloned one and tried to push but it gave me a permission error --Soloturn (talk) 16:04, 28 January 2019 (UTC)

Users are not allowed to modify something owned by another user. It's no different from cloning a Github repository and trying to push to that. The equivalent of submitting an issue would be leaving a comment with a patch file. The AUR platform in particular allows collaboration features -- you may request that a maintainer grant you push access by adding your name as a co-maintainer. If the package is broken or out of date, see Arch User Repository#Foo in the AUR is outdated; what should I do?
This is possibly something that we should make clear in a FAQ entry. -- Eschwartz (talk) 19:49, 28 January 2019 (UTC)
I was thinking about this while writing a proposal regarding "Other requests". It is possible to request a package be disowned with "Orphan"; why not add "Co-maintain" to send a request to ask for permission to assist with a package's maintenance? Of course, it would not be unnecessary to send that request to the mailing list, and there's always the AUR comments or the forums for users to contact a maintainer otherwise; but having the feature built in to the AUR would allow us to add a fourth subsection here to recommend ground rules and possibly expedite the process of adding co-maintainers when packagers are interested in doing so. quequotion (talk) 14:45, 6 February 2019 (UTC)

Refactor "Other requests"

My main gripe with the current content here is that it has a bulleted list directly embedded in a bulleted list. Bulleted lists are not navigable and I think it would be helpful to have subsections to define what "Deletion" "Merge" and "Orphan" mean in AUR jargon. Some other, lower priority changes I'd like to consider include specifying the requests in the same order they appear in the drop-down menu on the AUR (they may be in the order of a previous iteration of the AUR, not sure if that's ever changed); simplifying the language where possible, and a few minor grammatical fixes. quequotion (talk) 14:28, 6 February 2019 (UTC)

Nearly a week without response; I'll start to merge these changes in the next few days. Note: very little content will change, mostly the arrangement of it will be improved. quequotion (talk) 13:33, 11 February 2019 (UTC)
Merged. quequotion (talk) 05:22, 12 February 2019 (UTC)

Proposal: Other requests

Deletion, merge, and orphan requests can be created by clicking on the "Submit Request" link under "Package Actions" on the right hand side. This will send a notification email to the current maintainer and to the aur-requests mailing list for discussion. A Trusted User will then either accept or reject the request.

Deletion

You may request to unlist a pkgbase from the AUR. A short note explaining the reason for deletion is required, as well as supporting details (like when a package is provided by another package, if you are the maintainer yourself, it is renamed and the original owner agreed, etc).

Note:
  • It is not sufficient to explain why a package is up for deletion only in its comments because as soon as a TU takes action, the only place where such information can be obtained is the aur-requests mailing list.
  • Deletion requests can be rejected, in which case if you are the maintainer you will likely be advised to disown the package to allow adoption by another maintainer.
  • After a package is "deleted", its git repository remains available for cloning.

Merge

You may request to delete a pkgbase and transfer its votes and comments to another pkgbase. The name of the package to merge into is required.

Note: This is AUR-specific and not a git function.
Comment: Decided to keep the original language for this note. quequotion (talk) 05:22, 12 February 2019 (UTC)

Orphan

You may request that a pkgbase be disowned. These requests will be granted after two weeks if the current maintainer did not react.

Integrate FAQ content

This will be a massive undertaking, possibly spanning multiple articles, but I think it will be helpful to preempt a lot of these questions by having a more concise, informative page. The very first response I got about this on IRC was a misinterpretation, so let me be explicit: it is not implied that the FAQ will be removed by these changes, that is the primary reason I am proposing them. The FAQ is a disorganized mess of information that should be in other sections of the article, is redundant with existing sections of the article, or belongs on entirely different pages. Are these actual questions people often ask, or is this a convenient way to append random bits of advice to the end of an incomplete article?

I don't mean to denigrate anyone's work here; this advice is good, I just want to organize it in a better way. quequotion (talk) 10:28, 9 February 2019 (UTC)

There is no confusion here: I'm well aware you want to remove the FAQ, that is the entire reason I disagree with it in the first place.
"FAQ: a list of questions and answers relating to a particular subject, especially one giving basic information for users of a website."
This is most explicitly a case where it is morally, philosophically, and for the sake of usability, superior to describe in FAQ format, hiding this information by integrating it into "relevant sections" is explicitly doing a disservice to the community and to all users.
I'm uninterested in discussing any specificity of your attempted work below, because I'm unconvinced it is a good idea to even try. -- Eschwartz (talk) 01:55, 10 February 2019 (UTC)
Why: For the future of the page. Which way should future writers go? Append a new FAQ for their tidbit of advice, or add it to a relevant section of the page? There are already sixteen FAQ; there's half as much content in the FAQ section as the previous sections combined (I counted a little over thirteen mousewheel scrolls to reach the FAQ, and about seven to get through it).
How about a counter proposal: if the FAQ really is essential, we move the content to relevant sections on relevant pages, then reduce the FAQ to a series of one-liners that link to the appropriate content. Assuming people actually ask these questions, that will both satisfy their search for answers and keep the page maintainable. quequotion (talk) 02:38, 10 February 2019 (UTC)

By the way, if you'd like to see the big picture, here is a whole-page draft. quequotion (talk) 20:29, 13 February 2019 (UTC)

Proposal: FAQ

Comment: Truncates FAQs' answers as much as possible, linking to an appropriate page or (proposed) section of the AUR page. Note: Some sections remain unchanged; either they are sufficiently concise already, I have not yet thought of what better to do with them, or I have an idea but have not yet implemented it as a draft. quequotion (talk) 13:07, 11 February 2019 (UTC)

What is the AUR?

The AUR (Arch User Repository) is a place where the Arch Linux community can upload PKGBUILDs of applications, libraries, etc., and share them with the entire community. Fellow users can then vote for their favorites to be moved into the community repository to be shared with Arch Linux users in binary form.

Comment: As previously noted, I can find no reason for this to be here; the answer is the page header. Is it possible that someone would read this page and still have this question to ask? quequotion (talk) 14:47, 12 February 2019 (UTC)

What kind of packages are permitted on the AUR?

For most cases, everything is permitted, subject to the abovementioned Rules of submission.

How can I vote for packages in the AUR?

The AUR website provides a "Vote for this package" link under "Package Actions".

What is a Trusted User (TU)?

The Trusted Users are elected to oversee the AUR and maintain the community repository.

What is the difference between the Arch User Repository and the community repository?

AUR packages are maintained by community members and provided in source format, while the packages in the community repository are maintained by the Trusted Users and provided in pre-compiled binary format. See Promoting packages to the community repository for more information.

Foo in the AUR is outdated; what should I do?

If you are certain this is the case, the AUR website provides a "Flag package out-of-date" link under "Package Actions".

Tip: In the meantime, you can try updating the package yourself by editing the PKGBUILD locally. Sometimes, updates do not require changes to the build or package process, in which case simply updating the pkgver or source array is sufficient.

Foo in the AUR does not compile when I run makepkg; what should I do?

You are probably missing something trivial; see Verifying packages.

ERROR: One or more PGP signatures could not be verified!; what should I do?

See Makepkg#ERROR: One or more PGP signatures could not be verified!.

How do I create a PKGBUILD?

The best resource is the wiki page about creating packages. Remember to look in AUR before creating the PKGBUILD as to not duplicate efforts.

Comment: This could be integrated with the header of Sharing and maintaining packages. On second thought, it may be short enough as it is. quequotion (talk) 16:37, 12 February 2019 (UTC)

I have a PKGBUILD I would like to submit; can someone check it to see if there are any errors?

There are several channels available to submit your package for review; see Verifying packages.

How to get a PKGBUILD into the community repository?

See Promoting packages to the community repository.

How can I speed up repeated build processes?

See Makepkg#Improving compile times.

Comment: Not specifically AUR-relevant; sufficiently available on the Makepkg page. Come to think of it, if we have to keep some FAQs, this is about the appropriate length their answers should be (primarily linking to the appropriate section or article answering the question). quequotion (talk) 16:18, 9 February 2019 (UTC)

What is the difference between foo and foo-git packages?

Many AUR packages are presented in regular ("stable") and development versions ("unstable"). Development packages usually have a suffix denoting their Version Control System. Development packages are not intended for regular use, but may offer new features or bugfixes. Because these packages download the latest available source when you execute makepkg, their AUR package version may not reflect the latest updates and they cannot perform an authenticity checksum.

See also System maintenance#Use proven software packages and VCS package guidelines.

Comment: Perhaps we could add a section about AUR package naming conventions; ie for VCS packages as above, packages that ship a binary should be -bin, packages that ship something in the main repositories with an unsupported patch should be named accordingly, etc. quequotion (talk) 15:53, 9 February 2019 (UTC)

Why has foo disappeared from the AUR?

It is possible the package has been adopted by a TU and is now in the community repository.

Packages may be deleted if they did not fulfill the #Rules of submission. See the aur-requests archives for the reason for deletion.

If the package used to exist in AUR3, it might not have been migrated to AUR4. See the #Git repositories for AUR3 packages where these are preserved.

How do I find out if any of my installed packages disappeared from AUR?

The simplest way is to check the HTTP status of the package's AUR page:

$ comm -23 <(pacman -Qqm | sort) <(curl https://aur.archlinux.org/packages.gz | gzip -cd | sort)

How can I obtain a list of all AUR packages?

Proposal: Feedback

Comment: Merges FAQs 3 and 6 as well as the Comment Syntax section into the Feedback section. quequotion (talk) 18:37, 6 February 2019 (UTC)

The AUR provides various means for users to communicate with package maintainers, provided they have setup an account on the AUR Web Interface.

Commenting on packages

Comments allow users to provide suggestions or respond to updates and maintainers to respond to users or make announcements. The Python-Markdown syntax is supported, which provides basic Markdown syntax for formatting. Maintainers may pin comments by clicking the button in their top-right corner.

Note:
  • The markdown implementation has some occasional differences with the official syntax rules.
  • Commit hashes to the Git repository of the package and references to Flyspray tickets are converted to links automatically.
  • Long comments are collapsed and can be expanded on demand.
Tip: Avoid pasting patches or PKGBUILDs into the comments section; they quickly become obsolete and just end up needlessly taking up lots of space. Instead email those files to the maintainer, or even use a pastebin.

Voting for packages

One of the easiest activities for all Arch users is to browse the AUR and vote for their favourite packages. All packages are eligible for adoption by a TU for inclusion in the community repository, and the vote count is one of the considerations in that process; it is in everyone's interest to vote!

While logged in, on the AUR page for a package you may click "Vote for this package" under "Package Actions" on the right. It is also possible to vote from the commandline with aurvoteAUR, aurvote-gitAUR or aur-auto-vote-gitAUR.

Alternatively, if you have set up ssh authentication, you can directly vote from the command line using your ssh key and avoid having to save or type in your AUR password.

ssh aur@aur.archlinux.org vote <PACKAGE_NAME>

Flagging packages out-of-date

While logged in, on the AUR page for a package you may click "Flag package as out-of-date" under "Package Actions" on the right. You should also leave a comment indicating details as to why the package is outdated, preferably including links to a release announcement or a new release tarball. Also try to reach out to the maintainer directly by email. If there is no response after two weeks, you may file an orphan request.

Note: VCS packages are not considered out of date when the pkgver changes, do not flag them as the maintainer will merely unflag the package and ignore you.

Proposal: Promoting packages to the community repository

Comment: Merges FAQs 5 and 11 into a new section. quequotion (talk) 20:16, 6 February 2019 (UTC)

When AUR packages receive enough community interest and the support of a Trusted User, they may be adopted into the community repository (maintained by the TUs), from which binary packages can be installed using pacman.

Usually, at least 10 votes are required for something to move into community. However, if a TU wants to support a package, it will often be found in the repository.

Sufficient votes are not the only requirement; there has to be a TU willing to maintain the package. TUs are not required to adopt a package even if it has thousands of votes.

Usually, when a very popular package stays in the AUR it is because:

  • Arch Linux already has another version of a package in the repositories.
  • Its license prohibits redistribution.
  • It helps retrieve user-submitted PKGBUILDs (AUR helpers are unsupported by definition).

See also Rules for Packages Entering the community Repo.

Proposal: Verifying packages

Comment: Merges FAQs 7 and 10 into a new section. Although general information about debugging packages is best handled by the makepkg and PKGBUILD pages, there are some particular things that AUR package maintainers and users should be aware of. quequotion (talk) 15:44, 9 February 2019 (UTC)

If you are a maintainer and would like to have your PKGBUILD reviewed, post it on the aur-general mailing list to get feedback from the TUs and fellow AUR members, or the Creating & Modifying Packages forum. You could also get help from the IRC channel, #archlinux-aur on Freenode. You can also use namcap to check your PKGBUILD and the resulting package for errors.

To check if a PKGBUILD is broken, or your system is misconfigured, try building it in a clean chroot. This will build the package in a clean Arch Linux environment, with only build dependencies installed and without user customization. To do this install devtools and run extra-x86_64-build instead of makepkg. For multilib packages, run multilib-build. If the build process still fails in a clean chroot, the issue is probably with the PKGBUILD.

If you are still having trouble building a package, read its PKGBUILD and the comments on its AUR page. It is possible that a PKGBUILD is broken for everyone. If you cannot figure it out on your own, report it to the maintainer e.g. by posting the errors you are getting in the comments on the AUR page.

Tip: Avoid common pitfalls:
  1. Ensure your system is up-to-date by upgrading before compiling anything with makepkg.
  2. Ensure you have both base and base-devel groups installed.
  3. Try using the -s option with makepkg to check and install all the dependencies needed before starting the build process.
  4. Try the default makepkg configuration (custom CFLAGS, LDFLAGS and MAKEFLAGS can cause failures).

Proposal: Submitting packages

Comment: Merges FAQ 2 into Rules of submission. quequotion (talk) 16:09, 9 February 2019 (UTC)
Warning: Before attempting to submit a package you are expected to familiarize yourself with Arch packaging standards and all the articles under "Related articles". Verify carefully that what you are uploading is correct. Packages that violate the rules may be deleted without warning.

If you are unsure in any way about a package or the build/submission process even after reading this section twice, submit the PKGBUILD for review.

Rules of submission

When submitting a package to the AUR, observe the following rules:

  • Submitted PKGBUILDs must be in compliance with the licensing terms of the content to be packaged. In cases where it is mentioned that "you may not link" to downloads, i.e. contents that are not redistributable, you may only use the file name itself as the source. This means and requires that users already have the restricted source in the build directory prior to building the package. When in doubt, ask.
  • The submitted PKGBUILDs must not build applications already in any of the official binary repositories under any circumstances. Check the official package database for the package. If any version of it exists, do not submit the package. If the official package is out-of-date, flag it as such. If the official package is broken or is lacking a feature, then please file a bug report.
Exception to this strict rule may only be packages having extra features enabled and/or patches in comparison to the official ones. In such an occasion the pkgbase should be different to express that.
Comment: No other changes to this section (content from this point on is the same) quequotion (talk) 17:25, 9 February 2019 (UTC)

Proposal: Package naming conventions

Comment: It's difficult to remove the content from the context of FAQ 13 to avoid redundancy, and the same goes for the part about patched packages from the Rules of submission. It is nice to have a mention of -bin. Would be a stronger proposal if there were more content here; any other conventions to note? quequotion (talk) 20:07, 12 February 2019 (UTC)
  • Development packages should have a suffix for their Version Control System, such as -cvs, -svn, -git, -hg, -bzr or -darcs.
  • Packages having extra features enabled and/or patches in comparison to the official ones should be named differently to express that. For example, a package for GNU screen containing the sidebar patch could be named screen-sidebar. Additionally the provides=('screen') array should be used to avoid conflicts with the official package and satisfy its dependents.
  • Packages that redistribute a precompiled binary should have the suffix -bin.