DistroKit Mailinglist
 help / color / mirror / Atom feed
From: Alexander Dahl <ada@thorsis.com>
To: distrokit@pengutronix.de
Cc: Michael Olbrich <m.olbrich@pengutronix.de>
Subject: Re: [DistroKit] [PATCH] datapartition: Let systemd install custom udev rule
Date: Fri, 25 Jun 2021 13:29:41 +0200	[thread overview]
Message-ID: <2990520.xpvgETS0Is@ada> (raw)
In-Reply-To: <20210625112214.GG25044@pengutronix.de>

Hei hei,

Am Freitag, 25. Juni 2021, 13:22:14 CEST schrieb Michael Olbrich:
> Hi,
> 
> On Fri, Jun 25, 2021 at 01:15:46PM +0200, Alexander Dahl wrote:
> > If DistroKit is used as a base layer and any upper layer enables
> > PTXCONF_SYSTEMD_UDEV_CUST_RULES, package installation might fail because
> > both packages, 'systemd' and 'datapartition' try to targetinstall
> > 
> > 'usr/lib/udev/rules.d/91-mkfs-ext4.rules', like this:
> >     Collected errors:
> >      * check_data_file_clashes: Package datapartition wants to install
> >      file
> >      /home/adahl/Work/bsp/xxx/base/platform-v7a/build-target/image-root-t
> >      gz/usr/lib/udev/rules.d/91-mkfs-ext4.rules>      
> >             But that file is already provided by package  * systemd
> >      
> >      * opkg_solver_install: Cannot install package datapartition.
> >     
> >     make: ***
> >     [/usr/local/lib/ptxdist-2021.02.0/rules/image-root-tgz.make:30:
> >     /home/adahl/Work/bsp/xxx/base/platform-v7a/images/root.tgz] Error 255
> NACK.
> 
> An now 91-mkfs-ext4.rules won't be installed unless it is copied into each
> layer that provides udev rules. Don't use SYSTEMD_UDEV_CUST_RULES with
> layers. It doesn't work properly.

Well, I tested it with ptxdist-2021.02.0 and BSP using DistroKit-2021.02.0 as 
base layer.  That file 91-mkfs-ext4.rules was actually copied, and I did not 
duplicate it into the upper layer before.

Was there a post ptxdist-2021.02.0 change preventing that conflict outlined 
above?

However, and that's probably also against this approach: the file won't get 
copied anymore if someone disables SYSTEMD_UDEV_CUST_RULES in an upper layer 
for any reason?

So, if I want to install my own custem udev rule from an upper layer, what am 
I supposed to do, if SYSTEMD_UDEV_CUST_RULES is a no go? Create another 
package like 'datapartition' for just installing that one file?

Greets
Alex

> 
> Michael
> 
> > Signed-off-by: Alexander Dahl <ada@thorsis.com>
> > ---
> > 
> >  configs/ptxconfig        | 2 +-
> >  rules/datapartition.make | 2 --
> >  2 files changed, 1 insertion(+), 3 deletions(-)
> > 
> > diff --git a/configs/ptxconfig b/configs/ptxconfig
> > index c97e321..a4fa7e9 100644
> > --- a/configs/ptxconfig
> > +++ b/configs/ptxconfig
> > @@ -1437,7 +1437,7 @@ PTXCONF_SYSTEMD_ZSTD=y
> > 
> >  #
> >  PTXCONF_SYSTEMD_UDEV_DRIVERS_RULES=y
> >  # PTXCONF_SYSTEMD_UDEV_HWDB is not set
> > 
> > -# PTXCONF_SYSTEMD_UDEV_CUST_RULES is not set
> > +PTXCONF_SYSTEMD_UDEV_CUST_RULES=y
> > 
> >  # end of install options
> >  
> >  #
> > 
> > diff --git a/rules/datapartition.make b/rules/datapartition.make
> > index b79bcf0..7f3c992 100644
> > --- a/rules/datapartition.make
> > +++ b/rules/datapartition.make
> > 
> > @@ -28,8 +28,6 @@ $(STATEDIR)/datapartition.targetinstall:
> >  	@$(call install_alternative, datapartition, 0, 0, 0644, \
> >  	
> >  		/usr/lib/systemd/system/systemd-autoformat@.service)
> > 
> > -	@$(call install_alternative, datapartition, 0, 0, 0644, \
> > -		/usr/lib/udev/rules.d/91-mkfs-ext4.rules)
> > 
> >  	@$(call install_finish,datapartition)
> > 
> > base-commit: 085bb9b4273c8fd91105d9e149776f144f5fdd65





_______________________________________________
DistroKit mailing list
DistroKit@pengutronix.de


  reply	other threads:[~2021-06-25 11:29 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-25 11:15 Alexander Dahl
2021-06-25 11:22 ` Michael Olbrich
2021-06-25 11:29   ` Alexander Dahl [this message]
2021-06-25 12:03     ` Alexander Dahl

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=2990520.xpvgETS0Is@ada \
    --to=ada@thorsis.com \
    --cc=distrokit@pengutronix.de \
    --cc=m.olbrich@pengutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox