Gentoo Archives: gentoo-dev

From: Duncan <1i5t5.duncan@×××.net>
To: gentoo-dev@l.g.o
Subject: [gentoo-dev] Re: Re: Portage-2.0.51 STABLE TESTING
Date: Wed, 20 Oct 2004 21:36:57
Message-Id: pan.2004.10.20.21.36.50.96533@cox.net
In Reply to: Re: [gentoo-dev] Re: Portage-2.0.51 STABLE TESTING by Jason Stubbs
1 Jason Stubbs posted <200410202121.42464.jstubbs@g.o>, excerpted
2 below, on Wed, 20 Oct 2004 21:21:42 +0900:
3
4 > Try running the following on one of those broken packages. The command should
5 > be on one line and bash...tbz2 should of course be replaced.
6 >
7 > python -c 'import xpak; tbz2=xpak.tbz2("bash-3.0-r5.tbz2"); print
8 > tbz2.getelements("CATEGORY")'
9 >
10 > If it's empty, that's the problem. I had a lot of trouble following your
11 > previous email. Would you be able to list step-by-step how to reproduce the
12 > problem?
13
14 That's it. A good package ($PORTDIR=/mnt/p, $PACKAGEDIR=/mnt/p/pkg):
15
16 "/mnt/p/pkg/All/kdepim-3.3.1.tbz2"
17 ['kde-base']
18
19 The two bad packages (followed by a ls to verify the files exist:
20
21 "/mnt/p/pkg/All/kdelibs-3.3.1.tbz2"
22 []
23 ls "/mnt/p/pkg/All/kdelibs-3.3.1.tbz2"
24 /mnt/p/pkg/All/kdelibs-3.3.1.tbz2
25
26 "/mnt/p/pkg/All/xorg-x11-6.8.0-r1.tbz2"
27 []
28 ls "/mnt/p/pkg/All/xorg-x11-6.8.0-r1.tbz2"
29 /mnt/p/pkg/All/xorg-x11-6.8.0-r1.tbz2
30
31 On the statement of the problem, I really can't blame you for not
32 following that so well. Let's see if this helps:
33
34 The problem (variant A):
35
36 1) ebuild /path/to/package.ebuild package
37
38 2) crash/interrupt during ebuild install or package steps
39
40 3) repeat step 1 to complete package without warning or error
41
42 4) attempt to install "successfully" created package, get invalid package.
43
44 variant B) If step 2-crash occurs during ebuild compile, step 3 and 4 work
45 fine.
46
47 variant C) If step 2-crash occurs during compile and one attempts to do a
48 manual make to complete the compile, then touches .compiled, step 3 will
49 of course continue with ebuild install and package steps as it should.
50 However, package is again invalid in step 4.
51
52 All the files are in the "invalid" tbz2 package as expected. They are
53 browsable from mc with its compressed tar virtual file systems, and
54 extract correctly with only the expected error about the tacked on portage
55 data. Further, an examination with a text editor demonstrates the ebuild
56 in uncompressed form is tacked onto the end of the tbz2 as with the normal
57 packages, but the data between the EOF and the ebuild doesn't look quite
58 right. (tbz2 EOF verified by deleting the extra stuff and working with
59 the file without error, thus confirming my guess as to where the EOF was.)
60
61 I'd guess that data that doesn't look quite right contains the corrupted
62 info?
63
64 However, in all cases, after the package step that creates the invalid
65 package, if one then issues qmerge on the still existing working dir, it
66 will qmerge successfully without error -- from the SAME working dir that
67 creates the bad package. I have experienced NO difficulty with said
68 qmerged ebuilds. They function correctly and portage seems to have the
69 correct data about them and functions correctly calculating dependencies
70 and upgrades as well, with the data.
71
72 Therefore, it appears the problem is that portage does /something/ in the
73 ebuild compile step that isn't retained if the process is interrupted
74 after that. When portage attempts to pickup with the interrupted install
75 step, it's missing the data from the compile step, and doesn't complete
76 the package successfully. However, the data is apparently either
77 recalculated or collected by some other mechanism for qmerge, since that
78 seems to work without issue.
79
80 Thus, the problem /only/ occurs for those with buildpkg set, and /only/ if
81 the interruption occurred between the completion of ebuild compile, and
82 successful completion of ebuild package. As I said, I don't consider this
83 a release stopper.
84
85 Further, I mentioned I hadn't seen it with rc9, but that could be because
86 I've adjusted my behavior slightly to avoid it. Later today, I'll try to
87 deliberately trigger the problem, and see if I can get it to reoccur with
88 now rc10 (or release, if it's out by then).
89
90 --
91 Duncan - List replies preferred. No HTML msgs.
92 "They that can give up essential liberty to obtain a little
93 temporary safety, deserve neither liberty nor safety." --
94 Benjamin Franklin
95
96
97
98 --
99 gentoo-dev@g.o mailing list

Replies

Subject Author
[gentoo-dev] Re: Re: Portage-2.0.51 STABLE TESTING Duncan <1i5t5.duncan@×××.net>