port renaming

Freddie Cash fjwcash at gmail.com
Thu Jul 16 17:53:57 UTC 2015


On Thu, Jul 16, 2015 at 10:46 AM, Vsevolod Stakhov <vsevolod at highsecure.ru>
wrote:

> On 16/07/2015 18:32, Kimmo Paasiala wrote:
> > On Thu, Jul 16, 2015 at 8:23 PM, Vsevolod Stakhov
> > <vsevolod at highsecure.ru> wrote:
> >> On 16/07/2015 18:11, Henry Hu wrote:
> >>>
> >>>
> >>> On Thu, Jul 16, 2015 at 7:04 AM, Vsevolod Stakhov
> >>> <vsevolod at highsecure.ru <mailto:vsevolod at highsecure.ru>> wrote:
> >>>
> >>>     On Thu, Jul 16, 2015 at 2:56 PM, Anton Yuzhaninov <
> citrin at citrin.ru
> >>>     <mailto:citrin at citrin.ru>> 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.
>

​Or a "Replaces:" field in the new package, similar to how Debian packages
work.​


-- 
Freddie Cash
fjwcash at gmail.com


More information about the freebsd-ports mailing list