Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 30 Jun 2008 19:49:07 +0800
From:      Eugene Grosbein <eugen@kuzbass.ru>
To:        Kris Kennaway <kris@freebsd.org>
Cc:        Andy Kosela <andy.kosela@gmail.com>, freebsd-stable@freebsd.org
Subject:   Re: tracking -stable in the enterprise
Message-ID:  <20080630114907.GA43269@svzserv.kemerovo.su>
In-Reply-To: <4868B4BD.9030002@FreeBSD.org>
References:  <3cc535c80806290345s2d7ec96bse2587642bcaf5086@mail.gmail.com> <4868B4BD.9030002@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
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



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