Date: Thu, 03 Feb 2005 06:45:57 -0600 From: Nikolas Britton <freebsd@nbritton.org> To: "Michael C. Shultz" <reso3w83@verizon.net> Cc: freebsd-questions@freebsd.org Subject: Re: Simple questions, MAKE_ARGS in pkgtools.conf Message-ID: <42021D05.7010807@nbritton.org> In-Reply-To: <200501280232.33269.reso3w83@verizon.net> References: <41F70EC3.5000805@nbritton.org> <20050128060956.GA1290@gothmog.gr> <41F9E960.6080102@nbritton.org> <200501280232.33269.reso3w83@verizon.net>
next in thread | previous in thread | raw e-mail | index | archive | help
Michael C. Shultz wrote: >On Thursday 27 January 2005 11:27 pm, Nikolas Britton wrote: > > >>Giorgos Keramidas wrote: >> >> >>>On 2005-01-27 21:36, Nikolas Britton <freebsd@nbritton.org> wrote: >>> >>> >>>>Giorgos Keramidas wrote: >>>> >>>> >>>>>On 2005-01-25 21:30, Nikolas Britton <freebsd@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@freebsd.org mailing list >>http://lists.freebsd.org/mailman/listinfo/freebsd-questions >>To unsubscribe, send any mail to >>"freebsd-questions-unsubscribe@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. > > > > Thanks Mike I think I'll use this but I'm still unsure if I need to list every option for a port, even if I don't care about them, or just leave them out and the options I want will just be appended to the other port build options, for example the options for www/horde: .if ${.CURDIR:M*/www/horde} WITH_APACHE2=no WITH_PHP5=no WITHOUT_SUPPORTED_DB=no WITHOUT_MYSQL=yes WITH_POSTGRESQL=yes \ WITHOUT_IMAP=no WITHOUT_LDAP=no WITHOUT_FTP=no WITHOUT_MCAL=yes WITH_IMSP=no \ WITHOUT_FILEINFO=no WITHOUT_GD=no WITHOUT_ZLIB=no WITH_MAGICK=no WITHOUT_ICONV=no \ WITHOUT_MBSTRING=no WITHOUT_WV=no WITHOUT_XL=no WITHOUT_GEOIP=no WITHOUT_SW=no \ WITHOUT_WEBCPP=no WITH_SRCHIGH=no WITH_ENSCRIPT=no WITH_RPM=no WITH_DEB=no .endif The only options I care about are: .if ${.CURDIR:M*/www/horde} WITHOUT_MYSQL=yes WITH_POSTGRESQL=yes WITHOUT_MCAL=yes .endif Can I leave out all the crap I don't care about, just taking the defaults for them, and the options I want will be appended to the port? Is there something simple I'm just not getting? I spent most of the day reading the man pages for make, make.conf, ports, the make tutorial, and everything I could fine online about ports, portupgrade, etc. but nothing has help on how to automate port upgrading with only the options I care about. This has got to be something simple thats just not clicking in my head.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?42021D05.7010807>