]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/log
thirdparty/openembedded/openembedded-core-contrib.git
2 years agoWIP: gstreamer1.0-plugins-bad: accept webrtc-audio-processing-1 jansa/webrtc
Martin Jansa [Fri, 17 Mar 2023 12:29:58 +0000 (13:29 +0100)] 
WIP: gstreamer1.0-plugins-bad: accept webrtc-audio-processing-1

This isn't complete still fails with:
http://errors.yoctoproject.org/Errors/Details/698131/
and after fixing this include (by dropping webrtc prefix), the other 2 includes don't exist anymore as well and fails with:
http://errors.yoctoproject.org/Errors/Details/698135/

FAILED: ext/webrtcdsp/libgstwebrtcdsp.so.p/gstwebrtcechoprobe.cpp.o
x86_64-oe-linux-g++ -m64 -march=core2 -mtune=core2 -msse3 -mfpmath=sse -fstack-protector-strong -O2 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security --sysroot=TOPDIR/tmp-glibc/work/core2-64-oe-linux/gstreamer1.0-plugins-bad/1.22.0-r0/recipe-sysroot -Iext/webrtcdsp/libgstwebrtcdsp.so.p -Iext/webrtcdsp -I../gst-plugins-bad-1.22.0/ext/webrtcdsp -I. -I../gst-plugins-bad-1.22.0 -Igst-libs -I../gst-plugins-bad-1.22.0/gst-libs -Igst-libs/gst/audio -ITOPDIR/tmp-glibc/work/core2-64-oe-linux/gstreamer1.0-plugins-bad/1.22.0-r0/recipe-sysroot/usr/include/gstreamer-1.0 -ITOPDIR/tmp-glibc/work/core2-64-oe-linux/gstreamer1.0-plugins-bad/1.22.0-r0/recipe-sysroot/usr/include/glib-2.0 -ITOPDIR/tmp-glibc/work/core2-64-oe-linux/gstreamer1.0-plugins-bad/1.22.0-r0/recipe-sysroot/usr/lib/glib-2.0/include -ITOPDIR/tmp-glibc/work/core2-64-oe-linux/gstreamer1.0-plugins-bad/1.22.0-r0/recipe-sysroot/usr/include/orc-0.4 -ITOPDIR/tmp-glibc/work/core2-64-oe-linux/gstreamer1.0-plugins-bad/1.22.0-r0/recipe-sysroot/usr/include/webrtc-audio-processing-1 -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -std=c++11 -Wno-non-virtual-dtor -fvisibility=hidden -fno-strict-aliasing -Wformat-nonliteral -Wmissing-declarations -Wredundant-decls -Wwrite-strings -Wformat -Wformat-security -Winit-self -Wmissing-include-dirs -Waddress -Wno-multichar -Wvla -Wpointer-arith -O2 -pipe -g -feliminate-unused-debug-types -fmacro-prefix-map=TOPDIR/tmp-glibc/work/core2-64-oe-linux/gstreamer1.0-plugins-bad/1.22.0-r0/gst-plugins-bad-1.22.0=/usr/src/debug/gstreamer1.0-plugins-bad/1.22.0-r0 -fdebug-prefix-map=TOPDIR/tmp-glibc/work/core2-64-oe-linux/gstreamer1.0-plugins-bad/1.22.0-r0/gst-plugins-bad-1.22.0=/usr/src/debug/gstreamer1.0-plugins-bad/1.22.0-r0 -fmacro-prefix-map=TOPDIR/tmp-glibc/work/core2-64-oe-linux/gstreamer1.0-plugins-bad/1.22.0-r0/build=/usr/src/debug/gstreamer1.0-plugins-bad/1.22.0-r0 -fdebug-prefix-map=TOPDIR/tmp-glibc/work/core2-64-oe-linux/gstreamer1.0-plugins-bad/1.22.0-r0/build=/usr/src/debug/gstreamer1.0-plugins-bad/1.22.0-r0 -fdebug-prefix-map=TOPDIR/tmp-glibc/work/core2-64-oe-linux/gstreamer1.0-plugins-bad/1.22.0-r0/recipe-sysroot= -fmacro-prefix-map=TOPDIR/tmp-glibc/work/core2-64-oe-linux/gstreamer1.0-plugins-bad/1.22.0-r0/recipe-sysroot= -fdebug-prefix-map=TOPDIR/tmp-glibc/work/core2-64-oe-linux/gstreamer1.0-plugins-bad/1.22.0-r0/recipe-sysroot-native= -fvisibility-inlines-hidden -fPIC -DWEBRTC_LIBRARY_IMPL -DWEBRTC_POSIX -DNOMINMAX -pthread -DHAVE_CONFIG_H -MD -MQ ext/webrtcdsp/libgstwebrtcdsp.so.p/gstwebrtcechoprobe.cpp.o -MF ext/webrtcdsp/libgstwebrtcdsp.so.p/gstwebrtcechoprobe.cpp.o.d -o ext/webrtcdsp/libgstwebrtcdsp.so.p/gstwebrtcechoprobe.cpp.o -c ../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcechoprobe.cpp
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcechoprobe.cpp: In function 'gboolean gst_webrtc_echo_probe_setup(GstAudioFilter*, const GstAudioInfo*)':
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcechoprobe.cpp:105:8: error: 'webrtc' has not been declared
  105 |       (webrtc::AudioFrame::kMaxDataSizeSamples * 2) < self->period_size)
      |        ^~~~~~
In file included from TOPDIR/tmp-glibc/work/core2-64-oe-linux/gstreamer1.0-plugins-bad/1.22.0-r0/recipe-sysroot/usr/include/gstreamer-1.0/gst/gst.h:55,
                 from ../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcechoprobe.h:26,
                 from ../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcechoprobe.cpp:34:
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcechoprobe.cpp:117:7: error: 'webrtc' has not been declared
  117 |       webrtc::AudioFrame::kMaxDataSizeSamples, self->period_size / 2);
      |       ^~~~~~
TOPDIR/tmp-glibc/work/core2-64-oe-linux/gstreamer1.0-plugins-bad/1.22.0-r0/recipe-sysroot/usr/include/gstreamer-1.0/gst/gstinfo.h:727:31: note: in definition of macro 'GST_CAT_LEVEL_LOG'
  727 |         (GObject *) (object), __VA_ARGS__);                             \
      |                               ^~~~~~~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcechoprobe.cpp:114:3: note: in expansion of macro 'GST_WARNING_OBJECT'
  114 |   GST_WARNING_OBJECT (self, "webrtcdsp format produce too big period "
      |   ^~~~~~~~~~~~~~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcechoprobe.cpp: In function 'gint gst_webrtc_echo_probe_read(GstWebrtcEchoProbe*, GstClockTime, gpointer, GstBuffer**)':
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcechoprobe.cpp:308:3: error: 'webrtc' has not been declared
  308 |   webrtc::AudioFrame * frame = (webrtc::AudioFrame *) _frame;
      |   ^~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcechoprobe.cpp:308:24: error: 'frame' was not declared in this scope; did you mean '_frame'?
  308 |   webrtc::AudioFrame * frame = (webrtc::AudioFrame *) _frame;
      |                        ^~~~~
      |                        _frame
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcechoprobe.cpp:308:33: error: 'webrtc' has not been declared
  308 |   webrtc::AudioFrame * frame = (webrtc::AudioFrame *) _frame;
      |                                 ^~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcechoprobe.cpp:308:53: error: expected primary-expression before ')' token
  308 |   webrtc::AudioFrame * frame = (webrtc::AudioFrame *) _frame;
      |                                                     ^

FAILED: ext/webrtcdsp/libgstwebrtcdsp.so.p/gstwebrtcdsp.cpp.o
x86_64-oe-linux-g++ -m64 -march=core2 -mtune=core2 -msse3 -mfpmath=sse -fstack-protector-strong -O2 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security --sysroot=TOPDIR/tmp-glibc/work/core2-64-oe-linux/gstreamer1.0-plugins-bad/1.22.0-r0/recipe-sysroot -Iext/webrtcdsp/libgstwebrtcdsp.so.p -Iext/webrtcdsp -I../gst-plugins-bad-1.22.0/ext/webrtcdsp -I. -I../gst-plugins-bad-1.22.0 -Igst-libs -I../gst-plugins-bad-1.22.0/gst-libs -Igst-libs/gst/audio -ITOPDIR/tmp-glibc/work/core2-64-oe-linux/gstreamer1.0-plugins-bad/1.22.0-r0/recipe-sysroot/usr/include/gstreamer-1.0 -ITOPDIR/tmp-glibc/work/core2-64-oe-linux/gstreamer1.0-plugins-bad/1.22.0-r0/recipe-sysroot/usr/include/glib-2.0 -ITOPDIR/tmp-glibc/work/core2-64-oe-linux/gstreamer1.0-plugins-bad/1.22.0-r0/recipe-sysroot/usr/lib/glib-2.0/include -ITOPDIR/tmp-glibc/work/core2-64-oe-linux/gstreamer1.0-plugins-bad/1.22.0-r0/recipe-sysroot/usr/include/orc-0.4 -ITOPDIR/tmp-glibc/work/core2-64-oe-linux/gstreamer1.0-plugins-bad/1.22.0-r0/recipe-sysroot/usr/include/webrtc-audio-processing-1 -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -std=c++11 -Wno-non-virtual-dtor -fvisibility=hidden -fno-strict-aliasing -Wformat-nonliteral -Wmissing-declarations -Wredundant-decls -Wwrite-strings -Wformat -Wformat-security -Winit-self -Wmissing-include-dirs -Waddress -Wno-multichar -Wvla -Wpointer-arith -O2 -pipe -g -feliminate-unused-debug-types -fmacro-prefix-map=TOPDIR/tmp-glibc/work/core2-64-oe-linux/gstreamer1.0-plugins-bad/1.22.0-r0/gst-plugins-bad-1.22.0=/usr/src/debug/gstreamer1.0-plugins-bad/1.22.0-r0 -fdebug-prefix-map=TOPDIR/tmp-glibc/work/core2-64-oe-linux/gstreamer1.0-plugins-bad/1.22.0-r0/gst-plugins-bad-1.22.0=/usr/src/debug/gstreamer1.0-plugins-bad/1.22.0-r0 -fmacro-prefix-map=TOPDIR/tmp-glibc/work/core2-64-oe-linux/gstreamer1.0-plugins-bad/1.22.0-r0/build=/usr/src/debug/gstreamer1.0-plugins-bad/1.22.0-r0 -fdebug-prefix-map=TOPDIR/tmp-glibc/work/core2-64-oe-linux/gstreamer1.0-plugins-bad/1.22.0-r0/build=/usr/src/debug/gstreamer1.0-plugins-bad/1.22.0-r0 -fdebug-prefix-map=TOPDIR/tmp-glibc/work/core2-64-oe-linux/gstreamer1.0-plugins-bad/1.22.0-r0/recipe-sysroot= -fmacro-prefix-map=TOPDIR/tmp-glibc/work/core2-64-oe-linux/gstreamer1.0-plugins-bad/1.22.0-r0/recipe-sysroot= -fdebug-prefix-map=TOPDIR/tmp-glibc/work/core2-64-oe-linux/gstreamer1.0-plugins-bad/1.22.0-r0/recipe-sysroot-native= -fvisibility-inlines-hidden -fPIC -DWEBRTC_LIBRARY_IMPL -DWEBRTC_POSIX -DNOMINMAX -pthread -DHAVE_CONFIG_H -MD -MQ ext/webrtcdsp/libgstwebrtcdsp.so.p/gstwebrtcdsp.cpp.o -MF ext/webrtcdsp/libgstwebrtcdsp.so.p/gstwebrtcdsp.cpp.o.d -o ext/webrtcdsp/libgstwebrtcdsp.so.p/gstwebrtcdsp.cpp.o -c ../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp
In file included from TOPDIR/tmp-glibc/work/core2-64-oe-linux/gstreamer1.0-plugins-bad/1.22.0-r0/recipe-sysroot/usr/include/absl/base/config.h:86,
                 from TOPDIR/tmp-glibc/work/core2-64-oe-linux/gstreamer1.0-plugins-bad/1.22.0-r0/recipe-sysroot/usr/include/absl/types/optional.h:38,
                 from TOPDIR/tmp-glibc/work/core2-64-oe-linux/gstreamer1.0-plugins-bad/1.22.0-r0/recipe-sysroot/usr/include/webrtc-audio-processing-1/modules/audio_processing/include/audio_processing.h:26,
                 from ../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:74:
TOPDIR/tmp-glibc/work/core2-64-oe-linux/gstreamer1.0-plugins-bad/1.22.0-r0/recipe-sysroot/usr/include/absl/base/policy_checks.h:79:2: error: #error "C++ versions less than C++14 are not supported."
   79 | #error "C++ versions less than C++14 are not supported."
      |  ^~~~~
In file included from TOPDIR/tmp-glibc/work/core2-64-oe-linux/gstreamer1.0-plugins-bad/1.22.0-r0/recipe-sysroot/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:58,
                 from TOPDIR/tmp-glibc/work/core2-64-oe-linux/gstreamer1.0-plugins-bad/1.22.0-r0/recipe-sysroot/usr/include/webrtc-audio-processing-1/api/array_view.h:18,
                 from TOPDIR/tmp-glibc/work/core2-64-oe-linux/gstreamer1.0-plugins-bad/1.22.0-r0/recipe-sysroot/usr/include/webrtc-audio-processing-1/modules/audio_processing/include/audio_processing.h:27:
TOPDIR/tmp-glibc/work/core2-64-oe-linux/gstreamer1.0-plugins-bad/1.22.0-r0/recipe-sysroot/usr/include/absl/strings/string_view.h: In member function 'constexpr void absl::string_view::remove_prefix(size_type) const':
TOPDIR/tmp-glibc/work/core2-64-oe-linux/gstreamer1.0-plugins-bad/1.22.0-r0/recipe-sysroot/usr/include/absl/strings/string_view.h:340:10: error: assignment of member 'absl::string_view::ptr_' in read-only object
  340 |     ptr_ += n;
      |     ~~~~~^~~~
TOPDIR/tmp-glibc/work/core2-64-oe-linux/gstreamer1.0-plugins-bad/1.22.0-r0/recipe-sysroot/usr/include/absl/strings/string_view.h:341:13: error: assignment of member 'absl::string_view::length_' in read-only object
  341 |     length_ -= n;
      |     ~~~~~~~~^~~~
TOPDIR/tmp-glibc/work/core2-64-oe-linux/gstreamer1.0-plugins-bad/1.22.0-r0/recipe-sysroot/usr/include/absl/strings/string_view.h: In member function 'constexpr void absl::string_view::remove_suffix(size_type) const':
TOPDIR/tmp-glibc/work/core2-64-oe-linux/gstreamer1.0-plugins-bad/1.22.0-r0/recipe-sysroot/usr/include/absl/strings/string_view.h:350:13: error: assignment of member 'absl::string_view::length_' in read-only object
  350 |     length_ -= n;
      |     ~~~~~~~~^~~~
TOPDIR/tmp-glibc/work/core2-64-oe-linux/gstreamer1.0-plugins-bad/1.22.0-r0/recipe-sysroot/usr/include/absl/strings/string_view.h: In member function 'constexpr void absl::string_view::swap(absl::string_view&) const':
TOPDIR/tmp-glibc/work/core2-64-oe-linux/gstreamer1.0-plugins-bad/1.22.0-r0/recipe-sysroot/usr/include/absl/strings/string_view.h:358:13: error: passing 'const absl::string_view' as 'this' argument discards qualifiers [-fpermissive]
  358 |     *this = s;
      |             ^
TOPDIR/tmp-glibc/work/core2-64-oe-linux/gstreamer1.0-plugins-bad/1.22.0-r0/recipe-sysroot/usr/include/absl/strings/string_view.h:161:7: note:   in call to 'absl::string_view& absl::string_view::operator=(const absl::string_view&)'
  161 | class string_view {
      |       ^~~~~~~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp: At global scope:
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:122:17: error: 'EchoCancellation' in namespace 'webrtc' does not name a type; did you mean 'EchoCanceller3Config'?
  122 | typedef webrtc::EchoCancellation::SuppressionLevel GstWebrtcEchoSuppressionLevel;
      |                 ^~~~~~~~~~~~~~~~
      |                 EchoCanceller3Config
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp: In function 'GType gst_webrtc_echo_suppression_level_get_type()':
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:130:14: error: 'webrtc::EchoCancellation' has not been declared
  130 |     {webrtc::EchoCancellation::kLowSuppression, "Low Suppression", "low"},
      |              ^~~~~~~~~~~~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:131:14: error: 'webrtc::EchoCancellation' has not been declared
  131 |     {webrtc::EchoCancellation::kModerateSuppression,
      |              ^~~~~~~~~~~~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:133:14: error: 'webrtc::EchoCancellation' has not been declared
  133 |     {webrtc::EchoCancellation::kHighSuppression, "high Suppression", "high"},
      |              ^~~~~~~~~~~~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp: At global scope:
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:144:17: error: 'NoiseSuppression' in namespace 'webrtc' does not name a type
  144 | typedef webrtc::NoiseSuppression::Level GstWebrtcNoiseSuppressionLevel;
      |                 ^~~~~~~~~~~~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp: In function 'GType gst_webrtc_noise_suppression_level_get_type()':
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:152:14: error: 'webrtc::NoiseSuppression' has not been declared
  152 |     {webrtc::NoiseSuppression::kLow, "Low Suppression", "low"},
      |              ^~~~~~~~~~~~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:153:14: error: 'webrtc::NoiseSuppression' has not been declared
  153 |     {webrtc::NoiseSuppression::kModerate, "Moderate Suppression", "moderate"},
      |              ^~~~~~~~~~~~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:154:14: error: 'webrtc::NoiseSuppression' has not been declared
  154 |     {webrtc::NoiseSuppression::kHigh, "High Suppression", "high"},
      |              ^~~~~~~~~~~~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:155:14: error: 'webrtc::NoiseSuppression' has not been declared
  155 |     {webrtc::NoiseSuppression::kVeryHigh, "Very High Suppression",
      |              ^~~~~~~~~~~~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp: At global scope:
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:167:17: error: 'GainControl' in namespace 'webrtc' does not name a type
  167 | typedef webrtc::GainControl::Mode GstWebrtcGainControlMode;
      |                 ^~~~~~~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp: In function 'GType gst_webrtc_gain_control_mode_get_type()':
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:175:14: error: 'webrtc::GainControl' has not been declared
  175 |     {webrtc::GainControl::kAdaptiveDigital, "Adaptive Digital", "adaptive-digital"},
      |              ^~~~~~~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:176:14: error: 'webrtc::GainControl' has not been declared
  176 |     {webrtc::GainControl::kFixedDigital, "Fixed Digital", "fixed-digital"},
      |              ^~~~~~~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp: At global scope:
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:187:17: error: 'VoiceDetection' in namespace 'webrtc' does not name a type
  187 | typedef webrtc::VoiceDetection::Likelihood GstWebrtcVoiceDetectionLikelihood;
      |                 ^~~~~~~~~~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp: In function 'GType gst_webrtc_voice_detection_likelihood_get_type()':
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:195:14: error: 'webrtc::VoiceDetection' has not been declared
  195 |     {webrtc::VoiceDetection::kVeryLowLikelihood, "Very Low Likelihood", "very-low"},
      |              ^~~~~~~~~~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:196:14: error: 'webrtc::VoiceDetection' has not been declared
  196 |     {webrtc::VoiceDetection::kLowLikelihood, "Low Likelihood", "low"},
      |              ^~~~~~~~~~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:197:14: error: 'webrtc::VoiceDetection' has not been declared
  197 |     {webrtc::VoiceDetection::kModerateLikelihood, "Moderate Likelihood", "moderate"},
      |              ^~~~~~~~~~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:198:14: error: 'webrtc::VoiceDetection' has not been declared
  198 |     {webrtc::VoiceDetection::kHighLikelihood, "High Likelihood", "high"},
      |              ^~~~~~~~~~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp: At global scope:
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:260:11: error: 'EchoCancellation' in namespace 'webrtc' does not name a type; did you mean 'EchoCanceller3Config'?
  260 |   webrtc::EchoCancellation::SuppressionLevel echo_suppression_level;
      |           ^~~~~~~~~~~~~~~~
      |           EchoCanceller3Config
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:262:11: error: 'NoiseSuppression' in namespace 'webrtc' does not name a type
  262 |   webrtc::NoiseSuppression::Level noise_suppression_level;
      |           ^~~~~~~~~~~~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:271:11: error: 'GainControl' in namespace 'webrtc' does not name a type
  271 |   webrtc::GainControl::Mode gain_control_mode;
      |           ^~~~~~~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:274:11: error: 'VoiceDetection' in namespace 'webrtc' does not name a type
  274 |   webrtc::VoiceDetection::Likelihood voice_detection_likelihood;
      |           ^~~~~~~~~~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp: In function 'GstFlowReturn gst_webrtc_dsp_analyze_reverse_stream(GstWebrtcDsp*, GstClockTime)':
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:380:11: error: 'AudioFrame' is not a member of 'webrtc'
  380 |   webrtc::AudioFrame frame;
      |           ^~~~~~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:400:68: error: 'frame' was not declared in this scope
  400 |   delay = gst_webrtc_echo_probe_read (probe, rec_time, (gpointer) &frame, &buf);
      |                                                                    ^~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp: In function 'void gst_webrtc_vad_post_activity(GstWebrtcDsp*, GstBuffer*, gboolean)':
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:455:22: error: 'class webrtc::AudioProcessing' has no member named 'level_estimator'
  455 |   level = self->apm->level_estimator ()->RMS ();
      |                      ^~~~~~~~~~~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp: In function 'GstFlowReturn gst_webrtc_dsp_process_stream(GstWebrtcDsp*, GstBuffer*)':
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:493:13: error: 'AudioFrame' is not a member of 'webrtc'
  493 |     webrtc::AudioFrame frame;
      |             ^~~~~~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:494:5: error: 'frame' was not declared in this scope
  494 |     frame.num_channels_ = self->info.channels;
      |     ^~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:514:40: error: 'class webrtc::AudioProcessing' has no member named 'voice_detection'
  514 |       gboolean stream_has_voice = apm->voice_detection ()->stream_has_voice ();
      |                                        ^~~~~~~~~~~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp: In function 'gboolean gst_webrtc_dsp_start(GstBaseTransform*)':
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:590:24: error: 'ExtendedFilter' is not a member of 'webrtc'
  590 |   config.Set < webrtc::ExtendedFilter >
      |                        ^~~~~~~~~~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:590:24: error: 'ExtendedFilter' is not a member of 'webrtc'
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:591:12: error: expected type-specifier
  591 |       (new webrtc::ExtendedFilter (self->extended_filter));
      |            ^~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:594:24: error: 'DelayAgnostic' is not a member of 'webrtc'
  594 |   config.Set < webrtc::DelayAgnostic >
      |                        ^~~~~~~~~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:594:24: error: 'DelayAgnostic' is not a member of 'webrtc'
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:595:12: error: expected type-specifier
  595 |       (new webrtc::DelayAgnostic (self->delay_agnostic));
      |            ^~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:599:40: error: 'Create' is not a member of 'webrtc::AudioProcessing'
  599 |   self->apm = webrtc::AudioProcessing::Create (config);
      |                                        ^~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp: In function 'gboolean gst_webrtc_dsp_setup(GstAudioFilter*, const GstAudioInfo*)':
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:646:16: error: 'webrtc::AudioFrame' has not been declared
  646 |       (webrtc::AudioFrame::kMaxDataSizeSamples * 2) < self->period_size)
      |                ^~~~~~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:680:10: error: 'class webrtc::AudioProcessing' has no member named 'high_pass_filter'
  680 |     apm->high_pass_filter ()->Enable (true);
      |          ^~~~~~~~~~~~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:685:10: error: 'class webrtc::AudioProcessing' has no member named 'echo_cancellation'
  685 |     apm->echo_cancellation ()->enable_drift_compensation (false);
      |          ^~~~~~~~~~~~~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:686:10: error: 'class webrtc::AudioProcessing' has no member named 'echo_cancellation'
  686 |     apm->echo_cancellation ()
      |          ^~~~~~~~~~~~~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:687:40: error: 'GstWebrtcDsp' {aka 'struct _GstWebrtcDsp'} has no member named 'echo_suppression_level'
  687 |         ->set_suppression_level (self->echo_suppression_level);
      |                                        ^~~~~~~~~~~~~~~~~~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:688:10: error: 'class webrtc::AudioProcessing' has no member named 'echo_cancellation'
  688 |     apm->echo_cancellation ()->Enable (true);
      |          ^~~~~~~~~~~~~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:693:10: error: 'class webrtc::AudioProcessing' has no member named 'noise_suppression'
  693 |     apm->noise_suppression ()->set_level (self->noise_suppression_level);
      |          ^~~~~~~~~~~~~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:693:49: error: 'GstWebrtcDsp' {aka 'struct _GstWebrtcDsp'} has no member named 'noise_suppression_level'; did you mean 'noise_suppression'?
  693 |     apm->noise_suppression ()->set_level (self->noise_suppression_level);
      |                                                 ^~~~~~~~~~~~~~~~~~~~~~~
      |                                                 noise_suppression
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:694:10: error: 'class webrtc::AudioProcessing' has no member named 'noise_suppression'
  694 |     apm->noise_suppression ()->Enable (true);
      |          ^~~~~~~~~~~~~~~~~
In file included from TOPDIR/tmp-glibc/work/core2-64-oe-linux/gstreamer1.0-plugins-bad/1.22.0-r0/recipe-sysroot/usr/include/gstreamer-1.0/gst/gst.h:55,
                 from ../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.h:26,
                 from ../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:71:
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:705:45: error: 'GstWebrtcDsp' {aka 'struct _GstWebrtcDsp'} has no member named 'gain_control_mode'; did you mean 'gain_control'?
  705 |         g_enum_get_value (mode_class, self->gain_control_mode)->value_name);
      |                                             ^~~~~~~~~~~~~~~~~
TOPDIR/tmp-glibc/work/core2-64-oe-linux/gstreamer1.0-plugins-bad/1.22.0-r0/recipe-sysroot/usr/include/gstreamer-1.0/gst/gstinfo.h:727:31: note: in definition of macro 'GST_CAT_LEVEL_LOG'
  727 |         (GObject *) (object), __VA_ARGS__);                             \
      |                               ^~~~~~~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:701:5: note: in expansion of macro 'GST_DEBUG_OBJECT'
  701 |     GST_DEBUG_OBJECT (self, "Enabling Digital Gain Control, target level "
      |     ^~~~~~~~~~~~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:709:10: error: 'class webrtc::AudioProcessing' has no member named 'gain_control'
  709 |     apm->gain_control ()->set_mode (self->gain_control_mode);
      |          ^~~~~~~~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:709:43: error: 'GstWebrtcDsp' {aka 'struct _GstWebrtcDsp'} has no member named 'gain_control_mode'; did you mean 'gain_control'?
  709 |     apm->gain_control ()->set_mode (self->gain_control_mode);
      |                                           ^~~~~~~~~~~~~~~~~
      |                                           gain_control
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:710:10: error: 'class webrtc::AudioProcessing' has no member named 'gain_control'
  710 |     apm->gain_control ()->set_target_level_dbfs (self->target_level_dbfs);
      |          ^~~~~~~~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:711:10: error: 'class webrtc::AudioProcessing' has no member named 'gain_control'
  711 |     apm->gain_control ()->set_compression_gain_db (self->compression_gain_db);
      |          ^~~~~~~~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:712:10: error: 'class webrtc::AudioProcessing' has no member named 'gain_control'
  712 |     apm->gain_control ()->enable_limiter (self->limiter);
      |          ^~~~~~~~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:713:10: error: 'class webrtc::AudioProcessing' has no member named 'gain_control'
  713 |     apm->gain_control ()->Enable (true);
      |          ^~~~~~~~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:722:17: error: 'GstWebrtcDsp' {aka 'struct _GstWebrtcDsp'} has no member named 'voice_detection_likelihood'
  722 |           self->voice_detection_likelihood)->value_name);
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~
TOPDIR/tmp-glibc/work/core2-64-oe-linux/gstreamer1.0-plugins-bad/1.22.0-r0/recipe-sysroot/usr/include/gstreamer-1.0/gst/gstinfo.h:727:31: note: in definition of macro 'GST_CAT_LEVEL_LOG'
  727 |         (GObject *) (object), __VA_ARGS__);                             \
      |                               ^~~~~~~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:719:5: note: in expansion of macro 'GST_DEBUG_OBJECT'
  719 |     GST_DEBUG_OBJECT (self, "Enabling Voice Activity Detection, frame size "
      |     ^~~~~~~~~~~~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:727:10: error: 'class webrtc::AudioProcessing' has no member named 'voice_detection'
  727 |     apm->voice_detection ()->Enable (true);
      |          ^~~~~~~~~~~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:728:10: error: 'class webrtc::AudioProcessing' has no member named 'voice_detection'
  728 |     apm->voice_detection ()->set_likelihood (self->voice_detection_likelihood);
      |          ^~~~~~~~~~~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:728:52: error: 'GstWebrtcDsp' {aka 'struct _GstWebrtcDsp'} has no member named 'voice_detection_likelihood'
  728 |     apm->voice_detection ()->set_likelihood (self->voice_detection_likelihood);
      |                                                    ^~~~~~~~~~~~~~~~~~~~~~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:729:10: error: 'class webrtc::AudioProcessing' has no member named 'voice_detection'
  729 |     apm->voice_detection ()->set_frame_size_ms (
      |          ^~~~~~~~~~~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:731:10: error: 'class webrtc::AudioProcessing' has no member named 'level_estimator'
  731 |     apm->level_estimator ()->Enable (true);
      |          ^~~~~~~~~~~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:743:15: error: 'webrtc::AudioFrame' has not been declared
  743 |       webrtc::AudioFrame::kMaxDataSizeSamples, self->period_size / 2);
      |               ^~~~~~~~~~
TOPDIR/tmp-glibc/work/core2-64-oe-linux/gstreamer1.0-plugins-bad/1.22.0-r0/recipe-sysroot/usr/include/gstreamer-1.0/gst/gstinfo.h:727:31: note: in definition of macro 'GST_CAT_LEVEL_LOG'
  727 |         (GObject *) (object), __VA_ARGS__);                             \
      |                               ^~~~~~~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:740:3: note: in expansion of macro 'GST_WARNING_OBJECT'
  740 |   GST_WARNING_OBJECT (self, "webrtcdsp format produce too big period "
      |   ^~~~~~~~~~~~~~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp: In function 'void gst_webrtc_dsp_set_property(GObject*, guint, const GValue*, GParamSpec*)':
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:806:13: error: 'GstWebrtcDsp' {aka 'struct _GstWebrtcDsp'} has no member named 'echo_suppression_level'
  806 |       self->echo_suppression_level =
      |

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2 years agoWIP: pulseaudio: accept webrtc-audio-processing-1
Martin Jansa [Fri, 17 Mar 2023 12:27:11 +0000 (13:27 +0100)] 
WIP: pulseaudio: accept webrtc-audio-processing-1

This isn't complete still fails with:
http://errors.yoctoproject.org/Errors/Details/698130/
and after fixing this include (by dropping webrtc prefix), the other 2 includes don't exist anymore as well and fails with:
http://errors.yoctoproject.org/Errors/Details/698132/

FAILED: src/modules/echo-cancel/libwebrtc-util.so.p/webrtc.cc.o
x86_64-oe-linux-g++ -m64 -march=core2 -mtune=core2 -msse3 -mfpmath=sse -fstack-protector-strong -O2 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security --sysroot=TOPDIR/tmp-glibc/work/core2-64-oe-linux/pulseaudio/16.1-r0/recipe-sysroot -Isrc/modules/echo-cancel/libwebrtc-util.so.p -Isrc/modules/echo-cancel -I../pulseaudio-16.1/src/modules/echo-cancel -I. -I../pulseaudio-16.1 -Isrc -I../pulseaudio-16.1/src -ITOPDIR/tmp-glibc/work/core2-64-oe-linux/pulseaudio/16.1-r0/recipe-sysroot/usr/include/webrtc-audio-processing-1 -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -std=c++11 -O2 -pipe -g -feliminate-unused-debug-types -fmacro-prefix-map=TOPDIR/tmp-glibc/work/core2-64-oe-linux/pulseaudio/16.1-r0/pulseaudio-16.1=/usr/src/debug/pulseaudio/16.1-r0 -fdebug-prefix-map=TOPDIR/tmp-glibc/work/core2-64-oe-linux/pulseaudio/16.1-r0/pulseaudio-16.1=/usr/src/debug/pulseaudio/16.1-r0 -fmacro-prefix-map=TOPDIR/tmp-glibc/work/core2-64-oe-linux/pulseaudio/16.1-r0/build=/usr/src/debug/pulseaudio/16.1-r0 -fdebug-prefix-map=TOPDIR/tmp-glibc/work/core2-64-oe-linux/pulseaudio/16.1-r0/build=/usr/src/debug/pulseaudio/16.1-r0 -fdebug-prefix-map=TOPDIR/tmp-glibc/work/core2-64-oe-linux/pulseaudio/16.1-r0/recipe-sysroot= -fmacro-prefix-map=TOPDIR/tmp-glibc/work/core2-64-oe-linux/pulseaudio/16.1-r0/recipe-sysroot= -fdebug-prefix-map=TOPDIR/tmp-glibc/work/core2-64-oe-linux/pulseaudio/16.1-r0/recipe-sysroot-native= -fvisibility-inlines-hidden -fPIC -DWEBRTC_LIBRARY_IMPL -DWEBRTC_POSIX -DNOMINMAX -DHAVE_CONFIG_H -D_GNU_SOURCE -D__INCLUDED_FROM_PULSE_AUDIO -MD -MQ src/modules/echo-cancel/libwebrtc-util.so.p/webrtc.cc.o -MF src/modules/echo-cancel/libwebrtc-util.so.p/webrtc.cc.o.d -o src/modules/echo-cancel/libwebrtc-util.so.p/webrtc.cc.o -c ../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc
In file included from TOPDIR/tmp-glibc/work/core2-64-oe-linux/pulseaudio/16.1-r0/recipe-sysroot/usr/include/absl/base/config.h:86,
                 from TOPDIR/tmp-glibc/work/core2-64-oe-linux/pulseaudio/16.1-r0/recipe-sysroot/usr/include/absl/types/optional.h:38,
                 from TOPDIR/tmp-glibc/work/core2-64-oe-linux/pulseaudio/16.1-r0/recipe-sysroot/usr/include/webrtc-audio-processing-1/modules/audio_processing/include/audio_processing.h:26,
                 from ../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:37:
TOPDIR/tmp-glibc/work/core2-64-oe-linux/pulseaudio/16.1-r0/recipe-sysroot/usr/include/absl/base/policy_checks.h:79:2: error: #error "C++ versions less than C++14 are not supported."
   79 | #error "C++ versions less than C++14 are not supported."
      |  ^~~~~
In file included from TOPDIR/tmp-glibc/work/core2-64-oe-linux/pulseaudio/16.1-r0/recipe-sysroot/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:58,
                 from TOPDIR/tmp-glibc/work/core2-64-oe-linux/pulseaudio/16.1-r0/recipe-sysroot/usr/include/webrtc-audio-processing-1/api/array_view.h:18,
                 from TOPDIR/tmp-glibc/work/core2-64-oe-linux/pulseaudio/16.1-r0/recipe-sysroot/usr/include/webrtc-audio-processing-1/modules/audio_processing/include/audio_processing.h:27:
TOPDIR/tmp-glibc/work/core2-64-oe-linux/pulseaudio/16.1-r0/recipe-sysroot/usr/include/absl/strings/string_view.h: In member function 'constexpr void absl::string_view::remove_prefix(size_type) const':
TOPDIR/tmp-glibc/work/core2-64-oe-linux/pulseaudio/16.1-r0/recipe-sysroot/usr/include/absl/strings/string_view.h:340:10: error: assignment of member 'absl::string_view::ptr_' in read-only object
  340 |     ptr_ += n;
      |     ~~~~~^~~~
TOPDIR/tmp-glibc/work/core2-64-oe-linux/pulseaudio/16.1-r0/recipe-sysroot/usr/include/absl/strings/string_view.h:341:13: error: assignment of member 'absl::string_view::length_' in read-only object
  341 |     length_ -= n;
      |     ~~~~~~~~^~~~
TOPDIR/tmp-glibc/work/core2-64-oe-linux/pulseaudio/16.1-r0/recipe-sysroot/usr/include/absl/strings/string_view.h: In member function 'constexpr void absl::string_view::remove_suffix(size_type) const':
TOPDIR/tmp-glibc/work/core2-64-oe-linux/pulseaudio/16.1-r0/recipe-sysroot/usr/include/absl/strings/string_view.h:350:13: error: assignment of member 'absl::string_view::length_' in read-only object
  350 |     length_ -= n;
      |     ~~~~~~~~^~~~
TOPDIR/tmp-glibc/work/core2-64-oe-linux/pulseaudio/16.1-r0/recipe-sysroot/usr/include/absl/strings/string_view.h: In member function 'constexpr void absl::string_view::swap(absl::string_view&) const':
TOPDIR/tmp-glibc/work/core2-64-oe-linux/pulseaudio/16.1-r0/recipe-sysroot/usr/include/absl/strings/string_view.h:358:13: error: passing 'const absl::string_view' as 'this' argument discards qualifiers [-fpermissive]
  358 |     *this = s;
      |             ^
TOPDIR/tmp-glibc/work/core2-64-oe-linux/pulseaudio/16.1-r0/recipe-sysroot/usr/include/absl/strings/string_view.h:161:7: note:   in call to 'absl::string_view& absl::string_view::operator=(const absl::string_view&)'
  161 | class string_view {
      |       ^~~~~~~~~~~
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc: In function 'int routing_mode_from_string(const char*)':
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:84:24: error: 'webrtc::EchoControlMobile' has not been declared
   84 |         return webrtc::EchoControlMobile::kQuietEarpieceOrHeadset;
      |                        ^~~~~~~~~~~~~~~~~
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:86:24: error: 'webrtc::EchoControlMobile' has not been declared
   86 |         return webrtc::EchoControlMobile::kEarpiece;
      |                        ^~~~~~~~~~~~~~~~~
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:88:24: error: 'webrtc::EchoControlMobile' has not been declared
   88 |         return webrtc::EchoControlMobile::kLoudEarpiece;
      |                        ^~~~~~~~~~~~~~~~~
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:90:24: error: 'webrtc::EchoControlMobile' has not been declared
   90 |         return webrtc::EchoControlMobile::kSpeakerphone;
      |                        ^~~~~~~~~~~~~~~~~
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:92:24: error: 'webrtc::EchoControlMobile' has not been declared
   92 |         return webrtc::EchoControlMobile::kLoudSpeakerphone;
      |                        ^~~~~~~~~~~~~~~~~
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc: At global scope:
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:97:60: error: expected class-name before '{' token
   97 | class PaWebrtcTraceCallback : public webrtc::TraceCallback {
      |                                                            ^
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:98:24: error: 'webrtc::TraceLevel' has not been declared
   98 |     void Print(webrtc::TraceLevel level, const char *message, int length)
      |                        ^~~~~~~~~~
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc: In member function 'void PaWebrtcTraceCallback::Print(int, const char*, int)':
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:100:29: error: 'kTraceError' is not a member of 'webrtc'
  100 |         if (level & webrtc::kTraceError || level & webrtc::kTraceCritical)
      |                             ^~~~~~~~~~~
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:100:60: error: 'kTraceCritical' is not a member of 'webrtc'
  100 |         if (level & webrtc::kTraceError || level & webrtc::kTraceCritical)
      |                                                            ^~~~~~~~~~~~~~
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:102:34: error: 'kTraceWarning' is not a member of 'webrtc'
  102 |         else if (level & webrtc::kTraceWarning)
      |                                  ^~~~~~~~~~~~~
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:104:34: error: 'kTraceInfo' is not a member of 'webrtc'
  104 |         else if (level & webrtc::kTraceInfo)
      |                                  ^~~~~~~~~~
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc: At global scope:
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:165:79: error: 'Point' is not a member of 'webrtc'
  165 | static bool parse_mic_geometry(const char **mic_geometry, std::vector<webrtc::Point>& geometry) {
      |                                                                               ^~~~~
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:165:79: error: 'Point' is not a member of 'webrtc'
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:165:84: error: template argument 1 is invalid
  165 | static bool parse_mic_geometry(const char **mic_geometry, std::vector<webrtc::Point>& geometry) {
      |                                                                                    ^
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:165:84: error: template argument 2 is invalid
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc: In function 'bool parse_mic_geometry(const char**, int&)':
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:202:30: error: request for member 'size' in 'geometry', which is of non-class type 'int'
  202 |     for (i = 0; i < geometry.size(); i++) {
      |                              ^~~~
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:209:27: error: request for member 'size' in 'geometry', which is of non-class type 'int'
  209 |         if (i != geometry.size() - 1) {
      |                           ^~~~
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:220:17: error: invalid types 'int[long unsigned int]' for array subscript
  220 |         geometry[i].c[0] = f[0];
      |                 ^
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:221:17: error: invalid types 'int[long unsigned int]' for array subscript
  221 |         geometry[i].c[1] = f[1];
      |                 ^
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:222:17: error: invalid types 'int[long unsigned int]' for array subscript
  222 |         geometry[i].c[2] = f[2];
      |                 ^
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc: In function 'bool pa_webrtc_ec_init(pa_core*, pa_echo_canceller*, pa_sample_spec*, pa_channel_map*, pa_sample_spec*, pa_channel_map*, pa_sample_spec*, pa_channel_map*, uint32_t*, const char*)':
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:358:28: error: 'ExtendedFilter' is not a member of 'webrtc'
  358 |         config.Set<webrtc::ExtendedFilter>(new webrtc::ExtendedFilter(true));
      |                            ^~~~~~~~~~~~~~
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:358:28: error: 'ExtendedFilter' is not a member of 'webrtc'
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:358:48: error: expected type-specifier
  358 |         config.Set<webrtc::ExtendedFilter>(new webrtc::ExtendedFilter(true));
      |                                                ^~~~~~
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:371:17: error: 'webrtc::Trace' has not been declared
  371 |         webrtc::Trace::CreateTrace();
      |                 ^~~~~
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:372:17: error: 'webrtc::Trace' has not been declared
  372 |         webrtc::Trace::set_level_filter(webrtc::kTraceAll);
      |                 ^~~~~
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:372:49: error: 'kTraceAll' is not a member of 'webrtc'
  372 |         webrtc::Trace::set_level_filter(webrtc::kTraceAll);
      |                                                 ^~~~~~~~~
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:374:17: error: 'webrtc::Trace' has not been declared
  374 |         webrtc::Trace::SetTraceCallback((PaWebrtcTraceCallback *) ec->params.webrtc.trace_callback);
      |                 ^~~~~
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:381:29: error: 'Point' is not a member of 'webrtc'
  381 |         std::vector<webrtc::Point> geometry(rec_ss->channels);
      |                             ^~~~~
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:381:29: error: 'Point' is not a member of 'webrtc'
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:381:34: error: template argument 1 is invalid
  381 |         std::vector<webrtc::Point> geometry(rec_ss->channels);
      |                                  ^
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:381:34: error: template argument 2 is invalid
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:382:17: error: 'SphericalPointf' is not a member of 'webrtc'
  382 |         webrtc::SphericalPointf direction(0.0f, 0.0f, 0.0f);
      |                 ^~~~~~~~~~~~~~~
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:415:13: error: 'direction' was not declared in this scope; did you mean 'sigaction'?
  415 |             direction.s[0] = f[0];
      |             ^~~~~~~~~
      |             sigaction
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:421:32: error: 'Beamforming' is not a member of 'webrtc'
  421 |             config.Set<webrtc::Beamforming>(new webrtc::Beamforming(true, geometry));
      |                                ^~~~~~~~~~~
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:421:32: error: 'Beamforming' is not a member of 'webrtc'
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:421:49: error: expected type-specifier
  421 |             config.Set<webrtc::Beamforming>(new webrtc::Beamforming(true, geometry));
      |                                                 ^~~~~~
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:423:32: error: 'Beamforming' is not a member of 'webrtc'
  423 |             config.Set<webrtc::Beamforming>(new webrtc::Beamforming(true, geometry, direction));
      |                                ^~~~~~~~~~~
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:423:32: error: 'Beamforming' is not a member of 'webrtc'
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:423:49: error: expected type-specifier
  423 |             config.Set<webrtc::Beamforming>(new webrtc::Beamforming(true, geometry, direction));
      |                                                 ^~~~~~
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:426:36: error: 'Create' is not a member of 'webrtc::AudioProcessing'
  426 |     apm = webrtc::AudioProcessing::Create(config);
      |                                    ^~~~~~
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:440:14: error: 'class webrtc::AudioProcessing' has no member named 'high_pass_filter'
  440 |         apm->high_pass_filter()->Enable(true);
      |              ^~~~~~~~~~~~~~~~
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:443:14: error: 'class webrtc::AudioProcessing' has no member named 'echo_cancellation'
  443 |         apm->echo_cancellation()->enable_drift_compensation(ec->params.drift_compensation);
      |              ^~~~~~~~~~~~~~~~~
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:444:14: error: 'class webrtc::AudioProcessing' has no member named 'echo_cancellation'
  444 |         apm->echo_cancellation()->Enable(true);
      |              ^~~~~~~~~~~~~~~~~
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:446:14: error: 'class webrtc::AudioProcessing' has no member named 'echo_control_mobile'
  446 |         apm->echo_control_mobile()->set_routing_mode(static_cast<webrtc::EchoControlMobile::RoutingMode>(rm));
      |              ^~~~~~~~~~~~~~~~~~~
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:446:74: error: 'EchoControlMobile' in namespace 'webrtc' does not name a type; did you mean 'EchoControl'?
  446 |         apm->echo_control_mobile()->set_routing_mode(static_cast<webrtc::EchoControlMobile::RoutingMode>(rm));
      |                                                                          ^~~~~~~~~~~~~~~~~
      |                                                                          EchoControl
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:446:91: error: expected '>' before '::' token
  446 |         apm->echo_control_mobile()->set_routing_mode(static_cast<webrtc::EchoControlMobile::RoutingMode>(rm));
      |                                                                                           ^~
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:446:91: error: expected '(' before '::' token
  446 |         apm->echo_control_mobile()->set_routing_mode(static_cast<webrtc::EchoControlMobile::RoutingMode>(rm));
      |                                                                                           ^~
      |                                                                                           (
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:446:93: error: '::RoutingMode' has not been declared
  446 |         apm->echo_control_mobile()->set_routing_mode(static_cast<webrtc::EchoControlMobile::RoutingMode>(rm));
      |                                                                                             ^~~~~~~~~~~
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:447:14: error: 'class webrtc::AudioProcessing' has no member named 'echo_control_mobile'
  447 |         apm->echo_control_mobile()->enable_comfort_noise(cn);
      |              ^~~~~~~~~~~~~~~~~~~
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:448:14: error: 'class webrtc::AudioProcessing' has no member named 'echo_control_mobile'
  448 |         apm->echo_control_mobile()->Enable(true);
      |              ^~~~~~~~~~~~~~~~~~~
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:452:14: error: 'class webrtc::AudioProcessing' has no member named 'noise_suppression'
  452 |         apm->noise_suppression()->set_level(webrtc::NoiseSuppression::kHigh);
      |              ^~~~~~~~~~~~~~~~~
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:452:53: error: 'webrtc::NoiseSuppression' has not been declared
  452 |         apm->noise_suppression()->set_level(webrtc::NoiseSuppression::kHigh);
      |                                                     ^~~~~~~~~~~~~~~~
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:453:14: error: 'class webrtc::AudioProcessing' has no member named 'noise_suppression'
  453 |         apm->noise_suppression()->Enable(true);
      |              ^~~~~~~~~~~~~~~~~
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:457:37: error: 'webrtc::EchoControlMobile' has not been declared
  457 |         if (mobile && rm <= webrtc::EchoControlMobile::kEarpiece) {
      |                                     ^~~~~~~~~~~~~~~~~
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:459:18: error: 'class webrtc::AudioProcessing' has no member named 'gain_control'
  459 |             apm->gain_control()->set_mode(webrtc::GainControl::kFixedDigital);
      |                  ^~~~~~~~~~~~
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:459:51: error: 'webrtc::GainControl' has not been declared
  459 |             apm->gain_control()->set_mode(webrtc::GainControl::kFixedDigital);
      |                                                   ^~~~~~~~~~~
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:462:18: error: 'class webrtc::AudioProcessing' has no member named 'gain_control'
  462 |             apm->gain_control()->set_mode(webrtc::GainControl::kAdaptiveDigital);
      |                  ^~~~~~~~~~~~
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:462:51: error: 'webrtc::GainControl' has not been declared
  462 |             apm->gain_control()->set_mode(webrtc::GainControl::kAdaptiveDigital);
      |                                                   ^~~~~~~~~~~
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:465:18: error: 'class webrtc::AudioProcessing' has no member named 'gain_control'
  465 |             apm->gain_control()->set_mode(webrtc::GainControl::kAdaptiveAnalog);
      |                  ^~~~~~~~~~~~
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:465:51: error: 'webrtc::GainControl' has not been declared
  465 |             apm->gain_control()->set_mode(webrtc::GainControl::kAdaptiveAnalog);
      |                                                   ^~~~~~~~~~~
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:466:22: error: 'class webrtc::AudioProcessing' has no member named 'gain_control'
  466 |             if (apm->gain_control()->set_analog_level_limits(0, WEBRTC_AGC_MAX_VOLUME) !=
      |                      ^~~~~~~~~~~~
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:474:14: error: 'class webrtc::AudioProcessing' has no member named 'gain_control'
  474 |         apm->gain_control()->Enable(true);
      |              ^~~~~~~~~~~~
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:478:14: error: 'class webrtc::AudioProcessing' has no member named 'voice_detection'
  478 |         apm->voice_detection()->Enable(true);
      |              ^~~~~~~~~~~~~~~
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:500:17: error: 'webrtc::Trace' has not been declared
  500 |         webrtc::Trace::ReturnTrace();
      |                 ^~~~~
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc: In function 'void pa_webrtc_ec_record(pa_echo_canceller*, const uint8_t*, uint8_t*)':
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:541:14: error: 'class webrtc::AudioProcessing' has no member named 'gain_control'
  541 |         apm->gain_control()->set_stream_analog_level(old_volume);
      |              ^~~~~~~~~~~~
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:556:31: error: 'class webrtc::AudioProcessing' has no member named 'gain_control'
  556 |             new_volume = apm->gain_control()->stream_analog_level();
      |                               ^~~~~~~~~~~~
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc: In function 'void pa_webrtc_ec_set_drift(pa_echo_canceller*, float)':
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:569:10: error: 'class webrtc::AudioProcessing' has no member named 'echo_cancellation'
  569 |     apm->echo_cancellation()->set_stream_drift_samples(drift * ec->params.webrtc.blocksize);
      |          ^~~~~~~~~~~~~~~~~
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc: In function 'void pa_webrtc_ec_done(pa_echo_canceller*)':
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:581:17: error: 'webrtc::Trace' has not been declared
  581 |         webrtc::Trace::ReturnTrace();
      |                 ^~~~~

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2 years agoresulttool: Improve overlapping ptest result reporting
Richard Purdie [Thu, 16 Mar 2023 22:51:10 +0000 (22:51 +0000)] 
resulttool: Improve overlapping ptest result reporting

With the move to a ptest per image, the multiple ptest log scenario
is much more likely. Tweak the handling to only warn if there are
overlapping files.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agoRevert "systemd-systemctl: Create machine-id with "uninitialized" text in it"
Chen Qi [Wed, 15 Mar 2023 10:11:04 +0000 (18:11 +0800)] 
Revert "systemd-systemctl: Create machine-id with "uninitialized" text in it"

This reverts commit 33d9b3a8ed186c2d212acb83f715367912010e7f.

The reverted patch was forcing systemd to do preset-all at boot time (first boot)
in a function that simuilates 'preset-all' at rootfs time. This is not right.

To force a first boot, just do not run this function, as said in the comment:
"""
    # If we populate the systemd links we also create /etc/machine-id, which
    # allows systemd to boot with the filesystem read-only before generating
    # a real value and then committing it back.
    #
    # For the stateless configuration, where /etc is generated at runtime
    # (for example on a tmpfs), this script shouldn't run at all and we
    # allow systemd to completely populate /etc.
"""

For example, removing 'systemd_preset_all;' from IMAGE_PREPROCESS_COMMAND in some
distro conf file will achieve the same effect of the original patch.

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agocargo.bbclass: use offline mode for building
Frederic Martinsons [Wed, 15 Mar 2023 07:48:51 +0000 (08:48 +0100)] 
cargo.bbclass: use offline mode for building

There should not be any network access during the build step so
specify this explicitely to cargo.
This will allow better error message, e.g:

| Caused by:
|  can't checkout from 'ssh://git@.../fmartinsons/zbus-git-dep-test.git': you are in  the offline mode (--offline)

Instead of

|   Updating git repository `ssh://git@.../fmartinsons/zbus-git-dep-test.git`
| warning: spurious network error (2 tries remaining): failed to resolve address for gitlab.com: Temporary failure in name resolution;class=Net (12)

Signed-off-by: Frederic Martinsons <frederic.martinsons@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agocracklib: update github branch to 'main'
Tim Orling [Thu, 16 Mar 2023 01:12:00 +0000 (18:12 -0700)] 
cracklib: update github branch to 'main'

Signed-off-by: Tim Orling <tim.orling@konsulko.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agomdadm: Fix raid0 tests
Mingli Yu [Thu, 16 Mar 2023 08:27:40 +0000 (16:27 +0800)] 
mdadm: Fix raid0 tests

Backport patches to fix raid0 tests:
  tests/00raid0
  tests/00readonly
  tests/03r0assem
  tests/04r0update
  tests/04update-metadata

Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agomdadm: fix tests/02lineargrow
Mingli Yu [Thu, 16 Mar 2023 08:27:39 +0000 (16:27 +0800)] 
mdadm: fix tests/02lineargrow

Backport patch [1] to fix tests/02lineargrow.

[1] https://git.kernel.org/pub/scm/utils/mdadm/mdadm.git/commit/?id=a2c832465fc75202e244327b2081231dfa974617

Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agomdadm: Fix testcase 06wrmostly
Mingli Yu [Thu, 16 Mar 2023 08:27:38 +0000 (16:27 +0800)] 
mdadm: Fix testcase 06wrmostly

Backport patch [1] to fix the failure of the 06wrmostly test.

[1] https://git.kernel.org/pub/scm/utils/mdadm/mdadm.git/commit/?id=41edf6f45895193f4a523cb0a08d639c9ff9ccc9

Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agoopenssl: Fix reproducibility issue
Richard Purdie [Thu, 16 Mar 2023 08:53:25 +0000 (08:53 +0000)] 
openssl: Fix reproducibility issue

Fix an issue introduced in the new openssl version where an assembler file
isn't generated in a reproducible way by seeding the perl random number
generator consistently. It has no crypto impact, it is just used to
avoid function name clashes.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agoopenssl: update from 3.0.8 to 3.1.0
Randy MacLeod [Wed, 15 Mar 2023 04:48:00 +0000 (00:48 -0400)] 
openssl: update from 3.0.8 to 3.1.0

>From the NEWS.md file:

  ### Major changes between OpenSSL 3.0 and OpenSSL 3.1.0 [14 Mar 2023]

  * SSL 3, TLS 1.0, TLS 1.1, and DTLS 1.0 only work at security level 0.
  * Performance enhancements and new platform support including new
    assembler code algorithm implementations.
  * Deprecated LHASH statistics functions.
  * FIPS 140-3 compliance changes.

Drop the upstreamed afalg.patch:
   c425e365f4 Configure: don't try to be clever when configuring afalgeng

Signed-off-by: Randy MacLeod <randy.macleod@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agomatchbox-terminal: Fix PV to match standard format
Richard Purdie [Thu, 16 Mar 2023 13:48:17 +0000 (13:48 +0000)] 
matchbox-terminal: Fix PV to match standard format

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agopython3-urllib3: upgrade 1.26.14 -> 1.26.15
Wang Mingyu [Wed, 15 Mar 2023 11:13:34 +0000 (19:13 +0800)] 
python3-urllib3: upgrade 1.26.14 -> 1.26.15

Changelog:
==========
* Fix socket timeout value when "HTTPConnection" is reused ('#2645 <https://github.com/urllib3/urllib3/issues/2645>'__)
* Remove "!" character from the unreserved characters in IPv6 Zone ID parsing
  ('#2899 <https://github.com/urllib3/urllib3/issues/2899>'__)
* Fix IDNA handling of '\x80' byte ('#2901 <https://github.com/urllib3/urllib3/issues/2901>'__)

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agopython3-testtools: upgrade 2.5.0 -> 2.6.0
Wang Mingyu [Wed, 15 Mar 2023 11:13:33 +0000 (19:13 +0800)] 
python3-testtools: upgrade 2.5.0 -> 2.6.0

Improvements
------------
* Add support for Python 3.10 and 3.11.
* Drop support for Python 3.5 (EOL).
* Distutils integration is deprecated and will be removed in the next major
  version.
* Use "CompoundFixture" from "fixtures>=2.0" rather than rolling our
  own.
* Provide a "testtools[twisted]" extra documenting dependencies needed for
  "testtools.twistedsupport".
* Make "TestCase" hashable.
* Prevent "AttributeError" in "TestCase.__eq__" for objects lacking a
  "__dict__" attribute.
* Replace deprecated "cgi" module usage with "email".

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agopython3-scons: upgrade 4.4.0 -> 4.5.1
Wang Mingyu [Wed, 15 Mar 2023 11:11:23 +0000 (19:11 +0800)] 
python3-scons: upgrade 4.4.0 -> 4.5.1

Changelog:
==========
- Fix a problem in 4.5.0 where using something like the following code
  will cause a Clone()'d environment to share the CPPDEFINES with the
  original Environment() which was cloned. Causing leakage of changes
  to CPPDEFINES when they should be completely independent after the Clone.
      env=Environment(CPPDEFINES=['a'])
      env.Append(CPPDEFINES=['b']) (or AppendUnique,Prepend,PrependUnique)
      env1=env.Clone()
      env1.Append(CPPDEFINES=['c']) (or any other modification, but not overwriting CPPDEFINES
  Now env['CPPDEFINES'] will contain 'c' when it should not.
- Do not initialize DefaultEnvironment when calling EnsureSConsVersion(),
  EnsurePythonVersion(), Exit(), GetLaunchDir() and SConscriptChdir().
- Remove unused private method SConsEnvironment._exceeds_version().
- Added ValidateOptions() which will check that all command line options are in either
  those specified by SCons itself, or by AddOption() in SConstruct/SConscript.  It should
  not be called until all AddOption() calls are completed. Resolves Issue #4187
- Refactored SCons/Taskmaster into a package. Moved SCons/Jobs.py into that package.
  NOTE: If you hook into SCons.Jobs, you'll have to change that to use SCons.Taskmaster.Jobs
- Changed the Taskmaster trace logic to use python's logging module. The output formatting
  should remain (mostly) the same. Minor update to unittest for this to adjust for 1 less newline.
- Migrated logging logic for --taskmastertrace to use Python's logging module. Added logging
  to NewParallel Job class (Andrew Morrow's new parallel job implementation)
- Ninja: Fix execution environment sanitation for launching ninja. Previously if you set an
  execution environment variable set to a python list it would crash. Now it
  will create a string joining the list with os.pathsep
- Move execution environment sanitation from Action._subproc() to
  SCons.Util.sanitize_shell_env(ENV)
- Moved rpm and debian directories under packaging
- Added logic to help packagers enable reproducible builds into packaging/etc/. Please
  read packaging/etc/README.txt if you are interested.
- Added --experimental=tm_v2, which enables Andrew Morrow's new NewParallel Job implementation.
  This should scale much better for highly parallel builds. You can also enable this via SetOption().
- Fixed command line argument --diskcheck: previously a value of 'none' was ignored.
  SetOption('diskcheck','none') is unaffected, as it did not have the problem.
- Added overrides argument to SCons.Subst.scons_subst(), subst_list(), subst(), and Action's process(),
  strfunction(). This allows passing a dictionary of envvars to override when evaluating subst()'d strings/lists
- Fixed Issue #4275 - when outputting compilation db and TEMPFILE was in use, the compilation db would have
  command lines using the generated tempfile for long command lines, instead of the full command line for
  the compilation step for the source/target pair.
- Renamed the qt tools to qt3 since the logic in that tool is only for QT version 3.  Renamed all env vars
  which affect qt3 from QT_ to QT3_.  If you are still using SCons to build QT 3 code, you'll need to update
  your SConscripts.  Note that using 'qt' tool has been deprecated for some time.
- Added JAVAPROCESSORPATH construction variable which populates -processorpath.
- Updated JavaScanner to scan JAVAPROCESSORPATH.
- Added FILE_ENCODING, to allow explicitly setting the text encoding for files
  written by the Textfile() and Substfile() builders. If not specified, Textfile() and Substfile() builders
  will write files as UTF-8. Fixed Issue #4302.
- Add newline to end of compilation db (compile_commands.json).
- Added error message to handle the case when SCons attempts to retrieve all the targets
  for a specified builder from the CacheDir, fails to do so, and then runs into an error
  when deleting the files which were retrieved. Previously if this happened there was no
  errors or warnings.
- Fix issue #2757, where Configure checks that perform a check which reads a modified source
  (including program, source or header file(s)) would incorrectly mark that file "up to date" so the
  actual build would not see the file as modified. Leading to incorrect incremental builds.
  Now configure checks now clear node info for non conftest nodes, so they will be re-evaluated for
  the real taskmaster run when the build commences.
- Avoid returning UniqueList for `children` and other `Executor` APIs. This type
  iterates more slowly than the builtin types. Also simplify uniquer_hashables to
  use an faster implementation under the assumption of ordered dictionaries.
- Fixed runtest.py failure on Windows caused by excessive escaping of the path to python.exe.
- Run LaTeX after biber/bibtex only if necessary
- Added -fsanitize support to ParseFlags().  This will propagate to CCFLAGS and LINKFLAGS.
- A list argument as the source to the Copy() action function is now
  correctly handled by converting elements to string. Copy errors out
  if asked to copy a list to an existing non-directory destination.
  Both the implementation and the strfunction which prints the progress
  message were adjusted. Fixes #3009.
- doc: EnsureSConsVersion, EnsurePythonVersion, Exit, GetLaunchDir and
  SConscriptChdir are now listed as Global functions only; the
  Environment versions still work but are not documented.
- The Java scanner processing of JAVACLASSPATH for dependencies was
  changed to split on os.pathsep instead of space, to match usage of
  passing a path string like "xxx:yyy:zzz". This is not portable -
  passing a POSIX-style path string (with ':') won't work on Windows
  (';') - which is now documented with a hint to use a list instead
  to be portable. Splitting on space broke paths with embedded spaces.
  Fixes #4243.
- Cleanup: make sure BoolVariable usage in tests and examples uses Python
  boolean values instead of 0/1.
- Stop telling people to run "python setup.py install" in the User Guide.
  Adds new content on using virtualenvs to be able to have multiple
  different SCons versions available on one system.
- Added the "DefaultEnvironment(tools=[])" stanza to a number of tests
  that are known to be particularly slow.  It's still just a tiny
  speedup, but the Windows CI had been occasionally timing out,
  so maybe this helps a bit.
- Remove an extra existence check in one ninja test that caused it
  to be skipped on some otherwise-valid Windows installations.
- test framework tests now pass on Linux and Windows (the latter can
  still run into problems on some configurations), and automated
  tests are now run on changes in this area so future problems can
  be spotted.
- The single-file Util module was split into a package with a few
  functional areas getting their own files - Util.py had grown to
  over 2100 lines.
- Add a zipapp package of scons-local: can use SCons from a local
  file which does not need unpacking.
- Additional explanations for MSVSProject and MSVSSolution builders.
- Fix a problem (present in 4.4.0 only) where a Java inner class could
  not be cached because the emitted filename contained a '$' and when
  looked up through a node ended up generating a Python SyntaxError
  because it was passed through scons_subst().
- Have the gfortran tool do a better job of honoring user preferences
  for the dialect tools (F77, F90, F03 and F09, as well as the shared-library
  equivalents SHF77,  SHF90, SHF03, SHF09). Previously these were
  unconditionally overwritten to 'gfortran'; the change should be more
  in line with expectations of how these variables should work.
  Also cleaned a few Fortran tests - test behavior does not change.
- Updated MSVC documentation - adds "version added" annotations on recently
  added construction variables and provides a version-mapping table.
- Add Python 3.12 support, and indicate 3.11/3.12 support in package.
  3.12 is in alpha for this SCons release, the bytecode sequences
  embedded in SCons/ActionTests.py may need to change later, but
  based on what is known now, 3.12 itself should work with this release.
- Add "append" keyword argument to Configure context's CheckLib and
  CheckLibWithHeader to control whether to append or prepend (issue #2767)
  Also added "unique" keyword, to control whether a library is added
  or not if it is already in the $LIBS construction var in the
  configure context. (issue #2768).
- Completely refactored the CPPDEFINES logic in Append/AppendUnique/Prepend/PrependUnique
  This change fixes the following GH Issues:
  - GH Issue #3876 - Append() and AppendUnique() will handle CPPDEFINES the same
  - GH Issue #4254 - Make handling tuples in CPPDEFINES consistent.
  - We no longer sort the keys added to CPPDEFINES by their dictionary keys.
    We take advantage that their order is now stable based on insertion order
    in Python 3.5+
  - Added/modifed unit and system tests to verify these changes.

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agopython3-pytest: upgrade 7.2.1 -> 7.2.2
Wang Mingyu [Wed, 15 Mar 2023 11:11:22 +0000 (19:11 +0800)] 
python3-pytest: upgrade 7.2.1 -> 7.2.2

Bug Fixes
=========
 #10533: Fixed pytest.approx() handling of dictionaries containing one or more values of 0.0.
 #10592: Fixed crash if --cache-show and --help are passed at the same time.
 #10597: Fixed bug where a fixture method named teardown would be called as part of nose teardown stage.
 #10626: Fixed crash if --fixtures and --help are passed at the same time.
 #10660: Fixed pytest.raises() to return a ‘ContextManager’ so that type-checkers could narrow pytest.raises(...) if ... else nullcontext() down to ‘ContextManager’ rather than ‘object’.

Improved Documentation
======================
 #10690: Added CI and BUILD_NUMBER environment variables to the documentation.
 #10721: Fixed entry-points declaration in the documentation example using Hatch.
 #10753: Changed wording of the module level skip to be very explicit about not collecting tests and not executing the rest of the module.

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agopython3-poetry-core: upgrade 1.5.1 -> 1.5.2
Wang Mingyu [Wed, 15 Mar 2023 11:11:21 +0000 (19:11 +0800)] 
python3-poetry-core: upgrade 1.5.1 -> 1.5.2

Fixed
=======
 Fix an issue where wheels built on Windows could contain duplicate entries in the RECORD file (#555).

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agopython3-setuptools: upgrade 67.4.0 -> 67.6.0
Wang Mingyu [Wed, 15 Mar 2023 11:11:20 +0000 (19:11 +0800)] 
python3-setuptools: upgrade 67.4.0 -> 67.6.0

Changelog:
=========
#3804: Added caching for supported wheel tags.
#3846: Added pruning heuristics to PackageFinder based on exclude.
#3843: Although pkg_resources has been discouraged for use, some projects still
consider pkg_resources viable for usage. This change makes it clear that
pkg_resources should not be used, emitting a DeprecationWarning when imported.

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agogrep: upgrade 3.8 -> 3.9
Wang Mingyu [Wed, 15 Mar 2023 11:11:19 +0000 (19:11 +0800)] 
grep: upgrade 3.8 -> 3.9

Bug fixes
==========
  With -P, some non-ASCII UTF8 characters were not recognized as
  word-constituent due to our omission of the PCRE2_UCP flag. E.g.,
  given f(){ echo Perú|LC_ALL=en_US.UTF-8 grep -Po "$1"; } and
  this command, echo $(f 'r\w'):$(f '.\b'), before it would print ":r".
  After the fix, it prints the correct results: "rú:ú".

  When given multiple patterns the last of which has a back-reference,
  grep no longer sometimes mistakenly matches lines in some cases.
  [Bug#36148#13 introduced in grep 3.4]

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agomatchbox-config-gtk: Update to latest SRCREV
Richard Purdie [Wed, 15 Mar 2023 17:58:40 +0000 (17:58 +0000)] 
matchbox-config-gtk: Update to latest SRCREV

License changes were the addition of SPDX license headers and license
header fixes.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agomatchbox-terminal: Update to latest SRCREV
Richard Purdie [Wed, 15 Mar 2023 17:57:49 +0000 (17:57 +0000)] 
matchbox-terminal: Update to latest SRCREV

License changes were the addition of SPDX license headers and license
header fixes.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agomatchbox-desktop-2: Update 2.2 -> 2.3
Richard Purdie [Wed, 15 Mar 2023 17:45:00 +0000 (17:45 +0000)] 
matchbox-desktop-2: Update 2.2 -> 2.3

License changes were the addition of SPDX license headers and license
header fixes.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agomatchbox-panel-2: Update 2.11 -> 2.12
Richard Purdie [Wed, 15 Mar 2023 17:40:39 +0000 (17:40 +0000)] 
matchbox-panel-2: Update 2.11 -> 2.12

License changes were the addition of SPDX license headers and license
header fixes.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agomatchbox-wm: Update 1.2.2 -> 1.2.3
Richard Purdie [Wed, 15 Mar 2023 17:24:44 +0000 (17:24 +0000)] 
matchbox-wm: Update 1.2.2 -> 1.2.3

Drop a patch merged in the upstream repo.
License changes are due to the addition of SPDX license headers.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agopybootchart: Fix extents handling to account for cpu/io/mem pressure changes
Richard Purdie [Wed, 15 Mar 2023 14:42:38 +0000 (14:42 +0000)] 
pybootchart: Fix extents handling to account for cpu/io/mem pressure changes

The previous addition of pressure values to the chart didn't fix the extents
function which meant the bottom of the chart was cut off. Fix that.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agopybootchartui: Fix python syntax issue
Richard Purdie [Wed, 15 Mar 2023 14:10:34 +0000 (14:10 +0000)] 
pybootchartui: Fix python syntax issue

Fix:

scripts/pybootchartgui/pybootchartgui/parsing.py:134: SyntaxWarning: "is" with a literal. Did you mean "=="?
  if pid is 0:

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agoscripts/combo-layer: Fix python deprecation warning
Richard Purdie [Tue, 14 Mar 2023 07:26:24 +0000 (07:26 +0000)] 
scripts/combo-layer: Fix python deprecation warning

Address:
DeprecationWarning: 'pipes' is deprecated and slated for removal in Python 3.13

pipes.quote is an alias for shlex.quote so switch to that.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agocpio: fix ptest failure
Changqing Li [Tue, 14 Mar 2023 02:13:01 +0000 (10:13 +0800)] 
cpio: fix ptest failure

Fix following ptest failure:
/usr/lib64/cpio/ptest/run-ptest: line 7: cd: /usr/lib/cpio/ptest/tests/: No such file or directory

Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agotzcode-native: fix build with gcc-13 on host
Martin Jansa [Mon, 13 Mar 2023 21:20:22 +0000 (21:20 +0000)] 
tzcode-native: fix build with gcc-13 on host

* passing -std=c2x to avoid build failure with gcc-13 on host
  works as well, but the resulting zic then segfaults when
  used in tzdata, use a fix from upstream instead

* reported upstream in https://mm.icann.org/pipermail/tz/2023-March/032690.html

* fixes:
  http://errors.yoctoproject.org/Errors/Details/697913/

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agogit-submodule-test: disable upstream version check
Martin Jansa [Mon, 13 Mar 2023 12:15:28 +0000 (13:15 +0100)] 
git-submodule-test: disable upstream version check

* this is one of the failures from distrodata.Distrodata.test_checkpkg:

  2023-03-11 14:26:21,482 - oe-selftest - INFO - ======================================================================
  2023-03-11 14:26:21,482 - oe-selftest - INFO - FAIL: test_checkpkg (distrodata.Distrodata.test_checkpkg)
  2023-03-11 14:26:21,482 - oe-selftest - INFO - ----------------------------------------------------------------------
  2023-03-11 14:26:21,482 - oe-selftest - INFO - Traceback (most recent call last):
    File "/OE/build/poky/meta/lib/oeqa/selftest/cases/distrodata.py", line 40, in test_checkpkg
      self.assertTrue(len(regressed_failures) == 0 and len(regressed_successes) == 0, msg)
  AssertionError: False is not true :
  The following packages failed upstream version checks. Please fix them using UPSTREAM_CHECK_URI/UPSTREAM_CHECK_REGEX
  (when using tarballs) or UPSTREAM_CHECK_GITTAGREGEX (when using git). If an upstream version check cannot be performed
  (for example, if upstream does not use git tags), you can set UPSTREAM_VERSION_UNKNOWN to '1' in the recipe to acknowledge
  that the check cannot be performed.
  git-submodule-test
  binutils

  Stdout:
  Loading cache...done.
  Loaded 0 entries from dependency cache.
  Parsing recipes...done.
  Parsing of 947 .bb files complete (0 cached, 947 parsed). 1764 targets, 46 skipped, 0 masked, 0 errors.
  ----------------------------------------------------------------------
  2023-03-11 14:26:21,482 - oe-selftest - INFO - Ran 1 test in 193.764s
  2023-03-11 14:26:21,482 - oe-selftest - INFO - FAILED
  2023-03-11 14:26:21,483 - oe-selftest - INFO -  (failures=1)
  2023-03-11 14:26:26,258 - oe-selftest - INFO - RESULTS:

  martin@jama /OE/build/poky/build $ devtool check-upgrade-status git-submodule-test
  NOTE: Could not list remote: Fetcher failure for URL: 'gitsm://git.yoctoproject.org/git-submodule-test;branch=master'.
    The command git -c gc.autoDetach=false -c core.pager=cat ls-remote git://git.yoctoproject.org/git-submodule-test refs/tags/* gave empty output unexpectedly
  INFO: git-submodule-test        1.0             UNKNOWN_BROKEN  None

  and there are no tags in this test repo:
  $ git ls-remote git://git.yoctoproject.org/git-submodule-test
  a2885dd7d25380d23627e7544b7bbb55014b16ee        HEAD
  d199bbf9ed2216bd1f38aec000d865ae08279119        refs/heads/changed-url
  a2885dd7d25380d23627e7544b7bbb55014b16ee        refs/heads/master
  049da4a6cb198d7c0302e9e8b243a1443cb809a7        refs/heads/ssh-gitsm-tests
  bbe99a1465c5cc52720936d075ddbc5ebe2ed731        refs/meta/cgit

* the binutils failure is strange, when I've added some debug output
  to see why it's listed the issue disappeared, maybe some temporary
  network glitch or something

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agotzdata: use separate B instead of WORKDIR for zic output
Martin Jansa [Mon, 13 Mar 2023 11:06:31 +0000 (12:06 +0100)] 
tzdata: use separate B instead of WORKDIR for zic output

* avoid copying whole exec_prefix over base_prefix as there
  were only zoneinfo files anyway

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agotimezone: use 'tz' subdir instead of ${WORKDIR} directly
Martin Jansa [Mon, 13 Mar 2023 11:06:30 +0000 (12:06 +0100)] 
timezone: use 'tz' subdir instead of ${WORKDIR} directly

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agoresulttool: add log --list-ptest
Ross Burton [Mon, 13 Mar 2023 12:59:08 +0000 (12:59 +0000)] 
resulttool: add log --list-ptest

Add a convenience argument to the log subcommand to list all of the
ptest logs in a testresults file.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agolib/resulttool: fix typo breaking resulttool log --ptest
Ross Burton [Mon, 13 Mar 2023 12:59:07 +0000 (12:59 +0000)] 
lib/resulttool: fix typo breaking resulttool log --ptest

ptestresult_get_log() looked for a key called 'ptestresuls.sections',
which should be 'ptestresult.sections'

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agovim: upgrade to 9.0.1403
Ross Burton [Mon, 13 Mar 2023 14:25:31 +0000 (14:25 +0000)] 
vim: upgrade to 9.0.1403

This incorporates fixes for CVE-2023-1127, CVE-2023-1170, CVE-2023-1175.

Also remove runtime/doc/uganda.txt from the license checksum: the Vim
license is also in the top-level LICENSE file so this is redundant.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agooeqa rtc.py: skip if read-only-rootfs
Mikko Rapeli [Mon, 13 Mar 2023 17:51:28 +0000 (19:51 +0200)] 
oeqa rtc.py: skip if read-only-rootfs

hwclock command fails on read-only-rootfs:

AssertionError: 1 != 0 : Failed to reset RTC time, output: hwclock: cannot open /etc/adjtime: Read-only file system

Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agovim: set modified-by to the recipe MAINTAINER
Ross Burton [Mon, 13 Mar 2023 16:48:09 +0000 (16:48 +0000)] 
vim: set modified-by to the recipe MAINTAINER

Clause II.3 of the Vim license states that any distribution of Vim that
has been extended or modified must _at least_ indicate in the :version
output that this is the case.

Handily, Vim has a --with-modified-by argument to add a line in that
text, so use MAINTAINER.  This is the distribution maintainer contact,
by default it is OE-Core Developers
<openembedded-core@lists.openembedded.org>.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agonpm.bbclass: avoid DeprecationWarning with new python
Martin Jansa [Mon, 13 Mar 2023 20:50:37 +0000 (21:50 +0100)] 
npm.bbclass: avoid DeprecationWarning with new python

meta/classes-recipe/npm.bbclass:85: DeprecationWarning: invalid escape sequence '\.'
  '--transform', 's,^\./,package/,',

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agofile: add few more PACKAGECONFIGs to avoid autodetected deps from host
Martin Jansa [Mon, 13 Mar 2023 19:37:59 +0000 (20:37 +0100)] 
file: add few more PACKAGECONFIGs to avoid autodetected deps from host

* there are few more autodetected compression libs
  --disable-zlib          disable zlib compression support [default=auto]
  --disable-bzlib         disable bz2lib compression support [default=auto]
  --disable-xzlib         disable liblzma/xz compression support
  --disable-zstdlib       disable zstdlib compression support [default=auto]
  --disable-lzlib         disable liblz (lzip) compression support

  and lzlib was detected on my gentoo (even when it doesn't say that default
  is auto detection)

  I've noticed this, because I've reused sstate-cache from my gentoo build
  in docker container with ubuntu-23.04 and esdk.oeSDKExtSelfTest.test_install_libraries_headers
  test was now failing with:

  Exception: subprocess.CalledProcessError: Command '/OE/build/poky/build/build-st-2023-03-12-esdk-patch1/esdk.oeSDKExtSelfTest.test_install_libraries_headers/build-st/tmp/work/x86_64-nativesdk-pokysdk-linux/buildtools-tarball/1.0-r0/recipe-sysroot-native/usr/bin/createrepo_c --update -q /OE/build/poky/build/build-st-2023-03-12-esdk-patch1/esdk.oeSDKExtSelfTest.test_install_libraries_headers/build-st/tmp/work/x86_64-nativesdk-pokysdk-linux/buildtools-tarball/1.0-r0/oe-sdk-repo' returned non-zero exit status 127.

  Subprocess output:
  /OE/build/poky/build/build-st-2023-03-12-esdk-patch1/esdk.oeSDKExtSelfTest.test_install_libraries_headers/build-st/tmp/work/x86_64-nativesdk-pokysdk-linux/buildtools-tarball/1.0-r0/recipe-sysroot-native/usr/bin/createrepo_c: error while loading shared libraries: liblz.so.1: cannot open shared object file: No such file or directory

  and liblz.so.1 ended in createrepo_c.real because of libmagic.so from file-native-replacement.

* use PACKAGECONFIG for seccomp as well and keep it disabled as it was
  explicitly disabled before (${@bb.utils.filter('DISTRO_FEATURES', 'seccomp', d)}
  can be added to default PACKAGECONFIG later if someone finds it useful)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agosudo: update 1.9.12p2 -> 1.9.13p3
Xiangyu Chen [Mon, 13 Mar 2023 01:57:14 +0000 (09:57 +0800)] 
sudo: update 1.9.12p2 -> 1.9.13p3

Signed-off-by: Xiangyu Chen <xiangyu.chen@windriver.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agogo: use go as CVE product for all golang recipe veriants
Peter Marko [Sun, 12 Mar 2023 08:45:43 +0000 (09:45 +0100)] 
go: use go as CVE product for all golang recipe veriants

All golang vulnerabilities are reported under product 'go'.

By default there is no vulnerability reported for images with
golang components because none of used golang packages
have correct CVE product set:
* go-binary-native
* go-runtime
* go-cross-*

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agorunqemu: add an option to enable guest-agent virtio device
Clément Péron [Fri, 10 Mar 2023 18:54:23 +0000 (19:54 +0100)] 
runqemu: add an option to enable guest-agent virtio device

Add support to the runqemu script for a new option, 'guestagent', that
enables the virtio serial port for host-to-guest communication.

Signed-off-by: Brenda Streiff <brenda.streiff@ni.com>
Signed-off-by: Clément Péron <peron.clem@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agoqemu: split out qemu-guest-agent, add startup scripts
Clément Péron [Fri, 10 Mar 2023 18:54:22 +0000 (19:54 +0100)] 
qemu: split out qemu-guest-agent, add startup scripts

Split out the QEMU guest agent into a separate package. The agent is
intended to be installed within a QEMU VM guest where a user is likely
to not want to have the rest of the QEMU installation within it.

Additionally, an initscript, udev rules file, and systemd unit file are
added to the package so that the guest agent can start automatically;
the former two come from Debian's packaging for qemu-guest-agent.

Signed-off-by: Brenda Streiff <brenda.streiff@ni.com>
Signed-off-by: Clément Péron <peron.clem@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agoimage_types: fix multiubi var init
Romuald Jeanne [Fri, 10 Mar 2023 10:36:21 +0000 (11:36 +0100)] 
image_types: fix multiubi var init

Make sure to expand all MKUBIFS_ARGS_<label> and UBINIZE_ARGS_<label> vars
in 'do_image_multiubi' task to use them to init the local 'mkubifs_args'
and 'ubinize_args' vars.

See [YOCTO #15065]

Signed-off-by: Romuald JEANNE <romuald.jeanne@st.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agosystemd.bbclass: Add /usr/lib/systemd to searchpaths as well
Khem Raj [Fri, 10 Mar 2023 10:07:03 +0000 (02:07 -0800)] 
systemd.bbclass: Add /usr/lib/systemd to searchpaths as well

Some packages like lirc places its unit files into $systemd_user_unitdir
and also uses them in SYSTEMD_SERVICE list in recipe. This fails in
do_package

ERROR: Didn't find service unit 'lircmd.service', specified in SYSTEMD_SERVICE:lirc.

here lircmd.service is installed in /usr/lib/systemd/system/lircmd.service

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agopypi.bbclass: Set SRC_URI downloadfilename with an optional prefix
Zoltan Boszormenyi [Fri, 10 Mar 2023 12:32:54 +0000 (13:32 +0100)] 
pypi.bbclass: Set SRC_URI downloadfilename with an optional prefix

This allows avoiding clashes between source archives of a main
project and a pypi project using the same name and version.

The new optional setting is PYPI_ARCHIVE_NAME_PREFIX which is empty
by default so previous downloads can be used. Example usage:

PYPI_ARCHIVE_NAME_PREFIX = "pypi-"

Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agodevtool/upgrade: do not delete the workspace/recipes directory
Alexander Kanavin [Thu, 9 Mar 2023 15:19:33 +0000 (16:19 +0100)] 
devtool/upgrade: do not delete the workspace/recipes directory

If it exists, there is no need to delete it, and if it does not,
devtool prints an ugly traceback.

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agoimage_types: fix vname var init in multiubi_mkfs() function
Romuald JEANNE [Thu, 9 Mar 2023 07:54:52 +0000 (08:54 +0100)] 
image_types: fix vname var init in multiubi_mkfs() function

As vname var is needed in multiubi_mkfs() function, we need to keep it
defined and use it as parameter to the new write_ubi_config() function.

See [YOCTO #15027]

Signed-off-by: Romuald JEANNE <romuald.jeanne@st.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agolibgit2: update license information
Sudip Mukherjee [Thu, 2 Mar 2023 21:47:44 +0000 (21:47 +0000)] 
libgit2: update license information

The LICENSE did not have complete information.
Some examples of missing license:

Zlib: deps/zlib/
ISC: tests/clar/clar.c
LGPL-2.1-or-later: src/libgit2/xdiff/xdiffi.c
CC0-1.0: src/util/rand.c

Signed-off-by: Sudip Mukherjee <sudipm.mukherjee@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agosystemd: Fix musl fix patch
Khem Raj [Sun, 12 Mar 2023 07:24:22 +0000 (23:24 -0800)] 
systemd: Fix musl fix patch

Current patch with fail when stdint.h is in include path before this
typedef which can also happen with re-includes. Therefore shunt that
by defining __DEFINED_wchar_t which helps musl builds of systemd-boot
recipe

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Cc: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agoptest-packagelists: Simplify ptest list/code
Richard Purdie [Sat, 11 Mar 2023 21:01:51 +0000 (21:01 +0000)] 
ptest-packagelists: Simplify ptest list/code

All the usage sites remove the -ptest suffix. Simply the original list
instead and clean up the code.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agocore-image-ptest: Switch to BBCLASSEXTEND parallel execution
Richard Purdie [Thu, 9 Mar 2023 22:00:08 +0000 (22:00 +0000)] 
core-image-ptest: Switch to BBCLASSEXTEND parallel execution

Replace the two images where tests are run serially with an image
per ptest in the form core-image-ptest-XXX using class extensions.

The original two images are then replaced with dependencies on these
images. This allows parallel execution of the tests.

The downside to this approach is the parsing time of an image generating
this number of class extensions is slow but making it easier to execute
and collect test data should outweigh that.

A useful advantage is that the dependencies of each ptest package are
checked/tested indvidually.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agobase-files: Drop localhost.localdomain from hosts file
Richard Purdie [Sat, 11 Mar 2023 07:50:45 +0000 (07:50 +0000)] 
base-files: Drop localhost.localdomain from hosts file

This was likely something we took inspiration from elsewhere with.
It was added in:

https://git.openembedded.org/openembedded/commit/packages/netbase/netbase/hosts?id=c8e5702127e507e82e6f68a4b8c546803accea9d

in 2005. Debian added this entry around 2004 and discussed and dropped
it in 2005:

https://lists.debian.org/debian-devel/2005/10/msg00559.html

resulting in:

https://salsa.debian.org/installer-team/netcfg/-/commit/3c15ee521b2b8f47b34ccc7f610523cd284f2221

We should drop this for some of the reasons in those threads,
it doesn't seem to be doing anything too helpful and isn't what most
applications expect.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agooeqa/selftest/sstate: Split classes to allow more parallelism
Richard Purdie [Sun, 12 Mar 2023 11:35:24 +0000 (11:35 +0000)] 
oeqa/selftest/sstate: Split classes to allow more parallelism

By splitting the single class into multiple classes, it allows more parallelism
in the execution. These tests don't have interdependencies that benefit
from sstate reuse or anything like that so this makes sense to improve overall
test execution time if/where possible.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agooeqa/selftest/sstate: Move common code to base class
Richard Purdie [Sun, 12 Mar 2023 11:31:38 +0000 (11:31 +0000)] 
oeqa/selftest/sstate: Move common code to base class

Move the other common shares test functions to the base class to
improve the code structure.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agooeqa/selftest/sstate: Merge sstate test class with tests themselves
Richard Purdie [Sun, 12 Mar 2023 11:29:27 +0000 (11:29 +0000)] 
oeqa/selftest/sstate: Merge sstate test class with tests themselves

Having this base class as a separate file is just confusing. Merge with
the rest of the test code.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agoselftest/recipetool: Stop test corrupting tinfoil class
Richard Purdie [Mon, 13 Mar 2023 11:44:09 +0000 (11:44 +0000)] 
selftest/recipetool: Stop test corrupting tinfoil class

Running recipetool.RecipetoolTests.test_recipetool_handle_license_vars
followed by wic.Wic2.test_biosplusefi_plugin_qemu would show a failure of:

  File "/media/build/poky/meta/lib/oeqa/utils/commands.py", line 351, in runqemu
    qemu = oeqa.targetcontrol.QemuTarget(recipedata, targetlogger, image_fstype)
  File "/media/build/poky/meta/lib/oeqa/targetcontrol.py", line 116, in __init__
    use_kvm = oe.types.qemu_use_kvm(d.getVar('QEMU_USE_KVM'), d.getVar('TARGET_ARCH'))
  File "/media/build/poky/meta/lib/oe/types.py", line 182, in qemu_use_kvm
    if kvm and boolean(kvm):
  File "/media/build/poky/meta/lib/oe/types.py", line 128, in boolean
    raise ValueError("Invalid boolean value '%s'" % value)
ValueError: Invalid boolean value '/media/build/poky/meta/files/common-licenses'

which made no sense until you realise the recipetool test is corrupting
the tinfoil class. Work on a copy instead to avoid this.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agolibpam: Remove flex dependency
Martin Larsson [Fri, 10 Mar 2023 13:47:44 +0000 (13:47 +0000)] 
libpam: Remove flex dependency

libpam does not have a direct build time dependency toward flex.

The libpam code does not have any references to the lib and does not use
flex for anything else at runtime.

Signed-off-by: Martin Larsson <martin.larsson@actia.se>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agobusybox: Fix ptest dependencies
Richard Purdie [Fri, 10 Mar 2023 18:15:09 +0000 (18:15 +0000)] 
busybox: Fix ptest dependencies

Ironically, busybox ptests don't all work without coreutils being present. This
dependency fixes execution in minimal images but the failing start-stop-daemon
test case should probably be investigated in due course and the dependency
removed when possible.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agognutls: Add missing python ptest dependency
Richard Purdie [Sat, 11 Mar 2023 20:54:47 +0000 (20:54 +0000)] 
gnutls: Add missing python ptest dependency

Add dependency on python3 to fix execution in minimal images.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agogstreamer1.0: Add missing gconv ptest dependency
Richard Purdie [Sat, 11 Mar 2023 20:53:48 +0000 (20:53 +0000)] 
gstreamer1.0: Add missing gconv ptest dependency

Add dependencies on missing gconv module to fix execution in minimal images.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agolibxml-perl: Add missing perl module ptest dependencies
Richard Purdie [Sat, 11 Mar 2023 20:53:13 +0000 (20:53 +0000)] 
libxml-perl: Add missing perl module ptest dependencies

Add dependencies on missing perl modules to fix execution in minimal images.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agoopkg: Add missing python module ptest dependencies
Richard Purdie [Sat, 11 Mar 2023 20:52:19 +0000 (20:52 +0000)] 
opkg: Add missing python module ptest dependencies

Add dependencies on missing python modules to fix execution in minimal images.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agoglibc-tests: Add missing bash ptest dependency
Richard Purdie [Sat, 11 Mar 2023 20:51:21 +0000 (20:51 +0000)] 
glibc-tests: Add missing bash ptest dependency

The script has a bashism and needs bash to execute correctly. Mark it
as such and add the missing bash dependency so it executes in minimal
images.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agogettext: Add missing bash ptest dependency
Richard Purdie [Sat, 11 Mar 2023 20:50:28 +0000 (20:50 +0000)] 
gettext: Add missing bash ptest dependency

Add a dependency on bash to fix execution in minimal images.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agolttng-tools: Improve ptest debugging and fix dependencies
Richard Purdie [Fri, 10 Mar 2023 18:14:48 +0000 (18:14 +0000)] 
lttng-tools: Improve ptest debugging and fix dependencies

Improve the ptest runner script:

* log output is available should any test fail to aid debugging
* document how to limit the runner to a single test
* stop hiding errors to stderr
* allow easier single test execution by avoiding path issues with PWD

Also depend upon binutils since one of the tests uses addr2line.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agobabeltrace: Fix ptest dependency
Richard Purdie [Fri, 10 Mar 2023 18:14:35 +0000 (18:14 +0000)] 
babeltrace: Fix ptest dependency

Add a missing dependency on make so ptests can run in a minimal image.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agobabeltrace2: Fix ptest execution in minimal images and add debug info
Richard Purdie [Fri, 10 Mar 2023 18:14:17 +0000 (18:14 +0000)] 
babeltrace2: Fix ptest execution in minimal images and add debug info

Tweak the ptest dependencies so they work correctly in minimal images. There
appears to be some usage of find or xargs that doesn't work with busybox.

Also improve the test runner so the test-suite.log is dumped upon error
which makes debugging much easier.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agolibxml-sax-perl: Fix ptest dependencies
Richard Purdie [Fri, 10 Mar 2023 18:13:23 +0000 (18:13 +0000)] 
libxml-sax-perl: Fix ptest dependencies

Add a missing ptest perl module dependency to fix execution in minimal
ptest images.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agolibconvert-asn1-perl: Fix ptest dependencies
Richard Purdie [Fri, 10 Mar 2023 18:13:02 +0000 (18:13 +0000)] 
libconvert-asn1-perl: Fix ptest dependencies

Add dependencies for missing perl modules to fix execution in
minimal images.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agogawk: Fix ptest dependency
Richard Purdie [Fri, 10 Mar 2023 18:12:22 +0000 (18:12 +0000)] 
gawk: Fix ptest dependency

The gawk ptests need some locale information, add the missing dependency
so tests work in minimal images.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agofindutils: Fix ptest dependency issue
Richard Purdie [Fri, 10 Mar 2023 18:12:08 +0000 (18:12 +0000)] 
findutils: Fix ptest dependency issue

The options used with 'od' don't work with our busybox config.
Add a dependency on the full utility from coreutils to fix execution
in minimal images.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agobc: Fix ptest test output naming
Richard Purdie [Fri, 10 Mar 2023 18:11:51 +0000 (18:11 +0000)] 
bc: Fix ptest test output naming

The quoting in the script was mangled leading to "0" tests being
found by our log parsing code. Fix the quoting to allow the correct
test counts to appear.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agolibmodule-build-perl: Fix ptest dependencies
Richard Purdie [Fri, 10 Mar 2023 18:11:36 +0000 (18:11 +0000)] 
libmodule-build-perl: Fix ptest dependencies

Some of the ptests fail in a minimal image. Add the missing perl
module dependencies.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agom4: Add missing ptest dependency
Richard Purdie [Fri, 10 Mar 2023 18:11:15 +0000 (18:11 +0000)] 
m4: Add missing ptest dependency

Some of the ptests fail in a minimal image. Add the missing gconv
dependency needed to allow those tests to pass.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agoacl/attr: ptest fixes and improvements
Richard Purdie [Fri, 10 Mar 2023 12:40:54 +0000 (12:40 +0000)] 
acl/attr: ptest fixes and improvements

Add a missing perl module dependency for the ptest packages and also
improve the run-ptest script so that the error log is saved allowing
easier debugging if this fails in future.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agoperl: Add missing procps-ps dependency for ptests
Richard Purdie [Thu, 9 Mar 2023 23:58:31 +0000 (23:58 +0000)] 
perl: Add missing procps-ps dependency for ptests

Some of the ptests fail in a minimal image as they depend on options
to ps which busybox doesn't support. Add the full utility.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agovalgrind: Add missing utf-32 gconv dependency for ptests
Richard Purdie [Thu, 9 Mar 2023 23:57:57 +0000 (23:57 +0000)] 
valgrind: Add missing utf-32 gconv dependency for ptests

Some of the ptests fail in a minimal image. Add the missing gconv
dependency needed to allow those tests to pass.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agoopenssl: Add missing ptest dependency on openssl-bin
Richard Purdie [Thu, 9 Mar 2023 23:57:20 +0000 (23:57 +0000)] 
openssl: Add missing ptest dependency on openssl-bin

One of the openssl ptests needs the openssl binary so fails
on a minimal image without this. Add the missing dependency.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agom4/opkg/ethtool/attr/libgpg-error: Add missing bash ptest dependency
Richard Purdie [Thu, 9 Mar 2023 22:00:48 +0000 (22:00 +0000)] 
m4/opkg/ethtool/attr/libgpg-error: Add missing bash ptest dependency

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agoscripts/yocto_testresults_query.py: set proper branches when using resulttool
Alexis Lothoré [Thu, 9 Mar 2023 15:53:01 +0000 (16:53 +0100)] 
scripts/yocto_testresults_query.py: set proper branches when using resulttool

The script currently only works if base and target can be found on default
branches. It breaks if we try to generate a regression report between revisions
that live on different branches (as needed on integration and testing branches).
For example, the following command:

./scripts/yocto_testresults_query.py regression-report yocto-4.0.6 yocto-4.0.7

ends with the follwing error:

[...]
ERROR: Only 1 tester revisions found, unable to generate report
[...]

Read branches from tags names in test results repository, and pass those
branches to resulttool when generating the report

Signed-off-by: Alexis Lothoré <alexis.lothore@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agoscripts/resulttool: do not count newly passing tests as regressions
Alexis Lothoré [Tue, 28 Feb 2023 18:10:52 +0000 (19:10 +0100)] 
scripts/resulttool: do not count newly passing tests as regressions

resulttool regression module simply compare a base test status to a target test
result status. This approach raises many false positives since all XXX -> PASS
transitions (XXX being any status different from PASS) are flagged as
regression.

- Do not list XXX -> PASS transitions in regression  report, instead count them
  and print a summary of "newly passing tests"
- If an inspected pair has only "newly passing tests", do not print detailed
  list and print it as "Improvement" instead of "Regression"

Updated output example looks like the following:
[...]
Improvement: oeselftest_fedora-37_qemux86-64_20230127010225
             oeselftest_ubuntu-22.04_qemux86-64_20230226120516
             (+1 test(s) passing)
[...]
Match:       oeselftest_almalinux-8.7_qemuarm64_20230127015830
             oeselftest_almalinux-8.7_qemuarm64_20230227015258
[...]
Regression:  oeselftest_almalinux-9.1_qemumips_20230127000217
             oeselftest_opensuseleap-15.4_qemumips_20230226130046
    ptestresult.glibc-user.debug/tst-read-chk-cancel: PASS -> None
    ptestresult.glibc-user.nptl/tst-mutexpi4: PASS -> FAIL
    ptestresult.glibc-user.nptl/tst-mutexpi5a: PASS -> FAIL
    Additionally, 44 previously failing test(s) is/are now passing

Signed-off-by: Alexis Lothoré <alexis.lothore@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agooeqa/selftest/resulttool: add test for error propagation in test name filtering
Alexis Lothoré [Tue, 28 Feb 2023 18:10:51 +0000 (19:10 +0100)] 
oeqa/selftest/resulttool: add test for error propagation in test name filtering

Signed-off-by: Alexis Lothoré <alexis.lothore@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agoscripts/resulttool: fix ptests results containing a non reproducible path
Alexis Lothoré [Tue, 28 Feb 2023 18:10:50 +0000 (19:10 +0100)] 
scripts/resulttool: fix ptests results containing a non reproducible path

Some ptests results may be wrongly sampled, resulting in some part of the error
being propagated in test name. For example:

"ptestresult.binutils-ld.in testcase /home/pokybuild/yocto-worker/qemumips/build/build-st-1666126/tmp/work/mips32r2-poky-linux/binutils-cross-testsuite/2.40-r0/git/ld/testsuite/ld-ctf/ctf.exp"
"ptestresult.gcc.Couldn't create remote directory /tmp/runtest.455781 on ssh"
"ptestresult.gcc-libstdc++-v3.Couldn't create remote directory /tmp/runtest.3814266 on target"

While the root errors must be fixed in corresponding ptests packages for those
tests, the test results history must still be usable even with this issue

Add new filters to detect if temporary test directories (build-st-*,
/tmp/runtime.*) are present in name. If so, truncate test name. As a side
effect, it will aggregate multiple failing errors into one, but the regression
will still be raised

Signed-off-by: Alexis Lothoré <alexis.lothore@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agooeqa/selftest/resulttool: fix fake data used for testing
Alexis Lothoré [Tue, 28 Feb 2023 18:10:48 +0000 (19:10 +0100)] 
oeqa/selftest/resulttool: fix fake data used for testing

resulttool searches for "status" field, not "STATUS", in results.
This fix is more to avoid confusion than fixing anything, since the updated
tests are about regression.can_be_compared, which does not check for "status"

Signed-off-by: Alexis Lothoré <alexis.lothore@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agooeqa/selftest/resulttool: fix ptest filtering tests
Alexis Lothoré [Tue, 28 Feb 2023 18:10:46 +0000 (19:10 +0100)] 
oeqa/selftest/resulttool: fix ptest filtering tests

There are multiple issues with the tests for the ptest fixup mechanism
introduced in c45d58f003e8d8b323169ca9d479dc49c43a9974:
- the feature does not impact regression.can_be_compared but directly the
  comparison step in regression.regression_common
- the "status" field was wrong ("STATUS"), which prevents tests comparison
- there is a typo babeltrace2 ptest result name

Signed-off-by: Alexis Lothoré <alexis.lothore@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agoscripts/resulttool: call fixup_ptest_names in regression_common
Alexis Lothoré [Tue, 28 Feb 2023 18:10:45 +0000 (19:10 +0100)] 
scripts/resulttool: call fixup_ptest_names in regression_common

ptests names not only need to be fixed for regression based on git testresults
but also for testsresults provided "manually"

Move ptests naming fixup in regression_common to share the fixup between both
regression use cases

Signed-off-by: Alexis Lothoré <alexis.lothore@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agodhcpcd: Fix install conflict when enable multilib.
Wang Mingyu [Fri, 10 Mar 2023 07:08:15 +0000 (15:08 +0800)] 
dhcpcd: Fix install conflict when enable multilib.

Error: Transaction test error:
   file /usr/share/man/man8/dhcpcd.8 conflicts between attempted installs of dhcpcd-doc-9.4.1-r0.cortexa57 and lib32-dhcpcd-doc-9.4.1-r0.armv7ahf_neon

The differences between the two files are as follows:
@@ -821,7 +821,7 @@
 If you always use the same options, put them here.
 .It Pa /usr/libexec/dhcpcd-run-hooks
 Bourne shell script that is run to configure or de-configure an interface.
-.It Pa /usr/lib64/dhcpcd/dev
+.It Pa /usr/lib/dhcpcd/dev
 Linux
 .Pa /dev
 management modules.

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2 years agoperf: fix buildpaths QA warning
Bruce Ashfield [Fri, 10 Mar 2023 04:12:37 +0000 (23:12 -0500)] 
perf: fix buildpaths QA warning

In the 6.2+ kernel, arm64 perf has a buildpaths QA warning as
a syscall table is now being dynamically generated. That generated
table includes unistd.h by absolute path, which in turn triggers
the buildpaths QA warning.

This could easily be patched in linux-yocto, but that would
leave the QA issue in perf built from other kernel trees.

So we instead to the following:

 - Add the perf tools directory to the include path
 - Modify the Makefile to have a relative path to unistd.h and
   pass both the relative and absolute path to the generation
   script
 - Modify the generation script to take the relative location
   of unistd.h as a new parameter, and use that in the generated
   sycalls.c file

At build, the added include path of the perf source allows the
relative path file to be included, and no buildpaths warning is
generated.

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2 years agovalgrind: Disable drd/tests/bar_bad ptest
Randy MacLeod [Thu, 9 Mar 2023 21:23:54 +0000 (16:23 -0500)] 
valgrind: Disable drd/tests/bar_bad ptest

This is failing intermettently in the YP autobuilder
so disable it until we can fix the root cause.

[YOCTO #14311]

Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2 years agopopulate_sdk_ext: Handle spaces within user $PATH
Kenfe-Mickael Laventure [Thu, 9 Mar 2023 19:49:22 +0000 (11:49 -0800)] 
populate_sdk_ext: Handle spaces within user $PATH

The script generated by the sdk_ext_postinst function was not quoting
the user existing PATH when updating it causing the export command to
fail.

Add necessary double quotes around $PATH.

Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2 years agotoolchain-scripts: Handle spaces within user $PATH
Kenfe-Mickael Laventure [Thu, 9 Mar 2023 19:49:21 +0000 (11:49 -0800)] 
toolchain-scripts: Handle spaces within user $PATH

The environment-setup script generated by the recipe was not quoting the
user existing PATH when updating it causing the export command to fail.

Add necessary double quotes around $PATH.

Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2 years agobuildtools-tarball: Handle spaces within user $PATH
Kenfe-Mickael Laventure [Thu, 9 Mar 2023 19:49:20 +0000 (11:49 -0800)] 
buildtools-tarball: Handle spaces within user $PATH

The environment-setup script generated by the recipe was not quoting the
user existing PATH when updating it causing the export command to fail.

Add necessary double quotes around $PATH.

Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2 years agoapt: re-enable version check
Alexander Kanavin [Thu, 9 Mar 2023 15:19:58 +0000 (16:19 +0100)] 
apt: re-enable version check

2.6.0 is out and so we can check for latest version again.

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2 years agopiglit: upgrade to latest revision
Alexander Kanavin [Thu, 9 Mar 2023 15:19:57 +0000 (16:19 +0100)] 
piglit: upgrade to latest revision

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2 years agostress-ng: remove obsolete patch
Alexander Kanavin [Thu, 9 Mar 2023 15:19:56 +0000 (16:19 +0100)] 
stress-ng: remove obsolete patch

Upstream has disabled gold support altogether:
https://github.com/ColinIanKing/stress-ng/commit/e65f517917fc682784bfa1b3cb53de3f3263b094

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2 years agobind: upgrade 9.18.11 -> 9.18.12
Alexander Kanavin [Thu, 9 Mar 2023 15:19:55 +0000 (16:19 +0100)] 
bind: upgrade 9.18.11 -> 9.18.12

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2 years agoiproute2: upgrade 6.1.0 -> 6.2.0
Alexander Kanavin [Thu, 9 Mar 2023 15:19:54 +0000 (16:19 +0100)] 
iproute2: upgrade 6.1.0 -> 6.2.0

License-Update: copyright snippet has been dropped from ip.c

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2 years agopuzzles: upgrade to latest revision
Alexander Kanavin [Thu, 9 Mar 2023 15:19:53 +0000 (16:19 +0100)] 
puzzles: upgrade to latest revision

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2 years agolibnotify: upgrade 0.8.1 -> 0.8.2
Alexander Kanavin [Thu, 9 Mar 2023 15:19:52 +0000 (16:19 +0100)] 
libnotify: upgrade 0.8.1 -> 0.8.2

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>