From owner-freebsd-ports@FreeBSD.ORG Fri Jun 20 21:12:11 2014 Return-Path: Delivered-To: freebsd-ports@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 8B2955F2 for ; Fri, 20 Jun 2014 21:12:11 +0000 (UTC) Received: from mail-oa0-x22b.google.com (mail-oa0-x22b.google.com [IPv6:2607:f8b0:4003:c02::22b]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 52F2D2BD5 for ; Fri, 20 Jun 2014 21:12:11 +0000 (UTC) Received: by mail-oa0-f43.google.com with SMTP id o6so7975179oag.2 for ; Fri, 20 Jun 2014 14:12:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type; bh=m+GI3ytGx8Zc8mZm38D1x8+9Mdiqmk7lILFj7leiEkg=; b=AfLhZBoPVJpG/E1GLdWTTKkAohXyClK2ejShFb2sbegaDTNvYUgEE5exLWtxFqoCX9 sq5EzRFTW1T+ExCOyFA2+mvXCJnbrOmY1liH5thf2D1TGcW/flIhCDSob79UoKGorZVD vxRV/jk4ZSAbuOQnRyV/+ZO8iwwbUpxKGgsLP4yKapmX/SRRA52cWwnFOeCH4Df9b/YR s5bUIRW+2IGP03HHgS4RUJ1KEAQeqIDkRRIbF9/PP2Qsfzohu15bgNPywleMjMk89WlS V6EqQ41phjlnxv7JVG4ByJWXdbuLkEQQYBePg6ohR5uBbd0vJo5SpJHbFJpat3sS1bW7 cOQQ== MIME-Version: 1.0 X-Received: by 10.60.143.37 with SMTP id sb5mr6137851oeb.38.1403298730661; Fri, 20 Jun 2014 14:12:10 -0700 (PDT) Sender: kob6558@gmail.com Received: by 10.202.93.133 with HTTP; Fri, 20 Jun 2014 14:12:10 -0700 (PDT) In-Reply-To: <201406181203.s5IC3Dng049322@mech-cluster241.men.bris.ac.uk> References: <201406181203.s5IC3Dng049322@mech-cluster241.men.bris.ac.uk> Date: Fri, 20 Jun 2014 14:12:10 -0700 X-Google-Sender-Auth: nmrO4YxGGsRVILvZ8-kKxL3wFI0 Message-ID: Subject: Re: please add revision number along with the date in ports/UPDATING From: Kevin Oberman To: mexas@bris.ac.uk Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.18 Cc: FreeBSD Ports ML X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 20 Jun 2014 21:12:11 -0000 On Wed, Jun 18, 2014 at 5:03 AM, Anton Shterenlikht wrote: > 20140611: > AFFECTS: users of devel/icu > AUTHOR: bapt@FreeBSD.org > > icu has been updated to 53.1. Please rebuild all ports that depend on it > > When using svn to update ports, it would > be helpful to know which revision each > change affects. > > Thanks > > Anton > Anton, It's not clear to me exactly what you are asking for. Which revision of what change? In cases like this one and most other like it, the cause is that the ABI of the updated port changed and the sharable version has been changed. In this case it bumps the revision of a number of sharables from 52 to 53. As a result, all ports that link to the old version (52) will no longer run as rtld, the run-time loader, will refuse to run an executable that has unresolvable links. This only requires that the executables in question be re-linked with the updated sharables. The sources of the dependent port don't need a changes and there is no new version number. The old code simply needs to be re-linked. That said, in many cases an attempt is made to bump the PORT_REVISION of such ports so they will be caught and rebuilt. I have mixed feelings on this as it is often almost impossible to catch everything. Sometimes a port is only dependent on a sharable when a specific option is selected. Some (e.g icu and pcre) can involve hundreds or even over a thousand ports, making tagging all of them difficult. almost always some are missed. I always fall back on pkg_libchk to tell me which ports need updating, whether the port revision has changed or not.You need to install sysutils/bsdadminscripts. Then I use: pkg_libchk -o | grep LIB | cut -d: -f1 | sort | uniq > FILE where LIB is a sharable installed by the port in question. (E.g. libicu) Then you can do "portmaster -D `cat FILE`" to update all ports that need it whether the version has been bumped or not. This will always catch every port that requires re-linking and not do any extras. portmaster -r (or portupgrade -r) will often list dependencies that do not actually link to the sharable in question. In some cases, the number of unneeded rebuilds my exceed the number that actually require it and may reach over 100. -- R. Kevin Oberman, Network Engineer, Retired E-mail: rkoberman@gmail.com