ports/107583: [PATCH] cp: Argument too long - Makefile.in should use xargs
Ian Tegebo
yontege at rescomp.berkeley.edu
Fri Jan 5 19:40:14 UTC 2007
>Number: 107583
>Category: ports
>Synopsis: [PATCH] cp: Argument too long - Makefile.in should use xargs
>Confidential: no
>Severity: critical
>Priority: low
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: update
>Submitter-Id: current-users
>Arrival-Date: Fri Jan 05 19:40:13 GMT 2007
>Closed-Date:
>Last-Modified:
>Originator: Ian Tegebo
>Release: 5.3-RELEASE-p19
>Organization:
Residential Computing at UCB
>Environment:
FreeBSD granite.rescomp.berkeley.edu 5.3-RELEASE-p19 FreeBSD 5.3-RELEASE-p19 #0: Fri Jul 22 13:08:49 PDT 2005 root at milk.rescomp.berkeley.edu:/usr/obj/usr/src/sys/MILK_5_3_07_22 i386
>Description:
The number of xml files in db/source/printer is too many for my version of cp:
yontege at granite foomatic-db-20061214 $ ls db/source/printer/|wc -l
2055
It looks like the newest version of foomatic-db, foomatic-db-20070105, might have the same issue. When trying to install I get the following error:
===> Installing for foomatic-db-20061214
===> foomatic-db-20061214 depends on file: /usr/local/bin/perl5.8.8 - found
===> foomatic-db-20061214 depends on shared library: xml2.5 - found
===> foomatic-db-20061214 depends on shared library: curl.4 - found
===> Generating temporary packing list
install -d //usr/local/share/foomatic
install -d //usr/local/share/foomatic/db/source/printer
install -d //usr/local/share/foomatic/db/source/driver
install -d //usr/local/share/foomatic/db/source/opt
install -d //usr/local/share/foomatic/db/source/PPD
cp db/oldprinterids //usr/local/share/foomatic/db
cp db/source/printer/*.xml //usr/local/share/foomatic/db/source/printer
cp: Argument list too long
gmake: *** [install-db] Error 2
*** Error code 2
Stop in /usr/ports/print/foomatic-db.
*** Error code 1
>How-To-Repeat:
I'm using the following port version, 20061214, with Makefile CVS tag:
# $FreeBSD: ports/print/foomatic-db/Makefile,v 1.23 2006/12/16 15:54:52 acm Exp
cd /usr/ports/print/foomatic-db
make install
>Fix:
I wasn't able to attach my patch without error using the web form. What follows is a simple patch that uses find and xargs to work around this problem; I created /usr/ports/print/foomatic-db/files and dropped my patch inside.
--- Makefile.in Thu Dec 14 04:11:54 2006
+++ Makefile.in-new Fri Jan 5 10:51:50 2007
@@ -66,12 +66,14 @@
install -d $(DESTDIR)$(LIBDIR)/db/source/opt
install -d $(DESTDIR)$(LIBDIR)/db/source/PPD
cp db/oldprinterids $(DESTDIR)$(LIBDIR)/db
- cp db/source/printer/*.xml $(DESTDIR)$(LIBDIR)/db/source/printer
+ find db/source/printer -name '*.xml' | \
+ xargs -J % cp % $(DESTDIR)$(LIBDIR)/db/source/printer
( cd db/source/driver/; \
for d in $(DRIVERXMLS); do \
cp $$d $(DESTDIR)$(LIBDIR)/db/source/driver; \
done )
- cp db/source/opt/*.xml $(DESTDIR)$(LIBDIR)/db/source/opt
+ find db/source/opt -name '*.xml' | \
+ xargs -J % cp % $(DESTDIR)$(LIBDIR)/db/source/opt
( cd db/source && tar cf - --exclude=.svn PPD ) | \
( cd $(DESTDIR)$(LIBDIR)/db/source && tar xf -)
if test $(GZIP) != GZIP_NOT_FOUND -a $(GZIP_PPDS) != no ; then \
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list