From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from mail-ob0-f172.google.com ([209.85.214.172]) by metis.ext.pengutronix.de with esmtp (Exim 4.72) (envelope-from ) id 1TdmdP-0000UW-9e for ptxdist@pengutronix.de; Wed, 28 Nov 2012 19:45:24 +0100 Received: by mail-ob0-f172.google.com with SMTP id v19so1781473obq.31 for ; Wed, 28 Nov 2012 10:45:17 -0800 (PST) Message-ID: <50B65BB8.9060708@gmail.com> Date: Wed, 28 Nov 2012 12:45:12 -0600 From: George McCollister MIME-Version: 1.0 References: <1352926290-28469-1-git-send-email-george.mccollister@gmail.com> <20121116104712.GE19823@pengutronix.de> In-Reply-To: <20121116104712.GE19823@pengutronix.de> Subject: Re: [ptxdist] [PATCH] systemd: use install_alternative_tree Reply-To: ptxdist@pengutronix.de List-Id: PTXdist Development Mailing List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="us-ascii"; Format="flowed" Sender: ptxdist-bounces@pengutronix.de Errors-To: ptxdist-bounces@pengutronix.de To: ptxdist@pengutronix.de My solution was bad but I think there are some issues that need to be resolved. The serial-getty@.service provided by systemd uses agetty instead of busybox getty. Like you suggested I can install a modified copy to /etc/systemd/system in a different package (a custom package or maybe busybox should have an option to install service file for getty?) This still leaves me with the problem that systemd installs /etc/systemd/system/getty.target.wants/getty@tty1.service linked to /lib/systemd/system/getty@.service. Since this platform doesn't have tty1 I figured I would remove that link and instead link /etc/systemd/system/getty.target.wants/serial-getty@ttyS0.service to /etc/systemd/system/serial-getty@.service. Maybe I'm going about this wrong as well, can you suggest a solution to deal with this situation? Should any of the files installed to /lib/systemd/system by systemd be optional or omitted? I'm not too concerned with this although I suspect some space is being wasted. Right now journald.conf, logind.conf, system.conf, user.conf are just place holders. Seems like it would be a good idea if these could be overridden by files provided in projectroot and possibly be marked as config files so they are preserved during package upgrade. Unless you decide to change it upstream I think I will probably end up changing everything in this directory to be installed individually with install_config Another systemd related problem I see is that packages (utelnetd for instance) installing their unit files to /lib/systemd/system make the incorrect assumption that I also want the unit enabled. This is also a problem because if I disable the service manually it will be re-enabled if that package is upgraded with opkg since the symlink is not marked as a config file. I agree with your suggestion for /usr/lib/tmpfiles.d. On 11/16/2012 04:47 AM, Michael Olbrich wrote: > On Wed, Nov 14, 2012 at 02:51:30PM -0600, George McCollister wrote: >> The contents of the following often need to be customized: >> /etc/systemd/system > What do you need to change here? > >> /lib/systemd/system > This makes no sense. install_alternative_tree chooses the whole tree from > multiple locations, not individual files. Copying the whole tree is really > overkill. You can overwrite anything here by installing the same files in > /etc/systemd/system anyways. > >> /usr/lib/tmpfiles.d > No. These are needed and you can add your own files in a separate package. > > Michael > >> Using install_alternative_tree instead of install_tree will allow >> customizations. >> >> Signed-off-by: George McCollister >> --- >> rules/systemd.make | 6 +++--- >> 1 file changed, 3 insertions(+), 3 deletions(-) >> >> diff --git a/rules/systemd.make b/rules/systemd.make >> index 4d3cace..0f78553 100644 >> --- a/rules/systemd.make >> +++ b/rules/systemd.make >> @@ -199,8 +199,8 @@ endif >> /etc/systemd/journald.conf) >> @$(call install_alternative, systemd, 0, 0, 0644, \ >> /etc/systemd/logind.conf) >> - @$(call install_tree, systemd, 0, 0, -, /etc/systemd/system/) >> - @$(call install_tree, systemd, 0, 0, -, /usr/lib/tmpfiles.d/) >> + @$(call install_alternative_tree, systemd, 0, 0, /etc/systemd/system/) >> + @$(call install_alternative_tree, systemd, 0, 0, /usr/lib/tmpfiles.d/) >> @$(call install_copy, systemd, 0, 0, 0644, -, /lib/udev/rules.d/99-systemd.rules) >> @$(call install_tree, systemd, 0, 0, -, /etc/dbus-1/system.d/) >> @$(call install_tree, systemd, 0, 0, -, /usr/share/polkit-1/actions/) >> @@ -209,7 +209,7 @@ endif >> @$(call install_copy, systemd, 0, 0, 0644, -, /usr/share/systemd/kbd-model-map) >> >> # # units >> - @$(call install_tree, systemd, 0, 0, -, /lib/systemd/system/) >> + @$(call install_alternative_tree, systemd, 0, 0, /lib/systemd/system/) >> >> @$(call install_alternative, systemd, 0, 0, 0644, /etc/vconsole.conf) >> >> -- >> 1.7.11.2 >> >> >> -- >> ptxdist mailing list >> ptxdist@pengutronix.de >> Thanks for your feedback, George -- ptxdist mailing list ptxdist@pengutronix.de