[csw-maintainers] A systematic approach to package renames

Maciej (Matchek) Bliziński maciej at opencsw.org
Sun Jan 15 22:25:07 CET 2012


2012/1/15 Ben Walton <bwalton at opencsw.org>:
>> better off with a systematic approach. I already hacked some code to
>> analyze the transitions, but it's nothing really useful yet. I think
>> that Ben's integration scripts already have a lot of relevant logic,
>> e.g.  detecting both catalogname and pkgname changes.
>
> There is a lot of this logic encapsulated.  It would need to be
> factored a bit to make it a generally useful standalone library, but
> that shouldn't be too bad, I don't think.

Can you give any pointers? For example, which classes / functions in
which files would they be?

>> I would imagine a tool that would retrieve catalog metadata, analyze
>> the state and detect errors / make suggestions. For example:
>>
>> - Opportunity: Package foo_stub present in dublin, so it could be
>> transitioned to the next stage in the next release
>
> Yes, this would be good to catch.  (Skipping the generation of stub
> packages automatically once they're released would be cool too but
> that's a different topic.)
>
>> - Error: Package foo present in dublin, but there is no foo nor
>> foo_stub in unstable; premature package removal
>
> This could also be a normal package drop.  Eg: apache1.  I would say
> that this is a warning at most.  (But you're talking about generating
> suggestions anyway, so that an equivalent.)

Yes, this would be only a suggestion.

>> - Unnecessary stub: package foo_stub present in unstable, but there
>> is no foo in dublin
>
> This _could_ happen legitimately if a package is reshaped while it's
> in unstable.  The likelihood of this increases with the length of time
> between cutting stable catalogs.

It depends whether it's a package that you specifically care about,
with a specific program, or a package that was just pulled in as a
dependency.

One more thing to catch: foo_stub packages that do not have any
reverse dependencies, and therefore can be dropped. Same thing applies
to shared libraries, e.g. CSWlibfoo1 with no reverse dependencies when
all programs are relinked against CSWlibfoo2.

Maciej


More information about the maintainers mailing list