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

Re: Versioning depends or shared-lib style for a perl module

Ian Jackson:

> I want to be able to install dgit (1.4) and dgit-infrastructure
> (2.0~~) at the same time so that I can use adt-run to test whether my
> update is properly compatible at the protocol level.  Currently this
> doesn't work well because the perl module Debian::Dgit is not
> suitably compatible.

Here's another option: versioning your Perl module namespace.

* dgit (1.4) uses Debian::Dgit which defaults to Debian::Dgit::V1
  (the current stable API). That means that Debian/Git.pm would
  import Debian::Dgit::V1 symbols and export them again.
* dgit-infrastructure (2.0~~) uses Debian::Dgit::V2 directly.
* Eventually Debian::Dgit will default to V2 as the API becomes
  stable again.
* Old code can still use V1 if needed, stable can then use V2,
  development can proceed to V3.

This idea came was inspired by reading the code of Net::GitHub.


Reply to: