Date: Thu, 01 Feb 1996 21:52:26 -0800 From: John Polstra <jdp@polstra.com> To: freebsd-ports@freebsd.org Subject: pkg_create vs. my new port Message-ID: <199602020552.VAA04054@austin.polstra.com>
next in thread | raw e-mail | index | archive | help
I need some help to work around a bug in pkg_create that causes "make package" to fail on a new port that I'm creating. The port is for DEC Systems Research Center's Modula-3 system. It's a very large system with a deep directory structure, and so my PLIST file is large -- 2168 lines and 86125 characters. When I run "make package", pkg_create dies with the message "Failed to execute tar command". I did a ktrace and found out the reason: argument list too long. Well, that's no wonder, because pkg_create puts every filename onto the tar command line, and the system limit is 65536 characters. I could fix pkg_create to use tar's "-T" option (get the list of files from a file instead of from the command line), but I'm looking for an easier work-around. One idea I had was to use "@cwd" lines in the PLIST, to make it smaller. For example, there are many files whose names all begin with "lib/m3/pkg/". So I could bracket these lines with: @cwd lib/m3/pkg ... @cwd ../../.. and eliminate that prefix from every filename, saving quite a few characters. But I don't think it'll work. At the end of my PLIST, there's a ldconfig execution: @exec /sbin/ldconfig -m %D/lib/m3/FreeBSD2 >From looking at the code, I'm pretty sure that %D will be replaced with the literal text from the last @cwd, that is, "../../..". That doesn't sound so great. Do any of you have any ideas about how to solve this problem? -- John Polstra jdp@polstra.com John D. Polstra & Co., Inc. Seattle, Washington USA "Self-knowledge is always bad news." -- John Barth
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199602020552.VAA04054>