How to deprecate a module ?
How to deprecate a module ?
am 21.11.2006 10:01:54 von Sisyphus
Hi,
I've just moved my Inline::C2XS module to InlineX::C2XS (after a bit of
discussion on the Inline mailing list) as it should never have been in the
"Inline" namespace to begin with.
So now I need to "deprecate" Inline::C2XS - so that those who find it on
CPAN will immediately recognise that it has been deprecated (and replaced by
InlineX::C2XS).
What's the procedure I need to follow ? I couldn't see anything on the PAUSE
menu that looked promising.
Cheers,
Rob
--
To reply by email send to optusnet.com.au instead of nomail.afraid.org
Re: How to deprecate a module ?
am 21.11.2006 12:23:42 von Dominique Dumont
"Sisyphus" writes:
> What's the procedure I need to follow ? I couldn't see anything on
> the PAUSE menu that looked promising.
I'd suggest the following:
- upload InlineX::C2XS to CPAN
- upload a new version of deprecated Inline::C2XS which will complain
loudly (warn or syslog) when used. It will also tell the user to use
the new InlineX::C2XS module.
- wait 2 or 3 months
- upload a new version of deprecated Inline::C2XS which will complain
loudly (warn or syslog) and *die* when used.
- wait 2 or 3 months
- with PAUSE edit Inline::C2XS metadata . Change "lifecycle" parameter
to "delete from database"
- remove your Inline::C2XS module files from your PAUSE account
HTH
--
Dominique Dumont
"Delivering successful solutions requires giving people what they
need, not what they want." Kurt Bittner
Re: How to deprecate a module ?
am 21.11.2006 19:20:33 von Ilya Zakharevich
[A complimentary Cc of this posting was sent to
Dominique Dumont
], who wrote in article :
> "Sisyphus" writes:
>
> > What's the procedure I need to follow ? I couldn't see anything on
> > the PAUSE menu that looked promising.
>
> I'd suggest the following:
> - upload InlineX::C2XS to CPAN
> - upload a new version of deprecated Inline::C2XS which will complain
> loudly (warn or syslog) when used. It will also tell the user to use
> the new InlineX::C2XS module.
> - wait 2 or 3 months
Better make it 3 or 4 years.
Hope this helps,
Ilya
Re: How to deprecate a module ?
am 22.11.2006 13:15:26 von rvtol+news
Sisyphus schreef:
> I've just moved my Inline::C2XS module to InlineX::C2XS (after a bit
> of discussion on the Inline mailing list) as it should never have
> been in the "Inline" namespace to begin with.
> So now I need to "deprecate" Inline::C2XS - so that those who find it
> on CPAN will immediately recognise that it has been deprecated (and
> replaced by InlineX::C2XS).
>
> What's the procedure I need to follow ? I couldn't see anything on
> the PAUSE menu that looked promising.
Can't you make a new version (with the old name) a documentation-only
module? In there, refer to the new name, and to la(te)st working version
with the old name.
--
Affijn, Ruud
"Gewoon is een tijger."
Re: How to deprecate a module ?
am 23.11.2006 11:24:18 von Dominique Dumont
Ilya Zakharevich writes:
>> I'd suggest the following:
>> - upload InlineX::C2XS to CPAN
>> - upload a new version of deprecated Inline::C2XS which will complain
>> loudly (warn or syslog) when used. It will also tell the user to use
>> the new InlineX::C2XS module.
>> - wait 2 or 3 months
>
> Better make it 3 or 4 years.
This may be overkill as Inline::C2XS is only 6 months old.
HTH
--
Dominique Dumont
"Delivering successful solutions requires giving people what they
need, not what they want." Kurt Bittner
Re: How to deprecate a module ?
am 24.11.2006 02:50:09 von Ilya Zakharevich
[A complimentary Cc of this posting was sent to
Dominique Dumont
], who wrote in article :
> Ilya Zakharevich writes:
>
> >> I'd suggest the following:
> >> - upload InlineX::C2XS to CPAN
> >> - upload a new version of deprecated Inline::C2XS which will complain
> >> loudly (warn or syslog) when used. It will also tell the user to use
> >> the new InlineX::C2XS module.
> >> - wait 2 or 3 months
> >
> > Better make it 3 or 4 years.
>
> This may be overkill as Inline::C2XS is only 6 months old.
Hard to tell: The reference point should be not the lifecycle of the
module, but the lifecycle of whatever uses the module...
Anyway, I do not remember situations where a deprecation cycle of less
than 3 years is beneficial; but my memory may be selective...
For best results, there should be a way to mark things as "obsolete";
such modules should have two properties:
a) if something depends on it, the dependency fetcher would fetch it
OK (with some warnings?);
b) it is not indexed "for human consumption".
On the other hand, a warning is too weak a deterrent for people to
update dependencies in "just a few years". So short of disabling the
old module, there is no way to FORCE things to update.
Unless something like
my $n = 'PERLMOD_USE_DEPRECATED_INLINE__C2XS';
die <
###
### The module ... have been renamed long ago.
### Update your dependencies to ... .
###
### To temporarily re-enable this obsolete name, setenv $n to TRUE
###
# code to inherit from the new name:
Ilya