NetBSD Problem Report #50987

From www@NetBSD.org  Sun Mar 20 17:33:07 2016
Return-Path: <www@NetBSD.org>
Received: from mail.netbsd.org (mail.netbsd.org [199.233.217.200])
	(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
	(Client CN "mail.netbsd.org", Issuer "Postmaster NetBSD.org" (verified OK))
	by mollari.NetBSD.org (Postfix) with ESMTPS id 8430C7AC9F
	for <gnats-bugs@gnats.NetBSD.org>; Sun, 20 Mar 2016 17:33:07 +0000 (UTC)
Message-Id: <20160320173306.677107ACC3@mollari.NetBSD.org>
Date: Sun, 20 Mar 2016 17:33:06 +0000 (UTC)
From: jan.m.danielsson@gmail.com
Reply-To: jan.m.danielsson@gmail.com
To: gnats-bugs@NetBSD.org
Subject: Support setting real work directory in pkg_comp
X-Send-Pr-Version: www-1.0

>Number:         50987
>Category:       pkg
>Synopsis:       Support setting real work directory in pkg_comp
>Confidential:   no
>Severity:       non-critical
>Priority:       high
>Responsible:    jmmv
>State:          open
>Class:          change-request
>Submitter-Id:   net
>Arrival-Date:   Sun Mar 20 17:35:01 +0000 2016
>Last-Modified:  Mon Mar 21 21:40:01 +0000 2016
>Originator:     Jan Danielsson
>Release:        current
>Organization:
La Cosa Nostra
>Environment:
NetBSD gauss 7.0_STABLE NetBSD 7.0_STABLE (GAUSS) #0: Sat Dec 19 16:31:59 CET 2015  jan@gauss:/home/jan/tmp/sysbuild/obj.amd64/usr/src/sys/arch/amd64/compile/GAUSS amd64
>Description:
I have a tmpfs mounted and plenty of ram to spare, and I'd like to use it for storing intermediate build files while building packages in a pkg_comp chroot.
>How-To-Repeat:
Read sources/manpage and realize there is no way to set "real" location of pkg_comp/obj.
>Fix:
Perhaps something along the line of:

Index: pkg_comp.8
===================================================================
RCS file: /cvsroot/pkgsrc/pkgtools/pkg_comp/files/pkg_comp.8,v
retrieving revision 1.41
diff -u -r1.41 pkg_comp.8
--- pkg_comp.8	21 Nov 2015 23:10:27 -0000	1.41
+++ pkg_comp.8	20 Mar 2016 17:23:06 -0000
@@ -440,6 +440,9 @@
 Mount options.
 Defaults to
 .Sy -t null -o ro .
+.It REAL_WORKDIR
+Where to store intermediate build targets while building packages.
+Defaults to nothing.
 .It MAKEROOT_HOOKS
 A whitespace separated list of functions or external scripts to be executed
 after the sandbox is created.
Index: pkg_comp.sh
===================================================================
RCS file: /cvsroot/pkgsrc/pkgtools/pkg_comp/files/pkg_comp.sh,v
retrieving revision 1.43
diff -u -r1.43 pkg_comp.sh
--- pkg_comp.sh	21 Nov 2015 23:10:27 -0000	1.43
+++ pkg_comp.sh	20 Mar 2016 17:23:07 -0000
@@ -51,7 +51,8 @@
                 REAL_PACKAGES REAL_PACKAGES_OPTS REAL_PKGVULNDIR \
                 NETBSD_RELEASE MAKEROOT_HOOKS MOUNT_HOOKS UMOUNT_HOOKS \
                 SYNC_UMOUNT AUTO_TARGET AUTO_PACKAGES BUILD_PACKAGES \
-                REAL_CCACHE LIBKVER_STANDALONE_PREFIX GENERATE_PKG_SUMMARY"
+                REAL_CCACHE LIBKVER_STANDALONE_PREFIX GENERATE_PKG_SUMMARY \
+                REAL_WORKDIR"

 _BUILD_RESUME=

@@ -126,6 +127,7 @@
     : ${SYNC_UMOUNT:=no}
     : ${REAL_CCACHE:=}
     : ${GENERATE_PKG_SUMMARY:=yes}
+    : ${REAL_WORKDIR:=}

     if [ -n "${MAKE_PACKAGES}" ]; then
         warn "MAKE_PACKAGES is deprecated; use {AUTO,BUILD}_PACKAGES instead."
@@ -280,6 +282,15 @@
         mount -t null -o rw ${REAL_CCACHE} ${DESTDIR}/pkg_comp/ccache
     fi

+    if [ -n "${REAL_WORKDIR}" ]; then
+        if [ ! -d "${REAL_WORKDIR}" ]; then
+            echo " failed."
+            fsumount
+            err "REAL_WORKDIR ${REAL_WORKDIR} disappeared"
+        fi
+        mount -t null -o rw ${REAL_WORKDIR} ${DESTDIR}/pkg_comp/obj
+    fi
+
     touch $fsstate

     if [ -n "${MOUNT_HOOKS}" ]; then
@@ -340,6 +351,10 @@
         umount ${DESTDIR}/pkg_comp/ccache || fsfailed=yes
     fi

+    if [ -n "${REAL_WORKDIR}" -a -d "${REAL_WORKDIR}" ]; then
+        umount ${DESTDIR}/pkg_comp/obj || fsfailed=yes
+    fi
+
     if [ "$SYNC_UMOUNT" != "no" ]; then
         printf "Syncing: 1"
         sync ; sleep 1

>Release-Note:

>Audit-Trail:

Responsible-Changed-From-To: pkg-manager->jmmv
Responsible-Changed-By: wiz@NetBSD.org
Responsible-Changed-When: Sun, 20 Mar 2016 18:01:29 +0000
Responsible-Changed-Why:
Over to maintainer
(not sure if he reads his @NetBSD email though)


From: Julio Merino <jmmv@meroh.net>
To: gnats-bugs@netbsd.org
Cc: pkg-manager@netbsd.org, pkgsrc-bugs@netbsd.org, gnats-admin@netbsd.org, 
	Thomas Klausner <wiz@netbsd.org>, jan.m.danielsson@gmail.com
Subject: Re: pkg/50987 (Support setting real work directory in pkg_comp)
Date: Mon, 21 Mar 2016 14:05:52 -0400

 I think the patch looks good. A couple of nits:

 * Please sort the new entry in the manpage alphabetically (assuming
 the rest of the variables are sorted; I haven't checked).

 * Bump the version number of pkg_comp.

 On Sun, Mar 20, 2016 at 2:01 PM,  <wiz@netbsd.org> wrote:
 > Synopsis: Support setting real work directory in pkg_comp
 >
 > Responsible-Changed-From-To: pkg-manager->jmmv
 > Responsible-Changed-By: wiz@NetBSD.org
 > Responsible-Changed-When: Sun, 20 Mar 2016 18:01:29 +0000
 > Responsible-Changed-Why:
 > Over to maintainer
 > (not sure if he reads his @NetBSD email though)
 >
 >
 >

From: Jan Danielsson <jan.m.danielsson@gmail.com>
To: Julio Merino <jmmv@meroh.net>, gnats-bugs@netbsd.org
Cc: 
Subject: Re: pkg/50987 (Support setting real work directory in pkg_comp)
Date: Mon, 21 Mar 2016 22:36:08 +0100

 This is a multi-part message in MIME format.
 --------------000708030004030702090506
 Content-Type: text/plain; charset=utf-8
 Content-Transfer-Encoding: 7bit

 On 21/03/16 19:05, Julio Merino wrote:
 > I think the patch looks good. A couple of nits:
 > 
 > * Please sort the new entry in the manpage alphabetically (assuming
 > the rest of the variables are sorted; I haven't checked).

    They appear to be partially sorted alphabetically; the REAL_*
 variables are grouped at the top and sorted amongst themselves -- I
 followed that convention.

 > * Bump the version number of pkg_comp.

    Done.


 --------------000708030004030702090506
 Content-Type: text/plain; charset=UTF-8; x-mac-type="0"; x-mac-creator="0";
  name="pkgcomp_realworkdir.diff"
 Content-Transfer-Encoding: base64
 Content-Disposition: attachment;
  filename="pkgcomp_realworkdir.diff"

 SW5kZXg6IE1ha2VmaWxlCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnNyb290L3BrZ3Ny
 Yy9wa2d0b29scy9wa2dfY29tcC9NYWtlZmlsZSx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS41
 NQpkaWZmIC11IC1yMS41NSBNYWtlZmlsZQotLS0gTWFrZWZpbGUJMjEgTm92IDIwMTUgMjM6
 MTA6MjcgLTAwMDAJMS41NQorKysgTWFrZWZpbGUJMjEgTWFyIDIwMTYgMjE6MTg6NTggLTAw
 MDAKQEAgLTEsNyArMSw2IEBACiAjICROZXRCU0Q6IE1ha2VmaWxlLHYgMS41NSAyMDE1LzEx
 LzIxIDIzOjEwOjI3IGFnYyBFeHAgJAogCi1QS0dOQU1FPQlwa2dfY29tcC0xLjM4Ci1QS0dS
 RVZJU0lPTj0JMQorUEtHTkFNRT0JcGtnX2NvbXAtMS4zOQogQ0FURUdPUklFUz0JcGtndG9v
 bHMKIAogTUFJTlRBSU5FUj0Jam1tdkBOZXRCU0Qub3JnCkluZGV4OiBmaWxlcy9wa2dfY29t
 cC44Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
 PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnNyb290L3BrZ3NyYy9wa2d0b29scy9w
 a2dfY29tcC9maWxlcy9wa2dfY29tcC44LHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjQxCmRp
 ZmYgLXUgLXIxLjQxIHBrZ19jb21wLjgKLS0tIGZpbGVzL3BrZ19jb21wLjgJMjEgTm92IDIw
 MTUgMjM6MTA6MjcgLTAwMDAJMS40MQorKysgZmlsZXMvcGtnX2NvbXAuOAkyMSBNYXIgMjAx
 NiAyMToxODo1OCAtMDAwMApAQCAtMjcsNyArMjcsNyBAQAogLlwiIEFSSVNJTkcgSU4gQU5Z
 IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
 T0YgVEhFCiAuXCIgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAuXCIKLS5EZCBBdWd1
 c3QgMTcsIDIwMTUKKy5EZCBNYXJjaCAyMSwgMjAxNgogLkR0IFBLR19DT01QIDgKIC5Pcwog
 LlNoIE5BTUUKQEAgLTQ0MCw2ICs0NDAsOSBAQAogTW91bnQgb3B0aW9ucy4KIERlZmF1bHRz
 IHRvCiAuU3kgLXQgbnVsbCAtbyBybyAuCisuSXQgUkVBTF9XT1JLRElSCitXaGVyZSB0byBz
 dG9yZSBpbnRlcm1lZGlhdGUgYnVpbGQgdGFyZ2V0cyB3aGlsZSBidWlsZGluZyBwYWNrYWdl
 cy4KK0RlZmF1bHRzIHRvIG5vdGhpbmcuCiAuSXQgTUFLRVJPT1RfSE9PS1MKIEEgd2hpdGVz
 cGFjZSBzZXBhcmF0ZWQgbGlzdCBvZiBmdW5jdGlvbnMgb3IgZXh0ZXJuYWwgc2NyaXB0cyB0
 byBiZSBleGVjdXRlZAogYWZ0ZXIgdGhlIHNhbmRib3ggaXMgY3JlYXRlZC4KSW5kZXg6IGZp
 bGVzL3BrZ19jb21wLnNoCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnNyb290L3BrZ3Ny
 Yy9wa2d0b29scy9wa2dfY29tcC9maWxlcy9wa2dfY29tcC5zaCx2CnJldHJpZXZpbmcgcmV2
 aXNpb24gMS40MwpkaWZmIC11IC1yMS40MyBwa2dfY29tcC5zaAotLS0gZmlsZXMvcGtnX2Nv
 bXAuc2gJMjEgTm92IDIwMTUgMjM6MTA6MjcgLTAwMDAJMS40MworKysgZmlsZXMvcGtnX2Nv
 bXAuc2gJMjEgTWFyIDIwMTYgMjE6MTg6NTggLTAwMDAKQEAgLTUxLDcgKzUxLDggQEAKICAg
 ICAgICAgICAgICAgICBSRUFMX1BBQ0tBR0VTIFJFQUxfUEFDS0FHRVNfT1BUUyBSRUFMX1BL
 R1ZVTE5ESVIgXAogICAgICAgICAgICAgICAgIE5FVEJTRF9SRUxFQVNFIE1BS0VST09UX0hP
 T0tTIE1PVU5UX0hPT0tTIFVNT1VOVF9IT09LUyBcCiAgICAgICAgICAgICAgICAgU1lOQ19V
 TU9VTlQgQVVUT19UQVJHRVQgQVVUT19QQUNLQUdFUyBCVUlMRF9QQUNLQUdFUyBcCi0gICAg
 ICAgICAgICAgICAgUkVBTF9DQ0FDSEUgTElCS1ZFUl9TVEFOREFMT05FX1BSRUZJWCBHRU5F
 UkFURV9QS0dfU1VNTUFSWSIKKyAgICAgICAgICAgICAgICBSRUFMX0NDQUNIRSBMSUJLVkVS
 X1NUQU5EQUxPTkVfUFJFRklYIEdFTkVSQVRFX1BLR19TVU1NQVJZIFwKKyAgICAgICAgICAg
 ICAgICBSRUFMX1dPUktESVIiCiAKIF9CVUlMRF9SRVNVTUU9CiAKQEAgLTEyNiw2ICsxMjcs
 NyBAQAogICAgIDogJHtTWU5DX1VNT1VOVDo9bm99CiAgICAgOiAke1JFQUxfQ0NBQ0hFOj19
 CiAgICAgOiAke0dFTkVSQVRFX1BLR19TVU1NQVJZOj15ZXN9CisgICAgOiAke1JFQUxfV09S
 S0RJUjo9fQogCiAgICAgaWYgWyAtbiAiJHtNQUtFX1BBQ0tBR0VTfSIgXTsgdGhlbgogICAg
 ICAgICB3YXJuICJNQUtFX1BBQ0tBR0VTIGlzIGRlcHJlY2F0ZWQ7IHVzZSB7QVVUTyxCVUlM
 RH1fUEFDS0FHRVMgaW5zdGVhZC4iCkBAIC0yODAsNiArMjgyLDE1IEBACiAgICAgICAgIG1v
 dW50IC10IG51bGwgLW8gcncgJHtSRUFMX0NDQUNIRX0gJHtERVNURElSfS9wa2dfY29tcC9j
 Y2FjaGUKICAgICBmaQogCisgICAgaWYgWyAtbiAiJHtSRUFMX1dPUktESVJ9IiBdOyB0aGVu
 CisgICAgICAgIGlmIFsgISAtZCAiJHtSRUFMX1dPUktESVJ9IiBdOyB0aGVuCisgICAgICAg
 ICAgICBlY2hvICIgZmFpbGVkLiIKKyAgICAgICAgICAgIGZzdW1vdW50CisgICAgICAgICAg
 ICBlcnIgIlJFQUxfV09SS0RJUiAke1JFQUxfV09SS0RJUn0gZGlzYXBwZWFyZWQiCisgICAg
 ICAgIGZpCisgICAgICAgIG1vdW50IC10IG51bGwgLW8gcncgJHtSRUFMX1dPUktESVJ9ICR7
 REVTVERJUn0vcGtnX2NvbXAvb2JqCisgICAgZmkKKwogICAgIHRvdWNoICRmc3N0YXRlCiAK
 ICAgICBpZiBbIC1uICIke01PVU5UX0hPT0tTfSIgXTsgdGhlbgpAQCAtMzQwLDYgKzM1MSwx
 MCBAQAogICAgICAgICB1bW91bnQgJHtERVNURElSfS9wa2dfY29tcC9jY2FjaGUgfHwgZnNm
 YWlsZWQ9eWVzCiAgICAgZmkKIAorICAgIGlmIFsgLW4gIiR7UkVBTF9XT1JLRElSfSIgLWEg
 LWQgIiR7UkVBTF9XT1JLRElSfSIgXTsgdGhlbgorICAgICAgICB1bW91bnQgJHtERVNURElS
 fS9wa2dfY29tcC9vYmogfHwgZnNmYWlsZWQ9eWVzCisgICAgZmkKKwogICAgIGlmIFsgIiRT
 WU5DX1VNT1VOVCIgIT0gIm5vIiBdOyB0aGVuCiAgICAgICAgIHByaW50ZiAiU3luY2luZzog
 MSIKICAgICAgICAgc3luYyA7IHNsZWVwIDEK
 --------------000708030004030702090506--

>Unformatted:

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.39 2013/11/01 18:47:49 spz Exp $
$NetBSD: gnats_config.sh,v 1.8 2006/05/07 09:23:38 tsutsui Exp $
Copyright © 1994-2014 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.