overlays (was: Re: Thank you (for making the ports less boring).)

Klaus T. Aehlig aehlig at linta.de
Fri Sep 16 06:25:16 UTC 2011


Hi,

> 3. Someone deleted port I like to use / I want my personal ports tree:
> FreeBSD: I wish :/
> Gentoo: overlays works well.

Now I'm really curios what magic device gentoo has. Once thing I
most appreciate about FreeBSD is how flexible it is in precisely
this manner.

* if some port is removed or I just want an old version of some port
  I just use cvs sticky tags. That's the nice thing about having a
  repository with full history and even having it mirrored on my own
  hard disk[1].

* Of course, no one prevents me from installing my own ports. And this
  fits amazingly well, as dependencies are defined semantically (a
  certain library/binary/... has to be installed---not a particular
  port)

* But, most importantly, /etc/make.conf is the device for proper
  overlays, that is, I have a way to modify a port without forking
  it. And I think that this is really nice that I can go my own way here
  while still benefiting from the good work of the maintainer.

  And I never had anything I wanted that I couldn't achieve by adding
  something like

.if !empty(.CURDIR:M*/ports/foo/bar*)
CFLAGS += ...
EXTRA_PATCHES += /wherever/I/store/my/personal/patches.diff

post-extract:
		# do something...

pst-configure:
		# do something...

post-patch:
		# do something ...

pre-install:
		# do something...

# and so on

.endif
 
  to my /etc/make.conf.

Could you please elaborate, which additional features gentoo's overlay
system brings on top of that?

Best regards,
Klaus



[1] I use CTM for that, but there is more than one way to do it.




More information about the freebsd-ports mailing list