tech-pkg archive

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

Re: /nonexistent



On Fri, Mar 04, 2011 at 03:07:59PM -0500, Sean Boudreau wrote:
> On Fri, Mar 04, 2011 at 01:26:51PM -0500, Joerg Sonnenberger wrote:
> > On Fri, Mar 04, 2011 at 09:38:30AM -0500, Sean Boudreau wrote:
> > > prefix=/usr/pkg
> > > make=${prefix}/bin/bmake
> > > 
> > > So the inner one.
> > > 
> > > I tried changing it to the outer (make=/pbulk/pkg_bulk/bin/bmake)
> > > and did a bulkbuild-rebuild of a package but it failed in the
> > > same way.
> > 
> > Let's start from scratch. If you run libexec/pbulk/client-clean, you
> > should have a clean /usr/pkg with just the bootstrap kit in it.
> > Check that the mk.conf is correct. Now run bmake pbulk-index e.g. in
> > devel/gmake or some other package. Does it show the dependency on
> > checkperms?
> 
> If I do a '/usr/pkg/bin/bmake pbulk-index' it does, if I use the outer
> bmake it doesn't.

OK,

The common factor in all the ones that fail is they all do a
MULTI_VERSION phase (MULTI_VERSION= PYTHON_VERSION_REQD=2[456])
which causes a sub-make to be spawned.  The difference between
the test from the shell of '/usr/pkg/bin/bmake pbulk-index' and
pbulk-scan is that pbulk-scan sets the initial bmake's argv[0]
to simply 'bmake' while the shell uses the full path.  I happen
to have the outer bmake in my path which seems to get picked up
as the sub-make in this case (didn't debug bmake itself here).

The attached diff seems to fix it for me.

Regards,

-seanb
Index: pkgtools/pbulk/files/pbulk/pscan/pscan.c
===================================================================
RCS file: /cvsroot/pkgsrc/pkgtools/pbulk/files/pbulk/pscan/pscan.c,v
retrieving revision 1.6
diff -u -r1.6 pscan.c
--- pkgtools/pbulk/files/pbulk/pscan/pscan.c    7 Jun 2009 17:59:50 -0000       
1.6
+++ pkgtools/pbulk/files/pbulk/pscan/pscan.c    5 Mar 2011 19:25:37 -0000
@@ -51,7 +51,6 @@
 int verbosity;
 
 static const char *bmake_path;
-static const char *bmake_cmd;
 static const char *output_file;
 static const char *pkgsrc_tree;
 
@@ -122,12 +121,6 @@
                usage();
        }
 
-       bmake_cmd = strrchr(bmake_path, '/');
-       if (bmake_cmd == NULL)
-               bmake_cmd = bmake_path;
-       else
-               ++bmake_cmd;
-
        if (client_port) {
                if (limited_scan != 0 || argc != 1)
                        usage();
@@ -161,7 +154,7 @@
 scan_pkglocation(const char *pkg_location)
 {
        const char * extract_pbulk_index[] = {
-               bmake_cmd,
+               bmake_path,
                "pbulk-index",
                NULL
        };
@@ -196,7 +189,7 @@
 find_full_tree(void)
 {
        const char * extract_subdir[] = {
-               bmake_cmd,
+               bmake_path,
                "show-subdir-var",
                "VARNAME=SUBDIR",
                NULL


Home | Main Index | Thread Index | Old Index