Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 11 May 2009 16:35:17 +0200
From:      Alexey Shuvaev <shuvaev@physik.uni-wuerzburg.de>
To:        Wesley Shields <wxs@FreeBSD.org>
Cc:        Marcin Wisnicki <mwisnicki+freebsd@gmail.com>, freebsd-ports@freebsd.org
Subject:   Re: [RFC] NO_INSTALL in meta-ports considered harmful
Message-ID:  <20090511143517.GA48334@wep4035.physik.uni-wuerzburg.de>
In-Reply-To: <20090511131700.GA47969@atarininja.org>
References:  <gu718o$v5l$1@ger.gmane.org> <4ad871310905101008n73d26145h3d81914925aab965@mail.gmail.com> <gu77mu$lmi$1@ger.gmane.org> <4ad871310905101222g63867982p6161ff0ddd1b6850@mail.gmail.com> <gu7gu2$gtl$1@ger.gmane.org> <20090511131700.GA47969@atarininja.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, May 11, 2009 at 09:17:00AM -0400, Wesley Shields wrote:
> On Sun, May 10, 2009 at 09:28:34PM +0000, Marcin Wisnicki wrote:
> > On Sun, 10 May 2009 15:22:04 -0400, Glen Barber wrote:
> > 
> > > On Sun, May 10, 2009 at 2:51 PM, Marcin Wisnicki
> > > <mwisnicki+freebsd@gmail.com> wrote:
> > >> They will be installed since they are run dependencies.
> > >>
> > >>From what I can tell (from several metaports) -- they, themselves, are
> > > not installed.  The ports defined in the metaport are installed.
> > 
> > That's the point. The metaports should be installed as well (reasons given 
> > in my original mail).
> > 
> > > There is no source code for, using your example, CUPS[1].  CUPS (in the
> > > FreeBSD ports tree) is, for lack of a better explanation, a pointer to
> > > which specific ports you need to have in order to get a fully operation
> > > CUPS system running.  Looking at the Makefile for print/cups [2] you can
> > > see the dependencies and that CUPS is not actually built (which in
> > > definition is what makes this a metaport).
> > 
> > I know this.
> > 
> > The proper way to make a metaport is to:
> > 1. use only RUN_DEPENDS
> > 2. set NO_BUILD
> > 3. do *NOT* set NO_INSTALL
> > 4. provide empty do-install target
> > 
> > There are several metaports that get it right, like for example x11/gnome2:
> > 
> > http://www.freebsd.org/cgi/cvsweb.cgi/ports/x11/gnome2/Makefile?rev=1.155
> 
> Based upon your description I think this is a bug in the CUPS port. I'd
> suggest you file a PR so that it can be tracked and (hopefully)
> addressed.
> 
FWIW, the following gives not so many hits:

/usr/ports> grep -R NO_INSTALL * | grep -v NO_INSTALL_MANPAGES
Mk/bsd.port.mk:# NO_INSTALL     - Use a dummy (do-nothing) install target.
Mk/bsd.port.mk:.if defined(NO_INSTALL) && !target(install)
Tools/scripts/mkptools/mkpextr:                 $cap{"NO_INSTALL"} = "YES";
devel/gnustep/Makefile:NO_INSTALL=      yes
graphics/backfract/Makefile:NO_INSTALL_MANPAGE= yes
misc/posixtestsuite/Makefile:NO_INSTALL=        YES
misc/kde4-l10n/Makefile:NO_INSTALL=     yes
ports-mgmt/portmk/Mk/bsd.port.mk:# NO_INSTALL   - Use a dummy (do-nothing) install target.
ports-mgmt/portmk/Mk/bsd.port.mk:.if defined(NO_INSTALL) && !target(install)
print/cups/Makefile:NO_INSTALL= yes
x11/etoile/Makefile:NO_INSTALL= yes
x11/gnustep-app/Makefile:NO_INSTALL=    yes

Ruling out *.mk scipts there is only 1 port that uses NO_INTSTALL correctly:
misc/posixtestsuite

These should be fixed (well, I'm not 100% sure):
devel/gnustep
misc/kde4-l10n
print/cups
x11/etoile
x11/gnustep-app

Not so many too :)

My 0.02$,
Alexey.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20090511143517.GA48334>