From owner-freebsd-questions@FreeBSD.ORG Sun Jun 22 05:45:41 2008 Return-Path: Delivered-To: questions@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0DD91106567D for ; Sun, 22 Jun 2008 05:45:41 +0000 (UTC) (envelope-from gad@FreeBSD.org) Received: from smtp7.server.rpi.edu (smtp7.server.rpi.edu [128.113.2.227]) by mx1.freebsd.org (Postfix) with ESMTP id D51288FC1B for ; Sun, 22 Jun 2008 05:45:40 +0000 (UTC) (envelope-from gad@FreeBSD.org) Received: from [128.113.24.47] (gilead.netel.rpi.edu [128.113.24.47]) by smtp7.server.rpi.edu (8.13.1/8.13.1) with ESMTP id m5M4Z6Tf021895; Sun, 22 Jun 2008 00:35:07 -0400 Mime-Version: 1.0 Message-Id: In-Reply-To: References: Date: Sun, 22 Jun 2008 00:35:05 -0400 To: "Dan Mahoney, System Admin" , questions@FreeBSD.org From: Garance A Drosehn Content-Type: text/plain; charset="us-ascii" ; format="flowed" X-RPI-SA-Score: undef - spam scanning disabled X-CanItPRO-Stream: default X-Canit-Stats-ID: Bayes signature not available X-Scanned-By: CanIt (www . roaringpenguin . com) on 128.113.2.227 Cc: Subject: Re: Circumstance leading up to removal of perl from base? X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Jun 2008 05:45:41 -0000 At 7:02 PM -0400 6/20/08, Dan Mahoney, System Admin wrote: >Hello all, > >I know it was a long time ago, but I was talking with a co-worker >about why perl was removed from the base in v5 -- I seem to recall >a discussion on some mailing list about either the number of >arguments or the format of the arguments and/or output of a base >perl function having changed between 5.005 and 5.6.1. There were a lot of changes between perl 5.005 and later versions of perl. Those issues were changes to perl itself, so check the history of perl for details. I don't remember the details myself, but I do know that I had to change a few of my own perl scripts to get them to work with whatever changes there were. When it comes to FreeBSD, those incompatible changes meant we were reluctant to upgrade perl in the base system, because we might break the scripts for lots of sysadmins. On the other hand, most sysadmins *wanted* all the newer features in the newer versions of perl, so most people were installing it from ports even though we had the older version in the base system. And when people had two versions of perl installed (one from the base-OS, one from ports), then they often ran into problems with perl scripts which would get the wrong version. There were also programs which would have configure scripts that would pick up one version of perl, make decisions based on that, but then build scripts and those scripts would actually get the *other* version of perl. Remember also this was back when the FreeBSD project was putting a lot of energy into the great FreeBSD 5.x branch -- which for awhile seemed like it would never get truly stable. And we could not make a major change (such as upgrading perl) in any stable branch -- a change like that would break too many things. In that context, it was clear that FreeBSD was a project which had its release schedule, and Perl was a big and important project which had *its* own release schedule. And we were always going to be in trouble if our release schedule did not match perl's schedule. The final straw for perl in the base system was when the project was trying to bring up new hardware platforms (sparc64, or ia64, or maybe something else. I forget which one). In order to do that, you have to be able to *cross-build* the base system on one hardware platform while you're trying to get the new hardware platform to the point that it is self-hosting. And trying to take all the source code for the perl project, and re-organize it so it would correctly cross-build in the "proper way for the FreeBSD base system" was a lot of extra headaches. There were plenty of other arguments to remove perl from the base system, but cross-platform builds were the issue which actually triggered it's removal. -- Garance Alistair Drosehn = drosehn@rpi.edu Senior Systems Programmer or gad@FreeBSD.org Rensselaer Polytechnic Institute; Troy, NY; USA