Skip to contentSkip to conversation

libv4l: v4l2-compliance needs fork

PATCH New Fabrice Fontaine 3 participants 4 messages Nov 17, 2018 – Nov 21, 2018

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 libv4l: v4l2-compliance needs fork

Since bump to 1.16.2, v4l2-compliance uses fork, see:
https://git.linuxtv.org/v4l-utils.git/commit/utils/v4l2-compliance/?id=79d98edd1a27233667a6bc38d3d7f8958c2ec02c

So add a patch to disable v4l2-compliance if fork is unavailable

Fixes:
- http://autobuild.buildroot.org/results/447d792ce21c0e33a36ca9384fee46e099435ed8

---
 .../0004-v4l2-compliance-needs-fork.patch     | 76 +++++++++++++++++++
 1 file changed, 76 insertions(+)
 create mode 100644 package/libv4l/0004-v4l2-compliance-needs-fork.patch
package/libv4l/0004-v4l2-compliance-needs-fork.patch new file +76 -0
new file mode 100644
index 0000000000..d29a059520
@@ -0,0 +1,76 @@
+From 21d7082c635433176aebcd9d6f0177edb059f41f Mon Sep 17 00:00:00 2001
+From: Fabrice Fontaine <[email protected]>
+Date: Sat, 17 Nov 2018 21:26:57 +0100
+Subject: [PATCH] v4l2-compliance needs fork
+
+v4l2-compliance uses fork, since
+https://git.linuxtv.org/v4l-utils.git/commit/utils/v4l2-compliance/?id=79d98edd1a27233667a6bc38d3d7f8958c2ec02c
+
+So don't build it if fork is not available
+
+Fixes:
+ - http://autobuild.buildroot.org/results/447d792ce21c0e33a36ca9384fee46e099435ed8
+
+Signed-off-by: Fabrice Fontaine <[email protected]>
+---
+ configure.ac      | 5 ++++-
+ utils/Makefile.am | 6 +++++-
+ 2 files changed, 9 insertions(+), 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 5cc34c24..52ea5c6d 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -478,7 +478,8 @@ AM_CONDITIONAL([WITH_QTGL],	    [test x${qt_pkgconfig_gl} = xtrue])
+ AM_CONDITIONAL([WITH_GCONV],        [test x$enable_gconv = xyes -a x$enable_shared == xyes -a x$with_gconvdir != x -a -f $with_gconvdir/gconv-modules])
+ AM_CONDITIONAL([WITH_V4L2_CTL_LIBV4L], [test x${enable_v4l2_ctl_libv4l} != xno])
+ AM_CONDITIONAL([WITH_V4L2_CTL_STREAM_TO], [test x${enable_v4l2_ctl_stream_to} != xno])
+-AM_CONDITIONAL([WITH_V4L2_COMPLIANCE_LIBV4L], [test x${enable_v4l2_compliance_libv4l} != xno])
++AM_CONDITIONAL([WITH_V4L2_COMPLIANCE], [test x$ac_cv_func_fork = xyes])
++AM_CONDITIONAL([WITH_V4L2_COMPLIANCE_LIBV4L], [test x$ac_cv_func_fork = xyes -a x${enable_v4l2_compliance_libv4l} != xno])
+ AM_CONDITIONAL([WITH_BPF],          [test x$enable_bpf != xno -a x$libelf_pkgconfig = xyes -a x$CLANG = xclang])
+ 
+ # append -static to libtool compile and link command to enforce static libs
+@@ -509,6 +510,7 @@ AM_COND_IF([WITH_V4L_PLUGINS], [USE_V4L_PLUGINS="yes"
+ AM_COND_IF([WITH_V4L_WRAPPERS], [USE_V4L_WRAPPERS="yes"], [USE_V4L_WRAPPERS="no"])
+ AM_COND_IF([WITH_GCONV], [USE_GCONV="yes"], [USE_GCONV="no"])
+ AM_COND_IF([WITH_V4L2_CTL_LIBV4L], [USE_V4L2_CTL_LIBV4L="yes"], [USE_V4L2_CTL_LIBV4L="no"])
++AM_COND_IF([WITH_V4L2_COMPLIANCE], [USE_V4L2_COMPLIANCE="yes"], [USE_V4L2_COMPLIANCE="no"])
+ AM_COND_IF([WITH_V4L2_COMPLIANCE_LIBV4L], [USE_V4L2_COMPLIANCE_LIBV4L="yes"], [USE_V4L2_COMPLIANCE_LIBV4L="no"])
+ AM_COND_IF([WITH_BPF],         [USE_BPF="yes"
+                                 AC_DEFINE([HAVE_BPF], [1], [BPF IR decoder support enabled])],
+@@ -556,6 +558,7 @@ compile time options summary
+     qv4l2                      : $USE_QV4L2
+     qvidcap                    : $USE_QVIDCAP
+     v4l2-ctl uses libv4l       : $USE_V4L2_CTL_LIBV4L
++    v4l2-compliance            : $USE_V4L2_COMPLIANCE
+     v4l2-compliance uses libv4l: $USE_V4L2_COMPLIANCE_LIBV4L
+     BPF IR Decoders:           : $USE_BPF
+ EOF
+diff --git a/utils/Makefile.am b/utils/Makefile.am
+index 2d507028..9c29926a 100644
+--- a/utils/Makefile.am
++++ b/utils/Makefile.am
+@@ -6,7 +6,6 @@ SUBDIRS = \
+ 	cx18-ctl \
+ 	keytable \
+ 	media-ctl \
+-	v4l2-compliance \
+ 	v4l2-ctl \
+ 	v4l2-dbg \
+ 	v4l2-sysfs-path \
+@@ -20,6 +19,11 @@ SUBDIRS += \
+ 	dvb
+ endif
+ 
++if WITH_V4L2_COMPLIANCE
++SUBDIRS += \
++	v4l2-compliance
++endif
++
+ if WITH_QV4L2
+ SUBDIRS += qv4l2
+ endif
+-- 
+2.17.1
+
Signature · 1 line
2.17.1
#1 lore raw

PATCH 1/1 libv4l: v4l2-compliance needs fork

Hello Fabrice,

Quoted 4 lines · Fabrice Fontaine

Since bump to 1.16.2, v4l2-compliance uses fork, see:
https://git.linuxtv.org/v4l-utils.git/commit/utils/v4l2-compliance/?id=79d98edd1a27233667a6bc38d3d7f8958c2ec02c

So add a patch to disable v4l2-compliance if fork is unavailable

Alternative (and less intrusive) solution would be to disable only the stream locking test from v4l2-compliance in case fork is not available (keeping v4l2-compliance for low-level systems)...

Quoted 3 lines

Fixes:
- http://autobuild.buildroot.org/results/447d792ce21c0e33a36ca9384fee46e099435ed8

If no one complains about the disabling v4l2-compliance tool you can add my

for this solution to fix the autobuild failure...

Regards,
Peter

Quoted 89 lines
---
 .../0004-v4l2-compliance-needs-fork.patch     | 76 +++++++++++++++++++
 1 file changed, 76 insertions(+)
 create mode 100644 package/libv4l/0004-v4l2-compliance-needs-fork.patch
package/libv4l/0004-v4l2-compliance-needs-fork.patch new file +76 -0
new file mode 100644
index 0000000000..d29a059520
@@ -0,0 +1,76 @@
+From 21d7082c635433176aebcd9d6f0177edb059f41f Mon Sep 17 00:00:00 2001
+From: Fabrice Fontaine <[email protected]>
+Date: Sat, 17 Nov 2018 21:26:57 +0100
+Subject: [PATCH] v4l2-compliance needs fork
+
+v4l2-compliance uses fork, since
+https://git.linuxtv.org/v4l-utils.git/commit/utils/v4l2-compliance/?id=79d98edd1a27233667a6bc38d3d7f8958c2ec02c
+
+So don't build it if fork is not available
+
+Fixes:
+ - http://autobuild.buildroot.org/results/447d792ce21c0e33a36ca9384fee46e099435ed8
+
+Signed-off-by: Fabrice Fontaine <[email protected]>
+---
+ configure.ac      | 5 ++++-
+ utils/Makefile.am | 6 +++++-
+ 2 files changed, 9 insertions(+), 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 5cc34c24..52ea5c6d 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -478,7 +478,8 @@ AM_CONDITIONAL([WITH_QTGL],	    [test x${qt_pkgconfig_gl} = xtrue])
+ AM_CONDITIONAL([WITH_GCONV],        [test x$enable_gconv = xyes -a x$enable_shared == xyes -a x$with_gconvdir != x -a -f $with_gconvdir/gconv-modules])
+ AM_CONDITIONAL([WITH_V4L2_CTL_LIBV4L], [test x${enable_v4l2_ctl_libv4l} != xno])
+ AM_CONDITIONAL([WITH_V4L2_CTL_STREAM_TO], [test x${enable_v4l2_ctl_stream_to} != xno])
+-AM_CONDITIONAL([WITH_V4L2_COMPLIANCE_LIBV4L], [test x${enable_v4l2_compliance_libv4l} != xno])
++AM_CONDITIONAL([WITH_V4L2_COMPLIANCE], [test x$ac_cv_func_fork = xyes])
++AM_CONDITIONAL([WITH_V4L2_COMPLIANCE_LIBV4L], [test x$ac_cv_func_fork = xyes -a x${enable_v4l2_compliance_libv4l} != xno])
+ AM_CONDITIONAL([WITH_BPF],          [test x$enable_bpf != xno -a x$libelf_pkgconfig = xyes -a x$CLANG = xclang])
+ 
+ # append -static to libtool compile and link command to enforce static libs
+@@ -509,6 +510,7 @@ AM_COND_IF([WITH_V4L_PLUGINS], [USE_V4L_PLUGINS="yes"
+ AM_COND_IF([WITH_V4L_WRAPPERS], [USE_V4L_WRAPPERS="yes"], [USE_V4L_WRAPPERS="no"])
+ AM_COND_IF([WITH_GCONV], [USE_GCONV="yes"], [USE_GCONV="no"])
+ AM_COND_IF([WITH_V4L2_CTL_LIBV4L], [USE_V4L2_CTL_LIBV4L="yes"], [USE_V4L2_CTL_LIBV4L="no"])
++AM_COND_IF([WITH_V4L2_COMPLIANCE], [USE_V4L2_COMPLIANCE="yes"], [USE_V4L2_COMPLIANCE="no"])
+ AM_COND_IF([WITH_V4L2_COMPLIANCE_LIBV4L], [USE_V4L2_COMPLIANCE_LIBV4L="yes"], [USE_V4L2_COMPLIANCE_LIBV4L="no"])
+ AM_COND_IF([WITH_BPF],         [USE_BPF="yes"
+                                 AC_DEFINE([HAVE_BPF], [1], [BPF IR decoder support enabled])],
+@@ -556,6 +558,7 @@ compile time options summary
+     qv4l2                      : $USE_QV4L2
+     qvidcap                    : $USE_QVIDCAP
+     v4l2-ctl uses libv4l       : $USE_V4L2_CTL_LIBV4L
++    v4l2-compliance            : $USE_V4L2_COMPLIANCE
+     v4l2-compliance uses libv4l: $USE_V4L2_COMPLIANCE_LIBV4L
+     BPF IR Decoders:           : $USE_BPF
+ EOF
+diff --git a/utils/Makefile.am b/utils/Makefile.am
+index 2d507028..9c29926a 100644
+--- a/utils/Makefile.am
++++ b/utils/Makefile.am
+@@ -6,7 +6,6 @@ SUBDIRS = \
+ 	cx18-ctl \
+ 	keytable \
+ 	media-ctl \
+-	v4l2-compliance \
+ 	v4l2-ctl \
+ 	v4l2-dbg \
+ 	v4l2-sysfs-path \
+@@ -20,6 +19,11 @@ SUBDIRS += \
+ 	dvb
+ endif
+ 
++if WITH_V4L2_COMPLIANCE
++SUBDIRS += \
++	v4l2-compliance
++endif
++
+ if WITH_QV4L2
+ SUBDIRS += qv4l2
+ endif
+-- 
+2.17.1
+
#2 lore raw

PATCH 1/1 libv4l: v4l2-compliance needs fork

In reply to Fabrice Fontaine
Quoted 11 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Fabrice" == Fabrice Fontaine <[email protected]> writes:

Since bump to 1.16.2, v4l2-compliance uses fork, see:
https://git.linuxtv.org/v4l-utils.git/commit/utils/v4l2-compliance/?id=79d98edd1a27233667a6bc38d3d7f8958c2ec02c

So add a patch to disable v4l2-compliance if fork is unavailable

Fixes:
- http://autobuild.buildroot.org/results/447d792ce21c0e33a36ca9384fee46e099435ed8

Committed, thanks.

Signature · 1 line
Bye, Peter Korsgaard
#3 lore raw

PATCH 1/1 libv4l: v4l2-compliance needs fork

Hello Fabrice,

Quoted 6 lines · Peter Korsgaard
Quoted 6 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Fabrice" == Fabrice Fontaine <[email protected]> writes:

Since bump to 1.16.2, v4l2-compliance uses fork, see:
https://git.linuxtv.org/v4l-utils.git/commit/utils/v4l2-compliance/?id=79d98edd1a27233667a6bc38d3d7f8958c2ec02c

So add a patch to disable v4l2-compliance if fork is unavailable

Did you send the patch upstream?

Regards,
Peter

Quoted 8 lines
Quoted 5 lines

Fixes:
- http://autobuild.buildroot.org/results/447d792ce21c0e33a36ca9384fee46e099435ed8

Committed, thanks.