tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: multiple version of packages with the same PKGBASE



 >>    Renaming packages (glib -> glib1, python -> pythonXX etc.)
 >>    is a very different story and also has EASY solution.

> As I see it, the solution to renaming is to have a database that
> says "with this old name X, the new package is Y".  I don't see how
> it's really all that different with or without PKGPATH.

> In the end, I think there has to be a way to look at a binary package
> and find the current PKGPATH directory.

A problem of package renaming and splitting (bzip2 -> libbzip2, bzip2,
for example) was already discussed shortly a few months ago.

IMHO an external database that contains information about renamings is
a very bad idea. As always I'm talking about binary upgrades.  And for
it to work it whould be nice to see all necessary information inside
summary file, generated by bulk builds, for example.

Some time ago I already proposed to add new variable to package's
Makefile OVERRIDES and to keep it inside binary just like PKGPATH and
others and of course, keep it in summary file. Using this new variable
it becomes possible to write a tool to make binary upgrades smoothly.
This also allows to easily make source-based upgrades. For this
source-based upgrades make use pkgsrc/ tree summary file
(wip/pkg_src_update_summary and wip/pkg_src_summary) or extract this
type of information to external database and (probably) keep it in CVS
tree. It is even possible to keep an entire source summary in CVS too :)

The only person who react on this suggestion was Jeremy Reed :(

Examples:
   1) bzip2 is splitted into two packages: bzip2 and libbzip2.
      Then 
 
      devel/libbzip2/Makefile:
        OVERRIDES+=      bzip2<=x.y.z:../../archivers/bzip2

        where x.y.z is a last version of "monolitic" bzip2.
   2) puthon becomes puthon24, and python25 becomes puthon

       lang/python24/Makefile:
        OVERRIDES+=      python>=2.4.0<=2.4.999:../../lang/python

       lang/python25/Makefile:
        OVERRIDES+=      python25>=2.5.0<=2.5.999:../../lang/python25

OVERRIDES may look very similar to CONFLICTS and DEPENDS.

But I didn't think over all details. May be I miss (and most probably
I do) something. Anyway this approach seems to me much better than
external database.

-- 
Best regards, Aleksey Cheusov.


Home | Main Index | Thread Index | Old Index