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 |