pkgsrc-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

pkg/46245: foomatic-filters DragonFly makeMan file no roff



>Number:         46245
>Category:       pkg
>Synopsis:       foomatic-filters DragonFly makeMan file no roff
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Thu Mar 22 16:10:00 +0000 2012
>Originator:     David Shao
>Release:        DragonFly  3.1-DEVELOPMENT x86_64
>Organization:
>Environment:
DragonFly  3.1-DEVELOPMENT x86_64
>Description:
After having applied the patch for pkgsrc current a2ps to build on DragonFly 
3.1-DEVELOPMENT, continuing on to building print/foomatic-filters, bmake 
install has an error

./mkinstalldirs 
/usr/pkgsrc/print/foomatic-filters/work/.destdir/usr/pkg/man/man1
mkdir /usr/pkgsrc/print/foomatic-filters/work/.destdir/usr/pkg/man/man1
/usr/bin/install -c -o root -g wheel -m 644 *.1 
/usr/pkgsrc/print/foomatic-filters/work/.destdir/usr/pkg/man/man1
install: *.1: No such file or directory
gmake: *** [install-man] Error 71
*** Error code 2

foomatic-filters pkgsrc version is rather old, but regardless, it appears the 
included makeMan Perl script that generates manpages from templates, templates 
ending in ".in", uses the presence of "roff" in the output of command "file" to 
determine if a template is legitimate.  As the templates to be processed are 
only within the package and have already had their filenames checked for ending 
in ".in", this file check may be superfluous.

On NetBSD 6.99.4, file of these templates returns a string containing the 
proper "roff", while on DragonFly BSD file does not, breaking makeMan, and thus 
not generating the required manpages specified in PLIST.

Included below is a patch to remove in makeMan the file check.
>How-To-Repeat:
On DragonFly BSD 3.1-DEVELOPMENT, after applying the patch to build a2ps, 
continue to build and install print/foomatic-filters using
bmake install
>Fix:
diff --git a/print/foomatic-filters/distinfo b/print/foomatic-filters/distinfo
index 1319028..6a73ded 100644
--- a/print/foomatic-filters/distinfo
+++ b/print/foomatic-filters/distinfo
@@ -4,3 +4,4 @@ SHA1 (foomatic-filters-3.0.2.tar.gz) = 
6d949949f432212632c704904272bc32f287b577
 RMD160 (foomatic-filters-3.0.2.tar.gz) = 
612529ea462f7f1500f30ffed4aec105b410936c
 Size (foomatic-filters-3.0.2.tar.gz) = 125875 bytes
 SHA1 (patch-aa) = dc4a7a8287d441b7ad8fc952742eb9d645054c1f
+SHA1 (patch-makeMan.in) = 7e1bf9ae40fdf7ae0f751d2220fea2208963db8e
diff --git a/print/foomatic-filters/patches/patch-makeMan.in 
b/print/foomatic-filters/patches/patch-makeMan.in
new file mode 100644
index 0000000..40c28b1
--- /dev/null
+++ b/print/foomatic-filters/patches/patch-makeMan.in
@@ -0,0 +1,15 @@
+$NetBSD$
+
+--- makeMan.in.orig    2012-03-22 15:34:29.228003000 +0000
++++ makeMan.in
+@@ -29,8 +29,8 @@ foreach my $file (@files)
+       next unless -f $file and $file =~ /^(.*\.[1-9])\.in$/;
+       my ($man) = $1;
+       $man =~ s,.*/,,;
+-      next unless ((`file $file` =~ m/\b[ntg]roff\b/) or
+-                   (`file $file` =~ m/\[nt\]roff/));
++#     next unless ((`file $file` =~ m/\b[ntg]roff\b/) or
++#                  (`file $file` =~ m/\[nt\]roff/));
+       print STDERR "MATCHED\n" if $VERBOSE;
+       $append = '';
+       open IN, "<$file" or (warn "Can't read input file $file!" and next 
FILE);



Home | Main Index | Thread Index | Old Index