Re: (Fwd) [PEAR] RE: [PEAR-DEV] dependencies and applications
| From: | Jan Schneider | Date: | Thu, 21 Aug 2003 14:11:59 +0000 |
| Subject: | Re: (Fwd) [PEAR] RE: [PEAR-DEV] dependencies and applications | ||
| References: | 1 2 | Groups: | php.pear.dev |
| Request: | Send a blank email to pear-dev+get-20264@lists.php.net to get a copy of this message | ||
Zitat von Jan Schneider <jan@horde.org>:
> Zitat von Stefan Neufeind <stefan@neufeind.net>:
>
> > As mentioned earlier (but to put it a bit different):
> > Maybe having pear/MDB/MDB.php for all 1.x-releases and from PEAR 1.3
> > on also have pear/MDB/1.0/MDB.php is fine. From PEAR 2.0 on we can
> > issue the warning as outlined before it still pear/MDB/MDB.php is
> > used. And from 2.5 or so we should finally abandone these warning-
> > files as well. From 1.3 to 2.0 there would be enough time for every
> > package and every programmer out there to update his programs to work
> > without any warnings. And when 2.0 comes out there is still some time
> > until 2.5 finally breaks BC completely. What's so bad about such a
> > solution?
>
> Why not keep the current directory structure for all packages that
> already
> are released and switch to a new Package/VersionNumber/Package.php only
> for
> yet to be released packages or new major versions.
>
> This way you won't break BC even if in three year you still have an
> application from now depending on a package 1.0 while there is already
> PEAR
> 3.5 and package 4.1 out.
>
> If you depend on a new major version / new package in your application,
> you
> will use the new structure. No transition, no bc breakage, no version
> conflicts.
This would btw. also solve the problem with api changes in major version
upgrades. Old application will never see the new api because they still use
the old paths, we only have to take care that old major version don't get
uninstalled if the admin upgrades to a new major version.
This should perhaps even be a general rule: only minor version upgrades
replace the old package (of course, because they are in the same
directory), while major version upgrades leave the old version installed.
This way you can even release minor upgrades of all major versions
independantely, e.g. you have 1.3 and 2.1 installed, and pear
install-upgrades will update your packages to 1.4 and 2.3.
Jan.
--
http://www.horde.org - The Horde Project
http://www.ammma.de - discover your knowledge
http://www.tip4all.de - Deine private Tippgemeinschaft