From owner-freebsd-current Tue May 7 16: 9:42 2002 Delivered-To: freebsd-current@freebsd.org Received: from apollo.backplane.com (apollo.backplane.com [216.240.41.2]) by hub.freebsd.org (Postfix) with ESMTP id 4419F37B401 for ; Tue, 7 May 2002 16:09:20 -0700 (PDT) Received: from apollo.backplane.com (localhost [127.0.0.1]) by apollo.backplane.com (8.12.3/8.9.1) with ESMTP id g47N9JhU001181; Tue, 7 May 2002 16:09:19 -0700 (PDT) (envelope-from dillon@apollo.backplane.com) Received: (from dillon@localhost) by apollo.backplane.com (8.12.3/8.12.3/Submit) id g47N9JA2001180; Tue, 7 May 2002 16:09:19 -0700 (PDT) Date: Tue, 7 May 2002 16:09:19 -0700 (PDT) From: Matthew Dillon Message-Id: <200205072309.g47N9JA2001180@apollo.backplane.com> To: Mark Murray Cc: current@FreeBSD.ORG Subject: Re: The future of perl on FreeBSD References: <200205072241.g47Mf0jV002339@grimreaper.grondar.org> Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG :2) split perl down to base language/interpreter for OS use, and : make the libraries a port. : PRO: supported by some senior(?) perl community committers (as : discussed on a perl list *NOTE* _NOT_ FreeBSD committers!), : who have proposed that perl be split into two main parts: : 1) perl-base 2) perl-libraries. the base changes much : less than the libraries, and would be very suitable for : base OS's. perl-library is fairly mobile and would be : excellent ports-fodder. : CON: is not here yet (from perl crowd). We'd have to roll-our- : own in the meanwhile. base-perl is not "full-perl" : until a port (perl-library) is installed. the ports : collection will need some work to handle this. : I've already rolled a perl-base for FreeBSD/Perl-5.6.1 as a : proof of concept. It will not have the cross-build breakages : that the current kluge-up has. If wanted, I could commit it : straight away. I'd need to build a perl library to go with : this. This is a bit more work, but not hard. : :3) Ditch perl from the base system completely, and rely on the : ports system for FreeBSD's perl requirements. : PRO: Speed up "make world", debloat source tree, prevent : many cross-build breakages. : CON: No high-level scripting system in the tree by default : (need to install a port to get one). The ports collection : will need some work to handle this. : I've tested a build of this, including kernel. Some apps : (like sockstat) break. I could commit this if it is wanted. : :4) Other? : Please don't overly theorise here :-). We need engineering, : not philosophy. : :Once this has been discussed, if there is a clear line of action, :I will take that, otherwise I may Call For Votes, or some such :tie-breaking action. : :What say you? :... :*Dons fireproof underwear* :-) : :M :-- :o Mark Murray Assuming the base utility issues can be addressed, I would go for #3. A clean break would allow the perl community to focus on the port and various flavors of same. If this cannot be accomplished then I would recommend keeping an unadorned perl in the base system but calling it something else, like resurrecting the notion of 'miniperl' and having the base utilities that use perl explicitly specify /usr/bin/miniperl, and not having a /usr/bin/perl in the base system at all... kind of a modified #3. If miniperl requires additional library support the support would be put in a non-standard place so as not to intefere with the ports perl *at *all*. i.e. we would not try to share any portion of miniperl and perl. Amoung other things that would give us a large safety margin in the face of major perl updates. The base utility issue is mainly: makewhatis, catman, sockstat, whereis, which, adduser, rmuser, kbdmap, pkg_update -Matt earth:/home/dillon# fgrep '#\!/usr/bin/perl' `find /bin /sbin /usr/bin /usr/sbin /usr/libexec -type f` /usr/bin/makewhatis:#!/usr/bin/perl /usr/bin/catman:#!/usr/bin/perl /usr/bin/pod2html:#!/usr/bin/perl /usr/bin/pod2man:#!/usr/bin/perl /usr/bin/pod2latex:#!/usr/bin/perl /usr/bin/pod2text:#!/usr/bin/perl /usr/bin/c2ph:#!/usr/bin/perl /usr/bin/h2ph:#!/usr/bin/perl /usr/bin/h2xs:#!/usr/bin/perl /usr/bin/perlbug:#!/usr/bin/perl /usr/bin/perlcc:#!/usr/bin/perl /usr/bin/perldoc:#!/usr/bin/perl /usr/bin/pl2pm:#!/usr/bin/perl /usr/bin/splain:#!/usr/bin/perl Binary file /usr/bin/a2p matches /usr/bin/s2p:#!/usr/bin/perl /usr/bin/s2p:$startperl = "#!/usr/bin/perl"; /usr/bin/find2perl:#!/usr/bin/perl /usr/bin/find2perl:$startperl = "#!/usr/bin/perl"; /usr/bin/htags:#!/usr/bin/perl /usr/bin/htags:#!/usr/bin/perl /usr/bin/sockstat:#!/usr/bin/perl -w /usr/bin/whereis:#!/usr/bin/perl /usr/bin/which:#!/usr/bin/perl /usr/bin/mmroff:#!/usr/bin/perl /usr/sbin/adduser:#!/usr/bin/perl /usr/sbin/rmuser:#!/usr/bin/perl /usr/sbin/vidfont:#!/usr/bin/perl /usr/sbin/kbdmap:#!/usr/bin/perl /usr/sbin/spkrtest:#!/usr/bin/perl /usr/sbin/pkg_update:#!/usr/bin/perl -w To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message