diff options
author | cube <cube@pkgsrc.org> | 2005-09-21 21:23:46 +0000 |
---|---|---|
committer | cube <cube@pkgsrc.org> | 2005-09-21 21:23:46 +0000 |
commit | b709ff4fecb4c0c9bf535ff8966abd630472aa2b (patch) | |
tree | b4dd64fc8cb173090226159328217bc84635f301 /devel/rt3/patches | |
parent | e8cee2eee3efd865db143957a1d08cba1cdaccdc (diff) | |
download | pkgsrc-b709ff4fecb4c0c9bf535ff8966abd630472aa2b.tar.gz |
Mason API has changed after version 1.28. Add a patch to catch up with the
change (it breaks for callbacks).
Inspired from the commit to solve the same issue on the 3.4 branch of RT.
Bump PKGREVISION and Mason version requirement.
Diffstat (limited to 'devel/rt3/patches')
-rw-r--r-- | devel/rt3/patches/patch-ab | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/devel/rt3/patches/patch-ab b/devel/rt3/patches/patch-ab new file mode 100644 index 00000000000..ee6f03d11e0 --- /dev/null +++ b/devel/rt3/patches/patch-ab @@ -0,0 +1,34 @@ +$NetBSD: patch-ab,v 1.1 2005/09/21 21:23:46 cube Exp $ + +--- html/Elements/Callback.orig 2004-07-29 02:08:11.000000000 +0200 ++++ html/Elements/Callback +@@ -49,7 +49,7 @@ my (%cache, $check); + <%init> + # checks for inode change time for each callback directory + my $new_check = join( +- $;, map { $_->[1] => (stat("$_->[1]/Callbacks"))[10] } $m->interp->resolver->comp_root_array ++ $;, map { $_->[1] => (stat("$_->[1]/Callbacks"))[10] } $m->interp->comp_root_array + ) or return; + + $Page = $m->callers(1)->path unless ($Page); +@@ -64,8 +64,18 @@ else { + + if (!$callbacks) { + my $path = "/Callbacks/*$Page/$_CallbackName"; +- $callbacks = [ $m->interp->resolver->glob_path($path) ]; +- @$callbacks = grep !/^\.|~$/, @$callbacks; #skip backup files ++ ++ my @roots = map { $_->[1] } $m->interp->comp_root_array; ++ my %seen; ++ ++ for my $root (@roots) { ++ push @$callbacks, ++ # Skip backup files, files without a leading package name, ++ # and files we've already seen ++ grep { !/^\.|~$/ ++ and not $seen{$_}++ } ++ $m->interp->resolver->glob_path($path, $root); ++ } + + #skip files without a package + my $invalid_base = "/Callbacks/$Page/$_CallbackName"; |