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