Test development of pre-release software
Ryan Schmidt
ryandesign at macports.org
Wed Oct 21 14:29:14 PDT 2009
On Oct 21, 2009, at 15:30, Scott Haneda wrote:
> I have been working with the pureftpd developer to get some source
> changes made. I can build the software by checking out from git.
>
> I would like to start the portfile redo, can someone tell me how to
> do a local dev of this with a source set that is not at an official
> url? Do I just point the url to file:///some/place ?
If you have a tarball, just put it where MacPorts expects it (/opt/
local/var/macports/distfiles/pureftpd).
If you want to fetch from git, you can do that with "fetch.type git".
> There is capacity to do TLS, which means a SSL cert. In the
> portfile there is a variant of tls, which just adds the with-tls
> configure option. It is then up to me to copy the included certs in
> place. Is there any reason I should not copy those in place for the
> user if that variant is selected? They do not hurt anything to
> exist, they still need to be enabled with the launchd startup
> plist. Ie: they are benign, even if installed.
Sounds reasonable.
> In the next release, inetd will be deprecated. As I am finding, all
> the plist items for launchd that are on the interwebs are using a
> seuperserver. This means that a port upgrade in the next release is
> going to break everyone's pureftpd, since the entire functionality
> is removed.
>
> What is the best way to deal with this? My intention now is to
> remove inetd fro the compile options in this current release. Would
> a ui message pointing to a new template plist file I will be making
> suffice in this case?
>
> I am a little concerned, as there is clear case that there is going
> to be breakage on port upgrade, since source code functionality is
> planned for deprecation.
>
> I do not think making a newly named port is the correct way. Are
> there any provisions in Mac Ports that I am missing for gracefully
> dealing with this case?
We don't have any built-in functionality for ports doing different
things on upgrade vs. initial install. I'm never quite sure how to
handle this either. In php5, for example, I simply don't handle it,
requiring the user to notice e.g. that some features that used to be
built into php5 are now in separate ports.
You could perhaps print a ui_msg all the time, wording it in a way
that makes sense to both new and existing users, or do something
clever, like read the user's config file (plist?) and output a message
only if it exists and calls for the deprecated functionality. I do
this in the php5extension portgroup so that if the user's php.ini
contains a problematic line, a message is printed telling the user to
remove it. (If the line was never there or has already been removed,
no message is printed.)
More information about the macports-dev
mailing list