Talk:Arch User Repository

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

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)

AUR link

The link to this page from the AUR homepage is outdated.

"Submitting packages" located above the SSH keys directs to an AUR4 link, which has since become just AUR. I'm not knowledgeable of the methods to correct this.

-- Ctag (talk) 00:05, 23 September 2015 (UTC)

You can submit a bug report for the AUR web interface project in the tracker. Or even provide a patch: sources are at [3]. -- Lahwaacz (talk) 11:22, 23 September 2015 (UTC)

gitignore

Adding * to .gitignore is an ugly workaround for something (in case of dotfiles, programs not respecting standards and e.g. storing cache and config files together). There isn't much to be excluded here - the only unpredictable part is the source tarballs and VCS directories, which can be easily put away by configuring SRCDEST in makepkg.conf. We can still recommend to add the source files explicitly.

The recommendation will affect everybody using the given package, not only the user managing his personal config files, so I think an explicit blacklist is better than the * wildcard here.

-- Lahwaacz (talk) 08:58, 6 March 2016 (UTC)

I agree, as per my original recommendation. The simple thing to do is git add .; some packages do have an annoying variety of files. Better to explicitly exclude download directories other known cruft in .gitignore. quequotion (talk) 12:15, 6 March 2016 (UTC)
So the concern is you'd miss to whitelist some "annoying variety" of files, which you wouldn't with git add .? You might as well argue that you'd miss to blacklist a file you wouldn't want to upload to the AUR...
Either way, I'd agree configuring SRCDEST is the better (and universal) solution here. -- Alad (talk) 15:05, 6 March 2016 (UTC)
Good point, the whole reason for posting a guide indeed is to show users how to deal with AUR4 in the way Archlinux administration expects, this seems to be the more reliable solution[
Then I remembered what SRCDEST actually does and realized it wouldn't sufficiently resolve the issue (the source directory is not the only cruft to be avoided). quequotion (talk) 03:55, 13 March 2016 (UTC)
I have SRCDEST, PKGDEST, LOGDEST, and BUILDDEST set. Suffice to say there's no cruft in my .git dirs. It's not much a bother either, since the values are commented in makepkg.conf. -- Alad (talk) 12:35, 13 March 2016 (UTC)
What about the symlinks to the built packages and signatures? -- Lahwaacz (talk) 13:04, 13 March 2016 (UTC)
Assuming only makepkg crates symlinks in the clone directory (correct me if I'm wrong), you can do something like find -maxdepth 2 -type l -delete in the directory above, in my case a dedicated "AURDEST".
Perhaps too specific for the general case, but the special type helps anyway. -- Alad (talk) 13:43, 13 March 2016 (UTC)
That's cleanup, not prevention. Anyway, the point of .gitignore is not to move the "cruft" away, but to keep the repo directory clean in git terms, i.e. git should not report files created by makepkg as untracked. -- Lahwaacz (talk) 11:48, 14 March 2016 (UTC)
In that case, I refer to my comment below on just mentioning .gitignore, but not recommending a specific method. -- Alad (talk) 19:47, 14 March 2016 (UTC)
Recommending either way is problematic since this is more a question of git usage style rather than AUR usage. The maintainer should set up the .gitignore in an intuitive way depending on their git workflow and how the package is organized. If I had to recommend anything, it would be either: don't git add . (because it's lazy and can easily backfire), or always check git status before you commit to make sure you know what's staged (and we already recommend checking your commits before pushing). But again, those are more general git recommendations than anything AUR-specific. Silverhammermba (talk) 21:58, 9 March 2016 (UTC)
Using gitignore is useful not only for the comfort of the maintainer, but also of users building and installing the package. For example if pkg/, src/ etc. are not gitignored, tools such as repocheck will not work correctly. -- Lahwaacz (talk) 23:05, 9 March 2016 (UTC)
I still don't see how that is AUR-specific information. It is certainly good practice to have a gitignore for any git repo with files you don't want to track, but it is by no means necessary nor is it a practice specific to AUR repos. Adding git tricks to this article that are just general best practices is a slippery slope to creating a duplicate git tutorial like Quequotion did. I would much rather direct users to https://git-scm.com/doc and emphasize the importance of learning git properly before contributing AUR packages. Silverhammermba (talk) 17:58, 10 March 2016 (UTC)
We know certain things could be .gitignored for every package, such as src/, pkg/, and *.pkg.tar.xz; but we cannot know what files a packager may be using otherwise. I think having packagers create an explicit blacklist is the smallest and easiest of the available options. quequotion (talk) 03:55, 13 March 2016 (UTC)
Stuff makepkg creates can be moved automatically, as indicated above. The rest is an edge case, and the best way to handle it is subject to debate. If anything, just mention .gitignore, but not a specific approach to using it. -- Alad (talk) 12:35, 13 March 2016 (UTC)
I've changed my mind, and my perspective on this issue. I realized too late, after uploading several ridiculously large .gitignore files to AUR, that it's a huge waste of space (actually, you don't have to send .gitignore to AUR at all--but subsequent clones of your package will then not have a .gitignore). Putting an asterisk in it and using git add -f is a better idea for the AUR's bandwidth and storage space. quequotion (talk) 17:55, 17 July 2017 (UTC)

AUR search takes '%' literally

Arch User Repository#Searching is marked by template:Accuracy, though I couldn't see the discussion here. Did I missed something? There are some comments at this forum thread. Regid (talk) 14:21, 5 June 2017 (UTC)

I haven’t started the discussion, because I assume that the first person that has something to say should do that. Since all I had to say was stated in the reason, I was not re-stating the problem here. Also I can’t fix that myself, because I have no idea how exactly AUR search works internally now and if this is just a bug or the current official status is that strings are taken literally. Therefore only marking it with Template:Accuracy. --Mpan (talk) 15:56, 5 June 2017 (UTC)

Markdown Syntax

Should there be a Markdown syntax section? [4][5] 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)
[6] 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)

Add unsupported label in first paragraph

Due to some people not getting the memo that AUR is not supported and packages should be inspected carefully, and there is no assumption of quality, this should be stated in the first paragraph to avoid confusion and butthurt. Especially for those unfamiliar with Arch Linux —This unsigned comment is by GI Jack‎ (talk) 22:49, 30 March 2018. Please sign your posts with ~~~~!

Creating a new package: tracking information

I removed a line added to the git routine for creating an AUR repository from an existing directory.

The command did not work as it was written and I don't think it is necessary to explicitly set up the tracking information here. When the user makes their first push to AUR, git will tell them to git push --set-upstream <remote> <branch>. It's a bit of an annoyance at first, but git is very specific about what needs to be done and you get used to doing this. quequotion (talk) 21:23, 29 October 2018 (UTC)

Creating a new package: uploading an existing package to AUR

The point here is to explain two possible workflows: one wherein a user sets out to create an AUR package from scratch, and can thus start with a git clone; and another wherein a user already has a package (be it a git repository or not), then decides to upload it to AUR. With the right wording, and proper integration with other articles in the wiki, we can cover more bases this way and not leave as many users to bang their heads against the wiki until they figure it out. quequotion (talk) 14:03, 13 November 2018 (UTC)

Current: Creating a new package

In order to create a new, empty, local Git repository for a package, simply git clone the remote repository with the corresponding name. If the package does not exist on AUR yet, you will see the following warning:

Comment: Terms like "simply" beg the question "In comparison to what?" and, in my opinion, make this sound in fact more difficult.
$ git clone ssh://aur@aur.archlinux.org/package_name.git
Cloning into 'package_name'...
warning: You appear to have cloned an empty repository.
Checking connectivity... done.
Comment: Technically, AUR repository names should correspond to pkgbase. I think that should be specified here.
Note: When a package on the AUR is deleted, the git repository is not deleted so it is possible for a deleted package's repository to not be empty when cloned if someone is creating a package with the same name.
Comment: That's quite a sentence.

If you have already created a git repository, you can simply create a remote for the AUR git repository and then fetch it:

$ git remote add remote_name ssh://aur@aur.archlinux.org/package_name.git
$ git fetch remote_name
Comment: As we've been over in regard to this section in particular more than enough times, what is not wanted for the Arch wiki are lists of specific instructions but rather general information from which a procedure can be surmised. Adding git init here may be too specific, but we really should cover the case of converting an existing package into a git repository. If this can be achieved by reducing this section and relying more on existing pages of the wiki I think it would be best all around.

where remote_name is the name of the remote to create (e.g., "origin"). See Git#Using remotes for more information.

Comment: This would be more effective if it used language matching that in the Git article.

The new package will appear on AUR after you push the first commit. You can now add the source files to the local copy of the Git repository. See #Uploading packages.

Comment: The first two statements should be in the opposite order.
Warning: Your AUR commits will be authored according to your git user name and email address and it is very difficult to change commits after you push them (see FS#45425). If you want to push to AUR under a different name/email, you can change them for this package via git config user.name [...] and git config user.email [...]. Review your commits before pushing them!
Comment: The last bit feels like unnecessary hand-holding. It is important, but isn't this something users should learn to do on their own?

Proposal: Creating new packages

To create an empty, local Git repository for a new package, clone a remote AUR repository for the intended pkgbase. If the package does not exist in the AUR yet, the following warning is expected:

$ git clone ssh://aur@aur.archlinux.org/pkgbase.git
Cloning into 'pkgbase'...
warning: You appear to have cloned an empty repository.
Checking connectivity... done.
Note: When an AUR package is deleted, its Git repository is not. When creating a package with the same name as a deleted package, it is possible that the repository will not be empty when cloned.

If you already have a package, initialize it as a Git repository if it isn't one, then add an AUR remote and fetch it:

$ git remote add label ssh://aur@aur.archlinux.org/pkgbase.git

You can now add the source files to your local copy of the repository. The new package will appear in the AUR after you push the first commit.

Warning: Your AUR commits will be authored with your configured Git user name and email address. It is very difficult to change commits after you push them (see FS#45425). If you want to push to AUR under a different name/email, you can change them, per package, with git config user.name [...] and git config user.email [...].