Re: svn commit: r338330 - head/lib/libmd

2018-08-26 Thread Rodney W. Grimes
> On Sun, 2018-08-26 at 10:15 -0700, Rodney W. Grimes wrote:
> > > 
> > > On Sun, 2018-08-26 at 17:05 +, Sean Bruno wrote:
> > > > 
> > > > Author: sbruno
> > > > Date: Sun Aug 26 17:05:43 2018
> > > > New Revision: 338330
> > > > URL: https://svnweb.freebsd.org/changeset/base/338330
> > > > 
> > > > Log:
> > > > ? r338270 had the side effect of no longer installing libmd.so
> > > > into /lib.
> > > > ? For users who have a seperate zfs mount of /usr or /usr/lib,
> > > > this will
> > > > ? cause dynamic loading failures when attempting to execute zfs
> > > > mount on
> > > > ? bootup. E.g. the system won't boot.
> > > > ??
> > > > ? Including??sets SHLIBDIR, so SHLIBDIR?= has no
> > > > ? effect.??The other lib/ Makefiles solve this problem by moving
> > > > the
> > > > ? SHLIBDIR??assignment to before .include .
> > > > ??
> > > > ? Submitted by: jilles
> > > > ? Reviewed by:  allanjude
> > > > ? Approved by:  re (rgrimes)
> > > > ? Differential Revision:https://reviews.freebsd.org/D1691
> > > > 0
> > > > 
> > > > Modified:
> > > > ? head/lib/libmd/Makefile
> > > > 
> > > > Modified: head/lib/libmd/Makefile
> > > > =
> > > > =
> > > > --- head/lib/libmd/Makefile Sun Aug 26 13:08:50 2018
> > > > (r338329)
> > > > +++ head/lib/libmd/Makefile Sun Aug 26 17:05:43 2018
> > > > (r338330)
> > > > @@ -1,11 +1,12 @@
> > > > ?# $FreeBSD$
> > > > ?
> > > > +SHLIBDIR?= /lib
> > > > +
> > > > ?.include?
> > > > ?
> > > > ?PACKAGE=lib${LIB}
> > > > ?LIB=   md
> > > > ?SHLIB_MAJOR= 6
> > > > -SHLIBDIR?= /lib
> > > > ?SRCS=  md4c.c md5c.c md4hl.c md5hl.c \
> > > > ?   rmd160c.c rmd160hl.c \
> > > > ?   sha0c.c sha0hl.c sha1c.c sha1hl.c \
> > > > 
> > > I'm curious why this is the preferred solution, as opposed to just
> > > leaving the assignment where it is and changing ?= to just =.
> > I think that reason would be that one could override
> > SHLIBDIR from a higher level, if they happened to
> > need to do that.??Ie, I could build a FreeBSD release
> > that had SHLIBDIR=/usr/lib from the top level and
> > it would just work.??(This can be done if you know
> > that / and /usr/lib well be in the same file system
> > for instance.??I could also build SHLIBDIR=/lib and
> > forgo the need for /usr/lib.
> > 
> 
> Oh, hmm. I wasn't thinking of that as a knob that would be controllable
> from outside of the build system internals. IMO, that whole subject is
> a bit of a weakness of the freebsd build machinery... we don't define,
> either via documentation or (better, IMO) via consistant variable and
> target name prefixes, which things are intended to be user-settable
> controls and which are intended only for internal use.

Back in the day it most of it was defined fairly well,
but over time as the complexity grew things have become
rather muddy.

I also suspect that there is probably some breakage if you
try to do what I mention above, but those are bugs that should
be fixed.

-- 
Rod Grimes rgri...@freebsd.org
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


Re: svn commit: r338330 - head/lib/libmd

2018-08-26 Thread Ian Lepore
On Sun, 2018-08-26 at 10:15 -0700, Rodney W. Grimes wrote:
> > 
> > On Sun, 2018-08-26 at 17:05 +, Sean Bruno wrote:
> > > 
> > > Author: sbruno
> > > Date: Sun Aug 26 17:05:43 2018
> > > New Revision: 338330
> > > URL: https://svnweb.freebsd.org/changeset/base/338330
> > > 
> > > Log:
> > > ? r338270 had the side effect of no longer installing libmd.so
> > > into /lib.
> > > ? For users who have a seperate zfs mount of /usr or /usr/lib,
> > > this will
> > > ? cause dynamic loading failures when attempting to execute zfs
> > > mount on
> > > ? bootup. E.g. the system won't boot.
> > > ??
> > > ? Including  sets SHLIBDIR, so SHLIBDIR?= has no
> > > ? effect.??The other lib/ Makefiles solve this problem by moving
> > > the
> > > ? SHLIBDIR??assignment to before .include .
> > > ??
> > > ? Submitted by:   jilles
> > > ? Reviewed by:allanjude
> > > ? Approved by:re (rgrimes)
> > > ? Differential Revision:  https://reviews.freebsd.org/D1691
> > > 0
> > > 
> > > Modified:
> > > ? head/lib/libmd/Makefile
> > > 
> > > Modified: head/lib/libmd/Makefile
> > > =
> > > =
> > > --- head/lib/libmd/Makefile   Sun Aug 26 13:08:50 2018
> > > (r338329)
> > > +++ head/lib/libmd/Makefile   Sun Aug 26 17:05:43 2018
> > > (r338330)
> > > @@ -1,11 +1,12 @@
> > > ?# $FreeBSD$
> > > ?
> > > +SHLIBDIR?= /lib
> > > +
> > > ?.include 
> > > ?
> > > ?PACKAGE=lib${LIB}
> > > ?LIB= md
> > > ?SHLIB_MAJOR= 6
> > > -SHLIBDIR?= /lib
> > > ?SRCS=md4c.c md5c.c md4hl.c md5hl.c \
> > > ? rmd160c.c rmd160hl.c \
> > > ? sha0c.c sha0hl.c sha1c.c sha1hl.c \
> > > 
> > I'm curious why this is the preferred solution, as opposed to just
> > leaving the assignment where it is and changing ?= to just =.
> I think that reason would be that one could override
> SHLIBDIR from a higher level, if they happened to
> need to do that.  Ie, I could build a FreeBSD release
> that had SHLIBDIR=/usr/lib from the top level and
> it would just work.  (This can be done if you know
> that / and /usr/lib well be in the same file system
> for instance.  I could also build SHLIBDIR=/lib and
> forgo the need for /usr/lib.
> 

Oh, hmm. I wasn't thinking of that as a knob that would be controllable
from outside of the build system internals. IMO, that whole subject is
a bit of a weakness of the freebsd build machinery... we don't define,
either via documentation or (better, IMO) via consistant variable and
target name prefixes, which things are intended to be user-settable
controls and which are intended only for internal use.

-- Ian
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


Re: svn commit: r338330 - head/lib/libmd

2018-08-26 Thread Rodney W. Grimes
> On Sun, 2018-08-26 at 17:05 +, Sean Bruno wrote:
> > Author: sbruno
> > Date: Sun Aug 26 17:05:43 2018
> > New Revision: 338330
> > URL: https://svnweb.freebsd.org/changeset/base/338330
> > 
> > Log:
> > ? r338270 had the side effect of no longer installing libmd.so into /lib.
> > ? For users who have a seperate zfs mount of /usr or /usr/lib, this will
> > ? cause dynamic loading failures when attempting to execute zfs mount on
> > ? bootup. E.g. the system won't boot.
> > ??
> > ? Including  sets SHLIBDIR, so SHLIBDIR?= has no
> > ? effect.??The other lib/ Makefiles solve this problem by moving the
> > ? SHLIBDIR??assignment to before .include .
> > ??
> > ? Submitted by: jilles
> > ? Reviewed by:  allanjude
> > ? Approved by:  re (rgrimes)
> > ? Differential Revision:https://reviews.freebsd.org/D16910
> > 
> > Modified:
> > ? head/lib/libmd/Makefile
> > 
> > Modified: head/lib/libmd/Makefile
> > ==
> > --- head/lib/libmd/Makefile Sun Aug 26 13:08:50 2018(r338329)
> > +++ head/lib/libmd/Makefile Sun Aug 26 17:05:43 2018(r338330)
> > @@ -1,11 +1,12 @@
> > ?# $FreeBSD$
> > ?
> > +SHLIBDIR?= /lib
> > +
> > ?.include 
> > ?
> > ?PACKAGE=lib${LIB}
> > ?LIB=   md
> > ?SHLIB_MAJOR= 6
> > -SHLIBDIR?= /lib
> > ?SRCS=  md4c.c md5c.c md4hl.c md5hl.c \
> > ?   rmd160c.c rmd160hl.c \
> > ?   sha0c.c sha0hl.c sha1c.c sha1hl.c \
> > 
> 
> I'm curious why this is the preferred solution, as opposed to just
> leaving the assignment where it is and changing ?= to just =.

I think that reason would be that one could override
SHLIBDIR from a higher level, if they happened to
need to do that.  Ie, I could build a FreeBSD release
that had SHLIBDIR=/usr/lib from the top level and
it would just work.  (This can be done if you know
that / and /usr/lib well be in the same file system
for instance.  I could also build SHLIBDIR=/lib and
forgo the need for /usr/lib.

-- 
Rod Grimes rgri...@freebsd.org
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


Re: svn commit: r338330 - head/lib/libmd

2018-08-26 Thread Sean Bruno


On 08/26/18 11:11, Ian Lepore wrote:
>> Modified: head/lib/libmd/Makefile
>> ==
>> --- head/lib/libmd/Makefile  Sun Aug 26 13:08:50 2018(r338329)
>> +++ head/lib/libmd/Makefile  Sun Aug 26 17:05:43 2018(r338330)
>> @@ -1,11 +1,12 @@
>>  # $FreeBSD$
>>  
>> +SHLIBDIR?= /lib
>> +
>>  .include 
>>  
>>  PACKAGE=lib${LIB}
>>  LIB=md
>>  SHLIB_MAJOR= 6
>> -SHLIBDIR?= /lib
>>  SRCS=   md4c.c md5c.c md4hl.c md5hl.c \
>>  rmd160c.c rmd160hl.c \
>>  sha0c.c sha0hl.c sha1c.c sha1hl.c \
>>
> I'm curious why this is the preferred solution, as opposed to just
> leaving the assignment where it is and changing ?= to just =.
> 
> -- Ian
> 
> 


I'm unsure if there is or isn't a preferred solution.  There appear to
be multiple ways of doing this strewn about the tree.

This appears to be "a way" of fixing the state of -current at the
moment.  I leave it to others more versed in the intricacies of Makefile
dark magic to scry a solution from the aether.

sean



signature.asc
Description: OpenPGP digital signature


Re: svn commit: r338330 - head/lib/libmd

2018-08-26 Thread Ian Lepore
On Sun, 2018-08-26 at 17:05 +, Sean Bruno wrote:
> Author: sbruno
> Date: Sun Aug 26 17:05:43 2018
> New Revision: 338330
> URL: https://svnweb.freebsd.org/changeset/base/338330
> 
> Log:
>   r338270 had the side effect of no longer installing libmd.so into /lib.
>   For users who have a seperate zfs mount of /usr or /usr/lib, this will
>   cause dynamic loading failures when attempting to execute zfs mount on
>   bootup. E.g. the system won't boot.
>   
>   Including  sets SHLIBDIR, so SHLIBDIR?= has no
>   effect.  The other lib/ Makefiles solve this problem by moving the
>   SHLIBDIR  assignment to before .include .
>   
>   Submitted by:   jilles
>   Reviewed by:allanjude
>   Approved by:re (rgrimes)
>   Differential Revision:  https://reviews.freebsd.org/D16910
> 
> Modified:
>   head/lib/libmd/Makefile
> 
> Modified: head/lib/libmd/Makefile
> ==
> --- head/lib/libmd/Makefile   Sun Aug 26 13:08:50 2018(r338329)
> +++ head/lib/libmd/Makefile   Sun Aug 26 17:05:43 2018(r338330)
> @@ -1,11 +1,12 @@
>  # $FreeBSD$
>  
> +SHLIBDIR?= /lib
> +
>  .include 
>  
>  PACKAGE=lib${LIB}
>  LIB= md
>  SHLIB_MAJOR= 6
> -SHLIBDIR?= /lib
>  SRCS=md4c.c md5c.c md4hl.c md5hl.c \
>   rmd160c.c rmd160hl.c \
>   sha0c.c sha0hl.c sha1c.c sha1hl.c \
> 

I'm curious why this is the preferred solution, as opposed to just
leaving the assignment where it is and changing ?= to just =.

-- Ian
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r338330 - head/lib/libmd

2018-08-26 Thread Sean Bruno
Author: sbruno
Date: Sun Aug 26 17:05:43 2018
New Revision: 338330
URL: https://svnweb.freebsd.org/changeset/base/338330

Log:
  r338270 had the side effect of no longer installing libmd.so into /lib.
  For users who have a seperate zfs mount of /usr or /usr/lib, this will
  cause dynamic loading failures when attempting to execute zfs mount on
  bootup. E.g. the system won't boot.
  
  Including  sets SHLIBDIR, so SHLIBDIR?= has no
  effect.  The other lib/ Makefiles solve this problem by moving the
  SHLIBDIR  assignment to before .include .
  
  Submitted by: jilles
  Reviewed by:  allanjude
  Approved by:  re (rgrimes)
  Differential Revision:https://reviews.freebsd.org/D16910

Modified:
  head/lib/libmd/Makefile

Modified: head/lib/libmd/Makefile
==
--- head/lib/libmd/Makefile Sun Aug 26 13:08:50 2018(r338329)
+++ head/lib/libmd/Makefile Sun Aug 26 17:05:43 2018(r338330)
@@ -1,11 +1,12 @@
 # $FreeBSD$
 
+SHLIBDIR?= /lib
+
 .include 
 
 PACKAGE=lib${LIB}
 LIB=   md
 SHLIB_MAJOR= 6
-SHLIBDIR?= /lib
 SRCS=  md4c.c md5c.c md4hl.c md5hl.c \
rmd160c.c rmd160hl.c \
sha0c.c sha0hl.c sha1c.c sha1hl.c \
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"