Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 22 Aug 2014 08:47:50 +0200
From:      John Marino <freebsd.contact@marino.st>
To:        Hiroki Sato <hrs@FreeBSD.org>, marino@freebsd.org
Cc:        svn-ports-head@freebsd.org, svn-ports-all@freebsd.org, ports-committers@freebsd.org, bdrewery@FreeBSD.org
Subject:   Re: svn commit: r365590 - in head/cad/spice: . files
Message-ID:  <53F6E796.7090707@marino.st>
In-Reply-To: <20140822.140157.2098353200954412611.hrs@allbsd.org>
References:  <20140822.070939.1253386656808735449.hrs@allbsd.org>	<53F66EE5.7080500@FreeBSD.org>	<53F6724A.6000602@marino.st> <20140822.140157.2098353200954412611.hrs@allbsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On 8/22/2014 07:01, Hiroki Sato wrote:
> John Marino <freebsd.contact@marino.st> wrote
> fr> Frankly he should revert this immediately.  It was working before
> fr> everywhere.
> 
>  I take the maintainership because I have plans to add further changes
>  to this port.  Like the other change I committed just now, they will
>  be ones primarily for supporting new devices.  Probably I will change
>  files/Makefile further.
> 
>  I changed files/Makefile not to use bsd.prog.mk as I understand that
>  your criticism was based on the use of it.  However, still I do not
>  understand what exactly you are pointing out by words "break my
>  work".  I used bsd.prog.mk just because it was handy, so if my change
>  was inappropriate I will consider fixing.  You first mentioned the
>  breakage was on DragonFly but you did not give specifics.  If someone
>  will be happy by changing something, please provide enough
>  information.

First, thank you for using an alternative method.  I am happy that you
have an interest in improving spice and that you are the new maintainer.

At at academic level, a port relying on a makefile fragment not
controlled by the ports collection is a bad idea.  Yes, other ports do
it and yes changes only happen per release and yes, changes rarely
happen at all.  It's still not a good idea.

The dragonfly and freebsd sys/mk have a similar function and once were
the same.  However there are differences.  As a specific example.
although ports-mgmt/pkg was developed specifically to support DragonFly,
we can't install it without patches because their internal makefile uses
system mk files and causes some files not to get installed.

I also have a "back burner" goal of putting ports on Solaris-based
machines (illuminos too) which are completely dissimilar.  Spice would
have no hope in that case.  I haven't worked on the "sun-ports" because
I've been too busy helping staging ports, something that doesn't
directly benefit dports.


>  My opinion about using bsd.prog.mk is as follows.  DragonFly's
>  bsd.*.mk should be based on FreeBSD's and I believe my change has
>  been compatible for over 10 years.


There is significant divergence after 10 years.


>  When a vendor-supplied Makefile is not reliable, I usually avoid to
>  create a hand-rolling install target including lines of "install foo
>  ${PREFIX}/bin" since maintenance is hard for me.  Although there are
>  some in ports I am maintaining that have such an install target, they
>  suffer from changes to the ports tree.  When staging support was
>  added they became broken and needed to add ${DESTDIR} or ${STAGEDIR}
>  manually, and -j# support for such kind of install targets is
>  sensitive to () as tijl@ explains.  Macros in bsd.prog.mk (and
>  bsd.files.mk) are safe at least with regard to them.


I would have no issue with this if a tailored copy of system mk files
were placed in /usr/ports/Mk somewhere.  It would even be a good idea.


>  I do not insist that bsd.prog.mk is free from compatibility issue
>  even in FreeBSD you mentioned.  However, I personally believe risk of
>  using it is smaller than (or as small as) one of hand-rolled target
>  because I eventually needed to fix Makefiles before as explained
>  above.  Thus, I do not either recommend or deny using bsd.prog.mk,
>  while I use it in ports I maintain.  I just think the risk is small
>  and I can fix it if there is a problem because I am the maintainer.

Since there are "only" 127 ports that visually use this (but likely
more, e.g. pkg's use is not greppable), I think it would be feasible to
put a version of these makefile fragments in /Mk and convert the ports
to use those.  I understand the benefits they can offer.

Thanks,
John







Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?53F6E796.7090707>