Re: (Fwd) [PEAR] RE: [PEAR-DEV] dependencies and applications

From: 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

« previous php.pear.dev (#20264) next »