Re: [gentoo-user] Bin packages Portage (-g/-k)
begin quote On Fri, 19 Dec 2003 23:23:55 -0500 (EST) Nick Fisher [EMAIL PROTECTED] wrote: Metadata is all data that relates about a package. Most important are the dependencies, controlled by USE flags, the license, homepage, description and so on. :) This explains alot how can I query it? Is there some gentoolkit thing? Other than portage, not that I know of. Is it just a file in the tbz? The latter part of the .tbz is a compressed plaintextblock, so I guess thats it. I guess you'd need to have them around for dependency tracking though. (since portage in this mode probably doesn't even use the portage tree ) The only thing that makes real sence to me is that -K doesn't consult the portage tree in /usr/portage but what would the point of that be? Versioning probably. And the fact that this might allow you to remove all ebuilds and so on from your portage tree. I can see why the dependancys of the packages have to be found from the metadata in the tbz, but why does the dependancy's dependancys have to be found from a tbz of that dependancy? Because it needs to calculate a full dependency graph to make sure everything is satisfied. On a slightly different note, is the building of binary packages realy all that rare? I would have thought that there were a few good few power users out there with multiple systems doing this all the time... but I can find next to nothing about it in the docs or searching... is this just done by the gentoo maintainers for GRPs and stuff? quite rare. To build them reproducibly you have to wipe the buildhost between the builds, or build-sessions. This takes time and is rather demanding on systems. My current system is that of manual intervention, most things are scripted, but I oversee them for hand with each build. (this is also necessary for signing and upload, the keys have passwords. And I don't trust automation.) http://chinstrap.alternating.net/ for the URI. //Spider -- begin .signature This is a .signature virus! Please copy me into your .signature! See Microsoft KB Article Q265230 for more information. end pgp0.pgp Description: PGP signature
[gentoo-user] Bin packages Portage (-g/-k)
Hello People, I have been playing with binary packages in portage for a week or so now, I have a laptop that takes AGES to do compiles. I've tryed a number of other approaches (distcc, nfs portage ect) but binary packages seem to work the best for my situation. However there don't appear to be any docs on this subject, indeed even some of the flags that portage uses (like -g) for binary packages do not even appear to be in the man pages. This makes the whole process a *bit* confusing. So if there are any people out there who deal with binary packages alot... please can you help me out with the following questions. What and how is metadata stored in binary packages? I read about the metadata all the time but I'm not sure what it actually consists of. I would guess the USE flags and gcc options that were used to make the package. but I really would like to find out for sure. I'm fairly sure if I understood that a number fo the below questions would answer them selfs. Should -K require binpackages for all dependancys? I *have* read the docs here. I can understand some of the rational. However if I have packages B and C installed and I want to install package A, with -K. not only do I have to have a binary for package A, but I also have to have binarys for B and C too. This seems odd to me, I was expecting that -K would require that all unmerged packages and unmerged dependancys would require a binary package, not that all merged and unmerged packages require binarys. Does anyone know if that is the way it's supposed to work? Perhaps does anyone know why? -K would be an excellent idiot switch to stop my laptop doing compiles if I forgot to make a package but currently it's WAY too much hassle to use. Why does -puvg --deep world differ from -puv --deep world? Any ideas? Recently I got this from wihtout -g: [ebuild U ] media-libs/libvorbis-1.0.1 [1.0-r4] [ebuild N] app-text/docbook-xsl-stylesheets-1.62.0-r1 [ebuild N] app-text/docbook-xml-dtd-4.1.2-r4 and this with -g: [ebuild U ] media-libs/libvorbis-1.0.1 [1.0-r4] Does --deep just not work with -g? I thought of that and ran --puv world but I still got the first answer and not the second. Why does -g download already merged dependancys? Now this is getting on my nerves as I really don't have much room on my laptop's disk. When I use -g with BINHOST (set in make.conf), I don't just download the required packages from BINHOST, I also download a pantload of the dependancys. This *really* confuses me, especially as the deps are already calculated and installed. Why does portage need the binarys too? Is there any way to stop that? Is it a bug? Many thanks to any portage gurus responding ;) Nick -- [EMAIL PROTECTED] mailing list
Re: [gentoo-user] Bin packages Portage (-g/-k)
So if there are any people out there who deal with binary packages alot... please can you help me out with the following questions. I guess I should volounteer here as that is something I do ;) Cool! What and how is metadata stored in binary packages? USE flags used, and thereby dependencies are stored in the package, so when you use downloaded packages, they override your own USE flags. CFLAGS are stored there as well (obviously , they are binary) I read about the metadata all the time but I'm not sure what it actually consists of. I would guess the USE flags and gcc options that were used to make the package. but I really would like to find out for sure. I'm fairly sure if I understood that a number fo the below questions would answer them selfs. Metadata is all data that relates about a package. Most important are the dependencies , controlled by USE flags, the license, homepage, description and so on. :) This explains alot how can I query it? Is there some gentoolkit thing? Is it just a file in the tbz? Should -K require binpackages for all dependancys? I *have* read the docs here. I can understand some of the rational. from man emerge quote --usepkgonly (-K) Behaves just as --usepkg except that this will only emerge binary packages. All the binary packages must be available at the time of depend /quote Yup that was all I could find... As I understand it it will only use binaries, never compile locally. Well that's the way I took it too. And at the time I took it as a bug (as you suggest below) and this was the result: http://bugs.gentoo.org/show_bug.cgi?id=35070 However if I have packages B and C installed and I want to install package A, with -K. not only do I have to have a binary for package A, but I also have to have binarys for B and C too. This seems odd to me, I was expecting that -K would require that all unmerged packages and unmerged dependancys would require a binary package, not that all merged and unmerged packages require binarys. Seems a bit odd that it would force the -re- emerging of packages. I think you misunderstand... it doesn't want to remerge them, it just wants the tbzs present. I guess you'd need to have them around for dependency tracking though. (since portage in this mode probably doesn't even use the portage tree ) The only thing that makes real sence to me is that -K doesn't consult the portage tree in /usr/portage but what would the point of that be? I can see why the dependancys of the packages have to be found from the metadata in the tbz, but why does the dependancy's dependancys have to be found from a tbz of that dependancy? Does anyone know if that is the way it's supposed to work? Perhaps does anyone know why? -K would be an excellent idiot switch to stop my laptop doing compiles if I forgot to make a package but currently it's WAY too much hassle to use. Not too sure. :/ It's not the end of the world... I'm just want to get it straight whats going on before I move on. I get the feeling that there is some clever 'thing' that portage was designed to do with -K that I havn't thought of. Why does -puvg --deep world differ from -puv --deep world? Any ideas? USE flags probably. as -puvg --deep world will use USE flags and therefore dependencies from the online packages, and not those calculated from your machine and its tree. Actually I'm pretty sure it's not. I wrote a little python script, it gets a system's USE, CHOST and CFLAGS, sshs over to annother machine and sets the ENV to override the local portage then you compile... *perhaps* portage is finding the dependacys the packages listed in the world file by querying the metadata in the tbzs on the BINHOST that would be a real pain in the butt but would explain the behaviour. Now this is getting on my nerves as I really don't have much room on my laptop's disk. When I use -g with BINHOST (set in make.conf), I don't just download the required packages from BINHOST, I also download a pantload of the dependancys. This *really* confuses me, especially as the deps are already calculated and installed. Why does portage need the binarys too? Now this is is strange behaviour, I think it might be a safteyprecaution but I'm not sure at all. :/ Is there any way to stop that? Is it a bug? File a bug , put it nicely and question it, I'm sure that if the portage devs don't have a good reason, they can change the behaviour. :) I will have to pay extra carefull attention next time I'm doing a world build and make a bugzilla post I guess. On a slightly different note, is the building of binary packages realy all that rare? I would have thought that there were a few good few power users out there with multiple systems doing this all the time... but I can find next to nothing about it in the docs or searching... is this just done by the gentoo maintainers for GRPs and stuff? Many thanks to any