Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Portage-NG: brainstorming
View unanswered posts
View posts from last 24 hours

Goto page Previous  1, 2  
Reply to topic    Gentoo Forums Forum Index Gentoo Chat
View previous topic :: View next topic  
Author Message
steveL
Watchman
Watchman


Joined: 13 Sep 2006
Posts: 5153
Location: The Peanut Gallery

PostPosted: Thu Sep 25, 2014 6:01 am    Post subject: Reply with quote

Al-Caveman wrote:
But this is sort of superficial. I.e. looking/sounding doubtful about the time
complexity analysis (a topic) does not mean that I don't know how portage
should work to properly resolve deps (another topic).

I could obviously be wrong about the dep resolution process too, but it would
be better if someone tells me what is wrong about them (as opposed to saying
"you were wrong in a different topic, therefore you must be wrong now too").

For me, the real point is that you're expecting other people to tell you things, and to discuss this all in-depth without exploring anything yourself. Programming takes initiative.

Too much reliance on "doesn't mean" instead of clear unequivocal language that shows you know what you're talking about, or at least have coded something similar before, such that you are qualified to design such an application.

Again, like I said, this is not to rain on your parade: just to tell you to start where you are, instead of on top of a castle in the sky.

Personally I feel like I've laid out some of the basics, and given you clear answers to "what's relevant" and "where can I find out about this", but you've just chopped those parts out and continued to go on about "indexing".

Even the "how do you know I don't know this?" question feels more like "how can you see through me?" as if you're more interested in presenting a better deception next time, than in actually learning the craft. Continuing to witter on about "fixing all the problems and not settle for just 'good enough'" and "optimal algorithms" just sounds like hyped-up nonsense from a college student, or perhaps an "enterprise developer/consultant" (aka a student who's just graduated.)
Back to top
View user's profile Send private message
Al-Caveman
n00b
n00b


Joined: 21 Sep 2014
Posts: 39

PostPosted: Mon Sep 29, 2014 4:51 am    Post subject: Reply with quote

Please. The topic is about Portage-NG. The topic is not about "Criticize
Al-Caveman's behaviour while he is attempting to contribute back to the Gentoo
community for free"
.

Please stop criticizing my way of doing things. I'm doing this free and
it's for the community. Plus, I'm planning to code it myself in my free time.
So at least, if anyone feels that he/she knows something that would be of use,
please share it. But if you don't want to share anything, that's OK (I'm not
going to wage a war on you).

So yeah, I'm lazy, and I hereby open my mouth (fully opened) waiting for
anyone from this community who wants to spoon-feed me some nuggets.

But if there is none who want to spoon feed me with such tasty nuggets, then
I'll go the harder route. However, I won't torture myself by going to this
harder route without trying the existing of an easier route.

It's all free stuff. I didn't complain about my personal behaviour. You
shouldn't complain either. At least keep this on-topic.

But feel free to complain about the techie stuff about Portage-NG (it's on
topic and would help me).
Back to top
View user's profile Send private message
hasufell
Retired Dev
Retired Dev


Joined: 29 Oct 2011
Posts: 429

PostPosted: Mon Sep 29, 2014 2:52 pm    Post subject: Reply with quote

Al-Caveman wrote:
Please. The topic is about Portage-NG. The topic is not about "Criticize
Al-Caveman's behaviour while he is attempting to contribute back to the Gentoo
community for free"
.

Just report those people who repeatedly spread ad-hominem arguments to the forum mods.
Back to top
View user's profile Send private message
steveL
Watchman
Watchman


Joined: 13 Sep 2006
Posts: 5153
Location: The Peanut Gallery

PostPosted: Mon Sep 29, 2014 5:41 pm    Post subject: Reply with quote

Al-Caveman wrote:
Please. The topic is about Portage-NG. The topic is not about "Criticize
Al-Caveman's behaviour while he is attempting to contribute back to the Gentoo
community for free"
.

Please stop criticizing my way of doing things.

You asked a question: "how do some of you know that I don't know how to handle the complexity of use flags? :p Did I say anything wrong (except my O(m log n) madness)?"

Krinn answered with "how you speak about it", and so did I. If you don't want answers to those questions, then don't ask them. If you get answers along the lines of "you look like a padawan" what's the big deal? Everyone starts somewhere: we all started out knowing nothing about whatever topic it is you care to mention.

As for "contributing for free" what on earth does that have to do with technical rigour?
Quote:
So yeah, I'm lazy, and I hereby open my mouth (fully opened) waiting for anyone from this community who wants to spoon-feed me some nuggets.

The trouble is you're completely blanking the person who's actually feeding you, and acting like they haven't even spoken, except possibly to spuriously vindicate yourself about "indexing".
Quote:
It's all free stuff. I didn't complain about my personal behaviour. You shouldn't complain either. At least keep this on-topic.

IDK what you're talking about now. I have nfc what your personal behaviour is like, nor wtf it has to do with this thread. We're not meeting in person, we're discussing on an internet chat-forum, with all the associated pitfalls.

As for "free stuff" we haven't seen any stuff yet; just some random scribbles on a webpage. No offence but you sound like Poettering there ("C'mon guys this is free, we're giving you this stuff for free, c'mon..".)
Quote:
But feel free to complain about the techie stuff about Portage-NG (it's on topic and would help me).

No-one's complaining about anything, that I've read, apart from you complaining about getting direct answers to your questions, which you then either ignore or misinterpret. My advice would be to stop reacting so defensively, and reread the entirety of this topic, as if the questions you asked had been put by someone else. Do the answers really seem so unreasonable?

How about discussing books and algorithms pointed out to you, rather than pretending they haven't been mentioned?

Is getting a book that shows you the exact algorithm you're discussing (dependency resolution) and explains the background to it, such a big deal? If so, then it begs the question just how serious you are about this.

More though, it begs the question: why do you keep acting as if that content hasn't been given?

In any event, I'd happily discuss the technical things, if you actually focussed on them. However you seem to want us to do the job of a textbook, and sorry but this is totally the wrong medium for that. Read up some more, write some actual code, and then you'll actually have something to discuss. Basically what I told you in the beginning: explore the problem-space.

eg on your site this is incorrect: "While z is a large number (compared to x and y), it is still not that large! It cannot be larger than wc -l /var/lib/portage/world which, in my case, is 191."

The full set is equivalent to what you'd get from: emerge -ep world; world packages listed and all their dependencies.

You started this topic with:
Quote:
I think it's a good idea to stick to enhancing the dependency resolver. Feel free to post your different opinions.

..and I had high hopes of an actual technical discussion; but it turned out you don't know the basics of dependency resolution, and when I dug out the info for you, you reacted badly and effectively ignored me. As you did to a straight response to your own question, which appears to have touched a nerve. My apologies for any offence caused.

So without further offence, I'm out. Nothing personal, as I don't know you and I don't take what somebody says on the internet personally. (That's a recipe for insanity.) It's purely about effective use of time.

Good luck with your exploration of this topic.
Back to top
View user's profile Send private message
steveL
Watchman
Watchman


Joined: 13 Sep 2006
Posts: 5153
Location: The Peanut Gallery

PostPosted: Mon Sep 29, 2014 5:45 pm    Post subject: Reply with quote

hasufell wrote:
Just report those people who repeatedly spread ad-hominem arguments to the forum mods.

Please stop stirring: or you're going to find yourself reported, and not to forum mods. After all you're supposed to act to a higher-standard. (which many of us long-term users find laughable, given the conduct of some "developers".)

If you can point out where someone actually made an ad-hominem attack directly about someone else, please feel free to take it up with your friends in comrel.

Otherwise keep your problems with me about past technical disagreements to the appropriate forum: /dev/null.
Back to top
View user's profile Send private message
Al-Caveman
n00b
n00b


Joined: 21 Sep 2014
Posts: 39

PostPosted: Tue Sep 30, 2014 2:33 pm    Post subject: Reply with quote

LOL
Back to top
View user's profile Send private message
Al-Caveman
n00b
n00b


Joined: 21 Sep 2014
Posts: 39

PostPosted: Tue Sep 30, 2014 2:51 pm    Post subject: Reply with quote

Lately I've been thinking for a while on some way to transform the existing
portage tree into some other data structure so that i can save them (later on)
in some binary format that is in my view really efficient (removing
constants as much as I think is possible).

But this requires me reading those ebuild files to figure out:
- all kinds of deps.
- the conditions that actiave the deps.

So far the only option in my mind is by using Perl and some regexp voodoo
which I feel is total madness and a path towards lots of errors.

Does anyone have any suggestions on extracting the said information without
manually parsing the ebuild files?
Back to top
View user's profile Send private message
steveL
Watchman
Watchman


Joined: 13 Sep 2006
Posts: 5153
Location: The Peanut Gallery

PostPosted: Tue Sep 30, 2014 6:08 pm    Post subject: Reply with quote

Al-Caveman wrote:
Does anyone have any suggestions on extracting the said information without
manually parsing the ebuild files?

Use the metadata cache. Also, read up on metadata generation (which requires a bash process per ebuild.)
Back to top
View user's profile Send private message
Al-Caveman
n00b
n00b


Joined: 21 Sep 2014
Posts: 39

PostPosted: Sun Oct 05, 2014 6:43 pm    Post subject: Reply with quote

Any links? I couldn't find anything friendly.
Back to top
View user's profile Send private message
Al-Caveman
n00b
n00b


Joined: 21 Sep 2014
Posts: 39

PostPosted: Sun Oct 05, 2014 7:09 pm    Post subject: Reply with quote

After asking in the IRC channel, it seems that there is a thing called
"metadata.xml". Is this the one you refer at?

As far as I know, this doesn't contain dependencies and conditions that
trigger the dependencies.

I hope I'm wrong. Please clarify.
Back to top
View user's profile Send private message
steveL
Watchman
Watchman


Joined: 13 Sep 2006
Posts: 5153
Location: The Peanut Gallery

PostPosted: Mon Oct 06, 2014 11:59 pm    Post subject: Reply with quote

The metadata cache is on your file-system in /usr/portage/metadata/md5-cache/

See man egencache which is part of portage:
Code:
qlist sys-apps/portage | grep -E '/usr/s?bin/'
qlist is part of portage-utils if you don't have it yet.

You will also need gentoolkit, if you haven't already got it.

And you had better learn #bash properly.
Back to top
View user's profile Send private message
Al-Caveman
n00b
n00b


Joined: 21 Sep 2014
Posts: 39

PostPosted: Wed Oct 08, 2014 1:31 pm    Post subject: Reply with quote

steveL wrote:
The metadata cache is on your file-system in /usr/portage/metadata/md5-cache/

See man egencache which is part of portage:
Code:
qlist sys-apps/portage | grep -E '/usr/s?bin/'
qlist is part of portage-utils if you don't have it yet.

You will also need gentoolkit, if you haven't already got it.

And you had better learn #bash properly.

Thanks man this is neat! It clearly helps getting the list of deps quicker.

But what I missed from there is the conditions that relate IUSE flags with
deps. I.e. it seems to me that it just lists all the possible deps without
saying which deps are activated when using which USE flags.

Am I right? If so, then any solution to get the conditions too?
Back to top
View user's profile Send private message
John R. Graham
Administrator
Administrator


Joined: 08 Mar 2005
Posts: 10589
Location: Somewhere over Atlanta, Georgia

PostPosted: Wed Oct 08, 2014 2:28 pm    Post subject: Reply with quote

If you mean which dependencies are active based on the currently in effect USE flags, that information cannot be cached because it may be different on each run of the package manager. You must:
  1. Determine the effective USE flags.
  2. Calculate the actual dependencies in that context.
- John
_________________
I can confirm that I have received between 0 and 499 National Security Letters.
Back to top
View user's profile Send private message
steveL
Watchman
Watchman


Joined: 13 Sep 2006
Posts: 5153
Location: The Peanut Gallery

PostPosted: Thu Oct 09, 2014 6:03 am    Post subject: Reply with quote

What John said. Seems to me that you're putting the cart before the horse though; as I said at the beginning, first you need to know how resolve (or calculate) dependencies at all; in a vanilla context.

Then you can look at how that changes given options which add dependencies, and possibly conflicts with other settings.

OFC you do the first with a mind to how it will change for the second, but you still need to know how to do that as a prerequisite.

If you confuse learning how to do the first, with trying to implement the second, you'll end as yaf person who got us to help with this, and then flaked out.
That could happen anyway, but without the basics it will definitely happen, imo.

You seem to be doing the age-old "I'll put up a plan, but I won't discuss the nitty-gritty, since now my pride is on the line, and I have to do it all on my own, presenting a completed thing after I'm done."

That may not be you, but if it is you should know: firstly it won't happen, and secondly that pride is what stops people from making real progress.

If it's not then you won't mind me talking about it, since it doesn't apply to you.
Back to top
View user's profile Send private message
John R. Graham
Administrator
Administrator


Joined: 08 Mar 2005
Posts: 10589
Location: Somewhere over Atlanta, Georgia

PostPosted: Thu Oct 09, 2014 2:26 pm    Post subject: Reply with quote

Well, yes, but writing the two pieces of code to resolve those tasks will be potentially unwasted effort. At the very least, he'll learn a lot.

@Al-Caveman, are you aware of app-doc/pms? If not, you should give it a read.

- John
_________________
I can confirm that I have received between 0 and 499 National Security Letters.
Back to top
View user's profile Send private message
mv
Watchman
Watchman


Joined: 20 Apr 2005
Posts: 6747

PostPosted: Thu Oct 09, 2014 2:54 pm    Post subject: Reply with quote

You might also have a look how eix implements its "cache method"s:
From using the metadata, or the data in /var/cache/edb, over various heuristic scanning (cache methods: parse, parse*), hackish ebuild execution (cache method: ebuild*), using portage for generating metadata (method: ebuild), up to using various portage database backends (sqlite, cdb), everything can be found there.
Be aware, however, that heuristics like parse and parse* are not reliably enough for a reasonable package manager.
Back to top
View user's profile Send private message
Al-Caveman
n00b
n00b


Joined: 21 Sep 2014
Posts: 39

PostPosted: Tue Oct 14, 2014 9:18 pm    Post subject: Reply with quote

John R. Graham wrote:
Well, yes, but writing the two pieces of code to resolve those tasks will be potentially unwasted effort. At the very least, he'll learn a lot.

@Al-Caveman, are you aware of app-doc/pms? If not, you should give it a read.

- John

I haven't but with some google, it turns out to be the EAPI documentation.
Like how ebuilds are formated. Am right?
Back to top
View user's profile Send private message
John R. Graham
Administrator
Administrator


Joined: 08 Mar 2005
Posts: 10589
Location: Somewhere over Atlanta, Georgia

PostPosted: Tue Oct 14, 2014 10:45 pm    Post subject: Reply with quote

Way more than that. Rather than ask, just take a look. It's installable with Portage: just emerge it. ;)

- John
_________________
I can confirm that I have received between 0 and 499 National Security Letters.
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
Page 2 of 2

 
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