Gentoo Archives: gentoo-amd64

From: Duncan <1i5t5.duncan@×××.net>
To: gentoo-amd64@l.g.o
Subject: [gentoo-amd64] Re: paludis Was: glibc-2.6.1 cpu error
Date: Fri, 19 Oct 2007 18:04:00
Message-Id: pan.2007.10.19.17.50.00@cox.net
In Reply to: Re: [gentoo-amd64] paludis Was: glibc-2.6.1 cpu error by Beso
1 Beso <givemesugarr@×××××.com> posted
2 d257c3560710190236q3de96984h39a5a092c30b4528@××××××××××.com, excerpted
3 below, on Fri, 19 Oct 2007 11:36:53 +0200:
4
5 >> Talking about which... does paludis have proper binary package support
6 >> yet? [...] Portage's FEATURES=buildpkg is my favorite underdocumented
7 >> power-user portage feature
8
9 > i don't know of that option being supported. i currently use the 0.24.6
10 > from august and that don't seem to list that feature. what does that
11 > feature in portage?!
12
13 Simply put, it automatically creates tarballed binary packages every time
14 it emerges something, storing those binary packages by default in
15 $PORTDIR/packages. That way, should you ever need to remerge that
16 package-version (say on another machine if you have more than one, or if
17 you need to revert to an old version because the new version you just
18 merged doesn't work for some reason), you can do so using emerge --
19 usepackage (or --usepackageonly), and it'll grab the binary package you
20 created the first time, merging it much faster since it doesn't have to
21 recompile anything.
22
23 IOW, except for the first time you merge a package, it's as if you were
24 using a binary distribution, except you created and customized the
25 binaries yourself, using Gentoo's usual features. Of course, the first
26 time, the package is compiled as it normally is, so there's no direct
27 advantage there -- but it can still be useful.
28
29 Obviously, the folks that will get the most use out of this are the folks
30 running several similarly configured machines, same USE flags, etc, since
31 they can then compile once and merge the same binary package on all their
32 machines. However, it's quite useful even if you run only a single
33 machine, as I do here. As I said, it's helpful if you need to remerge a
34 package for some reason. I've reinstalled from my binpkgs once after a
35 problem with disk corruption, and it goes MUCH faster. Also, because the
36 packages are basically tar.bz2s with a bit of extra metadata glued onto
37 the end, they can be browsed with your favorite archiver (I use mc, as I
38 do for many of my sysadmin tasks), and it's easy to retrieve just a
39 single file, say a config file you screwed up and want to start over
40 with. The binpkgs are also useful for comparing the contents of packages
41 between versions -- I've filed and had fixed a couple bugs because new
42 versions ended up missing some file or another, for some reason, caught
43 because once I figured out something was wrong, it was easy to compare
44 the files in an older working version with the files in the newer broken
45 version.
46
47 The format also allows one to fix a broken portage or python. Consider
48 how you'd emerge a package if your package manager is broken. With
49 automatically created tarballs, it's easy. Simply backup any config
50 files you want to save, and untar the working version directly on top of
51 the live root filesystem. (Or, if it's /really/ broken, and tar and/or
52 bzip2 are dead as well, boot your recovery disk and use the tar and bzip2
53 from there to do the job.)
54
55 The metadata glued onto the tarball includes the ebuild itself, and that
56 can also be handy. What do you do if you use a package that gets removed
57 from the tree (for example, xmms)? Well, as long as you still have the
58 binpkg around, you still have a copy of the ebuild, and can copy it to
59 your overlay and continue to use it from there, even rebuilding if
60 necessary (say if you upgrade gcc), even after the copy in the tree is
61 long gone.
62
63 So it's not just the binary packages, useful enough in their role as
64 backups as it is, but the fact that the data in those packages can still
65 be accessed with ordinary tools like tar and bzip2, that makes portage's
66 binpkgs so useful. If an alternative package manager supported binpkgs,
67 I'd hope it used something equally accessible with standard tools.
68
69 > i'm using paludis for a speed reason. portage is really really slow and
70 > it makes you die before determining deps. it's awful in that terms.
71
72 I've found that to be true only for the first "cold cache" run, when it
73 has to read everything in from disk. Once the data is in cache, portage
74 is MUCH faster. With a gig of memory, it should be in cache pretty much
75 as long as you are using it, tho if you go a few days between using
76 portage, or if you reboot, the data will probably be flushed from cache
77 and need to be read in from slow disk once again. With a couple gigs,
78 it's likely you'll only have to do that initial portage run once, and
79 after that it'll remain in memory until the next reboot. With the 8 gigs
80 of memory I have... lets just say I normally don't worry about it, tho
81 that first emerge --pretend world I run does take a bit. Of course,
82 syncing also takes a bit, but that's not too terribly often either,
83 compared to the number of times you might actually run emerge in a
84 session.
85
86 So speed isn't the problem for me it is for some.
87
88 > i
89 > foud out paludis which has a great speed and that seems to give a lot of
90 > debug infos and that has a more modular approach when compared to
91 > portage. the last useful thing is that i with portage i used to get some
92 > times compilation errors that would go away when resuming; this thing
93 > don't happen almost anytime with paludis.
94
95 The more modular is of course good on its own merits, as is faster, tho I
96 explained that's not a big problem for me here. As for compilation
97 errors, I don't tend to get any of those that go away on resume, altho
98 there was a bit of an order resolving problem in ~arch portage for a few
99 months that caused a few issues. However, I'm pretty religious about
100 running --newuse and --deep (both run by default on my --update world
101 runs), and --depclean and revdep-rebuild as well. That likely has a lot
102 to do with it, as my dependencies are going to be quite a bit cleaner
103 than someone who doesn't routinely practice "good package hygiene". =8^)
104
105 In any case, as I said, unless a package manager has good binary package
106 support, there's little chance of me seriously considering it. Thus the
107 question, since the lack of such binary package support is what ended my
108 initial paludis investigation back then. Of course, different strokes
109 for different folks and all that, and what works so well for me may
110 indeed be intolerable for you, so as they say, YMMV.
111
112 --
113 Duncan - List replies preferred. No HTML msgs.
114 "Every nonfree program has a lord, a master --
115 and if you use the program, he is your master." Richard Stallman
116
117 --
118 gentoo-amd64@g.o mailing list

Replies

Subject Author
Re: [gentoo-amd64] Re: paludis Was: glibc-2.6.1 cpu error Beso <givemesugarr@×××××.com>