Re: [PATCH spice-streaming-agent v3 1/5] Install udev rule

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, 2018-06-01 at 04:56 -0400, Frediano Ziglio wrote:
> > 
> > On 06/01/2018 12:12 AM, Frediano Ziglio wrote:
> > > > 
> > > > On 05/23/2018 12:03 PM, Frediano Ziglio wrote:
> > > > > The udev rule is used to do some action when the device is added to the
> > > > > system. Current rule change the permission of the special file to allow
> > > > > to
> > > > > open it by any user.
> > > > > Some systems use /lib/udev while others use /usr/lib/udev.
> > > > > Allow to specify the full path to support both type of systems.
> > > > > 
> > > > > Signed-off-by: Frediano Ziglio <fziglio@xxxxxxxxxx>
> > > > > ---
> > > > >    Makefile.am                   |  4 ++++
> > > > >    configure.ac                  | 10 ++++++++++
> > > > >    spice-streaming-agent.spec.in |  4 +++-
> > > > >    3 files changed, 17 insertions(+), 1 deletion(-)
> > > > > 
> > > > > Changes since v2:
> > > > > - use pkg-config to get default udev directory
> > > > 
> > > > Hi,
> > > > 
> > > > This fails make install and make distcheck (regular user can not
> > > > install files under /usr/lib/ ... ) .
> > > > 
> > > 
> > > Looks like is expected, see
> > > https://stackoverflow.com/questions/26980634/can-i-install-a-systemd-file-during-distcheck-using-dc-install-base
> > > 
> > > 
> > > I had to add
> > > 
> > > diff --git a/Makefile.am b/Makefile.am
> > > index 32fdaff..a2da845 100644
> > > --- a/Makefile.am
> > > +++ b/Makefile.am
> > > @@ -15,6 +15,8 @@ gdmautostart_DATA =
> > > $(builddir)/data/spice-streaming.desktop
> > >   pkgconfigdir = $(libdir)/pkgconfig
> > >   pkgconfig_DATA = spice-streaming-agent.pc
> > > 
> > > +AM_DISTCHECK_CONFIGURE_FLAGS =
> > > --with-udevrulesdir='$$(prefix)/$(UDEVRULESDIR)'
> > > +
> > >   udevrulesdir = $(UDEVRULESDIR)
> > >   udevrules_DATA = $(srcdir)/data/90-spice-guest-streaming.rules
> > > 
> > > 
> > > now is working.
> > > Looks like make distcheck uses the prefix instead of DESTDIR (used for
> > > instance
> > > by rpm to avoid these issues).
> > > I think in a normal usage "make install" should install udev rule requiring
> > > root permissions.
> > 
> > I prefer that the following will not fail as non-root user:
> > ./configure --prefix=/tmp/mydir && make install
> > (also not that great when running as root).
> > 
> 
> It would make sense only if by default you don't install udev rules,
> if you do they must be installed where udev will read, unless you
> want to change udev to read the rules from your directory but in
> this case you need root too so will fail again.

I would say if the user specifies the prefix, let him care whether the
udev rules will actually be read by anything. I'm with Uri on not
failing when non-root user installs into a prefix. But I'm not sure I'm
not missing part of the problem so please apply a grain of salt if you
would :)

Lukas

> The only sensible option would be to not install udev rules by
> default and add a --enable-udev (or similar).
> 
> Similar issue happens with spice-gtk and policy kit for the same
> reason, fails if I don't specify --disable-polkit.
> 
> > Anyway, this patch now works on Fedora 28, but fails on RHEL-7.
> > 
> > On my RHEL-7, "autoreconf -fi" fails with:
> > configure.ac:58: error: possibly undefined macro: PKG_CHECK_VAR
> > 
> > Searching the internet I found this bug
> > https://bugzilla.redhat.com/show_bug.cgi?id=1084372
> > 
> 
> Sending a new version, looks like is easier to call pkg-config
> directly instead of trying to provide PKG_CHECK_VAR (available
> since pkg-config 0.28, RHEL7 has 0.27).
> 
> Frediano
> 
> > Uri.
> > 
> > 
> > > 
> > > > I changed this patch as follows (v4):
> > > > - do not install the udev rule (remove this part from Makefile.am)
> > > > - do not change configure.ac (no need for UDEVRULESDIR anymore)
> > > > - spec-file: do not change configure
> > > > - spec-file: copy (install) the udev-rule directly
> > > > 
> > > > Uri.
> > > > 
> > > > =====
> > > > 
> > > >   From e5b7287fb7908e2d3ced19b229d61ca4540134f5 Mon Sep 17 00:00:00 2001
> > > > From: Frediano Ziglio <fziglio@xxxxxxxxxx>
> > > > Date: Thu, 31 May 2018 22:19:59 +0300
> > > > Subject: [PATCH spice-streaming-agent v3 1/5] spec-file: add udev rule
> > > > 
> > > > The udev rule is used to do some action when the device is added to the
> > > > system. Current rule changes the permission of the virtio serial port
> > > > device
> > > > to allow opening it by any user.
> > > > 
> > > > Signed-off-by: Frediano Ziglio <fziglio@xxxxxxxxxx>
> > > > Signed-off-by: Uri Lublin <uril@xxxxxxxxxx>
> > > > ---
> > > >    Makefile.am                   | 1 +
> > > >    spice-streaming-agent.spec.in | 5 +++++
> > > >    2 files changed, 6 insertions(+)
> > > > 
> > > > diff --git a/Makefile.am b/Makefile.am
> > > > index 94ad7aa..291a883 100644
> > > > --- a/Makefile.am
> > > > +++ b/Makefile.am
> > > > @@ -18,5 +18,6 @@ pkgconfig_DATA = spice-streaming-agent.pc
> > > >    EXTRA_DIST = \
> > > >    	spice-streaming-agent.spec \
> > > >    	spice-streaming-agent.pc \
> > > > +	data/90-spice-guest-streaming.rules \
> > > >    	data/spice-streaming.desktop \
> > > >    	$(NULL)
> > > > diff --git a/spice-streaming-agent.spec.in b/spice-streaming-agent.spec.in
> > > > index 132a851..ec144f6 100644
> > > > --- a/spice-streaming-agent.spec.in
> > > > +++ b/spice-streaming-agent.spec.in
> > > > @@ -10,6 +10,7 @@ BuildRequires:  spice-protocol >=
> > > > @SPICE_PROTOCOL_MIN_VER@
> > > >    BuildRequires:  libX11-devel libXfixes-devel
> > > >    BuildRequires:  libjpeg-turbo-devel
> > > >    BuildRequires:  catch-devel
> > > > +BuildRequires:  pkgconfig(udev)
> > > >    # we need /usr/sbin/semanage program which is available on different
> > > >    # packages depending on distribution
> > > >    Requires(post): /usr/sbin/semanage
> > > > @@ -43,6 +44,9 @@ if test -d "%{buildroot}/%{_libdir}/%{name}/plugins";
> > > > then
> > > >        find %{buildroot}/%{_libdir}/%{name}/plugins -name '*.la' -delete
> > > >    fi
> > > > 
> > > > +mkdir -p %{buildroot}/%{_udevrulesdir}
> > > > +install data/90-spice-guest-streaming.rules %{buildroot}/%{_udevrulesdir}
> > > > +
> > > >    %post
> > > >    semanage fcontext -a -t xserver_exec_t
> > > > %{_bindir}/spice-streaming-agent 2>/dev/null || :
> > > >    restorecon %{_bindir}/spice-streaming-agent || :
> > > > @@ -55,6 +59,7 @@ fi
> > > > 
> > > >    %files
> > > >    %doc COPYING ChangeLog README
> > > > +%{_udevrulesdir}/90-spice-guest-streaming.rules
> > > >    %{_bindir}/spice-streaming-agent
> > > >    %{_sysconfdir}/xdg/autostart/spice-streaming.desktop
> > > >    %{_datadir}/gdm/greeter/autostart/spice-streaming.desktop
> 
> _______________________________________________
> Spice-devel mailing list
> Spice-devel@xxxxxxxxxxxxxxxxxxxxx
> https://lists.freedesktop.org/mailman/listinfo/spice-devel
_______________________________________________
Spice-devel mailing list
Spice-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/spice-devel




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]     [Monitors]