Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

`Native Pacman` criteria #201

Closed
actionless opened this issue Jun 5, 2018 · 255 comments
Closed

`Native Pacman` criteria #201

actionless opened this issue Jun 5, 2018 · 255 comments
Labels

Comments

@actionless
Copy link
Owner

@actionless actionless commented Jun 5, 2018

(instead of passing those to class constructor)

that should allow to control the current flow of executed app from python code (not only from user's stdin input as it is now) so make it possible to interactively wrap -Syu

however in case of manual package selection ([m] choice in prompt) N reply will be sent to -Syu and -Su --ignore <interactively_ignored_package> or -Su <interactively_added_package> command will be fired depending on user choice

@AladW are the last 2 paragraphs sounding fine to you? [m] is not default behavior, so by default -Syu will be wrapped accurately

@actionless actionless added the feature label Jun 5, 2018
@actionless actionless changed the title Pikspect: implement .match_text(), .reply_question() and .add_replies() methods Pikspect: implement .match_text() and .add_replies() methods Jun 5, 2018
@Morganamilo

This comment has been minimized.

Copy link
Contributor

@Morganamilo Morganamilo commented Jun 5, 2018

As far as I can tell it sounds like you want to run pacman -Syu pause it after the refresh and inject your on stuff in before continuing? Is this right?

@actionless

This comment has been minimized.

Copy link
Owner Author

@actionless actionless commented Jun 5, 2018

pacman will naturally pause while waiting for answer to :: Proceed with installation? [Y/n]

  1. if user will hit 'Y' in pikaur prompt 'Y' will be just bypassed to pacman

however in case of manual package selection ([m] choice in prompt) N reply will be sent to -Syu and -Su --ignore <interactively_ignored_package> or -Su <interactively_added_package> depending on user choice

@actionless actionless changed the title Pikspect: implement .match_text() and .add_replies() methods Pikspect: implement .match_text() and .add_replies() methods and .print_output attribute Jun 5, 2018
@actionless actionless changed the title Pikspect: implement .match_text() and .add_replies() methods and .print_output attribute Pikspect: implement .match_text() and .add_answers() methods and .print_output attribute Jun 5, 2018
@actionless

This comment has been minimized.

Copy link
Owner Author

@actionless actionless commented Jun 8, 2018

pushed to the master. will let it some time for testing before tagging the release

@actionless actionless closed this in 46e35d3 Jun 8, 2018
@SpineEyE

This comment has been minimized.

Copy link

@SpineEyE SpineEyE commented Jun 8, 2018

Can you please explain why you implemented this? It looks a little weird and more like a hack now compared to your previous solution of just sending a Y. More integration also generally means more maintenance work. Now the user sees the summary two times.

@actionless

This comment has been minimized.

Copy link
Owner Author

@actionless actionless commented Jun 8, 2018

@SpineEyE you can compare pikaur-git with a stable pikaur aur package behavior to point out some particular regression issues

@actionless

This comment has been minimized.

Copy link
Owner Author

@actionless actionless commented Jun 9, 2018

compared to your previous solution of just sending a Y

that part haven't changed at all

the only thing what changed now what instead of splitting -Syu to -Sy and -Su, the intermediate output is getting hidden (https://github.com/actionless/pikaur/blob/master/pikaur/install_cli.py#L257-L258) and the question are being shown after pikaur prompt, to be in the timeline with pikaur's questions: https://github.com/actionless/pikaur/blob/master/pikaur/install_cli.py#L253-L255

the only maintenance issue is what if pacman will change any of its messages i'll have to update them here (all in one place):
https://github.com/actionless/pikaur/blob/master/pikaur/pacman.py#L48-L78 (but for sending Y i also parsing the prompts so it's not a big difference, juts couple more messages to support)

@SpineEyE

This comment has been minimized.

Copy link

@SpineEyE SpineEyE commented Jun 9, 2018

Alright, thanks for the explanation. Then there's probably not really a better way to achieve the same minimal user interaction.

@actionless

This comment has been minimized.

Copy link
Owner Author

@actionless actionless commented Jun 9, 2018

only with splitting Syu to Sy and Su it's possible to avoid some of the hacks, but that's generally a topic to be discussed since it's arising not only here: Jguer/yay#464

@AladW

This comment has been minimized.

Copy link

@AladW AladW commented Jun 10, 2018

Truly, I am amazed by the lengths you go to get full recognition on the table while completely ignoring the spirit behind these criteria.

That spirit being that all these helpers are completely unsupported tools with due unsupported bugs. You don't want such tools to influence the supported tools (read: pacman) in any way, be that through weird modification of IO like you do here or through adding intermediary steps like yay et al. do.

@AladW

This comment has been minimized.

Copy link

@AladW AladW commented Jun 10, 2018

The sensible thing to do - as I've pointed out countless times - is to have some explicit switch so users can choose to void their Arch warranty if they so please.

@AladW

This comment has been minimized.

Copy link

@AladW AladW commented Jun 10, 2018

Barring the above, please return to the old -Sy + -Su approach since that one is at least half-way predictable in what it might do, very much unlike this brittle pseudo-hook functionality you've come up with.

@actionless

This comment has been minimized.

Copy link
Owner Author

@actionless actionless commented Jun 11, 2018

all your replies are sounding like emotions, i see no technical reasoning behind it

@actionless

This comment has been minimized.

Copy link
Owner Author

@actionless actionless commented Jun 11, 2018

very much unlike

very good reason for removing it from arch wiki, i suppose what your emotional behavior should be reported to other arch wiki mods, it doesn't seems appropriate at all

@polygamma

This comment has been minimized.

Copy link

@polygamma polygamma commented Jun 11, 2018

rofl.

@actionless actionless changed the title Pikspect: implement .match_text() and .add_answers() methods and .print_output attribute Pikspect: implement .match_text() and .add_answers() methods and .print_output attribute for pacman wrapping Jun 11, 2018
@actionless actionless reopened this Jun 11, 2018
@actionless

This comment has been minimized.

Copy link
Owner Author

@actionless actionless commented Jun 11, 2018

Just to give an example of correct conversation style I'll try to be more technical: the possible implications are described in these tickets: #161 #189. There is no any danger for package database integrity. The logic which does "weird modification of IO" via sending Y character to pacman's stdin does that only for a fixed set of questions by matching full line, so if some unexpected question will be asked by pacman the stdin will be controlled by user, not by pikaur.

@Morganamilo

This comment has been minimized.

Copy link
Contributor

@Morganamilo Morganamilo commented Jun 11, 2018

The thing is, splitting -Sy and -Su is not about splitting the commands themselves, but the actions. Even though pikaur technically calls -Syu it sill effectively splits the actions.

Now while I disagree with saying overly mean things like Alad often does, he has a point. And the reason he is mad is not because of this feature unto itself but because you ignored his comments and discussion on this topic and went ahead and changed the wiki entry.

@actionless

This comment has been minimized.

Copy link
Owner Author

@actionless actionless commented Jun 11, 2018

Even though pikaur technically calls -Syu it sill effectively splits the actions.

i am not getting this point

@SpineEyE

This comment has been minimized.

Copy link

@SpineEyE SpineEyE commented Jun 11, 2018

Is it correct that this workaround and those painful issues that you linked, @actionless, are only necessary because there is no option to skip the first question in pacman? Wouldn't it be much less of a hassle to implement that feature there?

@polygamma

This comment has been minimized.

Copy link

@polygamma polygamma commented Jun 14, 2018

Nevertheless: The wording may be discussed, surely. But I guess at least you understood what the problem is, why the pikaur behavior must not be classified as native?

@polygamma

This comment has been minimized.

Copy link

@polygamma polygamma commented Jun 14, 2018

Yeah, if it's really your only intention to misuse the wording, you really will be banned from the whole Wiki forever.

@actionless

This comment has been minimized.

Copy link
Owner Author

@actionless actionless commented Jun 14, 2018

and also from other point, for users the thing about prompt altering will be much more clear than altering std something

@polygamma

This comment has been minimized.

Copy link

@polygamma polygamma commented Jun 14, 2018

Dude, really, is it your only intention to find ways to implement shitty behavior while passing the criteria?

Edit: shitty may be the wrong word, but at least behavior, which is trying to disguise what it really does, by implementing it in a technical way, not covered by wiki criteria

@actionless

This comment has been minimized.

Copy link
Owner Author

@actionless actionless commented Jun 14, 2018

does that means what first i need to choose some behaviors subsets to determine them to be shitty enough ?

@polygamma

This comment has been minimized.

Copy link

@polygamma polygamma commented Jun 14, 2018

Also: e. g. means: for example, hence that is not meant to cover all cases. If you want to be nitpicking, do it right.

@actionless

This comment has been minimized.

Copy link
Owner Author

@actionless actionless commented Jun 14, 2018

so i do proposing better examples

@actionless

This comment has been minimized.

Copy link
Owner Author

@actionless actionless commented Jun 14, 2018

...since editing a wiki is not an option for me 😸

@polygamma

This comment has been minimized.

Copy link

@polygamma polygamma commented Jun 14, 2018

I am done with you, I really tried one last time to discuss with you in a normal way, but you sir, are ... edit: I should not have insulted here, but I was too annoyed, sorry

@actionless

This comment has been minimized.

Copy link
Owner Author

@actionless actionless commented Jun 14, 2018

i think i am not the one being in-constructive here

@Morganamilo

This comment has been minimized.

Copy link
Contributor

@Morganamilo Morganamilo commented Jun 15, 2018

@AladW Just to check real quick. You changed --ask to --force. Given that force is removed shouldn't that be --overwrite?

@kitsunyan

This comment has been minimized.

Copy link

@kitsunyan kitsunyan commented Jun 15, 2018

--ask was left in place along with --force in the list (it wasn't replaced). Also --overwrite is not this harmful as --force.

The reason for listing this option is that it's an example of potentially harmful command (as well as --overwrite or --dbonly). These commands (--force, --overwrite, --dbonly) give no benifits to AUR helper, so they shouldn't be used unless user specified them intentionally.

@Morganamilo

This comment has been minimized.

Copy link
Contributor

@Morganamilo Morganamilo commented Jun 15, 2018

Well it was replaced, just added back in the next edit. https://wiki.archlinux.org/index.php?title=AUR_helpers&diff=prev&oldid=526187

force is depreciated but I guess it is still usable. I guess force is fine then.

@actionless

This comment has been minimized.

Copy link
Owner Author

@actionless actionless commented Jun 16, 2018

also i was thinking what if helper does some unaccepted thing not by default but still does it then it should be still yellow/red entry, that by default phrase in aur wiki criteria could be easily exploited

@Morganamilo

This comment has been minimized.

Copy link
Contributor

@Morganamilo Morganamilo commented Jun 16, 2018

Most people are not looking to exploit the wiki.

@actionless

This comment has been minimized.

Copy link
Owner Author

@actionless actionless commented Jun 16, 2018

so let's allow other helpers do weird stuff just because it's not by default?

@actionless

This comment has been minimized.

Copy link
Owner Author

@actionless actionless commented Jun 16, 2018

i think in case when it's possible to enable/disable weird stuff it should be state "Optional" with the same color as Partial or No would be for the same violations if they won't be optional

@actionless

This comment has been minimized.

Copy link
Owner Author

@actionless actionless commented Jun 16, 2018

btw subj feature (dynamic pacman answers) is reverted for the next release, since Syu separation seems to be less dangerous/potentially-buggy

@actionless actionless changed the title Pikspect: dynamically answer Pacman's questions instead of pre-computing the answers before starting Pacman `Native Pacman` criteria Jun 16, 2018
@jmauss

This comment has been minimized.

Copy link

@jmauss jmauss commented Jun 25, 2018

Pikaur doesn't seem to be showing on the AUR helper list at all now... any reason for this?

EDIT: Forgive my ignorance, I asked without reading through the entirety of this very long thread - but I understand now going back through it. Thanks

@IgnusG

This comment has been minimized.

Copy link

@IgnusG IgnusG commented Jun 25, 2018

It was moved into discussions due to:

conflicting and non-resolvable opinions regarding how pikaurAUR handles the Native pacman column as well as lacking documentation

Although I feel like if that’s the case, it should be included in “Discontinued or Problematic”

@actionless

This comment has been minimized.

Copy link
Owner Author

@actionless actionless commented Jun 25, 2018

@seafox

This comment has been minimized.

Copy link

@seafox seafox commented Jul 5, 2018

Let's be consistent here.
Do NOT allow the specific classification approach taken on the Arch wiki page to rule out and completely exclude the popular thus widely known AUR helper from the list. That's not only unjust to the author and the Arch user base, but very much looks like completely wrong method to resolve technical issues by using self-willed administrative force as the way to skew fundamentally a tech dispute. Enforcing censorship within a largely open source society is completely unacceptable! Please stop the stupidity and return pikaur helper to the relevant Arch wiki page ASAP!

Another thing to mention is that the notice of default and alternative modes should be clearly stated (optionally with a distinct cell color as the maximum warning measure), but is never acceptable as the discriminative factor for ban or even as an excuse for moving a helper to another table or category (like "problematic"). The reason is the most users can easily either put the implemented "problematic" switches into helper's config file, or use these features as inline arguments in scripts or even aliases. Thank you for long read 💯

@seafox

This comment has been minimized.

Copy link

@seafox seafox commented Jul 5, 2018

AUR helpers sorted by popularity (list data as on 5th of July 2018): $ pacaur -Ssq aur helper
1 aurman
2 yay
3 pikaur
4 pacaur
5 aurutils
......(total 30)

@AladW

This comment has been minimized.

Copy link

@AladW AladW commented Jul 5, 2018

Not sure what I should be more impressed by, you making the most stupid remark in this 250+ comment thread, or you upvoting it yourself.

@seafox

This comment has been minimized.

Copy link

@seafox seafox commented Jul 5, 2018

upvoting was to test if one can keep on the subject or flow with its emotional bias 🥇

@AladW

This comment has been minimized.

Copy link

@AladW AladW commented Jul 5, 2018

On the subject, someone moved pikaur from the wiki discussion page to the main article. Let's see if actionless will play along or if this whole thing will start over again.

@actionless

This comment has been minimized.

Copy link
Owner Author

@actionless actionless commented Jul 6, 2018

since my effort to improve the wiki criterias wasn't so much appreciated i think i will simply exclude myself from such discussions to avoid people feeling "trolled" and will just ask one of active users to make updates on the wiki in case of functionality updates

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
9 participants
You can’t perform that action at this time.