ports/57016: left over files in /var/db/pkg can cause problems for port installs

Jason jason at wkrp.com
Fri Sep 19 18:20:25 UTC 2003


>Number:         57016
>Category:       ports
>Synopsis:       left over files in /var/db/pkg can cause problems for port installs
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Fri Sep 19 11:20:23 PDT 2003
>Closed-Date:
>Last-Modified:
>Originator:     Jason
>Release:        FreeBSD 4.9-PRERELEASE i386
>Organization:
>Environment:
System: FreeBSD wkrp.com 4.9-PRERELEASE FreeBSD 4.9-PRERELEASE #3: Mon Sep 15 14:09:35 EDT 2003 jason at wkrp.com:/usr/src/sys/compile/WKRP i386


	
>Description:

Recently I was unable to install anything from ports.  Like for example 
on just this random port that wasn't previously installed...

cd /usr/ports/devel/p5-Class-Factory-Util
make install
===>  Installing for p5-Class-Factory-Util-1.4
===>   Generating temporary packing list
===>  Checking if devel/p5-Class-Factory-Util already installed
*** Error code 1

Stop in /usr/ports/devel/p5-Class-Factory-Util.

Thinking that I was out of date and something had updated in the system I 
did a fresh cvsup/build/installworld and had the same result.

I then debugged it a bit and found it ran the command

/usr/sbin/pkg_info -q -O devel/p5-Class-Factory-Util

So I ran it by hand since that was being sent to /dev/null

It returned

pkg_info: /var/db/pkg/pear-Console_Getopt-1.0/+CONTENTS: No such file or
directory

So I did a pkg_delete on that port (I didn't need it) and it told me it wasn't
installed.  However the directory existed and had just a +REQUIRED_BY file
in there.  I removed it (directory and all) and ports could once again 
install.

It seems that one port didn't fully get cleaned up when it was removed.

>How-To-Repeat:

As a test I took a port I didn't need anymore and removed it.  Then in 
/var/db/pkg I recreated it's directory and just did a touch +REQUIRED_BY
in that directory.  I then couldn't install things from ports again till
that was removed.

>Fix:

A workaround is to of course find the offending uncorrectly deinstalled
port and remove it's directory.


>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list