Re: Re: remove channel name?
| From: | Greg Beaver | Date: | Sat, 18 Dec 2004 23:14:40 +0000 |
| Subject: | Re: Re: remove channel name? | ||
| References: | 1 2 3 4 | Groups: | php.pear.dev |
| Request: | Send a blank email to pear-dev+get-35159@lists.php.net to get a copy of this message | ||
Ian Eure wrote:
I think it's kind of a pain to require seperate DNS setups for different channels. I agree that the channel isn't necessarily the best way to seperate stability levels, but what if you have channels with packages for specific projects? Is there any reason why the hostname and path can't be used? e.g channel.example.com/stable/channel.xml channel.example.com/devel/channel.xml channel.example.com/projecta/channel.xml channel.example.com/projectb/channel.xml channel.example.com/channel.xml (linked to stable or another channel for convenience)I don't think the idea of channel quite makes sense here. A channel simply defines a virtual namespace, and a server that can be used to retrieve packages in this namespace. What specific problem are you looking to solve with this idea? For specific projects, I would recommend using the uri feature, instead of a channel. In other words, use this kind of dependency: <package> <name>Whatever</name> <uri>http://www.example.com/projecta/Whatever-1.4.5.tgz</uri> </package> In the package.xml for Whatever, you would use <uri> instead of <channel>. I'm making some assumptions here: 1) specific projects require a very limited set of packages that are customized for the project. 2) all of these packages are controlled by a limited set of developers in a single company working together, even if they are ported from publicly released packages (like PEAR packages) If these assumptions don't fit the situation you're talking about, let's talk some more. As for using channels for specific project, if the path is allowed in the name, that will make parsing the channel quite a bit more complex, I would call that a wait-until-at-least-1.4.0a2 feature, or we'll never see 1.4.0a1 :). I will consider it, as it is a definite possibility. If I come up with a quick and brilliant way to do this without any trouble, I will implement it. It's important to note that once a channel name is decided on, it becomes very difficult to change it. This would imply $ pear install channel.example.com/projecta/Whatever would assume the channel is named "channel.example.com/projecta" The suggestedalias feature could be used to shorten this, as in $ pear install projecta/Whatever or as used in a dependency <package> <name>Whatever</name> <channel>channel.example.com/projecta</channel> </package> For auto-discovery to work, the channel.xml for "channel.example.com/projecta" would have to be in channel.example.com/projecta/channel.xml, as you note. However, linking would not work. In other words, channel.example.com != channel.example.com/projecta, otherwise the whole system breaks down. You can symlink to channel.example.com/stable/channel.xml if and only if the channel.xml defines the server as "channel.example.com" - this would not be changeable unless I allow the channel server to be separate from the channel name as originally designed, so perhaps that was a good design choice and should be kept? Greg