Simple questions, MAKE_ARGS in pkgtools.conf

Michael C. Shultz reso3w83 at verizon.net
Fri Jan 28 02:36:24 PST 2005


On Thursday 27 January 2005 11:27 pm, Nikolas Britton wrote:
> Giorgos Keramidas wrote:
> >On 2005-01-27 21:36, Nikolas Britton <freebsd at nbritton.org> wrote:
> >>Giorgos Keramidas wrote:
> >>>On 2005-01-25 21:30, Nikolas Britton <freebsd at nbritton.org> wrote:
> >>>>If I do something like the following:
> >>>>
> >>>>MAKE_ARGS = {
> >>>>	'www/firefox' => 'WITH_OPTIMIZED_CFLAGS=yes CPUTYPE=p4',
> >>>>	'multimedia/gstreamer-*' => 'CPUTYPE=p2'
> >>>>}
> >>>>
> >>>>Will portupgrade only build the port with what I put in MAKE_ARGS
> >>>> or
> >>>
> >>>Yes.
> >>>
> >>>>will it just append it to the ports config?
> >>>
> >>>Not sure about this.  AFAIK, MAKE_ARGS are passed as command line
> >>>options to Make when the port is built.  So, if passing them on
> >>> the command line works until now *and* saves them in the
> >>> persistent port options cache, it will work with portupgrade too.
> >>
> >>what is the "persistent port options cache"?
> >
> >The options that a port was built with are saved in /var/db/ports,
> > in directories of the form "/var/db/ports/{portname}".  This is
> > what I call the "persistent port options cache".  Persistent
> > because it survives reboots, upgrades of the ports tree, etc. 
> > Cache, because it will save you the typing and the popup dialog of
> > the no-BATCH case.
> >
> >>and I'm still confused as you said yes and no to my question.
> >
> >Yes, portupgrade _will_ build the port with what you put in
> > MAKE_ARGS.
> >
> >Yes, options on the command line (i.e. those passed by portupgrade)
> > will affect the way make builds the port _and_ will be saved by the
> > ports infrastructure in /var/db/ports.
> >
> >Hopefully, this was less confusing :)
>
> Yes it was, my question now is whats the point of MAKE_ARGS when
> options are saved in /var/db/ports and are used when you upgrade a
> port?....Arggg...
>
> I just looked in /var/db/ports and not all the options are there,
> i.e. I look for horde (it not even in there) and php4 and it says
> nothing about the options I built it with, WITHOUT_MYSQL=yes
> WITH_POSTGRESQL=yes, nor are apache13, postgres74, openldap22-server
> in there. What really scares me about this is if I run portupgrade it
> will fsck my production server up by not building the ports with the
> correct options, I'm starting to feel that the only way I can trust
> the ports system is if I manually upgrade all the ports by hand, I
> really need some advice and pointers to docs.
> _______________________________________________
> freebsd-questions at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-questions
> To unsubscribe, send any mail to
> "freebsd-questions-unsubscribe at freebsd.org"

If you put the following in /etc/make.conf:

      .if ${.CURDIR:M*/multimedia/mplayer}
      WITH_OPTIMIZED_CFLAGS=yes WITHOUT_RUNTIME_CPUDETECTION=yes \
      WITH_GTK1=yes WITH_RTC=yes WITH_LIBUNGIF=yes WITH_ARTS=yes \
      WITH_FRIBIDI=yes WITH_CDPARANOIA=yes WITH_LIBDV=yes        \
      WITH_MAD=yes WITH_SVGALIB=yes WITH_AALIB=yes WITH_THEORA=yes    \
      WITH_SDL=yes WITH_ESOUND=yes WITH_VORBIS=yes WITH_XANIM=yes     \
      WITH_LIVEMEDIA=yes WITH_MATROSKA=yes WITH_XVID=yes WITH_LZO=yes \
      WITH_XMMS=yes WITH_LANG=en
      .endif

Then only mplayer will be built with the above options.  You can do the 
same for any other port, then wether you run portmanager, portupgrade 
or manually install mplayer it will always be built with the above 
settings.

-Mike


More information about the freebsd-questions mailing list