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 14:03:57 +0200 [thread overview]
Message-ID: <4844751.xqrA4kxZp1@ada> (raw)
In-Reply-To: <2990520.xpvgETS0Is@ada>
Hei hei,
Am Freitag, 25. Juni 2021, 13:29:41 CEST schrieb Alexander Dahl:
> 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.
Maybe that was because I had no file in 'projectroot/usr/lib/udev/rules.d'
(anymore) but enabled SYSTEMD_UDEV_CUST_RULES?
> Was there a post ptxdist-2021.02.0 change preventing that conflict outlined
> above?
I don't think so.
> 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?
It works as expected, if I have files in 'projectroot/usr/lib/udev/rules.d'
actually.
Sorry for the noise.
Greets
Alex
>
>
> 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
_______________________________________________
DistroKit mailing list
DistroKit@pengutronix.de
prev parent reply other threads:[~2021-06-25 12:04 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
2021-06-25 12:03 ` Alexander Dahl [this message]
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=4844751.xqrA4kxZp1@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