From owner-freebsd-ports@FreeBSD.ORG Sun Apr 25 23:51:08 2010 Return-Path: Delivered-To: ports@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2572B106566B for ; Sun, 25 Apr 2010 23:51:08 +0000 (UTC) (envelope-from freebsd@bitfreak.org) Received: from baumren.bluerosetech.com (baumren.bluerosetech.com [69.55.234.33]) by mx1.freebsd.org (Postfix) with ESMTP id 0FB618FC1F for ; Sun, 25 Apr 2010 23:51:07 +0000 (UTC) Received: from vivi.cat.pdx.edu (vivi.cat.pdx.edu [131.252.214.6]) by baumren.bluerosetech.com (Postfix) with ESMTPSA id 9F3F9CF889 for ; Sun, 25 Apr 2010 16:51:07 -0700 (PDT) Received: from [127.0.0.1] (c-71-236-222-209.hsd1.wa.comcast.net [71.236.222.209]) by vivi.cat.pdx.edu (Postfix) with ESMTPSA id 71DD224DDA for ; Sun, 25 Apr 2010 16:51:06 -0700 (PDT) Message-ID: <4BD4D568.5@bitfreak.org> Date: Sun, 25 Apr 2010 16:51:04 -0700 From: Darren Pilgrim User-Agent: Thunderbird 2.0.0.24 (Windows/20100228) MIME-Version: 1.0 To: ports@freebsd.org Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: Subject: How to port something requiring different versions depending on OSVERSION? X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 25 Apr 2010 23:51:08 -0000 I maintain the sysutils/3dm port. The port installs a binary-only package provided by 3ware (now LSI). The binary provided is a 5.4-R, static-linked binary which requires KSE. Because it's static-linked, there is no legacy KSE support workaround. Yes, LSI is aware of the problem. No, they haven't fixed it yet (they don't officially support 8.0). No, I can't get source. Yes, the port is currently marked BROKEN for RELENG_8 and later. Here's my dilemna: If I install the latest version of 3dm2, the port won't run on RELENG_8 and later. If I install v2.01.09.004 (the last version that doesn't require KSE), the port will run on all versions of FreeBSD but lack proper support for current-model cards--the 9690 and 9750 series. Option 1: Detect the OS version, install the latest version if running <8.x and install 2.01.09.004 if >=8.x. I can't find anything in the Porter's Handbook that explicitly says NOT to do this. Wesley Shields (wxs) says this "seems like a bad idea" without further qualification. The only thing I could think of is the automated ports QA and packaging; however, those are moot because LSI requires pre-download agreement to a license which prohibits redistribution. Option 2: A regular 3dm2 port marked BROKEN for >=8.0 that follows the latest version and a 3dm2-legacy port kept at v2.01.09.004. When LSI manages to rework whatever it is 3ware decided requires KSE, I'll unBROKEN 3dm2 and retire 3dm2-legacy. That seems like lot of work for what will (hopefully) be a short-lived workaround just to avoid the first option. It also creates two ports for the same piece of software--a solution that seems inelegant. So, which approach should I take? I'm fine with option 2 if someone explains why option 1 is a bad idea. If I get no response, I'll do option 1. For those of you with excellent memories, yes, this was mentioned before (the prior thread's subject is "Installing a different PORTVERSION based on OSVERSION?").