portupgrade: what must I fix in this pkgtools.conf entry?

James Long list at museum.rain.com
Tue Oct 18 16:02:58 PDT 2005


On Tue, Oct 18, 2005 at 03:29:45PM +0400, Andrew P. wrote:
> First, the other syntax seems much more readable:
> 
>         'mplayer' => [
>            'WITH_OPTIMIZED_CFLAGS=yes',
>            'WITHOUT_RUNTIME_CPUDETECTION=yes',
>         ],
>         'aumix*' => [
>            'WITH_GTK2=yes',
>         ],
> 
> Second, when portupgrade detects MAKE flags in
> pkgtools.conf, it tells you so:
> 
> # portupgrade -f mplayer\*
> ** Custom MAKE_ARGS or -m option is specified
> (WITH_OPTIMIZED_CFLAGS=yes WITHOUT_RUNTIME_CPUDETECTION=yes
> WITH_GTK2=yes WITH_LIBDVDNAV=yes WITH_LIBUNGIF=yes WITH_ARTS=yes
> WITH_FRIBIDI=yes WITH_CDPARANOIA=yes WITH_LIBCACA=yes WITH_LIBDV=yes
> WITH_MAD=yes WITH_AALIB=yes WITH_THEORA=yes WITH_X264=yes WITH_SDL=yes
> WITH_ESOUND=yes WITH_VORBIS=yes WITH_XANIM=yes WITH_REALPLAYER=yes
> WITH_LIVEMEDIA=yes WITH_MATROSKA=yes WITH_XVID=yes WITH_LZO=yes
> WITH_XMMS=yes )
> ** Skipping package
> --->  Using the port instead of a package
> --->  Reinstalling 'mplayer-gtk-esound-0.99.7_5' (multimedia/mplayer)
> --->  Building '/usr/ports/multimedia/mplayer' with make flags:
> WITH_OPTIMIZED_CFLAGS=yes WITHOUT_RUNTIME_CPUDETECTION=yes
> WITH_GTK2=yes WITH_LIBDVDNAV=yes WITH_LIBUNGIF=yes WITH_ARTS=yes
> WITH_FRIBIDI=yes WITH_CDPARANOIA=yes WITH_LIBCACA=yes WITH_LIBDV=yes
> WITH_MAD=yes WITH_AALIB=yes WITH_THEORA=yes WITH_X264=yes WITH_SDL=yes
> WITH_ESOUND=yes WITH_VORBIS=yes WITH_XANIM=yes WITH_REALPLAYER=yes
> WITH_LIVEMEDIA=yes WITH_MATROSKA=yes WITH_XVID=yes WITH_LZO=yes
> WITH_XMMS=yes
> <...>
> 
> Third, your wildcard is wrong. There's no ImageMagick-*,
> there's only ImageMagick.

Thank you for your reply.  My mistake with the wildcard was thinking 
that I had to supply a regexp to match the full "portname-version_info" 
rather than just the name of the port itself.  One of the examples in 
pkgtools.conf is "apache-1.3.*" and Ms. Lavigne's article (cf.
http://www.onlamp.com/pub/a/bsd/2003/09/18/FreeBSD_Basics.html?page=2)
also uses a "-*" wildcard, although at second reading, there is no real 
indication of why the author uses the wildcard.

Because the ImageMagick port name can change based on build options, I 
have changed the wildcard to "ImageMagick*".  Note this dialogue:

# portupgrade -N ImageMagick
(portupgrade successfully finds the build args in pkgtools.conf, and
builds and installs the port)

# portupgrade -n ImageMagick
--->  Session started at: Tue, 18 Oct 2005 15:39:33 -0700
** No such installed package: ImageMagick
** None has been installed or upgraded.
--->  Session ended at: Tue, 18 Oct 2005 15:39:33 -0700 (consumed 00:00:00)

Here we see that despite building successfully, an immediately subsequent 
upgrade of the same portname fails, with portupgrade claiming that the 
port is not installed.  However,

# portupgrade -n ImageMagick-nox11
--->  Session started at: Tue, 18 Oct 2005 15:46:22 -0700
** No need to upgrade 'ImageMagick-nox11-6.2.2.1' (>= ImageMagick-nox11-6.2.2.1). (specify -f to force)
--->  Listing the results (+:done / -:ignored / *:skipped / !:failed)
        - graphics/ImageMagick (ImageMagick-nox11-6.2.2.1)
--->  Packages processed: 0 done, 1 ignored, 0 skipped and 0 failed
--->  Session ended at: Tue, 18 Oct 2005 15:46:26 -0700 (consumed 00:00:04)

Thus, I have left the wildcard in pkgtools.conf as 'graphics/ImageMagick*'
so that it will match both the "ImageMagick" port and the "ImageMagick-nox11" 
port.

Thanks again for pointing me towards the wildcard.

Jim



More information about the freebsd-questions mailing list