Well, the package format (which is really simple, and a quick and dirty hack) has the dependency information embedded in it, but there's no way to query the package without actually just downloading it. What you did (grope the metadata.conf files on the website) is the only way to do that right now.
If we're going to scale up the upload/download mechanism, this is one place for improvement. We really need a better way to look at a given "repository" (such an overloaded, overused term, but it seems applicable) and see what releases are available, for what platforms, and what the dependencies are. On Wed, Dec 22, 2010 at 12:39 PM, David Kaiser <[email protected]> wrote: > I understand that the dependency information is stored with the package > somewhere, and I had been digging through the ftp site and reading through > random metadata.conf and the common.tar.gz/etc files trying to figure out > what the dependency issue was. > > While I know that the predominant usage is not to download pre-built binary > releases, but to build locally, I was wondering what the options were in the > efs cli tools to explain or dump what the dependency tree was when you run a > command. Something was looking to pull in mysql, but hadn't displayed it to > the screen yet, so there must be an in-memory dependency tree based on the > command that has just been run? Any way to print that out? > > If I had known which package was asking for gcclib, I would have run that > one solo with the --norecurse option, although I'm sure some breakage would > have ensued :) > > > > On 12/22/10 8:32 AM, Phillip Moore wrote: > > > Well, until you have downloaded and installed gnu/gcclib/4.4.3, and at > least ONE of its dependents, there's no information in the database to > display yet. As soon as the mysql/core download has completed, re-run the > command, and you'll see the dependency information. > > The dependency data is specific to each EFS domain, and reflects the > content you have either built locally or downloaded from an external site. > > On Wed, Dec 22, 2010 at 11:17 AM, David Kaiser <[email protected]> wrote: > >> Well I had tried this command: >> >> [efs...@centos5 dev]$ efs showtree dependents gnu gcclib 4.4.3 >> No such release(alias) gnu/gcclib/4.4.3. >> >> So I've figured that I needed to have a few more things installed before >> the commands would have been useful here like they were for you. >> >> As the install is progressing now, right after gcclib/4.4.3 installed, >> mysql/core/5.1.49-build003 started downloading, so I guess if I could have >> pulled all that down and manually built it, I would have had the dependency >> tree that looks the same. >> >> More Later... >> >> David >> >> >> >> On 12/22/10 4:27 AM, Phillip Moore wrote: >> >> >> I only rebuilt the *new* gcclib, and I forgot that we have download >> dependencies on the old ones. *Why* we have that will be documented today >> when I commit the new gcc compiler documentation (WIP). Stupid of me to >> have overlooked those. >> >> All of the existing gcclib release should now (finally) be downloadable. >> Please retry it again. This should finally dot all the i's and cross all >> the t's. >> >> You're correct, efs/core doesn't depend directly on gnu/gcclib, but one >> of it's dependencies does. There's a command that can show the dependency >> OR dependents tree for a given release. In this case, to see what the >> dependents of gnu/gcclib/4.4.3 are: >> >> efs...@madefsd01$ efs showtree dependents gnu gcclib 4.4.3 >> Stage Depth Diststate Runtime Dependents >> ================================================================ >> dev 1 gnu/gcclib/4.4.3 >> dev 2 mysql/core/5.1.49-build003 >> dev 3 mysql/core/5.1.49 >> dev 4 perl5/DBD-mysql/4.017-build002 >> dev 4 perl5/DBD-mysql/4.017-build003 >> dev 4 perl5/DBD-mysql/4.017-build004 >> dev 5 perl5/DBD-mysql/4.017 >> dev 6 efs/core/2.999_003-build003 >> dev 6 efs/core/2.999_003-build004 >> dev 6 efs/core/2.999_003-build005 >> dev 6 efs/core/2.999_003-build006 >> dev 6 efs/core/2.999_003-build007 >> dev 6 efs/core/2.999_003-build008 >> dev 6 efs/core/2.999_003-build009 >> dev 6 efs/core/2.999_003-build010 >> dev 7 efs/core/2.999_003 >> dev 8 efs/core/dev >> >> Now, that's the state of the database in particle's boot.efs >> environment, and it shows that we have a bunch of older builds of a few >> things we just have been lazy about not yet cleaning up. When you get >> everything downloaded, you won't see all those interim releases. >> >> You can also us showtree to see the dependency tree the other way >> around, from the top down, for example: >> >> efs...@madefsd01$ efs showtree dependency mysql core 5.1.49 >> Stage Depth Diststate Runtime Dependencies >> ============================================================ >> dev 1 mysql/core/5.1.49 >> dev 2 mysql/core/5.1.49-build003 >> dev 3 gnu/gcclib/4.4.3 >> dev 4 gnu/gcclib/4.4.3-build001 >> dev 3 gnu/ncurses/5.7 >> dev 4 gnu/ncurses/5.7-build002 >> dev 3 oss/openssl/0.9.8o >> dev 4 oss/openssl/0.9.8o-build002 >> dev 5 oss/zlib/1.2.3 >> dev 6 oss/zlib/1.2.3-build001 >> dev 3 oss/zlib/1.2.3 (repeat) >> >> The next time we build mysql/core, it will end up inheriting a >> dependency on the latest gnu/gcclib releases for the compiler we use to >> build it. Assuming we build it with gcc44, which is currently gnu/gcc/4.4.5 >> now, then we'll end up with a dependency on gnu/gcclib/4.4.5. >> >> The details of WHY we have all this complexity should be published >> today. Writing those docs is on top of my queue today. >> >> On Wed, Dec 22, 2010 at 2:08 AM, David Kaiser <[email protected]> wrote: >> >>> Hi Phil, >>> >>> I re-ran the efs_bootstrap_content util script, and it ran pretty much >>> all the way through but then stopped with an error on the efs/core/2.999_003 >>> package. >>> >>> Downloading >>> http://ftp.openefs.org/packages/binary/gnu/gcclib/4.4.3-build001/src.tar.bz2 >>> Could not download url [ >>> http://ftp.openefs.org/packages/binary/gnu/gcclib/4.4.3-build001/src.tar.bz2] >>> to [/efs/dev/gnu/gcclib/4.4.3-build001/build/download/src.tar.bz2]: 404 Not >>> Found >>> Error running 'efs download release efs core 2.999_003' >>> >>> So, while I have gnu gcclib 4.4.2, 4.4.4 and 4.4.5 on my system, I don't >>> have 4.4.3. Is there a way I can set the dependency on efs/core/2.999_003 >>> to use gnu/gcclib/4.4.4 or gnu/gcclib/4.4.5? I did look at >>> http://ftp.openefs.org/packages/binary/efs/core/2.999_003/metadata.confbut >>> I don't see a direct dependency on gcclib/4.4.3, perhaps one of the >>> efs/core dependencies listed there has itself a dependency on gcclib/4.4.3 ? >>> >>> Perhaps the proper thing is to fix gnu/gcclib/4.4.3 like the others so >>> that it can be downloadable for now? >>> ( I'm guessing you have a process to promote a newer gcclib as part of >>> versioning efs/core/2.999_003 to 2.999_004... ) >>> >>> I *think* once I get this one fixed, the efs_bootstrap_content script >>> will run to completion, and I'll have a complete base system to then be able >>> to rebuild things from source. I *think*. :) >>> >>> Thanks, >>> David >>> >>> >>> >>> On 12/21/10 7:32 PM, Phillip Moore wrote: >>> >>> >>> Hey, I broke it, so.... :-) >>> >>> On Tue, Dec 21, 2010 at 10:31 PM, David Kaiser <[email protected]> wrote: >>> >>>> Hi Phil, >>>> >>>> Well it appears that the files are on the ftp server now, so I'll give >>>> it a go and I expect everything will install now. >>>> >>>> Thanks for the extra attention on fixing that. >>>> >>>> David >>>> >>>> >>>> >>>> On 12/21/10 7:15 PM, Phillip Moore wrote: >>>> >>>> >>>> Oops... I forgot to *delete* the attribute that limits the upload to >>>> just the installs. >>>> >>>> I've done that, and force uploaded all of the gcclib releases again, >>>> so *now* I think it will work. (My own boot.efs is torn apart right now, >>>> and I have no way of testing the actual download, sorry. Workin' on >>>> that...) >>>> >>>> Should work now, but let me know if it doesn't. >>>> >>>> On Tue, Dec 21, 2010 at 9:25 PM, David Kaiser <[email protected]> wrote: >>>> >>>>> Hi Phil, >>>>> >>>>> It appears that the src files to fulfill the download of gnu gcclib >>>>> 4.4.5, gnu gcclib 4.5.2 and rhel gcclib 4.1.2 are missing. >>>>> >>>>> As I had found when I tried this before with the gnu gcc 4.4.4 and >>>>> 4.5.1 packages - the same root cause in this case is that the src.tar.bz2 >>>>> files are missing from the ftp server build download area. >>>>> >>>>> I'll give it some further investigation overnight here, (perhaps I need >>>>> to start fresh with new a new bootstrap set of efs utilities, or maybe I >>>>> need to --force something to be re-downloaded) but I thought I would let >>>>> you >>>>> know in case you were looking to upload these files to the ftp server yet. >>>>> >>>>> >>>>> Could not download url [ >>>>> http://ftp.openefs.org/packages/binary/gnu/gcclib/4.4.5-build001/src.tar.bz2] >>>>> to [/efs/dev/gnu/gcclib/4.4.5-build001/build/download/src.tar.bz2]: 404 >>>>> Not >>>>> Found >>>>> ... >>>>> Could not download url [ >>>>> http://ftp.openefs.org/packages/binary/gnu/gcclib/4.5.2-build001/src.tar.bz2] >>>>> to [/efs/dev/gnu/gcclib/4.5.2-build001/build/download/src.tar.bz2]: 404 >>>>> Not >>>>> Found >>>>> ... >>>>> Could not download url [ >>>>> http://ftp.openefs.org/packages/binary/rhel/gcclib/4.1.2-build005/src.tar.bz2] >>>>> to [/efs/dev/rhel/gcclib/4.1.2-build005/build/download/src.tar.bz2]: 404 >>>>> Not >>>>> Found >>>>> >>>>> Thanks, >>>>> David >>>>> >>>>> >>>>> >>>>> On 12/21/10 11:45 AM, Phillip Moore wrote: >>>>> >>>>> I've rebuilt all of the gnu/gcc and rhel/gcc releases we use, which >>>>> involved minor release upgrades for gnu/gcc/4.4 and 4.5 we well. The >>>>> changes was nothing more than decoupling the builds of the gcc and gcclib >>>>> projects. Prior releases used an install-post script that automated >>>>> building the installs trees for the matching gcclib releases, but this >>>>> didn't work that well, because the checkpoint, dist, etc operations have >>>>> no >>>>> such hooks. >>>>> >>>>> Now, you build gcc releases, and then "build" the gcclib releases >>>>> separetely. You use a normal efsdeploy workflow for both, and the results >>>>> are uploaded normally, like everything else. >>>>> >>>>> This addresses the problems some of our users have had bootstrapping >>>>> content, since the download of the gcclib releases would fail, unless you >>>>> set some attributes to limit what was downloaded. Now, it should all work >>>>> seamlessly. >>>>> >>>>> I'm working on some updates to efs-core-docs that finally explain how >>>>> gcc is integrated with /efs, and how to build and update it. >>>>> >>>>> To get your own EFS domain updated to use the new compiler builds, do >>>>> the following: >>>>> >>>>> efs download release gnu gcc 4.4 >>>>> efs download release gnu gcclib 4.4.5 >>>>> efs download release gnu gcc 4.5 >>>>> efs download release gnu gcclib 4.5.2 >>>>> efs download release rhel gcc 4.1 >>>>> efs download release rhel gcclib 4.1.2 >>>>> >>>>> >>>>> >>>>> _______________________________________________ >>>>> EFS-dev mailing >>>>> [email protected]http://mailman.openefs.org/mailman/listinfo/efs-dev >>>>> >>>>> >>>>> >>>>> _______________________________________________ >>>>> EFS-dev mailing list >>>>> [email protected] >>>>> http://mailman.openefs.org/mailman/listinfo/efs-dev >>>>> >>>>> >>>> >>>> _______________________________________________ >>>> EFS-dev mailing >>>> [email protected]http://mailman.openefs.org/mailman/listinfo/efs-dev >>>> >>>> >>>> >>>> _______________________________________________ >>>> EFS-dev mailing list >>>> [email protected] >>>> http://mailman.openefs.org/mailman/listinfo/efs-dev >>>> >>>> >>> >>> _______________________________________________ >>> EFS-dev mailing >>> [email protected]http://mailman.openefs.org/mailman/listinfo/efs-dev >>> >>> >>> >>> _______________________________________________ >>> EFS-dev mailing list >>> [email protected] >>> http://mailman.openefs.org/mailman/listinfo/efs-dev >>> >>> >> >> _______________________________________________ >> EFS-dev mailing >> [email protected]http://mailman.openefs.org/mailman/listinfo/efs-dev >> >> >> >> _______________________________________________ >> EFS-dev mailing list >> [email protected] >> http://mailman.openefs.org/mailman/listinfo/efs-dev >> >> > > _______________________________________________ > EFS-dev mailing > [email protected]http://mailman.openefs.org/mailman/listinfo/efs-dev > > > > _______________________________________________ > EFS-dev mailing list > [email protected] > http://mailman.openefs.org/mailman/listinfo/efs-dev > >
_______________________________________________ EFS-dev mailing list [email protected] http://mailman.openefs.org/mailman/listinfo/efs-dev
