[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: getting dpkg-shlibdeps to work on the Hurd



Sorry for taking so long to response.  The current thread on -devel has
prompted me to pen this response.


On Wed, 24 Apr 2002, Marcus Brinkmann wrote:

> The issue is that the Hurd has /usr linked to ., so that all libraries that
> are usually found in /usr/lib are found in /lib, and likewise all libraries
> usually found in /usr/X11R6/lib are found in /X11R6/lib.  Because /lib is
> always searched first (in fact, on the Hurd it is the only place searched by
> the system, if none of the other possibilities of the ELF standard are used,
> like rpath or LD_LIBRARY_PATH).  Note that we are following the ELF standard
> just about verbatim (I have not checked, but I don't know of any deviation).

So, you remove /usr.  Why leave /X11R6?  Isn't it the same kind of thinking
that made hurd decide to remove /usr?

> [snip]

The way I see this being done, is as follows:

1: dpkg is asked to search for a pattern in it's file database.
2: the pattern is split into a file pattern and dir pattern(split on '/')
3: a file pattern search is done.
4: for all matches from (3), get the realpath(3) of the file.
5: use the dir pattern from (1) to search this new directory list.

The one thing I can't decide upon, is when listing the matches, is if the real
path of the file should be shown, or the path as stored in the dpkg database.

Benefits of this approach:

* It allows for any kind of symlink layout for any file system.
* Not specific to the hurd, as even normal systems(my personal one included)
  have odd symlinks, to move data to the largest mount point.

Downsides:

* Much more complex search algorithm.
* Much slower dpkg -S(this could be sped up with a binary database.

This last downside above is actually easy to fix then one might think.  In
dpkg 1.10, there is an external search tool.  All search options now cause
dpkg to exec dpkg-search, so replacing them with something more efficient
should be much easier.


-- 
To UNSUBSCRIBE, email to debian-dpkg-request@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org



Reply to: