compiz-plugins-main doesn't know if its installed or not

Strange thing happened after I upgraded to 7.2-RELEASE. After my portupgrade, I tried to get compiz-fusion working and had some issues. portversion showed all my apps up to date, so I thought I'd deinstall and reinstall x11-wm/compiz-plugins-main (0.8.2) to see if that would correct the issue.

When I make deinstall clean I get:

Code:
===>  Deinstalling for x11-wm/compiz-plugins-main
===>  Cleaning for compiz-plugins-main-0.8.2

and yet when I reinstall...

Code:
===>  Checking if x11-wm/compiz-plugins-main already installed
===>   An older version of x11-wm/compiz-plugins-main is already installed (compiz-fusion-plugins-main-0.7.8)
      You may wish to ``make deinstall'' and install this port again
      by ``make reinstall'' to upgrade it properly.
      If you really wish to overwrite the old port of x11-wm/compiz-plugins-main
      without deleting it first, set the variable "FORCE_PKG_REGISTER"
      in your environment or the "make install" command line.
*** Error code 1

Stop in /usr/ports/x11-wm/compiz-plugins-main.
*** Error code 1

Stop in /usr/ports/x11-wm/compiz-plugins-main.

So I deinstall and clean again. Okay... so try the binary then?

Code:
#pkg_add -r compiz-plugins-main
Fetching ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-7.2-release/Latest/compiz-plugins-main.tbz... Done.
pkg_add: package 'compiz-plugins-main-0.8.2' or its older version already installed

And yet...

Code:
#pkg_delete compiz-plugins-main
pkg_delete: no such package 'compiz-plugins-main' installed

I'm at a bit of a loss. I've already run portsclean, but

Code:
# portsclean -CD
Cleaning out /usr/ports/*/*/work...
done.
Detecting unreferenced distfiles...
no unreferenced distfiles found.


that hasn't help convince FreeBSD to allow the install. I might try using FORCE_PKG_REGISTER, but that doesn't mean the problem is solved. Any idea why this might happen?

Thanks in advance!
 
Does it show up in pkg_info output? If it does, you must feed it to pkg_delete -f exactly as it is shown in pkg_info.
 
Code:
# pkg_info compiz-plugins-main
pkg_info: can't find package 'compiz-plugins-main' installed or in a file!
 
Try:

pkg_info compiz-plugins-main\*

It really does sound like your package database may be screwed up, or at least the /var/db/pkg/compiz-plugins-main-0.8.2/ directory. Do you have that directory? What's inside of it?
 
Now we're getting somewhere.

There is no pkg information, (To be honest, I really don't use pkg_add. Everything is from ports.) and there is no /var/db/pkg/compiz-plugins-main-0.8.2/ directory... however there is a /var/db/pkg/compiz-fusion-plugins-main-0.7.8/ directory.

Can I rm this?
 
Code:
# pkg_delete compiz-fusion-plugins-extra-0.7.8
pkg_delete: package 'compiz-fusion-plugins-extra-0.7.8' is required by these other packages
and may not be deinstalled:
compiz-fusion-0.8.2
# pkg_delete compiz-fusion-0.8.2
# pkg_delete compiz-fusion-plugins-main-0.7.8

Very interesting.

I did a make install clean on x11-wm/compiz-fusion and the plugins were compiled with it and everything is now up to date.

Code:
# ls /var/db/pkg/compiz*
/var/db/pkg/compiz-0.8.2:
+COMMENT	+DESC		+MTREE_DIRS
+CONTENTS	+DISPLAY	+REQUIRED_BY

/var/db/pkg/compiz-bcop-0.8.2:
+COMMENT	+DESC		+REQUIRED_BY
+CONTENTS	+MTREE_DIRS

/var/db/pkg/compiz-fusion-0.8.2:
+COMMENT	+CONTENTS	+DESC		+MTREE_DIRS

/var/db/pkg/compiz-plugins-extra-0.8.2:
+COMMENT	+DESC		+REQUIRED_BY
+CONTENTS	+MTREE_DIRS

/var/db/pkg/compiz-plugins-main-0.8.2:
+COMMENT	+DESC		+REQUIRED_BY
+CONTENTS	+MTREE_DIRS

/var/db/pkg/compizconfig-backend-gconf-0.8.2:
+COMMENT	+DESC		+REQUIRED_BY
+CONTENTS	+MTREE_DIRS

/var/db/pkg/compizconfig-python-0.8.2:
+COMMENT	+DESC		+REQUIRED_BY
+CONTENTS	+MTREE_DIRS

Thank you kindly, adamk. It would've taken me quite some time to figure that one out.
 
And, by the way, pkg_info (or pkg_delete for that matter) doesn't distinguish between ports and packages. Once installed, ports and packages are basically the same. The only difference is that you compile a port, whereas someone else compiled the port for you and made a package. You'll find both in /var/db/pkg.
 
Back
Top