Difference between revisions of "Talk:AUR helpers"

From ArchWiki
Jump to: navigation, search
m
(Required package update frequency: help on signing comments, use of header to quickly distinguish topics, and lists)
 
(602 intermediate revisions by 25 users not shown)
Line 1: Line 1:
Authors of each front end should post a short (2-3 line) description of their creation, along with a homepage link and an AUR link (where applicable). A link to a screenshot page would also be nice (if applicable).
+
{{Note|'''Moderation''' — If your AUR helper does [[partial upgrade]]s ''without explicit user intervention'' (i.e, specifying {{ic|-Sy}} on the command line), it has no place on this page or anywhere else on ArchWiki. No exceptions. -- [[User:Alad|Alad]] ([[User talk:Alad|talk]]) 09:37, 20 September 2015 (UTC)
 +
}}
  
== Secure column in comparaison table ==
+
== pikaur ==
  
Description says "tries to protect the user", I don't know what "tries" means but if we take the default behavior of aur helpers marked as secure :
+
Due to conflicting and non-resolvable opinions regarding how {{AUR|pikaur}} handles the ''Native pacman'' column (see [https://github.com/actionless/pikaur/issues/201]) as well as lacking documentation about the project in general, this helper was moved from the main [[AUR helpers]] article to its discussion page.  
*owl remains on cower to download deps so, it doesn't source PKGBUILD but calls makepkg without further questions, so finally, PKGBUILD is sourced.
 
*aura does the same
 
*pbfetch sources PKGBUILD (even if it removes build ())
 
*pacaur sources PKGBUILD (it can be configured to remains on cower)
 
...
 
  
As far as I know, only cower is secure (it builds/installs nothing) and spinach (and pacaur with secure on) ask before calling makepkg.
+
In the unlikely event that both of these issues are addressed, the entry may be moved back to the article. -- [[User:Alad|Alad]] ([[User talk:Alad|talk]]) 09:09, 15 June 2018 (UTC)
  
The only thing secure in dealing with AUR package is knowing what AUR is about.
+
{| class="wikitable sortable" width="100%"
 +
! Name !! Written In !! Secure !! Clean build !! Native pacman !! Reliable parser !! Reliable solver !! Split packages !! Git clone !! Diff view !! Batch interaction || Shell completion !! Specificity
 +
|-
 +
! {{AUR|pikaur}}
 +
| Python || {{Yes}} || {{Yes}} || {{Y|[https://github.com/actionless/pikaur/issues/201 Partial]}} || {{Yes}} || {{Yes}} || {{G|[https://github.com/actionless/pikaur/commit/d409b958b4ff403d4fda06681231061854d32b3c Yes]}} || {{Yes}} || {{Yes}} || style="text-align:center;" | 1, 2, 3 || style="text-align:center;" | bash, fish, zsh || [http://0pointer.net/blog/dynamic-users-with-systemd.html dynamic users], [https://github.com/actionless/pikaur/tree/master/locale multilingual], sort by votes/popularity, [https://github.com/actionless/pikaur/pull/191 print news]
 +
|-
 +
|}
  
[[User:Tuxce|Tuxce]] ([[User talk:Tuxce|talk]]) 12:50, 26 April 2013 (UTC)
+
== "Reference" implementation ==
: I think it only means asking the user to look and check PKGBUILD, especially for download URL. So it can be renamed to "Check PKGBUILD". -- [[User:Fengchao|Fengchao]] ([[User talk:Fengchao|talk]]) 00:13, 27 April 2013 (UTC)
 
::My guess is that the "Secure" column is an adaptation of the "Manually Parses PKGBUILD*" column in [https://wiki.archlinux.org/index.php?title=AUR_Helpers&oldid=245047#Comparison_Table this old revision], see also the note at the bottom. -- [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 06:50, 28 April 2013 (UTC)
 
:::Given that at the end, all AUR helpers (exept cower) call makepkg, PKGBUILD are sourced, so I think it should be removed. The word "secure" is just confusing.
 
:::For example, aurget can be considered more "secure" than owl or aura as it ask to review PKGBUILD before it being sourced.
 
:::[[User:Tuxce|Tuxce]] ([[User talk:Tuxce|talk]]) 20:05, 28 April 2013 (UTC)
 
::::Agreed, "Secure" without any kind of explanation doesn't mean anything. -- [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 11:43, 29 April 2013 (UTC)
 
  
::::: "Secure" simply means the PKGBUILDs aren't sourced ***before*** the user has a chance to inspect the PKGBUILD himself. Makepkg does source the PKGBUILD obviously, it doesn't mean using it is insecure (but using it blindly is). For example, packer source the PKGBUILD before showing it to the user, unless the --preview option is passed. And so does pacaur (when using the bash solver), although the PKGBUILDs are scanned for potential malicious pseudo code using sudo. Spyhawk 12:07, 15 May 2013 (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.
  
::::::So, just to include also cower in the definition, I think a more correct formulation would be: ''"Secure means that the application, by default, doesn't source the PKGBUILD at all, or, before doing it, reminds the user and offers him the opportunity to inspect it manually"''.
+
I propose a minimal reference implementation with the following points:
::::::Note though that the inspection of a PKGBUILD is always a separate human operation that the user has to do deliberately, and it's independent of the helper being used; this means that every "secure" application can be used insecurely if the user doesn't inspect the PKGBUILD, and vice versa every "insecure" application can be used securely if e.g. the user inspects the PKGBUILD through the AUR website.
 
::::::Also, the "by default" clause is IMHO very important, in fact you could for example use packer with an alias that runs it with the --preview flag, thus making it a "secure" application, with just such a minimal change.
 
::::::By the way, I haven't used yaourt for a while, but IIRC it used to let the user review the PKGBUILD after downloading it; it's not clear why it's not considered secure.
 
::::::In the end, my opinion is that every application offers different degrees of security, and trying to sum all up in a Yes/No column is too simplistic: I would leave more verbose security considerations in the descriptions of every application above the table, or at least I would add some words in the "Specificity" column.
 
:::::: -- [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 16:41, 18 May 2013 (UTC)
 
  
::::::: I like your definition, but a shorter one would be welcome (if that is possible?). Of course the security of helper heavily depends on the user, but it is expected to take his full responsibility and check the PKGBUILDs. An "insecure" helper simply has a security flaw, independently of the user.
+
* No client-side workarounds for upstream limitations. In particular, a reference implementation does not need to score full points on split packages, as {{ic|makepkg --pkg}} was removed with pacman 5.
::::::: Yaourt does scan dependencies before letting the user having a look at the PKGBUILDs, so that is similar to what packer does by default. However, yaourt seems to do some other step in between but I haven't been able to understand why and for which purpose (yaourt's code is a bit cryptic to me, Tuxce might better explain what this is fully about here).
+
* Minimal language constructs in e.g. a scripting language like {{Pkg|dash}}.
::::::: I do agree that it is hard to summarize the security aspect with a "Yes/No" box only, and so is the accuracy of the dependencies solver. Security is always done at the expense of the efficiency of the helper, and actually the "fully secure" helper are also the worst in solving dependencies. On the other hand, bash solvers are fully accurate, but are the less secure. Hopefully, this issue will be solved soon and the JSON rpc interface will become much more reliable, so helper could entirely rely on it instead of looking at the downloaded PKGBUILDs.
+
* Prefer simplicity of implementation over being fully featured. In particular, an implementation may only support git clone and not git diff.
::::::: [[User:Spyhawk|Spyhawk]] ([[User talk:Spyhawk|talk]]) 12:18, 19 May 2013 (UTC)
+
 
 +
My initial plan was to keep such an implementation in a man page {{ic|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? -- [[User:Alad|Alad]] ([[User talk: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. [[User:Spyhawk|Spyhawk]] ([[User talk:Spyhawk|talk]]) 15:26, 8 March 2018 (UTC)
 +
 
 +
::Apart from {{Bug|56602}}, I can't think of a case where upstream ''opposed'' removing limitations, even if helpers directly benefited. cf. the regex support discussed in [https://lists.archlinux.org/pipermail/aur-dev/2016-May/004036.html] 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: [https://github.com/AladW/aurutils-test/blob/master/package.t#L11-L31] -- [[User:Alad|Alad]] ([[User talk: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 [https://lists.archlinux.org/pipermail/aur-dev/2018-January/004421.html]). One prominent example that comes to mind is {{Bug|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 [https://lists.archlinux.org/pipermail/aur-dev/2016-May/004044.html], 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. [[User:Spyhawk|Spyhawk]] ([[User talk:Spyhawk|talk]]) 20:20, 8 March 2018 (UTC)
 +
 
 +
== <s>trizen and split packages</s> ==
 +
 
 +
Trizen no longer works with split packages since pacman 5.1: [https://github.com/trizen/trizen/issues/171] Give it a week or two and then give it a red entry in the table? -- [[User:Alad|Alad]] ([[User talk:Alad|talk]]) 11:49, 8 June 2018 (UTC)
 +
 
 +
: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). [[User:Kitsunyan|Kitsunyan]] ([[User talk:Kitsunyan|talk]]) 15:51, 8 June 2018 (UTC)
 +
 
 +
::Who would benefit from that? This article is only and most factual source of comparison for AUR helpers. It would only be fair to trizen and other helpers if entries changed as soon as they were broken or fixed. -- [[User:Svito|Svito]] ([[User talk:Svito|talk]]) 12:15, 9 June 2018 (UTC)
 +
 
 +
:::It's to give some leeway to the authors who write these projects in their free time. -- [[User:Alad|Alad]] ([[User talk:Alad|talk]]) 14:45, 9 June 2018 (UTC)
 +
 
 +
:::: [https://github.com/trizen/trizen/commit/f0a9dfe408d41117c11c364ed98796eeca9b35c2] -- [[User:Alad|Alad]] ([[User talk:Alad|talk]]) 09:01, 15 June 2018 (UTC)
 +
 
 +
== Add pacui to the table? ==
 +
 
 +
[https://github.com/excalibur1234/pacui] {{AUR|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. [[User:Morganamilo|Morganamilo]] ([[User talk:Morganamilo|talk]]) 07:27, 11 June 2018 (UTC)
 +
 
 +
:Seems to be aimed at Manjaro going by the amount of partial upgrade it runs (e.g. [https://github.com/excalibur1234/pacui/blob/master/pacui#L1251]) and weird stuff like "update systemd first". Former alone makes it unsuitable for inclusion in the wiki.
 +
:There's some other of these GUIs around that might fit though, like {{AUR|argon}}. Not sure where to put them; a separate section perhaps? They don't really have unique functionality of their own besides a modified user interface. -- [[User:Alad|Alad]] ([[User talk:Alad|talk]]) 09:50, 11 June 2018 (UTC)
 +
 
 +
::A new section like [[Pacman tips#Graphical front-ends]] could work. Probably wont be too useful if argon ends up being the only one that's suitable for inclusion. [[User:Morganamilo|Morganamilo]] ([[User talk:Morganamilo|talk]]) 12:37, 11 June 2018 (UTC)
 +
 
 +
== <s>Add back pikaur</s> ==
 +
 
 +
I checked most of discussions ([https://github.com/actionless/pikaur/issues/201] and few others), [https://github.com/actionless/pikaur/commit/de9824fd7cd95530a648c691f4d784bc4d10ebfb relevant commit] and I think while [[User:Actionless|Actionless]] did not create discussion after making disagreeable changes in the past his edits should not be taken as an insult or attack on the article or anyone involved. He believed what he did was right, it is easy to revert, explain what he did wrong so he can improve and we can move on. As long as he does not break CoC occasional bad edits should be allowed to happen and will be gracefully reverted same day anyway.
 +
 
 +
As I remember [[User:Kynikos|Kynikos]] was in favor of [[Wikipedia:Wikipedia:Be bold|BOLD]] principle, and even our own CoC starts with [[Code of conduct#Respect|respect]] (it is beautifully written). And as much as we look up to Wikipedia for guidance on rules and practices there is still room for improvement, both systemic and personal in actually applying them to our interactions with people.
 +
 
 +
-- [[User:Svito|Svito]] ([[User talk:Svito|talk]]) 22:49, 11 June 2018 (UTC)
 +
 
 +
: Re-added the entry; while there's reasonable cause to remove the author from the wiki, there arguably is not for his project. Now let's close this discussion and move on to [[#Native_pacman_criteria_and_IO_manipulation]]. -- [[User:Alad|Alad]] ([[User talk:Alad|talk]]) 10:55, 12 June 2018 (UTC)
 +
 
 +
: @Svito every AUR helper author so far has wonderfully played by the rules, both in spirit and letter, ''and'' has made positive contributions to other AUR helpers. The pikaur author does none of that (on the contrary, see his aggressive behavior in for example [https://github.com/polygamma/aurman/issues/91] and [https://wiki.archlinux.org/index.php/User_talk:Actionless], where he accuses others of misusing the table criteria which he now does himself) and I'm done with indulging both him and his project. -- [[User:Alad|Alad]] ([[User talk:Alad|talk]]) 09:06, 12 June 2018 (UTC)
 +
:: I just looked at [https://github.com/actionless/pikaur/issues/201] to see on the author response, and as expected 1. personal attacks 2. repeating the same point over and over without listing to reasonable argument presented by others. With that mind it's already more than generous that the author is still allowed to post on this wiki. -- [[User:Alad|Alad]] ([[User talk:Alad|talk]]) 09:38, 12 June 2018 (UTC):
 +
 
 +
: You need to point out any particular wiki rules violation or smth more than saying what your emotions are touched. [[User:Actionless|Actionless]] ([[User talk:Actionless|talk]]) 09:46, 12 June 2018 (UTC)
 +
 
 +
::>You need to point out any particular wiki rules violation or smth more than saying what your emotions are touched
 +
::No problem.
 +
::* https://wiki.archlinux.org/index.php/Code_of_conduct#Respect_other_users
 +
::* https://wiki.archlinux.org/index.php/Code_of_conduct#Respect_the_staff
 +
::* https://wiki.archlinux.org/index.php/Code_of_conduct#No_trolling
 +
::* https://wiki.archlinux.org/index.php/Code_of_conduct#Do_not_flame
 +
::* https://wiki.archlinux.org/index.php/Code_of_conduct#Be_responsible
 +
::* https://wiki.archlinux.org/index.php/Code_of_conduct#Ineffective_discussion_.28.22bikeshed.22.29
 +
::Congratulations on violating so many rules at once. And with that: [https://wiki.archlinux.org/index.php/Special:BlockList] -- [[User:Alad|Alad]] ([[User talk:Alad|talk]]) 09:51, 12 June 2018 (UTC)
 +
 
 +
::: I'd like to reopen this discussion, and point out all the answers found here: https://github.com/actionless/pikaur/issues/201 One really has to discuss, what to do with pikaur from now on, regarding the table in the wiki. I surely can only speak for myself, but I am not interested in validating the technical claims made by Actionless regarding pikaur, to ensure, that it is really doing what he claims it to be doing. Since the table should give a technical overview, that has to be done, and I am not sure, if anyone else is willing to do this, after this discussion. [[User:Polygamma|Polygamma]] ([[User talk:Polygamma|talk]]) 20:15, 14 June 2018 (UTC)
 +
 
 +
:::: As I pointed out in [[#Proposal]] I'm definitely done with investing any more time in this. After 200 comments on github I thought to have found a satisfactory solution, then out of the blue the pikaur author started making preposterous remarks on other helper ''authors'' with no technical value or relevance whatsoever. Since furthermore the project is in constant shift and no real documentation is given, expecting to keep such entry updated is beyond reasonable. Unless there's volounteers I suggest to remove the entry again and leave some notice similar to what's done in [[Bitcoin#Bitcoin software]]. -- [[User:Alad|Alad]] ([[User talk:Alad|talk]]) 20:46, 14 June 2018 (UTC)
 +
 
 +
::::: I have a better idea: move the pikaur entry to the discussion with an appropriate note. -- [[User:Alad|Alad]] ([[User talk:Alad|talk]]) 08:57, 15 June 2018 (UTC)
 +
 
 +
:::::: Done, closing. -- [[User:Alad|Alad]] ([[User talk:Alad|talk]]) 09:10, 15 June 2018 (UTC)
 +
 
 +
::::::: You might go even further and more to the point. Consider changing the note in [[AUR helpers#Build and search]] to something like this: {{Note|The content of this section is peer-reviewed and modifications require a discussion in [[Talk:AUR helpers]]. Furthermore, to avoid unreasonable competition and abuse of the specified criteria to get "greener" results, only projects whose development is driven by purely technical arguments can be listed in the tables.}} I'm not sure if the motivation is understandable by just reading the note, maybe you can come up with something better. -- [[User:Lahwaacz|Lahwaacz]] ([[User talk:Lahwaacz|talk]]) 21:50, 15 June 2018 (UTC)
 +
 
 +
::::::::This is a bit over the top. New wording would imply that something bad like this already happened and to be expected to happen again in the future. Worst case scenario of resolving original topic that I opened already happened and I regret taking any part in it. There is no reason to push narratives even further. I want this misunderstanding to end and be forgotten not engraved into Draconian laws. -- [[User:Svito|Svito]] ([[User talk:Svito|talk]]) 22:26, 15 June 2018 (UTC)
 +
 
 +
:::::::::I agree that this is an exceptional case only so I don't think stricter notes/wordings are necessary. -- [[User:Alad|Alad]] ([[User talk:Alad|talk]]) 12:16, 16 June 2018 (UTC)
 +
 
 +
::::::::: I agree, that going further would be too much. But I've got one question to @Svito - Why do you think, that this is only a "misunderstanding"? And at which point? [[User:Polygamma|Polygamma]] ([[User talk:Polygamma|talk]]) 17:01, 16 June 2018 (UTC)
 +
 
 +
::::::::::That is not exactly what I said. I do not fully appreciate being asked a public response in a closed thread.
 +
::::::::::I think it is fair to say (and I checked on this privately) that there was a misunderstanding of the issue from [[User:Actionless|Actionless]]' side when this begun escalating. Unfortunately for him he was clueless in this social situation which may be possible result of different cultural exposure as well as lack of social experience on his side. I cannot blame him for being human and making mistakes provided he is willing to learn from them and improve as an individual in order to bring benefit to himself and others.
 +
::::::::::When I opened this issue I asked everybody to try not taking this issue too personally. Having prejudice against somebody just makes you hate that character in your head when in reality he is just like you but born and learned differently.
 +
::::::::::-- [[User:Svito|Svito]] ([[User talk:Svito|talk]]) 20:07, 19 June 2018 (UTC)
 +
 
 +
:::::::::: Apparently misogeny is "just a misunderstanding". I have no interest in pursuing this further here; it should however be clear that such behavior is absolutely not tolerated, be it on ArchWiki or other parts of the Arch community, and regardless if by users or staff. -- [[User:Alad|Alad]] ([[User talk:Alad|talk]]) 09:52, 19 June 2018 (UTC)
 +
 
 +
== Native pacman criteria and IO manipulation ==
 +
 
 +
=== Proposal summary ===
 +
 
 +
: do not separate commands ''or their actions''
 +
: do not suppress or force pacman behavior by using anything besides native pacman flags, e. g. by altering stdin, stdout
 +
or (proposed in issue #201)
 +
: do not modify the pacman prompt
 +
 
 +
Latter might be overly broad as it includes --noconfirm, but it might make sense when adding "by default". Note: --ask "modifies" the prompt in the sense that it reverses it. -- [[User:Alad|Alad]] ([[User talk:Alad|talk]]) 09:00, 15 June 2018 (UTC)
 +
 
 +
== Required package update frequency ==
 +
 
 +
How often does a package have to be updated to remain in 'Active'?
 +
 
 +
* '''bauerbill''' - last update: 2017-10-03
 +
* '''aura''' - last update: 2017-10-07
 +
 
 +
{{Unsigned|13:45, 20 June 2018 (UTC)|J1simon}}
 +
 
 +
:There's no criteria for this. There were, but then people would periodically update their README and call it an "update". See: [https://wiki.archlinux.org/index.php?title=Talk:AUR_helpers&oldid=520747#Effectiveness_of_the_.22inactive.22_table] -- [[User:Alad|Alad]] ([[User talk:Alad|talk]]) 13:59, 20 June 2018 (UTC)

Latest revision as of 17:44, 20 June 2018

Note: Moderation — If your AUR helper does partial upgrades without explicit user intervention (i.e, specifying -Sy on 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)

pikaur

Due to conflicting and non-resolvable opinions regarding how pikaurAUR handles the Native pacman column (see [1]) as well as lacking documentation about the project in general, this helper was moved from the main AUR helpers article to its discussion page.

In the unlikely event that both of these issues are addressed, the entry may be moved back to the article. -- Alad (talk) 09:09, 15 June 2018 (UTC)

Name Written In Secure Clean build Native pacman Reliable parser Reliable solver Split packages Git clone Diff view Batch interaction Shell completion Specificity
pikaurAUR Python Yes Yes Partial Yes Yes Yes Yes Yes 1, 2, 3 bash, fish, zsh dynamic users, multilingual, sort by votes/popularity, print news

"Reference" implementation

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 --pkg was removed with pacman 5.
  • Minimal language constructs in e.g. a scripting language like dash.
  • 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 [2] 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: [3] -- 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 [4]). 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 [5], 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)

trizen and split packages

Trizen no longer works with split packages since pacman 5.1: [6] Give it a week or two and then give it a red entry in the table? -- Alad (talk) 11:49, 8 June 2018 (UTC)

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)
Who would benefit from that? This article is only and most factual source of comparison for AUR helpers. It would only be fair to trizen and other helpers if entries changed as soon as they were broken or fixed. -- Svito (talk) 12:15, 9 June 2018 (UTC)
It's to give some leeway to the authors who write these projects in their free time. -- Alad (talk) 14:45, 9 June 2018 (UTC)
[7] -- Alad (talk) 09:01, 15 June 2018 (UTC)

Add pacui to the table?

[8] pacuiAUR 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. Morganamilo (talk) 07:27, 11 June 2018 (UTC)

Seems to be aimed at Manjaro going by the amount of partial upgrade it runs (e.g. [9]) and weird stuff like "update systemd first". Former alone makes it unsuitable for inclusion in the wiki.
There's some other of these GUIs around that might fit though, like argonAUR. Not sure where to put them; a separate section perhaps? They don't really have unique functionality of their own besides a modified user interface. -- Alad (talk) 09:50, 11 June 2018 (UTC)
A new section like Pacman tips#Graphical front-ends could work. Probably wont be too useful if argon ends up being the only one that's suitable for inclusion. Morganamilo (talk) 12:37, 11 June 2018 (UTC)

Add back pikaur

I checked most of discussions ([10] and few others), relevant commit and I think while Actionless did not create discussion after making disagreeable changes in the past his edits should not be taken as an insult or attack on the article or anyone involved. He believed what he did was right, it is easy to revert, explain what he did wrong so he can improve and we can move on. As long as he does not break CoC occasional bad edits should be allowed to happen and will be gracefully reverted same day anyway.

As I remember Kynikos was in favor of BOLD principle, and even our own CoC starts with respect (it is beautifully written). And as much as we look up to Wikipedia for guidance on rules and practices there is still room for improvement, both systemic and personal in actually applying them to our interactions with people.

-- Svito (talk) 22:49, 11 June 2018 (UTC)

Re-added the entry; while there's reasonable cause to remove the author from the wiki, there arguably is not for his project. Now let's close this discussion and move on to #Native_pacman_criteria_and_IO_manipulation. -- Alad (talk) 10:55, 12 June 2018 (UTC)
@Svito every AUR helper author so far has wonderfully played by the rules, both in spirit and letter, and has made positive contributions to other AUR helpers. The pikaur author does none of that (on the contrary, see his aggressive behavior in for example [11] and [12], where he accuses others of misusing the table criteria which he now does himself) and I'm done with indulging both him and his project. -- Alad (talk) 09:06, 12 June 2018 (UTC)
I just looked at [13] to see on the author response, and as expected 1. personal attacks 2. repeating the same point over and over without listing to reasonable argument presented by others. With that mind it's already more than generous that the author is still allowed to post on this wiki. -- Alad (talk) 09:38, 12 June 2018 (UTC):
You need to point out any particular wiki rules violation or smth more than saying what your emotions are touched. Actionless (talk) 09:46, 12 June 2018 (UTC)
>You need to point out any particular wiki rules violation or smth more than saying what your emotions are touched
No problem.
Congratulations on violating so many rules at once. And with that: [14] -- Alad (talk) 09:51, 12 June 2018 (UTC)
I'd like to reopen this discussion, and point out all the answers found here: https://github.com/actionless/pikaur/issues/201 One really has to discuss, what to do with pikaur from now on, regarding the table in the wiki. I surely can only speak for myself, but I am not interested in validating the technical claims made by Actionless regarding pikaur, to ensure, that it is really doing what he claims it to be doing. Since the table should give a technical overview, that has to be done, and I am not sure, if anyone else is willing to do this, after this discussion. Polygamma (talk) 20:15, 14 June 2018 (UTC)
As I pointed out in #Proposal I'm definitely done with investing any more time in this. After 200 comments on github I thought to have found a satisfactory solution, then out of the blue the pikaur author started making preposterous remarks on other helper authors with no technical value or relevance whatsoever. Since furthermore the project is in constant shift and no real documentation is given, expecting to keep such entry updated is beyond reasonable. Unless there's volounteers I suggest to remove the entry again and leave some notice similar to what's done in Bitcoin#Bitcoin software. -- Alad (talk) 20:46, 14 June 2018 (UTC)
I have a better idea: move the pikaur entry to the discussion with an appropriate note. -- Alad (talk) 08:57, 15 June 2018 (UTC)
Done, closing. -- Alad (talk) 09:10, 15 June 2018 (UTC)
You might go even further and more to the point. Consider changing the note in AUR helpers#Build and search to something like this:
Note: The content of this section is peer-reviewed and modifications require a discussion in Talk:AUR helpers. Furthermore, to avoid unreasonable competition and abuse of the specified criteria to get "greener" results, only projects whose development is driven by purely technical arguments can be listed in the tables.
I'm not sure if the motivation is understandable by just reading the note, maybe you can come up with something better. -- Lahwaacz (talk) 21:50, 15 June 2018 (UTC)
This is a bit over the top. New wording would imply that something bad like this already happened and to be expected to happen again in the future. Worst case scenario of resolving original topic that I opened already happened and I regret taking any part in it. There is no reason to push narratives even further. I want this misunderstanding to end and be forgotten not engraved into Draconian laws. -- Svito (talk) 22:26, 15 June 2018 (UTC)
I agree that this is an exceptional case only so I don't think stricter notes/wordings are necessary. -- Alad (talk) 12:16, 16 June 2018 (UTC)
I agree, that going further would be too much. But I've got one question to @Svito - Why do you think, that this is only a "misunderstanding"? And at which point? Polygamma (talk) 17:01, 16 June 2018 (UTC)
That is not exactly what I said. I do not fully appreciate being asked a public response in a closed thread.
I think it is fair to say (and I checked on this privately) that there was a misunderstanding of the issue from Actionless' side when this begun escalating. Unfortunately for him he was clueless in this social situation which may be possible result of different cultural exposure as well as lack of social experience on his side. I cannot blame him for being human and making mistakes provided he is willing to learn from them and improve as an individual in order to bring benefit to himself and others.
When I opened this issue I asked everybody to try not taking this issue too personally. Having prejudice against somebody just makes you hate that character in your head when in reality he is just like you but born and learned differently.
-- Svito (talk) 20:07, 19 June 2018 (UTC)
Apparently misogeny is "just a misunderstanding". I have no interest in pursuing this further here; it should however be clear that such behavior is absolutely not tolerated, be it on ArchWiki or other parts of the Arch community, and regardless if by users or staff. -- Alad (talk) 09:52, 19 June 2018 (UTC)

Native pacman criteria and IO manipulation

Proposal summary

do not separate commands or their actions
do not suppress or force pacman behavior by using anything besides native pacman flags, e. g. by altering stdin, stdout

or (proposed in issue #201)

do not modify the pacman prompt

Latter might be overly broad as it includes --noconfirm, but it might make sense when adding "by default". Note: --ask "modifies" the prompt in the sense that it reverses it. -- Alad (talk) 09:00, 15 June 2018 (UTC)

Required package update frequency

How often does a package have to be updated to remain in 'Active'?

  • bauerbill - last update: 2017-10-03
  • aura - last update: 2017-10-07

—This unsigned comment is by J1simon (talk) 13:45, 20 June 2018 (UTC). Please sign your posts with ~~~~!

There's no criteria for this. There were, but then people would periodically update their README and call it an "update". See: [15] -- Alad (talk) 13:59, 20 June 2018 (UTC)