Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
On the comparative merits of package managers.
View unanswered posts
View posts from last 24 hours

Goto page Previous  1, 2, 3  
Reply to topic    Gentoo Forums Forum Index Gentoo Chat
View previous topic :: View next topic  
Author Message
TomWij
Retired Dev
Retired Dev


Joined: 04 Jul 2012
Posts: 1553

PostPosted: Thu Aug 28, 2014 8:37 pm    Post subject: Reply with quote

The Portage basics are given up front in the Gentoo Docs and/or Gentoo Wiki, the rest can easily be found later in `man portage` and `man emerge`; Google can find these if you look for them in that way, as they are in the locations where you expect them to be similar to other distributions. The information on unmasking an USE flag can be found in `man portage`. The documentation comes over as dense to me, located in a prominent place; I don't have problems finding and understanding information in it. Beyond that; there is support on the forums, mailing list, IRC, ... which can answer more specific questions.

---

With regards to rewriting and profiling, recent arguments that we could use a new well designed input format and other relevant side topics are interesting. One such side topic would be better communication with upstream with regards to rebuilds; eg. subslots are currently deduced from the result (eg. SONAME) rather than simply deduced from upstream's ChangeLog or so, this is not always the most favorable way to go about it. The downside of these arguments are that they are not something that can be changed from one day to the other, or at least not in the environment of Gentoo; the impression is given that ebuilds and SONAMEs are here to stay, so at the very least we can try to start by making and keeping them consistent.

Summing up some of the recent gentoo-dev mailing list threads we get the general idea that people are attempting to fix the holes in our current input format; it is a start, but a long way from the ideal.

Given the small one man army improvements rewriting and profiling would give compared to a new input format and other side topic improvements; I'm no longer focusing on that, but rather plan to focus more on QA as in improving tools like repoman when time permits. Rewriting or refactoring an entire package manager is too much to handle for a single person; so, focusing on small parts instead should get us further and get people interested.
Back to top
View user's profile Send private message
hasufell
Retired Dev
Retired Dev


Joined: 29 Oct 2011
Posts: 429

PostPosted: Fri Aug 29, 2014 11:57 pm    Post subject: Reply with quote

Navar wrote:
hasufell wrote:
recent details involve relying on a feature which is [...]

Hm. Strong enough points. Why isn't repoman being used to prevent these issues in particular?

The problems that broken feature caused were not obvious. People are rarely able to identify the root cause of problems portage causes, because they are used to workarounds... or they don't even notice them anymore.

Also, I'm not sure if such a check could be reliably implemented. It's the wrong approach to fix. The right fix is to remove dynamic deps support and that's where we are going, but it will not be over night.

Navar wrote:
hasufell wrote:
And we have more of it, like overuse of REQUIRED_USE which was _never_ meant as a common way to express dependencies between configure switches. It's only purpose was to not make reverse deps break. Still people use it in all sorts of random ebuilds and force users to micro-manage flags in an incredibly useless way, as well as making tinderboxing harder. It also causes unreadable error messages in package managers and confuses them in weird ways, breaking more features like portage suggestions on how to fix stuff.

This I have quietly questioned a number of times; whether the restrictions were valid or not and how often non-obvious to resolve it is for users. I can only imagine the pain and interruptions of multi profile/use tinderbox combinations. I've just dealt with the issues as they've affected me passively thinking there was a direct cause/need for their use. I glance at the dev ML archives when I find time or a particular topic I'm searching on. Is there any effort/reason why there's not say a monthly list (by package/ebuild revision) trying to resolve overuse/abuse of that particular matter? Like in the way I've seen lists generated there before for maintainer-ship (temp proxy or abandoned) or tree removal.

It's really bad. People are required to interpret required use constraints themselves and _guess_ why those restrictions are in place.

The correct way is to
* express dependencies between USE flags in metadata.xml! That's what it is for, descriptions for USE flags. Write down what the user needs to know in order to make an informed choice. Don't just rely on random global USE flag descriptions that say nothing. Don't use "python" flag for expressing the option of an additional gui... it's like having a USE flag called "C" that does... well, something, because the feature was written in C... err.
* use pkg_setup to check for chosen USE flag consistency and make a sane choice if the user has chosen an impossible combination and warn him about it

Ofc REQUIRED_USE is still being used for libraries where we have to ensure that reverse-deps don't break. And that's the only valid use case, IMO.

But after all, only QA or council can use the hammer to disallow such things. But neither of them do. Ulm always runs around telling people to not overuse this variable, so the PMS guys seem to dislike the current situation as well.

But we are drifting off again...
Back to top
View user's profile Send private message
hasufell
Retired Dev
Retired Dev


Joined: 29 Oct 2011
Posts: 429

PostPosted: Sat Aug 30, 2014 12:26 am    Post subject: Reply with quote

shazeal wrote:
hasufell wrote:
Erm?

Unmasking use flags using paludis is totally equivalent to portage except that you have to add an eapi file with only "5" in it to the profiles/ folder.

The fact that portage does not need this file is not relieving.


I dont understand, none of this is documented afaik. Can you explain exactly how you would go about doing this? That support post suggests that you need to write a profile for each repository which unmasks the use flag.

You are saying I just create a file called eapi with 5 in it and it unmasks stuff?

Code:

# ls /etc/paludis/profile/
eapi  use.stable.mask
# cat /etc/paludis/profile/eapi
5
# cat /etc/paludis/profile/use.stable.mask
-python_targets_python3_4
-python_single_target_python3_4
-pypy
-python_targets_pypy
-system-wine
-abi_x86_32
-polarssl
-luajit


EDIT: you also need to edit the repositories/gentoo.conf file... the profiles line should look something like this
Code:

profiles = /usr/portage/profiles/default/linux/amd64/13.0 /etc/paludis/profile


shazeal wrote:

Another thing that seems overly complicated is the package.provided, I dont want nor use the gentoo-sources, I make my own kernel. The documentation simply states...
Quote:

Portage supports pretending that a package is installed for the purposes of dependency resolution via a file called package.provided. Paludis provides a cleaner approach, in the form of cave import. cave import allows you to more cleanly reinstall, uninstall, and upgrade unpackaged packages, using the same sort of merge/unmerge process that paludis uses for ebuilds.

To use cave import, you will first have to configure an installed_unpackaged format repository.

To get a more direct equivalent of package.provided, you can "install" an empty directory with cave import.


What does this even mean? Seriously, it just feels so damn over complicated. There seem to be zero examples of how to do this kind of thing anywhere in the documentation unless the official site is the wrong place to look?

There is an example even in the man page.

Configure the repository and then use cave import. Pretty straight forward.
shazeal wrote:
Quote:

Sync while doing anything else

If you think this'll work, buy a mac.


Trolling in the docs?
The site claims Paludis to be stricter, and constantly bashes on the broken state of emerge. Yet it feels like Ive gone back 20 years and am dialing up some BBS and trying to ask for help from some socially retarded sysop when I try and read the documentation.

Paludis seems like a nice idea, and when I read the features it sounds amazing, like its going to rock my world. But as soon as I try and start using it I feel like I am a slave to the system everything takes so much work to get anywhere. And that is saying alot considering how much work emerge takes compared with other distros package mangers.

Yes, the documentation could be better and less smart-ass-ish.

Yes, paludis could be way more user-friendly.

Also, I tried hacking on it a bit once. I did not find a single function/class documentation. Not sure if I was looking in the right place.


Last edited by hasufell on Thu Sep 25, 2014 9:47 pm; edited 1 time in total
Back to top
View user's profile Send private message
shazeal
Apprentice
Apprentice


Joined: 03 May 2006
Posts: 206
Location: New Zealand

PostPosted: Sat Aug 30, 2014 5:06 am    Post subject: Reply with quote

Thanks for all that. I may give it another try in a VM.

Would you say it is best to use Paludis from a fresh install of Gentoo rather than Switch after using Portage?

I did use Paludis some years ago and remember it being an absolute nightmare trying to resolve all the issues that Portage had created for Paludis.

With regards to the sparse vs dense on the Gentoo docs, I agree it is all there somewhere. But in comparison Paludis has the majority of the documentation (albeit in a horrid format) on it's website. Where Portage spreads it about wrt to User/Developer and is scattered over the Wiki/Main Docs/Man pages etc in varying states of completeness.
While the Paludis documentation is lacking for a first time user it has most of what you would need in one place. Portage takes the inverse approach.
_________________
CFLAGS="-OmgWTFR1CE --fun-lol-loops --march=asmx86go"
Back to top
View user's profile Send private message
hasufell
Retired Dev
Retired Dev


Joined: 29 Oct 2011
Posts: 429

PostPosted: Sat Aug 30, 2014 12:59 pm    Post subject: Reply with quote

shazeal wrote:
Would you say it is best to use Paludis from a fresh install of Gentoo rather than Switch after using Portage?

I did use Paludis some years ago and remember it being an absolute nightmare trying to resolve all the issues that Portage had created for Paludis.

It is indeed a nightmare. A lot of issues are caused by dynamic deps I believe. These you could even resolve while still being on portage, use '--dynamic-deps=n' and watch how it breaks.


Also mind that subslots currently don't work well in paludis. That's not a big issue yet, but might become one when subslots usage increases in the tree. But that's already reported upstream
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Gentoo Chat All times are GMT
Goto page Previous  1, 2, 3
Page 3 of 3

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum