From owner-freebsd-ports@FreeBSD.ORG Sun Mar 28 20:15:35 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 D0D9210657A1 for ; Sun, 28 Mar 2010 20:15:35 +0000 (UTC) (envelope-from yanefbsd@gmail.com) Received: from mail-pz0-f199.google.com (mail-pz0-f199.google.com [209.85.222.199]) by mx1.freebsd.org (Postfix) with ESMTP id A6A548FC1B for ; Sun, 28 Mar 2010 20:15:35 +0000 (UTC) Received: by pzk37 with SMTP id 37so551207pzk.7 for ; Sun, 28 Mar 2010 13:15:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:received:message-id:subject:from:to:content-type :content-transfer-encoding; bh=k76h6mMYsU6neEj9Cj6D90OEq+K4kibgN7ctreLh138=; b=ubpQclZwgdg6GmFgMvb8khOGutApNczaFMEJwrFK1qElUmifc9FzODTmCG7VDrmsHU nN/doJmYSHAtWP24c/OGZ1O/5KSIH3d/5pIhO2IXUXH2b8WhOYyZ6TbAYDpKm6e+JrSo UiaZQI3ehTkI7w0JZFDhENHn/97Ho3ViTv6UE= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type:content-transfer-encoding; b=DtWkKGrVU4uDSvfVMlL0Tun8NYWwZZkyAge7LLV82cOgJDsoA0/BTl0I6gVa2sBnfL uBWhL5ZsSVtPIR5Wr66Ap6c9oPDgHGFcFlIBqlCcln2Tafwm//jnm67A2gz816maOpaA ZT3gNKaZ+zsmLAukQKsHWjkGznYS0eO4gTOPA= MIME-Version: 1.0 Received: by 10.143.8.14 with HTTP; Sun, 28 Mar 2010 13:15:34 -0700 (PDT) In-Reply-To: <7d6fde3d1003272314r25305a39mce9893e07453ef90@mail.gmail.com> References: <7d6fde3d1003272314r25305a39mce9893e07453ef90@mail.gmail.com> Date: Sun, 28 Mar 2010 13:15:34 -0700 Received: by 10.143.86.7 with SMTP id o7mr668421wfl.265.1269807335073; Sun, 28 Mar 2010 13:15:35 -0700 (PDT) Message-ID: <7d6fde3d1003281315g576c82e6vecdf8ef6e61c877c@mail.gmail.com> From: Garrett Cooper To: FreeBSD Ports Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Cc: Subject: Re: [RFC] deprecate @exec and @unexec in plists in favor of pre-install and post-install scripts 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, 28 Mar 2010 20:15:35 -0000 On Sat, Mar 27, 2010 at 11:14 PM, Garrett Cooper wrote= : > Hi, > =A0 =A0As part of taking a look at the differences in our implementation > of pkg_install(1) in order to afford an improvement over the existing > code, I've looked at various implementations of pkg_install, one being > NetBSD's evolution [1]. It's several years ahead from our's and while > I don't believe that all of the complexity is desired, there's a lot > of good lessons to be learned from this. One of which is that they > replaced the @exec and @unexec calls with string pre-install // > post-install and pre-deinstall // post-deinstall scripts. I think that > this potentially is a good step forward because it takes some of the > guts out of the +CONTENTS files and places it in [bourne shell] > scripts, which are easier to maintain and potentially understand. > =A0 =A0I realize that some of the loss would be that one couldn't simply > specify things like %f, %D, %F, etc with @exec and @unexec, but that > seems a small price to pay for tuning everything a bit more. On the > plus side too, that means that one could use an extensive set of > shell, etc libraries that would avoid code duplication like what's > present in the +CONTENTS files. This is one of the small observations > I made after starting on work which would modify 1k python ports to > not install the byte-compiled or optimized files (side topic that we > can talk about in another thread if desired). > Thoughts? And since kimelto asked on IRC, here's why byte-compiled python files are bad in packages... 23:20 <@kimelto> gcooper: what's the point about byte compiled python files= ? 23:24 <@gcooper> kimelto: 1) it blows up the package size 23:24 <@gcooper> 2) on some versions of python it disguises bugs with __file__ because byte-compiling embeds values of certain variables evaluated at compile time 23:25 <@gcooper> 3) it adds more crap to the plists Thanks, -Garrett