Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 24 Sep 2014 18:22:36 -0700
From:      NGie Cooper <yaneurabeya@gmail.com>
To:        Warner Losh <imp@bsdimp.com>
Cc:        Glen Barber <gjb@freebsd.org>, "freebsd-arch@FreeBSD.org Arch" <freebsd-arch@freebsd.org>
Subject:   Re: [RFC] fully integrate etc/Makefile into bsd.prog.mk
Message-ID:  <CAGHfRMD23cKDuquhQRBw7D=JyMdU6933gnD4ePPeHwX9RQ3uKQ@mail.gmail.com>
In-Reply-To: <8D6B4CD4-D099-4BA9-9BE1-39FC4658A992@bsdimp.com>
References:  <11E49217-8154-47AC-8D39-68256017D3A8@gmail.com> <0A216B9F-3437-461E-A52A-032F6B86B5F2@bsdimp.com> <CAGHfRMBbG6mjpxZ1dLT=jQRTzAsgO%2BRomLyGAsTOaOw6cHBUSw@mail.gmail.com> <5421F165.7030304@wemm.org> <CAGHfRMAWAvns6rdRZD8-5YLZg9RtWhjMdEsZ_zjDu1Z132odnQ@mail.gmail.com> <20140923231205.GA40545@hub.FreeBSD.org> <8CE07FF2-6D08-4270-8214-1C8493E56536@gmail.com> <8D6B4CD4-D099-4BA9-9BE1-39FC4658A992@bsdimp.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Sep 24, 2014 at 9:07 AM, Warner Losh <imp@bsdimp.com> wrote:
>
> On Sep 23, 2014, at 5:20 PM, Garrett Cooper <yaneurabeya@gmail.com> wrote=
:
>
>> On Sep 23, 2014, at 16:12, Glen Barber <gjb@FreeBSD.org> wrote:
>>
>> ...
>>
>>> And the "other people's" is exactly why etc/Makefile should remain
>>> untouched.  Many companies build their own releases, and touching
>>> something for the sake of touching something will inevitably break
>>> something that has worked for a long time.
>>>
>>> In my opinion, etc/Makefile is not broken, so there is no reason to
>>> "fix" it.  You can consider my reply an objection to arbitrary changes
>>> to etc/Makefile, in this case.
>>
>>       Ok. I=E2=80=99ll rescind my proposal to cleanup/change the structu=
re/method used for installing things in etc/Makefile, and instead focus on =
testing and review of the removal of optional pieces from the install which=
 are always installed.
>> Thank you for the input,
>
> That=E2=80=99s why I asked what the plan was. etc/Makefile is simply frau=
ght with danger.

My lack of a plan was probably what caused the FUD. I didn't have one
yet because I was doing initial investigation to see whether or not
what I was proposing was even plausible.

Basically, the idea was to do the following:

Goal:
- All high level/documented targets (all, clean, distribute,
distribution, install, etc) would remain untouched. No backwards
compatibility would be broken when doing this work.

Tasks:
1. Any "missing" Makefiles in subdirectories would be added/converted
as needed to bsd.prog.mk in order to handle "make distribution"
cleanly.
2. All lines like "cd ${.CURDIR}/some-dir; make install" executed
under the distribution target would turn into something like this:

# Only install these items with make distribution.
.if make(distribution)
SUBDIR+=3D some-dir
.endif

I would need to change ${.TARGET} to execute install like is currently
being done today (with exception of sendmail -- which handles make
distribution), unless I created a Makefile.inc in the directory which
created the distribution target as needed.

3. Everything would be converted over to FILES/FILESDIR or
SCRIPTS/SCRIPTSDIR in etc/Makefile that is installed from etc.
4. Everything that's not installed from /etc would be moved to their
relevant subdir Makefile.
5. Targets that handle creating login.conf.db, etc would be moved to
the end of the target, or be moved to a supporting target which would
ensure that vendors/users would have the ability to customize
${DESTDIR}/etc before cap_mkdb, etc are run, eliminating the need for
duplicated logic in scripts.

Thanks,
-Garrett



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAGHfRMD23cKDuquhQRBw7D=JyMdU6933gnD4ePPeHwX9RQ3uKQ>