RPM Community Forums

Mailing List Message of <rpm-users>

Re: How is RPMTAG_FILELINKTOS filled?

From: Jeff Johnson <n3npq@mac.com>
Date: Tue 28 Oct 2008 - 17:54:18 CET
Message-id: <43418E47-8A2F-4FD1-9C67-826B71894653@mac.com>

On Oct 28, 2008, at 12:36 PM, Eric MSP Veith wrote:

> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Hello,
>
> while creating a package, I renamed in the %install section a bunch of
> manpages by changing their extension from e. g. 1 to 1ssl. RPM-5.1.6
> creates an implicit dependency for each renamed manpage.
>
> I got curious on what (1) causes the dependency generation (it is  
> not a
> (symbolic|hard) link, just a regular file), what (2) actually  
> triggers the
> dependency generation and how (3) to avoid it.
>
> I tried digging through the source code, but I got completely lost.  
> So I
> wrote this message to the ML.
>
> Thanks in advance!
>

What is conceptiually confusing aboy filelinktos (and parentdir)
dependencies is that there is no change to package metadata content
whatsoever.

What is being done internally to rpm during install
is to take RPMTAG_FILELINKTOS (and RPMTAG_DIRNAMES)
string arrays and wrap the contents as if Requires: had been
added to the spec file originally.

No matter how hard you look, you will not find any additional
metadata, its in the implementation.

Add --noparentdirs and --nolinktos to disable the dependencies.

The only remaining issue is what the default in rpm should be.

Since I might as well not have done the implementation (as with
--nosignatures and --nodigests disablers) if the default setting
is always and routinely turned off, I choose to distribute
rpm with the functionality enabled.

Exercise left to lusers to find how to disable the functionality.

Hint: its very not hard.

73 de Jeff
Received on Tue Oct 28 17:54:59 2008
Driven by Jeff Johnson and the RPM project team.
Hosted by OpenPKG and Ralf S. Engelschall.
Powered by FreeBSD and OpenPKG.