On May 29, 2009, at 15:10, Scott Haneda wrote:

On May 29, 2009, at 12:46 PM, Ryan Schmidt wrote:

On May 29, 2009, at 13:34, Scott Haneda wrote:

Second, as per the install notes, imaptest also needs library functions for dovecot, but does not need make install, libs just need to be there. There is already a Dovecot port, but that will install the entire package. In this case, do I make a new Dovecot port that skips the make install part, or do I wrap this all into one?

If you don't "make install" then nothing would be installed, right? So that wouldn't help anything. You'd have a port that spends a lot of time building things in the work directory, then doesn't install them, then cleans up the work directory.

Well, I would take what I needed. `make install` is going to actually install dovecot, which I wold not want to do, I just need some libraries.

Here is what I want to do, though I think I will need advising on the best way:
        download a known stable of dovecot
        run configure
        run make
        download imaptest
run configure with ./configure --with-dovecot=../path to above sources
        run make
        copy src/imaptest to an appropriate location in MacPorts
        clean whatever I need to

This is what I did to test it locally and use it.

Third, when a distro points to name-latest.tar.gz, am I to pick a version or just always stick with the latest, which is a moving target? I can not even guarantee that in that download path the older versions stick around much, it looks like they roll them out every now and then.

You should not use a distfile name like name-latest.tar.gz precisely because it might be something different later and someone would then get a checksum error. So, if offered, you should use a distfile name that contains the version number.

Ok, I will pick the latest version.

In the case of dovecot-latest.tar.gz, it looks like that's not the latest stable, but the latest nightly snapshot. Ports should be for the latest stable version. If you need to make a port for a development version, usually that's done by naming the port with the "-devel" suffix (e.g. graphviz-devel, pango-devel, cairo- devel, glib2-devel, etc.)

Ok, I can call this one devel, no problem.

I see the problem in this case is that dovecot 1.1.15 is the latest stable released version but imaptest needs dovecot 1.2 which is currently in release candidate 4 status. Maybe 1.2 final will be released soon and the dovecot port can be updated to that version and there is no problem. If you need dovecot 1.2 immediately, then you could make a dovecot-devel port for version 1.2rc4 downloaded from

I am fine with the devel idea, Dovecot is only needed in this case to get to some libs that imaptest needs. I am just not sure, since this is to clear separate installs, but at the smae time, they completely play off each other in this case.

I need a little hand holding on this one, as I am not sure how to best do these, as two ports, or one, and if one, if it is even possible to download and build two items in the same port.

I am also not entirely clear from the docs on how to alter configure to remove the install path, which I do not need, and how to skip make install. I think I can figure out the xinstall stuff, to move the files where I need to when done, or I guess just the one binary.

I think the reasonable options that exist are:

1. Use the libraries that were installed by the dovecot (or dovecot- devel) port. I recommend this method, unless there's some strong reason I don't know about why installing dovecot would be detrimental to something. 2. Within the imaptest port, also download and build dovecot, and then use those libraries.


Actually, there is a helpful imap mbox file that is allowed to be downloaded as a test file. If I wanted to add that into this install, where is the best place to put that file, and how do I start the download of that within a port?


Perhaps some place under ${prefix}/share/${name} would be a good place for the file.

Add any additional files you want downloaded to the distfiles variable. MacPorts will download it for you.

If the additional file needs to be downloaded from a different place than the main distfile, you need to add a second master_sites value and put tags on both master_sites and distfiles values to tell MacPorts which file to download from which site.

If the mbox file is not compressed and thus MacPorts should not try to decompress it, define extract.only to contain only those items you want MacPorts to decompress.

Example:

master_sites \
http://dovecot.org/nightly/imaptest/:main \
http://dir/where/mbox/is/:mbox

set main_distfile [suffix ${distname}]
set mbox_distfile test.mbox

distfiles \
${main_distfile}:main \
${mbox_distfile}:mbox

checksums \
${main_distfile} \
md5 ... \
sha1 ... \
rmd160 ... \
${mbox_distfile} \
md5 ... \
sha1 ... \
rmd160 ...

extract.only ${main_distfile}


_______________________________________________
macports-dev mailing list
[email protected]
http://lists.macosforge.org/mailman/listinfo.cgi/macports-dev

Reply via email to