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>