Puppet: System Administration Automated

Support

Ticket #712 (new defect)

Opened 1 year ago

Last modified 7 months ago

the portage provider detects wrong version number for installed packages

Reported by: veszig Assigned to: luke
Priority: normal Milestone: elmo
Component: Gentoo Version: 0.23.2
Severity: normal Keywords: gentoo, portage, eix
Cc: ramon Triage Stage: Accepted
Attached Patches: None Complexity: Unknown

Description

There seems to be some problem with the portage provider. Here's what I have installed (output of eix -e mysql):

[I] dev-db/mysql
     Available versions:  [M]*3.23.58-r1 4.0.27-r1 4.1.22-r1 [M]~4.1.23_alpha20070101-r61 [m]5.0.26-r2 [m]~5.0.32 [m]~5.0.34 [m]5.0.38 [m]5.0.40 [m]5.0.42 {berkdb big-tables cluster debug embedded extraengine innodb latin1 max-idx-128 minimal perl raid readline selinux ssl static tcpd}
     Installed versions:  4.1.22-r1(14:16:44 07/09/07)(berkdb -big-tables -cluster -debug -embedded -extraengine -latin1 minimal perl -raid -selinux ssl -static)
     Homepage:            http://www.mysql.com/
     Description:         A fast, multi-threaded, multi-user SQL database server.

So I have the latest stable version, 4.1.22-r1 installed - puppet thinks I only have 4.1:

notice: //base/foo.bar.hu/mysql/Package[mysql]/ensure: ensure changed '4.1' to '4.1.22-r1'

The other packages doesn't seem to have any problem and I only have this bug with puppet 0.23.0, not with 0.22.4.

Change History

07/09/07 18:49:08 changed by luke

  • stage changed from Unreviewed to Accepted.
  • milestone set to beaker.

07/20/07 23:41:56 changed by luke

  • milestone changed from beaker to elmo.

09/14/07 01:27:39 changed by ramon

  • cc set to ramon.

01/05/08 22:09:57 changed by veszig

  • version changed from 0.23.0 to 0.23.2.

I'm using app-admin/puppet-0.23.2-r1 now and I still have the above error. I'll try it with 0.24.x as soon as it gets into the gentoo portage tree, but I think I got closer to the root of the bug. I think the problem is, that on a gentoo system with mysql installed, there are two packages named mysql:

$ eix --nocolor --format '<category> <name> [<installedversionsshort>] [<best>] <homepage> <description>' -e mysql
dev-db mysql [5.0.44-r2] [5.0.44-r2] http://www.mysql.com/ A fast, multi-threaded, multi-user SQL database server.
virtual mysql [5.0] [5.0] http://dev.mysql.com Virtual for MySQL client or database

dev-db/mysql and virtual/mysql - one with the full version string, the other with just the main version. Here's the manifest snippet where I define the mysql package:

package { 'mysql': category => 'dev-db', ensure => latest; }

Am I doing something wrong, or this is just the way it works for everyone?

04/24/08 06:56:51 changed by luke

  • component changed from library to Gentoo.

04/24/08 14:33:59 changed by ramon

Hi

This is a gentoo package manager specific problem which may or may not be tied to the tool used to get a package list. I'll see if I can fix this in the puppet code by modifying the eix-call to list packages but I think that will end up being a dead end.

Best work-around is to specify the package category with the package you wish to install on Gentoo.

This is a more general bug/feature on gentoo, for example:

{{{$ eix -e eaccelerator

dev-php4/eaccelerator

Available versions: [M]~0.9.5[1] [M]~0.9.5.1 {apache2 contentcache debug disassembler inode session sharedmem} Homepage: http://www.eaccelerator.net/ Description: A PHP Accelerator & Encoder.

* dev-php5/eaccelerator

Available versions: ~0.9.5.1 0.9.5.1[1] {apache2 contentcache debug disassembler inode session sharedmem} Homepage: http://www.eaccelerator.net/ Description: A PHP Accelerator & Encoder.

}}}