polygamma / aurman

AUR Helper
MIT License
567 stars 35 forks source link

Choose packages used for devel skipping dependencies #247

Closed frealgagu closed 6 years ago

frealgagu commented 6 years ago

Taking into account that new flag was added ( --devel_skip_deps ), there is some possibility that we can choose what packages to skip dependencies? maybe in the configuration files or manually in command line?

I'm not sure how this change affects. If dependencies are not fulfilled that means that pkgver() is not executed at all?

Thanks for the clarification.

polygamma commented 6 years ago

https://github.com/polygamma/aurman/issues/245

does this issue answer your questions? if so, do you think that there is still the need to allow the skipping for certain packages only?

frealgagu commented 6 years ago

OK, I've understood, it's not necessary to install the dependencies to obtain the version most of the time.

If I add --devel_skips_deps flag and there is a new version found, the dependencies are installed automatically, aren't they?

If we know beforehand we need the dependencies installed to get the correct pkgver, could somehow the dependencies be installed with some additional flag? maybe --devel_install_deps or something?

Thanks in advance.

polygamma commented 6 years ago

The problem is, that it's not possible to automatically detect, which dependencies are needed in order to run makepkg -odc without errors, which is the reason why aurman is not going to install the needed dependencies automatically. The user gets a message, listing the possibilities on how to deal with the situation, and he may choose one of them. In case he wants to install all dependencies, he has to do it with a normal aurman call, I have currently no intention to add additional code for that. That would require quite a lot of code, whereas it is very easy for the user to install the dependencies with a second aurman call

frealgagu commented 6 years ago

I've noticed that before the change, aurman was just calling pkgver(), but now it's calling prepare function() also.

Is there a way to skip the prepare() function?

I have an installed package whose prepare function takes a lot and each time I need to see if there is a new version for this package.

https://github.com/polygamma/aurman/commit/dc2bba64379dfc8b7559582786ddaa30220bc0ad

polygamma commented 6 years ago

Well, and another problem: Some AUR packages like chromium-widevine actually need prepare() to be run in order to be able to run pkgver(). If you skip prepare() as it was done before, that may lead to failing pkgver(), but if you do not skip it, that may take more time, even though it is not needed, as in your case. All of those things are impossible to detect automatically.

I am currently not happy with some solutions for problems, take e.g. a look at https://github.com/polygamma/aurman/issues/246 which needs .SRCINFO parsing for a clean solution.

As with this problem, I am not happy with the solution, too. But I am honestly not sure what to do, in order to solve this right and not painful. Running prepare() is more robust, but slower. Surely one could start to add even more configuration options, to activate and deactivate running of prepare() for certain packages, but holy shit, even as of now does aurman support so much configuration, should it be even more?

eli-schwartz commented 6 years ago

makepkg is designed and intended to run pkgver() from within a srcdir that has had sources extracted, makedepends installed, and the prepare() function run.

makepkg supports features like --noprepare or --nodeps to work around this by giving the user fine-grained control, but AUR helpers usually take a higher-level view of this. That being said, aurman could forward --noprepare to makepkg, and assume that the user understands the impact of this and takes responsibility for anything that may break.

frealgagu commented 6 years ago

Then, does not make sense to you to forward --noprepare to makepkg such as @eli-schwartz suggest?

polygamma commented 6 years ago

no?

frealgagu commented 6 years ago

Could that to be implemented?

eli-schwartz commented 6 years ago

I did not suggest it makes sense to do so, I suggested that it could be implemented that way. polygamma has decided not to implement this at all, hence the "wontfix" label.

Anything "could" be implemented, but that's the wrong question to ask. You should instead ask "are you willing to implement such a feature".

The answer to which has been given:

no?

frealgagu commented 6 years ago

It's just that there are changes which impact the functioning, until two days ago if I want to look for upgrades only a couple of seconds I needed to know, now I need to spend almost 15 minutes waiting for the prepare(). And I just wanted to ask for them, but always I ask something in this project I feel a hostile enviroment (which I haven't seen in other projects). I don't know if ask or not, in any moment I could be banned because something changed in the last days and I didn't notice it.

I was happy when this helper appeared and even at the beginning I suggested some changes. Now I want to leave, install a previous version and block the automatic upgrades of aurman. Maybe in a future I can see a less hostile environment or an alternate helper which supplies my needs (or even time to build my own).

polygamma commented 6 years ago

What was hostile about this issue? Saying "no"?

polygamma commented 6 years ago

What was hostile about this issue?

That was not meant as rhetorical question