-Syon the command line), it has no place on this page or anywhere else on ArchWiki. No exceptions. -- Alad (talk) 09:37, 20 September 2015 (UTC)
This is an alternative to #Reliable_Updater. Instead of an arbitrary set of test packages, we could write up a "specification" on what a reliable AUR helper should do. This should also be more helpful for potential AUR helper writers who otherwise have to wade through complex, fully-featured AUR helpers.
I propose a minimal reference implementation with the following points:
- No client-side workarounds for upstream limitations. In particular, a reference implementation does not need to score full points on split packages, as
makepkg --pkgwas removed with pacman 5.
- Minimal language constructs in e.g. a scripting language like .
- Prefer simplicity of implementation over being fully featured. In particular, an implementation may only support git clone and not git diff.
My initial plan was to keep such an implementation in a man page
aurhelper(7) (hosted as part of aurutils), but we can consider including on a sub-page of this article. It could be then linked from the comparison table. Thoughts? -- Alad (talk) 13:28, 8 March 2018 (UTC)
- Generally agree with the idea, but I don't think there is a way around a set of PKGBUILDs that could be used to test helpers in a local AUR instance. F.e., I wouldn't define a "reliable" helper that doesn't handle split packages well. Since helpers are tolerated rather than supported, upstream limitations of the AUR might be temporary or permanent, meaning the limitation would actually be in the helper itself (f.e. like regex support). Also, I'd use pseudo code for such a reference as the actual implementation itself doesn't matter, unless you'd like to write a new minimalist helper. Spyhawk (talk) 15:26, 8 March 2018 (UTC)
- Apart from FS#56602, I can't think of a case where upstream opposed removing limitations, even if helpers directly benefited. cf. the regex support discussed in  or the exit codes finally introduced in makepkg 5.1 which made automatic building significantly easier imo. To me it seems that the main reason we have these AUR limations is due to the minimal interest of helper writers in contributing upstream, and upstream itself having different priorities. Not sure why former is the case, the PHP codebase may play part in it - at least it does for me.
- You can keep dash close enough to pseudo-code, I guess less so if you want a complete example rather than exemplary code blocks. For the PKGBUILD set, I use this:  -- Alad (talk) 18:34, 8 March 2018 (UTC)
- My understanding is that changes that aren't invasive will be accepted upstream, but otherwise might be rejected (see ). One prominent example that comes to mind is FS#48796. It's not really relevant anymore since x86 has been officially dropped, but the solution would involve duplicating DB tables on the server, which isn't trivial to implement/migrate. Many of the feature requests involve non-trivial code change, which is the main reason nobody pushed patches; I dislike PHP but the language itself isn't too hard either. For regex, see the bottom of , which is the follow-up of your link above.
- Your testsuite seems interesting (thanks for the link), but one advantage of having a fixed set of packages is that these packages might be updated and change, making these edge cases difficult to test. This happened quite a few times with my own list of test packages in the past and this was rather annoying. Spyhawk (talk) 20:20, 8 March 2018 (UTC)
Move batch interaction as separate column?
This is probably a feature most users naturally expect from a program that builds and installs many packages in succession, by definition. It's also not trivial to implement (with only the undocumented
pacman --ask or providing a proper solution) - see recent edits where helpers that supposedly qualified did not. Helpers that still view all PKGBUILDs ahead of time would get a "Partial" rating. -- Alad (talk) 08:36, 17 May 2018 (UTC)
- Note: I'm unsure on the status of Alad (talk) 10:47, 17 May 2018 (UTC) AUR and AUR on this regard. --
- I don't mind. Pakku provides
PreBuildCommandhook which allows user to insert his custom script, but that's quite complex task, and I think it'd be better if it was implemented in pakku directly, which I'm planning to do later.
- Speaking about batch interaction, I think I misled you. Pakku will fail on conflicts only if user specify
--noconfirmhimself. Pakku never uses
--noconfirmby its own. When I added "batch interaction" to table, I meant that pakku will ask to view files before build, and ask about installing only if it's necessary to install something right now (this mechanism is quite complex, further explanation would be inappropriate here). Kitsunyan (talk) 19:52, 17 May 2018 (UTC)
- I don't mind. Pakku provides
aurutils as pacman wrapper (external project)
trizen and split packages
- I think granting a red label due to a bug shouldn't happen instantly since the bug can be fixed soon. Let's give it two weeks (one week is too short time). Kitsunyan (talk) 15:51, 8 June 2018 (UTC)
pikaur claims to no longer split -Syu
- I believe it is wrapping the entire
pacman -Syucall, pausing pacman after the refresh to do its own thing, then resuming pacman. As far as I am concerned this is still effectively spiting the refresh and upgrade. Morganamilo (talk) 21:33, 9 June 2018 (UTC)
- see: https://github.com/actionless/pikaur/issues/201#issuecomment-395962657 - seems like pikaur really parses stdout of pacman to see what's going on. i do not understand his code either, so i have no idea what the consequences of failing to parse the output are, but it seems to be relevant to "wrapping" "-Syu" Polygamma (talk) 17:59, 10 June 2018 (UTC)
- Maybe I should not have said paused. I believe pacman pauses itself when it asks the user if they want to continue. At which point pikaur continues on doing its own thing before hitting yet to that prompt. I've gathered this mostly from casually reading issues, you should probably ask the author for the specifics. Morganamilo (talk) 18:12, 10 June 2018 (UTC)
Add pacui to the table?
 Pacui is kind of an aur-helper-helper. It wraps AUR helpers to provide a nice tui and also adds some of its own features. I don't really use it my self so I can't comment on how it would fit in the table/what results it would get. Just wondering if it fits here.