Bundled Flash
Panu Matilainen
pmatilai at laiskiainen.org
Mon Aug 26 05:36:31 UTC 2013
On 08/24/2013 03:12 AM, Toshio Kuratomi wrote:
> On Fri, Aug 23, 2013 at 02:28:23PM -0700, Adam Williamson wrote:
>> On Fri, 2013-08-23 at 23:15 +0200, Michael Scherer wrote:
>>
>> So anyway - I think we need some best practice on this. We definitely
>> need a 'if you absolutely must change a directory into a symlink (or a
>> file, or the same operations in the other direction), here's how you do
>> it' snippet set. If folks could chip in with thoughts on misc's approach
>> to doing this, that'd be great: Panu, do you see any problems? Know a
>> better way? I tried the giant-lump-of-lua from
>> https://bugs.launchpad.net/rpm/+bug/633636/comments/3 , but it throws a
>> bunch of warnings when cleanup of the *old* package tries to remove all
>> the files that are now no longer there, which is bad, and misc thinks
>> it's bad in other ways, I believe. There are various other attempts to
>> do this kind of operation spread through various packages in Fedora and
>> out - moodle has some, for instance, xmvn has one, there are others I
>> think that I don't have to hand right now.
>>
> +1 I was going to see if limburgher would push his recipe into an FPC
> guideline but it seems that that method no longer works reliably. it'll be
> interesting to hear what Panu says here but I think the FPC could live with
> the caveats if it had to.
Well the "classic" way of doing dir <-> symlink replacement is %pretrans
-p <lua>, minimally something like the examples in
https://lists.fedoraproject.org/pipermail/devel/2013-August/188304.html, eg
%pretrans -p <lua>
st = posix.stat("<path to dir>")
if st and st.type == "directory" then
os.execute("rm -rf <path to dir>")
end
That "recommendation" has not changed. What has changed in rpm 4.11.x is
that
a) Rpm detects attempts to change directory into something else, and
attempts to change a directory symlink into a directory as conflicts.
b) Rpm now emits warnings on removal of supposedly installed but
non-existent files.
The twist with a) is that yum does a test-transaction, in which case
%pretrans is not executed so the conflict that would be resolved in a
real transaction is present in the supposed-to-be-helpful
test-transaction. Because of that, rpm now has a heuristic to ignore
those conflicts if the package has a %pretrans script that could resolve
the issue. If the heuristic isn't working (in all cases) then it needs
revising, I just need exact reproducer case(s).
b) is just a warning and doesn't affect the transaction result. Dunno if
its possible to avoid it in this specific case but guess I could have a
look.
- Panu -
More information about the devel
mailing list