On 04-11-2014 04:08, Simon Geard wrote:
> On Mon, 2014-11-03 at 08:31 -0300, Fernando de Oliveira wrote:
>> With git, things are worse:
>>
>> $ porg -f git-2.1.3 | grep fernando | wc -l
>> 29
>>
>> There are 29 files incorrectly logged.
> 
> Out of curiosity, how well does it cope with hard links? Last time I
> looked, git installs a ton of those under /usr/lib... over a hundred
> entries in the directory, almost all of them hard links to one file. 
> 
> It's the kind of thing a package manager needs to get right, because
> it's the difference between 1-2MB and 100-200MB if the hard links are
> lost in the install process. I remember having fun with that one doing
> DEST_DIR installs...

They are not package managers. They are package loggers. I would say
they don't bother if the file is a hard link.

Porg:
All it does (or tries to do) is to log files that a package installs, if
it is a symlink, where it is point to, and respective sizes.

Typical entries:
/usr/bin/git|5582767|
/usr/bin/git-cvsserver|162426|
/usr/bin/git-receive-pack|5582767|
/usr/bin/git-shell|2771267|
/usr/bin/git-upload-archive|5582767|
/usr/bin/git-upload-pack|2822815|
/usr/bin/gitk|346039|

You have here three files hardlinked to each other: git,
git-receive-pack and git-upload-archive.


Paco:
Almost the same as porg. Paco also tries to include a sign beginning the
line entry for files logged but missing:

-/home/fernando/tmp/paco-build-2014.09.23-18h35m33s/git-2.1.1/GIT-BUILD-OPTIONS|4096|-2|-2

It also "knows" which files are shared by more than one package, but I
can't find how.

Paco needs to run:

# paco -ua

u - update
a - all

in order to update the logs, finding the shared and the missed files.
After a install with

# paco -lp package-version "install commands"

the results of

$ paco -sMFCndd package-version

are frequently different just after install and after removing the
source directory and running

# paco -u package-version

exactly because the last command updates the log for package-version and
flags as missing the files which it "thought" was installed but was in
the source directory.

The missing and shared features are removed from porg. I have never
tried to uninstall with porg, fear that it will remove shared files.
This is very dangerous. However, paco, surely, does not remove shared
files (if the databases are updated).

On the other hand, because these features are removed, there is no
update databases equivalent to paco in porg: no need to keep updating
the databases.

All in all, both help to quickly find installed files, to which package
they belongs, when installed, and each database includes additional info:

Paco
#!paco-2.0.9
##:86941696|741376|633|30
#d:1411508174
#c:--prefix=/usr --with-gitconfig=/etc/gitconfig --with-libpcre
#:Name:     git
#:Version:  2.1.1
#:Summary:  Core git tools
#:URL:      http://kernel.org/pub/software/scm/git/
#:License:  GPL
#:
#:Description
#:Git is a fast, scalable, distributed revision control system with an
unusually rich command set that provides both high-level operations and
full access to internals.
#:
#:The git rpm installs the core tools with minimal dependencies.  To
install all git packages, including tools for integrating with other
SCMs, install the git-all meta-package.
#:
#:

Porg:
#!porg-0.7
#t:1414687268
#s:700072640
#f:1214
#a:[email protected]
#S:Core git tools
#u:http://kernel.org/pub/software/scm/git/
#l:GPL
#c:--prefix=/usr --with-gitconfig=/etc/gitconfig --with-libpcre
#i:
#d:Git is a fast, scalable, distributed revision control system with an
#d:unusually rich command set that provides both high-level operations
#d:and full access to internals.
#d:
#d:The git rpm installs the core tools with minimal dependencies.  To
#d:install all git packages, including tools for integrating with other
#d:SCMs, install the git-all meta-package.
#d:

-- 
[]s,
Fernando
-- 
http://lists.linuxfromscratch.org/listinfo/blfs-support
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page

Reply via email to