RPM Community Forums

Mailing List Message of <rpm-users>

Re: rpm install and folder creation

From: Jeff Johnson <n3npq@mac.com>
Date: Sun 04 Sep 2011 - 19:42:19 CEST
Message-id: <3ECC20C5-2BF1-429E-AED4-7C10958D714E@mac.com>

On Jun 4, 2010, at 12:04 PM, Belal Salem wrote:

> Thanks for explaining that!
> But now, all the RPM packages that I have this issue with are installing correctly with RPM-4.x as that the directory structure are listed when using -qlp, but with RPM-5.3.11, the package manager complain about the directories until I use the --nodeps to workaround it, hence it installs correctly and it does create the needed directories.

Instead of --nodeps, try --noparentdirs/--nolinktos disablers.

Yes. I've described another "recommended" procedure to track
the "orphan" (i.e. not explicitly included in any package) directories
and "dangling" (i.e. the end-point is not in any package) symlinks.

To mask a single directory during development/bootstrapping
until you can correct what is intrinsically a packaging flaw (imho):

	mkdir -p /etc/rpm/sysinfo
	echo "/some/orphan/directory/" >> /etc/rpm/sysinfo/Dirnames
	echo "/some/dangling/symlink: >> /etc/rpm/sysinfo/Filelinktos

You -- in fact -- can satisfy any missing dependency using /etc/rpm/sysinfo:
	echo "libmissing.so" >> /etc/rpm/sysinfo/Providename
	echo "awol-package = 1:2.3" >> /etc/rpm/sysinfo/Providename

If you don't wish the manual one-by-one setup tedium, then
use --noparentdirs --nolinktos (or --nodeps) while installing into a chroot
(with --root /some/chroot) and then extract *all* of the
parentdir/linkto flaws like
	rpm -Va --nofiles | grep '^/' | sort -u > /tmp/Dirnames.new

Compiling the disabler directly into RPM prevents usage. You can do
that as well if you wish: just its "Have it your own way!" supported
(and I am not the person to ask for support of what I believe isn't
a feature).


73 de Jeff
> On Sun, 04 Sep 2011 16:47:38 +0200, Jeff Johnson <n3npq@mac.com> wrote:
>> On Jun 4, 2010, at 2:55 AM, Belal Salem wrote:
>>> Hi there!
>>> I issued the same issue before, when installing some packages, the RPM package manager doesn't create the required folders and ask for the folders as unresolved dependencies, although those folders are part of the package being installed.
>> Its "part of the package" which is confusing.
>> There are two meanings for "part of the package":
>> 1) directory components as part of file paths
>> 2) directory explicitly listed in "rpm -qpl *.rpm"
>> If its not explicitly in the file manifest, its not "part of the package"
>> and you *will* see what you are reporting.
>>> Recompiling RPM with the options: --disable-dirname-and-symlink-deps didn't solve the problem, anyway through that?!
>> I'm not the person to "fix" --disable-dirname-and-symlink-deps.
>> My fix will be to rip out the "Have it your own way!" functionality that isn't "working"
>> and remove the
>> 	--disable-dirname-and-symlink-deps
>> in order to simplify RPM's build and clarify "supported" functionality. I see
>> no future in carrying around functionality that doesn't work as it should
>> and is "vendor supported" by others here @rpm5.org.
>> I will rip out the option if it isn't fixed by someone else @rpm5.org
>> this month.
>> 73 de Jeff
>> ______________________________________________________________________
>> RPM Package Manager                                    http://rpm5.org
>> User Communication List                             rpm-users@rpm5.org
> -- 
> Using Opera's revolutionary email client: http://www.opera.com/mail/
> ______________________________________________________________________
> RPM Package Manager                                    http://rpm5.org
> User Communication List                             rpm-users@rpm5.org
Received on Sun Sep 4 19:42:24 2011
Driven by Jeff Johnson and the RPM project team.
Hosted by OpenPKG and Ralf S. Engelschall.
Powered by FreeBSD and OpenPKG.