On Mon, Jun 30, 2008 at 12:26:05PM +0200, Kris Kennaway wrote:

> It would be easy to maintain 4.x compatibility in Yahoo's package 
> system.  They probably only need a relatively small number of ports, and 
> there is no need to stay in sync with changes to the ports 
> infrastructure.  Those changes are almost all completely gratuitous from 
> the point of view of deploying packages within a site since they are 
> changes to the *ports* infrastructure.  The FreeBSD *package* 
> infrastructure has changed almost not at all over time (but yahoo have 
> their own package system anyway).
> 
> To the extent that the vendor applications still support old versions, 
> the model would be the same: vendor source + patches --> binary.  You 
> can do that with a system based on the ports collection from last 
> century if you like :)
> 
> I would guess that Yahoo actually forked the ports system long ago (in 
> the 2.x days?) or never used it directly, and either port their changes 
> directly or by taking patches from freebsd ports.

It's pretty easy to use current ports system with RELENG_4,
I do this sometimes. Just have following lines in /etc/make.conf:

# 4.x stuff
PTHREAD_CFLAGS= -D_THREAD_SAFE
PTHREAD_LIBS=   -pthread
# may be, "ln -s /usr/local/etc/rc.d/rc.subr /etc/rc.subr" too
RC_SUBR=        ${LOCALBASE}/etc/rc.subr
# only if we force port to use base system's port 5.005
PERL_VERSION=   5.00503
PERL_VER=       5.005
PERL_ARCH=      ${ARCH}-freebsd
PERL5=          ${DESTDIR}/usr/bin/perl${PERL_VERSION}
PERL=           ${DESTDIR}/usr/bin/perl

Then, for perl, one needs small patch to bsd.ports.mk:

--- bsd.port.mk.orig    Wed Oct 17 18:12:24 2007
+++ bsd.port.mk Sun Feb 24 00:33:48 2008
@@ -1420,8 +1420,8 @@
 SITE_PERL_REL?=        lib/perl5/site_perl/${PERL_VER}
 SITE_PERL?=    ${LOCALBASE}/${SITE_PERL_REL}
 
-PERL5=         ${LOCALBASE}/bin/perl${PERL_VERSION}
-PERL=          ${LOCALBASE}/bin/perl
+PERL5?=        ${LOCALBASE}/bin/perl${PERL_VERSION}
+PERL?=         ${LOCALBASE}/bin/perl
 
 .endif  # !defined(_PERL_REFACTORING_COMPLETE)
 
This way, I continue to update small standalone mail servers
with new versions of security/clamav (those consoleless 4.11 boxes
have no hope to be upgraded to something newer).

Sometimes there is a need to patch port's Makefile a little,
f.e. when if redefines PTHREAD_LIBS unconditionally (bad, bad habit).

Eugene Grosbein
_______________________________________________
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to