On Nov 5, 2008, at 21:08, Scott Haneda wrote:
On Nov 5, 2008, at 4:04 PM, David Evans wrote:
Scott Haneda wrote:
This port installs clean, and really nice:
http://trac.macports.org/browser/trunk/dports/mail/assp/Portfile
however, I can not locate a maintainer, as it is woefully out of
date.
name assp
version 1.1.0
ASSP 1.3.3.10 is current, and also, there is a very strong beta
of 2.x
as well I would love to see in the ports system. What is the
best way
to find the maintainer, and see about getting this updated.
--
Scott
Since the maintainer is "nomaintainer" then maintainership is up for
grabs. So you can become the
maintainer if you like. Just update the Portfile as necessary with
yourself as maintainer
and also openmaintainer if you are willing to let others make
changes to
the port. Then
create a ticket on Trac and attach your changes, preferably as a
patch
to the current Portfile.
See http://guide.macports.org/ for procedural details.
This is my first effort to make a port update file locally on my
machine, so be gentle :)
sudo port clean --work assp
Password:
---> Cleaning assp
I located this path:
/opt/local/var/macports/sources/rsync.macports.org/release/ports/
mail/assp/
it would be nice to know how to locate that path with a command.
port dir assp
Made a copy:
-rw-r--r-- 1 root admin 4686 Nov 5 18:34 Portfile
-rw-r--r-- 1 root admin 4686 Nov 5 16:52 Portfile.orig
Original located here: http://pastebin.com/m7a3fb1d6
sudo port edit assp
Changed -> version 1.4.3.0
Changed -> maintainers [EMAIL PROTECTED]
Added -> distname ASSP_${version}-Install
pre-patch seems to run around and look for two files, to rename
file rename "${worksrcpath}/ASSP Documentation.htm" ${worksrcpath}/
ASSPDocumentation.htm
file rename "${worksrcpath}/Regular Expression Tutorial.htm" $
{worksrcpath}/RegularExpressionutorial.htm
Neither of them exist, and even if they did, they would have moved
to the docs/ directory. Either way, I am not sure what was bad
about spaces in the files anyway, they are html files, and most
browsers can deal with that.
I simply removed those two lines.
I'm not sure why those lines were there. They were part of the port
since it was initially created in r10407.
Removed -> patchfiles patch-assp.pl.diff
Here is where my lack of experience comes on, I have no idea if the
patch is needed, so at this point, I am commenting it out and just
trying to get it to build. I know it will build clean on a Intel
machine, so I would imagine, this patch is no longer needed with so
many versions passing.
Not sure either. It's also been there since the initial revision. You
could ask the person who committed that change 3 years ago, or you
could see if the new version of the software already has a similar
change in it, in which case it was probably a bug that the previous
maintainer fixed locally, which is now no longer needed.
Save the file, and run:
sudo port install assp
* Error on checksum, after a bit of poking, I see there is:
sudo port -d checksum assp
Portfile checksum: ASSP_1.4.3.0-Install.zip md5
55be31bab3efacc6bd964adf8cd25c83
Distfile checksum: ASSP_1.4.3.0-Install.zip md5
e7fa4bfbed0e7cb7d430d1ebcd4b6eb1
Updated -> checksums md5
e7fa4bfbed0e7cb7d430d1ebcd4b6eb1
( Also at http://pastebin.com/m5c6dab26 )
sudo port -d install assp
DEBUG: Found port in file:///opt/local/var/macports/sources/
rsync.macports.org/release/ports/mail/assp
DEBUG: Changing to port directory: /opt/local/var/macports/sources/
rsync.macports.org/release/ports/mail/assp
DEBUG: Requested variant powerpc is not provided by port assp.
DEBUG: Requested variant darwin is not provided by port assp.
DEBUG: Requested variant macosx is not provided by port assp.
DEBUG: Found port in file:///opt/local/var/macports/sources/
rsync.macports.org/release/ports/lang/perl5.8
DEBUG: Changing to port directory: /opt/local/var/macports/sources/
rsync.macports.org/release/ports/lang/perl5.8
DEBUG: Requested variant powerpc is not provided by port perl5.8.
DEBUG: Requested variant macosx is not provided by port perl5.8.
DEBUG: Executing variant darwin provides darwin
DEBUG: Executing variant darwin_9 provides darwin_9
DEBUG: Searching for dependency: perl5.8
DEBUG: Found Dependency: receipt exists for perl5.8
DEBUG: Skipping completed org.macports.main (assp)
DEBUG: Skipping completed org.macports.fetch (assp)
DEBUG: Skipping completed org.macports.checksum (assp)
DEBUG: setting option extract.cmd to /usr/bin/unzip
DEBUG: setting option extract.pre_args to -q
DEBUG: setting option extract.post_args to {-d /opt/local/var/
macports/build/
_opt_local_var_macports_sources_rsync.macports.org_release_ports_mail_
assp/work/ASSP_1.4.3.0-Install}
DEBUG: Skipping completed org.macports.extract (assp)
DEBUG: Executing proc-pre-org.macports.patch-patch-0
Error: Target org.macports.patch returned: no files matched glob
patterns "*.pl *.sh *.htm *.txt rc/*.dat"
Warning: the following items did not execute (for assp):
org.macports.activate org.macports.patch org.macports.configure
org.macports.build org.macports.destroot org.macports.install
Error: Status 1 encountered during processing.
And now, we get stuck when the portfile tries to glob through the
source files, I suspect because {worksrcpath} is somehow wrong. It
looks to me like this is the path that it is calling {workssrcpath}
/opt/local/var/macports/build/
_opt_local_var_macports_sources_rsync.macports.org_release_ports_mail_
assp/work/ASSP_1.4.3.0-Install
*What is it doing anyway, just fixing line endings? Is that really
needed?
That's what it appears to be doing. It's doing that so that the unix-
line-ending patchfiles can be applied to the source files. If you're
removing the patch files, then you no longer care about the source's
line endings.
However, in that path is another directory of "ASSP_1.4.3.0-
Install", so it is this:
.../
_opt_local_var_macports_sources_rsync.macports.org_release_ports_mail_
assp/work/ASSP_1.4.3.0-Install/ASSP_1.4.3.0-Install
But then, even in that path, there is one last /ASSP directory as
well, so the full path to the source files is really:
/opt/local/var/macports/build/\
_opt_local_var_macports_sources_rsync.macports.org_release_ports_mail_
assp/\
work/ASSP_1.4.3.0-Install/ASSP_1.4.3.0-Install/ASSP
I would wager, this is because the developer has changed his
layout, if I download, and unzip, I show a path to source of:
ASSP_1.4.3.0-Install/ASSP
* How do I debug and print out the {worksrcpath} so I can see what
it is, and what is it that sets that path as well?
You can "ui_info ${worksrcpath}" or "return -code error $
{worksrcpath}" for example.
The first thing you should do is remove these lines:
pre-extract { file mkdir ${worksrcpath} }
extract.dir ${worksrcpath}
Previously, the software apparently unpacked directly, without
creating an enclosing directory. Now it does create an enclosing
directory for itself. So you no longer need to do so in the Portfile.
Maybe you need so set worksrcdir to "ASSP_${version}-Install/ASSP"
Looking at configure:
configure {
reinplace "s%^#!.*perl%#![binaryInPath perl]%" \
${worksrcpath}/assp.pl \
${worksrcpath}/move2num.pl \
${worksrcpath}/rebuildspamdb.pl \
${worksrcpath}/repair.pl \
${worksrcpath}/stat.pl
reinplace "s%/usr/local/assp%${assp_base}%" \
${worksrcpath}/ASSPDocumentation.htm \
${worksrcpath}/stats.sh \
${worksrcpath}/assp.pl \
${worksrcpath}/rc/assp.dat \
${worksrcpath}/rc/start.dat \
${worksrcpath}/rc/stop.dat
reinplace "s%/usr/local%${prefix}%" \
${worksrcpath}/ASSPDocumentation.htm
}
I can see, I am pretty sure I need to delete the 2
"ASSPDocumentation.htm" lines, is this correct?
If you no longer want to do the reinplaces in that file, then sure.
I am not sure what this does:
reinplace "s%^#!.*perl%#![binaryInPath perl]%"
binaryInPath is a tcl procedure that returns the full path of the
given binary. So [binaryInPath] will probably return ${prefix}/bin/
perl (where ${prefix} is expanded to whatever the current prefix is).
The reinplace command will replace all occurrences of the regular
expression ^#!.*perl with the string "#!" and the path to perl as above.
This is basically making sure that the scripts, when run, use
MacPorts perl, and not Mac OS X perl.
And as you can see, given the above mentioned {worksrcpath}
configure is never going to find those files. As a first effort, I
tried commenting out:
#extract.dir ${worksrcpath}
After than, I ran clean, then install...
http://pastebin.com/m2053b159
I think it is there, line 35, we sort of run into the same thing,
which is there is this "ASSP" directory path that is missing, and I
do not know how to add it in, without hard coding it, which if
course, would make this too hard to make an updated port file again
in the future if the developer moves stuff around.
Hopefully I have troubleshot this as best as I can, I am stuck at
this point, with this being my first attempt to make a port update
file. Any help is appreciated.
_______________________________________________
macports-users mailing list
[email protected]
http://lists.macosforge.org/mailman/listinfo.cgi/macports-users