From owner-freebsd-ports@freebsd.org Thu Jul 16 17:47:34 2015 Return-Path: Delivered-To: freebsd-ports@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 8E2BF9A33E7 for ; Thu, 16 Jul 2015 17:47:34 +0000 (UTC) (envelope-from vsevolod@highsecure.ru) Received: from mail.highsecure.ru (l.highsecure.ru [5.9.155.182]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 3163B1F24 for ; Thu, 16 Jul 2015 17:47:33 +0000 (UTC) (envelope-from vsevolod@highsecure.ru) Received: from secret-bunker.localdomain (dab-rcn1-h-1-2.dab.02.net [82.132.244.222]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) (Authenticated sender: vsevolod@highsecure.ru) by mail.highsecure.ru (Postfix) with ESMTPSA id 595B0300347; Thu, 16 Jul 2015 19:47:30 +0200 (CEST) Received: from [127.0.0.1] (localhost [127.0.0.1]) by secret-bunker.localdomain (Postfix) with ESMTP id 898416455C5; Thu, 16 Jul 2015 18:46:41 +0100 (BST) Message-ID: <55A7EE01.3080805@highsecure.ru> Date: Thu, 16 Jul 2015 18:46:41 +0100 From: Vsevolod Stakhov User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:31.0) Gecko/20100101 Thunderbird/31.7.0 MIME-Version: 1.0 To: Kimmo Paasiala CC: Henry Hu , "freebsd-ports@freebsd.org" , Anton Yuzhaninov Subject: Re: port renaming References: <55A7B826.2060609@citrin.ru> <55A7E877.3040802@highsecure.ru> In-Reply-To: Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=highsecure.ru; s=dkim; t=1437068850; bh=N+pEoUDlz11k2fow01JXRvdogO5v+fHVsftGYyt5TGY=; h=Message-ID:Date:From:MIME-Version:To:CC:Subject:References:In-Reply-To:Content-Type:Content-Transfer-Encoding; b=HVhMopqABA7mJUvEJB25C8oyd7f5CbuUPwarUjo3LwPHHJ93K5XuX0kLweAnEdCCsS/WqGgJEJMn+eqpASKsKTq7NNZVTqvlw3P3uHQghbzIfM5xQXNEXErIr/DYkFeWcRId1oKx6el60EFNkl1VAoPveAc5zfLR6kaoE1ZlaaY= X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 16 Jul 2015 17:47:34 -0000 On 16/07/2015 18:32, Kimmo Paasiala wrote: > On Thu, Jul 16, 2015 at 8:23 PM, Vsevolod Stakhov > wrote: >> On 16/07/2015 18:11, Henry Hu wrote: >>> >>> >>> On Thu, Jul 16, 2015 at 7:04 AM, Vsevolod Stakhov >>> > wrote: >>> >>> On Thu, Jul 16, 2015 at 2:56 PM, Anton Yuzhaninov >> > wrote: >>> > >>> > Port maintainers and port commiters, when PORTNAME/PKGNAMEPREFIX/PKGNAMESUFFIX is changed, please note this change in commit log and for important ports also in /usr/ports/UPDATING. Any rename affect at leas some of FreeBSD users and >>> > >>> > Depends in our local ports was broken and I spent some time to figure out why. >>> > It turns out, that PORTNAME for graphics/gd was changed in r324437. >>> > No singe word about this rename was added to commit message or UPDATING... >>> >>> From the perspective of pkg things are even worse, as pkg can no >>> longer detect that the renamed package is a replacement for some >>> existing one. It breaks many stuff and solver could hardly help to >>> resolve this in a pain-less matter. We need something like 'Replace' >>> or 'Obsolete' field badly. 'UPDATING' does NOT help to solve this task >>> at all. >>> >>> >>> We already have the 'MOVED' file. Does it help? >> >> It doesn't because: >> >> 1) it is human readable and not very convenient for parsing; >> 2) we must keep this information on per-package basis and not globally; >> 3) many items are missing in MOVED (and I've recently missed one when >> changing a port, for example) >> 4) MOVED contains too many unnecessary information that is useful merely >> because we are using archaic version control system (namely, subversion) >> >> So the answer is no: we need a special field in manifests to make >> renaming transparent for pkg and, in turn, for users. >> >> -- >> Vsevolod Stakhov > > > So basically you need a data structure in the pkg metadata that can > track all the previous origins for the port (not just the last because > ports might have multiple renames). That's quite a tall order I might > say. Why? We have already arrays in a package's metadata. For instance, licenses or dependencies. And we can obviously avoid that by placing a corresponding field 'Obsoleted by' in the *old* package. Then we'd need merely the last rename. -- Vsevolod Stakhov