aboutsummaryrefslogtreecommitdiffstats
path: root/meta-oe/recipes-graphics
diff options
context:
space:
mode:
Diffstat (limited to 'meta-oe/recipes-graphics')
-rw-r--r--meta-oe/recipes-graphics/aml/aml_git.bb35
-rw-r--r--meta-oe/recipes-graphics/babl/babl_0.1.28.bb13
-rw-r--r--meta-oe/recipes-graphics/cairo/cairomm-1.16_1.18.0.bb17
-rw-r--r--meta-oe/recipes-graphics/cairo/cairomm_1.12.0.bb15
-rw-r--r--meta-oe/recipes-graphics/cairo/cairomm_1.14.3.bb15
-rw-r--r--meta-oe/recipes-graphics/cglm/cglm_0.9.4.bb25
-rw-r--r--meta-oe/recipes-graphics/deqp-runner/deqp-runner-crates.inc268
-rw-r--r--meta-oe/recipes-graphics/deqp-runner/deqp-runner/0001-deqp-runner-drop-zstd-support.patch172
-rw-r--r--meta-oe/recipes-graphics/deqp-runner/deqp-runner_0.20.0.bb18
-rw-r--r--meta-oe/recipes-graphics/dietsplash/dietsplash/0001-Mimic-GNU-basename-API-for-non-glibc-library-e.g.-mu.patch28
-rw-r--r--meta-oe/recipes-graphics/dietsplash/dietsplash/0001-configure.ac-Do-not-demand-linker-hash-style.patch2
-rw-r--r--meta-oe/recipes-graphics/dietsplash/dietsplash_git.bb16
-rw-r--r--meta-oe/recipes-graphics/directfb/directfb-examples/0001-spacedream-Add-typecast-to-pthread_t-in-assignment.patch39
-rw-r--r--meta-oe/recipes-graphics/directfb/directfb-examples_1.7.0.bb1
-rw-r--r--meta-oe/recipes-graphics/directfb/directfb.inc41
-rw-r--r--meta-oe/recipes-graphics/directfb/directfb/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch139
-rw-r--r--meta-oe/recipes-graphics/directfb/directfb/0001-include-libgen.h-for-basename.patch32
-rw-r--r--meta-oe/recipes-graphics/directfb/directfb/0001-inputdrivers-Correct-the-signature-of-bind-call-on-m.patch36
-rw-r--r--meta-oe/recipes-graphics/directfb/directfb/0001-libdirect-remove-use-of-keyword-register.patch44
-rw-r--r--meta-oe/recipes-graphics/directfb/directfb/0001-os-linux-Fix-build-when-__NR_futex-is-not-available.patch54
-rw-r--r--meta-oe/recipes-graphics/dnfdragora/dnfdragora/0001-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch12
-rw-r--r--meta-oe/recipes-graphics/dnfdragora/dnfdragora/0001-Run-python-scripts-using-env.patch25
-rw-r--r--meta-oe/recipes-graphics/dnfdragora/dnfdragora/0001-To-fix-error-when-do_package.patch15
-rw-r--r--meta-oe/recipes-graphics/dnfdragora/dnfdragora/0001-disable-build-manpages.patch12
-rw-r--r--meta-oe/recipes-graphics/dnfdragora/dnfdragora_2.1.6.bb (renamed from meta-oe/recipes-graphics/dnfdragora/dnfdragora_git.bb)19
-rw-r--r--meta-oe/recipes-graphics/fbgrab/fbgrab_1.5.bb (renamed from meta-oe/recipes-graphics/fbgrab/fbgrab_1.3.bb)14
-rw-r--r--meta-oe/recipes-graphics/fbida/fbida_2.10.bb73
-rw-r--r--meta-oe/recipes-graphics/fbida/fbida_git.bb41
-rw-r--r--meta-oe/recipes-graphics/fbida/files/0001-Avoid-using-host-path.patch34
-rw-r--r--meta-oe/recipes-graphics/fbida/files/0001-fbida-Include-missing-sys-types.h.patch31
-rw-r--r--meta-oe/recipes-graphics/fbida/files/0001-meson.build-install-fbgs-shell-script.patch28
-rw-r--r--meta-oe/recipes-graphics/fbida/files/0001-meson.build-make-fbpdf-build-optional.patch66
-rw-r--r--meta-oe/recipes-graphics/fbida/files/0002-meson.build-add-features-options-for-png-gif-tiff-we.patch124
-rw-r--r--meta-oe/recipes-graphics/fbida/files/0003-meson.build-do-not-require-xkbcommon.patch27
-rw-r--r--meta-oe/recipes-graphics/fbida/files/fbida-gcc10.patch61
-rw-r--r--meta-oe/recipes-graphics/fbida/files/fix-preprocessor.patch22
-rw-r--r--meta-oe/recipes-graphics/fbida/files/support-jpeg-turbo.patch2
-rw-r--r--meta-oe/recipes-graphics/fbida/files/use-jpeg-turbo.patch13
-rw-r--r--meta-oe/recipes-graphics/feh/feh_3.10.3.bb30
-rw-r--r--meta-oe/recipes-graphics/fontforge/fontforge/0001-Fix-Translations-containing-invalid-directives-hs.patch385
-rw-r--r--meta-oe/recipes-graphics/fontforge/fontforge/0001-cmake-Use-alternate-way-to-detect-libm.patch77
-rw-r--r--meta-oe/recipes-graphics/fontforge/fontforge/0001-fontforgeexe-Use-env-to-find-fontforge.patch29
-rw-r--r--meta-oe/recipes-graphics/fontforge/fontforge/0001-include-sys-select-on-non-glibc-platforms.patch24
-rw-r--r--meta-oe/recipes-graphics/fontforge/fontforge_20170731.bb61
-rw-r--r--meta-oe/recipes-graphics/fontforge/fontforge_20230101.bb52
-rw-r--r--meta-oe/recipes-graphics/fontforge/libspiro_20240903.bb17
-rw-r--r--meta-oe/recipes-graphics/freeglut/freeglut_3.0.0.bb17
-rw-r--r--meta-oe/recipes-graphics/freeglut/freeglut_3.4.0.bb30
-rw-r--r--meta-oe/recipes-graphics/ftgl/ftgl/0001-Fix-type-mismatch-with-latest-FreeType.patch33
-rw-r--r--meta-oe/recipes-graphics/ftgl/ftgl_2.4.0.bb20
-rw-r--r--meta-oe/recipes-graphics/fvwm/fvwm/0001-Fix-compilation-for-disabled-gnome.patch36
-rw-r--r--meta-oe/recipes-graphics/fvwm/fvwm/0001-configure-Do-not-require-support-for-implicit-ints.patch45
-rw-r--r--meta-oe/recipes-graphics/fvwm/fvwm/0002-Avoid-absolute-symlinks.patch27
-rw-r--r--meta-oe/recipes-graphics/fvwm/fvwm/0002-acinclude.m4-Add-missing-unistd.h-to-AM_SAFETY_CHECK.patch32
-rw-r--r--meta-oe/recipes-graphics/fvwm/fvwm/0003-configure-Further-defang-the-Werror-check.patch35
-rw-r--r--meta-oe/recipes-graphics/fvwm/fvwm_2.7.0.bb (renamed from meta-oe/recipes-graphics/fvwm/fvwm_2.6.7.bb)53
-rw-r--r--meta-oe/recipes-graphics/gegl/gegl/pkgconfig.patch21
-rw-r--r--meta-oe/recipes-graphics/gegl/gegl_0.3.18.bb34
-rw-r--r--meta-oe/recipes-graphics/gimp/gimp/0001-configure-ac-do-not-check-for-freetype-config.patch38
-rw-r--r--meta-oe/recipes-graphics/gimp/gimp/0003-Fix-use-of-gegl-API.patch34
-rw-r--r--meta-oe/recipes-graphics/gimp/gimp/bump_Babl-GEGL_versions.patch53
-rw-r--r--meta-oe/recipes-graphics/gimp/gimp_2.8.22.bb51
-rw-r--r--meta-oe/recipes-graphics/glm/files/0001-Make-GLM_ENABLE_EXPERIMENTAL-a-configurable-option.patch860
-rw-r--r--meta-oe/recipes-graphics/glm/files/0002-glm-install-headers-only.patch46
-rw-r--r--meta-oe/recipes-graphics/glm/glm/0001-Do-not-use-Werror-with-clang.patch32
-rw-r--r--meta-oe/recipes-graphics/glm/glm/0001-Silence-clang-warnings.patch145
-rw-r--r--meta-oe/recipes-graphics/glm/glm/glm.pc.in7
-rw-r--r--meta-oe/recipes-graphics/glm/glm/glmConfig.cmake.in20
-rw-r--r--meta-oe/recipes-graphics/glm/glm/glmConfigVersion.cmake.in31
-rw-r--r--meta-oe/recipes-graphics/glm/glm/glmTargets.cmake107
-rw-r--r--meta-oe/recipes-graphics/glm/glm_0.9.9-a2.bb26
-rw-r--r--meta-oe/recipes-graphics/glm/glm_0.9.9.8.bb41
-rw-r--r--meta-oe/recipes-graphics/gphoto2/gphoto2/0001-Match-prototypes-of-callbacks-with-libgphoto.patch50
-rw-r--r--meta-oe/recipes-graphics/gphoto2/gphoto2/0001-configure.ac-remove-AM_PO_SUBDIRS.patch15
-rw-r--r--meta-oe/recipes-graphics/gphoto2/gphoto2/0001-gphoto2-Use-pthread_t-abstract-type-for-thead-IDs.patch39
-rw-r--r--meta-oe/recipes-graphics/gphoto2/gphoto2/0002-Look-for-popt-with-GP_CHECK_LIBRARY-function.patch32
-rw-r--r--meta-oe/recipes-graphics/gphoto2/gphoto2_2.5.28.bb (renamed from meta-oe/recipes-graphics/gphoto2/gphoto2_2.5.14.bb)16
-rw-r--r--meta-oe/recipes-graphics/gphoto2/libgphoto2/0001-configure-Filter-out-buildpaths-from-CC.patch48
-rw-r--r--meta-oe/recipes-graphics/gphoto2/libgphoto2/0001-configure.ac-remove-AM_PO_SUBDIRS.patch33
-rw-r--r--meta-oe/recipes-graphics/gphoto2/libgphoto2/10-camera-libgphoto2-device.fdi9533
-rw-r--r--meta-oe/recipes-graphics/gphoto2/libgphoto2/10-camera-libgphoto2.fdi19018
-rw-r--r--meta-oe/recipes-graphics/gphoto2/libgphoto2/fix-build-with-gcc-14.patch36
-rw-r--r--meta-oe/recipes-graphics/gphoto2/libgphoto2_2.5.31.bb (renamed from meta-oe/recipes-graphics/gphoto2/libgphoto2_2.5.17.bb)40
-rw-r--r--meta-oe/recipes-graphics/graphviz/graphviz/0001-Autotools-fix-do-not-put-prefix-based-paths-in-compi.patch58
-rw-r--r--meta-oe/recipes-graphics/graphviz/graphviz/0001-Set-use_tcl-to-be-empty-string-if-tcl-is-disabled.patch33
-rw-r--r--meta-oe/recipes-graphics/graphviz/graphviz/graphviz-setup.sh6
-rw-r--r--meta-oe/recipes-graphics/graphviz/graphviz_8.1.0.bb124
-rw-r--r--meta-oe/recipes-graphics/gtkperf/gtkperf/0001-Include-stdlib.h-for-exit-API.patch2
-rw-r--r--meta-oe/recipes-graphics/gtkperf/gtkperf/0001-main.c-Define-prototype-for-setup_appdata.patch27
-rw-r--r--meta-oe/recipes-graphics/gtkperf/gtkperf/0002-timing.c-Fix-format-security-errors.patch2
-rw-r--r--meta-oe/recipes-graphics/gtkperf/gtkperf/gettext.patch36
-rw-r--r--meta-oe/recipes-graphics/gtkperf/gtkperf_0.40.bb17
-rw-r--r--meta-oe/recipes-graphics/gtkwave/gtkwave_3.3.120.bb44
-rw-r--r--meta-oe/recipes-graphics/imlib2/imlib2_git.bb38
-rw-r--r--meta-oe/recipes-graphics/jasper/jasper_1.900.1.bb18
-rw-r--r--meta-oe/recipes-graphics/jasper/jasper_4.1.1.bb34
-rw-r--r--meta-oe/recipes-graphics/leptonica/leptonica_1.84.1.bb (renamed from meta-oe/recipes-graphics/leptonica/leptonica_1.74.4.bb)10
-rw-r--r--meta-oe/recipes-graphics/libdecor/libdecor_0.2.2.bb31
-rw-r--r--meta-oe/recipes-graphics/libforms/files/0001-Make-extern-declarations-in-header-file.patch31
-rw-r--r--meta-oe/recipes-graphics/libforms/files/0001-Modify-include-dir.patch33
-rw-r--r--meta-oe/recipes-graphics/libforms/files/add-absolute-path-for-include-dir.patch14
-rw-r--r--meta-oe/recipes-graphics/libforms/files/fix-link-to-xforms-man.patch14
-rw-r--r--meta-oe/recipes-graphics/libforms/files/fix-path-fdesign_LDADD.patch14
-rw-r--r--meta-oe/recipes-graphics/libforms/libforms_1.2.5pre1.bb31
-rw-r--r--meta-oe/recipes-graphics/libglvnd/libglvnd_1.7.0.bb30
-rw-r--r--meta-oe/recipes-graphics/libmng/libmng_2.0.3.bb3
-rw-r--r--meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/0001-build-Pass-tag-CC-explictly-when-using-libtool.patch73
-rw-r--r--meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/0001-stdlib-Make-iconv-use-portable-across-glibc-musl.patch52
-rw-r--r--meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-13616.patch29
-rw-r--r--meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7572.patch114
-rw-r--r--meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7574.patch68
-rw-r--r--meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7575.patch81
-rw-r--r--meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7576.patch80
-rw-r--r--meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7577.patch118
-rw-r--r--meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7578.patch64
-rw-r--r--meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7635.patch63
-rw-r--r--meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7637.patch192
-rw-r--r--meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7638.patch38
-rw-r--r--meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2022-34568.patch28
-rw-r--r--meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/libsdl-1.2.15-xdata32.patch19
-rw-r--r--meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/pkgconfig.patch187
-rw-r--r--meta-oe/recipes-graphics/libsdl/libsdl-gfx_2.0.27.bb (renamed from meta-oe/recipes-graphics/libsdl/libsdl-gfx_2.0.25.bb)7
-rw-r--r--meta-oe/recipes-graphics/libsdl/libsdl-image/0001-png-img-Fix-prototypes-of-callbacks.patch52
-rw-r--r--meta-oe/recipes-graphics/libsdl/libsdl-image/configure.patch2
-rw-r--r--meta-oe/recipes-graphics/libsdl/libsdl-image_1.2.12.bb6
-rw-r--r--meta-oe/recipes-graphics/libsdl/libsdl-mixer/configure.patch2
-rw-r--r--meta-oe/recipes-graphics/libsdl/libsdl-mixer_1.2.12.bb2
-rw-r--r--meta-oe/recipes-graphics/libsdl/libsdl-net/am_foreign.patch2
-rw-r--r--meta-oe/recipes-graphics/libsdl/libsdl-net/libtool2.patch2
-rw-r--r--meta-oe/recipes-graphics/libsdl/libsdl-net_1.2.8.bb2
-rw-r--r--meta-oe/recipes-graphics/libsdl/libsdl-ttf/use.pkg-config.for.freetype2.patch2
-rw-r--r--meta-oe/recipes-graphics/libsdl/libsdl-ttf_2.0.11.bb4
-rw-r--r--meta-oe/recipes-graphics/libsdl/libsdl2-image_2.8.2.bb (renamed from meta-oe/recipes-graphics/libsdl/libsdl2-image_2.0.3.bb)9
-rw-r--r--meta-oe/recipes-graphics/libsdl/libsdl2-mixer/0001-configure.in-Undefine-AC_CONFIG_AUX_DIR.patch34
-rw-r--r--meta-oe/recipes-graphics/libsdl/libsdl2-mixer_2.0.4.bb (renamed from meta-oe/recipes-graphics/libsdl/libsdl2-mixer_2.0.2.bb)18
-rw-r--r--meta-oe/recipes-graphics/libsdl/libsdl2-net_2.0.1.bb4
-rw-r--r--meta-oe/recipes-graphics/libsdl/libsdl2-ttf/0001-freetype-Fix-function-signatures-to-match-without-ca.patch69
-rw-r--r--meta-oe/recipes-graphics/libsdl/libsdl2-ttf/automake_foreign.patch8
-rw-r--r--meta-oe/recipes-graphics/libsdl/libsdl2-ttf/use.pkg-config.for.freetype2.patch62
-rw-r--r--meta-oe/recipes-graphics/libsdl/libsdl2-ttf_2.0.14.bb30
-rw-r--r--meta-oe/recipes-graphics/libsdl/libsdl2-ttf_2.20.2.bb35
-rw-r--r--meta-oe/recipes-graphics/libsdl/libsdl_1.2.15.bb85
-rw-r--r--meta-oe/recipes-graphics/libvncserver/libvncserver_0.9.14.bb56
-rw-r--r--meta-oe/recipes-graphics/libvncserver/libvncserver_git.bb23
-rw-r--r--meta-oe/recipes-graphics/libyui/libyui-ncurses/0001-Fix-the-error-of-can-t-find-header-file.patch22
-rw-r--r--meta-oe/recipes-graphics/libyui/libyui-ncurses/0001-Use-override-consistently.patch147
-rw-r--r--meta-oe/recipes-graphics/libyui/libyui-ncurses/0002-Define-own-resize-in-NCPad-and-fix-param-type-of-Set.patch49
-rw-r--r--meta-oe/recipes-graphics/libyui/libyui-ncurses/0003-Simplify-ncurses-finding-module.patch35
-rw-r--r--meta-oe/recipes-graphics/libyui/libyui-ncurses_4.6.2.bb56
-rw-r--r--meta-oe/recipes-graphics/libyui/libyui-ncurses_git.bb51
-rw-r--r--meta-oe/recipes-graphics/libyui/libyui/0001-Fix-build-with-clang.patch106
-rw-r--r--meta-oe/recipes-graphics/libyui/libyui/0001-Use-curly-braces-for-MAKE-variable.patch32
-rw-r--r--meta-oe/recipes-graphics/libyui/libyui/0001-Use-relative-install-paths-for-CMake.patch8
-rw-r--r--meta-oe/recipes-graphics/libyui/libyui_4.6.2.bb37
-rw-r--r--meta-oe/recipes-graphics/libyui/libyui_git.bb42
-rw-r--r--meta-oe/recipes-graphics/lvgl/files/0002-fix-sdl-handle-both-LV_IMAGE_SRC_FILE-and-LV_IMAGE_S.patch63
-rw-r--r--meta-oe/recipes-graphics/lvgl/files/0003-Make-fbdev-device-node-runtime-configurable-via-envi.patch45
-rw-r--r--meta-oe/recipes-graphics/lvgl/files/0004-Factor-out-fbdev-initialization-code.patch52
-rw-r--r--meta-oe/recipes-graphics/lvgl/files/0005-Add-DRM-KMS-example-support.patch59
-rw-r--r--meta-oe/recipes-graphics/lvgl/files/0006-Add-SDL2-example-support.patch69
-rw-r--r--meta-oe/recipes-graphics/lvgl/files/0007-fix-cmake-generate-versioned-shared-libraries.patch68
-rw-r--r--meta-oe/recipes-graphics/lvgl/files/0008-fix-fbdev-set-resolution-prior-to-buffer.patch29
-rw-r--r--meta-oe/recipes-graphics/lvgl/lv-conf.inc81
-rw-r--r--meta-oe/recipes-graphics/lvgl/lvgl-demo-fb_9.1.0.bb45
-rw-r--r--meta-oe/recipes-graphics/lvgl/lvgl_9.1.0.bb28
-rw-r--r--meta-oe/recipes-graphics/lxdm/lxdm/0001-Initialize-msghdr-struct-in-a-portable-way.patch40
-rw-r--r--meta-oe/recipes-graphics/lxdm/lxdm/0001-greeter-set-visible-when-switch-to-input-user.patch33
-rw-r--r--meta-oe/recipes-graphics/lxdm/lxdm/0001-systemd-lxdm.service-remove-plymouth-quit-conflicts.patch38
-rw-r--r--meta-oe/recipes-graphics/lxdm/lxdm/0002-greeter-gdk.c-fix-typo.patch28
-rw-r--r--meta-oe/recipes-graphics/lxdm/lxdm/0002-let-autotools-create-lxdm.conf.patch4
-rw-r--r--meta-oe/recipes-graphics/lxdm/lxdm/0003-check-for-libexecinfo-providing-backtrace-APIs.patch2
-rw-r--r--meta-oe/recipes-graphics/lxdm/lxdm/0003-check-whether-password-expired-with-pam.patch46
-rw-r--r--meta-oe/recipes-graphics/lxdm/lxdm/0004-fix-css-under-gtk-3.20.patch4
-rw-r--r--meta-oe/recipes-graphics/lxdm/lxdm/0004-lxdm.c-add-function-to-change-password-with-pam.patch124
-rw-r--r--meta-oe/recipes-graphics/lxdm/lxdm/0005-ui.c-handle-password-expire-and-update-new-password.patch53
-rw-r--r--meta-oe/recipes-graphics/lxdm/lxdm/0006-themes-Industrial-add-info-label-in-ui.patch124
-rw-r--r--meta-oe/recipes-graphics/lxdm/lxdm/0007-greeter.c-support-to-update-expired-password.patch180
-rw-r--r--meta-oe/recipes-graphics/lxdm/lxdm/0008-greeter.c-show-information-on-gtk-label-info.patch99
-rw-r--r--meta-oe/recipes-graphics/lxdm/lxdm/0009-greeter.c-disallow-empty-new-password.patch53
-rw-r--r--meta-oe/recipes-graphics/lxdm/lxdm_0.5.3.bb43
-rw-r--r--meta-oe/recipes-graphics/neatvnc/neatvnc_0.8.1.bb38
-rw-r--r--meta-oe/recipes-graphics/numlockx/numlockx_1.2.bb6
-rw-r--r--meta-oe/recipes-graphics/nyancat/nyancat_1.5.2.bb17
-rw-r--r--meta-oe/recipes-graphics/openbox/files/0001-Fix-function-protype-visibility.patch94
-rw-r--r--meta-oe/recipes-graphics/openbox/files/0001-Fix-list-traversal-issue-in-client_calc_layer.patch56
-rw-r--r--meta-oe/recipes-graphics/openbox/files/0001-openbox-xdg-autostart-convert-to-python3.patch138
-rw-r--r--meta-oe/recipes-graphics/openbox/obconf_git.bb33
-rw-r--r--meta-oe/recipes-graphics/openbox/openbox_3.6.1.bb25
-rw-r--r--meta-oe/recipes-graphics/openjpeg/openjpeg/0001-Do-not-ask-cmake-to-export-binaries-they-don-t-make-.patch (renamed from meta-oe/recipes-graphics/openjpeg/openjpeg/0002-Do-not-ask-cmake-to-export-binaries-they-don-t-make-.patch)10
-rw-r--r--meta-oe/recipes-graphics/openjpeg/openjpeg/0001-Ensure-cmake-files-are-installed-at-common-location.patch48
-rw-r--r--meta-oe/recipes-graphics/openjpeg/openjpeg_2.3.0.bb16
-rw-r--r--meta-oe/recipes-graphics/openjpeg/openjpeg_2.5.2.bb21
-rw-r--r--meta-oe/recipes-graphics/packagegroups/packagegroup-fonts-truetype.bb9
-rw-r--r--meta-oe/recipes-graphics/pango/pangomm-2.48_2.52.0.bb19
-rw-r--r--meta-oe/recipes-graphics/pango/pangomm_2.42.0.bb23
-rw-r--r--meta-oe/recipes-graphics/pango/pangomm_2.46.2.bb18
-rw-r--r--meta-oe/recipes-graphics/parallel-deqp-runner/parallel-deqp-runner/0001-memmove-and-memchr-are-C-APIs-not-C-std-namespace.patch45
-rw-r--r--meta-oe/recipes-graphics/parallel-deqp-runner/parallel-deqp-runner/0001-meson.build-WORKAROUND-Remove-vulkan-dependency.patch44
-rw-r--r--meta-oe/recipes-graphics/parallel-deqp-runner/parallel-deqp-runner_git.bb15
-rw-r--r--meta-oe/recipes-graphics/qrencode/qrencode_4.1.1.bb19
-rw-r--r--meta-oe/recipes-graphics/qrencode/qrencode_git.bb16
-rw-r--r--meta-oe/recipes-graphics/renderdoc/renderdoc/0001-jpeg-compressor-Reorder-stdio.h-include-location.patch43
-rw-r--r--meta-oe/recipes-graphics/renderdoc/renderdoc_1.33.bb39
-rw-r--r--meta-oe/recipes-graphics/spir/spirv-shader-generator_git.bb14
-rw-r--r--meta-oe/recipes-graphics/stalonetray/stalonetray_0.8.3.bb18
-rw-r--r--meta-oe/recipes-graphics/suckless/st_0.9.2.bb37
-rw-r--r--meta-oe/recipes-graphics/surf/surf/0001-config.mk-Fix-compiler-and-linker.patch30
-rw-r--r--meta-oe/recipes-graphics/surf/surf/0001-config.ml-make-compatible-with-webkitgtk-2.34.0.patch42
-rw-r--r--meta-oe/recipes-graphics/surf/surf_2.1.bb31
-rw-r--r--meta-oe/recipes-graphics/terminus-font/terminus-font/use-no-name-option-for-gzip.patch66
-rw-r--r--meta-oe/recipes-graphics/terminus-font/terminus-font_4.49.1.bb (renamed from meta-oe/recipes-graphics/terminus-font/terminus-font_4.38.bb)21
-rw-r--r--meta-oe/recipes-graphics/tesseract/tesseract-lang_4.1.0.bb26
-rw-r--r--meta-oe/recipes-graphics/tesseract/tesseract-lang_git.bb26
-rw-r--r--meta-oe/recipes-graphics/tesseract/tesseract_5.4.1.bb21
-rw-r--r--meta-oe/recipes-graphics/tesseract/tesseract_git.bb21
-rw-r--r--meta-oe/recipes-graphics/tigervnc/files/0001-tigervnc-remove-includedir.patch50
-rw-r--r--meta-oe/recipes-graphics/tigervnc/files/0002-do-not-build-tests-sub-directory.patch21
-rw-r--r--meta-oe/recipes-graphics/tigervnc/files/0004-tigervnc-add-fPIC-option-to-COMPILE_FLAGS.patch36
-rw-r--r--meta-oe/recipes-graphics/tigervnc/tigervnc_1.11.0.bb (renamed from meta-oe/recipes-graphics/tigervnc/tigervnc_1.9.0.bb)40
-rw-r--r--meta-oe/recipes-graphics/tslib/tslib_1.23.bb (renamed from meta-oe/recipes-graphics/tslib/tslib_1.16.bb)50
-rw-r--r--meta-oe/recipes-graphics/ttf-fonts/source-code-pro-fonts/44-source-code-pro-fonts-fontconfig.conf17
-rw-r--r--meta-oe/recipes-graphics/ttf-fonts/source-code-pro-fonts_2.030_1.050.bb32
-rw-r--r--meta-oe/recipes-graphics/ttf-fonts/source-han-sans-cn-fonts/44-source-han-sans-cn-fonts.conf (renamed from meta-oe/recipes-graphics/ttf-fonts/source-han-sans-cn-fonts/44-source-han-sans-cn.conf)0
-rw-r--r--meta-oe/recipes-graphics/ttf-fonts/source-han-sans-cn-fonts_1.004.bb34
-rw-r--r--meta-oe/recipes-graphics/ttf-fonts/source-han-sans-cn-fonts_2.004.bb6
-rw-r--r--meta-oe/recipes-graphics/ttf-fonts/source-han-sans-fonts.inc26
-rw-r--r--meta-oe/recipes-graphics/ttf-fonts/source-han-sans-jp-fonts/44-source-han-sans-jp-fonts.conf (renamed from meta-oe/recipes-graphics/ttf-fonts/source-han-sans-jp-fonts/44-source-han-sans-jp.conf)0
-rw-r--r--meta-oe/recipes-graphics/ttf-fonts/source-han-sans-jp-fonts_1.004.bb34
-rw-r--r--meta-oe/recipes-graphics/ttf-fonts/source-han-sans-jp-fonts_2.004.bb6
-rw-r--r--meta-oe/recipes-graphics/ttf-fonts/source-han-sans-kr-fonts/44-source-han-sans-kr-fonts.conf (renamed from meta-oe/recipes-graphics/ttf-fonts/source-han-sans-kr-fonts/44-source-han-sans-kr.conf)0
-rw-r--r--meta-oe/recipes-graphics/ttf-fonts/source-han-sans-kr-fonts_1.004.bb34
-rw-r--r--meta-oe/recipes-graphics/ttf-fonts/source-han-sans-kr-fonts_2.004.bb6
-rw-r--r--meta-oe/recipes-graphics/ttf-fonts/source-han-sans-tw-fonts/44-source-han-sans-tw-fonts.conf (renamed from meta-oe/recipes-graphics/ttf-fonts/source-han-sans-tw-fonts/44-source-han-sans-tw.conf)0
-rw-r--r--meta-oe/recipes-graphics/ttf-fonts/source-han-sans-tw-fonts_1.004.bb34
-rw-r--r--meta-oe/recipes-graphics/ttf-fonts/source-han-sans-tw-fonts_2.004.bb6
-rw-r--r--meta-oe/recipes-graphics/ttf-fonts/ttf-abyssinica_2.201.bb (renamed from meta-oe/recipes-graphics/ttf-fonts/ttf-abyssinica_1.500.bb)10
-rw-r--r--meta-oe/recipes-graphics/ttf-fonts/ttf-arphic-uming_20080216.bb16
-rw-r--r--meta-oe/recipes-graphics/ttf-fonts/ttf-dejavu_2.37.bb41
-rw-r--r--meta-oe/recipes-graphics/ttf-fonts/ttf-droid_git.bb23
-rw-r--r--meta-oe/recipes-graphics/ttf-fonts/ttf-gentium_1.02.bb11
-rw-r--r--meta-oe/recipes-graphics/ttf-fonts/ttf-google-fira.bb62
-rw-r--r--meta-oe/recipes-graphics/ttf-fonts/ttf-hunkyfonts_0.3.0.bb20
-rw-r--r--meta-oe/recipes-graphics/ttf-fonts/ttf-hunkyfonts_0.3.1.bb19
-rw-r--r--meta-oe/recipes-graphics/ttf-fonts/ttf-inconsolata_20100526.bb13
-rw-r--r--meta-oe/recipes-graphics/ttf-fonts/ttf-ipa_003.03.01.bb21
-rw-r--r--meta-oe/recipes-graphics/ttf-fonts/ttf-liberation-sans-narrow_1.07.4.bb10
-rw-r--r--meta-oe/recipes-graphics/ttf-fonts/ttf-liberation_0.2.bb9
-rw-r--r--meta-oe/recipes-graphics/ttf-fonts/ttf-lklug_0.6-14.20090803cvs.fc24.bb12
-rw-r--r--meta-oe/recipes-graphics/ttf-fonts/ttf-lohit_2.92.1.bb (renamed from meta-oe/recipes-graphics/ttf-fonts/ttf-lohit_2.bb)8
-rw-r--r--meta-oe/recipes-graphics/ttf-fonts/ttf-mplus_027.bb10
-rw-r--r--meta-oe/recipes-graphics/ttf-fonts/ttf-noto-emoji_20200916.bb19
-rw-r--r--meta-oe/recipes-graphics/ttf-fonts/ttf-pt-sans_1.1.bb9
-rw-r--r--meta-oe/recipes-graphics/ttf-fonts/ttf-roboto_2.138.bb15
-rw-r--r--meta-oe/recipes-graphics/ttf-fonts/ttf-sazanami_20040629.bb16
-rw-r--r--meta-oe/recipes-graphics/ttf-fonts/ttf-takao_003.03.01.bb (renamed from meta-oe/recipes-graphics/takao-fonts/takao-fonts_003.03.01.bb)18
-rw-r--r--meta-oe/recipes-graphics/ttf-fonts/ttf-tlwg_0.6.1.bb9
-rw-r--r--meta-oe/recipes-graphics/ttf-fonts/ttf-ubuntu-font-family_0.80.bb20
-rw-r--r--meta-oe/recipes-graphics/ttf-fonts/ttf-ubuntu-font-family_0.83.bb25
-rw-r--r--meta-oe/recipes-graphics/ttf-fonts/ttf-vlgothic_20200720.bb (renamed from meta-oe/recipes-graphics/ttf-fonts/ttf-vlgothic_20141206.bb)12
-rw-r--r--meta-oe/recipes-graphics/ttf-fonts/ttf-wqy-zenhei_0.9.45.bb10
-rw-r--r--meta-oe/recipes-graphics/unclutter-xfixes/unclutter-xfixes/0001-build-use-autotools.patch238
-rw-r--r--meta-oe/recipes-graphics/unclutter-xfixes/unclutter-xfixes_1.6.bb22
-rw-r--r--meta-oe/recipes-graphics/vdpau/libvdpau_1.5.bb25
-rw-r--r--meta-oe/recipes-graphics/vdpau/libvdpau_git.bb25
-rw-r--r--meta-oe/recipes-graphics/vdpau/vdpauinfo_1.5.bb20
-rw-r--r--meta-oe/recipes-graphics/vk-gl-cts/files/0001-cmake-Define-WAYLAND_SCANNER-and-WAYLAND_PROTOCOLS_D.patch29
-rw-r--r--meta-oe/recipes-graphics/vk-gl-cts/files/0001-use-library-sonames-for-linking.patch123
-rw-r--r--meta-oe/recipes-graphics/vk-gl-cts/files/fix-clang-private-operator.patch15
-rw-r--r--meta-oe/recipes-graphics/vk-gl-cts/files/fix-musl.patch22
-rw-r--r--meta-oe/recipes-graphics/vk-gl-cts/khronos-cts.inc90
-rw-r--r--meta-oe/recipes-graphics/vk-gl-cts/opengl-es-cts_3.2.11.0.bb34
-rw-r--r--meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts_1.3.9.2.bb32
-rw-r--r--meta-oe/recipes-graphics/wayland/libei_1.3.0.bb25
-rw-r--r--meta-oe/recipes-graphics/wayland/waylandpp/0001-include-missing-cstdint.patch59
-rw-r--r--meta-oe/recipes-graphics/wayland/waylandpp_1.0.0.bb45
-rw-r--r--meta-oe/recipes-graphics/x11vnc/files/CVE-2020-29074.patch27
-rw-r--r--meta-oe/recipes-graphics/x11vnc/files/endian-fix.patch24
-rw-r--r--meta-oe/recipes-graphics/x11vnc/files/remove-redundant-RPATH.patch86
-rw-r--r--meta-oe/recipes-graphics/x11vnc/files/starting-fix.patch6
-rw-r--r--meta-oe/recipes-graphics/x11vnc/x11vnc_0.9.13.bb34
-rw-r--r--meta-oe/recipes-graphics/x11vnc/x11vnc_0.9.16.bb40
-rw-r--r--meta-oe/recipes-graphics/xbindkeys/xbindkeys_1.8.7.bb18
-rw-r--r--meta-oe/recipes-graphics/xcursorgen/xcursorgen_1.0.8.bb (renamed from meta-oe/recipes-graphics/xcursorgen/xcursorgen_1.0.5.bb)7
-rw-r--r--meta-oe/recipes-graphics/xdotool/xdotool_1.20100416.2809.bb23
-rw-r--r--meta-oe/recipes-graphics/xdotool/xdotool_3.20211022.1.bb22
-rw-r--r--meta-oe/recipes-graphics/xorg-app/iceauth_1.0.10.bb (renamed from meta-oe/recipes-graphics/xorg-app/iceauth_1.0.8.bb)4
-rw-r--r--meta-oe/recipes-graphics/xorg-app/sessreg/0001-Makefile.am-Error-Fix.patch4
-rw-r--r--meta-oe/recipes-graphics/xorg-app/sessreg_1.1.3.bb (renamed from meta-oe/recipes-graphics/xorg-app/sessreg_1.1.1.bb)6
-rw-r--r--meta-oe/recipes-graphics/xorg-app/setxkbmap_1.3.4.bb (renamed from meta-oe/recipes-graphics/xorg-app/setxkbmap_1.3.1.bb)6
-rw-r--r--meta-oe/recipes-graphics/xorg-app/twm_1.0.12.bb (renamed from meta-oe/recipes-graphics/xorg-app/twm_1.0.9.bb)6
-rw-r--r--meta-oe/recipes-graphics/xorg-app/xclock_1.1.1.bb (renamed from meta-oe/recipes-graphics/xorg-app/xclock_1.0.5.bb)5
-rw-r--r--meta-oe/recipes-graphics/xorg-app/xfontsel_1.1.0.bb (renamed from meta-oe/recipes-graphics/xorg-app/xfontsel_1.0.5.bb)4
-rw-r--r--meta-oe/recipes-graphics/xorg-app/xgamma_1.0.7.bb (renamed from meta-oe/recipes-graphics/xorg-app/xgamma_1.0.6.bb)4
-rw-r--r--meta-oe/recipes-graphics/xorg-app/xkbevd_1.1.5.bb (renamed from meta-oe/recipes-graphics/xorg-app/xkbevd_1.1.4.bb)4
-rw-r--r--meta-oe/recipes-graphics/xorg-app/xkbprint_1.0.6.bb (renamed from meta-oe/recipes-graphics/xorg-app/xkbprint_1.0.4.bb)4
-rw-r--r--meta-oe/recipes-graphics/xorg-app/xkbutils_1.0.6.bb (renamed from meta-oe/recipes-graphics/xorg-app/xkbutils_1.0.4.bb)8
-rw-r--r--meta-oe/recipes-graphics/xorg-app/xlsatoms_1.1.4.bb (renamed from meta-oe/recipes-graphics/xorg-app/xlsatoms_1.1.2.bb)4
-rw-r--r--meta-oe/recipes-graphics/xorg-app/xlsclients_1.1.5.bb (renamed from meta-oe/recipes-graphics/xorg-app/xlsclients_1.1.4.bb)4
-rw-r--r--meta-oe/recipes-graphics/xorg-app/xlsfonts_1.0.8.bb (renamed from meta-oe/recipes-graphics/xorg-app/xlsfonts_1.0.6.bb)4
-rw-r--r--meta-oe/recipes-graphics/xorg-app/xmag_1.0.7.bb (renamed from meta-oe/recipes-graphics/xorg-app/xmag_1.0.5.bb)4
-rw-r--r--meta-oe/recipes-graphics/xorg-app/xmessage_1.0.7.bb (renamed from meta-oe/recipes-graphics/xorg-app/xmessage_1.0.4.bb)4
-rw-r--r--meta-oe/recipes-graphics/xorg-app/xrdb_1.2.2.bb (renamed from meta-oe/recipes-graphics/xorg-app/xrdb_1.1.1.bb)6
-rw-r--r--meta-oe/recipes-graphics/xorg-app/xrefresh_1.1.0.bb (renamed from meta-oe/recipes-graphics/xorg-app/xrefresh_1.0.5.bb)4
-rw-r--r--meta-oe/recipes-graphics/xorg-app/xsetmode_1.0.0.bb15
-rw-r--r--meta-oe/recipes-graphics/xorg-app/xsetroot_1.1.3.bb (renamed from meta-oe/recipes-graphics/xorg-app/xsetroot_1.1.1.bb)7
-rw-r--r--meta-oe/recipes-graphics/xorg-app/xstdcmap_1.0.5.bb (renamed from meta-oe/recipes-graphics/xorg-app/xstdcmap_1.0.3.bb)4
-rw-r--r--meta-oe/recipes-graphics/xorg-app/xterm/0001-include-missing-pty.h-header-for-openpty.patch30
-rw-r--r--meta-oe/recipes-graphics/xorg-app/xterm_330.bb34
-rw-r--r--meta-oe/recipes-graphics/xorg-app/xterm_394.bb51
-rw-r--r--meta-oe/recipes-graphics/xorg-app/xwd_1.0.9.bb (renamed from meta-oe/recipes-graphics/xorg-app/xwd_1.0.6.bb)4
-rw-r--r--meta-oe/recipes-graphics/xorg-app/xwud_1.0.6.bb (renamed from meta-oe/recipes-graphics/xorg-app/xwud_1.0.5.bb)4
-rw-r--r--meta-oe/recipes-graphics/xorg-data/xbitmaps_1.1.1.bb11
-rw-r--r--meta-oe/recipes-graphics/xorg-data/xbitmaps_1.1.3.bb7
-rw-r--r--meta-oe/recipes-graphics/xorg-data/xcursor-themes_1.0.7.bb11
-rw-r--r--meta-oe/recipes-graphics/xorg-data/xorg-data-common.inc10
-rw-r--r--meta-oe/recipes-graphics/xorg-doc/xorg-doc-common.inc11
-rw-r--r--meta-oe/recipes-graphics/xorg-doc/xorg-docs_1.7.2.bb7
-rw-r--r--meta-oe/recipes-graphics/xorg-doc/xorg-sgml-doctools_1.12.bb11
-rw-r--r--meta-oe/recipes-graphics/xorg-doc/xorg-sgml-doctools_1.7.bb12
-rw-r--r--meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/10-x11-input-tslib.fdi11
-rw-r--r--meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/double-free-crash.patch20
-rw-r--r--meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/xf86-input-tslib-0.0.6-xf86XInputSetScreen.patch31
-rw-r--r--meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/xf86-input-tslib-port-ABI-12-r48.patch196
-rw-r--r--meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/xserver-174-XGetPointerControl.patch34
-rw-r--r--meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib_0.0.6.bb35
-rw-r--r--meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib_1.1.1.bb22
-rw-r--r--meta-oe/recipes-graphics/xorg-driver/xf86-input-void_1.4.2.bb (renamed from meta-oe/recipes-graphics/xorg-driver/xf86-input-void_1.4.1.bb)5
-rw-r--r--meta-oe/recipes-graphics/xorg-driver/xf86-video-amdgpu_23.0.0.bb23
-rw-r--r--meta-oe/recipes-graphics/xorg-driver/xf86-video-armsoc_1.4.1.bb6
-rw-r--r--meta-oe/recipes-graphics/xorg-driver/xf86-video-ati_18.0.1.bb25
-rw-r--r--meta-oe/recipes-graphics/xorg-driver/xf86-video-ati_22.0.0.bb33
-rw-r--r--meta-oe/recipes-graphics/xorg-driver/xf86-video-mga/checkfile.patch68
-rw-r--r--meta-oe/recipes-graphics/xorg-driver/xf86-video-mga_2.0.1.bb (renamed from meta-oe/recipes-graphics/xorg-driver/xf86-video-mga_1.6.5.bb)10
-rw-r--r--meta-oe/recipes-graphics/xorg-driver/xf86-video-nouveau/0001-nouveau-fixup-driver-for-new-X-server-ABI.patch66
-rw-r--r--meta-oe/recipes-graphics/xorg-driver/xf86-video-nouveau_1.0.17.bb (renamed from meta-oe/recipes-graphics/xorg-driver/xf86-video-nouveau_1.0.15.bb)9
-rw-r--r--meta-oe/recipes-graphics/xorg-font/font-adobe-100dpi_1.0.3.bb8
-rw-r--r--meta-oe/recipes-graphics/xorg-font/font-adobe-utopia-100dpi_1.0.4.bb8
-rw-r--r--meta-oe/recipes-graphics/xorg-font/font-bh-100dpi_1.0.3.bb8
-rw-r--r--meta-oe/recipes-graphics/xorg-font/font-bh-lucidatypewriter-100dpi_1.0.3.bb8
-rw-r--r--meta-oe/recipes-graphics/xorg-font/font-bitstream-100dpi_1.0.3.bb8
-rw-r--r--meta-oe/recipes-graphics/xorg-font/font-cursor-misc_1.0.3.bb4
-rw-r--r--meta-oe/recipes-graphics/xorg-font/font-misc-misc_1.1.2.bb4
-rw-r--r--meta-oe/recipes-graphics/xorg-font/xorg-fonts-100dpi.bb6
-rw-r--r--meta-oe/recipes-graphics/xorg-lib/liblbxutil-1.1.0/mkg3states-1.1.patch55
-rw-r--r--meta-oe/recipes-graphics/xorg-lib/liblbxutil_1.1.0.bb14
-rw-r--r--meta-oe/recipes-graphics/xorg-lib/libxaw_1.0.16.bb (renamed from meta-oe/recipes-graphics/xorg-lib/libxaw_1.0.13.bb)18
-rw-r--r--meta-oe/recipes-graphics/xorg-lib/libxkbui_1.0.2.bb10
-rw-r--r--meta-oe/recipes-graphics/xorg-lib/libxpresent_1.0.1.bb (renamed from meta-oe/recipes-graphics/xorg-lib/libxpresent_1.0.0.bb)7
-rw-r--r--meta-oe/recipes-graphics/xscreensaver/files/0001-Tweak-app-defaults.patch (renamed from meta-oe/recipes-graphics/xscreensaver/files/tweak-app-defaults.patch)59
-rw-r--r--meta-oe/recipes-graphics/xscreensaver/files/0001-configure-Ignore-CONF_STATUS-for-gtk-and-openGL-need.patch47
-rw-r--r--meta-oe/recipes-graphics/xscreensaver/files/0002-build-Do-not-build-po-files.patch53
-rw-r--r--meta-oe/recipes-graphics/xscreensaver/files/fix-buildscripts.patch116
-rw-r--r--meta-oe/recipes-graphics/xscreensaver/xscreensaver_5.39.bb33
-rw-r--r--meta-oe/recipes-graphics/xscreensaver/xscreensaver_6.04.bb64
-rw-r--r--meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0001-COPYING-add-GPLv2-license-file.patch2
-rw-r--r--meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0001-Don-t-install-Xsession-or-Xserver.patch2
-rw-r--r--meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0002-add-setdpi-Xinit.d-script.patch2
-rw-r--r--meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0006-add-support-for-etc-X11-xserver-system.patch2
-rw-r--r--meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0007-use-own-functions-file-instead-etc-init.d-functions.patch2
-rw-r--r--meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0008-xserver-common-add-dpi-and-nocursor-params-for-gta01.patch2
-rw-r--r--meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0009-xserver-common-add-support-for-n900-alias-nokia_rx-5.patch2
-rw-r--r--meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0010-xserver-common-add-support-for-nexus-S-alias-herring.patch2
-rw-r--r--meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0011-xserver-common-add-support-for-nexus-one-alias-mahim.patch2
-rw-r--r--meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0012-xserver-common-add-support-for-gta04-alias-OpenPhoen.patch2
-rw-r--r--meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0013-xserver-common-add-support-for-tuna-alias-Galaxy-Nex.patch2
-rw-r--r--meta-oe/recipes-graphics/xserver-common/xserver-common_1.34.bb15
-rw-r--r--meta-oe/recipes-graphics/yad/yad_6.0.bb18
-rw-r--r--meta-oe/recipes-graphics/ydotool/ydotool_git.bb26
368 files changed, 9503 insertions, 32527 deletions
diff --git a/meta-oe/recipes-graphics/aml/aml_git.bb b/meta-oe/recipes-graphics/aml/aml_git.bb
new file mode 100644
index 0000000000..2633e0d215
--- /dev/null
+++ b/meta-oe/recipes-graphics/aml/aml_git.bb
@@ -0,0 +1,35 @@
+SUMMARY = "Andri's Main Loop"
+DESCRIPTION = "Andri's Main Loop"
+HOMEPAGE = "https://github.com/any1/aml"
+LICENSE = "ISC"
+LIC_FILES_CHKSUM = "file://COPYING;md5=e6f3cfaa39204b96e14b68b9d50d3e4e"
+
+SRC_URI = "git://github.com/any1/aml;branch=master;protocol=https"
+
+SRCREV = "b83f3576ce4187d9285f06e9066ef43a691464d4"
+
+PV = "0.3.0+git"
+
+S = "${WORKDIR}/git"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[examples] = "-Dexamples=true,-Dexamples=false"
+
+PACKAGE_BEFORE_PN += "${PN}-examples"
+ALLOW_EMPTY:${PN}-examples = "1"
+FILES:${PN}-examples = "${bindir}"
+
+inherit meson pkgconfig
+
+AML_EXAMPLES = "ticker nested-ticker reader"
+
+do_install:append () {
+ if ${@bb.utils.contains('PACKAGECONFIG', 'examples', 'true', 'false', d)}; then
+ install -d ${D}${bindir}
+ for bin in ${AML_EXAMPLES}; do
+ install -m 0755 ${B}/examples/$bin ${D}${bindir}
+ done
+ fi
+}
+
+BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-graphics/babl/babl_0.1.28.bb b/meta-oe/recipes-graphics/babl/babl_0.1.28.bb
deleted file mode 100644
index 9d8c90fdbb..0000000000
--- a/meta-oe/recipes-graphics/babl/babl_0.1.28.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-SUMMARY = "Babl is a dynamic, any to any, pixel format conversion library"
-LICENSE = "LGPL-3.0"
-LIC_FILES_CHKSUM = "file://COPYING;md5=6a6a8e020838b23406c81b19c1d46df6"
-
-inherit gnomebase
-
-SRC_URI = "http://ftp.gimp.org/pub/${BPN}/0.1/${BP}.tar.bz2"
-SRC_URI[md5sum] = "cc53d8474a43aafb7cdaccea56cfde44"
-SRC_URI[sha256sum] = "63f3ed23e72a857a0e6df53d9d968a325024177b01edbe314a0c98b499eb8603"
-
-FILES_${PN} += "${libdir}/babl-*/*.so"
-FILES_${PN}-dev += "${libdir}/babl-*/*.la"
-FILES_${PN}-dbg += "${libdir}/babl-*/.debug/"
diff --git a/meta-oe/recipes-graphics/cairo/cairomm-1.16_1.18.0.bb b/meta-oe/recipes-graphics/cairo/cairomm-1.16_1.18.0.bb
new file mode 100644
index 0000000000..a6872ef0cd
--- /dev/null
+++ b/meta-oe/recipes-graphics/cairo/cairomm-1.16_1.18.0.bb
@@ -0,0 +1,17 @@
+SUMMARY = "C++ bindings for Cairo graphics library"
+
+LICENSE = "LGPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=c46bda00ffbb0ba1dac22f8d087f54d9"
+
+inherit gnomebase
+
+DEPENDS += "boost cairo libsigc++-3"
+
+SRC_URI = "https://www.cairographics.org/releases/cairomm-${PV}.tar.xz"
+SRC_URI[sha256sum] = "b81255394e3ea8e8aa887276d22afa8985fc8daef60692eb2407d23049f03cfb"
+
+S = "${WORKDIR}/cairomm-${PV}"
+
+FILES:${PN}-doc += "${datadir}/devhelp"
+FILES:${PN}-dev += "${libdir}/cairomm-*/"
+
diff --git a/meta-oe/recipes-graphics/cairo/cairomm_1.12.0.bb b/meta-oe/recipes-graphics/cairo/cairomm_1.12.0.bb
deleted file mode 100644
index d49a509a0e..0000000000
--- a/meta-oe/recipes-graphics/cairo/cairomm_1.12.0.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-SUMMARY = "C++ bindings for Cairo graphics library"
-
-LICENSE = "LGPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=c46bda00ffbb0ba1dac22f8d087f54d9"
-
-inherit gnomebase
-
-DEPENDS = "cairo libsigc++-2.0"
-
-SRC_URI[archive.md5sum] = "c62b476b61bd0abf7e9851f417d73291"
-SRC_URI[archive.sha256sum] = "a54ada8394a86182525c0762e6f50db6b9212a2109280d13ec6a0b29bfd1afe6"
-
-FILES_${PN}-doc += "${datadir}/devhelp"
-FILES_${PN}-dev += "${libdir}/cairomm-*/"
-
diff --git a/meta-oe/recipes-graphics/cairo/cairomm_1.14.3.bb b/meta-oe/recipes-graphics/cairo/cairomm_1.14.3.bb
new file mode 100644
index 0000000000..54a2b07ca5
--- /dev/null
+++ b/meta-oe/recipes-graphics/cairo/cairomm_1.14.3.bb
@@ -0,0 +1,15 @@
+SUMMARY = "C++ bindings for Cairo graphics library"
+
+LICENSE = "LGPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=c46bda00ffbb0ba1dac22f8d087f54d9"
+
+inherit gnomebase
+
+DEPENDS += "boost cairo libsigc++-2.0"
+
+SRC_URI = "https://www.cairographics.org/releases/${BP}.tar.xz"
+SRC_URI[sha256sum] = "0d37e067c5c4ca7808b7ceddabfe1932c5bd2a750ad64fb321e1213536297e78"
+
+FILES:${PN}-doc += "${datadir}/devhelp"
+FILES:${PN}-dev += "${libdir}/cairomm-*/"
+
diff --git a/meta-oe/recipes-graphics/cglm/cglm_0.9.4.bb b/meta-oe/recipes-graphics/cglm/cglm_0.9.4.bb
new file mode 100644
index 0000000000..6fcc07d92b
--- /dev/null
+++ b/meta-oe/recipes-graphics/cglm/cglm_0.9.4.bb
@@ -0,0 +1,25 @@
+SUMMARY = "OpenGL Mathematics Library for C"
+DESCRIPTION = "Highly optimized 2D|3D math library, also known as OpenGL Mathematics (glm) for `C`. \
+cglm provides lot of utils to help math operations to be fast and quick to write. It is community \
+friendly, feel free to bring any issues, bugs you faced."
+HOMEPAGE = "https://github.com/recp/cglm"
+BUGTRACKER = "https://github.com/recp/cglm/issues"
+SECTION = "libs"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=8dc95c4110ba741c43832734b51b7de7"
+
+SRC_URI = "git://github.com/recp/cglm;branch=master;protocol=https"
+# Tag v0.9.1
+SRCREV = "1796cc5ce298235b615dc7a4750b8c3ba56a05dd"
+
+S = "${WORKDIR}/git"
+
+PACKAGECONFIG[build_tests] = "-Dbuild_tests=true,-Dbuild_tests=false,"
+
+PACKAGECONFIG ?= ""
+
+inherit meson pkgconfig
+
+EXTRA_OEMESON += "--buildtype release"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-graphics/deqp-runner/deqp-runner-crates.inc b/meta-oe/recipes-graphics/deqp-runner/deqp-runner-crates.inc
new file mode 100644
index 0000000000..09a3f675a6
--- /dev/null
+++ b/meta-oe/recipes-graphics/deqp-runner/deqp-runner-crates.inc
@@ -0,0 +1,268 @@
+# Autogenerated with 'bitbake -c update_crates deqp-runner'
+
+# from Cargo.lock
+SRC_URI += " \
+ crate://crates.io/adler/1.0.2 \
+ crate://crates.io/aho-corasick/1.0.5 \
+ crate://crates.io/android-tzdata/0.1.1 \
+ crate://crates.io/android_system_properties/0.1.5 \
+ crate://crates.io/ansi_term/0.12.1 \
+ crate://crates.io/anyhow/1.0.75 \
+ crate://crates.io/atty/0.2.14 \
+ crate://crates.io/autocfg/1.1.0 \
+ crate://crates.io/bitflags/1.3.2 \
+ crate://crates.io/bitflags/2.4.0 \
+ crate://crates.io/bumpalo/3.13.0 \
+ crate://crates.io/cast/0.3.0 \
+ crate://crates.io/cc/1.0.83 \
+ crate://crates.io/cfg-if/1.0.0 \
+ crate://crates.io/chrono/0.4.30 \
+ crate://crates.io/clap/2.34.0 \
+ crate://crates.io/core-foundation-sys/0.8.4 \
+ crate://crates.io/crc32fast/1.3.2 \
+ crate://crates.io/criterion/0.3.6 \
+ crate://crates.io/criterion-plot/0.4.5 \
+ crate://crates.io/crossbeam-channel/0.5.8 \
+ crate://crates.io/crossbeam-deque/0.8.3 \
+ crate://crates.io/crossbeam-epoch/0.9.15 \
+ crate://crates.io/crossbeam-utils/0.8.16 \
+ crate://crates.io/csv/1.2.2 \
+ crate://crates.io/csv-core/0.1.10 \
+ crate://crates.io/derive-getters/0.1.1 \
+ crate://crates.io/either/1.9.0 \
+ crate://crates.io/errno/0.3.3 \
+ crate://crates.io/errno-dragonfly/0.1.2 \
+ crate://crates.io/fastrand/2.0.0 \
+ crate://crates.io/flate2/1.0.27 \
+ crate://crates.io/getrandom/0.1.16 \
+ crate://crates.io/half/1.8.2 \
+ crate://crates.io/hashbrown/0.12.3 \
+ crate://crates.io/heck/0.3.3 \
+ crate://crates.io/hermit-abi/0.1.19 \
+ crate://crates.io/hermit-abi/0.3.2 \
+ crate://crates.io/iana-time-zone/0.1.57 \
+ crate://crates.io/iana-time-zone-haiku/0.1.2 \
+ crate://crates.io/indexmap/1.9.3 \
+ crate://crates.io/itertools/0.10.5 \
+ crate://crates.io/itoa/1.0.9 \
+ crate://crates.io/js-sys/0.3.64 \
+ crate://crates.io/junit-report/0.4.0 \
+ crate://crates.io/lazy_static/1.4.0 \
+ crate://crates.io/libc/0.2.147 \
+ crate://crates.io/linux-raw-sys/0.4.7 \
+ crate://crates.io/log/0.4.20 \
+ crate://crates.io/memchr/2.6.3 \
+ crate://crates.io/memoffset/0.9.0 \
+ crate://crates.io/miniz_oxide/0.7.1 \
+ crate://crates.io/mio/0.8.8 \
+ crate://crates.io/num-traits/0.2.16 \
+ crate://crates.io/num_cpus/1.16.0 \
+ crate://crates.io/once_cell/1.18.0 \
+ crate://crates.io/oorandom/11.1.3 \
+ crate://crates.io/plotters/0.3.5 \
+ crate://crates.io/plotters-backend/0.3.5 \
+ crate://crates.io/plotters-svg/0.3.5 \
+ crate://crates.io/ppv-lite86/0.2.17 \
+ crate://crates.io/proc-macro-error/1.0.4 \
+ crate://crates.io/proc-macro-error-attr/1.0.4 \
+ crate://crates.io/proc-macro2/1.0.66 \
+ crate://crates.io/quote/1.0.33 \
+ crate://crates.io/rand/0.7.3 \
+ crate://crates.io/rand_chacha/0.2.2 \
+ crate://crates.io/rand_core/0.5.1 \
+ crate://crates.io/rand_hc/0.2.0 \
+ crate://crates.io/rayon/1.7.0 \
+ crate://crates.io/rayon-core/1.11.0 \
+ crate://crates.io/redox_syscall/0.3.5 \
+ crate://crates.io/regex/1.9.5 \
+ crate://crates.io/regex-automata/0.3.8 \
+ crate://crates.io/regex-syntax/0.7.5 \
+ crate://crates.io/roxmltree/0.13.1 \
+ crate://crates.io/rustix/0.38.13 \
+ crate://crates.io/ryu/1.0.15 \
+ crate://crates.io/same-file/1.0.6 \
+ crate://crates.io/scopeguard/1.2.0 \
+ crate://crates.io/serde/1.0.188 \
+ crate://crates.io/serde-tuple-vec-map/1.0.1 \
+ crate://crates.io/serde_cbor/0.11.2 \
+ crate://crates.io/serde_derive/1.0.188 \
+ crate://crates.io/serde_json/1.0.106 \
+ crate://crates.io/serde_yaml/0.9.21 \
+ crate://crates.io/stderrlog/0.5.4 \
+ crate://crates.io/strsim/0.8.0 \
+ crate://crates.io/structopt/0.3.26 \
+ crate://crates.io/structopt-derive/0.4.18 \
+ crate://crates.io/syn/1.0.109 \
+ crate://crates.io/syn/2.0.32 \
+ crate://crates.io/tempfile/3.8.0 \
+ crate://crates.io/termcolor/1.1.3 \
+ crate://crates.io/textwrap/0.11.0 \
+ crate://crates.io/thiserror/1.0.48 \
+ crate://crates.io/thiserror-impl/1.0.48 \
+ crate://crates.io/thread_local/1.1.7 \
+ crate://crates.io/tinytemplate/1.2.1 \
+ crate://crates.io/toml/0.5.11 \
+ crate://crates.io/unicode-ident/1.0.11 \
+ crate://crates.io/unicode-segmentation/1.10.1 \
+ crate://crates.io/unicode-width/0.1.10 \
+ crate://crates.io/unsafe-libyaml/0.2.9 \
+ crate://crates.io/vec_map/0.8.2 \
+ crate://crates.io/version_check/0.9.4 \
+ crate://crates.io/walkdir/2.4.0 \
+ crate://crates.io/wasi/0.9.0+wasi-snapshot-preview1 \
+ crate://crates.io/wasi/0.11.0+wasi-snapshot-preview1 \
+ crate://crates.io/wasm-bindgen/0.2.87 \
+ crate://crates.io/wasm-bindgen-backend/0.2.87 \
+ crate://crates.io/wasm-bindgen-macro/0.2.87 \
+ crate://crates.io/wasm-bindgen-macro-support/0.2.87 \
+ crate://crates.io/wasm-bindgen-shared/0.2.87 \
+ crate://crates.io/web-sys/0.3.64 \
+ crate://crates.io/winapi/0.3.9 \
+ crate://crates.io/winapi-i686-pc-windows-gnu/0.4.0 \
+ crate://crates.io/winapi-util/0.1.5 \
+ crate://crates.io/winapi-x86_64-pc-windows-gnu/0.4.0 \
+ crate://crates.io/windows/0.48.0 \
+ crate://crates.io/windows-sys/0.48.0 \
+ crate://crates.io/windows-targets/0.48.5 \
+ crate://crates.io/windows_aarch64_gnullvm/0.48.5 \
+ crate://crates.io/windows_aarch64_msvc/0.48.5 \
+ crate://crates.io/windows_i686_gnu/0.48.5 \
+ crate://crates.io/windows_i686_msvc/0.48.5 \
+ crate://crates.io/windows_x86_64_gnu/0.48.5 \
+ crate://crates.io/windows_x86_64_gnullvm/0.48.5 \
+ crate://crates.io/windows_x86_64_msvc/0.48.5 \
+ crate://crates.io/xml-rs/0.8.18 \
+ crate://crates.io/xmlparser/0.13.5 \
+"
+
+SRC_URI[adler-1.0.2.sha256sum] = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
+SRC_URI[aho-corasick-1.0.5.sha256sum] = "0c378d78423fdad8089616f827526ee33c19f2fddbd5de1629152c9593ba4783"
+SRC_URI[android-tzdata-0.1.1.sha256sum] = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0"
+SRC_URI[android_system_properties-0.1.5.sha256sum] = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311"
+SRC_URI[ansi_term-0.12.1.sha256sum] = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2"
+SRC_URI[anyhow-1.0.75.sha256sum] = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6"
+SRC_URI[atty-0.2.14.sha256sum] = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
+SRC_URI[autocfg-1.1.0.sha256sum] = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
+SRC_URI[bitflags-1.3.2.sha256sum] = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
+SRC_URI[bitflags-2.4.0.sha256sum] = "b4682ae6287fcf752ecaabbfcc7b6f9b72aa33933dc23a554d853aea8eea8635"
+SRC_URI[bumpalo-3.13.0.sha256sum] = "a3e2c3daef883ecc1b5d58c15adae93470a91d425f3532ba1695849656af3fc1"
+SRC_URI[cast-0.3.0.sha256sum] = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5"
+SRC_URI[cc-1.0.83.sha256sum] = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0"
+SRC_URI[cfg-if-1.0.0.sha256sum] = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
+SRC_URI[chrono-0.4.30.sha256sum] = "defd4e7873dbddba6c7c91e199c7fcb946abc4a6a4ac3195400bcfb01b5de877"
+SRC_URI[clap-2.34.0.sha256sum] = "a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c"
+SRC_URI[core-foundation-sys-0.8.4.sha256sum] = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa"
+SRC_URI[crc32fast-1.3.2.sha256sum] = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d"
+SRC_URI[criterion-0.3.6.sha256sum] = "b01d6de93b2b6c65e17c634a26653a29d107b3c98c607c765bf38d041531cd8f"
+SRC_URI[criterion-plot-0.4.5.sha256sum] = "2673cc8207403546f45f5fd319a974b1e6983ad1a3ee7e6041650013be041876"
+SRC_URI[crossbeam-channel-0.5.8.sha256sum] = "a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200"
+SRC_URI[crossbeam-deque-0.8.3.sha256sum] = "ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef"
+SRC_URI[crossbeam-epoch-0.9.15.sha256sum] = "ae211234986c545741a7dc064309f67ee1e5ad243d0e48335adc0484d960bcc7"
+SRC_URI[crossbeam-utils-0.8.16.sha256sum] = "5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294"
+SRC_URI[csv-1.2.2.sha256sum] = "626ae34994d3d8d668f4269922248239db4ae42d538b14c398b74a52208e8086"
+SRC_URI[csv-core-0.1.10.sha256sum] = "2b2466559f260f48ad25fe6317b3c8dac77b5bdb5763ac7d9d6103530663bc90"
+SRC_URI[derive-getters-0.1.1.sha256sum] = "16dc4e2517f08ca167440ccb11023c1308ee19a4022d7b03c0e652f971171869"
+SRC_URI[either-1.9.0.sha256sum] = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07"
+SRC_URI[errno-0.3.3.sha256sum] = "136526188508e25c6fef639d7927dfb3e0e3084488bf202267829cf7fc23dbdd"
+SRC_URI[errno-dragonfly-0.1.2.sha256sum] = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf"
+SRC_URI[fastrand-2.0.0.sha256sum] = "6999dc1837253364c2ebb0704ba97994bd874e8f195d665c50b7548f6ea92764"
+SRC_URI[flate2-1.0.27.sha256sum] = "c6c98ee8095e9d1dcbf2fcc6d95acccb90d1c81db1e44725c6a984b1dbdfb010"
+SRC_URI[getrandom-0.1.16.sha256sum] = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce"
+SRC_URI[half-1.8.2.sha256sum] = "eabb4a44450da02c90444cf74558da904edde8fb4e9035a9a6a4e15445af0bd7"
+SRC_URI[hashbrown-0.12.3.sha256sum] = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
+SRC_URI[heck-0.3.3.sha256sum] = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c"
+SRC_URI[hermit-abi-0.1.19.sha256sum] = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
+SRC_URI[hermit-abi-0.3.2.sha256sum] = "443144c8cdadd93ebf52ddb4056d257f5b52c04d3c804e657d19eb73fc33668b"
+SRC_URI[iana-time-zone-0.1.57.sha256sum] = "2fad5b825842d2b38bd206f3e81d6957625fd7f0a361e345c30e01a0ae2dd613"
+SRC_URI[iana-time-zone-haiku-0.1.2.sha256sum] = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f"
+SRC_URI[indexmap-1.9.3.sha256sum] = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99"
+SRC_URI[itertools-0.10.5.sha256sum] = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473"
+SRC_URI[itoa-1.0.9.sha256sum] = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38"
+SRC_URI[js-sys-0.3.64.sha256sum] = "c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a"
+SRC_URI[junit-report-0.4.0.sha256sum] = "e4e00ad2de771fc4988af88b02cbd618c08c17920208c35c4bbfe67ccfab31eb"
+SRC_URI[lazy_static-1.4.0.sha256sum] = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
+SRC_URI[libc-0.2.147.sha256sum] = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3"
+SRC_URI[linux-raw-sys-0.4.7.sha256sum] = "1a9bad9f94746442c783ca431b22403b519cd7fbeed0533fdd6328b2f2212128"
+SRC_URI[log-0.4.20.sha256sum] = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
+SRC_URI[memchr-2.6.3.sha256sum] = "8f232d6ef707e1956a43342693d2a31e72989554d58299d7a88738cc95b0d35c"
+SRC_URI[memoffset-0.9.0.sha256sum] = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c"
+SRC_URI[miniz_oxide-0.7.1.sha256sum] = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7"
+SRC_URI[mio-0.8.8.sha256sum] = "927a765cd3fc26206e66b296465fa9d3e5ab003e651c1b3c060e7956d96b19d2"
+SRC_URI[num-traits-0.2.16.sha256sum] = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2"
+SRC_URI[num_cpus-1.16.0.sha256sum] = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43"
+SRC_URI[once_cell-1.18.0.sha256sum] = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
+SRC_URI[oorandom-11.1.3.sha256sum] = "0ab1bc2a289d34bd04a330323ac98a1b4bc82c9d9fcb1e66b63caa84da26b575"
+SRC_URI[plotters-0.3.5.sha256sum] = "d2c224ba00d7cadd4d5c660deaf2098e5e80e07846537c51f9cfa4be50c1fd45"
+SRC_URI[plotters-backend-0.3.5.sha256sum] = "9e76628b4d3a7581389a35d5b6e2139607ad7c75b17aed325f210aa91f4a9609"
+SRC_URI[plotters-svg-0.3.5.sha256sum] = "38f6d39893cca0701371e3c27294f09797214b86f1fb951b89ade8ec04e2abab"
+SRC_URI[ppv-lite86-0.2.17.sha256sum] = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
+SRC_URI[proc-macro-error-1.0.4.sha256sum] = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c"
+SRC_URI[proc-macro-error-attr-1.0.4.sha256sum] = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869"
+SRC_URI[proc-macro2-1.0.66.sha256sum] = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9"
+SRC_URI[quote-1.0.33.sha256sum] = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae"
+SRC_URI[rand-0.7.3.sha256sum] = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03"
+SRC_URI[rand_chacha-0.2.2.sha256sum] = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402"
+SRC_URI[rand_core-0.5.1.sha256sum] = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19"
+SRC_URI[rand_hc-0.2.0.sha256sum] = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c"
+SRC_URI[rayon-1.7.0.sha256sum] = "1d2df5196e37bcc87abebc0053e20787d73847bb33134a69841207dd0a47f03b"
+SRC_URI[rayon-core-1.11.0.sha256sum] = "4b8f95bd6966f5c87776639160a66bd8ab9895d9d4ab01ddba9fc60661aebe8d"
+SRC_URI[redox_syscall-0.3.5.sha256sum] = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29"
+SRC_URI[regex-1.9.5.sha256sum] = "697061221ea1b4a94a624f67d0ae2bfe4e22b8a17b6a192afb11046542cc8c47"
+SRC_URI[regex-automata-0.3.8.sha256sum] = "c2f401f4955220693b56f8ec66ee9c78abffd8d1c4f23dc41a23839eb88f0795"
+SRC_URI[regex-syntax-0.7.5.sha256sum] = "dbb5fb1acd8a1a18b3dd5be62d25485eb770e05afb408a9627d14d451bae12da"
+SRC_URI[roxmltree-0.13.1.sha256sum] = "dbf7d7b1ea646d380d0e8153158063a6da7efe30ddbf3184042848e3f8a6f671"
+SRC_URI[rustix-0.38.13.sha256sum] = "d7db8590df6dfcd144d22afd1b83b36c21a18d7cbc1dc4bb5295a8712e9eb662"
+SRC_URI[ryu-1.0.15.sha256sum] = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741"
+SRC_URI[same-file-1.0.6.sha256sum] = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502"
+SRC_URI[scopeguard-1.2.0.sha256sum] = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
+SRC_URI[serde-1.0.188.sha256sum] = "cf9e0fcba69a370eed61bcf2b728575f726b50b55cba78064753d708ddc7549e"
+SRC_URI[serde-tuple-vec-map-1.0.1.sha256sum] = "a04d0ebe0de77d7d445bb729a895dcb0a288854b267ca85f030ce51cdc578c82"
+SRC_URI[serde_cbor-0.11.2.sha256sum] = "2bef2ebfde456fb76bbcf9f59315333decc4fda0b2b44b420243c11e0f5ec1f5"
+SRC_URI[serde_derive-1.0.188.sha256sum] = "4eca7ac642d82aa35b60049a6eccb4be6be75e599bd2e9adb5f875a737654af2"
+SRC_URI[serde_json-1.0.106.sha256sum] = "2cc66a619ed80bf7a0f6b17dd063a84b88f6dea1813737cf469aef1d081142c2"
+SRC_URI[serde_yaml-0.9.21.sha256sum] = "d9d684e3ec7de3bf5466b32bd75303ac16f0736426e5a4e0d6e489559ce1249c"
+SRC_URI[stderrlog-0.5.4.sha256sum] = "69a26bbf6de627d389164afa9783739b56746c6c72c4ed16539f4ff54170327b"
+SRC_URI[strsim-0.8.0.sha256sum] = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a"
+SRC_URI[structopt-0.3.26.sha256sum] = "0c6b5c64445ba8094a6ab0c3cd2ad323e07171012d9c98b0b15651daf1787a10"
+SRC_URI[structopt-derive-0.4.18.sha256sum] = "dcb5ae327f9cc13b68763b5749770cb9e048a99bd9dfdfa58d0cf05d5f64afe0"
+SRC_URI[syn-1.0.109.sha256sum] = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
+SRC_URI[syn-2.0.32.sha256sum] = "239814284fd6f1a4ffe4ca893952cdd93c224b6a1571c9a9eadd670295c0c9e2"
+SRC_URI[tempfile-3.8.0.sha256sum] = "cb94d2f3cc536af71caac6b6fcebf65860b347e7ce0cc9ebe8f70d3e521054ef"
+SRC_URI[termcolor-1.1.3.sha256sum] = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755"
+SRC_URI[textwrap-0.11.0.sha256sum] = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060"
+SRC_URI[thiserror-1.0.48.sha256sum] = "9d6d7a740b8a666a7e828dd00da9c0dc290dff53154ea77ac109281de90589b7"
+SRC_URI[thiserror-impl-1.0.48.sha256sum] = "49922ecae66cc8a249b77e68d1d0623c1b2c514f0060c27cdc68bd62a1219d35"
+SRC_URI[thread_local-1.1.7.sha256sum] = "3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152"
+SRC_URI[tinytemplate-1.2.1.sha256sum] = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc"
+SRC_URI[toml-0.5.11.sha256sum] = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234"
+SRC_URI[unicode-ident-1.0.11.sha256sum] = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c"
+SRC_URI[unicode-segmentation-1.10.1.sha256sum] = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36"
+SRC_URI[unicode-width-0.1.10.sha256sum] = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b"
+SRC_URI[unsafe-libyaml-0.2.9.sha256sum] = "f28467d3e1d3c6586d8f25fa243f544f5800fec42d97032474e17222c2b75cfa"
+SRC_URI[vec_map-0.8.2.sha256sum] = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191"
+SRC_URI[version_check-0.9.4.sha256sum] = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
+SRC_URI[walkdir-2.4.0.sha256sum] = "d71d857dc86794ca4c280d616f7da00d2dbfd8cd788846559a6813e6aa4b54ee"
+SRC_URI[wasi-0.9.0+wasi-snapshot-preview1.sha256sum] = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519"
+SRC_URI[wasi-0.11.0+wasi-snapshot-preview1.sha256sum] = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
+SRC_URI[wasm-bindgen-0.2.87.sha256sum] = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342"
+SRC_URI[wasm-bindgen-backend-0.2.87.sha256sum] = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd"
+SRC_URI[wasm-bindgen-macro-0.2.87.sha256sum] = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d"
+SRC_URI[wasm-bindgen-macro-support-0.2.87.sha256sum] = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b"
+SRC_URI[wasm-bindgen-shared-0.2.87.sha256sum] = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1"
+SRC_URI[web-sys-0.3.64.sha256sum] = "9b85cbef8c220a6abc02aefd892dfc0fc23afb1c6a426316ec33253a3877249b"
+SRC_URI[winapi-0.3.9.sha256sum] = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
+SRC_URI[winapi-i686-pc-windows-gnu-0.4.0.sha256sum] = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
+SRC_URI[winapi-util-0.1.5.sha256sum] = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178"
+SRC_URI[winapi-x86_64-pc-windows-gnu-0.4.0.sha256sum] = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
+SRC_URI[windows-0.48.0.sha256sum] = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f"
+SRC_URI[windows-sys-0.48.0.sha256sum] = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
+SRC_URI[windows-targets-0.48.5.sha256sum] = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
+SRC_URI[windows_aarch64_gnullvm-0.48.5.sha256sum] = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
+SRC_URI[windows_aarch64_msvc-0.48.5.sha256sum] = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
+SRC_URI[windows_i686_gnu-0.48.5.sha256sum] = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
+SRC_URI[windows_i686_msvc-0.48.5.sha256sum] = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
+SRC_URI[windows_x86_64_gnu-0.48.5.sha256sum] = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
+SRC_URI[windows_x86_64_gnullvm-0.48.5.sha256sum] = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
+SRC_URI[windows_x86_64_msvc-0.48.5.sha256sum] = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
+SRC_URI[xml-rs-0.8.18.sha256sum] = "bab77e97b50aee93da431f2cee7cd0f43b4d1da3c408042f2d7d164187774f0a"
+SRC_URI[xmlparser-0.13.5.sha256sum] = "4d25c75bf9ea12c4040a97f829154768bbbce366287e2dc044af160cd79a13fd"
diff --git a/meta-oe/recipes-graphics/deqp-runner/deqp-runner/0001-deqp-runner-drop-zstd-support.patch b/meta-oe/recipes-graphics/deqp-runner/deqp-runner/0001-deqp-runner-drop-zstd-support.patch
new file mode 100644
index 0000000000..e29b78fde3
--- /dev/null
+++ b/meta-oe/recipes-graphics/deqp-runner/deqp-runner/0001-deqp-runner-drop-zstd-support.patch
@@ -0,0 +1,172 @@
+From f453ec77fa9e6fd961a1f5f0b221260a5a21bba2 Mon Sep 17 00:00:00 2001
+From: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
+Date: Tue, 27 Aug 2024 14:08:47 +0300
+Subject: [PATCH] deqp-runner: drop zstd support
+
+Building zstd-sys results in the "foo contains reference to TMPDIR" QA
+error. Revert commit 1adddf3aa89f21b472d8046347ccdfa4612f141b to drop
+zstd dependency.
+
+Upstream-Status: Inappropriate [oe specific]
+Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
+---
+ Cargo.lock | 45 ---------------------------------------------
+ Cargo.toml | 3 ---
+ src/lib.rs | 31 +++++++------------------------
+ 3 files changed, 7 insertions(+), 72 deletions(-)
+
+diff --git a/Cargo.lock b/Cargo.lock
+index 8443695e2bd5..50924576a8e3 100644
+--- a/Cargo.lock
++++ b/Cargo.lock
+@@ -94,7 +94,6 @@ version = "1.0.83"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0"
+ dependencies = [
+- "jobserver",
+ "libc",
+ ]
+
+@@ -271,7 +270,6 @@ dependencies = [
+ "structopt",
+ "tempfile",
+ "toml",
+- "zstd",
+ ]
+
+ [[package]]
+@@ -423,15 +421,6 @@ version = "1.0.9"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38"
+
+-[[package]]
+-name = "jobserver"
+-version = "0.1.31"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "d2b099aaa34a9751c5bf0878add70444e1ed2dd73f347be99003d4577277de6e"
+-dependencies = [
+- "libc",
+-]
+-
+ [[package]]
+ name = "js-sys"
+ version = "0.3.64"
+@@ -544,12 +533,6 @@ version = "11.1.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "0ab1bc2a289d34bd04a330323ac98a1b4bc82c9d9fcb1e66b63caa84da26b575"
+
+-[[package]]
+-name = "pkg-config"
+-version = "0.3.30"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec"
+-
+ [[package]]
+ name = "plotters"
+ version = "0.3.5"
+@@ -1217,31 +1200,3 @@ name = "xmlparser"
+ version = "0.13.5"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "4d25c75bf9ea12c4040a97f829154768bbbce366287e2dc044af160cd79a13fd"
+-
+-[[package]]
+-name = "zstd"
+-version = "0.13.1"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "2d789b1514203a1120ad2429eae43a7bd32b90976a7bb8a05f7ec02fa88cc23a"
+-dependencies = [
+- "zstd-safe",
+-]
+-
+-[[package]]
+-name = "zstd-safe"
+-version = "7.1.0"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "1cd99b45c6bc03a018c8b8a86025678c87e55526064e38f9df301989dce7ec0a"
+-dependencies = [
+- "zstd-sys",
+-]
+-
+-[[package]]
+-name = "zstd-sys"
+-version = "2.0.11+zstd.1.5.6"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "75652c55c0b6f3e6f12eb786fe1bc960396bf05a1eb3bf1f3691c3610ac2e6d4"
+-dependencies = [
+- "cc",
+- "pkg-config",
+-]
+diff --git a/Cargo.toml b/Cargo.toml
+index ac6295763e87..1fa1344a3105 100644
+--- a/Cargo.toml
++++ b/Cargo.toml
+@@ -120,9 +120,6 @@ version = "3.2"
+ [dependencies.toml]
+ version = "0.5"
+
+-[dependencies.zstd]
+-version = "0.13.0"
+-
+ [dev-dependencies.criterion]
+ version = "0.3.0"
+
+diff --git a/src/lib.rs b/src/lib.rs
+index e7095267f1cd..ff7bc4f5d025 100644
+--- a/src/lib.rs
++++ b/src/lib.rs
+@@ -63,7 +63,6 @@ use rayon::prelude::*;
+ use regex::RegexSet;
+ use serde::Deserialize;
+ use std::collections::HashMap;
+-use std::ffi::OsStr;
+ use std::fs::File;
+ use std::io::prelude::*;
+ use std::io::BufReader;
+@@ -76,7 +75,6 @@ use std::time::Duration;
+ use std::time::Instant;
+ use structopt::StructOpt;
+ use timeout::{TimeoutChildExt, TimeoutChildStdout, Timer};
+-use zstd::stream::read::Decoder;
+
+ fn parse_key_val<T, U>(s: &str) -> Result<(T, U), Box<dyn std::error::Error>>
+ where
+@@ -1082,32 +1080,17 @@ pub fn read_lines<I: IntoIterator<Item = impl AsRef<Path>>>(files: I) -> Result<
+ let mut lines: Vec<String> = Vec::new();
+
+ for path in files {
+- let mut path: &Path = path.as_ref();
+- let mut path_compressed: PathBuf = path.to_path_buf();
+-
+- // always try append zst extension (and keep existing one, e.g. .txt)
+- let ext = if let Some(file_ext) = path.extension().and_then(|ext| ext.to_str()) {
+- format!("{}.zst", file_ext)
+- } else {
+- (".zst").to_string()
+- };
+-
+- path_compressed.set_extension(ext);
+- if path_compressed.exists() {
+- path = path_compressed.as_ref();
+- }
+- let file = File::open(path).with_context(|| format!("opening path: {}", path.display()))?;
+- let reader: Box<dyn Read> = match path.extension().and_then(OsStr::to_str) {
+- Some("zst") => Box::new(Decoder::new(file).unwrap()),
+- _ => Box::new(file),
+- };
+-
+- for line in BufReader::new(reader).lines() {
++ let path = path.as_ref();
++ for line in BufReader::new(
++ File::open(path).with_context(|| format!("opening path: {}", path.display()))?,
++ )
++ .lines()
++ {
+ let line = line.with_context(|| format!("reading line from {}", path.display()))?;
+ // In newer dEQP, vk-master.txt just contains a list of .txt
+ // caselist files relative to its current path, so recursively read
+ // thoseand append their contents.
+- if line.ends_with(".txt") || line.ends_with(".txt.zst") {
++ if line.ends_with(".txt") {
+ let sub_path = path.parent().context("Getting path parent dir")?.join(line);
+
+ lines.extend_from_slice(
diff --git a/meta-oe/recipes-graphics/deqp-runner/deqp-runner_0.20.0.bb b/meta-oe/recipes-graphics/deqp-runner/deqp-runner_0.20.0.bb
new file mode 100644
index 0000000000..04de074d24
--- /dev/null
+++ b/meta-oe/recipes-graphics/deqp-runner/deqp-runner_0.20.0.bb
@@ -0,0 +1,18 @@
+SUMMARY = "A VK-GL-CTS/dEQP wrapper program to parallelize it across CPUs and report results against a baseline."
+HOMEPAGE = "https://gitlab.freedesktop.org/mesa/deqp-runner"
+LICENSE = "MIT"
+
+LIC_FILES_CHKSUM = " \
+ file://LICENSE;md5=4f59d6446bf2e004e80df1a0937129fa\
+"
+
+inherit cargo cargo-update-recipe-crates
+
+SRC_URI += " \
+ crate://crates.io/deqp-runner/0.20.0 \
+ file://0001-deqp-runner-drop-zstd-support.patch \
+"
+
+SRC_URI[deqp-runner-0.20.0.sha256sum] = "a3f4fab1179a01cbbdbe4b93e0a040f74de7b9086498d91976d93844a31439dd"
+
+require deqp-runner-crates.inc
diff --git a/meta-oe/recipes-graphics/dietsplash/dietsplash/0001-Mimic-GNU-basename-API-for-non-glibc-library-e.g.-mu.patch b/meta-oe/recipes-graphics/dietsplash/dietsplash/0001-Mimic-GNU-basename-API-for-non-glibc-library-e.g.-mu.patch
new file mode 100644
index 0000000000..aa8406e315
--- /dev/null
+++ b/meta-oe/recipes-graphics/dietsplash/dietsplash/0001-Mimic-GNU-basename-API-for-non-glibc-library-e.g.-mu.patch
@@ -0,0 +1,28 @@
+From 272491297564513c4ce49a11bc1ecc523a3afd63 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 15 Mar 2024 11:05:54 -0700
+Subject: [PATCH] Mimic GNU basename() API for non-glibc library e.g. musl
+
+Upstream-Status: Submitted [https://github.com/lucasdemarchi/dietsplash/pull/7]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/util.h | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/src/util.h b/src/util.h
+index 1f4c3ef..a3ab54a 100644
+--- a/src/util.h
++++ b/src/util.h
+@@ -60,6 +60,9 @@
+ */
+ #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) + _array_size_chk(arr))
+
++#if !defined(__GLIBC__)
++#define basename(src) (strrchr(src,'/') ? strrchr(src,'/')+1 : src)
++#endif
+
+ #define DIE_PREFIX "[" PACKAGE_NAME "] ERR: "
+ #define LOG_SUFFIX "\n"
+--
+2.44.0
+
diff --git a/meta-oe/recipes-graphics/dietsplash/dietsplash/0001-configure.ac-Do-not-demand-linker-hash-style.patch b/meta-oe/recipes-graphics/dietsplash/dietsplash/0001-configure.ac-Do-not-demand-linker-hash-style.patch
index 87e8637eec..aad393b1d9 100644
--- a/meta-oe/recipes-graphics/dietsplash/dietsplash/0001-configure.ac-Do-not-demand-linker-hash-style.patch
+++ b/meta-oe/recipes-graphics/dietsplash/dietsplash/0001-configure.ac-Do-not-demand-linker-hash-style.patch
@@ -8,6 +8,8 @@ is not supported
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
+Upstream-Status: Pending
+
configure.ac | 1 -
1 file changed, 1 deletion(-)
diff --git a/meta-oe/recipes-graphics/dietsplash/dietsplash_git.bb b/meta-oe/recipes-graphics/dietsplash/dietsplash_git.bb
index 32f0815921..1ee2657bd0 100644
--- a/meta-oe/recipes-graphics/dietsplash/dietsplash_git.bb
+++ b/meta-oe/recipes-graphics/dietsplash/dietsplash_git.bb
@@ -1,22 +1,22 @@
SUMMARY = "Simple bootsplash for systemd systems"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
# Really, no depends besides a C library
-PV = "0.3"
-PR = "r1"
+PV = "0.3+git"
-SRCREV = "ef2e1a390e768e21e6a6268977580ee129a96633"
-SRC_URI = "git://github.com/lucasdemarchi/dietsplash.git \
+SRCREV = "8bed71d860bbb0c8792fa2a1179c9beeae84d577"
+SRC_URI = "git://github.com/lucasdemarchi/dietsplash.git;branch=master;protocol=https \
file://0001-configure.ac-Do-not-demand-linker-hash-style.patch \
- "
+ file://0001-Mimic-GNU-basename-API-for-non-glibc-library-e.g.-mu.patch \
+"
inherit autotools
S = "${WORKDIR}/git"
EXTRA_OECONF = " --with-systemdsystemunitdir=${systemd_unitdir}/system \
- --disable-staticimages"
+ --disable-staticimages --with-rootdir=${root_prefix}"
-FILES_${PN} += "${systemd_unitdir}/system/"
+FILES:${PN} += "${systemd_unitdir}/system/"
diff --git a/meta-oe/recipes-graphics/directfb/directfb-examples/0001-spacedream-Add-typecast-to-pthread_t-in-assignment.patch b/meta-oe/recipes-graphics/directfb/directfb-examples/0001-spacedream-Add-typecast-to-pthread_t-in-assignment.patch
new file mode 100644
index 0000000000..f40b7f144d
--- /dev/null
+++ b/meta-oe/recipes-graphics/directfb/directfb-examples/0001-spacedream-Add-typecast-to-pthread_t-in-assignment.patch
@@ -0,0 +1,39 @@
+From 85a30903ea3ba4232379bbbcb54960307d5a2da0 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 2 Sep 2022 18:49:03 -0700
+Subject: [PATCH] spacedream: Add typecast to pthread_t in assignment
+
+render_loop_thread is of type pthread_t, therefore -1 which is int can
+not be assigned to it. Do the needed typecast conversion
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/spacedream/main.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/spacedream/main.c b/src/spacedream/main.c
+index 430800f..8e1887c 100644
+--- a/src/spacedream/main.c
++++ b/src/spacedream/main.c
+@@ -205,7 +205,7 @@ void unload_stars()
+ int main( int argc, char *argv[] )
+ {
+ int quit = 0;
+- pthread_t render_loop_thread = -1;
++ pthread_t render_loop_thread = (pthread_t)-1;
+
+ IDirectFBSurface *primary;
+ IDirectFBEventBuffer *buffer;
+@@ -344,7 +344,7 @@ int main( int argc, char *argv[] )
+ pthread_cancel( render_loop_thread );
+ pthread_mutex_unlock( &render_start );
+ pthread_join( render_loop_thread, NULL );
+- render_loop_thread = -1;
++ render_loop_thread = (pthread_t)-1;
+
+
+ unload_stars();
+--
+2.37.3
+
diff --git a/meta-oe/recipes-graphics/directfb/directfb-examples_1.7.0.bb b/meta-oe/recipes-graphics/directfb/directfb-examples_1.7.0.bb
index 7907c5c0da..398e339482 100644
--- a/meta-oe/recipes-graphics/directfb/directfb-examples_1.7.0.bb
+++ b/meta-oe/recipes-graphics/directfb/directfb-examples_1.7.0.bb
@@ -9,6 +9,7 @@ LICENSE = "MIT"
SRC_URI = " \
http://downloads.yoctoproject.org/mirror/sources/DirectFB-examples-${PV}.tar.gz \
file://configure.in-Fix-string-argument-syntax.patch \
+ file://0001-spacedream-Add-typecast-to-pthread_t-in-assignment.patch \
"
LIC_FILES_CHKSUM = "file://COPYING;md5=ecf6fd2b19915afc4da56043926ca18f"
diff --git a/meta-oe/recipes-graphics/directfb/directfb.inc b/meta-oe/recipes-graphics/directfb/directfb.inc
index 96aa31117f..59796cc65f 100644
--- a/meta-oe/recipes-graphics/directfb/directfb.inc
+++ b/meta-oe/recipes-graphics/directfb/directfb.inc
@@ -5,11 +5,11 @@ abstraction, an integrated windowing system with support for \
translucent windows and multiple display layers on top of the \
Linux framebuffer device."
SECTION = "libs"
-LICENSE = "LGPLv2.1"
+LICENSE = "LGPL-2.1-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=dcf3c825659e82539645da41a7908589"
HOMEPAGE = "http://directfb.org"
-DEPENDS = "jpeg libpng freetype zlib sysfsutils"
+DEPENDS = "jpeg libpng sysfsutils"
SRC_URI = "http://downloads.yoctoproject.org/mirror/sources/DirectFB-${PV}.tar.gz \
file://configurefix.patch \
@@ -21,34 +21,41 @@ SRC_URI = "http://downloads.yoctoproject.org/mirror/sources/DirectFB-${PV}.tar.g
file://use-PTHREAD_MUTEX_RECURSIVE.patch \
file://fix-client-gfx_state-initialisation.patch \
file://fix-tslib-version-check.patch \
- "
+ file://0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch \
+ file://0001-os-linux-Fix-build-when-__NR_futex-is-not-available.patch \
+ file://0001-include-libgen.h-for-basename.patch \
+ file://0001-inputdrivers-Correct-the-signature-of-bind-call-on-m.patch \
+ file://0001-libdirect-remove-use-of-keyword-register.patch \
+ "
S = "${WORKDIR}/DirectFB-${PV}"
-LDFLAGS_append = " -lm"
+LDFLAGS:append = " -lm"
+
+CXXFLAGS:append:toolchain-clang = " -Wno-error=dtor-typedef"
# Workaround for linking issues seen with armv7a + gold
-LDFLAGS_append_arm = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}"
+LDFLAGS:append:arm = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}"
BINCONFIG = "${bindir}/directfb-config"
inherit autotools binconfig-disabled pkgconfig
-PACKAGECONFIG ??= "linuxinput"
-PACKAGECONFIG[jpeg2000] = "--enable-jpeg2000,--disable-jpeg2000,jasper"
+PACKAGECONFIG ??= "freetype linuxinput zlib"
PACKAGECONFIG[drmkms] = "--enable-drmkms,--disable-drmkms,libdrm"
-PACKAGECONFIG[tiff] = "--enable-tiff,--disable-tiff,tiff"
-PACKAGECONFIG[webp] = "--enable-webp,--disable-webp,libwebp"
-PACKAGECONFIG[tslib] = "--with-inputdrivers=tslib,,tslib"
+PACKAGECONFIG[freetype] = "--enable-freetype,--disable-freetype,freetype"
+PACKAGECONFIG[jpeg2000] = "--enable-jpeg2000,--disable-jpeg2000,jasper"
+PACKAGECONFIG[mesa] = "--enable-mesa,--disable-mesa,virtual/mesa,"
PACKAGECONFIG[linuxinput] = "--with-inputdrivers=linuxinput,,"
PACKAGECONFIG[noinput] = "--with-inputdrivers=none,,"
-PACKAGECONFIG[mesa] = "--enable-mesa,--disable-mesa,virtual/mesa,"
+PACKAGECONFIG[tiff] = "--enable-tiff,--disable-tiff,tiff"
+PACKAGECONFIG[tslib] = "--with-inputdrivers=tslib,,tslib"
+PACKAGECONFIG[webp] = "--enable-webp,--disable-webp,libwebp"
PACKAGECONFIG[x11] = "--enable-x11,--disable-x11,xserver-xorg,"
+PACKAGECONFIG[zlib] = "--enable-zlib,--disable-zlib,zlib"
EXTRA_OECONF = "\
--with-gfxdrivers=none \
- --enable-freetype=yes \
- --enable-zlib \
--disable-imlib2 \
--disable-sdl \
--disable-vnc \
@@ -58,18 +65,18 @@ EXTRA_OECONF = "\
#Once -fno-omit-frame-pointer option of gcc is added into TARGET_CLFAGS as default
#this will cause directfb build failure on x86 arch, so filter out it.
-TARGET_CFLAGS_remove_x86 = "-fno-omit-frame-pointer"
+TARGET_CFLAGS:remove:x86 = "-fno-omit-frame-pointer"
#PACKAGES_DYNAMIC += "^directfb-inputdrivers-.*"
#
-#python populate_packages_prepend () {
+#python populate_packages:prepend () {
# inputdrivers_libdir = d.expand('${libdir}/directfb-${RV}/inputdrivers')
# do_split_packages(d, inputdrivers_libdir, '*.so$', 'directfb-inputdrivers-%s', 'Directfb plugin for %s')
#}
# NOTE: monolithic packaging for now, should improve that eventually
-FILES_${PN}-dev += "\
+FILES:${PN}-dev += "\
${bindir}/directfb-config \
${libdir}/directfb-${RV}/systems/*.la \
${libdir}/directfb-${RV}/inputdrivers/*.la \
@@ -77,7 +84,7 @@ FILES_${PN}-dev += "\
${libdir}/directfb-${RV}/wm/*.la \
"
-FILES_${PN} += "\
+FILES:${PN} += "\
${libdir}/directfb-${RV}/systems/*.so \
${libdir}/directfb-${RV}/inputdrivers/*.so \
${libdir}/directfb-${RV}/interfaces/*/*.so \
diff --git a/meta-oe/recipes-graphics/directfb/directfb/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch b/meta-oe/recipes-graphics/directfb/directfb/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch
new file mode 100644
index 0000000000..2f766465e1
--- /dev/null
+++ b/meta-oe/recipes-graphics/directfb/directfb/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch
@@ -0,0 +1,139 @@
+From 0b66557f2e924023b12006b58d8e86149c745aed Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 30 Nov 2019 20:34:33 -0800
+Subject: [PATCH] Fix build on 32bit arches with 64bit time_t
+
+time element is deprecated on new input_event structure in kernel's
+input.h [1]
+
+[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit?id=152194fe9c3f
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ inputdrivers/linux_input/linux_input.c | 36 ++++++++++++++++++--------
+ 1 file changed, 25 insertions(+), 11 deletions(-)
+
+diff --git a/inputdrivers/linux_input/linux_input.c b/inputdrivers/linux_input/linux_input.c
+index 7e9a6ad..03deebc 100644
+--- a/inputdrivers/linux_input/linux_input.c
++++ b/inputdrivers/linux_input/linux_input.c
+@@ -42,6 +42,11 @@ typedef unsigned long kernel_ulong_t;
+
+ #include <linux/input.h>
+
++#ifndef input_event_sec
++#define input_event_sec time.tv_sec
++#define input_event_usec time.tv_usec
++#endif
++
+ #ifndef KEY_OK
+ /* Linux kernel 2.5.42+ defines additional keys in linux/input.h */
+ #include "input_fake.h"
+@@ -754,7 +759,8 @@ translate_event( const LinuxInputData *data,
+ DFBInputEvent *devt )
+ {
+ devt->flags = DIEF_TIMESTAMP;
+- devt->timestamp = levt->time;
++ devt->timestamp.tv_sec = levt->input_event_sec;
++ devt->timestamp.tv_usec = levt->input_event_usec;
+
+ switch (levt->type) {
+ case EV_KEY:
+@@ -2139,7 +2145,8 @@ touchpad_translate( struct touchpad_fsm_state *state,
+ int abs, rel;
+
+ devt->flags = DIEF_TIMESTAMP | (dfb_config->linux_input_touch_abs ? DIEF_AXISABS : DIEF_AXISREL);
+- devt->timestamp = levt->time;
++ devt->timestamp.tv_sec = levt->input_event_sec;
++ devt->timestamp.tv_usec = levt->input_event_usec;
+ devt->type = DIET_AXISMOTION;
+
+ switch (levt->code) {
+@@ -2204,7 +2211,7 @@ touchpad_fsm( struct touchpad_fsm_state *state,
+ DFBInputEvent *devt )
+ {
+ struct timeval timeout = { 0, 125000 };
+-
++ struct timeval tval;
+ /* select() timeout? */
+ if (!levt) {
+ /* Check if button release is due. */
+@@ -2223,6 +2230,8 @@ touchpad_fsm( struct touchpad_fsm_state *state,
+ return 0;
+ }
+
++ tval.tv_sec = levt->input_event_sec;
++ tval.tv_usec = levt->input_event_usec;
+ /* More or less ignore these events for now */
+ if ((levt->type == EV_SYN && levt->code == SYN_REPORT) ||
+ (levt->type == EV_ABS && levt->code == ABS_PRESSURE) ||
+@@ -2233,7 +2242,7 @@ touchpad_fsm( struct touchpad_fsm_state *state,
+
+ /* Check if button release is due. */
+ if (state->fsm_state == TOUCHPAD_FSM_DRAG_START &&
+- timeout_passed( &state->timeout, &levt->time )) {
++ timeout_passed( &state->timeout, &tval )) {
+ devt->flags = DIEF_TIMESTAMP;
+ devt->timestamp = state->timeout; /* timeout of levt->time? */
+ devt->type = DIET_BUTTONRELEASE;
+@@ -2255,7 +2264,8 @@ touchpad_fsm( struct touchpad_fsm_state *state,
+ case TOUCHPAD_FSM_START:
+ if (touchpad_finger_landing( levt )) {
+ state->fsm_state = TOUCHPAD_FSM_MAIN;
+- state->timeout = levt->time;
++ state->timeout.tv_sec = levt->input_event_sec;
++ state->timeout.tv_usec = levt->input_event_usec;
+ timeout_add( &state->timeout, &timeout );
+ }
+ return 0;
+@@ -2268,15 +2278,17 @@ touchpad_fsm( struct touchpad_fsm_state *state,
+ }
+ }
+ else if (touchpad_finger_leaving( levt )) {
+- if (!timeout_passed( &state->timeout, &levt->time )) {
++ if (!timeout_passed( &state->timeout, &tval )) {
+ devt->flags = DIEF_TIMESTAMP;
+- devt->timestamp = levt->time;
++ devt->timestamp.tv_sec = levt->input_event_sec;
++ devt->timestamp.tv_usec = levt->input_event_usec;
+ devt->type = DIET_BUTTONPRESS;
+ devt->button = DIBI_FIRST;
+
+ touchpad_fsm_init( state );
+ state->fsm_state = TOUCHPAD_FSM_DRAG_START;
+- state->timeout = levt->time;
++ state->timeout.tv_sec = levt->input_event_sec;
++ state->timeout.tv_usec = levt->input_event_usec;
+ timeout_add( &state->timeout, &timeout );
+ return 1;
+ }
+@@ -2287,7 +2299,7 @@ touchpad_fsm( struct touchpad_fsm_state *state,
+ return 0;
+
+ case TOUCHPAD_FSM_DRAG_START:
+- if (timeout_passed( &state->timeout, &levt->time )){
++ if (timeout_passed( &state->timeout, &tval )){
+ devt->flags = DIEF_TIMESTAMP;
+ devt->timestamp = state->timeout; /* timeout of levt->time? */
+ devt->type = DIET_BUTTONRELEASE;
+@@ -2299,7 +2311,8 @@ touchpad_fsm( struct touchpad_fsm_state *state,
+ else {
+ if (touchpad_finger_landing( levt )) {
+ state->fsm_state = TOUCHPAD_FSM_DRAG_MAIN;
+- state->timeout = levt->time;
++ state->timeout.tv_sec = levt->input_event_sec;
++ state->timeout.tv_usec = levt->input_event_usec;
+ timeout_add( &state->timeout, &timeout );
+ }
+ }
+@@ -2314,7 +2327,8 @@ touchpad_fsm( struct touchpad_fsm_state *state,
+ }
+ else if (touchpad_finger_leaving( levt )) {
+ devt->flags = DIEF_TIMESTAMP;
+- devt->timestamp = levt->time;
++ devt->timestamp.tv_sec = levt->input_event_sec;
++ devt->timestamp.tv_usec = levt->input_event_usec;
+ devt->type = DIET_BUTTONRELEASE;
+ devt->button = DIBI_FIRST;
+
diff --git a/meta-oe/recipes-graphics/directfb/directfb/0001-include-libgen.h-for-basename.patch b/meta-oe/recipes-graphics/directfb/directfb/0001-include-libgen.h-for-basename.patch
new file mode 100644
index 0000000000..abdba18fec
--- /dev/null
+++ b/meta-oe/recipes-graphics/directfb/directfb/0001-include-libgen.h-for-basename.patch
@@ -0,0 +1,32 @@
+From c8cf3ffd4fa14cdc6d607a09d51e898dec922348 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 25 Mar 2024 18:17:44 -0700
+Subject: [PATCH] include libgen.h for basename
+
+basename prototype has been removed from string.h from latest musl [1]
+compilers e.g. clang-18 flags the absense of prototype as error. therefore
+include libgen.h for providing it.
+
+[1] https://git.musl-libc.org/cgit/musl/commit/?id=725e17ed6dff4d0cd22487bb64470881e86a92e7
+
+Upstream-Status: Inappropriate [Upstream is dead]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ systems/fbdev/fbdev.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/systems/fbdev/fbdev.c b/systems/fbdev/fbdev.c
+index 5297358..4e6f178 100644
+--- a/systems/fbdev/fbdev.c
++++ b/systems/fbdev/fbdev.c
+@@ -42,6 +42,7 @@
+ #include <errno.h>
+ #include <string.h>
+ #include <strings.h>
++#include <libgen.h>
+ #if defined(HAVE_SYSIO)
+ # include <sys/io.h>
+ #endif
+--
+2.44.0
+
diff --git a/meta-oe/recipes-graphics/directfb/directfb/0001-inputdrivers-Correct-the-signature-of-bind-call-on-m.patch b/meta-oe/recipes-graphics/directfb/directfb/0001-inputdrivers-Correct-the-signature-of-bind-call-on-m.patch
new file mode 100644
index 0000000000..574bba0bc7
--- /dev/null
+++ b/meta-oe/recipes-graphics/directfb/directfb/0001-inputdrivers-Correct-the-signature-of-bind-call-on-m.patch
@@ -0,0 +1,36 @@
+From 18f4eca291cabf93d87e7c9051268d9c385b8f37 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 20 May 2024 18:23:06 -0700
+Subject: [PATCH] inputdrivers: Correct the signature of bind() call on musl
+ systems
+
+Its flagged with GCC14
+
+../../../DirectFB-1.7.7/inputdrivers/linux_input/linux_input.c:1551:27: error: passing argument 2 of 'bind' from incompatible pointer type [-Wincompatible-pointer-types]
+ 1551 | rt = bind(socket_fd, &sock_addr,
+ | ^~~~~~~~~~
+ | |
+ | struct sockaddr_un *
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ inputdrivers/linux_input/linux_input.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/inputdrivers/linux_input/linux_input.c b/inputdrivers/linux_input/linux_input.c
+index 03deebc..207f5a5 100644
+--- a/inputdrivers/linux_input/linux_input.c
++++ b/inputdrivers/linux_input/linux_input.c
+@@ -1548,7 +1548,7 @@ udev_hotplug_EventThread(DirectThread *thread, void * hotplug_data)
+ "/org/kernel/udev/monitor",
+ sizeof(sock_addr.sun_path) - 1);
+
+- rt = bind(socket_fd, &sock_addr,
++ rt = bind(socket_fd, (struct sockaddr *)&sock_addr,
+ sizeof(sock_addr.sun_family)+1+strlen(&sock_addr.sun_path[1]));
+ if (rt < 0) {
+ D_PERROR( "DirectFB/linux_input: bind() failed: %s\n",
+--
+2.45.1
+
diff --git a/meta-oe/recipes-graphics/directfb/directfb/0001-libdirect-remove-use-of-keyword-register.patch b/meta-oe/recipes-graphics/directfb/directfb/0001-libdirect-remove-use-of-keyword-register.patch
new file mode 100644
index 0000000000..24d977f4dc
--- /dev/null
+++ b/meta-oe/recipes-graphics/directfb/directfb/0001-libdirect-remove-use-of-keyword-register.patch
@@ -0,0 +1,44 @@
+From f6cdb9f1c3dbef8ef695703a2a5fb4e92b2dd8a0 Mon Sep 17 00:00:00 2001
+From: Simon Barth <simon.barth@gmx.de>
+Date: Mon, 5 Aug 2024 19:35:16 +0200
+Subject: [PATCH] libdirect: remove use of keyword 'register'
+
+The 'register' keyword was removed in C++17 and is now unused and
+reserved. When compiling code that uses DirecthFB with C++17,
+compilation fails.
+
+Since modern compilers likely don't produce different code whether the
+'register' keyword is used or not, there shouldn't be any performance
+impact introduced by this change.
+
+Signed-off-by: Simon Barth <simon.barth@gmx.de>
+
+Upstream-Status: Submitted [https://github.com/deniskropp/DirectFB/pull/25]
+---
+ lib/direct/util.h | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/lib/direct/util.h b/lib/direct/util.h
+index 2109b6ca1..734645796 100644
+--- a/lib/direct/util.h
++++ b/lib/direct/util.h
+@@ -220,7 +220,7 @@ void DIRECT_API direct_md5_sum( void *dst, const void *src, const int len );
+ static __inline__ int
+ direct_util_count_bits( unsigned int mask )
+ {
+- register int ret = 0;
++ int ret = 0;
+
+ while (mask) {
+ ret += mask & 1;
+@@ -325,7 +325,7 @@ D_ICEIL(float f)
+ static __inline__ int
+ direct_log2( int val )
+ {
+- register int ret = 0;
++ int ret = 0;
+
+ while (val >> ++ret);
+
+--
+2.25.1
diff --git a/meta-oe/recipes-graphics/directfb/directfb/0001-os-linux-Fix-build-when-__NR_futex-is-not-available.patch b/meta-oe/recipes-graphics/directfb/directfb/0001-os-linux-Fix-build-when-__NR_futex-is-not-available.patch
new file mode 100644
index 0000000000..db4417a3d6
--- /dev/null
+++ b/meta-oe/recipes-graphics/directfb/directfb/0001-os-linux-Fix-build-when-__NR_futex-is-not-available.patch
@@ -0,0 +1,54 @@
+From 7df69c3a784ab2cc4770bdb366cf788cdb78099a Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 15 Nov 2020 12:30:41 -0800
+Subject: [PATCH] os/linux: Fix build when __NR_futex is not available
+
+Newer architectures like riscv32 do not define __NR_futex intentionally
+since it uses 64bit time_t from very beginning, therefore only caters to
+futex_time64 syscall
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ lib/direct/os/linux/glibc/system.c | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/lib/direct/os/linux/glibc/system.c b/lib/direct/os/linux/glibc/system.c
+index 373a711..d027a70 100644
+--- a/lib/direct/os/linux/glibc/system.c
++++ b/lib/direct/os/linux/glibc/system.c
+@@ -36,6 +36,7 @@
+
+ #include <errno.h>
+ #include <signal.h>
++#include <sys/syscall.h>
+ #include <unistd.h>
+
+ #include <linux/unistd.h>
+@@ -46,6 +47,10 @@
+ #include <direct/system.h>
+ #include <direct/util.h>
+
++#if !defined(SYS_futex) && defined(SYS_futex_time64)
++# define SYS_futex SYS_futex_time64
++#endif
++
+ D_LOG_DOMAIN( Direct_Futex, "Direct/Futex", "Direct Futex" );
+ D_LOG_DOMAIN( Direct_Trap, "Direct/Trap", "Direct Trap" );
+
+@@ -239,10 +244,9 @@ direct_futex( int *uaddr, int op, int val, const struct timespec *timeout, int *
+ }
+ #endif
+
+- ret = syscall( __NR_futex, uaddr, op, val, timeout, uaddr2, val3 );
++ ret = syscall( SYS_futex, uaddr, op, val, timeout, uaddr2, val3 );
+ if (ret < 0)
+ return errno2result( errno );
+
+ return DR_OK;
+ }
+-
+--
+2.29.2
+
diff --git a/meta-oe/recipes-graphics/dnfdragora/dnfdragora/0001-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch b/meta-oe/recipes-graphics/dnfdragora/dnfdragora/0001-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch
index 46d4dbde4d..5740f4a819 100644
--- a/meta-oe/recipes-graphics/dnfdragora/dnfdragora/0001-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch
+++ b/meta-oe/recipes-graphics/dnfdragora/dnfdragora/0001-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch
@@ -5,16 +5,18 @@ Subject: [PATCH] Do not set PYTHON_INSTALL_DIR by running python.
Signed-off-by: Lei Maohui <leimaohui@cn.fujitsu.com>
---
+Upstream-Status: Pending
+
CMakeLists.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 7c66b39..1489ef6 100644
+index 230c87b..e699e83 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
-@@ -19,7 +19,7 @@ else(NOT SPHINX_EXECUTABLE-NOTFOUND)
- message(STATUS "Could NOT find sphinx-build.")
- endif(NOT SPHINX_EXECUTABLE-NOTFOUND)
+@@ -19,7 +19,7 @@ else(SPHINX_EXECUTABLE STREQUAL "SPHINX_EXECUTABLE-NOTFOUND")
+ message(STATUS "Found sphinx-build: ${SPHINX_EXECUTABLE}")
+ endif(SPHINX_EXECUTABLE STREQUAL "SPHINX_EXECUTABLE-NOTFOUND")
-execute_process(COMMAND ${PYTHON_EXECUTABLE} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(), end='')" OUTPUT_VARIABLE PYTHON_INSTALL_DIR)
+#execute_process(COMMAND ${PYTHON_EXECUTABLE} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(), end='')" OUTPUT_VARIABLE PYTHON_INSTALL_DIR)
@@ -22,5 +24,5 @@ index 7c66b39..1489ef6 100644
execute_process(COMMAND ${PYTHON_EXECUTABLE} -c "import sys; sys.stdout.write('%s.%s' % (sys.version_info.major, sys.version_info.minor))" OUTPUT_VARIABLE PYTHON_MAJOR_DOT_MINOR_VERSION)
message(STATUS "Python install dir is ${PYTHON_INSTALL_DIR}")
--
-2.7.4
+2.17.1
diff --git a/meta-oe/recipes-graphics/dnfdragora/dnfdragora/0001-Run-python-scripts-using-env.patch b/meta-oe/recipes-graphics/dnfdragora/dnfdragora/0001-Run-python-scripts-using-env.patch
deleted file mode 100644
index 75b6b8fd99..0000000000
--- a/meta-oe/recipes-graphics/dnfdragora/dnfdragora/0001-Run-python-scripts-using-env.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 15d0afcfa4868b7b072b3434bac0064617d61f99 Mon Sep 17 00:00:00 2001
-From: Lei Maohui <leimaohui@cn.fujitsu.com>
-Date: Tue, 19 Dec 2017 14:53:14 +0900
-Subject: [PATCH] Run python scripts using env
-
-Otherwise the build tools hardcode the python path into them.
-
-Signed-off-by: Lei Maohui <leimaohui@cn.fujitsu.com>
----
- bin/dnfdragora | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/bin/dnfdragora b/bin/dnfdragora
-index b8e0550..cd80f7f 100755
---- a/bin/dnfdragora
-+++ b/bin/dnfdragora
-@@ -1,4 +1,4 @@
--#!/usr/bin/python3
-+#!/usr/bin/env python3
- # vim: set et ts=4 sw=4:
- # Copyright 2016-2017 Angelo Naselli <anaselli@linux.it>
- #
---
-2.7.4
-
diff --git a/meta-oe/recipes-graphics/dnfdragora/dnfdragora/0001-To-fix-error-when-do_package.patch b/meta-oe/recipes-graphics/dnfdragora/dnfdragora/0001-To-fix-error-when-do_package.patch
index 90ce1d0ac3..2951ee4555 100644
--- a/meta-oe/recipes-graphics/dnfdragora/dnfdragora/0001-To-fix-error-when-do_package.patch
+++ b/meta-oe/recipes-graphics/dnfdragora/dnfdragora/0001-To-fix-error-when-do_package.patch
@@ -3,29 +3,32 @@ From: Lei Maohui <leimaohui@cn.fujitsu.com>
Date: Tue, 19 Dec 2017 11:15:29 +0900
Subject: [PATCH] To fix error when do_package
-QA Issue: nativesdk-dnfdragora: Files/directories were installed but not shipped in any package:
+QA Issue: nativesdk-dnfdragora: Files/directories were installed but not
+shipped in any package:
/etc
/etc/dnfdragora
/etc/dnfdragora/dnfdragora.yaml
Signed-off-by: Lei Maohui <leimaohui@cn.fujitsu.com>
---
+Upstream-Status: Pending
+
CMakeLists.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 7c66b39..a5659f7 100644
+index 230c87b..1b8d800 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
-@@ -52,7 +52,7 @@ endif(ENABLE_COMPS)
+@@ -68,7 +68,7 @@ endif(ENABLE_COMPS)
set(CMAKE_INSTALL_BINDIR "${CMAKE_INSTALL_PREFIX}/bin")
set(CMAKE_INSTALL_DATAROOTDIR "${CMAKE_INSTALL_PREFIX}/share")
set(CMAKE_INSTALL_LOCALEDIR "${CMAKE_INSTALL_DATAROOTDIR}/locale")
--set(CMAKE_INSTALL_FULL_SYSCONFDIR "/etc")
-+set(CMAKE_INSTALL_FULL_SYSCONFDIR "${CMAKE_INSTALL_PREFIX}/../etc")
+-set(CMAKE_INSTALL_FULL_SYSCONFDIR "/etc" CACHE PATH "sysconfig directory (default /etc)")
++set(CMAKE_INSTALL_FULL_SYSCONFDIR "${CMAKE_INSTALL_PREFIX}/../etc" CACHE PATH "sysconfig directory (default /etc)")
# Configure files
configure_file(${CMAKE_SOURCE_DIR}/etc/dnfdragora.yaml.in ${CMAKE_BINARY_DIR}/etc/dnfdragora.yaml @ONLY)
--
-2.7.4
+2.17.1
diff --git a/meta-oe/recipes-graphics/dnfdragora/dnfdragora/0001-disable-build-manpages.patch b/meta-oe/recipes-graphics/dnfdragora/dnfdragora/0001-disable-build-manpages.patch
index 88bb634162..078f525117 100644
--- a/meta-oe/recipes-graphics/dnfdragora/dnfdragora/0001-disable-build-manpages.patch
+++ b/meta-oe/recipes-graphics/dnfdragora/dnfdragora/0001-disable-build-manpages.patch
@@ -5,21 +5,23 @@ Subject: [PATCH] disable build manpages.
Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
---
+Upstream-Status: Pending
+
CMakeLists.txt | 1 -
1 file changed, 1 deletion(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 7c66b39..fc32750 100644
+index 230c87b..1624998 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
-@@ -65,7 +65,6 @@ endif(GETTEXT_FOUND)
+@@ -81,7 +81,6 @@ endif(GETTEXT_FOUND)
# Build and install the man-pages
- if(NOT SPHINX_EXECUTABLE-NOTFOUND)
+ if(NOT SPHINX_EXECUTABLE STREQUAL "SPHINX_EXECUTABLE-NOTFOUND")
- add_subdirectory(man)
- endif(NOT SPHINX_EXECUTABLE-NOTFOUND)
+ endif(NOT SPHINX_EXECUTABLE STREQUAL "SPHINX_EXECUTABLE-NOTFOUND")
# Installing application code
--
-2.7.4
+2.17.1
diff --git a/meta-oe/recipes-graphics/dnfdragora/dnfdragora_git.bb b/meta-oe/recipes-graphics/dnfdragora/dnfdragora_2.1.6.bb
index 9cd1efb8e8..50504caf9f 100644
--- a/meta-oe/recipes-graphics/dnfdragora/dnfdragora_git.bb
+++ b/meta-oe/recipes-graphics/dnfdragora/dnfdragora_2.1.6.bb
@@ -1,30 +1,31 @@
SUMMARY = "dnfdragora is a DNF frontend, based on rpmdragora from Mageia (originally rpmdrake) Perl code."
-LICENSE = "GPLv3"
+LICENSE = "GPL-3.0-only"
LIC_FILES_CHKSUM = "file://LICENSE;md5=d32239bcb673463ab874e80d47fae504 \
"
-SRC_URI = "git://github.com/manatools/dnfdragora.git \
+SRC_URI = "git://github.com/manatools/dnfdragora.git;branch=stable-2.x;protocol=https \
file://0001-disable-build-manpages.patch \
file://0001-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch \
file://0001-To-fix-error-when-do_package.patch \
- file://0001-Run-python-scripts-using-env.patch \
"
-PV = "1.0.1+git${SRCPV}"
-SRCREV = "4fef4ce889b8e4fa03191d414f63bfd50796152a"
+SRCREV = "abbe08b7a487325182758d5285b54437a914207b"
S = "${WORKDIR}/git"
-inherit cmake gettext pkgconfig python3-dir python3native distutils3-base
+inherit cmake gettext pkgconfig python3-dir python3native setuptools3-base mime-xdg
DEPENDS += "dnf python3 "
-#DEPENDS_class-nativesdk += "nativesdk-python3"
+#DEPENDS:class-nativesdk += "nativesdk-python3"
-RDEPENDS_${PN}_class-target = " python3-core libyui libyui-ncurses "
+RDEPENDS:${PN}:class-target = " python3-core libyui libyui-ncurses "
# manpages generation requires http://www.sphinx-doc.org/
EXTRA_OECMAKE = " -DWITH_MAN=OFF -DPYTHON_INSTALL_DIR=${PYTHON_SITEPACKAGES_DIR} -DPYTHON_DESIRED=3"
BBCLASSEXTEND = "nativesdk"
-FILES_${PN} = "${PYTHON_SITEPACKAGES_DIR}/ ${datadir}/ ${bindir}/ ${sysconfdir}/dnfdragora "
+FILES:${PN} = "${PYTHON_SITEPACKAGES_DIR}/ ${datadir}/ ${bindir}/ ${sysconfdir}/dnfdragora ${sysconfdir}/xdg"
+
+SKIP_RECIPE[dnfdragora] ?= "${@bb.utils.contains('PACKAGE_CLASSES', 'package_rpm', '', 'does not build correctly without package_rpm in PACKAGE_CLASSES', d)}"
+
diff --git a/meta-oe/recipes-graphics/fbgrab/fbgrab_1.3.bb b/meta-oe/recipes-graphics/fbgrab/fbgrab_1.5.bb
index e12bc094d5..7b52ead909 100644
--- a/meta-oe/recipes-graphics/fbgrab/fbgrab_1.3.bb
+++ b/meta-oe/recipes-graphics/fbgrab/fbgrab_1.5.bb
@@ -1,16 +1,16 @@
SUMMARY = "FBGrab is a framebuffer screenshot program"
-HOMEPAGE = "http://fbgrab.monells.se/"
-LICENSE = "GPLv2"
+HOMEPAGE = "https://github.com/GunnarMonell/fbgrab"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=ea5bed2f60d357618ca161ad539f7c0a"
SECTION = "console/utils"
DEPENDS = "libpng zlib"
-SRC_URI = "http://fbgrab.monells.se/${BP}.tar.gz"
+SRC_URI = "git://github.com/GunnarMonell/fbgrab.git;protocol=https;branch=master"
-inherit autotools-brokensep
+SRCREV = "f43ce6d5ce48fb01360eaa7c4a92c2573a1d02f8"
+S = "${WORKDIR}/git"
-SRC_URI[md5sum] = "7d8c24081c681dfbba21f2934c1ac656"
-SRC_URI[sha256sum] = "5fab478cbf8731fbacefaa76236a8f8b38ccff920c53b3a8253bc35509fba8ed"
+inherit autotools-brokensep
-do_configure_prepend() {
+do_configure:prepend() {
sed -i 's|$(DESTDIR)/usr/man/|$(DESTDIR)${mandir}/|g' ${S}/Makefile
}
diff --git a/meta-oe/recipes-graphics/fbida/fbida_2.10.bb b/meta-oe/recipes-graphics/fbida/fbida_2.10.bb
deleted file mode 100644
index 0bf48ace6b..0000000000
--- a/meta-oe/recipes-graphics/fbida/fbida_2.10.bb
+++ /dev/null
@@ -1,73 +0,0 @@
-SUMMARY = "Framebuffer image and doc viewer tools"
-DESCRIPTION = "The fbida project contains a few applications for viewing and editing images, \
- with the main focus being photos."
-HOMEPAGE = "http://linux.bytesex.org/fbida/"
-AUTHOR = "Gerd Hoffmann"
-SECTION = "utils"
-
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b"
-
-DEPENDS = "virtual/libiconv jpeg fontconfig freetype libexif"
-
-SRC_URI = "https://www.kraxel.org/releases/fbida/fbida-${PV}.tar.gz \
- file://0001-Avoid-using-host-path.patch \
- file://fix-preprocessor.patch \
- file://support-jpeg-turbo.patch \
- file://use-jpeg-turbo.patch \
- "
-SRC_URI[md5sum] = "09460b964b58c2e39b665498eca29018"
-SRC_URI[sha256sum] = "7a5a3aac61b40a6a2bbf716d270a46e2f8e8d5c97e314e927d41398a4d0b6cb6"
-
-B = "${WORKDIR}/build"
-
-inherit pkgconfig
-
-EXTRA_OEMAKE = "STRIP= 'srcdir=${S}' -f ${S}/GNUmakefile"
-
-PACKAGECONFIG ??= "gif png curl"
-PACKAGECONFIG[curl] = ",,curl"
-PACKAGECONFIG[gif] = ",,giflib"
-PACKAGECONFIG[png] = ",,libpng"
-PACKAGECONFIG[tiff] = ",,tiff"
-PACKAGECONFIG[motif] = ",,libx11 libxext libxpm libxt openmotif"
-PACKAGECONFIG[webp] = ",,libwebp"
-PACKAGECONFIG[lirc] = ",,lirc"
-
-do_compile() {
- sed -i -e 's# fbgs# \$(srcdir)/fbgs#; s#-Ijpeg#-I\$(srcdir)/jpeg#; s# jpeg/# \$(srcdir)/jpeg/#' ${S}/GNUmakefile
- sed -i -e 's:/sbin/ldconfig:echo x:' ${S}/mk/Autoconf.mk
- sed -i -e 's: cpp: ${CPP}:' ${S}/GNUmakefile
-
- # Be sure to respect preferences (force to "no")
- # Also avoid issues when ${BUILD_ARCH} == ${HOST_ARCH}
- if [ -z "${@bb.utils.filter('PACKAGECONFIG', 'curl', d)}" ]; then
- sed -i -e '/^HAVE_LIBCURL/s/:=.*$/:= no/' ${S}/GNUmakefile
- fi
- if [ -z "${@bb.utils.filter('PACKAGECONFIG', 'gif', d)}" ]; then
- sed -i -e '/^HAVE_LIBGIF/s/:=.*$/:= no/' ${S}/GNUmakefile
- fi
- if [ -z "${@bb.utils.filter('PACKAGECONFIG', 'png', d)}" ]; then
- sed -i -e '/^HAVE_LIBPNG/s/:=.*$/:= no/' ${S}/GNUmakefile
- fi
- if [ -z "${@bb.utils.filter('PACKAGECONFIG', 'tiff', d)}" ]; then
- sed -i -e '/^HAVE_LIBTIFF/s/:=.*$/:= no/' ${S}/GNUmakefile
- fi
- if [ -z "${@bb.utils.filter('PACKAGECONFIG', 'motif', d)}" ]; then
- sed -i -e '/^HAVE_MOTIF/s/:=.*$/:= no/' ${S}/GNUmakefile
- fi
- if [ -z "${@bb.utils.filter('PACKAGECONFIG', 'webp', d)}" ]; then
- sed -i -e '/^HAVE_LIBWEBP/s/:=.*$/:= no/' ${S}/GNUmakefile
- fi
- if [ -z "${@bb.utils.filter('PACKAGECONFIG', 'lirc', d)}" ]; then
- sed -i -e '/^HAVE_LIBLIRC/s/:=.*$/:= no/' ${S}/GNUmakefile
- fi
-
- oe_runmake
-}
-
-do_install() {
- oe_runmake 'DESTDIR=${D}' install
-}
-
-RDEPENDS_${PN} = "ttf-dejavu-sans-mono bash"
diff --git a/meta-oe/recipes-graphics/fbida/fbida_git.bb b/meta-oe/recipes-graphics/fbida/fbida_git.bb
new file mode 100644
index 0000000000..6c06748499
--- /dev/null
+++ b/meta-oe/recipes-graphics/fbida/fbida_git.bb
@@ -0,0 +1,41 @@
+SUMMARY = "Framebuffer image and doc viewer tools"
+DESCRIPTION = "The fbida project contains a few applications for viewing and editing images, \
+ with the main focus being photos."
+HOMEPAGE = "https://www.kraxel.org/blog/linux/fbida/"
+SECTION = "utils"
+
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=e8feb78a32950a909621bbb51f634b39"
+
+DEPENDS = "virtual/libiconv jpeg fontconfig freetype libexif libdrm pixman udev libinput cairo"
+
+PV = "2.14+git"
+SRC_URI = "git://github.com/kraxel/fbida;protocol=https;branch=master \
+ file://fix-preprocessor.patch \
+ file://support-jpeg-turbo.patch \
+ file://fbida-gcc10.patch \
+ file://0001-meson.build-install-fbgs-shell-script.patch \
+ file://0002-meson.build-add-features-options-for-png-gif-tiff-we.patch \
+ file://0003-meson.build-do-not-require-xkbcommon.patch \
+ file://0001-meson.build-make-fbpdf-build-optional.patch \
+ file://0001-fbida-Include-missing-sys-types.h.patch \
+"
+SRCREV = "eb769e3d7f4a073d4c37ed524ebd5017c6a578f5"
+S = "${WORKDIR}/git"
+
+inherit meson pkgconfig features_check
+
+# Depends on libepoxy
+REQUIRED_DISTRO_FEATURES = "${@bb.utils.contains('PACKAGECONFIG', 'pdf', 'opengl', '', d)}"
+
+PACKAGECONFIG ??= "gif png pdf"
+PACKAGECONFIG[gif] = "-Dgif=enabled,-Dgif=disabled,giflib"
+PACKAGECONFIG[png] = "-Dpng=enabled,-Dpng=disabled,libpng"
+PACKAGECONFIG[tiff] = "-Dtiff=enabled,-Dtiff=disabled,tiff"
+PACKAGECONFIG[motif] = "-Dmotif=enabled,-Dmotif=disabled,libx11 libxext libxpm libxt openmotif"
+PACKAGECONFIG[webp] = "-Dwebp=enabled,-Dwebp=disabled,libwebp"
+PACKAGECONFIG[pdf] = "-Dpdf=enabled,-Dpdf=disabled,poppler libepoxy"
+
+CFLAGS += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', '-DEGL_NO_X11=1', d)}"
+
+RDEPENDS:${PN} = "ttf-dejavu-sans-mono"
diff --git a/meta-oe/recipes-graphics/fbida/files/0001-Avoid-using-host-path.patch b/meta-oe/recipes-graphics/fbida/files/0001-Avoid-using-host-path.patch
deleted file mode 100644
index cdf2c25d37..0000000000
--- a/meta-oe/recipes-graphics/fbida/files/0001-Avoid-using-host-path.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 8d8fa9f22d9f6a95523bac63ac3af724faf5ff92 Mon Sep 17 00:00:00 2001
-From: Marek Vasut <marex@denx.de>
-Date: Fri, 7 Apr 2017 23:26:09 +0200
-Subject: [PATCH] Avoid using host-path
-
-Remove the explicit reference to /usr/local/* , this is completely
-bogus and causes trouble during cross-compilation.
-
-Signed-off-by: Marek Vasut <marex@denx.de>
-Upstream-Status: Inappropriate [upstream requires this]
----
- mk/Variables.mk | 6 ------
- 1 file changed, 6 deletions(-)
-
-diff --git a/mk/Variables.mk b/mk/Variables.mk
-index 99f787c..3ffd87a 100644
---- a/mk/Variables.mk
-+++ b/mk/Variables.mk
-@@ -42,12 +42,6 @@ CFLAGS += -Wall -Wmissing-prototypes -Wstrict-prototypes \
- -Wpointer-arith -Wunused
- CXXFLAGS += -Wall -Wpointer-arith -Wunused
-
--# add /usr/local to the search path if something is in there ...
--ifneq ($(wildcard /usr/local/include/*.h),)
-- CFLAGS += -I/usr/local/include
-- LDFLAGS += -L/usr/local/$(LIB)
--endif
--
- # fixup include path for $(srcdir) != "."
- ifneq ($(srcdir),.)
- CFLAGS += -I. -I$(srcdir)
---
-2.11.0
-
diff --git a/meta-oe/recipes-graphics/fbida/files/0001-fbida-Include-missing-sys-types.h.patch b/meta-oe/recipes-graphics/fbida/files/0001-fbida-Include-missing-sys-types.h.patch
new file mode 100644
index 0000000000..0fb58f80e1
--- /dev/null
+++ b/meta-oe/recipes-graphics/fbida/files/0001-fbida-Include-missing-sys-types.h.patch
@@ -0,0 +1,31 @@
+From 17490e264e627ead81bf5840c8797de968485943 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 3 Jul 2023 11:25:26 -0700
+Subject: [PATCH] fbida: Include missing <sys/types.h>
+
+Fixes build on musl
+../git/gfx.h:43:5: error: unknown type name 'dev_t'; did you mean 'div_t'?
+ dev_t devnum;
+ ^~~~~
+ div_t
+TOPDIR/build/tmp/work/cortexa57-yoe-linux-musl/fbida/2.14+gitAUTOINC+eb769e3d7f-r0/recipe-sysroot/usr/include/stdlib.h:64:35: note: 'div_t' declared here
+typedef struct { int quot, rem; } div_t;
+ ^
+1 error generated
+
+Upstream-Status: Submitted [https://github.com/kraxel/fbida/pull/3]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ gfx.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/gfx.h
++++ b/gfx.h
+@@ -1,5 +1,6 @@
+ #include <stdbool.h>
+ #include <inttypes.h>
++#include <sys/types.h>
+
+ #include <pixman.h>
+ #include <cairo.h>
diff --git a/meta-oe/recipes-graphics/fbida/files/0001-meson.build-install-fbgs-shell-script.patch b/meta-oe/recipes-graphics/fbida/files/0001-meson.build-install-fbgs-shell-script.patch
new file mode 100644
index 0000000000..4d081258be
--- /dev/null
+++ b/meta-oe/recipes-graphics/fbida/files/0001-meson.build-install-fbgs-shell-script.patch
@@ -0,0 +1,28 @@
+From f9c455e81ad4d870c8ae20b9af8598139231ad26 Mon Sep 17 00:00:00 2001
+From: "Meyer, Wolfgang" <Wolfgang.Meyer@gossenmetrawatt.com>
+Date: Fri, 9 Sep 2022 09:32:22 +0200
+Subject: [PATCH] meson.build: install fbgs shell script
+
+Upstream-Status: Submitted [https://github.com/kraxel/fbida/pull/4]
+Signed-off-by: "Meyer, Wolfgang" <Wolfgang.Meyer@gossenmetrawatt.com>
+---
+ meson.build | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/meson.build b/meson.build
+index cbed982..2129896 100644
+--- a/meson.build
++++ b/meson.build
+@@ -126,6 +126,9 @@ executable('fbpdf',
+ sources : fbpdf_srcs,
+ dependencies : fbpdf_deps,
+ install : true)
++install_data('fbgs',
++ install_dir : get_option('bindir'),
++ install_mode : 'rwxr--r--')
+
+ # build fbcon
+ fbcon_srcs = [ 'fbcon.c', 'drmtools.c', 'fbtools.c', 'gfx.c', 'vt.c', 'kbd.c' ]
+--
+2.37.3
+
diff --git a/meta-oe/recipes-graphics/fbida/files/0001-meson.build-make-fbpdf-build-optional.patch b/meta-oe/recipes-graphics/fbida/files/0001-meson.build-make-fbpdf-build-optional.patch
new file mode 100644
index 0000000000..b872e213aa
--- /dev/null
+++ b/meta-oe/recipes-graphics/fbida/files/0001-meson.build-make-fbpdf-build-optional.patch
@@ -0,0 +1,66 @@
+From c00a155e90a9b22bd6ab5fa5407bb9923ee16ca0 Mon Sep 17 00:00:00 2001
+From: "Meyer, Wolfgang" <Wolfgang.Meyer@gossenmetrawatt.com>
+Date: Fri, 16 Sep 2022 18:45:58 +0200
+Subject: [PATCH] meson.build: make fbpdf build optional
+
+Upstream-Status: Submitted [https://github.com/kraxel/fbida/pull/4]
+Signed-off-by: "Meyer, Wolfgang" <Wolfgang.Meyer@gossenmetrawatt.com>
+---
+ meson.build | 22 ++++++++++++----------
+ meson_options.txt | 1 +
+ 2 files changed, 13 insertions(+), 10 deletions(-)
+
+diff --git a/meson.build b/meson.build
+index 6b3daf3..289d1ec 100644
+--- a/meson.build
++++ b/meson.build
+@@ -15,11 +15,11 @@ x11resdir = x11resrun.stdout().strip()
+
+ # pkg-config deps
+ pixman_dep = dependency('pixman-1')
+-poppler_dep = dependency('poppler-glib')
++poppler_dep = dependency('poppler-glib', required: get_option('pdf'))
+ cairo_dep = dependency('cairo')
+ drm_dep = dependency('libdrm')
+-gbm_dep = dependency('gbm')
+-epoxy_dep = dependency('epoxy')
++gbm_dep = dependency('gbm', required: get_option('pdf'))
++epoxy_dep = dependency('epoxy', required: get_option('pdf'))
+ exif_dep = dependency('libexif')
+ png_dep = dependency('libpng', required: get_option('png'))
+ tiff_dep = dependency('libtiff-4', required: get_option('tiff'))
+@@ -132,13 +132,15 @@ fbpdf_deps = [ drm_dep, gbm_dep, epoxy_dep,
+ pixman_dep, poppler_dep, cairo_dep,
+ udev_dep, input_dep ]
+
+-executable('fbpdf',
+- sources : fbpdf_srcs,
+- dependencies : fbpdf_deps,
+- install : true)
+-install_data('fbgs',
+- install_dir : get_option('bindir'),
+- install_mode : 'rwxr--r--')
++if get_option('pdf').enabled()
++ executable('fbpdf',
++ sources : fbpdf_srcs,
++ dependencies : fbpdf_deps,
++ install : true)
++ install_data('fbgs',
++ install_dir : get_option('bindir'),
++ install_mode : 'rwxr--r--')
++endif
+
+ # build fbcon
+ fbcon_srcs = [ 'fbcon.c', 'drmtools.c', 'fbtools.c', 'gfx.c', 'vt.c', 'kbd.c' ]
+diff --git a/meson_options.txt b/meson_options.txt
+index ce37188..74699ab 100644
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -3,3 +3,4 @@ option('png', type: 'feature', value : 'enabled')
+ option('tiff', type: 'feature', value : 'enabled')
+ option('webp', type: 'feature', value : 'disabled')
+ option('motif', type: 'feature', value : 'disabled')
++option('pdf', type: 'feature', value : 'enabled')
+--
+2.37.3
+
diff --git a/meta-oe/recipes-graphics/fbida/files/0002-meson.build-add-features-options-for-png-gif-tiff-we.patch b/meta-oe/recipes-graphics/fbida/files/0002-meson.build-add-features-options-for-png-gif-tiff-we.patch
new file mode 100644
index 0000000000..4f54fbfba7
--- /dev/null
+++ b/meta-oe/recipes-graphics/fbida/files/0002-meson.build-add-features-options-for-png-gif-tiff-we.patch
@@ -0,0 +1,124 @@
+From cdcde5c1fd106a69118dff98118600911392762f Mon Sep 17 00:00:00 2001
+From: "Meyer, Wolfgang" <Wolfgang.Meyer@gossenmetrawatt.com>
+Date: Fri, 16 Sep 2022 16:25:38 +0200
+Subject: [PATCH] meson.build: add features options for png, gif, tiff, webp, and motif
+
+Upstream-Status: Submitted [https://github.com/kraxel/fbida/pull/4]
+Signed-off-by: "Meyer, Wolfgang" <Wolfgang.Meyer@gossenmetrawatt.com>
+---
+ meson.build | 41 +++++++++++++++++++++++++++--------------
+ meson_options.txt | 5 +++++
+ selections.c | 4 ++++
+ 3 files changed, 36 insertions(+), 14 deletions(-)
+ create mode 100644 meson_options.txt
+
+diff --git a/meson.build b/meson.build
+index cd9cc49..b5e3ffc 100644
+--- a/meson.build
++++ b/meson.build
+@@ -23,9 +23,9 @@ drm_dep = dependency('libdrm')
+ gbm_dep = dependency('gbm')
+ epoxy_dep = dependency('epoxy')
+ exif_dep = dependency('libexif')
+-png_dep = dependency('libpng')
+-tiff_dep = dependency('libtiff-4')
+-webp_dep = dependency('libwebp', required : false)
++png_dep = dependency('libpng', required: get_option('png'))
++tiff_dep = dependency('libtiff-4', required: get_option('tiff'))
++webp_dep = dependency('libwebp', required : get_option('webp'))
+ udev_dep = dependency('libudev')
+ input_dep = dependency('libinput')
+ xkb_dep = dependency('xkbcommon')
+@@ -36,20 +36,20 @@ jpeg_dep = cc.find_library('jpeg')
+ util_dep = cc.find_library('util')
+ math_dep = cc.find_library('m', required : false)
+ pcd_dep = cc.find_library('pcd', required : false)
+-gif_dep = cc.find_library('gif', required : false)
++gif_dep = cc.find_library('gif', required: get_option('gif'))
+
+ # motif + x11 libs
+-motif_dep = cc.find_library('Xm', required : false)
+-xpm_dep = cc.find_library('Xpm', required : false)
+-xt_dep = cc.find_library('Xt', required : false)
+-xext_dep = cc.find_library('Xext', required : false)
+-x11_dep = cc.find_library('X11', required : false)
++motif_dep = cc.find_library('Xm', required : get_option('motif'))
++xpm_dep = cc.find_library('Xpm', required : get_option('motif'))
++xt_dep = cc.find_library('Xt', required : get_option('motif'))
++xext_dep = cc.find_library('Xext', required : get_option('motif'))
++x11_dep = cc.find_library('X11', required : get_option('motif'))
+
+ # image formats
+ read_srcs = [ 'readers.c', 'rd/read-ppm.c', 'rd/read-bmp.c',
+- 'rd/read-jpeg.c', 'rd/read-png.c', 'rd/read-tiff.c' ]
++ 'rd/read-jpeg.c' ]
+ write_srcs = [ 'writers.c', 'wr/write-ppm.c', 'wr/write-ps.c',
+- 'wr/write-jpeg.c', 'wr/write-png.c', 'wr/write-tiff.c' ]
++ 'wr/write-jpeg.c' ]
+ image_deps = [ jpeg_dep, png_dep, tiff_dep,
+ pcd_dep, gif_dep, webp_dep ]
+
+@@ -57,11 +57,21 @@ if pcd_dep.found()
+ read_srcs += 'rd/read-pcd.c'
+ config.set('HAVE_LIBPCD', true)
+ endif
+-if gif_dep.found()
++if get_option('png').enabled()
++ read_srcs += 'rd/read-png.c'
++ write_srcs += 'wr/write-png.c'
++ config.set('HAVE_LIBPNG', true)
++endif
++if get_option('tiff').enabled()
++ read_srcs += 'rd/read-tiff.c'
++ write_srcs += 'wr/write-tiff.c'
++ config.set('HAVE_LIBTIFF', true)
++endif
++if get_option('gif').enabled()
+ read_srcs += 'rd/read-gif.c'
+ config.set('HAVE_LIBGIF', true)
+ endif
+-if webp_dep.found()
++if get_option('webp').enabled()
+ read_srcs += 'rd/read-webp.c'
+ config.set('HAVE_LIBWEBP', true)
+ endif
+@@ -168,7 +181,7 @@ ida_srcs = [ 'ida.c', 'man.c', 'hex.c', 'x11.c', 'viewer.c',
+ ida_deps = [ pixman_dep, exif_dep, image_deps, math_dep,
+ motif_dep, xpm_dep, xt_dep, xext_dep, x11_dep ]
+
+-if motif_dep.found()
++if get_option('motif').enabled()
+ executable('ida',
+ sources : ida_srcs,
+ dependencies : ida_deps,
+diff --git a/meson_options.txt b/meson_options.txt
+new file mode 100644
+index 0000000..ce37188
+--- /dev/null
++++ b/meson_options.txt
+@@ -0,0 +1,5 @@
++option('gif', type: 'feature', value : 'enabled')
++option('png', type: 'feature', value : 'enabled')
++option('tiff', type: 'feature', value : 'enabled')
++option('webp', type: 'feature', value : 'disabled')
++option('motif', type: 'feature', value : 'disabled')
+diff --git a/selections.c b/selections.c
+index 7b16264..ccdc686 100644
+--- a/selections.c
++++ b/selections.c
+@@ -609,8 +609,12 @@ void ipc_init()
+ #ifdef HAVE_LIBGIF
+ targets[ntargets++] = MIME_IMAGE_GIF;
+ #endif
++#ifdef HAVE_LIBPNG
+ targets[ntargets++] = MIME_IMAGE_PNG;
++#endif
++#ifdef HAVE_LIBTIFF
+ targets[ntargets++] = MIME_IMAGE_TIFF;
++#endif
+ targets[ntargets++] = XA_PIXMAP;
+ targets[ntargets++] = XA_STRING;
+
+--
+2.37.3
+
diff --git a/meta-oe/recipes-graphics/fbida/files/0003-meson.build-do-not-require-xkbcommon.patch b/meta-oe/recipes-graphics/fbida/files/0003-meson.build-do-not-require-xkbcommon.patch
new file mode 100644
index 0000000000..e769014131
--- /dev/null
+++ b/meta-oe/recipes-graphics/fbida/files/0003-meson.build-do-not-require-xkbcommon.patch
@@ -0,0 +1,27 @@
+From ec82a194f3454ac203a134c9a99bac6d63095d25 Mon Sep 17 00:00:00 2001
+From: "Meyer, Wolfgang" <Wolfgang.Meyer@gossenmetrawatt.com>
+Date: Fri, 16 Sep 2022 18:29:03 +0200
+Subject: [PATCH] meson.build: do not require xkbcommon
+
+Upstream-Status: Pending
+Signed-off-by: "Meyer, Wolfgang" <Wolfgang.Meyer@gossenmetrawatt.com>
+---
+ meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/meson.build b/meson.build
+index 341939c..b5dab14 100644
+--- a/meson.build
++++ b/meson.build
+@@ -26,7 +26,7 @@ tiff_dep = dependency('libtiff-4', required: get_option('tiff'))
+ webp_dep = dependency('libwebp', required : get_option('webp'))
+ udev_dep = dependency('libudev')
+ input_dep = dependency('libinput')
+-xkb_dep = dependency('xkbcommon')
++xkb_dep = dependency('xkbcommon', required : false)
+ tsm_dep = dependency('libtsm', required : false)
+
+ # other library deps
+--
+2.37.3
+
diff --git a/meta-oe/recipes-graphics/fbida/files/fbida-gcc10.patch b/meta-oe/recipes-graphics/fbida/files/fbida-gcc10.patch
new file mode 100644
index 0000000000..1104289f3c
--- /dev/null
+++ b/meta-oe/recipes-graphics/fbida/files/fbida-gcc10.patch
@@ -0,0 +1,61 @@
+Fix build with gcc10
+
+Patch from https://src.fedoraproject.org/rpms/fbida/raw/master/f/fbida.gcc10.patch
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+--- fbida-2.14/fbi.c.org 2020-03-15 17:02:17.944189632 +0100
++++ fbida-2.14/fbi.c 2020-03-15 17:02:21.880223224 +0100
+@@ -100,7 +100,6 @@
+
+ /* graphics interface */
+ gfxstate *gfx;
+-int debug;
+
+ /* framebuffer */
+ char *fbdev = NULL;
+--- fbida-2.14/filter.c 2020-03-15 16:44:17.159855150 +0100
++++ fbida-2.14/filter.c 2020-03-15 16:44:27.017941447 +0100
+@@ -6,8 +6,6 @@
+ #include "readers.h"
+ #include "filter.h"
+
+-int debug = 0;
+-
+ /* ----------------------------------------------------------------------- */
+
+ static void
+--- fbida-2.14/readers.c.org 2020-03-15 17:01:18.692683597 +0100
++++ fbida-2.14/readers.c 2020-03-15 16:57:19.141632384 +0100
+@@ -6,6 +6,8 @@
+
+ #include "readers.h"
+
++int debug=0;
++
+ /* ----------------------------------------------------------------------- */
+
+ void load_bits_lsb(unsigned char *dst, unsigned char *src, int width,
+
+--- fbida-2.14/viewer.c.org 2020-03-15 17:05:02.991595832 +0100
++++ fbida-2.14/viewer.c 2020-03-15 17:04:55.424531467 +0100
+@@ -40,7 +40,6 @@
+ #define PROCESS_LINES 16
+
+-int debug;
+ Cursor ptrs[POINTER_COUNT];
+
+ /* ----------------------------------------------------------------------- */
+
+--- fbida-2.14/idaconfig.h.org 2020-03-15 17:07:09.239668196 +0100
++++ fbida-2.14/idaconfig.h 2020-03-15 17:07:21.248770061 +0100
+@@ -17,7 +17,7 @@
+
+ /* -------------------------------------------------------------------------- */
+
+-char *ida_lists;
++extern char *ida_lists;
+
+ void ida_init_config(void);
+ void ida_read_config(void);
diff --git a/meta-oe/recipes-graphics/fbida/files/fix-preprocessor.patch b/meta-oe/recipes-graphics/fbida/files/fix-preprocessor.patch
index 909a0a6c0f..ef70a070dd 100644
--- a/meta-oe/recipes-graphics/fbida/files/fix-preprocessor.patch
+++ b/meta-oe/recipes-graphics/fbida/files/fix-preprocessor.patch
@@ -1,14 +1,8 @@
-Index: fbida-2.13/GNUmakefile
-===================================================================
---- fbida-2.13.orig/GNUmakefile
-+++ fbida-2.13/GNUmakefile
-@@ -53,8 +53,7 @@ include $(srcdir)/mk/Autoconf.mk
-
- ac_jpeg_ver = $(shell \
- $(call ac_init,for libjpeg version);\
-- $(call ac_s_cmd,echo JPEG_LIB_VERSION \
-- | cpp -include jpeglib.h | tail -n 1);\
-+ $(call ac_s_cmd,cpp -include jpeglib.h -dM -E -x c /dev/null | grep 'define JPEG_LIB_VERSION' | cut -f 3 -d' ');\
- $(call ac_fini))
-
- define make-config
+Upstream-Status: Pending
+
+--- a/scripts/jpeg-version.sh
++++ b/scripts/jpeg-version.sh
+@@ -1,2 +1,2 @@
+ #!/bin/sh
+-echo JPEG_LIB_VERSION | cpp $CFLAGS -include jpeglib.h | tail -1
++${CPP} -include jpeglib.h -dM -E -x c /dev/null | grep 'define JPEG_LIB_VERSION' | cut -f 3 -d' '
diff --git a/meta-oe/recipes-graphics/fbida/files/support-jpeg-turbo.patch b/meta-oe/recipes-graphics/fbida/files/support-jpeg-turbo.patch
index 05cd74da92..719c096e2b 100644
--- a/meta-oe/recipes-graphics/fbida/files/support-jpeg-turbo.patch
+++ b/meta-oe/recipes-graphics/fbida/files/support-jpeg-turbo.patch
@@ -1,3 +1,5 @@
+Upstream-Status: Pending
+
Add patch by Ondrej Sury to migrate to libjpeg-turbo (Closes: #763263)
Index: fbida-2.10/jpeg/62/jpegcomp.h
diff --git a/meta-oe/recipes-graphics/fbida/files/use-jpeg-turbo.patch b/meta-oe/recipes-graphics/fbida/files/use-jpeg-turbo.patch
deleted file mode 100644
index 99639554c2..0000000000
--- a/meta-oe/recipes-graphics/fbida/files/use-jpeg-turbo.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: fbida-2.10/GNUmakefile
-===================================================================
---- fbida-2.10.orig/GNUmakefile
-+++ fbida-2.10/GNUmakefile
-@@ -51,7 +51,7 @@ HAVE_LIBSANE := $(call ac_lib,sane_init,
- HAVE_LIBCURL := $(call ac_lib,curl_easy_init,curl)
- HAVE_LIBLIRC := $(call ac_lib,lirc_init,lirc_client)
- HAVE_MOTIF := $(call ac_lib,XmStringGenerate,Xm,-L/usr/X11R6/$(LIB) -lXpm -lXt -lXext -lX11)
--JPEG_VER := $(call ac_jpeg_ver)
-+JPEG_VER := 62
- endef
-
- # transposing
diff --git a/meta-oe/recipes-graphics/feh/feh_3.10.3.bb b/meta-oe/recipes-graphics/feh/feh_3.10.3.bb
new file mode 100644
index 0000000000..5ab333c60d
--- /dev/null
+++ b/meta-oe/recipes-graphics/feh/feh_3.10.3.bb
@@ -0,0 +1,30 @@
+SUMMARY = "X11 image viewer aimed mostly at console users"
+HOMEPAGE = "https://feh.finalrewind.org/"
+SECTION = "x11/utils"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=150e4c518ff8aaecfe35694e47661d9a"
+DEPENDS = "\
+ imlib2 \
+ virtual/libx11 libxt\
+"
+
+SRC_URI = "https://feh.finalrewind.org/feh-${PV}.tar.bz2"
+SRC_URI[sha256sum] = "5426e2799770217af1e01c2e8c182d9ca8687d84613321d8ab4a66fe4041e9c8"
+
+inherit mime-xdg features_check
+# depends on virtual/libx11
+REQUIRED_DISTRO_FEATURES = "x11"
+
+EXTRA_OEMAKE = "curl=0 xinerama=0 PREFIX=/usr"
+
+do_compile () {
+ oe_runmake
+}
+
+do_install () {
+ oe_runmake install app=1 'DESTDIR=${D}' 'ICON_PREFIX=${D}${datadir}/icons'
+}
+
+RDEPENDS:${PN} += "imlib2-loaders"
+
+FILES:${PN} += "${datadir}/icons"
diff --git a/meta-oe/recipes-graphics/fontforge/fontforge/0001-Fix-Translations-containing-invalid-directives-hs.patch b/meta-oe/recipes-graphics/fontforge/fontforge/0001-Fix-Translations-containing-invalid-directives-hs.patch
new file mode 100644
index 0000000000..6d133254ed
--- /dev/null
+++ b/meta-oe/recipes-graphics/fontforge/fontforge/0001-Fix-Translations-containing-invalid-directives-hs.patch
@@ -0,0 +1,385 @@
+From e6ccc8a8cf1391010a8220836a732da9fab19c69 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 7 Sep 2023 12:35:12 -0700
+Subject: [PATCH] Fix Translations containing invalid directives %hs
+
+Found with gettext 0.22
+Older versions of msgfmt were more sloppy, thus allowing such mistakes to cause bugs at runtime.
+
+https://bugs.gentoo.org/908868
+https://savannah.gnu.org/bugs/index.php?64333
+https://github.com/fontforge/fontforge/issues/5251
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ fontforgeexe/searchview.c | 2 +-
+ po/ca.po | 4 ++--
+ po/de.po | 4 ++--
+ po/en_GB.po | 4 ++--
+ po/fr.po | 40 +++++++++++++++++++--------------------
+ po/hr.po | 4 ++--
+ po/it.po | 8 ++++----
+ po/ja.po | 4 ++--
+ po/ko.po | 4 ++--
+ po/pl.po | 4 ++--
+ po/uk.po | 4 ++--
+ po/vi.po | 4 ++--
+ 12 files changed, 43 insertions(+), 43 deletions(-)
+
+diff --git a/fontforgeexe/searchview.c b/fontforgeexe/searchview.c
+index 1cb39a221..7e1c109cb 100644
+--- a/fontforgeexe/searchview.c
++++ b/fontforgeexe/searchview.c
+@@ -516,7 +516,7 @@ return( true );
+ if ( ask_if_difficult==2 && !searcher->isvisible )
+ return( false );
+ if ( gwwv_ask(_("Bad Reference"),(const char **) buttons,1,1,
+- _("The %1$s in the search dialog contains a reference to %2$.20hs which does not exist in the new font.\nShould I remove the reference?"),
++ _("The %1$s in the search dialog contains a reference to %2$.20s which does not exist in the new font.\nShould I remove the reference?"),
+ i==0?_("Search Pattern"):_("Replace Pattern"),
+ r->sc->name)==1 )
+ return( false );
+diff --git a/po/ca.po b/po/ca.po
+index e2349b6ef..6c920b7c0 100644
+--- a/po/ca.po
++++ b/po/ca.po
+@@ -12347,11 +12347,11 @@ msgstr "Tai"
+
+ #, c-format
+ msgid ""
+-"The %1$s in the search dialog contains a reference to %2$.20hs which does "
++"The %1$s in the search dialog contains a reference to %2$.20s which does "
+ "not exist in the new font.\n"
+ "Should I remove the reference?"
+ msgstr ""
+-"Al diàleg de cerca, %1$s conté una referència a %2$.20hs\n"
++"Al diàleg de cerca, %1$s conté una referència a %2$.20s\n"
+ "que no existeix en el nou tipus.\n"
+ "Voleu eliminar la referència?"
+
+diff --git a/po/de.po b/po/de.po
+index 41430ffae..8a31aeaa2 100644
+--- a/po/de.po
++++ b/po/de.po
+@@ -15765,11 +15765,11 @@ msgstr ""
+
+ #, c-format
+ msgid ""
+-"The %1$s in the search dialog contains a reference to %2$.20hs which does "
++"The %1$s in the search dialog contains a reference to %2$.20s which does "
+ "not exist in the new font.\n"
+ "Should I remove the reference?"
+ msgstr ""
+-"%1$s im Suchdialog enthält eine Referenz auf %2$.20hs, die in der neuen "
++"%1$s im Suchdialog enthält eine Referenz auf %2$.20s, die in der neuen "
+ "Schrift nicht existiert.\n"
+ "Soll der Referenz entfernt werden?"
+
+diff --git a/po/en_GB.po b/po/en_GB.po
+index 9bd2d62bb..fce64c97d 100644
+--- a/po/en_GB.po
++++ b/po/en_GB.po
+@@ -728,11 +728,11 @@ msgstr "Template Colour"
+
+ #, c-format
+ msgid ""
+-"The %1$s in the search dialog contains a reference to %2$.20hs which does "
++"The %1$s in the search dialog contains a reference to %2$.20s which does "
+ "not exist in the new font.\n"
+ "Should I remove the reference?"
+ msgstr ""
+-"The %1$s in the search dialogue contains a reference to %2$.20hs which does "
++"The %1$s in the search dialogue contains a reference to %2$.20s which does "
+ "not exist in the new font.\n"
+ "Should I remove the reference?"
+
+diff --git a/po/fr.po b/po/fr.po
+index 26e446b38..d130f89bc 100644
+--- a/po/fr.po
++++ b/po/fr.po
+@@ -291,7 +291,7 @@ msgstr "chaîne %1$.30s pour %2$.30s"
+ #. GT: $4 is the changed flag ('*' for the changed items)
+ #, c-format
+ msgid "%1$.80s at %2$d from %3$.90s%4$s"
+-msgstr "%1$.80s à %2$d de %3$.90hs%4$s"
++msgstr "%1$.80s à %2$d de %3$.90s%4$s"
+
+ #. GT: This is the title for a window showing a bitmap character
+ #. GT: It will look something like:
+@@ -302,7 +302,7 @@ msgstr "%1$.80s à %2$d de %3$.90hs%4$s"
+ #. GT: $4 is the font name
+ #, c-format
+ msgid "%1$.80s at %2$d size %3$d from %4$.80s"
+-msgstr "%1$.80s (%2$d) taille %3$d de %4$.80hs"
++msgstr "%1$.80s (%2$d) taille %3$d de %4$.80s"
+
+ #, c-format
+ msgid "%1$s from lookup subtable %2$.50s"
+@@ -7433,7 +7433,7 @@ msgid ""
+ "Reverting the file will lose those changes.\n"
+ "Is that what you want?"
+ msgstr ""
+-"La fonte %1$.40s dans le fichier %2$.40hs a été modifiée.\n"
++"La fonte %1$.40s dans le fichier %2$.40s a été modifiée.\n"
+ "Revenir vous fera perdre toutes les modifications.\n"
+ "Voulez vous vraiment revenir ?"
+
+@@ -19077,11 +19077,11 @@ msgstr ""
+
+ #, c-format
+ msgid ""
+-"The %1$s in the search dialog contains a reference to %2$.20hs which does "
++"The %1$s in the search dialog contains a reference to %2$.20s which does "
+ "not exist in the new font.\n"
+ "Should I remove the reference?"
+ msgstr ""
+-"Dans %1$s du dialogue de recherche il y a une référence vers %2$.20hs qui "
++"Dans %1$s du dialogue de recherche il y a une référence vers %2$.20s qui "
+ "n'existe pas dans la nouvelle fonte.\n"
+ "Faut-il supprimer la référence ?"
+
+@@ -19925,7 +19925,7 @@ msgid ""
+ "The fonts %1$.30s and %2$.30s have a different number of glyphs or different "
+ "encodings"
+ msgstr ""
+-"Les fontes %1$.30s et %2$.30hs n'ont pas le même nombre de glyphes ou des "
++"Les fontes %1$.30s et %2$.30s n'ont pas le même nombre de glyphes ou des "
+ "codages différents"
+
+ #, c-format
+@@ -19933,7 +19933,7 @@ msgid ""
+ "The fonts %1$.30s and %2$.30s use different types of splines (one quadratic, "
+ "one cubic)"
+ msgstr ""
+-"Les fontes %1$.30s et %2$.30hs utilisent des courbes de Bézier d'ordres "
++"Les fontes %1$.30s et %2$.30s utilisent des courbes de Bézier d'ordres "
+ "différents (quadratique et cubique)"
+
+ msgid "The generated font won't work with ATM"
+@@ -19968,8 +19968,8 @@ msgid ""
+ "The glyph %1$.30s in font %2$.30s has a different hint mask on its contours "
+ "than in %3$.30s"
+ msgstr ""
+-"Le glyphe %1$.30s dans la police %2$.30hs a un masque de hints différent que "
+-"dans %3$.30hs"
++"Le glyphe %1$.30s dans la police %2$.30s a un masque de hints différent que "
++"dans %3$.30s"
+
+ #, c-format
+ msgid ""
+@@ -19984,8 +19984,8 @@ msgid ""
+ "The glyph %1$.30s in font %2$.30s has a different number of references than "
+ "in %3$.30s"
+ msgstr ""
+-"Le glyphe %1$.30s de la fonte %2$.30hs a un nombre de références différent "
+-"dans %3$.30hs"
++"Le glyphe %1$.30s de la fonte %2$.30s a un nombre de références différent "
++"dans %3$.30s"
+
+ #, c-format
+ msgid ""
+@@ -20457,7 +20457,7 @@ msgstr ""
+ #, c-format
+ msgid "The outlines of glyph %2$.30s were not found in the font %1$.60s"
+ msgstr ""
+-"Le contours du glyphe %2$.30s n'ont pas été trouvés dans la police %1$.60hs"
++"Le contours du glyphe %2$.30s n'ont pas été trouvés dans la police %1$.60s"
+
+ msgid "The paths that make up this glyph intersect one another"
+ msgstr "Les chemins qui composent ce glyphe se coupent les uns les autres"
+@@ -21042,7 +21042,7 @@ msgstr "Il y a déjà une sous-table avec ce nom, changez de nom SVP"
+
+ #, c-format
+ msgid "There is already an anchor point named %1$.40s in %2$.40s."
+-msgstr "Il y a déjà une ancre appelée %1$.40s dans %2$.40hs."
++msgstr "Il y a déjà une ancre appelée %1$.40s dans %2$.40s."
+
+ msgid "There is another glyph in the font with this name"
+ msgstr "Il y a un autre glyphe dans la fonte avec ce nom"
+@@ -21441,8 +21441,8 @@ msgid ""
+ "been able to find is %1$.20s-%2$.20s-%4$d.\n"
+ "Shall I use that or let you search?"
+ msgstr ""
+-"Cette fonte est basée sur le jeu de caractères %1$.20s-%2$.20hs-%3$d, mais "
+-"ce que j'ai trouvé de mieux c'est %1$.20hs-%2$.20hs-%4$d.\n"
++"Cette fonte est basée sur le jeu de caractères %1$.20s-%2$.20s-%3$d, mais "
++"ce que j'ai trouvé de mieux c'est %1$.20s-%2$.20s-%4$d.\n"
+ "Devrais-je utiliser cette valeur ou préférez vous chercher ?"
+
+ msgid ""
+@@ -21770,7 +21770,7 @@ msgid ""
+ "with a 0 offset for this combination. Would you like to alter this kerning "
+ "class entry (or create a kerning pair for just these two glyphs)?"
+ msgstr ""
+-"Cette paire de crénage (%.20s et %.20hs) est dans une classe de crénage\n"
++"Cette paire de crénage (%.20s et %.20s) est dans une classe de crénage\n"
+ "avec un déplacement de 0 pour cette combinaison. Voulez-vous modifier cette "
+ "partie\n"
+ "de la classe de crénage (ou créer une nouvelle paire rien que pour ces 2 "
+@@ -24551,8 +24551,8 @@ msgid ""
+ "referred to.\n"
+ "It will not be copied."
+ msgstr ""
+-"Vous essayer de coller une référence vers %1$s dans %2$hs.\n"
+-"Mais %1$hs n'existe pas dans cette fonte, et FontForge ne trouve pas le "
++"Vous essayer de coller une référence vers %1$s dans %2$s.\n"
++"Mais %1$s n'existe pas dans cette fonte, et FontForge ne trouve pas le "
+ "glyphe auquel il se référait.\n"
+ "Le glyphe ne sera pas copié."
+
+@@ -24562,8 +24562,8 @@ msgid ""
+ "But %1$s does not exist in this font.\n"
+ "Would you like to copy the original splines (or delete the reference)?"
+ msgstr ""
+-"Vous essayer de coller une référence vers %1$s dans %2$hs.\n"
+-"Mais %1$hs n'existe pas dans cette fonte.\n"
++"Vous essayer de coller une référence vers %1$s dans %2$s.\n"
++"Mais %1$s n'existe pas dans cette fonte.\n"
+ "Voulez vous copier le contour d'origine (ou supprimer la référence)?"
+
+ msgid ""
+diff --git a/po/hr.po b/po/hr.po
+index d261d4ca7..ac41b9250 100644
+--- a/po/hr.po
++++ b/po/hr.po
+@@ -20156,11 +20156,11 @@ msgstr ""
+
+ #, c-format
+ msgid ""
+-"The %1$s in the search dialog contains a reference to %2$.20hs which does "
++"The %1$s in the search dialog contains a reference to %2$.20s which does "
+ "not exist in the new font.\n"
+ "Should I remove the reference?"
+ msgstr ""
+-"%1$s u dijaloškom okviru traženja sadrži referencu na %2$.20hs koja ne "
++"%1$s u dijaloškom okviru traženja sadrži referencu na %2$.20s koja ne "
+ "postoji u fontu.\n"
+ "Želiš li dozvoliti uklanjanje reference?"
+
+diff --git a/po/it.po b/po/it.po
+index e13711485..d0c3ea987 100644
+--- a/po/it.po
++++ b/po/it.po
+@@ -2303,7 +2303,7 @@ msgid ""
+ "Reverting the file will lose those changes.\n"
+ "Is that what you want?"
+ msgstr ""
+-"Il font %1$.40s nel file %2$.40hs è stato modificato.\n"
++"Il font %1$.40s nel file %2$.40s è stato modificato.\n"
+ "Ripristinando il file perderai tutte le modifiche.\n"
+ "È quello che vuoi fare?"
+
+@@ -5835,7 +5835,7 @@ msgid ""
+ "The glyph %1$.30s has a different number of contours in font %2$.30s than in "
+ "%3$.30s"
+ msgstr ""
+-"Il glifo %1$.30s ha un diverso numero di contorni nel font %2$.30hs rispetto "
++"Il glifo %1$.30s ha un diverso numero di contorni nel font %2$.30s rispetto "
+ "a %3$.30s"
+
+ #, c-format
+@@ -6235,8 +6235,8 @@ msgid ""
+ "been able to find is %1$.20s-%2$.20s-%4$d.\n"
+ "Shall I use that or let you search?"
+ msgstr ""
+-"Questo font è basato sulla codifica di caratteri %1$.20s-%2$.20hs-%3$d, ma "
+-"il migliore che io abbia trovato è %1$.20hs-%2$.20hs-%4$d.\n"
++"Questo font è basato sulla codifica di caratteri %1$.20s-%2$.20s-%3$d, ma "
++"il migliore che io abbia trovato è %1$.20s-%2$.20s-%4$d.\n"
+ "Devo usare questo valore o preferisci cercare tu stesso?"
+
+ msgid ""
+diff --git a/po/ja.po b/po/ja.po
+index ed9f5a645..206ae82d1 100644
+--- a/po/ja.po
++++ b/po/ja.po
+@@ -11458,11 +11458,11 @@ msgstr ""
+
+ #, c-format
+ msgid ""
+-"The %1$s in the search dialog contains a reference to %2$.20hs which does "
++"The %1$s in the search dialog contains a reference to %2$.20s which does "
+ "not exist in the new font.\n"
+ "Should I remove the reference?"
+ msgstr ""
+-"%1$s には, 新しいフォントには含まれないグリフ %2$.20hs への参照が含まれていま"
++"%1$s には, 新しいフォントには含まれないグリフ %2$.20s への参照が含まれていま"
+ "す.\n"
+ "参照を削除しますか?"
+
+diff --git a/po/ko.po b/po/ko.po
+index 971b4db03..4d5c8d40d 100644
+--- a/po/ko.po
++++ b/po/ko.po
+@@ -20920,11 +20920,11 @@ msgstr ""
+
+ #, c-format
+ msgid ""
+-"The %1$s in the search dialog contains a reference to %2$.20hs which does "
++"The %1$s in the search dialog contains a reference to %2$.20s which does "
+ "not exist in the new font.\n"
+ "Should I remove the reference?"
+ msgstr ""
+-"검색 대화 상자의 %1$s에는 새 글꼴에 없는 %2$.20hs에 대한 참조가 포함되어 있"
++"검색 대화 상자의 %1$s에는 새 글꼴에 없는 %2$.20s에 대한 참조가 포함되어 있"
+ "다.\n"
+ "참조를 제거해야 하는가?"
+
+diff --git a/po/pl.po b/po/pl.po
+index 2bbbf00be..c1fd5a454 100644
+--- a/po/pl.po
++++ b/po/pl.po
+@@ -19552,11 +19552,11 @@ msgstr ""
+
+ #, c-format
+ msgid ""
+-"The %1$s in the search dialog contains a reference to %2$.20hs which does "
++"The %1$s in the search dialog contains a reference to %2$.20s which does "
+ "not exist in the new font.\n"
+ "Should I remove the reference?"
+ msgstr ""
+-"%1$s w okienku wyszukiwania zawiera odwołanie do %2$.20hs, który nie "
++"%1$s w okienku wyszukiwania zawiera odwołanie do %2$.20s, który nie "
+ "istnieje w nowym foncie.\n"
+ "Czy usunąć to odwołanie?"
+
+diff --git a/po/uk.po b/po/uk.po
+index e3768acc3..3302a1005 100644
+--- a/po/uk.po
++++ b/po/uk.po
+@@ -19860,11 +19860,11 @@ msgstr ""
+
+ #, c-format
+ msgid ""
+-"The %1$s in the search dialog contains a reference to %2$.20hs which does "
++"The %1$s in the search dialog contains a reference to %2$.20s which does "
+ "not exist in the new font.\n"
+ "Should I remove the reference?"
+ msgstr ""
+-"%1$s у діалоговому вікні пошуку містить посилання на %2$.20hs, якого не "
++"%1$s у діалоговому вікні пошуку містить посилання на %2$.20s, якого не "
+ "існує у новому шрифті.\n"
+ "Вилучити це посилання?"
+
+diff --git a/po/vi.po b/po/vi.po
+index 6aee8bb3f..f5eb739e6 100644
+--- a/po/vi.po
++++ b/po/vi.po
+@@ -17109,11 +17109,11 @@ msgstr ""
+
+ #, c-format
+ msgid ""
+-"The %1$s in the search dialog contains a reference to %2$.20hs which does "
++"The %1$s in the search dialog contains a reference to %2$.20s which does "
+ "not exist in the new font.\n"
+ "Should I remove the reference?"
+ msgstr ""
+-"Trong hộp thoại tìm kiếm, %1$s chứa một tham chiếu đến %2$.20hs mà không tồn "
++"Trong hộp thoại tìm kiếm, %1$s chứa một tham chiếu đến %2$.20s mà không tồn "
+ "tại trong phông mới.\n"
+ "Bạn có muốn gỡ bỏ tham chiếu này không?"
+
+--
+2.42.0
+
diff --git a/meta-oe/recipes-graphics/fontforge/fontforge/0001-cmake-Use-alternate-way-to-detect-libm.patch b/meta-oe/recipes-graphics/fontforge/fontforge/0001-cmake-Use-alternate-way-to-detect-libm.patch
new file mode 100644
index 0000000000..573866eb15
--- /dev/null
+++ b/meta-oe/recipes-graphics/fontforge/fontforge/0001-cmake-Use-alternate-way-to-detect-libm.patch
@@ -0,0 +1,77 @@
+From 644c3380f75b20a11755e7052aa632887f3eee2b Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 7 Jul 2022 12:32:47 -0700
+Subject: [PATCH] cmake: Use alternate way to detect libm
+
+The standard package provided with MathLib cmake module does not work
+when libm is folded into libc starting glibc 2.35+
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+---
+ CMakeLists.txt | 7 ++++++-
+ contrib/fonttools/CMakeLists.txt | 2 +-
+ fontforge/CMakeLists.txt | 2 +-
+ fontforgeexe/CMakeLists.txt | 2 +-
+ 4 files changed, 9 insertions(+), 4 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index e234cb6e9..284ba2d20 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -115,9 +115,14 @@ else()
+ endif()
+ find_package(Iconv REQUIRED)
+ find_package(LibXml2 REQUIRED)
+-find_package(MathLib REQUIRED)
+ find_package(ZLIB REQUIRED)
+
++include(CheckLibraryExists)
++CHECK_LIBRARY_EXISTS(m pow "" HAVE_LIB_M)
++if (HAVE_LIB_M)
++ set(EXTRA_LIBS ${EXTRA_LIBS} m)
++endif (HAVE_LIB_M)
++
+ check_include_file(pthread.h HAVE_PTHREAD_H)
+ if(HAVE_PTHREAD_H)
+ find_package(Threads)
+diff --git a/contrib/fonttools/CMakeLists.txt b/contrib/fonttools/CMakeLists.txt
+index d6c698877..1608af152 100644
+--- a/contrib/fonttools/CMakeLists.txt
++++ b/contrib/fonttools/CMakeLists.txt
+@@ -15,7 +15,7 @@ add_executable(woff woff.c)
+
+ target_link_libraries(acorn2sfd PRIVATE fontforge)
+ target_link_libraries(dewoff PRIVATE ZLIB::ZLIB)
+-target_link_libraries(pcl2ttf PRIVATE MathLib::MathLib)
++target_link_libraries(pcl2ttf PRIVATE ${EXTRA_LIBS})
+ target_link_libraries(ttf2eps PRIVATE fontforge)
+ target_link_libraries(woff PRIVATE ZLIB::ZLIB)
+
+diff --git a/fontforge/CMakeLists.txt b/fontforge/CMakeLists.txt
+index 9a052f360..067ef40df 100644
+--- a/fontforge/CMakeLists.txt
++++ b/fontforge/CMakeLists.txt
+@@ -237,7 +237,7 @@ target_link_libraries(fontforge
+ GLIB::GLIB
+ Intl::Intl
+ PRIVATE
+- MathLib::MathLib
++ ${EXTRA_LIBS}
+ Iconv::Iconv
+ ZLIB::ZLIB
+ )
+diff --git a/fontforgeexe/CMakeLists.txt b/fontforgeexe/CMakeLists.txt
+index e2982c39d..8829993ea 100644
+--- a/fontforgeexe/CMakeLists.txt
++++ b/fontforgeexe/CMakeLists.txt
+@@ -121,7 +121,7 @@ if(ENABLE_PYTHON_SCRIPTING_RESULT)
+ target_link_libraries(fontforgeexe PRIVATE Python3::Python)
+ endif()
+
+-target_link_libraries(fontforgeexe PRIVATE fontforge Iconv::Iconv MathLib::MathLib)
++target_link_libraries(fontforgeexe PRIVATE fontforge Iconv::Iconv ${EXTRA_LIBS})
+ install(TARGETS fontforgeexe RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
+
+ if(UNIX)
diff --git a/meta-oe/recipes-graphics/fontforge/fontforge/0001-fontforgeexe-Use-env-to-find-fontforge.patch b/meta-oe/recipes-graphics/fontforge/fontforge/0001-fontforgeexe-Use-env-to-find-fontforge.patch
new file mode 100644
index 0000000000..e8c1a11d48
--- /dev/null
+++ b/meta-oe/recipes-graphics/fontforge/fontforge/0001-fontforgeexe-Use-env-to-find-fontforge.patch
@@ -0,0 +1,29 @@
+From f5a19ad9b2aea85dab28e7c61ac39404631fad2d Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 6 Jul 2022 04:54:23 -0700
+Subject: [PATCH] fontforgeexe: Use env to find fontforge
+
+This helps in avoiding to encode build paths into interpeter
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ fontforgeexe/CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/fontforgeexe/CMakeLists.txt b/fontforgeexe/CMakeLists.txt
+index b2d663b88..e2a8fee54 100644
+--- a/fontforgeexe/CMakeLists.txt
++++ b/fontforgeexe/CMakeLists.txt
+@@ -118,7 +118,7 @@ if(UNIX)
+ foreach(_script fontimage.pe fontlint.pe sfddiff.pe)
+ get_filename_component(_output \"\${_script}\" NAME_WE)
+ file(READ \"${CMAKE_CURRENT_SOURCE_DIR}/\${_script}\" _input)
+- file(WRITE \"${CMAKE_CURRENT_BINARY_DIR}/\${_output}\" \"#!\${CMAKE_INSTALL_PREFIX}/bin/fontforge -lang=ff\\n\${_input}\")
++ file(WRITE \"${CMAKE_CURRENT_BINARY_DIR}/\${_output}\" \"#!/usr/bin/env fontforge -lang=ff\\n\${_input}\")
+ endforeach()
+ " COMPONENT nativescripts)
+ install(FILES "${CMAKE_CURRENT_BINARY_DIR}/fontimage" "${CMAKE_CURRENT_BINARY_DIR}/fontlint" "${CMAKE_CURRENT_BINARY_DIR}/sfddiff"
+--
+2.37.0
+
diff --git a/meta-oe/recipes-graphics/fontforge/fontforge/0001-include-sys-select-on-non-glibc-platforms.patch b/meta-oe/recipes-graphics/fontforge/fontforge/0001-include-sys-select-on-non-glibc-platforms.patch
new file mode 100644
index 0000000000..27de27d57d
--- /dev/null
+++ b/meta-oe/recipes-graphics/fontforge/fontforge/0001-include-sys-select-on-non-glibc-platforms.patch
@@ -0,0 +1,24 @@
+From 798f2816130838f3618212291de6ab0ea814c868 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 29 Sep 2019 20:39:02 -0700
+Subject: [PATCH] include sys/select on non-glibc platforms
+
+musl needs sys/select.h for defining fd_set
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ gdraw/gdraw.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/gdraw/gdraw.c
++++ b/gdraw/gdraw.c
+@@ -33,7 +33,7 @@
+ #include "gkeysym.h"
+ #include "ustring.h"
+
+-#if __Mac
++#if __Mac || (defined(__linux__) && !defined(__GLIBC__))
+ # include <sys/select.h>
+ #endif
+
diff --git a/meta-oe/recipes-graphics/fontforge/fontforge_20170731.bb b/meta-oe/recipes-graphics/fontforge/fontforge_20170731.bb
deleted file mode 100644
index 947d36eb97..0000000000
--- a/meta-oe/recipes-graphics/fontforge/fontforge_20170731.bb
+++ /dev/null
@@ -1,61 +0,0 @@
-SUMMARY = "A font editor"
-HOMEPAGE = "http://fontforge.github.io/en-US/"
-LICENSE = "BSD-3-Clause & GPLv3"
-LIC_FILES_CHKSUM = " \
- file://COPYING.gplv3;md5=d32239bcb673463ab874e80d47fae504 \
- file://LICENSE;md5=3f922b42ed0033fa0fd4cd3268f6429c \
-"
-
-DEPENDS = "glib-2.0 pango giflib tiff libxml2 jpeg python libtool uthash gnulib gettext-native"
-DEPENDS_append_class-target = " libxi"
-
-inherit autotools pkgconfig pythonnative distro_features_check gettext
-
-REQUIRED_DISTRO_FEATURES_append_class-target = " x11"
-
-SRC_URI = "git://github.com/${BPN}/${BPN}.git"
-# tag 20170731
-SRCREV = "b9149c13e8f9464fc21473f1f676b36a2130775d"
-S = "${WORKDIR}/git"
-
-EXTRA_OECONF_append_class-native = " with_x=no"
-
-do_configure_prepend() {
- # uthash sources are expected in uthash/src
- currdir=`pwd`
- cd ${S}
-
- mkdir -p uthash/src
- cp ${STAGING_INCDIR}/ut*.h uthash/src
-
- # avoid bootstrap cloning gnulib on every configure
- cat >.gitmodules <<EOF
-[submodule "gnulib"]
- path = gnulib
- url = git://git.sv.gnu.org/gnulib
-EOF
- cp -rf ${STAGING_DATADIR}/gnulib ${S}
-
- # --force to avoid errors on reconfigure e.g if recipes changed we depend on
- # | bootstrap: running: libtoolize --quiet
- # | libtoolize: error: 'libltdl/COPYING.LIB' exists: use '--force' to overwrite
- # | ...
- ./bootstrap --force
-
- cd $currdir
-}
-
-PACKAGES =+ "${PN}-python"
-
-RPROVIDES_${PN}-dbg += "${PN}-python-dbg"
-
-FILES_${PN} += " \
- ${datadir}/mime \
- ${datadir}/icons \
-"
-
-FILES_${PN}-python = "${PYTHON_SITEPACKAGES_DIR} ${datadir}/${PN}/python"
-RDEPENDS_${PN}-python = "python"
-
-# for e.g kde's oxygen-fonts
-BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-graphics/fontforge/fontforge_20230101.bb b/meta-oe/recipes-graphics/fontforge/fontforge_20230101.bb
new file mode 100644
index 0000000000..31dd495fd7
--- /dev/null
+++ b/meta-oe/recipes-graphics/fontforge/fontforge_20230101.bb
@@ -0,0 +1,52 @@
+SUMMARY = "A font editor"
+HOMEPAGE = "http://fontforge.github.io/en-US/"
+LICENSE = "BSD-3-Clause & GPL-3.0-only"
+LIC_FILES_CHKSUM = " \
+ file://COPYING.gplv3;md5=d32239bcb673463ab874e80d47fae504 \
+ file://LICENSE;md5=d042f3d2a8fd7208b704a499168e3c89 \
+"
+
+DEPENDS = "python3 glib-2.0 pango giflib tiff libxml2 jpeg libtool uthash gettext-native libspiro"
+DEPENDS:append:class-target = " libxi"
+
+inherit cmake pkgconfig python3native python3targetconfig features_check gettext gtk-icon-cache mime mime-xdg
+
+REQUIRED_DISTRO_FEATURES:append:class-target = " x11"
+
+# tag 20220308
+SRCREV = "a1dad3e81da03d5d5f3c4c1c1b9b5ca5ebcfcecf"
+SRC_URI = "git://github.com/${BPN}/${BPN}.git;branch=master;protocol=https \
+ file://0001-include-sys-select-on-non-glibc-platforms.patch \
+ file://0001-fontforgeexe-Use-env-to-find-fontforge.patch \
+ file://0001-cmake-Use-alternate-way-to-detect-libm.patch \
+ file://0001-Fix-Translations-containing-invalid-directives-hs.patch \
+"
+S = "${WORKDIR}/git"
+
+EXTRA_OECMAKE = "-DENABLE_DOCS=OFF"
+PACKAGECONFIG = "readline"
+PACKAGECONFIG[readline] = "-DENABLE_READLINE=ON,-DENABLE_READLINE=OFF,readline"
+
+CFLAGS += "-fno-strict-aliasing"
+LDFLAGS += "-lpython${PYTHON_BASEVERSION}${PYTHON_ABI}"
+BUILD_LDFLAGS += "-lpython${PYTHON_BASEVERSION}${PYTHON_ABI}"
+
+#do_configure:prepend() {
+# uthash sources are expected in uthash/src
+# mkdir -p ${S}/uthash/src
+# cp ${STAGING_INCDIR}/ut*.h ${S}/uthash/src
+#}
+
+PACKAGES =+ "${PN}-python"
+
+FILES:${PN} += " \
+ ${datadir}/appdata \
+ ${datadir}/metainfo \
+ ${datadir}/mime \
+"
+
+FILES:${PN}-python = "${PYTHON_SITEPACKAGES_DIR} ${datadir}/${BPN}/python"
+RDEPENDS:${PN}-python = "python3"
+
+# for e.g kde's oxygen-fonts
+BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-graphics/fontforge/libspiro_20240903.bb b/meta-oe/recipes-graphics/fontforge/libspiro_20240903.bb
new file mode 100644
index 0000000000..7e07906e17
--- /dev/null
+++ b/meta-oe/recipes-graphics/fontforge/libspiro_20240903.bb
@@ -0,0 +1,17 @@
+# Copyright (C) 2022 Khem Raj <raj.khem@gmail.com>
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+SUMMARY = "LibSpiro is an adaptation of Spiro formula and functions into a sharable library"
+HOMEPAGE = "https://github.com/fontforge/libspiro"
+LICENSE = "GPL-3.0-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+
+SRC_URI = "https://github.com/fontforge/libspiro/releases/download/${PV}/libspiro-dist-${PV}.tar.gz"
+SRC_URI[sha256sum] = "1412a21b943c6e1db834ee2d74145aad20b3f62b12152d475613b8241d9cde10"
+
+UPSTREAM_CHECK_URI = "https://github.com/fontforge/libspiro/releases"
+UPSTREAM_CHECK_REGEX = "(?P<pver>\d+)"
+
+inherit autotools
+
+BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-graphics/freeglut/freeglut_3.0.0.bb b/meta-oe/recipes-graphics/freeglut/freeglut_3.0.0.bb
deleted file mode 100644
index d54fafc8d4..0000000000
--- a/meta-oe/recipes-graphics/freeglut/freeglut_3.0.0.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-DESCRIPTION = "FreeGLUT is a free-software/open-source alternative to the OpenGL \
- Utility Toolkit (GLUT) library"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=89c0b58a3e01ce3d8254c9f59e78adfb"
-
-SRC_URI = "https://sourceforge.net/projects/${BPN}/files/${BPN}/${PV}/${BPN}-${PV}.tar.gz"
-SRC_URI[md5sum] = "90c3ca4dd9d51cf32276bc5344ec9754"
-SRC_URI[sha256sum] = "2a43be8515b01ea82bcfa17d29ae0d40bd128342f0930cd1f375f1ff999f76a2"
-
-inherit cmake distro_features_check
-
-# depends on virtual/libx11, virtual/libgl
-REQUIRED_DISTRO_FEATURES = "x11 opengl"
-
-PROVIDES += "mesa-glut"
-
-DEPENDS = "virtual/libx11 libxmu libxi virtual/libgl libglu libxrandr"
diff --git a/meta-oe/recipes-graphics/freeglut/freeglut_3.4.0.bb b/meta-oe/recipes-graphics/freeglut/freeglut_3.4.0.bb
new file mode 100644
index 0000000000..2cd00b0349
--- /dev/null
+++ b/meta-oe/recipes-graphics/freeglut/freeglut_3.4.0.bb
@@ -0,0 +1,30 @@
+DESCRIPTION = "FreeGLUT is a free-software/open-source alternative to the OpenGL \
+ Utility Toolkit (GLUT) library"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=89c0b58a3e01ce3d8254c9f59e78adfb"
+
+SRC_URI = "https://sourceforge.net/projects/${BPN}/files/${BPN}/${PV}/${BPN}-${PV}.tar.gz"
+SRC_URI[sha256sum] = "3c0bcb915d9b180a97edaebd011b7a1de54583a838644dcd42bb0ea0c6f3eaec"
+
+inherit cmake features_check pkgconfig
+
+# depends on virtual/libgl and libxi
+REQUIRED_DISTRO_FEATURES = "opengl x11"
+
+PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'wayland x11', d)}"
+PACKAGECONFIG[gles] = "-DFREEGLUT_GLES=ON,-DFREEGLUT_GLES=OFF,"
+PACKAGECONFIG[wayland] = "-DFREEGLUT_WAYLAND=ON,-DFREEGLUT_WAYLAND=OFF,libxkbcommon"
+PACKAGECONFIG[demos] = "-DFREEGLUT_BUILD_DEMOS=ON,-DFREEGLUT_BUILD_DEMOS=OFF,"
+PACKAGECONFIG[x11] = ",,virtual/libx11 libice libxmu libglu libxrandr libxext"
+# Add -Wno-implicit-function-declaration since it might be otherwise treated at
+# error by clang16+ and this is not really a problem
+CFLAGS += "-Wno-implicit-function-declaration"
+
+PROVIDES += "mesa-glut"
+
+DEPENDS = "virtual/libgl libxi"
+
+do_install:append() {
+ # Remove buildpaths
+ sed -i "s#${RECIPE_SYSROOT}##g" ${D}${libdir}/cmake/FreeGLUT/FreeGLUTTargets.cmake
+}
diff --git a/meta-oe/recipes-graphics/ftgl/ftgl/0001-Fix-type-mismatch-with-latest-FreeType.patch b/meta-oe/recipes-graphics/ftgl/ftgl/0001-Fix-type-mismatch-with-latest-FreeType.patch
new file mode 100644
index 0000000000..9c91b5be19
--- /dev/null
+++ b/meta-oe/recipes-graphics/ftgl/ftgl/0001-Fix-type-mismatch-with-latest-FreeType.patch
@@ -0,0 +1,33 @@
+From d11219b681a080c71e33c51c9404c28b134e1745 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 21 Aug 2024 13:50:34 -0700
+Subject: [PATCH] Fix type mismatch with latest FreeType
+
+This change is intrumented due to a type change in freetype [1] with release 2.13.3
+
+Fixes
+| ../../git/src/FTVectoriser.cpp:171:15: error: cannot initialize a variable of type 'char *' with an rvalue of type 'unsigned char *'
+| 171 | char* tagList = &outline.tags[startIndex];
+| | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~
+
+[1] https://gitlab.freedesktop.org/freetype/freetype/-/commit/044d142be7b6a93b6940367a1bc5847451ff4775
+
+Upstream-Status: Submitted [https://github.com/HamzaM3/ftgl/pull/1]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/FTVectoriser.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/FTVectoriser.cpp b/src/FTVectoriser.cpp
+index 26e7da8..3610215 100644
+--- a/src/FTVectoriser.cpp
++++ b/src/FTVectoriser.cpp
+@@ -168,7 +168,7 @@ void FTVectoriser::ProcessContours()
+ for(int i = 0; i < ftContourCount; ++i)
+ {
+ FT_Vector* pointList = &outline.points[startIndex];
+- char* tagList = &outline.tags[startIndex];
++ char* tagList = (char*)&outline.tags[startIndex];
+
+ endIndex = outline.contours[i];
+ contourLength = (endIndex - startIndex) + 1;
diff --git a/meta-oe/recipes-graphics/ftgl/ftgl_2.4.0.bb b/meta-oe/recipes-graphics/ftgl/ftgl_2.4.0.bb
new file mode 100644
index 0000000000..4db453bc66
--- /dev/null
+++ b/meta-oe/recipes-graphics/ftgl/ftgl_2.4.0.bb
@@ -0,0 +1,20 @@
+SUMMARY = "OpenGL frontend to Freetype 2"
+HOMEPAGE = "https://sourceforge.net/projects/ftgl/"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=527a83e92c7bf363025380eec05df6e4"
+
+inherit autotools pkgconfig features_check
+
+REQUIRED_DISTRO_FEATURES = "opengl x11"
+
+DEPENDS += " \
+ freetype \
+ freeglut \
+"
+SRCREV = "b787042cc1d1e4861337d5f9a6727e4c6900a4f2"
+PV .= "+git"
+
+SRC_URI = "git://github.com/HamzaM3/ftgl;protocol=https;branch=master \
+ file://0001-Fix-type-mismatch-with-latest-FreeType.patch"
+
+S = "${WORKDIR}/git"
diff --git a/meta-oe/recipes-graphics/fvwm/fvwm/0001-Fix-compilation-for-disabled-gnome.patch b/meta-oe/recipes-graphics/fvwm/fvwm/0001-Fix-compilation-for-disabled-gnome.patch
index 5a76474558..4886248233 100644
--- a/meta-oe/recipes-graphics/fvwm/fvwm/0001-Fix-compilation-for-disabled-gnome.patch
+++ b/meta-oe/recipes-graphics/fvwm/fvwm/0001-Fix-compilation-for-disabled-gnome.patch
@@ -10,11 +10,7 @@ COMPAT_OLD_KEYSYMDEF is a check for a legacy system, which our system
most definitely is not. It is accomplished by trying to execute
a program, which does not work when cross compiling.
-The fvwm(1) man page is created from Docbook XML which is set for
-a Windows code page that is not available when compiling. Easiest is
-to just not create the man page as those are not needed on the monitor.
-
-Upstream-Status: inappropriate [OE specific]
+Upstream-Status: Inappropriate [OE specific]
Signed-off-by: Jarmo Jaakkola <jarmo.jaakkola@vincit.fi>
Signed-off-by: Riku Hämäläinen <riku.hamalainen@ge.com>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.co.uk>
@@ -27,22 +23,7 @@ diff --git a/configure.ac b/configure.ac
index 48ce264..fab7b44 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -1413,23 +1413,7 @@ else
- problem_gdkimlib=": Failed on gdk-imlib, see config.log"
- fi
-
--GNOME_INIT_HOOK
--
--# Unfortunately we have 2 gnome supports: WM hints and gnome libs.
--# The $with_gnomehints below refers to the first, not GNOME_INIT_HOOK.
--if test ! x"$enable_gnome_hints" = xno; then
-- with_gnomehints=yes
-- problem_gnomehints=""
--else
-- with_gnomehints=no
-- problem_gnomehints=": Explicitly disabled"
--fi
--
+@@ -1413,8 +1413,4 @@ else
# Define some compatibility macros needed for config.h.
-mg_DEFINE_IF_NOT([#include <X11/keysym.h>],
- [defined XK_Page_Up && defined XK_Page_Down],
@@ -51,19 +32,6 @@ index 48ce264..fab7b44 100644
AH_VERBATIM([_COMPAT_OLD_KEYSYMDEF],
[#ifdef COMPAT_OLD_KEYSYMDEF
# define XK_Page_Up XK_Prior
-diff --git a/doc/fvwm/Makefile.am b/doc/fvwm/Makefile.am
-index cddb102..ff00149 100755
---- a/doc/fvwm/Makefile.am
-+++ b/doc/fvwm/Makefile.am
-@@ -10,7 +10,7 @@ XSL_PROFILE = $(srcdir)/../docbook-xsl/profiling/profile.xsl
- HTML_FILES = fvwm.man.html
- XML_FILES = @DOC_SECTIONS_XML_PATH@
- EXTRA_DIST = @DOC_SECTIONS_XML@ $(man_MANS) sections
--man_MANS = fvwm.1
-+man_MANS =
-
- if FVWM_BUILD_HTMLDOC
- doc_DATA = $(HTML_FILES)
--
1.9.1
diff --git a/meta-oe/recipes-graphics/fvwm/fvwm/0001-configure-Do-not-require-support-for-implicit-ints.patch b/meta-oe/recipes-graphics/fvwm/fvwm/0001-configure-Do-not-require-support-for-implicit-ints.patch
new file mode 100644
index 0000000000..356bd73f88
--- /dev/null
+++ b/meta-oe/recipes-graphics/fvwm/fvwm/0001-configure-Do-not-require-support-for-implicit-ints.patch
@@ -0,0 +1,45 @@
+From cbba378a23410241176d62f3bb43965c044615e3 Mon Sep 17 00:00:00 2001
+From: Florian Weimer <fweimer@redhat.com>
+Date: Thu, 24 Nov 2022 13:06:50 +0100
+Subject: [PATCH 1/3] configure: Do not require support for implicit ints
+
+Implicit ints have not been part of C since 1999, and future
+compilers will disable support for them by default. Fortunatenly,
+only one configure check needs adjusting.
+
+Upstream-Status: Submitted [https://github.com/fvwmorg/fvwm/pull/100]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ acinclude.m4 | 2 +-
+ configure.ac | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/acinclude.m4 b/acinclude.m4
+index 8b74ff1e..b66042f9 100644
+--- a/acinclude.m4
++++ b/acinclude.m4
+@@ -30,7 +30,7 @@ if test "$ac_cv_func_select" = yes; then
+ #ifdef HAVE_SYS_SOCKET_H
+ #include <sys/socket.h>
+ #endif],
+-[extern select ($ac_cv_type_fd_set_size_t,
++[extern int select ($ac_cv_type_fd_set_size_t,
+ $ac_cv_type_fd_set *, $ac_cv_type_fd_set *, $ac_cv_type_fd_set *,
+ $ac_type_timeval *);],
+ [ac_found=yes ; break 3],ac_found=no)
+diff --git a/configure.ac b/configure.ac
+index 97ab9e7a..c9fcede6 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -220,7 +220,7 @@ AC_MINIX
+
+ # catch -Werror and similar options when running configure
+ AC_TRY_COMPILE([#include <stdio.h>],
+-[int i; static j; int *p; char *c;
++[int i; int *p; char *c;
+ switch (*p = p = *c) { case 0: printf("%Q", c, p); }
+ *c = &i; c = p;
+ while (1 || (unsigned int)3 >= 0 || ((int)-1) == ((unsigned int)1));
+--
+2.45.0
+
diff --git a/meta-oe/recipes-graphics/fvwm/fvwm/0002-Avoid-absolute-symlinks.patch b/meta-oe/recipes-graphics/fvwm/fvwm/0002-Avoid-absolute-symlinks.patch
deleted file mode 100644
index 756cc86e87..0000000000
--- a/meta-oe/recipes-graphics/fvwm/fvwm/0002-Avoid-absolute-symlinks.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From: Sebastian Reichel <sebastian.reichel@collabora.co.uk>
-Date: Tue, 29 Auf 2017 16:08:42 +0200
-Subject: [PATCH] Avoid absolute symlinks
-
-Avoid usage of absolute symlinks, which breaks yocto builds
-since pyro.
-
-Upstream-Status: Pending
-Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.co.uk>
-
-diff --git a/default-config/Makefile.am b/default-config/Makefile.am
-index 5e16d095a137..5404145a742c 100644
---- a/default-config/Makefile.am
-+++ b/default-config/Makefile.am
-@@ -17,9 +17,9 @@ EXTRA_DIST = images \
-
- install-data-hook:
- cp -r $(srcdir)/images $(inst_location)
-- ln -sf $(inst_location)/FvwmScript-DateTime $(inst_location)/..
-- ln -sf $(inst_location)/FvwmScript-ConfirmQuit $(inst_location)/..
-- ln -sf $(inst_location)/FvwmScript-ConfirmCopyConfig $(inst_location)/..
-+ ln -sf default-config/FvwmScript-DateTime $(inst_location)/..
-+ ln -sf default-config/FvwmScript-ConfirmQuit $(inst_location)/..
-+ ln -sf default-config/FvwmScript-ConfirmCopyConfig $(inst_location)/..
-
- uninstall-hook:
- rm -fr $(DESTDIR)/$(configdir)
diff --git a/meta-oe/recipes-graphics/fvwm/fvwm/0002-acinclude.m4-Add-missing-unistd.h-to-AM_SAFETY_CHECK.patch b/meta-oe/recipes-graphics/fvwm/fvwm/0002-acinclude.m4-Add-missing-unistd.h-to-AM_SAFETY_CHECK.patch
new file mode 100644
index 0000000000..50ecb20c72
--- /dev/null
+++ b/meta-oe/recipes-graphics/fvwm/fvwm/0002-acinclude.m4-Add-missing-unistd.h-to-AM_SAFETY_CHECK.patch
@@ -0,0 +1,32 @@
+From 51287fb60263530f61b14df5519e10dabe67d2ad Mon Sep 17 00:00:00 2001
+From: Florian Weimer <fweimer@redhat.com>
+Date: Thu, 24 Nov 2022 13:07:56 +0100
+Subject: [PATCH 2/3] acinclude.m4: Add missing <unistd.h> to
+ AM_SAFETY_CHECK_MKSTEMP
+
+Otherwise, the check fails on a compiler which does not support
+implicit function declarations (a language feature removed in 1999).
+
+Upstream-Status: Submitted [https://github.com/fvwmorg/fvwm/pull/100]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ acinclude.m4 | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/acinclude.m4 b/acinclude.m4
+index b66042f9..4dee2abe 100644
+--- a/acinclude.m4
++++ b/acinclude.m4
+@@ -1154,6 +1154,9 @@ AC_DEFUN([AM_SAFETY_CHECK_MKSTEMP],[
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
++#ifdef HAVE_UNISTD_H
++#include <unistd.h>
++#endif
+ int main(void)
+ {
+ char template[128];
+--
+2.45.0
+
diff --git a/meta-oe/recipes-graphics/fvwm/fvwm/0003-configure-Further-defang-the-Werror-check.patch b/meta-oe/recipes-graphics/fvwm/fvwm/0003-configure-Further-defang-the-Werror-check.patch
new file mode 100644
index 0000000000..e9d780ddc6
--- /dev/null
+++ b/meta-oe/recipes-graphics/fvwm/fvwm/0003-configure-Further-defang-the-Werror-check.patch
@@ -0,0 +1,35 @@
+From 542c6f25327587d5a6bffb8a45b457ec85dcf8e1 Mon Sep 17 00:00:00 2001
+From: Florian Weimer <fweimer@redhat.com>
+Date: Tue, 19 Dec 2023 13:24:50 +0100
+Subject: [PATCH 3/3] configure: Further defang the -Werror check
+
+Incompatible pointer types are actually errors (in the sense
+that they are invalid C). Compilers have merely tolerated them as
+warnings for backwards compatibility. This is changing with Clang 16
+and GCC 14, so relax the check a little.
+
+Upstream-Status: Submitted [https://github.com/fvwmorg/fvwm/pull/100]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ configure.ac | 5 ++---
+ 1 file changed, 2 insertions(+), 3 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index c9fcede6..2e9615b2 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -220,9 +220,8 @@ AC_MINIX
+
+ # catch -Werror and similar options when running configure
+ AC_TRY_COMPILE([#include <stdio.h>],
+-[int i; int *p; char *c;
+- switch (*p = p = *c) { case 0: printf("%Q", c, p); }
+- *c = &i; c = p;
++[int unused; int *p; char *c;
++ printf("%Q", c, p);
+ while (1 || (unsigned int)3 >= 0 || ((int)-1) == ((unsigned int)1));
+ ], , AC_MSG_ERROR("
+ configure is not able to compile programs with warnings. Please
+--
+2.45.0
+
diff --git a/meta-oe/recipes-graphics/fvwm/fvwm_2.6.7.bb b/meta-oe/recipes-graphics/fvwm/fvwm_2.7.0.bb
index cb851bfd96..fcf1bd9cae 100644
--- a/meta-oe/recipes-graphics/fvwm/fvwm_2.6.7.bb
+++ b/meta-oe/recipes-graphics/fvwm/fvwm_2.7.0.bb
@@ -1,8 +1,8 @@
SUMMARY = "F Virtual Window Manager "
HOMEPAGE = "http://www.fvwm.org/"
SECTION = "x11/wm"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=363fbcfb59124689af72c914560eaf6e"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=f8204787357db6ea518dcc9b6cf08388"
DEPENDS = " \
bison-native \
@@ -31,33 +31,31 @@ DEPENDS = " \
zlib \
"
-PV = "2.6.7+git${SRCPV}"
-
SRC_URI = " \
- git://github.com/fvwmorg/fvwm.git;protocol=https \
+ git://github.com/fvwmorg/fvwm.git;protocol=https;branch=master \
file://0001-Fix-compilation-for-disabled-gnome.patch \
- file://0002-Avoid-absolute-symlinks.patch \
+ file://0001-configure-Do-not-require-support-for-implicit-ints.patch \
+ file://0002-acinclude.m4-Add-missing-unistd.h-to-AM_SAFETY_CHECK.patch \
+ file://0003-configure-Further-defang-the-Werror-check.patch \
"
-SRCREV = "597a4e296da4f21e71a17facab297e016a3a80a8"
+SRCREV = "7baf540e56fb1a3e91752acba872a88543529d46"
S = "${WORKDIR}/git"
-inherit autotools gettext update-alternatives pkgconfig pythonnative perlnative distro_features_check
+inherit autotools gettext update-alternatives pkgconfig python3native perlnative features_check
# depends on virtual/libx11
REQUIRED_DISTRO_FEATURES = "x11"
-ALTERNATIVE_${PN} = "x-window-manager"
+ALTERNATIVE:${PN} = "x-window-manager"
ALTERNATIVE_TARGET[x-window-manager] = "${bindir}/fvwm"
ALTERNATIVE_PRIORITY[x-window-manager] = "20"
EXTRA_OECONF = " \
--disable-bidi \
--disable-fontconfigtest \
- --disable-freetypetest \
--disable-htmldoc \
--disable-imlibtest \
- --disable-mandoc \
--disable-nls \
--disable-perllib \
--disable-rsvg \
@@ -74,41 +72,58 @@ EXTRA_OECONF = " \
--without-xpm-library \
ac_cv_func_mkstemp=no \
has_safety_mkstemp=yes \
+ ac_cv_path_FVWM_CPP=cpp \
+ ac_cv_path_PERL=perl \
"
# show the exact commands in the log file
EXTRA_OEMAKE = " \
V=1 \
"
+# clang treats them as errors by default now starting with 15.0+
+CFLAGS += "-Wno-error=int-conversion -Wno-error=implicit-int"
-do_install_append() {
+do_install:append() {
install -d -m 0755 ${D}/${sysconfdir}/xdg/fvwm
# You can install the config file here
install -d -m 0755 ${D}/${datadir}/fvwm
touch ${D}/${datadir}/fvwm/ConfigFvwmDefaults
+ sed -i -e 's:${STAGING_BINDIR_NATIVE}/perl-native/perl:${USRBINPATH}/env perl:g' ${D}${bindir}/fvwm-*
+ sed -i -e 's:${STAGING_BINDIR_NATIVE}/perl-native/perl:${USRBINPATH}/env perl:g' ${D}${libexecdir}/fvwm/*/Fvwm*
+ sed -i -e 's:${STAGING_BINDIR_NATIVE}/python3-native/python3:${USRBINPATH}/env python3:g' ${D}${bindir}/fvwm-menu-desktop
+ sed -i -e 's:${WORKDIR}::g' ${D}${bindir}/fvwm-bug
}
# the only needed packages (note: locale packages are automatically generated
# as well)
PACKAGES = " \
${PN} \
+ ${PN}-extra \
+ ${PN}-doc \
${PN}-dbg \
"
# minimal set of binaries
-FILES_${PN} = " \
+FILES:${PN} = " \
${bindir}/fvwm \
${bindir}/fvwm-root \
${datadir}/fvwm/ConfigFvwmDefaults \
"
-RDEPENDS_${PN} = " \
+FILES:${PN}-extra = " \
+ ${bindir} \
+ ${libexecdir} \
+ ${sysconfdir}/xdg/fvwm \
+"
+FILES:${PN}-doc = " \
+ ${mandir} \
+ ${datadir}/fvwm \
+"
+RDEPENDS:${PN} = " \
xuser-account \
"
-
-# by default a lot of stuff is installed and it's not easy to control what to
-# install, so install everything, but skip the check
-INSANE_SKIP_${PN} = " \
- installed-vs-shipped \
+RDEPENDS:${PN}-extra += "\
+ perl \
+ python3-core \
"
diff --git a/meta-oe/recipes-graphics/gegl/gegl/pkgconfig.patch b/meta-oe/recipes-graphics/gegl/gegl/pkgconfig.patch
deleted file mode 100644
index d145b625f6..0000000000
--- a/meta-oe/recipes-graphics/gegl/gegl/pkgconfig.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-Index: gegl-0.2.0/configure.ac
-===================================================================
---- gegl-0.2.0.orig/configure.ac 2012-04-02 21:56:49.000000000 +0000
-+++ gegl-0.2.0/configure.ac 2014-07-17 21:34:15.312546602 +0000
-@@ -765,15 +765,7 @@
-
- have_sdl="no"
- if test "x$with_sdl" != "xno"; then
-- AC_PATH_PROG(SDL_CONFIG, sdl-config, no)
-- if test "$SDL_CONFIG" = "no"; then
-- have_sdl="no (SDL library not found)"
-- AC_MSG_RESULT([*** Check for SDL library failed.])
-- else
-- have_sdl="yes"
-- SDL_CFLAGS=`$SDL_CONFIG --cflags`
-- SDL_LIBS=`$SDL_CONFIG --libs`
-- fi
-+ PKG_CHECK_MODULES([SDL], [sdl], [have_sdl="yes"], [have_sdl="no (SDL library not found)"])
- fi
-
- AM_CONDITIONAL(HAVE_SDL, test "$have_sdl" = "yes")
diff --git a/meta-oe/recipes-graphics/gegl/gegl_0.3.18.bb b/meta-oe/recipes-graphics/gegl/gegl_0.3.18.bb
deleted file mode 100644
index 0053c0c689..0000000000
--- a/meta-oe/recipes-graphics/gegl/gegl_0.3.18.bb
+++ /dev/null
@@ -1,34 +0,0 @@
-SUMMARY = "GEGL (Generic Graphics Library) is a graph based image processing framework"
-LICENSE = "LGPL-3.0"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-DEPENDS = "babl librsvg glib-2.0 gtk+ pango cairo expat zlib libpng jpeg virtual/libsdl json-glib intltool-native"
-
-EXTRA_OECONF = "--disable-docs"
-
-inherit distro_features_check gnomebase vala gobject-introspection
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[jasper] = "--with-jasper,--without-jasper,jasper"
-PACKAGECONFIG[avformat] = "--with-libavformat,--without-libavformat,libav"
-PACKAGECONFIG[lcms] = "--with-lcms,--without-lcms,lcms"
-PACKAGECONFIG[tiff] = "--with-libtiff,--without-libtiff,tiff"
-PACKAGECONFIG[webp] = "--with-webp,--without-webp,webp"
-
-SRC_URI = "http://ftp.gimp.org/pub/${BPN}/0.3/${BP}.tar.bz2 \
- file://pkgconfig.patch "
-SRC_URI[md5sum] = "6e5c6f229261478dc436a38c84405b2a"
-SRC_URI[sha256sum] = "d7858ef26ede136d14e3de188a9e9c0de7707061a9fb96d7d615fab4958491fb"
-
-LDFLAGS += "-lm"
-
-# There are a couple of non-symlink .so files installed into libdir, which need to go into main package
-FILES_${PN}_append = " ${libdir}/gegl-0.3/*.so ${libdir}/gegl-0.3/*.json ${libdir}/libgegl-npd-0.3.so ${libdir}/libgegl-sc-0.3.so"
-FILES_${PN}-dev_append = " ${libdir}/gegl-0.3/*.la ${libdir}/libgegl-0.3.so"
-FILES_${PN}-dev_remove = "${libdir}/lib*.so"
-
-# Fails to build with thumb-1 (qemuarm)
-# gegl-0.2.0/operations/common/matting-global.c: In function 'matting_process':
-# gegl-0.2.0/operations/common/matting-global.c:463:1: internal compiler error: in patch_jump_insn, at cfgrtl.c:1275
-ARM_INSTRUCTION_SET = "arm"
diff --git a/meta-oe/recipes-graphics/gimp/gimp/0001-configure-ac-do-not-check-for-freetype-config.patch b/meta-oe/recipes-graphics/gimp/gimp/0001-configure-ac-do-not-check-for-freetype-config.patch
deleted file mode 100644
index fecd0121c3..0000000000
--- a/meta-oe/recipes-graphics/gimp/gimp/0001-configure-ac-do-not-check-for-freetype-config.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From 72ad76841d87e857428693d812a961935284ac62 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
-Date: Thu, 12 Feb 2015 15:57:47 +0100
-Subject: [PATCH] configure-ac: do not check for freetype-config
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-freetype-config is not allowed in our environment - see also binconfig-disabled
-
-Upstream-Status: inappropriate [OE specific]
-
-Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
----
- configure.ac | 7 -------
- 1 file changed, 7 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 26812b6..abec714 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -647,13 +647,6 @@ if test "x$fontconfig_ok" = xno; then
- fi
-
-
--AC_PATH_PROG(FREETYPE_CONFIG, freetype-config, no)
--if test "x$FREETYPE_CONFIG" != "xno" ; then
-- AC_MSG_CHECKING([for freetype libraries])
-- FREETYPE_LIBS=`$FREETYPE_CONFIG --libs`
-- AC_MSG_RESULT($FREETYPE_LIBS)
--fi
--AC_SUBST(FREETYPE_LIBS)
-
-
- ##########################################
---
-1.9.3
-
diff --git a/meta-oe/recipes-graphics/gimp/gimp/0003-Fix-use-of-gegl-API.patch b/meta-oe/recipes-graphics/gimp/gimp/0003-Fix-use-of-gegl-API.patch
deleted file mode 100644
index 7da78e2052..0000000000
--- a/meta-oe/recipes-graphics/gimp/gimp/0003-Fix-use-of-gegl-API.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From e1c8f4b8323e3965271a93529eab5774c1a7083c Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 29 Jun 2017 10:32:14 -0700
-Subject: [PATCH 3/3] Fix use of gegl API
-
-newer version of gegl does not define GEGL_IS_PARAM_SPEC_MULTILINE
-
-| core/libappcore.a(gimpparamspecs-duplicate.o): In function `gimp_param_spec_duplicate':
-| /usr/src/debug/gimp/2.8.22-r0/gimp-2.8.22/app/core/../../../../../../../../../workspace/sources/gimp/app/core/gimpparamspecs-duplicate.c:70: undefined reference to `GEGL_IS_PARAM_SPEC_MULTILINE'
-| collect2: error: ld returned 1 exit status
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- app/core/gimpparamspecs-duplicate.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/app/core/gimpparamspecs-duplicate.c b/app/core/gimpparamspecs-duplicate.c
-index c0b7426..2efaf23 100644
---- a/app/core/gimpparamspecs-duplicate.c
-+++ b/app/core/gimpparamspecs-duplicate.c
-@@ -67,7 +67,7 @@ gimp_param_spec_duplicate (GParamSpec *pspec)
- spec->default_value,
- pspec->flags);
-
-- if (GEGL_IS_PARAM_SPEC_MULTILINE (pspec))
-+ if (gegl_param_spec_get_property_key(pspec, "multiline"))
- {
- g_param_spec_set_qdata (new, multiline_quark,
- GINT_TO_POINTER (TRUE));
---
-2.13.2
-
diff --git a/meta-oe/recipes-graphics/gimp/gimp/bump_Babl-GEGL_versions.patch b/meta-oe/recipes-graphics/gimp/gimp/bump_Babl-GEGL_versions.patch
deleted file mode 100644
index b71bf329e9..0000000000
--- a/meta-oe/recipes-graphics/gimp/gimp/bump_Babl-GEGL_versions.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-Bump acceptable versions of babl and gegl.
-
-Patch is taken from debian:
-https://packages.debian.org/stretch/gimp
-
-Upstream-Status: Inappropriate [OE specific]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
-diff --git a/app/sanity.c b/app/sanity.c
-index febddfb..85fea55 100644
---- a/app/sanity.c
-+++ b/app/sanity.c
-@@ -351,7 +351,7 @@ sanity_check_babl (void)
-
- #define BABL_REQUIRED_MAJOR 0
- #define BABL_REQUIRED_MINOR 1
--#define BABL_REQUIRED_MICRO 10
-+#define BABL_REQUIRED_MICRO 12
-
- babl_get_version (&babl_major_version,
- &babl_minor_version,
-@@ -388,7 +388,7 @@ sanity_check_gegl (void)
- gint gegl_micro_version;
-
- #define GEGL_REQUIRED_MAJOR 0
--#define GEGL_REQUIRED_MINOR 2
-+#define GEGL_REQUIRED_MINOR 3
- #define GEGL_REQUIRED_MICRO 0
-
- gegl_get_version (&gegl_major_version,
-diff --git a/configure.ac b/configure.ac
-index 26812b6..4252fe9 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -40,8 +40,8 @@ m4_define([gimp_stable],
- m4_define([gimp_full_name], [GNU Image Manipulation Program])
-
- # required versions of other packages
--m4_define([babl_required_version], [0.1.10])
--m4_define([gegl_required_version], [0.2.0])
-+m4_define([babl_required_version], [0.1.12])
-+m4_define([gegl_required_version], [0.3.0])
- m4_define([glib_required_version], [2.30.2])
- m4_define([atk_required_version], [2.2.0])
- m4_define([gtk_required_version], [2.24.10])
-@@ -519,7 +519,7 @@ AC_SUBST(ISO_CODES_LOCALEDIR)
- ###############################
-
- PKG_CHECK_MODULES(BABL, babl >= babl_required_version)
--PKG_CHECK_MODULES(GEGL, gegl-0.2 >= gegl_required_version)
-+PKG_CHECK_MODULES(GEGL, gegl-0.3 >= gegl_required_version)
- PKG_CHECK_MODULES(ATK, atk >= atk_required_version)
-
- AM_PATH_GLIB_2_0(glib_required_version, :,
diff --git a/meta-oe/recipes-graphics/gimp/gimp_2.8.22.bb b/meta-oe/recipes-graphics/gimp/gimp_2.8.22.bb
deleted file mode 100644
index 943986e77e..0000000000
--- a/meta-oe/recipes-graphics/gimp/gimp_2.8.22.bb
+++ /dev/null
@@ -1,51 +0,0 @@
-SUMMARY = "The GIMP is the GNU Image Manipulation Program"
-HOMEPAGE = "http://www.gimp.org"
-SECTION = "x11/graphics"
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-
-DEPENDS = " \
- gdk-pixbuf-native \
- intltool-native \
- libxslt-native \
- gtk+ \
- babl \
- gegl \
- jpeg \
- libpng \
- libexif \
- tiff \
- lcms \
- poppler \
- jasper \
- bzip2 \
- libgudev \
- libmng \
-"
-DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'libxmu libxpm', '', d)}"
-
-inherit distro_features_check gnome gtk-doc
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-SRC_URI = "http://ftp.gimp.org/pub/gimp/v2.8/gimp-${PV}.tar.bz2 \
- file://0001-configure-ac-do-not-check-for-freetype-config.patch \
- file://bump_Babl-GEGL_versions.patch \
- file://0003-Fix-use-of-gegl-API.patch \
- "
-SRC_URI[md5sum] = "7e4fd7a53b1d3c32dff642ab1a94b44d"
-SRC_URI[sha256sum] = "9187a35cc52b110d78124d7b27b68a68ade14a794c2721314bac6134d2a5638a"
-
-EXTRA_OECONF = "--disable-python \
- --without-webkit \
- --without-wmf"
-
-do_configure_append() {
- find ${B} -name Makefile | xargs sed -i s:'-I$(includedir)':'-I.':g
- find ${B} -name Makefile | xargs sed -i s:'-I/usr/include':'-I${STAGING_INCDIR}':g
-}
-
-CFLAGS += "-fPIC"
-
-FILES_${PN}-dbg += "${libdir}/gimp/2.0/*/.debug"
-FILES_${PN} += "${datadir}/appdata"
diff --git a/meta-oe/recipes-graphics/glm/files/0001-Make-GLM_ENABLE_EXPERIMENTAL-a-configurable-option.patch b/meta-oe/recipes-graphics/glm/files/0001-Make-GLM_ENABLE_EXPERIMENTAL-a-configurable-option.patch
deleted file mode 100644
index d69c5af3af..0000000000
--- a/meta-oe/recipes-graphics/glm/files/0001-Make-GLM_ENABLE_EXPERIMENTAL-a-configurable-option.patch
+++ /dev/null
@@ -1,860 +0,0 @@
-From 99a9676a0193f6291d7202d7af72e24580abe565 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
-Date: Fri, 16 Mar 2018 13:55:29 +0100
-Subject: [PATCH 1/2] Make GLM_ENABLE_EXPERIMENTAL a configurable option
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-It seems that erroring out if GLM_ENABLE_EXPERIMENTAL is not set turns into
-packagers nightmare: There are packages around expecting glx headers. E.g
-libgltf [1] fails during configure checking for usable headers AND during
-compile. Paticularly fixing configure for those packages is time-consuming:
-The only way (correct me if I am wrong) is creating a patch adding
-
-AC_DEFINE([GLM_ENABLE_EXPERIMENTAL], [1], [glm needs this for gtx headers])
-
-By adding a configure option 'GLM_ENABLE_EXPERIMENTAL', the decision to use
-glm/glx is done at one (and the right) place.
-
-Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
-
-[1] https://gerrit.libreoffice.org/gitweb?p=libgltf.git
-
-Uptream-Status: Submitted [2]
-
-[2] https://github.com/g-truc/glm/pull/741
----
- CMakeLists.txt | 6 ++++++
- glm/CMakeLists.txt | 2 ++
- glm/experimental.hpp.in | 1 +
- glm/ext.hpp | 1 +
- glm/gtx/associated_min_max.hpp | 1 +
- glm/gtx/bit.hpp | 1 +
- glm/gtx/closest_point.hpp | 1 +
- glm/gtx/color_space.hpp | 1 +
- glm/gtx/color_space_YCoCg.hpp | 1 +
- glm/gtx/common.hpp | 1 +
- glm/gtx/compatibility.hpp | 1 +
- glm/gtx/component_wise.hpp | 1 +
- glm/gtx/dual_quaternion.hpp | 1 +
- glm/gtx/euler_angles.hpp | 1 +
- glm/gtx/extend.hpp | 1 +
- glm/gtx/extended_min_max.hpp | 1 +
- glm/gtx/fast_exponential.hpp | 1 +
- glm/gtx/fast_square_root.hpp | 1 +
- glm/gtx/fast_trigonometry.hpp | 1 +
- glm/gtx/gradient_paint.hpp | 1 +
- glm/gtx/handed_coordinate_space.hpp | 1 +
- glm/gtx/hash.hpp | 1 +
- glm/gtx/integer.hpp | 1 +
- glm/gtx/intersect.hpp | 1 +
- glm/gtx/io.hpp | 1 +
- glm/gtx/log_base.hpp | 1 +
- glm/gtx/matrix_cross_product.hpp | 1 +
- glm/gtx/matrix_decompose.hpp | 1 +
- glm/gtx/matrix_factorisation.hpp | 1 +
- glm/gtx/matrix_interpolation.hpp | 1 +
- glm/gtx/matrix_major_storage.hpp | 1 +
- glm/gtx/matrix_operation.hpp | 1 +
- glm/gtx/matrix_query.hpp | 1 +
- glm/gtx/matrix_transform_2d.hpp | 1 +
- glm/gtx/mixed_product.hpp | 1 +
- glm/gtx/norm.hpp | 1 +
- glm/gtx/normal.hpp | 1 +
- glm/gtx/normalize_dot.hpp | 1 +
- glm/gtx/number_precision.hpp | 1 +
- glm/gtx/optimum_pow.hpp | 1 +
- glm/gtx/orthonormalize.hpp | 1 +
- glm/gtx/perpendicular.hpp | 1 +
- glm/gtx/polar_coordinates.hpp | 1 +
- glm/gtx/projection.hpp | 1 +
- glm/gtx/quaternion.hpp | 1 +
- glm/gtx/range.hpp | 1 +
- glm/gtx/raw_data.hpp | 1 +
- glm/gtx/rotate_normalized_axis.hpp | 1 +
- glm/gtx/rotate_vector.hpp | 1 +
- glm/gtx/scalar_multiplication.hpp | 1 +
- glm/gtx/scalar_relational.hpp | 1 +
- glm/gtx/spline.hpp | 1 +
- glm/gtx/std_based_type.hpp | 1 +
- glm/gtx/string_cast.hpp | 1 +
- glm/gtx/texture.hpp | 1 +
- glm/gtx/transform.hpp | 1 +
- glm/gtx/transform2.hpp | 1 +
- glm/gtx/type_aligned.hpp | 1 +
- glm/gtx/type_trait.hpp | 1 +
- glm/gtx/vec_swizzle.hpp | 1 +
- glm/gtx/vector_angle.hpp | 1 +
- glm/gtx/vector_query.hpp | 1 +
- glm/gtx/wrap.hpp | 1 +
- 63 files changed, 69 insertions(+)
- create mode 100644 glm/experimental.hpp.in
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index e5159b0f..bd4dd654 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -82,6 +82,11 @@ option(GLM_TEST_ENABLE_SIMD_AVX "Enable AVX optimizations" OFF)
- option(GLM_TEST_ENABLE_SIMD_AVX2 "Enable AVX2 optimizations" OFF)
- option(GLM_TEST_FORCE_PURE "Force 'pure' instructions" OFF)
-
-+option(GLM_ENABLE_EXPERIMENTAL "Enable experimental GLM_GTX" OFF)
-+configure_file(glm/experimental.hpp.in experimental.hpp @ONLY)
-+include_directories(${CMAKE_BINARY_DIR}/glm)
-+include_directories(${CMAKE_BINARY_DIR})
-+
- if(GLM_TEST_FORCE_PURE)
- add_definitions(-DGLM_FORCE_PURE)
-
-@@ -167,6 +172,7 @@ option(GLM_INSTALL_ENABLE "GLM install" ON)
- set(GLM_INSTALL_CONFIGDIR "${CMAKE_INSTALL_LIBDIR}/cmake/glm")
- if (GLM_INSTALL_ENABLE)
- install(DIRECTORY glm DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
-+ install(FILES "${CMAKE_CURRENT_BINARY_DIR}/experimental.hpp" DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/glm)
- endif()
-
- write_basic_package_version_file("${CMAKE_CURRENT_BINARY_DIR}/glmConfigVersion.cmake" VERSION ${GLM_VERSION} COMPATIBILITY AnyNewerVersion)
-diff --git a/glm/CMakeLists.txt b/glm/CMakeLists.txt
-index df9c9ee5..dc5db4bc 100644
---- a/glm/CMakeLists.txt
-+++ b/glm/CMakeLists.txt
-@@ -43,6 +43,8 @@ source_group("SIMD Files" FILES ${SIMD_INLINE})
- source_group("SIMD Files" FILES ${SIMD_HEADER})
-
- include_directories(${CMAKE_CURRENT_SOURCE_DIR}/..)
-+# make out-of tree builds find experimental.hpp
-+include_directories(${CMAKE_BINARY_DIR}/glm)
-
- if(GLM_STATIC_LIBRARY_ENABLE OR GLM_DYNAMIC_LIBRARY_ENABLE)
- if(GLM_STATIC_LIBRARY_ENABLE)
-diff --git a/glm/experimental.hpp.in b/glm/experimental.hpp.in
-new file mode 100644
-index 00000000..bfab5138
---- /dev/null
-+++ b/glm/experimental.hpp.in
-@@ -0,0 +1 @@
-+#cmakedefine GLM_ENABLE_EXPERIMENTAL
-diff --git a/glm/ext.hpp b/glm/ext.hpp
-index d085bfd5..a2948447 100644
---- a/glm/ext.hpp
-+++ b/glm/ext.hpp
-@@ -39,6 +39,7 @@
- # include "./gtc/type_aligned.hpp"
- #endif
-
-+#include "experimental.hpp"
- #ifdef GLM_ENABLE_EXPERIMENTAL
- #include "./gtx/associated_min_max.hpp"
- #include "./gtx/bit.hpp"
-diff --git a/glm/gtx/associated_min_max.hpp b/glm/gtx/associated_min_max.hpp
-index 0c9935f3..d00c2bc4 100644
---- a/glm/gtx/associated_min_max.hpp
-+++ b/glm/gtx/associated_min_max.hpp
-@@ -16,6 +16,7 @@
- // Dependency:
- #include "../glm.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GTX_associated_min_max is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/bit.hpp b/glm/gtx/bit.hpp
-index 1447fa00..31957083 100644
---- a/glm/gtx/bit.hpp
-+++ b/glm/gtx/bit.hpp
-@@ -15,6 +15,7 @@
- // Dependencies
- #include "../gtc/bitfield.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_bit is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/closest_point.hpp b/glm/gtx/closest_point.hpp
-index 6859bb96..ebd9fe5a 100644
---- a/glm/gtx/closest_point.hpp
-+++ b/glm/gtx/closest_point.hpp
-@@ -15,6 +15,7 @@
- // Dependency:
- #include "../glm.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_closest_point is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/color_space.hpp b/glm/gtx/color_space.hpp
-index d1e655c3..51416819 100644
---- a/glm/gtx/color_space.hpp
-+++ b/glm/gtx/color_space.hpp
-@@ -15,6 +15,7 @@
- // Dependency:
- #include "../glm.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_color_space is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/color_space_YCoCg.hpp b/glm/gtx/color_space_YCoCg.hpp
-index e82cbd8b..7ae71041 100644
---- a/glm/gtx/color_space_YCoCg.hpp
-+++ b/glm/gtx/color_space_YCoCg.hpp
-@@ -15,6 +15,7 @@
- // Dependency:
- #include "../glm.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_color_space_YCoCg is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/common.hpp b/glm/gtx/common.hpp
-index 8081bff7..57a68a8d 100644
---- a/glm/gtx/common.hpp
-+++ b/glm/gtx/common.hpp
-@@ -18,6 +18,7 @@
- #include "../vec4.hpp"
- #include "../gtc/vec1.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_common is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/compatibility.hpp b/glm/gtx/compatibility.hpp
-index e5b60399..9876669c 100644
---- a/glm/gtx/compatibility.hpp
-+++ b/glm/gtx/compatibility.hpp
-@@ -16,6 +16,7 @@
- #include "../glm.hpp"
- #include "../gtc/quaternion.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_compatibility is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/component_wise.hpp b/glm/gtx/component_wise.hpp
-index 39bab5d5..4fe0e4e2 100644
---- a/glm/gtx/component_wise.hpp
-+++ b/glm/gtx/component_wise.hpp
-@@ -18,6 +18,7 @@
- #include "../detail/setup.hpp"
- #include "../detail/qualifier.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_component_wise is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/dual_quaternion.hpp b/glm/gtx/dual_quaternion.hpp
-index c4343e9d..d59fb459 100644
---- a/glm/gtx/dual_quaternion.hpp
-+++ b/glm/gtx/dual_quaternion.hpp
-@@ -20,6 +20,7 @@
- #include "../gtc/constants.hpp"
- #include "../gtc/quaternion.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_dual_quaternion is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/euler_angles.hpp b/glm/gtx/euler_angles.hpp
-index e66e9281..ad5988c1 100644
---- a/glm/gtx/euler_angles.hpp
-+++ b/glm/gtx/euler_angles.hpp
-@@ -15,6 +15,7 @@
- // Dependency:
- #include "../glm.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_euler_angles is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/extend.hpp b/glm/gtx/extend.hpp
-index eda4e470..cde6db63 100644
---- a/glm/gtx/extend.hpp
-+++ b/glm/gtx/extend.hpp
-@@ -15,6 +15,7 @@
- // Dependency:
- #include "../glm.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_extend is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/extended_min_max.hpp b/glm/gtx/extended_min_max.hpp
-index 3e767b0c..0bcffcc6 100644
---- a/glm/gtx/extended_min_max.hpp
-+++ b/glm/gtx/extended_min_max.hpp
-@@ -15,6 +15,7 @@
- // Dependency:
- #include "../glm.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_extented_min_max is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/fast_exponential.hpp b/glm/gtx/fast_exponential.hpp
-index 2d4918e7..e6d11f0a 100644
---- a/glm/gtx/fast_exponential.hpp
-+++ b/glm/gtx/fast_exponential.hpp
-@@ -16,6 +16,7 @@
- // Dependency:
- #include "../glm.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_fast_exponential is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/fast_square_root.hpp b/glm/gtx/fast_square_root.hpp
-index 1e1ec3cf..f758aeef 100644
---- a/glm/gtx/fast_square_root.hpp
-+++ b/glm/gtx/fast_square_root.hpp
-@@ -19,6 +19,7 @@
- #include "../exponential.hpp"
- #include "../geometric.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_fast_square_root is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/fast_trigonometry.hpp b/glm/gtx/fast_trigonometry.hpp
-index 739065fb..f1332958 100644
---- a/glm/gtx/fast_trigonometry.hpp
-+++ b/glm/gtx/fast_trigonometry.hpp
-@@ -15,6 +15,7 @@
- // Dependency:
- #include "../gtc/constants.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_fast_trigonometry is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/gradient_paint.hpp b/glm/gtx/gradient_paint.hpp
-index 2713cec0..d4703991 100644
---- a/glm/gtx/gradient_paint.hpp
-+++ b/glm/gtx/gradient_paint.hpp
-@@ -17,6 +17,7 @@
- #include "../glm.hpp"
- #include "../gtx/optimum_pow.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_gradient_paint is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/handed_coordinate_space.hpp b/glm/gtx/handed_coordinate_space.hpp
-index 1d0d4104..3a52ddcf 100644
---- a/glm/gtx/handed_coordinate_space.hpp
-+++ b/glm/gtx/handed_coordinate_space.hpp
-@@ -15,6 +15,7 @@
- // Dependency:
- #include "../glm.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_handed_coordinate_space is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/hash.hpp b/glm/gtx/hash.hpp
-index fe8a3efd..92bfc9b2 100644
---- a/glm/gtx/hash.hpp
-+++ b/glm/gtx/hash.hpp
-@@ -12,6 +12,7 @@
-
- #pragma once
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_hash is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/integer.hpp b/glm/gtx/integer.hpp
-index 96637a13..5d1a16c6 100644
---- a/glm/gtx/integer.hpp
-+++ b/glm/gtx/integer.hpp
-@@ -16,6 +16,7 @@
- #include "../glm.hpp"
- #include "../gtc/integer.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_integer is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/intersect.hpp b/glm/gtx/intersect.hpp
-index 61e2226a..4895ba93 100644
---- a/glm/gtx/intersect.hpp
-+++ b/glm/gtx/intersect.hpp
-@@ -21,6 +21,7 @@
- #include "../gtx/closest_point.hpp"
- #include "../gtx/vector_query.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_closest_point is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/io.hpp b/glm/gtx/io.hpp
-index 49a1ec11..ae39cd60 100644
---- a/glm/gtx/io.hpp
-+++ b/glm/gtx/io.hpp
-@@ -23,6 +23,7 @@
- #include "../glm.hpp"
- #include "../gtx/quaternion.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_io is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/log_base.hpp b/glm/gtx/log_base.hpp
-index e873e356..45b8d53c 100644
---- a/glm/gtx/log_base.hpp
-+++ b/glm/gtx/log_base.hpp
-@@ -15,6 +15,7 @@
- // Dependency:
- #include "../glm.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_log_base is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/matrix_cross_product.hpp b/glm/gtx/matrix_cross_product.hpp
-index 967743b8..52d6c173 100644
---- a/glm/gtx/matrix_cross_product.hpp
-+++ b/glm/gtx/matrix_cross_product.hpp
-@@ -16,6 +16,7 @@
- // Dependency:
- #include "../glm.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_matrix_cross_product is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/matrix_decompose.hpp b/glm/gtx/matrix_decompose.hpp
-index b7ec0e83..6793fee2 100644
---- a/glm/gtx/matrix_decompose.hpp
-+++ b/glm/gtx/matrix_decompose.hpp
-@@ -20,6 +20,7 @@
- #include "../gtc/quaternion.hpp"
- #include "../gtc/matrix_transform.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_matrix_decompose is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/matrix_factorisation.hpp b/glm/gtx/matrix_factorisation.hpp
-index e30a7746..79c293be 100644
---- a/glm/gtx/matrix_factorisation.hpp
-+++ b/glm/gtx/matrix_factorisation.hpp
-@@ -15,6 +15,7 @@
- // Dependency:
- #include "../glm.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_matrix_factorisation is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/matrix_interpolation.hpp b/glm/gtx/matrix_interpolation.hpp
-index 89c4596c..799983bb 100644
---- a/glm/gtx/matrix_interpolation.hpp
-+++ b/glm/gtx/matrix_interpolation.hpp
-@@ -16,6 +16,7 @@
- // Dependency:
- #include "../glm.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_matrix_interpolation is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/matrix_major_storage.hpp b/glm/gtx/matrix_major_storage.hpp
-index 7f264a59..e68467cd 100644
---- a/glm/gtx/matrix_major_storage.hpp
-+++ b/glm/gtx/matrix_major_storage.hpp
-@@ -16,6 +16,7 @@
- // Dependency:
- #include "../glm.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_matrix_major_storage is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/matrix_operation.hpp b/glm/gtx/matrix_operation.hpp
-index bce938bb..1e85bb5e 100644
---- a/glm/gtx/matrix_operation.hpp
-+++ b/glm/gtx/matrix_operation.hpp
-@@ -15,6 +15,7 @@
- // Dependency:
- #include "../glm.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_matrix_operation is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/matrix_query.hpp b/glm/gtx/matrix_query.hpp
-index 5df5f52f..eec1eec0 100644
---- a/glm/gtx/matrix_query.hpp
-+++ b/glm/gtx/matrix_query.hpp
-@@ -18,6 +18,7 @@
- #include "../gtx/vector_query.hpp"
- #include <limits>
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_matrix_query is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/matrix_transform_2d.hpp b/glm/gtx/matrix_transform_2d.hpp
-index 239ab9f4..3ca8d2f2 100644
---- a/glm/gtx/matrix_transform_2d.hpp
-+++ b/glm/gtx/matrix_transform_2d.hpp
-@@ -17,6 +17,7 @@
- #include "../mat3x3.hpp"
- #include "../vec2.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_matrix_transform_2d is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/mixed_product.hpp b/glm/gtx/mixed_product.hpp
-index 58562aab..5c7460d5 100644
---- a/glm/gtx/mixed_product.hpp
-+++ b/glm/gtx/mixed_product.hpp
-@@ -15,6 +15,7 @@
- // Dependency:
- #include "../glm.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_mixed_product is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/norm.hpp b/glm/gtx/norm.hpp
-index 46474e07..3cf2c3ea 100644
---- a/glm/gtx/norm.hpp
-+++ b/glm/gtx/norm.hpp
-@@ -17,6 +17,7 @@
- #include "../geometric.hpp"
- #include "../gtx/quaternion.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_norm is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/normal.hpp b/glm/gtx/normal.hpp
-index 15cec9c2..7bb4c096 100644
---- a/glm/gtx/normal.hpp
-+++ b/glm/gtx/normal.hpp
-@@ -16,6 +16,7 @@
- // Dependency:
- #include "../glm.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_normal is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/normalize_dot.hpp b/glm/gtx/normalize_dot.hpp
-index 86048e70..c6604da4 100644
---- a/glm/gtx/normalize_dot.hpp
-+++ b/glm/gtx/normalize_dot.hpp
-@@ -16,6 +16,7 @@
- // Dependency:
- #include "../gtx/fast_square_root.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_normalize_dot is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/number_precision.hpp b/glm/gtx/number_precision.hpp
-index 3732a56c..b48845f7 100644
---- a/glm/gtx/number_precision.hpp
-+++ b/glm/gtx/number_precision.hpp
-@@ -18,6 +18,7 @@
- #include "../glm.hpp"
- #include "../gtc/type_precision.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_number_precision is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/optimum_pow.hpp b/glm/gtx/optimum_pow.hpp
-index eb09f1c3..94a6bbb2 100644
---- a/glm/gtx/optimum_pow.hpp
-+++ b/glm/gtx/optimum_pow.hpp
-@@ -15,6 +15,7 @@
- // Dependency:
- #include "../glm.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_optimum_pow is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/orthonormalize.hpp b/glm/gtx/orthonormalize.hpp
-index 2a684ee4..4ff47e53 100644
---- a/glm/gtx/orthonormalize.hpp
-+++ b/glm/gtx/orthonormalize.hpp
-@@ -18,6 +18,7 @@
- #include "../mat3x3.hpp"
- #include "../geometric.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_orthonormalize is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/perpendicular.hpp b/glm/gtx/perpendicular.hpp
-index 35601ac7..17251ebe 100644
---- a/glm/gtx/perpendicular.hpp
-+++ b/glm/gtx/perpendicular.hpp
-@@ -17,6 +17,7 @@
- #include "../glm.hpp"
- #include "../gtx/projection.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_perpendicular is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/polar_coordinates.hpp b/glm/gtx/polar_coordinates.hpp
-index b8421db4..5125215d 100644
---- a/glm/gtx/polar_coordinates.hpp
-+++ b/glm/gtx/polar_coordinates.hpp
-@@ -15,6 +15,7 @@
- // Dependency:
- #include "../glm.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_polar_coordinates is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/projection.hpp b/glm/gtx/projection.hpp
-index 9a24abf9..4d5bf76f 100644
---- a/glm/gtx/projection.hpp
-+++ b/glm/gtx/projection.hpp
-@@ -15,6 +15,7 @@
- // Dependency:
- #include "../geometric.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_projection is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/quaternion.hpp b/glm/gtx/quaternion.hpp
-index c3d99a5c..808ba0fd 100644
---- a/glm/gtx/quaternion.hpp
-+++ b/glm/gtx/quaternion.hpp
-@@ -19,6 +19,7 @@
- #include "../gtc/quaternion.hpp"
- #include "../gtx/norm.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_quaternion is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/range.hpp b/glm/gtx/range.hpp
-index e0ef46af..03c797c3 100644
---- a/glm/gtx/range.hpp
-+++ b/glm/gtx/range.hpp
-@@ -15,6 +15,7 @@
- // Dependencies
- #include "../detail/setup.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_range is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/raw_data.hpp b/glm/gtx/raw_data.hpp
-index fb34c8cb..0084fec6 100644
---- a/glm/gtx/raw_data.hpp
-+++ b/glm/gtx/raw_data.hpp
-@@ -16,6 +16,7 @@
- #include "../detail/setup.hpp"
- #include "../detail/type_int.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_raw_data is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/rotate_normalized_axis.hpp b/glm/gtx/rotate_normalized_axis.hpp
-index eee90d6e..82612928 100644
---- a/glm/gtx/rotate_normalized_axis.hpp
-+++ b/glm/gtx/rotate_normalized_axis.hpp
-@@ -19,6 +19,7 @@
- #include "../gtc/epsilon.hpp"
- #include "../gtc/quaternion.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_rotate_normalized_axis is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/rotate_vector.hpp b/glm/gtx/rotate_vector.hpp
-index c8ace89e..e954b041 100644
---- a/glm/gtx/rotate_vector.hpp
-+++ b/glm/gtx/rotate_vector.hpp
-@@ -17,6 +17,7 @@
- #include "../glm.hpp"
- #include "../gtx/transform.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_rotate_vector is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/scalar_multiplication.hpp b/glm/gtx/scalar_multiplication.hpp
-index b73edf67..22baa52a 100644
---- a/glm/gtx/scalar_multiplication.hpp
-+++ b/glm/gtx/scalar_multiplication.hpp
-@@ -16,6 +16,7 @@
-
- #include "../detail/setup.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_scalar_multiplication is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/scalar_relational.hpp b/glm/gtx/scalar_relational.hpp
-index 7fc8c1cc..f21f3b2b 100644
---- a/glm/gtx/scalar_relational.hpp
-+++ b/glm/gtx/scalar_relational.hpp
-@@ -15,6 +15,7 @@
- // Dependency:
- #include "../glm.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_extend is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/spline.hpp b/glm/gtx/spline.hpp
-index f96d7e07..76359cfd 100644
---- a/glm/gtx/spline.hpp
-+++ b/glm/gtx/spline.hpp
-@@ -16,6 +16,7 @@
- #include "../glm.hpp"
- #include "../gtx/optimum_pow.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_spline is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/std_based_type.hpp b/glm/gtx/std_based_type.hpp
-index 55a2f074..92532b9e 100644
---- a/glm/gtx/std_based_type.hpp
-+++ b/glm/gtx/std_based_type.hpp
-@@ -17,6 +17,7 @@
- #include "../glm.hpp"
- #include <cstdlib>
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_std_based_type is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/string_cast.hpp b/glm/gtx/string_cast.hpp
-index 4b4e280f..dfcd5085 100644
---- a/glm/gtx/string_cast.hpp
-+++ b/glm/gtx/string_cast.hpp
-@@ -24,6 +24,7 @@
- #include <string>
- #include <cmath>
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_string_cast is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/texture.hpp b/glm/gtx/texture.hpp
-index 312bf398..7af185f6 100644
---- a/glm/gtx/texture.hpp
-+++ b/glm/gtx/texture.hpp
-@@ -17,6 +17,7 @@
- #include "../gtc/integer.hpp"
- #include "../gtx/component_wise.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_texture is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/transform.hpp b/glm/gtx/transform.hpp
-index d23b99ce..5a5d9619 100644
---- a/glm/gtx/transform.hpp
-+++ b/glm/gtx/transform.hpp
-@@ -19,6 +19,7 @@
- #include "../glm.hpp"
- #include "../gtc/matrix_transform.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_transform is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/transform2.hpp b/glm/gtx/transform2.hpp
-index 85f5bea4..5d7c83fc 100644
---- a/glm/gtx/transform2.hpp
-+++ b/glm/gtx/transform2.hpp
-@@ -17,6 +17,7 @@
- #include "../glm.hpp"
- #include "../gtx/transform.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_transform2 is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/type_aligned.hpp b/glm/gtx/type_aligned.hpp
-index 6ff9f276..6ad92fad 100644
---- a/glm/gtx/type_aligned.hpp
-+++ b/glm/gtx/type_aligned.hpp
-@@ -18,6 +18,7 @@
- // Dependency:
- #include "../gtc/type_precision.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_type_aligned is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/type_trait.hpp b/glm/gtx/type_trait.hpp
-index 637bbd19..65519cab 100644
---- a/glm/gtx/type_trait.hpp
-+++ b/glm/gtx/type_trait.hpp
-@@ -12,6 +12,7 @@
-
- #pragma once
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_type_trait is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/vec_swizzle.hpp b/glm/gtx/vec_swizzle.hpp
-index daebac38..13d523dc 100644
---- a/glm/gtx/vec_swizzle.hpp
-+++ b/glm/gtx/vec_swizzle.hpp
-@@ -14,6 +14,7 @@
-
- #include "../glm.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_vec_swizzle is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/vector_angle.hpp b/glm/gtx/vector_angle.hpp
-index 401a47eb..98c9d110 100644
---- a/glm/gtx/vector_angle.hpp
-+++ b/glm/gtx/vector_angle.hpp
-@@ -20,6 +20,7 @@
- #include "../gtx/quaternion.hpp"
- #include "../gtx/rotate_vector.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_vector_angle is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/vector_query.hpp b/glm/gtx/vector_query.hpp
-index 6560eaa5..5ab1ffda 100644
---- a/glm/gtx/vector_query.hpp
-+++ b/glm/gtx/vector_query.hpp
-@@ -17,6 +17,7 @@
- #include <cfloat>
- #include <limits>
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_vector_query is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
-diff --git a/glm/gtx/wrap.hpp b/glm/gtx/wrap.hpp
-index 2c4b55df..5bf26a33 100644
---- a/glm/gtx/wrap.hpp
-+++ b/glm/gtx/wrap.hpp
-@@ -16,6 +16,7 @@
- #include "../glm.hpp"
- #include "../gtc/vec1.hpp"
-
-+#include "../experimental.hpp"
- #ifndef GLM_ENABLE_EXPERIMENTAL
- # error "GLM: GLM_GTX_wrap is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
- #endif
---
-2.14.3
-
diff --git a/meta-oe/recipes-graphics/glm/files/0002-glm-install-headers-only.patch b/meta-oe/recipes-graphics/glm/files/0002-glm-install-headers-only.patch
deleted file mode 100644
index 1be3318cc1..0000000000
--- a/meta-oe/recipes-graphics/glm/files/0002-glm-install-headers-only.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From 7fdd36d7496238e03e43fcc32839f75588116c5d Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
-Date: Fri, 16 Mar 2018 15:44:48 +0100
-Subject: [PATCH 2/2] glm: install headers only
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Plausibility check in root source path
-
-$ find glm -type f ! -name '*.hpp' ! -name '*.h' ! -name '*.inl'
-glm/detail/glm.cpp
-glm/detail/dummy.cpp
-glm/experimental.hpp.in
-glm/CMakeLists.txt
-
-Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
-
-Uptream-Status: Submitted [1]
-
-[1] https://github.com/g-truc/glm/pull/741
----
- CMakeLists.txt | 7 ++++++-
- 1 file changed, 6 insertions(+), 1 deletion(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index bd4dd654..113dd735 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -171,7 +171,12 @@ option(GLM_INSTALL_ENABLE "GLM install" ON)
-
- set(GLM_INSTALL_CONFIGDIR "${CMAKE_INSTALL_LIBDIR}/cmake/glm")
- if (GLM_INSTALL_ENABLE)
-- install(DIRECTORY glm DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
-+ install(DIRECTORY glm
-+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
-+ FILES_MATCHING
-+ PATTERN "*.h"
-+ PATTERN "*.hpp"
-+ PATTERN "*.inl")
- install(FILES "${CMAKE_CURRENT_BINARY_DIR}/experimental.hpp" DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/glm)
- endif()
-
---
-2.14.3
-
diff --git a/meta-oe/recipes-graphics/glm/glm/0001-Do-not-use-Werror-with-clang.patch b/meta-oe/recipes-graphics/glm/glm/0001-Do-not-use-Werror-with-clang.patch
new file mode 100644
index 0000000000..dee2749898
--- /dev/null
+++ b/meta-oe/recipes-graphics/glm/glm/0001-Do-not-use-Werror-with-clang.patch
@@ -0,0 +1,32 @@
+From ee405855bca7d6399ff1a1aef952010056c84ff6 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 1 Mar 2023 21:08:09 -0800
+Subject: [PATCH] Do not use -Werror with clang
+
+Too many warnings to handle for a distro build
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Pending
+
+ test/CMakeLists.txt | 4 ----
+ 1 file changed, 4 deletions(-)
+
+diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
+index e7f85f19..0b6fd980 100644
+--- a/test/CMakeLists.txt
++++ b/test/CMakeLists.txt
+@@ -197,10 +197,6 @@ if(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
+ message("GLM: Clang - ${CMAKE_CXX_COMPILER_ID} compiler")
+ endif()
+
+- add_compile_options(-Werror -Weverything)
+- add_compile_options(-Wno-c++98-compat -Wno-c++98-compat-pedantic -Wno-c++11-long-long -Wno-padded -Wno-gnu-anonymous-struct -Wno-nested-anon-types)
+- add_compile_options(-Wno-undefined-reinterpret-cast -Wno-sign-conversion -Wno-unused-variable -Wno-missing-prototypes -Wno-unreachable-code -Wno-missing-variable-declarations -Wno-sign-compare -Wno-global-constructors -Wno-unused-macros -Wno-format-nonliteral)
+-
+ elseif(CMAKE_CXX_COMPILER_ID MATCHES "GNU")
+ if(NOT GLM_QUIET)
+ message("GLM: GCC - ${CMAKE_CXX_COMPILER_ID} compiler")
+--
+2.39.2
+
diff --git a/meta-oe/recipes-graphics/glm/glm/0001-Silence-clang-warnings.patch b/meta-oe/recipes-graphics/glm/glm/0001-Silence-clang-warnings.patch
new file mode 100644
index 0000000000..10692dd423
--- /dev/null
+++ b/meta-oe/recipes-graphics/glm/glm/0001-Silence-clang-warnings.patch
@@ -0,0 +1,145 @@
+From bd9b5060bc3b9581090d44f15b4e236566ea86a6 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 4 Jun 2021 12:57:57 -0700
+Subject: [PATCH] Silence clang warnings
+
+Fixes
+glm/gtc/random.inl:25:17: error: implicit conversion loses integer precision: 'int' to 'unsigned char' [-Werror,-Wimplicit-int-conversion]
+| std::rand() % std::numeric_limits<uint8>::max());
+| ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+glm/gtc/../ext/quaternion_common.inl:76:87: error: unused parameter 'k' [-Werror,-Wunused-parameter]
+ GLM_FUNC_QUALIFIER qua<T, Q> slerp(qua<T, Q> const& x, qua<T, Q> const& y, T a, S k)
+ ^
+
+and
+
+test/gtx/gtx_fast_trigonometry.cpp:135:9: error: variable 'result' set but not used [-Werror,-Wunused-but-set-variable]
+| float result = 0.f;
+| ^
+
+Upstream-Status: Submitted [https://github.com/g-truc/glm/pull/1055]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ glm/ext/quaternion_common.inl | 2 +-
+ glm/gtc/random.inl | 2 +-
+ test/gtx/gtx_fast_trigonometry.cpp | 30 ++++++++++++------------------
+ 3 files changed, 14 insertions(+), 20 deletions(-)
+
+--- a/glm/ext/quaternion_common.inl
++++ b/glm/ext/quaternion_common.inl
+@@ -104,7 +104,7 @@ namespace glm
+ {
+ // Graphics Gems III, page 96
+ T angle = acos(cosTheta);
+- T phi = angle + k * glm::pi<T>();
++ T phi = angle + static_cast<T>(k) * glm::pi<T>();
+ return (sin(angle - a * phi)* x + sin(a * phi) * z) / sin(angle);
+ }
+ }
+--- a/test/gtx/gtx_fast_trigonometry.cpp
++++ b/test/gtx/gtx_fast_trigonometry.cpp
+@@ -19,15 +19,14 @@ namespace fastCos
+ {
+ const float begin = -glm::pi<float>();
+ const float end = glm::pi<float>();
+- float result = 0.f;
+
+ const std::clock_t timestamp1 = std::clock();
+ for(float i = begin; i < end; i = NextFloat ? glm::nextFloat(i) : i += 0.1f)
+- result = glm::fastCos(i);
++ glm::fastCos(i);
+
+ const std::clock_t timestamp2 = std::clock();
+ for(float i = begin; i < end; i = NextFloat ? glm::nextFloat(i) : i += 0.1f)
+- result = glm::cos(i);
++ glm::cos(i);
+
+ const std::clock_t timestamp3 = std::clock();
+ const std::clock_t time_fast = timestamp2 - timestamp1;
+@@ -53,15 +52,14 @@ namespace fastSin
+ {
+ const float begin = -glm::pi<float>();
+ const float end = glm::pi<float>();
+- float result = 0.f;
+
+ const std::clock_t timestamp1 = std::clock();
+ for(float i = begin; i < end; i = NextFloat ? glm::nextFloat(i) : i += 0.1f)
+- result = glm::fastSin(i);
++ glm::fastSin(i);
+
+ const std::clock_t timestamp2 = std::clock();
+ for(float i = begin; i < end; i = NextFloat ? glm::nextFloat(i) : i += 0.1f)
+- result = glm::sin(i);
++ glm::sin(i);
+
+ const std::clock_t timestamp3 = std::clock();
+ const std::clock_t time_fast = timestamp2 - timestamp1;
+@@ -79,15 +77,14 @@ namespace fastTan
+ {
+ const float begin = -glm::pi<float>();
+ const float end = glm::pi<float>();
+- float result = 0.f;
+
+ const std::clock_t timestamp1 = std::clock();
+ for(float i = begin; i < end; i = NextFloat ? glm::nextFloat(i) : i += 0.1f)
+- result = glm::fastTan(i);
++ glm::fastTan(i);
+
+ const std::clock_t timestamp2 = std::clock();
+ for (float i = begin; i < end; i = NextFloat ? glm::nextFloat(i) : i += 0.1f)
+- result = glm::tan(i);
++ glm::tan(i);
+
+ const std::clock_t timestamp3 = std::clock();
+ const std::clock_t time_fast = timestamp2 - timestamp1;
+@@ -105,15 +102,14 @@ namespace fastAcos
+ {
+ const float begin = -glm::pi<float>();
+ const float end = glm::pi<float>();
+- float result = 0.f;
+
+ const std::clock_t timestamp1 = std::clock();
+ for(float i = begin; i < end; i = NextFloat ? glm::nextFloat(i) : i += 0.1f)
+- result = glm::fastAcos(i);
++ glm::fastAcos(i);
+
+ const std::clock_t timestamp2 = std::clock();
+ for(float i = begin; i < end; i = NextFloat ? glm::nextFloat(i) : i += 0.1f)
+- result = glm::acos(i);
++ glm::acos(i);
+
+ const std::clock_t timestamp3 = std::clock();
+ const std::clock_t time_fast = timestamp2 - timestamp1;
+@@ -132,13 +128,12 @@ namespace fastAsin
+ {
+ const float begin = -glm::pi<float>();
+ const float end = glm::pi<float>();
+- float result = 0.f;
+ const std::clock_t timestamp1 = std::clock();
+ for(float i = begin; i < end; i = NextFloat ? glm::nextFloat(i) : i += 0.1f)
+- result = glm::fastAsin(i);
++ glm::fastAsin(i);
+ const std::clock_t timestamp2 = std::clock();
+ for(float i = begin; i < end; i = NextFloat ? glm::nextFloat(i) : i += 0.1f)
+- result = glm::asin(i);
++ glm::asin(i);
+ const std::clock_t timestamp3 = std::clock();
+ const std::clock_t time_fast = timestamp2 - timestamp1;
+ const std::clock_t time_default = timestamp3 - timestamp2;
+@@ -155,13 +150,12 @@ namespace fastAtan
+ {
+ const float begin = -glm::pi<float>();
+ const float end = glm::pi<float>();
+- float result = 0.f;
+ const std::clock_t timestamp1 = std::clock();
+ for(float i = begin; i < end; i = NextFloat ? glm::nextFloat(i) : i += 0.1f)
+- result = glm::fastAtan(i);
++ glm::fastAtan(i);
+ const std::clock_t timestamp2 = std::clock();
+ for(float i = begin; i < end; i = NextFloat ? glm::nextFloat(i) : i += 0.1f)
+- result = glm::atan(i);
++ glm::atan(i);
+ const std::clock_t timestamp3 = std::clock();
+ const std::clock_t time_fast = timestamp2 - timestamp1;
+ const std::clock_t time_default = timestamp3 - timestamp2;
diff --git a/meta-oe/recipes-graphics/glm/glm/glm.pc.in b/meta-oe/recipes-graphics/glm/glm/glm.pc.in
new file mode 100644
index 0000000000..54052e287d
--- /dev/null
+++ b/meta-oe/recipes-graphics/glm/glm/glm.pc.in
@@ -0,0 +1,7 @@
+prefix=/usr
+includedir=${prefix}/include
+
+Name: GLM
+Description: OpenGL Mathematics
+Version: @VERSION@
+Cflags: -I${includedir}
diff --git a/meta-oe/recipes-graphics/glm/glm/glmConfig.cmake.in b/meta-oe/recipes-graphics/glm/glm/glmConfig.cmake.in
new file mode 100644
index 0000000000..8ab23a18d7
--- /dev/null
+++ b/meta-oe/recipes-graphics/glm/glm/glmConfig.cmake.in
@@ -0,0 +1,20 @@
+set(GLM_VERSION "@VERSION@")
+
+
+####### Expanded from @PACKAGE_INIT@ by configure_package_config_file() #######
+get_filename_component(PACKAGE_PREFIX_DIR "${CMAKE_CURRENT_LIST_DIR}/../../../" ABSOLUTE)
+
+macro(set_and_check _var _file)
+ set(${_var} "${_file}")
+ if(NOT EXISTS "${_file}")
+ message(FATAL_ERROR "File or directory ${_file} referenced by variable ${_var} does not exist !")
+ endif()
+endmacro()
+
+####################################################################################
+
+set_and_check(GLM_INCLUDE_DIRS "${PACKAGE_PREFIX_DIR}/include")
+
+if (NOT CMAKE_VERSION VERSION_LESS "3.0")
+ include("${CMAKE_CURRENT_LIST_DIR}/glmTargets.cmake")
+endif()
diff --git a/meta-oe/recipes-graphics/glm/glm/glmConfigVersion.cmake.in b/meta-oe/recipes-graphics/glm/glm/glmConfigVersion.cmake.in
new file mode 100644
index 0000000000..561a0db61f
--- /dev/null
+++ b/meta-oe/recipes-graphics/glm/glm/glmConfigVersion.cmake.in
@@ -0,0 +1,31 @@
+# This is a basic version file for the Config-mode of find_package().
+# It is used by write_basic_package_version_file() as input file for configure_file()
+# to create a version-file which can be installed along a config.cmake file.
+#
+# The created file sets PACKAGE_VERSION_EXACT if the current version string and
+# the requested version string are exactly the same and it sets
+# PACKAGE_VERSION_COMPATIBLE if the current version is >= requested version.
+# The variable CVF_VERSION must be set before calling configure_file().
+
+set(PACKAGE_VERSION "@VERSION@")
+
+if(PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION)
+ set(PACKAGE_VERSION_COMPATIBLE FALSE)
+else()
+ set(PACKAGE_VERSION_COMPATIBLE TRUE)
+ if(PACKAGE_FIND_VERSION STREQUAL PACKAGE_VERSION)
+ set(PACKAGE_VERSION_EXACT TRUE)
+ endif()
+endif()
+
+# if the installed or the using project don't have CMAKE_SIZEOF_VOID_P set, ignore it:
+if("${CMAKE_SIZEOF_VOID_P}" STREQUAL "" OR "8" STREQUAL "")
+ return()
+endif()
+
+# check that the installed version has the same 32/64bit-ness as the one which is currently searching:
+if(NOT CMAKE_SIZEOF_VOID_P STREQUAL "8")
+ math(EXPR installedBits "8 * 8")
+ set(PACKAGE_VERSION "${PACKAGE_VERSION} (${installedBits}bit)")
+ set(PACKAGE_VERSION_UNSUITABLE FALSE)
+endif()
diff --git a/meta-oe/recipes-graphics/glm/glm/glmTargets.cmake b/meta-oe/recipes-graphics/glm/glm/glmTargets.cmake
new file mode 100644
index 0000000000..905b67731b
--- /dev/null
+++ b/meta-oe/recipes-graphics/glm/glm/glmTargets.cmake
@@ -0,0 +1,107 @@
+# Generated by CMake
+
+if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.5)
+ message(FATAL_ERROR "CMake >= 2.6.0 required")
+endif()
+cmake_policy(PUSH)
+cmake_policy(VERSION 2.6)
+#----------------------------------------------------------------
+# Generated CMake target import file.
+#----------------------------------------------------------------
+
+# Commands may need to know the format version.
+set(CMAKE_IMPORT_FILE_VERSION 1)
+
+# Protect against multiple inclusion, which would fail when already imported targets are added once more.
+set(_targetsDefined)
+set(_targetsNotDefined)
+set(_expectedTargets)
+foreach(_expectedTarget glm)
+ list(APPEND _expectedTargets ${_expectedTarget})
+ if(NOT TARGET ${_expectedTarget})
+ list(APPEND _targetsNotDefined ${_expectedTarget})
+ endif()
+ if(TARGET ${_expectedTarget})
+ list(APPEND _targetsDefined ${_expectedTarget})
+ endif()
+endforeach()
+if("${_targetsDefined}" STREQUAL "${_expectedTargets}")
+ unset(_targetsDefined)
+ unset(_targetsNotDefined)
+ unset(_expectedTargets)
+ set(CMAKE_IMPORT_FILE_VERSION)
+ cmake_policy(POP)
+ return()
+endif()
+if(NOT "${_targetsDefined}" STREQUAL "")
+ message(FATAL_ERROR "Some (but not all) targets in this export set were already defined.\nTargets Defined: ${_targetsDefined}\nTargets not yet defined: ${_targetsNotDefined}\n")
+endif()
+unset(_targetsDefined)
+unset(_targetsNotDefined)
+unset(_expectedTargets)
+
+
+# Compute the installation prefix relative to this file.
+get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH)
+# Use original install prefix when loaded through a
+# cross-prefix symbolic link such as /lib -> /usr/lib.
+get_filename_component(_realCurr "${_IMPORT_PREFIX}" REALPATH)
+get_filename_component(_realOrig "/usr/lib/cmake/glm" REALPATH)
+if(_realCurr STREQUAL _realOrig)
+ set(_IMPORT_PREFIX "/usr/lib/cmake/glm")
+endif()
+unset(_realOrig)
+unset(_realCurr)
+get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
+get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
+get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
+if(_IMPORT_PREFIX STREQUAL "/")
+ set(_IMPORT_PREFIX "")
+endif()
+
+# Create imported target glm
+add_library(glm INTERFACE IMPORTED)
+
+set_target_properties(glm PROPERTIES
+ INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
+)
+
+if(CMAKE_VERSION VERSION_LESS 3.0.0)
+ message(FATAL_ERROR "This file relies on consumers using CMake 3.0.0 or greater.")
+endif()
+
+# Load information for each installed configuration.
+get_filename_component(_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
+file(GLOB CONFIG_FILES "${_DIR}/glmTargets-*.cmake")
+foreach(f ${CONFIG_FILES})
+ include(${f})
+endforeach()
+
+# Cleanup temporary variables.
+set(_IMPORT_PREFIX)
+
+# Loop over all imported files and verify that they actually exist
+foreach(target ${_IMPORT_CHECK_TARGETS} )
+ foreach(file ${_IMPORT_CHECK_FILES_FOR_${target}} )
+ if(NOT EXISTS "${file}" )
+ message(FATAL_ERROR "The imported target \"${target}\" references the file
+ \"${file}\"
+but this file does not exist. Possible reasons include:
+* The file was deleted, renamed, or moved to another location.
+* An install or uninstall procedure did not complete successfully.
+* The installation package was faulty and contained
+ \"${CMAKE_CURRENT_LIST_FILE}\"
+but not all the files it references.
+")
+ endif()
+ endforeach()
+ unset(_IMPORT_CHECK_FILES_FOR_${target})
+endforeach()
+unset(_IMPORT_CHECK_TARGETS)
+
+# This file does not depend on other imported targets which have
+# been exported from the same project but in a separate export set.
+
+# Commands beyond this point should not need to know the version.
+set(CMAKE_IMPORT_FILE_VERSION)
+cmake_policy(POP)
diff --git a/meta-oe/recipes-graphics/glm/glm_0.9.9-a2.bb b/meta-oe/recipes-graphics/glm/glm_0.9.9-a2.bb
deleted file mode 100644
index 7f16708edb..0000000000
--- a/meta-oe/recipes-graphics/glm/glm_0.9.9-a2.bb
+++ /dev/null
@@ -1,26 +0,0 @@
-SUMMARY = "OpenGL Mathematics Library"
-DESCRIPTION = "OpenGL Mathematics (GLM) is a header only C++ \
-mathematics library for graphics software based on the OpenGL \
-Shading Language (GLSL) specifications."
-HOMEPAGE = "https://glm.g-truc.net"
-BUGTRACKER = "https://github.com/g-truc/glm/issues"
-SECTION = "libs"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://readme.md;beginline=21;endline=22;md5=3075b5727d36f29edccf97b93e72b790"
-
-SRC_URI = " \
- git://github.com/g-truc/glm;branch=master \
- file://0001-Make-GLM_ENABLE_EXPERIMENTAL-a-configurable-option.patch \
- file://0002-glm-install-headers-only.patch \
-"
-SRCREV = "fcbedf5058ef8613dd02aac62ef00d55dcfeadd7"
-
-S = "${WORKDIR}/git"
-
-inherit cmake
-
-EXTRA_OECMAKE = "-DGLM_ENABLE_EXPERIMENTAL=ON"
-
-RDEPENDS_${PN}-dev = ""
-
-BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-graphics/glm/glm_0.9.9.8.bb b/meta-oe/recipes-graphics/glm/glm_0.9.9.8.bb
new file mode 100644
index 0000000000..e313d7a192
--- /dev/null
+++ b/meta-oe/recipes-graphics/glm/glm_0.9.9.8.bb
@@ -0,0 +1,41 @@
+SUMMARY = "OpenGL Mathematics Library"
+DESCRIPTION = "OpenGL Mathematics (GLM) is a header only C++ \
+mathematics library for graphics software based on the OpenGL \
+Shading Language (GLSL) specifications."
+HOMEPAGE = "https://glm.g-truc.net"
+BUGTRACKER = "https://github.com/g-truc/glm/issues"
+SECTION = "libs"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://copying.txt;md5=462e4b97f73ef12f8171c3c546ce4e8d"
+
+SRC_URI = " \
+ git://github.com/g-truc/glm;branch=master;protocol=https \
+ file://0001-Silence-clang-warnings.patch \
+ file://0001-Do-not-use-Werror-with-clang.patch \
+ file://glmConfig.cmake.in \
+ file://glmConfigVersion.cmake.in \
+ file://glm.pc.in \
+ file://glmTargets.cmake \
+"
+SRCREV = "efec5db081e3aad807d0731e172ac597f6a39447"
+PV .= "+0.9.9.9+git"
+
+S = "${WORKDIR}/git"
+
+inherit cmake
+
+do_install() {
+ install -d ${D}${includedir} ${D}${docdir}/glm ${D}${libdir}/pkgconfig ${D}${libdir}/cmake/glm
+ cp -R --no-dereference --preserve=mode,links ${S}/glm ${D}${includedir}
+ cp -R --no-dereference --preserve=mode,links ${S}/doc ${D}${docdir}/glm
+ rm ${D}${includedir}/glm/CMakeLists.txt
+ sed "s/@VERSION@/${PV}/" ${UNPACKDIR}/glmConfigVersion.cmake.in > ${D}${libdir}/cmake/glm/glmConfigVersion.cmake
+ sed "s/@VERSION@/${PV}/" ${UNPACKDIR}/glmConfig.cmake.in > ${D}${libdir}/cmake/glm/glmConfig.cmake
+ sed "s/@VERSION@/${PV}/" ${UNPACKDIR}/glm.pc.in > ${D}${libdir}/pkgconfig/glm.pc
+ install -Dm644 ${UNPACKDIR}/glmTargets.cmake ${D}${libdir}/cmake/glm/glmTargets.cmake
+
+}
+
+RDEPENDS:${PN}-dev = ""
+
+BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-graphics/gphoto2/gphoto2/0001-Match-prototypes-of-callbacks-with-libgphoto.patch b/meta-oe/recipes-graphics/gphoto2/gphoto2/0001-Match-prototypes-of-callbacks-with-libgphoto.patch
new file mode 100644
index 0000000000..abe38e12ce
--- /dev/null
+++ b/meta-oe/recipes-graphics/gphoto2/gphoto2/0001-Match-prototypes-of-callbacks-with-libgphoto.patch
@@ -0,0 +1,50 @@
+From 366930ccc1a261c3eb883da2bf3c655162ccd75f Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 1 Mar 2023 22:58:37 -0800
+Subject: [PATCH] Match prototypes of callbacks with libgphoto
+
+In https://github.com/gphoto/gphoto2/pull/535/commits/ccc4c1f092bd21ebc713f4d7b9be85be49f92f1e
+we tried to fix by using pthread_t but it also needs to make changes in
+libgphoto and these changes can be invasive, therefore lets revert to
+older types and to fix musl problem fix it via type casts
+
+Upstream-Status: Submitted [https://github.com/gphoto/gphoto2/pull/569]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ gphoto2/main.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/gphoto2/main.c b/gphoto2/main.c
+index 0dac947..cd3c990 100644
+--- a/gphoto2/main.c
++++ b/gphoto2/main.c
+@@ -1198,7 +1198,7 @@ thread_func (void *data)
+ pthread_cleanup_pop (1);
+ }
+
+-static pthread_t
++static unsigned int
+ start_timeout_func (Camera *camera, unsigned int timeout,
+ CameraTimeoutFunc func, void __unused__ *data)
+ {
+@@ -1215,14 +1215,14 @@ start_timeout_func (Camera *camera, unsigned int timeout,
+
+ pthread_create (&tid, NULL, thread_func, td);
+
+- return (tid);
++ return (unsigned int)tid;
+ }
+
+ static void
+-stop_timeout_func (Camera __unused__ *camera, pthread_t id,
++stop_timeout_func (Camera __unused__ *camera, unsigned int id,
+ void __unused__ *data)
+ {
+- pthread_t tid = id;
++ pthread_t tid = (pthread_t)id;
+
+ pthread_cancel (tid);
+ pthread_join (tid, NULL);
+--
+2.39.2
+
diff --git a/meta-oe/recipes-graphics/gphoto2/gphoto2/0001-configure.ac-remove-AM_PO_SUBDIRS.patch b/meta-oe/recipes-graphics/gphoto2/gphoto2/0001-configure.ac-remove-AM_PO_SUBDIRS.patch
index 7800fdd570..14976ffb72 100644
--- a/meta-oe/recipes-graphics/gphoto2/gphoto2/0001-configure.ac-remove-AM_PO_SUBDIRS.patch
+++ b/meta-oe/recipes-graphics/gphoto2/gphoto2/0001-configure.ac-remove-AM_PO_SUBDIRS.patch
@@ -6,21 +6,18 @@ Subject: [PATCH] configure.ac remove AM_PO_SUBDIRS
This is done twice together with oe autotools.bbclass.
---
+Upstream-Status: Pending
+
configure.ac | 1 -
1 file changed, 1 deletion(-)
-diff --git a/configure.ac b/configure.ac
-index bb5b795..93fbaf2 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -64,7 +64,6 @@ GP_GETTEXT_HACK([],[Lutz Müller and others],[${MAIL_GPHOTO_TRANSLATION}])
+@@ -46,7 +46,6 @@ dnl i18n support
+ dnl ---------------------------------------------------------------------------
+ GP_GETTEXT_HACK([],[Lutz Müller and others],[${MAIL_GPHOTO_TRANSLATION}])
ALL_LINGUAS="az cs da de en_GB es eu fi fr hu id is it ja nl pa pl pt_BR ro ru rw sk sr sv uk vi zh_CN zh_TW"
+-AM_PO_SUBDIRS()
AM_GNU_GETTEXT_VERSION([0.14.1])
AM_GNU_GETTEXT([external])
--AM_PO_SUBDIRS()
AM_ICONV()
- GP_GETTEXT_FLAGS()
-
---
-1.9.1
-
diff --git a/meta-oe/recipes-graphics/gphoto2/gphoto2/0001-gphoto2-Use-pthread_t-abstract-type-for-thead-IDs.patch b/meta-oe/recipes-graphics/gphoto2/gphoto2/0001-gphoto2-Use-pthread_t-abstract-type-for-thead-IDs.patch
new file mode 100644
index 0000000000..a27c02cefc
--- /dev/null
+++ b/meta-oe/recipes-graphics/gphoto2/gphoto2/0001-gphoto2-Use-pthread_t-abstract-type-for-thead-IDs.patch
@@ -0,0 +1,39 @@
+From 23c67e93e51f700d0aeecfc08277e39f51201fc3 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 2 Sep 2022 12:59:46 -0700
+Subject: [PATCH] gphoto2: Use pthread_t abstract type for thead IDs
+
+This is not a plain old datatype in every libc, e.g. with musl this
+would fail in type conversion
+
+Upstream-Status: Submitted [https://github.com/gphoto/gphoto2/pull/535]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ gphoto2/main.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/gphoto2/main.c b/gphoto2/main.c
+index 2bf5964..9a6b05d 100644
+--- a/gphoto2/main.c
++++ b/gphoto2/main.c
+@@ -1198,7 +1198,7 @@ thread_func (void *data)
+ pthread_cleanup_pop (1);
+ }
+
+-static unsigned int
++static pthread_t
+ start_timeout_func (Camera *camera, unsigned int timeout,
+ CameraTimeoutFunc func, void __unused__ *data)
+ {
+@@ -1219,7 +1219,7 @@ start_timeout_func (Camera *camera, unsigned int timeout,
+ }
+
+ static void
+-stop_timeout_func (Camera __unused__ *camera, unsigned int id,
++stop_timeout_func (Camera __unused__ *camera, pthread_t id,
+ void __unused__ *data)
+ {
+ pthread_t tid = id;
+--
+2.37.3
+
diff --git a/meta-oe/recipes-graphics/gphoto2/gphoto2/0002-Look-for-popt-with-GP_CHECK_LIBRARY-function.patch b/meta-oe/recipes-graphics/gphoto2/gphoto2/0002-Look-for-popt-with-GP_CHECK_LIBRARY-function.patch
deleted file mode 100644
index e6c7dd6675..0000000000
--- a/meta-oe/recipes-graphics/gphoto2/gphoto2/0002-Look-for-popt-with-GP_CHECK_LIBRARY-function.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 884d4c9bbd2dc147d614a5fabc25dbea7a71cd48 Mon Sep 17 00:00:00 2001
-From: Andreas Baak <andreas.baak@gmail.com>
-Date: Sun, 12 Jul 2015 02:13:58 -0700
-Subject: [PATCH] Look for popt with GP_CHECK_LIBRARY function
-
-The previously used proprietary function GP_CHECK_POPT
-defined in /.m4m/gp-check-opt.m4 is not ready for cross
-compilation since it looks for the library and headers
-in the host system. Yocto reports the following error:
-"QA Issue: gphoto2: The compile log indicates that host
-include and/or library paths were used."
-Using the GP_CHECK_LIBRARY function fixes this problem
----
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/configure.ac b/configure.ac
-index 93fbaf2..6d661f0 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -285,7 +285,7 @@ GP_CONFIG_MSG([Text preview support],[$aa_msg])
- dnl ---------------------------------------------------------------------------
- dnl popt.h: Simplifies handling of command-line options enormously.
- dnl ---------------------------------------------------------------------------
--GP_CHECK_POPT([mandatory])
-+GP_CHECK_LIBRARY([POPT], [popt], [], [popt.h], [], [], [mandatory])
-
-
- dnl ---------------------------------------------------------------------------
---
-1.9.1
-
diff --git a/meta-oe/recipes-graphics/gphoto2/gphoto2_2.5.14.bb b/meta-oe/recipes-graphics/gphoto2/gphoto2_2.5.28.bb
index 75ad7f4f0f..aba590aa02 100644
--- a/meta-oe/recipes-graphics/gphoto2/gphoto2_2.5.14.bb
+++ b/meta-oe/recipes-graphics/gphoto2/gphoto2_2.5.28.bb
@@ -1,18 +1,17 @@
SUMMARY = "gphoto2 - a command-line frontend to libgphoto2"
HOMEPAGE = "http://www.gphoto.com/"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
DEPENDS = "libgphoto2 popt readline"
-RDEPENDS_gphoto2 = "libgphoto2"
+RDEPENDS:gphoto2 = "libgphoto2"
SRC_URI = "${SOURCEFORGE_MIRROR}/gphoto/gphoto2-${PV}.tar.bz2;name=gphoto2 \
file://0001-configure.ac-remove-AM_PO_SUBDIRS.patch \
- file://0002-Look-for-popt-with-GP_CHECK_LIBRARY-function.patch \
+ file://0001-gphoto2-Use-pthread_t-abstract-type-for-thead-IDs.patch \
+ file://0001-Match-prototypes-of-callbacks-with-libgphoto.patch \
"
-
-SRC_URI[gphoto2.md5sum] = "6c6a21b5e879330cdd71ef92dce36399"
-SRC_URI[gphoto2.sha256sum] = "9302d02fb472d4936988382b7277ccdc4edaf7ede56c490278912ffd0627699c"
+SRC_URI[gphoto2.sha256sum] = "2a648dcdf12da19e208255df4ebed3e7d2a02f905be4165f2443c984cf887375"
inherit autotools pkgconfig gettext
@@ -20,3 +19,8 @@ EXTRA_OECONF += "--with-jpeg-prefix=${STAGING_INCDIR} \
--without-cdk \
"
+INSANE_SKIP:${PN} = "already-stripped"
+
+do_install:append() {
+ sed -i -e 's#${RECIPE_SYSROOT}##g' ${D}${bindir}/gphoto2
+}
diff --git a/meta-oe/recipes-graphics/gphoto2/libgphoto2/0001-configure-Filter-out-buildpaths-from-CC.patch b/meta-oe/recipes-graphics/gphoto2/libgphoto2/0001-configure-Filter-out-buildpaths-from-CC.patch
new file mode 100644
index 0000000000..570bb3e4c1
--- /dev/null
+++ b/meta-oe/recipes-graphics/gphoto2/libgphoto2/0001-configure-Filter-out-buildpaths-from-CC.patch
@@ -0,0 +1,48 @@
+From 06be633b8f4e2241bd37d4faf62b49606ad778e7 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 25 May 2023 19:01:36 -0700
+Subject: [PATCH] configure: Filter out buildpaths from CC
+
+Upstream-Status: Inappropriate [Cross-compile specific]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ configure.ac | 4 +++-
+ libgphoto2_port/configure.ac | 6 ++++--
+ 2 files changed, 7 insertions(+), 3 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 17216b1..39c8cc4 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -261,7 +261,9 @@ GP_CONFIG_MSG([Compiler],[${CC}])
+ GP_CONFIG_MSG([libltdl includes],[$LTDLINCL])
+ GP_CONFIG_MSG([libltdl library],[$LIBLTDL])
+
+-AC_DEFINE_UNQUOTED([HAVE_CC], ["$CC"],
++CC_NO_SYSROOT=`echo $CC | sed -e \
++ 's|--sysroot=.*\b||g'`
++AC_DEFINE_UNQUOTED([HAVE_CC], ["$CC_NO_SYSROOT"],
+ [The C compiler we are using])
+
+
+diff --git a/libgphoto2_port/configure.ac b/libgphoto2_port/configure.ac
+index 1086b8e..59f3c34 100644
+--- a/libgphoto2_port/configure.ac
++++ b/libgphoto2_port/configure.ac
+@@ -103,8 +103,10 @@ GP_CONFIG_MSG([Compiler],[${CC}])
+ GP_CONFIG_MSG([libltdl includes],[$LTDLINCL])
+ GP_CONFIG_MSG([libltdl library],[$LIBLTDL])
+
+-AC_DEFINE_UNQUOTED([HAVE_CC], ["$CC"],
+- [The C compiler we're using])
++CC_NO_SYSROOT=`echo $CC | sed -e \
++ 's|--sysroot=.*\b||g'`
++AC_DEFINE_UNQUOTED([HAVE_CC], ["$CC_NO_SYSROOT"],
++ [The C compiler we are using])
+
+ AM_CPPFLAGS=""
+
+--
+2.40.1
+
diff --git a/meta-oe/recipes-graphics/gphoto2/libgphoto2/0001-configure.ac-remove-AM_PO_SUBDIRS.patch b/meta-oe/recipes-graphics/gphoto2/libgphoto2/0001-configure.ac-remove-AM_PO_SUBDIRS.patch
index 8093676adc..fd647b7386 100644
--- a/meta-oe/recipes-graphics/gphoto2/libgphoto2/0001-configure.ac-remove-AM_PO_SUBDIRS.patch
+++ b/meta-oe/recipes-graphics/gphoto2/libgphoto2/0001-configure.ac-remove-AM_PO_SUBDIRS.patch
@@ -11,7 +11,7 @@ together with oe autotools.bbclass this is done twice and causes:
| autoreconf: running: aclocal --system-acdir=/home/Superandy/tmp/oe-core-eglibc/work/armv7a-vfp-neon-angstrom-linux-gnueabi/libgphoto2-2.4.11-r2/libgphoto2-2.4.11/aclocal-copy/ --automake-acdir=/home/Superandy/tmp/oe-core-eglibc/sysroots/x86_64-linux/usr/share/aclocal-1.12 -I /home/Superandy/tmp/oe-core-eglibc/work/armv7a-vfp-neon-angstrom-linux-gnueabi/libgphoto2-2.4.11-r2/libgphoto2-2.4.11/auto-m4/ -I /home/Superandy/tmp/oe-core-eglibc/work/armv7a-vfp-neon-angstrom-linux-gnueabi/libgphoto2-2.4.11-r2/libgphoto2-2.4.11/m4m/ -I /home/Superandy/tmp/oe-core-eglibc/work/armv7a-vfp-neon-angstrom-linux-gnueabi/libgphoto2-2.4.11-r2/libgphoto2-2.4.11/auto-m4/ -I /home/Superandy/tmp/oe-core-eglibc/work/armv7a-vfp-neon-angstrom-linux-gnueabi/libgphoto2-2.4.11-r2/libgphoto2-2.4.11/m4m/ --force -I auto-m4 -I m4m
| configure.ac:230: error: `po-directories' is already registered with AC_CONFIG_COMMANDS.
-Upstream-Status: Inapropriate [configuration]
+Upstream-Status: Inappropriate [configuration]
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
---
@@ -19,30 +19,23 @@ Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
libgphoto2_port/configure.ac | 1 -
2 files changed, 0 insertions(+), 2 deletions(-)
-diff --git a/configure.ac b/configure.ac
-index 2f8e1b8..2e90acf 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -209,7 +209,6 @@ ALL_LINGUAS="cs da de es eu fr hu it ja nl pl ru sv uk vi zh_CN"
- GP_GETTEXT_HACK([${PACKAGE}-${LIBGPHOTO2_CURRENT_MIN}],[The gPhoto Team],[${MAIL_GPHOTO_TRANSLATION}])
- AM_GNU_GETTEXT_VERSION([0.14.1])
- AM_GNU_GETTEXT([external])
+@@ -282,7 +282,6 @@ dnl ------------------------------------
+ GP_GETTEXT_SETUP([GETTEXT_PACKAGE_LIBGPHOTO2],
+ [${PACKAGE}-${LIBGPHOTO2_CURRENT_MIN}],
+ [po])
-AM_PO_SUBDIRS()
+ AM_GNU_GETTEXT_VERSION([0.19.1])
+ AM_GNU_GETTEXT([external])
AM_ICONV()
- GP_GETTEXT_FLAGS()
-
-diff --git a/libgphoto2_port/configure.ac b/libgphoto2_port/configure.ac
-index 0b66d58..df47357 100644
--- a/libgphoto2_port/configure.ac
+++ b/libgphoto2_port/configure.ac
-@@ -124,7 +124,6 @@ GP_GETTEXT_HACK([${PACKAGE}-${LIBGPHOTO2_PORT_CURRENT_MIN}],[Lutz Mueller and ot
- ALL_LINGUAS="cs da de es eu fi fr it ja nl pl pt_BR ru sk sr sv uk vi zh_CN zh_TW"
- AM_GNU_GETTEXT_VERSION([0.14.1])
- AM_GNU_GETTEXT([external])
+@@ -122,7 +122,6 @@ dnl ------------------------------------
+ GP_GETTEXT_SETUP([GETTEXT_PACKAGE_LIBGPHOTO2_PORT],
+ [${PACKAGE}-${LIBGPHOTO2_PORT_CURRENT_MIN}],
+ [po])
-AM_PO_SUBDIRS()
+ AM_GNU_GETTEXT_VERSION([0.19.1])
+ AM_GNU_GETTEXT([external])
AM_ICONV()
- GP_GETTEXT_FLAGS()
-
---
-1.7.4.4
-
diff --git a/meta-oe/recipes-graphics/gphoto2/libgphoto2/10-camera-libgphoto2-device.fdi b/meta-oe/recipes-graphics/gphoto2/libgphoto2/10-camera-libgphoto2-device.fdi
deleted file mode 100644
index 3977064fe0..0000000000
--- a/meta-oe/recipes-graphics/gphoto2/libgphoto2/10-camera-libgphoto2-device.fdi
+++ /dev/null
@@ -1,9533 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?> <!-- -*- SGML -*- -->
-<!-- This file was generated by libgphoto2 print-camera-list - - fdi-device -->
-<!--+
- | Created from this library:
- | libgphoto2 2.5.8 all camlibs, gcc, ltdl, no EXIF
- | libgphoto2_port 0.12.0 gcc, ltdl, no USB, serial without locking
- +-->
-<deviceinfo version="0.2">
- <device>
- <match key="info.subsystem" string="usb">
- <match key="usb_device.vendor_id" int="2425">
- <match key="usb_device.product_id" int="551">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1282">
- <match key="usb_device.product_id" int="13251">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1282">
- <match key="usb_device.product_id" int="13252">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1282">
- <match key="usb_device.product_id" int="13891">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1282">
- <match key="usb_device.product_id" int="13628">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1282">
- <match key="usb_device.product_id" int="13869">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1282">
- <match key="usb_device.product_id" int="13702">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1282">
- <match key="usb_device.product_id" int="13128">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1282">
- <match key="usb_device.product_id" int="13129">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1282">
- <match key="usb_device.product_id" int="13130">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1282">
- <match key="usb_device.product_id" int="13272">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1282">
- <match key="usb_device.product_id" int="13180">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1282">
- <match key="usb_device.product_id" int="13181">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1282">
- <match key="usb_device.product_id" int="13259">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1282">
- <match key="usb_device.product_id" int="13093">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1282">
- <match key="usb_device.product_id" int="13121">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1282">
- <match key="usb_device.product_id" int="13124">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1282">
- <match key="usb_device.product_id" int="13125">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1282">
- <match key="usb_device.product_id" int="13193">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1282">
- <match key="usb_device.product_id" int="13194">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1282">
- <match key="usb_device.product_id" int="13176">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1282">
- <match key="usb_device.product_id" int="13588">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1282">
- <match key="usb_device.product_id" int="13736">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1282">
- <match key="usb_device.product_id" int="13892">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1282">
- <match key="usb_device.product_id" int="14117">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1282">
- <match key="usb_device.product_id" int="13833">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1282">
- <match key="usb_device.product_id" int="13427">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1282">
- <match key="usb_device.product_id" int="13663">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1282">
- <match key="usb_device.product_id" int="13911">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1282">
- <match key="usb_device.product_id" int="13226">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1282">
- <match key="usb_device.product_id" int="13796">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1282">
- <match key="usb_device.product_id" int="13853">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="5845">
- <match key="usb_device.product_id" int="32774">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="5845">
- <match key="usb_device.product_id" int="32773">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1363">
- <match key="usb_device.product_id" int="514">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1725">
- <match key="usb_device.product_id" int="1027">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1725">
- <match key="usb_device.product_id" int="1028">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1276">
- <match key="usb_device.product_id" int="20555">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1363">
- <match key="usb_device.product_id" int="514">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1276">
- <match key="usb_device.product_id" int="20554">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1363">
- <match key="usb_device.product_id" int="514">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2250">
- <match key="usb_device.product_id" int="273">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1276">
- <match key="usb_device.product_id" int="20554">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1276">
- <match key="usb_device.product_id" int="20555">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="7099">
- <match key="usb_device.product_id" int="360">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="7099">
- <match key="usb_device.product_id" int="8200">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="7099">
- <match key="usb_device.product_id" int="3074">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="7099">
- <match key="usb_device.product_id" int="40974">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="7099">
- <match key="usb_device.product_id" int="61443">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="7099">
- <match key="usb_device.product_id" int="36941">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="7099">
- <match key="usb_device.product_id" int="359">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2425">
- <match key="usb_device.product_id" int="551">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6473">
- <match key="usb_device.product_id" int="2048">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6473">
- <match key="usb_device.product_id" int="7">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6473">
- <match key="usb_device.product_id" int="8">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6473">
- <match key="usb_device.product_id" int="10">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6473">
- <match key="usb_device.product_id" int="12">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6473">
- <match key="usb_device.product_id" int="18">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6473">
- <match key="usb_device.product_id" int="11">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6473">
- <match key="usb_device.product_id" int="13">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6473">
- <match key="usb_device.product_id" int="5">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6473">
- <match key="usb_device.product_id" int="242">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2425">
- <match key="usb_device.product_id" int="548">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1452">
- <match key="usb_device.product_id" int="4762">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1452">
- <match key="usb_device.product_id" int="4779">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1452">
- <match key="usb_device.product_id" int="4752">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1452">
- <match key="usb_device.product_id" int="4754">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1452">
- <match key="usb_device.product_id" int="4756">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1452">
- <match key="usb_device.product_id" int="4759">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1452">
- <match key="usb_device.product_id" int="4768">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1452">
- <match key="usb_device.product_id" int="4776">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1452">
- <match key="usb_device.product_id" int="4753">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1452">
- <match key="usb_device.product_id" int="4755">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1452">
- <match key="usb_device.product_id" int="4761">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3705">
- <match key="usb_device.product_id" int="20488">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3705">
- <match key="usb_device.product_id" int="20489">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3705">
- <match key="usb_device.product_id" int="16386">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3705">
- <match key="usb_device.product_id" int="5416">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3705">
- <match key="usb_device.product_id" int="5417">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3705">
- <match key="usb_device.product_id" int="5433">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3705">
- <match key="usb_device.product_id" int="5432">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3705">
- <match key="usb_device.product_id" int="5305">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3705">
- <match key="usb_device.product_id" int="5448">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3705">
- <match key="usb_device.product_id" int="4618">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3705">
- <match key="usb_device.product_id" int="4893">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3705">
- <match key="usb_device.product_id" int="4620">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3705">
- <match key="usb_device.product_id" int="4865">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3705">
- <match key="usb_device.product_id" int="4867">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3705">
- <match key="usb_device.product_id" int="4881">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3705">
- <match key="usb_device.product_id" int="4897">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3705">
- <match key="usb_device.product_id" int="12787">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3705">
- <match key="usb_device.product_id" int="4913">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3705">
- <match key="usb_device.product_id" int="4915">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3705">
- <match key="usb_device.product_id" int="12841">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3705">
- <match key="usb_device.product_id" int="4871">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3705">
- <match key="usb_device.product_id" int="8200">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3705">
- <match key="usb_device.product_id" int="4951">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3705">
- <match key="usb_device.product_id" int="4945">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3705">
- <match key="usb_device.product_id" int="4873">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3705">
- <match key="usb_device.product_id" int="4875">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3705">
- <match key="usb_device.product_id" int="4883">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3705">
- <match key="usb_device.product_id" int="4885">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3705">
- <match key="usb_device.product_id" int="4917">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3705">
- <match key="usb_device.product_id" int="4877">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3705">
- <match key="usb_device.product_id" int="4879">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3705">
- <match key="usb_device.product_id" int="4889">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3705">
- <match key="usb_device.product_id" int="5359">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3705">
- <match key="usb_device.product_id" int="5480">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3705">
- <match key="usb_device.product_id" int="5481">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3705">
- <match key="usb_device.product_id" int="5311">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3705">
- <match key="usb_device.product_id" int="5400">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3705">
- <match key="usb_device.product_id" int="5384">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3705">
- <match key="usb_device.product_id" int="5385">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3705">
- <match key="usb_device.product_id" int="5293">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3705">
- <match key="usb_device.product_id" int="5274">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3705">
- <match key="usb_device.product_id" int="5227">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3705">
- <match key="usb_device.product_id" int="5214">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3705">
- <match key="usb_device.product_id" int="5208">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3705">
- <match key="usb_device.product_id" int="12715">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3705">
- <match key="usb_device.product_id" int="4615">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3705">
- <match key="usb_device.product_id" int="4929">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3705">
- <match key="usb_device.product_id" int="4891">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3705">
- <match key="usb_device.product_id" int="4616">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2425">
- <match key="usb_device.product_id" int="551">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1363">
- <match key="usb_device.product_id" int="514">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10096">
- <match key="usb_device.product_id" int="37152">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2362">
- <match key="usb_device.product_id" int="271">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2362">
- <match key="usb_device.product_id" int="271">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10096">
- <match key="usb_device.product_id" int="37180">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2329">
- <match key="usb_device.product_id" int="256">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2425">
- <match key="usb_device.product_id" int="551">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2362">
- <match key="usb_device.product_id" int="271">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2425">
- <match key="usb_device.product_id" int="551">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10096">
- <match key="usb_device.product_id" int="36956">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="23055">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="19680">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="19681">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="20815">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="30579">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="21519">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="21535">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="21775">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="21760">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="19664">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="19665">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="21023">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="21007">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="19648">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="19649">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="21600">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="21608">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="21504">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="21520">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="21521">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="21606">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="30578">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="21766">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="21857">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="20992">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="20993">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="21008">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="21009">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="21012">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="21024">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="21025">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="21040">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="21041">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="19968">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="19969">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="19983">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="19999">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="19712">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="19713">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="19584">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="19585">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="19600">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="19601">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="19616">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="19617">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="22047">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="24322">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="22543">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="22559">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="21632">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="21633">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="30593">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="21648">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2821">
- <match key="usb_device.product_id" int="21649">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10096">
- <match key="usb_device.product_id" int="36945">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="8320">
- <match key="usb_device.product_id" int="6">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="8320">
- <match key="usb_device.product_id" int="5">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1189">
- <match key="usb_device.product_id" int="12291">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="7493">
- <match key="usb_device.product_id" int="17821">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10823">
- <match key="usb_device.product_id" int="32528">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10823">
- <match key="usb_device.product_id" int="8200">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10823">
- <match key="usb_device.product_id" int="3074">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12359">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12738">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12733">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12774">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12787">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12904">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12480">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12365">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12791">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12390">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12479">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12405">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12474">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12558">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12468">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12543">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12572">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12542">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12623">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12530">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12622">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12566">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12676">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12569">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12660">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12598">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12640">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12660">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12565">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12740">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12619">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12639">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12659">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12691">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12737">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12443">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12443">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12484">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12402">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12470">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12532">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12370">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12389">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12400">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12401">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12529">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12526">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12394">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12424">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12423">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12453">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12667">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12912">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12419">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12476">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12823">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12927">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12522">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12615">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12752">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12825">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12523">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12524">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12420">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12441">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12563">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12527">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12526">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12526">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12560">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12614">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12613">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12751">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12699">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12778">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12545">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12546">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12697">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12858">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12824">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12821">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12859">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12880">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12914">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12883">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12698">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12911">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12356">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12384">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12420">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12441">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12560">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12420">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12441">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12526">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12560">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12613">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12751">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12861">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12953">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12751">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12613">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12430">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12865">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12969">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12837">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12774">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12691">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12358">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12363">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12484">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12395">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12438">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12412">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12410">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12448">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12438">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12430">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12417">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12416">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12457">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12395">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12429">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12418">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12415">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12416">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12395">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12438">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12457">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12549">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12430">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12367">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12385">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12686">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12739">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12862">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12900">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12366">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12386">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12689">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12734">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12842">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12874">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12873">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12913">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12898">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12377">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12406">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12786">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12472">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12785">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12897">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12376">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12471">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12867">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12537">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12559">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12536">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12629">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12617">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12666">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12735">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12783">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12482">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12481">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12582">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12571">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12624">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12621">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12620">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12663">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12662">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12404">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12541">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12540">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12602">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12601">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12635">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12403">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12567">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12600">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12637">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12469">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12442">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12838">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12863">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12473">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12475">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12732">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12936">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12937">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12360">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12851">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12687">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12767">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12888">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12373">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12398">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12399">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12421">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12467">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12581">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12634">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12443">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12361">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12444">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12353">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12854">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12357">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12369">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12891">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12917">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12528">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12355">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12389">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12400">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12401">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12570">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12375">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12364">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12390">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12374">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12405">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12474">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12396">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12397">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12616">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12407">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12468">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12466">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12465">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12538">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12818">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12443">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12402">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12623">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12470">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12676">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12740">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12788">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12484">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12480">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12599">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12529">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12543">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12530">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12572">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12542">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12569">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12622">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12661">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12738">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12660">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12619">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12694">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12565">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12774">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12737">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12691">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12685">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12638">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12690">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12768">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12817">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12852">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12890">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12918">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12772">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12736">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12790">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12844">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12840">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12869">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12868">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12895">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12856">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12892">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12919">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12955">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12368">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12380">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12778">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12823">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12859">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1193">
- <match key="usb_device.product_id" int="12408">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1999">
- <match key="usb_device.product_id" int="4169">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1999">
- <match key="usb_device.product_id" int="4162">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1999">
- <match key="usb_device.product_id" int="4173">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1999">
- <match key="usb_device.product_id" int="4172">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1999">
- <match key="usb_device.product_id" int="4474">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1375">
- <match key="usb_device.product_id" int="49664">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1207">
- <match key="usb_device.product_id" int="34985">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10096">
- <match key="usb_device.product_id" int="37152">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10096">
- <match key="usb_device.product_id" int="36956">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1363">
- <match key="usb_device.product_id" int="514">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1363">
- <match key="usb_device.product_id" int="4098">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1363">
- <match key="usb_device.product_id" int="514">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1943">
- <match key="usb_device.product_id" int="32769">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2425">
- <match key="usb_device.product_id" int="548">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10096">
- <match key="usb_device.product_id" int="36956">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="7796">
- <match key="usb_device.product_id" int="25874">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="7763">
- <match key="usb_device.product_id" int="5">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10096">
- <match key="usb_device.product_id" int="37152">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10096">
- <match key="usb_device.product_id" int="37152">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3478">
- <match key="usb_device.product_id" int="16640">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1000">
- <match key="usb_device.product_id" int="8578">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1000">
- <match key="usb_device.product_id" int="8576">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2329">
- <match key="usb_device.product_id" int="256">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3617">
- <match key="usb_device.product_id" int="2386">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3617">
- <match key="usb_device.product_id" int="1809">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3617">
- <match key="usb_device.product_id" int="1873">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3617">
- <match key="usb_device.product_id" int="2321">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3617">
- <match key="usb_device.product_id" int="2369">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3617">
- <match key="usb_device.product_id" int="2049">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3617">
- <match key="usb_device.product_id" int="2161">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3617">
- <match key="usb_device.product_id" int="2193">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3617">
- <match key="usb_device.product_id" int="2145">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3617">
- <match key="usb_device.product_id" int="2177">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3617">
- <match key="usb_device.product_id" int="2337">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3617">
- <match key="usb_device.product_id" int="2305">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3617">
- <match key="usb_device.product_id" int="1793">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3617">
- <match key="usb_device.product_id" int="1889">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3617">
- <match key="usb_device.product_id" int="2353">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1054">
- <match key="usb_device.product_id" int="16406">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1054">
- <match key="usb_device.product_id" int="16391">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1054">
- <match key="usb_device.product_id" int="16394">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1054">
- <match key="usb_device.product_id" int="16402">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1054">
- <match key="usb_device.product_id" int="16395">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1054">
- <match key="usb_device.product_id" int="16403">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1054">
- <match key="usb_device.product_id" int="16675">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1054">
- <match key="usb_device.product_id" int="16727">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1054">
- <match key="usb_device.product_id" int="16688">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1054">
- <match key="usb_device.product_id" int="16700">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1054">
- <match key="usb_device.product_id" int="16691">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1054">
- <match key="usb_device.product_id" int="16737">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1054">
- <match key="usb_device.product_id" int="16695">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1054">
- <match key="usb_device.product_id" int="16701">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1054">
- <match key="usb_device.product_id" int="16689">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1054">
- <match key="usb_device.product_id" int="16720">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1054">
- <match key="usb_device.product_id" int="16728">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1054">
- <match key="usb_device.product_id" int="16722">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1054">
- <match key="usb_device.product_id" int="16671">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1054">
- <match key="usb_device.product_id" int="16723">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1054">
- <match key="usb_device.product_id" int="16702">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1054">
- <match key="usb_device.product_id" int="16721">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1054">
- <match key="usb_device.product_id" int="16738">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1054">
- <match key="usb_device.product_id" int="16745">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1054">
- <match key="usb_device.product_id" int="16680">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4204">
- <match key="usb_device.product_id" int="12821">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2125">
- <match key="usb_device.product_id" int="3">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3428">
- <match key="usb_device.product_id" int="4129">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1000">
- <match key="usb_device.product_id" int="8496">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10096">
- <match key="usb_device.product_id" int="36956">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10096">
- <match key="usb_device.product_id" int="37152">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3141">
- <match key="usb_device.product_id" int="32768">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1054">
- <match key="usb_device.product_id" int="16690">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1054">
- <match key="usb_device.product_id" int="16687">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="16700">
- <match key="usb_device.product_id" int="45323">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="16700">
- <match key="usb_device.product_id" int="45338">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="16700">
- <match key="usb_device.product_id" int="45339">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="16700">
- <match key="usb_device.product_id" int="17664">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10096">
- <match key="usb_device.product_id" int="36956">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="7994">
- <match key="usb_device.product_id" int="3074">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2362">
- <match key="usb_device.product_id" int="270">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2425">
- <match key="usb_device.product_id" int="551">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1498">
- <match key="usb_device.product_id" int="4120">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1363">
- <match key="usb_device.product_id" int="514">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2329">
- <match key="usb_device.product_id" int="256">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1363">
- <match key="usb_device.product_id" int="514">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4483">
- <match key="usb_device.product_id" int="1">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1498">
- <match key="usb_device.product_id" int="4128">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1363">
- <match key="usb_device.product_id" int="514">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1363">
- <match key="usb_device.product_id" int="514">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2726">
- <match key="usb_device.product_id" int="24609">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10096">
- <match key="usb_device.product_id" int="36944">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10096">
- <match key="usb_device.product_id" int="36946">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4310">
- <match key="usb_device.product_id" int="8704">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2362">
- <match key="usb_device.product_id" int="270">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2362">
- <match key="usb_device.product_id" int="271">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1208">
- <match key="usb_device.product_id" int="1027">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1208">
- <match key="usb_device.product_id" int="1026">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10608">
- <match key="usb_device.product_id" int="8200">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10608">
- <match key="usb_device.product_id" int="3074">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6018">
- <match key="usb_device.product_id" int="16385">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1747">
- <match key="usb_device.product_id" int="8634">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3530">
- <match key="usb_device.product_id" int="2">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3530">
- <match key="usb_device.product_id" int="2">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1227">
- <match key="usb_device.product_id" int="330">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1227">
- <match key="usb_device.product_id" int="466">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1227">
- <match key="usb_device.product_id" int="454">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1227">
- <match key="usb_device.product_id" int="467">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1227">
- <match key="usb_device.product_id" int="539">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1227">
- <match key="usb_device.product_id" int="403">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1227">
- <match key="usb_device.product_id" int="480">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1227">
- <match key="usb_device.product_id" int="448">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1227">
- <match key="usb_device.product_id" int="484">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1227">
- <match key="usb_device.product_id" int="411">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1227">
- <match key="usb_device.product_id" int="449">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1227">
- <match key="usb_device.product_id" int="453">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1227">
- <match key="usb_device.product_id" int="468">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1227">
- <match key="usb_device.product_id" int="486">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1227">
- <match key="usb_device.product_id" int="506">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1227">
- <match key="usb_device.product_id" int="526">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1227">
- <match key="usb_device.product_id" int="557">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1227">
- <match key="usb_device.product_id" int="625">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1227">
- <match key="usb_device.product_id" int="592">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1227">
- <match key="usb_device.product_id" int="477">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1227">
- <match key="usb_device.product_id" int="475">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1227">
- <match key="usb_device.product_id" int="495">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1227">
- <match key="usb_device.product_id" int="512">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1227">
- <match key="usb_device.product_id" int="488">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1227">
- <match key="usb_device.product_id" int="521">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1227">
- <match key="usb_device.product_id" int="576">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1227">
- <match key="usb_device.product_id" int="637">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1227">
- <match key="usb_device.product_id" int="613">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1227">
- <match key="usb_device.product_id" int="664">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1227">
- <match key="usb_device.product_id" int="452">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1227">
- <match key="usb_device.product_id" int="471">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1227">
- <match key="usb_device.product_id" int="447">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1227">
- <match key="usb_device.product_id" int="322">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1227">
- <match key="usb_device.product_id" int="399">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1227">
- <match key="usb_device.product_id" int="668">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1227">
- <match key="usb_device.product_id" int="563">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1227">
- <match key="usb_device.product_id" int="622">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1227">
- <match key="usb_device.product_id" int="611">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1227">
- <match key="usb_device.product_id" int="678">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1227">
- <match key="usb_device.product_id" int="648">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1227">
- <match key="usb_device.product_id" int="472">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1227">
- <match key="usb_device.product_id" int="513">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1227">
- <match key="usb_device.product_id" int="525">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1227">
- <match key="usb_device.product_id" int="510">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1227">
- <match key="usb_device.product_id" int="693">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1363">
- <match key="usb_device.product_id" int="514">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1227">
- <match key="usb_device.product_id" int="451">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2329">
- <match key="usb_device.product_id" int="256">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1221">
- <match key="usb_device.product_id" int="4416">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1221">
- <match key="usb_device.product_id" int="4923">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2334">
- <match key="usb_device.product_id" int="9605">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10096">
- <match key="usb_device.product_id" int="37152">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2329">
- <match key="usb_device.product_id" int="256">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1112">
- <match key="usb_device.product_id" int="28677">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1037">
- <match key="usb_device.product_id" int="34908">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1044">
- <match key="usb_device.product_id" int="8200">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1044">
- <match key="usb_device.product_id" int="3074">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2425">
- <match key="usb_device.product_id" int="551">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2425">
- <match key="usb_device.product_id" int="551">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10096">
- <match key="usb_device.product_id" int="37152">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6353">
- <match key="usb_device.product_id" int="7">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6353">
- <match key="usb_device.product_id" int="6">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6353">
- <match key="usb_device.product_id" int="20033">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6353">
- <match key="usb_device.product_id" int="20034">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6353">
- <match key="usb_device.product_id" int="19983">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6353">
- <match key="usb_device.product_id" int="19712">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6353">
- <match key="usb_device.product_id" int="11522">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6353">
- <match key="usb_device.product_id" int="29706">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6353">
- <match key="usb_device.product_id" int="53514">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6353">
- <match key="usb_device.product_id" int="53513">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6353">
- <match key="usb_device.product_id" int="20193">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6353">
- <match key="usb_device.product_id" int="20194">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6353">
- <match key="usb_device.product_id" int="45066">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6353">
- <match key="usb_device.product_id" int="28840">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6353">
- <match key="usb_device.product_id" int="20005">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6353">
- <match key="usb_device.product_id" int="20006">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6353">
- <match key="usb_device.product_id" int="1459">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6353">
- <match key="usb_device.product_id" int="28930">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6353">
- <match key="usb_device.product_id" int="20197">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="9842">
- <match key="usb_device.product_id" int="17">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1943">
- <match key="usb_device.product_id" int="32796">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10096">
- <match key="usb_device.product_id" int="37152">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4866">
- <match key="usb_device.product_id" int="4118">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4866">
- <match key="usb_device.product_id" int="4119">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2362">
- <match key="usb_device.product_id" int="270">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1363">
- <match key="usb_device.product_id" int="514">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1008">
- <match key="usb_device.product_id" int="32285">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1008">
- <match key="usb_device.product_id" int="23837">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1008">
- <match key="usb_device.product_id" int="23581">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4251">
- <match key="usb_device.product_id" int="37126">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4251">
- <match key="usb_device.product_id" int="37129">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4251">
- <match key="usb_device.product_id" int="37125">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1008">
- <match key="usb_device.product_id" int="25858">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1008">
- <match key="usb_device.product_id" int="25090">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1008">
- <match key="usb_device.product_id" int="31746">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1008">
- <match key="usb_device.product_id" int="32002">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1008">
- <match key="usb_device.product_id" int="25346">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1008">
- <match key="usb_device.product_id" int="26114">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1008">
- <match key="usb_device.product_id" int="29698">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1008">
- <match key="usb_device.product_id" int="30722">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1008">
- <match key="usb_device.product_id" int="29186">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1008">
- <match key="usb_device.product_id" int="28162">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1008">
- <match key="usb_device.product_id" int="30978">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1008">
- <match key="usb_device.product_id" int="27906">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1008">
- <match key="usb_device.product_id" int="25346">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1008">
- <match key="usb_device.product_id" int="16642">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1008">
- <match key="usb_device.product_id" int="26626">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1008">
- <match key="usb_device.product_id" int="28930">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1008">
- <match key="usb_device.product_id" int="27394">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1008">
- <match key="usb_device.product_id" int="25602">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1008">
- <match key="usb_device.product_id" int="30210">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1008">
- <match key="usb_device.product_id" int="26370">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1008">
- <match key="usb_device.product_id" int="27650">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1008">
- <match key="usb_device.product_id" int="27138">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1008">
- <match key="usb_device.product_id" int="16898">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1008">
- <match key="usb_device.product_id" int="30466">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1008">
- <match key="usb_device.product_id" int="32258">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1008">
- <match key="usb_device.product_id" int="17154">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1008">
- <match key="usb_device.product_id" int="16642">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1008">
- <match key="usb_device.product_id" int="17410">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1008">
- <match key="usb_device.product_id" int="17666">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1008">
- <match key="usb_device.product_id" int="16642">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1008">
- <match key="usb_device.product_id" int="24578">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="61443">
- <match key="usb_device.product_id" int="24578">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1008">
- <match key="usb_device.product_id" int="35586">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1008">
- <match key="usb_device.product_id" int="35842">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1008">
- <match key="usb_device.product_id" int="29954">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1008">
- <match key="usb_device.product_id" int="31490">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1008">
- <match key="usb_device.product_id" int="29442">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1008">
- <match key="usb_device.product_id" int="31234">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1008">
- <match key="usb_device.product_id" int="32770">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1008">
- <match key="usb_device.product_id" int="33026">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1008">
- <match key="usb_device.product_id" int="33282">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1008">
- <match key="usb_device.product_id" int="39682">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1008">
- <match key="usb_device.product_id" int="33794">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1008">
- <match key="usb_device.product_id" int="34050">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1008">
- <match key="usb_device.product_id" int="38402">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1008">
- <match key="usb_device.product_id" int="38658">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1008">
- <match key="usb_device.product_id" int="34562">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1008">
- <match key="usb_device.product_id" int="34818">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2996">
- <match key="usb_device.product_id" int="26716">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2996">
- <match key="usb_device.product_id" int="26720">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2996">
- <match key="usb_device.product_id" int="3074">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2996">
- <match key="usb_device.product_id" int="8200">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2996">
- <match key="usb_device.product_id" int="3782">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2996">
- <match key="usb_device.product_id" int="3773">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2996">
- <match key="usb_device.product_id" int="3583">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2996">
- <match key="usb_device.product_id" int="3219">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2996">
- <match key="usb_device.product_id" int="3240">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2996">
- <match key="usb_device.product_id" int="3582">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2996">
- <match key="usb_device.product_id" int="3556">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2996">
- <match key="usb_device.product_id" int="1533">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2996">
- <match key="usb_device.product_id" int="3541">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2996">
- <match key="usb_device.product_id" int="3633">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2996">
- <match key="usb_device.product_id" int="3634">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2996">
- <match key="usb_device.product_id" int="3573">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2996">
- <match key="usb_device.product_id" int="1966">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2996">
- <match key="usb_device.product_id" int="3546">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2996">
- <match key="usb_device.product_id" int="3985">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2996">
- <match key="usb_device.product_id" int="3940">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2996">
- <match key="usb_device.product_id" int="3939">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2996">
- <match key="usb_device.product_id" int="3975">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2996">
- <match key="usb_device.product_id" int="3935">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2996">
- <match key="usb_device.product_id" int="3936">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2996">
- <match key="usb_device.product_id" int="3562">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2996">
- <match key="usb_device.product_id" int="3538">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2996">
- <match key="usb_device.product_id" int="1994">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2996">
- <match key="usb_device.product_id" int="3877">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2996">
- <match key="usb_device.product_id" int="1562">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2996">
- <match key="usb_device.product_id" int="4020">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2996">
- <match key="usb_device.product_id" int="4021">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2996">
- <match key="usb_device.product_id" int="1995">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2996">
- <match key="usb_device.product_id" int="2009">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2996">
- <match key="usb_device.product_id" int="3308">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2996">
- <match key="usb_device.product_id" int="3576">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2996">
- <match key="usb_device.product_id" int="3577">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2996">
- <match key="usb_device.product_id" int="3578">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2996">
- <match key="usb_device.product_id" int="3579">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2996">
- <match key="usb_device.product_id" int="3580">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2996">
- <match key="usb_device.product_id" int="3581">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2996">
- <match key="usb_device.product_id" int="2008">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2996">
- <match key="usb_device.product_id" int="8210">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2996">
- <match key="usb_device.product_id" int="1547">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2996">
- <match key="usb_device.product_id" int="3533">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2996">
- <match key="usb_device.product_id" int="61642">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2996">
- <match key="usb_device.product_id" int="2977">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2996">
- <match key="usb_device.product_id" int="2978">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4817">
- <match key="usb_device.product_id" int="4226">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4817">
- <match key="usb_device.product_id" int="13839">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4817">
- <match key="usb_device.product_id" int="13855">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4817">
- <match key="usb_device.product_id" int="4177">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4817">
- <match key="usb_device.product_id" int="4178">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10096">
- <match key="usb_device.product_id" int="37203">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10096">
- <match key="usb_device.product_id" int="37152">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1161">
- <match key="usb_device.product_id" int="49189">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2362">
- <match key="usb_device.product_id" int="270">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6655">
- <match key="usb_device.product_id" int="771">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6655">
- <match key="usb_device.product_id" int="777">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6655">
- <match key="usb_device.product_id" int="775">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="32903">
- <match key="usb_device.product_id" int="2655">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="32903">
- <match key="usb_device.product_id" int="2581">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="32903">
- <match key="usb_device.product_id" int="2582">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="32902">
- <match key="usb_device.product_id" int="1584">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="32903">
- <match key="usb_device.product_id" int="2654">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="32903">
- <match key="usb_device.product_id" int="2555">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1363">
- <match key="usb_device.product_id" int="514">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2362">
- <match key="usb_device.product_id" int="271">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="16642">
- <match key="usb_device.product_id" int="4394">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="16642">
- <match key="usb_device.product_id" int="4390">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="16642">
- <match key="usb_device.product_id" int="4417">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="16642">
- <match key="usb_device.product_id" int="4418">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="16642">
- <match key="usb_device.product_id" int="4434">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="16642">
- <match key="usb_device.product_id" int="4455">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="16642">
- <match key="usb_device.product_id" int="4433">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="16642">
- <match key="usb_device.product_id" int="8449">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="16642">
- <match key="usb_device.product_id" int="8453">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="16642">
- <match key="usb_device.product_id" int="8450">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4102">
- <match key="usb_device.product_id" int="12292">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="16642">
- <match key="usb_device.product_id" int="4104">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="16642">
- <match key="usb_device.product_id" int="4386">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4102">
- <match key="usb_device.product_id" int="16386">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4102">
- <match key="usb_device.product_id" int="16387">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="16642">
- <match key="usb_device.product_id" int="4423">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="16642">
- <match key="usb_device.product_id" int="4371">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="16642">
- <match key="usb_device.product_id" int="4384">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="16642">
- <match key="usb_device.product_id" int="4375">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="16642">
- <match key="usb_device.product_id" int="4373">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="16642">
- <match key="usb_device.product_id" int="4372">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="16642">
- <match key="usb_device.product_id" int="4376">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="16642">
- <match key="usb_device.product_id" int="4377">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="16642">
- <match key="usb_device.product_id" int="4435">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="16642">
- <match key="usb_device.product_id" int="4404">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4162">
- <match key="usb_device.product_id" int="4419">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="7784">
- <match key="usb_device.product_id" int="4098">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="16642">
- <match key="usb_device.product_id" int="4374">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="16642">
- <match key="usb_device.product_id" int="4402">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2848">
- <match key="usb_device.product_id" int="56814">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1924">
- <match key="usb_device.product_id" int="256">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2425">
- <match key="usb_device.product_id" int="551">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10096">
- <match key="usb_device.product_id" int="36956">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2425">
- <match key="usb_device.product_id" int="551">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3478">
- <match key="usb_device.product_id" int="13056">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3478">
- <match key="usb_device.product_id" int="16640">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1498">
- <match key="usb_device.product_id" int="4102">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3478">
- <match key="usb_device.product_id" int="0">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10096">
- <match key="usb_device.product_id" int="37152">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10545">
- <match key="usb_device.product_id" int="2561">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10545">
- <match key="usb_device.product_id" int="2565">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1265">
- <match key="usb_device.product_id" int="24837">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2126">
- <match key="usb_device.product_id" int="1">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2856">
- <match key="usb_device.product_id" int="4108">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="8759">
- <match key="usb_device.product_id" int="53512">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="8759">
- <match key="usb_device.product_id" int="53513">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="8759">
- <match key="usb_device.product_id" int="45320">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1559">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1547">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1406">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1418">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1420">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1421">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1417">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1450">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1434">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1442">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1463">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1466">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1447">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1455">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1454">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1475">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1449">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1478">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1436">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1376">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1376">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1333">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1382">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1382">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1396">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1395">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1393">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1412">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1401">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1400">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1400">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1402">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1403">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1414">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1404">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="256">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="288">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="289">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="272">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="273">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="304">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="274">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="306">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="352">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="305">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1317">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1280">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1296">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1328">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="368">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1365">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1398">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1360">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1392">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1394">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1397">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1405">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1407">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1399">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="768">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1344">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1384">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1385">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1381">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1383">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1486">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1536">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1439">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1473">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1453">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1413">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1024">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1426">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1427">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1422">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1423">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1425">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1440">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1452">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1451">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1464">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1437">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1438">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1415">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1459">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1460">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1408">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1416">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1027">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1461">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1429">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1487">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1485">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1034">
- <match key="usb_device.product_id" int="1472">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1224">
- <match key="usb_device.product_id" int="1826">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4907">
- <match key="usb_device.product_id" int="1">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4907">
- <match key="usb_device.product_id" int="25">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4907">
- <match key="usb_device.product_id" int="9">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4907">
- <match key="usb_device.product_id" int="7">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4907">
- <match key="usb_device.product_id" int="24">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4907">
- <match key="usb_device.product_id" int="34">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="7994">
- <match key="usb_device.product_id" int="4102">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1154">
- <match key="usb_device.product_id" int="2425">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1154">
- <match key="usb_device.product_id" int="2064">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1154">
- <match key="usb_device.product_id" int="1393">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1154">
- <match key="usb_device.product_id" int="1434">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10096">
- <match key="usb_device.product_id" int="36945">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1242">
- <match key="usb_device.product_id" int="9077">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6808">
- <match key="usb_device.product_id" int="2">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6127">
- <match key="usb_device.product_id" int="30519">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6127">
- <match key="usb_device.product_id" int="30507">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6127">
- <match key="usb_device.product_id" int="29848">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6127">
- <match key="usb_device.product_id" int="30140">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6127">
- <match key="usb_device.product_id" int="30142">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6127">
- <match key="usb_device.product_id" int="30018">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6127">
- <match key="usb_device.product_id" int="30077">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6127">
- <match key="usb_device.product_id" int="30440">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6127">
- <match key="usb_device.product_id" int="29706">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6127">
- <match key="usb_device.product_id" int="30851">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6127">
- <match key="usb_device.product_id" int="30133">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6127">
- <match key="usb_device.product_id" int="30554">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6127">
- <match key="usb_device.product_id" int="29900">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6127">
- <match key="usb_device.product_id" int="3074">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6127">
- <match key="usb_device.product_id" int="29847">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6127">
- <match key="usb_device.product_id" int="29862">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6127">
- <match key="usb_device.product_id" int="29944">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6127">
- <match key="usb_device.product_id" int="30488">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6127">
- <match key="usb_device.product_id" int="29724">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6127">
- <match key="usb_device.product_id" int="30450">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6127">
- <match key="usb_device.product_id" int="30698">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6127">
- <match key="usb_device.product_id" int="30463">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6127">
- <match key="usb_device.product_id" int="30641">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4100">
- <match key="usb_device.product_id" int="25073">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4100">
- <match key="usb_device.product_id" int="25081">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4100">
- <match key="usb_device.product_id" int="25215">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4100">
- <match key="usb_device.product_id" int="25198">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4100">
- <match key="usb_device.product_id" int="24859">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4100">
- <match key="usb_device.product_id" int="24719">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4100">
- <match key="usb_device.product_id" int="24882">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4100">
- <match key="usb_device.product_id" int="25406">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4100">
- <match key="usb_device.product_id" int="25145">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4100">
- <match key="usb_device.product_id" int="25149">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4100">
- <match key="usb_device.product_id" int="25116">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4100">
- <match key="usb_device.product_id" int="25125">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4100">
- <match key="usb_device.product_id" int="24986">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1086">
- <match key="usb_device.product_id" int="28736">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1086">
- <match key="usb_device.product_id" int="28849">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4100">
- <match key="usb_device.product_id" int="25372">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4100">
- <match key="usb_device.product_id" int="25189">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4100">
- <match key="usb_device.product_id" int="24592">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4100">
- <match key="usb_device.product_id" int="24581">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3478">
- <match key="usb_device.product_id" int="16640">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="5073">
- <match key="usb_device.product_id" int="28674">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1133">
- <match key="usb_device.product_id" int="2304">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1133">
- <match key="usb_device.product_id" int="2384">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3478">
- <match key="usb_device.product_id" int="16640">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3478">
- <match key="usb_device.product_id" int="13056">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10096">
- <match key="usb_device.product_id" int="37152">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1276">
- <match key="usb_device.product_id" int="20555">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1647">
- <match key="usb_device.product_id" int="33900">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2329">
- <match key="usb_device.product_id" int="256">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3725">
- <match key="usb_device.product_id" int="80">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1032">
- <match key="usb_device.product_id" int="45066">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6127">
- <match key="usb_device.product_id" int="29827">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1276">
- <match key="usb_device.product_id" int="20554">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3478">
- <match key="usb_device.product_id" int="16640">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1482">
- <match key="usb_device.product_id" int="8709">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3478">
- <match key="usb_device.product_id" int="16642">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1647">
- <match key="usb_device.product_id" int="34128">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1647">
- <match key="usb_device.product_id" int="34184">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1032">
- <match key="usb_device.product_id" int="45065">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4721">
- <match key="usb_device.product_id" int="8210">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="8222">
- <match key="usb_device.product_id" int="17067">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10821">
- <match key="usb_device.product_id" int="8200">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10821">
- <match key="usb_device.product_id" int="3074">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4310">
- <match key="usb_device.product_id" int="8960">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3504">
- <match key="usb_device.product_id" int="21874">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1363">
- <match key="usb_device.product_id" int="514">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1118">
- <match key="usb_device.product_id" int="1600">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1118">
- <match key="usb_device.product_id" int="1570">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1118">
- <match key="usb_device.product_id" int="1260">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1118">
- <match key="usb_device.product_id" int="1808">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1118">
- <match key="usb_device.product_id" int="1598">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1118">
- <match key="usb_device.product_id" int="61642">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1118">
- <match key="usb_device.product_id" int="201">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1118">
- <match key="usb_device.product_id" int="1601">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3141">
- <match key="usb_device.product_id" int="32776">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2125">
- <match key="usb_device.product_id" int="3">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10096">
- <match key="usb_device.product_id" int="37152">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10096">
- <match key="usb_device.product_id" int="37152">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="8888">
- <match key="usb_device.product_id" int="24778">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="8888">
- <match key="usb_device.product_id" int="28808">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="8888">
- <match key="usb_device.product_id" int="25807">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="8888">
- <match key="usb_device.product_id" int="11826">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="8888">
- <match key="usb_device.product_id" int="11827">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="8888">
- <match key="usb_device.product_id" int="11879">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="8888">
- <match key="usb_device.product_id" int="11941">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="8888">
- <match key="usb_device.product_id" int="11944">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="8888">
- <match key="usb_device.product_id" int="11880">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="8888">
- <match key="usb_device.product_id" int="16854">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="8888">
- <match key="usb_device.product_id" int="16858">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="8888">
- <match key="usb_device.product_id" int="17063">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="8888">
- <match key="usb_device.product_id" int="17279">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="8888">
- <match key="usb_device.product_id" int="17267">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="8888">
- <match key="usb_device.product_id" int="18449">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="8888">
- <match key="usb_device.product_id" int="16860">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="8888">
- <match key="usb_device.product_id" int="28874">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="8888">
- <match key="usb_device.product_id" int="11894">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="8888">
- <match key="usb_device.product_id" int="11906">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="8888">
- <match key="usb_device.product_id" int="11908">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="8888">
- <match key="usb_device.product_id" int="11874">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="8888">
- <match key="usb_device.product_id" int="11875">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="8888">
- <match key="usb_device.product_id" int="11878">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="8888">
- <match key="usb_device.product_id" int="25619">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="8888">
- <match key="usb_device.product_id" int="25781">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="8888">
- <match key="usb_device.product_id" int="25782">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="8888">
- <match key="usb_device.product_id" int="11856">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="8888">
- <match key="usb_device.product_id" int="11857">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="8888">
- <match key="usb_device.product_id" int="25621">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="8888">
- <match key="usb_device.product_id" int="10853">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="8888">
- <match key="usb_device.product_id" int="28835">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="8888">
- <match key="usb_device.product_id" int="28840">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="8888">
- <match key="usb_device.product_id" int="28841">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="8888">
- <match key="usb_device.product_id" int="17169">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="8888">
- <match key="usb_device.product_id" int="17158">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="8888">
- <match key="usb_device.product_id" int="16847">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="8888">
- <match key="usb_device.product_id" int="28941">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="8888">
- <match key="usb_device.product_id" int="28942">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="8888">
- <match key="usb_device.product_id" int="17250">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1375">
- <match key="usb_device.product_id" int="49664">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1375">
- <match key="usb_device.product_id" int="41808">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1375">
- <match key="usb_device.product_id" int="49696">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1375">
- <match key="usb_device.product_id" int="50208">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1375">
- <match key="usb_device.product_id" int="50464">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2726">
- <match key="usb_device.product_id" int="38401">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1033">
- <match key="usb_device.product_id" int="806">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1033">
- <match key="usb_device.product_id" int="1074">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1033">
- <match key="usb_device.product_id" int="578">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1026">
- <match key="usb_device.product_id" int="22120">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10096">
- <match key="usb_device.product_id" int="36956">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="770">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="279">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="290">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="291">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="265">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="277">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="289">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="273">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="285">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="301">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="516">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="271">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="267">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="304">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="305">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="297">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="275">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="518">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="281">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="302">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="269">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="309">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="313">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="311">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="287">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="259">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="295">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="274">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="401">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="258">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="550">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="392">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="520">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="779">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="777">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="382">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="351">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="389">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="789">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="792">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="791">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="804">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="835">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="773">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="402">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="320">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="381">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="322">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="545">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="551">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="524">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="361">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="388">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="347">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="547">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="355">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="552">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="785">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="367">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="383">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="395">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="549">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="553">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="363">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="364">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="371">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="823">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="838">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="334">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="353">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="375">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="376">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="801">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="813">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="831">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="795">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="800">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="820">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="810">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="324">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="809">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="349">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="544">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="334">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="369">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="542">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="540">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="343">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="543">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="546">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="390">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="403">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="843">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="514">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="1028">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="1036">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="1032">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="1052">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="1034">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="1026">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="1040">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="1046">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="1050">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="1060">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="1061">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="1063">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="1068">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="1075">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="1062">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="1056">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="1067">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="1044">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="1048">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="1077">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="1059">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="1065">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="1071">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="1073">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="1054">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="1069">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="1076">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="1030">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="1058">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="1064">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="1038">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="1072">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="1079">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="1042">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="1066">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="1070">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="1078">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="1057">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="1538">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="1539">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="1541">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="1545">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="1542">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="1537">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1200">
- <match key="usb_device.product_id" int="1540">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1276">
- <match key="usb_device.product_id" int="20554">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2425">
- <match key="usb_device.product_id" int="548">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="705">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="101">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="95">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="1122">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="494">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="521">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="1214">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="738">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="1210">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="108">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="234">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="1150">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="553">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="1204">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="340">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="341">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="345">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="46">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="152">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="141">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="60">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="663">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="1491">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="1426">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="961">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="973">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="463">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="815">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="377">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="229">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="820">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="821">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="228">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="417">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="545">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="1788">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="1638">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="1633">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="1316">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="1160">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="1233">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="1249">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="121">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="390">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="766">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="770">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="1265">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="10">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="116">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="146">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="1306">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="1157">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="1144">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="1253">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="1263">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="110">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="978">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="57">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="501">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="619">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="500">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="628">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1057">
- <match key="usb_device.product_id" int="1768">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="5891">
- <match key="usb_device.product_id" int="1">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="5891">
- <match key="usb_device.product_id" int="2">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2389">
- <match key="usb_device.product_id" int="28841">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2389">
- <match key="usb_device.product_id" int="46080">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2389">
- <match key="usb_device.product_id" int="52999">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2389">
- <match key="usb_device.product_id" int="52994">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2389">
- <match key="usb_device.product_id" int="28928">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2389">
- <match key="usb_device.product_id" int="28930">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="7763">
- <match key="usb_device.product_id" int="6">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1972">
- <match key="usb_device.product_id" int="256">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1972">
- <match key="usb_device.product_id" int="256">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1972">
- <match key="usb_device.product_id" int="256">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1972">
- <match key="usb_device.product_id" int="276">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1972">
- <match key="usb_device.product_id" int="276">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1972">
- <match key="usb_device.product_id" int="276">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1972">
- <match key="usb_device.product_id" int="276">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1972">
- <match key="usb_device.product_id" int="276">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1972">
- <match key="usb_device.product_id" int="276">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1972">
- <match key="usb_device.product_id" int="272">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1972">
- <match key="usb_device.product_id" int="303">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1972">
- <match key="usb_device.product_id" int="303">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1972">
- <match key="usb_device.product_id" int="278">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1972">
- <match key="usb_device.product_id" int="276">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1972">
- <match key="usb_device.product_id" int="275">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1972">
- <match key="usb_device.product_id" int="303">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1972">
- <match key="usb_device.product_id" int="276">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1972">
- <match key="usb_device.product_id" int="276">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1972">
- <match key="usb_device.product_id" int="278">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1972">
- <match key="usb_device.product_id" int="278">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="8921">
- <match key="usb_device.product_id" int="10085">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="8921">
- <match key="usb_device.product_id" int="10100">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="8921">
- <match key="usb_device.product_id" int="10099">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2329">
- <match key="usb_device.product_id" int="256">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2329">
- <match key="usb_device.product_id" int="256">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1242">
- <match key="usb_device.product_id" int="9076">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1242">
- <match key="usb_device.product_id" int="9076">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1242">
- <match key="usb_device.product_id" int="9076">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1242">
- <match key="usb_device.product_id" int="9076">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1242">
- <match key="usb_device.product_id" int="9076">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1242">
- <match key="usb_device.product_id" int="9076">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1242">
- <match key="usb_device.product_id" int="9076">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1242">
- <match key="usb_device.product_id" int="9076">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1242">
- <match key="usb_device.product_id" int="9076">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1242">
- <match key="usb_device.product_id" int="9076">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1242">
- <match key="usb_device.product_id" int="9076">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1242">
- <match key="usb_device.product_id" int="9076">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1242">
- <match key="usb_device.product_id" int="8517">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1242">
- <match key="usb_device.product_id" int="8536">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4204">
- <match key="usb_device.product_id" int="61443">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="7501">
- <match key="usb_device.product_id" int="20534">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="7501">
- <match key="usb_device.product_id" int="20533">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="7501">
- <match key="usb_device.product_id" int="20554">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1363">
- <match key="usb_device.product_id" int="514">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="9723">
- <match key="usb_device.product_id" int="357">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2583">
- <match key="usb_device.product_id" int="13">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2583">
- <match key="usb_device.product_id" int="247">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2726">
- <match key="usb_device.product_id" int="38658">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1137">
- <match key="usb_device.product_id" int="8316">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1137">
- <match key="usb_device.product_id" int="8377">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1137">
- <match key="usb_device.product_id" int="8504">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1137">
- <match key="usb_device.product_id" int="357">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1137">
- <match key="usb_device.product_id" int="8311">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1137">
- <match key="usb_device.product_id" int="8334">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1137">
- <match key="usb_device.product_id" int="8196">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1137">
- <match key="usb_device.product_id" int="2135">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1137">
- <match key="usb_device.product_id" int="2126">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1137">
- <match key="usb_device.product_id" int="8194">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1137">
- <match key="usb_device.product_id" int="335">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1137">
- <match key="usb_device.product_id" int="8309">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1137">
- <match key="usb_device.product_id" int="8315">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1137">
- <match key="usb_device.product_id" int="8375">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1137">
- <match key="usb_device.product_id" int="8421">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1137">
- <match key="usb_device.product_id" int="333">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1137">
- <match key="usb_device.product_id" int="332">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1137">
- <match key="usb_device.product_id" int="491">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1137">
- <match key="usb_device.product_id" int="331">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1137">
- <match key="usb_device.product_id" int="6411">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2362">
- <match key="usb_device.product_id" int="270">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1137">
- <match key="usb_device.product_id" int="8592">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1137">
- <match key="usb_device.product_id" int="32257">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1137">
- <match key="usb_device.product_id" int="385">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1137">
- <match key="usb_device.product_id" int="356">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1137">
- <match key="usb_device.product_id" int="8226">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1137">
- <match key="usb_device.product_id" int="370">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1363">
- <match key="usb_device.product_id" int="514">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2276">
- <match key="usb_device.product_id" int="322">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2276">
- <match key="usb_device.product_id" int="328">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2362">
- <match key="usb_device.product_id" int="270">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10096">
- <match key="usb_device.product_id" int="36956">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10096">
- <match key="usb_device.product_id" int="37152">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1924">
- <match key="usb_device.product_id" int="10376">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1350">
- <match key="usb_device.product_id" int="8245">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1350">
- <match key="usb_device.product_id" int="3503">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10096">
- <match key="usb_device.product_id" int="36956">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10096">
- <match key="usb_device.product_id" int="37152">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2362">
- <match key="usb_device.product_id" int="271">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10724">
- <match key="usb_device.product_id" int="4611">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10724">
- <match key="usb_device.product_id" int="4355">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1924">
- <match key="usb_device.product_id" int="21248">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1276">
- <match key="usb_device.product_id" int="65535">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1478">
- <match key="usb_device.product_id" int="34816">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1478">
- <match key="usb_device.product_id" int="61443">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1478">
- <match key="usb_device.product_id" int="553">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1478">
- <match key="usb_device.product_id" int="12694">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1478">
- <match key="usb_device.product_id" int="26468">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1478">
- <match key="usb_device.product_id" int="26469">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1478">
- <match key="usb_device.product_id" int="36921">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1478">
- <match key="usb_device.product_id" int="36901">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1363">
- <match key="usb_device.product_id" int="514">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3530">
- <match key="usb_device.product_id" int="4">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1924">
- <match key="usb_device.product_id" int="256">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10007">
- <match key="usb_device.product_id" int="4704">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10007">
- <match key="usb_device.product_id" int="4712">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10096">
- <match key="usb_device.product_id" int="37152">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1482">
- <match key="usb_device.product_id" int="8715">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1482">
- <match key="usb_device.product_id" int="8707">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1482">
- <match key="usb_device.product_id" int="8708">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1482">
- <match key="usb_device.product_id" int="8712">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1482">
- <match key="usb_device.product_id" int="8716">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1482">
- <match key="usb_device.product_id" int="805">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1482">
- <match key="usb_device.product_id" int="8724">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1482">
- <match key="usb_device.product_id" int="813">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1482">
- <match key="usb_device.product_id" int="8717">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1482">
- <match key="usb_device.product_id" int="8722">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1482">
- <match key="usb_device.product_id" int="811">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1482">
- <match key="usb_device.product_id" int="8723">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1482">
- <match key="usb_device.product_id" int="8726">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1482">
- <match key="usb_device.product_id" int="815">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1482">
- <match key="usb_device.product_id" int="8727">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1482">
- <match key="usb_device.product_id" int="8730">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1482">
- <match key="usb_device.product_id" int="272">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1482">
- <match key="usb_device.product_id" int="8706">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1482">
- <match key="usb_device.product_id" int="829">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1482">
- <match key="usb_device.product_id" int="8717">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4042">
- <match key="usb_device.product_id" int="32775">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1482">
- <match key="usb_device.product_id" int="8719">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1482">
- <match key="usb_device.product_id" int="8719">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10096">
- <match key="usb_device.product_id" int="37181">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10096">
- <match key="usb_device.product_id" int="37181">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10096">
- <match key="usb_device.product_id" int="37181">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2425">
- <match key="usb_device.product_id" int="551">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3141">
- <match key="usb_device.product_id" int="32771">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3141">
- <match key="usb_device.product_id" int="32771">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3141">
- <match key="usb_device.product_id" int="32771">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2362">
- <match key="usb_device.product_id" int="270">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2362">
- <match key="usb_device.product_id" int="271">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2425">
- <match key="usb_device.product_id" int="551">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2425">
- <match key="usb_device.product_id" int="551">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10096">
- <match key="usb_device.product_id" int="37152">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2425">
- <match key="usb_device.product_id" int="551">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10096">
- <match key="usb_device.product_id" int="36956">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2425">
- <match key="usb_device.product_id" int="551">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2362">
- <match key="usb_device.product_id" int="271">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2425">
- <match key="usb_device.product_id" int="551">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2425">
- <match key="usb_device.product_id" int="551">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2425">
- <match key="usb_device.product_id" int="551">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2425">
- <match key="usb_device.product_id" int="551">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2425">
- <match key="usb_device.product_id" int="551">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2425">
- <match key="usb_device.product_id" int="551">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1256">
- <match key="usb_device.product_id" int="26726">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1256">
- <match key="usb_device.product_id" int="26407">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1256">
- <match key="usb_device.product_id" int="26720">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1256">
- <match key="usb_device.product_id" int="26716">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1256">
- <match key="usb_device.product_id" int="26743">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1256">
- <match key="usb_device.product_id" int="26450">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1256">
- <match key="usb_device.product_id" int="26799">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1256">
- <match key="usb_device.product_id" int="57868">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1256">
- <match key="usb_device.product_id" int="26649">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1256">
- <match key="usb_device.product_id" int="1188">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1256">
- <match key="usb_device.product_id" int="20255">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1256">
- <match key="usb_device.product_id" int="26420">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1256">
- <match key="usb_device.product_id" int="26178">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1256">
- <match key="usb_device.product_id" int="5132">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1256">
- <match key="usb_device.product_id" int="4996">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1256">
- <match key="usb_device.product_id" int="26698">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1256">
- <match key="usb_device.product_id" int="26467">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1256">
- <match key="usb_device.product_id" int="26377">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1256">
- <match key="usb_device.product_id" int="26793">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1256">
- <match key="usb_device.product_id" int="26370">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1256">
- <match key="usb_device.product_id" int="20526">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1256">
- <match key="usb_device.product_id" int="20509">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1256">
- <match key="usb_device.product_id" int="20514">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1256">
- <match key="usb_device.product_id" int="20527">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1256">
- <match key="usb_device.product_id" int="20516">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1256">
- <match key="usb_device.product_id" int="23055">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1256">
- <match key="usb_device.product_id" int="20531">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1256">
- <match key="usb_device.product_id" int="1033">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1256">
- <match key="usb_device.product_id" int="20567">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1256">
- <match key="usb_device.product_id" int="20609">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1256">
- <match key="usb_device.product_id" int="20570">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1256">
- <match key="usb_device.product_id" int="20760">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1256">
- <match key="usb_device.product_id" int="20611">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1256">
- <match key="usb_device.product_id" int="20762">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1256">
- <match key="usb_device.product_id" int="20757">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1256">
- <match key="usb_device.product_id" int="20765">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1256">
- <match key="usb_device.product_id" int="20784">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1256">
- <match key="usb_device.product_id" int="20773">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1256">
- <match key="usb_device.product_id" int="20751">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1256">
- <match key="usb_device.product_id" int="20782">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1256">
- <match key="usb_device.product_id" int="20625">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1256">
- <match key="usb_device.product_id" int="20619">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1256">
- <match key="usb_device.product_id" int="20618">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1256">
- <match key="usb_device.product_id" int="20551">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1256">
- <match key="usb_device.product_id" int="20607">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1256">
- <match key="usb_device.product_id" int="20564">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1256">
- <match key="usb_device.product_id" int="20605">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1256">
- <match key="usb_device.product_id" int="20627">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1256">
- <match key="usb_device.product_id" int="20769">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1256">
- <match key="usb_device.product_id" int="20791">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1256">
- <match key="usb_device.product_id" int="20540">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1921">
- <match key="usb_device.product_id" int="29712">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1921">
- <match key="usb_device.product_id" int="29776">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1921">
- <match key="usb_device.product_id" int="29778">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1921">
- <match key="usb_device.product_id" int="29746">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1921">
- <match key="usb_device.product_id" int="29748">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1921">
- <match key="usb_device.product_id" int="29924">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1921">
- <match key="usb_device.product_id" int="29904">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1921">
- <match key="usb_device.product_id" int="29824">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1921">
- <match key="usb_device.product_id" int="29728">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1921">
- <match key="usb_device.product_id" int="29730">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1921">
- <match key="usb_device.product_id" int="29792">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1921">
- <match key="usb_device.product_id" int="29888">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1921">
- <match key="usb_device.product_id" int="29890">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1921">
- <match key="usb_device.product_id" int="29920">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1921">
- <match key="usb_device.product_id" int="29697">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1921">
- <match key="usb_device.product_id" int="29696">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1921">
- <match key="usb_device.product_id" int="29744">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1921">
- <match key="usb_device.product_id" int="29872">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1140">
- <match key="usb_device.product_id" int="560">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1943">
- <match key="usb_device.product_id" int="35073">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1943">
- <match key="usb_device.product_id" int="35081">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1943">
- <match key="usb_device.product_id" int="35089">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2125">
- <match key="usb_device.product_id" int="4097">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2329">
- <match key="usb_device.product_id" int="256">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1482">
- <match key="usb_device.product_id" int="851">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1482">
- <match key="usb_device.product_id" int="8718">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1482">
- <match key="usb_device.product_id" int="807">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10096">
- <match key="usb_device.product_id" int="37152">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10096">
- <match key="usb_device.product_id" int="37152">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10096">
- <match key="usb_device.product_id" int="37152">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1245">
- <match key="usb_device.product_id" int="38497">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1245">
- <match key="usb_device.product_id" int="38602">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1161">
- <match key="usb_device.product_id" int="49189">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2362">
- <match key="usb_device.product_id" int="270">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1647">
- <match key="usb_device.product_id" int="40976">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3191">
- <match key="usb_device.product_id" int="4113">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3191">
- <match key="usb_device.product_id" int="4117">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3191">
- <match key="usb_device.product_id" int="4098">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3191">
- <match key="usb_device.product_id" int="4112">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3428">
- <match key="usb_device.product_id" int="4097">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3191">
- <match key="usb_device.product_id" int="4097">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6390">
- <match key="usb_device.product_id" int="258">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6390">
- <match key="usb_device.product_id" int="272">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3478">
- <match key="usb_device.product_id" int="13056">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="7132">
- <match key="usb_device.product_id" int="64191">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3530">
- <match key="usb_device.product_id" int="2">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3783">
- <match key="usb_device.product_id" int="4104">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="1870">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="1990">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="2391">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="2279">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="2382">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="2231">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="2387">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="2381">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="2388">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="2274">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="4756">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="704">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="743">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="78">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="78">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="78">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="78">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="78">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="78">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="1347">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="1567">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="1774">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="1169">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="2221">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="78">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="78">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="78">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="78">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="78">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="78">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="78">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="78">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="78">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="78">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="78">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="78">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="78">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="78">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="78">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="78">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="78">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="78">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="78">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="78">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="1323">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="1322">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="1867">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="78">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="78">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="662">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="78">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="662">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="78">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="78">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="78">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="78">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="78">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="78">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="78">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="78">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="78">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="835">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="760">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="78">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="1340">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="78">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="20853">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="41333">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="45429">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="370">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="20850">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="16754">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="390">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="20870">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="16774">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="361">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="20841">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="16745">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="373">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="16757">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="374">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="16758">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="375">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="20855">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="16759">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="41335">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="45431">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="376">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="20856">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="16760">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="386">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="20866">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="16770">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="371">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="20851">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="16755">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="41331">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="45427">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="78">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="78">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="1839">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="1656">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="860">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="805">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="859">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="1028">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="878">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="984">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="1214">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="1434">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="1673">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="1020">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="1227">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="901">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="1021">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="1446">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="806">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="1022">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="807">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="910">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="858">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="908">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="1228">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="1448">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="904">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="1211">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="919">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="920">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="78">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="1191">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="801">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="1187">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="1641">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="1846">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="1847">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="1396">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="1653">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="20854">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="41334">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="45430">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="385">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="20865">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="16769">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="1233">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="1459">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1356">
- <match key="usb_device.product_id" int="1460">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="369">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="368">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="20848">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="16752">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="384">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="20864">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="16768">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="20849">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="16753">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="382">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="20862">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="16766">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="41342">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="45438">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="365">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="408">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="20888">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="419">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="20899">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="16803">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="396">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="20876">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="16780">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="444">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="20924">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="444">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="459">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="20939">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="16843">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="392">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="20872">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="16776">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="402">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="20882">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="16786">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="411">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="20891">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="16795">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="427">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="20907">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="16811">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="426">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="20906">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="16810">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="405">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="20885">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="16789">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="397">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="404">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="20877">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="20884">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="16781">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="16788">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="403">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="20883">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="16787">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="438">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="406">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="412">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="20918">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="20886">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="20892">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="16796">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="423">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="16807">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="20903">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="414">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="20894">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="16798">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="431">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="20911">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="16815">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="443">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="20923">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="16827">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="442">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="20922">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="16826">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="393">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="20873">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="16777">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="407">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="20887">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="326">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="20806">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="217">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="212">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="239">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="343">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="20823">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="16727">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="334">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="53572">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="324">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="57344">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="117">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="20815">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="335">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="346">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="20826">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="342">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="20822">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="349">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="20829">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="358">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="20838">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="359">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="20839">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="360">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="20840">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="16744">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="353">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="20833">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="251">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="307">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="314">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="4296">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="243">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="261">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="198">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="179">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="245">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="118">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="218">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="274">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4046">
- <match key="usb_device.product_id" int="20845">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10096">
- <match key="usb_device.product_id" int="36956">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1363">
- <match key="usb_device.product_id" int="514">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1363">
- <match key="usb_device.product_id" int="514">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1363">
- <match key="usb_device.product_id" int="514">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1363">
- <match key="usb_device.product_id" int="514">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1363">
- <match key="usb_device.product_id" int="514">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10096">
- <match key="usb_device.product_id" int="37152">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2329">
- <match key="usb_device.product_id" int="256">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1363">
- <match key="usb_device.product_id" int="514">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10096">
- <match key="usb_device.product_id" int="36956">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1363">
- <match key="usb_device.product_id" int="514">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10096">
- <match key="usb_device.product_id" int="37181">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10096">
- <match key="usb_device.product_id" int="37152">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1105">
- <match key="usb_device.product_id" int="53512">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="5073">
- <match key="usb_device.product_id" int="28695">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2726">
- <match key="usb_device.product_id" int="12305">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1691">
- <match key="usb_device.product_id" int="12341">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1691">
- <match key="usb_device.product_id" int="1911">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1691">
- <match key="usb_device.product_id" int="1908">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1691">
- <match key="usb_device.product_id" int="1916">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1691">
- <match key="usb_device.product_id" int="12314">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1691">
- <match key="usb_device.product_id" int="12328">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2329">
- <match key="usb_device.product_id" int="256">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1363">
- <match key="usb_device.product_id" int="514">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="5008">
- <match key="usb_device.product_id" int="21589">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4571">
- <match key="usb_device.product_id" int="4096">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2352">
- <match key="usb_device.product_id" int="2403">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2352">
- <match key="usb_device.product_id" int="12">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2352">
- <match key="usb_device.product_id" int="9">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2352">
- <match key="usb_device.product_id" int="29">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2352">
- <match key="usb_device.product_id" int="26">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2352">
- <match key="usb_device.product_id" int="24">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2352">
- <match key="usb_device.product_id" int="17">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2352">
- <match key="usb_device.product_id" int="15">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2352">
- <match key="usb_device.product_id" int="16">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2352">
- <match key="usb_device.product_id" int="25">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2352">
- <match key="usb_device.product_id" int="22">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2352">
- <match key="usb_device.product_id" int="20">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4402">
- <match key="usb_device.product_id" int="17207">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4402">
- <match key="usb_device.product_id" int="17202">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4402">
- <match key="usb_device.product_id" int="17205">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="4402">
- <match key="usb_device.product_id" int="17204">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2352">
- <match key="usb_device.product_id" int="28928">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3478">
- <match key="usb_device.product_id" int="13056">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3478">
- <match key="usb_device.product_id" int="16640">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="7784">
- <match key="usb_device.product_id" int="2">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1026">
- <match key="usb_device.product_id" int="1553">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1647">
- <match key="usb_device.product_id" int="33834">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2125">
- <match key="usb_device.product_id" int="3">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1750">
- <match key="usb_device.product_id" int="46">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1750">
- <match key="usb_device.product_id" int="45">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2250">
- <match key="usb_device.product_id" int="272">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1276">
- <match key="usb_device.product_id" int="20554">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1943">
- <match key="usb_device.product_id" int="32794">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1363">
- <match key="usb_device.product_id" int="514">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3428">
- <match key="usb_device.product_id" int="4097">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="8711">
- <match key="usb_device.product_id" int="1">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="8711">
- <match key="usb_device.product_id" int="17">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1032">
- <match key="usb_device.product_id" int="14489">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10096">
- <match key="usb_device.product_id" int="37152">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10096">
- <match key="usb_device.product_id" int="37152">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2425">
- <match key="usb_device.product_id" int="551">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2362">
- <match key="usb_device.product_id" int="270">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="2362">
- <match key="usb_device.product_id" int="271">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3141">
- <match key="usb_device.product_id" int="32778">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10096">
- <match key="usb_device.product_id" int="36956">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1161">
- <match key="usb_device.product_id" int="57617">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1161">
- <match key="usb_device.product_id" int="49190">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1161">
- <match key="usb_device.product_id" int="57408">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1329">
- <match key="usb_device.product_id" int="8193">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="3141">
- <match key="usb_device.product_id" int="32769">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="7763">
- <match key="usb_device.product_id" int="7">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10007">
- <match key="usb_device.product_id" int="4968">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10007">
- <match key="usb_device.product_id" int="4680">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10007">
- <match key="usb_device.product_id" int="4672">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10007">
- <match key="usb_device.product_id" int="61443">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10007">
- <match key="usb_device.product_id" int="36921">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10007">
- <match key="usb_device.product_id" int="65352">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10007">
- <match key="usb_device.product_id" int="872">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10007">
- <match key="usb_device.product_id" int="864">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10007">
- <match key="usb_device.product_id" int="1632">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="8711">
- <match key="usb_device.product_id" int="6">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10518">
- <match key="usb_device.product_id" int="37197">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10518">
- <match key="usb_device.product_id" int="61443">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="7871">
- <match key="usb_device.product_id" int="32553">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="1054">
- <match key="usb_device.product_id" int="24576">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="10096">
- <match key="usb_device.product_id" int="36956">
- <append key="info.capabilities" type="strlist">camera</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6610">
- <match key="usb_device.product_id" int="835">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6610">
- <match key="usb_device.product_id" int="65486">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6610">
- <match key="usb_device.product_id" int="580">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6610">
- <match key="usb_device.product_id" int="581">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6610">
- <match key="usb_device.product_id" int="774">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6610">
- <match key="usb_device.product_id" int="775">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- <match key="usb_device.vendor_id" int="6610">
- <match key="usb_device.product_id" int="899">
- <append key="info.capabilities" type="strlist">portable_audio_player</append>
- </match>
- </match>
- </match>
- </device>
-</deviceinfo>
diff --git a/meta-oe/recipes-graphics/gphoto2/libgphoto2/10-camera-libgphoto2.fdi b/meta-oe/recipes-graphics/gphoto2/libgphoto2/10-camera-libgphoto2.fdi
deleted file mode 100644
index 00427e7d97..0000000000
--- a/meta-oe/recipes-graphics/gphoto2/libgphoto2/10-camera-libgphoto2.fdi
+++ /dev/null
@@ -1,19018 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?> <!-- -*- SGML -*- -->
-<!-- This file was generated by libgphoto2 print-camera-list - - fdi -->
-<!--+
- | Created from this library:
- | libgphoto2 2.5.8 all camlibs, gcc, ltdl, no EXIF
- | libgphoto2_port 0.12.0 gcc, ltdl, no USB, serial without locking
- +-->
-<deviceinfo version="0.2">
- <device>
- <match key="info.subsystem" string="usb">
- <match key="usb.vendor_id" int="2425">
- <match key="usb.product_id" int="551">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string"> JL2005B/C/D camera</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1282">
- <match key="usb.product_id" int="13251">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Acer E350 Liquid Gallant Duo (ID1)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1282">
- <match key="usb.product_id" int="13252">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Acer E350 Liquid Gallant Duo (ID2)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1282">
- <match key="usb.product_id" int="13891">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Acer E39</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1282">
- <match key="usb.product_id" int="13628">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Acer Iconia A1-810</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1282">
- <match key="usb.product_id" int="13869">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Acer Iconia A1-840FHD</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1282">
- <match key="usb.product_id" int="13702">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Acer Iconia A3-A11</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1282">
- <match key="usb.product_id" int="13128">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Acer Iconia TAB A100 (ID1)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1282">
- <match key="usb.product_id" int="13129">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Acer Iconia TAB A100 (ID2)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1282">
- <match key="usb.product_id" int="13130">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Acer Iconia TAB A101 (ID1)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1282">
- <match key="usb.product_id" int="13272">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Acer Iconia TAB A110</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1282">
- <match key="usb.product_id" int="13180">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Acer Iconia TAB A200 (ID1)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1282">
- <match key="usb.product_id" int="13181">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Acer Iconia TAB A200 (ID2)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1282">
- <match key="usb.product_id" int="13259">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Acer Iconia TAB A210</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1282">
- <match key="usb.product_id" int="13093">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Acer Iconia TAB A500 (ID1)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1282">
- <match key="usb.product_id" int="13121">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Acer Iconia TAB A500 (ID2)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1282">
- <match key="usb.product_id" int="13124">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Acer Iconia TAB A501 (ID1)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1282">
- <match key="usb.product_id" int="13125">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Acer Iconia TAB A501 (ID2)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1282">
- <match key="usb.product_id" int="13193">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Acer Iconia TAB A510 (ID1)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1282">
- <match key="usb.product_id" int="13194">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Acer Iconia TAB A510 (ID2)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1282">
- <match key="usb.product_id" int="13176">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Acer Iconia TAB A700</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1282">
- <match key="usb.product_id" int="13588">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Acer Liquid E2</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1282">
- <match key="usb.product_id" int="13736">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Acer Liquid E3</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1282">
- <match key="usb.product_id" int="13892">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Acer liquid e700</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1282">
- <match key="usb.product_id" int="14117">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Acer Liquid S56</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1282">
- <match key="usb.product_id" int="13833">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Acer Liquid X1</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1282">
- <match key="usb.product_id" int="13427">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Acer Liquid Z120 MT65xx Android Phone</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1282">
- <match key="usb.product_id" int="13663">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Acer Liquid Z130 MT65xx Android Phone</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1282">
- <match key="usb.product_id" int="13911">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Acer One 7</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1282">
- <match key="usb.product_id" int="13226">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Acer S500 CloudMobile</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1282">
- <match key="usb.product_id" int="13796">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Acer Z150</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1282">
- <match key="usb.product_id" int="13853">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Acer Z160</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="5845">
- <match key="usb.product_id" int="32774">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Acromag Inc. XO Learning Tablet (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="5845">
- <match key="usb.product_id" int="32773">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Acromag Inc. XO Learning Tablet (MTP+ADB)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1363">
- <match key="usb.product_id" int="514">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">AEG Snap 300</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1725">
- <match key="usb.product_id" int="1027">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Agfa ePhoto CL18</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1725">
- <match key="usb.product_id" int="1028">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Agfa ePhoto CL20</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1276">
- <match key="usb.product_id" int="20555">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Aiptek 1.3 mega PocketCam</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1363">
- <match key="usb.product_id" int="514">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Aiptek PalmCam Trio</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1276">
- <match key="usb.product_id" int="20554">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Aiptek Pencam</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1363">
- <match key="usb.product_id" int="514">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Aiptek PenCam Trio</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2250">
- <match key="usb.product_id" int="273">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Aiptek PenCam VGA+</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1276">
- <match key="usb.product_id" int="20554">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Aiptek Pencam without flash</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1276">
- <match key="usb.product_id" int="20555">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Aiptek Smart Megacam</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="7099">
- <match key="usb.product_id" int="360">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Alcatel 6030a</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="7099">
- <match key="usb.product_id" int="8200">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Alcatel One Touch 997D (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="7099">
- <match key="usb.product_id" int="3074">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Alcatel One Touch 997D (MTP+ADB)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="7099">
- <match key="usb.product_id" int="40974">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Alcatel OneTouch 5042D (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="7099">
- <match key="usb.product_id" int="61443">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Alcatel OneTouch 6034R</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="7099">
- <match key="usb.product_id" int="36941">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Alcatel/Bouygues BS472</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="7099">
- <match key="usb.product_id" int="359">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Alcatel/TCT 6010D/TCL S950</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2425">
- <match key="usb.product_id" int="551">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Amazing Spiderman</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6473">
- <match key="usb.product_id" int="2048">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Amazon Fire Phone</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6473">
- <match key="usb.product_id" int="7">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Amazon Kindle Fire (ID1)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6473">
- <match key="usb.product_id" int="8">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Amazon Kindle Fire (ID2)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6473">
- <match key="usb.product_id" int="10">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Amazon Kindle Fire (ID3)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6473">
- <match key="usb.product_id" int="12">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Amazon Kindle Fire (ID4)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6473">
- <match key="usb.product_id" int="18">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Amazon Kindle Fire (ID5)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6473">
- <match key="usb.product_id" int="11">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Amazon Kindle Fire (ID6)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6473">
- <match key="usb.product_id" int="13">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Amazon Kindle Fire (ID7)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6473">
- <match key="usb.product_id" int="5">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Amazon Kindle Fire 2G (ID1)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6473">
- <match key="usb.product_id" int="242">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Amazon Kindle Fire HD6</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2425">
- <match key="usb.product_id" int="548">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">American Idol Keychain Camera</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1452">
- <match key="usb.product_id" int="4762">
- <match key="usb.interface.class" int="6">
- <match key="usb.interface.subclass" int="1">
- <match key="usb.interface.protocol" int="1">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Apple iPad (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- </match>
- </match>
- </match>
- <match key="usb.vendor_id" int="1452">
- <match key="usb.product_id" int="4779">
- <match key="usb.interface.class" int="6">
- <match key="usb.interface.subclass" int="1">
- <match key="usb.interface.protocol" int="1">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Apple iPad Air</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- </match>
- </match>
- </match>
- <match key="usb.vendor_id" int="1452">
- <match key="usb.product_id" int="4752">
- <match key="usb.interface.class" int="6">
- <match key="usb.interface.subclass" int="1">
- <match key="usb.interface.protocol" int="1">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Apple iPhone (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- </match>
- </match>
- </match>
- <match key="usb.vendor_id" int="1452">
- <match key="usb.product_id" int="4754">
- <match key="usb.interface.class" int="6">
- <match key="usb.interface.subclass" int="1">
- <match key="usb.interface.protocol" int="1">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Apple iPhone 3G (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- </match>
- </match>
- </match>
- <match key="usb.vendor_id" int="1452">
- <match key="usb.product_id" int="4756">
- <match key="usb.interface.class" int="6">
- <match key="usb.interface.subclass" int="1">
- <match key="usb.interface.protocol" int="1">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Apple iPhone 3GS (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- </match>
- </match>
- </match>
- <match key="usb.vendor_id" int="1452">
- <match key="usb.product_id" int="4759">
- <match key="usb.interface.class" int="6">
- <match key="usb.interface.subclass" int="1">
- <match key="usb.interface.protocol" int="1">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Apple iPhone 4 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- </match>
- </match>
- </match>
- <match key="usb.vendor_id" int="1452">
- <match key="usb.product_id" int="4768">
- <match key="usb.interface.class" int="6">
- <match key="usb.interface.subclass" int="1">
- <match key="usb.interface.protocol" int="1">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Apple iPhone 4S (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- </match>
- </match>
- </match>
- <match key="usb.vendor_id" int="1452">
- <match key="usb.product_id" int="4776">
- <match key="usb.interface.class" int="6">
- <match key="usb.interface.subclass" int="1">
- <match key="usb.interface.protocol" int="1">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Apple iPhone 5 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- </match>
- </match>
- </match>
- <match key="usb.vendor_id" int="1452">
- <match key="usb.product_id" int="4753">
- <match key="usb.interface.class" int="6">
- <match key="usb.interface.subclass" int="1">
- <match key="usb.interface.protocol" int="1">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Apple iPod Touch (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- </match>
- </match>
- </match>
- <match key="usb.vendor_id" int="1452">
- <match key="usb.product_id" int="4755">
- <match key="usb.interface.class" int="6">
- <match key="usb.interface.subclass" int="1">
- <match key="usb.interface.protocol" int="1">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Apple iPod Touch 2G (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- </match>
- </match>
- </match>
- <match key="usb.vendor_id" int="1452">
- <match key="usb.product_id" int="4761">
- <match key="usb.interface.class" int="6">
- <match key="usb.interface.subclass" int="1">
- <match key="usb.interface.protocol" int="1">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Apple iPod Touch 3rd Gen (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- </match>
- </match>
- </match>
- <match key="usb.vendor_id" int="3705">
- <match key="usb.product_id" int="20488">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Archos (for Tesco) Hudl (ID1)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3705">
- <match key="usb.product_id" int="20489">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Archos (for Tesco) Hudl (ID2)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3705">
- <match key="usb.product_id" int="16386">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Archos 101 G4</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3705">
- <match key="usb.product_id" int="5416">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Archos 101 G9 (ID1)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3705">
- <match key="usb.product_id" int="5417">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Archos 101 G9 (ID2)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3705">
- <match key="usb.product_id" int="5433">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Archos 101 G9 Turbo</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3705">
- <match key="usb.product_id" int="5432">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Archos 101 G9 Turbo 250 HD</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3705">
- <match key="usb.product_id" int="5305">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Archos 101 Titanium</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3705">
- <match key="usb.product_id" int="5448">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Archos 101 XS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3705">
- <match key="usb.product_id" int="4618">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Archos 104 (MTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3705">
- <match key="usb.product_id" int="4893">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Archos 105 (MTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3705">
- <match key="usb.product_id" int="4620">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Archos 204 (MTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3705">
- <match key="usb.product_id" int="4865">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Archos 404 (MTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3705">
- <match key="usb.product_id" int="4867">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Archos 404CAM (MTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3705">
- <match key="usb.product_id" int="4881">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Archos 405 (MTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3705">
- <match key="usb.product_id" int="4897">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Archos 405HDD (MTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3705">
- <match key="usb.product_id" int="12787">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Archos 45 Neon</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3705">
- <match key="usb.product_id" int="4913">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Archos 5 (MTP mode 1)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3705">
- <match key="usb.product_id" int="4915">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Archos 5 (MTP mode 2)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3705">
- <match key="usb.product_id" int="12841">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Archos 50 Diamond</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3705">
- <match key="usb.product_id" int="4871">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Archos 504 (MTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3705">
- <match key="usb.product_id" int="8200">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Archos 50c</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3705">
- <match key="usb.product_id" int="4951">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Archos 5H IT (MTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3705">
- <match key="usb.product_id" int="4945">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Archos 5S IT (MTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3705">
- <match key="usb.product_id" int="4873">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Archos 604 (MTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3705">
- <match key="usb.product_id" int="4875">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Archos 604WIFI (MTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3705">
- <match key="usb.product_id" int="4883">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Archos 605 (MTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3705">
- <match key="usb.product_id" int="4885">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Archos 605F (MTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3705">
- <match key="usb.product_id" int="4917">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Archos 7 (MTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3705">
- <match key="usb.product_id" int="4877">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Archos 704 mobile dvr</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3705">
- <match key="usb.product_id" int="4879">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Archos 704TV (MTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3705">
- <match key="usb.product_id" int="4889">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Archos 705 (MTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3705">
- <match key="usb.product_id" int="5359">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Archos 70b Titanium</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3705">
- <match key="usb.product_id" int="5480">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Archos 70it2 (ID 1)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3705">
- <match key="usb.product_id" int="5481">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Archos 70it2 (ID 2)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3705">
- <match key="usb.product_id" int="5311">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Archos 80 Titanium</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3705">
- <match key="usb.product_id" int="5400">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Archos 80G9</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3705">
- <match key="usb.product_id" int="5384">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Archos 8o G9 (MTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3705">
- <match key="usb.product_id" int="5385">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Archos 8o G9 Turbo (MTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3705">
- <match key="usb.product_id" int="5293">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Archos 97 Titanium</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3705">
- <match key="usb.product_id" int="5274">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Archos 97 Xenon</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3705">
- <match key="usb.product_id" int="5227">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Archos Arnova 10bG3 Tablet</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3705">
- <match key="usb.product_id" int="5214">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Archos Arnova 8c G3</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3705">
- <match key="usb.product_id" int="5208">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Archos Arnova Childpad</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3705">
- <match key="usb.product_id" int="12715">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Archos C40</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3705">
- <match key="usb.product_id" int="4615">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Archos Gmini XS100</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3705">
- <match key="usb.product_id" int="4929">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Archos SPOD (MTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3705">
- <match key="usb.product_id" int="4891">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Archos TV+ (MTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3705">
- <match key="usb.product_id" int="4616">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Archos XS202 (MTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2425">
- <match key="usb.product_id" int="551">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Argus Bean Sprout</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1363">
- <match key="usb.product_id" int="514">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Argus DC-1500</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10096">
- <match key="usb.product_id" int="37152">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Argus DC-1510</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2362">
- <match key="usb.product_id" int="271">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Argus DC-1610</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2362">
- <match key="usb.product_id" int="271">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Argus DC-1620</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10096">
- <match key="usb.product_id" int="37180">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Argus DC-1730</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2329">
- <match key="usb.product_id" int="256">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Argus DC-2200</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2425">
- <match key="usb.product_id" int="551">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Argus DC1512e</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2362">
- <match key="usb.product_id" int="271">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Argus QuickClix</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2425">
- <match key="usb.product_id" int="551">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Aries ATC-0017</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10096">
- <match key="usb.product_id" int="36956">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Aries Digital Keychain Camera, I</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="23055">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus A450CG (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="19680">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus Asus Fonepad Note 6 (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="19681">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus Asus Fonepad Note 6 (MTP+ADB)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="20815">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus Fonepad</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="30579">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus Fonepad 7 (FE375CXG)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="21519">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus Fonepad 7 LTE ME372CL (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="21535">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus Fonepad 7 LTE ME372CL (MTP+ADB)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="21775">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus K00E (MTP+ADB)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="21760">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus K010 (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="19664">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus ME301T MeMo Pad Smart 10 (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="19665">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus ME301T MeMo Pad Smart 10 (MTP+ADB)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="21023">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus ME302C MemoPad (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="21007">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus ME302C MemoPad (MTP+?)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="19648">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus ME302KL MeMo Pad FHD10 (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="19649">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus ME302KL MeMo Pad FHD10 (MTP+ADB)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="21600">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus Memo K00F (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="21608">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus Memo K00F (MTP+ADB)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="21504">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus Memo ME172V (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="21520">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus Memo ME173X (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="21521">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus Memo ME173X (MTP+ADB)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="21606">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus Memo Pad 8 (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="30578">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus MemoPad 7 (ME572CL)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="21766">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus MemoPad 7 (MTP+ADB)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="21857">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus MemoPad 8 ME181 CX (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="20992">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus PadFone (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="20993">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus PadFone (MTP+ADB)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="21008">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus PadFone 2 (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="21009">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus PadFone 2 (MTP+ADB)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="21012">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus PadFone 2 (PTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="21024">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus PadFone Infinity (2nd ID) (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="21025">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus PadFone Infinity (2nd ID) (MTP+ADB)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="21040">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus PadFone Infinity (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="21041">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus PadFone Infinity (MTP+ADB)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="19968">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus SL101 (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="19969">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus SL101 (MTP+ADB)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="19983">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus TF101 Eeepad Transformer (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="19999">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus TF101 Eeepad Transformer (MTP+ADB)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="19712">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus TF201 Transformer Prime (keyboard dock)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="19713">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus TF201 Transformer Prime (tablet only)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="19584">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus TF300 Transformer (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="19585">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus TF300 Transformer (MTP+ADB)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="19600">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus TF700 Transformer (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="19601">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus TF700 Transformer (MTP+ADB)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="19616">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus TF701T Transformer Pad (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="19617">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus TF701T Transformer Pad (MTP+ADB)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="22047">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus TX201LA (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="24322">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus Zenfone 2 ZE550ML (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="22543">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus ZenFone 4 (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="22559">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus ZenFone 4 A400CG (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="21632">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus ZenFone 5 (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="21633">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus ZenFone 5 (MTP+ADB)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="30593">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus ZenFone 5 A500KL (MTP+ADB)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="21648">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus ZenFone 6 (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2821">
- <match key="usb.product_id" int="21649">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Asus ZenFone 6 (MTP+ADB)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10096">
- <match key="usb.product_id" int="36945">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Barbie Camera (Digital Blue)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="8320">
- <match key="usb.product_id" int="6">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Barnes&amp;Noble Nook HD</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="8320">
- <match key="usb.product_id" int="5">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Barnes&amp;Noble Nook HD+</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1189">
- <match key="usb.product_id" int="12291">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Benq DC1300</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="7493">
- <match key="usb.product_id" int="17821">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">BenQ F5</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10823">
- <match key="usb.product_id" int="32528">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">bq Aquarius E5-4G</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10823">
- <match key="usb.product_id" int="8200">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">bq Krillin (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10823">
- <match key="usb.product_id" int="3074">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">bq Krillin (MTP+ADB)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12359">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12738">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 100 IS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12733">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 110 IS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12774">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 120 IS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12787">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 130</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12904">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 255HS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12480">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 30 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12365">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 300</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12791">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 300 HS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12390">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 330</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12479">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 40 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12405">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 400 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12474">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 430 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12558">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 50 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12468">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 500 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12543">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 55 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12572">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 60 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12542">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 65 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12623">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 70 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12530">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 700 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12622">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 75 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12566">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 750 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12676">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 80 IS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12569">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 800 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12660">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 85 IS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12598">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 850 IS (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12640">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 860 IS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12660">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 90 IS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12565">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 900Ti (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12740">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 95 IS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12619">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 950 IS (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12639">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 960 IS (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12659">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 970 IS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12691">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 980 IS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12737">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 990 IS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12443">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS i (normal mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12443">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS i (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12484">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS i5 (normal mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12402">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS II (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12470">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS IIs (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12532">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS iZ (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12370">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS v</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12389">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS v2</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12400">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS v3 (normal mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12401">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS v3 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12529">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS Wireless (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12526">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Digital Rebel XT (normal mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12394">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Digital unknown 3</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12424">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Elura 50 (normal mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12423">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Elura 50 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12453">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Elura 65 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12667">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon EOS 1000D</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12912">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon EOS 100D</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12419">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon EOS 10D</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12476">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon EOS 10D (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12823">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon EOS 1100D</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12927">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon EOS 1200D</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12522">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon EOS 1D Mark II (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12615">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon EOS 1D Mark III (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12752">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon EOS 1D Mark IV</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12825">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon EOS 1D X</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12523">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon EOS 20D (normal mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12524">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon EOS 20D (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12420">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon EOS 300D (normal mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12441">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon EOS 300D (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12563">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon EOS 30D (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12527">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon EOS 350D</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12526">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon EOS 350D (normal mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12526">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon EOS 350D (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12560">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon EOS 400D (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12614">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon EOS 40D (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12613">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon EOS 450D (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12751">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon EOS 500D</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12699">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon EOS 50D</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12778">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon EOS 550D</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12545">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon EOS 5D (normal mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12546">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon EOS 5D (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12697">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon EOS 5D Mark II</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12858">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon EOS 5D Mark III</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12824">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon EOS 600D</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12821">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon EOS 60D</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12859">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon EOS 650D</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12880">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon EOS 6D</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12914">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon EOS 700D</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12883">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon EOS 70D</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12698">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon EOS 7D</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12911">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon EOS 7D MarkII</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12356">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon EOS D30</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12384">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon EOS D60</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12420">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon EOS Digital Rebel (normal mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12441">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon EOS Digital Rebel (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12560">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon EOS Digital Rebel XTi (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12420">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon EOS Kiss Digital (normal mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12441">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon EOS Kiss Digital (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12526">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon EOS Kiss Digital N (normal mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12560">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon EOS Kiss Digital X (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12613">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon EOS Kiss X2 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12751">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon EOS Kiss X3</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12861">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon EOS M</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12953">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon EOS M3</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12751">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon EOS Rebel T1i</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12613">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon EOS Rebel XSi (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12430">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon FV M1 (normal mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12865">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon IXUS 125HS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12969">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon IXUS 165</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12837">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon IXUS 310IS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12774">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon IXY 220 IS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12691">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon IXY 3000 IS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12358">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon IXY DIGITAL</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12363">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon IXY DIGITAL 300</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12484">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon IXY Digital L2 (normal mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12395">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon IXY DV M</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12438">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon IXY DV M2 (normal mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12412">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon MV630i (normal mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12410">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon MV650i (normal mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12448">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon MV750i (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12438">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon MVX 10i (normal mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12430">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon MVX 3i (normal mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12417">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon MVX100i</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12416">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon MVX150i (normal mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12457">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon MVX25i (normal mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12395">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon MVX2i</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12429">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon MVX3i (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12418">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Optura 10</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12415">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Optura 20</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12416">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Optura 20 (normal mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12395">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Optura 200 MC</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12438">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Optura 300 (normal mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12457">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Optura 40 (normal mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12549">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Optura 600 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12430">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Optura Xi (normal mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12367">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A10</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12385">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A100</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12686">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A1000 IS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12739">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A1100 IS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12862">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A1300IS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12900">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A1400</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12366">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A20</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12386">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A200</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12689">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A2000 IS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12734">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A2100 IS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12842">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A2200</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12874">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A2300IS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12873">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A2400IS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12913">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A2500</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12898">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A2600</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12377">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A30</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12406">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A300 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12786">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A3000 IS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12472">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A310 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12785">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A3100 IS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12897">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A3500IS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12376">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A40</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12471">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A400 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12867">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A4000IS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12537">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A410 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12559">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A420 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12536">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A430 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12629">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A450 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12617">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A460 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12666">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A470</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12735">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A480</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12783">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Powershot A495</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12482">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A510 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12481">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A520 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12582">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A530 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12571">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A540 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12624">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A550 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12621">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A560 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12620">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A570 IS (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12663">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A580</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12662">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A590 IS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12404">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A60 (PTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12541">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A610 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12540">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A620 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12602">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A630 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12601">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A640 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12635">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A650IS (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12403">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A70 (PTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12567">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A700 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12600">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A710 IS (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12637">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A720 IS (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12469">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A75 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12442">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A80 (PTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12838">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A800</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12863">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A810</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12473">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A85 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12475">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A95 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12732">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot D10</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12936">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot Elph135</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12937">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot Elph340HS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12360">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot G1</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12851">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot G1 X</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12687">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot G10</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12767">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot G11</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12888">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot G15</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12373">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot G2</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12398">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot G3 (normal mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12399">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot G3 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12421">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot G5 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12467">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Powershot G6 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12581">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot G7 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12634">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot G9 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12443">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot IXY Digital L (normal mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12361">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot Pro90 IS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12444">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot S1 IS (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12353">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot S10</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12854">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot S100</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12357">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot S100 (2000)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12369">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot S110 (2001)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12891">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot S110 (PTP Mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12917">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot S120</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12528">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot S2 IS (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12355">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot S20</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12389">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot S200</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12400">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot S230 (normal mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12401">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot S230 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12570">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot S3 IS (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12375">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot S30</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12364">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot S300</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12390">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot S330</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12374">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot S40</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12405">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot S400 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12474">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot S410 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12396">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot S45 (normal mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12397">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot S45 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12616">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot S5 IS (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12407">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot S50 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12468">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot S500 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12466">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Powershot S60 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12465">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Powershot S70 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12538">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot S80 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12818">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot S95</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12443">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SD10 Digital ELPH (normal mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12402">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SD100 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12623">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SD1000 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12470">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SD110 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12676">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Powershot SD1100 IS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12740">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Powershot SD1200 IS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12788">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SD1300 IS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12484">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SD20 (normal mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12480">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SD200 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12599">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SD40 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12529">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SD430 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12543">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SD450 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12530">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SD500 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12572">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SD600 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12542">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SD630 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12569">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SD700 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12622">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SD750 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12661">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SD770 IS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12738">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SD780 IS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12660">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Powershot SD790 IS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12619">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SD850 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12694">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SD880 IS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12565">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SD900 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12774">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SD940 IS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12737">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SD970 IS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12691">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SD990</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12685">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SX10 IS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12638">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Powershot SX100 IS (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12690">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SX110 IS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12768">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SX120 IS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12817">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SX130 IS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12852">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SX150 IS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12890">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SX160IS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12918">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SX170 IS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12772">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SX20 IS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12736">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SX200 IS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12790">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SX210 IS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12844">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SX220HS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12840">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SX230HS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12869">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SX240HS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12868">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SX260HS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12895">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SX280HS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12856">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SX40HS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12892">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SX500IS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12919">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SX510 HS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12955">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SX520 HS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12368">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot unknown 1</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12380">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon PowerShot unknown 2</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12778">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Rebel T2i</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12823">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Rebel T3</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12859">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon Rebel T4i</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1193">
- <match key="usb.product_id" int="12408">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Canon ZR70MC (normal mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1999">
- <match key="usb.product_id" int="4169">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Casio EX-S770</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1999">
- <match key="usb.product_id" int="4162">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Casio EX-Z120</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1999">
- <match key="usb.product_id" int="4173">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Casio EX-Z65</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1999">
- <match key="usb.product_id" int="4172">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Casio EX-Z700</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1999">
- <match key="usb.product_id" int="4474">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Casio EX-ZR700</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1375">
- <match key="usb.product_id" int="49664">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Casio LV 10</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1207">
- <match key="usb.product_id" int="34985">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Caterpillar Cat S50</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10096">
- <match key="usb.product_id" int="37152">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Che-ez Snap</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10096">
- <match key="usb.product_id" int="36956">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Che-Ez Snap SNAP-U</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1363">
- <match key="usb.product_id" int="514">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Che-ez! Babe</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1363">
- <match key="usb.product_id" int="4098">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Che-ez! Splash</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1363">
- <match key="usb.product_id" int="514">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Che-ez! SPYZ</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1943">
- <match key="usb.product_id" int="32769">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Clever CAM 360</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2425">
- <match key="usb.product_id" int="548">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Cobra DC125</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10096">
- <match key="usb.product_id" int="36956">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Cobra Digital Camera DC150</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="7796">
- <match key="usb.product_id" int="25874">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Coby COBY MP705</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="7763">
- <match key="usb.product_id" int="5">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Conceptronic CMTD2</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10096">
- <match key="usb.product_id" int="37152">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Concord Eye-Q Duo</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10096">
- <match key="usb.product_id" int="37152">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Concord Eye-Q Easy</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3478">
- <match key="usb.product_id" int="16640">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Concord EyeQ 4330</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1000">
- <match key="usb.product_id" int="8578">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Concord EyeQMini_1</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1000">
- <match key="usb.product_id" int="8576">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Concord EyeQMini_2</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2329">
- <match key="usb.product_id" int="256">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">CoolCam CP086</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3617">
- <match key="usb.product_id" int="2386">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Cowon iAudio 10 (MTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3617">
- <match key="usb.product_id" int="1809">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Cowon iAudio 6 (MTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3617">
- <match key="usb.product_id" int="1873">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Cowon iAudio 7 (MTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3617">
- <match key="usb.product_id" int="2321">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Cowon iAudio 9 (MTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3617">
- <match key="usb.product_id" int="2369">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Cowon iAudio C2 (MTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3617">
- <match key="usb.product_id" int="2049">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Cowon iAudio D2 (MTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3617">
- <match key="usb.product_id" int="2161">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Cowon iAudio D2+ DAB FW 4.x (MTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3617">
- <match key="usb.product_id" int="2193">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Cowon iAudio D2+ DMB FW 1.x (MTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3617">
- <match key="usb.product_id" int="2145">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Cowon iAudio D2+ FW 2.x (MTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3617">
- <match key="usb.product_id" int="2177">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Cowon iAudio D2+ FW 3.x (MTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3617">
- <match key="usb.product_id" int="2337">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Cowon iAudio J3 (MTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3617">
- <match key="usb.product_id" int="2305">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Cowon iAudio S9 (MTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3617">
- <match key="usb.product_id" int="1793">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Cowon iAudio U3 (MTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3617">
- <match key="usb.product_id" int="1889">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Cowon iAudio U5 (MTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3617">
- <match key="usb.product_id" int="2353">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Cowon iAudio X7 (MTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1054">
- <match key="usb.product_id" int="16406">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Creative CardCam</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1054">
- <match key="usb.product_id" int="16391">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Creative Go Mini</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1054">
- <match key="usb.product_id" int="16394">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Creative PC-CAM 300</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1054">
- <match key="usb.product_id" int="16402">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Creative PC-CAM350</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1054">
- <match key="usb.product_id" int="16395">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Creative PC-CAM600</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1054">
- <match key="usb.product_id" int="16403">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Creative PC-CAM750</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1054">
- <match key="usb.product_id" int="16675">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Creative Portable Media Center</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1054">
- <match key="usb.product_id" int="16727">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Creative ZEN</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1054">
- <match key="usb.product_id" int="16688">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Creative ZEN Micro (MTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1054">
- <match key="usb.product_id" int="16700">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Creative ZEN MicroPhoto</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1054">
- <match key="usb.product_id" int="16691">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Creative ZEN MicroPhoto (alternate version)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1054">
- <match key="usb.product_id" int="16737">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Creative ZEN Mozaic</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1054">
- <match key="usb.product_id" int="16695">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Creative ZEN Sleek (MTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1054">
- <match key="usb.product_id" int="16701">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Creative ZEN Sleek Photo</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1054">
- <match key="usb.product_id" int="16689">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Creative ZEN Touch (MTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1054">
- <match key="usb.product_id" int="16720">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Creative ZEN V</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1054">
- <match key="usb.product_id" int="16728">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Creative ZEN V 2GB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1054">
- <match key="usb.product_id" int="16722">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Creative ZEN V Plus</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1054">
- <match key="usb.product_id" int="16671">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Creative ZEN Vision</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1054">
- <match key="usb.product_id" int="16723">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Creative ZEN Vision W</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1054">
- <match key="usb.product_id" int="16702">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Creative ZEN Vision:M</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1054">
- <match key="usb.product_id" int="16721">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Creative ZEN Vision:M (DVP-HD0004)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1054">
- <match key="usb.product_id" int="16738">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Creative ZEN X-Fi</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1054">
- <match key="usb.product_id" int="16745">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Creative ZEN X-Fi 3</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1054">
- <match key="usb.product_id" int="16680">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Creative ZEN Xtra (MTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4204">
- <match key="usb.product_id" int="12821">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Curitel Communications, Inc. Verizon Wireless Device</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2125">
- <match key="usb.product_id" int="3">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">D-Link DSC 350+</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3428">
- <match key="usb.product_id" int="4129">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">D-Link DSC 350F</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1000">
- <match key="usb.product_id" int="8496">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">D-MAX DM3588</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10096">
- <match key="usb.product_id" int="36956">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">DC-N130t</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10096">
- <match key="usb.product_id" int="37152">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">DC-N130ta</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3141">
- <match key="usb.product_id" int="32768">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">DC31VC</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1054">
- <match key="usb.product_id" int="16690">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Dell Dell Pocket DJ (MTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1054">
- <match key="usb.product_id" int="16687">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Dell DJ (2nd generation)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="16700">
- <match key="usb.product_id" int="45323">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Dell Inc Dell Streak 7</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="16700">
- <match key="usb.product_id" int="45338">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Dell Inc Dell Venue 7 inch</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="16700">
- <match key="usb.product_id" int="45339">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Dell Inc Dell Venue 7 inch (2nd ID)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="16700">
- <match key="usb.product_id" int="17664">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Dell Inc DJ Itty</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10096">
- <match key="usb.product_id" int="36956">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Digigr8</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="7994">
- <match key="usb.product_id" int="3074">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">DigiLand DL701Q</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2362">
- <match key="usb.product_id" int="270">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Digital camera, CD302N</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2425">
- <match key="usb.product_id" int="551">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">DIGITAL MID#0020509 (no-name camera)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1498">
- <match key="usb.product_id" int="4120">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">DigitalDream Enigma1.3</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1363">
- <match key="usb.product_id" int="514">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">DigitalDream l'elegante</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2329">
- <match key="usb.product_id" int="256">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">DigitalDream l'elite</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1363">
- <match key="usb.product_id" int="514">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">DigitalDream l'espion</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4483">
- <match key="usb.product_id" int="1">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">DigitalDream l'espion XS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1498">
- <match key="usb.product_id" int="4128">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">DigitalDream l'espion xtra</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1363">
- <match key="usb.product_id" int="514">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">DigitalDream l'esprit</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1363">
- <match key="usb.product_id" int="514">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">DigitalDream la ronde</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2726">
- <match key="usb.product_id" int="24609">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Disney MixMax</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10096">
- <match key="usb.product_id" int="36944">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Disney pix micro</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10096">
- <match key="usb.product_id" int="36946">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Disney pix micro 2</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4310">
- <match key="usb.product_id" int="8704">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Dunlop MP3 player 1GB / EGOMAN MD223AFD</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2362">
- <match key="usb.product_id" int="270">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Elta Medi@ digi-cam</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2362">
- <match key="usb.product_id" int="271">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Emprex PCD3600</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1208">
- <match key="usb.product_id" int="1027">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Epson PhotoPC 3000z</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1208">
- <match key="usb.product_id" int="1026">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Epson PhotoPC 850z</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10608">
- <match key="usb.product_id" int="8200">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Fly Evo Tech 4</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10608">
- <match key="usb.product_id" int="3074">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Fly iq4415 era style 3</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6018">
- <match key="usb.product_id" int="16385">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Fly iq449</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1747">
- <match key="usb.product_id" int="8634">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">FOMA D905i</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3530">
- <match key="usb.product_id" int="2">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Fuji Axia Eyeplate</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3530">
- <match key="usb.product_id" int="2">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Fuji Axia Slimshot</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1227">
- <match key="usb.product_id" int="330">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Fuji FinePix A330</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1227">
- <match key="usb.product_id" int="466">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Fuji FinePix A800</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1227">
- <match key="usb.product_id" int="454">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Fuji FinePix A820</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1227">
- <match key="usb.product_id" int="467">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Fuji FinePix A920</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1227">
- <match key="usb.product_id" int="539">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Fuji FinePix AV-150</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1227">
- <match key="usb.product_id" int="403">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Fuji FinePix E900</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1227">
- <match key="usb.product_id" int="480">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Fuji FinePix F100fd</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1227">
- <match key="usb.product_id" int="448">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Fuji FinePix F20</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1227">
- <match key="usb.product_id" int="484">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Fuji FinePix F200 EXR</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1227">
- <match key="usb.product_id" int="411">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Fuji FinePix F30</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1227">
- <match key="usb.product_id" int="449">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Fuji FinePix F31fd</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1227">
- <match key="usb.product_id" int="453">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Fuji FinePix F40fd</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1227">
- <match key="usb.product_id" int="468">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Fuji FinePix F50fd</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1227">
- <match key="usb.product_id" int="486">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Fuji FinePix F60fd</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1227">
- <match key="usb.product_id" int="506">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Fuji FinePix F70 EXR</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1227">
- <match key="usb.product_id" int="526">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Fuji FinePix F80EXR</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1227">
- <match key="usb.product_id" int="557">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Fuji FinePix H20EXR</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1227">
- <match key="usb.product_id" int="625">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Fuji FinePix HS30EXR</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1227">
- <match key="usb.product_id" int="592">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Fuji FinePix JX370</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1227">
- <match key="usb.product_id" int="477">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Fuji FinePix S1000fd</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1227">
- <match key="usb.product_id" int="475">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Fuji FinePix S100fs</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1227">
- <match key="usb.product_id" int="495">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Fuji FinePix S1500</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1227">
- <match key="usb.product_id" int="512">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Fuji FinePix S1800</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1227">
- <match key="usb.product_id" int="488">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Fuji FinePix S2000HD</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1227">
- <match key="usb.product_id" int="521">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Fuji FinePix S2500HD</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1227">
- <match key="usb.product_id" int="576">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Fuji FinePix S2950</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1227">
- <match key="usb.product_id" int="637">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Fuji FinePix S2980</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1227">
- <match key="usb.product_id" int="613">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Fuji FinePix S4300</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1227">
- <match key="usb.product_id" int="664">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Fuji FinePix S4850</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1227">
- <match key="usb.product_id" int="452">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Fuji FinePix S5700</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1227">
- <match key="usb.product_id" int="471">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Fuji FinePix S5800</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1227">
- <match key="usb.product_id" int="447">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Fuji FinePix S6500fd</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1227">
- <match key="usb.product_id" int="322">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Fuji FinePix S7000</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1227">
- <match key="usb.product_id" int="399">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Fuji FinePix S9500</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1227">
- <match key="usb.product_id" int="668">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Fuji FinePix SL1000</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1227">
- <match key="usb.product_id" int="563">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Fuji FinePix T200</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1227">
- <match key="usb.product_id" int="622">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Fuji FinePix X-S1</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1227">
- <match key="usb.product_id" int="611">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Fuji FinePix X10</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1227">
- <match key="usb.product_id" int="678">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Fuji FinePix X20</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1227">
- <match key="usb.product_id" int="648">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Fuji FinePix XF1</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1227">
- <match key="usb.product_id" int="472">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Fuji FinePix Z100fd</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1227">
- <match key="usb.product_id" int="513">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Fuji FinePix Z35</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1227">
- <match key="usb.product_id" int="525">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Fuji FinePix Z700EXR</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1227">
- <match key="usb.product_id" int="510">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Fuji Fujifilm A220</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1227">
- <match key="usb.product_id" int="693">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Fuji Fujifilm X-E2</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1363">
- <match key="usb.product_id" int="514">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Fuji IX-1</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1227">
- <match key="usb.product_id" int="451">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Fuji S5 Pro</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2329">
- <match key="usb.product_id" int="256">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">FujiFilm @xia ix-100</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1221">
- <match key="usb.product_id" int="4416">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Fujitsu, Ltd F903iX HIGH-SPEED</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1221">
- <match key="usb.product_id" int="4923">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Fujitsu, Ltd STYLISTIC M532</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2334">
- <match key="usb.product_id" int="9605">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Garmin Monterra</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10096">
- <match key="usb.product_id" int="37152">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Gear to go</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2329">
- <match key="usb.product_id" int="256">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Generic SoundVision Clarity2</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1112">
- <match key="usb.product_id" int="28677">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Genius Smart 300, version 2</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1037">
- <match key="usb.product_id" int="34908">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Gensis GT-7305 </merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1044">
- <match key="usb.product_id" int="8200">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Gigabyte RCT6773W22 (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1044">
- <match key="usb.product_id" int="3074">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Gigabyte RCT6773W22 (MTP+ADB)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2425">
- <match key="usb.product_id" int="551">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Global Point 3 in 1 Digital Fun Graffiti 00044</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2425">
- <match key="usb.product_id" int="551">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Global Point Clipster</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10096">
- <match key="usb.product_id" int="37152">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Global Point Splash Mini (underwater camera)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6353">
- <match key="usb.product_id" int="7">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Google Inc (for Ainol Novo) Fire/Flame</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6353">
- <match key="usb.product_id" int="6">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Google Inc (for Allwinner) A31 SoC</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6353">
- <match key="usb.product_id" int="20033">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Google Inc (for Asus) Nexus 7 (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6353">
- <match key="usb.product_id" int="20034">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Google Inc (for Asus) Nexus 7 (MTP+ADB)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6353">
- <match key="usb.product_id" int="19983">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Google Inc (for Asus) TF101 Transformer</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6353">
- <match key="usb.product_id" int="19712">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Google Inc (for Asus) TF201 Transformer</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6353">
- <match key="usb.product_id" int="11522">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Google Inc (for Barnes &amp; Noble) Nook Color</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6353">
- <match key="usb.product_id" int="29706">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Google Inc (for Lenovo) Ideapad K1</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6353">
- <match key="usb.product_id" int="53514">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Google Inc (for LG Electronics) P990/Optimus</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6353">
- <match key="usb.product_id" int="53513">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Google Inc (for LG Electronics) P990/Optimus (Cyanogen)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6353">
- <match key="usb.product_id" int="20193">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Google Inc (for LG Electronics/Samsung) Nexus 4/5/7/10 (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6353">
- <match key="usb.product_id" int="20194">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Google Inc (for LG Electronics/Samsung) Nexus 4/5/7/10 (MTP+ADB)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6353">
- <match key="usb.product_id" int="45066">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Google Inc (for Medion) MD99000 (P9514)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6353">
- <match key="usb.product_id" int="28840">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Google Inc (for Motorola) Xoom (MZ604)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6353">
- <match key="usb.product_id" int="20005">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Google Inc (for Samsung) Nexus S (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6353">
- <match key="usb.product_id" int="20006">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Google Inc (for Samsung) Nexus S (MTP+ADB)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6353">
- <match key="usb.product_id" int="1459">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Google Inc (for Sony) S1</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6353">
- <match key="usb.product_id" int="28930">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Google Inc (for Toshiba) Thrive 7/AT105</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6353">
- <match key="usb.product_id" int="20197">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Google Nexus 5 (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="9842">
- <match key="usb.product_id" int="17">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">GoPro HERO3+</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1943">
- <match key="usb.product_id" int="32796">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">GrandTek ScopeCam</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10096">
- <match key="usb.product_id" int="37152">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">GTW Electronics</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4866">
- <match key="usb.product_id" int="4118">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Haier Ibiza Rhapsody 1</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4866">
- <match key="usb.product_id" int="4119">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Haier Ibiza Rhapsody 2</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2362">
- <match key="usb.product_id" int="270">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Haimei Electronics HE-501A</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1363">
- <match key="usb.product_id" int="514">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Hawking DC120 Pocketcam</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1008">
- <match key="usb.product_id" int="32285">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Hewlett-Packard Slate 10 HD</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1008">
- <match key="usb.product_id" int="23837">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Hewlett-Packard Slate 7 2800</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1008">
- <match key="usb.product_id" int="23581">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Hewlett-Packard Slate 7 4600</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4251">
- <match key="usb.product_id" int="37126">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Hisense E860 (ID1)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4251">
- <match key="usb.product_id" int="37129">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Hisense E860 (ID2)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4251">
- <match key="usb.product_id" int="37125">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">HiSense Sero 7 Pro</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1008">
- <match key="usb.product_id" int="25858">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 120 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1008">
- <match key="usb.product_id" int="25090">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 215</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1008">
- <match key="usb.product_id" int="31746">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 217 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1008">
- <match key="usb.product_id" int="32002">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 317 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1008">
- <match key="usb.product_id" int="25346">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 318 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1008">
- <match key="usb.product_id" int="26114">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 320 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1008">
- <match key="usb.product_id" int="29698">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 407 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1008">
- <match key="usb.product_id" int="30722">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 417 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1008">
- <match key="usb.product_id" int="29186">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 43x (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1008">
- <match key="usb.product_id" int="28162">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 507 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1008">
- <match key="usb.product_id" int="30978">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 517 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1008">
- <match key="usb.product_id" int="27906">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 607 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1008">
- <match key="usb.product_id" int="25346">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 612 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1008">
- <match key="usb.product_id" int="16642">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 618</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1008">
- <match key="usb.product_id" int="26626">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 620 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1008">
- <match key="usb.product_id" int="28930">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 635 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1008">
- <match key="usb.product_id" int="27394">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 707 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1008">
- <match key="usb.product_id" int="25602">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 715 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1008">
- <match key="usb.product_id" int="30210">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 717 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1008">
- <match key="usb.product_id" int="26370">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 720 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1008">
- <match key="usb.product_id" int="27650">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 733 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1008">
- <match key="usb.product_id" int="27138">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 735 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1008">
- <match key="usb.product_id" int="16898">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 812 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1008">
- <match key="usb.product_id" int="30466">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 817 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1008">
- <match key="usb.product_id" int="32258">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 818 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1008">
- <match key="usb.product_id" int="17154">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 850 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1008">
- <match key="usb.product_id" int="16642">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 912</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1008">
- <match key="usb.product_id" int="17410">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 935 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1008">
- <match key="usb.product_id" int="17666">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 945 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1008">
- <match key="usb.product_id" int="16642">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart C500</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1008">
- <match key="usb.product_id" int="24578">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart C500 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="61443">
- <match key="usb.product_id" int="24578">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart C500 2</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1008">
- <match key="usb.product_id" int="35586">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart E327 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1008">
- <match key="usb.product_id" int="35842">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart E427 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1008">
- <match key="usb.product_id" int="29954">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart M22 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1008">
- <match key="usb.product_id" int="31490">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart M23 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1008">
- <match key="usb.product_id" int="29442">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart M307 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1008">
- <match key="usb.product_id" int="31234">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart M415 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1008">
- <match key="usb.product_id" int="32770">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart M425 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1008">
- <match key="usb.product_id" int="33026">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart M525 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1008">
- <match key="usb.product_id" int="33282">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart M527 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1008">
- <match key="usb.product_id" int="39682">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart M547 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1008">
- <match key="usb.product_id" int="33794">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart M725 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1008">
- <match key="usb.product_id" int="34050">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart M727 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1008">
- <match key="usb.product_id" int="38402">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart M737 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1008">
- <match key="usb.product_id" int="38658">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart R742 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1008">
- <match key="usb.product_id" int="34562">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart R927 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1008">
- <match key="usb.product_id" int="34818">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart R967 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2996">
- <match key="usb.product_id" int="26716">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">HTC (for Hewlett-Packard) HP Touchpad (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2996">
- <match key="usb.product_id" int="26720">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">HTC (for Hewlett-Packard) HP Touchpad (MTP+ADB)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2996">
- <match key="usb.product_id" int="3074">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">HTC Android Device ID1 (Zopo, HD2, Bird...)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2996">
- <match key="usb.product_id" int="8200">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">HTC Android Device ID2 (Zopo, HD2...)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2996">
- <match key="usb.product_id" int="3782">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">HTC Desire 310 (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2996">
- <match key="usb.product_id" int="3773">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">HTC Droid DNA (MTP+UMS)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2996">
- <match key="usb.product_id" int="3583">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">HTC Droid DNA (MTP+UMS+ADB)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2996">
- <match key="usb.product_id" int="3219">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">HTC EVO 4G LTE/One V (ID1)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2996">
- <match key="usb.product_id" int="3240">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">HTC EVO 4G LTE/One V (ID2)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2996">
- <match key="usb.product_id" int="3582">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">HTC HTC Butterfly (ID1)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2996">
- <match key="usb.product_id" int="3556">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">HTC HTC Butterfly X290d</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2996">
- <match key="usb.product_id" int="1533">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">HTC HTC Desire 510 (MTP+ADB)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2996">
- <match key="usb.product_id" int="3541">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">HTC HTC Desire X</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2996">
- <match key="usb.product_id" int="3633">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">HTC HTC Droid Incredible 4G LTE (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2996">
- <match key="usb.product_id" int="3634">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">HTC HTC Droid Incredible 4G LTE (MTP+ADB)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2996">
- <match key="usb.product_id" int="3573">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">HTC HTC Evo 4G LTE (ID1)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2996">
- <match key="usb.product_id" int="1966">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">HTC HTC One (HTC6500LVW)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2996">
- <match key="usb.product_id" int="3546">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">HTC HTC One (ID1)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2996">
- <match key="usb.product_id" int="3985">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">HTC HTC One (ID3)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2996">
- <match key="usb.product_id" int="3940">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">HTC HTC One (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2996">
- <match key="usb.product_id" int="3939">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">HTC HTC One (MTP+ADB)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2996">
- <match key="usb.product_id" int="3975">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">HTC HTC One (MTP+ADB+?)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2996">
- <match key="usb.product_id" int="3935">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">HTC HTC One (MTP+ADB+CDC)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2996">
- <match key="usb.product_id" int="3936">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">HTC HTC One (MTP+CDC)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2996">
- <match key="usb.product_id" int="3562">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">HTC HTC One (MTP+UMS+ADB)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2996">
- <match key="usb.product_id" int="3538">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">HTC HTC One 802w (ID1)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2996">
- <match key="usb.product_id" int="1994">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">HTC HTC One M8 (HTC6525LVW)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2996">
- <match key="usb.product_id" int="3877">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">HTC HTC One M8 (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2996">
- <match key="usb.product_id" int="1562">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">HTC HTC One M8 (MTP+ADB)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2996">
- <match key="usb.product_id" int="4020">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">HTC HTC One M8 (MTP+ADB+UMS)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2996">
- <match key="usb.product_id" int="4021">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">HTC HTC One M8 (MTP+UMS)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2996">
- <match key="usb.product_id" int="1995">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">HTC HTC One M8 (Verizon) (HTC6525LVW)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2996">
- <match key="usb.product_id" int="2009">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">HTC HTC One Remix (HTC6515LVW)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2996">
- <match key="usb.product_id" int="3308">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">HTC HTC One S (ID1)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2996">
- <match key="usb.product_id" int="3576">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">HTC HTC One S (ID2)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2996">
- <match key="usb.product_id" int="3577">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">HTC HTC One S (ID3)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2996">
- <match key="usb.product_id" int="3578">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">HTC HTC One X (ID1)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2996">
- <match key="usb.product_id" int="3579">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">HTC HTC One X (ID2)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2996">
- <match key="usb.product_id" int="3580">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">HTC HTC One X (ID3)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2996">
- <match key="usb.product_id" int="3581">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">HTC HTC One X (ID4)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2996">
- <match key="usb.product_id" int="2008">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">HTC HTC6515LVW/One Remix</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2996">
- <match key="usb.product_id" int="8210">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">HTC Motorola Razr D1</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2996">
- <match key="usb.product_id" int="1547">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">HTC One M8 Google Play Edition (MTP+ADB)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2996">
- <match key="usb.product_id" int="3533">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">HTC One Mini (ID1)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2996">
- <match key="usb.product_id" int="61642">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">HTC Windows Phone 8s ID1</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2996">
- <match key="usb.product_id" int="2977">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">HTC Windows Phone 8X ID1</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2996">
- <match key="usb.product_id" int="2978">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">HTC Windows Phone 8X ID2</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4817">
- <match key="usb.product_id" int="4226">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Huawei Ascend P8 </merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4817">
- <match key="usb.product_id" int="13839">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Huawei Mediapad (mode 0)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4817">
- <match key="usb.product_id" int="13855">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Huawei Mediapad (mode 1)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4817">
- <match key="usb.product_id" int="4177">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Huawei MTP device (ID1)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4817">
- <match key="usb.product_id" int="4178">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Huawei MTP device (ID2)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10096">
- <match key="usb.product_id" int="37203">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">iClick 5X</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10096">
- <match key="usb.product_id" int="37152">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">iConcepts digital camera</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1161">
- <match key="usb.product_id" int="49189">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">InFocus M810</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2362">
- <match key="usb.product_id" int="270">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">INNOVAGE Mini Digital, CD302N</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6655">
- <match key="usb.product_id" int="771">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Insignia NS-DV45</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6655">
- <match key="usb.product_id" int="777">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Insignia Pilot 4GB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6655">
- <match key="usb.product_id" int="775">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Insignia Sport Player</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="32903">
- <match key="usb.product_id" int="2655">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Intel Chuwi vi8</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="32903">
- <match key="usb.product_id" int="2581">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Intel Foxconn iView i700</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="32903">
- <match key="usb.product_id" int="2582">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Intel Noblex T7A21</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="32902">
- <match key="usb.product_id" int="1584">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Intel Pocket PC Camera</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="32903">
- <match key="usb.product_id" int="2654">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Intel Telcast Air 3G</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="32903">
- <match key="usb.product_id" int="2555">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Intel Xolo 900/AZ210A</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1363">
- <match key="usb.product_id" int="514">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">IOMagic MagicImage 400</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2362">
- <match key="usb.product_id" int="271">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">ION digital camera</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="16642">
- <match key="usb.product_id" int="4394">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">iRiver Clix</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="16642">
- <match key="usb.product_id" int="4390">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">iRiver Clix2</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="16642">
- <match key="usb.product_id" int="4417">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">iRiver E100</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="16642">
- <match key="usb.product_id" int="4418">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">iRiver E100 v2/Lplayer</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="16642">
- <match key="usb.product_id" int="4434">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">iRiver E150</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="16642">
- <match key="usb.product_id" int="4455">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">iRiver E30</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="16642">
- <match key="usb.product_id" int="4433">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">iRiver E50</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="16642">
- <match key="usb.product_id" int="8449">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">iRiver H10 20GB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="16642">
- <match key="usb.product_id" int="8453">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">iRiver H10 5.6GB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="16642">
- <match key="usb.product_id" int="8450">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">iRiver H10 5GB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4102">
- <match key="usb.product_id" int="12292">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">iRiver H300 Series MTP</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="16642">
- <match key="usb.product_id" int="4104">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">iRiver iFP-880</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="16642">
- <match key="usb.product_id" int="4386">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">iRiver N12</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4102">
- <match key="usb.product_id" int="16386">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">iRiver Portable Media Center 1</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4102">
- <match key="usb.product_id" int="16387">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">iRiver Portable Media Center 2</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="16642">
- <match key="usb.product_id" int="4423">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">iRiver Spinn</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="16642">
- <match key="usb.product_id" int="4371">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">iRiver T10</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="16642">
- <match key="usb.product_id" int="4384">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">iRiver T10 2GB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="16642">
- <match key="usb.product_id" int="4375">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">iRiver T10b</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="16642">
- <match key="usb.product_id" int="4373">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">iRiver T20</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="16642">
- <match key="usb.product_id" int="4372">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">iRiver T20 FM</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="16642">
- <match key="usb.product_id" int="4376">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">iRiver T20b</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="16642">
- <match key="usb.product_id" int="4377">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">iRiver T30</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="16642">
- <match key="usb.product_id" int="4435">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">iRiver T5</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="16642">
- <match key="usb.product_id" int="4404">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">iRiver T60</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4162">
- <match key="usb.product_id" int="4419">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">iRiver T7 Volcano</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="7784">
- <match key="usb.product_id" int="4098">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">iRiver Tolino Tab 7</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="16642">
- <match key="usb.product_id" int="4374">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">iRiver U10</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="16642">
- <match key="usb.product_id" int="4402">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">iRiver X20</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2848">
- <match key="usb.product_id" int="56814">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Isabella Her Prototype</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1924">
- <match key="usb.product_id" int="256">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Ixla DualCam 640</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2425">
- <match key="usb.product_id" int="551">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Jazwares Star Wars no. 15256</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10096">
- <match key="usb.product_id" int="36956">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Jazz JDC9</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2425">
- <match key="usb.product_id" int="551">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Jazz JDK235</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3478">
- <match key="usb.product_id" int="13056">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Jenoptik JD-3300z3</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3478">
- <match key="usb.product_id" int="16640">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Jenoptik JD-4100z3</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1498">
- <match key="usb.product_id" int="4102">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Jenoptik JD350 entrance</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3478">
- <match key="usb.product_id" int="0">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Jenoptik JD350 video</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10096">
- <match key="usb.product_id" int="37152">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Jenoptik JDC 350</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10545">
- <match key="usb.product_id" int="2561">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Jolla Sailfish (ID1)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10545">
- <match key="usb.product_id" int="2565">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Jolla Sailfish (ID2)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1265">
- <match key="usb.product_id" int="24837">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">JVC Alneo XA-HD500</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2126">
- <match key="usb.product_id" int="1">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">KBGear JamCam</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2856">
- <match key="usb.product_id" int="4108">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Kenwood Media Keg HD10GB7 Sport Player</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="8759">
- <match key="usb.product_id" int="53512">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Kobo Arc (ID1)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="8759">
- <match key="usb.product_id" int="53513">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Kobo Arc (ID2)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="8759">
- <match key="usb.product_id" int="45320">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Kobo Arc 7 HD</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1559">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak C1530</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1547">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak C183</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1406">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak C300</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1418">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak C310</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1420">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak C330</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1421">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak C340</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1417">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak C360</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1450">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak C433</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1434">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak C530</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1442">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak C533</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1463">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak C613</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1466">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak C633</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1447">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak C643</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1455">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak C653</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1454">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak C743</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1475">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak C813</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1449">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak C875</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1478">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak C913</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1436">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak CD33</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1376">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak CX4200</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1376">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak CX4210</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1333">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak CX4230</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1382">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak CX4300</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1382">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak CX4310</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1396">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak CX6200</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1395">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak CX6230</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1393">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak CX6330</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1412">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak CX6445</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1401">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak CX7220</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1400">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak CX7300</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1400">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak CX7310</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1402">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak CX7330</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1403">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak CX7430</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1414">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak CX7525</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1404">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak CX7530</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="256">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak DC220</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="288">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak DC240</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="289">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak DC240 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="272">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak DC260</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="273">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak DC265</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="304">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak DC280</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="274">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak DC290</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="306">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak DC3400</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="352">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak DC4800</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="305">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak DC5000</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1317">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak DX3215</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1280">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak DX3500</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1296">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak DX3600</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1328">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak DX3700</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="368">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak DX3900</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1365">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak DX4330</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1398">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak DX4530</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1360">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak DX4900</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1392">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak DX6340</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1394">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak DX6440</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1397">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak DX6490</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1405">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak DX7440</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1407">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak DX7590</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1399">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak DX7630</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="768">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak EZ200</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1344">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak LS420</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1384">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak LS443</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1385">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak LS663</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1381">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak LS743</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1383">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak LS753</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1486">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak M1063</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1536">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak M531</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1439">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak M753</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1473">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak M863</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1453">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak M883</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1413">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak M893 IS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1024">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak MC3</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1426">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak P850</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1427">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak P880</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1422">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak V530</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1423">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak V550</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1425">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak V570</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1440">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak V603</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1452">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak V610</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1451">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak V705</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1464">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak V803</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1437">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak Z612</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1438">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak Z650</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1415">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak Z700</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1459">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak Z710</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1460">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak Z712 IS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1408">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak Z730</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1416">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak Z740</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1027">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak Z7590</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1461">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak Z812 IS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1429">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak Z8612 IS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1487">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak Z915</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1485">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak Z950</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1034">
- <match key="usb.product_id" int="1472">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Kodak ZD710</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1224">
- <match key="usb.product_id" int="1826">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Konica e-mini</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4907">
- <match key="usb.product_id" int="1">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Konica-Minolta DiMAGE A2 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4907">
- <match key="usb.product_id" int="25">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Konica-Minolta DiMAGE A200 (PictBridge mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4907">
- <match key="usb.product_id" int="9">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Konica-Minolta DiMAGE X21 (PictBridge mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4907">
- <match key="usb.product_id" int="7">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Konica-Minolta DiMAGE Z2 (PictBridge mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4907">
- <match key="usb.product_id" int="24">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Konica-Minolta DiMAGE Z3 (PictBridge mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4907">
- <match key="usb.product_id" int="34">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Konica-Minolta DiMAGE Z5 (PictBridge mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="7994">
- <match key="usb.product_id" int="4102">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Kurio 7S</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1154">
- <match key="usb.product_id" int="2425">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Kyocera DuraForce</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1154">
- <match key="usb.product_id" int="2064">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Kyocera KYL22</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1154">
- <match key="usb.product_id" int="1393">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Kyocera Rise</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1154">
- <match key="usb.product_id" int="1434">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Kyocera Torque Model E6715</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10096">
- <match key="usb.product_id" int="36945">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Lego Bionicle</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1242">
- <match key="usb.product_id" int="9077">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Leica D-LUX 2</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6808">
- <match key="usb.product_id" int="2">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Leica M9</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6127">
- <match key="usb.product_id" int="30519">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Lenovo A3500-F</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6127">
- <match key="usb.product_id" int="30507">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Lenovo A5500-F</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6127">
- <match key="usb.product_id" int="29848">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Lenovo A820</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6127">
- <match key="usb.product_id" int="30140">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Lenovo IdeaPad A3000 (ID1)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6127">
- <match key="usb.product_id" int="30142">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Lenovo IdeaPad A3000 (ID2)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6127">
- <match key="usb.product_id" int="30018">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Lenovo IdeaTab A2109A</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6127">
- <match key="usb.product_id" int="30077">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Lenovo IdeaTab S2210a</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6127">
- <match key="usb.product_id" int="30440">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Lenovo IdeaTab S5000</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6127">
- <match key="usb.product_id" int="29706">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Lenovo K1</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6127">
- <match key="usb.product_id" int="30851">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Lenovo K3 Note</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6127">
- <match key="usb.product_id" int="30133">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Lenovo K900 (ID1)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6127">
- <match key="usb.product_id" int="30554">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Lenovo LifeTab E733X</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6127">
- <match key="usb.product_id" int="29900">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Lenovo Lifetab S9512</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6127">
- <match key="usb.product_id" int="3074">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Lenovo P70-A</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6127">
- <match key="usb.product_id" int="29847">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Lenovo P700</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6127">
- <match key="usb.product_id" int="29862">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Lenovo P780</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6127">
- <match key="usb.product_id" int="29944">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Lenovo S660</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6127">
- <match key="usb.product_id" int="30488">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Lenovo S930</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6127">
- <match key="usb.product_id" int="29724">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Lenovo ThinkPad Tablet</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6127">
- <match key="usb.product_id" int="30450">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Lenovo Toga Tablet B6000-F</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6127">
- <match key="usb.product_id" int="30698">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Lenovo Vibe Z2</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6127">
- <match key="usb.product_id" int="30463">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Lenovo Yoga Tablet 10 B8000-H</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6127">
- <match key="usb.product_id" int="30641">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Lenovo Yoga Tablet 2 Pro</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4100">
- <match key="usb.product_id" int="25073">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">LG Electronics Inc. Android phone (ID1)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4100">
- <match key="usb.product_id" int="25081">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">LG Electronics Inc. Android phone (ID2)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4100">
- <match key="usb.product_id" int="25215">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">LG Electronics Inc. G3</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4100">
- <match key="usb.product_id" int="25198">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">LG Electronics Inc. G3 (VS985)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4100">
- <match key="usb.product_id" int="24859">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">LG Electronics Inc. GR-500 Music Player</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4100">
- <match key="usb.product_id" int="24719">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">LG Electronics Inc. KC910 Renoir Mobile Phone</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4100">
- <match key="usb.product_id" int="24882">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">LG Electronics Inc. KM900</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4100">
- <match key="usb.product_id" int="25406">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">LG Electronics Inc. LG G Flex 2</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4100">
- <match key="usb.product_id" int="25145">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">LG Electronics Inc. LG VS870</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4100">
- <match key="usb.product_id" int="25149">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">LG Electronics Inc. LG VS890</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4100">
- <match key="usb.product_id" int="25116">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">LG Electronics Inc. LG VS980</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4100">
- <match key="usb.product_id" int="25125">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">LG Electronics Inc. LG2 Optimus</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4100">
- <match key="usb.product_id" int="24986">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">LG Electronics Inc. LG8575</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1086">
- <match key="usb.product_id" int="28736">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">LG Electronics Inc. T54</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1086">
- <match key="usb.product_id" int="28849">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">LG Electronics Inc. UP3</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4100">
- <match key="usb.product_id" int="25372">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">LG Electronics Inc. Various E and P models</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4100">
- <match key="usb.product_id" int="25189">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">LG Electronics Inc. VK810</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4100">
- <match key="usb.product_id" int="24592">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">LG Electronics Inc. VX8550 V CAST Mobile Phone</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4100">
- <match key="usb.product_id" int="24581">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">LG T5100</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3478">
- <match key="usb.product_id" int="16640">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Lifetec LT 5995</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="5073">
- <match key="usb.product_id" int="28674">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Logik LOG DAX MP3 and DAB Player</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1133">
- <match key="usb.product_id" int="2304">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Logitech Clicksmart 310</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1133">
- <match key="usb.product_id" int="2384">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Logitech Pocket Digital</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3478">
- <match key="usb.product_id" int="16640">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Maginon SX-410z</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3478">
- <match key="usb.product_id" int="13056">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Maginon SX330z</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10096">
- <match key="usb.product_id" int="37152">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Magpix B350</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1276">
- <match key="usb.product_id" int="20555">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Maxell Max Pocket</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1647">
- <match key="usb.product_id" int="33900">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Maxfield G-Flash NG 1GB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2329">
- <match key="usb.product_id" int="256">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Media-Tech mt-406</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3725">
- <match key="usb.product_id" int="80">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">MediaTek Inc MT5xx and MT6xx SoCs</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1032">
- <match key="usb.product_id" int="45066">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Medion Lifetab P9514</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6127">
- <match key="usb.product_id" int="29827">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Medion Lifetab P9516</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1276">
- <match key="usb.product_id" int="20554">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Medion MD 5319</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3478">
- <match key="usb.product_id" int="16640">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Medion MD 6000</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1482">
- <match key="usb.product_id" int="8709">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Medion MD 6126</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3478">
- <match key="usb.product_id" int="16642">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Medion MD 9700</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1647">
- <match key="usb.product_id" int="34128">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Medion MD8333 (ID1)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1647">
- <match key="usb.product_id" int="34184">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Medion MD8333 (ID2)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1032">
- <match key="usb.product_id" int="45065">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Medion MD99000 (P9514)/Olivetti Olipad 110</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4721">
- <match key="usb.product_id" int="8210">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Megafon Login+</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="8222">
- <match key="usb.product_id" int="17067">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Megafon MFLogin3T</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10821">
- <match key="usb.product_id" int="8200">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Meizu MX Phone (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10821">
- <match key="usb.product_id" int="3074">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Meizu MX Phone (MTP+ADB)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4310">
- <match key="usb.product_id" int="8960">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Memorex or iRiver MMP 8585/8586 or iRiver E200</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3504">
- <match key="usb.product_id" int="21874">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Micro-Star International P610/Model MS-5557</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1363">
- <match key="usb.product_id" int="514">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Micromaxx Digital Camera</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1118">
- <match key="usb.product_id" int="1600">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Microsoft Kin 1</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1118">
- <match key="usb.product_id" int="1570">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Microsoft Windows MTP Simulator</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1118">
- <match key="usb.product_id" int="1260">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Microsoft Windows Phone</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1118">
- <match key="usb.product_id" int="1808">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Microsoft Zune</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1118">
- <match key="usb.product_id" int="1598">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Microsoft Zune HD</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1118">
- <match key="usb.product_id" int="61642">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Microsoft/HTC HTC 8S</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1118">
- <match key="usb.product_id" int="201">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Microsoft/Intel Bandon Portable Media Center</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1118">
- <match key="usb.product_id" int="1601">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Microsoft/Sharp/nVidia Kin TwoM</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3141">
- <match key="usb.product_id" int="32776">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Mini Shotz ms-350</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2125">
- <match key="usb.product_id" int="3">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Minton S-Cam F5</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10096">
- <match key="usb.product_id" int="37152">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Mitek CD10</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10096">
- <match key="usb.product_id" int="37152">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Mitek CD30P</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="8888">
- <match key="usb.product_id" int="24778">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Motorola A1200</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="8888">
- <match key="usb.product_id" int="28808">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Motorola Atrix MB860 (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="8888">
- <match key="usb.product_id" int="25807">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Motorola Atrix XT687 (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="8888">
- <match key="usb.product_id" int="11826">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Motorola Atrix/Razr HD (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="8888">
- <match key="usb.product_id" int="11827">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Motorola Atrix/Razr HD (MTP+ADB)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="8888">
- <match key="usb.product_id" int="11879">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Motorola Droid Maxx (XT1080)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="8888">
- <match key="usb.product_id" int="11941">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Motorola Droid Turbo (XT1254)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="8888">
- <match key="usb.product_id" int="11944">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Motorola Droid Turbo Verizon</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="8888">
- <match key="usb.product_id" int="11880">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Motorola Droid Ultra</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="8888">
- <match key="usb.product_id" int="16854">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Motorola Droid X/MB525 (Defy)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="8888">
- <match key="usb.product_id" int="16858">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Motorola DROID2 (ID1)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="8888">
- <match key="usb.product_id" int="17063">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Motorola DROID2 (ID2)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="8888">
- <match key="usb.product_id" int="17279">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Motorola DROID4</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="8888">
- <match key="usb.product_id" int="17267">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Motorola DROID4 (PTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="8888">
- <match key="usb.product_id" int="18449">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Motorola IdeaPad K1</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="8888">
- <match key="usb.product_id" int="16860">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Motorola Milestone / Verizon Droid</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="8888">
- <match key="usb.product_id" int="28874">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Motorola Milestone X2</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="8888">
- <match key="usb.product_id" int="11894">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Motorola Moto G (ID1)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="8888">
- <match key="usb.product_id" int="11906">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Motorola Moto G (ID2)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="8888">
- <match key="usb.product_id" int="11908">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Motorola Moto G (XT1032)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="8888">
- <match key="usb.product_id" int="11874">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Motorola Moto X (XT1053)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="8888">
- <match key="usb.product_id" int="11875">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Motorola Moto X (XT1058)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="8888">
- <match key="usb.product_id" int="11878">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Motorola Moto X (XT1080)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="8888">
- <match key="usb.product_id" int="25619">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Motorola MTP Test Command Interface</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="8888">
- <match key="usb.product_id" int="25781">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Motorola Razr D1/D3/i (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="8888">
- <match key="usb.product_id" int="25782">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Motorola Razr D1/D3/i (MTP+?)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="8888">
- <match key="usb.product_id" int="11856">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Motorola RAZR M XT907 (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="8888">
- <match key="usb.product_id" int="11857">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Motorola RAZR M XT907 (MTP+ADB)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="8888">
- <match key="usb.product_id" int="25621">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Motorola RAZR2 V8/U9/Z6</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="8888">
- <match key="usb.product_id" int="10853">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Motorola V3m/V750 verizon</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="8888">
- <match key="usb.product_id" int="28835">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Motorola Xoom (Factory test)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="8888">
- <match key="usb.product_id" int="28840">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Motorola Xoom (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="8888">
- <match key="usb.product_id" int="28841">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Motorola Xoom (MTP+ADB)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="8888">
- <match key="usb.product_id" int="17169">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Motorola Xoom 2 Media Edition</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="8888">
- <match key="usb.product_id" int="17158">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Motorola Xoom 2 Media Edition (ID2)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="8888">
- <match key="usb.product_id" int="16847">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Motorola Xoom 2 Media Edition (ID3)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="8888">
- <match key="usb.product_id" int="28941">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Motorola XT890/907/Razr (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="8888">
- <match key="usb.product_id" int="28942">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Motorola XT890/907/Razr (MTP+ADB)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="8888">
- <match key="usb.product_id" int="17250">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Motorola XT912/XT928</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1375">
- <match key="usb.product_id" int="49664">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Mustek gSmart 300</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1375">
- <match key="usb.product_id" int="41808">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Mustek gSmart 350</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1375">
- <match key="usb.product_id" int="49696">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Mustek gSmart mini</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1375">
- <match key="usb.product_id" int="50208">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Mustek gSmart mini 2</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1375">
- <match key="usb.product_id" int="50464">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Mustek gSmart mini 3</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2726">
- <match key="usb.product_id" int="38401">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">MyMusix PD-6070</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1033">
- <match key="usb.product_id" int="806">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">NEC Casio C811</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1033">
- <match key="usb.product_id" int="1074">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">NEC Casio CA-201L</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1033">
- <match key="usb.product_id" int="578">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">NEC FOMA N01A</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1026">
- <match key="usb.product_id" int="22120">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nextar MA715A-8R</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10096">
- <match key="usb.product_id" int="36956">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Nexxtech Mini Digital Camera</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="770">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 2000 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="279">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 2100 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="290">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 2200 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="291">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 2200v1.1 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="265">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 2500 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="277">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 3100 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="289">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 3200 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="273">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 3500 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="285">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 3700 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="301">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 4100 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="516">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 4200 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="271">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 4300 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="267">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 4500 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="304">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 4600 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="305">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 4600a (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="297">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 4800 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="275">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 5000 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="518">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 5200 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="281">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 5400 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="302">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 5600 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="269">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 5700 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="309">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 5900 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="313">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 7600 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="311">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 7900 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="287">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 8700 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="259">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon CoolPix 880</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="295">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 8800 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="274">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 885 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="401">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 9400 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="258">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon CoolPix 990</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="550">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix A (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="392">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix AW100 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="520">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix L1 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="779">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix L10 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="777">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix L11 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="382">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix L110 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="351">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix L12 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="389">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix L120 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="789">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix L16 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="792">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix L19 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="791">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix L20 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="804">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix L23 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="835">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix L27</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="773">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix L4 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="402">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix L820 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="320">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix P1 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="381">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix P100 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="322">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix P2 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="545">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix P300 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="551">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix P330 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="524">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix P4 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="361">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix P50 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="388">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix P500 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="347">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix P5000 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="547">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix P510 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="355">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix P5100 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="552">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix P520 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="785">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix P60 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="367">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix P6000 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="383">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix P7000 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="395">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix P7100 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="549">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix P7700 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="553">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix P7800 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="363">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix P80 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="364">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix P80 v1.1 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="371">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix P90 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="823">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S01</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="838">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S02</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="334">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S2 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="353">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S200 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="375">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S220 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="376">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S225 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="801">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S2500 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="813">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S2600 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="831">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S2700</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="795">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S3000 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="800">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S3100 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="820">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S3200</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="810">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S3300 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="324">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S4 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="809">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S4300 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="349">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S500 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="544">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S5100 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="334">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S6 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="369">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S60 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="542">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S6000 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="540">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S620 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="343">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S7c (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="543">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S8000 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="546">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S8200</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="390">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S9100 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="403">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S9500 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="843">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S9700</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="514">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix SQ (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="1028">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon D2H SLR (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="1036">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon D2Hs (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="1032">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon D2X SLR (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="1052">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon D3 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="1034">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon D50 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="1026">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon DSC D100 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="1040">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon DSC D200 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="1046">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon DSC D2Xs (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="1050">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon DSC D300 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="1060">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon DSC D3000 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="1061">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon DSC D300s (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="1063">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon DSC D3100 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="1068">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon DSC D3200</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="1075">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon DSC D3300</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="1062">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon DSC D3s (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="1056">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon DSC D3x (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="1067">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon DSC D4</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="1044">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon DSC D40 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="1048">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon DSC D40x (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="1077">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon DSC D4s</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="1059">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon DSC D5000 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="1065">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon DSC D5100 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="1071">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon DSC D5200</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="1073">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon DSC D5300</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="1054">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon DSC D60 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="1069">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon DSC D600</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="1076">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon DSC D610</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="1030">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon DSC D70 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="1058">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon DSC D700 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="1064">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon DSC D7000 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="1038">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon DSC D70s (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="1072">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon DSC D7100</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="1079">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon DSC D750</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="1042">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon DSC D80 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="1066">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon DSC D800</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="1070">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon DSC D800E</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="1078">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon DSC D810</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="1057">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon DSC D90 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="1538">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon J1</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="1539">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon J2</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="1541">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon J3</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="1545">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon J4</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="1542">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon S1</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="1537">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon V1</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1200">
- <match key="usb.product_id" int="1540">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nikon V2</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1276">
- <match key="usb.product_id" int="20554">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">nisis Quickpix Qp3</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2425">
- <match key="usb.product_id" int="548">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">NogaNet TDC-15</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="705">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia 2710</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="101">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia 3109c Mobile Phone</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="95">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia 3110c Mobile Phone</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="1122">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia 3250 Mobile Phone</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="494">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia 3710</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="521">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia 5130 XpressMusic</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="1214">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia 5200 Mobile Phone</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="738">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia 5230</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="1210">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia 5300 Mobile Phone</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="108">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia 5310 XpressMusic</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="234">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia 5320 XpressMusic</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="1150">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia 5500 Sport Mobile Phone</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="553">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia 5530</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="1204">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia 5700 XpressMusic Mobile Phone</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="340">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia 5800 XpressMusic</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="341">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia 5800 XpressMusic v2</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="345">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia 5800 XpressMusic v3</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="46">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia 6120c Classic Mobile Phone</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="152">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia 6210 Navigator</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="141">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia 6220 Classic</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="60">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia 6500c Classic Mobile Phone</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="663">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia 6600i</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="1491">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia 808 PureView</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="1426">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia C5-00</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="961">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia C7</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="973">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia C7 (ID2)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="463">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia E52</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="815">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia E6</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="377">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia E63</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="229">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia E66</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="820">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia E7</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="821">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia E7 (Ovi mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="228">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia E71</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="417">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia E71x</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="545">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia E72</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="1788">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia Lumia (RM-975)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="1638">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia Lumia 301</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="1633">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia Lumia WP8</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="1316">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia N300</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="1160">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Nokia N73</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="1233">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia N73 Mobile Phone</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="1249">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia N75 Mobile Phone</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="121">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia N78 Mobile Phone</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="390">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia N79</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="766">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia N8</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="770">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia N8 (Ovi mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="1265">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia N80 Internet Edition (Media Player)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="10">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia N81 Mobile Phone</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="116">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia N82 Mobile Phone</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="146">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia N85 Mobile Phone</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="1306">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia N9</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="1157">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia N91 Mobile Phone</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="1144">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia N93 Mobile Phone</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="1253">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia N93i Mobile Phone</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="1263">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia N95 Mobile Phone</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="110">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia N95 Mobile Phone 8GB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="978">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia N950</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="57">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia N96 Mobile Phone</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="501">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia N97</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="619">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia N97 mini</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="500">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia N97-1</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="628">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia X6</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1057">
- <match key="usb.product_id" int="1768">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Nokia XL</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="5891">
- <match key="usb.product_id" int="1">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">NormSoft, Inc. Pocket Tunes</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="5891">
- <match key="usb.product_id" int="2">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">NormSoft, Inc. Pocket Tunes 4</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2389">
- <match key="usb.product_id" int="28841">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">nVidia CM9-Adam</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2389">
- <match key="usb.product_id" int="46080">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">nVidia Shield (ID1)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2389">
- <match key="usb.product_id" int="52999">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">nVidia Shield (ID2)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2389">
- <match key="usb.product_id" int="52994">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">nVidia Tegra Note</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2389">
- <match key="usb.product_id" int="28928">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">nVidia Various tablets (ID1)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2389">
- <match key="usb.product_id" int="28930">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">nVidia Various tablets (ID2)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="7763">
- <match key="usb.product_id" int="6">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">O2 Sistemas ZoltarTV</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1972">
- <match key="usb.product_id" int="256">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Olympus C-2100UZ</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1972">
- <match key="usb.product_id" int="256">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Olympus C-3000Z</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1972">
- <match key="usb.product_id" int="256">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Olympus C-3030Z</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1972">
- <match key="usb.product_id" int="276">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Olympus C-310Z</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1972">
- <match key="usb.product_id" int="276">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Olympus C-350Z</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1972">
- <match key="usb.product_id" int="276">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Olympus C-5500Z</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1972">
- <match key="usb.product_id" int="276">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Olympus C-55Z</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1972">
- <match key="usb.product_id" int="276">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Olympus D-540Z</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1972">
- <match key="usb.product_id" int="276">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Olympus D-560Z</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1972">
- <match key="usb.product_id" int="272">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Olympus E series (Control)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1972">
- <match key="usb.product_id" int="303">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Olympus E-M5</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1972">
- <match key="usb.product_id" int="303">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Olympus E-PL5</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1972">
- <match key="usb.product_id" int="278">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Olympus FE4000</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1972">
- <match key="usb.product_id" int="276">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Olympus IR-300</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1972">
- <match key="usb.product_id" int="275">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Olympus mju 500</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1972">
- <match key="usb.product_id" int="303">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Olympus SP-720UZ</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1972">
- <match key="usb.product_id" int="276">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Olympus X-100</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1972">
- <match key="usb.product_id" int="276">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Olympus X-250</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1972">
- <match key="usb.product_id" int="278">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Olympus X920</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1972">
- <match key="usb.product_id" int="278">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Olympus X925</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="8921">
- <match key="usb.product_id" int="10085">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Oppo Find 7 (ID 1)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="8921">
- <match key="usb.product_id" int="10100">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Oppo Find 7 (ID 2)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="8921">
- <match key="usb.product_id" int="10099">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Oppo X9006</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2329">
- <match key="usb.product_id" int="256">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Oregon Scientific DShot II</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2329">
- <match key="usb.product_id" int="256">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Oregon Scientific DShot III</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1242">
- <match key="usb.product_id" int="9076">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Panasonic DMC-FS62</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1242">
- <match key="usb.product_id" int="9076">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Panasonic DMC-FZ20</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1242">
- <match key="usb.product_id" int="9076">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Panasonic DMC-FZ38</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1242">
- <match key="usb.product_id" int="9076">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Panasonic DMC-FZ45</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1242">
- <match key="usb.product_id" int="9076">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Panasonic DMC-FZ50</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1242">
- <match key="usb.product_id" int="9076">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Panasonic DMC-GF1</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1242">
- <match key="usb.product_id" int="9076">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Panasonic DMC-LS2</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1242">
- <match key="usb.product_id" int="9076">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Panasonic DMC-LS3</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1242">
- <match key="usb.product_id" int="9076">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Panasonic DMC-LX7</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1242">
- <match key="usb.product_id" int="9076">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Panasonic DMC-TZ15</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1242">
- <match key="usb.product_id" int="9076">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Panasonic DMC-TZ18</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1242">
- <match key="usb.product_id" int="9076">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Panasonic DMC-TZ8</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1242">
- <match key="usb.product_id" int="8517">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Panasonic P905i</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1242">
- <match key="usb.product_id" int="8536">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Panasonic P906i</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4204">
- <match key="usb.product_id" int="61443">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Pantech Crux</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="7501">
- <match key="usb.product_id" int="20534">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Pegatron Chagall</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="7501">
- <match key="usb.product_id" int="20533">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Pegatron Chagall (ADB)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="7501">
- <match key="usb.product_id" int="20554">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Pegatron Hudl 2</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1363">
- <match key="usb.product_id" int="514">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Pencam TEVION MD 9456</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="9723">
- <match key="usb.product_id" int="357">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Pentax K3 (PTP Mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2583">
- <match key="usb.product_id" int="13">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Pentax Optio 43WR</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2583">
- <match key="usb.product_id" int="247">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Pentax Optio W90</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2726">
- <match key="usb.product_id" int="38658">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Perception Digital, Ltd Gigaware GX400</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1137">
- <match key="usb.product_id" int="8316">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Philips GoGear Aria</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1137">
- <match key="usb.product_id" int="8377">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Philips GoGear Ariaz</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1137">
- <match key="usb.product_id" int="8504">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Philips GoGear Ariaz/97</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1137">
- <match key="usb.product_id" int="357">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Philips GoGear Audio</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1137">
- <match key="usb.product_id" int="8311">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Philips GoGear Muse</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1137">
- <match key="usb.product_id" int="8334">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Philips GoGear SA1VBE08KX/78</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1137">
- <match key="usb.product_id" int="8196">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Philips GoGear SA3345</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1137">
- <match key="usb.product_id" int="2135">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Philips GoGear SA5145</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1137">
- <match key="usb.product_id" int="2126">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Philips GoGear SA6014/SA6015/SA6024/SA6025/SA6044/SA6045</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1137">
- <match key="usb.product_id" int="8194">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Philips GoGear SA6125/SA6145/SA6185</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1137">
- <match key="usb.product_id" int="335">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Philips GoGear SA9200</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1137">
- <match key="usb.product_id" int="8309">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Philips GoGear ViBE SA1VBE04</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1137">
- <match key="usb.product_id" int="8315">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Philips GoGear ViBE SA1VBE04/08</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1137">
- <match key="usb.product_id" int="8375">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Philips GoGear VIBE SA2VBE[08|16]K/02</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1137">
- <match key="usb.product_id" int="8421">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Philips GoGear Vibe/02</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1137">
- <match key="usb.product_id" int="333">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Philips HDD085/00 or HDD082/17</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1137">
- <match key="usb.product_id" int="332">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Philips HDD14XX,HDD1620 or HDD1630/17</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1137">
- <match key="usb.product_id" int="491">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Philips HDD6320</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1137">
- <match key="usb.product_id" int="331">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Philips HDD6320/00 or HDD6330/17</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1137">
- <match key="usb.product_id" int="6411">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Philips i908</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2362">
- <match key="usb.product_id" int="270">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Philips P44417B keychain camera</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1137">
- <match key="usb.product_id" int="8592">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Philips PI3900B2/58 </merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1137">
- <match key="usb.product_id" int="32257">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Philips PSA235</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1137">
- <match key="usb.product_id" int="385">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Philips PSA610</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1137">
- <match key="usb.product_id" int="356">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Philips SA1115/55</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1137">
- <match key="usb.product_id" int="8226">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Philips SA5285</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1137">
- <match key="usb.product_id" int="370">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Philips Shoqbox</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1363">
- <match key="usb.product_id" int="514">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Phoebe Smartcam</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2276">
- <match key="usb.product_id" int="322">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Pioneer DVR-LX60D</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2276">
- <match key="usb.product_id" int="328">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Pioneer XMP3</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2362">
- <match key="usb.product_id" int="270">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Pixart Gemini Keychain Camera</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10096">
- <match key="usb.product_id" int="36956">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Pixie Princess Jelly-Soft</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10096">
- <match key="usb.product_id" int="37152">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">PockCam</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1924">
- <match key="usb.product_id" int="10376">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Polaroid DC700</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1350">
- <match key="usb.product_id" int="8245">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Polaroid Freescape/MPU-433158</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1350">
- <match key="usb.product_id" int="3503">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Polaroid PDC 2300Z</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10096">
- <match key="usb.product_id" int="36956">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Praktica Slimpix</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10096">
- <match key="usb.product_id" int="37152">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Precision Mini Digital Camera</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2362">
- <match key="usb.product_id" int="271">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Precision Mini, Model HA513A</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10724">
- <match key="usb.product_id" int="4611">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Prestigio 5504 DUO </merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10724">
- <match key="usb.product_id" int="4355">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Prestigio 5505 DUO </merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1924">
- <match key="usb.product_id" int="21248">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Pretec dc530</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1276">
- <match key="usb.product_id" int="65535">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">PureDigital Ritz Disposable</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1478">
- <match key="usb.product_id" int="34816">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Qualcomm (for Gigabyte) GSmart G1342</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1478">
- <match key="usb.product_id" int="61443">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Qualcomm (for Highscreen) Omega Prime S</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1478">
- <match key="usb.product_id" int="553">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Qualcomm (for Nokia) 5530 Xpressmusic</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1478">
- <match key="usb.product_id" int="12694">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Qualcomm (for Nokia/Verizon) 6205 Balboa/Verizon Music Phone</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1478">
- <match key="usb.product_id" int="26468">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Qualcomm (for OnePlus) One (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1478">
- <match key="usb.product_id" int="26469">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Qualcomm (for OnePlus) One (MTP+ADB)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1478">
- <match key="usb.product_id" int="36921">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Qualcomm (for PhiComm) C230w (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1478">
- <match key="usb.product_id" int="36901">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Qualcomm (for Smartfren) Andromax U</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1363">
- <match key="usb.product_id" int="514">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">QuickPix QP1</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3530">
- <match key="usb.product_id" int="4">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Radioshack Flatfoto</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1924">
- <match key="usb.product_id" int="256">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">RCA CDS1005</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10007">
- <match key="usb.product_id" int="4704">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Redmi 1S (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10007">
- <match key="usb.product_id" int="4712">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Redmi HM 1S (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10096">
- <match key="usb.product_id" int="37152">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Request Ultra Slim</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1482">
- <match key="usb.product_id" int="8715">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Ricoh Capilo RX</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1482">
- <match key="usb.product_id" int="8707">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Ricoh Caplio 300G</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1482">
- <match key="usb.product_id" int="8708">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Ricoh Caplio G3</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1482">
- <match key="usb.product_id" int="8712">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Ricoh Caplio G4</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1482">
- <match key="usb.product_id" int="8716">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Ricoh Caplio GX</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1482">
- <match key="usb.product_id" int="805">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Ricoh Caplio GX (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1482">
- <match key="usb.product_id" int="8724">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Ricoh Caplio GX 8</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1482">
- <match key="usb.product_id" int="813">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Ricoh Caplio GX 8 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1482">
- <match key="usb.product_id" int="8717">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Ricoh Caplio R1</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1482">
- <match key="usb.product_id" int="8722">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Ricoh Caplio R1v</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1482">
- <match key="usb.product_id" int="811">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Ricoh Caplio R1v (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1482">
- <match key="usb.product_id" int="8723">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Ricoh Caplio R2</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1482">
- <match key="usb.product_id" int="8726">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Ricoh Caplio R3</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1482">
- <match key="usb.product_id" int="815">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Ricoh Caplio R3 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1482">
- <match key="usb.product_id" int="8727">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Ricoh Caplio R4</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1482">
- <match key="usb.product_id" int="8730">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Ricoh Caplio R5</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1482">
- <match key="usb.product_id" int="272">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Ricoh Caplio R5 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1482">
- <match key="usb.product_id" int="8706">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Ricoh Caplio RR30</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1482">
- <match key="usb.product_id" int="829">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Ricoh Caplio RR750 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1482">
- <match key="usb.product_id" int="8717">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Ricoh Caplio RZ1</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4042">
- <match key="usb.product_id" int="32775">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">RIM BlackBerry Storm/9650</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1482">
- <match key="usb.product_id" int="8719">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Rollei dr5</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1482">
- <match key="usb.product_id" int="8719">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Rollei dr5 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10096">
- <match key="usb.product_id" int="37181">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Sakar 23070 Crayola Digital Cam</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10096">
- <match key="usb.product_id" int="37181">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Sakar 28290 and 28292 Digital C</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10096">
- <match key="usb.product_id" int="37181">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Sakar 92045 Spiderman</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2425">
- <match key="usb.product_id" int="551">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Sakar clipshot no. 1169x</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3141">
- <match key="usb.product_id" int="32771">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Sakar Digital Keychain 11199</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3141">
- <match key="usb.product_id" int="32771">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Sakar Digital no, 6637x</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3141">
- <match key="usb.product_id" int="32771">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Sakar Digital no, 67480</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2362">
- <match key="usb.product_id" int="270">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Sakar Digital no. 56379 Spyshot</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2362">
- <match key="usb.product_id" int="271">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Sakar Digital no. 77379</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2425">
- <match key="usb.product_id" int="551">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Sakar Dora the Explorer no. 88067</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2425">
- <match key="usb.product_id" int="551">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Sakar Hello Kitty no. 94009</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10096">
- <match key="usb.product_id" int="37152">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Sakar Kidz Cam 86379</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2425">
- <match key="usb.product_id" int="551">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Sakar Kidz-Cam no. 88379</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10096">
- <match key="usb.product_id" int="36956">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Sakar Micro Digital 2428x</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2425">
- <match key="usb.product_id" int="551">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Sakar Nickelodeon iCarly no. 88061</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2362">
- <match key="usb.product_id" int="271">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Sakar no. 1638x CyberPix</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2425">
- <match key="usb.product_id" int="551">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Sakar no. 75379</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2425">
- <match key="usb.product_id" int="551">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Sakar no. 81890</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2425">
- <match key="usb.product_id" int="551">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Sakar no. 91379</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2425">
- <match key="usb.product_id" int="551">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Sakar no. 98379</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2425">
- <match key="usb.product_id" int="551">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Sakar Star Wars kit no. 92022</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2425">
- <match key="usb.product_id" int="551">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Sakar Sticker Wizard no. 59379</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1256">
- <match key="usb.product_id" int="26726">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Samsung EK-GC100</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1256">
- <match key="usb.product_id" int="26407">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Samsung F250 Mobile Phone</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1256">
- <match key="usb.product_id" int="26720">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Samsung Galaxy models (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1256">
- <match key="usb.product_id" int="26716">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Samsung Galaxy models (MTP+ADB)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1256">
- <match key="usb.product_id" int="26743">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Samsung Galaxy models Kies mode</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1256">
- <match key="usb.product_id" int="26450">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Samsung GT-B2700</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1256">
- <match key="usb.product_id" int="26799">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Samsung GT-B2710/Xcover 271</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1256">
- <match key="usb.product_id" int="57868">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Samsung GT-S5230</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1256">
- <match key="usb.product_id" int="26649">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Samsung GT-S8500</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1256">
- <match key="usb.product_id" int="1188">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Samsung I550W Phone</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1256">
- <match key="usb.product_id" int="20255">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Samsung Jet S8000</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1256">
- <match key="usb.product_id" int="26420">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Samsung Juke (SCH-U470)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1256">
- <match key="usb.product_id" int="26178">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Samsung M7600 Beat/GT-S8300T/SGH-F490/S8300</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1256">
- <match key="usb.product_id" int="5132">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Samsung NX1</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1256">
- <match key="usb.product_id" int="4996">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Samsung NX1000</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1256">
- <match key="usb.product_id" int="26698">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Samsung S5620</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1256">
- <match key="usb.product_id" int="26467">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Samsung SAMSUNG Trance</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1256">
- <match key="usb.product_id" int="26377">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Samsung U600 Mobile Phone</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1256">
- <match key="usb.product_id" int="26793">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Samsung Vibrant SGH-T959/Captivate/Media player mode</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1256">
- <match key="usb.product_id" int="26370">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Samsung X830 Mobile Phone</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1256">
- <match key="usb.product_id" int="20526">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Samsung YH-820</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1256">
- <match key="usb.product_id" int="20509">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Samsung YH-920 (501d)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1256">
- <match key="usb.product_id" int="20514">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Samsung YH-920 (5022)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1256">
- <match key="usb.product_id" int="20527">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Samsung YH-925(-GS)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1256">
- <match key="usb.product_id" int="20516">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Samsung YH-925GS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1256">
- <match key="usb.product_id" int="23055">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Samsung YH-999 Portable Media Center/SGH-A707/SGH-L760V/SGH-U900/Verizon Intensity/Fascinate</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1256">
- <match key="usb.product_id" int="20531">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Samsung YH-J70J</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1256">
- <match key="usb.product_id" int="1033">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Samsung YP-900</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1256">
- <match key="usb.product_id" int="20567">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Samsung YP-F2J</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1256">
- <match key="usb.product_id" int="20609">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Samsung YP-K3</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1256">
- <match key="usb.product_id" int="20570">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Samsung YP-K5</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1256">
- <match key="usb.product_id" int="20760">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Samsung YP-M1</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1256">
- <match key="usb.product_id" int="20611">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Samsung YP-P2</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1256">
- <match key="usb.product_id" int="20762">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Samsung YP-P3</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1256">
- <match key="usb.product_id" int="20757">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Samsung YP-Q1</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1256">
- <match key="usb.product_id" int="20765">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Samsung YP-Q2</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1256">
- <match key="usb.product_id" int="20784">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Samsung YP-Q3</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1256">
- <match key="usb.product_id" int="20773">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Samsung YP-R0</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1256">
- <match key="usb.product_id" int="20751">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Samsung YP-R1</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1256">
- <match key="usb.product_id" int="20782">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Samsung YP-R2</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1256">
- <match key="usb.product_id" int="20625">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Samsung YP-S3</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1256">
- <match key="usb.product_id" int="20619">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Samsung YP-S5</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1256">
- <match key="usb.product_id" int="20618">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Samsung YP-T10</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1256">
- <match key="usb.product_id" int="20551">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Samsung YP-T7J</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1256">
- <match key="usb.product_id" int="20607">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Samsung YP-T9</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1256">
- <match key="usb.product_id" int="20564">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Samsung YP-U2J (YP-U2JXB/XAA)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1256">
- <match key="usb.product_id" int="20605">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Samsung YP-U3</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1256">
- <match key="usb.product_id" int="20627">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Samsung YP-U4</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1256">
- <match key="usb.product_id" int="20769">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Samsung YP-U5</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1256">
- <match key="usb.product_id" int="20791">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Samsung YP-Z3</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1256">
- <match key="usb.product_id" int="20540">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Samsung YP-Z5</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1921">
- <match key="usb.product_id" int="29712">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SanDisk Sansa c150</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1921">
- <match key="usb.product_id" int="29776">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SanDisk Sansa c240/c250</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1921">
- <match key="usb.product_id" int="29778">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SanDisk Sansa c250 v2</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1921">
- <match key="usb.product_id" int="29746">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SanDisk Sansa Clip</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1921">
- <match key="usb.product_id" int="29748">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SanDisk Sansa Clip v2</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1921">
- <match key="usb.product_id" int="29924">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SanDisk Sansa Clip Zip</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1921">
- <match key="usb.product_id" int="29904">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SanDisk Sansa Clip+</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1921">
- <match key="usb.product_id" int="29824">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SanDisk Sansa Connect</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1921">
- <match key="usb.product_id" int="29728">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SanDisk Sansa e200/e250/e260/e270/e280</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1921">
- <match key="usb.product_id" int="29730">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SanDisk Sansa e260/e280 v2</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1921">
- <match key="usb.product_id" int="29792">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SanDisk Sansa Express</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1921">
- <match key="usb.product_id" int="29888">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SanDisk Sansa Fuze</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1921">
- <match key="usb.product_id" int="29890">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SanDisk Sansa Fuze v2</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1921">
- <match key="usb.product_id" int="29920">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SanDisk Sansa Fuze+</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1921">
- <match key="usb.product_id" int="29697">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SanDisk Sansa m200-tcc (MTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1921">
- <match key="usb.product_id" int="29696">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SanDisk Sansa m230/m240</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1921">
- <match key="usb.product_id" int="29744">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SanDisk Sansa m240/m250</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1921">
- <match key="usb.product_id" int="29872">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SanDisk Sansa View</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1140">
- <match key="usb.product_id" int="560">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sanyo VPC-C5 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1943">
- <match key="usb.product_id" int="35073">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">ScanHex SX-35a</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1943">
- <match key="usb.product_id" int="35081">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">ScanHex SX-35b</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1943">
- <match key="usb.product_id" int="35089">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">ScanHex SX-35c</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2125">
- <match key="usb.product_id" int="4097">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">ScanHex SX-35d</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2329">
- <match key="usb.product_id" int="256">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Scott APX 30</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1482">
- <match key="usb.product_id" int="851">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sea &amp; Sea 2G (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1482">
- <match key="usb.product_id" int="8718">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Sea &amp; Sea 5000G</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1482">
- <match key="usb.product_id" int="807">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sea &amp; Sea 5000G (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10096">
- <match key="usb.product_id" int="37152">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Shark 2-in-1 Mini</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10096">
- <match key="usb.product_id" int="37152">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Shark SDC-513</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10096">
- <match key="usb.product_id" int="37152">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Shark SDC-519</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1245">
- <match key="usb.product_id" int="38497">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SHARP Corporation SBM203SH</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1245">
- <match key="usb.product_id" int="38602">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SHARP Corporation SH-06E</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1161">
- <match key="usb.product_id" int="49189">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SHARP Corporation SH930W</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2362">
- <match key="usb.product_id" int="270">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Shift3</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1647">
- <match key="usb.product_id" int="40976">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SigmaTel Inc. MTPMSCN Audio Player</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3191">
- <match key="usb.product_id" int="4113">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">SiPix Blink 2</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3191">
- <match key="usb.product_id" int="4117">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">SiPix CAMeleon</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3191">
- <match key="usb.product_id" int="4098">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">SiPix SC2100</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3191">
- <match key="usb.product_id" int="4112">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">SiPix Snap</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3428">
- <match key="usb.product_id" int="4097">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">SiPix Stylecam</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3191">
- <match key="usb.product_id" int="4097">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">SiPix Web2</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6390">
- <match key="usb.product_id" int="258">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Sirius Stiletto</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6390">
- <match key="usb.product_id" int="272">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Sirius Stiletto 2</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3478">
- <match key="usb.product_id" int="13056">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Skanhex SX-330z</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="7132">
- <match key="usb.product_id" int="64191">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Slacker Inc. Slacker Portable Media Player</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3530">
- <match key="usb.product_id" int="2">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">SMaL Ultra-Pocket</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3783">
- <match key="usb.product_id" int="4104">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">So. Show 301</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="1870">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony Alpha-A3000</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="1990">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony Alpha-A5000 (Control)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="2391">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony Alpha-A5100 (Control)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="2279">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony Alpha-A5100 (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="2382">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony Alpha-A6000 (Control)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="2231">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony Alpha-A6000 (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="2387">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony Alpha-A77 M2 (Control)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="2381">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony Alpha-A7r (Control)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="2388">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony Alpha-A7S (Control)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="2274">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony Alpha-A7S (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="4756">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Sony DCR-SR75</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="704">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-A100 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="743">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-A900 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="78">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-F707V (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="78">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-F717 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="78">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-F828 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="78">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-H1 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="78">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-H2 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="78">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-H5 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="1347">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-HX100V (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="1567">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-HX200V (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="1774">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-HX300 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="1169">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-HX5V (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="2221">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-HX60V (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="78">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-N2 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="78">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-P10 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="78">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-P100 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="78">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-P120 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="78">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-P200 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="78">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-P30 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="78">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-P31 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="78">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-P32 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="78">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-P41 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="78">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-P43 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="78">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-P5 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="78">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-P50 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="78">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-P51 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="78">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-P52 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="78">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-P71 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="78">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-P72 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="78">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-P73 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="78">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-P92 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="78">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-P93 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="78">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-R1 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="1323">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-RX1 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="1322">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-RX100 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="1867">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-RX100M2</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="78">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-S40 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="78">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-S60 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="662">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-S730 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="78">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-S75 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="662">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-S780 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="78">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-S85 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="78">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-T1 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="78">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-T10 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="78">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-T3 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="78">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-U10 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="78">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-U20 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="78">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-V1 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="78">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-W1 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="78">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-W12 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="835">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-W130 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="760">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-W200 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="78">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-W35 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="1340">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-W510 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="78">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony DSC-W55 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="20853">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY IS12S Xperia Acro HD MTP+ADB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="41333">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY IS12S Xperia Acro HD MTP+UMS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="45429">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY IS12S Xperia Acro MTP+UMS+ADB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="370">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY LT22i Xperia P MTP</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="20850">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY LT22i Xperia P MTP+ADB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="16754">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY LT22i Xperia P MTP+CDROM</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="390">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY LT25i Xperia V MTP</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="20870">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY LT25i Xperia V MTP+ADB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="16774">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY LT25i Xperia V MTP+CDROM</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="361">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY LT26i Xperia S MTP</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="20841">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY LT26i Xperia S MTP+ADB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="16745">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY LT26i Xperia S MTP+CDROM</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="373">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY LT26w Xperia Acro HD IS12S MTP</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="16757">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY LT26w Xperia Acro HD IS12S MTP+CDROM</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="374">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY LT26w Xperia Acro HD SO-03D MTP</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="16758">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY LT26w Xperia Acro HD SO-03D MTP+CDROM</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="375">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY LT28at Xperia Ion MTP</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="20855">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY LT28at Xperia Ion MTP+ADB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="16759">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY LT28at Xperia Ion MTP+CDROM</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="41335">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY LT28at Xperia Ion MTP+UMS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="45431">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY LT28at Xperia Ion MTP+UMS+ADB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="376">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY LT29i Xperia GX MTP</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="20856">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY LT29i Xperia GX MTP+ADB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="16760">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY LT29i Xperia GX MTP+CDROM</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="386">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY LT30p Xperia T MTP</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="20866">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY LT30p Xperia T MTP+ADB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="16770">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY LT30p Xperia T MTP+CDROM</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="371">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY MT27i Xperia Sola MTP</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="20851">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY MT27i Xperia Sola MTP+ADB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="16755">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY MT27i Xperia Sola MTP+CDROM</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="41331">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY MT27i Xperia Sola MTP+UMS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="45427">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY MT27i Xperia Sola MTP+UMS+ADB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="78">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony MVC-CD300 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="78">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony MVC-CD500 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="1839">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony NEX-3N (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="1656">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony NEX-6</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="860">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Sony NWZ-A726/NWZ-A728/NWZ-A768</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="805">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Sony NWZ-A815/NWZ-A818</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="859">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Sony NWZ-A826/NWZ-A828/NWZ-A829</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="1028">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Sony NWZ-A845</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="878">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Sony NWZ-B135</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="984">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Sony NWZ-B142F</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="1214">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Sony NWZ-B153F</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="1434">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Sony NWZ-B163F</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="1673">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Sony NWZ-B173F</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="1020">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Sony NWZ-E344/E345</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="1227">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Sony NWZ-E354</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="901">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Sony NWZ-E436F</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="1021">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Sony NWZ-E445</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="1446">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Sony NWZ-E464</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="806">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Sony NWZ-S516</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="1022">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Sony NWZ-S545</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="807">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Sony NWZ-S615F/NWZ-S616F/NWZ-S618F</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="910">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Sony NWZ-S638F</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="858">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Sony NWZ-S716F</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="908">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Sony NWZ-S739F</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="1228">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Sony NWZ-S754</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="1448">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Sony NWZ-S765</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="904">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Sony NWZ-W202</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="1211">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Sony NWZ-W252B</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="919">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Sony NWZ-X1050B/NWZ-X1060B</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="920">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Sony NWZ-X1051/NWZ-X1061</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="78">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony PTP</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="1191">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony SLT-A35 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="801">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony SLT-A350 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="1187">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony SLT-A55 (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="1641">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony SLT-A57</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="1846">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony SLT-A58</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="1847">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony SLT-A58 (Control)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="1396">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony SLT-A65V (PTP mode)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="1653">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">Sony SLT-A99v</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="20854">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY SO-03D Xperia Acro HD MTP+ADB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="41334">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY SO-03D Xperia Acro HD MTP+UMS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="45430">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY SO-03D Xperia Acro MTP+UMS+ADB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="385">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY SO-05D Xperia SX MTP</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="20865">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY SO-05D Xperia SX MTP+ADB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="16769">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY SO-05D Xperia SX MTP+CDROM</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="1233">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Sony Sony Tablet P1</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="1459">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Sony Sony Tablet S</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1356">
- <match key="usb.product_id" int="1460">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Sony Sony Tablet S1</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="369">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY ST15i Xperia U MTP</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="368">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY ST21i Xperia Tipo MTP</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="20848">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY ST21i Xperia Tipo MTP+ADB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="16752">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY ST21i Xperia Tipo MTP+CDROM</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="384">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY ST23i Xperia Miro MTP</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="20864">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY ST23i Xperia Miro MTP+ADB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="16768">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY ST23i Xperia Miro MTP+CDROM</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="20849">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY ST25i Xperia U MTP+ADB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="16753">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY ST25i Xperia U MTP+CDROM</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="382">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY ST27i/ST27a Xperia go MTP</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="20862">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY ST27i/ST27a Xperia go MTP+ADB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="16766">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY ST27i/ST27a Xperia go MTP+CDROM</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="41342">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY ST27i/ST27a Xperia go MTP+UMS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="45438">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY ST27i/ST27a Xperia go MTP+UMS+ADB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="365">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY WT19i Live Walkman MTP</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="408">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia A MTP</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="20888">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia A MTP+ADB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="419">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia C MTP</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="20899">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia C MTP+ADB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="16803">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia C MTP+CDROM</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="396">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia E MTP</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="20876">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia E MTP+ADB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="16780">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia E MTP+CDROM</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="444">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia E3 MTP</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="20924">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia E3 MTP+ADB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="444">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia E3 MTP+CDROM</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="459">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY XPeria E4g MTP</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="20939">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY XPeria E4g MTP+ADB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="16843">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY XPeria E4g MTP+CDROM</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="392">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia J MTP</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="20872">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia J MTP+ADB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="16776">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia J MTP+CDROM</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="402">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia L MTP</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="20882">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia L MTP+ADB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="16786">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia L MTP+CDROM</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="411">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia M MTP</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="20891">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia M MTP+ADB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="16795">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia M MTP+CDROM</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="427">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia M2 Dual MTP</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="20907">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia M2 Dual MTP+ADB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="16811">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia M2 Dual MTP+CDROM</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="426">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia M2 MTP</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="20906">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia M2 MTP+ADB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="16810">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia M2 MTP+CDROM</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="405">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia SP MTP</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="20885">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia SP MTP+ADB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="16789">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia SP MTP+CDROM</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="397">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia Tablet Z MTP 1</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="404">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia Tablet Z MTP 2</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="20877">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia Tablet Z MTP+ADB 1</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="20884">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia Tablet Z MTP+ADB 2</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="16781">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia Tablet Z MTP+CDROM 1</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="16788">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia Tablet Z MTP+CDROM 2</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="403">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia Z MTP</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="20883">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia Z MTP+ADB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="16787">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia Z MTP+CDROM</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="438">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia Z Ultra MTP</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="406">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia Z Ultra MTP (ID2)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="412">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia Z Ultra MTP (ID3)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="20918">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia Z Ultra MTP+ADB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="20886">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia Z Ultra MTP+ADB (ID2)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="20892">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia Z Ultra MTP+ADB (ID3)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="16796">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia Z Ultra MTP+CDROM (ID3)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="423">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia Z1 Compact D5503</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="16807">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia Z1 Compact D5503 MTP+CDROM</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="20903">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia Z1 Compact MTP+ADB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="414">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia Z1 MTP</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="20894">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia Z1 MTP+ADB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="16798">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia Z1 MTP+CDROM</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="431">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia Z2 MTP</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="20911">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia Z2 MTP+ADB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="16815">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia Z2 MTP+CDROM</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="443">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia Z3 Compact MTP</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="20923">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia Z3 Compact MTP+ADB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="16827">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia Z3 Compact MTP+CDROM</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="442">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia Z3 MTP</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="20922">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia Z3 MTP+ADB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="16826">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia Z3 MTP+CDROM</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="393">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia ZL MTP</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="20873">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia ZL MTP+ADB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="16777">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia ZL MTP+CDROM</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="407">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia ZR MTP</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="20887">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SONY Xperia ZR MTP+ADB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="326">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SonyEricsson c1605 Xperia Dual E MTP</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="20806">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SonyEricsson c1605 Xperia Dual E MTP+ADB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="217">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SonyEricsson C702</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="212">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SonyEricsson C902</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="239">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SonyEricsson C905</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="343">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SonyEricsson IS12S Xperia Acro MTP</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="20823">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SonyEricsson IS12S Xperia Acro MTP+ADB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="16727">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SonyEricsson IS12S Xperia Acro MTP+CDROM</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="334">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SonyEricsson j108i (Cedar)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="53572">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SonyEricsson j10i (Elm)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="324">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SonyEricsson j10i2 (Elm)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="57344">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SonyEricsson K550i</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="117">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SonyEricsson K850i</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="20815">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SonyEricsson LT15i Xperia Arc MTP+ADB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="335">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SonyEricsson LT15i Xperia arc S MTP</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="346">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SonyEricsson MK16i Xperia MTP</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="20826">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SonyEricsson MK16i Xperia MTP+ADB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="342">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SonyEricsson MT11i Xperia Neo MTP</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="20822">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SonyEricsson MT11i Xperia Neo MTP+ADB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="349">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SonyEricsson R800/R88i Xperia Play MTP</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="20829">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SonyEricsson R800/R88i Xperia Play MTP+ADB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="358">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SonyEricsson SK17i Xperia Mini Pro MTP</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="20838">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SonyEricsson SK17i Xperia Mini Pro MTP+ADB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="359">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SonyEricsson ST15i Xperia Mini MTP</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="20839">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SonyEricsson ST15i Xperia Mini MTP+ADB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="360">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SonyEricsson ST17i Xperia Active MTP</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="20840">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SonyEricsson ST17i Xperia Active MTP+ADB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="16744">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SonyEricsson ST17i Xperia Active MTP+CDROM</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="353">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SonyEricsson ST18a Xperia Ray MTP</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="20833">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SonyEricsson ST18i Xperia Ray MTP+ADB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="251">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SonyEricsson T700</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="307">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SonyEricsson U5</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="314">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SonyEricsson U8i</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="4296">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SonyEricsson W302</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="243">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SonyEricsson W595</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="261">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SonyEricsson W705/W715</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="198">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SonyEricsson W760i</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="179">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SonyEricsson W890i</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="245">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SonyEricsson W902</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="118">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SonyEricsson W910</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="218">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SonyEricsson W980</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="274">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SonyEricsson W995</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4046">
- <match key="usb.product_id" int="20845">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">SonyEricsson WT19i Live Walkman MTP+ADB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10096">
- <match key="usb.product_id" int="36956">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Soundstar TDC-35</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1363">
- <match key="usb.product_id" int="514">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">SpyPen Axys</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1363">
- <match key="usb.product_id" int="514">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">SpyPen Cleo</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1363">
- <match key="usb.product_id" int="514">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">SpyPen Luxo</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1363">
- <match key="usb.product_id" int="514">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">SpyPen Memo</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1363">
- <match key="usb.product_id" int="514">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">SpyPen Xion</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10096">
- <match key="usb.product_id" int="37152">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">SQ chip camera</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2329">
- <match key="usb.product_id" int="256">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">StarCam CP086</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1363">
- <match key="usb.product_id" int="514">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">STM USB Dual-mode camera</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10096">
- <match key="usb.product_id" int="36956">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Stop &amp; Shop 87096</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1363">
- <match key="usb.product_id" int="514">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">STV0680</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10096">
- <match key="usb.product_id" int="37181">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Suprema Digital Keychain Camera</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10096">
- <match key="usb.product_id" int="37152">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">SY-2107C</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1105">
- <match key="usb.product_id" int="53512">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">TCL Alcatel one touch 986+</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="5073">
- <match key="usb.product_id" int="28695">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Technika MP-709</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2726">
- <match key="usb.product_id" int="12305">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Tevion MD 81488</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1691">
- <match key="usb.product_id" int="12341">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Thomson / RCA Lyra HC308A</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1691">
- <match key="usb.product_id" int="1911">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Thomson / RCA Opal / Lyra MC4002</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1691">
- <match key="usb.product_id" int="1908">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Thomson EM28 Series</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1691">
- <match key="usb.product_id" int="1916">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Thomson Lyra MC5104B (M51 Series)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1691">
- <match key="usb.product_id" int="12314">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Thomson RCA H106</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1691">
- <match key="usb.product_id" int="12328">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Thomson scenium E308</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2329">
- <match key="usb.product_id" int="256">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Tiger Fast Flicks</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1363">
- <match key="usb.product_id" int="514">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Timlex CP075</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="5008">
- <match key="usb.product_id" int="21589">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">TomTom Rider 40</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4571">
- <match key="usb.product_id" int="4096">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Topfield TF5000PVR</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2352">
- <match key="usb.product_id" int="2403">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Toshiba Excite AT300</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2352">
- <match key="usb.product_id" int="12">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Toshiba Gigabeat</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2352">
- <match key="usb.product_id" int="9">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Toshiba Gigabeat MEGF-40</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2352">
- <match key="usb.product_id" int="29">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Toshiba Gigabeat MET401</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2352">
- <match key="usb.product_id" int="26">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Toshiba Gigabeat MEU201</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2352">
- <match key="usb.product_id" int="24">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Toshiba Gigabeat MEU202</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2352">
- <match key="usb.product_id" int="17">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Toshiba Gigabeat P10</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2352">
- <match key="usb.product_id" int="15">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Toshiba Gigabeat P20</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2352">
- <match key="usb.product_id" int="16">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Toshiba Gigabeat S</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2352">
- <match key="usb.product_id" int="25">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Toshiba Gigabeat T</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2352">
- <match key="usb.product_id" int="22">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Toshiba Gigabeat U</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2352">
- <match key="usb.product_id" int="20">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Toshiba Gigabeat V30</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4402">
- <match key="usb.product_id" int="17207">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Toshiba PDR-M11</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4402">
- <match key="usb.product_id" int="17202">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Toshiba PDR-M60</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4402">
- <match key="usb.product_id" int="17205">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Toshiba PDR-M61</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="4402">
- <match key="usb.product_id" int="17204">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Toshiba PDR-M65</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2352">
- <match key="usb.product_id" int="28928">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Toshiba Thrive AT100/AT105</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3478">
- <match key="usb.product_id" int="13056">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Traveler SX330z</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3478">
- <match key="usb.product_id" int="16640">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Traveler SX410z</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="7784">
- <match key="usb.product_id" int="2">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">TrekStor i.Beat Organix 2.0</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1026">
- <match key="usb.product_id" int="1553">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">TrekStor i.Beat Sweez FM</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1647">
- <match key="usb.product_id" int="33834">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">TrekStor Vibez 8/12GB</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2125">
- <match key="usb.product_id" int="3">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Trust Familycam 300</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1750">
- <match key="usb.product_id" int="46">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Trust PowerC@m 350FS</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1750">
- <match key="usb.product_id" int="45">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Trust PowerC@m 350FT</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2250">
- <match key="usb.product_id" int="272">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Trust Spyc@m 100</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1276">
- <match key="usb.product_id" int="20554">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Trust Spyc@m 500F FLASH</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1943">
- <match key="usb.product_id" int="32794">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Typhoon StyloCam</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1363">
- <match key="usb.product_id" int="514">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">UMAX AstraPen</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3428">
- <match key="usb.product_id" int="4097">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">UMAX AstraPix 320s</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.interface.class" int="6">
- <match key="usb.interface.subclass" int="1">
- <match key="usb.interface.protocol" int="1">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">ptp</merge>
- <merge key="camera.libgphoto2.name" type="string">USB PTP Class Camera</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- </match>
- <match key="usb.vendor_id" int="8711">
- <match key="usb.product_id" int="1">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Various Viewpia DR/bq Kepler</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="8711">
- <match key="usb.product_id" int="17">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Various Viewpia DR/bq Kepler Debugging</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1032">
- <match key="usb.product_id" int="14489">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Verizon Ellipsis 7</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10096">
- <match key="usb.product_id" int="37152">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">ViviCam3350</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10096">
- <match key="usb.product_id" int="37152">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">ViviCam5B</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2425">
- <match key="usb.product_id" int="551">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Vivitar Freelance</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2362">
- <match key="usb.product_id" int="270">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Vivitar Mini Digital Camera</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="2362">
- <match key="usb.product_id" int="271">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Vivitar Vivicam 55</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3141">
- <match key="usb.product_id" int="32778">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Vivitar Vivicam3350B</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10096">
- <match key="usb.product_id" int="36956">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Vivitar Vivicam35</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1161">
- <match key="usb.product_id" int="57617">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Vizio (for Lenovo) LIFETAB S9714</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1161">
- <match key="usb.product_id" int="49190">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Vizio Unknown 1</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1161">
- <match key="usb.product_id" int="57408">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Vizio VTAB1008</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1329">
- <match key="usb.product_id" int="8193">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Wacom Cintiq Companion Hybrid (MTP+ADB)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="3141">
- <match key="usb.product_id" int="32769">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">Wild Planet Digital Spy Camera 70137</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="7763">
- <match key="usb.product_id" int="7">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Wyplay Wyplayer</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10007">
- <match key="usb.product_id" int="4968">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Xiaomi HM NOTE 1LTEW MIUI (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10007">
- <match key="usb.product_id" int="4680">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Xiaomi Hongmi (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10007">
- <match key="usb.product_id" int="4672">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Xiaomi Hongmi (MTP+ADB)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10007">
- <match key="usb.product_id" int="61443">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Xiaomi Mi-2 (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10007">
- <match key="usb.product_id" int="36921">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Xiaomi Mi-2 (MTP+ADB)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10007">
- <match key="usb.product_id" int="65352">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Xiaomi Mi-2s (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10007">
- <match key="usb.product_id" int="872">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Xiaomi Mi-3 (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10007">
- <match key="usb.product_id" int="864">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Xiaomi Mi-3w (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10007">
- <match key="usb.product_id" int="1632">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Xiaomi MiPad (MTP)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="8711">
- <match key="usb.product_id" int="6">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">YiFang BQ Tesla</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10518">
- <match key="usb.product_id" int="37197">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Yota Phone 2</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10518">
- <match key="usb.product_id" int="61443">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">Yota Phone 2 (ID2)</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="7871">
- <match key="usb.product_id" int="32553">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">YU Yureka Vodafone smart turbo 4</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="1054">
- <match key="usb.product_id" int="24576">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">ZiiLABS Zii EGG</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="10096">
- <match key="usb.product_id" int="36956">
- <merge key="info.category" type="string">camera</merge>
- <addset key="info.capabilities" type="strlist">camera</addset>
- <merge key="camera.access_method" type="string">proprietary</merge>
- <merge key="camera.libgphoto2.name" type="string">ZINA Mini Digital Keychain Camer</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6610">
- <match key="usb.product_id" int="835">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">ZTE Grand X In</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6610">
- <match key="usb.product_id" int="65486">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">ZTE V5</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6610">
- <match key="usb.product_id" int="580">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">ZTE V55 ID 1</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6610">
- <match key="usb.product_id" int="581">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">ZTE V55 ID 2</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6610">
- <match key="usb.product_id" int="774">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">ZTE V790/Blade 3</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6610">
- <match key="usb.product_id" int="775">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">ZTE V880E</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- <match key="usb.vendor_id" int="6610">
- <match key="usb.product_id" int="899">
- <merge key="info.category" type="string">portable_audio_player</merge>
- <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
- <merge key="portable_audio_player.access_method" type="string">user</merge>
- <merge key="portable_audio_player.type" type="string">mtp</merge>
- <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
- <merge key="camera.libgphoto2.name" type="string">ZTE V985</merge>
- <merge key="camera.libgphoto2.support" type="bool">true</merge>
- </match>
- </match>
- </match>
- </device>
-</deviceinfo>
diff --git a/meta-oe/recipes-graphics/gphoto2/libgphoto2/fix-build-with-gcc-14.patch b/meta-oe/recipes-graphics/gphoto2/libgphoto2/fix-build-with-gcc-14.patch
new file mode 100644
index 0000000000..0c2a8d4bd0
--- /dev/null
+++ b/meta-oe/recipes-graphics/gphoto2/libgphoto2/fix-build-with-gcc-14.patch
@@ -0,0 +1,36 @@
+From 721f7f8c3ec8058d504607873e4c317aac0c99c5 Mon Sep 17 00:00:00 2001
+From: Marcus Meissner <marcus@jet.franken.de>
+Date: Mon, 4 Dec 2023 13:26:08 +0100
+Subject: [PATCH] align outlen length with jpeg jeaders. fixes
+ https://github.com/gphoto/libgphoto2/issues/941
+
+---
+Upstream-Status: Backport [https://github.com/gphoto/libgphoto2/commit/721f7f8c3ec8058d504607873e4c317aac0c99c5]
+
+ camlibs/ptp2/chdk.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/camlibs/ptp2/chdk.c b/camlibs/ptp2/chdk.c
+index e1d898f378..e775ea1d4b 100644
+--- a/camlibs/ptp2/chdk.c
++++ b/camlibs/ptp2/chdk.c
+@@ -1150,7 +1150,7 @@ static void yuv_live_to_jpeg(unsigned char *p_yuv,
+ struct jpeg_error_mgr jerr;
+ JSAMPROW row_ptr[1];
+ uint8_t *outbuf = NULL, *tmprowbuf = NULL;
+- uint64_t outlen = 0;
++ unsigned long outlen = 0;
+ unsigned int row_inc;
+ int sshift, dshift, xshift, skip;
+
+@@ -1161,8 +1161,8 @@ static void yuv_live_to_jpeg(unsigned char *p_yuv,
+ sshift = 6;
+ dshift = (width/height > 2) ? 6 : 12;
+ xshift = 4;
+- /* Digic 6 cameras: 8 bit per element UYVY,
+- * 4 bytes used to encode 2 pixels, need 6 bytes raw YUV data for jpeg encoding */
++ /* Digic 6 cameras: 8 bit per element UYVY,
++ * 4 bytes used to encode 2 pixels, need 6 bytes raw YUV data for jpeg encoding */
+ } else {
+ row_inc = buf_width*2;
+ sshift = 4;
diff --git a/meta-oe/recipes-graphics/gphoto2/libgphoto2_2.5.17.bb b/meta-oe/recipes-graphics/gphoto2/libgphoto2_2.5.31.bb
index 91c5ed2116..57c9d199eb 100644
--- a/meta-oe/recipes-graphics/gphoto2/libgphoto2_2.5.17.bb
+++ b/meta-oe/recipes-graphics/gphoto2/libgphoto2_2.5.31.bb
@@ -1,7 +1,7 @@
SUMMARY = "libgphoto2 allows you to access digital cameras"
SECTION = "libs"
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=0448d3676bc0de00406af227d341a4d1"
+LICENSE = "LGPL-2.1-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=477378d78dfeeaa93826ee4ec7c643fb"
DEPENDS = "libtool jpeg virtual/libusb0 libexif zlib libxml2"
@@ -10,14 +10,12 @@ DEPENDS = "libtool jpeg virtual/libusb0 libexif zlib libxml2"
# They are release specific, so please regen when adding new releases
SRC_URI = "${SOURCEFORGE_MIRROR}/gphoto/libgphoto2-${PV}.tar.bz2;name=libgphoto2 \
- file://10-camera-libgphoto2-device.fdi \
- file://10-camera-libgphoto2.fdi \
file://40-libgphoto2.rules \
file://0001-configure.ac-remove-AM_PO_SUBDIRS.patch \
+ file://0001-configure-Filter-out-buildpaths-from-CC.patch \
+ file://fix-build-with-gcc-14.patch \
"
-
-SRC_URI[libgphoto2.md5sum] = "ae78e7a7936a6962c3a22b256bee1869"
-SRC_URI[libgphoto2.sha256sum] = "417464f0a313fa937e8a71cdf18a371cf01e750830195cd63ae31da0d092b555"
+SRC_URI[libgphoto2.sha256sum] = "4f81c34c0b812bee67afd5f144940fbcbe01a2055586a6a1fa2d0626024a545b"
inherit autotools pkgconfig gettext lib_package
@@ -27,28 +25,30 @@ PACKAGECONFIG ??= ""
PACKAGECONFIG[gd] = ",--without-gdlib,gd"
PACKAGECONFIG[serial] = "--enable-serial,--disable-serial,lockdev"
-do_configure_append() {
+do_configure:prepend() {
+ rm -rf ${S}/libgphoto2_port/auto-m4/*
+ rm -rf ${S}/auto-m4/*
+}
+
+do_configure:append() {
cp ${STAGING_DATADIR_NATIVE}/gettext/po/Makefile.in.in ${S}/libgphoto2_port/po/
cd ${S}/libgphoto2_port/
autoreconf -Wcross --verbose --install --force ${EXTRA_AUTORECONF} $acpaths
cd ${S}
}
-do_install_append() {
- install -d ${D}${datadir}/hal/fdi/information/20thirdparty
- install -m 0644 ${WORKDIR}/*.fdi ${D}${datadir}/hal/fdi/information/20thirdparty/
-
+do_install:append() {
install -d ${D}${sysconfdir}/udev/rules.d/
- install -m 0755 ${WORKDIR}/*.rules ${D}${sysconfdir}/udev/rules.d/
+ install -m 0644 ${UNPACKDIR}/*.rules ${D}${sysconfdir}/udev/rules.d/
}
PACKAGES =+ "libgphotoport libgphoto2-camlibs"
-FILES_libgphoto2-camlibs = "${libdir}/libgphoto2*/*/*.so*"
-RRECOMMENDS_${PN} = "libgphoto2-camlibs"
+FILES:libgphoto2-camlibs = "${libdir}/libgphoto2*/*/*.so*"
+RRECOMMENDS:${PN} = "libgphoto2-camlibs"
-FILES_libgphotoport = "${libdir}/libgphoto2_port.so.*"
+FILES:libgphotoport = "${libdir}/libgphoto2_port.so.*"
-FILES_${PN} += "${nonarch_base_libdir}/udev/* ${datadir}/hal"
-FILES_${PN}-dbg += "${libdir}/*/*/.debug"
-FILES_${PN}-dev += "${libdir}/*/*/*.la"
-FILES_${PN}-doc += "${datadir}/libgphoto2_port/0.12.0/vcamera/README.txt"
+FILES:${PN} += "${nonarch_base_libdir}/udev/*"
+FILES:${PN}-dbg += "${libdir}/*/*/.debug"
+FILES:${PN}-dev += "${libdir}/*/*/*.la"
+FILES:${PN}-doc += "${datadir}/libgphoto2_port/0.12.?/vcamera/README.txt"
diff --git a/meta-oe/recipes-graphics/graphviz/graphviz/0001-Autotools-fix-do-not-put-prefix-based-paths-in-compi.patch b/meta-oe/recipes-graphics/graphviz/graphviz/0001-Autotools-fix-do-not-put-prefix-based-paths-in-compi.patch
new file mode 100644
index 0000000000..0d3f412706
--- /dev/null
+++ b/meta-oe/recipes-graphics/graphviz/graphviz/0001-Autotools-fix-do-not-put-prefix-based-paths-in-compi.patch
@@ -0,0 +1,58 @@
+From 671e0d091b40ef7deb4a9d43e0dbed2a44edbec8 Mon Sep 17 00:00:00 2001
+From: Matthew Fernandez <matthew.fernandez@gmail.com>
+Date: Sat, 9 Sep 2023 01:03:04 -0700
+Subject: [PATCH] Autotools: fix: do not put '$prefix' based paths in
+ compilation flags
+
+This was causing problems with cross-compilation with a dedicated sysroot,
+because compilation would incorrectly use headers and libraries from the
+`--prefix` path. The `--prefix` path is meant to indicate a target path to
+install to, not a path from which to source dependent libraries.
+
+Gitlab: fixes #2442
+Reported-by: Daniel Klauer
+Suggested-by: Daniel Klauer
+
+Upstream-Status: Backport [https://gitlab.com/graphviz/graphviz/-/commit/012d250a903e13114bce3ba40995fb957fed7848]
+Signed-off-by: Daniel Klauer <daniel.klauer@gin.de>
+---
+ CHANGELOG.md | 3 +++
+ configure.ac | 8 --------
+ 2 files changed, 3 insertions(+), 8 deletions(-)
+
+diff --git a/CHANGELOG.md b/CHANGELOG.md
+index b9b7e8e08..3a15fd256 100644
+--- a/CHANGELOG.md
++++ b/CHANGELOG.md
+@@ -39,6 +39,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
+ longer fails due to missing PHP files. #2388
+ - Syntax for a loop in `gvmap.sh` has been corrected. This was a regression in
+ Graphviz 2.50.0. #2404
++- The Autotools build system no longer uses headers and libraries from the
++ `--prefix` path given on the command line. This previously caused
++ cross-compilation to incorrectly pick up host headers and libraries. #2442
+
+ ## [8.0.5] – 2023-04-30
+
+diff --git a/configure.ac b/configure.ac
+index 573a3ee5d..7d53346de 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -190,14 +190,6 @@ if test "x${prefix}" = "xNONE"; then
+ AC_SUBST([prefix])
+ fi
+
+-# automatically check for other dependencies in $prefix first
+-if test "x${prefix}" != "x/usr"; then
+- CPPFLAGS="$CPPFLAGS -I${prefix}/include"
+- LDFLAGS="$LDFLAGS -L${prefix}/lib"
+- PKG_CONFIG_PATH="$prefix/lib/pkgconfig$PATHSEPARATOR$PKG_CONFIG_PATH"
+- export PKG_CONFIG_PATH
+-fi
+-
+ dnl -----------------------------------
+ # Static/Shared binaries
+
+--
+2.34.1
+
diff --git a/meta-oe/recipes-graphics/graphviz/graphviz/0001-Set-use_tcl-to-be-empty-string-if-tcl-is-disabled.patch b/meta-oe/recipes-graphics/graphviz/graphviz/0001-Set-use_tcl-to-be-empty-string-if-tcl-is-disabled.patch
new file mode 100644
index 0000000000..99b53e2e12
--- /dev/null
+++ b/meta-oe/recipes-graphics/graphviz/graphviz/0001-Set-use_tcl-to-be-empty-string-if-tcl-is-disabled.patch
@@ -0,0 +1,33 @@
+From 564901ab78da2b2b1bed92351dc3c102dc0a8154 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 6 Aug 2019 17:51:39 -0700
+Subject: [PATCH] Set use_tcl to be empty string if tcl is disabled
+
+Upstream-Status: Inappropriate [Cross-compile specific]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/configure.ac
++++ b/configure.ac
+@@ -1225,7 +1225,7 @@ AC_ARG_ENABLE(tcl,
+ [], [enable_tcl=yes])
+
+ if test "x$enable_tcl" != "xyes"; then
+- use_tcl="No (disabled)"
++ use_tcl=""
+ fi
+
+ if test "x$use_tcl" = "x"; then
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -11,7 +11,7 @@ pkginclude_HEADERS = $(top_builddir)/gra
+ dist_man_MANS = graphviz.7
+
+ # $(subdirs) contains the list from: AC_CONFIG_SUBDIRS
+-SUBDIRS = $(subdirs) lib plugin cmd tclpkg doc contrib share graphs tests
++SUBDIRS = $(subdirs) lib plugin cmd doc contrib share graphs tests
+
+ .PHONY: doxygen
+ doxygen:
diff --git a/meta-oe/recipes-graphics/graphviz/graphviz/graphviz-setup.sh b/meta-oe/recipes-graphics/graphviz/graphviz/graphviz-setup.sh
new file mode 100644
index 0000000000..df0be9e3ed
--- /dev/null
+++ b/meta-oe/recipes-graphics/graphviz/graphviz/graphviz-setup.sh
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+echo "Setting up graphviz..."
+
+# Create /usr/lib/graphviz/config6
+$OECORE_NATIVE_SYSROOT/usr/bin/dot -c
diff --git a/meta-oe/recipes-graphics/graphviz/graphviz_8.1.0.bb b/meta-oe/recipes-graphics/graphviz/graphviz_8.1.0.bb
new file mode 100644
index 0000000000..7548e976f1
--- /dev/null
+++ b/meta-oe/recipes-graphics/graphviz/graphviz_8.1.0.bb
@@ -0,0 +1,124 @@
+SUMMARY = "Graph Visualization Tools"
+HOMEPAGE = "http://www.graphviz.org"
+LICENSE = "EPL-1.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=9109f5fc16cf963fb3cdd32781b3ce04"
+
+DEPENDS = " \
+ bison-native \
+ groff-native \
+ libtool \
+ gdk-pixbuf \
+ cairo \
+ pango \
+ expat \
+ freetype \
+"
+DEPENDS:append:class-target = " ${BPN}-native"
+DEPENDS:append:class-nativesdk = " ${BPN}-native"
+
+inherit autotools-brokensep pkgconfig gettext qemu
+
+SRC_URI = "https://gitlab.com/api/v4/projects/4207231/packages/generic/${BPN}-releases/${PV}/${BP}.tar.xz \
+ file://0001-Autotools-fix-do-not-put-prefix-based-paths-in-compi.patch \
+ "
+# Use native mkdefs
+SRC_URI:append:class-target = "\
+ file://0001-Set-use_tcl-to-be-empty-string-if-tcl-is-disabled.patch \
+"
+SRC_URI:append:class-nativesdk = "\
+ file://graphviz-setup.sh \
+"
+SRC_URI[sha256sum] = "d593695fdaa8a19297523b679ad13d3ef2027b0b7f14cc2bc23e77969ed81565"
+
+UPSTREAM_CHECK_URI = "https://graphviz.org/download/"
+UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)"
+
+PACKAGECONFIG ??= "librsvg"
+PACKAGECONFIG[librsvg] = "--with-librsvg,--without-librsvg,librsvg"
+
+EXTRA_OECONF:append = " PS2PDF=/bin/echo --disable-man-pdfs"
+
+EXTRA_OECONF:class-target = "\
+ --with-expatincludedir=${STAGING_INCDIR} \
+ --with-expatlibdir=${STAGING_LIBDIR} \
+ --without-included-ltdl \
+ --disable-java \
+ --disable-tcl \
+ --disable-r \
+ --disable-sharp \
+ "
+EXTRA_OECONF:class-nativesdk = "\
+ --with-expatincludedir=${STAGING_INCDIR} \
+ --with-expatlibdir=${STAGING_LIBDIR} \
+ --without-included-ltdl \
+ --disable-java \
+ --disable-tcl \
+ --disable-r \
+ --disable-sharp \
+ "
+EXTRA_OECONF:class-native = "\
+ --disable-tcl \
+ "
+CFLAGS:append:class-target = " -D_typ_ssize_t=1 -D_long_double=1"
+CFLAGS:append:class-nativesdk = " -D_typ_ssize_t=1 -D_long_double=1"
+do_configure:prepend() {
+ cd ${S}
+ # create version.m4 and ignore libtoolize errors
+ ./autogen.sh NOCONFIG || true
+}
+
+do_install:append:class-nativesdk() {
+ # graphviz-setup.sh must be executed at SDK installation
+ install -d ${D}${SDKPATHNATIVE}/post-relocate-setup.d
+ install -m 0755 ${UNPACKDIR}/graphviz-setup.sh ${D}${SDKPATHNATIVE}/post-relocate-setup.d
+}
+FILES:${PN}:class-nativesdk += "${SDKPATHNATIVE}"
+
+# create /usr/lib/graphviz/config6
+graphviz_sstate_postinst() {
+ mkdir -p ${SYSROOT_DESTDIR}${bindir}
+ dest=${SYSROOT_DESTDIR}${bindir}/postinst-${PN}
+ echo '#!/bin/sh' > $dest
+ echo '' >> $dest
+ echo 'dot -c' >> $dest
+ chmod 0755 $dest
+}
+SYSROOT_PREPROCESS_FUNCS:append:class-native = " graphviz_sstate_postinst"
+
+pkg_postinst:${PN} () {
+ if [ -n "$D" ]; then
+ if ${@bb.utils.contains('MACHINE_FEATURES', 'qemu-usermode', 'true', 'false', d)}; then
+ ${@qemu_run_binary(d, '$D', '${bindir}/dot')} -c
+ fi
+ else
+ dot -c
+ fi
+}
+
+pkg_postrm:${PN} () {
+ rm -f $D${libdir}/graphviz/config*
+ rmdir --ignore-fail-on-non-empty $D${libdir}/graphviz
+}
+
+PACKAGE_WRITE_DEPS += "qemu-native"
+
+PACKAGES =+ "${PN}-python ${PN}-perl ${PN}-demo"
+
+FILES:${PN}-python += "${PYTHON_SITEPACKAGES_DIR}/ ${libdir}/graphviz/python/"
+FILES:${PN}-perl += "${libdir}/perl5/*/vendor_perl/ ${libdir}/graphviz/perl/"
+FILES:${PN}-demo += "${datadir}/graphviz/demo/"
+
+RDEPENDS:${PN}-perl += "perl"
+RDEPENDS:${PN}-python += "python3"
+RDEPENDS:${PN}-demo += "python3 perl"
+
+RRECOMMENDS:${PN} = "liberation-fonts"
+
+INSANE_SKIP:${PN}-perl = "dev-so"
+INSANE_SKIP:${PN}-python = "dev-so"
+
+FILES_SOLIBSDEV:append = " ${libdir}/graphviz/lib*${SOLIBSDEV}"
+
+RRECOMMENDS:${PN} = "liberation-fonts"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-graphics/gtkperf/gtkperf/0001-Include-stdlib.h-for-exit-API.patch b/meta-oe/recipes-graphics/gtkperf/gtkperf/0001-Include-stdlib.h-for-exit-API.patch
index d529ddd234..949151a827 100644
--- a/meta-oe/recipes-graphics/gtkperf/gtkperf/0001-Include-stdlib.h-for-exit-API.patch
+++ b/meta-oe/recipes-graphics/gtkperf/gtkperf/0001-Include-stdlib.h-for-exit-API.patch
@@ -14,6 +14,8 @@ http://sources.debian.net/src/gtkperf/0.40%2Bds-2/debian/patches/01-include_stdl
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
+Upstream-Status: Pending
+
src/main.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/meta-oe/recipes-graphics/gtkperf/gtkperf/0001-main.c-Define-prototype-for-setup_appdata.patch b/meta-oe/recipes-graphics/gtkperf/gtkperf/0001-main.c-Define-prototype-for-setup_appdata.patch
new file mode 100644
index 0000000000..08e899b9a6
--- /dev/null
+++ b/meta-oe/recipes-graphics/gtkperf/gtkperf/0001-main.c-Define-prototype-for-setup_appdata.patch
@@ -0,0 +1,27 @@
+From 6b5f695cb206cd8b3cbcbcd7713e52772e89306b Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 2 Sep 2022 20:47:32 -0700
+Subject: [PATCH] main.c: Define prototype for setup_appdata
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/main.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/src/main.c b/src/main.c
+index c226799..b4ce6d1 100644
+--- a/src/main.c
++++ b/src/main.c
+@@ -18,6 +18,8 @@
+ #include "callbacks.h"
+ #include "appdata.h"
+
++void setup_appdata(AppData * appdata_in);
++
+ int
+ main (int argc, char **argv)
+ {
+--
+2.37.3
+
diff --git a/meta-oe/recipes-graphics/gtkperf/gtkperf/0002-timing.c-Fix-format-security-errors.patch b/meta-oe/recipes-graphics/gtkperf/gtkperf/0002-timing.c-Fix-format-security-errors.patch
index 0548040af7..f975acabad 100644
--- a/meta-oe/recipes-graphics/gtkperf/gtkperf/0002-timing.c-Fix-format-security-errors.patch
+++ b/meta-oe/recipes-graphics/gtkperf/gtkperf/0002-timing.c-Fix-format-security-errors.patch
@@ -5,6 +5,8 @@ Subject: [PATCH 2/2] timing.c: Fix format-security errors
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
+Upstream-Status: Pending
+
src/timing.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/meta-oe/recipes-graphics/gtkperf/gtkperf/gettext.patch b/meta-oe/recipes-graphics/gtkperf/gtkperf/gettext.patch
new file mode 100644
index 0000000000..4a727d3c06
--- /dev/null
+++ b/meta-oe/recipes-graphics/gtkperf/gtkperf/gettext.patch
@@ -0,0 +1,36 @@
+Fix build with gettext 0.20.x
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -3,7 +3,7 @@
+ ## If you don't want it to overwrite it,
+ ## Please disable it in the Anjuta project configuration
+
+-SUBDIRS = intl po src pixmaps
++SUBDIRS = po src pixmaps
+
+ gtkperfdocdir = ${prefix}/doc/gtkperf
+ gtkperfdoc_DATA = \
+--- a/configure.in
++++ b/configure.in
+@@ -31,8 +31,7 @@ AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GE
+
+ dnl Languages which your application supports
+ ALL_LINGUAS=""
+-AM_GNU_GETTEXT
+-AM_GNU_GETTEXT_VERSION(0.10.40)
++AM_GNU_GETTEXT([external])
+
+ dnl Set PACKAGE_LOCALE_DIR in config.h.
+ if test "x${prefix}" = "xNONE"; then
+@@ -100,7 +99,6 @@ AC_DEFINE_UNQUOTED(PACKAGE_SOURCE_DIR, "
+
+ AC_OUTPUT([
+ Makefile
+-intl/Makefile
+ po/Makefile.in
+ src/Makefile
+ pixmaps/Makefile
diff --git a/meta-oe/recipes-graphics/gtkperf/gtkperf_0.40.bb b/meta-oe/recipes-graphics/gtkperf/gtkperf_0.40.bb
index 4094513b29..a5c8de8f61 100644
--- a/meta-oe/recipes-graphics/gtkperf/gtkperf_0.40.bb
+++ b/meta-oe/recipes-graphics/gtkperf/gtkperf_0.40.bb
@@ -1,32 +1,37 @@
SUMMARY = "GTK Performance tool"
SECTION = "libs"
-LICENSE = "LGPLv2.1"
+LICENSE = "LGPL-2.1-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
SRC_URI = "http://prdownloads.sourceforge.net/${BPN}/${BPN}_${PV}.tar.gz \
file://Makevars \
file://0001-Include-stdlib.h-for-exit-API.patch \
file://0002-timing.c-Fix-format-security-errors.patch \
+ file://gettext.patch \
+ file://0001-main.c-Define-prototype-for-setup_appdata.patch \
"
SRC_URI[md5sum] = "4331dde4bb83865e15482885fcb0cc53"
SRC_URI[sha256sum] = "9704344e732038eecbd007dd996a56293a6b027b5b76f3f036273a3fae1ab27b"
+UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/gtkperf/files/gtkperf/"
+UPSTREAM_CHECK_REGEX = "${BPN}_(?P<pver>\d+(\.\d+)+)"
+
DEPENDS = "gtk+"
S = "${WORKDIR}/${BPN}"
-inherit distro_features_check autotools binconfig pkgconfig gettext
+inherit features_check autotools binconfig pkgconfig gettext
REQUIRED_DISTRO_FEATURES = "x11"
-do_configure_prepend () {
+do_configure:prepend () {
rm -f ${S}/m4/init.m4
- cp -f ${WORKDIR}/Makevars ${S}/po/
+ cp -f ${UNPACKDIR}/Makevars ${S}/po/
}
-do_install_append () {
+do_install:append () {
rm -rf ${D}/${exec_prefix}/doc
}
-FILES_${PN} += "${exec_prefix}/share/duck.png"
+FILES:${PN} += "${exec_prefix}/share/duck.png"
diff --git a/meta-oe/recipes-graphics/gtkwave/gtkwave_3.3.120.bb b/meta-oe/recipes-graphics/gtkwave/gtkwave_3.3.120.bb
new file mode 100644
index 0000000000..b7807c8853
--- /dev/null
+++ b/meta-oe/recipes-graphics/gtkwave/gtkwave_3.3.120.bb
@@ -0,0 +1,44 @@
+SUMMARY = "VCD (Value Change Dump) file waveform viewer"
+DESCRIPTION = "gtkwave is a viewer for VCD (Value Change Dump) files which are usually created by digital circuit simulators. (These files have no connection to video CDs!) "
+HOMEPAGE = "http://gtkwave.sourceforge.net/"
+
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=75859989545e37968a99b631ef42722e"
+
+SRC_URI = "http://gtkwave.sourceforge.net/gtkwave-gtk3-${PV}.tar.gz"
+SRC_URI[sha256sum] = "5da94863fb2e5d88cc019e2bfdc676022398113894b585d864e11ca8341b24d8"
+S = "${WORKDIR}/${BPN}-gtk3-${PV}"
+
+DEPENDS = " \
+ gperf-native \
+ gtk+3 \
+ gdk-pixbuf \
+ tcl \
+ tk \
+ bzip2 \
+ xz \
+ pango \
+ zlib \
+"
+
+inherit pkgconfig autotools gettext texinfo mime mime-xdg
+
+inherit features_check
+# depends on gtk+3 which has this restriction
+# ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
+# but https://github.com/gtkwave/gtkwave/blob/f9d82a82aa3ddc30ca47984278371f62c9a3bd81/gtkwave3-gtk3/src/gtk23compat.h#L10
+# explicitly includes gdk/gdkwayland.h for gtk-3.22.26 and newer (oe-core currently has 3.24.29)
+# and it needs x11 as well for tk dependency (so it happends to be both GTK3DISTROFEATURES instead of either of them)
+REQUIRED_DISTRO_FEATURES = "wayland x11"
+
+EXTRA_OECONF = " \
+ --enable-gtk3 \
+ --with-tcl=${STAGING_BINDIR_CROSS} \
+ --with-tk=${STAGING_BINDIR_CROSS} \
+ --with-tirpc \
+ --disable-mime-update \
+"
+
+FILES:${PN} = "${bindir} ${datadir}"
+
+RDEPENDS:${PN} += "tk-lib"
diff --git a/meta-oe/recipes-graphics/imlib2/imlib2_git.bb b/meta-oe/recipes-graphics/imlib2/imlib2_git.bb
new file mode 100644
index 0000000000..8e5febd7a1
--- /dev/null
+++ b/meta-oe/recipes-graphics/imlib2/imlib2_git.bb
@@ -0,0 +1,38 @@
+SUMMARY = "A graphic library for file loading, saving, rendering, and manipulation"
+
+HOMEPAGE = "https://sourceforge.net/projects/enlightenment/"
+SECTION = "libs"
+LICENSE = "Imlib2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=344895f253c32f38e182dcaf30fe8a35"
+
+DEPENDS = "freetype "
+PROVIDES = "virtual/imlib2"
+PV = "1.12.3"
+SRCREV = "143c60194c0948aac484d37bb23c59edea2ccf19"
+
+inherit autotools pkgconfig lib_package
+
+AUTO_LIBNAME_PKGS = ""
+
+SRC_URI = "git://git.enlightenment.org/old/legacy-${BPN}.git;protocol=https;branch=master"
+S = "${WORKDIR}/git"
+
+PACKAGECONFIG ??= "jpeg png zlib ${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
+
+X11_DEPS = "virtual/libx11 libxext libice"
+PACKAGECONFIG[x11] = "--with-x,--without-x,${X11_DEPS}"
+
+PACKAGECONFIG[gif] = "--with-gif,--without-gif,giflib"
+PACKAGECONFIG[jpeg] = "--with-jpeg,--without-jpeg,jpeg"
+PACKAGECONFIG[png] = "--with-png,--without-png,libpng"
+PACKAGECONFIG[tiff] = "--with-tiff,--without-tiff,tiff"
+PACKAGECONFIG[webp] = "--with-webp,--without-webp,libwebp"
+
+PACKAGECONFIG[zlib] = "--with-zlib,--without-zlib,zlib"
+
+PACKAGECONFIG[id3] = "--with-id3,--without-id3,libid3tag"
+
+PACKAGES =+ "${BPN}-loaders ${BPN}-filters ${BPN}-data"
+FILES:${PN}-data = "${datadir}"
+FILES:imlib2-loaders = "${libdir}/imlib2/loaders/*.so"
+FILES:imlib2-filters = "${libdir}/imlib2/filters/*.so"
diff --git a/meta-oe/recipes-graphics/jasper/jasper_1.900.1.bb b/meta-oe/recipes-graphics/jasper/jasper_1.900.1.bb
deleted file mode 100644
index cc6a694ce1..0000000000
--- a/meta-oe/recipes-graphics/jasper/jasper_1.900.1.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY = "Jpeg 2000 implementation"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=baa697d7510288a9cdcce9bd7edaf9bc"
-
-PR = "r1"
-
-SRC_URI = "http://www.ece.uvic.ca/~mdadams/jasper/software/jasper-${PV}.zip"
-
-inherit autotools lib_package
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[jpeg] = "--enable-libjpeg,--disable-libjpeg,jpeg"
-PACKAGECONFIG[opengl] = "--enable-opengl,--disable-opengl,freeglut"
-
-EXTRA_OECONF = "--enable-shared"
-
-SRC_URI[md5sum] = "a342b2b4495b3e1394e161eb5d85d754"
-SRC_URI[sha256sum] = "6b905a9c2aca2e275544212666eefc4eb44d95d0a57e4305457b407fe63f9494"
diff --git a/meta-oe/recipes-graphics/jasper/jasper_4.1.1.bb b/meta-oe/recipes-graphics/jasper/jasper_4.1.1.bb
new file mode 100644
index 0000000000..5281980ecb
--- /dev/null
+++ b/meta-oe/recipes-graphics/jasper/jasper_4.1.1.bb
@@ -0,0 +1,34 @@
+SUMMARY = "Jpeg 2000 implementation"
+HOMEPAGE = "https://jasper-software.github.io/jasper/"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=a80440d1d8f17d041c71c7271d6e06eb"
+
+SRC_URI = "git://github.com/jasper-software/jasper.git;protocol=https;branch=master"
+SRCREV = "917f7708b755d8434f70618108c1a76f1b6a0a82"
+
+CVE_STATUS[CVE-2015-8751] = "fixed-version: The CPE in the NVD database doesn't reflect correctly the vulnerable versions."
+
+S = "${WORKDIR}/git"
+
+inherit cmake multilib_header
+
+do_configure:prepend() {
+ JAS_STDC_VERSION="$(echo __STDC_VERSION__ | ${CPP} -E -P -)"
+}
+
+EXTRA_OECMAKE:append = " -DJAS_STDC_VERSION=${JAS_STDC_VERSION}"
+
+PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'opengl x11', 'opengl', '', d)} \
+ jpeg"
+
+PACKAGECONFIG[jpeg] = "-DJAS_ENABLE_LIBJPEG=ON,-DJAS_ENABLE_LIBJPEG=OFF,jpeg,"
+PACKAGECONFIG[opengl] = "-DJAS_ENABLE_OPENGL=ON,-DJAS_ENABLE_OPENGL=OFF,freeglut,"
+
+do_install:append() {
+ chrpath -d ${D}${bindir}/jasper
+ chrpath -d ${D}${bindir}/imginfo
+ chrpath -d ${D}${bindir}/imgcmp
+ chrpath -d ${D}${libdir}/libjasper.so.*
+ oe_multilib_header jasper/jas_config.h
+}
+
diff --git a/meta-oe/recipes-graphics/leptonica/leptonica_1.74.4.bb b/meta-oe/recipes-graphics/leptonica/leptonica_1.84.1.bb
index 91fa00cc96..89a35116c3 100644
--- a/meta-oe/recipes-graphics/leptonica/leptonica_1.74.4.bb
+++ b/meta-oe/recipes-graphics/leptonica/leptonica_1.84.1.bb
@@ -1,11 +1,13 @@
DESCRIPTION = "A pedagogically-oriented open source site containing software that is broadly useful for image processing and image analysis applications"
DEPENDS = "jpeg tiff libpng zlib"
LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://leptonica-license.txt;md5=34aa579294e8284b7b848c8d5d361e8f"
+LIC_FILES_CHKSUM = "file://leptonica-license.txt;md5=809b282cea2df68975fbe0ffe02b560f"
-SRC_URI = "http://leptonica.com/source/leptonica-${PV}.tar.gz"
-SRC_URI[md5sum] = "4f32be9bd2e2c142ba018037ab5d746f"
-SRC_URI[sha256sum] = "29c35426a416bf454413c6fec24c24a0b633e26144a17e98351b6dffaa4a833b"
+UPSTREAM_CHECK_URI = "https://github.com/DanBloomberg/leptonica/releases"
+UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)"
+
+SRC_URI = "http://www.leptonica.org/source/leptonica-${PV}.tar.gz"
+SRC_URI[sha256sum] = "2b3e1254b1cca381e77c819b59ca99774ff43530209b9aeb511e1d46588a64f6"
EXTRA_OECONF += " \
--without-libwebp \
diff --git a/meta-oe/recipes-graphics/libdecor/libdecor_0.2.2.bb b/meta-oe/recipes-graphics/libdecor/libdecor_0.2.2.bb
new file mode 100644
index 0000000000..6621389b5a
--- /dev/null
+++ b/meta-oe/recipes-graphics/libdecor/libdecor_0.2.2.bb
@@ -0,0 +1,31 @@
+SUMMARY = "libdecor - A client-side decorations library for Wayland clients"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=7ae2be7fb1637141840314b51970a9f7"
+
+SRC_URI = " \
+ git://gitlab.freedesktop.org/libdecor/libdecor.git;protocol=https;branch=master \
+"
+
+DEPENDS = " \
+ cairo \
+ pango \
+ wayland \
+ wayland-native \
+ wayland-protocols \
+"
+
+S = "${WORKDIR}/git"
+SRCREV = "7807ae3480f5c6a37c5e8505d94af1e764aaf704"
+
+PACKAGECONFIG ?= "dbus ${@bb.utils.filter('DISTRO_FEATURES', 'gtk+3', d)}"
+
+PACKAGECONFIG[dbus] = "-Ddbus=enabled,-Ddbus=disabled,dbus"
+PACKAGECONFIG[demo] = "-Ddemo=true,-Ddemo=false,virtual/libegl libxkbcommon"
+PACKAGECONFIG[install_demo] = "-Dinstall_demo=true,-Dinstall_demo=false"
+PACKAGECONFIG[gtk+3] = "-Dgtk=enabled,-Dgtk=disabled,gtk+3"
+
+inherit meson pkgconfig
+
+EXTRA_OEMESON += "--buildtype release"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-graphics/libforms/files/0001-Make-extern-declarations-in-header-file.patch b/meta-oe/recipes-graphics/libforms/files/0001-Make-extern-declarations-in-header-file.patch
new file mode 100644
index 0000000000..16689f64b9
--- /dev/null
+++ b/meta-oe/recipes-graphics/libforms/files/0001-Make-extern-declarations-in-header-file.patch
@@ -0,0 +1,31 @@
+From a57c498f6c25aa297e49533c242525f2b9da7048 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 13 Aug 2020 18:20:42 -0700
+Subject: [PATCH] Make extern declarations in header file
+
+curobj is a static object in other places as well.
+Fixes build with gcc10/-fno-common
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ fdesign/sp_spinner.c | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/fdesign/sp_spinner.c b/fdesign/sp_spinner.c
+index 04f2c19..6206daa 100644
+--- a/fdesign/sp_spinner.c
++++ b/fdesign/sp_spinner.c
+@@ -29,7 +29,7 @@
+ #include "spec/spinner_spec.h"
+
+ static FD_spinnerattrib * spn_attrib;
+-FL_OBJECT *curobj;
++static FL_OBJECT *curobj;
+
+
+ /***************************************
+
+--
+2.28.0
+
diff --git a/meta-oe/recipes-graphics/libforms/files/0001-Modify-include-dir.patch b/meta-oe/recipes-graphics/libforms/files/0001-Modify-include-dir.patch
new file mode 100644
index 0000000000..0b7c063804
--- /dev/null
+++ b/meta-oe/recipes-graphics/libforms/files/0001-Modify-include-dir.patch
@@ -0,0 +1,33 @@
+From d2d05928342f7f9f687ffea5e0b77f97f0ae5aad Mon Sep 17 00:00:00 2001
+From: Wang Mingyu <wangmy@fujitsu.com>
+Date: Wed, 7 Sep 2022 14:29:13 +0900
+Subject: [PATCH] Modify include dir
+
+error messagge:
+../../xforms-1.2.4/lib/fd/cmdbr.h:28:10: fatal error: ../include/forms.h: No such file or directory
+
+../include/forms.h specified in the header file cmdbr.h is not exist.
+
+Upstream-Status: Pending
+
+Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
+---
+ lib/fd/cmdbr.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/lib/fd/cmdbr.h b/lib/fd/cmdbr.h
+index 8495e05..2ddeced 100644
+--- a/lib/fd/cmdbr.h
++++ b/lib/fd/cmdbr.h
+@@ -25,7 +25,7 @@
+ #ifndef FD_cmd_h_
+ #define FD_cmd_h_
+
+-#include "../include/forms.h"
++#include "include/forms.h"
+
+ /* Callbacks, globals and object handlers */
+
+--
+2.25.1
+
diff --git a/meta-oe/recipes-graphics/libforms/files/add-absolute-path-for-include-dir.patch b/meta-oe/recipes-graphics/libforms/files/add-absolute-path-for-include-dir.patch
new file mode 100644
index 0000000000..4836b46b11
--- /dev/null
+++ b/meta-oe/recipes-graphics/libforms/files/add-absolute-path-for-include-dir.patch
@@ -0,0 +1,14 @@
+Upstream-Status: Pending
+
+diff -Naur xforms-1.2.3.orig/fdesign/Makefile.am xforms-1.2.3/fdesign/Makefile.am
+--- xforms-1.2.3.orig/fdesign/Makefile.am 2019-02-24 12:58:51.968645873 +0000
++++ xforms-1.2.3/fdesign/Makefile.am 2019-02-24 13:00:48.500635163 +0000
+@@ -11,7 +11,7 @@
+ fdesign.1:
+ cp -p $(srcdir)/fdesign.man fdesign.1
+
+-INCLUDES = -I./xpm $(X_CFLAGS)
++INCLUDES = -I./xpm -I$(srcdir)/xpm $(X_CFLAGS)
+
+ bin_PROGRAMS = fdesign
+
diff --git a/meta-oe/recipes-graphics/libforms/files/fix-link-to-xforms-man.patch b/meta-oe/recipes-graphics/libforms/files/fix-link-to-xforms-man.patch
new file mode 100644
index 0000000000..9ab67b35ac
--- /dev/null
+++ b/meta-oe/recipes-graphics/libforms/files/fix-link-to-xforms-man.patch
@@ -0,0 +1,14 @@
+Upstream-Status: Pending
+
+diff -Naur xforms-1.2.3.orig/lib/Makefile.am xforms-1.2.3/lib/Makefile.am
+--- xforms-1.2.3.orig/lib/Makefile.am 2019-02-24 12:53:58.340678373 +0000
++++ xforms-1.2.3/lib/Makefile.am 2019-02-24 12:54:33.096674102 +0000
+@@ -25,7 +25,7 @@
+ man_MANS = xforms.5
+
+ xforms.5:
+- cp -p ./xforms.man xforms.5
++ cp -p $(srcdir)/xforms.man xforms.5
+
+ libforms_la_SOURCES = \
+ align.c \
diff --git a/meta-oe/recipes-graphics/libforms/files/fix-path-fdesign_LDADD.patch b/meta-oe/recipes-graphics/libforms/files/fix-path-fdesign_LDADD.patch
new file mode 100644
index 0000000000..dc494281b2
--- /dev/null
+++ b/meta-oe/recipes-graphics/libforms/files/fix-path-fdesign_LDADD.patch
@@ -0,0 +1,14 @@
+Upstream-Status: Pending
+
+diff -Naur xforms-1.2.3.orig/fdesign/Makefile.am xforms-1.2.3/fdesign/Makefile.am
+--- xforms-1.2.3.orig/fdesign/Makefile.am 2019-02-24 13:08:48.412603250 +0000
++++ xforms-1.2.3/fdesign/Makefile.am 2019-02-24 13:09:18.412601874 +0000
+@@ -15,7 +15,7 @@
+
+ bin_PROGRAMS = fdesign
+
+-fdesign_LDADD = $(top_srcdir)/lib/libforms.la $(X_LIBS) $(X_PRE_LIBS) $(XPM_LIB) -lX11 $(LIBS) $(X_EXTRA_LIBS)
++fdesign_LDADD = $(top_builddir)/lib/libforms.la $(X_LIBS) $(X_PRE_LIBS) $(XPM_LIB) -lX11 $(LIBS) $(X_EXTRA_LIBS)
+
+ fdesign_SOURCES = \
+ fd_attribs.c \
diff --git a/meta-oe/recipes-graphics/libforms/libforms_1.2.5pre1.bb b/meta-oe/recipes-graphics/libforms/libforms_1.2.5pre1.bb
new file mode 100644
index 0000000000..db648ec8c2
--- /dev/null
+++ b/meta-oe/recipes-graphics/libforms/libforms_1.2.5pre1.bb
@@ -0,0 +1,31 @@
+DESCRIPTION = "The XForms graphical interface widget library "
+HOMEPAGE = "http://savannah.nongnu.org/projects/xforms/"
+
+LICENSE = "LGPL-2.1-or-later"
+LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=ade9a053df81f5b9408d2f4f5546df86"
+
+SRC_URI = "http://download.savannah.nongnu.org/releases/xforms/xforms-${PV}.tar.gz \
+ file://fix-link-to-xforms-man.patch \
+ file://add-absolute-path-for-include-dir.patch \
+ file://fix-path-fdesign_LDADD.patch \
+ file://0001-Make-extern-declarations-in-header-file.patch \
+ file://0001-Modify-include-dir.patch \
+ "
+
+SRC_URI[sha256sum] = "92b5e6466ea2dffca7332aec12734e65b3e961825eb3100b7d889c0d1abb4697"
+
+inherit autotools features_check
+
+REQUIRED_DISTRO_FEATURES = "opengl x11"
+
+S = "${WORKDIR}/xforms-${PV}"
+
+DEPENDS = "libxpm jpeg libx11 virtual/libgl"
+RDEPENDS:${PN} = "bash"
+
+EXTRA_OECONF = "--with-extra-inc=${S}/lib"
+
+do_compile:append() {
+ sed -i -e 's|${B}|.|' ${B}/fd2ps/fd2ps
+ sed -i -e 's|${B}|.|' ${B}/fdesign/fdesign
+}
diff --git a/meta-oe/recipes-graphics/libglvnd/libglvnd_1.7.0.bb b/meta-oe/recipes-graphics/libglvnd/libglvnd_1.7.0.bb
new file mode 100644
index 0000000000..4094aa4fc6
--- /dev/null
+++ b/meta-oe/recipes-graphics/libglvnd/libglvnd_1.7.0.bb
@@ -0,0 +1,30 @@
+DESCRIPTION = "libglvnd is a vendor-neutral dispatch layer for arbitrating \
+OpenGL API calls between multiple vendors."
+HOMEPAGE = "https://gitlab.freedesktop.org/glvnd/libglvnd"
+LICENSE = "MIT & BSD-1-Clause & BSD-3-Clause & GPL-3.0-with-autoconf-exception"
+LIC_FILES_CHKSUM = "file://README.md;beginline=323;md5=7ac5f0111f648b92fe5427efeb08e8c4"
+
+SRC_URI = "git://git@gitlab.freedesktop.org/glvnd/libglvnd.git;protocol=https;branch=master"
+
+# v1.5.0 tag
+SRCREV = "faa23f21fc677af5792825dc30cb1ccef4bf33a6"
+
+REQUIRED_DISTRO_FEATURES = "opengl"
+
+inherit meson pkgconfig features_check
+
+S = "${WORKDIR}/git"
+
+PACKAGECONFIG ?= "\
+ ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'egl gles1 gles2', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl x11', 'glx', '', d)} \
+ "
+
+PACKAGECONFIG[x11] = "-Dx11=enabled,-Dx11=disabled,libx11 libxext xorgproto"
+PACKAGECONFIG[glx] = "-Dglx=enabled,-Dglx=disabled,libx11 libxext xorgproto"
+PACKAGECONFIG[egl] = "-Degl=true,-Degl=false,"
+PACKAGECONFIG[gles1] = "-Dgles1=true,-Dgles1=false,"
+PACKAGECONFIG[gles2] = "-Dgles2=true,-Dgles2=false,"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-graphics/libmng/libmng_2.0.3.bb b/meta-oe/recipes-graphics/libmng/libmng_2.0.3.bb
index ba928d281d..f9d3496d90 100644
--- a/meta-oe/recipes-graphics/libmng/libmng_2.0.3.bb
+++ b/meta-oe/recipes-graphics/libmng/libmng_2.0.3.bb
@@ -13,6 +13,9 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.gz"
SRC_URI[md5sum] = "7e9a12ba2a99dff7e736902ea07383d4"
SRC_URI[sha256sum] = "cf112a1fb02f5b1c0fce5cab11ea8243852c139e669c44014125874b14b7dfaa"
+UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/libmng/files/libmng-devel/"
+UPSTREAM_CHECK_REGEX = "libmng-devel/(?P<pver>\d+(\.\d+)+)"
+
inherit autotools-brokensep pkgconfig
PACKAGECONFIG ??= "jpeg"
diff --git a/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/0001-build-Pass-tag-CC-explictly-when-using-libtool.patch b/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/0001-build-Pass-tag-CC-explictly-when-using-libtool.patch
new file mode 100644
index 0000000000..ec8c0fd4fb
--- /dev/null
+++ b/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/0001-build-Pass-tag-CC-explictly-when-using-libtool.patch
@@ -0,0 +1,73 @@
+From 44e4bb4cfb81024c8f5fd2e179e8a32c42756a2f Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 23 Jul 2017 16:52:43 -0700
+Subject: [PATCH] build: Pass --tag=CC explictly when using libtool
+
+Do not depend solely on libtool heuristics which fail
+in OE case when building with external compiler and
+hardening flags
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ Makefile.in | 4 ++--
+ build-scripts/makedep.sh | 8 ++++----
+ 2 files changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/Makefile.in b/Makefile.in
+index ab51035..743ce30 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -72,10 +72,10 @@ depend:
+ include $(depend)
+
+ $(objects)/$(TARGET): $(OBJECTS)
+- $(LIBTOOL) --mode=link $(CC) -o $@ $^ $(LDFLAGS) $(EXTRA_LDFLAGS) $(LT_LDFLAGS)
++ $(LIBTOOL) --tag=CC --mode=link $(CC) -o $@ $^ $(LDFLAGS) $(EXTRA_LDFLAGS) $(LT_LDFLAGS)
+
+ $(objects)/$(SDLMAIN_TARGET): $(SDLMAIN_OBJECTS)
+- $(LIBTOOL) --mode=link $(CC) -o $@ $^ $(LDFLAGS) $(EXTRA_LDFLAGS) $(LT_LDFLAGS) $(SDLMAIN_LDFLAGS)
++ $(LIBTOOL) --tag=CC --mode=link $(CC) -o $@ $^ $(LDFLAGS) $(EXTRA_LDFLAGS) $(LT_LDFLAGS) $(SDLMAIN_LDFLAGS)
+
+
+ install: all install-bin install-hdrs install-lib install-data install-man
+diff --git a/build-scripts/makedep.sh b/build-scripts/makedep.sh
+index 3b3863b..dba28f2 100755
+--- a/build-scripts/makedep.sh
++++ b/build-scripts/makedep.sh
+@@ -51,19 +51,19 @@ do echo "Generating dependencies for $src"
+ case $ext in
+ c) cat >>${output}.new <<__EOF__
+
+- \$(LIBTOOL) --mode=compile \$(CC) \$(CFLAGS) \$(EXTRA_CFLAGS) -c $src -o \$@
++ \$(LIBTOOL) --tag=CC --mode=compile \$(CC) \$(CFLAGS) \$(EXTRA_CFLAGS) -c $src -o \$@
+
+ __EOF__
+ ;;
+ cc) cat >>${output}.new <<__EOF__
+
+- \$(LIBTOOL) --mode=compile \$(CC) \$(CFLAGS) \$(EXTRA_CFLAGS) -c $src -o \$@
++ \$(LIBTOOL) --tag=CC --mode=compile \$(CC) \$(CFLAGS) \$(EXTRA_CFLAGS) -c $src -o \$@
+
+ __EOF__
+ ;;
+ m) cat >>${output}.new <<__EOF__
+
+- \$(LIBTOOL) --mode=compile \$(CC) \$(CFLAGS) \$(EXTRA_CFLAGS) -c $src -o \$@
++ \$(LIBTOOL) --tag=CC --mode=compile \$(CC) \$(CFLAGS) \$(EXTRA_CFLAGS) -c $src -o \$@
+
+ __EOF__
+ ;;
+@@ -75,7 +75,7 @@ __EOF__
+ ;;
+ S) cat >>${output}.new <<__EOF__
+
+- \$(LIBTOOL) --mode=compile \$(CC) \$(CFLAGS) \$(EXTRA_CFLAGS) -c $src -o \$@
++ \$(LIBTOOL) --tag=CC --mode=compile \$(CC) \$(CFLAGS) \$(EXTRA_CFLAGS) -c $src -o \$@
+
+ __EOF__
+ ;;
+--
+2.13.3
+
diff --git a/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/0001-stdlib-Make-iconv-use-portable-across-glibc-musl.patch b/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/0001-stdlib-Make-iconv-use-portable-across-glibc-musl.patch
new file mode 100644
index 0000000000..2007766f74
--- /dev/null
+++ b/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/0001-stdlib-Make-iconv-use-portable-across-glibc-musl.patch
@@ -0,0 +1,52 @@
+From 6c35fc94ca30a4d0662479f7ef8a704d97aa7352 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 18 May 2024 18:13:30 -0700
+Subject: [PATCH] stdlib: Make iconv use portable across glibc/musl
+
+This is a backport from libsdl2
+
+Upstream-Status: Backport [https://github.com/libsdl-org/SDL/blob/main/src/stdlib/SDL_iconv.c#L49C1-L51C1]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/stdlib/SDL_iconv.c | 19 ++++---------------
+ 1 file changed, 4 insertions(+), 15 deletions(-)
+
+diff --git a/src/stdlib/SDL_iconv.c b/src/stdlib/SDL_iconv.c
+index fa56a99..087b6ec 100644
+--- a/src/stdlib/SDL_iconv.c
++++ b/src/stdlib/SDL_iconv.c
+@@ -28,27 +28,16 @@
+
+ #ifdef HAVE_ICONV
+
+-/* Depending on which standard the iconv() was implemented with,
+- iconv() may or may not use const char ** for the inbuf param.
+- If we get this wrong, it's just a warning, so no big deal.
+-*/
+-#if defined(_XGP6) || \
+- defined(__GLIBC__) && ((__GLIBC__ > 2) || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 2))
+-#define ICONV_INBUF_NONCONST
+-#endif
+-
+ #include <errno.h>
+
+ size_t SDL_iconv(SDL_iconv_t cd,
+ const char **inbuf, size_t *inbytesleft,
+ char **outbuf, size_t *outbytesleft)
+ {
+- size_t retCode;
+-#ifdef ICONV_INBUF_NONCONST
+- retCode = iconv(cd, (char **)inbuf, inbytesleft, outbuf, outbytesleft);
+-#else
+- retCode = iconv(cd, inbuf, inbytesleft, outbuf, outbytesleft);
+-#endif
++ /* iconv's second parameter may or may not be `const char const *` depending on the
++ C runtime's whims. Casting to void * seems to make everyone happy, though. */
++
++ const size_t retCode = iconv((iconv_t)((uintptr_t)cd), (void *)inbuf, inbytesleft, outbuf, outbytesleft);
+ if ( retCode == (size_t)-1 ) {
+ switch(errno) {
+ case E2BIG:
+--
+2.45.1
+
diff --git a/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-13616.patch b/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-13616.patch
new file mode 100644
index 0000000000..d4166a16ab
--- /dev/null
+++ b/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-13616.patch
@@ -0,0 +1,29 @@
+From 97fefd050976bbbfca9608499f6a7d9fb86e70db Mon Sep 17 00:00:00 2001
+From: Sam Lantinga <slouken@libsdl.org>
+Date: Tue, 30 Jul 2019 11:00:00 -0700
+Subject: [PATCH] Fixed bug 4538 - validate image size when loading BMP files
+---
+Upstream-Status: Pending
+
+ src/video/SDL_bmp.c | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/src/video/SDL_bmp.c b/src/video/SDL_bmp.c
+index 8eadc5f..5b5e12c 100644
+--- a/src/video/SDL_bmp.c
++++ b/src/video/SDL_bmp.c
+@@ -143,6 +143,11 @@ SDL_Surface * SDL_LoadBMP_RW (SDL_RWops *src, int freesrc)
+ (void) biYPelsPerMeter;
+ (void) biClrImportant;
+
++ if (biWidth <= 0 || biHeight == 0) {
++ SDL_SetError("BMP file with bad dimensions (%dx%d)", biWidth, biHeight);
++ was_error = SDL_TRUE;
++ goto done;
++ }
+ if (biHeight < 0) {
+ topDown = SDL_TRUE;
+ biHeight = -biHeight;
+--
+2.25.1
+
diff --git a/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7572.patch b/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7572.patch
new file mode 100644
index 0000000000..c41c2de0f3
--- /dev/null
+++ b/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7572.patch
@@ -0,0 +1,114 @@
+# HG changeset patch
+# User Petr Písař <ppisar@redhat.com>
+# Date 1560182231 25200
+# Mon Jun 10 08:57:11 2019 -0700
+# Branch SDL-1.2
+# Node ID a8afedbcaea0e84921dc770195c4699bda3ccdc5
+# Parent faf9abbcfb5fe0d0ca23c4bf0394aa226ceccf02
+CVE-2019-7572: Fix a buffer overwrite in IMA_ADPCM_decode
+If data chunk was longer than expected based on a WAV format
+definition, IMA_ADPCM_decode() tried to write past the output
+buffer. This patch fixes it.
+
+Based on patch from
+<https://bugzilla.libsdl.org/show_bug.cgi?id=4496>.
+
+CVE-2019-7572
+https://bugzilla.libsdl.org/show_bug.cgi?id=4495
+
+Signed-off-by: Petr Písař <ppisar@redhat.com>
+
+# HG changeset patch
+# User Petr Písař <ppisar@redhat.com>
+# Date 1560041863 25200
+# Sat Jun 08 17:57:43 2019 -0700
+# Branch SDL-1.2
+# Node ID e52413f5258600878f9a10d2f92605a729aa8976
+# Parent 4e73be7b47877ae11d2279bd916910d469d18f8e
+CVE-2019-7572: Fix a buffer overread in IMA_ADPCM_nibble
+If an IMA ADPCM block contained an initial index out of step table
+range (loaded in IMA_ADPCM_decode()), IMA_ADPCM_nibble() blindly used
+this bogus value and that lead to a buffer overread.
+
+This patch fixes it by moving clamping the index value at the
+beginning of IMA_ADPCM_nibble() function instead of the end after
+an update.
+
+CVE-2019-7572
+https://bugzilla.libsdl.org/show_bug.cgi?id=4495
+
+Signed-off-by: Petr Písař <ppisar@redhat.com>
+
+CVE: CVE-2019-7572
+Upstream-Status: Backport
+Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
+
+diff -r faf9abbcfb5f -r a8afedbcaea0 src/audio/SDL_wave.c
+--- a/src/audio/SDL_wave.c Mon Jun 10 08:54:29 2019 -0700
++++ b/src/audio/SDL_wave.c Mon Jun 10 08:57:11 2019 -0700
+@@ -346,7 +346,7 @@
+ static int IMA_ADPCM_decode(Uint8 **audio_buf, Uint32 *audio_len)
+ {
+ struct IMA_ADPCM_decodestate *state;
+- Uint8 *freeable, *encoded, *encoded_end, *decoded;
++ Uint8 *freeable, *encoded, *encoded_end, *decoded, *decoded_end;
+ Sint32 encoded_len, samplesleft;
+ unsigned int c, channels;
+
+@@ -373,6 +373,7 @@
+ return(-1);
+ }
+ decoded = *audio_buf;
++ decoded_end = decoded + *audio_len;
+
+ /* Get ready... Go! */
+ while ( encoded_len >= IMA_ADPCM_state.wavefmt.blockalign ) {
+@@ -392,6 +393,7 @@
+ }
+
+ /* Store the initial sample we start with */
++ if (decoded + 2 > decoded_end) goto invalid_size;
+ decoded[0] = (Uint8)(state[c].sample&0xFF);
+ decoded[1] = (Uint8)(state[c].sample>>8);
+ decoded += 2;
+@@ -402,6 +404,8 @@
+ while ( samplesleft > 0 ) {
+ for ( c=0; c<channels; ++c ) {
+ if (encoded + 4 > encoded_end) goto invalid_size;
++ if (decoded + 4 * 4 * channels > decoded_end)
++ goto invalid_size;
+ Fill_IMA_ADPCM_block(decoded, encoded,
+ c, channels, &state[c]);
+ encoded += 4;
+
+diff -r 4e73be7b4787 -r e52413f52586 src/audio/SDL_wave.c
+--- a/src/audio/SDL_wave.c Sat Jun 01 18:27:46 2019 +0100
++++ b/src/audio/SDL_wave.c Sat Jun 08 17:57:43 2019 -0700
+@@ -264,6 +264,14 @@
+ };
+ Sint32 delta, step;
+
++ /* Clamp index value. The inital value can be invalid. */
++ if ( state->index > 88 ) {
++ state->index = 88;
++ } else
++ if ( state->index < 0 ) {
++ state->index = 0;
++ }
++
+ /* Compute difference and new sample value */
+ step = step_table[state->index];
+ delta = step >> 3;
+@@ -275,12 +283,6 @@
+
+ /* Update index value */
+ state->index += index_table[nybble];
+- if ( state->index > 88 ) {
+- state->index = 88;
+- } else
+- if ( state->index < 0 ) {
+- state->index = 0;
+- }
+
+ /* Clamp output sample */
+ if ( state->sample > max_audioval ) {
diff --git a/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7574.patch b/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7574.patch
new file mode 100644
index 0000000000..9fd53da29b
--- /dev/null
+++ b/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7574.patch
@@ -0,0 +1,68 @@
+# HG changeset patch
+# User Petr Písař <ppisar@redhat.com>
+# Date 1560181859 25200
+# Mon Jun 10 08:50:59 2019 -0700
+# Branch SDL-1.2
+# Node ID a6e3d2f5183e1cc300ad993e10e9ce077e13bd9c
+# Parent 388987dff7bf8f1e214e69c2e4f1aa31e06396b5
+CVE-2019-7574: Fix a buffer overread in IMA_ADPCM_decode
+If data chunk was shorter than expected based on a WAV format
+definition, IMA_ADPCM_decode() tried to read past the data chunk
+buffer. This patch fixes it.
+
+CVE-2019-7574
+https://bugzilla.libsdl.org/show_bug.cgi?id=4496
+
+Signed-off-by: Petr Písař <ppisar@redhat.com>
+
+CVE: CVE-2019-7574
+Upstream-Status: Backport
+Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
+
+diff -r 388987dff7bf -r a6e3d2f5183e src/audio/SDL_wave.c
+--- a/src/audio/SDL_wave.c Sat Jun 08 18:02:09 2019 -0700
++++ b/src/audio/SDL_wave.c Mon Jun 10 08:50:59 2019 -0700
+@@ -331,7 +331,7 @@
+ static int IMA_ADPCM_decode(Uint8 **audio_buf, Uint32 *audio_len)
+ {
+ struct IMA_ADPCM_decodestate *state;
+- Uint8 *freeable, *encoded, *decoded;
++ Uint8 *freeable, *encoded, *encoded_end, *decoded;
+ Sint32 encoded_len, samplesleft;
+ unsigned int c, channels;
+
+@@ -347,6 +347,7 @@
+ /* Allocate the proper sized output buffer */
+ encoded_len = *audio_len;
+ encoded = *audio_buf;
++ encoded_end = encoded + encoded_len;
+ freeable = *audio_buf;
+ *audio_len = (encoded_len/IMA_ADPCM_state.wavefmt.blockalign) *
+ IMA_ADPCM_state.wSamplesPerBlock*
+@@ -362,6 +363,7 @@
+ while ( encoded_len >= IMA_ADPCM_state.wavefmt.blockalign ) {
+ /* Grab the initial information for this block */
+ for ( c=0; c<channels; ++c ) {
++ if (encoded + 4 > encoded_end) goto invalid_size;
+ /* Fill the state information for this block */
+ state[c].sample = ((encoded[1]<<8)|encoded[0]);
+ encoded += 2;
+@@ -384,6 +386,7 @@
+ samplesleft = (IMA_ADPCM_state.wSamplesPerBlock-1)*channels;
+ while ( samplesleft > 0 ) {
+ for ( c=0; c<channels; ++c ) {
++ if (encoded + 4 > encoded_end) goto invalid_size;
+ Fill_IMA_ADPCM_block(decoded, encoded,
+ c, channels, &state[c]);
+ encoded += 4;
+@@ -395,6 +398,10 @@
+ }
+ SDL_free(freeable);
+ return(0);
++invalid_size:
++ SDL_SetError("Unexpected chunk length for an IMA ADPCM decoder");
++ SDL_free(freeable);
++ return(-1);
+ }
+
+ SDL_AudioSpec * SDL_LoadWAV_RW (SDL_RWops *src, int freesrc,
diff --git a/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7575.patch b/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7575.patch
new file mode 100644
index 0000000000..a3e8416d0e
--- /dev/null
+++ b/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7575.patch
@@ -0,0 +1,81 @@
+# HG changeset patch
+# User Petr Písař <ppisar@redhat.com>
+# Date 1560183905 25200
+# Mon Jun 10 09:25:05 2019 -0700
+# Branch SDL-1.2
+# Node ID a936f9bd3e381d67d8ddee8b9243f85799ea4798
+# Parent fcbecae427951bac1684baaba2ade68221315140
+CVE-2019-7575: Fix a buffer overwrite in MS_ADPCM_decode
+If a WAV format defines shorter audio stream and decoded MS ADPCM data chunk
+is longer, decoding continued past the output audio buffer.
+
+This fix is based on a patch from
+<https://bugzilla.libsdl.org/show_bug.cgi?id=4492>.
+
+https://bugzilla.libsdl.org/show_bug.cgi?id=4493
+CVE-2019-7575
+
+Signed-off-by: Petr Písař <ppisar@redhat.com>
+
+CVE: CVE-2019-7575
+Upstream-Status: Backport
+Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
+
+diff -r fcbecae42795 -r a936f9bd3e38 src/audio/SDL_wave.c
+--- a/src/audio/SDL_wave.c Mon Jun 10 09:06:23 2019 -0700
++++ b/src/audio/SDL_wave.c Mon Jun 10 09:25:05 2019 -0700
+@@ -122,7 +122,7 @@
+ static int MS_ADPCM_decode(Uint8 **audio_buf, Uint32 *audio_len)
+ {
+ struct MS_ADPCM_decodestate *state[2];
+- Uint8 *freeable, *encoded, *encoded_end, *decoded;
++ Uint8 *freeable, *encoded, *encoded_end, *decoded, *decoded_end;
+ Sint32 encoded_len, samplesleft;
+ Sint8 nybble, stereo;
+ Sint16 *coeff[2];
+@@ -142,6 +142,7 @@
+ return(-1);
+ }
+ decoded = *audio_buf;
++ decoded_end = decoded + *audio_len;
+
+ /* Get ready... Go! */
+ stereo = (MS_ADPCM_state.wavefmt.channels == 2);
+@@ -149,7 +150,7 @@
+ state[1] = &MS_ADPCM_state.state[stereo];
+ while ( encoded_len >= MS_ADPCM_state.wavefmt.blockalign ) {
+ /* Grab the initial information for this block */
+- if (encoded + 7 + (stereo ? 7 : 0) > encoded_end) goto too_short;
++ if (encoded + 7 + (stereo ? 7 : 0) > encoded_end) goto invalid_size;
+ state[0]->hPredictor = *encoded++;
+ if ( stereo ) {
+ state[1]->hPredictor = *encoded++;
+@@ -179,6 +180,7 @@
+ coeff[1] = MS_ADPCM_state.aCoeff[state[1]->hPredictor];
+
+ /* Store the two initial samples we start with */
++ if (decoded + 4 + (stereo ? 4 : 0) > decoded_end) goto invalid_size;
+ decoded[0] = state[0]->iSamp2&0xFF;
+ decoded[1] = state[0]->iSamp2>>8;
+ decoded += 2;
+@@ -200,7 +202,8 @@
+ samplesleft = (MS_ADPCM_state.wSamplesPerBlock-2)*
+ MS_ADPCM_state.wavefmt.channels;
+ while ( samplesleft > 0 ) {
+- if (encoded + 1 > encoded_end) goto too_short;
++ if (encoded + 1 > encoded_end) goto invalid_size;
++ if (decoded + 4 > decoded_end) goto invalid_size;
+
+ nybble = (*encoded)>>4;
+ new_sample = MS_ADPCM_nibble(state[0],nybble,coeff[0]);
+@@ -223,8 +226,8 @@
+ }
+ SDL_free(freeable);
+ return(0);
+-too_short:
+- SDL_SetError("Too short chunk for a MS ADPCM decoder");
++invalid_size:
++ SDL_SetError("Unexpected chunk length for a MS ADPCM decoder");
+ SDL_free(freeable);
+ return(-1);
+ invalid_predictor:
diff --git a/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7576.patch b/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7576.patch
new file mode 100644
index 0000000000..d9a505217b
--- /dev/null
+++ b/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7576.patch
@@ -0,0 +1,80 @@
+# HG changeset patch
+# User Petr Písař <ppisar@redhat.com>
+# Date 1560182783 25200
+# Mon Jun 10 09:06:23 2019 -0700
+# Branch SDL-1.2
+# Node ID fcbecae427951bac1684baaba2ade68221315140
+# Parent a8afedbcaea0e84921dc770195c4699bda3ccdc5
+CVE-2019-7573, CVE-2019-7576: Fix buffer overreads in InitMS_ADPCM
+If MS ADPCM format chunk was too short, InitMS_ADPCM() parsing it
+could read past the end of chunk data. This patch fixes it.
+
+CVE-2019-7573
+https://bugzilla.libsdl.org/show_bug.cgi?id=4491
+CVE-2019-7576
+https://bugzilla.libsdl.org/show_bug.cgi?id=4490
+
+Signed-off-by: Petr Písař <ppisar@redhat.com>
+
+CVE: CVE-2019-7573
+CVE: CVE-2019-7576
+Upstream-Status: Backport
+Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
+
+diff -r a8afedbcaea0 -r fcbecae42795 src/audio/SDL_wave.c
+--- a/src/audio/SDL_wave.c Mon Jun 10 08:57:11 2019 -0700
++++ b/src/audio/SDL_wave.c Mon Jun 10 09:06:23 2019 -0700
+@@ -44,12 +44,13 @@
+ struct MS_ADPCM_decodestate state[2];
+ } MS_ADPCM_state;
+
+-static int InitMS_ADPCM(WaveFMT *format)
++static int InitMS_ADPCM(WaveFMT *format, int length)
+ {
+- Uint8 *rogue_feel;
++ Uint8 *rogue_feel, *rogue_feel_end;
+ int i;
+
+ /* Set the rogue pointer to the MS_ADPCM specific data */
++ if (length < sizeof(*format)) goto too_short;
+ MS_ADPCM_state.wavefmt.encoding = SDL_SwapLE16(format->encoding);
+ MS_ADPCM_state.wavefmt.channels = SDL_SwapLE16(format->channels);
+ MS_ADPCM_state.wavefmt.frequency = SDL_SwapLE32(format->frequency);
+@@ -58,9 +59,11 @@
+ MS_ADPCM_state.wavefmt.bitspersample =
+ SDL_SwapLE16(format->bitspersample);
+ rogue_feel = (Uint8 *)format+sizeof(*format);
++ rogue_feel_end = (Uint8 *)format + length;
+ if ( sizeof(*format) == 16 ) {
+ rogue_feel += sizeof(Uint16);
+ }
++ if (rogue_feel + 4 > rogue_feel_end) goto too_short;
+ MS_ADPCM_state.wSamplesPerBlock = ((rogue_feel[1]<<8)|rogue_feel[0]);
+ rogue_feel += sizeof(Uint16);
+ MS_ADPCM_state.wNumCoef = ((rogue_feel[1]<<8)|rogue_feel[0]);
+@@ -70,12 +73,16 @@
+ return(-1);
+ }
+ for ( i=0; i<MS_ADPCM_state.wNumCoef; ++i ) {
++ if (rogue_feel + 4 > rogue_feel_end) goto too_short;
+ MS_ADPCM_state.aCoeff[i][0] = ((rogue_feel[1]<<8)|rogue_feel[0]);
+ rogue_feel += sizeof(Uint16);
+ MS_ADPCM_state.aCoeff[i][1] = ((rogue_feel[1]<<8)|rogue_feel[0]);
+ rogue_feel += sizeof(Uint16);
+ }
+ return(0);
++too_short:
++ SDL_SetError("Unexpected length of a chunk with a MS ADPCM format");
++ return(-1);
+ }
+
+ static Sint32 MS_ADPCM_nibble(struct MS_ADPCM_decodestate *state,
+@@ -495,7 +502,7 @@
+ break;
+ case MS_ADPCM_CODE:
+ /* Try to understand this */
+- if ( InitMS_ADPCM(format) < 0 ) {
++ if ( InitMS_ADPCM(format, lenread) < 0 ) {
+ was_error = 1;
+ goto done;
+ }
diff --git a/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7577.patch b/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7577.patch
new file mode 100644
index 0000000000..63680b8b7f
--- /dev/null
+++ b/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7577.patch
@@ -0,0 +1,118 @@
+# HG changeset patch
+# User Petr Písař <ppisar@redhat.com>
+# Date 1560182051 25200
+# Mon Jun 10 08:54:11 2019 -0700
+# Branch SDL-1.2
+# Node ID 416136310b88cbeeff8773e573e90ac1e22b3526
+# Parent a6e3d2f5183e1cc300ad993e10e9ce077e13bd9c
+CVE-2019-7577: Fix a buffer overread in MS_ADPCM_decode
+If RIFF/WAV data chunk length is shorter then expected for an audio
+format defined in preceeding RIFF/WAV format headers, a buffer
+overread can happen.
+
+This patch fixes it by checking a MS ADPCM data to be decoded are not
+past the initialized buffer.
+
+CVE-2019-7577
+Reproducer: https://bugzilla.libsdl.org/show_bug.cgi?id=4492
+
+Signed-off-by: Petr Písař <ppisar@redhat.com>
+
+# HG changeset patch
+# User Petr Písař <ppisar@redhat.com>
+# Date 1560182069 25200
+# Mon Jun 10 08:54:29 2019 -0700
+# Branch SDL-1.2
+# Node ID faf9abbcfb5fe0d0ca23c4bf0394aa226ceccf02
+# Parent 416136310b88cbeeff8773e573e90ac1e22b3526
+CVE-2019-7577: Fix a buffer overread in MS_ADPCM_nibble and MS_ADPCM_decode
+If a chunk of RIFF/WAV file with MS ADPCM encoding contains an invalid
+predictor (a valid predictor's value is between 0 and 6 inclusive),
+a buffer overread can happen when the predictor is used as an index
+into an array of MS ADPCM coefficients.
+
+The overead happens when indexing MS_ADPCM_state.aCoeff[] array in
+MS_ADPCM_decode() and later when dereferencing a coef pointer in
+MS_ADPCM_nibble().
+
+This patch fixes it by checking the MS ADPCM predictor values fit
+into the valid range.
+
+CVE-2019-7577
+Reproducer: https://bugzilla.libsdl.org/show_bug.cgi?id=4492
+
+Signed-off-by: Petr Písař <ppisar@redhat.com>
+
+CVE: CVE-2019-7577
+Upstream-Status: Backport
+Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
+
+Refresh CVE-2019-7577.patch as it can't be applyed when using PATCHTOOL = "patch".
+Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
+---
+ src/audio/SDL_wave.c | 17 ++++++++++++++++-
+ 1 file changed, 16 insertions(+), 1 deletion(-)
+
+diff --git a/src/audio/SDL_wave.c b/src/audio/SDL_wave.c
+index b4ad6c7..0bcf7e2 100644
+--- a/src/audio/SDL_wave.c
++++ b/src/audio/SDL_wave.c
+@@ -115,7 +115,7 @@ static Sint32 MS_ADPCM_nibble(struct MS_ADPCM_decodestate *state,
+ static int MS_ADPCM_decode(Uint8 **audio_buf, Uint32 *audio_len)
+ {
+ struct MS_ADPCM_decodestate *state[2];
+- Uint8 *freeable, *encoded, *decoded;
++ Uint8 *freeable, *encoded, *encoded_end, *decoded;
+ Sint32 encoded_len, samplesleft;
+ Sint8 nybble, stereo;
+ Sint16 *coeff[2];
+@@ -124,6 +124,7 @@ static int MS_ADPCM_decode(Uint8 **audio_buf, Uint32 *audio_len)
+ /* Allocate the proper sized output buffer */
+ encoded_len = *audio_len;
+ encoded = *audio_buf;
++ encoded_end = encoded + encoded_len;
+ freeable = *audio_buf;
+ *audio_len = (encoded_len/MS_ADPCM_state.wavefmt.blockalign) *
+ MS_ADPCM_state.wSamplesPerBlock*
+@@ -141,10 +142,14 @@ static int MS_ADPCM_decode(Uint8 **audio_buf, Uint32 *audio_len)
+ state[1] = &MS_ADPCM_state.state[stereo];
+ while ( encoded_len >= MS_ADPCM_state.wavefmt.blockalign ) {
+ /* Grab the initial information for this block */
++ if (encoded + 7 + (stereo ? 7 : 0) > encoded_end) goto too_short;
+ state[0]->hPredictor = *encoded++;
+ if ( stereo ) {
+ state[1]->hPredictor = *encoded++;
+ }
++ if (state[0]->hPredictor >= 7 || state[1]->hPredictor >= 7) {
++ goto invalid_predictor;
++ }
+ state[0]->iDelta = ((encoded[1]<<8)|encoded[0]);
+ encoded += sizeof(Sint16);
+ if ( stereo ) {
+@@ -188,6 +193,8 @@ static int MS_ADPCM_decode(Uint8 **audio_buf, Uint32 *audio_len)
+ samplesleft = (MS_ADPCM_state.wSamplesPerBlock-2)*
+ MS_ADPCM_state.wavefmt.channels;
+ while ( samplesleft > 0 ) {
++ if (encoded + 1 > encoded_end) goto too_short;
++
+ nybble = (*encoded)>>4;
+ new_sample = MS_ADPCM_nibble(state[0],nybble,coeff[0]);
+ decoded[0] = new_sample&0xFF;
+@@ -209,6 +216,14 @@ static int MS_ADPCM_decode(Uint8 **audio_buf, Uint32 *audio_len)
+ }
+ SDL_free(freeable);
+ return(0);
++too_short:
++ SDL_SetError("Too short chunk for a MS ADPCM decoder");
++ SDL_free(freeable);
++ return(-1);
++invalid_predictor:
++ SDL_SetError("Invalid predictor value for a MS ADPCM decoder");
++ SDL_free(freeable);
++ return(-1);
+ }
+
+ struct IMA_ADPCM_decodestate {
+--
+2.7.4
+
diff --git a/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7578.patch b/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7578.patch
new file mode 100644
index 0000000000..7028890333
--- /dev/null
+++ b/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7578.patch
@@ -0,0 +1,64 @@
+# HG changeset patch
+# User Petr Písař <ppisar@redhat.com>
+# Date 1560042129 25200
+# Sat Jun 08 18:02:09 2019 -0700
+# Branch SDL-1.2
+# Node ID 388987dff7bf8f1e214e69c2e4f1aa31e06396b5
+# Parent e52413f5258600878f9a10d2f92605a729aa8976
+CVE-2019-7578: Fix a buffer overread in InitIMA_ADPCM
+If IMA ADPCM format chunk was too short, InitIMA_ADPCM() parsing it
+could read past the end of chunk data. This patch fixes it.
+
+CVE-2019-7578
+https://bugzilla.libsdl.org/show_bug.cgi?id=4494
+
+Signed-off-by: Petr Písař <ppisar@redhat.com>
+
+CVE: CVE-2019-7578
+Upstream-Status: Backport
+Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
+
+diff -r e52413f52586 -r 388987dff7bf src/audio/SDL_wave.c
+--- a/src/audio/SDL_wave.c Sat Jun 08 17:57:43 2019 -0700
++++ b/src/audio/SDL_wave.c Sat Jun 08 18:02:09 2019 -0700
+@@ -222,11 +222,12 @@
+ struct IMA_ADPCM_decodestate state[2];
+ } IMA_ADPCM_state;
+
+-static int InitIMA_ADPCM(WaveFMT *format)
++static int InitIMA_ADPCM(WaveFMT *format, int length)
+ {
+- Uint8 *rogue_feel;
++ Uint8 *rogue_feel, *rogue_feel_end;
+
+ /* Set the rogue pointer to the IMA_ADPCM specific data */
++ if (length < sizeof(*format)) goto too_short;
+ IMA_ADPCM_state.wavefmt.encoding = SDL_SwapLE16(format->encoding);
+ IMA_ADPCM_state.wavefmt.channels = SDL_SwapLE16(format->channels);
+ IMA_ADPCM_state.wavefmt.frequency = SDL_SwapLE32(format->frequency);
+@@ -235,11 +236,16 @@
+ IMA_ADPCM_state.wavefmt.bitspersample =
+ SDL_SwapLE16(format->bitspersample);
+ rogue_feel = (Uint8 *)format+sizeof(*format);
++ rogue_feel_end = (Uint8 *)format + length;
+ if ( sizeof(*format) == 16 ) {
+ rogue_feel += sizeof(Uint16);
+ }
++ if (rogue_feel + 2 > rogue_feel_end) goto too_short;
+ IMA_ADPCM_state.wSamplesPerBlock = ((rogue_feel[1]<<8)|rogue_feel[0]);
+ return(0);
++too_short:
++ SDL_SetError("Unexpected length of a chunk with an IMA ADPCM format");
++ return(-1);
+ }
+
+ static Sint32 IMA_ADPCM_nibble(struct IMA_ADPCM_decodestate *state,Uint8 nybble)
+@@ -471,7 +477,7 @@
+ break;
+ case IMA_ADPCM_CODE:
+ /* Try to understand this */
+- if ( InitIMA_ADPCM(format) < 0 ) {
++ if ( InitIMA_ADPCM(format, lenread) < 0 ) {
+ was_error = 1;
+ goto done;
+ }
diff --git a/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7635.patch b/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7635.patch
new file mode 100644
index 0000000000..78af1b061d
--- /dev/null
+++ b/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7635.patch
@@ -0,0 +1,63 @@
+# HG changeset patch
+# User Petr Písař <ppisar@redhat.com>
+# Date 1560259692 25200
+# Tue Jun 11 06:28:12 2019 -0700
+# Branch SDL-1.2
+# Node ID f1f5878be5dbf63c1161a8ee52b8a86ece30e552
+# Parent a936f9bd3e381d67d8ddee8b9243f85799ea4798
+CVE-2019-7635: Reject BMP images with pixel colors out the palette
+If a 1-, 4-, or 8-bit per pixel BMP image declares less used colors
+than the palette offers an SDL_Surface with a palette of the indicated
+number of used colors is created. If some of the image's pixel
+refer to a color number higher then the maximal used colors, a subsequent
+bliting operation on the surface will look up a color past a blit map
+(that is based on the palette) memory. I.e. passing such SDL_Surface
+to e.g. an SDL_DisplayFormat() function will result in a buffer overread in
+a blit function.
+
+This patch fixes it by validing each pixel's color to be less than the
+maximal color number in the palette. A validation failure raises an
+error from a SDL_LoadBMP_RW() function.
+
+CVE-2019-7635
+https://bugzilla.libsdl.org/show_bug.cgi?id=4498
+
+Signed-off-by: Petr Písař <ppisar@redhat.com>
+
+CVE: CVE-2019-7635
+Upstream-Status: Backport
+Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
+
+diff -r a936f9bd3e38 -r f1f5878be5db src/video/SDL_bmp.c
+--- a/src/video/SDL_bmp.c Mon Jun 10 09:25:05 2019 -0700
++++ b/src/video/SDL_bmp.c Tue Jun 11 06:28:12 2019 -0700
+@@ -308,6 +308,12 @@
+ }
+ *(bits+i) = (pixel>>shift);
+ pixel <<= ExpandBMP;
++ if ( bits[i] >= biClrUsed ) {
++ SDL_SetError(
++ "A BMP image contains a pixel with a color out of the palette");
++ was_error = SDL_TRUE;
++ goto done;
++ }
+ } }
+ break;
+
+@@ -318,6 +324,16 @@
+ was_error = SDL_TRUE;
+ goto done;
+ }
++ if ( 8 == biBitCount && palette && biClrUsed < (1 << biBitCount ) ) {
++ for ( i=0; i<surface->w; ++i ) {
++ if ( bits[i] >= biClrUsed ) {
++ SDL_SetError(
++ "A BMP image contains a pixel with a color out of the palette");
++ was_error = SDL_TRUE;
++ goto done;
++ }
++ }
++ }
+ #if SDL_BYTEORDER == SDL_BIG_ENDIAN
+ /* Byte-swap the pixels if needed. Note that the 24bpp
+ case has already been taken care of above. */
diff --git a/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7637.patch b/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7637.patch
new file mode 100644
index 0000000000..c95338e61a
--- /dev/null
+++ b/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7637.patch
@@ -0,0 +1,192 @@
+# HG changeset patch
+# User Petr Písař <ppisar@redhat.com>
+# Date 1552788984 25200
+# Sat Mar 16 19:16:24 2019 -0700
+# Branch SDL-1.2
+# Node ID 9b0e5c555c0f5ce6d2c3c19da6cc2c7fb5048bf2
+# Parent 4646533663ae1d80c2cc6b2d6dbfb37c62491c1e
+CVE-2019-7637: Fix in integer overflow in SDL_CalculatePitch
+If a too large width is passed to SDL_SetVideoMode() the width travels
+to SDL_CalculatePitch() where the width (e.g. 65535) is multiplied by
+BytesPerPixel (e.g. 4) and the result is stored into Uint16 pitch
+variable. During this arithmetics an integer overflow can happen (e.g.
+the value is clamped as 65532). As a result SDL_Surface with a pitch
+smaller than width * BytesPerPixel is created, too small pixel buffer
+is allocated and when the SDL_Surface is processed in SDL_FillRect()
+a buffer overflow occurs.
+
+This can be reproduced with "./graywin -width 21312312313123213213213"
+command.
+
+This patch fixes is by using a very careful arithmetics in
+SDL_CalculatePitch(). If an overflow is detected, an error is reported
+back as a special 0 value. We assume that 0-width surfaces do not
+occur in the wild. Since SDL_CalculatePitch() is a private function,
+we can change the semantics.
+
+CVE-2019-7637
+https://bugzilla.libsdl.org/show_bug.cgi?id=4497
+
+Signed-off-by: Petr Písař <ppisar@redhat.com>
+
+CVE: CVE-2019-7637
+Upstream-Status: Backport
+Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
+
+diff -r 4646533663ae -r 9b0e5c555c0f src/video/SDL_pixels.c
+--- a/src/video/SDL_pixels.c Sat Mar 16 18:35:33 2019 -0700
++++ b/src/video/SDL_pixels.c Sat Mar 16 19:16:24 2019 -0700
+@@ -286,26 +286,53 @@
+ }
+ }
+ /*
+- * Calculate the pad-aligned scanline width of a surface
++ * Calculate the pad-aligned scanline width of a surface. Return 0 in case of
++ * an error.
+ */
+ Uint16 SDL_CalculatePitch(SDL_Surface *surface)
+ {
+- Uint16 pitch;
++ unsigned int pitch = 0;
+
+ /* Surface should be 4-byte aligned for speed */
+- pitch = surface->w*surface->format->BytesPerPixel;
++ /* The code tries to prevent from an Uint16 overflow. */;
++ for (Uint8 byte = surface->format->BytesPerPixel; byte; byte--) {
++ pitch += (unsigned int)surface->w;
++ if (pitch < surface->w) {
++ SDL_SetError("A scanline is too wide");
++ return(0);
++ }
++ }
+ switch (surface->format->BitsPerPixel) {
+ case 1:
+- pitch = (pitch+7)/8;
++ if (pitch % 8) {
++ pitch = pitch / 8 + 1;
++ } else {
++ pitch = pitch / 8;
++ }
+ break;
+ case 4:
+- pitch = (pitch+1)/2;
++ if (pitch % 2) {
++ pitch = pitch / 2 + 1;
++ } else {
++ pitch = pitch / 2;
++ }
+ break;
+ default:
+ break;
+ }
+- pitch = (pitch + 3) & ~3; /* 4-byte aligning */
+- return(pitch);
++ /* 4-byte aligning */
++ if (pitch & 3) {
++ if (pitch + 3 < pitch) {
++ SDL_SetError("A scanline is too wide");
++ return(0);
++ }
++ pitch = (pitch + 3) & ~3;
++ }
++ if (pitch > 0xFFFF) {
++ SDL_SetError("A scanline is too wide");
++ return(0);
++ }
++ return((Uint16)pitch);
+ }
+ /*
+ * Match an RGB value to a particular palette index
+diff -r 4646533663ae -r 9b0e5c555c0f src/video/gapi/SDL_gapivideo.c
+--- a/src/video/gapi/SDL_gapivideo.c Sat Mar 16 18:35:33 2019 -0700
++++ b/src/video/gapi/SDL_gapivideo.c Sat Mar 16 19:16:24 2019 -0700
+@@ -733,6 +733,9 @@
+ video->w = gapi->w = width;
+ video->h = gapi->h = height;
+ video->pitch = SDL_CalculatePitch(video);
++ if (!current->pitch) {
++ return(NULL);
++ }
+
+ /* Small fix for WinCE/Win32 - when activating window
+ SDL_VideoSurface is equal to zero, so activating code
+diff -r 4646533663ae -r 9b0e5c555c0f src/video/nanox/SDL_nxvideo.c
+--- a/src/video/nanox/SDL_nxvideo.c Sat Mar 16 18:35:33 2019 -0700
++++ b/src/video/nanox/SDL_nxvideo.c Sat Mar 16 19:16:24 2019 -0700
+@@ -378,6 +378,10 @@
+ current -> w = width ;
+ current -> h = height ;
+ current -> pitch = SDL_CalculatePitch (current) ;
++ if (!current->pitch) {
++ current = NULL;
++ goto done;
++ }
+ NX_ResizeImage (this, current, flags) ;
+ }
+
+diff -r 4646533663ae -r 9b0e5c555c0f src/video/ps2gs/SDL_gsvideo.c
+--- a/src/video/ps2gs/SDL_gsvideo.c Sat Mar 16 18:35:33 2019 -0700
++++ b/src/video/ps2gs/SDL_gsvideo.c Sat Mar 16 19:16:24 2019 -0700
+@@ -479,6 +479,9 @@
+ current->w = width;
+ current->h = height;
+ current->pitch = SDL_CalculatePitch(current);
++ if (!current->pitch) {
++ return(NULL);
++ }
+
+ /* Memory map the DMA area for block memory transfer */
+ if ( ! mapped_mem ) {
+diff -r 4646533663ae -r 9b0e5c555c0f src/video/ps3/SDL_ps3video.c
+--- a/src/video/ps3/SDL_ps3video.c Sat Mar 16 18:35:33 2019 -0700
++++ b/src/video/ps3/SDL_ps3video.c Sat Mar 16 19:16:24 2019 -0700
+@@ -339,6 +339,9 @@
+ current->w = width;
+ current->h = height;
+ current->pitch = SDL_CalculatePitch(current);
++ if (!current->pitch) {
++ return(NULL);
++ }
+
+ /* Alloc aligned mem for current->pixels */
+ s_pixels = memalign(16, current->h * current->pitch);
+diff -r 4646533663ae -r 9b0e5c555c0f src/video/windib/SDL_dibvideo.c
+--- a/src/video/windib/SDL_dibvideo.c Sat Mar 16 18:35:33 2019 -0700
++++ b/src/video/windib/SDL_dibvideo.c Sat Mar 16 19:16:24 2019 -0700
+@@ -675,6 +675,9 @@
+ video->w = width;
+ video->h = height;
+ video->pitch = SDL_CalculatePitch(video);
++ if (!current->pitch) {
++ return(NULL);
++ }
+
+ /* Small fix for WinCE/Win32 - when activating window
+ SDL_VideoSurface is equal to zero, so activating code
+diff -r 4646533663ae -r 9b0e5c555c0f src/video/windx5/SDL_dx5video.c
+--- a/src/video/windx5/SDL_dx5video.c Sat Mar 16 18:35:33 2019 -0700
++++ b/src/video/windx5/SDL_dx5video.c Sat Mar 16 19:16:24 2019 -0700
+@@ -1127,6 +1127,9 @@
+ video->w = width;
+ video->h = height;
+ video->pitch = SDL_CalculatePitch(video);
++ if (!current->pitch) {
++ return(NULL);
++ }
+
+ #ifndef NO_CHANGEDISPLAYSETTINGS
+ /* Set fullscreen mode if appropriate.
+diff -r 4646533663ae -r 9b0e5c555c0f src/video/x11/SDL_x11video.c
+--- a/src/video/x11/SDL_x11video.c Sat Mar 16 18:35:33 2019 -0700
++++ b/src/video/x11/SDL_x11video.c Sat Mar 16 19:16:24 2019 -0700
+@@ -1225,6 +1225,10 @@
+ current->w = width;
+ current->h = height;
+ current->pitch = SDL_CalculatePitch(current);
++ if (!current->pitch) {
++ current = NULL;
++ goto done;
++ }
+ if (X11_ResizeImage(this, current, flags) < 0) {
+ current = NULL;
+ goto done;
diff --git a/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7638.patch b/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7638.patch
new file mode 100644
index 0000000000..dab9aaeb2b
--- /dev/null
+++ b/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7638.patch
@@ -0,0 +1,38 @@
+# HG changeset patch
+# User Sam Lantinga <slouken@libsdl.org>
+# Date 1550504903 28800
+# Mon Feb 18 07:48:23 2019 -0800
+# Branch SDL-1.2
+# Node ID 19d8c3b9c25143f71a34ff40ce1df91b4b3e3b78
+# Parent 8586f153eedec4c4e07066d6248ebdf67f10a229
+Fixed bug 4500 - Heap-Buffer Overflow in Map1toN pertaining to SDL_pixels.c
+
+Petr Pisar
+
+The reproducer has these data in BITMAPINFOHEADER:
+
+biSize = 40
+biBitCount = 8
+biClrUsed = 131075
+
+SDL_LoadBMP_RW() function passes biBitCount as a color depth to SDL_CreateRGBSurface(), thus 256-color pallete is allocated. But then biClrUsed colors are read from a file and stored into the palette. SDL_LoadBMP_RW should report an error if biClrUsed is greater than 2^biBitCount.
+
+CVE: CVE-2019-7638
+CVE: CVE-2019-7636
+Upstream-Status: Backport
+Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
+
+diff -r 8586f153eede -r 19d8c3b9c251 src/video/SDL_bmp.c
+--- a/src/video/SDL_bmp.c Sun Jan 13 15:27:50 2019 +0100
++++ b/src/video/SDL_bmp.c Mon Feb 18 07:48:23 2019 -0800
+@@ -233,6 +233,10 @@
+ if ( palette ) {
+ if ( biClrUsed == 0 ) {
+ biClrUsed = 1 << biBitCount;
++ } else if ( biClrUsed > (1 << biBitCount) ) {
++ SDL_SetError("BMP file has an invalid number of colors");
++ was_error = SDL_TRUE;
++ goto done;
+ }
+ if ( biSize == 12 ) {
+ for ( i = 0; i < (int)biClrUsed; ++i ) {
diff --git a/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2022-34568.patch b/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2022-34568.patch
new file mode 100644
index 0000000000..7561300cb3
--- /dev/null
+++ b/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2022-34568.patch
@@ -0,0 +1,28 @@
+CVE: CVE-2022-34568
+Upstream-Status: Backport [https://github.com/libsdl-org/SDL-1.2/commit/d7e00208738a0bc6af302723fe64908ac35b777b ]
+Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
+
+From d7e00208738a0bc6af302723fe64908ac35b777b Mon Sep 17 00:00:00 2001
+From: Ozkan Sezer <sezeroz@gmail.com>
+Date: Sat, 18 Jun 2022 14:55:00 +0300
+Subject: [PATCH] SDL_x11yuv.c: fix possible use-after-free
+
+Fixes: https://github.com/libsdl-org/SDL-1.2/issues/863
+---
+ src/video/x11/SDL_x11yuv.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/video/x11/SDL_x11yuv.c b/src/video/x11/SDL_x11yuv.c
+index 62698dfd9..0d5754e3e 100644
+--- a/src/video/x11/SDL_x11yuv.c
++++ b/src/video/x11/SDL_x11yuv.c
+@@ -374,8 +374,8 @@ SDL_Overlay *X11_CreateYUVOverlay(_THIS, int width, int height, Uint32 format, S
+ #ifdef PITCH_WORKAROUND
+ if ( hwdata->image != NULL && hwdata->image->pitches[0] != (width*bpp) ) {
+ /* Ajust overlay width according to pitch */
+- XFree(hwdata->image);
+ width = hwdata->image->pitches[0] / bpp;
++ XFree(hwdata->image);
+ hwdata->image = SDL_NAME(XvCreateImage)(GFX_Display, xv_port, format,
+ 0, width, height);
+ }
diff --git a/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/libsdl-1.2.15-xdata32.patch b/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/libsdl-1.2.15-xdata32.patch
new file mode 100644
index 0000000000..f98b927522
--- /dev/null
+++ b/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/libsdl-1.2.15-xdata32.patch
@@ -0,0 +1,19 @@
+libX11-1.5.99.901 has changed prototype of _XData32
+
+Upstream-Status: Backport
+<http://bugzilla.libsdl.org/show_bug.cgi?id=1769>
+
+Signed-off-by: Saul Wold <sgw@linux.intel.com>
+
+diff -r b6b2829cd7ef src/video/x11/SDL_x11sym.h
+--- a/src/video/x11/SDL_x11sym.h Wed Feb 27 15:20:31 2013 -0800
++++ b/src/video/x11/SDL_x11sym.h Wed Mar 27 16:07:23 2013 +0100
+@@ -165,7 +165,7 @@
+ */
+ #ifdef LONG64
+ SDL_X11_MODULE(IO_32BIT)
+-SDL_X11_SYM(int,_XData32,(Display *dpy,register long *data,unsigned len),(dpy,data,len),return)
++SDL_X11_SYM(int,_XData32,(Display *dpy,register _Xconst long *data,unsigned len),(dpy,data,len),return)
+ SDL_X11_SYM(void,_XRead32,(Display *dpy,register long *data,long len),(dpy,data,len),)
+ #endif
+
diff --git a/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/pkgconfig.patch b/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/pkgconfig.patch
new file mode 100644
index 0000000000..913baa92a0
--- /dev/null
+++ b/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/pkgconfig.patch
@@ -0,0 +1,187 @@
+Rather than code which doesn't even work properly when cross compiling,
+lets just use pkg-config instead. Its a little simpler.
+
+RP 2014/6/20
+
+Upstream-Status: Pending
+
+Index: SDL-1.2.15/sdl.m4
+===================================================================
+--- SDL-1.2.15.orig/sdl.m4
++++ SDL-1.2.15/sdl.m4
+@@ -12,174 +12,8 @@ dnl Test for SDL, and define SDL_CFLAGS
+ dnl
+ AC_DEFUN([AM_PATH_SDL],
+ [dnl
+-dnl Get the cflags and libraries from the sdl-config script
+-dnl
+-AC_ARG_WITH(sdl-prefix,[ --with-sdl-prefix=PFX Prefix where SDL is installed (optional)],
+- sdl_prefix="$withval", sdl_prefix="")
+-AC_ARG_WITH(sdl-exec-prefix,[ --with-sdl-exec-prefix=PFX Exec prefix where SDL is installed (optional)],
+- sdl_exec_prefix="$withval", sdl_exec_prefix="")
+-AC_ARG_ENABLE(sdltest, [ --disable-sdltest Do not try to compile and run a test SDL program],
+- , enable_sdltest=yes)
+-
+- if test x$sdl_exec_prefix != x ; then
+- sdl_config_args="$sdl_config_args --exec-prefix=$sdl_exec_prefix"
+- if test x${SDL_CONFIG+set} != xset ; then
+- SDL_CONFIG=$sdl_exec_prefix/bin/sdl-config
+- fi
+- fi
+- if test x$sdl_prefix != x ; then
+- sdl_config_args="$sdl_config_args --prefix=$sdl_prefix"
+- if test x${SDL_CONFIG+set} != xset ; then
+- SDL_CONFIG=$sdl_prefix/bin/sdl-config
+- fi
+- fi
+-
+- as_save_PATH="$PATH"
+- if test "x$prefix" != xNONE; then
+- PATH="$prefix/bin:$prefix/usr/bin:$PATH"
+- fi
+- AC_PATH_PROG(SDL_CONFIG, sdl-config, no, [$PATH])
+- PATH="$as_save_PATH"
+ min_sdl_version=ifelse([$1], ,0.11.0,$1)
+- AC_MSG_CHECKING(for SDL - version >= $min_sdl_version)
+- no_sdl=""
+- if test "$SDL_CONFIG" = "no" ; then
+- no_sdl=yes
+- else
+- SDL_CFLAGS=`$SDL_CONFIG $sdl_config_args --cflags`
+- SDL_LIBS=`$SDL_CONFIG $sdl_config_args --libs`
+-
+- sdl_major_version=`$SDL_CONFIG $sdl_config_args --version | \
+- sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
+- sdl_minor_version=`$SDL_CONFIG $sdl_config_args --version | \
+- sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
+- sdl_micro_version=`$SDL_CONFIG $sdl_config_args --version | \
+- sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
+- if test "x$enable_sdltest" = "xyes" ; then
+- ac_save_CFLAGS="$CFLAGS"
+- ac_save_CXXFLAGS="$CXXFLAGS"
+- ac_save_LIBS="$LIBS"
+- CFLAGS="$CFLAGS $SDL_CFLAGS"
+- CXXFLAGS="$CXXFLAGS $SDL_CFLAGS"
+- LIBS="$LIBS $SDL_LIBS"
+-dnl
+-dnl Now check if the installed SDL is sufficiently new. (Also sanity
+-dnl checks the results of sdl-config to some extent
+-dnl
+- rm -f conf.sdltest
+- AC_TRY_RUN([
+-#include <stdio.h>
+-#include <stdlib.h>
+-#include <string.h>
+-#include "SDL.h"
+-
+-char*
+-my_strdup (char *str)
+-{
+- char *new_str;
+-
+- if (str)
+- {
+- new_str = (char *)malloc ((strlen (str) + 1) * sizeof(char));
+- strcpy (new_str, str);
+- }
+- else
+- new_str = NULL;
+-
+- return new_str;
+-}
+-
+-int main (int argc, char *argv[])
+-{
+- int major, minor, micro;
+- char *tmp_version;
+-
+- /* This hangs on some systems (?)
+- system ("touch conf.sdltest");
+- */
+- { FILE *fp = fopen("conf.sdltest", "a"); if ( fp ) fclose(fp); }
+-
+- /* HP/UX 9 (%@#!) writes to sscanf strings */
+- tmp_version = my_strdup("$min_sdl_version");
+- if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, &micro) != 3) {
+- printf("%s, bad version string\n", "$min_sdl_version");
+- exit(1);
+- }
+-
+- if (($sdl_major_version > major) ||
+- (($sdl_major_version == major) && ($sdl_minor_version > minor)) ||
+- (($sdl_major_version == major) && ($sdl_minor_version == minor) && ($sdl_micro_version >= micro)))
+- {
+- return 0;
+- }
+- else
+- {
+- printf("\n*** 'sdl-config --version' returned %d.%d.%d, but the minimum version\n", $sdl_major_version, $sdl_minor_version, $sdl_micro_version);
+- printf("*** of SDL required is %d.%d.%d. If sdl-config is correct, then it is\n", major, minor, micro);
+- printf("*** best to upgrade to the required version.\n");
+- printf("*** If sdl-config was wrong, set the environment variable SDL_CONFIG\n");
+- printf("*** to point to the correct copy of sdl-config, and remove the file\n");
+- printf("*** config.cache before re-running configure\n");
+- return 1;
+- }
+-}
+-
+-],, no_sdl=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
+- CFLAGS="$ac_save_CFLAGS"
+- CXXFLAGS="$ac_save_CXXFLAGS"
+- LIBS="$ac_save_LIBS"
+- fi
+- fi
+- if test "x$no_sdl" = x ; then
+- AC_MSG_RESULT(yes)
+- ifelse([$2], , :, [$2])
+- else
+- AC_MSG_RESULT(no)
+- if test "$SDL_CONFIG" = "no" ; then
+- echo "*** The sdl-config script installed by SDL could not be found"
+- echo "*** If SDL was installed in PREFIX, make sure PREFIX/bin is in"
+- echo "*** your path, or set the SDL_CONFIG environment variable to the"
+- echo "*** full path to sdl-config."
+- else
+- if test -f conf.sdltest ; then
+- :
+- else
+- echo "*** Could not run SDL test program, checking why..."
+- CFLAGS="$CFLAGS $SDL_CFLAGS"
+- CXXFLAGS="$CXXFLAGS $SDL_CFLAGS"
+- LIBS="$LIBS $SDL_LIBS"
+- AC_TRY_LINK([
+-#include <stdio.h>
+-#include "SDL.h"
+-
+-int main(int argc, char *argv[])
+-{ return 0; }
+-#undef main
+-#define main K_and_R_C_main
+-], [ return 0; ],
+- [ echo "*** The test program compiled, but did not run. This usually means"
+- echo "*** that the run-time linker is not finding SDL or finding the wrong"
+- echo "*** version of SDL. If it is not finding SDL, you'll need to set your"
+- echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point"
+- echo "*** to the installed location Also, make sure you have run ldconfig if that"
+- echo "*** is required on your system"
+- echo "***"
+- echo "*** If you have an old version installed, it is best to remove it, although"
+- echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"],
+- [ echo "*** The test program failed to compile or link. See the file config.log for the"
+- echo "*** exact error that occured. This usually means SDL was incorrectly installed"
+- echo "*** or that you have moved SDL since it was installed. In the latter case, you"
+- echo "*** may want to edit the sdl-config script: $SDL_CONFIG" ])
+- CFLAGS="$ac_save_CFLAGS"
+- CXXFLAGS="$ac_save_CXXFLAGS"
+- LIBS="$ac_save_LIBS"
+- fi
+- fi
+- SDL_CFLAGS=""
+- SDL_LIBS=""
+- ifelse([$3], , :, [$3])
+- fi
++ PKG_CHECK_MODULES([SDL], [sdl >= $min_sdl_version])
+ AC_SUBST(SDL_CFLAGS)
+ AC_SUBST(SDL_LIBS)
+- rm -f conf.sdltest
+ ])
diff --git a/meta-oe/recipes-graphics/libsdl/libsdl-gfx_2.0.25.bb b/meta-oe/recipes-graphics/libsdl/libsdl-gfx_2.0.27.bb
index b077a0bdf8..4f702029d9 100644
--- a/meta-oe/recipes-graphics/libsdl/libsdl-gfx_2.0.25.bb
+++ b/meta-oe/recipes-graphics/libsdl/libsdl-gfx_2.0.27.bb
@@ -3,11 +3,12 @@ SECTION = "libs"
LICENSE = "Zlib"
LIC_FILES_CHKSUM = "file://LICENSE;md5=5d1de21f0b70830e299905eac3419084"
-DEPENDS = "virtual/libsdl"
+DEPENDS = "libsdl"
SRC_URI = "http://www.ferzkopp.net/Software/SDL_gfx-2.0/SDL_gfx-${PV}.tar.gz"
-SRC_URI[md5sum] = "ea24ed4b82ff1304809c363494fa8e16"
-SRC_URI[sha256sum] = "556eedc06b6cf29eb495b6d27f2dcc51bf909ad82389ba2fa7bdc4dec89059c0"
+SRC_URI[sha256sum] = "dfb15ac5f8ce7a4952dc12d2aed9747518c5e6b335c0e31636d23f93c630f419"
+
+UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/sdlgfx/files/"
S = "${WORKDIR}/SDL_gfx-${PV}"
diff --git a/meta-oe/recipes-graphics/libsdl/libsdl-image/0001-png-img-Fix-prototypes-of-callbacks.patch b/meta-oe/recipes-graphics/libsdl/libsdl-image/0001-png-img-Fix-prototypes-of-callbacks.patch
new file mode 100644
index 0000000000..1bbfa99210
--- /dev/null
+++ b/meta-oe/recipes-graphics/libsdl/libsdl-image/0001-png-img-Fix-prototypes-of-callbacks.patch
@@ -0,0 +1,52 @@
+From 41791738221fdb7574fc8e23f84214910cdce098 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 1 Mar 2023 21:51:40 -0800
+Subject: [PATCH] png-img: Fix prototypes of callbacks
+
+Clang-16 is flagging function pointer mismatches
+
+Upstream-Status: Inappropriate [No upstream]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ IMG_png.c | 16 ++++++++--------
+ 1 file changed, 8 insertions(+), 8 deletions(-)
+
+diff --git a/IMG_png.c b/IMG_png.c
+index 5f91f15..4d5bdb6 100644
+--- a/IMG_png.c
++++ b/IMG_png.c
+@@ -78,15 +78,15 @@
+ static struct {
+ int loaded;
+ void *handle;
+- png_infop (*png_create_info_struct) (png_structp png_ptr);
++ png_infop (*png_create_info_struct) (png_const_structp png_ptr);
+ png_structp (*png_create_read_struct) (png_const_charp user_png_ver, png_voidp error_ptr, png_error_ptr error_fn, png_error_ptr warn_fn);
+ void (*png_destroy_read_struct) (png_structpp png_ptr_ptr, png_infopp info_ptr_ptr, png_infopp end_info_ptr_ptr);
+- png_uint_32 (*png_get_IHDR) (png_structp png_ptr, png_infop info_ptr, png_uint_32 *width, png_uint_32 *height, int *bit_depth, int *color_type, int *interlace_method, int *compression_method, int *filter_method);
+- png_voidp (*png_get_io_ptr) (png_structp png_ptr);
+- png_byte (*png_get_channels) (png_structp png_ptr, png_infop info_ptr);
+- png_uint_32 (*png_get_PLTE) (png_structp png_ptr, png_infop info_ptr, png_colorp *palette, int *num_palette);
+- png_uint_32 (*png_get_tRNS) (png_structp png_ptr, png_infop info_ptr, png_bytep *trans, int *num_trans, png_color_16p *trans_values);
+- png_uint_32 (*png_get_valid) (png_structp png_ptr, png_infop info_ptr, png_uint_32 flag);
++ png_uint_32 (*png_get_IHDR) (png_const_structp png_ptr, png_const_infop info_ptr, png_uint_32 *width, png_uint_32 *height, int *bit_depth, int *color_type, int *interlace_method, int *compression_method, int *filter_method);
++ png_voidp (*png_get_io_ptr) (png_const_structp png_ptr);
++ png_byte (*png_get_channels) (png_const_structp png_ptr, png_const_infop info_ptr);
++ png_uint_32 (*png_get_PLTE) (png_const_structp png_ptr, png_infop info_ptr, png_colorp *palette, int *num_palette);
++ png_uint_32 (*png_get_tRNS) (png_const_structp png_ptr, png_infop info_ptr, png_bytep *trans, int *num_trans, png_color_16p *trans_values);
++ png_uint_32 (*png_get_valid) (png_const_structp png_ptr, png_const_infop info_ptr, png_uint_32 flag);
+ void (*png_read_image) (png_structp png_ptr, png_bytepp image);
+ void (*png_read_info) (png_structp png_ptr, png_infop info_ptr);
+ void (*png_read_update_info) (png_structp png_ptr, png_infop info_ptr);
+@@ -95,7 +95,7 @@ static struct {
+ void (*png_set_packing) (png_structp png_ptr);
+ void (*png_set_read_fn) (png_structp png_ptr, png_voidp io_ptr, png_rw_ptr read_data_fn);
+ void (*png_set_strip_16) (png_structp png_ptr);
+- int (*png_sig_cmp) (png_bytep sig, png_size_t start, png_size_t num_to_check);
++ int (*png_sig_cmp) (png_const_bytep sig, png_size_t start, png_size_t num_to_check);
+ #ifndef LIBPNG_VERSION_12
+ jmp_buf* (*png_set_longjmp_fn) (png_structp, png_longjmp_ptr, size_t);
+ #endif
+--
+2.39.2
+
diff --git a/meta-oe/recipes-graphics/libsdl/libsdl-image/configure.patch b/meta-oe/recipes-graphics/libsdl/libsdl-image/configure.patch
index 5299d378eb..102cec7288 100644
--- a/meta-oe/recipes-graphics/libsdl/libsdl-image/configure.patch
+++ b/meta-oe/recipes-graphics/libsdl/libsdl-image/configure.patch
@@ -1,3 +1,5 @@
+Upstream-Status: Pending
+
Index: SDL_image-1.2.12/configure.in
===================================================================
--- SDL_image-1.2.12.orig/configure.in 2012-01-21 01:51:33.000000000 +0000
diff --git a/meta-oe/recipes-graphics/libsdl/libsdl-image_1.2.12.bb b/meta-oe/recipes-graphics/libsdl/libsdl-image_1.2.12.bb
index ea8e9eaa30..01137bb0ca 100644
--- a/meta-oe/recipes-graphics/libsdl/libsdl-image_1.2.12.bb
+++ b/meta-oe/recipes-graphics/libsdl/libsdl-image_1.2.12.bb
@@ -4,11 +4,11 @@ SECTION = "libs"
LICENSE = "Zlib"
LIC_FILES_CHKSUM = "file://COPYING;md5=613734b7586e1580ef944961c6d62227"
-DEPENDS = "tiff zlib libpng jpeg virtual/libsdl"
+DEPENDS = "tiff zlib libpng jpeg libsdl"
SRC_URI = "http://www.libsdl.org/projects/SDL_image/release/SDL_image-${PV}.tar.gz \
+ file://0001-png-img-Fix-prototypes-of-callbacks.patch \
file://configure.patch"
-SRC_URI[md5sum] = "a0f9098ebe5400f0bdc9b62e60797ecb"
SRC_URI[sha256sum] = "0b90722984561004de84847744d566809dbb9daf732a9e503b91a1b5a84e5699"
S = "${WORKDIR}/SDL_image-${PV}"
@@ -20,7 +20,7 @@ export SDL_CONFIG = "${STAGING_BINDIR_CROSS}/sdl-config"
# Disable the run-time loading of the libs and bring back the soname dependencies.
EXTRA_OECONF += "--disable-jpg-shared --disable-png-shared -disable-tif-shared"
-do_configure_prepend() {
+do_configure:prepend() {
# Removing these files fixes a libtool version mismatch.
rm -f ${S}/acinclude/libtool.m4
rm -f ${S}/acinclude/sdl.m4
diff --git a/meta-oe/recipes-graphics/libsdl/libsdl-mixer/configure.patch b/meta-oe/recipes-graphics/libsdl/libsdl-mixer/configure.patch
index 4c9e8d094c..7330ef61aa 100644
--- a/meta-oe/recipes-graphics/libsdl/libsdl-mixer/configure.patch
+++ b/meta-oe/recipes-graphics/libsdl/libsdl-mixer/configure.patch
@@ -1,3 +1,5 @@
+Upstream-Status: Pending
+
diff -Nurd SDL_mixer-1.2.12/configure.in SDL_mixer-1.2.12/configure.in
--- SDL_mixer-1.2.12/configure.in 2012-01-16 00:01:05.000000000 +0200
+++ SDL_mixer-1.2.12/configure.in 2012-12-15 04:08:04.627871456 +0200
diff --git a/meta-oe/recipes-graphics/libsdl/libsdl-mixer_1.2.12.bb b/meta-oe/recipes-graphics/libsdl/libsdl-mixer_1.2.12.bb
index c83fcc8daa..a470ee81d0 100644
--- a/meta-oe/recipes-graphics/libsdl/libsdl-mixer_1.2.12.bb
+++ b/meta-oe/recipes-graphics/libsdl/libsdl-mixer_1.2.12.bb
@@ -1,6 +1,6 @@
SUMMARY = "Simple DirectMedia Layer mixer library"
SECTION = "libs"
-DEPENDS = "virtual/libsdl flac libmikmod libvorbis"
+DEPENDS = "libsdl flac libmikmod libvorbis"
LICENSE = "Zlib"
LIC_FILES_CHKSUM = "file://COPYING;md5=a37a47a0e579e461474cd03b9e05199d"
diff --git a/meta-oe/recipes-graphics/libsdl/libsdl-net/am_foreign.patch b/meta-oe/recipes-graphics/libsdl/libsdl-net/am_foreign.patch
index fb3ff7e689..7911a2aa75 100644
--- a/meta-oe/recipes-graphics/libsdl/libsdl-net/am_foreign.patch
+++ b/meta-oe/recipes-graphics/libsdl/libsdl-net/am_foreign.patch
@@ -1,3 +1,5 @@
+Upstream-Status: Pending
+
diff -Nurd SDL_net-1.2.8/Makefile.am SDL_net-1.2.8/Makefile.am
--- SDL_net-1.2.8/Makefile.am 2012-01-15 18:20:10.000000000 +0200
+++ SDL_net-1.2.8/Makefile.am 2014-08-01 21:18:52.720815807 +0300
diff --git a/meta-oe/recipes-graphics/libsdl/libsdl-net/libtool2.patch b/meta-oe/recipes-graphics/libsdl/libsdl-net/libtool2.patch
index 9718a3b94a..e491c1abce 100644
--- a/meta-oe/recipes-graphics/libsdl/libsdl-net/libtool2.patch
+++ b/meta-oe/recipes-graphics/libsdl/libsdl-net/libtool2.patch
@@ -3,6 +3,8 @@ From: Denis 'GNUtoo' Carikli <GNUtoo@no-log.org>
Date: Wed, 17 Oct 2012 20:51:51 +0200
---
+Upstream-Status: Pending
+
configure.in | 2 ++
1 file changed, 2 insertions(+)
diff --git a/meta-oe/recipes-graphics/libsdl/libsdl-net_1.2.8.bb b/meta-oe/recipes-graphics/libsdl/libsdl-net_1.2.8.bb
index b021e565ef..49b1ef2879 100644
--- a/meta-oe/recipes-graphics/libsdl/libsdl-net_1.2.8.bb
+++ b/meta-oe/recipes-graphics/libsdl/libsdl-net_1.2.8.bb
@@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=9cf3de2d872bf510f88eb20d06d700b5"
inherit autotools pkgconfig
-DEPENDS = "virtual/libsdl"
+DEPENDS = "libsdl"
SRC_URI = " \
https://www.libsdl.org/projects/SDL_net/release/SDL_net-${PV}.tar.gz \
diff --git a/meta-oe/recipes-graphics/libsdl/libsdl-ttf/use.pkg-config.for.freetype2.patch b/meta-oe/recipes-graphics/libsdl/libsdl-ttf/use.pkg-config.for.freetype2.patch
index 1116c34d07..d174d7ab5c 100644
--- a/meta-oe/recipes-graphics/libsdl/libsdl-ttf/use.pkg-config.for.freetype2.patch
+++ b/meta-oe/recipes-graphics/libsdl/libsdl-ttf/use.pkg-config.for.freetype2.patch
@@ -8,6 +8,8 @@ commit 5870bd272b0b077d0826fb900b251884c1c05061
binconfig-disabled: Add class and use
---
+Upstream-Status: Pending
+
configure.in | 38 +++++---------------------------------
1 file changed, 5 insertions(+), 33 deletions(-)
diff --git a/meta-oe/recipes-graphics/libsdl/libsdl-ttf_2.0.11.bb b/meta-oe/recipes-graphics/libsdl/libsdl-ttf_2.0.11.bb
index d8b378f2cd..797c38d8e1 100644
--- a/meta-oe/recipes-graphics/libsdl/libsdl-ttf_2.0.11.bb
+++ b/meta-oe/recipes-graphics/libsdl/libsdl-ttf_2.0.11.bb
@@ -1,6 +1,6 @@
SUMMARY = "Simple DirectMedia Layer truetype font library"
SECTION = "libs"
-DEPENDS = "virtual/libsdl freetype"
+DEPENDS = "libsdl freetype"
LICENSE = "Zlib"
LIC_FILES_CHKSUM = "file://COPYING;md5=22800d1b3701377aae0b61ee36f5c303"
@@ -16,7 +16,7 @@ inherit autotools pkgconfig
LDFLAGS += "-lm"
-do_configure_prepend() {
+do_configure:prepend() {
# make autoreconf happy
touch ${S}/NEWS ${S}/AUTHORS ${S}/ChangeLog
diff --git a/meta-oe/recipes-graphics/libsdl/libsdl2-image_2.0.3.bb b/meta-oe/recipes-graphics/libsdl/libsdl2-image_2.8.2.bb
index 6deb352e65..267311853a 100644
--- a/meta-oe/recipes-graphics/libsdl/libsdl2-image_2.0.3.bb
+++ b/meta-oe/recipes-graphics/libsdl/libsdl2-image_2.8.2.bb
@@ -2,13 +2,12 @@ SUMMARY = "Simple DirectMedia Layer image library v2"
SECTION = "libs"
LICENSE = "Zlib"
-LIC_FILES_CHKSUM = "file://COPYING.txt;md5=a855a9eb5507fc556e672080c4b428ca"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=2f6d9e01c97958aa851954ed5acf82ee"
-DEPENDS = "tiff zlib libpng jpeg virtual/libsdl2 libwebp"
+DEPENDS = "tiff zlib libpng jpeg libsdl2 libwebp"
SRC_URI = "http://www.libsdl.org/projects/SDL_image/release/SDL2_image-${PV}.tar.gz"
-SRC_URI[md5sum] = "c6baf6dfa80fa8a66853661a36a6034e"
-SRC_URI[sha256sum] = "3510c25da735ffcd8ce3b65073150ff4f7f9493b866e85b83738083b556d2368"
+SRC_URI[sha256sum] = "8f486bbfbcf8464dd58c9e5d93394ab0255ce68b51c5a966a918244820a76ddc"
S = "${WORKDIR}/SDL2_image-${PV}"
@@ -17,7 +16,7 @@ inherit autotools pkgconfig
# Disable the run-time loading of the libs and bring back the soname dependencies.
EXTRA_OECONF += "--disable-jpg-shared --disable-png-shared -disable-tif-shared"
-do_configure_prepend() {
+do_configure:prepend() {
# make autoreconf happy
touch ${S}/NEWS ${S}/README ${S}/AUTHORS ${S}/ChangeLog
# Removing these files fixes a libtool version mismatch.
diff --git a/meta-oe/recipes-graphics/libsdl/libsdl2-mixer/0001-configure.in-Undefine-AC_CONFIG_AUX_DIR.patch b/meta-oe/recipes-graphics/libsdl/libsdl2-mixer/0001-configure.in-Undefine-AC_CONFIG_AUX_DIR.patch
new file mode 100644
index 0000000000..0605b32e30
--- /dev/null
+++ b/meta-oe/recipes-graphics/libsdl/libsdl2-mixer/0001-configure.in-Undefine-AC_CONFIG_AUX_DIR.patch
@@ -0,0 +1,34 @@
+From 9363c98528ef850235852e44f678df6b5c011ee1 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 7 Feb 2021 18:08:36 -0800
+Subject: [PATCH] configure.in: Undefine AC_CONFIG_AUX_DIR
+
+This helps reconfiguring with autotools 2.70+
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ configure.in | 5 -----
+ 1 file changed, 5 deletions(-)
+
+--- a/configure.in
++++ b/configure.in
+@@ -1,7 +1,6 @@
+ dnl Process this file with autoconf to produce a configure script.
+ AC_INIT(README.txt)
+ AC_CONFIG_AUX_DIR(build-scripts)
+-
+ dnl Set various version strings - taken gratefully from the GTk sources
+
+ # Making releases:
+@@ -40,10 +39,6 @@ AC_SUBST(LT_CURRENT)
+ AC_SUBST(LT_REVISION)
+ AC_SUBST(LT_AGE)
+
+-dnl Detect the canonical build and host environments
+-AC_CONFIG_AUX_DIRS($srcdir/build-scripts)
+-dnl AC_CANONICAL_HOST
+-
+ dnl Check for tools
+ AC_PROG_LIBTOOL
+ AC_PROG_CC
diff --git a/meta-oe/recipes-graphics/libsdl/libsdl2-mixer_2.0.2.bb b/meta-oe/recipes-graphics/libsdl/libsdl2-mixer_2.0.4.bb
index 718f3f5fde..dbcb2a193b 100644
--- a/meta-oe/recipes-graphics/libsdl/libsdl2-mixer_2.0.2.bb
+++ b/meta-oe/recipes-graphics/libsdl/libsdl2-mixer_2.0.4.bb
@@ -1,24 +1,24 @@
SUMMARY = "Simple DirectMedia Layer mixer library V2"
SECTION = "libs"
-DEPENDS = "virtual/libsdl2 flac libmikmod libvorbis"
+DEPENDS = "libsdl2 flac libmikmod libvorbis"
LICENSE = "Zlib"
-LIC_FILES_CHKSUM = "file://COPYING.txt;md5=95e0c3cf63f71b950911e698a54b7fc5"
+LIC_FILES_CHKSUM = "file://COPYING.txt;md5=516daf7a177ad4c8874bb9efa1a69c1f"
-SRC_URI = "http://www.libsdl.org/projects/SDL_mixer/release/SDL2_mixer-${PV}.tar.gz"
-
-SRC_URI[md5sum] = "aaa0551393993c14a13f72b339c0ed6c"
-SRC_URI[sha256sum] = "4e615e27efca4f439df9af6aa2c6de84150d17cbfd12174b54868c12f19c83bb"
+SRC_URI = "http://www.libsdl.org/projects/SDL_mixer/release/SDL2_mixer-${PV}.tar.gz \
+ file://0001-configure.in-Undefine-AC_CONFIG_AUX_DIR.patch \
+ "
+SRC_URI[sha256sum] = "b4cf5a382c061cd75081cf246c2aa2f9df8db04bdda8dcdc6b6cca55bede2419"
S = "${WORKDIR}/SDL2_mixer-${PV}"
inherit autotools-brokensep pkgconfig
-EXTRA_AUTORECONF += "--include=acinclude"
-EXTRA_OECONF = "--disable-music-mp3 --enable-music-ogg --enable-music-ogg-tremor LIBS=-L${STAGING_LIBDIR}"
+EXTRA_OECONF = "--disable-music-mp3 --enable-music-ogg --disable-music-ogg-shared LIBS=-L${STAGING_LIBDIR}"
+PACKAGECONFIG ??= ""
PACKAGECONFIG[mad] = "--enable-music-mp3-mad-gpl,--disable-music-mp3-mad-gpl,libmad"
-do_configure_prepend () {
+do_configure:prepend () {
# Remove old libtool macros.
MACROS="libtool.m4 lt~obsolete.m4 ltoptions.m4 ltsugar.m4 ltversion.m4"
for i in ${MACROS}; do
diff --git a/meta-oe/recipes-graphics/libsdl/libsdl2-net_2.0.1.bb b/meta-oe/recipes-graphics/libsdl/libsdl2-net_2.0.1.bb
index 0ea96fe1b8..35369e8731 100644
--- a/meta-oe/recipes-graphics/libsdl/libsdl2-net_2.0.1.bb
+++ b/meta-oe/recipes-graphics/libsdl/libsdl2-net_2.0.1.bb
@@ -10,12 +10,12 @@ S = "${WORKDIR}/SDL2_net-${PV}"
inherit autotools pkgconfig
-DEPENDS = "virtual/libsdl2"
+DEPENDS = "libsdl2"
SRC_URI[md5sum] = "5c1d9d1cfa63301b141cb5c0de2ea7c4"
SRC_URI[sha256sum] = "15ce8a7e5a23dafe8177c8df6e6c79b6749a03fff1e8196742d3571657609d21"
-do_configure_prepend() {
+do_configure:prepend() {
# create dummy files which autotools consider as mandatory
touch ${S}/NEWS ${S}/README ${S}/AUTHORS ${S}/ChangeLog
diff --git a/meta-oe/recipes-graphics/libsdl/libsdl2-ttf/0001-freetype-Fix-function-signatures-to-match-without-ca.patch b/meta-oe/recipes-graphics/libsdl/libsdl2-ttf/0001-freetype-Fix-function-signatures-to-match-without-ca.patch
new file mode 100644
index 0000000000..8cb76c35d6
--- /dev/null
+++ b/meta-oe/recipes-graphics/libsdl/libsdl2-ttf/0001-freetype-Fix-function-signatures-to-match-without-ca.patch
@@ -0,0 +1,69 @@
+From 6c52693d264ca3dc8e15a92f56cf3a636639bb6c Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Martin=20Storsj=C3=B6?= <martin@martin.st>
+Date: Fri, 28 Oct 2022 22:17:15 +0300
+Subject: [PATCH] freetype: Fix function signatures to match without casts
+
+Clang 16 has got a new stricter warning for casts of function types
+(see https://github.com/llvm/llvm-project/commit/1aad641c793090b4d036c03e737df2ebe2c32c57).
+
+This new warning gets included as part of the existing error
+diagnostic setting of -Wcast-function-type.
+
+This fixes errors like these:
+
+../src/hb-ft.cc:1011:34: error: cast from 'void (*)(FT_Face)' (aka 'void (*)(FT_FaceRec_ *)') to 'FT_Generic_Finalizer' (aka 'void (*)(void *)') converts to incompatible function type [-Werror,-Wcast-function-type-strict]
+ ft_face->generic.finalizer = (FT_Generic_Finalizer) hb_ft_face_finalize;
+ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Upstream-Status: Backport [https://github.com/harfbuzz/harfbuzz/commit/d88269c827895b38f99f7cf741fa60210d4d5169]
+---
+ src/hb-ft.cc | 10 ++++++----
+ 1 file changed, 6 insertions(+), 4 deletions(-)
+
+diff --git a/src/hb-ft.cc b/src/hb-ft.cc
+index a6beb9f0f..a35e75b18 100644
+--- a/src/hb-ft.cc
++++ b/src/hb-ft.cc
+@@ -729,8 +729,9 @@ hb_ft_face_create_referenced (FT_Face ft_face)
+ }
+
+ static void
+-hb_ft_face_finalize (FT_Face ft_face)
++hb_ft_face_finalize (void *arg)
+ {
++ FT_Face ft_face = (FT_Face) arg;
+ hb_face_destroy ((hb_face_t *) ft_face->generic.data);
+ }
+
+@@ -762,7 +763,7 @@ hb_ft_face_create_cached (FT_Face ft_face)
+ ft_face->generic.finalizer (ft_face);
+
+ ft_face->generic.data = hb_ft_face_create (ft_face, nullptr);
+- ft_face->generic.finalizer = (FT_Generic_Finalizer) hb_ft_face_finalize;
++ ft_face->generic.finalizer = hb_ft_face_finalize;
+ }
+
+ return hb_face_reference ((hb_face_t *) ft_face->generic.data);
+@@ -949,8 +950,9 @@ get_ft_library ()
+ }
+
+ static void
+-_release_blob (FT_Face ft_face)
++_release_blob (void *arg)
+ {
++ FT_Face ft_face = (FT_Face) arg;
+ hb_blob_destroy ((hb_blob_t *) ft_face->generic.data);
+ }
+
+@@ -1032,7 +1034,7 @@ hb_ft_font_set_funcs (hb_font_t *font)
+ #endif
+
+ ft_face->generic.data = blob;
+- ft_face->generic.finalizer = (FT_Generic_Finalizer) _release_blob;
++ ft_face->generic.finalizer = _release_blob;
+
+ _hb_ft_font_set_funcs (font, ft_face, true);
+ hb_ft_font_set_load_flags (font, FT_LOAD_DEFAULT | FT_LOAD_NO_HINTING);
+--
+2.39.2
+
diff --git a/meta-oe/recipes-graphics/libsdl/libsdl2-ttf/automake_foreign.patch b/meta-oe/recipes-graphics/libsdl/libsdl2-ttf/automake_foreign.patch
index 871e6e94ef..bc9371553f 100644
--- a/meta-oe/recipes-graphics/libsdl/libsdl2-ttf/automake_foreign.patch
+++ b/meta-oe/recipes-graphics/libsdl/libsdl2-ttf/automake_foreign.patch
@@ -1,16 +1,18 @@
-From f9c4ad3a171d676e3818b8f6897f325ccf0b2203 Mon Sep 17 00:00:00 2001
+From 6ec375eaafc43a2b3c30a0e0e49447d231d81a67 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Tue, 9 May 2017 00:57:10 -0700
---
+Upstream-Status: Pending
+
Makefile.am | 2 ++
1 file changed, 2 insertions(+)
diff --git a/Makefile.am b/Makefile.am
-index 8166d91..8e05e49 100644
+index 8568dd2..5efc91e 100644
--- a/Makefile.am
+++ b/Makefile.am
-@@ -2,6 +2,8 @@
+@@ -3,6 +3,8 @@ ACLOCAL_AMFLAGS = -I acinclude
lib_LTLIBRARIES = libSDL2_ttf.la
diff --git a/meta-oe/recipes-graphics/libsdl/libsdl2-ttf/use.pkg-config.for.freetype2.patch b/meta-oe/recipes-graphics/libsdl/libsdl2-ttf/use.pkg-config.for.freetype2.patch
deleted file mode 100644
index 1dfbec6edd..0000000000
--- a/meta-oe/recipes-graphics/libsdl/libsdl2-ttf/use.pkg-config.for.freetype2.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-From e6d2c0e130811c15b5f5cc10221fae182cb8609e Mon Sep 17 00:00:00 2001
-From: Richard Purdie <richard.purdie@linuxfoundation.org>
-Date: Thu, 22 May 2014 10:59:33 +0100
-Subject: [PATCH] freetype-config was removed from oe-core in
-
-commit 5870bd272b0b077d0826fb900b251884c1c05061
-
- binconfig-disabled: Add class and use
-
----
- configure.in | 38 +++++---------------------------------
- 1 file changed, 5 insertions(+), 33 deletions(-)
-
-diff --git a/configure.in b/configure.in
-index 9b36e15..f300cae 100644
---- a/configure.in
-+++ b/configure.in
-@@ -86,39 +86,11 @@ case "$host" in
- esac
- AM_CONDITIONAL(USE_VERSION_RC, test x$use_version_rc = xtrue)
-
--dnl Check for the FreeType 2 library
--dnl
--dnl Get the cflags and libraries from the freetype-config script
--dnl
--AC_ARG_WITH(freetype-prefix,[ --with-freetype-prefix=PFX Prefix where FREETYPE is
--installed (optional)],
-- freetype_prefix="$withval", freetype_prefix="")
--AC_ARG_WITH(freetype-exec-prefix,[ --with-freetype-exec-prefix=PFX Exec prefix
--where FREETYPE is installed (optional)],
-- freetype_exec_prefix="$withval", freetype_exec_prefix="")
--
--if test x$freetype_exec_prefix != x ; then
-- freetype_args="$freetype_args --exec-prefix=$freetype_exec_prefix"
-- if test x${FREETYPE_CONFIG+set} != xset ; then
-- FREETYPE_CONFIG=$freetype_exec_prefix/bin/freetype-config
-- fi
--fi
--if test x$freetype_prefix != x ; then
-- freetype_args="$freetype_args --prefix=$freetype_prefix"
-- if test x${FREETYPE_CONFIG+set} != xset ; then
-- FREETYPE_CONFIG=$freetype_prefix/bin/freetype-config
-- fi
--fi
--AC_PATH_PROG(FREETYPE_CONFIG, freetype-config, no)
--no_freetype=""
--if test "$FREETYPE_CONFIG" = "no" ; then
-- AC_MSG_ERROR([
--*** Unable to find FreeType2 library (http://www.freetype.org/)
--])
--else
-- CFLAGS="$CFLAGS `$FREETYPE_CONFIG $freetypeconf_args --cflags`"
-- LIBS="$LIBS `$FREETYPE_CONFIG $freetypeconf_args --libs`"
--fi
-+PKG_CHECK_MODULES(FREETYPE2, freetype2,
-+ CFLAGS="$CFLAGS $FREETYPE2_CFLAGS"
-+ LIBS="$LIBS $FREETYPE2_LIBS",
-+ AC_MSG_ERROR([*** Unable to find FreeType2 library (http://www.freetype.org/)])
-+)
-
- dnl Check for SDL
- SDL_VERSION=2.0.0
diff --git a/meta-oe/recipes-graphics/libsdl/libsdl2-ttf_2.0.14.bb b/meta-oe/recipes-graphics/libsdl/libsdl2-ttf_2.0.14.bb
deleted file mode 100644
index 4601593ad8..0000000000
--- a/meta-oe/recipes-graphics/libsdl/libsdl2-ttf_2.0.14.bb
+++ /dev/null
@@ -1,30 +0,0 @@
-SUMMARY = "Simple DirectMedia Layer truetype font library"
-SECTION = "libs"
-DEPENDS = "virtual/libsdl2 freetype virtual/libgl"
-LICENSE = "Zlib"
-LIC_FILES_CHKSUM = "file://COPYING.txt;md5=cb33e7c4df9fbde389f149ad6bc93ce5"
-
-SRC_URI = " \
- http://www.libsdl.org/projects/SDL_ttf/release/SDL2_ttf-${PV}.tar.gz \
- file://use.pkg-config.for.freetype2.patch \
- file://automake_foreign.patch \
-"
-SRC_URI[md5sum] = "e53c05e1e7f1382c316afd6c763388b1"
-SRC_URI[sha256sum] = "34db5e20bcf64e7071fe9ae25acaa7d72bdc4f11ab3ce59acc768ab62fe39276"
-
-S = "${WORKDIR}/SDL2_ttf-${PV}"
-
-inherit autotools pkgconfig distro_features_check
-
-# links to libGL.so
-REQUIRED_DISTRO_FEATURES += "x11 opengl"
-
-do_configure_prepend() {
- # Removing these files fixes a libtool version mismatch.
- MACROS="libtool.m4 lt~obsolete.m4 ltoptions.m4 ltsugar.m4 ltversion.m4"
-
- for i in ${MACROS}; do
- rm -f ${S}/acinclude/$i
- done
-}
-ASNEEDED = ""
diff --git a/meta-oe/recipes-graphics/libsdl/libsdl2-ttf_2.20.2.bb b/meta-oe/recipes-graphics/libsdl/libsdl2-ttf_2.20.2.bb
new file mode 100644
index 0000000000..6cd4a48aa8
--- /dev/null
+++ b/meta-oe/recipes-graphics/libsdl/libsdl2-ttf_2.20.2.bb
@@ -0,0 +1,35 @@
+SUMMARY = "Simple DirectMedia Layer truetype font library"
+SECTION = "libs"
+DEPENDS = "libsdl2 freetype virtual/egl"
+LICENSE = "Zlib"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=a41cbf59bdea749fe34c1af6d3615f68"
+
+SRC_URI = " \
+ git://github.com/libsdl-org/SDL_ttf.git;branch=release-2.20.x;protocol=https \
+ git://github.com/libsdl-org/freetype.git;branch=VER-2-12-1-SDL;destsuffix=git/external/freetype;name=freetype;protocol=https \
+ git://github.com/libsdl-org/harfbuzz.git;branch=2.9.1-SDL;destsuffix=git/external/harfbuzz;name=harfbuzz;protocol=https \
+ file://0001-freetype-Fix-function-signatures-to-match-without-ca.patch;patchdir=external/harfbuzz \
+ file://automake_foreign.patch \
+"
+SRCREV = "89d1692fd8fe91a679bb943d377bfbd709b52c23"
+SRCREV_freetype = "6fc77cee03e078e97afcee0c0e06a2d3274b9a29"
+SRCREV_harfbuzz = "43931e3e596c04044861770b831c8f9452e2d3b0"
+
+SRCREV_FORMAT .= "_freetype_harfbuzz"
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig features_check
+
+# links to libGL.so
+REQUIRED_DISTRO_FEATURES += "opengl"
+
+do_configure:prepend() {
+ # Removing these files fixes a libtool version mismatch.
+ MACROS="libtool.m4 lt~obsolete.m4 ltoptions.m4 ltsugar.m4 ltversion.m4"
+
+ for i in ${MACROS}; do
+ rm -f ${S}/acinclude/$i
+ done
+}
+ASNEEDED = ""
diff --git a/meta-oe/recipes-graphics/libsdl/libsdl_1.2.15.bb b/meta-oe/recipes-graphics/libsdl/libsdl_1.2.15.bb
new file mode 100644
index 0000000000..1f436c6d7f
--- /dev/null
+++ b/meta-oe/recipes-graphics/libsdl/libsdl_1.2.15.bb
@@ -0,0 +1,85 @@
+SUMMARY = "Simple DirectMedia Layer"
+DESCRIPTION = "Simple DirectMedia Layer is a cross-platform multimedia \
+library designed to provide low level access to audio, keyboard, mouse, \
+joystick, 3D hardware via OpenGL, and 2D video framebuffer."
+HOMEPAGE = "http://www.libsdl.org"
+BUGTRACKER = "http://bugzilla.libsdl.org/"
+
+SECTION = "libs"
+
+LICENSE = "LGPL-2.1-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=27818cd7fd83877a8e3ef82b82798ef4"
+
+
+SRC_URI = "http://www.libsdl.org/release/SDL-${PV}.tar.gz \
+ file://libsdl-1.2.15-xdata32.patch \
+ file://pkgconfig.patch \
+ file://0001-build-Pass-tag-CC-explictly-when-using-libtool.patch \
+ file://0001-stdlib-Make-iconv-use-portable-across-glibc-musl.patch \
+ file://CVE-2019-7577.patch \
+ file://CVE-2019-7574.patch \
+ file://CVE-2019-7572.patch \
+ file://CVE-2019-7578.patch \
+ file://CVE-2019-7575.patch \
+ file://CVE-2019-7635.patch \
+ file://CVE-2019-7637.patch \
+ file://CVE-2019-7638.patch \
+ file://CVE-2019-7576.patch \
+ file://CVE-2019-13616.patch \
+ file://CVE-2022-34568.patch \
+ "
+
+UPSTREAM_CHECK_REGEX = "SDL-(?P<pver>\d+(\.\d+)+)\.tar"
+
+S = "${WORKDIR}/SDL-${PV}"
+
+SRC_URI[md5sum] = "9d96df8417572a2afb781a7c4c811a85"
+SRC_URI[sha256sum] = "d6d316a793e5e348155f0dd93b979798933fb98aa1edebcc108829d6474aad00"
+
+BINCONFIG = "${bindir}/sdl-config"
+
+inherit autotools lib_package binconfig-disabled pkgconfig
+
+CVE_PRODUCT = "simple_directmedia_layer sdl"
+
+EXTRA_OECONF = "--disable-static --enable-cdrom --enable-threads --enable-timers \
+ --enable-file --disable-oss --disable-esd --disable-arts \
+ --disable-diskaudio --disable-nas \
+ --disable-mintaudio --disable-nasm --disable-video-dga \
+ --disable-video-fbcon --disable-video-ps2gs --disable-video-ps3 \
+ --disable-xbios --disable-gem --disable-video-dummy \
+ --enable-input-events --enable-pthreads \
+ --disable-video-svga \
+ --disable-video-picogui --disable-video-qtopia --enable-sdl-dlopen \
+ --disable-rpath"
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'alsa directfb pulseaudio x11', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'opengl', '', d)}"
+PACKAGECONFIG:class-native = "x11"
+PACKAGECONFIG:class-nativesdk = "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
+
+PACKAGECONFIG[alsa] = "--enable-alsa --disable-alsatest,--disable-alsa,alsa-lib"
+PACKAGECONFIG[pulseaudio] = "--enable-pulseaudio,--disable-pulseaudio,pulseaudio"
+PACKAGECONFIG[tslib] = "--enable-input-tslib, --disable-input-tslib, tslib"
+PACKAGECONFIG[directfb] = "--enable-video-directfb, --disable-video-directfb, directfb"
+PACKAGECONFIG[opengl] = "--enable-video-opengl, --disable-video-opengl, virtual/libgl libglu"
+PACKAGECONFIG[x11] = "--enable-video-x11 --disable-x11-shared, --disable-video-x11, virtual/libx11 libxext libxrandr libxrender"
+
+# The following two options should only enabled with mingw support
+PACKAGECONFIG[stdio-redirect] = "--enable-stdio-redirect,--disable-stdio-redirect"
+PACKAGECONFIG[directx] = "--enable-directx,--disable-directx"
+
+EXTRA_AUTORECONF += "--include=acinclude --exclude=autoheader"
+
+do_configure:prepend() {
+ # Remove old libtool macros.
+ MACROS="libtool.m4 lt~obsolete.m4 ltoptions.m4 ltsugar.m4 ltversion.m4"
+ for i in ${MACROS}; do
+ rm -f ${S}/acinclude/$i
+ done
+ export SYSROOT=$PKG_CONFIG_SYSROOT_DIR
+}
+
+BBCLASSEXTEND = "native nativesdk"
+
+CVE_STATUS[CVE-2019-14906] = "not-applicable-platform: Applies on RHEL only"
diff --git a/meta-oe/recipes-graphics/libvncserver/libvncserver_0.9.14.bb b/meta-oe/recipes-graphics/libvncserver/libvncserver_0.9.14.bb
new file mode 100644
index 0000000000..ce01593b8b
--- /dev/null
+++ b/meta-oe/recipes-graphics/libvncserver/libvncserver_0.9.14.bb
@@ -0,0 +1,56 @@
+DESCRIPTION = "library for easy implementation of a RDP/VNC server"
+HOMEPAGE = "https://libvnc.github.io"
+SECTION = "libs"
+PRIORITY = "optional"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=361b6b837cad26c6900a926b62aada5f"
+
+# ffmpeg support is not currently compatible with ffmpeg 5.0
+PACKAGECONFIG ??= " \
+ 24bpp \
+ filetransfer \
+ gcrypt \
+ gnutls \
+ jpeg \
+ lzo \
+ png \
+ pthread \
+ ${@bb.utils.contains('DISTRO_FEATURES','systemd','systemd','',d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'ipv6', '',d)} \
+ sdl \
+ websockets \
+ zlib \
+"
+
+PACKAGECONFIG[24bpp] = "-DWITH_24BPP=ON,-DWITH_24BPP=OFF,"
+PACKAGECONFIG[filetransfer] = "-DWITH_TIGHTVNC_FILETRANSFER=ON,-DWITH_TIGHTVNC_FILETRANSFER=OFF,"
+PACKAGECONFIG[ffmpeg] = "-DWITH_FFMPEG=ON,-DWITH_FFMPEG=OFF,ffmpeg,ffmpeg"
+PACKAGECONFIG[gcrypt] = "-DWITH_GCRYPT=ON,-DWITH_GCRYPT=OFF,libgcrypt,libgcrypt"
+PACKAGECONFIG[gnutls] = "-DWITH_GNUTLS=ON,-DWITH_GNUTLS=OFF,gnutls"
+PACKAGECONFIG[jpeg] = "-DWITH_JPEG=ON,-DWITH_JPEG=OFF,jpeg"
+PACKAGECONFIG[ipv6] = "-DWITH_IPv6=ON,-DWITH_IPv6=OFF,"
+PACKAGECONFIG[lzo] = "-DWITH_LZO=ON,-DWITH_LZO=OFF,lzo"
+PACKAGECONFIG[openssl] = "-DWITH_OPENSSL=ON,-DWITH_OPENSSL=OFF,openssl"
+PACKAGECONFIG[png] = "-DWITH_PNG=ON,-DWITH_PNG=OFF,libpng,libpng"
+PACKAGECONFIG[pthread] = "-DWITH_THREADS=ON,-DWITH_THREADS=OFF,"
+PACKAGECONFIG[systemd] = "-DWITH_SYSTEMD=ON,-DWITH_SYSTEMD=OFF,systemd"
+PACKAGECONFIG[sasl] = "-DWITH_SASL=ON,-DWITH_SASL=OFF,cyrus-sasl"
+PACKAGECONFIG[sdl] = "-DWITH_SDL=ON,-DWITH_SDL=OFF,libsdl2"
+PACKAGECONFIG[websockets] = "-DWITH_WEBSOCKETS=ON,-DWITH_WEBSOCKETS=OFF,"
+PACKAGECONFIG[zlib] = "-DWITH_ZLIB=ON,-DWITH_ZLIB=OFF,zlib"
+
+PACKAGE_BEFORE_PN = "libvncclient"
+FILES:libvncclient = "${libdir}/libvncclient.*"
+
+inherit cmake
+
+SRC_URI = "git://github.com/LibVNC/libvncserver;branch=master;protocol=https"
+SRCREV = "10e9eb75f73e973725dc75c373de5d89807af028"
+
+S = "${WORKDIR}/git"
+
+EXTRA_OECMAKE = "-DMAKE_INSTALL_LIBDIR=${libdir}"
+
+do_install:append() {
+ sed -i -e 's|${STAGING_DIR_HOST}||g' ${D}${libdir}/cmake/LibVNCServer/LibVNCServerTargets.cmake
+}
diff --git a/meta-oe/recipes-graphics/libvncserver/libvncserver_git.bb b/meta-oe/recipes-graphics/libvncserver/libvncserver_git.bb
deleted file mode 100644
index 25917756fc..0000000000
--- a/meta-oe/recipes-graphics/libvncserver/libvncserver_git.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-DESCRIPTION = "library for easy implementation of a RDP/VNC server"
-HOMEPAGE = "https://libvnc.github.io"
-SECTION = "libs"
-PRIORITY = "optional"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=361b6b837cad26c6900a926b62aada5f"
-
-PACKAGECONFIG ??= "gcrypt gnutls jpeg png ${@bb.utils.contains('DISTRO_FEATURES','systemd','systemd','',d)} sdl zlib"
-PACKAGECONFIG[gcrypt] = ",,libgcrypt,libgcrypt"
-PACKAGECONFIG[gnutls] = ",,gnutls"
-PACKAGECONFIG[jpeg] = ",-DWITH_JPEG=OFF,jpeg"
-PACKAGECONFIG[openssl] = ",,openssl"
-PACKAGECONFIG[png] = ",-DWITH_PNG=OFF,libpng,libpng"
-PACKAGECONFIG[systemd] = ",,systemd"
-PACKAGECONFIG[sdl] = ",,libsdl2"
-PACKAGECONFIG[zlib] = ",,zlib"
-
-inherit cmake
-
-SRC_URI = "git://github.com/LibVNC/libvncserver"
-SRCREV = "f997b5a75fa171d79c5e568b7157fba83c8d8355"
-
-S = "${WORKDIR}/git"
diff --git a/meta-oe/recipes-graphics/libyui/libyui-ncurses/0001-Fix-the-error-of-can-t-find-header-file.patch b/meta-oe/recipes-graphics/libyui/libyui-ncurses/0001-Fix-the-error-of-can-t-find-header-file.patch
index 045f3cafab..1affe84f6e 100644
--- a/meta-oe/recipes-graphics/libyui/libyui-ncurses/0001-Fix-the-error-of-can-t-find-header-file.patch
+++ b/meta-oe/recipes-graphics/libyui/libyui-ncurses/0001-Fix-the-error-of-can-t-find-header-file.patch
@@ -16,8 +16,6 @@ Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
src/ncursesw.h | 4 ++--
6 files changed, 7 insertions(+), 7 deletions(-)
-diff --git a/src/NCApplication.cc b/src/NCApplication.cc
-index 5bcf969..510f034 100644
--- a/src/NCApplication.cc
+++ b/src/NCApplication.cc
@@ -23,7 +23,7 @@
@@ -29,8 +27,6 @@ index 5bcf969..510f034 100644
#define YUILogComponent "ncurses"
#include <yui/YUILog.h>
-diff --git a/src/NCstyle.h b/src/NCstyle.h
-index a40d5a8..3657917 100644
--- a/src/NCstyle.h
+++ b/src/NCstyle.h
@@ -25,7 +25,7 @@
@@ -42,8 +38,6 @@ index a40d5a8..3657917 100644
#include <iosfwd>
#include <string>
-diff --git a/src/NCurses.h b/src/NCurses.h
-index a07c6bf..d17d3c3 100644
--- a/src/NCurses.h
+++ b/src/NCurses.h
@@ -34,7 +34,7 @@
@@ -55,8 +49,6 @@ index a07c6bf..d17d3c3 100644
#include <wchar.h>
#include "ncursesw.h"
-diff --git a/src/ncursesp.h b/src/ncursesp.h
-index d478347..2fcfea5 100644
--- a/src/ncursesp.h
+++ b/src/ncursesp.h
@@ -28,7 +28,7 @@
@@ -68,8 +60,6 @@ index d478347..2fcfea5 100644
class NCursesPanel : public NCursesWindow
{
-diff --git a/src/ncursesw.cc b/src/ncursesw.cc
-index 3c771af..bb83210 100644
--- a/src/ncursesw.cc
+++ b/src/ncursesw.cc
@@ -47,7 +47,7 @@
@@ -81,21 +71,19 @@ index 3c771af..bb83210 100644
#undef line
#undef columns
-diff --git a/src/ncursesw.h b/src/ncursesw.h
-index d25923a..c140d37 100644
--- a/src/ncursesw.h
+++ b/src/ncursesw.h
-@@ -27,8 +27,8 @@
+@@ -27,11 +27,11 @@
#include <iosfwd>
-#include <ncursesw/curses.h>
--#include <ncursesw/etip.h>
+#include <curses.h>
+ #ifndef NCURSES_CXX_IMPEXP
+ #define NCURSES_CXX_IMPEXP NCURSES_EXPORT_GENERAL_IMPORT
+ #endif
+-#include <ncursesw/etip.h>
+#include <etip.h>
#include <cstdio>
#include <cstdarg>
#include <climits>
---
-2.7.4
-
diff --git a/meta-oe/recipes-graphics/libyui/libyui-ncurses/0001-Use-override-consistently.patch b/meta-oe/recipes-graphics/libyui/libyui-ncurses/0001-Use-override-consistently.patch
deleted file mode 100644
index 6d4bdc2ab6..0000000000
--- a/meta-oe/recipes-graphics/libyui/libyui-ncurses/0001-Use-override-consistently.patch
+++ /dev/null
@@ -1,147 +0,0 @@
-From 0acfb67f99fd8d6af323311fee8c08116295b148 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 5 Sep 2018 18:21:19 -0700
-Subject: [PATCH 1/2] Use override consistently
-
-Make clang++ happy
-error: 'setApplicationTitle' overrides a member function but is not marked 'override' [-Werror,-Winconsistent-missing-over ride]
-
-Upstream-Status: Submitted [https://github.com/libyui/libyui-ncurses/pull/69]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/NCApplication.h | 46 ++++++++++++++++++++++-----------------------
- 1 file changed, 23 insertions(+), 23 deletions(-)
-
-diff --git a/src/NCApplication.h b/src/NCApplication.h
-index e24c3eb..09e4708 100644
---- a/src/NCApplication.h
-+++ b/src/NCApplication.h
-@@ -60,7 +60,7 @@ public:
- * Reimplemented from YApplication.
- **/
- virtual void setLanguage( const std::string & language,
-- const std::string & encoding = std::string() );
-+ const std::string & encoding = std::string() ) override;
-
- /**
- * Open a directory selection box and prompt the user for an existing
-@@ -77,7 +77,7 @@ public:
- * Implemented from YApplication.
- **/
- virtual std::string askForExistingDirectory( const std::string & startDir,
-- const std::string & headline );
-+ const std::string & headline ) override;
-
- /**
- * Open a file selection box and prompt the user for an existing file.
-@@ -97,7 +97,7 @@ public:
- **/
- virtual std::string askForExistingFile( const std::string & startWith,
- const std::string & filter,
-- const std::string & headline );
-+ const std::string & headline ) override;
-
- /**
- * Open a file selection box and prompt the user for a file to save data
-@@ -119,28 +119,28 @@ public:
- **/
- virtual std::string askForSaveFileName( const std::string & startWith,
- const std::string & filter,
-- const std::string & headline );
-+ const std::string & headline ) override;
-
- /**
- * Beep.
- *
- * Reimplemented from YApplication.
- **/
-- virtual void beep();
-+ virtual void beep() override;
-
- /**
- * Redraw the screen.
- *
- * Reimplemented from YApplication.
- **/
-- virtual void redrawScreen();
-+ virtual void redrawScreen() override;
-
- /**
- * Initialize the (text) console keyboard.
- *
- * Reimplemented from YApplication.
- **/
-- virtual void initConsoleKeyboard();
-+ virtual void initConsoleKeyboard() override;
-
- /**
- * Set the (text) console font according to the current encoding etc.
-@@ -152,7 +152,7 @@ public:
- const std::string & font,
- const std::string & screen_map,
- const std::string & unicode_map,
-- const std::string & language );
-+ const std::string & language ) override;
-
- /**
- * Run a shell command (typically an interactive program using NCurses)
-@@ -165,7 +165,7 @@ public:
- *
- * Reimplemented from YApplication.
- **/
-- virtual int runInTerminal( const std::string & command );
-+ virtual int runInTerminal( const std::string & command ) override;
-
-
- /// @{
-@@ -183,33 +183,33 @@ public:
- //
- // All implemented from YApplication.
-
-- virtual int displayWidth();
-- virtual int displayHeight();
-- virtual int displayDepth();
-- virtual long displayColors();
-+ virtual int displayWidth() override;
-+ virtual int displayHeight() override;
-+ virtual int displayDepth() override;
-+ virtual long displayColors() override;
-
-- virtual int defaultWidth();
-- virtual int defaultHeight();
-+ virtual int defaultWidth() override;
-+ virtual int defaultHeight() override;
-
-- virtual bool isTextMode() { return true; }
-+ virtual bool isTextMode() override { return true; }
-
-- virtual bool hasImageSupport() { return false; }
-+ virtual bool hasImageSupport() override { return false; }
-
-- virtual bool hasIconSupport() { return false; }
-+ virtual bool hasIconSupport() override { return false; }
-
-- virtual bool hasAnimationSupport() { return false; }
-+ virtual bool hasAnimationSupport() override { return false; }
-
-- virtual bool hasFullUtf8Support();
-- virtual bool richTextSupportsTable() { return false; }
-+ virtual bool hasFullUtf8Support() override;
-+ virtual bool richTextSupportsTable() override { return false; }
-
-- virtual bool leftHandedMouse() { return false; }
-+ virtual bool leftHandedMouse() override { return false; }
-
- /**
- * Set the application title
- *
- * Reimplemented from YApplication.
- **/
-- virtual void setApplicationTitle(const std::string& title);
-+ virtual void setApplicationTitle(const std::string& title) override;
- };
-
-
---
-2.18.0
-
diff --git a/meta-oe/recipes-graphics/libyui/libyui-ncurses/0002-Define-own-resize-in-NCPad-and-fix-param-type-of-Set.patch b/meta-oe/recipes-graphics/libyui/libyui-ncurses/0002-Define-own-resize-in-NCPad-and-fix-param-type-of-Set.patch
deleted file mode 100644
index f65cbe6679..0000000000
--- a/meta-oe/recipes-graphics/libyui/libyui-ncurses/0002-Define-own-resize-in-NCPad-and-fix-param-type-of-Set.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From 162a0899f1dacd83007c4e82b9034f55610d8c20 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 5 Sep 2018 19:01:51 -0700
-Subject: [PATCH 2/2] Define own resize in NCPad and fix param type of
- SetLabel()
-
-Explicitly override resize() to avoid conflicts from NCursesWindow
-definition since there is another resize definition as well
-
-Fixes
-src/NCPad.h:164:18: error: 'NCPad::resize' hides overloaded virtual function [-Werror,-Woverloaded-virtual]
-
-NCTablePad.h:132:18: error: 'NCTableTag::SetLabel' hides overloaded virtual function [-Werror,-Woverloaded-virtual]
-
-Upstream-Status: Submitted [https://github.com/libyui/libyui-ncurses/pull/69]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/NCPad.h | 1 +
- src/NCTablePad.h | 2 +-
- 2 files changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/src/NCPad.h b/src/NCPad.h
-index 328c4aa..d8fb324 100644
---- a/src/NCPad.h
-+++ b/src/NCPad.h
-@@ -162,6 +162,7 @@ public:
- virtual void Destwin( NCursesWindow * dwin );
-
- virtual void resize( wsze nsze );
-+ virtual int resize( int lines, int columns ) { return NCursesWindow::resize(lines, columns );}
- virtual void wRecoded();
- virtual void setDirty() { dirty = true; }
-
-diff --git a/src/NCTablePad.h b/src/NCTablePad.h
-index c450529..3756796 100644
---- a/src/NCTablePad.h
-+++ b/src/NCTablePad.h
-@@ -129,7 +129,7 @@ public:
-
- virtual ~NCTableTag() {}
-
-- virtual void SetLabel( const NCstring & ) { /*NOOP*/; }
-+ virtual void SetLabel( const NClabel & ) { /*NOOP*/; }
-
- virtual void DrawAt( NCursesWindow & w, const wrect at,
- NCTableStyle & tableStyle,
---
-2.18.0
-
diff --git a/meta-oe/recipes-graphics/libyui/libyui-ncurses/0003-Simplify-ncurses-finding-module.patch b/meta-oe/recipes-graphics/libyui/libyui-ncurses/0003-Simplify-ncurses-finding-module.patch
deleted file mode 100644
index 2520ac46fe..0000000000
--- a/meta-oe/recipes-graphics/libyui/libyui-ncurses/0003-Simplify-ncurses-finding-module.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From c2291fe28dc5682f81804941512431642975cf21 Mon Sep 17 00:00:00 2001
-From: Pascal Bach <pascal.bach@siemens.com>
-Date: Mon, 29 Oct 2018 18:17:32 +0100
-Subject: [PATCH] Simplify ncurses finding module
-
-CMake will automatically look in the right locations, there is no need to
-re-implement the logic with a for loop and NO_DEFAULT_PATH.
-
-It is already done like this to file the headers.
-
-Upstream-Status: Submitted [https://github.com/libyui/libyui-ncurses/pull/73]
-Signed-off-by: Pascal Bach <pascal.bach@siemens.com>
----
- cmake/Modules/FindCurses6.cmake | 8 +++-----
- 1 file changed, 3 insertions(+), 5 deletions(-)
-
-diff --git a/cmake/Modules/FindCurses6.cmake b/cmake/Modules/FindCurses6.cmake
-index 0bf02c3..e298d5d 100644
---- a/cmake/Modules/FindCurses6.cmake
-+++ b/cmake/Modules/FindCurses6.cmake
-@@ -5,11 +5,9 @@
- # CURSES6_LIBRARIES - The libraries needed to use Curses6
- # CURSES6_DEFINITIONS - Compiler switches required for using Curses6
-
--FOREACH(path ${CMAKE_LIBRARY_PATH} /usr/${LIB_DIR})
-- FIND_LIBRARY(CURSES6_NCURSESW_LIBRARY NAMES ncursesw PATHS ${path}/ncurses6 ${path} NO_DEFAULT_PATH)
-- FIND_LIBRARY(CURSES6_PANELW_LIBRARY NAMES panelw PATHS ${path}/ncurses6 ${path} NO_DEFAULT_PATH)
-- FIND_LIBRARY(CURSES6_TINFO_LIBRARY NAMES tinfo PATHS ${path}/ncurses6 ${path} NO_DEFAULT_PATH)
--ENDFOREACH()
-+FIND_LIBRARY(CURSES6_NCURSESW_LIBRARY NAMES ncursesw PATH_SUFFIXES ncurses6)
-+FIND_LIBRARY(CURSES6_PANELW_LIBRARY NAMES panelw PATH_SUFFIXES ncurses6)
-+FIND_LIBRARY(CURSES6_TINFO_LIBRARY NAMES tinfo PATH_SUFFIXES ncurses6)
-
- SET(CURSES6_LIBRARIES ${CURSES6_NCURSESW_LIBRARY} ${CURSES6_PANELW_LIBRARY})
- # tinfo is optional (in 12.1 is not there)
diff --git a/meta-oe/recipes-graphics/libyui/libyui-ncurses_4.6.2.bb b/meta-oe/recipes-graphics/libyui/libyui-ncurses_4.6.2.bb
new file mode 100644
index 0000000000..4196449f3a
--- /dev/null
+++ b/meta-oe/recipes-graphics/libyui/libyui-ncurses_4.6.2.bb
@@ -0,0 +1,56 @@
+SUMMARY = "Character Based User Interface for libyui"
+LICENSE = "LGPL-3.0-only"
+LIC_FILES_CHKSUM = "file://../COPYING.lgpl-3;md5=e6a600fd5e1d9cbde2d983680233ad02 \
+ file://../COPYING.lgpl-2.1;md5=4fbd65380cdd255951079008b364516c \
+"
+
+SRC_URI = "git://github.com/libyui/libyui.git;branch=master;protocol=https \
+ "
+
+SRC_URI:append:class-target = " file://0001-Fix-the-error-of-can-t-find-header-file.patch"
+
+SRCREV = "e691b563262306a40a61bbf228839fa06e4f0516"
+
+S = "${WORKDIR}/git/libyui-ncurses"
+
+inherit cmake gettext pkgconfig
+
+DEPENDS += "boost libyui ncurses"
+
+BBCLASSEXTEND = "nativesdk"
+
+EXTRA_OECMAKE += "-DCMAKE_BUILD_TYPE=Release -DWERROR=OFF -DCMAKE_SKIP_RPATH=1"
+
+# TODO: Check with newer GCC, it works ok with GCC
+# GCC-14 causes buildpaths QA error
+# WARNING: libyui-ncurses-4.6.2-r0 do_package_qa: QA Issue: File /usr/lib/yui/.debug/libyui-ncurses.so.16.0.0 in package libyui-ncurses-dbg contains reference to TMPDIR [buildpaths
+
+DEBUG_LEVELFLAG = ""
+
+CXXFLAGS += "-DNCURSES_WIDECHAR"
+LDFLAGS += "-L${B}/src"
+
+do_configure:prepend () {
+ cd ${S}
+ if [ -e ${PKG_CONFIG_SYSROOT_DIR}${base_prefix}/usr/lib/libyui.so ]; then
+ mkdir -p ${PKG_CONFIG_SYSROOT_DIR}${base_prefix}/usr/lib64/
+ cp ${PKG_CONFIG_SYSROOT_DIR}${base_prefix}/usr/lib/libyui.so* ${PKG_CONFIG_SYSROOT_DIR}${base_prefix}/usr/lib64/
+ fi
+ cd -
+ sed -i -e "s#\${YPREFIX}#\${PKG_CONFIG_SYSROOT_DIR}${base_prefix}&#" ${S}/CMakeLists.txt
+}
+
+do_install:append () {
+ if [ "${libdir}" = "${base_prefix}/usr/lib" ] && [ -d ${D}/usr/lib64 ]; then
+ mv ${D}/usr/lib64 ${D}/usr/lib
+ fi
+}
+
+do_install:append:class-nativesdk () {
+ mkdir -p ${D}/${base_prefix}
+ mv ${D}/usr ${D}/${base_prefix}
+}
+
+FILES:${PN} += "${datadir}/*"
+
+FILES:${PN}-dev += "${libdir}/*"
diff --git a/meta-oe/recipes-graphics/libyui/libyui-ncurses_git.bb b/meta-oe/recipes-graphics/libyui/libyui-ncurses_git.bb
deleted file mode 100644
index 18ea2e8285..0000000000
--- a/meta-oe/recipes-graphics/libyui/libyui-ncurses_git.bb
+++ /dev/null
@@ -1,51 +0,0 @@
-SUMMARY = "Character Based User Interface for libyui"
-LICENSE = "LGPLv3"
-LIC_FILES_CHKSUM = "file://COPYING.lgpl-3;md5=e6a600fd5e1d9cbde2d983680233ad02 \
- file://COPYING.lgpl-2.1;md5=4fbd65380cdd255951079008b364516c \
-"
-
-SRC_URI = "git://github.com/libyui/libyui-ncurses.git \
- file://0001-Use-override-consistently.patch \
- file://0002-Define-own-resize-in-NCPad-and-fix-param-type-of-Set.patch \
- file://0003-Simplify-ncurses-finding-module.patch \
- "
-
-SRC_URI_append_class-target = " file://0001-Fix-the-error-of-can-t-find-header-file.patch"
-
-PV = "2.48.3+git${SRCPV}"
-SRCREV = "c941b32246e8b2952fce4fd5743f8e318222ab98"
-
-S = "${WORKDIR}/git"
-
-inherit cmake gettext pkgconfig
-
-DEPENDS += "boost libyui ncurses"
-
-BBCLASSEXTEND = "nativesdk"
-
-do_configure_prepend () {
- cd ${S}
- git checkout bootstrap.sh
- sed -i "s#/usr#${PKG_CONFIG_SYSROOT_DIR}${base_prefix}&#" bootstrap.sh
- ./bootstrap.sh
- mkdir -p ${PKG_CONFIG_SYSROOT_DIR}${base_prefix}/usr/lib64/
- cp ${PKG_CONFIG_SYSROOT_DIR}${base_prefix}/usr/lib/libyui.so* ${PKG_CONFIG_SYSROOT_DIR}${base_prefix}/usr/lib64/
- cd -
- sed -i -e "s#\${YPREFIX}#\${PKG_CONFIG_SYSROOT_DIR}${base_prefix}&#" ${S}/CMakeLists.txt
- sed -i -e "s#/usr#${PKG_CONFIG_SYSROOT_DIR}${base_prefix}&#" ${PKG_CONFIG_SYSROOT_DIR}${libdir}/cmake/libyui/LibyuiLibraryDepends-release.cmake
-}
-
-do_install_append () {
- if [ "${libdir}" = "${base_prefix}/usr/lib" ] && [ -d ${D}/usr/lib64 ]; then
- mv ${D}/usr/lib64 ${D}/usr/lib
- fi
-}
-
-do_install_append_class-nativesdk () {
- mkdir -p ${D}/${base_prefix}
- mv ${D}/usr ${D}/${base_prefix}
-}
-
-FILES_${PN} += "${datadir}/*"
-
-FILES_${PN}-dev += "${libdir}/*"
diff --git a/meta-oe/recipes-graphics/libyui/libyui/0001-Fix-build-with-clang.patch b/meta-oe/recipes-graphics/libyui/libyui/0001-Fix-build-with-clang.patch
index 4269018192..d3463ca056 100644
--- a/meta-oe/recipes-graphics/libyui/libyui/0001-Fix-build-with-clang.patch
+++ b/meta-oe/recipes-graphics/libyui/libyui/0001-Fix-build-with-clang.patch
@@ -65,8 +65,6 @@ Upstream-Status: Submitted [https://github.com/libyui/libyui/pull/123]
src/YWizard.h | 2 +-
47 files changed, 48 insertions(+), 48 deletions(-)
-diff --git a/src/YAlignment.h b/src/YAlignment.h
-index d716c77..7276944 100644
--- a/src/YAlignment.h
+++ b/src/YAlignment.h
@@ -28,7 +28,7 @@
@@ -78,8 +76,6 @@ index d716c77..7276944 100644
/**
* Implementation of all the alignment widgets:
-diff --git a/src/YBarGraph.h b/src/YBarGraph.h
-index 29f7f26..d7eaad2 100644
--- a/src/YBarGraph.h
+++ b/src/YBarGraph.h
@@ -29,7 +29,7 @@
@@ -91,8 +87,6 @@ index 29f7f26..d7eaad2 100644
class YBarGraphSegment;
/**
-diff --git a/src/YBusyIndicator.h b/src/YBusyIndicator.h
-index 9530fa5..75297d8 100644
--- a/src/YBusyIndicator.h
+++ b/src/YBusyIndicator.h
@@ -27,7 +27,7 @@
@@ -104,8 +98,6 @@ index 9530fa5..75297d8 100644
/**
-diff --git a/src/YButtonBox.h b/src/YButtonBox.h
-index 84f8dbb..ca51f57 100644
--- a/src/YButtonBox.h
+++ b/src/YButtonBox.h
@@ -30,7 +30,7 @@
@@ -126,8 +118,6 @@ index 84f8dbb..ca51f57 100644
protected:
/**
-diff --git a/src/YCheckBox.h b/src/YCheckBox.h
-index 793cc77..03f3faa 100644
--- a/src/YCheckBox.h
+++ b/src/YCheckBox.h
@@ -30,7 +30,7 @@
@@ -139,8 +129,6 @@ index 793cc77..03f3faa 100644
enum YCheckBoxState
{
-diff --git a/src/YCheckBoxFrame.h b/src/YCheckBoxFrame.h
-index 243f1a0..7017110 100644
--- a/src/YCheckBoxFrame.h
+++ b/src/YCheckBoxFrame.h
@@ -29,7 +29,7 @@
@@ -152,8 +140,6 @@ index 243f1a0..7017110 100644
/**
-diff --git a/src/YComboBox.h b/src/YComboBox.h
-index 416359a..ad0e550 100644
--- a/src/YComboBox.h
+++ b/src/YComboBox.h
@@ -27,7 +27,7 @@
@@ -165,8 +151,6 @@ index 416359a..ad0e550 100644
/**
-diff --git a/src/YCommandLine.h b/src/YCommandLine.h
-index 70cb4fe..f344a3b 100644
--- a/src/YCommandLine.h
+++ b/src/YCommandLine.h
@@ -28,7 +28,7 @@
@@ -178,8 +162,6 @@ index 70cb4fe..f344a3b 100644
/**
-diff --git a/src/YContextMenu.h b/src/YContextMenu.h
-index a4acb1c..1253002 100644
--- a/src/YContextMenu.h
+++ b/src/YContextMenu.h
@@ -29,7 +29,7 @@
@@ -191,8 +173,6 @@ index a4acb1c..1253002 100644
/**
-diff --git a/src/YDateField.h b/src/YDateField.h
-index e5a468d..6164fba 100644
--- a/src/YDateField.h
+++ b/src/YDateField.h
@@ -27,7 +27,7 @@
@@ -204,8 +184,6 @@ index e5a468d..6164fba 100644
/**
* Input field for entering a date.
-diff --git a/src/YDialog.h b/src/YDialog.h
-index 66c25c0..371209b 100644
--- a/src/YDialog.h
+++ b/src/YDialog.h
@@ -32,7 +32,7 @@
@@ -217,8 +195,6 @@ index 66c25c0..371209b 100644
class YEvent;
class YEventFilter;
-diff --git a/src/YDownloadProgress.h b/src/YDownloadProgress.h
-index c47ec4f..fe09a9d 100644
--- a/src/YDownloadProgress.h
+++ b/src/YDownloadProgress.h
@@ -28,7 +28,7 @@
@@ -230,8 +206,6 @@ index c47ec4f..fe09a9d 100644
/**
* DownloadProgress: A progress bar that monitors downloading a file by
-diff --git a/src/YDumbTab.h b/src/YDumbTab.h
-index aec17a3..f8fb250 100644
--- a/src/YDumbTab.h
+++ b/src/YDumbTab.h
@@ -27,7 +27,7 @@
@@ -243,8 +217,6 @@ index aec17a3..f8fb250 100644
/**
* DumbTab: A very simple tab widget that can display and switch between a
-diff --git a/src/YEmpty.h b/src/YEmpty.h
-index 9a3cb36..9b88fbc 100644
--- a/src/YEmpty.h
+++ b/src/YEmpty.h
@@ -29,7 +29,7 @@
@@ -256,8 +228,6 @@ index 9a3cb36..9b88fbc 100644
/**
* A widget with zero size, useful as a placeholder.
-diff --git a/src/YEventFilter.h b/src/YEventFilter.h
-index 3dc1803..74aa62d 100644
--- a/src/YEventFilter.h
+++ b/src/YEventFilter.h
@@ -32,7 +32,7 @@
@@ -269,8 +239,6 @@ index 3dc1803..74aa62d 100644
/**
-diff --git a/src/YFrame.h b/src/YFrame.h
-index 111e8ec..4f8c61e 100644
--- a/src/YFrame.h
+++ b/src/YFrame.h
@@ -29,7 +29,7 @@
@@ -282,8 +250,6 @@ index 111e8ec..4f8c61e 100644
/**
-diff --git a/src/YGraph.h b/src/YGraph.h
-index d90d1ae..287d800 100644
--- a/src/YGraph.h
+++ b/src/YGraph.h
@@ -37,7 +37,7 @@
@@ -295,8 +261,6 @@ index d90d1ae..287d800 100644
/**
* A graph with nodes and edges, rendered with Graphviz.
-diff --git a/src/YImage.h b/src/YImage.h
-index 17bea21..84eb674 100644
--- a/src/YImage.h
+++ b/src/YImage.h
@@ -29,7 +29,7 @@
@@ -308,8 +272,6 @@ index 17bea21..84eb674 100644
/**
* A picture, possibly animated, loaded from a file.
-diff --git a/src/YInputField.h b/src/YInputField.h
-index 70641ce..fa29b42 100644
--- a/src/YInputField.h
+++ b/src/YInputField.h
@@ -28,7 +28,7 @@
@@ -321,8 +283,6 @@ index 70641ce..fa29b42 100644
-diff --git a/src/YIntField.h b/src/YIntField.h
-index 9da0537..8ad2949 100644
--- a/src/YIntField.h
+++ b/src/YIntField.h
@@ -27,7 +27,7 @@
@@ -334,8 +294,6 @@ index 9da0537..8ad2949 100644
-diff --git a/src/YLabel.h b/src/YLabel.h
-index d2fff61..bf06d8b 100644
--- a/src/YLabel.h
+++ b/src/YLabel.h
@@ -30,7 +30,7 @@
@@ -347,8 +305,6 @@ index d2fff61..bf06d8b 100644
/**
* Implementation of the Label, Heading and OutputField widgets
-diff --git a/src/YLayoutBox.h b/src/YLayoutBox.h
-index e652a45..070eaff 100644
--- a/src/YLayoutBox.h
+++ b/src/YLayoutBox.h
@@ -29,7 +29,7 @@
@@ -360,8 +316,6 @@ index e652a45..070eaff 100644
/**
* A vertical or horizontal stacking of widgets, implementing HBox and VBox.
-diff --git a/src/YLogView.h b/src/YLogView.h
-index 53fb9ee..5b44229 100644
--- a/src/YLogView.h
+++ b/src/YLogView.h
@@ -27,7 +27,7 @@
@@ -373,21 +327,17 @@ index 53fb9ee..5b44229 100644
/**
-diff --git a/src/YMenuButton.h b/src/YMenuButton.h
-index 205e730..5df7efb 100644
--- a/src/YMenuButton.h
+++ b/src/YMenuButton.h
-@@ -29,7 +29,7 @@
+@@ -28,7 +28,7 @@
+ #include "YMenuWidget.h"
#include "YMenuItem.h"
- class YMenuItem;
-class YMenuButtonPrivate;
+struct YMenuButtonPrivate;
/**
-diff --git a/src/YMultiLineEdit.h b/src/YMultiLineEdit.h
-index c52a6ae..1f792f8 100644
--- a/src/YMultiLineEdit.h
+++ b/src/YMultiLineEdit.h
@@ -27,7 +27,7 @@
@@ -399,8 +349,6 @@ index c52a6ae..1f792f8 100644
/**
* A multi-line plain-text area
-diff --git a/src/YMultiProgressMeter.h b/src/YMultiProgressMeter.h
-index 57c758d..f6bec91 100644
--- a/src/YMultiProgressMeter.h
+++ b/src/YMultiProgressMeter.h
@@ -28,7 +28,7 @@
@@ -412,8 +360,6 @@ index 57c758d..f6bec91 100644
/**
-diff --git a/src/YMultiSelectionBox.h b/src/YMultiSelectionBox.h
-index bbe5a20..f3a2947 100644
--- a/src/YMultiSelectionBox.h
+++ b/src/YMultiSelectionBox.h
@@ -27,7 +27,7 @@
@@ -425,8 +371,6 @@ index bbe5a20..f3a2947 100644
/**
-diff --git a/src/YPartitionSplitter.h b/src/YPartitionSplitter.h
-index 2839bbc..9de1174 100644
--- a/src/YPartitionSplitter.h
+++ b/src/YPartitionSplitter.h
@@ -28,7 +28,7 @@
@@ -438,8 +382,6 @@ index 2839bbc..9de1174 100644
/**
-diff --git a/src/YProgressBar.h b/src/YProgressBar.h
-index 718352f..baab662 100644
--- a/src/YProgressBar.h
+++ b/src/YProgressBar.h
@@ -27,7 +27,7 @@
@@ -451,8 +393,6 @@ index 718352f..baab662 100644
/**
-diff --git a/src/YPushButton.h b/src/YPushButton.h
-index 5b65c98..e288252 100644
--- a/src/YPushButton.h
+++ b/src/YPushButton.h
@@ -27,7 +27,7 @@
@@ -464,8 +404,6 @@ index 5b65c98..e288252 100644
-diff --git a/src/YRadioButton.h b/src/YRadioButton.h
-index 9dc62de..5a7c0dd 100644
--- a/src/YRadioButton.h
+++ b/src/YRadioButton.h
@@ -28,7 +28,7 @@
@@ -477,8 +415,6 @@ index 9dc62de..5a7c0dd 100644
/**
-diff --git a/src/YRadioButtonGroup.h b/src/YRadioButtonGroup.h
-index 063a52e..671a257 100644
--- a/src/YRadioButtonGroup.h
+++ b/src/YRadioButtonGroup.h
@@ -28,7 +28,7 @@
@@ -490,11 +426,9 @@ index 063a52e..671a257 100644
typedef std::list<YRadioButton *> YRadioButtonList;
typedef YRadioButtonList::iterator YRadioButtonListIterator;
-diff --git a/src/YRichText.h b/src/YRichText.h
-index 149bfb3..86b3f80 100644
--- a/src/YRichText.h
+++ b/src/YRichText.h
-@@ -30,7 +30,7 @@
+@@ -31,7 +31,7 @@
#include "ImplPtr.h"
@@ -503,8 +437,6 @@ index 149bfb3..86b3f80 100644
/**
-diff --git a/src/YSelectionBox.h b/src/YSelectionBox.h
-index 7fc4fb8..9bbf9f3 100644
--- a/src/YSelectionBox.h
+++ b/src/YSelectionBox.h
@@ -27,7 +27,7 @@
@@ -516,8 +448,6 @@ index 7fc4fb8..9bbf9f3 100644
/**
-diff --git a/src/YSelectionWidget.h b/src/YSelectionWidget.h
-index abbdfb4..cf05afd 100644
--- a/src/YSelectionWidget.h
+++ b/src/YSelectionWidget.h
@@ -29,7 +29,7 @@
@@ -529,8 +459,6 @@ index abbdfb4..cf05afd 100644
/**
* Base class for various kinds of multi-value widgets.
-diff --git a/src/YSimpleInputField.h b/src/YSimpleInputField.h
-index 6d926d4..b93fe6b 100644
--- a/src/YSimpleInputField.h
+++ b/src/YSimpleInputField.h
@@ -27,7 +27,7 @@
@@ -542,8 +470,6 @@ index 6d926d4..b93fe6b 100644
/**
-diff --git a/src/YSlider.h b/src/YSlider.h
-index d29f6b8..4bcd7d3 100644
--- a/src/YSlider.h
+++ b/src/YSlider.h
@@ -27,7 +27,7 @@
@@ -555,8 +481,6 @@ index d29f6b8..4bcd7d3 100644
/**
-diff --git a/src/YSpacing.h b/src/YSpacing.h
-index e8aafd3..066cd68 100644
--- a/src/YSpacing.h
+++ b/src/YSpacing.h
@@ -28,7 +28,7 @@
@@ -568,8 +492,6 @@ index e8aafd3..066cd68 100644
/**
-diff --git a/src/YSquash.h b/src/YSquash.h
-index 4bd0fb6..3804cc4 100644
--- a/src/YSquash.h
+++ b/src/YSquash.h
@@ -29,7 +29,7 @@
@@ -581,8 +503,6 @@ index 4bd0fb6..3804cc4 100644
/**
* HSquash, VSquash HVSquash: reduce child to its preferred size.
-diff --git a/src/YTable.h b/src/YTable.h
-index 6694f10..469b8ca 100644
--- a/src/YTable.h
+++ b/src/YTable.h
@@ -30,7 +30,7 @@
@@ -594,8 +514,6 @@ index 6694f10..469b8ca 100644
-diff --git a/src/YTableHeader.h b/src/YTableHeader.h
-index 70166c2..4ae99b4 100644
--- a/src/YTableHeader.h
+++ b/src/YTableHeader.h
@@ -31,7 +31,7 @@
@@ -607,8 +525,6 @@ index 70166c2..4ae99b4 100644
/**
* Helper class for YTable for table column properties:
-diff --git a/src/YTimeField.h b/src/YTimeField.h
-index ab2f9a3..f3a7b94 100644
--- a/src/YTimeField.h
+++ b/src/YTimeField.h
@@ -27,7 +27,7 @@
@@ -620,11 +536,9 @@ index ab2f9a3..f3a7b94 100644
/**
-diff --git a/src/YTimezoneSelector.cc b/src/YTimezoneSelector.cc
-index 9259b64..e2f9b6f 100644
--- a/src/YTimezoneSelector.cc
+++ b/src/YTimezoneSelector.cc
-@@ -32,7 +32,7 @@
+@@ -34,7 +34,7 @@ using std::string;
class YTimezoneSelectorPrivate
{
@@ -633,8 +547,6 @@ index 9259b64..e2f9b6f 100644
};
-diff --git a/src/YTree.h b/src/YTree.h
-index 14fa279..70e1364 100644
--- a/src/YTree.h
+++ b/src/YTree.h
@@ -28,7 +28,7 @@
@@ -646,11 +558,9 @@ index 14fa279..70e1364 100644
/**
-diff --git a/src/YUILog.h b/src/YUILog.h
-index 0890bc5..4a927a7 100644
--- a/src/YUILog.h
+++ b/src/YUILog.h
-@@ -64,7 +64,7 @@
+@@ -66,7 +66,7 @@ using std::endl;
@@ -659,11 +569,9 @@ index 0890bc5..4a927a7 100644
enum YUILogLevel_t
{
-diff --git a/src/YWidget.h b/src/YWidget.h
-index 5b285d0..636a41b 100644
--- a/src/YWidget.h
+++ b/src/YWidget.h
-@@ -45,7 +45,7 @@ typedef YChildrenManager<YWidget> YWidgetChildrenManager;
+@@ -45,7 +45,7 @@ typedef YChildrenManager<YWidget> YWidge
typedef YSingleChildManager<YWidget> YSingleWidgetChildManager;
typedef YChildrenRejector<YWidget> YWidgetChildrenRejector;
@@ -672,8 +580,6 @@ index 5b285d0..636a41b 100644
/**
-diff --git a/src/YWizard.h b/src/YWizard.h
-index 7671cbf..975b597 100644
--- a/src/YWizard.h
+++ b/src/YWizard.h
@@ -28,7 +28,7 @@
diff --git a/meta-oe/recipes-graphics/libyui/libyui/0001-Use-curly-braces-for-MAKE-variable.patch b/meta-oe/recipes-graphics/libyui/libyui/0001-Use-curly-braces-for-MAKE-variable.patch
deleted file mode 100644
index dbe241709a..0000000000
--- a/meta-oe/recipes-graphics/libyui/libyui/0001-Use-curly-braces-for-MAKE-variable.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 4eed37b1a61458fc8e5251f7cb7c6d64e8e9da8d Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 5 Sep 2018 17:48:09 -0700
-Subject: [PATCH] Use curly braces for MAKE variable
-
-Fixes errors with ninja
-| ninja: error: build.ninja:142: bad $-escape (literal $ must be written as $$)
-
-Upstream-Status: Submitted [https://github.com/libyui/libyui/pull/137]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- buildtools/LibyuiCommon.cmake | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/buildtools/LibyuiCommon.cmake b/buildtools/LibyuiCommon.cmake
-index cb93307..e6fbefd 100644
---- a/buildtools/LibyuiCommon.cmake
-+++ b/buildtools/LibyuiCommon.cmake
-@@ -122,8 +122,8 @@ MACRO( SET_BUILD_FLAGS ) # setup compiler-flags depending on CMAKE_BUILD_TYPE
- ENABLE_TESTING()
- # add a wrapper "tests" target, the builtin "test" cannot be extended :-(
- ADD_CUSTOM_TARGET(tests
-- $(MAKE)
-- COMMAND $(MAKE) test
-+ ${MAKE}
-+ COMMAND ${MAKE} test
- )
- ENDIF ( ENABLE_TESTS OR ENABLE_CODE_COVERAGE)
-
---
-2.18.0
-
diff --git a/meta-oe/recipes-graphics/libyui/libyui/0001-Use-relative-install-paths-for-CMake.patch b/meta-oe/recipes-graphics/libyui/libyui/0001-Use-relative-install-paths-for-CMake.patch
index 11a1678a4b..fc7f819d32 100644
--- a/meta-oe/recipes-graphics/libyui/libyui/0001-Use-relative-install-paths-for-CMake.patch
+++ b/meta-oe/recipes-graphics/libyui/libyui/0001-Use-relative-install-paths-for-CMake.patch
@@ -16,13 +16,13 @@ _PREFIX variants.
Upstream-Status: Submitted [https://github.com/libyui/libyui/pull/140]
Signed-off-by: Pascal Bach <pascal.bach@siemens.com>
---
- buildtools/LibyuiCommon.cmake | 35 ++++++++++++++---------------------
+ legacy-buildtools/LibyuiCommon.cmake | 35 ++++++++++++++---------------------
1 file changed, 14 insertions(+), 21 deletions(-)
-diff --git a/buildtools/LibyuiCommon.cmake b/buildtools/LibyuiCommon.cmake
+diff --git a/legacy-buildtools/LibyuiCommon.cmake b/legacy-buildtools/LibyuiCommon.cmake
index e6fbefd..5e2fc0d 100644
---- a/buildtools/LibyuiCommon.cmake
-+++ b/buildtools/LibyuiCommon.cmake
+--- a/legacy-buildtools/LibyuiCommon.cmake
++++ b/legacy-buildtools/LibyuiCommon.cmake
@@ -258,13 +258,6 @@ MACRO( SET_ENVIRONMENT ) # setup the environment vars
SET( INSTALL_DOC_DIR "${DOC_DIR}" )
diff --git a/meta-oe/recipes-graphics/libyui/libyui_4.6.2.bb b/meta-oe/recipes-graphics/libyui/libyui_4.6.2.bb
new file mode 100644
index 0000000000..419a9522a4
--- /dev/null
+++ b/meta-oe/recipes-graphics/libyui/libyui_4.6.2.bb
@@ -0,0 +1,37 @@
+SUMMARY = "Libyui is a widget abstraction library providing Qt, GTK and ncurses frontends."
+LICENSE = "LGPL-3.0-only"
+LIC_FILES_CHKSUM = "file://../COPYING.gpl-3;md5=d32239bcb673463ab874e80d47fae504 \
+ file://../COPYING.lgpl-2.1;md5=4fbd65380cdd255951079008b364516c \
+ file://../COPYING.lgpl-3;md5=e6a600fd5e1d9cbde2d983680233ad02 \
+ "
+
+SRC_URI = "git://github.com/libyui/libyui.git;branch=master;protocol=https \
+ file://0001-Fix-build-with-clang.patch \
+ file://0001-Use-relative-install-paths-for-CMake.patch \
+ "
+
+SRCREV = "e691b563262306a40a61bbf228839fa06e4f0516"
+
+S = "${WORKDIR}/git/libyui"
+
+inherit cmake gettext pkgconfig
+
+DEPENDS += "boost"
+
+EXTRA_OECMAKE += "-DCMAKE_BUILD_TYPE=RELWITHDEBINFO -DWERROR=OFF"
+
+LDFLAGS += "-L${B}/src"
+BBCLASSEXTEND = "native nativesdk"
+
+do_install:append () {
+ if [ "${libdir}" = "${base_prefix}/usr/lib" ] && [ -d ${D}/usr/lib64 ]; then
+ mv ${D}/usr/lib64 ${D}/usr/lib
+ fi
+}
+
+do_install:append:class-nativesdk () {
+ mkdir -p ${D}/${base_prefix}
+ mv ${D}/usr ${D}/${base_prefix}
+}
+
+FILES:${PN}-dev = "${libdir}/* ${includedir}/yui*"
diff --git a/meta-oe/recipes-graphics/libyui/libyui_git.bb b/meta-oe/recipes-graphics/libyui/libyui_git.bb
deleted file mode 100644
index d313fb02d7..0000000000
--- a/meta-oe/recipes-graphics/libyui/libyui_git.bb
+++ /dev/null
@@ -1,42 +0,0 @@
-SUMMARY = "Libyui is a widget abstraction library providing Qt, GTK and ncurses frontends."
-LICENSE = "LGPLv3"
-LIC_FILES_CHKSUM = "file://COPYING.gpl-3;md5=d32239bcb673463ab874e80d47fae504 \
- file://COPYING.lgpl-2.1;md5=4fbd65380cdd255951079008b364516c \
- file://COPYING.lgpl-3;md5=e6a600fd5e1d9cbde2d983680233ad02 \
- "
-
-SRC_URI = "git://github.com/libyui/libyui.git \
- file://0001-Fix-build-with-clang.patch \
- file://0001-Use-curly-braces-for-MAKE-variable.patch \
- file://0001-Use-relative-install-paths-for-CMake.patch \
- "
-
-PV = "3.3.3+git"
-SRCREV = "50672da835ec9d52766320a44a2677e08a24c99c"
-SRCREV_FORMAT = "default"
-S = "${WORKDIR}/git"
-
-inherit cmake gettext pkgconfig
-
-DEPENDS += "boost"
-
-BBCLASSEXTEND = "native nativesdk"
-
-do_configure_prepend () {
- (cd ${S} &&
- ./bootstrap.sh &&
- cd -)
-}
-
-do_install_append () {
- if [ "${libdir}" = "${base_prefix}/usr/lib" ] && [ -d ${D}/usr/lib64 ]; then
- mv ${D}/usr/lib64 ${D}/usr/lib
- fi
-}
-
-do_install_append_class-nativesdk () {
- mkdir -p ${D}/${base_prefix}
- mv ${D}/usr ${D}/${base_prefix}
-}
-
-FILES_${PN}-dev = "${libdir}/* ${includedir}/yui*"
diff --git a/meta-oe/recipes-graphics/lvgl/files/0002-fix-sdl-handle-both-LV_IMAGE_SRC_FILE-and-LV_IMAGE_S.patch b/meta-oe/recipes-graphics/lvgl/files/0002-fix-sdl-handle-both-LV_IMAGE_SRC_FILE-and-LV_IMAGE_S.patch
new file mode 100644
index 0000000000..0bfc3f3e79
--- /dev/null
+++ b/meta-oe/recipes-graphics/lvgl/files/0002-fix-sdl-handle-both-LV_IMAGE_SRC_FILE-and-LV_IMAGE_S.patch
@@ -0,0 +1,63 @@
+From 5b7f657e8ad656e0854f2252b3bd482b966d650c Mon Sep 17 00:00:00 2001
+From: Marek Vasut <marex@denx.de>
+Date: Wed, 13 Mar 2024 02:12:30 +0100
+Subject: [PATCH 2/2] fix(sdl): handle both LV_IMAGE_SRC_FILE and
+ LV_IMAGE_SRC_VARIABLE
+
+The SDL image draw code currently assumes that the image source is a
+filename and attempts to open that filename. This is not necessarily
+the case, e.g. the lv_demo_fb uses encoded images which are of type
+LV_IMAGE_SRC_VARIABLE and instead of filename, come with a buffer of
+pixels. Handle the later using SDL_CreateRGBSurfaceFrom().
+
+Upstream-Status: Backport [b339e67581864b2fb6bb8897735a1e110c324ddc]
+Signed-off-by: Marek Vasut <marex@denx.de>
+---
+ src/draw/sdl/lv_draw_sdl.c | 30 +++++++++++++++++++++++++++---
+ 1 file changed, 27 insertions(+), 3 deletions(-)
+
+diff --git a/src/draw/sdl/lv_draw_sdl.c b/src/draw/sdl/lv_draw_sdl.c
+index cbb555d94..5eee5b725 100644
+--- a/src/draw/sdl/lv_draw_sdl.c
++++ b/src/draw/sdl/lv_draw_sdl.c
+@@ -224,10 +224,34 @@ static bool draw_to_texture(lv_draw_sdl_unit_t * u, cache_data_t * data)
+ break;
+ case LV_DRAW_TASK_TYPE_IMAGE: {
+ lv_draw_image_dsc_t * image_dsc = task->draw_dsc;
+- const char * path = image_dsc->src;
+- SDL_Surface * surface = IMG_Load(&path[2]);
++ lv_image_src_t type = lv_image_src_get_type(image_dsc->src);
++ SDL_Surface * surface = NULL;
++ if(type == LV_IMAGE_SRC_FILE) {
++ const char * path = image_dsc->src;
++ surface = IMG_Load(&path[2]);
++ }
++ else if(type == LV_IMAGE_SRC_VARIABLE) {
++ lv_image_dsc_t * lvd = image_dsc->src;
++ surface = SDL_CreateRGBSurfaceFrom(lvd->data,
++ lvd->header.w, lvd->header.h,
++ LV_COLOR_FORMAT_GET_BPP(lvd->header.cf),
++ lvd->header.stride,
++#if SDL_BYTEORDER == SDL_LIL_ENDIAN
++ 0x00FF0000,
++ 0x0000FF00,
++ 0x000000FF,
++ 0xFF000000
++#else
++ 0x0000FF00,
++ 0x00FF0000,
++ 0xFF000000,
++ 0x000000FF
++#endif
++ );
++ }
++
+ if(surface == NULL) {
+- fprintf(stderr, "could not load image: %s\n", IMG_GetError());
++ fprintf(stderr, "could not load image\n");
+ return false;
+ }
+
+--
+2.43.0
+
diff --git a/meta-oe/recipes-graphics/lvgl/files/0003-Make-fbdev-device-node-runtime-configurable-via-envi.patch b/meta-oe/recipes-graphics/lvgl/files/0003-Make-fbdev-device-node-runtime-configurable-via-envi.patch
new file mode 100644
index 0000000000..7e542bcfbc
--- /dev/null
+++ b/meta-oe/recipes-graphics/lvgl/files/0003-Make-fbdev-device-node-runtime-configurable-via-envi.patch
@@ -0,0 +1,45 @@
+From 85d90749a10b5f91741d37b75825935bf7cc4fb3 Mon Sep 17 00:00:00 2001
+From: Marek Vasut <marex@denx.de>
+Date: Tue, 12 Mar 2024 03:00:37 +0100
+Subject: [PATCH 3/6] Make fbdev device node runtime configurable via
+ environment variable
+
+Test whether $LV_VIDEO_CARD environment variable is non-NULL and in
+case it is, use it as the video card file in lv_linux_fbdev_set_file().
+Otherwise fall back to /dev/fb0, i.e. the current behavior. This way,
+it is possible to test LVGL on systems with multiple fbdev devices.
+
+Upstream-Status: Backport [a0f03515bd7417a0d100058b133c3e8d69be9451]
+Signed-off-by: Marek Vasut <marex@denx.de>
+---
+ main.c | 8 +++++++-
+ 1 file changed, 7 insertions(+), 1 deletion(-)
+
+diff --git a/main.c b/main.c
+index 9775b9c..b64a098 100644
+--- a/main.c
++++ b/main.c
+@@ -4,13 +4,19 @@
+ #include <pthread.h>
+ #include <time.h>
+
++static const char *lv_linux_get_video_card_node(const char *videocard_default)
++{
++ return getenv("LV_VIDEO_CARD") ? : videocard_default;
++}
++
+ int main(void)
+ {
++ const char *videocard = lv_linux_get_video_card_node("/dev/fb0");
+ lv_init();
+
+ /*Linux frame buffer device init*/
+ lv_display_t * disp = lv_linux_fbdev_create();
+- lv_linux_fbdev_set_file(disp, "/dev/fb0");
++ lv_linux_fbdev_set_file(disp, videocard);
+
+ /*Create a Demo*/
+ lv_demo_widgets();
+--
+2.43.0
+
diff --git a/meta-oe/recipes-graphics/lvgl/files/0004-Factor-out-fbdev-initialization-code.patch b/meta-oe/recipes-graphics/lvgl/files/0004-Factor-out-fbdev-initialization-code.patch
new file mode 100644
index 0000000000..6843af0aab
--- /dev/null
+++ b/meta-oe/recipes-graphics/lvgl/files/0004-Factor-out-fbdev-initialization-code.patch
@@ -0,0 +1,52 @@
+From 593da8e11cc5029773ad330b5d7633ee9f2fba95 Mon Sep 17 00:00:00 2001
+From: Marek Vasut <marex@denx.de>
+Date: Tue, 12 Mar 2024 18:09:42 +0100
+Subject: [PATCH 4/6] Factor out fbdev initialization code
+
+Pull fbdev initialization code into separate function and add ifdef
+around it, so it can be conditionally compiled in. This is done in
+preparation for addition of other backend initialization example
+code.
+
+Upstream-Status: Backport [a0f03515bd7417a0d100058b133c3e8d69be9451]
+Signed-off-by: Marek Vasut <marex@denx.de>
+---
+ main.c | 18 ++++++++++++++----
+ 1 file changed, 14 insertions(+), 4 deletions(-)
+
+diff --git a/main.c b/main.c
+index b64a098..288519c 100644
+--- a/main.c
++++ b/main.c
+@@ -9,14 +9,24 @@ static const char *lv_linux_get_video_card_node(const char *videocard_default)
+ return getenv("LV_VIDEO_CARD") ? : videocard_default;
+ }
+
+-int main(void)
++#if LV_USE_LINUX_FBDEV
++static void lv_linux_disp_init(void)
+ {
+ const char *videocard = lv_linux_get_video_card_node("/dev/fb0");
+- lv_init();
+-
+- /*Linux frame buffer device init*/
+ lv_display_t * disp = lv_linux_fbdev_create();
++
+ lv_linux_fbdev_set_file(disp, videocard);
++}
++#else
++#error Unsupported configuration
++#endif
++
++int main(void)
++{
++ lv_init();
++
++ /*Linux display device init*/
++ lv_linux_disp_init();
+
+ /*Create a Demo*/
+ lv_demo_widgets();
+--
+2.43.0
+
diff --git a/meta-oe/recipes-graphics/lvgl/files/0005-Add-DRM-KMS-example-support.patch b/meta-oe/recipes-graphics/lvgl/files/0005-Add-DRM-KMS-example-support.patch
new file mode 100644
index 0000000000..2d2c4c60f1
--- /dev/null
+++ b/meta-oe/recipes-graphics/lvgl/files/0005-Add-DRM-KMS-example-support.patch
@@ -0,0 +1,59 @@
+From dabf40559428733413432afa29598bc145aa6636 Mon Sep 17 00:00:00 2001
+From: Marek Vasut <marex@denx.de>
+Date: Tue, 12 Mar 2024 03:08:13 +0100
+Subject: [PATCH 5/6] Add DRM/KMS example support
+
+Extend the main.c to support both legacy fbdev and DRM/KMS initialization.
+
+To use legacy fbdev support, adjust lv_conf.h as follows:
+LV_USE_LINUX_FBDEV=1
+LV_USE_LINUX_DRM=0
+
+To use DRM/KMS support, adjust lv_conf.h as follows:
+LV_USE_LINUX_FBDEV=0
+LV_USE_LINUX_DRM=1
+
+Upstream-Status: Backport [a0f03515bd7417a0d100058b133c3e8d69be9451]
+Signed-off-by: Marek Vasut <marex@denx.de>
+---
+ CMakeLists.txt | 5 ++++-
+ main.c | 8 ++++++++
+ 2 files changed, 12 insertions(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index d91b196..c1cfb7f 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -12,6 +12,9 @@ target_include_directories(lvgl PUBLIC ${PROJECT_SOURCE_DIR})
+
+ add_executable(main main.c mouse_cursor_icon.c)
+
+-target_link_libraries(main lvgl lvgl::examples lvgl::demos lvgl::thorvg ${SDL2_LIBRARIES} m pthread)
++include(${CMAKE_CURRENT_LIST_DIR}/lvgl/tests/FindLibDRM.cmake)
++include_directories(${Libdrm_INCLUDE_DIRS})
++
++target_link_libraries(main lvgl lvgl::examples lvgl::demos lvgl::thorvg ${SDL2_LIBRARIES} ${Libdrm_LIBRARIES} m pthread)
+ add_custom_target (run COMMAND ${EXECUTABLE_OUTPUT_PATH}/main DEPENDS main)
+
+diff --git a/main.c b/main.c
+index 288519c..ab4e936 100644
+--- a/main.c
++++ b/main.c
+@@ -17,6 +17,14 @@ static void lv_linux_disp_init(void)
+
+ lv_linux_fbdev_set_file(disp, videocard);
+ }
++#elif LV_USE_LINUX_DRM
++static void lv_linux_disp_init(void)
++{
++ const char *videocard = lv_linux_get_video_card_node("/dev/dri/card0");
++ lv_display_t * disp = lv_linux_drm_create();
++
++ lv_linux_drm_set_file(disp, videocard, -1);
++}
+ #else
+ #error Unsupported configuration
+ #endif
+--
+2.43.0
+
diff --git a/meta-oe/recipes-graphics/lvgl/files/0006-Add-SDL2-example-support.patch b/meta-oe/recipes-graphics/lvgl/files/0006-Add-SDL2-example-support.patch
new file mode 100644
index 0000000000..cfb6c6e817
--- /dev/null
+++ b/meta-oe/recipes-graphics/lvgl/files/0006-Add-SDL2-example-support.patch
@@ -0,0 +1,69 @@
+From b202ce51f7b68c460fcd1b6d9c3ffa8aaf2baaf6 Mon Sep 17 00:00:00 2001
+From: Marek Vasut <marex@denx.de>
+Date: Tue, 12 Mar 2024 19:05:38 +0100
+Subject: [PATCH 6/6] Add SDL2 example support
+
+Extend the main.c to support both legacy fbdev, DRM/KMS, SDL2 initialization.
+The SDL2 window resolution can be configured using environment variables
+LV_VIDEO_WIDTH and LV_VIDEO_HEIGHT and defaults to 800 x 480 .
+
+To use legacy fbdev support, adjust lv_conf.h as follows:
+LV_USE_LINUX_FBDEV=1
+LV_USE_LINUX_DRM=0
+LV_USE_SDL=0
+
+To use DRM/KMS support, adjust lv_conf.h as follows:
+LV_USE_LINUX_FBDEV=0
+LV_USE_LINUX_DRM=1
+LV_USE_SDL=0
+
+To use SDL2 support, adjust lv_conf.h as follows:
+LV_USE_LINUX_FBDEV=0
+LV_USE_LINUX_DRM=0
+LV_USE_SDL=1
+
+Upstream-Status: Backport [a0f03515bd7417a0d100058b133c3e8d69be9451]
+Signed-off-by: Marek Vasut <marex@denx.de>
+---
+ CMakeLists.txt | 6 +++++-
+ main.c | 8 ++++++++
+ 2 files changed, 13 insertions(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index c1cfb7f..658193f 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -15,6 +15,10 @@ add_executable(main main.c mouse_cursor_icon.c)
+ include(${CMAKE_CURRENT_LIST_DIR}/lvgl/tests/FindLibDRM.cmake)
+ include_directories(${Libdrm_INCLUDE_DIRS})
+
+-target_link_libraries(main lvgl lvgl::examples lvgl::demos lvgl::thorvg ${SDL2_LIBRARIES} ${Libdrm_LIBRARIES} m pthread)
++find_package(SDL2)
++find_package(SDL2_image)
++include_directories(${SDL2_INCLUDE_DIRS} ${SDL2_IMAGE_INCLUDE_DIRS})
++
++target_link_libraries(main lvgl lvgl::examples lvgl::demos lvgl::thorvg ${SDL2_LIBRARIES} ${SDL2_IMAGE_LIBRARIES} ${Libdrm_LIBRARIES} m pthread)
+ add_custom_target (run COMMAND ${EXECUTABLE_OUTPUT_PATH}/main DEPENDS main)
+
+diff --git a/main.c b/main.c
+index ab4e936..4b66ebc 100644
+--- a/main.c
++++ b/main.c
+@@ -25,6 +25,14 @@ static void lv_linux_disp_init(void)
+
+ lv_linux_drm_set_file(disp, videocard, -1);
+ }
++#elif LV_USE_SDL
++static void lv_linux_disp_init(void)
++{
++ const int width = atoi(getenv("LV_VIDEO_WIDTH") ? : "800");
++ const int height = atoi(getenv("LV_VIDEO_HEIGHT") ? : "480");
++
++ lv_sdl_window_create(width, height);
++}
+ #else
+ #error Unsupported configuration
+ #endif
+--
+2.43.0
+
diff --git a/meta-oe/recipes-graphics/lvgl/files/0007-fix-cmake-generate-versioned-shared-libraries.patch b/meta-oe/recipes-graphics/lvgl/files/0007-fix-cmake-generate-versioned-shared-libraries.patch
new file mode 100644
index 0000000000..f5d39396fc
--- /dev/null
+++ b/meta-oe/recipes-graphics/lvgl/files/0007-fix-cmake-generate-versioned-shared-libraries.patch
@@ -0,0 +1,68 @@
+From 40657a770baadfff30abfecf7638e7b1c340db4d Mon Sep 17 00:00:00 2001
+From: Marek Vasut <marex@denx.de>
+Date: Thu, 14 Mar 2024 03:23:10 +0100
+Subject: [PATCH] fix(cmake): generate versioned shared libraries
+
+Add missing version suffix to shared libraries. Currently the filename of
+generated shared libraries is only liblvgl.so, which prevents coexistence
+of different versions of LVGL on the same system. Set VERSION and SOVERSION
+to make cmake add the version suffix to generated shared libraries. That
+changes the filename to liblvgl.so.9.1.0 and includes symlink with major
+ABI version, i.e. liblvgl.so.9 .
+
+Upstream-Status: Backport [2c469279f53f9dee63d71295c6058749bc87ce73]
+Signed-off-by: Marek Vasut <marex@denx.de>
+---
+ env_support/cmake/custom.cmake | 11 +++++++++++
+ 1 file changed, 11 insertions(+)
+
+diff --git a/env_support/cmake/custom.cmake b/env_support/cmake/custom.cmake
+index 9800468eb..6f33f1cc8 100644
+--- a/env_support/cmake/custom.cmake
++++ b/env_support/cmake/custom.cmake
+@@ -1,3 +1,6 @@
++set(LVGL_VERSION "9.1.0")
++set(LVGL_SOVERSION "9")
++
+ # Option to define LV_LVGL_H_INCLUDE_SIMPLE, default: ON
+ option(LV_LVGL_H_INCLUDE_SIMPLE
+ "Use #include \"lvgl.h\" instead of #include \"../../lvgl.h\"" ON)
+@@ -119,6 +122,8 @@ install(
+ set_target_properties(
+ lvgl
+ PROPERTIES OUTPUT_NAME lvgl
++ VERSION ${LVGL_VERSION}
++ SOVERSION ${LVGL_SOVERSION}
+ ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib"
+ LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib"
+ RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin"
+@@ -137,6 +142,8 @@ if(NOT LV_CONF_BUILD_DISABLE_THORVG_INTERNAL)
+ set_target_properties(
+ lvgl_thorvg
+ PROPERTIES OUTPUT_NAME lvgl_thorvg
++ VERSION ${LVGL_VERSION}
++ SOVERSION ${LVGL_SOVERSION}
+ ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib"
+ LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib"
+ RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin"
+@@ -155,6 +162,8 @@ if(NOT LV_CONF_BUILD_DISABLE_DEMOS)
+ set_target_properties(
+ lvgl_demos
+ PROPERTIES OUTPUT_NAME lvgl_demos
++ VERSION ${LVGL_VERSION}
++ SOVERSION ${LVGL_SOVERSION}
+ ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib"
+ LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib"
+ RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin"
+@@ -173,6 +182,8 @@ if(NOT LV_CONF_BUILD_DISABLE_EXAMPLES)
+ set_target_properties(
+ lvgl_examples
+ PROPERTIES OUTPUT_NAME lvgl_examples
++ VERSION ${LVGL_VERSION}
++ SOVERSION ${LVGL_SOVERSION}
+ ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib"
+ LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib"
+ RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin"
+--
+2.43.0
+
diff --git a/meta-oe/recipes-graphics/lvgl/files/0008-fix-fbdev-set-resolution-prior-to-buffer.patch b/meta-oe/recipes-graphics/lvgl/files/0008-fix-fbdev-set-resolution-prior-to-buffer.patch
new file mode 100644
index 0000000000..5cafb41d56
--- /dev/null
+++ b/meta-oe/recipes-graphics/lvgl/files/0008-fix-fbdev-set-resolution-prior-to-buffer.patch
@@ -0,0 +1,29 @@
+From a6f822f75b3ba01b00c028608c93160d09a6ffd1 Mon Sep 17 00:00:00 2001
+From: Jaeyoon Jung <jaeyoon.jung@lge.com>
+Date: Mon, 1 Apr 2024 18:00:39 +0900
+Subject: [PATCH] fix(fbdev): set resolution prior to buffer
+
+Otherwise it ends up with using the default value 800x480 and may fail
+at lv_display_set_buffers due to incorrect resolution.
+
+Upstream-Status: Backport [29662d1c357c15135d076a2a924b9ef056c82120]
+Signed-off-by: Jaeyoon Jung <jaeyoon.jung@lge.com>
+---
+
+ src/drivers/display/fb/lv_linux_fbdev.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/drivers/display/fb/lv_linux_fbdev.c b/src/drivers/display/fb/lv_linux_fbdev.c
+index b3cc89199..5fb4c5c9f 100644
+--- a/src/drivers/display/fb/lv_linux_fbdev.c
++++ b/src/drivers/display/fb/lv_linux_fbdev.c
+@@ -233,8 +233,8 @@ void lv_linux_fbdev_set_file(lv_display_t * disp, const char * file)
+ draw_buf_2 = malloc(draw_buf_size);
+ }
+
+- lv_display_set_buffers(disp, draw_buf, draw_buf_2, draw_buf_size, LV_LINUX_FBDEV_RENDER_MODE);
+ lv_display_set_resolution(disp, hor_res, ver_res);
++ lv_display_set_buffers(disp, draw_buf, draw_buf_2, draw_buf_size, LV_LINUX_FBDEV_RENDER_MODE);
+
+ if(width > 0) {
+ lv_display_set_dpi(disp, DIV_ROUND_UP(hor_res * 254, width * 10));
diff --git a/meta-oe/recipes-graphics/lvgl/lv-conf.inc b/meta-oe/recipes-graphics/lvgl/lv-conf.inc
new file mode 100644
index 0000000000..9186015537
--- /dev/null
+++ b/meta-oe/recipes-graphics/lvgl/lv-conf.inc
@@ -0,0 +1,81 @@
+PACKAGECONFIG ??= "drm"
+
+PACKAGECONFIG[drm] = ",,libdrm"
+PACKAGECONFIG[fbdev] = ",,"
+PACKAGECONFIG[gridnav] = ",,"
+PACKAGECONFIG[sdl] = ",,virtual/libsdl2 libsdl2-image"
+
+# Add libdrm include if drm is selected in PACKAGECONFIG
+TARGET_CFLAGS += "${@bb.utils.contains('PACKAGECONFIG', 'drm', '-I${STAGING_INCDIR}/libdrm', '', d)}"
+
+LVGL_CONFIG_USE_DRM = "${@bb.utils.contains('PACKAGECONFIG', 'drm', '1', '0', d)}"
+
+LVGL_CONFIG_USE_EVDEV = "${@bb.utils.contains_any('PACKAGECONFIG', 'drm fbdev', '1', '0', d)}"
+
+LVGL_CONFIG_USE_FBDEV = "${@bb.utils.contains('PACKAGECONFIG', 'fbdev', '1', '0', d)}"
+
+LVGL_CONFIG_USE_SDL = "${@bb.utils.contains('PACKAGECONFIG', 'sdl', '1', '0', d)}"
+
+LVGL_CONFIG_SDL_FULLSCREEN ?= "0"
+
+LVGL_CONFIG_LV_MEM_CUSTOM ?= "0"
+LVGL_CONFIG_LV_MEM_SIZE ?= "(64 * 1024U)"
+LVGL_CONFIG_LV_COLOR_DEPTH ?= "32"
+
+LVGL_CONFIG_LV_USE_LOG ?= "0"
+LVGL_CONFIG_LV_LOG_LEVEL ?= "LV_LOG_LEVEL_WARN"
+LVGL_CONFIG_LV_LOG_PRINTF ?= "0"
+
+LVGL_CONFIG_LV_USE_FONT_COMPRESSED ?= "0"
+
+LVGL_CONFIG_LV_USE_GRIDNAV = "${@bb.utils.contains('PACKAGECONFIG', 'gridnav', '1', '0', d)}"
+
+LVGL_CONFIG_LV_THEME_DEFAULT_DARK ?= "0"
+
+DEBUG_BUILD ??= "0"
+
+ALLOW_EMPTY:${PN} = "1"
+
+EXTRA_OECMAKE += "-Dinstall:BOOL=ON -DLIB_INSTALL_DIR=${baselib}"
+
+do_configure:append() {
+ # If there is a configuration template, start from that
+ [ -r "${S}/lv_conf_template.h" ] && cp -Lv "${S}/lv_conf_template.h" "${S}/lv_conf.h"
+
+ sed -r -e "s|#if 0 .*Set it to \"1\" to enable content.*|#if 1 // Enabled by ${PN}|" \
+ \
+ -e "s|^([[:space:]]*#define LV_USE_LINUX_DRM[[:space:]]).*|\1${LVGL_CONFIG_USE_DRM}|" \
+ \
+ -e "s|^([[:space:]]*#define LV_USE_LINUX_FBDEV[[:space:]]).*|\1${LVGL_CONFIG_USE_FBDEV}|" \
+ \
+ -e "s|^([[:space:]]*#define LV_USE_SDL[[:space:]]).*|\1${LVGL_CONFIG_USE_SDL}|" \
+ -e "s|^([[:space:]]*#define LV_USE_DRAW_SDL[[:space:]]).*|\1${LVGL_CONFIG_USE_SDL}|" \
+ -e "s|^([[:space:]]*#define LV_SDL_BUF_COUNT[[:space:]]).*|\1 2|" \
+ -e "s|^([[:space:]]*#define LV_SDL_FULLSCREEN[[:space:]]).*|\1${LVGL_CONFIG_SDL_FULLSCREEN}|" \
+ \
+ -e "s|^([[:space:]]*#define LV_COLOR_DEPTH[[:space:]]).*|\1${LVGL_CONFIG_LV_COLOR_DEPTH}|" \
+ -e "s|^([[:space:]]*#define LV_MEM_CUSTOM[[:space:]]).*|\1${LVGL_CONFIG_LV_MEM_CUSTOM}|" \
+ -e "s|^([[:space:]]*#define LV_MEM_SIZE[[:space:]]).*|\1${LVGL_CONFIG_LV_MEM_SIZE}|" \
+ \
+ -e "s|^([[:space:]]*#define LV_TICK_CUSTOM[[:space:]]).*|\1 1|" \
+ -e "s|^([[:space:]]*#define LV_TICK_CUSTOM_INCLUDE[[:space:]]).*|\1 <stdint.h>|" \
+ -e "s|^([[:space:]]*#define LV_TICK_CUSTOM_SYS_TIME_EXPR[[:space:]]).*|extern uint32_t custom_tick_get(void);\n\1 (custom_tick_get())|" \
+ \
+ -e "s|^([[:space:]]*#define LV_USE_EVDEV[[:space:]]).*|\1${LVGL_CONFIG_USE_EVDEV}|" \
+ \
+ -e "s|^([[:space:]]*#define LV_USE_ASSERT_NULL[[:space:]]).*|\1${DEBUG_BUILD}|" \
+ -e "s|^([[:space:]]*#define LV_USE_ASSERT_MALLOC[[:space:]]).*|\1${DEBUG_BUILD}|" \
+ -e "s|^([[:space:]]*#define LV_USE_ASSERT_STYLE[[:space:]]).*|\1${DEBUG_BUILD}|" \
+ -e "s|^([[:space:]]*#define LV_USE_ASSERT_MEM_INTEGRITY[[:space:]]).*|\1${DEBUG_BUILD}|" \
+ -e "s|^([[:space:]]*#define LV_USE_ASSERT_OBJ[[:space:]]).*|\1${DEBUG_BUILD}|" \
+ \
+ -e "s|^([[:space:]]*#define LV_USE_LOG[[:space:]]).*|\1${LVGL_CONFIG_LV_USE_LOG}|" \
+ -e "s|^([[:space:]]*#define LV_LOG_LEVEL[[:space:]]).*|\1${LVGL_CONFIG_LV_LOG_LEVEL}|" \
+ -e "s|^([[:space:]]*#define LV_LOG_PRINTF[[:space:]]).*|\1${LVGL_CONFIG_LV_LOG_PRINTF}|" \
+ \
+ -e "s|^([[:space:]]*#define LV_USE_FONT_COMPRESSED[[:space:]]).*|\1${LVGL_CONFIG_LV_USE_FONT_COMPRESSED}|" \
+ -e "s|^([[:space:]]*#define LV_USE_GRIDNAV[[:space:]]).*|\1${LVGL_CONFIG_LV_USE_GRIDNAV}|" \
+ -e "s|^([[:space:]]*#define LV_THEME_DEFAULT_DARK[[:space:]]).*|\1${LVGL_CONFIG_LV_THEME_DEFAULT_DARK}|" \
+ \
+ -i "${S}/lv_conf.h"
+}
diff --git a/meta-oe/recipes-graphics/lvgl/lvgl-demo-fb_9.1.0.bb b/meta-oe/recipes-graphics/lvgl/lvgl-demo-fb_9.1.0.bb
new file mode 100644
index 0000000000..6e8371baad
--- /dev/null
+++ b/meta-oe/recipes-graphics/lvgl/lvgl-demo-fb_9.1.0.bb
@@ -0,0 +1,45 @@
+SUMMARY = "LVGL Demo Application for Framebuffer"
+HOMEPAGE = "https://github.com/lvgl/lv_port_linux_frame_buffer"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=802d3d83ae80ef5f343050bf96cce3a4 \
+ file://lvgl/LICENCE.txt;md5=bf1198c89ae87f043108cea62460b03a"
+
+SRC_URI = "\
+ git://github.com/lvgl/lv_port_linux_frame_buffer.git;protocol=https;branch=master;name=demo \
+ git://github.com/lvgl/lvgl;protocol=https;branch=master;name=lvgl;subdir=git/lvgl \
+ file://0002-fix-sdl-handle-both-LV_IMAGE_SRC_FILE-and-LV_IMAGE_S.patch;patchdir=lvgl \
+ file://0003-Make-fbdev-device-node-runtime-configurable-via-envi.patch \
+ file://0004-Factor-out-fbdev-initialization-code.patch \
+ file://0005-Add-DRM-KMS-example-support.patch \
+ file://0006-Add-SDL2-example-support.patch \
+ file://0007-fix-cmake-generate-versioned-shared-libraries.patch;patchdir=lvgl \
+ file://0008-fix-fbdev-set-resolution-prior-to-buffer.patch;patchdir=lvgl \
+ "
+SRCREV_demo = "dccc6a1ca48372aa993dbea7a8e17dec6f42df6a"
+SRCREV_lvgl = "e1c0b21b2723d391b885de4b2ee5cc997eccca91"
+SRCREV_FORMAT = "demo_lvgl"
+
+EXTRA_OEMAKE = "DESTDIR=${D}"
+
+LVGL_CONFIG_DRM_CARD ?= "/dev/dri/card0"
+LVGL_CONFIG_LV_USE_LOG = "1"
+LVGL_CONFIG_LV_LOG_PRINTF = "1"
+LVGL_CONFIG_LV_MEM_SIZE = "(256 * 1024U)"
+LVGL_CONFIG_LV_USE_FONT_COMPRESSED = "1"
+require lv-conf.inc
+
+inherit cmake
+
+S = "${WORKDIR}/git"
+
+do_configure:prepend() {
+ if [ "${LVGL_CONFIG_USE_SDL}" -eq 1 ] ; then
+ # Add libsdl build dependency, SDL2_image has no cmake file
+ sed -i '/^target_link_libraries/ s@pthread@& SDL2_image@' "${S}/CMakeLists.txt"
+ fi
+}
+
+do_install:append() {
+ install -d ${D}${bindir}
+ install -m 0755 ${S}/bin/main ${D}${bindir}/lvgl
+}
diff --git a/meta-oe/recipes-graphics/lvgl/lvgl_9.1.0.bb b/meta-oe/recipes-graphics/lvgl/lvgl_9.1.0.bb
new file mode 100644
index 0000000000..63c810d74d
--- /dev/null
+++ b/meta-oe/recipes-graphics/lvgl/lvgl_9.1.0.bb
@@ -0,0 +1,28 @@
+# SPDX-FileCopyrightText: Huawei Inc.
+#
+# SPDX-License-Identifier: MIT
+
+HOMEPAGE = "https://lvgl.io/"
+DESCRIPTION = "LVGL is an OSS graphics library to create embedded GUI"
+SUMMARY = "Light and Versatile Graphics Library"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENCE.txt;md5=bf1198c89ae87f043108cea62460b03a"
+
+SRC_URI = "\
+ git://github.com/lvgl/lvgl;protocol=https;branch=master \
+ file://0002-fix-sdl-handle-both-LV_IMAGE_SRC_FILE-and-LV_IMAGE_S.patch \
+ file://0007-fix-cmake-generate-versioned-shared-libraries.patch \
+ file://0008-fix-fbdev-set-resolution-prior-to-buffer.patch \
+ "
+SRCREV = "e1c0b21b2723d391b885de4b2ee5cc997eccca91"
+
+inherit cmake
+
+EXTRA_OECMAKE = "-DLIB_INSTALL_DIR=${baselib} -DBUILD_SHARED_LIBS=ON"
+S = "${WORKDIR}/git"
+
+require lv-conf.inc
+
+do_install:append() {
+ install -m 0644 "${S}/lv_conf.h" "${D}${includedir}/${BPN}/lv_conf.h"
+}
diff --git a/meta-oe/recipes-graphics/lxdm/lxdm/0001-Initialize-msghdr-struct-in-a-portable-way.patch b/meta-oe/recipes-graphics/lxdm/lxdm/0001-Initialize-msghdr-struct-in-a-portable-way.patch
new file mode 100644
index 0000000000..d4779505d8
--- /dev/null
+++ b/meta-oe/recipes-graphics/lxdm/lxdm/0001-Initialize-msghdr-struct-in-a-portable-way.patch
@@ -0,0 +1,40 @@
+From 7c370576b4fb7c7d3b6dbf33125136a4ae70a330 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 31 Aug 2022 21:52:16 -0700
+Subject: [PATCH] Initialize msghdr struct in a portable way
+
+Initializing the structure assuming glibc layout results in
+compile errors on musl, therefore do partial intialization and then
+assigning the members individually.
+
+Upstream-Status: Submitted [https://sourceforge.net/p/lxdm/code/merge-requests/4/]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/lxcom.c | 9 +++++++--
+ 2 files changed, 10 insertions(+), 5 deletions(-)
+
+diff --git a/src/lxcom.c b/src/lxcom.c
+index 397d1b5..517c775 100644
+--- a/src/lxcom.c
++++ b/src/lxcom.c
+@@ -117,10 +117,15 @@ static gboolean lxcom_dispatch (GSource *source,GSourceFunc callback,gpointer us
+ char ctrl[/*CMSG_SPACE(sizeof(LXDM_CRED))*/1024];
+ struct sockaddr_un peer;
+ struct iovec v={buf,sizeof(buf)};
+- struct msghdr h={&peer,sizeof(peer),&v,1,ctrl,sizeof(ctrl),0};
++ struct msghdr h={0};
+ struct cmsghdr *cmptr;
+ int ret;
+-
++ h.msg_name = &peer;
++ h.msg_namelen = sizeof(peer);
++ h.msg_iov = &v;
++ h.msg_iovlen = 1;
++ h.msg_control = ctrl;
++ h.msg_controllen = sizeof(ctrl);
+ while(1)
+ {
+ peer.sun_family=0;
+--
+2.37.3
+
diff --git a/meta-oe/recipes-graphics/lxdm/lxdm/0001-greeter-set-visible-when-switch-to-input-user.patch b/meta-oe/recipes-graphics/lxdm/lxdm/0001-greeter-set-visible-when-switch-to-input-user.patch
new file mode 100644
index 0000000000..e01dc7fa7c
--- /dev/null
+++ b/meta-oe/recipes-graphics/lxdm/lxdm/0001-greeter-set-visible-when-switch-to-input-user.patch
@@ -0,0 +1,33 @@
+From f6b8e141e00c4837239f5b69af4e7bee1204abba Mon Sep 17 00:00:00 2001
+From: Kai Kang <kai.kang@windriver.com>
+Date: Thu, 17 Dec 2020 10:18:58 +0800
+Subject: [PATCH 1/8] greeter: set visible when switch to input user
+
+It switches back to input user entry if press Esc key when input the
+password. At this time, the user name input is shown as '*' rather than
+plain text. Set the visibility to fix this issue. And clean the text as
+well.
+
+Upstream-Status: Submitted [https://sourceforge.net/p/lxdm/code/merge-requests/1/]
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+---
+ src/greeter.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/src/greeter.c b/src/greeter.c
+index 2c6e5be..f100c72 100644
+--- a/src/greeter.c
++++ b/src/greeter.c
+@@ -139,6 +139,8 @@ static void switch_to_input_user(void)
+ pass=NULL;
+ }
+ gtk_label_set_text( GTK_LABEL(prompt), _("User:"));
++ gtk_entry_set_text(GTK_ENTRY(login_entry), "");
++ gtk_entry_set_visibility(GTK_ENTRY(login_entry), TRUE);
+ gtk_widget_show(prompt);
+ if(user_list)
+ {
+--
+2.25.1
+
diff --git a/meta-oe/recipes-graphics/lxdm/lxdm/0001-systemd-lxdm.service-remove-plymouth-quit-conflicts.patch b/meta-oe/recipes-graphics/lxdm/lxdm/0001-systemd-lxdm.service-remove-plymouth-quit-conflicts.patch
new file mode 100644
index 0000000000..7ec073b08a
--- /dev/null
+++ b/meta-oe/recipes-graphics/lxdm/lxdm/0001-systemd-lxdm.service-remove-plymouth-quit-conflicts.patch
@@ -0,0 +1,38 @@
+From f662906c52f264e4c139e402932103f47269aa1b Mon Sep 17 00:00:00 2001
+From: Mingli Yu <mingli.yu@windriver.com>
+Date: Mon, 24 Jan 2022 17:16:15 +0800
+Subject: [PATCH] systemd/lxdm.service: remove plymouth-quit conflicts
+
+When use plymouth[1] with lxdm, the plymouth boot splash screen
+will hang there as lxdm.service conflicts with plymouth-quit.service
+and plymouth-quit will fail to start if plymouth-quit.service and
+lxdm.service start at the same time and it will result in the boot
+screen hang forever.
+
+Consider there is also After setting for these two services, so
+remove the conflicts setting to make the service start as expected.
+
+[1] https://gitlab.freedesktop.org/plymouth/plymouth/-/tree/main
+
+Upstream-Status: Submitted [https://sourceforge.net/p/lxdm/code/merge-requests/3]
+
+Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
+---
+ systemd/lxdm.service | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/systemd/lxdm.service b/systemd/lxdm.service
+index bf4a0a8..90d8cdb 100644
+--- a/systemd/lxdm.service
++++ b/systemd/lxdm.service
+@@ -1,6 +1,6 @@
+ [Unit]
+ Description=LXDE Display Manager
+-Conflicts=getty@tty1.service plymouth-quit.service
++Conflicts=getty@tty1.service
+ After=systemd-user-sessions.service getty@tty1.service plymouth-quit.service
+
+ [Service]
+--
+2.17.1
+
diff --git a/meta-oe/recipes-graphics/lxdm/lxdm/0002-greeter-gdk.c-fix-typo.patch b/meta-oe/recipes-graphics/lxdm/lxdm/0002-greeter-gdk.c-fix-typo.patch
new file mode 100644
index 0000000000..da02129756
--- /dev/null
+++ b/meta-oe/recipes-graphics/lxdm/lxdm/0002-greeter-gdk.c-fix-typo.patch
@@ -0,0 +1,28 @@
+From 3a3c5c644c9790cb3f88f3ce3757c2803cff90c5 Mon Sep 17 00:00:00 2001
+From: Kai Kang <kai.kang@windriver.com>
+Date: Thu, 17 Dec 2020 14:32:40 +0800
+Subject: [PATCH 2/8] greeter-gdk.c: fix typo
+
+Upstream-Status: Submitted [https://sourceforge.net/p/lxdm/code/merge-requests/1/]
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+---
+ src/greeter-gdk.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/greeter-gdk.c b/src/greeter-gdk.c
+index 1b27d2e..5aa3e7f 100644
+--- a/src/greeter-gdk.c
++++ b/src/greeter-gdk.c
+@@ -299,7 +299,7 @@ void ui_prepare(void)
+ attr.wclass = GDK_INPUT_OUTPUT;
+ win = gdk_window_new(root, &attr, mask);
+ gdk_window_set_decorations(win,0);
+- gdk_window_set_title(win,"lxdm-greter-gdk");
++ gdk_window_set_title(win,"lxdm-greeter-gdk");
+
+ scr=gdk_screen_get_default();
+ g_signal_connect(scr, "size-changed", G_CALLBACK(on_screen_size_changed), win);
+--
+2.25.1
+
diff --git a/meta-oe/recipes-graphics/lxdm/lxdm/0002-let-autotools-create-lxdm.conf.patch b/meta-oe/recipes-graphics/lxdm/lxdm/0002-let-autotools-create-lxdm.conf.patch
index 75dc10c979..5af4e5233c 100644
--- a/meta-oe/recipes-graphics/lxdm/lxdm/0002-let-autotools-create-lxdm.conf.patch
+++ b/meta-oe/recipes-graphics/lxdm/lxdm/0002-let-autotools-create-lxdm.conf.patch
@@ -8,9 +8,7 @@ Content-Transfer-Encoding: 8bit
in out of tree builds lxdm.conf is empty
-Upstream-Status: submitted [1]
-
-[1] http://sourceforge.net/p/lxde/mailman/message/32901417/
+Upstream-Status: Submitted [http://sourceforge.net/p/lxde/mailman/message/32901417/]
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
---
diff --git a/meta-oe/recipes-graphics/lxdm/lxdm/0003-check-for-libexecinfo-providing-backtrace-APIs.patch b/meta-oe/recipes-graphics/lxdm/lxdm/0003-check-for-libexecinfo-providing-backtrace-APIs.patch
index f9fd4970fb..31b12f8078 100644
--- a/meta-oe/recipes-graphics/lxdm/lxdm/0003-check-for-libexecinfo-providing-backtrace-APIs.patch
+++ b/meta-oe/recipes-graphics/lxdm/lxdm/0003-check-for-libexecinfo-providing-backtrace-APIs.patch
@@ -8,6 +8,8 @@ unlike glibc where it is bundled in
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
+Upstream-Status: Pending
+
configure.ac | 2 ++
1 file changed, 2 insertions(+)
diff --git a/meta-oe/recipes-graphics/lxdm/lxdm/0003-check-whether-password-expired-with-pam.patch b/meta-oe/recipes-graphics/lxdm/lxdm/0003-check-whether-password-expired-with-pam.patch
new file mode 100644
index 0000000000..c64854373d
--- /dev/null
+++ b/meta-oe/recipes-graphics/lxdm/lxdm/0003-check-whether-password-expired-with-pam.patch
@@ -0,0 +1,46 @@
+From 497e0fc7010969759c8247f7013a89589c44234a Mon Sep 17 00:00:00 2001
+From: Kai Kang <kai.kang@windriver.com>
+Date: Thu, 17 Dec 2020 18:12:29 +0800
+Subject: [PATCH 3/8] check whether password expired with pam
+
+Introduce a new enum AuthResult type AUTH_PASSWD_EXPIRE. When user's
+password is expired, return it. Only work with pam.
+
+Upstream-Status: Submitted [https://sourceforge.net/p/lxdm/code/merge-requests/1/]
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+---
+ src/lxdm.h | 1 +
+ src/pam.c | 4 ++++
+ 2 files changed, 5 insertions(+)
+
+diff --git a/src/lxdm.h b/src/lxdm.h
+index 568573f..1c2f837 100644
+--- a/src/lxdm.h
++++ b/src/lxdm.h
+@@ -41,6 +41,7 @@ enum AuthResult
+ AUTH_SUCCESS,
+ AUTH_BAD_USER,
+ AUTH_FAIL,
++ AUTH_PASSWD_EXPIRE,
+ AUTH_PRIV,
+ AUTH_ERROR
+ };
+diff --git a/src/pam.c b/src/pam.c
+index 43bd687..16a36f0 100644
+--- a/src/pam.c
++++ b/src/pam.c
+@@ -257,6 +257,10 @@ int lxdm_auth_user_authenticate(LXDM_AUTH *a,const char *user,const char *pass,i
+ return AUTH_FAIL;
+ }
+ ret=pam_acct_mgmt(a->handle,PAM_SILENT);
++ if (ret == PAM_NEW_AUTHTOK_REQD) {
++ g_debug("user %s account has expired\n", user);
++ return AUTH_PASSWD_EXPIRE;
++ }
+ if(ret!=PAM_SUCCESS)
+ {
+ g_debug("user %s acct mgmt fail with %d\n",user,ret);
+--
+2.25.1
+
diff --git a/meta-oe/recipes-graphics/lxdm/lxdm/0004-fix-css-under-gtk-3.20.patch b/meta-oe/recipes-graphics/lxdm/lxdm/0004-fix-css-under-gtk-3.20.patch
index afe11f3536..d232f6913e 100644
--- a/meta-oe/recipes-graphics/lxdm/lxdm/0004-fix-css-under-gtk-3.20.patch
+++ b/meta-oe/recipes-graphics/lxdm/lxdm/0004-fix-css-under-gtk-3.20.patch
@@ -3,9 +3,7 @@ From: dgod <dgod.osa@gmail.com>
Date: Mon, 21 Mar 2016 19:25:25 +0800
Subject: [PATCH] fix css under gtk 3.20
-Upstream-Status: Applied [1]
-
-[1] https://git.lxde.org/gitweb/?p=lxde/lxdm.git;a=patch;h=72812894cfd9454d70e4b0753531e46580416771
+Upstream-Status: Backport [https://git.lxde.org/gitweb/?p=lxde/lxdm.git;a=patch;h=72812894cfd9454d70e4b0753531e46580416771]
---
data/themes/Industrial/gtk.css | 1 +
1 file changed, 1 insertion(+)
diff --git a/meta-oe/recipes-graphics/lxdm/lxdm/0004-lxdm.c-add-function-to-change-password-with-pam.patch b/meta-oe/recipes-graphics/lxdm/lxdm/0004-lxdm.c-add-function-to-change-password-with-pam.patch
new file mode 100644
index 0000000000..29c1000d18
--- /dev/null
+++ b/meta-oe/recipes-graphics/lxdm/lxdm/0004-lxdm.c-add-function-to-change-password-with-pam.patch
@@ -0,0 +1,124 @@
+From d4de5497bd89c408377194b9fa9026ba8e68b634 Mon Sep 17 00:00:00 2001
+From: Kai Kang <kai.kang@windriver.com>
+Date: Mon, 11 Jan 2021 14:11:05 +0800
+Subject: [PATCH 4/8] lxdm.c: add function to change password with pam
+
+Add function to change user's password when pam is enabled. It is useful
+to change user's password when the password is expired.
+
+Upstream-Status: Submitted [https://sourceforge.net/p/lxdm/code/merge-requests/1/]
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+---
+ src/lxdm.c | 68 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/lxdm.h | 1 +
+ 2 files changed, 69 insertions(+)
+
+diff --git a/src/lxdm.c b/src/lxdm.c
+index 638c30f..fe17a71 100644
+--- a/src/lxdm.c
++++ b/src/lxdm.c
+@@ -104,6 +104,10 @@ static int old_tty=1,def_tty = 7,nr_tty=0;
+ static int def_display=0;
+ static GSList *session_list;
+
++#if HAVE_LIBPAM
++static const char *new_passwd = NULL;
++#endif
++
+ static void lxdm_startx(LXSession *s);
+
+ static int get_active_vt(void)
+@@ -759,6 +763,69 @@ int lxdm_auth_user(int type,char *user, char *pass, struct passwd **ppw)
+ return ret;
+ }
+
++
++#if HAVE_LIBPAM
++
++static int do_conv(int num, const struct pam_message **msg,struct pam_response **resp, void *arg)
++{
++ int result = PAM_SUCCESS;
++ int i;
++
++ *resp = (struct pam_response *) calloc(num, sizeof(struct pam_response));
++ for(i = 0; i < num; i++)
++ {
++ switch (msg[i]->msg_style) {
++ case PAM_PROMPT_ECHO_ON:
++ break;
++ case PAM_PROMPT_ECHO_OFF:
++ resp[i]->resp = strdup(new_passwd);
++ break;
++ case PAM_ERROR_MSG:
++ case PAM_TEXT_INFO:
++ break;
++ default:
++ break;
++ }
++ }
++ return result;
++}
++
++static int lxdm_change_passwd_pam(const char *service, const char *user, const char *pass)
++{
++ pam_handle_t *pamh = NULL;
++ static struct pam_conv conv = {
++ do_conv,
++ NULL
++ };
++
++ int ret = pam_start("lxdm", user, &conv, &pamh);
++ if (PAM_SUCCESS != ret) {
++ g_warning("pam_start failed.");
++ return 1;
++ }
++
++ new_passwd = pass;
++ ret = pam_chauthtok(pamh, 0);
++ if (PAM_SUCCESS != ret) {
++ g_warning("pam_chauthtok failed: %s", pam_strerror(pamh, ret));
++ return 1;
++ }
++
++ (void)pam_end(pamh, PAM_SUCCESS);
++
++ return 0;
++}
++#endif
++
++int lxdm_change_passwd(const char *user, const char *pass)
++{
++#if HAVE_LIBPAM
++ return lxdm_change_passwd_pam("lxdm", user, pass);
++#else
++ return 0;
++#endif
++}
++
+ static void close_left_fds(void)
+ {
+ struct dirent **list;
+@@ -1446,6 +1513,7 @@ int lxdm_do_auto_login(void)
+ lxdm_do_login(pw,session,lang,option);
+ success=1;
+ }
++
+ g_free(user);g_free(session);g_free(lang);
+ }
+ g_free(last_lang);
+diff --git a/src/lxdm.h b/src/lxdm.h
+index 1c2f837..be3c81f 100644
+--- a/src/lxdm.h
++++ b/src/lxdm.h
+@@ -30,6 +30,7 @@ G_BEGIN_DECLS
+ extern GKeyFile *config;
+
+ int lxdm_auth_user(int type,char *user,char *pass,struct passwd **ppw);
++int lxdm_change_passwd(const char *user, const char *pass);
+ void lxdm_do_login(struct passwd *pw,char *session,char *lang,char *option);
+ void lxdm_do_reboot(void);
+ void lxdm_do_shutdown(void);
+--
+2.25.1
+
diff --git a/meta-oe/recipes-graphics/lxdm/lxdm/0005-ui.c-handle-password-expire-and-update-new-password.patch b/meta-oe/recipes-graphics/lxdm/lxdm/0005-ui.c-handle-password-expire-and-update-new-password.patch
new file mode 100644
index 0000000000..ecbe68d148
--- /dev/null
+++ b/meta-oe/recipes-graphics/lxdm/lxdm/0005-ui.c-handle-password-expire-and-update-new-password.patch
@@ -0,0 +1,53 @@
+From 54b2ed18ca52fa682ade2fe84e1b0d19d1b78cc4 Mon Sep 17 00:00:00 2001
+From: Kai Kang <kai.kang@windriver.com>
+Date: Mon, 11 Jan 2021 16:48:26 +0800
+Subject: [PATCH 5/8] ui.c: handle password-expire and update-new-password
+
+Upstream-Status: Submitted [https://sourceforge.net/p/lxdm/code/merge-requests/1/]
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+---
+ src/ui.c | 20 ++++++++++++++++++++
+ 1 file changed, 20 insertions(+)
+
+diff --git a/src/ui.c b/src/ui.c
+index f233589..3ddb484 100644
+--- a/src/ui.c
++++ b/src/ui.c
+@@ -161,6 +161,9 @@ static gboolean on_greeter_input(GIOChannel *source, GIOCondition condition, gpo
+ ui_drop();
+ lxdm_do_login(pw, session, lang,NULL);
+ }
++ else if (AUTH_PASSWD_EXPIRE == ret) {
++ xwrite(greeter_pipe[0], "password-expire\n", 16);
++ }
+ else
+ {
+ if(pass!=NULL)
+@@ -205,6 +208,23 @@ static gboolean on_greeter_input(GIOChannel *source, GIOCondition condition, gpo
+ g_free(session);
+ g_free(lang);
+ }
++ else if (!strncmp(str, "update-new-password", 19)) {
++ xwrite(greeter_pipe[0], "update-new-password\n", 20);
++ char *user = greeter_param(str, "user");
++ char *pass = greeter_param(str, "newpass");
++ char *session = greeter_param(str, "session");
++ char *lang = greeter_param(str, "lang");
++
++ int ret = lxdm_change_passwd(user, pass);
++ if (ret) {
++ xwrite(greeter_pipe[0], "invalid-new-password\n", 21);
++ } else {
++ struct passwd *pw;
++ ret = lxdm_auth_user(AUTH_TYPE_NORMAL, user, pass, &pw);
++ ui_drop();
++ lxdm_do_login(pw, session, lang, NULL);
++ }
++ }
+ g_free(str);
+ return TRUE;
+ }
+--
+2.25.1
+
diff --git a/meta-oe/recipes-graphics/lxdm/lxdm/0006-themes-Industrial-add-info-label-in-ui.patch b/meta-oe/recipes-graphics/lxdm/lxdm/0006-themes-Industrial-add-info-label-in-ui.patch
new file mode 100644
index 0000000000..4cadc3d9b2
--- /dev/null
+++ b/meta-oe/recipes-graphics/lxdm/lxdm/0006-themes-Industrial-add-info-label-in-ui.patch
@@ -0,0 +1,124 @@
+From 8414d63343cc7909bc7a972941c678509d5d5be6 Mon Sep 17 00:00:00 2001
+From: Kai Kang <kai.kang@windriver.com>
+Date: Mon, 11 Jan 2021 10:15:45 +0800
+Subject: [PATCH 6/8] themes/Industrial: add info label in ui
+
+Adjust the layout and add a new label "info" under the labe "prompt" in
+themes/Industrial to tell user some useful information such as
+"Authentication failed" or "Invalid password".
+
+Upstream-Status: Submitted [https://sourceforge.net/p/lxdm/code/merge-requests/1/]
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+---
+ data/themes/Industrial/greeter-gtk3.ui | 27 +++++++++++++++++++++++++-
+ data/themes/Industrial/greeter.ui | 27 +++++++++++++++++++++++++-
+ data/themes/Industrial/gtk.css | 5 +++++
+ 3 files changed, 57 insertions(+), 2 deletions(-)
+
+diff --git a/data/themes/Industrial/greeter-gtk3.ui b/data/themes/Industrial/greeter-gtk3.ui
+index 2f4e631..e59eee3 100644
+--- a/data/themes/Industrial/greeter-gtk3.ui
++++ b/data/themes/Industrial/greeter-gtk3.ui
+@@ -45,7 +45,12 @@
+ <property name="xscale">0</property>
+ <property name="yscale">0</property>
+ <child>
+- <object class="GtkHBox" id="hbox3">
++ <object class="GtkVBox" id="vbox3">
++ <property name="visible">True</property>
++ <property name="orientation">vertical</property>
++ <property name="spacing">12</property>
++ <child>
++ <object class="GtkHBox" id="hbox3">
+ <property name="visible">True</property>
+ <property name="spacing">12</property>
+ <child>
+@@ -91,6 +96,26 @@
+ </packing>
+ </child>
+ </object>
++ </child>
++ <child>
++ <object class="GtkHBox" id="hbox4">
++ <property name="visible">True</property>
++ <property name="spacing">12</property>
++ <child>
++ <object class="GtkLabel" id="info">
++ <property name="visible">True</property>
++ <property name="label" translatable="yes"></property>
++ <property name="yalign">0.2</property>
++ </object>
++ <packing>
++ <property name="expand">False</property>
++ <property name="fill">False</property>
++ <property name="position">0</property>
++ </packing>
++ </child>
++ </object>
++ </child>
++ </object>
+ </child>
+ </object>
+ <packing>
+diff --git a/data/themes/Industrial/greeter.ui b/data/themes/Industrial/greeter.ui
+index 3413922..6a02d8d 100644
+--- a/data/themes/Industrial/greeter.ui
++++ b/data/themes/Industrial/greeter.ui
+@@ -47,7 +47,12 @@
+ <property name="xscale">0</property>
+ <property name="yscale">0</property>
+ <child>
+- <object class="GtkHBox" id="hbox3">
++ <object class="GtkVBox" id="vbox3">
++ <property name="visible">True</property>
++ <property name="orientation">vertical</property>
++ <property name="spacing">12</property>
++ <child>
++ <object class="GtkHBox" id="hbox3">
+ <property name="visible">True</property>
+ <property name="spacing">12</property>
+ <child>
+@@ -93,6 +98,26 @@
+ </packing>
+ </child>
+ </object>
++ </child>
++ <child>
++ <object class="GtkHBox" id="hbox4">
++ <property name="visible">True</property>
++ <property name="spacing">12</property>
++ <child>
++ <object class="GtkLabel" id="info">
++ <property name="visible">True</property>
++ <property name="label" translatable="yes"></property>
++ <property name="yalign">0.2</property>
++ </object>
++ <packing>
++ <property name="expand">False</property>
++ <property name="fill">False</property>
++ <property name="position">0</property>
++ </packing>
++ </child>
++ </object>
++ </child>
++ </object>
+ </child>
+ </object>
+ <packing>
+diff --git a/data/themes/Industrial/gtk.css b/data/themes/Industrial/gtk.css
+index 7621345..be15f43 100644
+--- a/data/themes/Industrial/gtk.css
++++ b/data/themes/Industrial/gtk.css
+@@ -22,3 +22,8 @@
+ font: Sans 12;
+ color: #9E9D9B;
+ }
++
++#info {
++ font: Sans 14;
++ font-style: italic;
++}
+--
+2.25.1
+
diff --git a/meta-oe/recipes-graphics/lxdm/lxdm/0007-greeter.c-support-to-update-expired-password.patch b/meta-oe/recipes-graphics/lxdm/lxdm/0007-greeter.c-support-to-update-expired-password.patch
new file mode 100644
index 0000000000..84a9faebb8
--- /dev/null
+++ b/meta-oe/recipes-graphics/lxdm/lxdm/0007-greeter.c-support-to-update-expired-password.patch
@@ -0,0 +1,180 @@
+From bae6a2b3a2232abd16a8d8558dda542d4970f1bb Mon Sep 17 00:00:00 2001
+From: Kai Kang <kai.kang@windriver.com>
+Date: Tue, 12 Jan 2021 09:23:05 +0800
+Subject: [PATCH 7/8] greeter.c: support to update expired password
+
+Update greeter to work with ui to handle expired password. It checks
+whether password is expired after input user and password. If expired,
+force user to update password immediately. It allows 3 times to try. If
+exceeds, reset to input user.
+
+Upstream-Status: Submitted [https://sourceforge.net/p/lxdm/code/merge-requests/1/]
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+---
+ src/greeter.c | 83 +++++++++++++++++++++++++++++++++++++++++++++++++--
+ 1 file changed, 81 insertions(+), 2 deletions(-)
+
+diff --git a/src/greeter.c b/src/greeter.c
+index f100c72..804fca0 100644
+--- a/src/greeter.c
++++ b/src/greeter.c
+@@ -77,6 +77,8 @@ static GtkWidget *lang_menu;
+
+ static char* user = NULL;
+ static char* pass = NULL;
++static char* new_pass = NULL;
++static gboolean pass_expired = FALSE;
+
+ static char* ui_file = NULL;
+ static char *ui_nobody = NULL;
+@@ -167,10 +169,19 @@ static void switch_to_input_passwd(void)
+ else
+ gtk_widget_hide(user_list);
+ }
+- gtk_label_set_text( GTK_LABEL(prompt), _("Password:") );
++ if (pass_expired) {
++ if (!new_pass) {
++ gtk_label_set_text(GTK_LABEL(prompt), _("New password:"));
++ } else {
++ gtk_label_set_text(GTK_LABEL(prompt), _("Retype new password:"));
++ }
++ } else {
++ gtk_label_set_text( GTK_LABEL(prompt), _("Password:") );
++ }
+ gtk_entry_set_text(GTK_ENTRY(login_entry), "");
+ gtk_entry_set_visibility(GTK_ENTRY(login_entry), FALSE);
+ gtk_widget_show(login_entry);
++ gtk_widget_show(prompt);
+ gtk_widget_grab_focus(login_entry);
+ }
+
+@@ -189,6 +200,8 @@ static void try_login_user(const char *user)
+
+ static void on_entry_activate(GtkEntry* entry)
+ {
++ static int count = 0;
++
+ char* tmp;
+ if( !user )
+ {
+@@ -217,6 +230,46 @@ static void on_entry_activate(GtkEntry* entry)
+ }
+ else
+ {
++ if (pass_expired) {
++ if (!new_pass) {
++ new_pass = g_strdup(gtk_entry_get_text(entry));
++ switch_to_input_passwd();
++ } else {
++ tmp = g_strdup(gtk_entry_get_text(entry));
++ if (strcmp(new_pass, tmp)) {
++ g_free(new_pass);
++ new_pass = NULL;
++ // if new passwords not match, retry for 3 times at most
++ if (++count < 3) {
++ switch_to_input_passwd();
++ } else {
++ count = 0;
++ pass_expired = FALSE;
++ switch_to_input_user();
++ }
++ } else if (!strcmp(pass, g_base64_encode((guchar*)new_pass, strlen(new_pass) + 1))) {
++ // if new password is same as old one
++ g_free(new_pass);
++ new_pass = NULL;
++ if (++count < 3) {
++ switch_to_input_passwd();
++ } else {
++ count = 0;
++ pass_expired = FALSE;
++ switch_to_input_user();
++ }
++ } else {
++ char *session_exec=get_session_exec();
++ char *session_lang=get_session_lang();
++
++ printf("update-new-password user=%s newpass=%s session=%s lang=%s\n",
++ user, new_pass, session_exec, session_lang);
++ }
++ }
++
++ return ;
++ }
++
+ char *session_exec=get_session_exec();
+ char *session_lang=get_session_lang();
+
+@@ -227,6 +280,7 @@ static void on_entry_activate(GtkEntry* entry)
+ printf("login user=%s pass=%s session=%s lang=%s\n",
+ user, pass, session_exec, session_lang);
+
++#if 0
+ /* password check failed */
+ g_free(user);
+ user = NULL;
+@@ -241,6 +295,7 @@ static void on_entry_activate(GtkEntry* entry)
+ gtk_label_set_text( GTK_LABEL(prompt), _("User:") );
+ gtk_entry_set_text(GTK_ENTRY(entry), "");
+ gtk_entry_set_visibility(GTK_ENTRY(entry), TRUE);
++#endif
+ }
+ }
+
+@@ -1091,8 +1146,12 @@ static void on_screen_size_changed(GdkScreen *screen,GtkWidget *win)
+
+ static gint login_entry_on_key_press (GtkWidget *widget,GdkEventKey *event)
+ {
+- if(event->keyval == GDK_Escape)
++ if(event->keyval == GDK_Escape) {
++ g_free(new_pass);
++ new_pass = NULL;
++ pass_expired = FALSE;
+ switch_to_input_user();
++ }
+ return FALSE;
+ }
+
+@@ -1285,8 +1344,10 @@ static void create_win()
+
+ static gboolean on_lxdm_command(GIOChannel *source, GIOCondition condition, gpointer data)
+ {
++
+ GIOStatus ret;
+ char *str;
++ static int count = 0;
+
+ if( !(G_IO_IN & condition) )
+ return FALSE;
+@@ -1300,10 +1361,28 @@ static gboolean on_lxdm_command(GIOChannel *source, GIOCondition condition, gpoi
+ {
+ switch_to_input_user();
+ }
++ else if (!strncmp(str, "password-expire", 15))
++ {
++ pass_expired = TRUE;
++ switch_to_input_passwd();
++ }
+ else if( !strncmp(str, "password", 8))
+ {
+ switch_to_input_passwd();
+ }
++ else if (!strncmp(str, "invalid-new-password", 20))
++ {
++ g_free(new_pass);
++ new_pass = NULL;
++
++ if (count++ < 3) {
++ switch_to_input_passwd();
++ } else {
++ count = 0;
++ pass_expired = FALSE;
++ switch_to_input_user();
++ }
++ }
+ g_free(str);
+ return TRUE;
+ }
+--
+2.25.1
+
diff --git a/meta-oe/recipes-graphics/lxdm/lxdm/0008-greeter.c-show-information-on-gtk-label-info.patch b/meta-oe/recipes-graphics/lxdm/lxdm/0008-greeter.c-show-information-on-gtk-label-info.patch
new file mode 100644
index 0000000000..eab9fd5e2e
--- /dev/null
+++ b/meta-oe/recipes-graphics/lxdm/lxdm/0008-greeter.c-show-information-on-gtk-label-info.patch
@@ -0,0 +1,99 @@
+From bb4ff4b134383bfdadf7cb5353d3553a8a72d47e Mon Sep 17 00:00:00 2001
+From: Kai Kang <kai.kang@windriver.com>
+Date: Wed, 13 Jan 2021 10:45:48 +0800
+Subject: [PATCH 8/8] greeter.c: show information on gtk label 'info'
+
+Show information on a gtk label 'info' which is added under label
+'prompt' in the .glade or .ui files.
+
+Upstream-Status: Submitted [https://sourceforge.net/p/lxdm/code/merge-requests/1/]
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+---
+ src/greeter.c | 15 ++++++++++++++-
+ 1 file changed, 14 insertions(+), 1 deletion(-)
+
+diff --git a/src/greeter.c b/src/greeter.c
+index 804fca0..a4a2336 100644
+--- a/src/greeter.c
++++ b/src/greeter.c
+@@ -64,6 +64,7 @@ static GtkWidget* win;
+ static GtkWidget* alignment2;
+ static GtkWidget* prompt;
+ static GtkWidget* login_entry;
++static GtkWidget* info;
+ static GtkWidget* user_list_scrolled;
+ static GtkWidget* user_list;
+
+@@ -241,10 +242,12 @@ static void on_entry_activate(GtkEntry* entry)
+ new_pass = NULL;
+ // if new passwords not match, retry for 3 times at most
+ if (++count < 3) {
++ gtk_label_set_text((GtkLabel *)info, _("Passwords do not match, please retry."));
+ switch_to_input_passwd();
+ } else {
+ count = 0;
+ pass_expired = FALSE;
++ gtk_label_set_text((GtkLabel *)info, _("Maximum number of failed update password attempts exceeded."));
+ switch_to_input_user();
+ }
+ } else if (!strcmp(pass, g_base64_encode((guchar*)new_pass, strlen(new_pass) + 1))) {
+@@ -252,6 +255,7 @@ static void on_entry_activate(GtkEntry* entry)
+ g_free(new_pass);
+ new_pass = NULL;
+ if (++count < 3) {
++ gtk_label_set_text((GtkLabel *)info, _("New password is same as old one, password unchanged."));
+ switch_to_input_passwd();
+ } else {
+ count = 0;
+@@ -1146,6 +1150,9 @@ static void on_screen_size_changed(GdkScreen *screen,GtkWidget *win)
+
+ static gint login_entry_on_key_press (GtkWidget *widget,GdkEventKey *event)
+ {
++
++ gtk_label_set_text(GTK_LABEL(info), "");
++
+ if(event->keyval == GDK_Escape) {
+ g_free(new_pass);
+ new_pass = NULL;
+@@ -1211,11 +1218,14 @@ static void create_win()
+ login_entry = (GtkWidget*)gtk_builder_get_object(builder, "login_entry");
+ if(login_entry!=NULL)
+ {
+- g_signal_connect_after(login_entry,"key-press-event",G_CALLBACK(login_entry_on_key_press),NULL);
++ g_signal_connect(login_entry,"key-press-event",G_CALLBACK(login_entry_on_key_press),NULL);
+ }
+
+ g_signal_connect(login_entry, "activate", G_CALLBACK(on_entry_activate), NULL);
+
++ info = (GtkWidget *)gtk_builder_get_object(builder, "info");
++ gtk_label_set_text(GTK_LABEL(info), "");
++
+ if( g_key_file_get_integer(config, "display", "bottom_pane", 0)==1)
+ {
+ /* hacks to let GtkEventBox paintable with gtk pixmap engine. */
+@@ -1359,11 +1369,13 @@ static gboolean on_lxdm_command(GIOChannel *source, GIOCondition condition, gpoi
+ gtk_main_quit();
+ else if( !strncmp(str, "reset", 5) )
+ {
++ gtk_label_set_text(GTK_LABEL(info), _("Authentication failed."));
+ switch_to_input_user();
+ }
+ else if (!strncmp(str, "password-expire", 15))
+ {
+ pass_expired = TRUE;
++ gtk_label_set_text(GTK_LABEL(info), _("You are required to change your password immediately."));
+ switch_to_input_passwd();
+ }
+ else if( !strncmp(str, "password", 8))
+@@ -1376,6 +1388,7 @@ static gboolean on_lxdm_command(GIOChannel *source, GIOCondition condition, gpoi
+ new_pass = NULL;
+
+ if (count++ < 3) {
++ gtk_label_set_text(GTK_LABEL(info), _("Invalid new password. Please input new password again."));
+ switch_to_input_passwd();
+ } else {
+ count = 0;
+--
+2.25.1
+
diff --git a/meta-oe/recipes-graphics/lxdm/lxdm/0009-greeter.c-disallow-empty-new-password.patch b/meta-oe/recipes-graphics/lxdm/lxdm/0009-greeter.c-disallow-empty-new-password.patch
new file mode 100644
index 0000000000..3b12defb03
--- /dev/null
+++ b/meta-oe/recipes-graphics/lxdm/lxdm/0009-greeter.c-disallow-empty-new-password.patch
@@ -0,0 +1,53 @@
+From af1c347a31ae243d29c6087da8ffb423b23c74f2 Mon Sep 17 00:00:00 2001
+From: Kai Kang <kai.kang@windriver.com>
+Date: Mon, 1 Feb 2021 09:54:48 +0800
+Subject: [PATCH] greeter.c: disallow empty new password
+
+Do not clear text of label 'promt' when skip_password is set. When user
+is required to update password, it only shows input box without label
+for about 1 second.
+
+And disallow empty new password when user is required to update it.
+
+Upstream-Status: Submitted [https://sourceforge.net/p/lxdm/code/merge-requests/2/]
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+---
+ src/greeter.c | 7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+diff --git a/src/greeter.c b/src/greeter.c
+index 7e4a168..c0e6b64 100644
+--- a/src/greeter.c
++++ b/src/greeter.c
+@@ -220,7 +220,6 @@ static void on_entry_activate(GtkEntry* entry)
+ }
+ if(g_key_file_get_integer(config,"base","skip_password",NULL)!=0)
+ {
+- gtk_label_set_text( GTK_LABEL(prompt), "");
+ try_login_user(user);
+ }
+ else
+@@ -235,6 +239,10 @@ static void on_entry_activate(GtkEntry* entry)
+ if (pass_expired) {
+ if (!new_pass) {
+ new_pass = g_strdup(gtk_entry_get_text(entry));
++ if (strlen(new_pass) == 0) {
++ new_pass = NULL;
++ gtk_label_set_text((GtkLabel *)info, _("Empty password is not allowed."));
++ }
+ switch_to_input_passwd();
+ } else {
+ tmp = g_strdup(gtk_entry_get_text(entry));
+@@ -251,7 +259,7 @@ static void on_entry_activate(GtkEntry* entry)
+ gtk_label_set_text((GtkLabel *)info, _("Maximum number of failed update password attempts exceeded."));
+ switch_to_input_user();
+ }
+- } else if (!strcmp(pass, g_base64_encode((guchar*)new_pass, strlen(new_pass) + 1))) {
++ } else if (pass && !strcmp(pass, g_base64_encode((guchar*)new_pass, strlen(new_pass) + 1))) {
+ // if new password is same as old one
+ g_free(new_pass);
+ new_pass = NULL;
+--
+2.25.1
+
diff --git a/meta-oe/recipes-graphics/lxdm/lxdm_0.5.3.bb b/meta-oe/recipes-graphics/lxdm/lxdm_0.5.3.bb
index 701266bccd..ae45258297 100644
--- a/meta-oe/recipes-graphics/lxdm/lxdm_0.5.3.bb
+++ b/meta-oe/recipes-graphics/lxdm/lxdm_0.5.3.bb
@@ -1,6 +1,6 @@
SUMMARY = "LXDM is the lightweight display manager"
HOMEPAGE = "http://blog.lxde.org/?p=531"
-LICENSE = "GPLv3"
+LICENSE = "GPL-3.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
SRC_URI = "${SOURCEFORGE_MIRROR}/project/${BPN}/${BPN}%20${PV}/${BPN}-${PV}.tar.xz \
file://lxdm.conf \
@@ -9,6 +9,17 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/project/${BPN}/${BPN}%20${PV}/${BPN}-${PV}.tar.
file://0002-let-autotools-create-lxdm.conf.patch \
file://0003-check-for-libexecinfo-providing-backtrace-APIs.patch \
file://0004-fix-css-under-gtk-3.20.patch \
+ file://0001-greeter-set-visible-when-switch-to-input-user.patch \
+ file://0002-greeter-gdk.c-fix-typo.patch \
+ file://0003-check-whether-password-expired-with-pam.patch \
+ file://0004-lxdm.c-add-function-to-change-password-with-pam.patch \
+ file://0005-ui.c-handle-password-expire-and-update-new-password.patch \
+ file://0006-themes-Industrial-add-info-label-in-ui.patch \
+ file://0007-greeter.c-support-to-update-expired-password.patch \
+ file://0008-greeter.c-show-information-on-gtk-label-info.patch \
+ file://0009-greeter.c-disallow-empty-new-password.patch \
+ file://0001-systemd-lxdm.service-remove-plymouth-quit-conflicts.patch \
+ file://0001-Initialize-msghdr-struct-in-a-portable-way.patch \
"
SRC_URI[md5sum] = "061caae432634e6db38bbdc84bc6ffa0"
SRC_URI[sha256sum] = "4891efee81c72a400cc6703e40aa76f3f3853833d048b72ec805da0f93567f2f"
@@ -17,28 +28,28 @@ PE = "1"
DEPENDS = "virtual/libintl intltool-native cairo dbus gdk-pixbuf glib-2.0 gtk+3 virtual/libx11 libxcb pango iso-codes"
DEPENDS += "${@bb.utils.contains("DISTRO_FEATURES", "systemd", "", "consolekit", d)}"
-DEPENDS_append_libc-musl = " libexecinfo"
+DEPENDS:append:libc-musl = " libexecinfo"
# combine oe-core way with angstrom DISTRO_TYPE
DISTRO_TYPE ?= "${@bb.utils.contains("IMAGE_FEATURES", "debug-tweaks", "debug", "",d)}"
-inherit autotools pkgconfig gettext systemd distro_features_check
+inherit autotools pkgconfig gettext systemd features_check
# depends on virtual/libx11
REQUIRED_DISTRO_FEATURES = "x11"
-CFLAGS_append = " -fno-builtin-fork -fno-builtin-memset -fno-builtin-strstr "
-LDFLAGS_append_libc-musl = " -lexecinfo"
+CFLAGS:append = " -fno-builtin-fork -fno-builtin-memset -fno-builtin-strstr "
+LDFLAGS:append:libc-musl = " -lexecinfo"
EXTRA_OECONF += "--enable-gtk3=yes --enable-password=yes --with-x -with-xconn=xcb \
${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '--with-systemdsystemunitdir=${systemd_unitdir}/system/ --disable-consolekit', '--without-systemdsystemunitdir', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'pam', '--with-pam', '--without-pam', d)} \
"
-do_configure_prepend() {
+do_configure:prepend() {
cp ${STAGING_DATADIR_NATIVE}/gettext/po/Makefile.in.in ${S}/po/
}
-do_compile_append() {
+do_compile:append() {
# default background configured not available / no password field available / no default screensaver
sed -i -e 's,bg=,# bg=,g' \
-e 's,# skip_password=,skip_password=,g' \
@@ -48,19 +59,19 @@ do_compile_append() {
oe_runmake -C ${B}/data lxdm.conf
}
-do_install_append() {
+do_install:append() {
install -d ${D}${localstatedir}/lib/lxdm
- install -m 644 ${WORKDIR}/lxdm.conf ${D}${localstatedir}/lib/lxdm
+ install -m 644 ${UNPACKDIR}/lxdm.conf ${D}${localstatedir}/lib/lxdm
if ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'true', 'false', d)}; then
# ArchLinux version of pam config has the following advantages:
# * simple setup of passwordless login
# * in XFCE powerdown/restart enabled in logoff dialog
- install -m 644 ${WORKDIR}/${@bb.utils.contains("DISTRO_TYPE", "debug", "lxdm-pam-debug", "lxdm-pam",d)} ${D}${sysconfdir}/pam.d/lxdm
+ install -m 644 ${UNPACKDIR}/${@bb.utils.contains("DISTRO_TYPE", "debug", "lxdm-pam-debug", "lxdm-pam",d)} ${D}${sysconfdir}/pam.d/lxdm
fi
}
# make installed languages choosable
-pkg_postinst_${PN} () {
+pkg_postinst:${PN} () {
langs=""
for lang in `find $D${libdir}/locale -maxdepth 1 | grep _ | sort`; do
lang=`basename $lang`
@@ -73,9 +84,9 @@ done
sed -i "s:last_langs=.*$:last_langs=$langs:g" $D${localstatedir}/lib/lxdm/lxdm.conf
}
-RDEPENDS_${PN} = "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam-plugin-loginuid', '', d)} setxkbmap bash librsvg-gtk"
+RDEPENDS:${PN} = "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam-plugin-loginuid', '', d)} setxkbmap bash librsvg-gtk"
-RPROVIDES_${PN} += "${PN}-systemd"
-RREPLACES_${PN} += "${PN}-systemd"
-RCONFLICTS_${PN} += "${PN}-systemd"
-SYSTEMD_SERVICE_${PN} = "lxdm.service"
+RPROVIDES:${PN} += "${PN}-systemd"
+RREPLACES:${PN} += "${PN}-systemd"
+RCONFLICTS:${PN} += "${PN}-systemd"
+SYSTEMD_SERVICE:${PN} = "lxdm.service"
diff --git a/meta-oe/recipes-graphics/neatvnc/neatvnc_0.8.1.bb b/meta-oe/recipes-graphics/neatvnc/neatvnc_0.8.1.bb
new file mode 100644
index 0000000000..9065050c62
--- /dev/null
+++ b/meta-oe/recipes-graphics/neatvnc/neatvnc_0.8.1.bb
@@ -0,0 +1,38 @@
+SUMMARY = "A liberally licensed VNC server library"
+DESCRIPTION = "This is a liberally licensed VNC server library that's intended to be fast and neat."
+HOMEPAGE = "https://github.com/any1/neatvnc"
+LICENSE = "ISC"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94fc374e7174f41e3afe0f027ee59ff7"
+
+SRC_URI = "git://github.com/any1/neatvnc;branch=v0.8;protocol=https"
+
+SRCREV = "07081567ab21a2b099ceb41ae8cab872a31cbb9a"
+
+S = "${WORKDIR}/git"
+
+DEPENDS = "libdrm pixman aml zlib"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[tls] = "-Dtls=enabled,-Dtls=disabled,gnutls"
+PACKAGECONFIG[jpeg] = "-Djpeg=enabled,-Djpeg=disabled,libjpeg-turbo"
+PACKAGECONFIG[examples] = "-Dexamples=true,-Dexamples=false,libpng"
+PACKAGECONFIG[benchmarks] = "-Dbenchmarks=true,-Dbenchmarks=false,libpng"
+
+PACKAGE_BEFORE_PN += "${PN}-examples"
+ALLOW_EMPTY:${PN}-examples = "1"
+FILES:${PN}-examples = "${bindir}"
+
+NEATVNC_EXAMPLES = "draw png-server"
+
+inherit meson pkgconfig
+
+do_install:append () {
+ if ${@bb.utils.contains('PACKAGECONFIG', 'examples', 'true', 'false', d)}; then
+ install -d ${D}${bindir}
+ for bin in ${NEATVNC_EXAMPLES}; do
+ install -m 0755 ${B}/examples/$bin ${D}${bindir}
+ done
+ fi
+}
+
+BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-graphics/numlockx/numlockx_1.2.bb b/meta-oe/recipes-graphics/numlockx/numlockx_1.2.bb
index 08d7f5b52a..0d53c78f3e 100644
--- a/meta-oe/recipes-graphics/numlockx/numlockx_1.2.bb
+++ b/meta-oe/recipes-graphics/numlockx/numlockx_1.2.bb
@@ -1,7 +1,7 @@
SUMMARY = "Enable NumLock in X11 sessions"
HOMEPAGE = "http://home.kde.org/~seli/numlockx/"
SECTION = "x11/apps"
-LICENSE = "MIT-X"
+LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=dcb1cc75e21540a4a66b54e38d95b047"
DEPENDS = "virtual/libx11 libxtst"
@@ -10,14 +10,14 @@ SRC_URI = "http://pkgs.fedoraproject.org/repo/pkgs/numlockx/numlockx-${PV}.tar.g
SRC_URI[md5sum] = "be9109370447eae23f6f3f8527bb1a67"
SRC_URI[sha256sum] = "e468eb9121c94c9089dc6a287eeb347e900ce04a14be37da29d7696cbce772e4"
-inherit autotools distro_features_check
+inherit autotools features_check
# depends on virtual/libx11
REQUIRED_DISTRO_FEATURES = "x11"
EXTRA_OECONF = "--x-includes=${STAGING_INCDIR} \
--x-libraries=${STAGING_LIBDIR}"
-do_configure_prepend() {
+do_configure:prepend() {
# remove this from acinclude.m4 or build fails
sed -i '/_AC_PATH_X_XMKMF/d' ${S}/acinclude.m4
}
diff --git a/meta-oe/recipes-graphics/nyancat/nyancat_1.5.2.bb b/meta-oe/recipes-graphics/nyancat/nyancat_1.5.2.bb
new file mode 100644
index 0000000000..a44e79362d
--- /dev/null
+++ b/meta-oe/recipes-graphics/nyancat/nyancat_1.5.2.bb
@@ -0,0 +1,17 @@
+SUMMARY = "Render a loop of the Nyan Cat / Poptart Cat animation"
+HOMEPAGE = "https://nyancat.dakko.us/"
+SECTION = "graphics"
+
+LICENSE = "NCSA"
+LIC_FILES_CHKSUM = "file://src/nyancat.c;beginline=27;endline=49;md5=285f7ac87da4a631f348800687d845bd"
+
+S = "${WORKDIR}/git"
+
+SRCREV = "5ffb6c5c03d0e9156db8f360599d4f0449bb16b9"
+SRC_URI = " \
+ git://github.com/klange/nyancat;protocol=https;branch=master \
+"
+
+do_install:append() {
+ install -Dm 0755 ${S}/src/${BPN} ${D}${bindir}/${BPN}
+}
diff --git a/meta-oe/recipes-graphics/openbox/files/0001-Fix-function-protype-visibility.patch b/meta-oe/recipes-graphics/openbox/files/0001-Fix-function-protype-visibility.patch
new file mode 100644
index 0000000000..344c5d149b
--- /dev/null
+++ b/meta-oe/recipes-graphics/openbox/files/0001-Fix-function-protype-visibility.patch
@@ -0,0 +1,94 @@
+From 941d5ff3426e68cb9bcb4ae86066124cb2535b69 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 2 Sep 2022 12:32:20 -0700
+Subject: [PATCH] Fix function protype visibility
+
+Include ctye.h for toupper
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/appearance.c | 1 +
+ src/desktops.c | 2 +-
+ src/desktops.h | 2 +-
+ src/main.c | 1 +
+ src/moveresize.c | 2 +-
+ src/moveresize.h | 2 +-
+ 6 files changed, 6 insertions(+), 4 deletions(-)
+
+diff --git a/src/appearance.c b/src/appearance.c
+index 4fb3f0c..ee55661 100644
+--- a/src/appearance.c
++++ b/src/appearance.c
+@@ -20,6 +20,7 @@
+ #include "main.h"
+ #include "tree.h"
+ #include "preview_update.h"
++#include <ctype.h> /* for toupper */
+
+ static gboolean mapping = FALSE;
+
+diff --git a/src/desktops.c b/src/desktops.c
+index 8297f00..27ca514 100644
+--- a/src/desktops.c
++++ b/src/desktops.c
+@@ -38,7 +38,7 @@ static void on_desktop_names_cell_edited(GtkCellRendererText *cell,
+ gpointer data);
+ static void enable_stuff();
+
+-void desktops_setup_tab()
++void desktops_setup_tab(void)
+ {
+ GtkWidget *w;
+ GtkCellRenderer *render;
+diff --git a/src/desktops.h b/src/desktops.h
+index 1ba3e36..446bfbb 100644
+--- a/src/desktops.h
++++ b/src/desktops.h
+@@ -24,5 +24,5 @@
+
+ void desktops_setup_num(GtkWidget *w);
+ void desktops_setup_names(GtkWidget *w);
+-
++void desktops_setup_tab(void);
+ #endif
+diff --git a/src/main.c b/src/main.c
+index d7e3446..0176035 100644
+--- a/src/main.c
++++ b/src/main.c
+@@ -28,6 +28,7 @@
+ #include "dock.h"
+ #include "preview_update.h"
+ #include "gettext.h"
++#include "moveresize.h"
+
+ #include <gdk/gdkx.h>
+ #define SN_API_NOT_YET_FROZEN
+diff --git a/src/moveresize.c b/src/moveresize.c
+index c6fb3dd..bb52729 100644
+--- a/src/moveresize.c
++++ b/src/moveresize.c
+@@ -37,7 +37,7 @@ static gboolean mapping = FALSE;
+ static void enable_stuff();
+ static void write_fixed_position(const gchar *coord);
+
+-void moveresize_setup_tab()
++void moveresize_setup_tab(void)
+ {
+ GtkWidget *w, *w1, *w2, *w3;
+ GtkSizeGroup *group;
+diff --git a/src/moveresize.h b/src/moveresize.h
+index 82ecc96..8faf526 100644
+--- a/src/moveresize.h
++++ b/src/moveresize.h
+@@ -20,6 +20,6 @@
+ #ifndef obconf__moveresize_h
+ #define obconf__moveresize_h
+
+-void moveresize_setup_tab();
++void moveresize_setup_tab(void);
+
+ #endif
+--
+2.37.3
+
diff --git a/meta-oe/recipes-graphics/openbox/files/0001-Fix-list-traversal-issue-in-client_calc_layer.patch b/meta-oe/recipes-graphics/openbox/files/0001-Fix-list-traversal-issue-in-client_calc_layer.patch
new file mode 100644
index 0000000000..8bc2b80f68
--- /dev/null
+++ b/meta-oe/recipes-graphics/openbox/files/0001-Fix-list-traversal-issue-in-client_calc_layer.patch
@@ -0,0 +1,56 @@
+From d41128e5a1002af41c976c8860f8299cfcd3cd72 Mon Sep 17 00:00:00 2001
+From: pldubouilh <pldubouilh@gmail.com>
+Date: Fri, 17 Mar 2023 18:23:47 +0100
+Subject: [PATCH] Fix list traversal issue in client_calc_layer
+
+The calls to client_calc_layer_internal can modify stacking_list, which
+can cause us to follow dangling ->next pointers (either by the pointer
+itself already being freed, or it pointing to a freed area). Avoid this
+by copying the list first, the goal is to visit every client in the list
+once so this should be fine.
+
+Upstream-Status: Backport [http://git.openbox.org/?p=mikachu/openbox.git;a=commit;h=d41128e5a1002af41c976c8860f8299cfcd3cd72]
+Signed-off-by: Alexandre Videgrain <alexandre.videgrain@smile.fr>
+---
+ openbox/client.c | 9 +++++++--
+ 1 file changed, 7 insertions(+), 2 deletions(-)
+
+diff --git a/openbox/client.c b/openbox/client.c
+index 7168b240..b8264587 100644
+--- a/openbox/client.c
++++ b/openbox/client.c
+@@ -2742,9 +2742,12 @@ static void client_calc_layer_internal(ObClient *self)
+ void client_calc_layer(ObClient *self)
+ {
+ GList *it;
++ /* the client_calc_layer_internal calls below modify stacking_list,
++ so we have to make a copy to iterate over */
++ GList *list = g_list_copy(stacking_list);
+
+ /* skip over stuff above fullscreen layer */
+- for (it = stacking_list; it; it = g_list_next(it))
++ for (it = list; it; it = g_list_next(it))
+ if (window_layer(it->data) <= OB_STACKING_LAYER_FULLSCREEN) break;
+
+ /* find the windows in the fullscreen layer, and mark them not-visited */
+@@ -2757,7 +2760,7 @@ void client_calc_layer(ObClient *self)
+ client_calc_layer_internal(self);
+
+ /* skip over stuff above fullscreen layer */
+- for (it = stacking_list; it; it = g_list_next(it))
++ for (it = list; it; it = g_list_next(it))
+ if (window_layer(it->data) <= OB_STACKING_LAYER_FULLSCREEN) break;
+
+ /* now recalc any windows in the fullscreen layer which have not
+@@ -2768,6 +2771,8 @@ void client_calc_layer(ObClient *self)
+ !WINDOW_AS_CLIENT(it->data)->visited)
+ client_calc_layer_internal(it->data);
+ }
++
++ g_list_free(it);
+ }
+
+ gboolean client_should_show(ObClient *self)
+--
+2.34.1
+
diff --git a/meta-oe/recipes-graphics/openbox/files/0001-openbox-xdg-autostart-convert-to-python3.patch b/meta-oe/recipes-graphics/openbox/files/0001-openbox-xdg-autostart-convert-to-python3.patch
new file mode 100644
index 0000000000..5ebeb01692
--- /dev/null
+++ b/meta-oe/recipes-graphics/openbox/files/0001-openbox-xdg-autostart-convert-to-python3.patch
@@ -0,0 +1,138 @@
+From b7de9cff2a9578dd92d191241c28437cd6bbb595 Mon Sep 17 00:00:00 2001
+From: Max Krummenacher <max.krummenacher@toradex.com>
+Date: Sun, 2 Feb 2020 14:39:21 +0000
+Subject: [PATCH] openbox-xdg-autostart: convert to python3
+
+Upstream-Status: Pending
+
+Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
+---
+ data/autostart/openbox-xdg-autostart | 72 ++++++++++++++--------------
+ 1 file changed, 36 insertions(+), 36 deletions(-)
+
+diff --git a/data/autostart/openbox-xdg-autostart b/data/autostart/openbox-xdg-autostart
+index 04a17a1..52d763f 100755
+--- a/data/autostart/openbox-xdg-autostart
++++ b/data/autostart/openbox-xdg-autostart
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python3
+
+ # openbox-xdg-autostart runs things based on the XDG autostart specification
+ # Copyright (C) 2008 Dana Jansens
+@@ -28,9 +28,9 @@ try:
+ from xdg.DesktopEntry import DesktopEntry
+ from xdg.Exceptions import ParsingError
+ except ImportError:
+- print
+- print >>sys.stderr, "ERROR:", ME, "requires PyXDG to be installed"
+- print
++ print()
++ print("ERROR:", ME, "requires PyXDG to be installed", file=sys.stderr)
++ print()
+ sys.exit(1)
+
+ def main(argv=sys.argv):
+@@ -51,7 +51,7 @@ def main(argv=sys.argv):
+ try:
+ autofile = AutostartFile(path)
+ except ParsingError:
+- print "Invalid .desktop file: " + path
++ print("Invalid .desktop file: " + path)
+ else:
+ if not autofile in files:
+ files.append(autofile)
+@@ -99,9 +99,9 @@ class AutostartFile:
+
+ def _alert(self, str, info=False):
+ if info:
+- print "\t ", str
++ print("\t ", str)
+ else:
+- print "\t*", str
++ print("\t*", str)
+
+ def _showInEnvironment(self, envs, verbose=False):
+ default = not self.de.getOnlyShowIn()
+@@ -146,14 +146,14 @@ class AutostartFile:
+
+ def display(self, envs):
+ if self._shouldRun(envs):
+- print "[*] " + self.de.getName()
++ print("[*] " + self.de.getName())
+ else:
+- print "[ ] " + self.de.getName()
++ print("[ ] " + self.de.getName())
+ self._alert("File: " + self.path, info=True)
+ if self.de.getExec():
+ self._alert("Executes: " + self.de.getExec(), info=True)
+ self._shouldRun(envs, True)
+- print
++ print()
+
+ def run(self, envs):
+ here = os.getcwd()
+@@ -165,34 +165,34 @@ class AutostartFile:
+ os.chdir(here)
+
+ def show_help():
+- print "Usage:", ME, "[OPTION]... [ENVIRONMENT]..."
+- print
+- print "This tool will run xdg autostart .desktop files"
+- print
+- print "OPTIONS"
+- print " --list Show a list of the files which would be run"
+- print " Files which would be run are marked with an asterix"
+- print " symbol [*]. For files which would not be run,"
+- print " information is given for why they are excluded"
+- print " --help Show this help and exit"
+- print " --version Show version and copyright information"
+- print
+- print "ENVIRONMENT specifies a list of environments for which to run autostart"
+- print "applications. If none are specified, only applications which do not "
+- print "limit themselves to certain environments will be run."
+- print
+- print "ENVIRONMENT can be one or more of:"
+- print " GNOME Gnome Desktop"
+- print " KDE KDE Desktop"
+- print " ROX ROX Desktop"
+- print " XFCE XFCE Desktop"
+- print " Old Legacy systems"
+- print
++ print("Usage:", ME, "[OPTION]... [ENVIRONMENT]...")
++ print()
++ print("This tool will run xdg autostart .desktop files")
++ print()
++ print("OPTIONS")
++ print(" --list Show a list of the files which would be run")
++ print(" Files which would be run are marked with an asterix")
++ print(" symbol [*]. For files which would not be run,")
++ print(" information is given for why they are excluded")
++ print(" --help Show this help and exit")
++ print(" --version Show version and copyright information")
++ print()
++ print("ENVIRONMENT specifies a list of environments for which to run autostart")
++ print("applications. If none are specified, only applications which do not ")
++ print("limit themselves to certain environments will be run.")
++ print()
++ print("ENVIRONMENT can be one or more of:")
++ print(" GNOME Gnome Desktop")
++ print(" KDE KDE Desktop")
++ print(" ROX ROX Desktop")
++ print(" XFCE XFCE Desktop")
++ print(" Old Legacy systems")
++ print()
+
+ def show_version():
+- print ME, VERSION
+- print "Copyright (c) 2008 Dana Jansens"
+- print
++ print(ME, VERSION)
++ print("Copyright (c) 2008 Dana Jansens")
++ print()
+
+ if __name__ == "__main__":
+ sys.exit(main())
+--
+2.20.1
+
diff --git a/meta-oe/recipes-graphics/openbox/obconf_git.bb b/meta-oe/recipes-graphics/openbox/obconf_git.bb
new file mode 100644
index 0000000000..1210af70ea
--- /dev/null
+++ b/meta-oe/recipes-graphics/openbox/obconf_git.bb
@@ -0,0 +1,33 @@
+SUMMARY = "Openbox configuration tool"
+HOMEPAGE = "http://openbox.org/wiki/ObConf:About"
+SECTION = "x11/wm"
+LICENSE = "GPL-2.0-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
+DEPENDS = " \
+ openbox \
+ startup-notification \
+ gtk+3 \
+"
+PV = "2.0.4+git"
+
+SRCREV = "63ec47c5e295ad4f09d1df6d92afb7e10c3fec39"
+SRC_URI = " \
+ git://git.openbox.org/dana/obconf;branch=master \
+ file://0001-Fix-function-protype-visibility.patch \
+"
+
+S = "${WORKDIR}/git"
+
+inherit autotools gettext pkgconfig mime mime-xdg features_check
+# depends on openbox, which is X11-only
+REQUIRED_DISTRO_FEATURES = "x11"
+
+EXTRA_AUTORECONF = ""
+
+FILES:${PN} += "\
+ ${datadir}/mime \
+"
+
+do_install:append () {
+ rm -rf ${D}${datadir}/mimelnk
+}
diff --git a/meta-oe/recipes-graphics/openbox/openbox_3.6.1.bb b/meta-oe/recipes-graphics/openbox/openbox_3.6.1.bb
index f4d21b8f9f..50231602dc 100644
--- a/meta-oe/recipes-graphics/openbox/openbox_3.6.1.bb
+++ b/meta-oe/recipes-graphics/openbox/openbox_3.6.1.bb
@@ -1,22 +1,27 @@
SUMMARY = "openbox Window Manager"
SECTION = "x11/wm"
-DEPENDS = "glib-2.0 pango libxml2 virtual/libx11 libcroco librsvg gdk-pixbuf"
-LICENSE = "GPLv2+"
+DEPENDS = "glib-2.0 pango libxml2 virtual/libx11 librsvg gdk-pixbuf"
+LICENSE = "GPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
SRC_URI = " \
http://icculus.org/openbox/releases/openbox-${PV}.tar.gz \
file://0001-Makefile.am-avoid-race-when-creating-autostart-direc.patch \
+ file://0001-openbox-xdg-autostart-convert-to-python3.patch \
+ file://0001-Fix-list-traversal-issue-in-client_calc_layer.patch \
"
SRC_URI[md5sum] = "b72794996c6a3ad94634727b95f9d204"
SRC_URI[sha256sum] = "8b4ac0760018c77c0044fab06a4f0c510ba87eae934d9983b10878483bde7ef7"
-inherit autotools gettext update-alternatives pkgconfig distro_features_check
+UPSTREAM_CHECK_URI = "https://github.com/Mikachu/openbox/tags"
+UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)"
+
+inherit autotools gettext update-alternatives pkgconfig features_check
# depends on virtual/libx11
REQUIRED_DISTRO_FEATURES = "x11"
-ALTERNATIVE_${PN}-core = "x-window-manager x-session-manager"
+ALTERNATIVE:${PN}-core = "x-window-manager x-session-manager"
ALTERNATIVE_TARGET[x-window-manager] = "${bindir}/openbox"
ALTERNATIVE_PRIORITY[x-window-manager] = "10"
ALTERNATIVE_TARGET[x-session-manager] = "${bindir}/openbox-session"
@@ -33,25 +38,25 @@ PACKAGES =+ "${PN}-core ${PN}-lxde ${PN}-gnome ${PN}-config"
PACKAGES_DYNAMIC += "^${PN}-theme-.*"
-python populate_packages_prepend() {
+python populate_packages:prepend() {
theme_dir = d.expand('${datadir}/themes/')
theme_name = d.expand('${PN}-theme-%s')
do_split_packages(d, theme_dir, '(.*)', theme_name, '${PN} theme for %s', extra_depends='', allow_dirs=True)
}
-FILES_${PN}-core = "${bindir}/openbox ${bindir}/openbox-session ${libdir}/*${SOLIBS}"
+FILES:${PN}-core = "${bindir}/openbox ${bindir}/openbox-session ${libdir}/*${SOLIBS}"
-FILES_${PN}-lxde += "${datadir}/lxde/ \
+FILES:${PN}-lxde += "${datadir}/lxde/ \
${datadir}/lxpanel \
${datadir}/xsessions \
${datadir}/icons"
-FILES_${PN}-gnome += " \
+FILES:${PN}-gnome += " \
${bindir}/openbox-gnome-session \
${datadir}/gnome \
${datadir}/gnome-session \
"
-FILES_${PN}-config += "${sysconfdir}"
+FILES:${PN}-config += "${sysconfdir}"
-RDEPENDS_${PN} += "${PN}-core ${PN}-config ${PN}-theme-clearlooks python pyxdg"
+RDEPENDS:${PN} += "${PN}-core ${PN}-config ${PN}-theme-clearlooks python3 python3-shell pyxdg"
diff --git a/meta-oe/recipes-graphics/openjpeg/openjpeg/0002-Do-not-ask-cmake-to-export-binaries-they-don-t-make-.patch b/meta-oe/recipes-graphics/openjpeg/openjpeg/0001-Do-not-ask-cmake-to-export-binaries-they-don-t-make-.patch
index 0ba13cf88f..2e25ecc7ef 100644
--- a/meta-oe/recipes-graphics/openjpeg/openjpeg/0002-Do-not-ask-cmake-to-export-binaries-they-don-t-make-.patch
+++ b/meta-oe/recipes-graphics/openjpeg/openjpeg/0001-Do-not-ask-cmake-to-export-binaries-they-don-t-make-.patch
@@ -1,4 +1,4 @@
-From 4681de07e21f17aa28710d3a51fabe7da60463f9 Mon Sep 17 00:00:00 2001
+From 805ce4d40c5aaae12aa73452ff07babe8eb43a62 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
Date: Fri, 28 Sep 2018 00:38:50 +0200
Subject: [PATCH] Do not ask cmake to export binaries - they don't make it
@@ -15,17 +15,17 @@ Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
1 file changed, 1 deletion(-)
diff --git a/src/bin/jp2/CMakeLists.txt b/src/bin/jp2/CMakeLists.txt
-index 4324c36d..2c11fe02 100644
+index 26156bcb..9eff04aa 100644
--- a/src/bin/jp2/CMakeLists.txt
+++ b/src/bin/jp2/CMakeLists.txt
-@@ -66,7 +66,6 @@ foreach(exe opj_decompress opj_compress opj_dump)
+@@ -64,7 +64,6 @@ foreach(exe opj_decompress opj_compress opj_dump)
endif()
# Install exe
install(TARGETS ${exe}
- EXPORT OpenJPEGTargets
- DESTINATION ${OPENJPEG_INSTALL_BIN_DIR} COMPONENT Applications
+ DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT Applications
)
if(OPJ_USE_DSYMUTIL)
--
-2.14.4
+2.25.1
diff --git a/meta-oe/recipes-graphics/openjpeg/openjpeg/0001-Ensure-cmake-files-are-installed-at-common-location.patch b/meta-oe/recipes-graphics/openjpeg/openjpeg/0001-Ensure-cmake-files-are-installed-at-common-location.patch
deleted file mode 100644
index 5c5fe64f2d..0000000000
--- a/meta-oe/recipes-graphics/openjpeg/openjpeg/0001-Ensure-cmake-files-are-installed-at-common-location.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From fe491c0919f5adc8d626cb98c5ec19d0b99dfe20 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
-Date: Thu, 27 Sep 2018 23:45:04 +0200
-Subject: [PATCH] Ensure cmake files are installed at common location
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-* Otherwise recent poppler is not able to find them
-* Include path needs adjustment with this change
-
-Upstream-Status: Inappropriate [Configuration]
-
-Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
----
- CMakeLists.txt | 2 +-
- cmake/OpenJPEGConfig.cmake.in | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index ff70a06f..23d2fac4 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -150,7 +150,7 @@ if(NOT OPENJPEG_INSTALL_PACKAGE_DIR)
- # We could install *.cmake files in share/ however those files contains
- # hardcoded path to libraries on a multi-arch system (fedora/debian) those
- # path will be different (lib/i386-linux-gnu vs lib/x86_64-linux-gnu)
-- set(OPENJPEG_INSTALL_PACKAGE_DIR "${OPENJPEG_INSTALL_LIB_DIR}/${OPENJPEG_INSTALL_SUBDIR}")
-+ set(OPENJPEG_INSTALL_PACKAGE_DIR "${OPENJPEG_INSTALL_LIB_DIR}/cmake/${OPENJPEG_INSTALL_SUBDIR}")
- endif()
-
- if (APPLE)
-diff --git a/cmake/OpenJPEGConfig.cmake.in b/cmake/OpenJPEGConfig.cmake.in
-index b20294ca..6a2f4baf 100644
---- a/cmake/OpenJPEGConfig.cmake.in
-+++ b/cmake/OpenJPEGConfig.cmake.in
-@@ -26,7 +26,7 @@ get_filename_component(SELF_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
- if(EXISTS ${SELF_DIR}/OpenJPEGTargets.cmake)
- # This is an install tree
- include(${SELF_DIR}/OpenJPEGTargets.cmake)
-- get_filename_component(OPENJPEG_INCLUDE_ROOT "${SELF_DIR}/../../@OPENJPEG_INSTALL_INCLUDE_DIR@" ABSOLUTE)
-+ get_filename_component(OPENJPEG_INCLUDE_ROOT "${SELF_DIR}/../../../@OPENJPEG_INSTALL_INCLUDE_DIR@" ABSOLUTE)
- set(OPENJPEG_INCLUDE_DIRS ${OPENJPEG_INCLUDE_ROOT})
-
- else()
---
-2.14.4
-
diff --git a/meta-oe/recipes-graphics/openjpeg/openjpeg_2.3.0.bb b/meta-oe/recipes-graphics/openjpeg/openjpeg_2.3.0.bb
deleted file mode 100644
index c50d55e4b0..0000000000
--- a/meta-oe/recipes-graphics/openjpeg/openjpeg_2.3.0.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-DESCRIPTION = "OpenJPEG library is an open-source JPEG 2000 codec"
-HOMEPAGE = "http://www.openjpeg.org"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=c648878b4840d7babaade1303e7f108c"
-
-DEPENDS = "libpng tiff lcms zlib"
-
-SRC_URI = " \
- git://github.com/uclouvain/openjpeg.git \
- file://0001-Ensure-cmake-files-are-installed-at-common-location.patch \
- file://0002-Do-not-ask-cmake-to-export-binaries-they-don-t-make-.patch \
-"
-SRCREV = "081de4b15f54cb4482035b7bf5e3fb443e4bc84b"
-S = "${WORKDIR}/git"
-
-inherit cmake
diff --git a/meta-oe/recipes-graphics/openjpeg/openjpeg_2.5.2.bb b/meta-oe/recipes-graphics/openjpeg/openjpeg_2.5.2.bb
new file mode 100644
index 0000000000..45f1b5ef42
--- /dev/null
+++ b/meta-oe/recipes-graphics/openjpeg/openjpeg_2.5.2.bb
@@ -0,0 +1,21 @@
+DESCRIPTION = "OpenJPEG library is an open-source JPEG 2000 codec"
+HOMEPAGE = "http://www.openjpeg.org"
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=c648878b4840d7babaade1303e7f108c"
+
+DEPENDS = "libpng tiff lcms zlib"
+
+SRC_URI = "git://github.com/uclouvain/openjpeg.git;branch=master;protocol=https \
+ file://0001-Do-not-ask-cmake-to-export-binaries-they-don-t-make-.patch \
+ "
+SRCREV = "39e8c50a2f9bdcf36810ee3d41bcbf1cc78968ae"
+S = "${WORKDIR}/git"
+
+inherit cmake
+
+# for multilib
+EXTRA_OECMAKE += "-DOPENJPEG_INSTALL_LIB_DIR=${@d.getVar('baselib').replace('/', '')}"
+
+FILES:${PN} += "${libdir}/openjpeg*"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-graphics/packagegroups/packagegroup-fonts-truetype.bb b/meta-oe/recipes-graphics/packagegroups/packagegroup-fonts-truetype.bb
index 3069d2dedd..1cc2cdf76b 100644
--- a/meta-oe/recipes-graphics/packagegroups/packagegroup-fonts-truetype.bb
+++ b/meta-oe/recipes-graphics/packagegroups/packagegroup-fonts-truetype.bb
@@ -3,7 +3,6 @@ SECTION = "fonts"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
PV = "1.0"
-PR = "r2"
inherit packagegroup
@@ -13,13 +12,13 @@ PACKAGES += "\
${PN}-japanese \
"
-RRECOMMENDS_${PN} = "\
+RRECOMMENDS:${PN} = "\
${PN}-core \
${PN}-chinese \
${PN}-japanese \
"
-RDEPENDS_${PN}-core = "\
+RDEPENDS:${PN}-core = "\
fontconfig-utils \
\
ttf-dejavu-common \
@@ -28,12 +27,12 @@ RDEPENDS_${PN}-core = "\
"
# ttf-dejavu-serif
-RDEPENDS_${PN}-chinese = "\
+RDEPENDS:${PN}-chinese = "\
${PN}-core \
ttf-arphic-uming \
"
-RDEPENDS_${PN}-japanese = "\
+RDEPENDS:${PN}-japanese = "\
${PN}-core \
ttf-sazanami-gothic \
ttf-sazanami-mincho \
diff --git a/meta-oe/recipes-graphics/pango/pangomm-2.48_2.52.0.bb b/meta-oe/recipes-graphics/pango/pangomm-2.48_2.52.0.bb
new file mode 100644
index 0000000000..3b0fbd3e76
--- /dev/null
+++ b/meta-oe/recipes-graphics/pango/pangomm-2.48_2.52.0.bb
@@ -0,0 +1,19 @@
+SUMMARY = "C++ bindings for the pango library"
+SECTION = "libs"
+LICENSE = "LGPL-2.1-only & GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d8045f3b8f929c1cb29a1e3fd737b499 \
+ file://COPYING.tools;md5=751419260aa954499f7abaabaa882bbe"
+
+DEPENDS = "mm-common cairomm-1.16 glibmm-2.68 pango"
+
+GNOMEBN = "pangomm"
+inherit gnomebase features_check
+
+SRC_URI[archive.sha256sum] = "34a134126a6484ff12f774358c36ecc44d0e9df094e1b83796d9774bb7d24947"
+REQUIRED_DISTRO_FEATURES = "x11"
+
+S = "${WORKDIR}/${GNOMEBN}-${PV}"
+
+FILES:${PN} = "${libdir}/lib*.so.*"
+FILES:${PN}-dev += "${libdir}/*/include/ ${libdir}/pangomm-*/"
+
diff --git a/meta-oe/recipes-graphics/pango/pangomm_2.42.0.bb b/meta-oe/recipes-graphics/pango/pangomm_2.42.0.bb
deleted file mode 100644
index 8a85db4754..0000000000
--- a/meta-oe/recipes-graphics/pango/pangomm_2.42.0.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-SUMMARY = "C++ bindings for the pango library"
-SECTION = "libs"
-LICENSE = "LGPLv2.1 & GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d8045f3b8f929c1cb29a1e3fd737b499 \
- file://COPYING.tools;md5=751419260aa954499f7abaabaa882bbe"
-
-DEPENDS = "mm-common cairomm glibmm pango"
-
-SHRT_VER = "${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}"
-
-SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/pangomm/${SHRT_VER}/pangomm-${PV}.tar.xz"
-SRC_URI[md5sum] = "6cffedf2225c4e72645a7d757fb5b832"
-SRC_URI[sha256sum] = "ca6da067ff93a6445780c0b4b226eb84f484ab104b8391fb744a45cbc7edbf56"
-
-inherit distro_features_check autotools pkgconfig
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-EXTRA_OECONF = " --disable-documentation "
-
-FILES_${PN} = "${libdir}/lib*.so.*"
-FILES_${PN}-dev += "${libdir}/*/include/ ${libdir}/pangomm-*/"
-
diff --git a/meta-oe/recipes-graphics/pango/pangomm_2.46.2.bb b/meta-oe/recipes-graphics/pango/pangomm_2.46.2.bb
new file mode 100644
index 0000000000..da822f3243
--- /dev/null
+++ b/meta-oe/recipes-graphics/pango/pangomm_2.46.2.bb
@@ -0,0 +1,18 @@
+SUMMARY = "C++ bindings for the pango library"
+SECTION = "libs"
+LICENSE = "LGPL-2.1-only & GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d8045f3b8f929c1cb29a1e3fd737b499 \
+ file://COPYING.tools;md5=751419260aa954499f7abaabaa882bbe"
+
+DEPENDS = "mm-common cairomm glibmm pango"
+
+
+inherit gnomebase features_check
+
+ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
+
+SRC_URI[archive.sha256sum] = "57442ab4dc043877bfe3839915731ab2d693fc6634a71614422fb530c9eaa6f4"
+
+FILES:${PN} = "${libdir}/lib*.so.*"
+FILES:${PN}-dev += "${libdir}/*/include/ ${libdir}/pangomm-*/"
+
diff --git a/meta-oe/recipes-graphics/parallel-deqp-runner/parallel-deqp-runner/0001-memmove-and-memchr-are-C-APIs-not-C-std-namespace.patch b/meta-oe/recipes-graphics/parallel-deqp-runner/parallel-deqp-runner/0001-memmove-and-memchr-are-C-APIs-not-C-std-namespace.patch
new file mode 100644
index 0000000000..2316c1ffdf
--- /dev/null
+++ b/meta-oe/recipes-graphics/parallel-deqp-runner/parallel-deqp-runner/0001-memmove-and-memchr-are-C-APIs-not-C-std-namespace.patch
@@ -0,0 +1,45 @@
+From 98bef35c010a9c7891634fe9bcc4b560abbcb4e9 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 12 Apr 2022 11:29:50 -0700
+Subject: [PATCH] memmove and memchr are C APIs not C++ std namespace
+
+Fixes build error
+../git/src/deqp-runner.cc: In member function 'Line_reader::read_status Line_reader::read(char**, double)':
+../git/src/deqp-runner.cc:249:10: error: 'memmove' is not a member of 'std'; did you mean 'wmemmove'?
+ 249 | std::memmove(buf_.data(), buf_.data() + skip_sz_, valid_sz_);
+ | ^~~~~~~
+ | wmemmove
+../git/src/deqp-runner.cc:255:35: error: 'memchr' is not a member of 'std'; did you mean 'wmemchr'?
+ 255 | while (!(newline = (char *)std::memchr(buf_.data(), '\n', valid_sz_)) &&
+ | ^~~~~~
+ | wmemchr
+
+Upstream-Status: Submitted [https://gitlab.freedesktop.org/mesa/parallel-deqp-runner/-/merge_requests/17]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/deqp-runner.cc | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/deqp-runner.cc b/src/deqp-runner.cc
+index 1cc8a55..55a15f9 100644
+--- a/src/deqp-runner.cc
++++ b/src/deqp-runner.cc
+@@ -246,13 +246,13 @@ Line_reader::read_status Line_reader::read(char **text, double timeout) {
+
+ if (skip_sz_) {
+ valid_sz_ -= skip_sz_;
+- std::memmove(buf_.data(), buf_.data() + skip_sz_, valid_sz_);
++ memmove(buf_.data(), buf_.data() + skip_sz_, valid_sz_);
+ skip_sz_ = 0;
+ }
+
+ char *newline;
+ bool end = false;
+- while (!(newline = (char *)std::memchr(buf_.data(), '\n', valid_sz_)) &&
++ while (!(newline = (char *)memchr(buf_.data(), '\n', valid_sz_)) &&
+ !end && valid_sz_ + 1 < (int)buf_.size()) {
+ for (;;) {
+ struct pollfd p = {};
+--
+2.35.1
+
diff --git a/meta-oe/recipes-graphics/parallel-deqp-runner/parallel-deqp-runner/0001-meson.build-WORKAROUND-Remove-vulkan-dependency.patch b/meta-oe/recipes-graphics/parallel-deqp-runner/parallel-deqp-runner/0001-meson.build-WORKAROUND-Remove-vulkan-dependency.patch
new file mode 100644
index 0000000000..02ef3cce76
--- /dev/null
+++ b/meta-oe/recipes-graphics/parallel-deqp-runner/parallel-deqp-runner/0001-meson.build-WORKAROUND-Remove-vulkan-dependency.patch
@@ -0,0 +1,44 @@
+From 2b74a5b160c0500291c554ab5c0944f502e72a42 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?An=C3=ADbal=20Lim=C3=B3n?= <anibal.limon@linaro.org>
+Date: Thu, 9 Jul 2020 20:00:53 +0200
+Subject: [PATCH] meson.build: WORKAROUND Remove vulkan dependency
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+We need a patch in the source code to allow enable when DISTRO_FEATURES
+contains vulkan.
+
+Signed-off-by: Aníbal Limón <anibal.limon@linaro.org>
+---
+Upstream-Status: Pending
+
+ meson.build | 6 ------
+ 1 file changed, 6 deletions(-)
+
+diff --git a/meson.build b/meson.build
+index db97c26..4c1b865 100644
+--- a/meson.build
++++ b/meson.build
+@@ -3,21 +3,15 @@ project('parallel-deqp-runner', ['c', 'cpp'],
+ cpp = meson.get_compiler('cpp')
+
+ thread_dep = dependency('threads')
+-vulkan_dep = dependency('vulkan')
+
+ fs_dep = cpp.find_library('stdc++fs', required : false)
+ if not fs_dep.found()
+ fs_dep = cpp.find_library('c++fs')
+ endif
+
+-
+ deqp_runner = executable('deqp-runner',
+ 'src/deqp-runner.cc',
+ dependencies : [thread_dep, fs_dep],
+ install : true)
+
+-executable('hang-detection',
+- 'src/hang_detection.c',
+- dependencies: [vulkan_dep])
+-
+ subdir('test')
diff --git a/meta-oe/recipes-graphics/parallel-deqp-runner/parallel-deqp-runner_git.bb b/meta-oe/recipes-graphics/parallel-deqp-runner/parallel-deqp-runner_git.bb
new file mode 100644
index 0000000000..2ec89bc05b
--- /dev/null
+++ b/meta-oe/recipes-graphics/parallel-deqp-runner/parallel-deqp-runner_git.bb
@@ -0,0 +1,15 @@
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=4f59d6446bf2e004e80df1a0937129fa"
+
+SRC_URI = "git://gitlab.freedesktop.org/mesa/parallel-deqp-runner.git;protocol=https;branch=master \
+ file://0001-meson.build-WORKAROUND-Remove-vulkan-dependency.patch \
+ file://0001-memmove-and-memchr-are-C-APIs-not-C-std-namespace.patch \
+ "
+
+# Modify these as desired
+PV = "2020.06.15+git"
+SRCREV = "e1642fb691d29b1462504b58916f7f514a963e80"
+
+S = "${WORKDIR}/git"
+
+inherit pkgconfig meson
diff --git a/meta-oe/recipes-graphics/qrencode/qrencode_4.1.1.bb b/meta-oe/recipes-graphics/qrencode/qrencode_4.1.1.bb
new file mode 100644
index 0000000000..039816e4a0
--- /dev/null
+++ b/meta-oe/recipes-graphics/qrencode/qrencode_4.1.1.bb
@@ -0,0 +1,19 @@
+SUMMARY = "C library for encoding data in a QR Code symbol"
+HOMEPAGE = "http://fukuchi.org/works/qrencode/"
+SECTION = "libs"
+LICENSE = "LGPL-2.1-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1"
+
+SRCREV = "715e29fd4cd71b6e452ae0f4e36d917b43122ce8"
+SRC_URI = "git://github.com/fukuchi/libqrencode.git;branch=master;protocol=https"
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig
+
+BBCLASSEXTEND = "native"
+
+EXTRA_OECONF += "--without-tests"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[tools] = "--with-tools,--without-tools,libpng"
diff --git a/meta-oe/recipes-graphics/qrencode/qrencode_git.bb b/meta-oe/recipes-graphics/qrencode/qrencode_git.bb
deleted file mode 100644
index f5397750f5..0000000000
--- a/meta-oe/recipes-graphics/qrencode/qrencode_git.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-SUMMARY = "C library for encoding data in a QR Code symbol"
-AUTHOR = "Kentaro Fukuchi"
-HOMEPAGE = "http://fukuchi.org/works/qrencode/"
-SECTION = "libs"
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1"
-PV = "4.0.0+git${SRCPV}"
-
-SRCREV = "07f3c5d4bf9136711422cc7dbf28aff469da220a"
-SRC_URI = "git://github.com/fukuchi/libqrencode.git"
-
-S = "${WORKDIR}/git"
-
-inherit autotools pkgconfig
-
-EXTRA_OECONF += "--without-tools --without-tests"
diff --git a/meta-oe/recipes-graphics/renderdoc/renderdoc/0001-jpeg-compressor-Reorder-stdio.h-include-location.patch b/meta-oe/recipes-graphics/renderdoc/renderdoc/0001-jpeg-compressor-Reorder-stdio.h-include-location.patch
new file mode 100644
index 0000000000..1c714f84dc
--- /dev/null
+++ b/meta-oe/recipes-graphics/renderdoc/renderdoc/0001-jpeg-compressor-Reorder-stdio.h-include-location.patch
@@ -0,0 +1,43 @@
+From 4eb26927eebebfc4df8789ba69f60f3c28b8ba33 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 2 Jul 2024 23:36:23 -0700
+Subject: [PATCH] jpeg-compressor: Reorder stdio.h include location
+
+Current, location ends up with compile errors with clang and glibc 2.40
+fortified headers
+
+| /mnt/b/yoe/master/build/tmp/work/core2-64-yoe-linux/renderdoc/1.33/recipe-sysroot/usr/include/bits/stdio2.h:128:13: error: use of undeclared identifier '__builtin___vfprintf_chk'; did you mean '__builtin___sprintf_chk'?
+| 128 | int __r = __builtin___vfprintf_chk (__stream, __USE_FORTIFY_LEVEL - 1,
+| | ^
+| /mnt/b/yoe/master/build/tmp/work/core2-64-yoe-linux/renderdoc/1.33/recipe-sysroot/usr/include/bits/stdio2.h:128:39: error: cannot initialize a parameter of type 'char *' with an lvalue of type 'FILE *const __restrict' (aka 'jpge::_IO_FILE *const __restrict')
+| 128 | int __r = __builtin___vfprintf_chk (__stream, __USE_FORTIFY_LEVEL - 1,
+| | ^~~~~~~~
+
+This re-ordering ensures that fortified function prototypes are used correctly.
+
+Upstream-Status: Submitted [https://github.com/baldurk/renderdoc/pull/3369]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ renderdoc/3rdparty/jpeg-compressor/jpge.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/renderdoc/3rdparty/jpeg-compressor/jpge.cpp b/renderdoc/3rdparty/jpeg-compressor/jpge.cpp
+index 74d9d1006..d58e41664 100644
+--- a/renderdoc/3rdparty/jpeg-compressor/jpge.cpp
++++ b/renderdoc/3rdparty/jpeg-compressor/jpge.cpp
+@@ -10,6 +10,7 @@
+
+ #include "jpge.h"
+
++#include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
+
+@@ -897,7 +898,6 @@ bool jpeg_encoder::process_scanline(const void* pScanline)
+ }
+
+ // Higher level wrappers/examples (optional).
+-#include <stdio.h>
+
+ class cfile_stream : public output_stream
+ {
diff --git a/meta-oe/recipes-graphics/renderdoc/renderdoc_1.33.bb b/meta-oe/recipes-graphics/renderdoc/renderdoc_1.33.bb
new file mode 100644
index 0000000000..833845b5a3
--- /dev/null
+++ b/meta-oe/recipes-graphics/renderdoc/renderdoc_1.33.bb
@@ -0,0 +1,39 @@
+SUMMARY = "RenderDoc recipe providing renderdoccmd"
+DESCRIPTION = "RenderDoc is a frame-capture based graphics debugger"
+HOMEPAGE = "https://github.com/baldurk/renderdoc"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.md;md5=5536c2b72eeed14bafaf4d2a6c032b87"
+
+SRCREV = "cae289323847ce0a84a0deca4958183567eee17e"
+SRC_URI = " \
+ git://github.com/baldurk/${BPN}.git;protocol=https;branch=v1.x \
+ file://0001-jpeg-compressor-Reorder-stdio.h-include-location.patch \
+"
+S = "${WORKDIR}/git"
+
+DEPENDS += "virtual/libx11 virtual/libgl libxcb xcb-util-keysyms"
+
+RDEPENDS:${PN} = "libxcb xcb-util-keysyms"
+
+inherit cmake pkgconfig python3native features_check
+
+REQUIRED_DISTRO_FEATURES = "x11 opengl"
+
+python __anonymous () {
+ # only works on glibc systems
+ if d.getVar('TCLIBC') != "glibc":
+ raise bb.parse.SkipRecipe("incompatible with %s C library" % d.getVar('TCLIBC'))
+}
+
+COMPATIBLE_HOST = "(x86_64|i.86|arm|aarch64).*-linux"
+
+EXTRA_OECMAKE += "\
+ -DENABLE_QRENDERDOC=OFF \
+ -DENABLE_PYRENDERDOC=OFF \
+ -DENABLE_RENDERDOCCMD=ON \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DHOST_NATIVE_CPP_COMPILER="${BUILD_CXX}" \
+"
+
+FILES:${PN} += "${libdir}"
+FILES:${PN}-dev = "${includedir}"
diff --git a/meta-oe/recipes-graphics/spir/spirv-shader-generator_git.bb b/meta-oe/recipes-graphics/spir/spirv-shader-generator_git.bb
new file mode 100644
index 0000000000..bf3070701f
--- /dev/null
+++ b/meta-oe/recipes-graphics/spir/spirv-shader-generator_git.bb
@@ -0,0 +1,14 @@
+SUMMARY = "SPIRV-Cross is a tool designed for parsing and converting SPIR-V \
+to other shader languages"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+SECTION = "graphics"
+
+S = "${WORKDIR}/git"
+SRCREV = "f09ba2777714871bddb70d049878af34b94fa54d"
+SRC_URI = "git://github.com/KhronosGroup/SPIRV-Cross.git;branch=master;protocol=https"
+inherit cmake pkgconfig
+
+EXTRA_OECMAKE = "-DSPIRV_CROSS_SHARED=ON"
+
+FILES:${PN} += "${datadir}"
diff --git a/meta-oe/recipes-graphics/stalonetray/stalonetray_0.8.3.bb b/meta-oe/recipes-graphics/stalonetray/stalonetray_0.8.3.bb
new file mode 100644
index 0000000000..f2ffee64fe
--- /dev/null
+++ b/meta-oe/recipes-graphics/stalonetray/stalonetray_0.8.3.bb
@@ -0,0 +1,18 @@
+SUMMARY = "Stand-alone system tray"
+DESCRIPTION = "Stalonetray is a stand-alone freedesktop.org and KDE system tray"
+SECTION = "x11/graphics"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
+
+DEPENDS = "virtual/libx11"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.bz2"
+
+SRC_URI[md5sum] = "ae95dbbacc2620e032acea8abab8c9ef"
+SRC_URI[sha256sum] = "36548a588b2d466913423245dda6ffb6313132cd0cec635a117d37b3dab5fd4c"
+
+UPSTREAM_CHECK_REGEX = "files/v(?P<pver>\d+(\.\d+)+)"
+
+inherit autotools features_check
+
+REQUIRED_DISTRO_FEATURES = "x11"
diff --git a/meta-oe/recipes-graphics/suckless/st_0.9.2.bb b/meta-oe/recipes-graphics/suckless/st_0.9.2.bb
new file mode 100644
index 0000000000..22ad0211b6
--- /dev/null
+++ b/meta-oe/recipes-graphics/suckless/st_0.9.2.bb
@@ -0,0 +1,37 @@
+SECTION = "shadow"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=703e9835709f45ee7b81082277f1daec"
+SRC_URI = "http://dl.suckless.org/${BPN}/${BP}.tar.gz"
+
+inherit pkgconfig features_check
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI[sha256sum] = "6b215d4f472b21d6232f30f221117a777e24bcfee68955ddefb7426467f9494b"
+
+DEPENDS += "libx11 libxft fontconfig ncurses-native"
+
+RDEPENDS:${PN} += "libx11-locale"
+
+do_compile() {
+ make INCS='-I. `pkg-config --cflags x11 fontconfig xft`' LIBS='-lm -lutil `pkg-config --libs x11 fontconfig xft`'
+}
+do_install() {
+ make install DESTDIR=${D} PREFIX=/usr TERMINFO=${D}${datadir}/terminfo
+}
+
+FILES:${PN} += " \
+ ${datadir}/terminfo \
+"
+
+inherit update-alternatives
+
+ALTERNATIVE_PRIORITY = "50"
+
+ALTERNATIVE:${PN} = "st st-256color"
+
+ALTERNATIVE_LINK_NAME[st] = "${datadir}/terminfo/s/st"
+
+ALTERNATIVE_LINK_NAME[st-256color] = "${datadir}/terminfo/s/st-256color"
+
+CVE_STATUS[CVE-2017-16224] = "cpe-incorrect: The recipe used in the meta-openembedded is a different st package compared to the one which has the CVE issue."
diff --git a/meta-oe/recipes-graphics/surf/surf/0001-config.mk-Fix-compiler-and-linker.patch b/meta-oe/recipes-graphics/surf/surf/0001-config.mk-Fix-compiler-and-linker.patch
new file mode 100644
index 0000000000..6011f4e3ac
--- /dev/null
+++ b/meta-oe/recipes-graphics/surf/surf/0001-config.mk-Fix-compiler-and-linker.patch
@@ -0,0 +1,30 @@
+From 9de4f5fa81891e14e205fe61e1408f1218369e55 Mon Sep 17 00:00:00 2001
+From: Leon Anavi <leon.anavi@konsulko.com>
+Date: Tue, 18 May 2021 15:03:22 +0000
+Subject: [PATCH] config.mk: Fix compiler and linker
+
+Fix LIBS
+
+Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
+---
+Upstream-Status: Pending
+
+ config.mk | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/config.mk b/config.mk
+index 2eb9fb0..032bf9f 100644
+--- a/config.mk
++++ b/config.mk
+@@ -19,7 +19,7 @@ WEBEXTLIBS = `pkg-config --libs webkit2gtk-4.0 webkit2gtk-web-extension-4.0 gio-
+
+ # includes and libs
+ INCS = $(X11INC) $(GTKINC)
+-LIBS = $(X11LIB) $(GTKLIB) -lgthread-2.0
++LIBS = -lc -lX11 ${GTKLIB} -lgthread-2.0
+
+ # flags
+ CPPFLAGS = -DVERSION=\"$(VERSION)\" -DGCR_API_SUBJECT_TO_CHANGE \
+--
+2.17.1
+
diff --git a/meta-oe/recipes-graphics/surf/surf/0001-config.ml-make-compatible-with-webkitgtk-2.34.0.patch b/meta-oe/recipes-graphics/surf/surf/0001-config.ml-make-compatible-with-webkitgtk-2.34.0.patch
new file mode 100644
index 0000000000..d273d1459f
--- /dev/null
+++ b/meta-oe/recipes-graphics/surf/surf/0001-config.ml-make-compatible-with-webkitgtk-2.34.0.patch
@@ -0,0 +1,42 @@
+From 0cd38e6dbcaff7eef39fd46a60ff8a47e5f488c4 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex@linutronix.de>
+Date: Sun, 3 Oct 2021 23:08:48 +0200
+Subject: [PATCH] config.ml: make compatible with webkitgtk 2.34.0
+
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+---
+Upstream-Status: Pending
+
+ config.mk | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+--- a/config.mk
++++ b/config.mk
+@@ -2,6 +2,7 @@
+ VERSION = 2.1
+
+ # Customize below to fit your system
++PKG_CONFIG ?= pkg-config
+
+ # paths
+ PREFIX = /usr/local
+@@ -9,13 +10,13 @@ MANPREFIX = $(PREFIX)/share/man
+ LIBPREFIX = $(PREFIX)/lib
+ LIBDIR = $(LIBPREFIX)/surf
+
+-X11INC = `pkg-config --cflags x11`
+-X11LIB = `pkg-config --libs x11`
++X11INC = $(shell $(PKG_CONFIG) --cflags x11)
++X11LIB = $(shell $(PKG_CONFIG) --libs x11)
+
+-GTKINC = `pkg-config --cflags gtk+-3.0 gcr-3 webkit2gtk-4.0`
+-GTKLIB = `pkg-config --libs gtk+-3.0 gcr-3 webkit2gtk-4.0`
+-WEBEXTINC = `pkg-config --cflags webkit2gtk-4.0 webkit2gtk-web-extension-4.0 gio-2.0`
+-WEBEXTLIBS = `pkg-config --libs webkit2gtk-4.0 webkit2gtk-web-extension-4.0 gio-2.0`
++GTKINC = $(shell $(PKG_CONFIG) --cflags gtk+-3.0 gcr-3 webkit2gtk-4.1)
++GTKLIB = $(shell $(PKG_CONFIG) --libs gtk+-3.0 gcr-3 webkit2gtk-4.1)
++WEBEXTINC = $(shell $(PKG_CONFIG) --cflags webkit2gtk-4.1 webkit2gtk-web-extension-4.1 gio-2.0)
++WEBEXTLIBS = $(shell $(PKG_CONFIG) --libs webkit2gtk-4.1 webkit2gtk-web-extension-4.1 gio-2.0)
+
+ # includes and libs
+ INCS = $(X11INC) $(GTKINC)
diff --git a/meta-oe/recipes-graphics/surf/surf_2.1.bb b/meta-oe/recipes-graphics/surf/surf_2.1.bb
new file mode 100644
index 0000000000..4d9d4d3dd0
--- /dev/null
+++ b/meta-oe/recipes-graphics/surf/surf_2.1.bb
@@ -0,0 +1,31 @@
+SUMMARY = "Simple web browser"
+DESCRIPTION = "Simple open source web browser based on WebKit2/GTK"
+HOMEPAGE = "https://surf.suckless.org/"
+SECTION = "x11/graphics"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=2a6f86d002ae9ae1eb1ccc466289f146"
+
+DEPENDS = "webkitgtk3 gtk+3 glib-2.0 gcr3"
+
+REQUIRED_DISTRO_FEATURES = "x11 opengl"
+
+SRCREV = "665a709b522a6fa18c671f1fc41297603292d0e8"
+SRC_URI = "git://git.suckless.org/surf;branch=surf-webkit2 \
+ "
+SRC_URI += "${@bb.utils.contains('PACKAGECONFIG', 'soup3', 'file://0001-config.mk-Fix-compiler-and-linker.patch file://0001-config.ml-make-compatible-with-webkitgtk-2.34.0.patch', '', d)}"
+
+S = "${WORKDIR}/git"
+
+inherit pkgconfig features_check
+
+PACKAGECONFIG_SOUP ?= "soup3"
+PACKAGECONFIG ??= "${PACKAGECONFIG_SOUP}"
+
+PACKAGECONFIG[soup2] = ",,,"
+PACKAGECONFIG[soup3] = ",,,"
+
+TARGET_CC_ARCH += "${LDFLAGS}"
+
+do_install () {
+ install -D -m 0755 ${S}/surf ${D}${bindir}/surf
+}
diff --git a/meta-oe/recipes-graphics/terminus-font/terminus-font/use-no-name-option-for-gzip.patch b/meta-oe/recipes-graphics/terminus-font/terminus-font/use-no-name-option-for-gzip.patch
new file mode 100644
index 0000000000..97213c07da
--- /dev/null
+++ b/meta-oe/recipes-graphics/terminus-font/terminus-font/use-no-name-option-for-gzip.patch
@@ -0,0 +1,66 @@
+Build compressed archives with -n
+
+The compressed archives contain a header with the field MTIME
+(Modification Time) which is initialized from the built date.
+As a consequence, two separate builds generate compressed archives
+whose checksum differs. Such behavior prevents reproducible builds.
+
+Adding the -n option to gzip while compressing the archive does
+not save the original time stamp by default hence making
+reproducible build.
+
+Upstream-Status: Inappropriate
+
+Signed-off-by: Jean-Marc BOUCHE <jean-marc.bouche@foss.st.com>
+Index: terminus-font-4.49.1/Makefile
+===================================================================
+--- terminus-font-4.49.1.orig/Makefile
++++ terminus-font-4.49.1/Makefile
+@@ -92,9 +92,9 @@ otbdir = $(prefix)/share/fonts/terminus
+
+ install: $(PSF) $(PCF)
+ mkdir -p $(DESTDIR)$(psfdir)
+- for i in $(PSF) ; do gzip -c $$i > $(DESTDIR)$(psfdir)/$$i.gz ; done
++ for i in $(PSF) ; do gzip -c -n $$i > $(DESTDIR)$(psfdir)/$$i.gz ; done
+ mkdir -p $(DESTDIR)$(x11dir)
+- for i in $(PCF) ; do gzip -c $$i > $(DESTDIR)$(x11dir)/$$i.gz ; done
++ for i in $(PCF) ; do gzip -c -n $$i > $(DESTDIR)$(x11dir)/$$i.gz ; done
+
+ uninstall:
+ for i in $(PSF) ; do rm -f $(DESTDIR)$(psfdir)/$$i.gz ; done
+@@ -193,7 +193,7 @@ psf: $(PSF)
+
+ install-psf: $(PSF)
+ mkdir -p $(DESTDIR)$(psfdir)
+- for i in $(PSF) ; do gzip -c $$i > $(DESTDIR)$(psfdir)/$$i.gz ; done
++ for i in $(PSF) ; do gzip -c -n $$i > $(DESTDIR)$(psfdir)/$$i.gz ; done
+
+ uninstall-psf:
+ for i in $(PSF) ; do rm -f $(DESTDIR)$(psfdir)/$$i.gz ; done
+@@ -202,7 +202,7 @@ psf-vgaw: $(PSF_VGAW)
+
+ install-psf-vgaw: $(PSF_VGAW)
+ mkdir -p $(DESTDIR)$(psfdir)
+- for i in $(PSF_VGAW) ; do gzip -c $$i > $(DESTDIR)$(psfdir)/$$i.gz ; done
++ for i in $(PSF_VGAW) ; do gzip -c -n $$i > $(DESTDIR)$(psfdir)/$$i.gz ; done
+
+ uninstall-psf-vgaw:
+ for i in $(PSF_VGAW) ; do rm -f $(DESTDIR)$(psfdir)/$$i.gz ; done
+@@ -279,7 +279,7 @@ pcf: $(PCF)
+
+ install-pcf: $(PCF)
+ mkdir -p $(DESTDIR)$(x11dir)
+- for i in $(PCF) ; do gzip -c $$i > $(DESTDIR)$(x11dir)/$$i.gz ; done
++ for i in $(PCF) ; do gzip -c -n $$i > $(DESTDIR)$(x11dir)/$$i.gz ; done
+
+ uninstall-pcf:
+ for i in $(PCF) ; do rm -f $(DESTDIR)$(x11dir)/$$i.gz ; done
+@@ -288,7 +288,7 @@ pcf-8bit: $(PCF_8BIT)
+
+ install-pcf-8bit: $(PCF_8BIT)
+ mkdir -p $(DESTDIR)$(x11dir)
+- for i in $(PCF_8BIT) ; do gzip -c $$i > $(DESTDIR)$(x11dir)/$$i.gz ; done
++ for i in $(PCF_8BIT) ; do gzip -c -n $$i > $(DESTDIR)$(x11dir)/$$i.gz ; done
+
+ uninstall-pcf-8bit:
+ for i in $(PCF_8BIT) ; do rm -f $(DESTDIR)$(x11dir)/$$i.gz ; done
diff --git a/meta-oe/recipes-graphics/terminus-font/terminus-font_4.38.bb b/meta-oe/recipes-graphics/terminus-font/terminus-font_4.49.1.bb
index c460fc35c7..1fabe2e29e 100644
--- a/meta-oe/recipes-graphics/terminus-font/terminus-font_4.38.bb
+++ b/meta-oe/recipes-graphics/terminus-font/terminus-font_4.49.1.bb
@@ -2,17 +2,18 @@ SUMMARY = "Terminus fonts packages (console and X11)"
DESCRIPTION = "Terminus Font is a clean, fixed width bitmap font, designed for \
long (8 and more hours per day) work with computers."
HOMEPAGE = "http://terminus-font.sourceforge.net/"
-AUTHOR = "Dimitar Zhekov"
SECTION = "fonts"
LICENSE = "OFL-1.1"
-LIC_FILES_CHKSUM = "file://OFL.TXT;md5=9cadb26f4c5c005618c5ae74f041ec54"
+LIC_FILES_CHKSUM = "file://OFL.TXT;md5=f57e6cca943dbc6ef83dc14f1855bdcc"
DEPENDS = "hostperl-runtime-native gzip-native bdftopcf-native"
-SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz"
-SRC_URI[md5sum] = "a8e792fe6e84c86ed2b6ed3e2a12ba66"
-SRC_URI[sha256sum] = "f6f4876a4dabe6a37c270c20bb9e141e38fb50e0bba200e1b9d0470e5eed97b7"
+SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz \
+ file://use-no-name-option-for-gzip.patch \
+ "
+SRC_URI[md5sum] = "1b6acbd221957e33c8a792ebfaf3a659"
+SRC_URI[sha256sum] = "d961c1b781627bf417f9b340693d64fc219e0113ad3a3af1a3424c7aa373ef79"
inherit allarch fontcache
@@ -32,14 +33,14 @@ do_configure() {
}
do_compile() {
- oe_runmake DESTDIR=${D} psf txt ${@bb.utils.contains('PACKAGECONFIG', 'x11', 'pcf', '', d)}
+ oe_runmake DESTDIR=${D} psf ${@bb.utils.contains('PACKAGECONFIG', 'x11', 'pcf', '', d)}
}
do_install() {
- oe_runmake DESTDIR=${D} install-psf install-acm ${@bb.utils.contains('PACKAGECONFIG', 'x11', 'install-pcf', '', d)}
+ oe_runmake DESTDIR=${D} install-psf ${@bb.utils.contains('PACKAGECONFIG', 'x11', 'install-pcf', '', d)}
}
PACKAGES += "${PN}-consolefonts ${PN}-consoletrans ${PN}-pcf"
-FILES_${PN}-consolefonts = "${datadir}/consolefonts"
-FILES_${PN}-consoletrans = "${datadir}/consoletrans"
-FILES_${PN}-pcf = "${datadir}/fonts/terminus"
+FILES:${PN}-consolefonts = "${datadir}/consolefonts"
+FILES:${PN}-consoletrans = "${datadir}/consoletrans"
+FILES:${PN}-pcf = "${datadir}/fonts/terminus"
diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang_4.1.0.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang_4.1.0.bb
new file mode 100644
index 0000000000..0d45ee765c
--- /dev/null
+++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang_4.1.0.bb
@@ -0,0 +1,26 @@
+SUMMARY = "tesseract-ocr language files"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+SRCREV = "4767ea922bcc460e70b87b1d303ebdfed0897da8"
+SRC_URI = "git://github.com/tesseract-ocr/tessdata.git;branch=main;protocol=https"
+
+S = "${WORKDIR}/git"
+
+inherit allarch
+
+do_install() {
+ install -d ${D}${datadir}/tessdata
+ cp -R --no-dereference --preserve=mode,links -v ${S}/*.traineddata ${D}${datadir}/tessdata
+}
+
+python populate_packages:prepend () {
+ tessdata_dir= d.expand('${datadir}/tessdata')
+ pkgs = do_split_packages(d, tessdata_dir, r'^([a-z_]*)\.*', '${BPN}-%s', 'tesseract-ocr language files for %s', extra_depends='')
+ pn = d.getVar('PN')
+ d.appendVar('RDEPENDS:' + pn, ' '+' '.join(pkgs))
+}
+
+PACKAGES_DYNAMIC += "^${BPN}-.*"
+ALLOW_EMPTY:${PN} = "1"
diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang_git.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang_git.bb
deleted file mode 100644
index ac36a91a35..0000000000
--- a/meta-oe/recipes-graphics/tesseract/tesseract-lang_git.bb
+++ /dev/null
@@ -1,26 +0,0 @@
-SUMMARY = "tesseract-ocr language files"
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://COPYING;md5=9648bd7af63bd3cc4f5ac046d12c49e4"
-
-PV = "3.04.00+git${SRCPV}"
-SRCREV = "3cf1e2df1fe1d1da29295c9ef0983796c7958b7d"
-SRC_URI = "git://github.com/tesseract-ocr/tessdata.git"
-S = "${WORKDIR}/git"
-
-inherit allarch
-
-do_install() {
- install -d ${D}${datadir}/tessdata
- cp -R --no-dereference --preserve=mode,links -v ${S}/*.traineddata ${S}/*.cube.* ${S}/*.tesseract_cube.* ${D}${datadir}/tessdata
-}
-
-python populate_packages_prepend () {
- tessdata_dir= d.expand('${datadir}/tessdata')
- pkgs = do_split_packages(d, tessdata_dir, '^([a-z_]*)\.*', '${BPN}-%s', 'tesseract-ocr language files for %s', extra_depends='')
- pn = d.getVar('PN')
- d.appendVar('RDEPENDS_' + pn, ' '+' '.join(pkgs))
-}
-
-PACKAGES_DYNAMIC += "^${BPN}-.*"
-ALLOW_EMPTY_${PN} = "1"
diff --git a/meta-oe/recipes-graphics/tesseract/tesseract_5.4.1.bb b/meta-oe/recipes-graphics/tesseract/tesseract_5.4.1.bb
new file mode 100644
index 0000000000..1177e34cdf
--- /dev/null
+++ b/meta-oe/recipes-graphics/tesseract/tesseract_5.4.1.bb
@@ -0,0 +1,21 @@
+SUMMARY = "A commercial quality OCR engine "
+HOMEPAGE = "https://github.com/tesseract-ocr/tesseract"
+BUGTRACKER = "https://github.com/tesseract-ocr/tesseract/issues"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+SRCREV = "b5f279ec7582dc57f6464557ed938558791f200d"
+SRC_URI = "git://github.com/${BPN}-ocr/${BPN}.git;branch=main;protocol=https"
+
+S = "${WORKDIR}/git"
+
+DEPENDS = "leptonica"
+
+EXTRA_OECONF += "LIBLEPT_HEADERSDIR=${STAGING_INCDIR}/leptonica"
+
+inherit autotools pkgconfig
+
+FILES:${PN} += "${datadir}/tessdata"
+
+RRECOMMENDS:${PN} += "tesseract-lang-eng"
diff --git a/meta-oe/recipes-graphics/tesseract/tesseract_git.bb b/meta-oe/recipes-graphics/tesseract/tesseract_git.bb
deleted file mode 100644
index 89d09a0f55..0000000000
--- a/meta-oe/recipes-graphics/tesseract/tesseract_git.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-SUMMARY = "A commercial quality OCR engine "
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://COPYING;md5=7ea4f9a43aba9d3c849fe5c203a0ed40"
-
-BRANCH = "3.05"
-PV = "${BRANCH}.01+git${SRCPV}"
-SRCREV = "215866151e774972c9502282111b998d7a053562"
-SRC_URI = "git://github.com/${BPN}-ocr/${BPN}.git;branch=${BRANCH}"
-S = "${WORKDIR}/git"
-
-DEPENDS = "leptonica"
-
-EXTRA_OECONF += "LIBLEPT_HEADERSDIR=${STAGING_INCDIR}/leptonica"
-
-
-inherit autotools pkgconfig
-
-FILES_${PN} += "${datadir}/tessdata"
-
-RRECOMMENDS_${PN} += "tesseract-lang-eng"
diff --git a/meta-oe/recipes-graphics/tigervnc/files/0001-tigervnc-remove-includedir.patch b/meta-oe/recipes-graphics/tigervnc/files/0001-tigervnc-remove-includedir.patch
deleted file mode 100644
index f0056d6561..0000000000
--- a/meta-oe/recipes-graphics/tigervnc/files/0001-tigervnc-remove-includedir.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From 47f175618a0b0817714ea557c9e93f22f327421e Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Tue, 31 Jul 2018 16:39:52 +0800
-Subject: [PATCH 1/4] tigervnc: remove includedir
-
-Upstream-Status: Pending
-
-Signed-off-by: Chong Lu <Chong.Lu@windriver.com>
-
-It fixes host contamination
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- unix/xserver/hw/vnc/Makefile.am | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/unix/xserver/hw/vnc/Makefile.am b/unix/xserver/hw/vnc/Makefile.am
-index 470424b..ee18bf9 100644
---- a/unix/xserver/hw/vnc/Makefile.am
-+++ b/unix/xserver/hw/vnc/Makefile.am
-@@ -23,7 +23,7 @@ libvnccommon_la_SOURCES = $(HDRS) \
-
- libvnccommon_la_CPPFLAGS = -DVENDOR_RELEASE="$(VENDOR_RELEASE)" -I$(TIGERVNC_SRCDIR)/unix/common \
- -DVENDOR_STRING="\"$(VENDOR_STRING)\"" -I$(TIGERVNC_SRCDIR)/common -UHAVE_CONFIG_H \
-- -I$(TIGERVNC_SRCDIR)/unix/vncconfig $(XVNC_CPPFLAGS) ${XSERVERLIBS_CFLAGS} -I$(includedir) \
-+ -I$(TIGERVNC_SRCDIR)/unix/vncconfig $(XVNC_CPPFLAGS) ${XSERVERLIBS_CFLAGS} \
- -I$(top_srcdir)/include
-
- bin_PROGRAMS = Xvnc
-@@ -43,7 +43,7 @@ Xvnc_CPPFLAGS = $(XVNC_CPPFLAGS) -DTIGERVNC -DNO_MODULE_EXTS \
- -UHAVE_CONFIG_H \
- -DXFree86Server -DVENDOR_RELEASE="$(VENDOR_RELEASE)" \
- -DVENDOR_STRING="\"$(VENDOR_STRING)\"" -I$(TIGERVNC_SRCDIR)/common -I$(TIGERVNC_SRCDIR)/unix/common \
-- -I$(top_srcdir)/include ${XSERVERLIBS_CFLAGS} -I$(includedir)
-+ -I$(top_srcdir)/include ${XSERVERLIBS_CFLAGS}
-
- Xvnc_LDADD = $(XVNC_LIBS) libvnccommon.la $(COMMON_LIBS) \
- $(XSERVER_LIBS) $(XSERVER_SYS_LIBS) $(XVNC_SYS_LIBS) -lX11
-@@ -64,7 +64,7 @@ libvnc_la_CPPFLAGS = $(XVNC_CPPFLAGS) -I$(TIGERVNC_SRCDIR)/common -UHAVE_CONFIG_
- -I$(top_srcdir)/hw/xfree86/os-support \
- -I$(top_srcdir)/hw/xfree86/os-support/bus \
- -I$(top_srcdir)/include \
-- ${XSERVERLIBS_CFLAGS} -I$(includedir)
-+ ${XSERVERLIBS_CFLAGS}
-
- libvnc_la_LDFLAGS = -module -avoid-version -Wl,-z,now
-
---
-2.7.4
-
diff --git a/meta-oe/recipes-graphics/tigervnc/files/0002-do-not-build-tests-sub-directory.patch b/meta-oe/recipes-graphics/tigervnc/files/0002-do-not-build-tests-sub-directory.patch
index 4e875ba82b..5a42e67d06 100644
--- a/meta-oe/recipes-graphics/tigervnc/files/0002-do-not-build-tests-sub-directory.patch
+++ b/meta-oe/recipes-graphics/tigervnc/files/0002-do-not-build-tests-sub-directory.patch
@@ -1,29 +1,30 @@
-From c3460d63f0b6cd50b9a64265f420f0439e12a1d5 Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Tue, 25 Apr 2017 01:36:44 -0400
-Subject: [PATCH 2/4] do not build tests sub directory
+From 076d0e12a7be6cd2108e4ca0dcde1cb658918fa5 Mon Sep 17 00:00:00 2001
+From: Chen Qi <Qi.Chen@windriver.com>
+Date: Mon, 19 Apr 2021 23:02:45 -0700
+Subject: [PATCH] do not build tests sub directory
-Upstream-Status: Inappropriate [oe specific]
+Upstream-Status: Inappropriate [OE Specific]
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+Signed-off-by: Hongxu Jia <Hongxu.Jia@windriver.com>
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
---
CMakeLists.txt | 3 ---
1 file changed, 3 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 94ec2ef..fb72a00 100644
+index 7bf99441..bda80598 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
-@@ -300,9 +300,6 @@ if(BUILD_VIEWER)
+@@ -304,9 +304,6 @@ if(BUILD_VIEWER)
add_subdirectory(media)
endif()
-add_subdirectory(tests)
-
-
- include(cmake/BuildPackages.cmake)
+ add_subdirectory(release)
# uninstall
--
-2.7.4
+2.30.2
diff --git a/meta-oe/recipes-graphics/tigervnc/files/0004-tigervnc-add-fPIC-option-to-COMPILE_FLAGS.patch b/meta-oe/recipes-graphics/tigervnc/files/0004-tigervnc-add-fPIC-option-to-COMPILE_FLAGS.patch
index 97b0a388a2..5f14665b8d 100644
--- a/meta-oe/recipes-graphics/tigervnc/files/0004-tigervnc-add-fPIC-option-to-COMPILE_FLAGS.patch
+++ b/meta-oe/recipes-graphics/tigervnc/files/0004-tigervnc-add-fPIC-option-to-COMPILE_FLAGS.patch
@@ -1,44 +1,34 @@
-From 9563b69640227da2220ee0c39077afb736cc96d1 Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Thu, 20 Jul 2017 17:12:17 +0800
-Subject: [PATCH 4/4] tigervnc: add fPIC option to COMPILE_FLAGS
+From 7f8acd59bb2e54f9be25a98dd71534700a9e355a Mon Sep 17 00:00:00 2001
+From: Chen Qi <Qi.Chen@windriver.com>
+Date: Mon, 19 Apr 2021 23:14:28 -0700
+Subject: [PATCH] tigervnc: add fPIC option to COMPILE_FLAGS
-The static libraries in Xregion/network/rdr/rfb were linked by shared
+The static libraries in network/rdr/rfb were linked by shared
library libvnc.so, so we should add fPIC option to COMPILE_FLAGS to fix
relocation issue.
Upstream-Status: Pending
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
---
- common/Xregion/CMakeLists.txt | 1 +
common/network/CMakeLists.txt | 1 +
common/rdr/CMakeLists.txt | 1 +
common/rfb/CMakeLists.txt | 1 +
- 4 files changed, 4 insertions(+)
+ 3 files changed, 3 insertions(+)
-diff --git a/common/Xregion/CMakeLists.txt b/common/Xregion/CMakeLists.txt
-index 40ca97e..9411328 100644
---- a/common/Xregion/CMakeLists.txt
-+++ b/common/Xregion/CMakeLists.txt
-@@ -3,4 +3,5 @@ add_library(Xregion STATIC
-
- if(UNIX)
- libtool_create_control_file(Xregion)
-+ set_target_properties(Xregion PROPERTIES COMPILE_FLAGS -fPIC)
- endif()
diff --git a/common/network/CMakeLists.txt b/common/network/CMakeLists.txt
-index b624c8e..6c06ec9 100644
+index d00ca452..e84e0290 100644
--- a/common/network/CMakeLists.txt
+++ b/common/network/CMakeLists.txt
-@@ -9,4 +9,5 @@ endif()
+@@ -16,4 +16,5 @@ endif()
if(UNIX)
libtool_create_control_file(network)
+ set_target_properties(network PROPERTIES COMPILE_FLAGS -fPIC)
endif()
diff --git a/common/rdr/CMakeLists.txt b/common/rdr/CMakeLists.txt
-index 989ba2f..20f6489 100644
+index 989ba2f4..20f6489d 100644
--- a/common/rdr/CMakeLists.txt
+++ b/common/rdr/CMakeLists.txt
@@ -27,4 +27,5 @@ target_link_libraries(rdr ${RDR_LIBRARIES})
@@ -48,15 +38,15 @@ index 989ba2f..20f6489 100644
+ set_target_properties(rdr PROPERTIES COMPILE_FLAGS -fPIC)
endif()
diff --git a/common/rfb/CMakeLists.txt b/common/rfb/CMakeLists.txt
-index 5047e5e..88838ab 100644
+index fc5a37bf..7f5ce131 100644
--- a/common/rfb/CMakeLists.txt
+++ b/common/rfb/CMakeLists.txt
-@@ -98,4 +98,5 @@ target_link_libraries(rfb ${RFB_LIBRARIES})
+@@ -99,4 +99,5 @@ target_link_libraries(rfb ${RFB_LIBRARIES})
if(UNIX)
libtool_create_control_file(rfb)
+ set_target_properties(rfb PROPERTIES COMPILE_FLAGS -fPIC)
endif()
--
-2.7.4
+2.30.2
diff --git a/meta-oe/recipes-graphics/tigervnc/tigervnc_1.9.0.bb b/meta-oe/recipes-graphics/tigervnc/tigervnc_1.11.0.bb
index f3dc89972c..668ca79ddd 100644
--- a/meta-oe/recipes-graphics/tigervnc/tigervnc_1.9.0.bb
+++ b/meta-oe/recipes-graphics/tigervnc/tigervnc_1.11.0.bb
@@ -1,24 +1,23 @@
DESCRIPTION = "TigerVNC remote display system"
HOMEPAGE = "http://www.tigervnc.com/"
-LICENSE = "GPLv2+"
+LICENSE = "GPL-2.0-or-later"
SECTION = "x11/utils"
-DEPENDS = "xserver-xorg gnutls jpeg libxtst gettext-native fltk"
-RDEPENDS_${PN} = "chkconfig coreutils hicolor-icon-theme"
+DEPENDS = "xserver-xorg gnutls jpeg libxtst gettext-native fltk libpam"
+RDEPENDS:${PN} = "coreutils hicolor-icon-theme perl bash xkbcomp"
LIC_FILES_CHKSUM = "file://LICENCE.TXT;md5=75b02c2872421380bbd47781d2bd75d3"
S = "${WORKDIR}/git"
-inherit distro_features_check
-REQUIRED_DISTRO_FEATURES = "x11"
+inherit autotools cmake features_check pkgconfig
+
+REQUIRED_DISTRO_FEATURES = "x11 pam"
-inherit autotools cmake
B = "${S}"
-SRCREV = "6f2301d08e64a965ad36b401ec8dc2b24bc47075"
+SRCREV = "540bfc3278e396321124d4b18a798ac2bc18b6ca"
-SRC_URI = "git://github.com/TigerVNC/tigervnc.git;branch=1.9-branch \
- file://0001-tigervnc-remove-includedir.patch \
+SRC_URI = "git://github.com/TigerVNC/tigervnc.git;branch=1.11-branch;protocol=https \
file://0002-do-not-build-tests-sub-directory.patch \
file://0003-add-missing-dynamic-library-to-FLTK_LIBRARIES.patch \
file://0004-tigervnc-add-fPIC-option-to-COMPILE_FLAGS.patch \
@@ -26,11 +25,11 @@ SRC_URI = "git://github.com/TigerVNC/tigervnc.git;branch=1.9-branch \
# Keep sync with xorg-server in oe-core
XORG_PN ?= "xorg-server"
-XORG_PV ?= "1.19.6"
+XORG_PV ?= "1.20.6"
SRC_URI += "${XORG_MIRROR}/individual/xserver/${XORG_PN}-${XORG_PV}.tar.bz2;name=xorg"
-XORG_S = "${WORKDIR}/${XORG_PN}-${XORG_PV}"
-SRC_URI[xorg.md5sum] = "3e47777ff034a331aed2322b078694a8"
-SRC_URI[xorg.sha256sum] = "a732502f1db000cf36a376cd0c010ffdbf32ecdd7f1fa08ba7f5bdf9601cc197"
+XORG_S = "${UNPACKDIR}/${XORG_PN}-${XORG_PV}"
+SRC_URI[xorg.md5sum] = "a98170084f2c8fed480d2ff601f8a14b"
+SRC_URI[xorg.sha256sum] = "6316146304e6e8a36d5904987ae2917b5d5b195dc9fc63d67f7aca137e5a51d1"
# It is the directory containing the Xorg source for the
# machine on which you are building TigerVNC.
@@ -58,7 +57,7 @@ do_patch_xserver () {
xargs tar cf - | (cd ${XSERVER_SOURCE_DIR} && tar xf -)
cd ${XSERVER_SOURCE_DIR}
- xserverpatch="${S}/unix/xserver119.patch"
+ xserverpatch="${S}/unix/xserver120.patch"
echo "Apply $xserverpatch"
patch -p1 -b --suffix .vnc < $xserverpatch
}
@@ -84,7 +83,9 @@ EXTRA_OECONF = "--disable-xorg --disable-xnest --disable-xvfb --disable-dmx \
--disable-xwayland \
"
-do_configure_append () {
+EXTRA_OECMAKE += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '-DCMAKE_INSTALL_UNITDIR=${systemd_unitdir}', '-DINSTALL_SYSTEMD_UNITS=OFF', d)}"
+
+do_configure:append () {
olddir=`pwd`
cd ${XSERVER_SOURCE_DIR}
@@ -105,7 +106,7 @@ do_configure_append () {
cd $olddir
}
-do_compile_append () {
+do_compile:append () {
olddir=`pwd`
cd ${XSERVER_SOURCE_DIR}
@@ -114,7 +115,7 @@ do_compile_append () {
cd $olddir
}
-do_install_append() {
+do_install:append() {
olddir=`pwd`
cd ${XSERVER_SOURCE_DIR}/hw/vnc
@@ -123,9 +124,10 @@ do_install_append() {
cd $olddir
}
-FILES_${PN} += " \
+FILES:${PN} += " \
${libdir}/xorg/modules/extensions \
${datadir}/icons \
+ ${systemd_unitdir} \
"
-FILES_${PN}-dbg += "${libdir}/xorg/modules/extensions/.debug"
+FILES:${PN}-dbg += "${libdir}/xorg/modules/extensions/.debug"
diff --git a/meta-oe/recipes-graphics/tslib/tslib_1.16.bb b/meta-oe/recipes-graphics/tslib/tslib_1.23.bb
index 8d23bd5eb8..299aa2a273 100644
--- a/meta-oe/recipes-graphics/tslib/tslib_1.16.bb
+++ b/meta-oe/recipes-graphics/tslib/tslib_1.23.bb
@@ -5,9 +5,8 @@ Tslib is generally used on embedded devices to provide a common user \
space interface to touchscreen functionality."
HOMEPAGE = "http://tslib.org/"
-AUTHOR = "Martin Kepplinger <martink@posteo.de>"
SECTION = "base"
-LICENSE = "LGPLv2+ & GPLv2+"
+LICENSE = "LGPL-2.0-or-later & GPL-2.0-or-later"
LIC_FILES_CHKSUM = "\
file://COPYING;md5=fc178bcd425090939a8b634d1d6a9594 \
file://tests/COPYING;md5=a23a74b3f4caf9616230789d94217acb \
@@ -16,17 +15,17 @@ LIC_FILES_CHKSUM = "\
SRC_URI = "https://github.com/kergoth/tslib/releases/download/${PV}/tslib-${PV}.tar.xz;downloadfilename=tslib-${PV}.tar.xz \
file://ts.conf \
file://tslib.sh \
-"
-SRC_URI[md5sum] = "254a022fc8aa89d164840fe8869c2441"
-SRC_URI[sha256sum] = "c9a54651337a701a66b074c603c313225579995a7910e519bbc7b1dcdab9a755"
+ "
+SRC_URI[sha256sum] = "9b489a54d48006201f2fe955a88c3f857535ac93b6cf8e5a16c7b166c8991dac"
UPSTREAM_CHECK_URI = "https://github.com/kergoth/tslib/releases"
inherit autotools pkgconfig
-PACKAGECONFIG ??= "debounce dejitter iir linear median pthres skip lowpass invert variance input touchkit waveshare"
+PACKAGECONFIG ??= "debounce dejitter evthres iir linear median pthres skip lowpass invert variance input touchkit waveshare"
PACKAGECONFIG[debounce] = "--enable-debounce,--disable-debounce"
PACKAGECONFIG[dejitter] = "--enable-dejitter,--disable-dejitter"
+PACKAGECONFIG[evthres] = "--enable-evthres,--disable-evthres"
PACKAGECONFIG[iir] = "--enable-iir,--disable-iir"
PACKAGECONFIG[linear] = "--enable-linear,--disable-linear"
PACKAGECONFIG[median] = "--enable-median,--disable-median"
@@ -50,33 +49,36 @@ PACKAGECONFIG[arctic2] = "--enable-arctic2,--disable-arctic2"
PACKAGECONFIG[dmc_dus3000] = "--enable-dmc_dus3000,--disable-dmc_dus3000"
PACKAGECONFIG[cy8mrln-palmpre] = "--enable-cy8mrln-palmpre,--disable-cy8mrln-palmpre"
PACKAGECONFIG[galax] = "--enable-galax,--disable-galax"
+PACKAGECONFIG[one-wire-ts-input] = "--enable-one-wire-ts-input,--disable-one-wire-ts-input"
PACKAGECONFIG[debug] = "--enable-debug,--disable-debug"
-do_install_prepend() {
- install -m 0644 ${WORKDIR}/ts.conf ${S}/etc/ts.conf
+do_install:prepend() {
+ install -m 0644 ${UNPACKDIR}/ts.conf ${S}/etc/ts.conf
}
-do_install_append() {
+do_install:append() {
install -d ${D}${sysconfdir}/profile.d/
- install -m 0755 ${WORKDIR}/tslib.sh ${D}${sysconfdir}/profile.d/
+ install -m 0755 ${UNPACKDIR}/tslib.sh ${D}${sysconfdir}/profile.d/
}
-RPROVIDES_tslib-conf = "libts-0.0-conf"
+RPROVIDES:tslib-conf = "libts-0.0-conf"
PACKAGES =+ "tslib-conf tslib-tests tslib-calibrate tslib-uinput"
-DEBIAN_NOAUTONAME_tslib-conf = "1"
-DEBIAN_NOAUTONAME_tslib-tests = "1"
-DEBIAN_NOAUTONAME_tslib-calibrate = "1"
-DEBIAN_NOAUTONAME_tslib-uinput = "1"
+DEBIAN_NOAUTONAME:tslib-conf = "1"
+DEBIAN_NOAUTONAME:tslib-tests = "1"
+DEBIAN_NOAUTONAME:tslib-calibrate = "1"
+DEBIAN_NOAUTONAME:tslib-uinput = "1"
+
+RDEPENDS:${PN} = "tslib-conf"
+RRECOMMENDS:${PN} = "pointercal"
-RDEPENDS_${PN} = "tslib-conf"
-RRECOMMENDS_${PN} = "pointercal"
+FILES:${PN}-dev += "${libdir}/ts/*.la"
+FILES:tslib-conf = "${sysconfdir}/ts.conf ${sysconfdir}/profile.d/tslib.sh ${datadir}/tslib"
+FILES:${PN} = "${libdir}/*.so.* ${libdir}/ts/*.so*"
+FILES:tslib-calibrate += "${bindir}/ts_calibrate"
+FILES:tslib-uinput += "${bindir}/ts_uinput"
-FILES_${PN}-dev += "${libdir}/ts/*.la"
-FILES_tslib-conf = "${sysconfdir}/ts.conf ${sysconfdir}/profile.d/tslib.sh ${datadir}/tslib"
-FILES_${PN} = "${libdir}/*.so.* ${libdir}/ts/*.so*"
-FILES_tslib-calibrate += "${bindir}/ts_calibrate"
-FILES_tslib-uinput += "${bindir}/ts_uinput"
+FILES:tslib-tests = "${bindir}/ts_harvest ${bindir}/ts_print ${bindir}/ts_print_raw ${bindir}/ts_print_mt \
+ ${bindir}/ts_test ${bindir}/ts_test_mt ${bindir}/ts_verify ${bindir}/ts_finddev ${bindir}/ts_conf"
-FILES_tslib-tests = "${bindir}/ts_harvest ${bindir}/ts_print ${bindir}/ts_print_raw ${bindir}/ts_print_mt \
- ${bindir}/ts_test ${bindir}/ts_test_mt ${bindir}/ts_verify ${bindir}/ts_finddev"
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-graphics/ttf-fonts/source-code-pro-fonts/44-source-code-pro-fonts-fontconfig.conf b/meta-oe/recipes-graphics/ttf-fonts/source-code-pro-fonts/44-source-code-pro-fonts-fontconfig.conf
new file mode 100644
index 0000000000..badb1b0115
--- /dev/null
+++ b/meta-oe/recipes-graphics/ttf-fonts/source-code-pro-fonts/44-source-code-pro-fonts-fontconfig.conf
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<fontconfig>
+ <alias>
+ <family>monospace</family>
+ <prefer>
+ <family>Source Code Pro</family>
+ </prefer>
+ </alias>
+ <alias>
+ <family>Source Code Pro</family>
+ <default>
+ <family>monospace</family>
+ </default>
+ </alias>
+</fontconfig>
+
diff --git a/meta-oe/recipes-graphics/ttf-fonts/source-code-pro-fonts_2.030_1.050.bb b/meta-oe/recipes-graphics/ttf-fonts/source-code-pro-fonts_2.030_1.050.bb
new file mode 100644
index 0000000000..15449b216a
--- /dev/null
+++ b/meta-oe/recipes-graphics/ttf-fonts/source-code-pro-fonts_2.030_1.050.bb
@@ -0,0 +1,32 @@
+require ttf.inc
+
+SUMMARY = "Adobe Source Code Pro"
+HOMEPAGE = "https://github.com/adobe-fonts/source-code-pro"
+LICENSE = "OFL-1.1"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=c7c16bdc2c96af797293d68503e5c65c"
+
+inherit allarch fontcache
+
+SRC_URI = " \
+ https://github.com/adobe-fonts/source-code-pro/releases/download/2.030R-ro/1.050R-it/source-code-pro-2.030R-ro-1.050R-it.zip \
+ file://44-source-code-pro-fonts-fontconfig.conf \
+"
+SRC_URI[sha256sum] = "da2ac159497d31b0c6d9daa8fc390fb8252e75b4a9805ace6a2c9cccaed4932e"
+S = "${WORKDIR}/source-code-pro-2.030R-ro-1.050R-it"
+
+UPSTREAM_CHECK_URI = "https://github.com/adobe-fonts/source-code-pro/tags"
+UPSTREAM_CHECK_REGEX = "releases/tag/(?P<pver>\d+\.\d+)R"
+
+do_install() {
+ install -d ${D}${sysconfdir}/fonts/conf.d/
+ install -m 0644 ${UNPACKDIR}/44-source-code-pro-fonts-fontconfig.conf ${D}${sysconfdir}/fonts/conf.d/
+
+ install -d ${D}${datadir}/fonts/truetype/
+ find ./ -name '*.otf' -exec install -m 0644 {} ${D}${datadir}/fonts/truetype/ \;
+}
+
+FILES:${PN} = " \
+ ${sysconfdir}/fonts \
+ ${datadir}/fonts \
+"
+
diff --git a/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-cn-fonts/44-source-han-sans-cn.conf b/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-cn-fonts/44-source-han-sans-cn-fonts.conf
index 6855791b43..6855791b43 100644
--- a/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-cn-fonts/44-source-han-sans-cn.conf
+++ b/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-cn-fonts/44-source-han-sans-cn-fonts.conf
diff --git a/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-cn-fonts_1.004.bb b/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-cn-fonts_1.004.bb
deleted file mode 100644
index 9fbfc8b49c..0000000000
--- a/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-cn-fonts_1.004.bb
+++ /dev/null
@@ -1,34 +0,0 @@
-require ttf.inc
-
-SUMMARY = "Adobe OpenType Pan-CJK font family for Simplified Chinese"
-HOMEPAGE = "https://github.com/adobe-fonts/source-han-sans"
-LICENSE = "OFL-1.1"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=55719faa0112708e946b820b24b14097"
-
-inherit allarch fontcache
-
-# Download tends to break - so - or not?
-#EXCLUDE_FROM_WORLD = "1"
-
-SRC_URI = " \
- https://github.com/adobe-fonts/source-han-sans/raw/release/SubsetOTF/SourceHanSansCN.zip \
- file://44-source-han-sans-cn.conf \
-"
-SRC_URI[md5sum] = "d16abc21f6575bb08894efedbed484a2"
-SRC_URI[sha256sum] = "0a0e1d8e52833bc352d454d8242da03b82c0efc41323fb66f7435e5b39734a4f"
-
-S = "${WORKDIR}/SourceHanSansCN"
-
-do_install() {
- install -d ${D}${sysconfdir}/fonts/conf.d/
- install -m 0644 ${WORKDIR}/44-source-han-sans-cn.conf ${D}${sysconfdir}/fonts/conf.d/
-
- install -d ${D}${datadir}/fonts/truetype/
- find ./ -name '*.otf' -exec install -m 0644 {} ${D}${datadir}/fonts/truetype/ \;
-}
-
-FILES_${PN} = " \
- ${sysconfdir}/fonts \
- ${datadir}/fonts \
-"
-
diff --git a/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-cn-fonts_2.004.bb b/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-cn-fonts_2.004.bb
new file mode 100644
index 0000000000..c46952cce0
--- /dev/null
+++ b/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-cn-fonts_2.004.bb
@@ -0,0 +1,6 @@
+require source-han-sans-fonts.inc
+
+SUMMARY = "Adobe OpenType Pan-CJK font family for Simplified Chinese"
+ZIPNAME = "SourceHanSansCN"
+
+SRC_URI[sha256sum] = "6841fc13f1c0d255cfeb33d2a2c68d24bbebd94ae2c070347a2b2b200a1db4d6"
diff --git a/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-fonts.inc b/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-fonts.inc
new file mode 100644
index 0000000000..03ca4c0902
--- /dev/null
+++ b/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-fonts.inc
@@ -0,0 +1,26 @@
+require ttf.inc
+
+HOMEPAGE = "https://github.com/adobe-fonts/source-han-sans"
+LICENSE = "OFL-1.1"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/${LICENSE};md5=fac3a519e5e9eb96316656e0ca4f2b90"
+
+inherit allarch fontcache
+
+SRC_URI = " \
+ https://github.com/adobe-fonts/source-han-sans/releases/download/${PV}R/${ZIPNAME}.zip;subdir=${BP};downloadfilename=${BP}.zip \
+ file://44-${BPN}.conf \
+"
+
+do_install() {
+ install -d ${D}${sysconfdir}/fonts/conf.d/
+ install -m 0644 ${UNPACKDIR}/44-${BPN}.conf ${D}${sysconfdir}/fonts/conf.d/
+
+ install -d ${D}${datadir}/fonts/truetype/
+ find ./ -name '*.otf' -exec install -m 0644 {} ${D}${datadir}/fonts/truetype/ \;
+}
+
+FILES:${PN} = " \
+ ${sysconfdir}/fonts \
+ ${datadir}/fonts \
+"
+
diff --git a/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-jp-fonts/44-source-han-sans-jp.conf b/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-jp-fonts/44-source-han-sans-jp-fonts.conf
index a7a93feeae..a7a93feeae 100644
--- a/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-jp-fonts/44-source-han-sans-jp.conf
+++ b/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-jp-fonts/44-source-han-sans-jp-fonts.conf
diff --git a/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-jp-fonts_1.004.bb b/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-jp-fonts_1.004.bb
deleted file mode 100644
index 4a26a2f575..0000000000
--- a/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-jp-fonts_1.004.bb
+++ /dev/null
@@ -1,34 +0,0 @@
-require ttf.inc
-
-SUMMARY = "Adobe OpenType Pan-CJK font family for Japanese"
-HOMEPAGE = "https://github.com/adobe-fonts/source-han-sans"
-LICENSE = "OFL-1.1"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=55719faa0112708e946b820b24b14097"
-
-inherit allarch fontcache
-
-# Download tends to break - so - or not?
-#EXCLUDE_FROM_WORLD = "1"
-
-SRC_URI = " \
- https://github.com/adobe-fonts/source-han-sans/raw/release/SubsetOTF/SourceHanSansJP.zip \
- file://44-source-han-sans-jp.conf \
-"
-SRC_URI[md5sum] = "908fbf97f3df04a6838708c093f1e900"
-SRC_URI[sha256sum] = "dc6dbae3fba35f220bac88ba7130b826c7efe1282f472788fae3628b79be3f54"
-
-S = "${WORKDIR}/SourceHanSansJP"
-
-do_install() {
- install -d ${D}${sysconfdir}/fonts/conf.d/
- install -m 0644 ${WORKDIR}/44-source-han-sans-jp.conf ${D}${sysconfdir}/fonts/conf.d/
-
- install -d ${D}${datadir}/fonts/truetype/
- find ./ -name '*.otf' -exec install -m 0644 {} ${D}${datadir}/fonts/truetype/ \;
-}
-
-FILES_${PN} = " \
- ${sysconfdir}/fonts \
- ${datadir}/fonts \
-"
-
diff --git a/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-jp-fonts_2.004.bb b/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-jp-fonts_2.004.bb
new file mode 100644
index 0000000000..40128f97d3
--- /dev/null
+++ b/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-jp-fonts_2.004.bb
@@ -0,0 +1,6 @@
+require source-han-sans-fonts.inc
+
+SUMMARY = "Adobe OpenType Pan-CJK font family for Japanese"
+ZIPNAME = "SourceHanSansJP"
+
+SRC_URI[sha256sum] = "1ae9f62ad620d686c4a049ce25cf54e3afd8fefc954a678c644cf9802750c17e"
diff --git a/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-kr-fonts/44-source-han-sans-kr.conf b/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-kr-fonts/44-source-han-sans-kr-fonts.conf
index dee73ae77f..dee73ae77f 100644
--- a/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-kr-fonts/44-source-han-sans-kr.conf
+++ b/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-kr-fonts/44-source-han-sans-kr-fonts.conf
diff --git a/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-kr-fonts_1.004.bb b/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-kr-fonts_1.004.bb
deleted file mode 100644
index c91d1671fe..0000000000
--- a/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-kr-fonts_1.004.bb
+++ /dev/null
@@ -1,34 +0,0 @@
-require ttf.inc
-
-SUMMARY = "Adobe OpenType Pan-CJK font family for Korean"
-HOMEPAGE = "https://github.com/adobe-fonts/source-han-sans"
-LICENSE = "OFL-1.1"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=55719faa0112708e946b820b24b14097"
-
-inherit allarch fontcache
-
-# Download tends to break - so - or not?
-#EXCLUDE_FROM_WORLD = "1"
-
-SRC_URI = " \
- https://github.com/adobe-fonts/source-han-sans/raw/release/SubsetOTF/SourceHanSansKR.zip \
- file://44-source-han-sans-kr.conf \
-"
-SRC_URI[md5sum] = "f8d1bd6c87d8575afdb25e2f46bd81d4"
-SRC_URI[sha256sum] = "38fd15c80f9980492faaa1af39ff873d8a38e45027023fb17d5b10d4b4b0e6af"
-
-S = "${WORKDIR}/SourceHanSansKR"
-
-do_install() {
- install -d ${D}${sysconfdir}/fonts/conf.d/
- install -m 0644 ${WORKDIR}/44-source-han-sans-kr.conf ${D}${sysconfdir}/fonts/conf.d/
-
- install -d ${D}${datadir}/fonts/truetype/
- find ./ -name '*.otf' -exec install -m 0644 {} ${D}${datadir}/fonts/truetype/ \;
-}
-
-FILES_${PN} = " \
- ${sysconfdir}/fonts \
- ${datadir}/fonts \
-"
-
diff --git a/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-kr-fonts_2.004.bb b/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-kr-fonts_2.004.bb
new file mode 100644
index 0000000000..8b32ab82d2
--- /dev/null
+++ b/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-kr-fonts_2.004.bb
@@ -0,0 +1,6 @@
+require source-han-sans-fonts.inc
+
+SUMMARY = "Adobe OpenType Pan-CJK font family for Korean"
+ZIPNAME = "SourceHanSansKR"
+
+SRC_URI[sha256sum] = "02fe28a48c6381c49d61c27a1b173c77f0e6f2b9f2b68e79f076f10a6a8f4bfe"
diff --git a/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-tw-fonts/44-source-han-sans-tw.conf b/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-tw-fonts/44-source-han-sans-tw-fonts.conf
index ae289401bb..ae289401bb 100644
--- a/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-tw-fonts/44-source-han-sans-tw.conf
+++ b/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-tw-fonts/44-source-han-sans-tw-fonts.conf
diff --git a/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-tw-fonts_1.004.bb b/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-tw-fonts_1.004.bb
deleted file mode 100644
index 728250538d..0000000000
--- a/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-tw-fonts_1.004.bb
+++ /dev/null
@@ -1,34 +0,0 @@
-require ttf.inc
-
-SUMMARY = "Adobe OpenType Pan-CJK font family for Traditional Chinese"
-HOMEPAGE = "https://github.com/adobe-fonts/source-han-sans"
-LICENSE = "OFL-1.1"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=55719faa0112708e946b820b24b14097"
-
-inherit allarch fontcache
-
-# Download tends to break - so - or not?
-#EXCLUDE_FROM_WORLD = "1"
-
-SRC_URI = " \
- https://github.com/adobe-fonts/source-han-sans/raw/release/SubsetOTF/SourceHanSansTW.zip \
- file://44-source-han-sans-tw.conf \
-"
-SRC_URI[md5sum] = "6533b71b31c19e548768f0fc963202f3"
-SRC_URI[sha256sum] = "92ba161921c5cdec5a8f8d5711676f0865b50cee071c25eb4bd4125b5af59fd0"
-
-S = "${WORKDIR}/SourceHanSansTW"
-
-do_install() {
- install -d ${D}${sysconfdir}/fonts/conf.d/
- install -m 0644 ${WORKDIR}/44-source-han-sans-tw.conf ${D}${sysconfdir}/fonts/conf.d/
-
- install -d ${D}${datadir}/fonts/truetype/
- find ./ -name '*.otf' -exec install -m 0644 {} ${D}${datadir}/fonts/truetype/ \;
-}
-
-FILES_${PN} = " \
- ${sysconfdir}/fonts \
- ${datadir}/fonts \
-"
-
diff --git a/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-tw-fonts_2.004.bb b/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-tw-fonts_2.004.bb
new file mode 100644
index 0000000000..b841660efd
--- /dev/null
+++ b/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-tw-fonts_2.004.bb
@@ -0,0 +1,6 @@
+require source-han-sans-fonts.inc
+
+SUMMARY = "Adobe OpenType Pan-CJK font family for Traditional Chinese"
+ZIPNAME = "SourceHanSansTW"
+
+SRC_URI[sha256sum] = "11d78c8fbc1a4bb04a453cdd65c99db8d41ec5cd6ba6d68c8638e6ba170de806"
diff --git a/meta-oe/recipes-graphics/ttf-fonts/ttf-abyssinica_1.500.bb b/meta-oe/recipes-graphics/ttf-fonts/ttf-abyssinica_2.201.bb
index ce003e922b..1253cf8834 100644
--- a/meta-oe/recipes-graphics/ttf-fonts/ttf-abyssinica_1.500.bb
+++ b/meta-oe/recipes-graphics/ttf-fonts/ttf-abyssinica_2.201.bb
@@ -3,15 +3,15 @@ require ttf.inc
SUMMARY = "Ethiopia and Eritrea (Amharic) font - TTF Edition"
HOMEPAGE = "http://software.sil.org/abyssinica/"
LICENSE = "OFL-1.1"
-LIC_FILES_CHKSUM = "file://OFL.txt;md5=1694c7fc245cdc85c9971db707928159"
+LIC_FILES_CHKSUM = "file://OFL.txt;md5=347eaa34fdf555aaf6b2144a5ccca45b"
SRCNAME = "AbyssinicaSIL"
SRC_URI = "http://software.sil.org/downloads/r/abyssinica/${SRCNAME}-${PV}.zip"
S = "${WORKDIR}/${SRCNAME}-${PV}"
-SRC_URI[md5sum] = "a3d943d18e303197c8d3d92d2de54d1e"
-SRC_URI[sha256sum] = "e48a77d5ab8ee0b06464a5b29be70f292aa25dc1e73eb39ec933bd7fa47bbd86"
+UPSTREAM_CHECK_URI = "https://software.sil.org/abyssinica/download/"
-FONT_PACKAGES = "${PN}"
-FILES_${PN} = "${datadir}"
+SRC_URI[sha256sum] = "961259a1d9ace083f737eb1e55cec40c9a56f4855866d7474bf212d2a4366ab8"
+FONT_PACKAGES = "${PN}"
+FILES:${PN} = "${datadir}"
diff --git a/meta-oe/recipes-graphics/ttf-fonts/ttf-arphic-uming_20080216.bb b/meta-oe/recipes-graphics/ttf-fonts/ttf-arphic-uming_20080216.bb
index 522f0fb7d7..ea734182de 100644
--- a/meta-oe/recipes-graphics/ttf-fonts/ttf-arphic-uming_20080216.bb
+++ b/meta-oe/recipes-graphics/ttf-fonts/ttf-arphic-uming_20080216.bb
@@ -1,19 +1,17 @@
SUMMARY = "Unicode Mingti (printed) TrueType Font"
HOMEPAGE = "http://www.freedesktop.org/wiki/Software/CJKUnifonts"
LICENSE = "Arphic-Public-License"
-LIC_FILES_CHKSUM = "file://README;md5=62be011094b7865ddc4d1a648444d31a"
-SRC_DISTRIBUTE_LICENSES += "${PN}"
-RPROVIDES_${PN} = "virtual-chinese-font"
-PR = "r6"
+LIC_FILES_CHKSUM = "file://license/english/ARPHICPL.TXT;md5=4555ed88e9a72fc9562af379d07c3350"
+
+RPROVIDES:${PN} = "virtual-chinese-font"
FONT_PACKAGES = "${PN}"
-SRC_URI = "http://archive.ubuntu.com/ubuntu/pool/main/t/ttf-arphic-uming/ttf-arphic-uming_0.2.${PV}.1.orig.tar.gz"
-S = "${WORKDIR}"
+SRC_URI = "https://deb.debian.org/debian/pool/main/f/fonts-arphic-uming/fonts-arphic-uming_0.2.${PV}.2.orig.tar.bz2"
+S = "${WORKDIR}/ttf-arphic-uming-0.2.20080216.2"
require ttf.inc
-FILES_${PN} = "${datadir}"
+FILES:${PN} = "${datadir}"
-SRC_URI[md5sum] = "d219fcaf953f3eb1889399955a00379f"
-SRC_URI[sha256sum] = "8038a6db9e832456d5da5559aff8d15130243be1091bf24f3243503a6f1bda98"
+SRC_URI[sha256sum] = "e3c19e04ea7a565b4acff6f1e4248084d2e10752e305bf7dd6c76e80860dc1db"
diff --git a/meta-oe/recipes-graphics/ttf-fonts/ttf-dejavu_2.37.bb b/meta-oe/recipes-graphics/ttf-fonts/ttf-dejavu_2.37.bb
index f74e5ce6c3..54aeb318a4 100644
--- a/meta-oe/recipes-graphics/ttf-fonts/ttf-dejavu_2.37.bb
+++ b/meta-oe/recipes-graphics/ttf-fonts/ttf-dejavu_2.37.bb
@@ -6,23 +6,24 @@ LICENSE = "BitstreamVera"
LIC_FILES_CHKSUM = "file://../LICENSE;md5=449b2c30bfe5fa897fe87b8b70b16cfa"
# all subpackages except ${PN}-common itself rdepends on ${PN}-common
-RDEPENDS_${PN}-sans = "${PN}-common"
-RDEPENDS_${PN}-sans-mono = "${PN}-common"
-RDEPENDS_${PN}-sans-condensed = "${PN}-common"
-RDEPENDS_${PN}-serif = "${PN}-common"
-RDEPENDS_${PN}-serif-condensed = "${PN}-common"
-RDEPENDS_${PN}-mathtexgyre = "${PN}-common"
-RDEPENDS_${PN}-common = ""
-PR = "r7"
+RDEPENDS:${PN}-sans = "${PN}-common"
+RDEPENDS:${PN}-sans-mono = "${PN}-common"
+RDEPENDS:${PN}-sans-condensed = "${PN}-common"
+RDEPENDS:${PN}-serif = "${PN}-common"
+RDEPENDS:${PN}-serif-condensed = "${PN}-common"
+RDEPENDS:${PN}-mathtexgyre = "${PN}-common"
+RDEPENDS:${PN}-common = ""
SRC_URI = "${SOURCEFORGE_MIRROR}/dejavu/dejavu-fonts-ttf-${PV}.tar.bz2 \
file://30-dejavu-aliases.conf"
S = "${WORKDIR}/dejavu-fonts-ttf-${PV}/ttf"
-do_install_append () {
+UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/dejavu/files/dejavu/"
+
+do_install:append () {
install -d ${D}${sysconfdir}/fonts/conf.d/
- install -m 0644 ${WORKDIR}/30-dejavu-aliases.conf ${D}${sysconfdir}/fonts/conf.d/
+ install -m 0644 ${UNPACKDIR}/30-dejavu-aliases.conf ${D}${sysconfdir}/fonts/conf.d/
}
PACKAGES = "\
@@ -35,13 +36,19 @@ PACKAGES = "\
${PN}-common"
FONT_PACKAGES = "${PN}-sans ${PN}-sans-mono ${PN}-sans-condensed ${PN}-serif ${PN}-serif-condensed ${PN}-mathtexgyre"
-FILES_${PN}-sans = "${datadir}/fonts/truetype/DejaVuSans.ttf ${datadir}/fonts/truetype/DejaVuSans-*.ttf"
-FILES_${PN}-sans-mono = "${datadir}/fonts/truetype/DejaVuSansMono*.ttf"
-FILES_${PN}-sans-condensed = "${datadir}/fonts/truetype/DejaVuSansCondensed*.ttf"
-FILES_${PN}-serif = "${datadir}/fonts/truetype/DejaVuSerif.ttf ${datadir}/fonts/truetype/DejaVuSerif-*.ttf"
-FILES_${PN}-serif-condensed = "${datadir}/fonts/truetype/DejaVuSerifCondensed*.ttf"
-FILES_${PN}-mathtexgyre = "${datadir}/fonts/truetype/DejaVuMathTeXGyre.ttf"
-FILES_${PN}-common = "${sysconfdir}"
+FILES:${PN}-sans = "${datadir}/fonts/truetype/DejaVuSans.ttf ${datadir}/fonts/truetype/DejaVuSans-*.ttf"
+FILES:${PN}-sans-mono = "${datadir}/fonts/truetype/DejaVuSansMono*.ttf"
+FILES:${PN}-sans-condensed = "${datadir}/fonts/truetype/DejaVuSansCondensed*.ttf"
+FILES:${PN}-serif = "${datadir}/fonts/truetype/DejaVuSerif.ttf ${datadir}/fonts/truetype/DejaVuSerif-*.ttf"
+FILES:${PN}-serif-condensed = "${datadir}/fonts/truetype/DejaVuSerifCondensed*.ttf"
+FILES:${PN}-mathtexgyre = "${datadir}/fonts/truetype/DejaVuMathTeXGyre.ttf"
+FILES:${PN}-common = "${sysconfdir}"
SRC_URI[md5sum] = "d0efec10b9f110a32e9b8f796e21782c"
SRC_URI[sha256sum] = "fa9ca4d13871dd122f61258a80d01751d603b4d3ee14095d65453b4e846e17d7"
+
+BBCLASSEXTEND = "native nativesdk"
+
+# Allow installation of fonts into recipe-sysroot-native
+SYSROOT_DIRS_IGNORE:remove = "${datadir}/fonts"
+
diff --git a/meta-oe/recipes-graphics/ttf-fonts/ttf-droid_git.bb b/meta-oe/recipes-graphics/ttf-fonts/ttf-droid_git.bb
index e62badf778..cc9213ec5b 100644
--- a/meta-oe/recipes-graphics/ttf-fonts/ttf-droid_git.bb
+++ b/meta-oe/recipes-graphics/ttf-fonts/ttf-droid_git.bb
@@ -5,23 +5,26 @@ HOMEPAGE = "http://www.droidfonts.com/"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://README.txt;md5=83544262a86f1f1ec761e75897df92bc"
SRCREV = "21e6e2de1f0062f949fcc52d0b4559dfa3246e0e"
-PV = "0.1+gitr${SRCPV}"
-PR = "r3"
+PV = "0.1+git"
-SRC_URI = "git://github.com/android/platform_frameworks_base.git;branch=master"
+SRC_URI = "git://github.com/android/platform_frameworks_base.git;branch=master;protocol=https"
S = "${WORKDIR}/git/data/fonts"
-do_install_prepend() {
- rm ${S}/Ahem.ttf MTLc3m.ttf DroidSansArabic.ttf DroidSansThai.ttf Clockopia.ttf MTLmr3m.ttf DroidSansHebrew.ttf DroidSansFallbackLegacy.ttf # we're not packaging it
+do_install:append() {
+ for f in Ahem.ttf MTLc3m.ttf DroidSansArabic.ttf DroidSansThai.ttf \
+ Clockopia.ttf MTLmr3m.ttf DroidSansHebrew.ttf \
+ DroidSansFallbackLegacy.ttf; do
+ rm -f ${D}${datadir}/fonts/truetype/$f
+ done
}
PACKAGES = "ttf-droid-sans ttf-droid-sans-mono \
ttf-droid-sans-fallback ttf-droid-sans-japanese ttf-droid-serif"
FONT_PACKAGES = "ttf-droid-sans ttf-droid-sans-mono ttf-droid-sans-fallback ttf-droid-sans-japanese ttf-droid-serif"
-FILES_ttf-droid-sans = "${datadir}/fonts/truetype/DroidSans.ttf ${datadir}/fonts/truetype/DroidSans-Bold.ttf"
-FILES_ttf-droid-sans-mono = "${datadir}/fonts/truetype/DroidSansMono.ttf"
-FILES_ttf-droid-sans-fallback = "${datadir}/fonts/truetype/DroidSansFallback.ttf"
-FILES_ttf-droid-sans-japanese = "${datadir}/fonts/truetype/DroidSansJapanese.ttf"
-FILES_ttf-droid-serif = "${datadir}/fonts/truetype/DroidSerif*.ttf"
+FILES:ttf-droid-sans = "${datadir}/fonts/truetype/DroidSans.ttf ${datadir}/fonts/truetype/DroidSans-Bold.ttf"
+FILES:ttf-droid-sans-mono = "${datadir}/fonts/truetype/DroidSansMono.ttf"
+FILES:ttf-droid-sans-fallback = "${datadir}/fonts/truetype/DroidSansFallback.ttf"
+FILES:ttf-droid-sans-japanese = "${datadir}/fonts/truetype/DroidSansJapanese.ttf"
+FILES:ttf-droid-serif = "${datadir}/fonts/truetype/DroidSerif*.ttf"
diff --git a/meta-oe/recipes-graphics/ttf-fonts/ttf-gentium_1.02.bb b/meta-oe/recipes-graphics/ttf-fonts/ttf-gentium_1.02.bb
index 6a6258add2..2439766ad5 100644
--- a/meta-oe/recipes-graphics/ttf-fonts/ttf-gentium_1.02.bb
+++ b/meta-oe/recipes-graphics/ttf-fonts/ttf-gentium_1.02.bb
@@ -2,17 +2,16 @@ require ttf.inc
SUMMARY = "Gentium fonts - TTF Version"
HOMEPAGE = "http://scripts.sil.org/gentium"
-LICENSE = "OFL"
+LICENSE = "OFL-1.0"
LICENSE_URL = "http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=OFL"
LIC_FILES_CHKSUM = "file://OFL;md5=33a5bf7b98a9c0ae87430760ba762295 \
"
-PR = "r8"
-SRC_URI = "${DEBIAN_MIRROR}/main/t/ttf-gentium/ttf-gentium_${PV}.orig.tar.gz "
+SRC_URI = "https://archive.debian.org/debian/pool/main/t/ttf-gentium/ttf-gentium_${PV}.orig.tar.gz "
S = "${WORKDIR}/ttf-sil-gentium-${PV}"
-do_install_append() {
+do_install:append() {
install -d ${D}${datadir}/doc/ttf-gentium/
install -d ${D}${datadir}/doc/ttf-gentium-alt/
@@ -25,11 +24,11 @@ do_install_append() {
PACKAGES = "${PN} ${PN}-alt"
FONT_PACKAGES = "${PN} ${PN}-alt"
-FILES_${PN}-alt = "${datadir}/fonts/truetype/GenAI*.ttf \
+FILES:${PN}-alt = "${datadir}/fonts/truetype/GenAI*.ttf \
${datadir}/fonts/truetype/GenAR*.ttf \
${datadir}/doc/ttf-gentium-alt/*"
-FILES_${PN} = "${datadir}/fonts/truetype/GenI*.ttf \
+FILES:${PN} = "${datadir}/fonts/truetype/GenI*.ttf \
${datadir}/fonts/truetype/GenR*.ttf \
${datadir}/doc/ttf-gentium/*"
diff --git a/meta-oe/recipes-graphics/ttf-fonts/ttf-google-fira.bb b/meta-oe/recipes-graphics/ttf-fonts/ttf-google-fira.bb
new file mode 100644
index 0000000000..c142f1dd02
--- /dev/null
+++ b/meta-oe/recipes-graphics/ttf-fonts/ttf-google-fira.bb
@@ -0,0 +1,62 @@
+SUMMARY = "Google Fira Fonts- TTF Edition"
+HOMEPAGE = "https://fonts.google.com/?query=fira"
+LICENSE = "OFL-1.1"
+LIC_FILES_CHKSUM = " \
+ file://${S}/firamono/OFL.txt;md5=0373cf792d4b95c61399b94c02702892 \
+ file://${S}/firacode/OFL.txt;md5=c75ca55aa0a5809a854d87db2a8ebf23 \
+ file://${S}/firasans/OFL.txt;md5=de28deb2f8c1f23fd4d6918113ac3ddd \
+ file://${S}/firasanscondensed/OFL.txt;md5=de28deb2f8c1f23fd4d6918113ac3ddd \
+ file://${S}/firasansextracondensed/OFL.txt;md5=de28deb2f8c1f23fd4d6918113ac3ddd \
+"
+
+SRCREV_FORMAT = "firamono_firacode_firasans_firasanscondensed_firasansextracondensed"
+
+SRCREV_firamono = "701bd391b1a4b3238de193a8523009ecef1be42c"
+SRCREV_firacode = "701bd391b1a4b3238de193a8523009ecef1be42c"
+SRCREV_firasans = "701bd391b1a4b3238de193a8523009ecef1be42c"
+SRCREV_firasanscondensed = "701bd391b1a4b3238de193a8523009ecef1be42c"
+SRCREV_firasansextracondensed = "701bd391b1a4b3238de193a8523009ecef1be42c"
+
+SRC_URI = "git://github.com/google/fonts.git;protocol=https;branch=main;subpath=ofl/firamono;name=firamono \
+ git://github.com/google/fonts.git;protocol=https;branch=main;subpath=ofl/firacode;name=firacode \
+ git://github.com/google/fonts.git;protocol=https;branch=main;subpath=ofl/firasans;name=firasans \
+ git://github.com/google/fonts.git;protocol=https;branch=main;subpath=ofl/firasanscondensed;name=firasanscondensed \
+ git://github.com/google/fonts.git;protocol=https;branch=main;subpath=ofl/firasansextracondensed;name=firasansextracondensed"
+
+S = "${WORKDIR}/sources"
+UNPACKDIR = "${S}"
+
+do_install:append() {
+ install -d ${D}${datadir}/fonts/truetype/
+ find ${S} -path 'fira*/*.tt[cf]' -exec install -m 0644 {} ${D}${datadir}/fonts/truetype/{} \;
+ install -D -m 0644 ${S}/firamono/OFL.txt ${D}${datadir}/licenses/${PN}mono/OFL.txt
+ install -D -m 0644 ${S}/firacode/OFL.txt ${D}${datadir}/licenses/${PN}code/OFL.txt
+ install -D -m 0644 ${S}/firasans/OFL.txt ${D}${datadir}/licenses/${PN}sans/OFL.txt
+ install -D -m 0644 ${S}/firasanscondensed/OFL.txt ${D}${datadir}/licenses/${PN}sanscondensed/OFL.txt
+ install -D -m 0644 ${S}/firasansextracondensed/OFL.txt ${D}${datadir}/licenses/${PN}sansextracondensed/OFL.txt
+}
+
+PACKAGES =+ "${PN}-mono ${PN}-code ${PN}-sans ${PN}-sanscondensed ${PN}-sansextracondensed"
+
+FILES:${PN}-mono += " \
+ ${datadir}/fonts/truetype/FiraMono* \
+ ${datadir}/licenses/${PN}mono/OFL.txt \
+ "
+FILES:${PN}-code += " \
+ ${datadir}/fonts/truetype/FiraCode* \
+ ${datadir}/licenses/${PN}code/OFL.txt \
+ "
+FILES:${PN}-sans += " \
+ ${datadir}/fonts/truetype/FiraSans-* \
+ ${datadir}/licenses/${PN}sans/OFL.txt \
+ "
+FILES:${PN}-sanscondensed += " \
+ ${datadir}/fonts/truetype/FiraSansCondensed-* \
+ ${datadir}/licenses/${PN}sanscondensed/OFL.txt \
+ "
+FILES:${PN}-sansextracondensed += " \
+ ${datadir}/fonts/truetype/FiraSansExtraCondensed-* \
+ ${datadir}/licenses/${PN}sansextracondensed/OFL.txt \
+ "
+
+require ttf.inc
diff --git a/meta-oe/recipes-graphics/ttf-fonts/ttf-hunkyfonts_0.3.0.bb b/meta-oe/recipes-graphics/ttf-fonts/ttf-hunkyfonts_0.3.0.bb
deleted file mode 100644
index 5cd9935d66..0000000000
--- a/meta-oe/recipes-graphics/ttf-fonts/ttf-hunkyfonts_0.3.0.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-require ttf.inc
-
-SUMMARY = "Hunky fonts - TTF Version"
-HOMEPAGE = "http://sourceforge.net/projects/hunkyfonts"
-LICENSE = "LGPL"
-LIC_FILES_CHKSUM = "file://../LICENSE;md5=7fbc338309ac38fefcd64b04bb903e34"
-PR = "r7"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/hunkyfonts/hunkyfonts-${PV}.tar.bz2"
-
-S = "${WORKDIR}/hunkyfonts-${PV}/TTF/"
-
-PACKAGES = "ttf-hunky-sans ttf-hunky-serif"
-FONT_PACKAGES = "ttf-hunky-sans ttf-hunky-serif"
-
-FILES_ttf-hunky-sans = "${datadir}/fonts/truetype/HunkySans*.ttf"
-FILES_ttf-hunky-serif = "${datadir}/fonts/truetype/HunkySerif*.ttf"
-
-SRC_URI[md5sum] = "36444795a356fb8a56c63b2840729bab"
-SRC_URI[sha256sum] = "e0b1849c545b6af276407d93025c73094dd74fc259b07c1d91594fdbb9a0b829"
diff --git a/meta-oe/recipes-graphics/ttf-fonts/ttf-hunkyfonts_0.3.1.bb b/meta-oe/recipes-graphics/ttf-fonts/ttf-hunkyfonts_0.3.1.bb
new file mode 100644
index 0000000000..8a75fe38bd
--- /dev/null
+++ b/meta-oe/recipes-graphics/ttf-fonts/ttf-hunkyfonts_0.3.1.bb
@@ -0,0 +1,19 @@
+require ttf.inc
+
+SUMMARY = "Hunky fonts - TTF Version"
+HOMEPAGE = "http://sourceforge.net/projects/hunkyfonts"
+LICENSE = "LGPL-2.1-or-later"
+LIC_FILES_CHKSUM = "file://../COPYRIGHT.TXT;md5=70d34478e38b1ad9995079f9921f9ef7"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/hunkyfonts/hunkyfonts-${PV}.tar.bz2"
+
+S = "${WORKDIR}/hunkyfonts-${PV}/TTF"
+
+PACKAGES = "ttf-hunky-sans ttf-hunky-serif"
+FONT_PACKAGES = "ttf-hunky-sans ttf-hunky-serif"
+
+FILES:ttf-hunky-sans = "${datadir}/fonts/truetype/HunkySans*.ttf"
+FILES:ttf-hunky-serif = "${datadir}/fonts/truetype/HunkySerif*.ttf"
+
+SRC_URI[md5sum] = "b933312967842e5737b5415fa22d682a"
+SRC_URI[sha256sum] = "3fc528737ccd12ec3c09c4a91447d241d3c5bceeeb4d24b7f2c29b15c9735328"
diff --git a/meta-oe/recipes-graphics/ttf-fonts/ttf-inconsolata_20100526.bb b/meta-oe/recipes-graphics/ttf-fonts/ttf-inconsolata_20100526.bb
index 20041bb7b3..43b4614f0b 100644
--- a/meta-oe/recipes-graphics/ttf-fonts/ttf-inconsolata_20100526.bb
+++ b/meta-oe/recipes-graphics/ttf-fonts/ttf-inconsolata_20100526.bb
@@ -3,23 +3,24 @@ require ttf.inc
SUMMARY = "Inconsolata font - TTF Version"
HOMEPAGE = "http://www.levien.com/type/myfonts/inconsolata.html"
LICENSE = "OFL-1.1"
-LIC_FILES_CHKSUM = "file://../OFL.txt;md5=969851e3a70122069a4d9ee61dd5a2ed"
+LIC_FILES_CHKSUM = "file://${UNPACKDIR}/OFL.txt;md5=969851e3a70122069a4d9ee61dd5a2ed"
SRC_URI = "http://levien.com/type/myfonts/Inconsolata.otf \
file://OFL.txt"
-S = "${WORKDIR}/ttf-inconsolata-${PV}"
+S = "${WORKDIR}/sources"
+UNPACKDIR = "${S}"
-FILES_${PN} = "${datadir}/fonts/truetype/Inconsolata.ttf \
+FILES:${PN} = "${datadir}/fonts/truetype/Inconsolata.ttf \
${datadir}/doc/ttf-inconsolata/*"
do_configure() {
- mv ${WORKDIR}/Inconsolata.otf ${S}/Inconsolata.ttf
+ cp -fr ${UNPACKDIR}/Inconsolata.otf ${S}/Inconsolata.ttf
}
-do_install_append() {
+do_install:append() {
install -d ${D}${datadir}/doc/ttf-inconsolata/
- install -m 0644 ${WORKDIR}/OFL.txt ${D}${datadir}/doc/ttf-inconsolata/
+ install -m 0644 ${UNPACKDIR}/OFL.txt ${D}${datadir}/doc/ttf-inconsolata/
}
SRC_URI[md5sum] = "0fbe014c1f0fb5e3c71140ff0dc63edf"
diff --git a/meta-oe/recipes-graphics/ttf-fonts/ttf-ipa_003.03.01.bb b/meta-oe/recipes-graphics/ttf-fonts/ttf-ipa_003.03.01.bb
new file mode 100644
index 0000000000..89c48d5fe2
--- /dev/null
+++ b/meta-oe/recipes-graphics/ttf-fonts/ttf-ipa_003.03.01.bb
@@ -0,0 +1,21 @@
+require ttf.inc
+
+SUMMARY = "Ipa fonts - TTF Version"
+HOMEPAGE = "https://moji.or.jp/ipafont"
+LICENSE = "IPA"
+LICENSE_URL = "https://moji.or.jp/ipafont/license/"
+LIC_FILES_CHKSUM = "file://IPA_Font_License_Agreement_v1.0.txt;md5=6cd3351ba979cf9db1fad644e8221276 \
+"
+SRC_URI = "https://moji.or.jp/wp-content/ipafont/IPAfont/IPAfont00303.zip "
+
+SRC_URI[sha256sum] = "f755ed79a4b8e715bed2f05a189172138aedf93db0f465b4e20c344a02766fe5"
+
+S = "${WORKDIR}/IPAfont00303"
+
+PACKAGES = "ttf-ipag ttf-ipagp ttf-ipam ttf-ipamp"
+FONT_PACKAGES = "ttf-ipag ttf-ipagp ttf-ipam ttf-ipamp"
+
+FILES:ttf-ipag = "${datadir}/fonts/truetype/ipag.ttf"
+FILES:ttf-ipagp = "${datadir}/fonts/truetype/ipagp.ttf"
+FILES:ttf-ipam = "${datadir}/fonts/truetype/ipam.ttf"
+FILES:ttf-ipamp = "${datadir}/fonts/truetype/ipamp.ttf"
diff --git a/meta-oe/recipes-graphics/ttf-fonts/ttf-liberation-sans-narrow_1.07.4.bb b/meta-oe/recipes-graphics/ttf-fonts/ttf-liberation-sans-narrow_1.07.4.bb
index 5b406bc653..a0fb7b6a79 100644
--- a/meta-oe/recipes-graphics/ttf-fonts/ttf-liberation-sans-narrow_1.07.4.bb
+++ b/meta-oe/recipes-graphics/ttf-fonts/ttf-liberation-sans-narrow_1.07.4.bb
@@ -6,7 +6,7 @@ created by Ascender(c) which aims at metric compatibility with \
Arial, Times New Roman, Courier New."
HOMEPAGE = "https://fedorahosted.org/liberation-fonts/"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
SRC_URI = "https://releases.pagure.org/liberation-fonts/liberation-fonts-ttf-${PV}.tar.gz \
@@ -18,15 +18,17 @@ SRC_URI[sha256sum] = "61a7e2b6742a43c73e8762cdfeaf6dfcf9abdd2cfa0b099a9854d69bc4
S = "${WORKDIR}/liberation-fonts-ttf-${PV}"
-do_install_append () {
+do_install:append () {
install -d ${D}${datadir}/fonts/TTF/
install -d ${D}${sysconfdir}/fonts/conf.d/
install -m 0644 LiberationSansNarrow*.ttf ${D}${datadir}/fonts/TTF/
- install -D -m 0644 ${WORKDIR}/30-0-liberation-sans-narrow.conf ${D}${sysconfdir}/conf.avail/30-${PN}-sans.conf
+ install -D -m 0644 ${UNPACKDIR}/30-0-liberation-sans-narrow.conf ${D}${sysconfdir}/conf.avail/30-${PN}-sans.conf
install -D -m 0644 ${S}/License.txt ${D}${datadir}/licenses/${PN}/LICENSE
+ # normal liberation fonts come from ttf-liberation recipe so delete here
+ rm -rf ${D}${datadir}/fonts/truetype
}
PACKAGES = "${PN}"
FONT_PACKAGES = "${PN}"
-FILES_${PN} = "${datadir}/fonts ${sysconfdir} ${datadir}/licenses"
+FILES:${PN} = "${datadir}/fonts ${sysconfdir} ${datadir}/licenses"
diff --git a/meta-oe/recipes-graphics/ttf-fonts/ttf-liberation_0.2.bb b/meta-oe/recipes-graphics/ttf-fonts/ttf-liberation_0.2.bb
index 7204c926ae..6d7ba11e73 100644
--- a/meta-oe/recipes-graphics/ttf-fonts/ttf-liberation_0.2.bb
+++ b/meta-oe/recipes-graphics/ttf-fonts/ttf-liberation_0.2.bb
@@ -2,12 +2,11 @@ require ttf.inc
SUMMARY = "Liberation fonts - TTF Version"
HOMEPAGE = "https://www.redhat.com/promo/fonts/"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
file://License.txt;md5=5b171c5100029d884fcea21d9a2b7543 \
"
-PR = "r7"
SRC_URI = "http://fedorahosted.org/liberation-fonts/export/807b6dfd069b998cd9b4d3158da98817ef23c79d/F-9/liberation-fonts-ttf-3.tar.gz"
S = "${WORKDIR}/liberation-fonts-${PV}"
@@ -15,9 +14,9 @@ S = "${WORKDIR}/liberation-fonts-${PV}"
PACKAGES = "ttf-liberation-mono ttf-liberation-sans ttf-liberation-serif"
FONT_PACKAGES = "ttf-liberation-mono ttf-liberation-sans ttf-liberation-serif"
-FILES_ttf-liberation-mono = "${datadir}/fonts/truetype/*Mono*"
-FILES_ttf-liberation-sans = "${datadir}/fonts/truetype/*Sans*"
-FILES_ttf-liberation-serif = "${datadir}/fonts/truetype/*Serif*"
+FILES:ttf-liberation-mono = "${datadir}/fonts/truetype/*Mono*"
+FILES:ttf-liberation-sans = "${datadir}/fonts/truetype/*Sans*"
+FILES:ttf-liberation-serif = "${datadir}/fonts/truetype/*Serif*"
SRC_URI[md5sum] = "77728078a17e39f7c242b42c3bf6feb8"
SRC_URI[sha256sum] = "174cf27c57612971434ec8cc4a52bfd37bad8408e9b9219539c6d5113df6ff8f"
diff --git a/meta-oe/recipes-graphics/ttf-fonts/ttf-lklug_0.6-14.20090803cvs.fc24.bb b/meta-oe/recipes-graphics/ttf-fonts/ttf-lklug_0.6-14.20090803cvs.fc24.bb
index 2ef6c57e18..65d0f0bb35 100644
--- a/meta-oe/recipes-graphics/ttf-fonts/ttf-lklug_0.6-14.20090803cvs.fc24.bb
+++ b/meta-oe/recipes-graphics/ttf-fonts/ttf-lklug_0.6-14.20090803cvs.fc24.bb
@@ -2,18 +2,18 @@ require ttf.inc
SUMMARY = "Fonts for Sinhala language - TTF Edition"
HOMEPAGE = "http://rpms.famillecollet.com/rpmphp/zoom.php?rpm=lklug-fonts"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
-SRC_URI = "http://dl.fedoraproject.org/pub/fedora/linux/releases/24/Everything/source/tree/Packages/l/lklug-fonts-0.6-14.20090803cvs.fc24.src.rpm;extract=lklug-20090803.tar.gz"
-SRC_URI[md5sum] = "3341dfb997043d234ab3f6e5a965e759"
-SRC_URI[sha256sum] = "f54c1f3b4df08995982657fed290b562556191fee2a0386afd9e8bf228f72b1a"
+SRC_URI = "https://src.fedoraproject.org/repo/pkgs/lklug-fonts/lklug-20090803.tar.gz/b6e0daaf8cf41208fd2a7bc04fb23f84/lklug-20090803.tar.gz"
+SRC_URI[sha256sum] = "de5750f7048973f851961050f76b8b58e9bda400d5007c3078d9317fbe2ff5fd"
DEPENDS = "fontforge-native"
-S = "${WORKDIR}"
+S = "${WORKDIR}/sources"
+UNPACKDIR = "${S}"
FONT_PACKAGES = "${PN}"
-FILES_${PN} = "${datadir}"
+FILES:${PN} = "${datadir}"
do_compile() {
fontforge ${S}/convert.ff lklug
diff --git a/meta-oe/recipes-graphics/ttf-fonts/ttf-lohit_2.bb b/meta-oe/recipes-graphics/ttf-fonts/ttf-lohit_2.92.1.bb
index f9679d606e..8340cccbb4 100644
--- a/meta-oe/recipes-graphics/ttf-fonts/ttf-lohit_2.bb
+++ b/meta-oe/recipes-graphics/ttf-fonts/ttf-lohit_2.92.1.bb
@@ -7,15 +7,15 @@ HOMEPAGE = "https://fedorahosted.org/lohit"
LICENSE = "OFL-1.1"
LIC_FILES_CHKSUM = "file://OFL.txt;md5=7dfa0a236dc535ad2d2548e6170c4402"
-SRCREV = "d678f1b1807ea5602586279e90b5db6d62ed475e"
-SRC_URI = "git://github.com/pravins/lohit.git;branch=master"
+SRCREV = "a403c9b7f509dad5e58dde85ef63b1c36fde3a21"
+SRC_URI = "git://github.com/pravins/lohit.git;branch=master;protocol=https"
DEPENDS = "fontforge-native"
S = "${WORKDIR}/git"
FONT_PACKAGES = "${PN}"
-FILES_${PN} = "${datadir}"
+FILES:${PN} = "${datadir}"
-inherit pythonnative
+inherit python3native
do_compile() {
cd ${S}; make ttf;
diff --git a/meta-oe/recipes-graphics/ttf-fonts/ttf-mplus_027.bb b/meta-oe/recipes-graphics/ttf-fonts/ttf-mplus_027.bb
index 9ad348d9fa..a3babe90a5 100644
--- a/meta-oe/recipes-graphics/ttf-fonts/ttf-mplus_027.bb
+++ b/meta-oe/recipes-graphics/ttf-fonts/ttf-mplus_027.bb
@@ -2,20 +2,18 @@ require ttf.inc
SUMMARY = "MPlus font - TTF Edition"
HOMEPAGE = "http://dejavu.sourceforge.net/wiki/"
-LICENSE = "${PN}"
+LICENSE = "${BPN}"
LIC_FILES_CHKSUM = "file://LICENSE_E;md5=ac161e96eda00db9a3aec7870b5d9658 \
file://LICENSE_J;md5=a120ca8d7c8e4a475d5277c9aeb95221 \
"
-PR = "r4"
-
-SRC_URI = "http://osdn.dl.sourceforge.jp/mplus-fonts/6650/mplus-TESTFLIGHT-${PV}.tar.gz"
+SRC_URI = "http://downloads.sourceforge.jp/mplus-fonts/6650/mplus-TESTFLIGHT-${PV}.tar.gz"
S = "${WORKDIR}/mplus-TESTFLIGHT-${PV}"
-PACKAGESPLITFUNCS_prepend = "split_ttf_mplus_packages "
+PACKAGESPLITFUNCS:prepend = "split_ttf_mplus_packages "
python split_ttf_mplus_packages() {
plugindir = d.expand('${datadir}/fonts/ttf-mplus/')
- packages = do_split_packages(d, plugindir, '^(.*)\.ttf$', 'ttf-%s', 'TTF Font %s')
+ packages = do_split_packages(d, plugindir, r'^(.*)\.ttf$', 'ttf-%s', 'TTF Font %s')
d.setVar('FONT_PACKAGES', ' '.join(packages))
}
diff --git a/meta-oe/recipes-graphics/ttf-fonts/ttf-noto-emoji_20200916.bb b/meta-oe/recipes-graphics/ttf-fonts/ttf-noto-emoji_20200916.bb
new file mode 100644
index 0000000000..9d6a9a6c2e
--- /dev/null
+++ b/meta-oe/recipes-graphics/ttf-fonts/ttf-noto-emoji_20200916.bb
@@ -0,0 +1,19 @@
+require ttf.inc
+
+SUMMARY = "Google noto emoji font pack"
+HOMEPAGE = "https://github.com/googlefonts/noto-emoji"
+LICENSE = "OFL-1.1"
+LIC_FILES_CHKSUM = "file://fonts/LICENSE;md5=55719faa0112708e946b820b24b14097"
+
+SRC_URI = "git://github.com/googlefonts/noto-emoji;branch=main;protocol=https"
+SRCREV = "aac7ccaa4d1dea4543453b96f7d6fc47066a57ff"
+
+PACKAGES = "${PN}-color ${PN}-regular"
+FONT_PACKAGES = "${PN}-color ${PN}-regular"
+
+S = "${WORKDIR}/git"
+
+FILES:${PN}-color = "${datadir}/fonts/truetype/NotoColorEmoji.ttf"
+FILES:${PN}-regular = "${datadir}/fonts/truetype/NotoEmoji-Regular.ttf"
+
+do_compile[noexec] = "1"
diff --git a/meta-oe/recipes-graphics/ttf-fonts/ttf-pt-sans_1.1.bb b/meta-oe/recipes-graphics/ttf-fonts/ttf-pt-sans_1.1.bb
index ac60a365f0..fce76418f9 100644
--- a/meta-oe/recipes-graphics/ttf-fonts/ttf-pt-sans_1.1.bb
+++ b/meta-oe/recipes-graphics/ttf-fonts/ttf-pt-sans_1.1.bb
@@ -5,7 +5,7 @@ HOMEPAGE = "http://www.paratype.com/public/"
SECTION = "x11/fonts"
LICENSE = "ParaTypeFFL-1.3"
-LIC_FILES_CHKSUM = "file://../PT%20Free%20Font%20License_eng.txt;md5=d720f3a281ed81c3f4cfc465e11b1d0d"
+LIC_FILES_CHKSUM = "file://${UNPACKDIR}/PT%20Free%20Font%20License_eng.txt;md5=d720f3a281ed81c3f4cfc465e11b1d0d"
inherit allarch fontcache
@@ -16,17 +16,18 @@ SRC_URI = "http://pkgs.fedoraproject.org/repo/pkgs/paratype-pt-sans-fonts/PTSans
SRC_URI[md5sum] = "c3f5a0e20a75cf628387510a720924a7"
SRC_URI[sha256sum] = "0164f824e03c32c99e8a225853ec168893a04a09ade132e93a674e85ae033b2e"
+S = "${UNPACKDIR}"
+
do_install () {
install -d ${D}${datadir}/fonts/X11/TTF/
- cd ..
for i in *.ttf; do
install -m 0644 $i ${D}${prefix}/share/fonts/X11/TTF/${i}
done
}
-FILES_${PN} += "${datadir}"
+FILES:${PN} += "${datadir}"
-pkg_postinst_${PN} () {
+pkg_postinst:${PN} () {
set -x
for fontdir in `find $D/usr/lib/X11/fonts -type d`; do
mkfontdir $fontdir
diff --git a/meta-oe/recipes-graphics/ttf-fonts/ttf-roboto_2.138.bb b/meta-oe/recipes-graphics/ttf-fonts/ttf-roboto_2.138.bb
new file mode 100644
index 0000000000..3752ec39bc
--- /dev/null
+++ b/meta-oe/recipes-graphics/ttf-fonts/ttf-roboto_2.138.bb
@@ -0,0 +1,15 @@
+require ttf.inc
+
+SUMMARY = "Roboto fonts"
+HOMEPAGE = "https://fonts.google.com/specimen/Roboto"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
+
+SRC_URI = "https://github.com/google/roboto/releases/download/v${PV}/roboto-android.zip"
+SRC_URI[md5sum] = "3b43a5cb33196ec25e44d5fcb40219e1"
+SRC_URI[sha256sum] = "c825453253f590cfe62557733e7173f9a421fff103b00f57d33c4ad28ae53baf"
+
+S = "${WORKDIR}/sources"
+UNPACKDIR = "${S}"
+
+FILES:${PN} = "${datadir}/fonts/truetype/*.ttf"
diff --git a/meta-oe/recipes-graphics/ttf-fonts/ttf-sazanami_20040629.bb b/meta-oe/recipes-graphics/ttf-fonts/ttf-sazanami_20040629.bb
index efdcec8404..a4ad91fc77 100644
--- a/meta-oe/recipes-graphics/ttf-fonts/ttf-sazanami_20040629.bb
+++ b/meta-oe/recipes-graphics/ttf-fonts/ttf-sazanami_20040629.bb
@@ -1,15 +1,13 @@
require ttf.inc
SUMMARY = "Sazanami Gothic/Mincho Japanese TrueType fonts"
-SUMMARY_ttf-sazanami-gothic = "Sazanami Gothic Japanese TrueType font"
-SUMMARY_ttf-sazanami-mincho = "Sazanami Mincho Japanese TrueType font"
-AUTHOR = "Electronic Font Open Laboratory (/efont/)"
+SUMMARY:ttf-sazanami-gothic = "Sazanami Gothic Japanese TrueType font"
+SUMMARY:ttf-sazanami-mincho = "Sazanami Mincho Japanese TrueType font"
HOMEPAGE = "http://sourceforge.jp/projects/efont/"
LICENSE = "PD"
LIC_FILES_CHKSUM = "file://README;md5=97d739900be6e852830f55aa3c07d4a0"
-SRC_DISTRIBUTE_LICENSES += "${PN}"
-RPROVIDES_${PN} = "virtual-japanese-font"
-PR = "r9"
+
+RPROVIDES:${PN} = "virtual-japanese-font"
SRC_URI = "http://osdn.dl.sourceforge.jp/efont/10087/sazanami-20040629.tar.bz2"
S = "${WORKDIR}/sazanami-20040629"
@@ -17,12 +15,12 @@ S = "${WORKDIR}/sazanami-20040629"
PACKAGES = "ttf-sazanami-gothic ttf-sazanami-mincho"
FONT_PACKAGES = "ttf-sazanami-gothic ttf-sazanami-mincho"
-FILES_ttf-sazanami-gothic = "${datadir}/fonts/truetype/sazanami-gothic.ttf \
+FILES:ttf-sazanami-gothic = "${datadir}/fonts/truetype/sazanami-gothic.ttf \
${datadir}/doc/ttf-sazanami-gothic/README"
-FILES_ttf-sazanami-mincho = "${datadir}/fonts/truetype/sazanami-mincho.ttf \
+FILES:ttf-sazanami-mincho = "${datadir}/fonts/truetype/sazanami-mincho.ttf \
${datadir}/doc/ttf-sazanami-mincho/README"
-do_install_append() {
+do_install:append() {
# README contains the redistribution license
install -d ${D}${datadir}/doc/
install -d ${D}${datadir}/doc/ttf-sazanami-gothic
diff --git a/meta-oe/recipes-graphics/takao-fonts/takao-fonts_003.03.01.bb b/meta-oe/recipes-graphics/ttf-fonts/ttf-takao_003.03.01.bb
index d99ff144be..be0e544ccc 100644
--- a/meta-oe/recipes-graphics/takao-fonts/takao-fonts_003.03.01.bb
+++ b/meta-oe/recipes-graphics/ttf-fonts/ttf-takao_003.03.01.bb
@@ -1,3 +1,5 @@
+require ttf.inc
+
SUMMARY = "Takao Fonts are a community developed derivatives of IPA Fonts."
DESCRIPTION = "Takao Fonts are a community developed derivatives of IPA Fonts."
@@ -6,14 +8,18 @@ SECTION = "User Interface/X"
LICENSE = "IPA"
LIC_FILES_CHKSUM = "file://IPA_Font_License_Agreement_v1.0.txt;md5=6cd3351ba979cf9db1fad644e8221276"
+
SRC_URI = "https://launchpad.net/${BPN}/trunk/15.03/+download/TakaoFonts_00303.01.tar.xz"
-SRC_URI[md5sum] = "8cd3fe724faa5034a9369e98cf108d2d"
SRC_URI[sha256sum] = "e9871f72ac69acb3e277aebbee7ca01fbebf54800733e29fafdc46133fc3552f"
S = "${WORKDIR}/TakaoFonts_00303.01"
-do_install() {
- install -m 0755 -d ${D}/${datadir}/fonts
- install -m 0644 -p ${S}/*.ttf ${D}/${datadir}/fonts/
-}
-FILES_${PN} += "${datadir}/fonts/*.ttf"
+PACKAGES = "ttf-takao-pgothic ttf-takao-gothic ttf-takao-pmincho ttf-takao-mincho"
+FONT_PACKAGES = "ttf-takao-pgothic ttf-takao-gothic ttf-takao-pmincho ttf-takao-mincho"
+
+FILES:ttf-takao-pgothic = "${datadir}/fonts/truetype/TakaoPGothic.ttf"
+FILES:ttf-takao-gothic = "${datadir}/fonts/truetype/TakaoGothic.ttf"
+FILES:ttf-takao-pmincho = "${datadir}/fonts/truetype/TakaoPMincho.ttf"
+FILES:ttf-takao-mincho = "${datadir}/fonts/truetype/TakaoMincho.ttf"
+
+FILES:${PN} += "${datadir}/fonts/*.ttf"
diff --git a/meta-oe/recipes-graphics/ttf-fonts/ttf-tlwg_0.6.1.bb b/meta-oe/recipes-graphics/ttf-fonts/ttf-tlwg_0.6.1.bb
index 06a3fe5338..0131a62eef 100644
--- a/meta-oe/recipes-graphics/ttf-fonts/ttf-tlwg_0.6.1.bb
+++ b/meta-oe/recipes-graphics/ttf-fonts/ttf-tlwg_0.6.1.bb
@@ -1,10 +1,9 @@
require ttf.inc
SUMMARY = "Thai Linux Working Group Fonts"
-AUTHOR = "Thai Linux Working Group"
HOMEPAGE = "http://linux.thai.net/projects/fonts-tlwg"
-LICENSE = "GPLv2 & TLWG"
-LIC_FILES_CHKSUM = "file://../fonts-tlwg-${PV}/COPYING;md5=3d20cd7eadf4afd5460c0adb32e387fd"
+LICENSE = "GPL-2.0-only & TLWG"
+LIC_FILES_CHKSUM = "file://${UNPACKDIR}/fonts-tlwg-${PV}/COPYING;md5=3d20cd7eadf4afd5460c0adb32e387fd"
SRC_URI = "http://linux.thai.net/pub/ThaiLinux/software/fonts-tlwg/fonts-tlwg-${PV}.tar.xz;name=source \
http://linux.thai.net/pub/ThaiLinux/software/ttf-tlwg/ttf-tlwg-${PV}.tar.xz;name=ttf"
@@ -13,7 +12,7 @@ SRC_URI[source.sha256sum] = "77fb9832221fde60c9f683ac3fdce7d45ab6e9c0d83df83da96
SRC_URI[ttf.md5sum] = "1bc51f45a7b661404a944fab6911261c"
SRC_URI[ttf.sha256sum] = "aa9cd68969b6f704df3e5b1a2e11204c47f118c8ab052f04c111bd5f299f77c8"
-do_install_append () {
+do_install:append () {
install -d ${D}${sysconfdir}/fonts/conf.d
for x in ${S}/etc/fonts/conf.avail/*.conf; do
@@ -24,4 +23,4 @@ do_install_append () {
PACKAGES = "${PN}"
FONT_PACKAGES = "${PN}"
-FILES_${PN} = "${datadir}/fonts ${sysconfdir}"
+FILES:${PN} = "${datadir}/fonts ${sysconfdir}"
diff --git a/meta-oe/recipes-graphics/ttf-fonts/ttf-ubuntu-font-family_0.80.bb b/meta-oe/recipes-graphics/ttf-fonts/ttf-ubuntu-font-family_0.80.bb
deleted file mode 100644
index d5d1b9a177..0000000000
--- a/meta-oe/recipes-graphics/ttf-fonts/ttf-ubuntu-font-family_0.80.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-require ttf.inc
-
-SUMMARY = "Ubuntu Font Family - TTF Version"
-HOMEPAGE = "http://font.ubuntu.com"
-LICENSE = "UFL"
-LIC_FILES_CHKSUM = "file://LICENCE.txt;md5=325a1a9029112a2405e743c7f816427b"
-PR = "r1"
-
-SRC_URI = "http://font.ubuntu.com/download/ubuntu-font-family-${PV}.zip"
-
-SRC_URI[md5sum] = "a1fc70f5a5b1d096ab8310886cddaa1c"
-SRC_URI[sha256sum] = "107170099bbc3beae8602b97a5c423525d363106c3c24f787d43e09811298e4c"
-
-S = "${WORKDIR}/ubuntu-font-family-${PV}"
-
-PACKAGES = "ttf-ubuntu-mono ttf-ubuntu-sans"
-FONT_PACKAGES = "ttf-ubuntu-mono ttf-ubuntu-sans"
-
-FILES_ttf-ubuntu-mono = "${datadir}/fonts/truetype/*Mono*"
-FILES_ttf-ubuntu-sans = "${datadir}/fonts/truetype/Ubuntu-*"
diff --git a/meta-oe/recipes-graphics/ttf-fonts/ttf-ubuntu-font-family_0.83.bb b/meta-oe/recipes-graphics/ttf-fonts/ttf-ubuntu-font-family_0.83.bb
new file mode 100644
index 0000000000..0c29a20cdd
--- /dev/null
+++ b/meta-oe/recipes-graphics/ttf-fonts/ttf-ubuntu-font-family_0.83.bb
@@ -0,0 +1,25 @@
+require ttf.inc
+
+SUMMARY = "Ubuntu Font Family - TTF Version"
+HOMEPAGE = "http://font.ubuntu.com"
+LICENSE = "UFL"
+LIC_FILES_CHKSUM = "file://LICENCE.txt;md5=325a1a9029112a2405e743c7f816427b"
+
+SHA1SUM = "0cef8205"
+
+SRC_URI = "https://assets.ubuntu.com/v1/${SHA1SUM}-ubuntu-font-family-${PV}.zip"
+
+
+SRC_URI[md5sum] = "c5a5059d6856b4ddf79d824dcaf5ad32"
+SRC_URI[sha256sum] = "61a2b342526fd552f19fef438bb9211a8212de19ad96e32a1209c039f1d68ecf"
+
+UPSTREAM_CHECK_URI = "https://repology.org/project/fonts:ubuntu/packages"
+UPSTREAM_CHECK_REGEX = "${BPN}-(?P<pver>\d+(\.\d+)+)"
+
+S = "${WORKDIR}/ubuntu-font-family-${PV}"
+
+PACKAGES = "ttf-ubuntu-mono ttf-ubuntu-sans"
+FONT_PACKAGES = "ttf-ubuntu-mono ttf-ubuntu-sans"
+
+FILES:ttf-ubuntu-mono = "${datadir}/fonts/truetype/*Mono*"
+FILES:ttf-ubuntu-sans = "${datadir}/fonts/truetype/Ubuntu-*"
diff --git a/meta-oe/recipes-graphics/ttf-fonts/ttf-vlgothic_20141206.bb b/meta-oe/recipes-graphics/ttf-fonts/ttf-vlgothic_20200720.bb
index 62f2bb2805..4cc5afd4a7 100644
--- a/meta-oe/recipes-graphics/ttf-fonts/ttf-vlgothic_20141206.bb
+++ b/meta-oe/recipes-graphics/ttf-fonts/ttf-vlgothic_20200720.bb
@@ -1,22 +1,20 @@
require ttf.inc
SUMMARY = "Japanese TrueType fonts from Vine Linux"
-AUTHOR = "Contributor: noonov <noonov@gmail.com>"
HOMEPAGE = "http://vlgothic.dicey.org/"
-LICENSE = "mplus & BSD"
-LIC_FILES_CHKSUM = "file://LICENSE.en;md5=66ecd0fd7e4da6246fa30317c7b66755 \
+LICENSE = "ttf-mplus & BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE.en;md5=cc06b20e7a20bdf6c989624405378303 \
file://LICENSE_E.mplus;md5=1c4767416f20215f1e61b970f2117db9 \
"
SRC_URI = "https://osdn.jp/dl/vlgothic/VLGothic-${PV}.tar.xz"
-SRC_URI[md5sum] = "bb7fadb2dff09a4fb6a11dc9dfdc0c36"
-SRC_URI[sha256sum] = "982040db2f9cb73d7c6ab7d9d163f2ed46d1180f330c9ba2fae303649bf8102d"
+SRC_URI[sha256sum] = "297a3813675fbea12c5813b55a78091c9a5946515ecbf9fde8b8102e01c579f4"
S = "${WORKDIR}/VLGothic"
-do_install_append () {
+do_install:append () {
install -D -m644 ${S}/LICENSE_E.mplus ${D}${datadir}/licenses/${PN}/COPYING_MPLUS.txt
install -D -m644 ${S}/README.sazanami ${D}${datadir}/licenses/${PN}/COPYING_SAZANAMI.txt
install -D -m644 ${S}/LICENSE.en ${D}${datadir}/licenses/${PN}/COPYING_VLGOTHIC.txt
@@ -25,4 +23,4 @@ do_install_append () {
PACKAGES = "${PN}"
FONT_PACKAGES = "${PN}"
-FILES_${PN} = "${datadir}/fonts/truetype ${datadir}/licenses"
+FILES:${PN} = "${datadir}/fonts/truetype ${datadir}/licenses"
diff --git a/meta-oe/recipes-graphics/ttf-fonts/ttf-wqy-zenhei_0.9.45.bb b/meta-oe/recipes-graphics/ttf-fonts/ttf-wqy-zenhei_0.9.45.bb
index 1207a61b84..e2925b6c95 100644
--- a/meta-oe/recipes-graphics/ttf-fonts/ttf-wqy-zenhei_0.9.45.bb
+++ b/meta-oe/recipes-graphics/ttf-fonts/ttf-wqy-zenhei_0.9.45.bb
@@ -1,18 +1,20 @@
require ttf.inc
SUMMARY = "WenQuanYi Zen Hei - A Hei-Ti Style Chinese font"
-AUTHOR = "Qianqian Fang and The WenQuanYi Project Contributors"
HOMEPAGE = "http://wenq.org/"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=cf540fc7d35b5777e36051280b3a911c"
SRC_URI = "${SOURCEFORGE_MIRROR}/wqy/wqy-zenhei-${PV}.tar.gz"
SRC_URI[md5sum] = "4c6c3f4e902dd5ee0a121e8c41d040bd"
SRC_URI[sha256sum] = "e4b7e306475bf9427d1757578f0e4528930c84c44eaa3f167d4c42f110ee75d6"
+UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/wqy/files/wqy-zenhei/"
+UPSTREAM_CHECK_REGEX = "wqy-zenhei/(?P<pver>\d+(\.\d+)+)"
+
S = "${WORKDIR}/wqy-zenhei"
-do_install_append () {
+do_install:append () {
sed -i -e '/<string>[^W]/d' ${S}/44-wqy-zenhei.conf
install -d ${D}${sysconfdir}/fonts/conf.d
@@ -24,4 +26,4 @@ do_install_append () {
PACKAGES = "${PN}"
FONT_PACKAGES = "${PN}"
-FILES_${PN} = "${datadir}/fonts ${sysconfdir}"
+FILES:${PN} = "${datadir}/fonts ${sysconfdir}"
diff --git a/meta-oe/recipes-graphics/unclutter-xfixes/unclutter-xfixes/0001-build-use-autotools.patch b/meta-oe/recipes-graphics/unclutter-xfixes/unclutter-xfixes/0001-build-use-autotools.patch
new file mode 100644
index 0000000000..0c9fe62b1f
--- /dev/null
+++ b/meta-oe/recipes-graphics/unclutter-xfixes/unclutter-xfixes/0001-build-use-autotools.patch
@@ -0,0 +1,238 @@
+From 2a5cf5021b56bc92c9953d2c82e8c90502d22c97 Mon Sep 17 00:00:00 2001
+From: Bartosz Golaszewski <bgolaszewski@baylibre.com>
+Date: Fri, 13 Sep 2019 10:20:53 +0200
+Subject: [PATCH] build: use autotools
+
+This removes the hand-crafted Makefile in favor of standardized autotools
+build configuration. This is done to allow for easy cross-compilation of
+this project.
+
+Upstream-Status: Submitted
+
+Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
+---
+ .gitignore | 17 ++++++++++++
+ Makefile | 66 ---------------------------------------------
+ Makefile.am | 10 +++++++
+ configure.ac | 36 +++++++++++++++++++++++++
+ include/Makefile.am | 9 +++++++
+ man/Makefile.am | 7 +++++
+ obj/.gitkeep | 0
+ src/Makefile.am | 13 +++++++++
+ 8 files changed, 92 insertions(+), 66 deletions(-)
+ delete mode 100644 Makefile
+ create mode 100644 Makefile.am
+ create mode 100644 configure.ac
+ create mode 100644 include/Makefile.am
+ create mode 100644 man/Makefile.am
+ delete mode 100644 obj/.gitkeep
+ create mode 100644 src/Makefile.am
+
+diff --git a/.gitignore b/.gitignore
+index af88e94..4e7355a 100644
+--- a/.gitignore
++++ b/.gitignore
+@@ -3,3 +3,20 @@ obj/*.o
+ man/*.1
+ man/*.xml
+ test/GLOB*
++*.o
++
++# autotools stuff
++.deps/
++Makefile
++Makefile.in
++aclocal.m4
++autom4te.cache/
++autostuff/
++config.h
++config.h.in
++config.h.in~
++config.log
++config.status
++configure
++m4/
++stamp-h1
+diff --git a/Makefile b/Makefile
+deleted file mode 100644
+index 6264da0..0000000
+--- a/Makefile
++++ /dev/null
+@@ -1,66 +0,0 @@
+-TARGET = unclutter
+-VERSION = 1.6
+-SDIR = src
+-IDIR = include
+-ODIR = obj
+-
+-INSTALL = install
+-PREFIX = /usr
+-
+-BINDIR = $(PREFIX)/bin
+-MANDIR = $(PREFIX)/share/man/man1
+-LICENSEDIR = $(PREFIX)/share/licenses/$(TARGET)
+-
+-CC = gcc
+-LD = $(CC)
+-PKG_CONFIG = pkg-config
+-
+-CPPFLAGS += -D'__VERSION="${VERSION}"' "-I$(IDIR)"
+-
+-CFLAGS += -std=gnu99
+-CFLAGS += -Wall -Wundef -Wshadow -Wformat-security
+-
+-LDFLAGS += $(shell $(PKG_CONFIG) --libs x11 xi xfixes)
+-# libev has no pkg-config support
+-LDFLAGS += -lev
+-
+-INCS = $(wildcard $(IDIR)/*.h)
+-SRCS = $(wildcard $(SDIR)/*.c)
+-OBJS = $(patsubst %,$(ODIR)/%,$(notdir $(SRCS:.c=.o)))
+-
+-MANS = man/unclutter-xfixes.1
+-
+-.NOTPARALLEL:
+-
+-.PHONY: all
+-all: clean $(TARGET) mans
+-
+-.PHONY: $(TARGET)
+-$(TARGET): $(OBJS)
+- $(LD) $(OBJS) $(LDFLAGS) -o "$(TARGET)"
+-
+-$(ODIR)/%.o: $(SDIR)/%.c $(INCS)
+- $(CC) $(CPPFLAGS) $(CFLAGS) -o "$@" -c "$<"
+-
+-.PHONY: install
+-install: $(TARGET) mans
+- $(INSTALL) -Dm 0755 "$(TARGET)" "$(DESTDIR)$(BINDIR)/$(TARGET)"
+- $(INSTALL) -Dm 0644 man/unclutter-xfixes.1 "$(DESTDIR)$(MANDIR)/unclutter.1"
+- $(INSTALL) -Dm 0644 -t "$(DESTDIR)$(LICENSEDIR)/" LICENSE
+-
+-.PHONY: uninstall
+-uninstall:
+- $(RM) "$(DESTDIR)$(BINDIR)/$(TARGET)"
+- $(RM) "$(DESTDIR)$(MANDIR)/unclutter.1"
+- $(RM) "$(DESTDIR)$(LICENSEDIR)/LICENSE"
+-
+-.PHONY: mans
+-mans: $(MANS)
+-
+-$(MANS): %.1: %.man
+- a2x --no-xmllint -f manpage "$<"
+-
+-.PHONY: clean
+-clean:
+- $(RM) $(TARGET) $(OBJS)
+- $(RM) man/*.1 man/*.xml
+diff --git a/Makefile.am b/Makefile.am
+new file mode 100644
+index 0000000..38ecaa1
+--- /dev/null
++++ b/Makefile.am
+@@ -0,0 +1,10 @@
++ACLOCAL_AMFLAGS = -I m4
++AUTOMAKE_OPTIONS = foreign
++SUBDIRS = include src
++
++if HAS_A2X
++SUBDIRS += man
++endif
++
++licensedir = $(datadir)/licenses/unclutter
++license_DATA = LICENSE
+diff --git a/configure.ac b/configure.ac
+new file mode 100644
+index 0000000..1d59197
+--- /dev/null
++++ b/configure.ac
+@@ -0,0 +1,36 @@
++AC_PREREQ(2.61)
++
++AC_INIT([unclutter-xfixes], 1.6)
++AC_DEFINE_UNQUOTED([VERSION], ["$PACKAGE_VERSION"])
++
++AC_CONFIG_AUX_DIR([autostuff])
++AC_CONFIG_MACRO_DIRS([m4])
++AM_INIT_AUTOMAKE([foreign subdir-objects])
++
++m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
++
++AC_CONFIG_SRCDIR([src])
++AC_CONFIG_HEADER([config.h])
++
++AM_PROG_AR
++AC_PROG_CC
++AC_PROG_INSTALL
++
++# libev has no pkg-config support
++AC_CHECK_HEADERS([ev.h], [], [AC_MSG_ERROR([ev.h not found - please install libev])])
++
++PKG_CHECK_MODULES([X11], [x11 xi xfixes])
++
++AC_CHECK_PROG([has_a2x], [a2x], [true], [false])
++AM_CONDITIONAL([HAS_A2X], [test "x$has_a2x" = xtrue])
++if test "x$has_a2x" = xfalse
++then
++ AC_MSG_NOTICE([a2x not found - needed to generate man pages])
++fi
++
++AC_CONFIG_FILES([Makefile
++ include/Makefile
++ src/Makefile
++ man/Makefile])
++
++AC_OUTPUT
+diff --git a/include/Makefile.am b/include/Makefile.am
+new file mode 100644
+index 0000000..90d8bbc
+--- /dev/null
++++ b/include/Makefile.am
+@@ -0,0 +1,9 @@
++noinst_HEADERS = \
++ all.h \
++ cursor.h \
++ event.h \
++ extensions.h \
++ externals.h \
++ globals.h \
++ types.h \
++ util.h
+diff --git a/man/Makefile.am b/man/Makefile.am
+new file mode 100644
+index 0000000..7856e6a
+--- /dev/null
++++ b/man/Makefile.am
+@@ -0,0 +1,7 @@
++unclutter-xfixes.1:
++ a2x --no-xmllint -f manpage unclutter-xfixes.man
++
++dist_man1_MANS = unclutter-xfixes.1
++
++clean-local:
++ rm -f unclutter-xfixes.1
+diff --git a/obj/.gitkeep b/obj/.gitkeep
+deleted file mode 100644
+index e69de29..0000000
+diff --git a/src/Makefile.am b/src/Makefile.am
+new file mode 100644
+index 0000000..c7f0729
+--- /dev/null
++++ b/src/Makefile.am
+@@ -0,0 +1,13 @@
++AM_CFLAGS = -D'__VERSION="${VERSION}"' "-I$(top_srcdir)/include"
++AM_CFLAGS += -std=gnu99 -Wall -Wundef -Wshadow -Wformat-security
++AM_CFLAGS += $(X11_CFLAGS)
++AM_LDFLAGS = -lev $(X11_LIBS)
++
++bin_PROGRAMS = unclutter
++
++unclutter_SOURCES = \
++ cursor.c \
++ event.c \
++ extensions.c \
++ unclutter.c \
++ util.c
+--
+2.21.0
+
diff --git a/meta-oe/recipes-graphics/unclutter-xfixes/unclutter-xfixes_1.6.bb b/meta-oe/recipes-graphics/unclutter-xfixes/unclutter-xfixes_1.6.bb
new file mode 100644
index 0000000000..e80aebc89b
--- /dev/null
+++ b/meta-oe/recipes-graphics/unclutter-xfixes/unclutter-xfixes_1.6.bb
@@ -0,0 +1,22 @@
+SUMMARY = "Remove idle cursor image from screen."
+DESCRIPTION = "This is a rewrite of the popular tool unclutter, but using the x11-xfixes extension."
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=b25d2c4cca175f44120d1b8e67cb358d"
+
+SRC_URI = "git://github.com/Airblader/unclutter-xfixes.git;branch=master;protocol=https \
+ file://0001-build-use-autotools.patch"
+SRCREV = "160ae3760a51126eb225ce77d83e4706eccd4ed9"
+
+inherit autotools pkgconfig features_check
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+DEPENDS = "libev libx11 libxi libxfixes"
+
+S = "${WORKDIR}/git"
+
+do_install:append() {
+ # LICENSE is installed to /usr/share/licenses but we don't want it in the package
+ rm -rf ${D}${datadir}
+}
diff --git a/meta-oe/recipes-graphics/vdpau/libvdpau_1.5.bb b/meta-oe/recipes-graphics/vdpau/libvdpau_1.5.bb
new file mode 100644
index 0000000000..db3c045588
--- /dev/null
+++ b/meta-oe/recipes-graphics/vdpau/libvdpau_1.5.bb
@@ -0,0 +1,25 @@
+SUMMARY = "Video Decode and Presentation API for UNIX"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=83af8811a28727a13f04132cc33b7f58"
+
+DEPENDS = "virtual/libx11 libxext xorgproto"
+
+SRCREV = "79f1506a3307d3275b0fdfb2e110c173f68e6f78"
+SRC_URI = "git://anongit.freedesktop.org/vdpau/libvdpau;branch=master"
+
+S = "${WORKDIR}/git"
+
+inherit features_check meson pkgconfig
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+do_install:append() {
+ rm -f ${D}${libdir}/*/*.la
+}
+
+FILES:${PN}-dbg += "${libdir}/vdpau/.debug"
+FILES:${PN}-dev += "${libdir}/vdpau/lib*${SOLIBSDEV}"
+FILES:${PN} += "${libdir}/vdpau/lib*${SOLIBS}"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-graphics/vdpau/libvdpau_git.bb b/meta-oe/recipes-graphics/vdpau/libvdpau_git.bb
deleted file mode 100644
index b79a562c8e..0000000000
--- a/meta-oe/recipes-graphics/vdpau/libvdpau_git.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-SUMMARY = "Video Decode and Presentation API for UNIX"
-
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=83af8811a28727a13f04132cc33b7f58"
-
-DEPENDS = "virtual/libx11 libxext xorgproto"
-
-PV = "1.1.1+git${SRCPV}"
-
-SRCREV = "a21bf7aa438f5dd40d0a300a3167aa3d6f26dccc"
-SRC_URI = "git://anongit.freedesktop.org/vdpau/libvdpau"
-
-S = "${WORKDIR}/git"
-
-inherit distro_features_check autotools pkgconfig
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-do_install_append() {
- rm -f ${D}${libdir}/*/*.la
-}
-
-FILES_${PN}-dbg += "${libdir}/vdpau/.debug"
-FILES_${PN}-dev += "${libdir}/vdpau/lib*${SOLIBSDEV}"
-FILES_${PN} += "${libdir}/vdpau/lib*${SOLIBS}"
diff --git a/meta-oe/recipes-graphics/vdpau/vdpauinfo_1.5.bb b/meta-oe/recipes-graphics/vdpau/vdpauinfo_1.5.bb
new file mode 100644
index 0000000000..3f44e537a4
--- /dev/null
+++ b/meta-oe/recipes-graphics/vdpau/vdpauinfo_1.5.bb
@@ -0,0 +1,20 @@
+DESCRIPTION = "Tool to query the capabilities of a VDPAU implementation"
+HOMEPAGE = "https://gitlab.freedesktop.org/vdpau/vdpauinfo"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=5b6e110c362fe46168199f3490e52c3c"
+
+DEPENDS = "libvdpau"
+
+# libvdpau is available only with x11
+inherit features_check
+REQUIRED_DISTRO_FEATURES = "x11"
+
+RDEPENDS:${PN} = "libvdpau"
+
+SRCREV = "d3c5bd63bf8878d59b22d618d2bb5116db392d28"
+SRC_URI = "git://anongit.freedesktop.org/vdpau/vdpauinfo;branch=master"
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig
diff --git a/meta-oe/recipes-graphics/vk-gl-cts/files/0001-cmake-Define-WAYLAND_SCANNER-and-WAYLAND_PROTOCOLS_D.patch b/meta-oe/recipes-graphics/vk-gl-cts/files/0001-cmake-Define-WAYLAND_SCANNER-and-WAYLAND_PROTOCOLS_D.patch
new file mode 100644
index 0000000000..9eef9a702e
--- /dev/null
+++ b/meta-oe/recipes-graphics/vk-gl-cts/files/0001-cmake-Define-WAYLAND_SCANNER-and-WAYLAND_PROTOCOLS_D.patch
@@ -0,0 +1,29 @@
+From ec12bb7bda60cdf2c848e13df67452a7d30a42be Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 3 Sep 2022 18:52:42 -0700
+Subject: [PATCH] cmake: Define WAYLAND_SCANNER and WAYLAND_PROTOCOLS_DIR if
+ not already defined
+
+This helps with cross compiling and providing these knobs from cmake
+cmdline
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ framework/platform/CMakeLists.txt | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+--- a/framework/platform/CMakeLists.txt
++++ b/framework/platform/CMakeLists.txt
+@@ -83,8 +83,9 @@ if (NOT DEFINED TCUTIL_PLATFORM_SRCS)
+ configure_file(${WAYLAND_XDG_SHELL_SRC_DIR}/xdg-shell.c ${DEQP_XDG_SHELL_GEN_OUTPUTS_DIR}/xdg-shell.c COPYONLY)
+ configure_file(${WAYLAND_XDG_SHELL_SRC_DIR}/xdg-shell.h ${DEQP_XDG_SHELL_GEN_OUTPUTS_DIR}/xdg-shell.h COPYONLY)
+ else ()
+- pkg_get_variable(WAYLAND_PROTOCOLS_DIR wayland-protocols pkgdatadir)
+-
++ if (NOT WAYLAND_PROTOCOL_DIR)
++ pkg_get_variable(WAYLAND_PROTOCOLS_DIR wayland-protocols pkgdatadir)
++ endif()
+ if (NOT WAYLAND_SCANNER)
+ pkg_get_variable(WAYLAND_SCANNER wayland-scanner wayland_scanner)
+ endif()
diff --git a/meta-oe/recipes-graphics/vk-gl-cts/files/0001-use-library-sonames-for-linking.patch b/meta-oe/recipes-graphics/vk-gl-cts/files/0001-use-library-sonames-for-linking.patch
new file mode 100644
index 0000000000..774b7aefee
--- /dev/null
+++ b/meta-oe/recipes-graphics/vk-gl-cts/files/0001-use-library-sonames-for-linking.patch
@@ -0,0 +1,123 @@
+From acd25c4b8d5b7e420a7a89bdfd6551c70de828b3 Mon Sep 17 00:00:00 2001
+From: Trevor Woerner <twoerner@gmail.com>
+Date: Thu, 23 Sep 2021 19:36:43 -0400
+Subject: [PATCH] use library sonames for linking
+
+The recommended "best practices" for applications is to link to library
+sonames (e.g. libGL.so.1) instead of library names (e.g. libGL.so). This
+ensures that applications don't try to use libraries if an incompatible ABI
+change occurs.
+
+Upstream-Status: Denied [https://github.com/KhronosGroup/VK-GL-CTS/pull/288]
+Signed-off-by: Trevor Woerner <twoerner@gmail.com>
+---
+ framework/egl/egluGLContextFactory.cpp | 4 ++--
+ framework/egl/wrapper/eglwLibrary.cpp | 2 +-
+ framework/platform/android/tcuAndroidPlatform.cpp | 2 +-
+ framework/platform/lnx/X11/tcuLnxX11EglDisplayFactory.cpp | 2 +-
+ .../platform/lnx/wayland/tcuLnxWaylandEglDisplayFactory.cpp | 2 +-
+ framework/platform/surfaceless/tcuSurfacelessPlatform.cpp | 6 +++---
+ 6 files changed, 9 insertions(+), 9 deletions(-)
+
+--- a/framework/egl/egluGLContextFactory.cpp
++++ b/framework/egl/egluGLContextFactory.cpp
+@@ -63,7 +63,7 @@ using std::vector;
+ #if (DE_OS == DE_OS_WIN32)
+ #define DEQP_GLES2_LIBRARY_PATH "libGLESv2.dll"
+ #else
+-#define DEQP_GLES2_LIBRARY_PATH "libGLESv2.so"
++#define DEQP_GLES2_LIBRARY_PATH "libGLESv2.so.2"
+ #endif
+ #endif
+
+@@ -75,7 +75,7 @@ using std::vector;
+ #if (DE_OS == DE_OS_WIN32)
+ #define DEQP_OPENGL_LIBRARY_PATH "opengl32.dll"
+ #else
+-#define DEQP_OPENGL_LIBRARY_PATH "libGL.so"
++#define DEQP_OPENGL_LIBRARY_PATH "libGL.so.1"
+ #endif
+ #endif
+
+--- a/framework/egl/wrapper/eglwLibrary.cpp
++++ b/framework/egl/wrapper/eglwLibrary.cpp
+@@ -145,7 +145,7 @@ DefaultLibrary::~DefaultLibrary(void)
+ const char *DefaultLibrary::getLibraryFileName(void)
+ {
+ #if (DE_OS == DE_OS_ANDROID) || (DE_OS == DE_OS_UNIX)
+- return "libEGL.so";
++ return "libEGL.so.1";
+ #elif (DE_OS == DE_OS_WIN32)
+ return "libEGL.dll";
+ #else
+--- a/framework/platform/android/tcuAndroidPlatform.cpp
++++ b/framework/platform/android/tcuAndroidPlatform.cpp
+@@ -56,7 +56,7 @@ static const eglu::NativeWindow::Capabil
+ class NativeDisplay : public eglu::NativeDisplay
+ {
+ public:
+- NativeDisplay(void) : eglu::NativeDisplay(DISPLAY_CAPABILITIES), m_library("libEGL.so")
++ NativeDisplay(void) : eglu::NativeDisplay(DISPLAY_CAPABILITIES), m_library("libEGL.so.1")
+ {
+ }
+ virtual ~NativeDisplay(void)
+@@ -223,7 +223,7 @@ class VulkanLibrary : public vk::Library
+ {
+ public:
+ VulkanLibrary(const char *libraryPath)
+- : m_library(libraryPath != DE_NULL ? libraryPath : "libvulkan.so")
++ : m_library(libraryPath != DE_NULL ? libraryPath : "libvulkan.so.1")
+ , m_driver(m_library)
+ {
+ }
+--- a/framework/platform/lnx/X11/tcuLnxX11EglDisplayFactory.cpp
++++ b/framework/platform/lnx/X11/tcuLnxX11EglDisplayFactory.cpp
+@@ -77,7 +77,7 @@ using tcu::TextureLevel;
+ class Library : public eglw::DefaultLibrary
+ {
+ public:
+- Library(void) : eglw::DefaultLibrary("libEGL.so")
++ Library(void) : eglw::DefaultLibrary("libEGL.so.1")
+ {
+ }
+
+--- a/framework/platform/lnx/wayland/tcuLnxWaylandEglDisplayFactory.cpp
++++ b/framework/platform/lnx/wayland/tcuLnxWaylandEglDisplayFactory.cpp
+@@ -64,7 +64,7 @@ public:
+ Display(MovePtr<wayland::Display> waylandDisplay)
+ : NativeDisplay(CAPABILITIES, EGL_PLATFORM_WAYLAND_KHR, "EGL_KHR_platform_wayland")
+ , m_display(waylandDisplay)
+- , m_library("libEGL.so")
++ , m_library("libEGL.so.1")
+ {
+ }
+
+--- a/framework/platform/surfaceless/tcuSurfacelessPlatform.cpp
++++ b/framework/platform/surfaceless/tcuSurfacelessPlatform.cpp
+@@ -69,7 +69,7 @@ using std::vector;
+
+ // Default library names
+ #if !defined(DEQP_GLES2_LIBRARY_PATH)
+-#define DEQP_GLES2_LIBRARY_PATH "libGLESv2.so"
++#define DEQP_GLES2_LIBRARY_PATH "libGLESv2.so.2"
+ #endif
+
+ #if !defined(DEQP_GLES3_LIBRARY_PATH)
+@@ -77,7 +77,7 @@ using std::vector;
+ #endif
+
+ #if !defined(DEQP_OPENGL_LIBRARY_PATH)
+-#define DEQP_OPENGL_LIBRARY_PATH "libGL.so"
++#define DEQP_OPENGL_LIBRARY_PATH "libGL.so.1"
+ #endif
+
+ #if !defined(DEQP_VULKAN_LIBRARY_PATH)
+@@ -258,7 +258,7 @@ glu::RenderContext *ContextFactory::crea
+
+ EglRenderContext::EglRenderContext(const glu::RenderConfig &config, const tcu::CommandLine &cmdLine,
+ const glu::RenderContext *sharedContext)
+- : m_egl("libEGL.so")
++ : m_egl("libEGL.so.1")
+ , m_contextType(config.type)
+ , m_eglDisplay(EGL_NO_DISPLAY)
+ , m_eglContext(EGL_NO_CONTEXT)
diff --git a/meta-oe/recipes-graphics/vk-gl-cts/files/fix-clang-private-operator.patch b/meta-oe/recipes-graphics/vk-gl-cts/files/fix-clang-private-operator.patch
new file mode 100644
index 0000000000..af59dd3e61
--- /dev/null
+++ b/meta-oe/recipes-graphics/vk-gl-cts/files/fix-clang-private-operator.patch
@@ -0,0 +1,15 @@
+Upstream-Status: Pending
+
+--- a/external/glslang/src/glslang/Include/PoolAlloc.h
++++ b/external/glslang/src/glslang/Include/PoolAlloc.h
+@@ -245,8 +245,9 @@ protected:
+
+ int numCalls; // just an interesting statistic
+ size_t totalBytes; // just an interesting statistic
+-private:
++public:
+ TPoolAllocator& operator=(const TPoolAllocator&); // don't allow assignment operator
++private:
+ TPoolAllocator(const TPoolAllocator&); // don't allow default copy constructor
+ };
+
diff --git a/meta-oe/recipes-graphics/vk-gl-cts/files/fix-musl.patch b/meta-oe/recipes-graphics/vk-gl-cts/files/fix-musl.patch
new file mode 100644
index 0000000000..717d489786
--- /dev/null
+++ b/meta-oe/recipes-graphics/vk-gl-cts/files/fix-musl.patch
@@ -0,0 +1,22 @@
+Upstream-Status: Pending
+
+--- a/framework/delibs/dethread/CMakeLists.txt
++++ b/framework/delibs/dethread/CMakeLists.txt
+@@ -41,6 +41,7 @@ if (DE_OS_IS_UNIX)
+ if (${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD")
+ add_definitions(-D__BSD_VISIBLE)
+ endif ()
++ add_definitions(-D_XOPEN_SOURCE=600)
+ add_definitions(-D_GNU_SOURCE)
+
+ set(DETHREAD_LIBS ${DETHREAD_LIBS} pthread)
+--- a/framework/qphelper/CMakeLists.txt
++++ b/framework/qphelper/CMakeLists.txt
+@@ -28,6 +28,7 @@ set(QPHELPER_LIBS
+ if (DE_OS_IS_UNIX OR DE_OS_IS_QNX)
+ # For vsnprintf()
+ add_definitions(-D_XOPEN_SOURCE=600)
++ set(QPHELPER_LIBS ${QPHELPER_LIBS} execinfo)
+ endif ()
+
+ if (DE_OS_IS_WIN32 AND DE_COMPILER_IS_MSC)
diff --git a/meta-oe/recipes-graphics/vk-gl-cts/khronos-cts.inc b/meta-oe/recipes-graphics/vk-gl-cts/khronos-cts.inc
new file mode 100644
index 0000000000..0322ef453a
--- /dev/null
+++ b/meta-oe/recipes-graphics/vk-gl-cts/khronos-cts.inc
@@ -0,0 +1,90 @@
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+SRC_URI = "\
+ git://github.com/KhronosGroup/VK-GL-CTS.git;protocol=https;name=vk-gl-cts;nobranch=1 \
+ git://github.com/google/amber;protocol=https;destsuffix=git/external/amber/src;name=amber;nobranch=1 \
+ git://github.com/KhronosGroup/glslang.git;protocol=https;destsuffix=git/external/glslang/src;name=glslang;nobranch=1 \
+ git://github.com/KhronosGroup/SPIRV-Headers.git;protocol=https;destsuffix=git/external/spirv-headers/src;name=spirv-headers;nobranch=1 \
+ git://github.com/KhronosGroup/SPIRV-Tools.git;protocol=https;destsuffix=git/external/spirv-tools/src;name=spirv-tools;nobranch=1 \
+ git://github.com/open-source-parsers/jsoncpp.git;protocol=https;destsuffix=git/external/jsoncpp/src;name=jsoncpp;nobranch=1 \
+ git://github.com/KhronosGroup/Vulkan-Docs.git;protocol=https;destsuffix=git/external/vulkan-docs/src;name=vulkan-docs;nobranch=1 \
+ git://github.com/KhronosGroup/Vulkan-ValidationLayers.git;protocol=https;destsuffix=git/external/vulkan-validationlayers/src;name=vulkan-validationlayers;nobranch=1 \
+ git://github.com/Igalia/ESExtractor.git;protocol=https;destsuffix=git/external/ESExtractor/src;name=ESExtractor;nobranch=1 \
+ git://github.com/Igalia/vk_video_samples.git;protocol=https;destsuffix=git/external/nvidia-video-samples/src;name=video-parser;nobranch=1 \
+ https://raw.githubusercontent.com/baldurk/renderdoc/v1.1/renderdoc/api/app/renderdoc_app.h;subdir=git/external/renderdoc/src;name=renderdoc \
+"
+
+SRCREV_FORMAT = "vk-gl-cts_amber_glslang_spirv-headers_spirv-tools_jsoncpp_video-parser_vulkan-docs_vulkan-validationlayers"
+
+S = "${WORKDIR}/git"
+
+inherit pkgconfig cmake features_check python3native qemu
+
+ANY_OF_DISTRO_FEATURES += "opengl vulkan"
+
+DEPENDS += "python3-lxml-native libpng zlib virtual/libgles2 qemu-native"
+
+SRC_URI += " \
+ file://0001-cmake-Define-WAYLAND_SCANNER-and-WAYLAND_PROTOCOLS_D.patch \
+ file://0001-use-library-sonames-for-linking.patch \
+"
+
+SRC_URI:append:libc-musl = "\
+ file://fix-musl.patch \
+"
+DEPENDS:append:libc-musl = " libexecinfo"
+
+SRC_URI:append:toolchain-clang = "\
+ file://fix-clang-private-operator.patch \
+"
+EXTRA_OECMAKE += "-DUPDATE_DEPS=OFF"
+EXTRA_OECMAKE:prepend:class-target = "-DCMAKE_CROSSCOMPILING_EMULATOR=${WORKDIR}/qemuwrapper -DWAYLAND_SCANNER=${STAGING_BINDIR_NATIVE}/wayland-scanner -DWAYLAND_PROTOCOLS_DIR=${STAGING_DATADIR}/wayland-protocols -DAMBER_DISABLE_WERROR=ON"
+
+# The best thing for the user to do is to not specify any of the following
+# PACKAGECONFIGs (i.e. leave it blank) which tells the project to do its own
+# probing and build what it thinks is appropriate.
+# However, if you want, you can specify one of the following PACKAGECONFIGs
+# to override this behaviour.
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[surfaceless] = "-DDEQP_TARGET=surfaceless,,,,,wayland x11_egl x11_glx x11_egl_glx"
+PACKAGECONFIG[wayland] = "-DDEQP_TARGET=wayland,,wayland-native wayland wayland-protocols,,,surfaceless x11_egl x11_glx x11_egl_glx"
+PACKAGECONFIG[x11_egl] = "-DDEQP_TARGET=x11_egl,,virtual/libx11 virtual/egl,,,surfaceless wayland x11_glx x11_egl_glx"
+PACKAGECONFIG[x11_glx] = "-DDEQP_TARGET=x11_glx,,virtual/libx11,,,surfaceless wayland x11_egl x11_egl_glx"
+PACKAGECONFIG[x11_egl_glx] = "-DDEQP_TARGET=x11_glx,,virtual/libx11 virtual/egl,,,surfaceless wayland x11_egl x11_glx"
+
+do_configure:append() {
+ # Write out a qemu wrapper that will be used by cmake
+ # so that it can run target helper binaries through that.
+ qemu_binary="${@qemu_wrapper_cmdline(d, d.getVar('STAGING_DIR_HOST'), [d.expand('${STAGING_DIR_HOST}${libdir}'),d.expand('${STAGING_DIR_HOST}${base_libdir}')])}"
+ cat > ${WORKDIR}/qemuwrapper << EOF
+#!/bin/sh
+$qemu_binary "\$@"
+EOF
+ chmod +x ${WORKDIR}/qemuwrapper
+}
+
+python __anonymous() {
+ # if the user doesn't specify any PACKAGECONFIG then the cts build system
+ # is going to probe the sysroot to try to figure out what to build
+ # in this case we try to guess whether the user is building for wayland
+ # or x11 and add the required dependencies automatically
+ distrofeatures = (d.getVar("DISTRO_FEATURES") or "")
+ if not bb.utils.contains_any("PACKAGECONFIG", ["surfaceless", "wayland", "x11_egl", "x11_glx", "x11_egl_glx"], True, False, d):
+ if "wayland" in distrofeatures:
+ d.appendVar("DEPENDS", " wayland-native ${MLPREFIX}wayland ${MLPREFIX}wayland-protocols")
+ if "x11" in distrofeatures:
+ d.appendVar("DEPENDS", " virtual/${MLPREFIX}libx11 virtual/${MLPREFIX}egl ")
+}
+
+CTSDIR = "/usr/lib/${BPN}"
+
+FILES:${PN} += "${CTSDIR}"
+
+# does not work with libc++-19 due
+# error: implicit instantiation of undefined template 'std::char_traits<unsigned int>'
+TOOLCHAIN = "gcc"
+
+# Validation-layers requires access during configure as it fetches validation-headers
+# and bunch of other packages from khronos github
+do_configure[network] = "1"
diff --git a/meta-oe/recipes-graphics/vk-gl-cts/opengl-es-cts_3.2.11.0.bb b/meta-oe/recipes-graphics/vk-gl-cts/opengl-es-cts_3.2.11.0.bb
new file mode 100644
index 0000000000..7dd60dffd8
--- /dev/null
+++ b/meta-oe/recipes-graphics/vk-gl-cts/opengl-es-cts_3.2.11.0.bb
@@ -0,0 +1,34 @@
+DESCRIPTION = "OpenGL CTS"
+
+require khronos-cts.inc
+# opengl-es-cts-3.2.11.0
+SRCREV_vk-gl-cts = "66956d195169596472e956e3aebf2df8e3bd960d"
+SRCREV_amber = "0f003c2785489f59cd01bb2440fcf303149100f2"
+SRCREV_glslang = "4da479aa6afa43e5a2ce4c4148c572a03123faf3"
+SRCREV_spirv-headers = "ff2afc3afc48dff4eec2a10f0212402a80708e38"
+SRCREV_spirv-tools = "148c97f6876e427efd76d2328122c3075eab4b8f"
+SRCREV_ESExtractor = "ce5d7ebcf0ebb0d78385ee4cc34653eb6764bfc4"
+# Not yet needed
+SRCREV_jsoncpp = "9059f5cad030ba11d37818847443a53918c327b1"
+SRCREV_vulkan-docs = "ed4ba0242beb89a1795d6084709fa9e713559c94"
+SRCREV_vulkan-validationlayers = "a92629196a4fed15e59c74aa965dd47bd5ece3b7"
+SRCREV_video-parser = "6821adf11eb4f84a2168264b954c170d03237699"
+SRC_URI[renderdoc.sha256sum] = "e7b5f0aa5b1b0eadc63a1c624c0ca7f5af133aa857d6a4271b0ef3d0bdb6868e"
+
+do_install() {
+ install -d ${D}/${CTSDIR}
+ cp -r ${B}/external/openglcts/modules/* ${D}/${CTSDIR}
+
+ install -m 0755 ${B}/modules/egl/deqp-egl ${D}/${CTSDIR}
+ install -m 0755 ${B}/modules/gles2/deqp-gles2 ${D}/${CTSDIR}
+ install -m 0755 ${B}/modules/gles3/deqp-gles3 ${D}/${CTSDIR}
+ install -m 0755 ${B}/modules/gles31/deqp-gles31 ${D}/${CTSDIR}
+ install -m 0755 ${B}/modules/internal/de-internal-tests ${D}/${CTSDIR}
+
+ rm -rf ${D}/${CTSDIR}/*.a ${D}/${CTSDIR}/cmake_install.cmake ${D}/${CTSDIR}/CMakeFiles
+ rm -rf ${D}/${CTSDIR}/*/*.a ${D}/${CTSDIR}/*/cmake_install.cmake ${D}/${CTSDIR}/*/CMakeFiles
+ rm -rf ${D}/${CTSDIR}/common/subgroups/*.a ${D}/${CTSDIR}/common/subgroups/cmake_install.cmake ${D}/${CTSDIR}/common/subgroups/CMakeFiles
+}
+
+SECURITY_CFLAGS:riscv64 = "${SECURITY_NOPIE_CFLAGS}"
+LTO = ""
diff --git a/meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts_1.3.9.2.bb b/meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts_1.3.9.2.bb
new file mode 100644
index 0000000000..4ba761b676
--- /dev/null
+++ b/meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts_1.3.9.2.bb
@@ -0,0 +1,32 @@
+DESCRIPTION = "Vulkan CTS"
+
+require khronos-cts.inc
+
+# vulkan-cts-1.3.9.2
+SRCREV_vk-gl-cts = "24c1b1498ba4f05777f47541968ffe686265c645"
+SRCREV_amber = "0f003c2785489f59cd01bb2440fcf303149100f2"
+SRCREV_glslang = "2b19bf7e1bc0b60cf2fe9d33e5ba6b37dfc1cc83"
+SRCREV_spirv-headers = "db5a00f8cebe81146cafabf89019674a3c4bf03d"
+SRCREV_spirv-tools = "4c7e1fa5c3d988cca0e626d359d30b117b9c2822"
+SRCREV_jsoncpp = "9059f5cad030ba11d37818847443a53918c327b1"
+SRCREV_vulkan-docs = "7bb606eb87cde1d34f65f36f4d4c6f2c78f072c8"
+SRCREV_vulkan-validationlayers = "a92629196a4fed15e59c74aa965dd47bd5ece3b7"
+SRC_URI[renderdoc.sha256sum] = "e7b5f0aa5b1b0eadc63a1c624c0ca7f5af133aa857d6a4271b0ef3d0bdb6868e"
+# Not yet needed
+SRCREV_ESExtractor = "75ffcaf55bb069f7a23764194742d2fb78c7f71f"
+SRCREV_video-parser = "6821adf11eb4f84a2168264b954c170d03237699"
+
+# Workaround an optimization bug that breaks createMeshShaderMiscTestsEXT
+OECMAKE_CXX_FLAGS:remove:toolchain-gcc = "-O2"
+
+REQUIRED_DISTRO_FEATURES = "vulkan"
+inherit features_check
+
+DEPENDS += " vulkan-loader"
+
+do_install() {
+ install -d ${D}/${CTSDIR}
+ cp -r ${B}/external/vulkancts/modules/vulkan/* ${D}/${CTSDIR}/
+ rm -rf ${D}/${CTSDIR}/*.a ${D}/${CTSDIR}/cmake_install.cmake ${D}/${CTSDIR}/CMakeFiles
+ rm -rf ${D}/${CTSDIR}/*/*.a ${D}/${CTSDIR}/*/cmake_install.cmake ${D}/${CTSDIR}/*/CMakeFiles
+}
diff --git a/meta-oe/recipes-graphics/wayland/libei_1.3.0.bb b/meta-oe/recipes-graphics/wayland/libei_1.3.0.bb
new file mode 100644
index 0000000000..ee3ee01c7d
--- /dev/null
+++ b/meta-oe/recipes-graphics/wayland/libei_1.3.0.bb
@@ -0,0 +1,25 @@
+SUMMARY = "libei is a library for Emulated Input, primarily aimed at the Wayland stack."
+HOMEPAGE = "https://gitlab.freedesktop.org/libinput/libei"
+SECTION = "graphics"
+LICENSE = "MIT"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=a98fa76460f96f41696611d6f07e8d49"
+
+DEPENDS = " \
+ libxkbcommon \
+ libevdev \
+ libxslt-native \
+ python3-attrs-native \
+ python3-jinja2-native \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', 'basu', d)} \
+"
+
+SRC_URI = "git://gitlab.freedesktop.org/libinput/libei.git;protocol=https;branch=main"
+
+S = "${WORKDIR}/git"
+SRCREV = "997b7c0f37faea4f8bae59613c8f27370925d5b0"
+
+inherit meson pkgconfig
+
+EXTRA_OEMESON = "-Dtests=disabled"
+
diff --git a/meta-oe/recipes-graphics/wayland/waylandpp/0001-include-missing-cstdint.patch b/meta-oe/recipes-graphics/wayland/waylandpp/0001-include-missing-cstdint.patch
new file mode 100644
index 0000000000..f2169c43c9
--- /dev/null
+++ b/meta-oe/recipes-graphics/wayland/waylandpp/0001-include-missing-cstdint.patch
@@ -0,0 +1,59 @@
+From 5e3243b163aa5d50083b4036c21f84c1204f2023 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 26 Jan 2023 23:25:05 -0800
+Subject: [PATCH] include missing <cstdint>
+
+gcc 13 moved some includes around and as a result <cstdint> is no longer transitively included [1]. Explicitly include it for uint{32,64}_t.
+
+[1] https://gcc.gnu.org/gcc-13/porting_to.html#header-dep-changes
+
+Upstream-Status: Submitted [https://github.com/NilsBrause/waylandpp/pull/75]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ include/wayland-client.hpp | 1 +
+ scanner/scanner.cpp | 3 +++
+ 2 files changed, 4 insertions(+)
+
+diff --git a/include/wayland-client.hpp b/include/wayland-client.hpp
+index a3f782b..4598a0e 100644
+--- a/include/wayland-client.hpp
++++ b/include/wayland-client.hpp
+@@ -29,6 +29,7 @@
+ /** \file */
+
+ #include <atomic>
++#include <cstdint>
+ #include <functional>
+ #include <memory>
+ #include <string>
+diff --git a/scanner/scanner.cpp b/scanner/scanner.cpp
+index bebd71e..c25746a 100644
+--- a/scanner/scanner.cpp
++++ b/scanner/scanner.cpp
+@@ -15,6 +15,7 @@
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
++#include <cstdint>
+ #include <fstream>
+ #include <iostream>
+ #include <list>
+@@ -1106,6 +1107,7 @@ int main(int argc, char *argv[])
+ wayland_hpp << "#pragma once" << std::endl
+ << std::endl
+ << "#include <array>" << std::endl
++ << "#include <cstdint>" << std::endl
+ << "#include <functional>" << std::endl
+ << "#include <memory>" << std::endl
+ << "#include <string>" << std::endl
+@@ -1125,6 +1127,7 @@ int main(int argc, char *argv[])
+ wayland_server_hpp << "#pragma once" << std::endl
+ << std::endl
+ << "#include <array>" << std::endl
++ << "#include <cstdint>" << std::endl
+ << "#include <functional>" << std::endl
+ << "#include <memory>" << std::endl
+ << "#include <string>" << std::endl
+--
+2.39.1
+
diff --git a/meta-oe/recipes-graphics/wayland/waylandpp_1.0.0.bb b/meta-oe/recipes-graphics/wayland/waylandpp_1.0.0.bb
new file mode 100644
index 0000000000..c1f5f4ed8e
--- /dev/null
+++ b/meta-oe/recipes-graphics/wayland/waylandpp_1.0.0.bb
@@ -0,0 +1,45 @@
+SUMMARY = " C++ binding for Wayland using the most modern C++ technology"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3aae28cc66d61975114c2b14df215407"
+
+SRC_URI = "git://github.com/NilsBrause/waylandpp.git;protocol=https;branch=master \
+ file://0001-include-missing-cstdint.patch"
+
+DEPENDS = "pugixml"
+DEPENDS:append:class-target = " waylandpp-native wayland virtual/egl virtual/libgles2"
+
+S = "${WORKDIR}/git"
+SRCREV = "4321ed5c7b4bffa41b8a2a13dc7f3ece1191f4f3"
+
+inherit cmake pkgconfig features_check
+
+REQUIRED_DISTRO_FEATURES:class-target = "opengl"
+
+EXTRA_OECMAKE:class-native = " \
+ -DBUILD_SCANNER=ON \
+ -DBUILD_LIBRARIES=OFF \
+ -DBUILD_DOCUMENTATION=OFF \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_VERBOSE_MAKEFILE=TRUE \
+"
+
+EXTRA_OECMAKE:class-target = " \
+ -DBUILD_SCANNER=ON \
+ -DBUILD_LIBRARIES=ON \
+ -DBUILD_DOCUMENTATION=OFF \
+ -DBUILD_EXAMPLES=OFF \
+ -DOPENGL_LIBRARY="-lEGL -lGLESv2" \
+ -DOPENGL_opengl_LIBRARY=-lEGL \
+ -DOPENGL_glx_LIBRARY=-lEGL \
+ -DWAYLAND_SCANNERPP="${STAGING_BINDIR_NATIVE}/wayland-scanner++" \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_VERBOSE_MAKEFILE=TRUE \
+ -DCMAKE_EXE_LINKER_FLAGS="-Wl,--enable-new-dtags" \
+"
+
+do_install:append:class-target() {
+ sed -i -e 's|${S}||g' ${D}${libdir}/cmake/waylandpp/waylandpp-targets.cmake
+ sed -i -e 's|${STAGING_DIR_HOST}||g' ${D}${libdir}/cmake/waylandpp/waylandpp-targets.cmake
+}
+
+BBCLASSEXTEND += "native nativesdk"
diff --git a/meta-oe/recipes-graphics/x11vnc/files/CVE-2020-29074.patch b/meta-oe/recipes-graphics/x11vnc/files/CVE-2020-29074.patch
new file mode 100644
index 0000000000..fbdb9123cc
--- /dev/null
+++ b/meta-oe/recipes-graphics/x11vnc/files/CVE-2020-29074.patch
@@ -0,0 +1,27 @@
+CVE: CVE-2020-29074
+Upstream-Status: Backport [https://github.com/LibVNC/x11vnc/commit/69eeb9f7baa14ca03b16c9de821f9876def7a36a ]
+Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
+
+
+From 69eeb9f7baa14ca03b16c9de821f9876def7a36a Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Gu=C3=A9nal=20DAVALAN?= <guenal.davalan@uca.fr>
+Date: Wed, 18 Nov 2020 08:40:45 +0100
+Subject: [PATCH] scan: limit access to shared memory segments to current user
+
+---
+ src/scan.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/scan.c b/src/scan.c
+index 43e00d20..12994d52 100644
+--- a/src/scan.c
++++ b/src/scan.c
+@@ -320,7 +320,7 @@ static int shm_create(XShmSegmentInfo *shm, XImage **ximg_ptr, int w, int h,
+
+ #if HAVE_XSHM
+ shm->shmid = shmget(IPC_PRIVATE,
+- xim->bytes_per_line * xim->height, IPC_CREAT | 0777);
++ xim->bytes_per_line * xim->height, IPC_CREAT | 0600);
+
+ if (shm->shmid == -1) {
+ rfbErr("shmget(%s) failed.\n", name);
diff --git a/meta-oe/recipes-graphics/x11vnc/files/endian-fix.patch b/meta-oe/recipes-graphics/x11vnc/files/endian-fix.patch
deleted file mode 100644
index f2a538bf63..0000000000
--- a/meta-oe/recipes-graphics/x11vnc/files/endian-fix.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-libvncserver: replace LIBVNCSERVER_WORDS_BIGENDIAN with WORDS_BIGENDIAN
-
-since macro AC_C_BIGENDIAN is used in autoconf and WORDS_BIGENDIAN is
-automatically set for different arch, it is better to use WORDS_BIGENDIAN
-instead of LIBVNCSERVER_WORDS_BIGENDIAN, which cuase issue in mips.
-
-Signed-off-by: Yu Ke <ke.yu@intel.com>
-
-Upstream-Status: Pending
-
-diff --git a/libvncserver/main.c b/libvncserver/main.c
-index b6bd930..8bbb7bf 100644
---- a/libvncserver/main.c
-+++ b/libvncserver/main.c
-@@ -47,7 +47,7 @@ static MUTEX(extMutex);
-
- static int rfbEnableLogging=1;
-
--#ifdef LIBVNCSERVER_WORDS_BIGENDIAN
-+#ifdef WORDS_BIGENDIAN
- char rfbEndianTest = (1==0);
- #else
- char rfbEndianTest = (1==1);
-
diff --git a/meta-oe/recipes-graphics/x11vnc/files/remove-redundant-RPATH.patch b/meta-oe/recipes-graphics/x11vnc/files/remove-redundant-RPATH.patch
deleted file mode 100644
index 8e894bd8e7..0000000000
--- a/meta-oe/recipes-graphics/x11vnc/files/remove-redundant-RPATH.patch
+++ /dev/null
@@ -1,86 +0,0 @@
-From 7be055c13c7d0d640941830a3291af3b404928c1 Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Mon, 27 Jun 2016 04:44:14 -0400
-Subject: [PATCH] configure.ac: remove redundant RPATH
-
-It caused oe QA issue:
-...
-|ERROR: QA Issue: x11vnc: work/i586-poky-linux/x11vnc/0.9.13-r0/packages-split/
-x11vnc/usr/bin/x11vnc contains probably-redundant RPATH /usr/lib [useless-rpaths]
-...
-
-Upstream-Status: Inappropriate [oe specific]
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- configure.ac | 21 +++++----------------
- 1 file changed, 5 insertions(+), 16 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 6f664d0..f986686 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -330,10 +330,8 @@ if test "x$with_crypto" != "xno" -a "x$with_ssl" != "xno"; then
- saved_LDFLAGS="$LDFLAGS"
- CPPFLAGS="$CPPFLAGS -I$with_ssl/include"
- LDFLAGS="$LDFLAGS -L$with_ssl/lib"
-- if test "x$ld_minus_R" = "xno"; then
-+ if test "x$ld_minus_R" = "xno" -o "x$GCC" = "xyes"; then
- :
-- elif test "x$GCC" = "xyes"; then
-- LDFLAGS="$LDFLAGS -Xlinker -R$with_ssl/lib"
- else
- LDFLAGS="$LDFLAGS -R$with_ssl/lib"
- fi
-@@ -447,10 +445,8 @@ if test ! -z "$with_system_libvncserver" -a "x$with_system_libvncserver" != "xno
- fi
- if test "x$with_system_libvncserver" != "xyes"; then
- rflag=""
-- if test "x$ld_minus_R" = "xno"; then
-+ if test "x$ld_minus_R" = "xno" -o "x$GCC" = "xyes"; then
- :
-- elif test "x$GCC" = "xyes"; then
-- rflag="-Xlinker -R$with_system_libvncserver/lib"
- else
- rflag="-R$with_system_libvncserver/lib"
- fi
-@@ -484,10 +480,8 @@ new enough.
- elif libvncserver-config --version 1>/dev/null 2>&1; then
- rflag=""
- rprefix=`libvncserver-config --prefix`
-- if test "x$ld_minus_R" = "xno"; then
-+ if test "x$ld_minus_R" = "xno" -o "x$GCC" = "xyes"; then
- :
-- elif test "x$GCC" = "xyes"; then
-- rflag=" -Xlinker -R$rprefix/lib "
- else
- rflag=" -R$rprefix/lib "
- fi
-@@ -541,11 +535,8 @@ if test "x$with_jpeg" != "xno"; then
- saved_LDFLAGS="$LDFLAGS"
- CPPFLAGS="$CPPFLAGS -I$with_jpeg/include"
- LDFLAGS="$LDFLAGS -L$with_jpeg/lib"
-- if test "x$ld_minus_R" = "xno"; then
-+ if test "x$ld_minus_R" = "xno" -o "x$GCC" = "xyes"; then
- :
-- elif test "x$GCC" = "xyes"; then
-- # this is not complete... in general a rat's nest.
-- LDFLAGS="$LDFLAGS -Xlinker -R$with_jpeg/lib"
- else
- LDFLAGS="$LDFLAGS -R$with_jpeg/lib"
- fi
-@@ -590,10 +581,8 @@ if test "x$with_zlib" != "xno" -a "x$with_libz" != "xno"; then
- saved_LDFLAGS="$LDFLAGS"
- CPPFLAGS="$CPPFLAGS -I$with_zlib/include"
- LDFLAGS="$LDFLAGS -L$with_zlib/lib"
-- if test "x$ld_minus_R" = "xno"; then
-+ if test "x$ld_minus_R" = "xno" -o "x$GCC" = "xyes"; then
- :
-- elif test "x$GCC" = "xyes"; then
-- LDFLAGS="$LDFLAGS -Xlinker -R$with_zlib/lib"
- else
- LDFLAGS="$LDFLAGS -R$with_zlib/lib"
- fi
---
-2.8.1
-
diff --git a/meta-oe/recipes-graphics/x11vnc/files/starting-fix.patch b/meta-oe/recipes-graphics/x11vnc/files/starting-fix.patch
index f62e405dd1..060319c76b 100644
--- a/meta-oe/recipes-graphics/x11vnc/files/starting-fix.patch
+++ b/meta-oe/recipes-graphics/x11vnc/files/starting-fix.patch
@@ -10,10 +10,10 @@ Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Upstream-Status: Inappropriate [configuration]
-Index: x11vnc-0.9.12/x11vnc/x11vnc.desktop
+Index: x11vnc-0.9.12/x11vnc.desktop
===================================================================
---- x11vnc-0.9.12.orig/x11vnc/x11vnc.desktop 2011-03-03 10:33:18.000000000 +0800
-+++ x11vnc-0.9.12/x11vnc/x11vnc.desktop 2011-03-03 10:35:20.000000000 +0800
+--- x11vnc-0.9.12.orig/x11vnc.desktop 2011-03-03 10:33:18.000000000 +0800
++++ x11vnc-0.9.12/x11vnc.desktop 2011-03-03 10:35:20.000000000 +0800
@@ -1,7 +1,7 @@
[Desktop Entry]
Name=X11VNC Server
diff --git a/meta-oe/recipes-graphics/x11vnc/x11vnc_0.9.13.bb b/meta-oe/recipes-graphics/x11vnc/x11vnc_0.9.13.bb
deleted file mode 100644
index b047bc4628..0000000000
--- a/meta-oe/recipes-graphics/x11vnc/x11vnc_0.9.13.bb
+++ /dev/null
@@ -1,34 +0,0 @@
-SUMMARY = "Exports your X session on-the-fly via VNC"
-HOMEPAGE = "http://www.karlrunge.com/x11vnc/"
-
-SECTION = "x11/utils"
-AUTHOR = "Karl Runge"
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=361b6b837cad26c6900a926b62aada5f \
- file://x11vnc/x11vnc.h;endline=33;md5=6f95dc6535467d7ee1563fd434fb372e"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/libvncserver/x11vnc/${PV}/x11vnc-${PV}.tar.gz\
- file://starting-fix.patch \
- file://endian-fix.patch \
- file://remove-redundant-RPATH.patch \
-"
-
-SRC_URI[md5sum] = "a372ec4fe8211221547b1c108cf56e4c"
-SRC_URI[sha256sum] = "f6829f2e629667a5284de62b080b13126a0736499fe47cdb447aedb07a59f13b"
-
-DEPENDS = "openssl virtual/libx11 libxext jpeg zlib libxfixes libxrandr libxdamage libxtst libtasn1 p11-kit"
-
-inherit autotools-brokensep distro_features_check
-# depends on virtual/libx11
-REQUIRED_DISTRO_FEATURES = "x11"
-
-PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'zeroconf', 'avahi', '', d)} libvncserver"
-PACKAGECONFIG[avahi] = "--with-avahi,--without-avahi,avahi"
-PACKAGECONFIG[xinerama] = "--with-xinerama,--without-xinerama,libxinerama"
-PACKAGECONFIG[libvncserver] = "--with-system-libvncserver,--without-system-libvncserver,libvncserver"
-
-do_prepare_sources () {
- # Remove old libtool macros from acinclude.m4
- sed -i -e '/^# libtool.m4/q' ${S}/acinclude.m4
-}
-do_patch[postfuncs] += "do_prepare_sources"
diff --git a/meta-oe/recipes-graphics/x11vnc/x11vnc_0.9.16.bb b/meta-oe/recipes-graphics/x11vnc/x11vnc_0.9.16.bb
new file mode 100644
index 0000000000..74f80e1844
--- /dev/null
+++ b/meta-oe/recipes-graphics/x11vnc/x11vnc_0.9.16.bb
@@ -0,0 +1,40 @@
+SUMMARY = "Exports your X session or FrameBuffer(fbdev) on-the-fly via VNC"
+HOMEPAGE = "http://www.karlrunge.com/x11vnc/"
+
+SECTION = "x11/utils"
+LICENSE = "GPL-2.0-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://src/x11vnc.h;endline=31;md5=e871a2ad004776794b616822dcab6314"
+
+SRCREV = "87cd0530f438372dda3c70bb491a6fd19f09acc2"
+PV .= "+git"
+
+SRC_URI = "git://github.com/LibVNC/x11vnc;branch=master;protocol=https \
+ file://starting-fix.patch \
+ file://CVE-2020-29074.patch \
+ "
+S = "${WORKDIR}/git"
+
+DEPENDS = "\
+ jpeg \
+ libtasn1 \
+ libvncserver \
+ openssl \
+ p11-kit \
+ zlib \
+"
+
+inherit pkgconfig autotools features_check
+
+ANY_OF_DISTRO_FEATURES = "x11 fbdev"
+
+PACKAGECONFIG ??= "\
+ ${@bb.utils.contains('DISTRO_FEATURES', 'zeroconf', 'avahi', '', d)} \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)} \
+"
+
+PACKAGECONFIG[avahi] = "--with-avahi,--without-avahi,avahi"
+PACKAGECONFIG[xinerama] = "--with-xinerama,--without-xinerama,libxinerama"
+PACKAGECONFIG[x11] = "--with-x,--without-x, libxdamage libxext libxfixes libxrandr libxtst virtual/libx11"
+
+RRECOMMENDS:${PN} = "${@bb.utils.contains('DISTRO_FEATURES', 'fbdev', 'kernel-module-uinput', '', d)}"
diff --git a/meta-oe/recipes-graphics/xbindkeys/xbindkeys_1.8.7.bb b/meta-oe/recipes-graphics/xbindkeys/xbindkeys_1.8.7.bb
new file mode 100644
index 0000000000..0c316edf95
--- /dev/null
+++ b/meta-oe/recipes-graphics/xbindkeys/xbindkeys_1.8.7.bb
@@ -0,0 +1,18 @@
+SUMMARY = "xbindkeys - Tool for launching commands on keystrokes"
+HOMEPAGE = "http://www.nongnu.org/xbindkeys/xbindkeys.html"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=7d715d0b23c4bd9265b7435f546e9fe8"
+SECTION = "x11"
+
+DEPENDS = "virtual/libx11"
+
+inherit features_check autotools
+
+# depends on virtual/libx11
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI = "http://www.nongnu.org/xbindkeys/xbindkeys-${PV}.tar.gz"
+SRC_URI[md5sum] = "b5e1a9668ba13ff8673836d1d965d951"
+SRC_URI[sha256sum] = "a29b86a8ec91d4abc83b420e547da27470847d0efe808aa6e75147aa0adb82f2"
+
+EXTRA_OECONF = "--disable-guile"
diff --git a/meta-oe/recipes-graphics/xcursorgen/xcursorgen_1.0.5.bb b/meta-oe/recipes-graphics/xcursorgen/xcursorgen_1.0.8.bb
index a21dc42a9b..3770babe80 100644
--- a/meta-oe/recipes-graphics/xcursorgen/xcursorgen_1.0.5.bb
+++ b/meta-oe/recipes-graphics/xcursorgen/xcursorgen_1.0.8.bb
@@ -3,11 +3,10 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=bd1fb9ee90eead85f7b171807b3ab4f2"
DEPENDS = "libpng libxcursor"
-SRC_URI = "http://xorg.freedesktop.org/archive/individual/app/${BPN}-${PV}.tar.bz2"
-SRC_URI[md5sum] = "09f56978a62854534deacc8aa8ff3031"
-SRC_URI[sha256sum] = "bc7171a0fa212da866fca2301241630e2009aea8c4ddb75f21b51a31c2e4c581"
+SRC_URI = "http://xorg.freedesktop.org/archive/individual/app/${BPN}-${PV}.tar.xz"
+SRC_URI[sha256sum] = "32b33ce27b4e285e64ff375731806bb7988cc626ff10915c65f1dc4da640cc9b"
-inherit distro_features_check autotools pkgconfig
+inherit features_check autotools pkgconfig
REQUIRED_DISTRO_FEATURES = "x11"
diff --git a/meta-oe/recipes-graphics/xdotool/xdotool_1.20100416.2809.bb b/meta-oe/recipes-graphics/xdotool/xdotool_1.20100416.2809.bb
deleted file mode 100644
index b68e994ab2..0000000000
--- a/meta-oe/recipes-graphics/xdotool/xdotool_1.20100416.2809.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-SUMMARY = "xdotool - command-line X11 automation tool - utilising X11 XTEST interface"
-HOMEPAGE = "http://www.semicomplete.com/projects/xdotool"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=2f9cbf7e9401cec8a38666a08851ce6b"
-SECTION = "x11"
-DEPENDS = "virtual/libx11 libxtst"
-
-PR = "r1"
-
-inherit distro_features_check pkgconfig
-# depends on virtual/libx11
-REQUIRED_DISTRO_FEATURES = "x11"
-
-SRC_URI = "http://semicomplete.googlecode.com/files/xdotool-${PV}.tar.gz"
-SRC_URI[md5sum] = "1d5be641e512c343abfe5f78b39e6f19"
-SRC_URI[sha256sum] = "42d7271fbc796e53db71bb221f311b9ff3c51d90a71c9487a9bd3101ca39894f"
-
-EXTRA_OEMAKE = "PREFIX=${prefix} INSTALLLIB=${libdir} INSTALLMAN=${mandir}"
-
-do_install() {
- oe_runmake -e install DESTDIR=${D} PREFIX=${prefix}
-}
-
diff --git a/meta-oe/recipes-graphics/xdotool/xdotool_3.20211022.1.bb b/meta-oe/recipes-graphics/xdotool/xdotool_3.20211022.1.bb
new file mode 100644
index 0000000000..33e4e0998f
--- /dev/null
+++ b/meta-oe/recipes-graphics/xdotool/xdotool_3.20211022.1.bb
@@ -0,0 +1,22 @@
+SUMMARY = "xdotool - command-line X11 automation tool - utilising X11 XTEST interface"
+HOMEPAGE = "https://github.com/jordansissel/xdotool"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=2f9cbf7e9401cec8a38666a08851ce6b"
+SECTION = "x11"
+DEPENDS = "virtual/libx11 libxtst libxinerama libxkbcommon"
+
+inherit features_check pkgconfig perlnative
+# depends on virtual/libx11
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI = "https://github.com/jordansissel/${BPN}/releases/download/v${PV}/${BP}.tar.gz"
+SRC_URI[sha256sum] = "96f0facfde6d78eacad35b91b0f46fecd0b35e474c03e00e30da3fdd345f9ada"
+
+EXTRA_OEMAKE = "PREFIX=${prefix} INSTALLLIB=${libdir} INSTALLMAN=${mandir}"
+
+UPSTREAM_CHECK_URI="https://github.com/jordansissel/xdotool/tags"
+UPSTREAM_CHECK_REGEX = "v(?P<pver>\d+\.\d{8}\.\d+)"
+
+do_install() {
+ oe_runmake install DESTDIR=${D} PREFIX=${prefix}
+}
diff --git a/meta-oe/recipes-graphics/xorg-app/iceauth_1.0.8.bb b/meta-oe/recipes-graphics/xorg-app/iceauth_1.0.10.bb
index 62296b5be9..7d025de4c4 100644
--- a/meta-oe/recipes-graphics/xorg-app/iceauth_1.0.8.bb
+++ b/meta-oe/recipes-graphics/xorg-app/iceauth_1.0.10.bb
@@ -11,6 +11,6 @@ BBCLASSEXTEND = "native"
DEPENDS += "libice"
-SRC_URI[md5sum] = "3b9b79fa0f9928161f4bad94273de7ae"
-SRC_URI[sha256sum] = "e6ee213a217265cc76050e4293ea70b98c32dce6505c6421227efbda62ab60c6"
+SRC_URI_EXT = "xz"
+SRC_URI[sha256sum] = "3deefb7da26af9dc799b5628d929d91c9af68c78575639944db3b955f29aa029"
diff --git a/meta-oe/recipes-graphics/xorg-app/sessreg/0001-Makefile.am-Error-Fix.patch b/meta-oe/recipes-graphics/xorg-app/sessreg/0001-Makefile.am-Error-Fix.patch
index 207285373c..bfda2dfe71 100644
--- a/meta-oe/recipes-graphics/xorg-app/sessreg/0001-Makefile.am-Error-Fix.patch
+++ b/meta-oe/recipes-graphics/xorg-app/sessreg/0001-Makefile.am-Error-Fix.patch
@@ -6,9 +6,9 @@ Subject: [PATCH] Makefile.am: Error Fix
Do not compile man dir since error always occur.
| sed: file filenames.sed line 3: unterminated `s' command
| make[2]: *** [sessreg.1] Error 1
-It is not a good way.But can remove it from PNBLACKLIST.
+It is not a good way.But can remove it from SKIP_RECIPE.
-Upstream-Status: pending
+Upstream-Status: Pending
Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com>
---
diff --git a/meta-oe/recipes-graphics/xorg-app/sessreg_1.1.1.bb b/meta-oe/recipes-graphics/xorg-app/sessreg_1.1.3.bb
index d2afa78f97..33ab22cde4 100644
--- a/meta-oe/recipes-graphics/xorg-app/sessreg_1.1.1.bb
+++ b/meta-oe/recipes-graphics/xorg-app/sessreg_1.1.3.bb
@@ -4,8 +4,8 @@ SUMMARY = "a simple program for managing utmp/wtmp entries"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=d938a70c8280c265a1ccd2954365d185"
SRC_URI += "file://0001-Makefile.am-Error-Fix.patch"
-SRC_URI[md5sum] = "e475167a892b589da23edf8edf8c942d"
-SRC_URI[sha256sum] = "78a76ae3f3f6a26547a34630d1b740f42344848b5fb6d7c9c7f7da255e35a6e1"
+SRC_URI_EXT = "xz"
+SRC_URI[sha256sum] = "022acd5de8077dddc4f919961f79e102ecd5f3228a333681af5cd0e7344facc2"
-CFLAGS_append_libc-musl = " -D_WTMPX_FILE=WTMP_FILE -D_PATH_WTMPX=_PATH_WTMP -D_UTMPX_FILE=UTMP_FILE -D_PATH_UTMPX=_PATH_UTMP "
+CFLAGS:append:libc-musl = " -D_WTMPX_FILE=WTMP_FILE -D_PATH_WTMPX=_PATH_WTMP -D_UTMPX_FILE=UTMP_FILE -D_PATH_UTMPX=_PATH_UTMP "
diff --git a/meta-oe/recipes-graphics/xorg-app/setxkbmap_1.3.1.bb b/meta-oe/recipes-graphics/xorg-app/setxkbmap_1.3.4.bb
index 840275387f..9c522d6ae1 100644
--- a/meta-oe/recipes-graphics/xorg-app/setxkbmap_1.3.1.bb
+++ b/meta-oe/recipes-graphics/xorg-app/setxkbmap_1.3.4.bb
@@ -11,9 +11,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=5feafdbe6dfe9e2bd32325be0cfc86f8"
PE = "1"
-DEPENDS += "libxkbfile"
+DEPENDS += "libxkbfile xrandr"
BBCLASSEXTEND = "native"
-SRC_URI[md5sum] = "2c47a1b8e268df73963c4eb2316b1a89"
-SRC_URI[sha256sum] = "a9ddb3963f263ba13f0ea105d8c45a531832140530217cc559587bb94f02d3e1"
+SRC_URI_EXT = "xz"
+SRC_URI[sha256sum] = "be8d8554d40e981d1b93b5ff82497c9ad2259f59f675b38f1b5e84624c07fade"
diff --git a/meta-oe/recipes-graphics/xorg-app/twm_1.0.9.bb b/meta-oe/recipes-graphics/xorg-app/twm_1.0.12.bb
index 41c804bb34..91b1abc211 100644
--- a/meta-oe/recipes-graphics/xorg-app/twm_1.0.9.bb
+++ b/meta-oe/recipes-graphics/xorg-app/twm_1.0.12.bb
@@ -5,10 +5,10 @@ DEPENDS += " libxext libxt libxmu bison-native"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=4c6d42ef60e8166aa26606524c0b9586"
-SRC_URI[md5sum] = "59a6f076cdacb5f6945dac809bcf4906"
-SRC_URI[sha256sum] = "c575167ac33edf3bd1592f1bedfe0559debb128ed5fb4873c1278e3be166310a"
+SRC_URI = "${XORG_MIRROR}/individual/app/${BPN}-${PV}.tar.gz"
+SRC_URI[sha256sum] = "4150c9ec595520167ab8c4efcb5cf82641a4c4db78ce0a1cb4834e6aeb7c87fb"
-FILES_${PN} += "${datadir}/X11/twm/system.twmrc"
+FILES:${PN} += "${datadir}/X11/twm/system.twmrc"
ALTERNATIVE_NAME = "x-window-manager"
ALTERNATIVE_PATH = "${bindir}/twm"
ALTERNATIVE_LINK = "${bindir}/x-window-manager"
diff --git a/meta-oe/recipes-graphics/xorg-app/xclock_1.0.5.bb b/meta-oe/recipes-graphics/xorg-app/xclock_1.1.1.bb
index cf970d5d6c..a7360b6496 100644
--- a/meta-oe/recipes-graphics/xorg-app/xclock_1.0.5.bb
+++ b/meta-oe/recipes-graphics/xorg-app/xclock_1.1.1.bb
@@ -6,6 +6,5 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=857759ade8f2ddde5c7b32ef7356ea36"
DEPENDS += " libxaw libxrender libxft libxkbfile libxt"
-SRC_URI[md5sum] = "eaf124bbc9d13e1a12a29faaa2ed3612"
-SRC_URI[sha256sum] = "53a9169e24f3814fbfcfee3ca0b98637840a3156ed7c7e36ae03940fabae4c9a"
-
+SRC_URI_EXT = "xz"
+SRC_URI[sha256sum] = "df7ceabf8f07044a2fde4924d794554996811640a45de40cb12c2cf1f90f742c"
diff --git a/meta-oe/recipes-graphics/xorg-app/xfontsel_1.0.5.bb b/meta-oe/recipes-graphics/xorg-app/xfontsel_1.1.0.bb
index c74b291946..4c31d0b77a 100644
--- a/meta-oe/recipes-graphics/xorg-app/xfontsel_1.0.5.bb
+++ b/meta-oe/recipes-graphics/xorg-app/xfontsel_1.1.0.bb
@@ -9,5 +9,5 @@ DEPENDS += " libxaw"
LIC_FILES_CHKSUM = "file://COPYING;md5=4669d2703c60d585cc29ba7e9a69bcb3"
-SRC_URI[md5sum] = "a40302b88c599b63e3d3d412e02871e6"
-SRC_URI[sha256sum] = "170d8550b96fb47b04db6181b947e6f6b8b97f4df5d691c351a278480cc931bf"
+SRC_URI[sha256sum] = "17052c3357bbfe44b8468675ae3d099c2427ba9fcac10540aef524ae4d77d1b4"
+SRC_URI_EXT = "xz"
diff --git a/meta-oe/recipes-graphics/xorg-app/xgamma_1.0.6.bb b/meta-oe/recipes-graphics/xorg-app/xgamma_1.0.7.bb
index 4949616ddc..dc9cbadb4c 100644
--- a/meta-oe/recipes-graphics/xorg-app/xgamma_1.0.6.bb
+++ b/meta-oe/recipes-graphics/xorg-app/xgamma_1.0.7.bb
@@ -11,5 +11,5 @@ DEPENDS += "libxxf86vm"
BBCLASSEXTEND = "native"
-SRC_URI[md5sum] = "90b4305157c2b966d5180e2ee61262be"
-SRC_URI[sha256sum] = "0ef1c35b5c18b1b22317f455c8df13c0a471a8efad63c89c98ae3ce8c2b222d3"
+SRC_URI_EXT = "xz"
+SRC_URI[sha256sum] = "1c79dae85a8953a15f4fe5c2895a033307b43b8613456c87ec47b374b113bc8f"
diff --git a/meta-oe/recipes-graphics/xorg-app/xkbevd_1.1.4.bb b/meta-oe/recipes-graphics/xorg-app/xkbevd_1.1.5.bb
index b42c1b9506..afc1fe17d5 100644
--- a/meta-oe/recipes-graphics/xorg-app/xkbevd_1.1.4.bb
+++ b/meta-oe/recipes-graphics/xorg-app/xkbevd_1.1.5.bb
@@ -9,5 +9,5 @@ DEPENDS += "libxkbfile bison-native"
BBCLASSEXTEND = "native"
-SRC_URI[md5sum] = "c747faf1f78f5a5962419f8bdd066501"
-SRC_URI[sha256sum] = "2430a2e5302a4cb4a5530c1df8cb3721a149bbf8eb377a2898921a145197f96a"
+SRC_URI_EXT = "xz"
+SRC_URI[sha256sum] = "38357b702de9d3457c4ff75053390f457b84c4accc7f088101255c37c684926b"
diff --git a/meta-oe/recipes-graphics/xorg-app/xkbprint_1.0.4.bb b/meta-oe/recipes-graphics/xorg-app/xkbprint_1.0.6.bb
index 26977bea55..e866bed016 100644
--- a/meta-oe/recipes-graphics/xorg-app/xkbprint_1.0.4.bb
+++ b/meta-oe/recipes-graphics/xorg-app/xkbprint_1.0.6.bb
@@ -9,5 +9,5 @@ DEPENDS += "libxkbfile"
BBCLASSEXTEND = "native"
-SRC_URI[md5sum] = "3c25b40de530112c08bf7d229c5c6a28"
-SRC_URI[sha256sum] = "0b3faab8fefad03dfb7e866f634cf859822801de6b5fc6cf5e0a62857ed93e12"
+SRC_URI[sha256sum] = "99cc9404f7b90289ae04944c0d98a208cc8b158492ad6481386e31d4d09aa7b0"
+SRC_URI_EXT = "xz"
diff --git a/meta-oe/recipes-graphics/xorg-app/xkbutils_1.0.4.bb b/meta-oe/recipes-graphics/xorg-app/xkbutils_1.0.6.bb
index 6a05e98e32..0274608d05 100644
--- a/meta-oe/recipes-graphics/xorg-app/xkbutils_1.0.4.bb
+++ b/meta-oe/recipes-graphics/xorg-app/xkbutils_1.0.6.bb
@@ -9,11 +9,9 @@ It includes: \
xkbvleds - display the state of LEDs on an XKB keyboard in a window \
xkbwatch - reports changes in the XKB keyboard state \
"
-LIC_FILES_CHKSUM = "file://COPYING;md5=64322fab5239f5c8d97cf6e0e14f1c62"
+LIC_FILES_CHKSUM = "file://COPYING;md5=6767a97a97e21260134637b657b922ae"
DEPENDS += "libxaw libxkbfile"
-BBCLASSEXTEND = "native"
-
-SRC_URI[md5sum] = "502b14843f610af977dffc6cbf2102d5"
-SRC_URI[sha256sum] = "d2a18ab90275e8bca028773c44264d2266dab70853db4321bdbc18da75148130"
+SRC_URI_EXT = "xz"
+SRC_URI[sha256sum] = "31a2bbee1e09ccba01de92897b8f540b545de812f318d31de07bd3a5a75ee25e"
diff --git a/meta-oe/recipes-graphics/xorg-app/xlsatoms_1.1.2.bb b/meta-oe/recipes-graphics/xorg-app/xlsatoms_1.1.4.bb
index 723d4e2112..ad06612d5e 100644
--- a/meta-oe/recipes-graphics/xorg-app/xlsatoms_1.1.2.bb
+++ b/meta-oe/recipes-graphics/xorg-app/xlsatoms_1.1.4.bb
@@ -10,5 +10,5 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=2b08d9e2e718ac83e6fe2b974d4b5fd8"
DEPENDS += "libxmu"
BBCLASSEXTEND = "native"
-SRC_URI[md5sum] = "5dcb6e6c4b28c8d7aeb45257f5a72a7d"
-SRC_URI[sha256sum] = "47e5dc7c3dbda6db2cf8c00cedac1722835c1550aa21cfdbc9ba83906694dea4"
+SRC_URI_EXT = "xz"
+SRC_URI[sha256sum] = "f4bfa15f56c066d326a5d5b292646708f25b9247506840b9047cd2687dcc71b7"
diff --git a/meta-oe/recipes-graphics/xorg-app/xlsclients_1.1.4.bb b/meta-oe/recipes-graphics/xorg-app/xlsclients_1.1.5.bb
index 42bda7ea35..d73a27f971 100644
--- a/meta-oe/recipes-graphics/xorg-app/xlsclients_1.1.4.bb
+++ b/meta-oe/recipes-graphics/xorg-app/xlsclients_1.1.5.bb
@@ -10,5 +10,5 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=350e1b718a56df39cfe8ca9345ea4575"
BBCLASSEXTEND = "native"
-SRC_URI[md5sum] = "4fa92377e0ddc137cd226a7a87b6b29a"
-SRC_URI[sha256sum] = "773f2af49c7ea2c44fba4213bee64325875c1b3c9bc4bbcd8dac9261751809c1"
+SRC_URI_EXT = "xz"
+SRC_URI[sha256sum] = "68baee57e70250ac4a7759fb78221831f97d88bc8e51dcc2e64eb3f8ca56bae3"
diff --git a/meta-oe/recipes-graphics/xorg-app/xlsfonts_1.0.6.bb b/meta-oe/recipes-graphics/xorg-app/xlsfonts_1.0.8.bb
index 76b76e4b37..4ddb1b9887 100644
--- a/meta-oe/recipes-graphics/xorg-app/xlsfonts_1.0.6.bb
+++ b/meta-oe/recipes-graphics/xorg-app/xlsfonts_1.0.8.bb
@@ -6,5 +6,5 @@ SECTION = "x11/app"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=5ec74dd7ea4d10c4715a7c44f159a40b"
-SRC_URI[md5sum] = "5774fd4f518b3f338f2b28f270e04bfc"
-SRC_URI[sha256sum] = "89b80b3a030006ab6cef717be286c12f2477894b227158b1e6133274f6ebd368"
+SRC_URI_EXT = "xz"
+SRC_URI[sha256sum] = "807f909eace684b866fc63b3e962729c120822a6c96e051ff51cf350b3ffb6cd"
diff --git a/meta-oe/recipes-graphics/xorg-app/xmag_1.0.5.bb b/meta-oe/recipes-graphics/xorg-app/xmag_1.0.7.bb
index d577421803..f3dac53451 100644
--- a/meta-oe/recipes-graphics/xorg-app/xmag_1.0.5.bb
+++ b/meta-oe/recipes-graphics/xorg-app/xmag_1.0.7.bb
@@ -7,5 +7,5 @@ LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=3413fe6832380b44b69b172d2d1b2387"
DEPENDS += " libxaw libxt"
-SRC_URI[md5sum] = "280b81cb09d1903aa868a058d90128ad"
-SRC_URI[sha256sum] = "4ace8795cf756be4ba387f30366045594ce26adda2f5ffe1f8e896825d0932c6"
+SRC_URI_EXT = "xz"
+SRC_URI[sha256sum] = "009936cc5a2706084079127b26cf55c713767650a34cb69e5682d60e33ce7461"
diff --git a/meta-oe/recipes-graphics/xorg-app/xmessage_1.0.4.bb b/meta-oe/recipes-graphics/xorg-app/xmessage_1.0.7.bb
index 9960706d0c..6682784fbf 100644
--- a/meta-oe/recipes-graphics/xorg-app/xmessage_1.0.4.bb
+++ b/meta-oe/recipes-graphics/xorg-app/xmessage_1.0.7.bb
@@ -6,5 +6,5 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=73c7f696a728de728d7446cbca814cc5"
DEPENDS += "libxaw"
-SRC_URI[md5sum] = "2dd5ae46fa18abc9331bc26250a25005"
-SRC_URI[sha256sum] = "bcdf4b461c439bb3ade6e1e41c47d6218b912da8e9396b7ad70856db2f95ab68"
+SRC_URI[sha256sum] = "703fccb7a0b772d61d7e603c189b9739866aa97ba985c727275420f829a30356"
+SRC_URI_EXT = "xz"
diff --git a/meta-oe/recipes-graphics/xorg-app/xrdb_1.1.1.bb b/meta-oe/recipes-graphics/xorg-app/xrdb_1.2.2.bb
index e50c082d87..53214c8fe8 100644
--- a/meta-oe/recipes-graphics/xorg-app/xrdb_1.1.1.bb
+++ b/meta-oe/recipes-graphics/xorg-app/xrdb_1.2.2.bb
@@ -5,5 +5,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d1167c4f586bd41f0c62166db4384a69"
DEPENDS += "libxmu"
-SRC_URI[md5sum] = "96f9423eab4d0641c70848d665737d2e"
-SRC_URI[sha256sum] = "2d23ade7cdbb487996bf77cbb32cbe9bdb34d004748a53de7a4a97660d2217b7"
+SRC_URI_EXT = "xz"
+SRC_URI[sha256sum] = "31f5fcab231b38f255b00b066cf7ea3b496df712c9eb2d0d50c670b63e5033f4"
+
+EXTRA_OECONF += "--with-cpp=${bindir}/cpp"
diff --git a/meta-oe/recipes-graphics/xorg-app/xrefresh_1.0.5.bb b/meta-oe/recipes-graphics/xorg-app/xrefresh_1.1.0.bb
index a2a4941e96..12d05b1307 100644
--- a/meta-oe/recipes-graphics/xorg-app/xrefresh_1.0.5.bb
+++ b/meta-oe/recipes-graphics/xorg-app/xrefresh_1.1.0.bb
@@ -9,5 +9,5 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=dad633bce9c3cd0e3abf72a16e0057cf"
BBCLASSEXTEND = "native"
-SRC_URI[md5sum] = "a896382bc53ef3e149eaf9b13bc81d42"
-SRC_URI[sha256sum] = "3213671b0a8a9d1e8d1d5d9e3fd86842c894dd9acc1be2560eda50bc1fb791d6"
+SRC_URI[sha256sum] = "29ed592d5ece35a3029004d8c46f3002f92970870a96c11e38baf7f1122b8b5f"
+SRC_URI_EXT = "xz"
diff --git a/meta-oe/recipes-graphics/xorg-app/xsetmode_1.0.0.bb b/meta-oe/recipes-graphics/xorg-app/xsetmode_1.0.0.bb
deleted file mode 100644
index b757329d94..0000000000
--- a/meta-oe/recipes-graphics/xorg-app/xsetmode_1.0.0.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-require recipes-graphics/xorg-app/xorg-app-common.inc
-
-SUMMARY = "X.Org X11 X client utilities"
-HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/xsetmode/"
-DESCRIPTION = "xsetmode sets the mode of an XInput device to either absolute \
-or relative."
-SECTION = "x11/app"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=9b37e00e7793b667cbc64f9df7b6d733"
-
-DEPENDS += "libxi"
-BBCLASSEXTEND = "native"
-
-SRC_URI[md5sum] = "d074e79d380b031d2f60e4cd56538c93"
-SRC_URI[sha256sum] = "988b47cd922991c6e6adbce15dc386ac75690b61744b526c3af5a4eaa9afa0aa"
diff --git a/meta-oe/recipes-graphics/xorg-app/xsetroot_1.1.1.bb b/meta-oe/recipes-graphics/xorg-app/xsetroot_1.1.3.bb
index 2c79f27ca4..7e909f90cf 100644
--- a/meta-oe/recipes-graphics/xorg-app/xsetroot_1.1.1.bb
+++ b/meta-oe/recipes-graphics/xorg-app/xsetroot_1.1.3.bb
@@ -7,8 +7,7 @@ SECTION = "x11/app"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=6ea29dbee22324787c061f039e0529de"
-DEPENDS += "xbitmaps libxcursor"
-BBCLASSEXTEND = "native"
+DEPENDS += "xbitmaps libxcursor libxmu"
-SRC_URI[md5sum] = "7211b31ec70631829ebae9460999aa0b"
-SRC_URI[sha256sum] = "ba215daaa78c415fce11b9e58c365d03bb602eaa5ea916578d76861a468cc3d9"
+SRC_URI_EXT = "xz"
+SRC_URI[sha256sum] = "6081b45a9eb4426e045d259d1e144b32417fb635e5b96aa90647365ac96638d1"
diff --git a/meta-oe/recipes-graphics/xorg-app/xstdcmap_1.0.3.bb b/meta-oe/recipes-graphics/xorg-app/xstdcmap_1.0.5.bb
index 99f70364ba..7d3aab501c 100644
--- a/meta-oe/recipes-graphics/xorg-app/xstdcmap_1.0.3.bb
+++ b/meta-oe/recipes-graphics/xorg-app/xstdcmap_1.0.5.bb
@@ -11,6 +11,6 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=2b08d9e2e718ac83e6fe2b974d4b5fd8"
DEPENDS += "libxmu"
BBCLASSEXTEND = "native"
-SRC_URI[md5sum] = "eb5473acaef15a5db9b50df29c6a7f90"
-SRC_URI[sha256sum] = "f648e2b0cf16aa29856de998e2c7204be39dc1f8daeda9464d32288e0b580fc1"
+SRC_URI_EXT = "xz"
+SRC_URI[sha256sum] = "365847e379398499ec9ad9a299cc47a0d6e7feba9546dfd4e5b422204b5ac180"
diff --git a/meta-oe/recipes-graphics/xorg-app/xterm/0001-include-missing-pty.h-header-for-openpty.patch b/meta-oe/recipes-graphics/xorg-app/xterm/0001-include-missing-pty.h-header-for-openpty.patch
new file mode 100644
index 0000000000..0c9d64c82c
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-app/xterm/0001-include-missing-pty.h-header-for-openpty.patch
@@ -0,0 +1,30 @@
+From e30ab2d73a21bc55511cbedbb9ae603246dbfcd1 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 16 May 2024 23:10:00 -0700
+Subject: [PATCH] include missing pty.h header for openpty()
+
+On musl this problem is unearthed
+
+Fix
+./main.c: In function 'get_pty':
+./main.c:3123:14: error: implicit declaration of function 'openpty'; did you mean 'openat'? [-Wimplicit-function-declaration]
+ 3123 | result = openpty(pty, &opened_tty, ttydev, NULL, NULL);
+ | ^~~~~~~
+ | openat
+
+Upstream-Status: Submitted [sent to dickey@invisible-island.net]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ main.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/main.c
++++ b/main.c
+@@ -89,6 +89,7 @@
+
+ #define RES_OFFSET(field) XtOffsetOf(XTERM_RESOURCE, field)
+
++#include <pty.h>
+ #include <xterm.h>
+ #include <version.h>
+ #include <graphics.h>
diff --git a/meta-oe/recipes-graphics/xorg-app/xterm_330.bb b/meta-oe/recipes-graphics/xorg-app/xterm_330.bb
deleted file mode 100644
index c2feb81070..0000000000
--- a/meta-oe/recipes-graphics/xorg-app/xterm_330.bb
+++ /dev/null
@@ -1,34 +0,0 @@
-require recipes-graphics/xorg-app/xorg-app-common.inc
-SUMMARY = "xterm is the standard terminal emulator for the X Window System"
-DEPENDS = "libxaw xorgproto libxext libxau libxinerama libxpm ncurses"
-
-LIC_FILES_CHKSUM = "file://xterm.h;beginline=3;endline=31;md5=f02ab9ebda87b770ecf711dbb3784a33"
-
-SRC_URI = "http://invisible-mirror.net/archives/${BPN}/${BP}.tgz"
-
-SRC_URI[md5sum] = "9a6db7974aa4ccbb50eabebf72618467"
-SRC_URI[sha256sum] = "7aeef9f29f6b95e09f481173c8c3053357bf5ffe162585647f690fd1707556df"
-PACKAGECONFIG ?= ""
-PACKAGECONFIG[xft] = "--enable-freetype,--disable-freetype,libxft fontconfig freetype-native"
-
-EXTRA_OECONF = " --x-includes=${STAGING_INCDIR} \
- --x-libraries=${STAGING_LIBDIR} \
- FREETYPE_CONFIG=${STAGING_BINDIR_CROSS}/freetype-config \
- --disable-imake \
- --disable-rpath-hack \
- --disable-setuid"
-
-B = "${S}"
-
-do_configure() {
- gnu-configize --force
- sed -e "s%/usr/contrib/X11R6%${STAGING_LIBDIR}%g" -i configure
- oe_runconf
-}
-
-FILES_${PN} += "/usr/lib/X11"
-
-# busybox can supply resize too
-inherit update-alternatives
-
-ALTERNATIVE_${PN} = "resize"
diff --git a/meta-oe/recipes-graphics/xorg-app/xterm_394.bb b/meta-oe/recipes-graphics/xorg-app/xterm_394.bb
new file mode 100644
index 0000000000..94953b288e
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-app/xterm_394.bb
@@ -0,0 +1,51 @@
+require recipes-graphics/xorg-app/xorg-app-common.inc
+SUMMARY = "xterm is the standard terminal emulator for the X Window System"
+DEPENDS = "libxaw xorgproto libxext libxau libxinerama libxpm ncurses desktop-file-utils-native"
+
+LIC_FILES_CHKSUM = "file://xterm.h;beginline=3;endline=31;md5=1a3032aa728f8fda9d686948940ca58d"
+
+SRC_URI = "http://invisible-mirror.net/archives/${BPN}/${BP}.tgz \
+ file://0001-include-missing-pty.h-header-for-openpty.patch \
+ "
+SRC_URI[sha256sum] = "a2a0cb206eb0423dedc34794f5c2d38c83390d2dd1106b66aba0960c3a976c7a"
+
+PACKAGECONFIG ?= ""
+PACKAGECONFIG[xft] = "--enable-freetype,--disable-freetype,libxft fontconfig freetype-native"
+
+# Let xterm install .desktop files
+inherit mime-xdg
+
+EXTRA_OECONF = " --x-includes=${STAGING_INCDIR} \
+ --x-libraries=${STAGING_LIBDIR} \
+ FREETYPE_CONFIG=${STAGING_BINDIR_CROSS}/freetype-config \
+ --disable-imake \
+ --disable-rpath-hack \
+ --disable-setuid \
+ --with-app-defaults=${datadir}/X11/app-defaults \
+ "
+
+B = "${S}"
+
+CFLAGS += "-D_GNU_SOURCE"
+
+do_configure() {
+ gnu-configize --force
+ sed -e "s%/usr/contrib/X11R6%${STAGING_LIBDIR}%g" -i configure
+ oe_runconf
+}
+
+do_install:append() {
+ oe_runmake install-desktop DESTDIR="${D}" DESKTOP_FLAGS="--dir=${D}${DESKTOPDIR}"
+}
+
+RPROVIDES:${PN} = "virtual-x-terminal-emulator"
+
+# busybox can supply resize too
+inherit update-alternatives
+
+ALTERNATIVE:${PN} = "resize x-terminal-emulator"
+ALTERNATIVE_TARGET[x-terminal-emulator] = "${bindir}/xterm"
+# rxvt-unicode defaults to priority 10. Let's be one point lower to let it override xterm.
+ALTERNATIVE_PRIORITY[x-terminal-emulator] = "9"
+
+CVE_STATUS[CVE-1999-0965] = "cpe-incorrect: Current version (392) not affected. This was fixed in version X11R5-fix-26 (R11R6 from 1994)"
diff --git a/meta-oe/recipes-graphics/xorg-app/xwd_1.0.6.bb b/meta-oe/recipes-graphics/xorg-app/xwd_1.0.9.bb
index 694bf57ace..4a05a4437a 100644
--- a/meta-oe/recipes-graphics/xorg-app/xwd_1.0.6.bb
+++ b/meta-oe/recipes-graphics/xorg-app/xwd_1.0.9.bb
@@ -7,5 +7,5 @@ LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=c0cdb783e9a0198237371fdaa26a18bf"
DEPENDS = "libxmu libxkbfile"
-SRC_URI[md5sum] = "6b5d48464c5f366e91efd08b62b12d94"
-SRC_URI[sha256sum] = "3bb396a2268d78de4b1c3e5237a85f7849d3434e87b3cd1f4d57eef614227d79"
+SRC_URI_EXT = "xz"
+SRC_URI[sha256sum] = "dc121b84947eb4a3d1131bff1e9844cfa2124d95b47b35f9932340fa931fbd3f"
diff --git a/meta-oe/recipes-graphics/xorg-app/xwud_1.0.5.bb b/meta-oe/recipes-graphics/xorg-app/xwud_1.0.6.bb
index 7cb550d276..1be0b5cd77 100644
--- a/meta-oe/recipes-graphics/xorg-app/xwud_1.0.5.bb
+++ b/meta-oe/recipes-graphics/xorg-app/xwud_1.0.6.bb
@@ -8,5 +8,5 @@ SECTION = "x11/app"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=31e8892c80b7a0c1c5f37c8e8ae6d794"
-SRC_URI[md5sum] = "79972093bb0766fcd0223b2bd6d11932"
-SRC_URI[sha256sum] = "99997051f8a892313f22edf41dab45864e86e7062ee9012d5dbb6a40fc6b10a9"
+SRC_URI_EXT = "xz"
+SRC_URI[sha256sum] = "64048cd15eba3cd9a3d2e3280650391259ebf6b529f2101d1a20f441038c1afe"
diff --git a/meta-oe/recipes-graphics/xorg-data/xbitmaps_1.1.1.bb b/meta-oe/recipes-graphics/xorg-data/xbitmaps_1.1.1.bb
deleted file mode 100644
index 8647f038e0..0000000000
--- a/meta-oe/recipes-graphics/xorg-data/xbitmaps_1.1.1.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-require xorg-data-common.inc
-
-SUMMARY = "Common X11 Bitmaps"
-LICENSE = "MIT"
-DEPENDS += "libxmu"
-RDEPENDS_${PN}-dev = ""
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=dbd075aaffa4a60a8d00696f2e4b9a8f"
-
-SRC_URI[md5sum] = "7444bbbd999b53bec6a60608a5301f4c"
-SRC_URI[sha256sum] = "3671b034356bbc4d32d052808cf646c940ec8b2d1913adac51b1453e41aa1e9d"
diff --git a/meta-oe/recipes-graphics/xorg-data/xbitmaps_1.1.3.bb b/meta-oe/recipes-graphics/xorg-data/xbitmaps_1.1.3.bb
new file mode 100644
index 0000000000..5f49152972
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-data/xbitmaps_1.1.3.bb
@@ -0,0 +1,7 @@
+require xorg-data-common.inc
+
+SUMMARY = "Common X11 Bitmaps"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=dbd075aaffa4a60a8d00696f2e4b9a8f"
+
+SRC_URI[sha256sum] = "ad6cad54887832a17d86c2ccfc5e52a1dfab090f8307b152c78b0e1529cd0f7a"
diff --git a/meta-oe/recipes-graphics/xorg-data/xcursor-themes_1.0.7.bb b/meta-oe/recipes-graphics/xorg-data/xcursor-themes_1.0.7.bb
new file mode 100644
index 0000000000..9ebd2d12fd
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-data/xcursor-themes_1.0.7.bb
@@ -0,0 +1,11 @@
+require xorg-data-common.inc
+
+SUMMARY = "Default set of cursor themes for use with libXcursor"
+
+DEPENDS:append = " libxcursor xcursorgen-native"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=d8cbd99fff773f92e844948f74ef0df8"
+
+SRC_URI[sha256sum] = "95bae8f48823d894a05bf42dfbf453674ab7dbdeb11e2bc079e8525ad47378c8"
+
+FILES:${PN} += "${datadir}/icons"
diff --git a/meta-oe/recipes-graphics/xorg-data/xorg-data-common.inc b/meta-oe/recipes-graphics/xorg-data/xorg-data-common.inc
index cb6b5ac773..17fe00a9b8 100644
--- a/meta-oe/recipes-graphics/xorg-data/xorg-data-common.inc
+++ b/meta-oe/recipes-graphics/xorg-data/xorg-data-common.inc
@@ -1,12 +1,12 @@
HOMEPAGE = "http://www.x.org"
SECTION = "x11/data"
-LICENSE = "MIT-X"
+LICENSE = "MIT"
-XORG_PN = "${BPN}"
+DEPENDS = "util-macros-native virtual/libx11"
-SRC_URI = "${XORG_MIRROR}/individual/data/${BP}.tar.bz2"
-S = "${WORKDIR}/${XORG_PN}-${PV}"
+SRC_URI_EXT = "xz"
+SRC_URI = "${XORG_MIRROR}/individual/data/${BP}.tar.${SRC_URI_EXT}"
-inherit distro_features_check autotools pkgconfig
+inherit features_check autotools pkgconfig
REQUIRED_DISTRO_FEATURES = "x11"
diff --git a/meta-oe/recipes-graphics/xorg-doc/xorg-doc-common.inc b/meta-oe/recipes-graphics/xorg-doc/xorg-doc-common.inc
index f4b8b00de5..042db48acb 100644
--- a/meta-oe/recipes-graphics/xorg-doc/xorg-doc-common.inc
+++ b/meta-oe/recipes-graphics/xorg-doc/xorg-doc-common.inc
@@ -1,12 +1,13 @@
DESCRIPTION = "X documentation"
HOMEPAGE = "http://www.x.org"
SECTION = "x11/docs"
-LICENSE = "MIT-X"
+LICENSE = "MIT"
-SRC_URI = "${XORG_MIRROR}/individual/doc/${BPN}-${PV}.tar.bz2"
+DEPENDS = "util-macros-native"
-S = "${WORKDIR}/${BPN}-${PV}"
-
-INC_PR = "r1"
+SRC_URI_EXT = "bz2"
+SRC_URI = "${XORG_MIRROR}/individual/doc/${BPN}-${PV}.tar.${SRC_URI_EXT}"
inherit autotools pkgconfig
+
+
diff --git a/meta-oe/recipes-graphics/xorg-doc/xorg-docs_1.7.2.bb b/meta-oe/recipes-graphics/xorg-doc/xorg-docs_1.7.2.bb
new file mode 100644
index 0000000000..4cef981bc8
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-doc/xorg-docs_1.7.2.bb
@@ -0,0 +1,7 @@
+require xorg-doc-common.inc
+
+SUMMARY = "Documentation for the X Window System"
+
+LIC_FILES_CHKSUM = "file://general/License.xml;md5=f2677c20a4066714e233e9bbd8659aa2"
+
+SRC_URI[sha256sum] = "2391b8af472626c12d3c3814b5e7a0ea43c3a96eda94255b7ed8bdff0fbf08e3"
diff --git a/meta-oe/recipes-graphics/xorg-doc/xorg-sgml-doctools_1.12.bb b/meta-oe/recipes-graphics/xorg-doc/xorg-sgml-doctools_1.12.bb
new file mode 100644
index 0000000000..21a0ed74fa
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-doc/xorg-sgml-doctools_1.12.bb
@@ -0,0 +1,11 @@
+require xorg-doc-common.inc
+
+PE = "1"
+
+SUMMARY = "SGML entities and XML/CSS stylesheets used in X.Org docs"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=c8c6c808cd3c797a07b24e443af1c449"
+
+SRC_URI[sha256sum] = "65a9fdddedc17bd5e9c0b00d904960f03f047c3a62de5458989d493c29fec806"
+
+FILES:${PN} += "${datadir}/sgml/X11"
diff --git a/meta-oe/recipes-graphics/xorg-doc/xorg-sgml-doctools_1.7.bb b/meta-oe/recipes-graphics/xorg-doc/xorg-sgml-doctools_1.7.bb
deleted file mode 100644
index 80f1f008b5..0000000000
--- a/meta-oe/recipes-graphics/xorg-doc/xorg-sgml-doctools_1.7.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-require xorg-doc-common.inc
-PE = "1"
-PR = "${INC_PR}.0"
-
-DEPENDS += "util-macros"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=c8c6c808cd3c797a07b24e443af1c449"
-
-SRC_URI[md5sum] = "2588efb3f49f7fc6ecf41ce42e0b2e5e"
-SRC_URI[sha256sum] = "84fd94e5c50556e6f77501485f8a48724cf3c95c6d58480bc280258ba14580c8"
-
-FILES_${PN} += " /usr/share/sgml/X11"
diff --git a/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/10-x11-input-tslib.fdi b/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/10-x11-input-tslib.fdi
deleted file mode 100644
index 906043947e..0000000000
--- a/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/10-x11-input-tslib.fdi
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<deviceinfo version="0.2">
- <device>
- <match key="info.capabilities" contains="input.touchpad">
- <merge key="input.x11_driver" type="string">tslib</merge>
- </match>
- <match key="info.capabilities" contains="input.touchscreen">
- <merge key="input.x11_driver" type="string">tslib</merge>
- </match>
- </device>
-</deviceinfo>
diff --git a/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/double-free-crash.patch b/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/double-free-crash.patch
deleted file mode 100644
index 07754731dd..0000000000
--- a/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/double-free-crash.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-xorg-server-1.7.3/hw/xfree86/common/xf86Helper.c contains this code
-causing a double free crash on chvt or exit:
-
- /* This should *really* be handled in drv->UnInit(dev) call instead, but
- * if the driver forgets about it make sure we free it or at least crash
- * with flying colors */
- if (pInp->private)
- xfree(pInp->private);
-Index: xf86-input-tslib-0.0.6/src/tslib.c
-===================================================================
---- xf86-input-tslib-0.0.6.orig/src/tslib.c
-+++ xf86-input-tslib-0.0.6/src/tslib.c
-@@ -435,6 +435,7 @@ xf86TslibUninit(InputDriverPtr drv, Inpu
- xf86TslibControlProc(pInfo->dev, DEVICE_OFF);
- ts_close(priv->ts);
- xfree(pInfo->private);
-+ pInfo->private = NULL;
- xf86DeleteInput(pInfo, 0);
- }
-
diff --git a/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/xf86-input-tslib-0.0.6-xf86XInputSetScreen.patch b/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/xf86-input-tslib-0.0.6-xf86XInputSetScreen.patch
deleted file mode 100644
index d16b4a53cb..0000000000
--- a/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/xf86-input-tslib-0.0.6-xf86XInputSetScreen.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-Fixes crash when a touchscreen event is received with xserver 1.12 and later:
-X: symbol lookup error: /usr/lib/xorg/modules/input/tslib_drv.so: undefined symbol: xf86XInputSetScreen
-
-Upstream-Status: Pending
-
-Taken from Gentoo:
-https://bugs.gentoo.org/show_bug.cgi?id=446432
-
-diff -ur xf86-input-tslib-0.0.6.orig/src/tslib.c xf86-input-tslib-0.0.6/src/tslib.c
---- xf86-input-tslib-0.0.6.orig/src/tslib.c 2012-12-05 01:12:16.286597071 +0100
-+++ xf86-input-tslib-0.0.6/src/tslib.c 2012-12-05 01:11:02.686598595 +0100
-@@ -75,6 +75,19 @@
- #define COLLECT_INPUT_OPTIONS(pInfo, options) xf86CollectInputOptions((pInfo), (options))
- #endif
-
-+#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) > 13
-+static void
-+xf86XInputSetScreen(InputInfoPtr pInfo,
-+ int screen_number,
-+ int x,
-+ int y)
-+{
-+ if (miPointerGetScreen(pInfo->dev) !=
-+ screenInfo.screens[screen_number]) {
-+ miPointerSetScreen(pInfo->dev, screen_number, x, y);
-+ }
-+}
-+#endif
-
- enum { TSLIB_ROTATE_NONE=0, TSLIB_ROTATE_CW=270, TSLIB_ROTATE_UD=180, TSLIB_ROTATE_CCW=90 };
-
diff --git a/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/xf86-input-tslib-port-ABI-12-r48.patch b/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/xf86-input-tslib-port-ABI-12-r48.patch
deleted file mode 100644
index 6a6d5b92c6..0000000000
--- a/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/xf86-input-tslib-port-ABI-12-r48.patch
+++ /dev/null
@@ -1,196 +0,0 @@
-Upstream-Status: Pending
-
-Taken from debian:
-http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=627075
-
-Index: xf86-input-tslib-trunk/src/tslib.c
-===================================================================
---- xf86-input-tslib-trunk/src/tslib.c (revision 48)
-+++ xf86-input-tslib-trunk/src/tslib.c (working copy)
-@@ -69,6 +69,13 @@
- #define DEFAULT_HEIGHT 240
- #define DEFAULT_WIDTH 320
-
-+#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 12
-+#define COLLECT_INPUT_OPTIONS(pInfo, options) xf86CollectInputOptions((pInfo), (options), NULL)
-+#else
-+#define COLLECT_INPUT_OPTIONS(pInfo, options) xf86CollectInputOptions((pInfo), (options))
-+#endif
-+
-+
- enum { TSLIB_ROTATE_NONE=0, TSLIB_ROTATE_CW=270, TSLIB_ROTATE_UD=180, TSLIB_ROTATE_CCW=90 };
-
- enum button_state { BUTTON_NOT_PRESSED = 0, BUTTON_1_PRESSED = 1, BUTTON_3_CLICK = 3, BUTTON_3_CLICKED=4, BUTTON_EMULATION_OFF=-1 };
-@@ -106,7 +113,7 @@
- }
-
- static Bool
--ConvertProc( LocalDevicePtr local,
-+ConvertProc( InputInfoPtr local,
- int first,
- int num,
- int v0,
-@@ -135,7 +142,7 @@
- return t;
- }
-
--static void ReadInput (LocalDevicePtr local)
-+static void ReadInput (InputInfoPtr local)
- {
- struct ts_priv *priv = (struct ts_priv *) (local->private);
- struct ts_sample samp;
-@@ -382,7 +389,11 @@
- axiswidth - 1, /* max val */
- axiswidth, /* resolution */
- 0, /* min_res */
-- axiswidth); /* max_res */
-+ axiswidth /* max_res */
-+#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 12
-+ ,Absolute
-+#endif
-+ );
-
- InitValuatorAxisStruct(device, 1,
- #if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7
-@@ -392,7 +403,11 @@
- axisheight - 1, /* max val */
- axisheight, /* resolution */
- 0, /* min_res */
-- axisheight); /* max_res */
-+ axisheight /* max_res */
-+#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 12
-+ ,Absolute
-+#endif
-+ );
-
- if (InitProximityClassDeviceStruct (device) == FALSE) {
- ErrorF ("Unable to allocate EVTouch touchscreen ProximityClassDeviceStruct\n");
-@@ -434,7 +449,7 @@
- ErrorF("%s\n", __FUNCTION__);
- xf86TslibControlProc(pInfo->dev, DEVICE_OFF);
- ts_close(priv->ts);
-- xfree(pInfo->private);
-+ free(pInfo->private);
- pInfo->private = NULL;
- xf86DeleteInput(pInfo, 0);
- }
-@@ -444,47 +459,57 @@
- *
- * called when the module subsection is found in XF86Config
- */
-+#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 12
-+static int
-+xf86TslibInit(InputDriverPtr drv, InputInfoPtr pInfo, int flags)
-+#else
- static InputInfoPtr
- xf86TslibInit(InputDriverPtr drv, IDevPtr dev, int flags)
-+#endif
- {
- struct ts_priv *priv;
- char *s;
-+#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 12
- InputInfoPtr pInfo;
-+#endif
-
-- priv = xcalloc (1, sizeof (struct ts_priv));
-+ priv = calloc (1, sizeof (struct ts_priv));
- if (!priv)
-- return NULL;
-+ return BadValue;
-
-+#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 12
- if (!(pInfo = xf86AllocateInput(drv, 0))) {
-- xfree(priv);
-- return NULL;
-+ free(priv);
-+ return BadValue;
- }
-
- /* Initialise the InputInfoRec. */
- pInfo->name = dev->identifier;
-- pInfo->type_name = XI_TOUCHSCREEN;
- pInfo->flags =
- XI86_KEYBOARD_CAPABLE | XI86_POINTER_CAPABLE |
- XI86_SEND_DRAG_EVENTS;
-- pInfo->device_control = xf86TslibControlProc;
-- pInfo->read_input = ReadInput;
- #if GET_ABI_MAJOR(ABI_XINPUT_VERSION) == 0
- pInfo->motion_history_proc = xf86GetMotionEvents;
- pInfo->history_size = 0;
- #endif
-- pInfo->control_proc = NULL;
-+ pInfo->conf_idev = dev;
- pInfo->close_proc = NULL;
-- pInfo->switch_mode = NULL;
- pInfo->conversion_proc = ConvertProc;
- pInfo->reverse_conversion_proc = NULL;
-- pInfo->dev = NULL;
- pInfo->private_flags = 0;
- pInfo->always_core_feedback = 0;
-- pInfo->conf_idev = dev;
-+#endif
-+
-+ pInfo->type_name = XI_TOUCHSCREEN;
-+ pInfo->control_proc = NULL;
-+ pInfo->read_input = ReadInput;
-+ pInfo->device_control = xf86TslibControlProc;
-+ pInfo->switch_mode = NULL;
- pInfo->private = priv;
-+ pInfo->dev = NULL;
-
- /* Collect the options, and process the common options. */
-- xf86CollectInputOptions(pInfo, NULL, NULL);
-+ COLLECT_INPUT_OPTIONS(pInfo, NULL);
- xf86ProcessCommonOptions(pInfo, pInfo->options);
-
- priv->screen_num = xf86SetIntOption(pInfo->options, "ScreenNumber", 0 );
-@@ -510,23 +535,31 @@
- priv->rotate = TSLIB_ROTATE_NONE;
- }
-
-+#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 12
- s = xf86CheckStrOption(dev->commonOptions, "path", NULL);
-+#else
-+ s = xf86CheckStrOption(pInfo->options, "path", NULL);
-+#endif
- if (!s)
-+#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 12
- s = xf86CheckStrOption(dev->commonOptions, "Device", NULL);
-+#else
-+ s = xf86CheckStrOption(pInfo->options, "Device", NULL);
-+#endif
-
- priv->ts = ts_open(s, 1);
-- xfree(s);
-+ free(s);
-
- if (!priv->ts) {
- ErrorF("ts_open failed (device=%s)\n",s);
- xf86DeleteInput(pInfo, 0);
-- return NULL;
-+ return BadValue;
- }
-
- if (ts_config(priv->ts)) {
- ErrorF("ts_config failed\n");
- xf86DeleteInput(pInfo, 0);
-- return NULL;
-+ return BadValue;
- }
-
- pInfo->fd = ts_fd(priv->ts);
-@@ -536,11 +569,13 @@
- priv->state = BUTTON_EMULATION_OFF;
- }
-
-+#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 12
- /* Mark the device configured */
- pInfo->flags |= XI86_CONFIGURED;
-+#endif
-
- /* Return the configured device */
-- return (pInfo);
-+ return Success;
- }
-
- _X_EXPORT InputDriverRec TSLIB = {
diff --git a/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/xserver-174-XGetPointerControl.patch b/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/xserver-174-XGetPointerControl.patch
deleted file mode 100644
index a1f6ba8f9e..0000000000
--- a/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/xserver-174-XGetPointerControl.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From Grazvydas Ignotas
-
-At least xserver 1.7.4 crashes on XGetPointerControl request because of xf86-input-tslib:
-
-Program received signal SIGSEGV, Segmentation fault.
-#0 0x000355e0 in ProcGetPointerControl (client=0x4a2e58) at devices.c:2122
-#1 0x00062fa8 in Dispatch () at dispatch.c:439
-#2 0x00022444 in main (argc=4, argv=0xbeebedc4, envp=0xbeebedd8) at main.c:285
-
-This happens because ptrfeed field is not set in device structure from tslib.
-To fix this, call InitPtrFeedbackClassDeviceStruct() during DEVICE_INIT to get necessary setup done (as done in other input drivers).
-
----
-diff -ur xf86-input-tslib-0.0.6/src/tslib.c xf86-input-tslib-0.0.6_/src/tslib.c
---- xf86-input-tslib-0.0.6/src/tslib.c 2010-02-09 12:23:22.000000000 +0200
-+++ xf86-input-tslib-0.0.6_/src/tslib.c 2010-02-09 12:37:33.000000000 +0200
-@@ -103,8 +103,6 @@
- static void
- PointerControlProc(DeviceIntPtr dev, PtrCtrl * ctrl)
- {
-- ErrorF("%s\n", __FUNCTION__);
-- return;
- }
-
- static Bool
-@@ -406,6 +404,8 @@
- xf86MotionHistoryAllocate(pInfo);
- #endif
-
-+ if (!InitPtrFeedbackClassDeviceStruct(device, PointerControlProc))
-+ return !Success;
- break;
-
- case DEVICE_ON:
diff --git a/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib_0.0.6.bb b/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib_0.0.6.bb
deleted file mode 100644
index 6a3689a2ef..0000000000
--- a/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib_0.0.6.bb
+++ /dev/null
@@ -1,35 +0,0 @@
-require recipes-graphics/xorg-driver/xorg-driver-input.inc
-SUMMARY = "X.Org X server -- tslib input driver"
-DEPENDS += "tslib"
-RRECOMMENDS_${PN} += "tslib-calibrate"
-RSUGGESTS_${PN} += "hal"
-
-# derived from xf86-input-void, that's why I kept MIT-X, but it's not clear, see COPYING
-LIC_FILES_CHKSUM = "file://src/tslib.c;endline=28;md5=bd62eaef222dcf5cd59e490a12bd795e \
- file://COPYING;md5=4641deddaa80fe7ca88e944e1fd94a94"
-
-PR = "${INC_PR}.1"
-
-SRC_URI = "http://www.pengutronix.de/software/xf86-input-tslib/download/xf86-input-tslib-${PV}.tar.bz2 \
- file://double-free-crash.patch \
- file://10-x11-input-tslib.fdi \
- file://xserver-174-XGetPointerControl.patch \
- file://99-xf86-input-tslib.rules \
- file://xf86-input-tslib-port-ABI-12-r48.patch \
- file://xf86-input-tslib-0.0.6-xf86XInputSetScreen.patch \
-"
-
-SRC_URI[md5sum] = "b7a4d2f11637ee3fcf432e044b1d017f"
-SRC_URI[sha256sum] = "5f46fdef095a6e44a69e0f0b57c7d665224b26d990d006611236d8332e85b105"
-
-do_configure_prepend() {
- rm -rf ${S}/m4/ || true
-}
-do_install_append() {
- install -d ${D}/${datadir}/hal/fdi/policy/20thirdparty
- install -m 0644 ${WORKDIR}/10-x11-input-tslib.fdi ${D}/${datadir}/hal/fdi/policy/20thirdparty
- install -d ${D}${nonarch_base_libdir}/udev/rules.d
- install -m 0644 ${WORKDIR}/99-xf86-input-tslib.rules ${D}${nonarch_base_libdir}/udev/rules.d/
-}
-
-FILES_${PN} += "${datadir}/hal ${nonarch_base_libdir}/udev"
diff --git a/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib_1.1.1.bb b/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib_1.1.1.bb
new file mode 100644
index 0000000000..171b2dec7b
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib_1.1.1.bb
@@ -0,0 +1,22 @@
+require recipes-graphics/xorg-driver/xorg-driver-input.inc
+
+SUMMARY = "X.Org X server -- tslib input driver"
+LIC_FILES_CHKSUM = "file://COPYING;md5=f1524518264f7776a9707c19c8affbbf"
+
+DEPENDS += "tslib"
+RRECOMMENDS:${PN} += "tslib-calibrate"
+
+SRC_URI = "https://github.com/merge/xf86-input-tslib/releases/download/${PV}/xf86-input-tslib-${PV}.tar.xz \
+ file://99-xf86-input-tslib.rules \
+"
+UPSTREAM_CHECK_URI="https://github.com/merge/xf86-input-tslib/tags"
+UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)$"
+
+SRC_URI[sha256sum] = "b596168c4ed2f1023212dc828ce49cbe82a0bbd1aac3c5e2958154d78870ca88"
+
+do_install:append() {
+ install -d ${D}${nonarch_base_libdir}/udev/rules.d
+ install -m 0644 ${UNPACKDIR}/99-xf86-input-tslib.rules ${D}${nonarch_base_libdir}/udev/rules.d/
+}
+
+FILES:${PN} += "${nonarch_base_libdir}/udev"
diff --git a/meta-oe/recipes-graphics/xorg-driver/xf86-input-void_1.4.1.bb b/meta-oe/recipes-graphics/xorg-driver/xf86-input-void_1.4.2.bb
index ca0b486346..7a12272491 100644
--- a/meta-oe/recipes-graphics/xorg-driver/xf86-input-void_1.4.1.bb
+++ b/meta-oe/recipes-graphics/xorg-driver/xf86-input-void_1.4.2.bb
@@ -1,8 +1,7 @@
require recipes-graphics/xorg-driver/xorg-driver-input.inc
SUMMARY = "X.Org X server -- void input driver"
-PR = "${INC_PR}.0"
LIC_FILES_CHKSUM = "file://COPYING;md5=4be6a915bfbf111cd88706fc6a6f141b"
-SRC_URI[md5sum] = "5227013b52b3ca85d6b7ec8adea988d4"
-SRC_URI[sha256sum] = "f96e4f0a622821bf43a74bd419f2a18423343996c9d243c7e1430ba2d142339c"
+XORG_DRIVER_COMPRESSOR = ".tar.xz"
+SRC_URI[sha256sum] = "a211d8e21ce0e2ed8af5b8a2e8d4409d70c9c7e5ee528f5e6002ad279bf07885"
diff --git a/meta-oe/recipes-graphics/xorg-driver/xf86-video-amdgpu_23.0.0.bb b/meta-oe/recipes-graphics/xorg-driver/xf86-video-amdgpu_23.0.0.bb
new file mode 100644
index 0000000000..c417e95d0a
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-driver/xf86-video-amdgpu_23.0.0.bb
@@ -0,0 +1,23 @@
+require recipes-graphics/xorg-driver/xorg-driver-video.inc
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=aabff1606551f9461ccf567739af63dc"
+
+SUMMARY = "X.Org X server -- AMD Radeon GPU display driver"
+
+DESCRIPTION = "Xorg driver for AMD Radeon GPUs using the amdgpu kernel driver"
+
+SRC_URI[sha256sum] = "08c38287d39b999fd61ecb6e7b23d5079762e2b4b2179b3567973ed9aaf71222"
+
+XORG_DRIVER_COMPRESSOR = ".tar.gz"
+DEPENDS += "virtual/libx11 libdrm virtual/libgbm xorgproto"
+
+REQUIRED_DISTRO_FEATURES += "opengl"
+
+PACKAGECONFIG ??= "udev glamor"
+PACKAGECONFIG[udev] = "--enable-udev,--disable-udev,udev"
+PACKAGECONFIG[glamor] = "--enable-glamor,--disable-glamor"
+
+RRECOMMENDS:${PN} += "linux-firmware-amdgpu"
+
+FILES:${PN}-config = "${datadir}/X11/xorg.conf.d"
+FILES:${PN} += "${datadir}/X11"
diff --git a/meta-oe/recipes-graphics/xorg-driver/xf86-video-armsoc_1.4.1.bb b/meta-oe/recipes-graphics/xorg-driver/xf86-video-armsoc_1.4.1.bb
index b436ef1e4a..8b4526fc5e 100644
--- a/meta-oe/recipes-graphics/xorg-driver/xf86-video-armsoc_1.4.1.bb
+++ b/meta-oe/recipes-graphics/xorg-driver/xf86-video-armsoc_1.4.1.bb
@@ -1,14 +1,14 @@
require recipes-graphics/xorg-driver/xorg-driver-video.inc
SUMMARY = "X.Org X server -- ARM SOC display driver"
-LICENSE = "MIT-X & GPLv2+"
+LICENSE = "MIT & GPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=10ce5de3b111315ea652a5f74ec0c602"
DEPENDS += "virtual/libx11 libdrm xorgproto"
SRCREV = "8bbdb2ae3bb8ef649999a8da33ddbe11a04763b8"
-SRC_URI = "git://anongit.freedesktop.org/xorg/driver/xf86-video-armsoc"
+SRC_URI = "git://anongit.freedesktop.org/xorg/driver/xf86-video-armsoc;branch=master"
S = "${WORKDIR}/git"
-RDEPENDS_${PN} += "xserver-xorg-module-exa"
+RDEPENDS:${PN} += "xserver-xorg-module-exa"
diff --git a/meta-oe/recipes-graphics/xorg-driver/xf86-video-ati_18.0.1.bb b/meta-oe/recipes-graphics/xorg-driver/xf86-video-ati_18.0.1.bb
deleted file mode 100644
index 969c1a0a6a..0000000000
--- a/meta-oe/recipes-graphics/xorg-driver/xf86-video-ati_18.0.1.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-require recipes-graphics/xorg-driver/xorg-driver-video.inc
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=aabff1606551f9461ccf567739af63dc"
-
-SUMMARY = "X.Org X server -- ATI Radeon video driver"
-
-DESCRIPTION = "Open-source X.org graphics driver for ATI Radeon graphics"
-
-DEPENDS += "virtual/libx11 libxvmc drm \
- virtual/libgl xorgproto libpciaccess"
-
-inherit distro_features_check
-REQUIRED_DISTRO_FEATURES += "opengl"
-
-COMPATIBLE_HOST = '(i.86|x86_64).*-linux'
-
-SRC_URI[md5sum] = "40e7c0a5a69aba3d84e0958f58705ea7"
-SRC_URI[sha256sum] = "72ea3b8127d4550b64f797457f5a7851a541fa4ee2cc3f345b6c1886b81714a0"
-
-EXTRA_OECONF += "--disable-glamor"
-
-RDEPENDS_${PN} += "xserver-xorg-module-exa"
-RRECOMMENDS_${PN} += "linux-firmware-radeon"
-
-FILES_${PN} += "${datadir}/X11"
diff --git a/meta-oe/recipes-graphics/xorg-driver/xf86-video-ati_22.0.0.bb b/meta-oe/recipes-graphics/xorg-driver/xf86-video-ati_22.0.0.bb
new file mode 100644
index 0000000000..57ea9d2d32
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-driver/xf86-video-ati_22.0.0.bb
@@ -0,0 +1,33 @@
+require recipes-graphics/xorg-driver/xorg-driver-video.inc
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=aabff1606551f9461ccf567739af63dc"
+
+SUMMARY = "X.Org X server -- ATI Radeon video driver"
+
+DESCRIPTION = "Open-source X.org graphics driver for ATI Radeon graphics"
+
+DEPENDS += "virtual/libx11 libxvmc drm \
+ virtual/libgl xorgproto libpciaccess"
+
+REQUIRED_DISTRO_FEATURES += "opengl"
+
+XORG_DRIVER_COMPRESSOR = ".tar.xz"
+SRC_URI[sha256sum] = "c8c8bb56d3f6227c97e59c3a3c85a25133584ceb82ab5bc05a902a743ab7bf6d"
+
+PACKAGECONFIG ??= "udev"
+PACKAGECONFIG[udev] = "--enable-udev,--disable-udev,udev"
+PACKAGECONFIG[glamor] = "--enable-glamor,--disable-glamor"
+
+RDEPENDS:${PN}:append = "\
+ ${@bb.utils.contains('PACKAGECONFIG', 'glamor', 'libegl', '', d)} \
+ mesa-megadriver \
+ xserver-xorg-extension-glx \
+ xserver-xorg-module-exa \
+"
+
+RRECOMMENDS:${PN} += "linux-firmware-radeon"
+
+PACKAGES =+ "${PN}-config"
+
+FILES:${PN}-config = "${datadir}/X11/xorg.conf.d"
+FILES:${PN} += "${datadir}/X11"
diff --git a/meta-oe/recipes-graphics/xorg-driver/xf86-video-mga/checkfile.patch b/meta-oe/recipes-graphics/xorg-driver/xf86-video-mga/checkfile.patch
deleted file mode 100644
index ceae6dfba2..0000000000
--- a/meta-oe/recipes-graphics/xorg-driver/xf86-video-mga/checkfile.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-Upstream-Status: Submitted [https://bugs.freedesktop.org/show_bug.cgi?id=57606]
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
-From c9014a8f3c9b691b5aa7b1f3ec66cf7c84b8211b Mon Sep 17 00:00:00 2001
-From: Ross Burton <ross.burton@intel.com>
-Date: Thu, 29 Nov 2012 11:00:43 +0000
-Subject: [PATCH] build: dont use AC_CHECK_FILE when enabling DRI
-
-Automatically enabling or disabling a feature based on installed files isn't
-deterministic, and AC_CHECK_FILE returns an error when cross-compiling.
-
-Fix this by enabling DRI by default, and removing the explicit file checks as
-pkg-config is good enough.
-
-(#57606)
-
-Signed-off-by: Ross Burton <ross.burton@intel.com>
----
- configure.ac | 25 ++-----------------------
- 1 file changed, 2 insertions(+), 23 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index fca1a9c..d2aa2ed 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -55,9 +55,9 @@ AC_ARG_WITH(xorg-module-dir,
- [moduledir="$libdir/xorg/modules"])
-
- AC_ARG_ENABLE(dri, AS_HELP_STRING([--disable-dri],
-- [Disable DRI support [[default=auto]]]),
-+ [Disable DRI support [[default=enabled]]]),
- [DRI="$enableval"],
-- [DRI=auto])
-+ [DRI=yes])
- AC_ARG_ENABLE(exa,
- AS_HELP_STRING([--disable-exa],
- [Disable EXA support [[default=enabled]]]),
-@@ -76,27 +76,6 @@ sdkdir=`$PKG_CONFIG --variable=sdkdir xorg-server`
-
- # Checks for libraries.
-
--if test "x$DRI" != xno; then
-- AC_CHECK_FILE([${sdkdir}/dri.h],
-- [have_dri_h="yes"], [have_dri_h="no"])
-- AC_CHECK_FILE([${sdkdir}/sarea.h],
-- [have_sarea_h="yes"], [have_sarea_h="no"])
-- AC_CHECK_FILE([${sdkdir}/dristruct.h],
-- [have_dristruct_h="yes"], [have_dristruct_h="no"])
--fi
--
--AC_MSG_CHECKING([whether to include DRI support])
--if test "x$DRI" = xauto; then
-- if test "x$have_dri_h" = xyes && \
-- test "x$have_sarea_h" = xyes && \
-- test "x$have_dristruct_h" = xyes; then
-- DRI="yes"
-- else
-- DRI="no"
-- fi
--fi
--AC_MSG_RESULT([$DRI])
--
- AM_CONDITIONAL(DRI, test "x$DRI" = xyes)
- if test "x$DRI" = xyes; then
- PKG_CHECK_MODULES(DRI, [libdrm >= 2.0 xf86driproto])
---
-1.7.10.4
-
diff --git a/meta-oe/recipes-graphics/xorg-driver/xf86-video-mga_1.6.5.bb b/meta-oe/recipes-graphics/xorg-driver/xf86-video-mga_2.0.1.bb
index 182e18fd95..34b3e4cde6 100644
--- a/meta-oe/recipes-graphics/xorg-driver/xf86-video-mga_1.6.5.bb
+++ b/meta-oe/recipes-graphics/xorg-driver/xf86-video-mga_2.0.1.bb
@@ -4,18 +4,16 @@ SUMMARY = "X.Org X server -- Matrox MGA display driver"
DESCRIPTION = "mga is an Xorg driver for Matrox video cards"
-LIC_FILES_CHKSUM = "file://COPYING;md5=bc1395d2cd32dfc5d6c57d2d8f83d3fc"
-
-SRC_URI += "file://checkfile.patch"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4aa220f495ce9be5ce4243d21ebac14f"
DEPENDS += "virtual/libx11 libpciaccess"
COMPATIBLE_HOST = '(i.86.*-linux|x86_64.*-linux)'
-SRC_URI[md5sum] = "3ee2549247e01de3e7bce52c27483118"
-SRC_URI[sha256sum] = "b663cd8e6364f7c4e2637b9fcab9861d0e3971518c73b00d213f6545a1289422"
+XORG_DRIVER_COMPRESSOR = ".tar.xz"
+SRC_URI[sha256sum] = "27a33b70837965bb4a5f27fd260be085ca5bba837a4e62907f093c2f205603ab"
PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'dri', '', d)}"
PACKAGECONFIG[dri] = "--enable-dri,--disable-dri,drm xorgproto,xserver-xorg-extension-dri"
-RDEPENDS_${PN} = "xserver-xorg-module-exa"
+RDEPENDS:${PN} = "xserver-xorg-module-exa"
diff --git a/meta-oe/recipes-graphics/xorg-driver/xf86-video-nouveau/0001-nouveau-fixup-driver-for-new-X-server-ABI.patch b/meta-oe/recipes-graphics/xorg-driver/xf86-video-nouveau/0001-nouveau-fixup-driver-for-new-X-server-ABI.patch
new file mode 100644
index 0000000000..e49c99574e
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-driver/xf86-video-nouveau/0001-nouveau-fixup-driver-for-new-X-server-ABI.patch
@@ -0,0 +1,66 @@
+From 7ae2f6ba4cbf29fc3f1b08579b838679a3301cb3 Mon Sep 17 00:00:00 2001
+From: Dave Airlie <airlied@redhat.com>
+Date: Mon, 13 Jul 2020 09:20:15 +1000
+Subject: [PATCH] nouveau: fixup driver for new X server ABI
+
+Upstream-Status: Backport [https://cgit.freedesktop.org/nouveau/xf86-video-nouveau/commit/?id=e80e73ced69b15662103d0fd6837db4ce6c6eb5b]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/compat-api.h | 4 ++++
+ src/nouveau_exa.c | 2 +-
+ src/nv_driver.c | 6 +++---
+ 3 files changed, 8 insertions(+), 4 deletions(-)
+
+diff --git a/src/compat-api.h b/src/compat-api.h
+index fde2f4b..8a1fcf9 100644
+--- a/src/compat-api.h
++++ b/src/compat-api.h
+@@ -102,4 +102,8 @@
+
+ #endif
+
++#if ABI_VIDEODRV_VERSION < SET_ABI_VERSION(25, 2)
++#define secondary_dst slave_dst
++#endif
++
+ #endif
+diff --git a/src/nouveau_exa.c b/src/nouveau_exa.c
+index 55df6f8..db3b112 100644
+--- a/src/nouveau_exa.c
++++ b/src/nouveau_exa.c
+@@ -157,7 +157,7 @@ nouveau_exa_destroy_pixmap(ScreenPtr pScreen, void *priv)
+
+ #ifdef NOUVEAU_PIXMAP_SHARING
+ static Bool
+-nouveau_exa_share_pixmap_backing(PixmapPtr ppix, ScreenPtr slave, void **handle_p)
++nouveau_exa_share_pixmap_backing(PixmapPtr ppix, ScreenPtr secondary, void **handle_p)
+ {
+ struct nouveau_bo *bo = nouveau_pixmap_bo(ppix);
+ struct nouveau_pixmap *nvpix = nouveau_pixmap(ppix);
+diff --git a/src/nv_driver.c b/src/nv_driver.c
+index e72a6b6..f9ab4af 100644
+--- a/src/nv_driver.c
++++ b/src/nv_driver.c
+@@ -559,16 +559,16 @@ redisplay_dirty(ScreenPtr screen, PixmapDirtyUpdatePtr dirty)
+ {
+ RegionRec pixregion;
+
+- PixmapRegionInit(&pixregion, dirty->slave_dst);
++ PixmapRegionInit(&pixregion, dirty->secondary_dst);
+
+- DamageRegionAppend(&dirty->slave_dst->drawable, &pixregion);
++ DamageRegionAppend(&dirty->secondary_dst->drawable, &pixregion);
+ #ifdef HAS_DIRTYTRACKING_ROTATION
+ PixmapSyncDirtyHelper(dirty);
+ #else
+ PixmapSyncDirtyHelper(dirty, &pixregion);
+ #endif
+
+- DamageRegionProcessPending(&dirty->slave_dst->drawable);
++ DamageRegionProcessPending(&dirty->secondary_dst->drawable);
+ RegionUninit(&pixregion);
+ }
+
+--
+2.33.1
+
diff --git a/meta-oe/recipes-graphics/xorg-driver/xf86-video-nouveau_1.0.15.bb b/meta-oe/recipes-graphics/xorg-driver/xf86-video-nouveau_1.0.17.bb
index 2b1b87c4d0..fbf6406caf 100644
--- a/meta-oe/recipes-graphics/xorg-driver/xf86-video-nouveau_1.0.15.bb
+++ b/meta-oe/recipes-graphics/xorg-driver/xf86-video-nouveau_1.0.17.bb
@@ -8,13 +8,14 @@ DESCRIPTION = "Open-source X.org graphics driver for NVIDIA graphics"
DEPENDS += "virtual/libx11 libxvmc drm xorgproto \
virtual/libgl libpciaccess"
-RDEPENDS_${PN} += "xserver-xorg-module-exa"
+RDEPENDS:${PN} += "xserver-xorg-module-exa"
-inherit distro_features_check
+inherit features_check
REQUIRED_DISTRO_FEATURES += "opengl"
COMPATIBLE_HOST = '(i.86|x86_64).*-linux'
-SRC_URI[md5sum] = "717203cb87029cddcbccf7398f9ad8c3"
-SRC_URI[sha256sum] = "aede10fd395610a328697adca3434fb14e9afbd79911d6c8545cfa2c0e541d4c"
+CFLAGS += "-Wno-error=implicit-function-declaration"
+SRC_URI += "file://0001-nouveau-fixup-driver-for-new-X-server-ABI.patch"
+SRC_URI[sha256sum] = "499322e27a55c8183166bf2dd1e47d085eb834143e0d7036baba8427b90c156b"
diff --git a/meta-oe/recipes-graphics/xorg-font/font-adobe-100dpi_1.0.3.bb b/meta-oe/recipes-graphics/xorg-font/font-adobe-100dpi_1.0.3.bb
index 29229bb510..36f05b7277 100644
--- a/meta-oe/recipes-graphics/xorg-font/font-adobe-100dpi_1.0.3.bb
+++ b/meta-oe/recipes-graphics/xorg-font/font-adobe-100dpi_1.0.3.bb
@@ -7,10 +7,12 @@ LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=5dfa0fdf45473b4ca0acf37d854df10e"
DEPENDS = "util-macros-native font-util-native bdftopcf-native font-util"
-RDEPENDS_${PN} = "encodings font-util"
-RDEPENDS_${PN}_class-native = "font-util-native"
+RDEPENDS:${PN} = "encodings font-util"
+RDEPENDS:${PN}:class-native = "font-util-native"
-inherit distro_features_check
+UPSTREAM_CHECK_REGEX = "font\-adobe\-100dpi\-(?P<pver>\d+(\.\d+)+).tar.gz"
+
+inherit features_check
# depends on bdftopcf-native -> virtual/libx11
REQUIRED_DISTRO_FEATURES = "x11"
diff --git a/meta-oe/recipes-graphics/xorg-font/font-adobe-utopia-100dpi_1.0.4.bb b/meta-oe/recipes-graphics/xorg-font/font-adobe-utopia-100dpi_1.0.4.bb
index 898850bbca..8b83ba378f 100644
--- a/meta-oe/recipes-graphics/xorg-font/font-adobe-utopia-100dpi_1.0.4.bb
+++ b/meta-oe/recipes-graphics/xorg-font/font-adobe-utopia-100dpi_1.0.4.bb
@@ -7,10 +7,12 @@ LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=fa13e704b7241f60ef9105cc041b9732"
DEPENDS = "util-macros-native font-util-native bdftopcf-native font-util"
-RDEPENDS_${PN} = "encodings font-util"
-RDEPENDS_${PN}_class-native = "font-util-native"
+RDEPENDS:${PN} = "encodings font-util"
+RDEPENDS:${PN}:class-native = "font-util-native"
-inherit distro_features_check
+UPSTREAM_CHECK_REGEX = "font\-adobe\-utopia\-100dpi\-(?P<pver>\d+(\.\d+)+).tar.gz"
+
+inherit features_check
# depends on bdftopcf-native -> virtual/libx11
REQUIRED_DISTRO_FEATURES = "x11"
diff --git a/meta-oe/recipes-graphics/xorg-font/font-bh-100dpi_1.0.3.bb b/meta-oe/recipes-graphics/xorg-font/font-bh-100dpi_1.0.3.bb
index 4976e527f2..5d321acc6e 100644
--- a/meta-oe/recipes-graphics/xorg-font/font-bh-100dpi_1.0.3.bb
+++ b/meta-oe/recipes-graphics/xorg-font/font-bh-100dpi_1.0.3.bb
@@ -7,10 +7,12 @@ LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=cffd5e9c4b61b3d74166ca74b99e460e"
DEPENDS += "util-macros-native font-util-native bdftopcf-native font-util"
-RDEPENDS_${PN} = "encodings font-util"
-RDEPENDS_${PN}_class-native = "font-util-native"
+RDEPENDS:${PN} = "encodings font-util"
+RDEPENDS:${PN}:class-native = "font-util-native"
-inherit distro_features_check
+UPSTREAM_CHECK_REGEX = "font\-bh\-100dpi\-(?P<pver>\d+(\.\d+)+).tar.gz"
+
+inherit features_check
# depends on bdftopcf-native -> virtual/libx11
REQUIRED_DISTRO_FEATURES = "x11"
diff --git a/meta-oe/recipes-graphics/xorg-font/font-bh-lucidatypewriter-100dpi_1.0.3.bb b/meta-oe/recipes-graphics/xorg-font/font-bh-lucidatypewriter-100dpi_1.0.3.bb
index 6e0b33ca31..557eeb17bd 100644
--- a/meta-oe/recipes-graphics/xorg-font/font-bh-lucidatypewriter-100dpi_1.0.3.bb
+++ b/meta-oe/recipes-graphics/xorg-font/font-bh-lucidatypewriter-100dpi_1.0.3.bb
@@ -7,10 +7,12 @@ LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=0d221a9cd144806cb469735cc4775939"
DEPENDS = "util-macros-native font-util-native bdftopcf-native font-util"
-RDEPENDS_${PN} = "encodings font-util"
-RDEPENDS_${PN}_class-native = "font-util-native"
+RDEPENDS:${PN} = "encodings font-util"
+RDEPENDS:${PN}:class-native = "font-util-native"
-inherit distro_features_check
+UPSTREAM_CHECK_REGEX = "font\-bh\-lucidatypewriter\-100dpi\-(?P<pver>\d+(\.\d+)+).tar.gz"
+
+inherit features_check
# depends on bdftopcf-native -> virtual/libx11
REQUIRED_DISTRO_FEATURES = "x11"
diff --git a/meta-oe/recipes-graphics/xorg-font/font-bitstream-100dpi_1.0.3.bb b/meta-oe/recipes-graphics/xorg-font/font-bitstream-100dpi_1.0.3.bb
index e8cfb615a9..b280a32603 100644
--- a/meta-oe/recipes-graphics/xorg-font/font-bitstream-100dpi_1.0.3.bb
+++ b/meta-oe/recipes-graphics/xorg-font/font-bitstream-100dpi_1.0.3.bb
@@ -7,10 +7,12 @@ LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=30330812324ff9d9bd9ea645bb944427"
DEPENDS = "util-macros-native font-util-native bdftopcf-native"
-RDEPENDS_${PN} = "encodings font-util"
-RDEPENDS_${PN}_class-native = "font-util-native"
+RDEPENDS:${PN} = "encodings font-util"
+RDEPENDS:${PN}:class-native = "font-util-native"
-inherit distro_features_check
+UPSTREAM_CHECK_REGEX = "font\-bitstream\-100dpi\-(?P<pver>\d+(\.\d+)+).tar.gz"
+
+inherit features_check
# depends on bdftopcf-native -> virtual/libx11
REQUIRED_DISTRO_FEATURES = "x11"
diff --git a/meta-oe/recipes-graphics/xorg-font/font-cursor-misc_1.0.3.bb b/meta-oe/recipes-graphics/xorg-font/font-cursor-misc_1.0.3.bb
index d425ce5157..ba4575bc29 100644
--- a/meta-oe/recipes-graphics/xorg-font/font-cursor-misc_1.0.3.bb
+++ b/meta-oe/recipes-graphics/xorg-font/font-cursor-misc_1.0.3.bb
@@ -7,9 +7,9 @@ LICENSE = "PD"
LIC_FILES_CHKSUM = "file://COPYING;md5=8b32ccac3ad25e75e68478deb7780265"
DEPENDS = "util-macros-native font-util-native bdftopcf-native"
-RDEPENDS_${PN} = "encodings font-util"
+RDEPENDS:${PN} = "encodings font-util"
-inherit distro_features_check
+inherit features_check
# depends on bdftopcf-native -> virtual/libx11
REQUIRED_DISTRO_FEATURES = "x11"
diff --git a/meta-oe/recipes-graphics/xorg-font/font-misc-misc_1.1.2.bb b/meta-oe/recipes-graphics/xorg-font/font-misc-misc_1.1.2.bb
index e4cd90a7af..852f93602f 100644
--- a/meta-oe/recipes-graphics/xorg-font/font-misc-misc_1.1.2.bb
+++ b/meta-oe/recipes-graphics/xorg-font/font-misc-misc_1.1.2.bb
@@ -7,9 +7,9 @@ LICENSE = "PD"
LIC_FILES_CHKSUM = "file://COPYING;md5=200c507f595ee97008c7c5c3e94ab9a8"
DEPENDS = "util-macros-native font-util-native bdftopcf-native font-util"
-RDEPENDS_${PN} = "encodings font-util"
+RDEPENDS:${PN} = "encodings font-util"
-inherit distro_features_check
+inherit features_check
# depends on bdftopcf-native -> virtual/libx11
REQUIRED_DISTRO_FEATURES = "x11"
diff --git a/meta-oe/recipes-graphics/xorg-font/xorg-fonts-100dpi.bb b/meta-oe/recipes-graphics/xorg-font/xorg-fonts-100dpi.bb
index 45e3f7b592..0fe1876c75 100644
--- a/meta-oe/recipes-graphics/xorg-font/xorg-fonts-100dpi.bb
+++ b/meta-oe/recipes-graphics/xorg-font/xorg-fonts-100dpi.bb
@@ -1,11 +1,11 @@
SUMMARY = "Xorg 100 DPI font set"
-LICENSE = "Custom"
+LICENSE = "MIT"
-inherit packagegroup distro_features_check
+inherit packagegroup features_check
# rdepends on font recipes with this restriction
REQUIRED_DISTRO_FEATURES = "x11"
-RDEPENDS_${PN} = "\
+RDEPENDS:${PN} = "\
font-adobe-100dpi \
font-adobe-utopia-100dpi \
font-bh-100dpi \
diff --git a/meta-oe/recipes-graphics/xorg-lib/liblbxutil-1.1.0/mkg3states-1.1.patch b/meta-oe/recipes-graphics/xorg-lib/liblbxutil-1.1.0/mkg3states-1.1.patch
deleted file mode 100644
index f9f4a6382c..0000000000
--- a/meta-oe/recipes-graphics/xorg-lib/liblbxutil-1.1.0/mkg3states-1.1.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-diff -uNr liblbxutil-1.1.0.orig/configure.ac liblbxutil-1.1.0/configure.ac
---- liblbxutil-1.1.0.orig/configure.ac 2009-12-04 23:52:04.000000000 +0100
-+++ liblbxutil-1.1.0/configure.ac 2009-12-16 10:45:00.000000000 +0100
-@@ -50,4 +50,5 @@
-
- AC_OUTPUT([Makefile
- src/Makefile
-+ src/image/Makefile
- lbxutil.pc])
-diff -uNr liblbxutil-1.1.0.orig/src/image/Makefile.am liblbxutil-1.1.0/src/image/Makefile.am
---- liblbxutil-1.1.0.orig/src/image/Makefile.am 1970-01-01 01:00:00.000000000 +0100
-+++ liblbxutil-1.1.0/src/image/Makefile.am 2009-12-16 10:45:00.000000000 +0100
-@@ -0,0 +1,15 @@
-+# evil hack
-+CFLAGS=$(CFLAGS_FOR_BUILD)
-+CPPFLAGS=$(CPPFLAGS_FOR_BUILD)
-+LDFLAGS=$(LDFLAGS_FOR_BUILD)
-+
-+CC=$(CC_FOR_BUILD)
-+LIBTOOL = @LIBTOOL@ --tag=CC
-+
-+noinst_PROGRAMS = mkg3states
-+
-+mkg3states_SOURCES = \
-+ mkg3states.c
-+
-+mkg3states_CFLAGS=$(CFLAGS_FOR_BUILD)
-+mkg3states_LDFLAGS=$(LDFLAGS_FOR_BUILD)
-diff -uNr liblbxutil-1.1.0.orig/src/Makefile.am liblbxutil-1.1.0/src/Makefile.am
---- liblbxutil-1.1.0.orig/src/Makefile.am 2009-12-16 10:48:11.000000000 +0100
-+++ liblbxutil-1.1.0/src/Makefile.am 2009-12-16 10:46:47.000000000 +0100
-@@ -3,10 +3,7 @@
- AM_CFLAGS = $(CWARNFLAGS) $(LBXUTIL_CFLAGS)
- INCLUDES = -I$(top_srcdir)/include
-
--noinst_PROGRAMS = mkg3states
--
--mkg3states_SOURCES = \
-- $(srcdir)/image/mkg3states.c
-+SUBDIRS = image
-
- liblbxutil_la_SOURCES = \
- $(srcdir)/lbx_zlib/reqstats.h \
-@@ -38,9 +35,8 @@
-
- $(srcdir)/image/dfaxg42d.c: g3states.h
-
--g3states.h: mkg3states
-- -rm -f g3states.h
-- $(AM_V_GEN) ./mkg3states -c > g3states.h_ && mv g3states.h_ g3states.h
-+g3states.h: image/mkg3states
-+ $(AM_V_GEN) ./image/mkg3states -c > g3states.h_ && mv g3states.h_ g3states.h
-
- liblbxutil_la_LDFLAGS = -version-number 1:0:0 -no-undefined
-
diff --git a/meta-oe/recipes-graphics/xorg-lib/liblbxutil_1.1.0.bb b/meta-oe/recipes-graphics/xorg-lib/liblbxutil_1.1.0.bb
deleted file mode 100644
index 3e5c31a05d..0000000000
--- a/meta-oe/recipes-graphics/xorg-lib/liblbxutil_1.1.0.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-require recipes-graphics/xorg-lib/xorg-lib-common.inc
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=b0d5bdc98f7ebab3b6c3791d9bf40907"
-
-SUMMARY = "XFIXES Extension"
-DEPENDS += " xorgproto zlib"
-PE = "1"
-PR = "r11"
-
-SRC_URI += "file://mkg3states-1.1.patch"
-SRC_URI[md5sum] = "273329a78c2e9ea189ac416c7fde94a1"
-SRC_URI[sha256sum] = "c6b6ff7858ec619cafa8205debca6bf78c5610a2844a782ed643c7fd017cf8ae"
-
-export CC_FOR_BUILD = "gcc"
diff --git a/meta-oe/recipes-graphics/xorg-lib/libxaw_1.0.13.bb b/meta-oe/recipes-graphics/xorg-lib/libxaw_1.0.16.bb
index cb1ffcd8cc..ee14cf747d 100644
--- a/meta-oe/recipes-graphics/xorg-lib/libxaw_1.0.13.bb
+++ b/meta-oe/recipes-graphics/xorg-lib/libxaw_1.0.16.bb
@@ -5,12 +5,12 @@ DEPENDS += "xorgproto virtual/libx11 libxext libxt libxmu libxpm libxau xmlto-na
LIC_FILES_CHKSUM = "file://COPYING;md5=1c65719d42900bb81b83e8293c20a364"
PE = "1"
-PR = "r2"
-SRC_URI[md5sum] = "e5e06eb14a608b58746bdd1c0bd7b8e3"
-SRC_URI[sha256sum] = "8ef8067312571292ccc2bbe94c41109dcf022ea5a4ec71656a83d8cce9edb0cd"
+XORG_PN = "libXaw"
+
+SRC_URI[sha256sum] = "731d572b54c708f81e197a6afa8016918e2e06dfd3025e066ca642a5b8c39c8f"
-do_install_append () {
+do_install:append () {
ln -sf libXaw6.so.6 ${D}${libdir}/libXaw.so.6
ln -sf libXaw7.so.7 ${D}${libdir}/libXaw.so.7
ln -sf libXaw7.so.7 ${D}${libdir}/libXaw.so
@@ -18,11 +18,9 @@ do_install_append () {
PACKAGES =+ "libxaw6 libxaw7 libxaw8"
-FILES_libxaw6 = "${libdir}/libXaw*.so.6*"
-FILES_libxaw7 = "${libdir}/libXaw*.so.7*"
-FILES_libxaw8 = "${libdir}/libXaw8.so.8*"
+FILES:libxaw6 = "${libdir}/libXaw*.so.6*"
+FILES:libxaw7 = "${libdir}/libXaw*.so.7*"
+FILES:libxaw8 = "${libdir}/libXaw8.so.8*"
# Avoid dependency on libxaw as it is not build
-RDEPENDS_${PN}-dev = ""
-
-XORG_PN = "libXaw"
+RDEPENDS:${PN}-dev = ""
diff --git a/meta-oe/recipes-graphics/xorg-lib/libxkbui_1.0.2.bb b/meta-oe/recipes-graphics/xorg-lib/libxkbui_1.0.2.bb
deleted file mode 100644
index 103da1f085..0000000000
--- a/meta-oe/recipes-graphics/xorg-lib/libxkbui_1.0.2.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-require recipes-graphics/xorg-lib/xorg-lib-common.inc
-SUMMARY = "X11 keyboard UI presentation library"
-LICENSE = "SGI-1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=4641deddaa80fe7ca88e944e1fd94a94"
-DEPENDS += "virtual/libx11 libxt libxkbfile"
-PE = "1"
-PR = "r10"
-
-SRC_URI[md5sum] = "1143e456f7429e18e88f2eadb2f2b6b1"
-SRC_URI[sha256sum] = "20c23101d63234ee5f6d696dfa069b29c6c58e39eff433bcd7705b50b3ffa214"
diff --git a/meta-oe/recipes-graphics/xorg-lib/libxpresent_1.0.0.bb b/meta-oe/recipes-graphics/xorg-lib/libxpresent_1.0.1.bb
index 4fe9992f20..3b15153b6b 100644
--- a/meta-oe/recipes-graphics/xorg-lib/libxpresent_1.0.0.bb
+++ b/meta-oe/recipes-graphics/xorg-lib/libxpresent_1.0.1.bb
@@ -4,8 +4,9 @@ DEPENDS += "xorgproto libxfixes libxrandr"
LIC_FILES_CHKSUM = "file://COPYING;md5=3c1ce42c334a6f5cccb0277556a053e0"
-SRC_URI = "http://xorg.freedesktop.org/archive/individual/lib/libXpresent-${PV}.tar.bz2"
-SRC_URI[md5sum] = "edd87ac15bb666081898dd7382fcbff5"
-SRC_URI[sha256sum] = "c11ae015141a9afbe10f4f2b8ee00b11adca6373dc1b9808d7c6c138b2da7b8a"
+XORG_EXT = "tar.bz2"
+
+SRC_URI = "http://xorg.freedesktop.org/archive/individual/lib/libXpresent-${PV}.tar.xz"
+SRC_URI[sha256sum] = "b964df9e5a066daa5e08d2dc82692c57ca27d00b8cc257e8e960c9f1cf26231b"
XORG_PN = "libXpresent"
diff --git a/meta-oe/recipes-graphics/xscreensaver/files/tweak-app-defaults.patch b/meta-oe/recipes-graphics/xscreensaver/files/0001-Tweak-app-defaults.patch
index 099a0b2f4a..1d0d20da2f 100644
--- a/meta-oe/recipes-graphics/xscreensaver/files/tweak-app-defaults.patch
+++ b/meta-oe/recipes-graphics/xscreensaver/files/0001-Tweak-app-defaults.patch
@@ -1,5 +1,16 @@
---- xscreensaver-5.39.orig/driver/XScreenSaver.ad.in
-+++ xscreensaver-5.39/driver/XScreenSaver.ad.in
+From f2c592352360e52a7c817a1adcc8b09fd92cd941 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 16 Jul 2022 09:58:24 -0700
+Subject: [PATCH 1/2] Tweak app defaults
+
+Upstream-Status: Inappropriate [OE-Specific]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ driver/XScreenSaver.ad.in | 259 +-------------------------------------
+ 1 file changed, 6 insertions(+), 253 deletions(-)
+
+--- a/driver/XScreenSaver.ad.in
++++ b/driver/XScreenSaver.ad.in
@@ -29,7 +29,7 @@
! /* (xrdb prevention kludge: whole file)
@@ -18,23 +29,23 @@
*grabVideoFrames: False
*chooseRandomImages: @DEFAULT_IMAGES_P@
! This can be a local directory name, or the URL of an RSS or Atom feed.
-@@ -48,11 +48,11 @@
+@@ -47,11 +47,11 @@
+ *memoryLimit: 0
*lock: False
*verbose: False
- *timestamp: True
-*fade: True
+*fade: False
- *unfade: False
+ *unfade: True
*fadeSeconds: 0:00:03
*fadeTicks: 20
-*splash: True
+*splash: False
*splashDuration: 0:00:05
*visualID: default
- *captureStderr: True
-@@ -158,236 +158,8 @@
- ! screen savers interactively.
- !
+ *installColormap: True
+@@ -324,256 +324,8 @@ XScreenSaver.bourneShell: /bin/sh
+ !=============================================================================
+
*programs: \
- maze -root \n\
-@GL_KLUDGE@ GL: superquadrics -root \n\
@@ -74,7 +85,7 @@
- munch -root \n\
- penrose -root \n\
-@GL_KLUDGE@ GL: pipes -root \n\
-- rd-bomb -root \n\
+- rdbomb -root \n\
-@GL_KLUDGE@ GL: rubik -root \n\
-- sierpinski -root \n\
- slip -root \n\
@@ -138,6 +149,7 @@
-@GL_KLUDGE@ GL: menger -root \n\
-@GL_KLUDGE@ GL: molecule -root \n\
- rotzoomer -root \n\
+- scooter -root \n\
- speedmine -root \n\
-@GL_KLUDGE@ GL: starwars -root \n\
-@GL_KLUDGE@ GL: stonerview -root \n\
@@ -262,12 +274,31 @@
-@GL_KLUDGE@ GL: esper -root \n\
-@GL_KLUDGE@ GL: vigilance -root \n\
-@GL_KLUDGE@ GL: crumbler -root \n\
+- filmleader -root \n\
+- glitchpeg -root \n\
+-@GL_KLUDGE@ GL: handsy -root \n\
-@GL_KLUDGE@ GL: maze3d -root \n\
-@GL_KLUDGE@ GL: peepers -root \n\
--@GL_KLUDGE@ GL: razzledazzle -root \n
+-@GL_KLUDGE@ GL: razzledazzle -root \n\
+- vfeedback -root \n\
+-@GL_KLUDGE@ GL: deepstars -root \n\
+-@GL_KLUDGE@ GL: gravitywell -root \n\
+-@GL_KLUDGE@ GL: beats -root \n\
+-@GL_KLUDGE@ GL: covid19 -root \n\
+-@GL_KLUDGE@ GL: etruscanvenus -root \n\
+-@GL_KLUDGE@ GL: gibson -root \n\
+-@GL_KLUDGE@ GL: headroom -root \n\
+-@GL_KLUDGE@ GL: sphereeversion -root \n\
+- binaryhorizon -root \n\
+- marbling -root \n\
+-@GL_KLUDGE@ GL: chompytower -root \n\
+-@GL_KLUDGE@ GL: mapscroller -root \n\
+-@GL_KLUDGE@ GL: nakagin -root \n\
+-@GL_KLUDGE@ GL: squirtorus -root \n
-
-+- fontglide -root -program "date +'%F %H:%M %z'" \n\
-+ gifview --window $XSCREENSAVER_WINDOW /usr/share/logo/bosch-black.gif \n
-
+-
++- fontglide -root -program "date +'%F %H:%M %z'"
++ gifview --window $XSCREENSAVER_WINDOW /usr/share/logo/bosch-black.gif
!=============================================================================
+ !
diff --git a/meta-oe/recipes-graphics/xscreensaver/files/0001-configure-Ignore-CONF_STATUS-for-gtk-and-openGL-need.patch b/meta-oe/recipes-graphics/xscreensaver/files/0001-configure-Ignore-CONF_STATUS-for-gtk-and-openGL-need.patch
new file mode 100644
index 0000000000..ea3f25a2f2
--- /dev/null
+++ b/meta-oe/recipes-graphics/xscreensaver/files/0001-configure-Ignore-CONF_STATUS-for-gtk-and-openGL-need.patch
@@ -0,0 +1,47 @@
+From 516fbcdcfe6343b1d64d35957ddb768346713ff6 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 17 Jul 2022 09:47:35 -0700
+Subject: [PATCH] configure: Ignore CONF_STATUS for gtk and openGL needs
+
+These are just warnings
+
+Upstream-Status: Inappropriate [OE-Specific]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ configure.ac | 4 ----
+ 1 file changed, 4 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index c4fd38f..d7463cf 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -4522,7 +4522,6 @@ fi
+ if test "$gtk_halfassed" != no ; then
+ warnL "GTK was found, but $gtk_halfassed_lib was not, so GTK"
+ warn2 "can't be used."
+- CONF_STATUS=1
+
+ if ( echo $gtk_halfassed_lib | grep -qi pixbuf-xlib ); then
+ echo ''
+@@ -4549,7 +4548,6 @@ if test "$have_motif" = no -a "$have_gtk" = no; then
+ else
+ warnL "The GTK libraries do not seem to be available; the"
+ warn2 "\`xscreensaver-settings' program requires them."
+- CONF_STATUS=1
+ # echo ''
+ # warn2 'You can use Motif or Lesstif instead of GTK (use the'
+ # warn2 "\`--with-motif' option) but that is NOT recommended."
+@@ -4735,10 +4733,8 @@ if test "$have_gl" = no ; then
+ CONF_STATUS=1
+ elif test "$with_gl_req" = no ; then
+ noteL 'The OpenGL 3D library is not being used.'
+- CONF_STATUS=1
+ else
+ noteL 'The OpenGL 3D library was not found.'
+- CONF_STATUS=1
+ fi
+
+ if test "$gl_halfassed" = yes ; then
+--
+2.37.1
+
diff --git a/meta-oe/recipes-graphics/xscreensaver/files/0002-build-Do-not-build-po-files.patch b/meta-oe/recipes-graphics/xscreensaver/files/0002-build-Do-not-build-po-files.patch
new file mode 100644
index 0000000000..0ceba7be02
--- /dev/null
+++ b/meta-oe/recipes-graphics/xscreensaver/files/0002-build-Do-not-build-po-files.patch
@@ -0,0 +1,53 @@
+From 6b5d022f6dd9848a2d5ca08a1968929b8c140981 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 16 Jul 2022 09:59:40 -0700
+Subject: [PATCH 2/2] build: Do not build po files
+
+Fixes
+| make[1]: Entering directory '/mnt/b/yoe/master/build/tmp/work/cortexa57-yoe-linux/xscreensaver/6.01-r0/xscreensaver-6.01/po'
+| make[1]: *** No rule to make target 'default'. Stop.
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ Makefile.in | 5 ++---
+ driver/Makefile.in | 2 +-
+ 2 files changed, 3 insertions(+), 4 deletions(-)
+
+diff --git a/Makefile.in b/Makefile.in
+index 9de79b2..1c1d16c 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -6,8 +6,8 @@ srcdir = @srcdir@
+ VPATH = @srcdir@
+
+ SHELL = /bin/sh
+-SUBDIRS = utils jwxyz hacks/images hacks hacks/glx hacks/fonts \
+- driver po
++SUBDIRS = utils jwxyz hacks/images hacks hacks/fonts \
++ driver
+ SUBDIRS2 = $(SUBDIRS) OSX android
+ TARFILES = README README.hacking INSTALL \
+ configure configure.ac Makefile.in config.h.in \
+@@ -461,4 +461,3 @@ cerebrum::
+ --include 'ad2c' \
+ --include '*/' \
+ --exclude '*'
+-
+diff --git a/driver/Makefile.in b/driver/Makefile.in
+index e1fa1b2..feca6fc 100644
+--- a/driver/Makefile.in
++++ b/driver/Makefile.in
+@@ -211,7 +211,7 @@ TEST_EXES = test-passwd test-uid test-xdpms test-grab \
+ xdpyinfo test-screens test-yarandom test-xinput \
+ test-xkb
+
+-EXES = xscreensaver xscreensaver-command xscreensaver-settings
++EXES = xscreensaver xscreensaver-command
+ UTIL_EXES = xscreensaver-gfx @EXES_SYSTEMD@
+ SETUID_EXES = xscreensaver-auth
+ DEMO_EXES = @ALL_DEMO_PROGRAMS@
+--
+2.37.1
+
diff --git a/meta-oe/recipes-graphics/xscreensaver/files/fix-buildscripts.patch b/meta-oe/recipes-graphics/xscreensaver/files/fix-buildscripts.patch
deleted file mode 100644
index 3a50eff83c..0000000000
--- a/meta-oe/recipes-graphics/xscreensaver/files/fix-buildscripts.patch
+++ /dev/null
@@ -1,116 +0,0 @@
---- xscreensaver-5.39.orig/configure.in
-+++ xscreensaver-5.39/configure.in
-@@ -14,6 +14,9 @@
- #
- ###############################################################################
-
-+includedir=''
-+libdir=''
-+
- AH_TOP([
- /* config.h.in --- xscreensaver, Copyright (c) 1991-2014 Jamie Zawinski.
- *
-@@ -422,12 +425,12 @@
-
- OBJCC="$CC"
-
-- AC_MSG_CHECKING([whether the compiler works on ANSI C])
-- AC_TRY_RUN([ main(int ac, char **av) { return 0; } ],
-- AC_MSG_RESULT(yes),
-- AC_MSG_RESULT(no)
-- AC_MSG_ERROR(Couldn't build even a trivial ANSI C program: check CC.),
-- AC_MSG_ERROR(Couldn't build even a trivial ANSI C program: check CC.))
-+# AC_MSG_CHECKING([whether the compiler works on ANSI C])
-+# AC_TRY_RUN([ main(int ac, char **av) { return 0; } ],
-+# AC_MSG_RESULT(yes),
-+# AC_MSG_RESULT(no)
-+# AC_MSG_ERROR(Couldn't build even a trivial ANSI C program: check CC.),
-+# AC_MSG_ERROR(Couldn't build even a trivial ANSI C program: check CC.))
-
- if test -n "$GCC"; then
- AC_MSG_RESULT(Turning on gcc compiler warnings.)
---- xscreensaver-5.39.orig/Makefile.in
-+++ xscreensaver-5.39/Makefile.in
-@@ -6,7 +6,7 @@
- VPATH = @srcdir@
-
- SHELL = /bin/sh
--SUBDIRS = utils jwxyz hacks/images hacks hacks/glx driver po
-+SUBDIRS = utils jwxyz hacks/images hacks driver
- SUBDIRS2 = $(SUBDIRS) OSX android
- TARFILES = README README.hacking README.VMS INSTALL \
- configure configure.in Makefile.in config.h.in \
---- xscreensaver-5.39.orig/driver/Makefile.in
-+++ xscreensaver-5.39/driver/Makefile.in
-@@ -10,7 +10,7 @@
- top_srcdir = @top_srcdir@
- top_builddir = ..
-
--install_prefix =
-+install_prefix = ${DESTDIR}
- prefix = @prefix@
- exec_prefix = @exec_prefix@
- bindir = @bindir@
-@@ -221,7 +221,7 @@
- SCRIPTS_1 = xscreensaver-getimage-file xscreensaver-getimage-video \
- xscreensaver-text
- SCRIPTS_OSX = xscreensaver-getimage-desktop
--SCRIPTS = $(SCRIPTS_1) @SCRIPTS_OSX@
-+#SCRIPTS = $(SCRIPTS_1) @SCRIPTS_OSX@
-
- HDRS = XScreenSaver_ad.h XScreenSaver_Xm_ad.h \
- xscreensaver.h prefs.h remote.h exec.h \
---- xscreensaver-5.39.orig/hacks/Makefile.in
-+++ xscreensaver-5.39/hacks/Makefile.in
-@@ -10,7 +10,7 @@
- top_srcdir = @top_srcdir@
- top_builddir = ..
-
--install_prefix =
-+install_prefix = ${DESTDIR}
- prefix = @prefix@
- exec_prefix = @exec_prefix@
- bindir = @bindir@
-@@ -122,7 +122,7 @@
- asm6502.c abstractile.c lcdscrub.c hexadrop.c \
- tessellimage.c delaunay.c recanim.c binaryring.c \
- webcollage-cocoa.m webcollage-helper-cocoa.m testx11.c
--SCRIPTS = vidwhacker webcollage ljlatest
-+#SCRIPTS = vidwhacker webcollage ljlatest
-
- # Programs that are mentioned in XScreenSaver.ad, and that have XML files,
- # but that are not shipped with xscreensaver itself.
-@@ -163,7 +163,13 @@
- lcdscrub.o hexadrop.o tessellimage.o delaunay.o recanim.o \
- binaryring.o testx11.o
-
--EXES = attraction blitspin bouboule braid decayscreen deco \
-+EXES = fontglide
-+JPEG_EXES = webcollage-helper
-+
-+RETIRED_EXES = ant bubbles critical flag forest hyperball hypercube laser \
-+ lightning lisa lissie lmorph rotor sphere spiral t3d vines \
-+ whirlygig worm xsublim juggle testx11 \
-+ attraction blitspin bouboule braid decayscreen deco \
- drift flame galaxy grav greynetic halo \
- helix hopalong ifs imsmap julia kaleidescope \
- maze moire noseguy pedal \
-@@ -179,17 +185,12 @@
- speedmine vermiculate twang apollonian euler2d \
- polyominoes thornbird fluidballs anemone halftone \
- metaballs eruption popsquares barcode piecewise cloudlife \
-- fontglide apple2 xanalogtv pong wormhole \
-+ apple2 xanalogtv pong wormhole \
- pacman fuzzyflakes anemotaxis memscroller substrate \
- intermomentary fireworkx fiberlamp boxfit interaggregate \
- celtic cwaves m6502 abstractile lcdscrub hexadrop \
- tessellimage binaryring \
- @JPEG_EXES@
--JPEG_EXES = webcollage-helper
--
--RETIRED_EXES = ant bubbles critical flag forest hyperball hypercube laser \
-- lightning lisa lissie lmorph rotor sphere spiral t3d vines \
-- whirlygig worm xsublim juggle testx11
-
- HACK_OBJS_1 = fps.o $(UTILS_BIN)/resources.o $(UTILS_BIN)/visual.o \
- $(UTILS_BIN)/usleep.o $(UTILS_BIN)/yarandom.o \
diff --git a/meta-oe/recipes-graphics/xscreensaver/xscreensaver_5.39.bb b/meta-oe/recipes-graphics/xscreensaver/xscreensaver_5.39.bb
deleted file mode 100644
index 3a88f12ec8..0000000000
--- a/meta-oe/recipes-graphics/xscreensaver/xscreensaver_5.39.bb
+++ /dev/null
@@ -1,33 +0,0 @@
-SUMMARY = "X screen saver and locker"
-
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://driver/xscreensaver.h;endline=10;md5=e141ab5822fb2d43694e1e47b59fc0df"
-
-SRC_URI = "https://www.jwz.org/${BPN}/${BP}.tar.gz"
-SRC_URI[md5sum] = "a5da62b91271f4e8afcc73d44697364b"
-SRC_URI[sha256sum] = "48ce1880f18b5321182be0c033aeceb5ec5628a1505b9d1ff69dbf06093c2426"
-
-SRC_URI += " \
- file://xscreensaver.service \
- file://fix-buildscripts.patch \
- file://tweak-app-defaults.patch \
-"
-
-DEPENDS = "intltool-native libx11 libxext libxt libxft glib-2.0-native bc-native"
-# These are only needed as part of the stopgap screensaver implementation:
-RDEPENDS_${PN} += "xserver-nodm-init liberation-fonts"
-
-inherit systemd perlnative pkgconfig gettext autotools-brokensep distro_features_check
-
-EXTRA_OECONF += "--with-x-app-defaults=${datadir}/X11/app-defaults"
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-do_install_append() {
- install -D ${WORKDIR}/xscreensaver.service ${D}${systemd_unitdir}/system/xscreensaver.service
-}
-
-FILES_${PN} += "${datadir}/X11/app-defaults/XScreenSaver"
-SYSTEMD_SERVICE_${PN} = "xscreensaver.service"
-
-CLEANBROKEN = "1"
diff --git a/meta-oe/recipes-graphics/xscreensaver/xscreensaver_6.04.bb b/meta-oe/recipes-graphics/xscreensaver/xscreensaver_6.04.bb
new file mode 100644
index 0000000000..073b3f0912
--- /dev/null
+++ b/meta-oe/recipes-graphics/xscreensaver/xscreensaver_6.04.bb
@@ -0,0 +1,64 @@
+SUMMARY = "X screen saver and locker"
+HOMEPAGE = "https://www.jwz.org/xscreensaver/"
+LICENSE = "0BSD"
+LIC_FILES_CHKSUM = "file://driver/xscreensaver.h;endline=10;md5=c3ce41cdff745eb1dc9d4fcfbffb4d51"
+
+SRC_URI = "https://www.jwz.org/${BPN}/${BP}.tar.gz \
+ file://xscreensaver.service \
+ file://0001-Tweak-app-defaults.patch \
+ file://0002-build-Do-not-build-po-files.patch \
+ file://0001-configure-Ignore-CONF_STATUS-for-gtk-and-openGL-need.patch \
+"
+MIRRORS += "https://www.jwz.org/${BPN} https://ftp.osuosl.org/pub/blfs/conglomeration/${BPN}"
+
+SRC_URI[sha256sum] = "787014b29f0c5793ecc2d93e1109a049ff48ab0c29b851dab34f683ceef6b152"
+
+UPSTREAM_CHECK_URI = "https://www.jwz.org/xscreensaver/download.html"
+
+DEPENDS = "intltool-native libx11 libxext libxt libxft libxi glib-2.0-native bc-native libpam jpeg"
+# These are only needed as part of the stopgap screensaver implementation:
+RDEPENDS:${PN} = " \
+ liberation-fonts \
+ xuser-account \
+"
+
+inherit systemd perlnative pkgconfig gettext autotools-brokensep features_check
+
+
+EXTRA_OECONF += "--with-app-defaults=${datadir}/X11/app-defaults --libdir=${STAGING_LIBDIR} \
+ --includedir=${STAGING_INCDIR} --with-pam --with-login-manager"
+
+EXTRA_OEMAKE += "install_prefix=${D} GTK_DATADIR=${datadir}"
+REQUIRED_DISTRO_FEATURES = "x11 pam"
+
+PACKAGECONFIG = "png ${@bb.utils.contains('DISTRO_FEATURES','systemd','systemd','',d)}"
+
+PACKAGECONFIG[systemd] = "--with-systemd=yes,--with-systemd=no,systemd"
+PACKAGECONFIG[png] = "--with-png=yes,--with-png=no,libpng"
+
+CONFIGUREOPTS:remove = "--disable-silent-rules --disable-dependency-tracking"
+EXTRA_OECONF:remove = "--disable-static"
+
+do_install:append() {
+ install -D ${UNPACKDIR}/xscreensaver.service ${D}${systemd_unitdir}/system/xscreensaver.service
+ for f in xscreensaver-getimage-file xscreensaver-getimage-video webcollage xscreensaver-text vidwhacker
+ do
+ sed -i -e "s|${STAGING_BINDIR_NATIVE}/perl-native/perl|/usr/bin/perl|g" ${D}/${libexecdir}/${PN}/$f
+ done
+}
+
+PACKAGES =+ "${PN}-perl"
+
+FILES:${PN}-perl = "\
+ ${libexecdir}/${PN}/xscreensaver-getimage-file \
+ ${libexecdir}/${PN}/xscreensaver-getimage-video \
+ ${libexecdir}/${PN}/webcollage \
+ ${libexecdir}/${PN}/xscreensaver-text \
+ ${libexecdir}/${PN}/vidwhacker \
+ "
+FILES:${PN} += "${datadir}/X11/app-defaults/XScreenSaver ${datadir}/fonts"
+SYSTEMD_SERVICE:${PN} = "xscreensaver.service"
+
+RDEPENDS:${PN}-perl = "perl"
+
+CLEANBROKEN = "1"
diff --git a/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0001-COPYING-add-GPLv2-license-file.patch b/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0001-COPYING-add-GPLv2-license-file.patch
index 2bfe85b285..6f738e7376 100644
--- a/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0001-COPYING-add-GPLv2-license-file.patch
+++ b/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0001-COPYING-add-GPLv2-license-file.patch
@@ -11,6 +11,8 @@ Signed-off-by: Yu Ke <ke.yu@intel.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
+Upstream-Status: Pending
+
COPYING | 339 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 339 insertions(+)
create mode 100644 COPYING
diff --git a/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0001-Don-t-install-Xsession-or-Xserver.patch b/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0001-Don-t-install-Xsession-or-Xserver.patch
index 0ed12d106f..ea7c7d6a94 100644
--- a/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0001-Don-t-install-Xsession-or-Xserver.patch
+++ b/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0001-Don-t-install-Xsession-or-Xserver.patch
@@ -10,6 +10,8 @@ be used as before.
Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
---
+Upstream-Status: Pending
+
Makefile | 2 --
1 file changed, 2 deletions(-)
diff --git a/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0002-add-setdpi-Xinit.d-script.patch b/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0002-add-setdpi-Xinit.d-script.patch
index 0be3fa5b39..b408234ecb 100644
--- a/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0002-add-setdpi-Xinit.d-script.patch
+++ b/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0002-add-setdpi-Xinit.d-script.patch
@@ -6,6 +6,8 @@ Subject: [PATCH] add setdpi Xinit.d script
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
+Upstream-Status: Pending
+
X11/Xinit.d/50setdpi | 92 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 92 insertions(+)
create mode 100644 X11/Xinit.d/50setdpi
diff --git a/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0006-add-support-for-etc-X11-xserver-system.patch b/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0006-add-support-for-etc-X11-xserver-system.patch
index 53a283feae..4a9342c934 100644
--- a/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0006-add-support-for-etc-X11-xserver-system.patch
+++ b/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0006-add-support-for-etc-X11-xserver-system.patch
@@ -6,6 +6,8 @@ Subject: [PATCH] add support for /etc/X11/xserver-system
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
+Upstream-Status: Pending
+
X11/xserver-common | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0007-use-own-functions-file-instead-etc-init.d-functions.patch b/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0007-use-own-functions-file-instead-etc-init.d-functions.patch
index 94a35407af..ba35d1cf6c 100644
--- a/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0007-use-own-functions-file-instead-etc-init.d-functions.patch
+++ b/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0007-use-own-functions-file-instead-etc-init.d-functions.patch
@@ -8,6 +8,8 @@ Subject: [PATCH] use own functions file instead /etc/init.d/functions
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
+Upstream-Status: Pending
+
Makefile | 1 +
X11/Xinit.d/11zaurus | 2 +-
X11/Xinit.d/12keymap | 2 +-
diff --git a/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0008-xserver-common-add-dpi-and-nocursor-params-for-gta01.patch b/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0008-xserver-common-add-dpi-and-nocursor-params-for-gta01.patch
index 90d0f25843..a04e563f82 100644
--- a/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0008-xserver-common-add-dpi-and-nocursor-params-for-gta01.patch
+++ b/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0008-xserver-common-add-dpi-and-nocursor-params-for-gta01.patch
@@ -7,6 +7,8 @@ Subject: [PATCH] xserver-common: add dpi and nocursor params for gta01 and
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
+Upstream-Status: Pending
+
X11/xserver-common | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0009-xserver-common-add-support-for-n900-alias-nokia_rx-5.patch b/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0009-xserver-common-add-support-for-n900-alias-nokia_rx-5.patch
index 8fb69b3561..993b320154 100644
--- a/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0009-xserver-common-add-support-for-n900-alias-nokia_rx-5.patch
+++ b/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0009-xserver-common-add-support-for-n900-alias-nokia_rx-5.patch
@@ -6,6 +6,8 @@ Subject: [PATCH] xserver-common: add support for n900 alias nokia_rx-51_board
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
+Upstream-Status: Pending
+
X11/xserver-common | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0010-xserver-common-add-support-for-nexus-S-alias-herring.patch b/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0010-xserver-common-add-support-for-nexus-S-alias-herring.patch
index d30c7bbdcb..2948cd611b 100644
--- a/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0010-xserver-common-add-support-for-nexus-S-alias-herring.patch
+++ b/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0010-xserver-common-add-support-for-nexus-S-alias-herring.patch
@@ -6,6 +6,8 @@ Subject: [PATCH] xserver-common: add support for nexus S alias herring
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
+Upstream-Status: Pending
+
X11/xserver-common | 3 +++
1 file changed, 3 insertions(+)
diff --git a/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0011-xserver-common-add-support-for-nexus-one-alias-mahim.patch b/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0011-xserver-common-add-support-for-nexus-one-alias-mahim.patch
index 23e17f0988..342d49becd 100644
--- a/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0011-xserver-common-add-support-for-nexus-one-alias-mahim.patch
+++ b/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0011-xserver-common-add-support-for-nexus-one-alias-mahim.patch
@@ -6,6 +6,8 @@ Subject: [PATCH] xserver-common: add support for nexus one alias mahimahi
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
+Upstream-Status: Pending
+
X11/xserver-common | 3 +++
1 file changed, 3 insertions(+)
diff --git a/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0012-xserver-common-add-support-for-gta04-alias-OpenPhoen.patch b/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0012-xserver-common-add-support-for-gta04-alias-OpenPhoen.patch
index 5e794f6b31..94f9d2ca6f 100644
--- a/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0012-xserver-common-add-support-for-gta04-alias-OpenPhoen.patch
+++ b/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0012-xserver-common-add-support-for-gta04-alias-OpenPhoen.patch
@@ -6,6 +6,8 @@ Subject: [PATCH] xserver-common: add support for gta04 alias OpenPhoenux
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
+Upstream-Status: Pending
+
X11/xserver-common | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0013-xserver-common-add-support-for-tuna-alias-Galaxy-Nex.patch b/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0013-xserver-common-add-support-for-tuna-alias-Galaxy-Nex.patch
index 78d2e40297..c023b583b0 100644
--- a/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0013-xserver-common-add-support-for-tuna-alias-Galaxy-Nex.patch
+++ b/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0013-xserver-common-add-support-for-tuna-alias-Galaxy-Nex.patch
@@ -6,6 +6,8 @@ Subject: [PATCH] xserver-common: add support for tuna alias Galaxy Nexus
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
+Upstream-Status: Pending
+
X11/xserver-common | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/meta-oe/recipes-graphics/xserver-common/xserver-common_1.34.bb b/meta-oe/recipes-graphics/xserver-common/xserver-common_1.34.bb
index a5ed21d458..3f577bfa05 100644
--- a/meta-oe/recipes-graphics/xserver-common/xserver-common_1.34.bb
+++ b/meta-oe/recipes-graphics/xserver-common/xserver-common_1.34.bb
@@ -1,18 +1,17 @@
SUMMARY = "Common X11 scripts and support files"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
-PR = "r9"
# we are using a gpe-style Makefile
-inherit distro_features_check gpe
+inherit features_check gpe
REQUIRED_DISTRO_FEATURES = "x11"
SRC_URI[md5sum] = "82f2f84cd96610e8f7b92c700cd31c14"
SRC_URI[sha256sum] = "cd04c33418f776b1e13fcc7af3d6bd0c7cccd03fbabd7dbcd97f88166cc34210"
-SRC_URI_append = " \
+SRC_URI:append = " \
file://0001-COPYING-add-GPLv2-license-file.patch \
file://0002-add-setdpi-Xinit.d-script.patch \
file://0006-add-support-for-etc-X11-xserver-system.patch \
@@ -27,7 +26,7 @@ SRC_URI_append = " \
file://0001-Don-t-install-Xsession-or-Xserver.patch \
"
-do_install_append() {
+do_install:append() {
sed -i 's:^BINDIR=.*$:BINDIR=${bindir}:' ${D}/etc/X11/xserver-common
# Rename all Xsession files not ending with .sh
# Unfortunatelly when xinput-calibrator was moved to oe-core
@@ -38,8 +37,8 @@ do_install_append() {
done
}
-RDEPENDS_${PN} = "xmodmap xrandr xdpyinfo fbset xinput-calibrator"
+RDEPENDS:${PN} = "xmodmap xrandr xdpyinfo fbset xinput-calibrator"
-RCONFLICTS_${PN} = "xserver-kdrive-common x11-common"
-RREPLACES_${PN} = "xserver-kdrive-common x11-common"
+RCONFLICTS:${PN} = "xserver-kdrive-common x11-common"
+RREPLACES:${PN} = "xserver-kdrive-common x11-common"
diff --git a/meta-oe/recipes-graphics/yad/yad_6.0.bb b/meta-oe/recipes-graphics/yad/yad_6.0.bb
new file mode 100644
index 0000000000..9e46215fd8
--- /dev/null
+++ b/meta-oe/recipes-graphics/yad/yad_6.0.bb
@@ -0,0 +1,18 @@
+SUMMARY = "Yet Another Dialog"
+DESCRIPTION = "Program allowing you to display GTK+ dialog boxes from command line or shell scripts."
+
+LICENSE = "GPL-3.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+
+SRC_URI = "git://github.com/v1cont/yad.git;branch=master;protocol=https"
+SRCREV = "a5b1a7a3867bc7dffbbc539f586f301687b6ec02"
+
+inherit autotools gsettings features_check pkgconfig
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+DEPENDS = "gtk+3 glib-2.0-native intltool-native"
+
+S = "${WORKDIR}/git"
+
+FILES:${PN} += "${datadir}/icons/"
diff --git a/meta-oe/recipes-graphics/ydotool/ydotool_git.bb b/meta-oe/recipes-graphics/ydotool/ydotool_git.bb
new file mode 100644
index 0000000000..3acf70235e
--- /dev/null
+++ b/meta-oe/recipes-graphics/ydotool/ydotool_git.bb
@@ -0,0 +1,26 @@
+SUMMARY = "Generic Linux command-line automation tool (no X!)"
+DESCRIPTION = "ydotool is not limited to Wayland. You can use it on anything as long as it accepts keyboard/mouse/whatever input."
+LICENSE = "AGPL-3.0-or-later"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=eb1e647870add0502f8f010b19de32af"
+
+PV = "1.0.4+git"
+
+SRC_URI = "git://github.com/ReimuNotMoe/ydotool;protocol=https;branch=master"
+SRCREV = "0c295346d55afcc6aebaaee564333b3e1efabcbd"
+
+S = "${WORKDIR}/git"
+
+inherit cmake systemd
+
+EXTRA_OECMAKE = "\
+ -DBUILD_DOCS=OFF \
+"
+
+do_install:append() {
+ if ! ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
+ rm -rf ${D}${systemd_user_unitdir}
+ rmdir ${D}${nonarch_libdir}/systemd ${D}${nonarch_libdir}
+ fi
+}
+SYSTEMD_SERVICE:${PN} = "ydotoold.service"
+SYSTEMD_AUTO_ENABLE = "disable"