summaryrefslogtreecommitdiffstats
path: root/meta-agl/meta-agl-profile-core
diff options
context:
space:
mode:
Diffstat (limited to 'meta-agl/meta-agl-profile-core')
-rw-r--r--meta-agl/meta-agl-profile-core/LICENSE20
-rw-r--r--meta-agl/meta-agl-profile-core/LICENSE.GPL-2.0-only288
-rw-r--r--meta-agl/meta-agl-profile-core/LICENSE.MIT25
-rw-r--r--meta-agl/meta-agl-profile-core/conf/include/agl-devel.inc7
-rw-r--r--meta-agl/meta-agl-profile-core/conf/include/agl-pulseaudio.inc1
-rw-r--r--meta-agl/meta-agl-profile-core/conf/include/agl-sign-wgts.inc3
-rw-r--r--meta-agl/meta-agl-profile-core/conf/layer.conf2
-rw-r--r--meta-agl/meta-agl-profile-core/recipes-apis/agl-service-can-low-level/agl-service-can-low-level_git.bb4
-rw-r--r--meta-agl/meta-agl-profile-core/recipes-apis/agl-service-data-persistence/agl-service-data-persistence_git.bb4
-rw-r--r--meta-agl/meta-agl-profile-core/recipes-apis/agl-service-identity-agent/agl-service-identity-agent_git.bb2
-rw-r--r--meta-agl/meta-agl-profile-core/recipes-apis/agl-service-network/agl-service-network_git.bb8
-rw-r--r--meta-agl/meta-agl-profile-core/recipes-apis/agl-service-steering-wheel/agl-service-steering-wheel_0.1.bb14
-rw-r--r--meta-agl/meta-agl-profile-core/recipes-apis/agl-service-unicens/agl-service-unicens_git.bb2
-rw-r--r--meta-agl/meta-agl-profile-core/recipes-apis/high-level-viwi-service/high-level-viwi-service.bb19
-rw-r--r--meta-agl/meta-agl-profile-core/recipes-connectivity/bluez5/bluez5/0001-obex-report-notification-status-on-incoming-message.patch26
-rw-r--r--meta-agl/meta-agl-profile-core/recipes-connectivity/bluez5/bluez5/bluetooth.service21
-rw-r--r--meta-agl/meta-agl-profile-core/recipes-connectivity/bluez5/bluez5/obex.service10
-rw-r--r--meta-agl/meta-agl-profile-core/recipes-connectivity/bluez5/bluez5_%.bbappend7
-rw-r--r--meta-agl/meta-agl-profile-core/recipes-connectivity/connman/connman.inc216
-rw-r--r--meta-agl/meta-agl-profile-core/recipes-connectivity/connman/connman/0001-Fix-various-issues-which-cause-problems-under-musl.patch362
-rw-r--r--meta-agl/meta-agl-profile-core/recipes-connectivity/connman/connman/0001-connman.service-stop-systemd-resolved-when-we-use-co.patch29
-rw-r--r--meta-agl/meta-agl-profile-core/recipes-connectivity/connman/connman/0001-plugin.h-Change-visibility-to-default-for-debug-symb.patch35
-rw-r--r--meta-agl/meta-agl-profile-core/recipes-connectivity/connman/connman/0002-resolve-musl-does-not-implement-res_ninit.patch85
-rw-r--r--meta-agl/meta-agl-profile-core/recipes-connectivity/connman/connman/connman83
-rw-r--r--meta-agl/meta-agl-profile-core/recipes-connectivity/connman/connman/no-version-scripts.patch27
-rw-r--r--meta-agl/meta-agl-profile-core/recipes-connectivity/connman/connman_1.36.bb16
-rw-r--r--meta-agl/meta-agl-profile-core/recipes-connectivity/libnfc/libnfc_git.bb18
-rw-r--r--meta-agl/meta-agl-profile-core/recipes-connectivity/neardal/neardal_0.14.bb7
-rw-r--r--meta-agl/meta-agl-profile-core/recipes-connectivity/rtl-sdr/rtl-sdr_0.5.3.bb2
-rw-r--r--meta-agl/meta-agl-profile-core/recipes-core/glibc/.appends.core0
-rw-r--r--meta-agl/meta-agl-profile-core/recipes-core/glibc/glibc/arm/local-arm-futex.diff22
-rw-r--r--meta-agl/meta-agl-profile-core/recipes-core/glibc/glibc_2.2%.bbappend3
-rwxr-xr-xmeta-agl/meta-agl-profile-core/recipes-core/psplash/files/psplash-anim11
-rw-r--r--meta-agl/meta-agl-profile-core/recipes-core/psplash/files/psplash-quit.service11
-rw-r--r--meta-agl/meta-agl-profile-core/recipes-core/psplash/files/psplash-start.service12
-rw-r--r--meta-agl/meta-agl-profile-core/recipes-core/psplash/psplash_git.bbappend22
-rw-r--r--meta-agl/meta-agl-profile-core/recipes-core/systemd/systemd-conf_%.bbappend4
-rw-r--r--meta-agl/meta-agl-profile-core/recipes-core/systemd/systemd/0001-fix-udevd-seclabel-parsing.patch34
-rw-r--r--meta-agl/meta-agl-profile-core/recipes-core/systemd/systemd/0001-network-add-CAN-Termination-tristate-option.patch97
-rw-r--r--meta-agl/meta-agl-profile-core/recipes-core/systemd/systemd/0002-network-add-CAN-Termination-tristate-option.patch107
-rw-r--r--meta-agl/meta-agl-profile-core/recipes-core/systemd/systemd_%.bbappend3
-rw-r--r--meta-agl/meta-agl-profile-core/recipes-devtools/cmake-apps-module/cmake-apps-module_git.bb2
-rw-r--r--meta-agl/meta-agl-profile-core/recipes-devtools/packagegroups/packagegroup-agl-core-devel.bb4
-rw-r--r--meta-agl/meta-agl-profile-core/recipes-devtools/python/python3-asyncssh_2.3.0.bb15
-rw-r--r--meta-agl/meta-agl-profile-core/recipes-devtools/python/python3-pytest-dependency_0.5.1.bb12
-rw-r--r--meta-agl/meta-agl-profile-core/recipes-devtools/python/python3-pytest-reverse_1.0.1.bb12
-rw-r--r--meta-agl/meta-agl-profile-core/recipes-kernel/most/files/0001-most-aim-network-backport-Kernel-API.patch43
-rw-r--r--meta-agl/meta-agl-profile-core/recipes-kernel/most/files/0011-handle-snd_pcm_lib_mmap_vmalloc-removal.patch22
-rw-r--r--meta-agl/meta-agl-profile-core/recipes-kernel/most/files/0012-Fix-build-with-5.4-kernel.patch68
-rw-r--r--meta-agl/meta-agl-profile-core/recipes-kernel/most/most.bb2
-rw-r--r--meta-agl/meta-agl-profile-core/recipes-kernel/most/most.bbappend22
-rw-r--r--meta-agl/meta-agl-profile-core/recipes-multimedia/pulseaudio/agl-audio-plugin_0.1.bb28
-rw-r--r--meta-agl/meta-agl-profile-core/recipes-multimedia/pulseaudio/pulseaudio-12.2/0001-install-files-for-a-module-development.patch70
-rw-r--r--meta-agl/meta-agl-profile-core/recipes-multimedia/pulseaudio/pulseaudio-12.2/0002-volume-ramp-additions-to-the-low-level-infra.patch564
-rw-r--r--meta-agl/meta-agl-profile-core/recipes-multimedia/pulseaudio/pulseaudio-12.2/0003-volume-ramp-adding-volume-ramping-to-sink-input.patch189
-rw-r--r--meta-agl/meta-agl-profile-core/recipes-multimedia/pulseaudio/pulseaudio-12.2/0004-sink-input-Code-cleanup-regarding-volume-ramping.patch62
-rw-r--r--meta-agl/meta-agl-profile-core/recipes-multimedia/pulseaudio/pulseaudio-12.2/0005-sink-input-volume-Add-support-for-volume-ramp-factor.patch299
-rw-r--r--meta-agl/meta-agl-profile-core/recipes-multimedia/pulseaudio/pulseaudio-12.2/0006-sink-input-Remove-pa_sink_input_set_volume_ramp.patch63
-rw-r--r--meta-agl/meta-agl-profile-core/recipes-multimedia/pulseaudio/pulseaudio-12.2/enable-ofono-hfp-backend.patch11
-rw-r--r--meta-agl/meta-agl-profile-core/recipes-multimedia/pulseaudio/pulseaudio_%.bbappend29
-rw-r--r--meta-agl/meta-agl-profile-core/recipes-multimedia/pulseaudio/pulseaudio_12.2.bbappend15
-rw-r--r--[-rwxr-xr-x]meta-agl/meta-agl-profile-core/recipes-platform/images/agl-image-minimal-crosssdk.bb19
-rw-r--r--meta-agl/meta-agl-profile-core/recipes-platform/images/agl-image-minimal-crosssdk.inc18
-rw-r--r--meta-agl/meta-agl-profile-core/recipes-platform/packagegroups/packagegroup-agl-core-boot.bb1
-rw-r--r--meta-agl/meta-agl-profile-core/recipes-platform/packagegroups/packagegroup-agl-core-services.bb8
-rw-r--r--meta-agl/meta-agl-profile-core/recipes-support/curl/curl/0001-replace-krb5-config-with-pkg-config.patch44
-rw-r--r--meta-agl/meta-agl-profile-core/recipes-support/curl/curl_7.66.0.bb80
-rw-r--r--meta-agl/meta-agl-profile-core/recipes-support/libmicrohttpd/libmicrohttpd_0.9.63.bb28
-rw-r--r--meta-agl/meta-agl-profile-core/recipes-support/nghttp2/nghttp2_1.39.1.bb15
-rw-r--r--meta-agl/meta-agl-profile-core/recipes-support/opencv/opencv_4.%.bbappend (renamed from meta-agl/meta-agl-profile-core/recipes-support/opencv/opencv_3.%.bbappend)0
-rw-r--r--meta-agl/meta-agl-profile-core/recipes-support/udisks/files/99-udisks2.rules5
-rw-r--r--meta-agl/meta-agl-profile-core/recipes-support/udisks/files/automount.service2
-rw-r--r--meta-agl/meta-agl-profile-core/recipes-support/udisks/files/org.freedesktop.UDisks.conf32
-rw-r--r--meta-agl/meta-agl-profile-core/recipes-support/udisks/files/udisks.service11
-rw-r--r--meta-agl/meta-agl-profile-core/recipes-support/udisks/udisks2_%.bbappend26
-rw-r--r--meta-agl/meta-agl-profile-core/recipes-support/udisks/udisks_1.0.5.bbappend28
-rw-r--r--meta-agl/meta-agl-profile-core/recipes-test/afb-test/afb-test_git.bb4
-rw-r--r--meta-agl/meta-agl-profile-core/recipes-test/fontconfig/fontconfig_%.bbappend9
-rw-r--r--meta-agl/meta-agl-profile-core/recipes-test/freetype/freetype_2.%.bbappend34
-rw-r--r--meta-agl/meta-agl-profile-core/recipes-test/freetype/freetype_2.9.1.bbappend35
-rw-r--r--meta-agl/meta-agl-profile-core/recipes-test/pyagl/pyagl_git.bb29
81 files changed, 801 insertions, 2828 deletions
diff --git a/meta-agl/meta-agl-profile-core/LICENSE b/meta-agl/meta-agl-profile-core/LICENSE
new file mode 100644
index 00000000..e8758f89
--- /dev/null
+++ b/meta-agl/meta-agl-profile-core/LICENSE
@@ -0,0 +1,20 @@
+Different components of the AGL layers are under different licenses (a mix
+of MIT and GPLv2). See LICENSE.GPL-2.0-only and LICENSE.MIT for further
+details of the individual licenses.
+
+All metadata (e.g. .bb, .bbappend, .bbclass, .inc, templates/* and similar)
+is MIT licensed unless otherwise stated.
+Source code included in tree for individual recipes (e.g. patches) are under
+the LICENSE stated in the associated recipe (.bb file) unless otherwise stated.
+
+License information for any other files (scripts) is either explicitly stated
+or defaults to GPL version 2 only.
+
+Individual files can contain the following style tags instead of the full
+license text to identify their license:
+
+ SPDX-License-Identifier: GPL-2.0-only
+ SPDX-License-Identifier: MIT
+
+This enables machine processing of license information based on the SPDX
+License Identifiers that are here available: http://spdx.org/licenses/
diff --git a/meta-agl/meta-agl-profile-core/LICENSE.GPL-2.0-only b/meta-agl/meta-agl-profile-core/LICENSE.GPL-2.0-only
new file mode 100644
index 00000000..5db3c0a2
--- /dev/null
+++ b/meta-agl/meta-agl-profile-core/LICENSE.GPL-2.0-only
@@ -0,0 +1,288 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users. This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it. (Some other Free Software Foundation software is covered by
+the GNU Lesser General Public License instead.) You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+ To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have. You must make sure that they, too, receive or can get the
+source code. And you must show them these terms so they know their
+rights.
+
+ We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+ Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software. If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+ Finally, any free program is threatened constantly by software
+patents. We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary. To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ GNU GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License. The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language. (Hereinafter, translation is included without limitation in
+the term "modification".) Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+ 1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+ 2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) You must cause the modified files to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ b) You must cause any work that you distribute or publish, that in
+ whole or in part contains or is derived from the Program or any
+ part thereof, to be licensed as a whole at no charge to all third
+ parties under the terms of this License.
+
+ c) If the modified program normally reads commands interactively
+ when run, you must cause it, when started running for such
+ interactive use in the most ordinary way, to print or display an
+ announcement including an appropriate copyright notice and a
+ notice that there is no warranty (or else, saying that you provide
+ a warranty) and that users may redistribute the program under
+ these conditions, and telling the user how to view a copy of this
+ License. (Exception: if the Program itself is interactive but
+ does not normally print such an announcement, your work based on
+ the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+ a) Accompany it with the complete corresponding machine-readable
+ source code, which must be distributed under the terms of Sections
+ 1 and 2 above on a medium customarily used for software interchange; or,
+
+ b) Accompany it with a written offer, valid for at least three
+ years, to give any third party, for a charge no more than your
+ cost of physically performing source distribution, a complete
+ machine-readable copy of the corresponding source code, to be
+ distributed under the terms of Sections 1 and 2 above on a medium
+ customarily used for software interchange; or,
+
+ c) Accompany it with the information you received as to the offer
+ to distribute corresponding source code. (This alternative is
+ allowed only for noncommercial distribution and only if you
+ received the program in object code or executable form with such
+ an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it. For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable. However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License. Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+ 5. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Program or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+ 6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+ 7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all. For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded. In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+ 9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation. If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+ 10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission. For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this. Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+ NO WARRANTY
+
+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+Note:
+Individual files contain the following tag instead of the full license text.
+
+ SPDX-License-Identifier: GPL-2.0-only
+
+This enables machine processing of license information based on the SPDX
+License Identifiers that are here available: http://spdx.org/licenses/
diff --git a/meta-agl/meta-agl-profile-core/LICENSE.MIT b/meta-agl/meta-agl-profile-core/LICENSE.MIT
new file mode 100644
index 00000000..a6919eb7
--- /dev/null
+++ b/meta-agl/meta-agl-profile-core/LICENSE.MIT
@@ -0,0 +1,25 @@
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+Note:
+Individual files contain the following tag instead of the full license text.
+
+ SPDX-License-Identifier: MIT
+
+This enables machine processing of license information based on the SPDX
+License Identifiers that are here available: http://spdx.org/licenses/
diff --git a/meta-agl/meta-agl-profile-core/conf/include/agl-devel.inc b/meta-agl/meta-agl-profile-core/conf/include/agl-devel.inc
index 2157f6f1..6ecd6a07 100644
--- a/meta-agl/meta-agl-profile-core/conf/include/agl-devel.inc
+++ b/meta-agl/meta-agl-profile-core/conf/include/agl-devel.inc
@@ -1,13 +1,16 @@
-IMAGE_FEATURES =+ "debug-tweaks eclipse-debug tools-debug tools-profile"
+IMAGE_FEATURES =+ "debug-tweaks tools-debug tools-profile"
IMAGE_INSTALL_append = " \
packagegroup-agl-core-devel \
"
-IMAGE_INSTALL_append = "${@bb.utils.contains('IMAGE_FSTYPES', 'wic.vmdk', ' open-vm-tools vboxguestdrivers', '', d)}"
+IMAGE_INSTALL_append = "${@bb.utils.contains_any('IMAGE_FSTYPES', 'wic.vmdk wic.vmdk.xz', ' open-vm-tools vboxguestdrivers', '', d)}"
+
# Install libdrm-test, including modetest, to images with GUI
IMAGE_INSTALL_append = "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', ' libdrm-tests', '', d)}"
+IMAGE_FEATURES_append = " agl-devel-wgt"
+
# disable install of debug files in SDK
# initial value: SDKIMAGE_FEATURES="dev-pkgs dbg-pkgs staticdev-pkgs"
SDKIMAGE_FEATURES="dev-pkgs"
diff --git a/meta-agl/meta-agl-profile-core/conf/include/agl-pulseaudio.inc b/meta-agl/meta-agl-profile-core/conf/include/agl-pulseaudio.inc
deleted file mode 100644
index 69092ab9..00000000
--- a/meta-agl/meta-agl-profile-core/conf/include/agl-pulseaudio.inc
+++ /dev/null
@@ -1 +0,0 @@
-DISTRO_FEATURES_append = " pulseaudio"
diff --git a/meta-agl/meta-agl-profile-core/conf/include/agl-sign-wgts.inc b/meta-agl/meta-agl-profile-core/conf/include/agl-sign-wgts.inc
new file mode 100644
index 00000000..6e6674fd
--- /dev/null
+++ b/meta-agl/meta-agl-profile-core/conf/include/agl-sign-wgts.inc
@@ -0,0 +1,3 @@
+# allows insertion of code or items specific to developement
+OVERRIDES .= ":agl-sign-wgts"
+DISTRO_FEATURES_append = " agl-sign-wgts"
diff --git a/meta-agl/meta-agl-profile-core/conf/layer.conf b/meta-agl/meta-agl-profile-core/conf/layer.conf
index 641b2286..fef746d7 100644
--- a/meta-agl/meta-agl-profile-core/conf/layer.conf
+++ b/meta-agl/meta-agl-profile-core/conf/layer.conf
@@ -9,4 +9,4 @@ BBFILE_COLLECTIONS += "aglprofilecore"
BBFILE_PATTERN_aglprofilecore = "^${LAYERDIR}/"
BBFILE_PRIORITY_aglprofilecore = "80"
-LAYERSERIES_COMPAT_aglprofilecore = "thud"
+LAYERSERIES_COMPAT_aglprofilecore = "dunfell"
diff --git a/meta-agl/meta-agl-profile-core/recipes-apis/agl-service-can-low-level/agl-service-can-low-level_git.bb b/meta-agl/meta-agl-profile-core/recipes-apis/agl-service-can-low-level/agl-service-can-low-level_git.bb
index d06cfd26..83f6c1e7 100644
--- a/meta-agl/meta-agl-profile-core/recipes-apis/agl-service-can-low-level/agl-service-can-low-level_git.bb
+++ b/meta-agl/meta-agl-profile-core/recipes-apis/agl-service-can-low-level/agl-service-can-low-level_git.bb
@@ -16,4 +16,8 @@ DEPENDS = "libafb-helpers libappcontroller"
inherit cmake aglwgt pkgconfig ptest
+# For now, just enable J1939 on the qemu platforms where we know the
+# linux-yocto kernel is new enough (>= 5.4) and has the support enabled.
+AGLWGT_CMAKE_CONFIGURE_ARGS_append_qemuall = " -DWITH_FEATURE_J1939=ON"
+
RDEPENDS_${PN} = "virtual/low-can-dev-mapping"
diff --git a/meta-agl/meta-agl-profile-core/recipes-apis/agl-service-data-persistence/agl-service-data-persistence_git.bb b/meta-agl/meta-agl-profile-core/recipes-apis/agl-service-data-persistence/agl-service-data-persistence_git.bb
index bb8caaad..569f0707 100644
--- a/meta-agl/meta-agl-profile-core/recipes-apis/agl-service-data-persistence/agl-service-data-persistence_git.bb
+++ b/meta-agl/meta-agl-profile-core/recipes-apis/agl-service-data-persistence/agl-service-data-persistence_git.bb
@@ -2,8 +2,8 @@ DESCRIPTION = "AGL low level user database binding"
HOMEPAGE = "https://git.automotivelinux.org/apps/agl-service-data-persistence/"
SECTION = "base"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=8089a3c40cff9caffd1b9ba5aa3dfd67"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=ae6497158920d9524cf208c09cc4c984"
SRC_URI = "git://gerrit.automotivelinux.org/gerrit/apps/agl-service-data-persistence;protocol=https;branch=${AGL_BRANCH}"
SRCREV = "${AGL_APP_REVISION}"
diff --git a/meta-agl/meta-agl-profile-core/recipes-apis/agl-service-identity-agent/agl-service-identity-agent_git.bb b/meta-agl/meta-agl-profile-core/recipes-apis/agl-service-identity-agent/agl-service-identity-agent_git.bb
index 56e11832..f2474be7 100644
--- a/meta-agl/meta-agl-profile-core/recipes-apis/agl-service-identity-agent/agl-service-identity-agent_git.bb
+++ b/meta-agl/meta-agl-profile-core/recipes-apis/agl-service-identity-agent/agl-service-identity-agent_git.bb
@@ -3,7 +3,7 @@ HOMEPAGE = "https://gitlab.com/iotbzh/aia-binding"
SECTION = "base"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
SRC_URI = "git://gerrit.automotivelinux.org/gerrit/apps/agl-service-identity-agent;protocol=https;branch=${AGL_BRANCH}"
SRCREV = "${AGL_APP_REVISION}"
diff --git a/meta-agl/meta-agl-profile-core/recipes-apis/agl-service-network/agl-service-network_git.bb b/meta-agl/meta-agl-profile-core/recipes-apis/agl-service-network/agl-service-network_git.bb
index dbe9b3e9..c7fb72f2 100644
--- a/meta-agl/meta-agl-profile-core/recipes-apis/agl-service-network/agl-service-network_git.bb
+++ b/meta-agl/meta-agl-profile-core/recipes-apis/agl-service-network/agl-service-network_git.bb
@@ -14,12 +14,12 @@ S = "${WORKDIR}/git"
DEPENDS = "glib-2.0 json-c"
-FILES_${PN}-tools = "${sbindir}/agl-service-network-ctl"
-PACKAGES = "${PN}-tools ${PN}-dbg ${PN}"
+inherit cmake aglwgt pkgconfig
do_install_append() {
install -d ${D}${sbindir}
- install -m 755 ${B}/test/agl-service-network-ctl ${D}${sbindir}
+ install -m 755 ${B}/build-release/test/agl-service-network-ctl ${D}${sbindir}
}
-inherit cmake aglwgt pkgconfig
+FILES_${PN}-tools = "${sbindir}/agl-service-network-ctl"
+PACKAGES_prepend = "${PN}-tools "
diff --git a/meta-agl/meta-agl-profile-core/recipes-apis/agl-service-steering-wheel/agl-service-steering-wheel_0.1.bb b/meta-agl/meta-agl-profile-core/recipes-apis/agl-service-steering-wheel/agl-service-steering-wheel_0.1.bb
deleted file mode 100644
index a34644ce..00000000
--- a/meta-agl/meta-agl-profile-core/recipes-apis/agl-service-steering-wheel/agl-service-steering-wheel_0.1.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-DESCRIPTION = "logitech g29 wheel service"
-HOMEPAGE = "https://gerrit.automotivelinux.org/gerrit/#/admin/projects/apps/agl-service-steering-wheel"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=ae6497158920d9524cf208c09cc4c984"
-SECTION = "apps"
-
-SRC_URI = "git://gerrit.automotivelinux.org/gerrit/apps/agl-service-steering-wheel;protocol=https;branch=${AGL_BRANCH}"
-SRCREV = "6d5d619a059b5aeb76c2add9bc28d45bd31279e9"
-PN = "agl-service-steering-wheel"
-S = "${WORKDIR}/git"
-
-DEPENDS = "glib-2.0 af-binder"
-
-inherit cmake aglwgt
diff --git a/meta-agl/meta-agl-profile-core/recipes-apis/agl-service-unicens/agl-service-unicens_git.bb b/meta-agl/meta-agl-profile-core/recipes-apis/agl-service-unicens/agl-service-unicens_git.bb
index 0126c768..e7e25c74 100644
--- a/meta-agl/meta-agl-profile-core/recipes-apis/agl-service-unicens/agl-service-unicens_git.bb
+++ b/meta-agl/meta-agl-profile-core/recipes-apis/agl-service-unicens/agl-service-unicens_git.bb
@@ -4,7 +4,7 @@ HOMEPAGE = "https://gerrit.automotivelinux.org/gerrit/#/admin/projects/apps/a
SECTION = "apps"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=89aea4e17d99a7cacdbeed46a0096b10"
SRC_URI = "gitsm://gerrit.automotivelinux.org/gerrit/apps/agl-service-unicens;protocol=https;branch=${AGL_BRANCH}"
SRCREV = "${AGL_APP_REVISION}"
diff --git a/meta-agl/meta-agl-profile-core/recipes-apis/high-level-viwi-service/high-level-viwi-service.bb b/meta-agl/meta-agl-profile-core/recipes-apis/high-level-viwi-service/high-level-viwi-service.bb
deleted file mode 100644
index b7dc38b5..00000000
--- a/meta-agl/meta-agl-profile-core/recipes-apis/high-level-viwi-service/high-level-viwi-service.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-SUMMARY = "High level ViWi service"
-DESCRIPTION = "AGL High Level service using ViWi protocol to expose CAN API."
-HOMEPAGE = "https://github.com/iotbzh/high-level-viwi-service"
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=5de84541278ea4e62cacfdc0f890c459"
-
-SRC_URI = "gitsm://github.com/iotbzh/high-level-viwi-service.git;protocol=https"
-SRCREV = "e9d304eb5ac99b3ba6b72022458f09fcd713b584"
-
-PV = "4.0+git${SRCPV}"
-S = "${WORKDIR}/git"
-
-# Run-time dependencies
-RDEPENDS_${PN} += "agl-service-can-low-level"
-
-inherit cmake aglwgt
-
-AGLWGT_AUTOINSTALL_${PN} := "0"
diff --git a/meta-agl/meta-agl-profile-core/recipes-connectivity/bluez5/bluez5/0001-obex-report-notification-status-on-incoming-message.patch b/meta-agl/meta-agl-profile-core/recipes-connectivity/bluez5/bluez5/0001-obex-report-notification-status-on-incoming-message.patch
deleted file mode 100644
index 44bae715..00000000
--- a/meta-agl/meta-agl-profile-core/recipes-connectivity/bluez5/bluez5/0001-obex-report-notification-status-on-incoming-message.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 0d85faf308285c6a1f77f01660a2ce0541bfa5b4 Mon Sep 17 00:00:00 2001
-From: Matt Ranostay <matt.ranostay@konsulko.com>
-Date: Wed, 12 Jun 2019 17:04:00 -0700
-Subject: [PATCH] obex: report notification status on incoming message
-
-To match doc/obex.txt on incoming message notification the respective
-Status field should be set.
----
- obexd/client/map.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/obexd/client/map.c b/obexd/client/map.c
-index 550c5afb4..23be2d6b2 100644
---- a/obexd/client/map.c
-+++ b/obexd/client/map.c
-@@ -1914,6 +1914,7 @@ static void map_handle_notification(struct map_event *event, void *user_data)
- switch (event->type) {
- case MAP_ET_NEW_MESSAGE:
- map_handle_new_message(map, event);
-+ map_handle_status_changed(map, event, "notification");
- break;
- case MAP_ET_DELIVERY_SUCCESS:
- map_handle_status_changed(map, event, "delivery-success");
---
-2.20.1
-
diff --git a/meta-agl/meta-agl-profile-core/recipes-connectivity/bluez5/bluez5/bluetooth.service b/meta-agl/meta-agl-profile-core/recipes-connectivity/bluez5/bluez5/bluetooth.service
new file mode 100644
index 00000000..8ae83bd4
--- /dev/null
+++ b/meta-agl/meta-agl-profile-core/recipes-connectivity/bluez5/bluez5/bluetooth.service
@@ -0,0 +1,21 @@
+[Unit]
+Description=Bluetooth service
+Documentation=man:bluetoothd(8)
+ConditionPathIsDirectory=/sys/class/bluetooth
+
+[Service]
+Type=dbus
+BusName=org.bluez
+ExecStartPre=-/usr/bin/hciconfig hci0 aclmtu 930:10
+ExecStart=/usr/libexec/bluetooth/bluetoothd
+NotifyAccess=main
+#WatchdogSec=10
+#Restart=on-failure
+CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_BIND_SERVICE
+LimitNPROC=1
+ProtectHome=true
+ProtectSystem=full
+
+[Install]
+WantedBy=bluetooth.target
+Alias=dbus-org.bluez.service
diff --git a/meta-agl/meta-agl-profile-core/recipes-connectivity/bluez5/bluez5/obex.service b/meta-agl/meta-agl-profile-core/recipes-connectivity/bluez5/bluez5/obex.service
new file mode 100644
index 00000000..87ffff6a
--- /dev/null
+++ b/meta-agl/meta-agl-profile-core/recipes-connectivity/bluez5/bluez5/obex.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=Bluetooth OBEX service
+
+[Service]
+Type=dbus
+BusName=org.bluez.obex
+ExecStart=/usr/libexec/bluetooth/obexd --root=/var/volatile/tmp
+
+[Install]
+Alias=dbus-org.bluez.obex.service
diff --git a/meta-agl/meta-agl-profile-core/recipes-connectivity/bluez5/bluez5_%.bbappend b/meta-agl/meta-agl-profile-core/recipes-connectivity/bluez5/bluez5_%.bbappend
index 36fb3151..52ae30bc 100644
--- a/meta-agl/meta-agl-profile-core/recipes-connectivity/bluez5/bluez5_%.bbappend
+++ b/meta-agl/meta-agl-profile-core/recipes-connectivity/bluez5/bluez5_%.bbappend
@@ -2,7 +2,8 @@ FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:"
SRC_URI_append = " \
file://bluetooth.conf \
file://tmpdir.conf \
- file://0001-obex-report-notification-status-on-incoming-message.patch \
+ file://obex.service \
+ file://bluetooth.service \
"
FILES_${PN} += "${systemd_user_unitdir}/obex.service.d/tmpdir.conf"
@@ -12,8 +13,12 @@ do_install_append() {
if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
mkdir -p ${D}${systemd_user_unitdir}/obex.service.d
+
+ install -m 0644 ${WORKDIR}/obex.service ${D}${systemd_user_unitdir}
install -m 0644 ${WORKDIR}/tmpdir.conf ${D}${systemd_user_unitdir}/obex.service.d/tmpdir.conf
mkdir -p ${D}/etc/systemd/user
ln -sf ${systemd_user_unitdir}/obex.service ${D}/etc/systemd/user/dbus-org.bluez.obex.service
+ mkdir -p ${D}${systemd_system_unitdir}
+ install -m 0644 ${WORKDIR}/bluetooth.service ${D}${systemd_system_unitdir}
fi
}
diff --git a/meta-agl/meta-agl-profile-core/recipes-connectivity/connman/connman.inc b/meta-agl/meta-agl-profile-core/recipes-connectivity/connman/connman.inc
deleted file mode 100644
index 0a117e44..00000000
--- a/meta-agl/meta-agl-profile-core/recipes-connectivity/connman/connman.inc
+++ /dev/null
@@ -1,216 +0,0 @@
-SUMMARY = "A daemon for managing internet connections within embedded devices"
-DESCRIPTION = "The ConnMan project provides a daemon for managing \
-internet connections within embedded devices running the Linux \
-operating system. The Connection Manager is designed to be slim and \
-to use as few resources as possible, so it can be easily integrated. \
-It is a fully modular system that can be extended, through plug-ins, \
-to support all kinds of wired or wireless technologies. Also, \
-configuration methods, like DHCP and domain name resolving, are \
-implemented using plug-ins."
-HOMEPAGE = "http://connman.net/"
-BUGTRACKER = "https://01.org/jira/browse/CM"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e \
- file://src/main.c;beginline=1;endline=20;md5=486a279a6ab0c8d152bcda3a5b5edc36"
-
-inherit autotools pkgconfig systemd update-rc.d bluetooth update-alternatives
-
-DEPENDS = "dbus glib-2.0 ppp readline"
-
-INC_PR = "r20"
-
-EXTRA_OECONF += "\
- ac_cv_path_WPASUPPLICANT=${sbindir}/wpa_supplicant \
- ac_cv_path_PPPD=${sbindir}/pppd \
- --enable-debug \
- --enable-loopback \
- --enable-ethernet \
- --enable-tools \
- --disable-polkit \
- --enable-client \
-"
-
-PACKAGECONFIG ??= "wispr \
- ${@bb.utils.filter('DISTRO_FEATURES', '3g systemd wifi', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)} \
- iptables \
-"
-
-# If you want ConnMan to support VPN, add following statement into
-# local.conf or distro config
-# PACKAGECONFIG_append_pn-connman = " openvpn vpnc l2tp pptp"
-
-PACKAGECONFIG[systemd] = "--with-systemdunitdir=${systemd_unitdir}/system/ --with-tmpfilesdir=${sysconfdir}/tmpfiles.d/,--with-systemdunitdir='' --with-tmpfilesdir=''"
-PACKAGECONFIG[wifi] = "--enable-wifi, --disable-wifi, wpa-supplicant, wpa-supplicant"
-PACKAGECONFIG[bluez] = "--enable-bluetooth, --disable-bluetooth, ${BLUEZ}, ${BLUEZ}"
-PACKAGECONFIG[3g] = "--enable-ofono, --disable-ofono, ofono, ofono"
-PACKAGECONFIG[tist] = "--enable-tist,--disable-tist,"
-PACKAGECONFIG[openvpn] = "--enable-openvpn --with-openvpn=${sbindir}/openvpn,--disable-openvpn,,openvpn"
-PACKAGECONFIG[vpnc] = "--enable-vpnc --with-vpnc=${sbindir}/vpnc,--disable-vpnc,,vpnc"
-PACKAGECONFIG[l2tp] = "--enable-l2tp --with-l2tp=${sbindir}/xl2tpd,--disable-l2tp,,xl2tpd"
-PACKAGECONFIG[pptp] = "--enable-pptp --with-pptp=${sbindir}/pptp,--disable-pptp,,pptp-linux"
-# WISPr support for logging into hotspots, requires TLS
-PACKAGECONFIG[wispr] = "--enable-wispr,--disable-wispr,gnutls,"
-PACKAGECONFIG[nftables] = "--with-firewall=nftables ,,libmnl libnftnl,,kernel-module-nf-tables-ipv4 kernel-module-nft-chain-nat-ipv4 kernel-module-nft-chain-route-ipv4 kernel-module-nft-meta kernel-module-nft-masq-ipv4 kernel-module-nft-nat"
-PACKAGECONFIG[iptables] = "--with-firewall=iptables ,,iptables,iptables"
-
-INITSCRIPT_NAME = "connman"
-INITSCRIPT_PARAMS = "start 05 5 2 3 . stop 22 0 1 6 ."
-
-python __anonymous () {
- systemd_packages = "${PN}"
- pkgconfig = d.getVar('PACKAGECONFIG')
- if ('openvpn' or 'vpnc' or 'l2tp' or 'pptp') in pkgconfig.split():
- systemd_packages += " ${PN}-vpn"
- d.setVar('SYSTEMD_PACKAGES', systemd_packages)
-}
-
-SYSTEMD_SERVICE_${PN} = "connman.service"
-SYSTEMD_SERVICE_${PN}-vpn = "connman-vpn.service"
-SYSTEMD_SERVICE_${PN}-wait-online = "connman-wait-online.service"
-
-ALTERNATIVE_PRIORITY = "100"
-ALTERNATIVE_${PN} = "${@bb.utils.contains('DISTRO_FEATURES','systemd','resolv-conf','',d)}"
-ALTERNATIVE_TARGET[resolv-conf] = "${@bb.utils.contains('DISTRO_FEATURES','systemd','${sysconfdir}/resolv-conf.connman','',d)}"
-ALTERNATIVE_LINK_NAME[resolv-conf] = "${@bb.utils.contains('DISTRO_FEATURES','systemd','${sysconfdir}/resolv.conf','',d)}"
-
-do_install_append() {
- if ${@bb.utils.contains('DISTRO_FEATURES','sysvinit','true','false',d)}; then
- install -d ${D}${sysconfdir}/init.d
- install -m 0755 ${WORKDIR}/connman ${D}${sysconfdir}/init.d/connman
- sed -i s%@DATADIR@%${datadir}% ${D}${sysconfdir}/init.d/connman
- fi
-
- install -d ${D}${bindir}
- install -m 0755 ${B}/tools/*-test ${D}${bindir}
- if [ -e ${B}/tools/wispr ]; then
- install -m 0755 ${B}/tools/wispr ${D}${bindir}
- fi
- install -m 0755 ${B}/client/connmanctl ${D}${bindir}
-
- # We don't need to package an empty directory
- rmdir --ignore-fail-on-non-empty ${D}${libdir}/connman/scripts
-
- # Automake 1.12 won't install empty directories, but we need the
- # plugins directory to be present for ownership
- mkdir -p ${D}${libdir}/connman/plugins
-
- # For read-only filesystem, do not create links during bootup
- if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
- ln -sf ../run/connman/resolv.conf ${D}${sysconfdir}/resolv-conf.connman
- fi
-}
-
-# These used to be plugins, but now they are core
-RPROVIDES_${PN} = "\
- connman-plugin-loopback \
- connman-plugin-ethernet \
- ${@bb.utils.contains('PACKAGECONFIG', 'bluetooth','connman-plugin-bluetooth', '', d)} \
- ${@bb.utils.contains('PACKAGECONFIG', 'wifi','connman-plugin-wifi', '', d)} \
- ${@bb.utils.contains('PACKAGECONFIG', '3g','connman-plugin-ofono', '', d)} \
- "
-
-RDEPENDS_${PN} = "\
- dbus \
- "
-
-PACKAGES_DYNAMIC += "^${PN}-plugin-.*"
-
-def add_rdepends(bb, d, file, pkg, depmap, multilib_prefix, add_insane_skip):
- plugintype = pkg.split( '-' )[-1]
- if plugintype in depmap:
- rdepends = map(lambda x: multilib_prefix + x, \
- depmap[plugintype].split())
- d.setVar("RDEPENDS_%s" % pkg, " ".join(rdepends))
- if add_insane_skip:
- d.appendVar("INSANE_SKIP_%s" % pkg, "dev-so")
-
-python populate_packages_prepend() {
- depmap = dict(pppd="ppp")
- multilib_prefix = (d.getVar("MLPREFIX") or "")
-
- hook = lambda file,pkg,x,y,z: \
- add_rdepends(bb, d, file, pkg, depmap, multilib_prefix, False)
- plugin_dir = d.expand('${libdir}/connman/plugins/')
- plugin_name = d.expand('${PN}-plugin-%s')
- do_split_packages(d, plugin_dir, r'^(.*).so$', plugin_name, \
- '${PN} plugin for %s', extra_depends='', hook=hook, prepend=True )
-
- hook = lambda file,pkg,x,y,z: \
- add_rdepends(bb, d, file, pkg, depmap, multilib_prefix, True)
- plugin_dir = d.expand('${libdir}/connman/plugins-vpn/')
- plugin_name = d.expand('${PN}-plugin-vpn-%s')
- do_split_packages(d, plugin_dir, r'^(.*).so$', plugin_name, \
- '${PN} VPN plugin for %s', extra_depends='', hook=hook, prepend=True )
-}
-
-PACKAGES =+ "${PN}-tools ${PN}-tests ${PN}-client"
-
-FILES_${PN}-tools = "${bindir}/wispr"
-RDEPENDS_${PN}-tools ="${PN}"
-
-FILES_${PN}-tests = "${bindir}/*-test"
-
-FILES_${PN}-client = "${bindir}/connmanctl"
-RDEPENDS_${PN}-client ="${PN}"
-
-FILES_${PN} = "${bindir}/* ${sbindir}/* ${libexecdir}/* ${libdir}/lib*.so.* \
- ${libdir}/connman/plugins \
- ${sysconfdir} ${sharedstatedir} ${localstatedir} ${datadir} \
- ${base_bindir}/* ${base_sbindir}/* ${base_libdir}/*.so* ${datadir}/${PN} \
- ${datadir}/dbus-1/system-services/* \
- ${sysconfdir}/tmpfiles.d/connman_resolvconf.conf"
-
-FILES_${PN}-dev += "${libdir}/connman/*/*.la"
-
-PACKAGES =+ "${PN}-vpn ${PN}-wait-online"
-
-SUMMARY_${PN}-vpn = "A daemon for managing VPN connections within embedded devices"
-DESCRIPTION_${PN}-vpn = "The ConnMan VPN provides a daemon for \
-managing VPN connections within embedded devices running the Linux \
-operating system. The connman-vpnd handles all the VPN connections \
-and starts/stops VPN client processes when necessary. The connman-vpnd \
-provides a DBus API for managing VPN connections. All the different \
-VPN technogies are implemented using plug-ins."
-FILES_${PN}-vpn += "${sbindir}/connman-vpnd \
- ${sysconfdir}/dbus-1/system.d/connman-vpn-dbus.conf \
- ${datadir}/dbus-1/system-services/net.connman.vpn.service \
- ${systemd_unitdir}/system/connman-vpn.service"
-
-SUMMARY_${PN}-wait-online = "A program that will return once ConnMan has connected to a network"
-DESCRIPTION_${PN}-wait-online = "A service that can be enabled so that \
-the system waits until a network connection is established."
-FILES_${PN}-wait-online += "${sbindir}/connmand-wait-online \
- ${systemd_unitdir}/system/connman-wait-online.service"
-
-SUMMARY_${PN}-plugin-vpn-openvpn = "An OpenVPN plugin for ConnMan VPN"
-DESCRIPTION_${PN}-plugin-vpn-openvpn = "The ConnMan OpenVPN plugin uses openvpn client \
-to create a VPN connection to OpenVPN server."
-FILES_${PN}-plugin-vpn-openvpn += "${libdir}/connman/scripts/openvpn-script \
- ${libdir}/connman/plugins-vpn/openvpn.so"
-RDEPENDS_${PN}-plugin-vpn-openvpn += "${PN}-vpn"
-RRECOMMENDS_${PN} += "${@bb.utils.contains('PACKAGECONFIG','openvpn','${PN}-plugin-vpn-openvpn', '', d)}"
-
-SUMMARY_${PN}-plugin-vpn-vpnc = "A vpnc plugin for ConnMan VPN"
-DESCRIPTION_${PN}-plugin-vpn-vpnc = "The ConnMan vpnc plugin uses vpnc client \
-to create a VPN connection to Cisco3000 VPN Concentrator."
-FILES_${PN}-plugin-vpn-vpnc += "${libdir}/connman/scripts/openconnect-script \
- ${libdir}/connman/plugins-vpn/vpnc.so"
-RDEPENDS_${PN}-plugin-vpn-vpnc += "${PN}-vpn"
-RRECOMMENDS_${PN} += "${@bb.utils.contains('PACKAGECONFIG','vpnc','${PN}-plugin-vpn-vpnc', '', d)}"
-
-SUMMARY_${PN}-plugin-vpn-l2tp = "A L2TP plugin for ConnMan VPN"
-DESCRIPTION_${PN}-plugin-vpn-l2tp = "The ConnMan L2TP plugin uses xl2tpd daemon \
-to create a VPN connection to L2TP server."
-FILES_${PN}-plugin-vpn-l2tp += "${libdir}/connman/scripts/libppp-plugin.so* \
- ${libdir}/connman/plugins-vpn/l2tp.so"
-RDEPENDS_${PN}-plugin-vpn-l2tp += "${PN}-vpn"
-RRECOMMENDS_${PN} += "${@bb.utils.contains('PACKAGECONFIG','l2tp','${PN}-plugin-vpn-l2tp', '', d)}"
-
-SUMMARY_${PN}-plugin-vpn-pptp = "A PPTP plugin for ConnMan VPN"
-DESCRIPTION_${PN}-plugin-vpn-pptp = "The ConnMan PPTP plugin uses pptp-linux client \
-to create a VPN connection to PPTP server."
-FILES_${PN}-plugin-vpn-pptp += "${libdir}/connman/scripts/libppp-plugin.so* \
- ${libdir}/connman/plugins-vpn/pptp.so"
-RDEPENDS_${PN}-plugin-vpn-pptp += "${PN}-vpn"
-RRECOMMENDS_${PN} += "${@bb.utils.contains('PACKAGECONFIG','pptp','${PN}-plugin-vpn-pptp', '', d)}"
diff --git a/meta-agl/meta-agl-profile-core/recipes-connectivity/connman/connman/0001-Fix-various-issues-which-cause-problems-under-musl.patch b/meta-agl/meta-agl-profile-core/recipes-connectivity/connman/connman/0001-Fix-various-issues-which-cause-problems-under-musl.patch
deleted file mode 100644
index f344fea1..00000000
--- a/meta-agl/meta-agl-profile-core/recipes-connectivity/connman/connman/0001-Fix-various-issues-which-cause-problems-under-musl.patch
+++ /dev/null
@@ -1,362 +0,0 @@
-From 181ff3439783c6920f5211730672685a210c318f Mon Sep 17 00:00:00 2001
-From: Ross Burton <ross.burton@intel.com>
-Date: Mon, 8 Oct 2018 22:12:56 +0200
-Subject: [PATCH] Fix various issues which cause problems under musl
-
-Instead of using #define _GNU_SOURCE in some source files which causes
-problems when building with musl as more files need the define, simply
-use AC_USE_SYSTEM_EXTENSIONS in configure.ac to get it defined globally.
-
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-Upstream-Status: Backport [bd1326ba7d68df38c5ccaafd2403a5fb30bd452b]
----
- configure.ac | 3 +++
- gdhcp/client.c | 1 -
- gdhcp/common.h | 5 +++--
- gweb/gresolv.c | 1 +
- plugins/tist.c | 1 -
- plugins/wifi.c | 3 +--
- src/backtrace.c | 1 -
- src/inet.c | 1 -
- src/ippool.c | 1 -
- src/iptables.c | 2 +-
- src/log.c | 1 -
- src/ntp.c | 1 -
- src/resolver.c | 1 -
- src/rfkill.c | 1 -
- src/stats.c | 1 -
- src/tethering.c | 2 --
- src/timezone.c | 1 -
- tools/dhcp-test.c | 1 -
- tools/dnsproxy-test.c | 1 +
- tools/private-network-test.c | 2 +-
- tools/stats-tool.c | 1 -
- tools/tap-test.c | 3 +--
- tools/wispr.c | 1 -
- vpn/plugins/vpn.c | 1 -
- 24 files changed, 12 insertions(+), 25 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 39745f76..984126c2 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -20,6 +20,7 @@ AC_SUBST(abs_top_srcdir)
- AC_SUBST(abs_top_builddir)
-
- AC_LANG_C
-+AC_USE_SYSTEM_EXTENSIONS
-
- AC_PROG_CC
- AM_PROG_CC_C_O
-@@ -185,6 +186,8 @@ AC_CHECK_LIB(resolv, ns_initparse, dummy=yes, [
- AC_CHECK_HEADERS([execinfo.h])
- AM_CONDITIONAL([BACKTRACE], [test "${ac_cv_header_execinfo_h}" = "yes"])
-
-+AC_CHECK_MEMBERS([struct in6_pktinfo.ipi6_addr], [], [], [[#include <netinet/in.h>]])
-+
- AC_CHECK_FUNC(signalfd, dummy=yes,
- AC_MSG_ERROR(signalfd support is required))
-
-diff --git a/gdhcp/client.c b/gdhcp/client.c
-index 67357782..c7db76f0 100644
---- a/gdhcp/client.c
-+++ b/gdhcp/client.c
-@@ -23,7 +23,6 @@
- #include <config.h>
- #endif
-
--#define _GNU_SOURCE
- #include <stdio.h>
- #include <errno.h>
- #include <unistd.h>
-diff --git a/gdhcp/common.h b/gdhcp/common.h
-index 75abc183..6899499e 100644
---- a/gdhcp/common.h
-+++ b/gdhcp/common.h
-@@ -19,6 +19,7 @@
- *
- */
-
-+#include <config.h>
- #include <netinet/udp.h>
- #include <netinet/ip.h>
-
-@@ -170,8 +171,8 @@ static const uint8_t dhcp_option_lengths[] = {
- [OPTION_U32] = 4,
- };
-
--/* already defined within netinet/in.h if using GNU compiler */
--#ifndef __USE_GNU
-+/* already defined within netinet/in.h if using glibc or musl */
-+#ifndef HAVE_STRUCT_IN6_PKTINFO_IPI6_ADDR
- struct in6_pktinfo {
- struct in6_addr ipi6_addr; /* src/dst IPv6 address */
- unsigned int ipi6_ifindex; /* send/recv interface index */
-diff --git a/gweb/gresolv.c b/gweb/gresolv.c
-index 81c79b6c..b06f8932 100644
---- a/gweb/gresolv.c
-+++ b/gweb/gresolv.c
-@@ -29,6 +29,7 @@
- #include <string.h>
- #include <stdlib.h>
- #include <resolv.h>
-+#include <stdio.h>
- #include <sys/types.h>
- #include <sys/socket.h>
- #include <netdb.h>
-diff --git a/plugins/tist.c b/plugins/tist.c
-index ad5ef79e..cc2800a1 100644
---- a/plugins/tist.c
-+++ b/plugins/tist.c
-@@ -23,7 +23,6 @@
- #include <config.h>
- #endif
-
--#define _GNU_SOURCE
- #include <stdio.h>
- #include <stdbool.h>
- #include <stdlib.h>
-diff --git a/plugins/wifi.c b/plugins/wifi.c
-index dc08c6af..46e4cca4 100644
---- a/plugins/wifi.c
-+++ b/plugins/wifi.c
-@@ -30,9 +30,8 @@
- #include <string.h>
- #include <sys/ioctl.h>
- #include <sys/socket.h>
--#include <linux/if_arp.h>
--#include <linux/wireless.h>
- #include <net/ethernet.h>
-+#include <linux/wireless.h>
-
- #ifndef IFF_LOWER_UP
- #define IFF_LOWER_UP 0x10000
-diff --git a/src/backtrace.c b/src/backtrace.c
-index e8d7f432..bede6698 100644
---- a/src/backtrace.c
-+++ b/src/backtrace.c
-@@ -24,7 +24,6 @@
- #include <config.h>
- #endif
-
--#define _GNU_SOURCE
- #include <stdio.h>
- #include <unistd.h>
- #include <stdlib.h>
-diff --git a/src/inet.c b/src/inet.c
-index a31372b5..a58ce7c1 100644
---- a/src/inet.c
-+++ b/src/inet.c
-@@ -25,7 +25,6 @@
- #include <config.h>
- #endif
-
--#define _GNU_SOURCE
- #include <stdio.h>
- #include <errno.h>
- #include <unistd.h>
-diff --git a/src/ippool.c b/src/ippool.c
-index cea1dccd..8a645da2 100644
---- a/src/ippool.c
-+++ b/src/ippool.c
-@@ -28,7 +28,6 @@
- #include <stdio.h>
- #include <string.h>
- #include <unistd.h>
--#include <sys/errno.h>
- #include <sys/socket.h>
-
- #include "connman.h"
-diff --git a/src/iptables.c b/src/iptables.c
-index f3670e77..469effed 100644
---- a/src/iptables.c
-+++ b/src/iptables.c
-@@ -28,7 +28,7 @@
- #include <stdio.h>
- #include <string.h>
- #include <unistd.h>
--#include <sys/errno.h>
-+#include <errno.h>
- #include <sys/socket.h>
- #include <xtables.h>
- #include <inttypes.h>
-diff --git a/src/log.c b/src/log.c
-index 9bae4a3d..f7e82e5d 100644
---- a/src/log.c
-+++ b/src/log.c
-@@ -23,7 +23,6 @@
- #include <config.h>
- #endif
-
--#define _GNU_SOURCE
- #include <stdio.h>
- #include <unistd.h>
- #include <stdarg.h>
-diff --git a/src/ntp.c b/src/ntp.c
-index 51ba9aac..724ca188 100644
---- a/src/ntp.c
-+++ b/src/ntp.c
-@@ -23,7 +23,6 @@
- #include <config.h>
- #endif
-
--#define _GNU_SOURCE
- #include <errno.h>
- #include <fcntl.h>
- #include <unistd.h>
-diff --git a/src/resolver.c b/src/resolver.c
-index 76f0a8e1..10121aa5 100644
---- a/src/resolver.c
-+++ b/src/resolver.c
-@@ -23,7 +23,6 @@
- #include <config.h>
- #endif
-
--#define _GNU_SOURCE
- #include <stdio.h>
- #include <errno.h>
- #include <fcntl.h>
-diff --git a/src/rfkill.c b/src/rfkill.c
-index d9bed4d2..b2514c41 100644
---- a/src/rfkill.c
-+++ b/src/rfkill.c
-@@ -23,7 +23,6 @@
- #include <config.h>
- #endif
-
--#define _GNU_SOURCE
- #include <stdio.h>
- #include <errno.h>
- #include <fcntl.h>
-diff --git a/src/stats.c b/src/stats.c
-index 663bc382..c9ddc2e8 100644
---- a/src/stats.c
-+++ b/src/stats.c
-@@ -23,7 +23,6 @@
- #include <config.h>
- #endif
-
--#define _GNU_SOURCE
- #include <errno.h>
- #include <sys/mman.h>
- #include <sys/types.h>
-diff --git a/src/tethering.c b/src/tethering.c
-index 4b202369..f3cb36f4 100644
---- a/src/tethering.c
-+++ b/src/tethering.c
-@@ -34,8 +34,6 @@
- #include <string.h>
- #include <fcntl.h>
- #include <netinet/in.h>
--#include <linux/sockios.h>
--#include <linux/if_tun.h>
- #include <linux/if_bridge.h>
-
- #include "connman.h"
-diff --git a/src/timezone.c b/src/timezone.c
-index e346b11a..8e912670 100644
---- a/src/timezone.c
-+++ b/src/timezone.c
-@@ -23,7 +23,6 @@
- #include <config.h>
- #endif
-
--#define _GNU_SOURCE
- #include <errno.h>
- #include <stdio.h>
- #include <fcntl.h>
-diff --git a/tools/dhcp-test.c b/tools/dhcp-test.c
-index c34e10a8..eae66fc2 100644
---- a/tools/dhcp-test.c
-+++ b/tools/dhcp-test.c
-@@ -33,7 +33,6 @@
- #include <arpa/inet.h>
- #include <net/route.h>
- #include <net/ethernet.h>
--#include <linux/if_arp.h>
-
- #include <gdhcp/gdhcp.h>
-
-diff --git a/tools/dnsproxy-test.c b/tools/dnsproxy-test.c
-index 551cae91..371e2e23 100644
---- a/tools/dnsproxy-test.c
-+++ b/tools/dnsproxy-test.c
-@@ -24,6 +24,7 @@
- #endif
-
- #include <errno.h>
-+#include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #include <unistd.h>
-diff --git a/tools/private-network-test.c b/tools/private-network-test.c
-index 3dd115ba..2828bb30 100644
---- a/tools/private-network-test.c
-+++ b/tools/private-network-test.c
-@@ -32,7 +32,7 @@
- #include <stdlib.h>
- #include <string.h>
- #include <signal.h>
--#include <sys/poll.h>
-+#include <poll.h>
- #include <sys/signalfd.h>
- #include <unistd.h>
-
-diff --git a/tools/stats-tool.c b/tools/stats-tool.c
-index efa39de2..5695048f 100644
---- a/tools/stats-tool.c
-+++ b/tools/stats-tool.c
-@@ -22,7 +22,6 @@
- #include <config.h>
- #endif
-
--#define _GNU_SOURCE
- #include <sys/mman.h>
- #include <sys/types.h>
- #include <sys/stat.h>
-diff --git a/tools/tap-test.c b/tools/tap-test.c
-index fdc098aa..cb3ee622 100644
---- a/tools/tap-test.c
-+++ b/tools/tap-test.c
-@@ -23,13 +23,12 @@
- #include <config.h>
- #endif
-
--#define _GNU_SOURCE
- #include <stdio.h>
- #include <errno.h>
- #include <fcntl.h>
- #include <unistd.h>
- #include <string.h>
--#include <sys/poll.h>
-+#include <poll.h>
- #include <sys/ioctl.h>
-
- #include <netinet/in.h>
-diff --git a/tools/wispr.c b/tools/wispr.c
-index d5f9341f..e56dfc16 100644
---- a/tools/wispr.c
-+++ b/tools/wispr.c
-@@ -23,7 +23,6 @@
- #include <config.h>
- #endif
-
--#define _GNU_SOURCE
- #include <stdio.h>
- #include <fcntl.h>
- #include <unistd.h>
-diff --git a/vpn/plugins/vpn.c b/vpn/plugins/vpn.c
-index 10548aaf..6e3f640c 100644
---- a/vpn/plugins/vpn.c
-+++ b/vpn/plugins/vpn.c
-@@ -23,7 +23,6 @@
- #include <config.h>
- #endif
-
--#define _GNU_SOURCE
- #include <string.h>
- #include <fcntl.h>
- #include <unistd.h>
---
-2.17.1
-
diff --git a/meta-agl/meta-agl-profile-core/recipes-connectivity/connman/connman/0001-connman.service-stop-systemd-resolved-when-we-use-co.patch b/meta-agl/meta-agl-profile-core/recipes-connectivity/connman/connman/0001-connman.service-stop-systemd-resolved-when-we-use-co.patch
deleted file mode 100644
index 8e2e0bd0..00000000
--- a/meta-agl/meta-agl-profile-core/recipes-connectivity/connman/connman/0001-connman.service-stop-systemd-resolved-when-we-use-co.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 9f70b94ebf18f52c115634642652830fa77f27a1 Mon Sep 17 00:00:00 2001
-From: "Maxin B. John" <maxin.john@intel.com>
-Date: Mon, 12 Jun 2017 16:52:39 +0300
-Subject: [PATCH] connman.service: stop systemd-resolved when we use connman
-
-Stop systemd-resolved service when we use connman as network manager.
-
-Upstream-Status: Inappropriate [configuration]
-
-Signed-off-by: Maxin B. John <maxin.john@intel.com>
----
- src/connman.service.in | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/connman.service.in b/src/connman.service.in
-index 9f5c10f..dab48bc 100644
---- a/src/connman.service.in
-+++ b/src/connman.service.in
-@@ -6,6 +6,7 @@ RequiresMountsFor=@localstatedir@/lib/connman
- After=dbus.service network-pre.target systemd-sysusers.service
- Before=network.target multi-user.target shutdown.target
- Wants=network.target
-+Conflicts=systemd-resolved.service
-
- [Service]
- Type=dbus
---
-2.4.0
-
diff --git a/meta-agl/meta-agl-profile-core/recipes-connectivity/connman/connman/0001-plugin.h-Change-visibility-to-default-for-debug-symb.patch b/meta-agl/meta-agl-profile-core/recipes-connectivity/connman/connman/0001-plugin.h-Change-visibility-to-default-for-debug-symb.patch
deleted file mode 100644
index e6f03e63..00000000
--- a/meta-agl/meta-agl-profile-core/recipes-connectivity/connman/connman/0001-plugin.h-Change-visibility-to-default-for-debug-symb.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 4ddaf78dad5a9ee4a0658235f71b75132192123e Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 7 Apr 2012 18:52:12 -0700
-Subject: [PATCH] plugin.h: Change visibility to default for debug symbols
-
-gold refuses to link in undefined weak symbols which
-have hidden visibility
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-
-Upstream-Status: Pending
----
- include/plugin.h | 4 ++--
- 1 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/include/plugin.h b/include/plugin.h
-index 692a4e5..a9361c3 100644
---- a/include/plugin.h
-+++ b/include/plugin.h
-@@ -89,9 +89,9 @@ struct connman_plugin_desc {
- #else
- #define CONNMAN_PLUGIN_DEFINE(name, description, version, priority, init, exit) \
- extern struct connman_debug_desc __start___debug[] \
-- __attribute__ ((weak, visibility("hidden"))); \
-+ __attribute__ ((weak, visibility("default"))); \
- extern struct connman_debug_desc __stop___debug[] \
-- __attribute__ ((weak, visibility("hidden"))); \
-+ __attribute__ ((weak, visibility("default"))); \
- extern struct connman_plugin_desc connman_plugin_desc \
- __attribute__ ((visibility("default"))); \
- struct connman_plugin_desc connman_plugin_desc = { \
---
-1.7.5.4
-
diff --git a/meta-agl/meta-agl-profile-core/recipes-connectivity/connman/connman/0002-resolve-musl-does-not-implement-res_ninit.patch b/meta-agl/meta-agl-profile-core/recipes-connectivity/connman/connman/0002-resolve-musl-does-not-implement-res_ninit.patch
deleted file mode 100644
index 639ccfa2..00000000
--- a/meta-agl/meta-agl-profile-core/recipes-connectivity/connman/connman/0002-resolve-musl-does-not-implement-res_ninit.patch
+++ /dev/null
@@ -1,85 +0,0 @@
-From 10b0d16d04b811b1ccd1f9b0cfe757bce8d876a1 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 6 Apr 2015 23:02:21 -0700
-Subject: [PATCH 2/3] resolve: musl does not implement res_ninit
-
-ported from
-http://git.alpinelinux.org/cgit/aports/plain/testing/connman/libresolv.patch
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- gweb/gresolv.c | 33 ++++++++++++---------------------
- 1 file changed, 12 insertions(+), 21 deletions(-)
-
-diff --git a/gweb/gresolv.c b/gweb/gresolv.c
-index 5cf7a9a..3ad8e70 100644
---- a/gweb/gresolv.c
-+++ b/gweb/gresolv.c
-@@ -36,6 +36,7 @@
- #include <arpa/inet.h>
- #include <arpa/nameser.h>
- #include <net/if.h>
-+#include <ctype.h>
-
- #include "gresolv.h"
-
-@@ -875,8 +875,6 @@ GResolv *g_resolv_new(int index)
- resolv->index = index;
- resolv->nameserver_list = NULL;
-
-- res_ninit(&resolv->res);
--
- return resolv;
- }
-
-@@ -916,8 +914,6 @@ void g_resolv_unref(GResolv *resolv)
-
- flush_nameservers(resolv);
-
-- res_nclose(&resolv->res);
--
- g_free(resolv);
- }
-
-@@ -1020,24 +1016,19 @@ guint g_resolv_lookup_hostname(GResolv *resolv, const char *hostname,
- debug(resolv, "hostname %s", hostname);
-
- if (!resolv->nameserver_list) {
-- int i;
--
-- for (i = 0; i < resolv->res.nscount; i++) {
-- char buf[100];
-- int family = resolv->res.nsaddr_list[i].sin_family;
-- void *sa_addr = &resolv->res.nsaddr_list[i].sin_addr;
--
-- if (family != AF_INET &&
-- resolv->res._u._ext.nsaddrs[i]) {
-- family = AF_INET6;
-- sa_addr = &resolv->res._u._ext.nsaddrs[i]->sin6_addr;
-+ FILE *f = fopen("/etc/resolv.conf", "r");
-+ if (f) {
-+ char line[256], *s;
-+ int i;
-+ while (fgets(line, sizeof(line), f)) {
-+ if (strncmp(line, "nameserver", 10) || !isspace(line[10]))
-+ continue;
-+ for (s = &line[11]; isspace(s[0]); s++);
-+ for (i = 0; s[i] && !isspace(s[i]); i++);
-+ s[i] = 0;
-+ g_resolv_add_nameserver(resolv, s, 53, 0);
- }
--
-- if (family != AF_INET && family != AF_INET6)
-- continue;
--
-- if (inet_ntop(family, sa_addr, buf, sizeof(buf)))
-- g_resolv_add_nameserver(resolv, buf, 53, 0);
-+ fclose(f);
- }
-
- if (!resolv->nameserver_list)
---
-2.5.1
-
diff --git a/meta-agl/meta-agl-profile-core/recipes-connectivity/connman/connman/connman b/meta-agl/meta-agl-profile-core/recipes-connectivity/connman/connman/connman
deleted file mode 100644
index c64fa0d7..00000000
--- a/meta-agl/meta-agl-profile-core/recipes-connectivity/connman/connman/connman
+++ /dev/null
@@ -1,83 +0,0 @@
-#!/bin/sh
-
-DAEMON=/usr/sbin/connmand
-PIDFILE=/var/run/connmand.pid
-DESC="Connection Manager"
-
-if [ -f /etc/default/connman ] ; then
- . /etc/default/connman
-fi
-
-set -e
-
-nfsroot=0
-
-exec 9<&0 < /proc/mounts
-while read dev mtpt fstype rest; do
- if test $mtpt = "/" ; then
- case $fstype in
- nfs | nfs4)
- nfsroot=1
- break
- ;;
- *)
- ;;
- esac
- fi
-done
-
-do_start() {
- EXTRA_PARAM=""
- if test $nfsroot -eq 1 ; then
- NET_DEVS=`cat /proc/net/dev | sed -ne 's/^\([a-zA-Z0-9 ]*\):.*$/\1/p'`
- NET_ADDR=`cat /proc/cmdline | sed -ne 's/^.*ip=\([^ :]*\).*$/\1/p'`
-
- if [ ! -z "$NET_ADDR" ]; then
- if [ "$NET_ADDR" = dhcp ]; then
- ethn=`ifconfig | grep "^eth" | sed -e "s/\(eth[0-9]\)\(.*\)/\1/"`
- if [ ! -z "$ethn" ]; then
- EXTRA_PARAM="-I $ethn"
- fi
- else
- for i in $NET_DEVS; do
- ADDR=`ifconfig $i | sed 's/addr://g' | sed -ne 's/^.*inet \([0-9.]*\) .*$/\1/p'`
- if [ "$NET_ADDR" = "$ADDR" ]; then
- EXTRA_PARAM="-I $i"
- break
- fi
- done
- fi
- fi
- fi
- if [ -f @DATADIR@/connman/wired-setup ] ; then
- . @DATADIR@/connman/wired-setup
- fi
- $DAEMON $EXTRA_PARAM
-}
-
-do_stop() {
- start-stop-daemon --stop --name connmand --quiet
-}
-
-case "$1" in
- start)
- echo "Starting $DESC"
- do_start
- ;;
- stop)
- echo "Stopping $DESC"
- do_stop
- ;;
- restart|force-reload)
- echo "Restarting $DESC"
- do_stop
- sleep 1
- do_start
- ;;
- *)
- echo "Usage: $0 {start|stop|restart|force-reload}" >&2
- exit 1
- ;;
-esac
-
-exit 0
diff --git a/meta-agl/meta-agl-profile-core/recipes-connectivity/connman/connman/no-version-scripts.patch b/meta-agl/meta-agl-profile-core/recipes-connectivity/connman/connman/no-version-scripts.patch
deleted file mode 100644
index e96e38bc..00000000
--- a/meta-agl/meta-agl-profile-core/recipes-connectivity/connman/connman/no-version-scripts.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-With binutils 2.27 on at least MIPS, connmand will crash on startup. This
-appears to be due to the symbol visibilty scripts hiding symbols that stdio
-looks up at runtime, resulting in it segfaulting.
-
-This certainly appears to be a bug in binutils 2.27 although the problem has
-been known about for some time:
-
-https://sourceware.org/bugzilla/show_bug.cgi?id=17908
-
-As the version scripts are only used to hide symbols from plugins we can safely
-remove the scripts to work around the problem until binutils is fixed.
-
-Upstream-Status: Inappropriate
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
-diff --git a/Makefile.am b/Makefile.am
-index d70725c..76ae432 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -132,2 +132 @@ src_connmand_LDADD = gdbus/libgdbus-internal.la $(builtin_libadd) \
--src_connmand_LDFLAGS = -Wl,--export-dynamic \
-- -Wl,--version-script=$(srcdir)/src/connman.ver
-+src_connmand_LDFLAGS = -Wl,--export-dynamic
-@@ -166,2 +165 @@ vpn_connman_vpnd_LDADD = gdbus/libgdbus-internal.la $(builtin_vpn_libadd) \
--vpn_connman_vpnd_LDFLAGS = -Wl,--export-dynamic \
-- -Wl,--version-script=$(srcdir)/vpn/vpn.ver
-+vpn_connman_vpnd_LDFLAGS = -Wl,--export-dynamic
diff --git a/meta-agl/meta-agl-profile-core/recipes-connectivity/connman/connman_1.36.bb b/meta-agl/meta-agl-profile-core/recipes-connectivity/connman/connman_1.36.bb
deleted file mode 100644
index 6e4dbdfd..00000000
--- a/meta-agl/meta-agl-profile-core/recipes-connectivity/connman/connman_1.36.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-require connman.inc
-
-SRC_URI = "${KERNELORG_MIRROR}/linux/network/${BPN}/${BP}.tar.xz \
- file://0001-plugin.h-Change-visibility-to-default-for-debug-symb.patch \
- file://0001-connman.service-stop-systemd-resolved-when-we-use-co.patch \
- file://connman \
- file://no-version-scripts.patch \
- file://0001-Fix-various-issues-which-cause-problems-under-musl.patch \
-"
-
-SRC_URI_append_libc-musl = " file://0002-resolve-musl-does-not-implement-res_ninit.patch"
-
-SRC_URI[md5sum] = "dae77d9c904d2c223ae849e32079d57e"
-SRC_URI[sha256sum] = "c789db41cc443fa41e661217ea321492ad59a004bebcd1aa013f3bc10a6e0074"
-
-RRECOMMENDS_${PN} = "connman-conf"
diff --git a/meta-agl/meta-agl-profile-core/recipes-connectivity/libnfc/libnfc_git.bb b/meta-agl/meta-agl-profile-core/recipes-connectivity/libnfc/libnfc_git.bb
deleted file mode 100644
index bd216f81..00000000
--- a/meta-agl/meta-agl-profile-core/recipes-connectivity/libnfc/libnfc_git.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY = "libnfc"
-DESCRIPTION = "Platform independent Near Field Communication (NFC) library"
-HOMEPAGE = "https://github.com/nfc-tools/libnfc"
-SECTION = "apps"
-
-DEPENDS = "libusb"
-
-LICENSE = "LGPLv3"
-LIC_FILES_CHKSUM = "file://${S}/COPYING;md5=b52f2d57d10c4f7ee67a7eb9615d5d24"
-
-inherit cmake pkgconfig
-
-SRC_URI = "git://github.com/nfc-tools/libnfc;protocol=https;branch=master"
-SRCREV = "2d4543673e9b76c02679ca8b89259659f1afd932"
-
-PV = "1.7.1+git${SRCPV}"
-S = "${WORKDIR}/git"
-
diff --git a/meta-agl/meta-agl-profile-core/recipes-connectivity/neardal/neardal_0.14.bb b/meta-agl/meta-agl-profile-core/recipes-connectivity/neardal/neardal_0.14.bb
index 8bec79e6..f8634c46 100644
--- a/meta-agl/meta-agl-profile-core/recipes-connectivity/neardal/neardal_0.14.bb
+++ b/meta-agl/meta-agl-profile-core/recipes-connectivity/neardal/neardal_0.14.bb
@@ -1,9 +1,10 @@
require neardal.inc
-SRC_URI = "https://github.com/connectivity/neardal/archive/${PV}.tar.gz \
+SRC_URI = "git://github.com/connectivity/neardal.git;protocol=https \
file://ncl.patch \
file://0001-neardal-ncl-fix-segfault-on-help-page-being-displaye.patch \
file://0002-neardal-lib-fix-memory-corruption.patch \
"
-SRC_URI[md5sum] = "3dbda58253ca30ee6a7a7573eaa68f40"
-SRC_URI[sha256sum] = "157d320bd831d91a82203d9697d2d2a2cebdb515d6e1c4ce04fe8ef27d1da615"
+SRCREV = "fe0fa79c94e9a0f1c2cfa1f58b3acc9bdc7d5e13"
+
+S = "${WORKDIR}/git"
diff --git a/meta-agl/meta-agl-profile-core/recipes-connectivity/rtl-sdr/rtl-sdr_0.5.3.bb b/meta-agl/meta-agl-profile-core/recipes-connectivity/rtl-sdr/rtl-sdr_0.5.3.bb
index de6da5e8..b442d9f4 100644
--- a/meta-agl/meta-agl-profile-core/recipes-connectivity/rtl-sdr/rtl-sdr_0.5.3.bb
+++ b/meta-agl/meta-agl-profile-core/recipes-connectivity/rtl-sdr/rtl-sdr_0.5.3.bb
@@ -22,7 +22,7 @@ do_configure_append() {
# remove included temporary path from pc file due to pass-through of OE CFLAGS
# debug-prefix-map
# See: http://lists.openembedded.org/pipermail/openembedded-devel/2016-May/107456.html
- sed -i -e "s# -fdebug-prefix-map=.*##g" librtlsdr.pc
+ sed -i -e "s# -fdebug-prefix-map=.*##g;s# -fmacro-prefix-map=.*##g" librtlsdr.pc
}
do_install_append() {
diff --git a/meta-agl/meta-agl-profile-core/recipes-core/glibc/.appends.core b/meta-agl/meta-agl-profile-core/recipes-core/glibc/.appends.core
deleted file mode 100644
index e69de29b..00000000
--- a/meta-agl/meta-agl-profile-core/recipes-core/glibc/.appends.core
+++ /dev/null
diff --git a/meta-agl/meta-agl-profile-core/recipes-core/glibc/glibc/arm/local-arm-futex.diff b/meta-agl/meta-agl-profile-core/recipes-core/glibc/glibc/arm/local-arm-futex.diff
deleted file mode 100644
index 27d1144d..00000000
--- a/meta-agl/meta-agl-profile-core/recipes-core/glibc/glibc/arm/local-arm-futex.diff
+++ /dev/null
@@ -1,22 +0,0 @@
-Description: Lie about futex_atomic_cmpxchg_inatomic kernel support.
- In past versions of glibc, we incorrectly assumed all ARM kernels
- in all configurations supported futex_atomic_cmpxchg_inatomic. This
- was clearly a lie, however it was a lie that we relied on, because
- the fallback implementation appears to not play nicely with certain
- applications like pulseaudio. Restore the lie for kernels > 2.6.32
- and plug our ears and scream "LA LA LA" about how wrong this is.
-Author: Adam Conrad <adconrad@ubuntu.com>
-Bug-Ubuntu: https://launchpad.net/bugs/1436162
-Bug-Debian: https://bugs.debian.org/788799
-Last-Update: 2015-03-25
-
---- a/sysdeps/unix/sysv/linux/arm/kernel-features.h
-+++ b/sysdeps/unix/sysv/linux/arm/kernel-features.h
-@@ -22,7 +22,7 @@
- /* The ARM kernel before 3.14.3 may or may not support
- futex_atomic_cmpxchg_inatomic, depending on kernel
- configuration. */
--#if __LINUX_KERNEL_VERSION < 0x030E03
-+#if __LINUX_KERNEL_VERSION < 0x020620
- # undef __ASSUME_SET_ROBUST_LIST
- #endif
diff --git a/meta-agl/meta-agl-profile-core/recipes-core/glibc/glibc_2.2%.bbappend b/meta-agl/meta-agl-profile-core/recipes-core/glibc/glibc_2.2%.bbappend
deleted file mode 100644
index 0868a2c7..00000000
--- a/meta-agl/meta-agl-profile-core/recipes-core/glibc/glibc_2.2%.bbappend
+++ /dev/null
@@ -1,3 +0,0 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
-
-SRC_URI_append_arm = " file://arm/local-arm-futex.diff "
diff --git a/meta-agl/meta-agl-profile-core/recipes-core/psplash/files/psplash-anim b/meta-agl/meta-agl-profile-core/recipes-core/psplash/files/psplash-anim
deleted file mode 100755
index ac9bf674..00000000
--- a/meta-agl/meta-agl-profile-core/recipes-core/psplash/files/psplash-anim
+++ /dev/null
@@ -1,11 +0,0 @@
-#/bin/bash
-
-psplash-default "$@" &
-sleep .2
-while :; do
- for x in 0 1 2 3 4 5 6 7 8 9 10 -9 -8 -7 -6 -5 -4 -3 -2 -1 0 -1 -2 -3 -4 -5 -6 -7 -8 -9 10 9 8 7 6 5 4 3 2 1; do
- psplash-write "PROGRESS ${x}0" || exit 0
- psplash-write "MSG $(journalctl -n1 -ocat)" || exit 0
- sleep .1
- done
-done
diff --git a/meta-agl/meta-agl-profile-core/recipes-core/psplash/files/psplash-quit.service b/meta-agl/meta-agl-profile-core/recipes-core/psplash/files/psplash-quit.service
deleted file mode 100644
index 14bd4994..00000000
--- a/meta-agl/meta-agl-profile-core/recipes-core/psplash/files/psplash-quit.service
+++ /dev/null
@@ -1,11 +0,0 @@
-[Unit]
-Description=Terminate Psplash Boot Screen
-After=psplash-start.service
-
-[Service]
-Type=oneshot
-ExecStart=/usr/bin/psplash-write QUIT
-TimeoutSec=20
-
-[Install]
-WantedBy=multi-user.target
diff --git a/meta-agl/meta-agl-profile-core/recipes-core/psplash/files/psplash-start.service b/meta-agl/meta-agl-profile-core/recipes-core/psplash/files/psplash-start.service
deleted file mode 100644
index d3b6940d..00000000
--- a/meta-agl/meta-agl-profile-core/recipes-core/psplash/files/psplash-start.service
+++ /dev/null
@@ -1,12 +0,0 @@
-[Unit]
-Description=Start Psplash Boot Screen
-Wants=systemd-vconsole-setup.service
-After=systemd-vconsole-setup.service systemd-udev-trigger.service systemd-udevd.service
-DefaultDependencies=no
-
-[Service]
-ExecStartPre=/bin/sh -c "if [ -e /sys/class/graphics/fbcon/cursor_blink ]; then echo 0 > /sys/class/graphics/fbcon/cursor_blink; fi"
-ExecStart=/bin/bash -c "/usr/bin/psplash-anim -n -a 90"
-
-[Install]
-WantedBy=sysinit.target
diff --git a/meta-agl/meta-agl-profile-core/recipes-core/psplash/psplash_git.bbappend b/meta-agl/meta-agl-profile-core/recipes-core/psplash/psplash_git.bbappend
index bdc196b6..5a82fc87 100644
--- a/meta-agl/meta-agl-profile-core/recipes-core/psplash/psplash_git.bbappend
+++ b/meta-agl/meta-agl-profile-core/recipes-core/psplash/psplash_git.bbappend
@@ -1,27 +1,9 @@
FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
-SRC_URI += "file://psplash-colors.h \
- file://psplash-start.service \
- file://psplash-quit.service \
- file://psplash-anim \
- "
+SRC_URI += "file://psplash-colors.h"
SPLASH_IMAGES="file://psplash-poky-img.h;outsuffix=default"
-inherit systemd
-
-SYSTEMD_PACKAGES = "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '${PN}', '', d)}"
-SYSTEMD_SERVICE_${PN} = "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'psplash-start.service psplash-quit.service', '', d)}"
-
do_configure_append () {
- cd ${S}
- cp ../psplash-colors.h ./
-}
-
-do_install_append () {
- if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
- install -d ${D}${systemd_unitdir}/system
- install -m 644 ${WORKDIR}/*.service ${D}/${systemd_unitdir}/system
- fi
- install -m 755 ${WORKDIR}/psplash-anim ${D}/${bindir}
+ cp -f ${WORKDIR}/psplash-colors.h ${S}
}
diff --git a/meta-agl/meta-agl-profile-core/recipes-core/systemd/systemd-conf_%.bbappend b/meta-agl/meta-agl-profile-core/recipes-core/systemd/systemd-conf_%.bbappend
new file mode 100644
index 00000000..6661eab6
--- /dev/null
+++ b/meta-agl/meta-agl-profile-core/recipes-core/systemd/systemd-conf_%.bbappend
@@ -0,0 +1,4 @@
+do_install_append() {
+ # Remove ethernet script deployed by upstream unconditionally (SPEC-3221)
+ rm -rf ${D}${systemd_unitdir}/network/80-wired.network || true
+} \ No newline at end of file
diff --git a/meta-agl/meta-agl-profile-core/recipes-core/systemd/systemd/0001-fix-udevd-seclabel-parsing.patch b/meta-agl/meta-agl-profile-core/recipes-core/systemd/systemd/0001-fix-udevd-seclabel-parsing.patch
new file mode 100644
index 00000000..29165b58
--- /dev/null
+++ b/meta-agl/meta-agl-profile-core/recipes-core/systemd/systemd/0001-fix-udevd-seclabel-parsing.patch
@@ -0,0 +1,34 @@
+Fix udevd SECLABEL token parsing
+
+The udevd rules parsing rewrite in v243 broke SECLABEL parsing,
+with the result being that udevd crashes when it parses a line
+containing a SECLABEL token. Fix the handling of the attribute
+of SECLABEL tokens when parsing, and add a check to prevent
+crashes if the attribute is missing.
+
+Upstream-Status: Pending
+
+Signed-off-by: Scott Murray <scott.murray@konsulko.com>
+
+diff --git a/src/udev/udev-rules.c b/src/udev/udev-rules.c
+index efea16e5c5..3e757ccb06 100644
+--- a/src/udev/udev-rules.c
++++ b/src/udev/udev-rules.c
+@@ -918,7 +918,7 @@ static int parse_token(UdevRules *rules, const char *key, char *attr, UdevRuleOp
+ op = OP_ASSIGN;
+ }
+
+- r = rule_line_add_token(rule_line, TK_A_SECLABEL, op, value, NULL);
++ r = rule_line_add_token(rule_line, TK_A_SECLABEL, op, value, attr);
+ } else if (streq(key, "RUN")) {
+ if (is_match || op == OP_REMOVE)
+ return log_token_invalid_op(rules, key);
+@@ -1927,6 +1927,8 @@ static int udev_rule_apply_token_to_event(
+ _cleanup_free_ char *name = NULL, *label = NULL;
+ char label_str[UTIL_LINE_SIZE] = {};
+
++ if (!token->data)
++ break;
+ name = strdup((const char*) token->data);
+ if (!name)
+ return log_oom();
diff --git a/meta-agl/meta-agl-profile-core/recipes-core/systemd/systemd/0001-network-add-CAN-Termination-tristate-option.patch b/meta-agl/meta-agl-profile-core/recipes-core/systemd/systemd/0001-network-add-CAN-Termination-tristate-option.patch
deleted file mode 100644
index 3bc7a8f2..00000000
--- a/meta-agl/meta-agl-profile-core/recipes-core/systemd/systemd/0001-network-add-CAN-Termination-tristate-option.patch
+++ /dev/null
@@ -1,97 +0,0 @@
-From 2885f0936d3069fba7bb0078897c98f50927875c Mon Sep 17 00:00:00 2001
-From: Matt Ranostay <matt.ranostay@konsulko.com>
-Date: Wed, 19 Feb 2020 12:14:53 -0800
-Subject: [PATCH] network: add CAN Termination tristate option
-
-Upstream-Status: Submitted
-Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
----
- src/libsystemd/sd-netlink/netlink-types.c | 1 +
- src/network/networkd-link.c | 13 +++++++++++++
- src/network/networkd-network-gperf.gperf | 1 +
- src/network/networkd-network.c | 1 +
- src/network/networkd-network.h | 1 +
- 5 files changed, 17 insertions(+)
-
-diff --git a/src/libsystemd/sd-netlink/netlink-types.c b/src/libsystemd/sd-netlink/netlink-types.c
-index c93fe9cb4c..0ce950d5af 100644
---- a/src/libsystemd/sd-netlink/netlink-types.c
-+++ b/src/libsystemd/sd-netlink/netlink-types.c
-@@ -298,6 +298,7 @@ static const NLType rtnl_link_info_data_geneve_types[] = {
- static const NLType rtnl_link_info_data_can_types[] = {
- [IFLA_CAN_BITTIMING] = { .size = sizeof(struct can_bittiming) },
- [IFLA_CAN_RESTART_MS] = { .type = NETLINK_TYPE_U32 },
-+ [IFLA_CAN_TERMINATION] = { .type = NETLINK_TYPE_U16 },
- };
-
- /* these strings must match the .kind entries in the kernel */
-diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c
-index 4afcf843bd..af1c4ef55c 100644
---- a/src/network/networkd-link.c
-+++ b/src/network/networkd-link.c
-@@ -27,6 +27,8 @@
- #include "util.h"
- #include "virt.h"
-
-+#define CAN_TERMINATION_OHM_VALUE 120
-+
- static bool link_dhcp6_enabled(Link *link) {
- assert(link);
-
-@@ -1938,6 +1940,17 @@ static int link_set_can(Link *link) {
- return log_link_error_errno(link, r, "Could not append IFLA_CAN_RESTART_MS attribute: %m");
- }
-
-+ if (link->network->can_termination >= 0) {
-+
-+ log_link_debug(link, "%sabling can-termination", link->network->can_termination ? "En" : "Dis");
-+
-+ r = sd_netlink_message_append_u16(m, IFLA_CAN_TERMINATION,
-+ link->network->can_termination ? CAN_TERMINATION_OHM_VALUE : 0);
-+ if (r < 0)
-+ return log_link_error_errno(link, r, "Could not append IFLA_CAN_TERMINATION attribute: %m");
-+
-+ }
-+
- r = sd_netlink_message_close_container(m);
- if (r < 0)
- return log_link_error_errno(link, r, "Failed to close netlink container: %m");
-diff --git a/src/network/networkd-network-gperf.gperf b/src/network/networkd-network-gperf.gperf
-index 6ad5257f79..2f6b42809f 100644
---- a/src/network/networkd-network-gperf.gperf
-+++ b/src/network/networkd-network-gperf.gperf
-@@ -182,6 +182,7 @@ IPv6Prefix.PreferredLifetimeSec, config_parse_prefix_lifetime,
- CAN.BitRate, config_parse_si_size, 0, offsetof(Network, can_bitrate)
- CAN.SamplePoint, config_parse_permille, 0, offsetof(Network, can_sample_point)
- CAN.RestartSec, config_parse_sec, 0, offsetof(Network, can_restart_us)
-+CAN.Termination, config_parse_tristate, 0, offsetof(Network, can_termination)
- /* backwards compatibility: do not add new entries to this section */
- Network.IPv4LL, config_parse_ipv4ll, 0, offsetof(Network, link_local)
- DHCPv4.UseDNS, config_parse_bool, 0, offsetof(Network, dhcp_use_dns)
-diff --git a/src/network/networkd-network.c b/src/network/networkd-network.c
-index 429aac5e6c..ded66f5f43 100644
---- a/src/network/networkd-network.c
-+++ b/src/network/networkd-network.c
-@@ -248,6 +248,7 @@ static int network_load_one(Manager *manager, const char *filename) {
- network->ipv6_accept_ra_use_dns = true;
- network->ipv6_accept_ra_route_table = RT_TABLE_MAIN;
- network->ipv6_mtu = 0;
-+ network->can_termination = -1;
-
- dropin_dirname = strjoina(network->name, ".network.d");
-
-diff --git a/src/network/networkd-network.h b/src/network/networkd-network.h
-index 2d46d393ac..1178510107 100644
---- a/src/network/networkd-network.h
-+++ b/src/network/networkd-network.h
-@@ -190,6 +190,7 @@ struct Network {
- size_t can_bitrate;
- unsigned can_sample_point;
- usec_t can_restart_us;
-+ int can_termination;
-
- AddressFamilyBoolean ip_forward;
- bool ip_masquerade;
---
-2.25.0
-
diff --git a/meta-agl/meta-agl-profile-core/recipes-core/systemd/systemd/0002-network-add-CAN-Termination-tristate-option.patch b/meta-agl/meta-agl-profile-core/recipes-core/systemd/systemd/0002-network-add-CAN-Termination-tristate-option.patch
new file mode 100644
index 00000000..feaff273
--- /dev/null
+++ b/meta-agl/meta-agl-profile-core/recipes-core/systemd/systemd/0002-network-add-CAN-Termination-tristate-option.patch
@@ -0,0 +1,107 @@
+From 1e6ffb3129340291027d2690631f62eb7d0e0a78 Mon Sep 17 00:00:00 2001
+From: Matt Ranostay <matt.ranostay@konsulko.com>
+Date: Tue, 11 Feb 2020 18:13:45 -0800
+Subject: [PATCH] network: add CAN Termination tristate option
+
+Upstream-Status: Submitted
+Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
+---
+ src/libsystemd/sd-netlink/netlink-types.c | 1 +
+ src/network/networkd-can.c | 13 +++++++++++++
+ src/network/networkd-network-gperf.gperf | 1 +
+ src/network/networkd-network.c | 1 +
+ src/network/networkd-network.h | 1 +
+ test/fuzz/fuzz-network-parser/directives.network | 1 +
+ 6 files changed, 18 insertions(+)
+
+diff --git a/src/libsystemd/sd-netlink/netlink-types.c b/src/libsystemd/sd-netlink/netlink-types.c
+index a55460f034..96e211dcf0 100644
+--- a/src/libsystemd/sd-netlink/netlink-types.c
++++ b/src/libsystemd/sd-netlink/netlink-types.c
+@@ -316,6 +316,7 @@ static const NLType rtnl_link_info_data_can_types[] = {
+ [IFLA_CAN_BITTIMING] = { .size = sizeof(struct can_bittiming) },
+ [IFLA_CAN_RESTART_MS] = { .type = NETLINK_TYPE_U32 },
+ [IFLA_CAN_CTRLMODE] = { .size = sizeof(struct can_ctrlmode) },
++ [IFLA_CAN_TERMINATION] = { .type = NETLINK_TYPE_U16 },
+ };
+
+ static const NLType rtnl_link_info_data_macsec_types[] = {
+diff --git a/src/network/networkd-can.c b/src/network/networkd-can.c
+index 5755df57bd..3abe8ae2ed 100644
+--- a/src/network/networkd-can.c
++++ b/src/network/networkd-can.c
+@@ -9,6 +9,8 @@
+ #include "networkd-manager.h"
+ #include "string-util.h"
+
++#define CAN_TERMINATION_OHM_VALUE 120
++
+ static int link_up_handler(sd_netlink *rtnl, sd_netlink_message *m, Link *link) {
+ int r;
+
+@@ -152,6 +154,17 @@ static int link_set_can(Link *link) {
+ return log_link_error_errno(link, r, "Could not append IFLA_CAN_CTRLMODE attribute: %m");
+ }
+
++ if (link->network->can_termination >= 0) {
++
++ log_link_debug(link, "%sabling can-termination", link->network->can_termination ? "En" : "Dis");
++
++ r = sd_netlink_message_append_u16(m, IFLA_CAN_TERMINATION,
++ link->network->can_termination ? CAN_TERMINATION_OHM_VALUE : 0);
++ if (r < 0)
++ return log_link_error_errno(link, r, "Could not append IFLA_CAN_TERMINATION attribute: %m");
++
++ }
++
+ r = sd_netlink_message_close_container(m);
+ if (r < 0)
+ return log_link_error_errno(link, r, "Failed to close netlink container: %m");
+diff --git a/src/network/networkd-network-gperf.gperf b/src/network/networkd-network-gperf.gperf
+index f7e68be181..b3df4f3960 100644
+--- a/src/network/networkd-network-gperf.gperf
++++ b/src/network/networkd-network-gperf.gperf
+@@ -245,6 +245,7 @@ CAN.BitRate, config_parse_si_size,
+ CAN.SamplePoint, config_parse_permille, 0, offsetof(Network, can_sample_point)
+ CAN.RestartSec, config_parse_sec, 0, offsetof(Network, can_restart_us)
+ CAN.TripleSampling, config_parse_tristate, 0, offsetof(Network, can_triple_sampling)
++CAN.Termination, config_parse_tristate, 0, offsetof(Network, can_termination)
+ TrafficControlQueueingDiscipline.Parent, config_parse_tc_qdiscs_parent, 0, 0
+ TrafficControlQueueingDiscipline.NetworkEmulatorDelaySec, config_parse_tc_network_emulator_delay, 0, 0
+ TrafficControlQueueingDiscipline.NetworkEmulatorDelayJitterSec, config_parse_tc_network_emulator_delay, 0, 0
+diff --git a/src/network/networkd-network.c b/src/network/networkd-network.c
+index 6e443975f1..0ea5c05db7 100644
+--- a/src/network/networkd-network.c
++++ b/src/network/networkd-network.c
+@@ -448,6 +448,7 @@ int network_load_one(Manager *manager, OrderedHashmap **networks, const char *fi
+ .keep_configuration = _KEEP_CONFIGURATION_INVALID,
+
+ .can_triple_sampling = -1,
++ .can_termination = -1,
+ .ip_service_type = -1,
+ };
+
+diff --git a/src/network/networkd-network.h b/src/network/networkd-network.h
+index aa74bb4ae7..6a1f094156 100644
+--- a/src/network/networkd-network.h
++++ b/src/network/networkd-network.h
+@@ -193,6 +193,7 @@ struct Network {
+ unsigned can_sample_point;
+ usec_t can_restart_us;
+ int can_triple_sampling;
++ int can_termination;
+
+ AddressFamily ip_forward;
+ bool ip_masquerade;
+diff --git a/test/fuzz/fuzz-network-parser/directives.network b/test/fuzz/fuzz-network-parser/directives.network
+index 5bd80dece8..781269d960 100644
+--- a/test/fuzz/fuzz-network-parser/directives.network
++++ b/test/fuzz/fuzz-network-parser/directives.network
+@@ -194,6 +194,7 @@ SamplePoint=
+ BitRate=
+ RestartSec=
+ TripleSampling=
++Termination=
+ [Address]
+ DuplicateAddressDetection=
+ AutoJoin=
diff --git a/meta-agl/meta-agl-profile-core/recipes-core/systemd/systemd_%.bbappend b/meta-agl/meta-agl-profile-core/recipes-core/systemd/systemd_%.bbappend
index 078c1411..242b3d39 100644
--- a/meta-agl/meta-agl-profile-core/recipes-core/systemd/systemd_%.bbappend
+++ b/meta-agl/meta-agl-profile-core/recipes-core/systemd/systemd_%.bbappend
@@ -1,9 +1,10 @@
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
SRC_URI += "\
+ file://0001-fix-udevd-seclabel-parsing.patch \
+ file://0002-network-add-CAN-Termination-tristate-option.patch \
file://e2fsck.conf \
file://canbus-can.network \
- file://0001-network-add-CAN-Termination-tristate-option.patch \
${@bb.utils.contains('VIRTUAL-RUNTIME_net_manager','systemd','file://wired.network','',d)} \
"
diff --git a/meta-agl/meta-agl-profile-core/recipes-devtools/cmake-apps-module/cmake-apps-module_git.bb b/meta-agl/meta-agl-profile-core/recipes-devtools/cmake-apps-module/cmake-apps-module_git.bb
index 941b8033..ea3189dd 100644
--- a/meta-agl/meta-agl-profile-core/recipes-devtools/cmake-apps-module/cmake-apps-module_git.bb
+++ b/meta-agl/meta-agl-profile-core/recipes-devtools/cmake-apps-module/cmake-apps-module_git.bb
@@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7ca
SECTION = "apps"
SRC_URI = "git://gerrit.automotivelinux.org/gerrit/src/cmake-apps-module;protocol=https;branch=${AGL_BRANCH}"
-SRCREV = "bd9e1c988ec7237964c466c65792d4c77960625e"
+SRCREV = "a357a6af0cf515883dfa26fd2cb80ac055a491de"
PV = "${AGLVERSION}"
S = "${WORKDIR}/git"
diff --git a/meta-agl/meta-agl-profile-core/recipes-devtools/packagegroups/packagegroup-agl-core-devel.bb b/meta-agl/meta-agl-profile-core/recipes-devtools/packagegroups/packagegroup-agl-core-devel.bb
index 97ce254f..647a0a81 100644
--- a/meta-agl/meta-agl-profile-core/recipes-devtools/packagegroups/packagegroup-agl-core-devel.bb
+++ b/meta-agl/meta-agl-profile-core/recipes-devtools/packagegroups/packagegroup-agl-core-devel.bb
@@ -4,7 +4,6 @@ LICENSE = "MIT"
inherit packagegroup
RDEPENDS_${PN} = "\
- afb-test \
strace \
ldd \
less \
@@ -25,4 +24,7 @@ RDEPENDS_${PN} = "\
libxslt-bin \
agl-service-network-tools \
gcc-sanitizers \
+ pciutils \
+ pyagl \
+ gcov \
"
diff --git a/meta-agl/meta-agl-profile-core/recipes-devtools/python/python3-asyncssh_2.3.0.bb b/meta-agl/meta-agl-profile-core/recipes-devtools/python/python3-asyncssh_2.3.0.bb
new file mode 100644
index 00000000..ab7e8afa
--- /dev/null
+++ b/meta-agl/meta-agl-profile-core/recipes-devtools/python/python3-asyncssh_2.3.0.bb
@@ -0,0 +1,15 @@
+DESCRIPTION = "\
+AsyncSSH is a Python package which provides an asynchronous client and \
+server implementation of the SSHv2 protocol on top of the Python \
+asyncio framework."
+HOMEPAGE = "https://github.com/ronf/asyncssh"
+LICENSE = "EPL-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=d9fc0efef5228704e7f5b37f27192723"
+
+SRC_URI[sha256sum] = "44bda34c7123f00c3df95d24e2dc8d43c4d17b456fbb8c434ef4f4a7ebb5265e"
+
+inherit pypi setuptools3
+
+RDEPENDS_${PN} += "${PYTHON_PN}-asyncio ${PYTHON_PN}-cryptography"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-agl/meta-agl-profile-core/recipes-devtools/python/python3-pytest-dependency_0.5.1.bb b/meta-agl/meta-agl-profile-core/recipes-devtools/python/python3-pytest-dependency_0.5.1.bb
new file mode 100644
index 00000000..5ff2d4ec
--- /dev/null
+++ b/meta-agl/meta-agl-profile-core/recipes-devtools/python/python3-pytest-dependency_0.5.1.bb
@@ -0,0 +1,12 @@
+DESCRIPTION = "pytest-dependency manages dependencies of tests."
+HOMEPAGE = "https://github.com/RKrahl/pytest-dependency"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://README.rst;md5=35b9938ae48d25e6b8306232e98463dd"
+
+SRC_URI[sha256sum] = "c2a892906192663f85030a6ab91304e508e546cddfe557d692d61ec57a1d946b"
+
+inherit pypi setuptools3
+
+DEPENDS += "${PYTHON_PN}-pytest-native"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-agl/meta-agl-profile-core/recipes-devtools/python/python3-pytest-reverse_1.0.1.bb b/meta-agl/meta-agl-profile-core/recipes-devtools/python/python3-pytest-reverse_1.0.1.bb
new file mode 100644
index 00000000..5ed9b1d9
--- /dev/null
+++ b/meta-agl/meta-agl-profile-core/recipes-devtools/python/python3-pytest-reverse_1.0.1.bb
@@ -0,0 +1,12 @@
+DESCRIPTION = "pytest-reverse is a pytest plugin to reverse test order"
+HOMEPAGE = "https://github.com/adamchainz/pytest-reverse"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=caf1f407ae86ecd57ab721dff94079b7"
+
+SRC_URI[sha256sum] = "40cbc47df8a262fed778e500f4d0b17d2d08ef8b9fbf899c0bab9488be192aac"
+
+inherit pypi setuptools3
+
+DEPENDS += "${PYTHON_PN}-pytest-native"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-agl/meta-agl-profile-core/recipes-kernel/most/files/0001-most-aim-network-backport-Kernel-API.patch b/meta-agl/meta-agl-profile-core/recipes-kernel/most/files/0001-most-aim-network-backport-Kernel-API.patch
deleted file mode 100644
index d43b132f..00000000
--- a/meta-agl/meta-agl-profile-core/recipes-kernel/most/files/0001-most-aim-network-backport-Kernel-API.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From 383ffadd33f484ab4aaeb14fa109b61143d27d58 Mon Sep 17 00:00:00 2001
-From: Christian Gromm <christian.gromm@microchip.com>
-Date: Thu, 7 Jun 2018 12:15:38 +0200
-Subject: [PATCH] most: aim-network: backport Kernel API
-
-This patch replaces the function calls skb_put_data with memcpy. It is
-needed to have the module compiled for kernels prior to 4.13.
-
-Signed-off-by: Christian Gromm <christian.gromm@microchip.com>
----
- aim-network/networking.c | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/aim-network/networking.c b/aim-network/networking.c
-index 936f013..4c259c2 100644
---- a/aim-network/networking.c
-+++ b/aim-network/networking.c
-@@ -470,11 +470,11 @@ static int aim_rx_data(struct mbo *mbo)
- ether_addr_copy(skb_put(skb, ETH_ALEN), dev->dev_addr);
-
- /* src */
-- skb_put_data(skb, &zero, 4);
-- skb_put_data(skb, buf + 5, 2);
-+ memcpy(skb_put(skb, 4), &zero, 4);
-+ memcpy(skb_put(skb, 2), buf + 5, 2);
-
- /* eth type */
-- skb_put_data(skb, buf + 10, 2);
-+ memcpy(skb_put(skb, 2), buf + 10, 2);
-
- buf += MDP_HDR_LEN;
- len -= MDP_HDR_LEN;
-@@ -483,7 +483,7 @@ static int aim_rx_data(struct mbo *mbo)
- len -= MEP_HDR_LEN;
- }
-
-- skb_put_data(skb, buf, len);
-+ memcpy(skb_put(skb, len), buf, len);
- skb->protocol = eth_type_trans(skb, dev);
- skb_len = skb->len;
- if (netif_rx(skb) == NET_RX_SUCCESS) {
---
-2.11.0
diff --git a/meta-agl/meta-agl-profile-core/recipes-kernel/most/files/0011-handle-snd_pcm_lib_mmap_vmalloc-removal.patch b/meta-agl/meta-agl-profile-core/recipes-kernel/most/files/0011-handle-snd_pcm_lib_mmap_vmalloc-removal.patch
index 8f83dbab..d4383c4f 100644
--- a/meta-agl/meta-agl-profile-core/recipes-kernel/most/files/0011-handle-snd_pcm_lib_mmap_vmalloc-removal.patch
+++ b/meta-agl/meta-agl-profile-core/recipes-kernel/most/files/0011-handle-snd_pcm_lib_mmap_vmalloc-removal.patch
@@ -1,18 +1,30 @@
Handle snd_pcm_lib_mmap_vmalloc removal in 4.19
-Upstream-Status: Pending
+Add .mmap field back to pcm_ops for kernels older than 4.19.
+
+Upstream-Status: Inappropriate
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
-diff --git a/driver/aim-sound/sound.c b/driver/aim-sound/sound.c
-index 6a290ff..4b3329b 100644
+diff --git a/aim-sound/sound.c b/aim-sound/sound.c
+index 4b3329b..c0a26be 100644
--- a/aim-sound/sound.c
+++ b/aim-sound/sound.c
-@@ -463,7 +463,6 @@ static const struct snd_pcm_ops pcm_ops = {
+@@ -17,6 +17,7 @@
+ #include <linux/printk.h>
+ #include <linux/kernel.h>
+ #include <linux/init.h>
++#include <linux/version.h>
+ #include <sound/core.h>
+ #include <sound/pcm.h>
+ #include <sound/pcm_params.h>
+@@ -463,6 +464,9 @@ static const struct snd_pcm_ops pcm_ops = {
.trigger = pcm_trigger,
.pointer = pcm_pointer,
.page = snd_pcm_lib_get_vmalloc_page,
-- .mmap = snd_pcm_lib_mmap_vmalloc,
++#if LINUX_VERSION_CODE < KERNEL_VERSION(4,19,0)
++ .mmap = snd_pcm_lib_mmap_vmalloc,
++#endif
};
static int split_arg_list(char *buf, char **card_name, u16 *ch_num,
diff --git a/meta-agl/meta-agl-profile-core/recipes-kernel/most/files/0012-Fix-build-with-5.4-kernel.patch b/meta-agl/meta-agl-profile-core/recipes-kernel/most/files/0012-Fix-build-with-5.4-kernel.patch
new file mode 100644
index 00000000..02eca27d
--- /dev/null
+++ b/meta-agl/meta-agl-profile-core/recipes-kernel/most/files/0012-Fix-build-with-5.4-kernel.patch
@@ -0,0 +1,68 @@
+From 877d7475413bb787deb07aa83bafac03efa399fa Mon Sep 17 00:00:00 2001
+From: Paul Barker <paul.barker@sancloud.co.uk>
+Date: Mon, 24 Feb 2020 14:58:52 +0000
+Subject: [PATCH] Fix build with 5.4 kernel
+
+Signed-off-by: Paul Barker <paul.barker@sancloud.co.uk>
+---
+ driver/Makefile | 11 ++++++++++-
+ 1 file changed, 10 insertions(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index 281241d..609e692 100644
+--- a/Makefile
++++ b/Makefile
+@@ -5,6 +5,7 @@ SRC := $(shell pwd)
+ obj-m := mostcore.o
+ mostcore-y := mostcore/core.o
+ CFLAGS_core.o := -I$(src)/include/
++CFLAGS_mostcore/core.o := -I$(src)/include/
+
+ obj-m += default_conf.o
+ CFLAGL_default_conf.o := -I$(src)/include
+@@ -12,33 +13,41 @@ CFLAGL_default_conf.o := -I$(src)/include
+ obj-m += aim_cdev.o
+ aim_cdev-y := aim-cdev/cdev.o
+ CFLAGS_cdev.o := -I$(src)/include/
++CFLAGS_aim-cdev/cdev.o := -I$(src)/include/
+
+ obj-m += aim_network.o
+ aim_network-y := aim-network/networking.o
+ CFLAGS_networking.o := -I$(src)/include/
++CFLAGS_aim-network/networking.o := -I$(src)/include/
+
+ obj-m += aim_sound.o
+ aim_sound-y := aim-sound/sound.o
+ CFLAGS_sound.o := -I$(src)/include/
++CFLAGS_aim-sound/sound.o := -I$(src)/include/
+
+ obj-m += aim_v4l2.o
+ aim_v4l2-y := aim-v4l2/video.o
+ CFLAGS_video.o := -Idrivers/media/video -I$(src)/include/
++CFLAGS_aim-v4l2/video.o := -Idrivers/media/video -I$(src)/include/
+
+ obj-m += hdm_i2c.o
+ hdm_i2c-y := hdm-i2c/hdm_i2c.o
+ CFLAGS_hdm_i2c.o := -I$(src)/include/
++CFLAGS_hdm-i2c/hdm_i2c.o := -I$(src)/include/
+
+ ifdef CONFIG_OF
+ obj-m += hdm_dim2.o
+ hdm_dim2-y := hdm-dim2/dim2_hdm.o hdm-dim2/dim2_hal.o hdm-dim2/dim2_sysfs.o
+ CFLAGS_dim2_hdm.o := -I$(src)/include/
++CFLAGS_hdm-dim2/dim2_hdm.o := -I$(src)/include/
++CFLAGS_hdm-dim2/dim2_hal.o := -I$(src)/include/
++CFLAGS_hdm-dim2/dim2_sysfs.o := -I$(src)/include/
+ endif
+
+ obj-m += hdm_usb.o
+ hdm_usb-y := hdm-usb/hdm_usb.o
+ CFLAGS_hdm_usb.o := -I$(src)/include/
+-
++CFLAGS_hdm-usb/hdm_usb.o := -I$(src)/include/
+
+ all:
+ $(MAKE) -C $(KERNEL_SRC) M=$(SRC) modules
+--
+2.20.1
+
diff --git a/meta-agl/meta-agl-profile-core/recipes-kernel/most/most.bb b/meta-agl/meta-agl-profile-core/recipes-kernel/most/most.bb
index 4ec7e3c2..48959a6e 100644
--- a/meta-agl/meta-agl-profile-core/recipes-kernel/most/most.bb
+++ b/meta-agl/meta-agl-profile-core/recipes-kernel/most/most.bb
@@ -9,6 +9,6 @@ PV = "0.1"
SRC_URI = "git://gerrit.automotivelinux.org/gerrit/src/most;protocol=https;branch=${AGL_BRANCH}"
S = "${WORKDIR}/git/driver"
-SRCREV = "dcc04c5efe2058a5796f45b7a99f1c53082dd2ca"
+SRCREV = "e4dbbaf9e7652efaed0df3e0aab4464f5f228573"
KERNEL_MODULE_AUTOLOAD += "aim_cdev aim_sound aim_network aim_v4l2 hdm_i2c hdm_dim2 hdm_usb mostcore"
diff --git a/meta-agl/meta-agl-profile-core/recipes-kernel/most/most.bbappend b/meta-agl/meta-agl-profile-core/recipes-kernel/most/most.bbappend
index 17ad0558..ad422eb5 100644
--- a/meta-agl/meta-agl-profile-core/recipes-kernel/most/most.bbappend
+++ b/meta-agl/meta-agl-profile-core/recipes-kernel/most/most.bbappend
@@ -1,21 +1,6 @@
FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
-def prep_version (d) :
- KV = d.getVar('KERNEL_VERSION', True)
- if not KV :
- return "4.12"
- else:
- return KV
-
-ORIG_KERN_VER = "${@prep_version(d)}"
-
-VANILLA_KERNEL_VERSION = "${@str(ORIG_KERN_VER.split("-")[0].split(".")[0]+ORIG_KERN_VER.split("-")[0].split(".")[1])}"
-
-APPLY = "${@str('no' if ${VANILLA_KERNEL_VERSION} > 412 else 'yes')}"
-APPLY_419 = "${@str('no' if ${VANILLA_KERNEL_VERSION} < 419 else 'yes')}"
-
SRC_URI_append = " \
- file://0001-most-aim-network-backport-Kernel-API.patch;apply=${APPLY} \
file://0002-src-most-add-auto-conf-feature.patch \
file://0003-core-remove-kernel-log-for-MBO-status.patch \
file://0004-most-video-set-device_caps.patch \
@@ -25,7 +10,6 @@ SRC_URI_append = " \
file://0008-dim2-read-clock-speed-from-the-device-tree.patch \
file://0009-dim2-use-device-for-coherent-memory-allocation.patch \
file://0010-backport-usb-setup-timer.patch \
- file://0011-handle-snd_pcm_lib_mmap_vmalloc-removal.patch;apply=${APPLY_419} \
- "
-# Make sure we can expose KERNEL_VERSION ...
-do_patch[depends] += "virtual/kernel:do_populate_sysroot"
+ file://0011-handle-snd_pcm_lib_mmap_vmalloc-removal.patch \
+ file://0012-Fix-build-with-5.4-kernel.patch \
+"
diff --git a/meta-agl/meta-agl-profile-core/recipes-multimedia/pulseaudio/agl-audio-plugin_0.1.bb b/meta-agl/meta-agl-profile-core/recipes-multimedia/pulseaudio/agl-audio-plugin_0.1.bb
deleted file mode 100644
index 633a3e24..00000000
--- a/meta-agl/meta-agl-profile-core/recipes-multimedia/pulseaudio/agl-audio-plugin_0.1.bb
+++ /dev/null
@@ -1,28 +0,0 @@
-SUMMARY = "AGL Audio Policy Plugin"
-DESCRIPTION = "AGL PulseAudio Routing plugin, forked from the Tizen IVI \
-PulseAudio Routing plugin, also known as module-murphy-ivi. This is a \
-stripped-down version of the former, not needing Murphy anymore and using \
-either a JSON configuration file or its own embedded configuration."
-HOMEPAGE = "http://www.iot.bzh"
-
-LICENSE = "LGPL-2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1"
-
-DEPENDS = "json-c pulseaudio"
-RDEPENDS_${PN} = "pulseaudio-server pulseaudio-module-null-sink pulseaudio-module-loopback"
-
-SRCREV = "952d404e87ca6001e546fe9105bdb6760c468760"
-SRC_URI = "git://gerrit.automotivelinux.org/gerrit/staging/agl-audio-plugin;protocol=https;branch=${AGL_BRANCH}"
-
-S = "${WORKDIR}/git"
-
-inherit cmake pkgconfig
-
-FULL_OPTIMIZATION = "-O1 -pipe ${DEBUG_FLAGS}"
-
-PULSE_PV="9.0"
-
-EXTRA_OECMAKE_append = " -DPULSE_PV:STRING=${PULSE_PV}"
-
-FILES_${PN} += "${libdir}/pulse-${PULSE_PV}/modules/* ${sysconfdir}/pulse/*"
-FILES_${PN}-dbg += "${libdir}/pulse-${PULSE_PV}/modules/.debug/*"
diff --git a/meta-agl/meta-agl-profile-core/recipes-multimedia/pulseaudio/pulseaudio-12.2/0001-install-files-for-a-module-development.patch b/meta-agl/meta-agl-profile-core/recipes-multimedia/pulseaudio/pulseaudio-12.2/0001-install-files-for-a-module-development.patch
deleted file mode 100644
index f77249a2..00000000
--- a/meta-agl/meta-agl-profile-core/recipes-multimedia/pulseaudio/pulseaudio-12.2/0001-install-files-for-a-module-development.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-From 53281e2d11f84e2dae0704e0167369710ee2cb30 Mon Sep 17 00:00:00 2001
-From: Yannick Gicquel <yannick.gicquel@iot.bzh>
-Date: Fri, 23 Sep 2016 14:26:03 +0200
-Subject: [PATCH 1/6] install files for a module development
-
-Signed-off-by: Yannick Gicquel <yannick.gicquel@iot.bzh>
----
-
-diff --git a/Makefile.am b/Makefile.am
-index 275ceea..77dd7a5 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -54,7 +54,16 @@ dist_vapi_DATA = \
- vala/libpulse-simple.deps vala/libpulse-simple.vapi
-
- pkgconfigdir = $(libdir)/pkgconfig
--pkgconfig_DATA = libpulse.pc libpulse-simple.pc
-+pkgconfig_DATA = libpulse.pc libpulse-simple.pc pulseaudio-module-devel.pc
-+
-+moduledev_DATA = pulsecore-config.h $(top_srcdir)/src/pulsecore/*.h
-+moduledevdir = $(includedir)/pulsemodule/pulsecore
-+
-+moduledevfilter_DATA = $(top_srcdir)/src/pulsecore/filter/*.h
-+moduledevfilterdir = $(includedir)/pulsemodule/pulsecore/filter
-+
-+moduledevinternal_DATA = src/pulse/internal.h src/pulse/client-conf.h src/pulse/fork-detect.h
-+moduledevinternaldir = $(includedir)/pulsemodule/pulse
-
- if HAVE_GLIB20
- pkgconfig_DATA += \
-@@ -108,6 +117,9 @@ dist-hook:
- check-daemon:
- $(MAKE) -C src check-daemon
-
-+pulsecore-config.h: config.h
-+ cp $< $@
-+
- .PHONY: homepage distcleancheck doxygen
-
- # see git-version-gen
-diff --git a/configure.ac b/configure.ac
-index c9c414f..87aa9b1 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -1548,6 +1548,7 @@ man/pulse-client.conf.5.xml
- man/default.pa.5.xml
- man/pulse-cli-syntax.5.xml
- man/start-pulseaudio-x11.1.xml
-+pulseaudio-module-devel.pc
- ])
-
- AS_IF([test "x$HAVE_ESOUND" = "x1"],
-diff --git a/pulseaudio-module-devel.pc.in b/pulseaudio-module-devel.pc.in
-new file mode 100644
-index 0000000..85aadbc
---- /dev/null
-+++ b/pulseaudio-module-devel.pc.in
-@@ -0,0 +1,12 @@
-+prefix=@prefix@
-+exec_prefix=@exec_prefix@
-+libdir=@libdir@
-+includedir=@includedir@
-+modlibexecdir=@modlibexecdir@
-+
-+Name: pulseaudio-module-devel
-+Description: PulseAudio Module Development Interface
-+Version: @PACKAGE_VERSION@
-+Libs: -L${libdir} -L${libdir}/pulseaudio -L${modlibexecdir} -lpulsecommon-@PA_MAJORMINOR@ -lpulsecore-@PA_MAJORMINOR@ -lprotocol-native
-+Libs.private:
-+Cflags: -I${includedir}/pulsemodule -D_REENTRANT
diff --git a/meta-agl/meta-agl-profile-core/recipes-multimedia/pulseaudio/pulseaudio-12.2/0002-volume-ramp-additions-to-the-low-level-infra.patch b/meta-agl/meta-agl-profile-core/recipes-multimedia/pulseaudio/pulseaudio-12.2/0002-volume-ramp-additions-to-the-low-level-infra.patch
deleted file mode 100644
index 5b2da69c..00000000
--- a/meta-agl/meta-agl-profile-core/recipes-multimedia/pulseaudio/pulseaudio-12.2/0002-volume-ramp-additions-to-the-low-level-infra.patch
+++ /dev/null
@@ -1,564 +0,0 @@
-From c28b5faa6745b525c11d1f54d8bf52386a90fcc1 Mon Sep 17 00:00:00 2001
-From: Sangchul Lee <sangchul1011@gmail.com>
-Date: Sat, 27 Aug 2016 21:33:16 +0900
-Subject: [PATCH 2/6] volume ramp: additions to the low level infra
-
-The original patch is
- - https://review.tizen.org/git/?p=platform/upstream/pulseaudio.git;a=commit;h=df1c4275ed79e0b708c75b92f9d247e0492bc1f0
- - by Jaska Uimonen <jaska.uimonen <at> helsinki.fi>
-
-Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
-
----
- src/map-file | 4 +
- src/pulse/def.h | 13 ++-
- src/pulse/volume.c | 74 ++++++++++++-
- src/pulse/volume.h | 33 ++++++
- src/pulsecore/mix.c | 310 ++++++++++++++++++++++++++++++++++++++++++++++++++++
- src/pulsecore/mix.h | 27 +++++
- 6 files changed, 459 insertions(+), 2 deletions(-)
-
-diff --git a/src/map-file b/src/map-file
-index 9b6cba2..946ab54 100644
---- a/src/map-file
-+++ b/src/map-file
-@@ -138,6 +138,10 @@ pa_cvolume_max_mask;
- pa_cvolume_merge;
- pa_cvolume_min;
- pa_cvolume_min_mask;
-+pa_cvolume_ramp_equal;
-+pa_cvolume_ramp_init;
-+pa_cvolume_ramp_set;
-+pa_cvolume_ramp_channel_ramp_set;
- pa_cvolume_remap;
- pa_cvolume_scale;
- pa_cvolume_scale_mask;
-diff --git a/src/pulse/def.h b/src/pulse/def.h
-index 100df5b..b13eed7 100644
---- a/src/pulse/def.h
-+++ b/src/pulse/def.h
-@@ -349,11 +349,15 @@ typedef enum pa_stream_flags {
- * consider absolute when the sink is in flat volume mode,
- * relative otherwise. \since 0.9.20 */
-
-- PA_STREAM_PASSTHROUGH = 0x80000U
-+ PA_STREAM_PASSTHROUGH = 0x80000U,
- /**< Used to tag content that will be rendered by passthrough sinks.
- * The data will be left as is and not reformatted, resampled.
- * \since 1.0 */
-
-+ PA_STREAM_START_RAMP_MUTED = 0x100000U
-+ /**< Used to tag content that the stream will be started ramp volume
-+ * muted so that you can nicely fade it in */
-+
- } pa_stream_flags_t;
-
- /** \cond fulldocs */
-@@ -382,6 +386,7 @@ typedef enum pa_stream_flags {
- #define PA_STREAM_FAIL_ON_SUSPEND PA_STREAM_FAIL_ON_SUSPEND
- #define PA_STREAM_RELATIVE_VOLUME PA_STREAM_RELATIVE_VOLUME
- #define PA_STREAM_PASSTHROUGH PA_STREAM_PASSTHROUGH
-+#define PA_STREAM_START_RAMP_MUTED PA_STREAM_START_RAMP_MUTED
-
- /** \endcond */
-
-@@ -1070,6 +1075,12 @@ typedef enum pa_port_available {
- /** \endcond */
- #endif
-
-+/** \cond fulldocs */
-+#define PA_VOLUMER_RAMP_TYPE_LINEAR PA_VOLUMER_RAMP_TYPE_LINEAR
-+#define PA_VOLUMER_RAMP_TYPE_LOGARITHMIC PA_VOLUMER_RAMP_TYPE_LOGARITHMIC
-+#define PA_VOLUMER_RAMP_TYPE_CUBIC PA_VOLUMER_RAMP_TYPE_CUBIC
-+/** \endcond */
-+
- PA_C_DECL_END
-
- #endif
-diff --git a/src/pulse/volume.c b/src/pulse/volume.c
-index ead5415..83a1e05 100644
---- a/src/pulse/volume.c
-+++ b/src/pulse/volume.c
-@@ -457,7 +457,10 @@ int pa_cvolume_channels_equal_to(const pa_cvolume *a, pa_volume_t v) {
- unsigned c;
- pa_assert(a);
-
-- pa_return_val_if_fail(pa_cvolume_valid(a), 0);
-+ if (pa_cvolume_valid(a) == 0)
-+ abort();
-+
-+ /* pa_return_val_if_fail(pa_cvolume_valid(a), 0); */
- pa_return_val_if_fail(PA_VOLUME_IS_VALID(v), 0);
-
- for (c = 0; c < a->channels; c++)
-@@ -989,3 +992,72 @@ pa_cvolume* pa_cvolume_dec(pa_cvolume *v, pa_volume_t dec) {
-
- return pa_cvolume_scale(v, m);
- }
-+
-+int pa_cvolume_ramp_equal(const pa_cvolume_ramp *a, const pa_cvolume_ramp *b) {
-+ int i;
-+ pa_assert(a);
-+ pa_assert(b);
-+
-+ if (PA_UNLIKELY(a == b))
-+ return 1;
-+
-+ if (a->channels != b->channels)
-+ return 0;
-+
-+ for (i = 0; i < a->channels; i++) {
-+ if (a->ramps[i].type != b->ramps[i].type ||
-+ a->ramps[i].length != b->ramps[i].length ||
-+ a->ramps[i].target != b->ramps[i].target)
-+ return 0;
-+ }
-+
-+ return 1;
-+}
-+
-+pa_cvolume_ramp* pa_cvolume_ramp_init(pa_cvolume_ramp *ramp) {
-+ unsigned c;
-+
-+ pa_assert(ramp);
-+
-+ ramp->channels = 0;
-+
-+ for (c = 0; c < PA_CHANNELS_MAX; c++) {
-+ ramp->ramps[c].type = PA_VOLUME_RAMP_TYPE_LINEAR;
-+ ramp->ramps[c].length = 0;
-+ ramp->ramps[c].target = PA_VOLUME_INVALID;
-+ }
-+
-+ return ramp;
-+}
-+
-+pa_cvolume_ramp* pa_cvolume_ramp_set(pa_cvolume_ramp *ramp, unsigned channels, pa_volume_ramp_type_t type, long time, pa_volume_t vol) {
-+ int i;
-+
-+ pa_assert(ramp);
-+ pa_assert(channels > 0);
-+ pa_assert(time >= 0);
-+ pa_assert(channels <= PA_CHANNELS_MAX);
-+
-+ ramp->channels = (uint8_t) channels;
-+
-+ for (i = 0; i < ramp->channels; i++) {
-+ ramp->ramps[i].type = type;
-+ ramp->ramps[i].length = time;
-+ ramp->ramps[i].target = PA_CLAMP_VOLUME(vol);
-+ }
-+
-+ return ramp;
-+}
-+
-+pa_cvolume_ramp* pa_cvolume_ramp_channel_ramp_set(pa_cvolume_ramp *ramp, unsigned channel, pa_volume_ramp_type_t type, long time, pa_volume_t vol) {
-+
-+ pa_assert(ramp);
-+ pa_assert(channel <= ramp->channels);
-+ pa_assert(time >= 0);
-+
-+ ramp->ramps[channel].type = type;
-+ ramp->ramps[channel].length = time;
-+ ramp->ramps[channel].target = PA_CLAMP_VOLUME(vol);
-+
-+ return ramp;
-+}
-diff --git a/src/pulse/volume.h b/src/pulse/volume.h
-index 2503c3f..0b74833 100644
---- a/src/pulse/volume.h
-+++ b/src/pulse/volume.h
-@@ -437,6 +437,39 @@ pa_cvolume* pa_cvolume_inc(pa_cvolume *v, pa_volume_t inc);
- * the channels are kept. Returns \a v, or NULL on error. \since 0.9.16 */
- pa_cvolume* pa_cvolume_dec(pa_cvolume *v, pa_volume_t dec);
-
-+/** Volume ramp type
-+*/
-+typedef enum pa_volume_ramp_type {
-+ PA_VOLUME_RAMP_TYPE_LINEAR = 0, /**< linear */
-+ PA_VOLUME_RAMP_TYPE_LOGARITHMIC = 1, /**< logarithmic */
-+ PA_VOLUME_RAMP_TYPE_CUBIC = 2,
-+} pa_volume_ramp_type_t;
-+
-+/** A structure encapsulating a volume ramp */
-+typedef struct pa_volume_ramp_t {
-+ pa_volume_ramp_type_t type;
-+ long length;
-+ pa_volume_t target;
-+} pa_volume_ramp_t;
-+
-+/** A structure encapsulating a multichannel volume ramp */
-+typedef struct pa_cvolume_ramp {
-+ uint8_t channels;
-+ pa_volume_ramp_t ramps[PA_CHANNELS_MAX];
-+} pa_cvolume_ramp;
-+
-+/** Return non-zero when *a == *b */
-+int pa_cvolume_ramp_equal(const pa_cvolume_ramp *a, const pa_cvolume_ramp *b);
-+
-+/** Init volume ramp struct */
-+pa_cvolume_ramp* pa_cvolume_ramp_init(pa_cvolume_ramp *ramp);
-+
-+/** Set first n channels of ramp struct to certain value */
-+pa_cvolume_ramp* pa_cvolume_ramp_set(pa_cvolume_ramp *ramp, unsigned channel, pa_volume_ramp_type_t type, long time, pa_volume_t vol);
-+
-+/** Set individual channel in the channel struct */
-+pa_cvolume_ramp* pa_cvolume_ramp_channel_ramp_set(pa_cvolume_ramp *ramp, unsigned channel, pa_volume_ramp_type_t type, long time, pa_volume_t vol);
-+
- PA_C_DECL_END
-
- #endif
-diff --git a/src/pulsecore/mix.c b/src/pulsecore/mix.c
-index 59622d7..1e4cc1e 100644
---- a/src/pulsecore/mix.c
-+++ b/src/pulsecore/mix.c
-@@ -724,3 +724,313 @@ void pa_volume_memchunk(
-
- pa_memblock_release(c->memblock);
- }
-+
-+static void calc_linear_integer_volume_no_mapping(int32_t linear[], float volume[], unsigned nchannels) {
-+ unsigned channel, padding;
-+
-+ pa_assert(linear);
-+ pa_assert(volume);
-+
-+ for (channel = 0; channel < nchannels; channel++)
-+ linear[channel] = (int32_t) lrint(volume[channel] * 0x10000U);
-+
-+ for (padding = 0; padding < VOLUME_PADDING; padding++, channel++)
-+ linear[channel] = linear[padding];
-+}
-+
-+static void calc_linear_float_volume_no_mapping(float linear[], float volume[], unsigned nchannels) {
-+ unsigned channel, padding;
-+
-+ pa_assert(linear);
-+ pa_assert(volume);
-+
-+ for (channel = 0; channel < nchannels; channel++)
-+ linear[channel] = volume[channel];
-+
-+ for (padding = 0; padding < VOLUME_PADDING; padding++, channel++)
-+ linear[channel] = linear[padding];
-+}
-+
-+typedef void (*pa_calc_volume_no_mapping_func_t) (void *volumes, float *volume, int channels);
-+
-+static const pa_calc_volume_no_mapping_func_t calc_volume_table_no_mapping[] = {
-+ [PA_SAMPLE_U8] = (pa_calc_volume_no_mapping_func_t) calc_linear_integer_volume_no_mapping,
-+ [PA_SAMPLE_ALAW] = (pa_calc_volume_no_mapping_func_t) calc_linear_integer_volume_no_mapping,
-+ [PA_SAMPLE_ULAW] = (pa_calc_volume_no_mapping_func_t) calc_linear_integer_volume_no_mapping,
-+ [PA_SAMPLE_S16LE] = (pa_calc_volume_no_mapping_func_t) calc_linear_integer_volume_no_mapping,
-+ [PA_SAMPLE_S16BE] = (pa_calc_volume_no_mapping_func_t) calc_linear_integer_volume_no_mapping,
-+ [PA_SAMPLE_FLOAT32LE] = (pa_calc_volume_no_mapping_func_t) calc_linear_float_volume_no_mapping,
-+ [PA_SAMPLE_FLOAT32BE] = (pa_calc_volume_no_mapping_func_t) calc_linear_float_volume_no_mapping,
-+ [PA_SAMPLE_S32LE] = (pa_calc_volume_no_mapping_func_t) calc_linear_integer_volume_no_mapping,
-+ [PA_SAMPLE_S32BE] = (pa_calc_volume_no_mapping_func_t) calc_linear_integer_volume_no_mapping,
-+ [PA_SAMPLE_S24LE] = (pa_calc_volume_no_mapping_func_t) calc_linear_integer_volume_no_mapping,
-+ [PA_SAMPLE_S24BE] = (pa_calc_volume_no_mapping_func_t) calc_linear_integer_volume_no_mapping,
-+ [PA_SAMPLE_S24_32LE] = (pa_calc_volume_no_mapping_func_t) calc_linear_integer_volume_no_mapping,
-+ [PA_SAMPLE_S24_32BE] = (pa_calc_volume_no_mapping_func_t) calc_linear_integer_volume_no_mapping
-+};
-+
-+static const unsigned format_sample_size_table[] = {
-+ [PA_SAMPLE_U8] = 1,
-+ [PA_SAMPLE_ALAW] = 1,
-+ [PA_SAMPLE_ULAW] = 1,
-+ [PA_SAMPLE_S16LE] = 2,
-+ [PA_SAMPLE_S16BE] = 2,
-+ [PA_SAMPLE_FLOAT32LE] = 4,
-+ [PA_SAMPLE_FLOAT32BE] = 4,
-+ [PA_SAMPLE_S32LE] = 4,
-+ [PA_SAMPLE_S32BE] = 4,
-+ [PA_SAMPLE_S24LE] = 3,
-+ [PA_SAMPLE_S24BE] = 3,
-+ [PA_SAMPLE_S24_32LE] = 4,
-+ [PA_SAMPLE_S24_32BE] = 4
-+};
-+
-+static float calc_volume_ramp_linear(pa_volume_ramp_int_t *ramp) {
-+ pa_assert(ramp);
-+ pa_assert(ramp->length > 0);
-+
-+ /* basic linear interpolation */
-+ return ramp->start + (ramp->length - ramp->left) * (ramp->end - ramp->start) / (float) ramp->length;
-+}
-+
-+static float calc_volume_ramp_logarithmic(pa_volume_ramp_int_t *ramp) {
-+ float x_val, s, e;
-+ long temp;
-+
-+ pa_assert(ramp);
-+ pa_assert(ramp->length > 0);
-+
-+ if (ramp->end > ramp->start) {
-+ temp = ramp->left;
-+ s = ramp->end;
-+ e = ramp->start;
-+ } else {
-+ temp = ramp->length - ramp->left;
-+ s = ramp->start;
-+ e = ramp->end;
-+ }
-+
-+ x_val = temp == 0 ? 0.0 : powf(temp, 10);
-+
-+ /* base 10 logarithmic interpolation */
-+ return s + x_val * (e - s) / powf(ramp->length, 10);
-+}
-+
-+static float calc_volume_ramp_cubic(pa_volume_ramp_int_t *ramp) {
-+ float x_val, s, e;
-+ long temp;
-+
-+ pa_assert(ramp);
-+ pa_assert(ramp->length > 0);
-+
-+ if (ramp->end > ramp->start) {
-+ temp = ramp->left;
-+ s = ramp->end;
-+ e = ramp->start;
-+ } else {
-+ temp = ramp->length - ramp->left;
-+ s = ramp->start;
-+ e = ramp->end;
-+ }
-+
-+ x_val = temp == 0 ? 0.0 : cbrtf(temp);
-+
-+ /* cubic interpolation */
-+ return s + x_val * (e - s) / cbrtf(ramp->length);
-+}
-+
-+typedef float (*pa_calc_volume_ramp_func_t) (pa_volume_ramp_int_t *);
-+
-+static const pa_calc_volume_ramp_func_t calc_volume_ramp_table[] = {
-+ [PA_VOLUME_RAMP_TYPE_LINEAR] = (pa_calc_volume_ramp_func_t) calc_volume_ramp_linear,
-+ [PA_VOLUME_RAMP_TYPE_LOGARITHMIC] = (pa_calc_volume_ramp_func_t) calc_volume_ramp_logarithmic,
-+ [PA_VOLUME_RAMP_TYPE_CUBIC] = (pa_calc_volume_ramp_func_t) calc_volume_ramp_cubic
-+};
-+
-+static void calc_volume_ramps(pa_cvolume_ramp_int *ram, float *vol)
-+{
-+ int i;
-+
-+ for (i = 0; i < ram->channels; i++) {
-+ if (ram->ramps[i].left <= 0) {
-+ if (ram->ramps[i].target == PA_VOLUME_NORM) {
-+ vol[i] = 1.0;
-+ }
-+ } else {
-+ vol[i] = ram->ramps[i].curr = calc_volume_ramp_table[ram->ramps[i].type] (&ram->ramps[i]);
-+ ram->ramps[i].left--;
-+ }
-+ }
-+}
-+
-+void pa_volume_ramp_memchunk(
-+ pa_memchunk *c,
-+ const pa_sample_spec *spec,
-+ pa_cvolume_ramp_int *ramp) {
-+
-+ void *ptr;
-+ volume_val linear[PA_CHANNELS_MAX + VOLUME_PADDING];
-+ float vol[PA_CHANNELS_MAX + VOLUME_PADDING];
-+ pa_do_volume_func_t do_volume;
-+ long length_in_frames;
-+ int i;
-+
-+ pa_assert(c);
-+ pa_assert(spec);
-+ pa_assert(pa_frame_aligned(c->length, spec));
-+ pa_assert(ramp);
-+
-+ length_in_frames = c->length / format_sample_size_table[spec->format] / spec->channels;
-+
-+ if (pa_memblock_is_silence(c->memblock)) {
-+ for (i = 0; i < ramp->channels; i++) {
-+ if (ramp->ramps[i].length > 0)
-+ ramp->ramps[i].length -= length_in_frames;
-+ }
-+ return;
-+ }
-+
-+ if (spec->format < 0 || spec->format >= PA_SAMPLE_MAX) {
-+ pa_log_warn("Unable to change volume of format");
-+ return;
-+ }
-+
-+ do_volume = pa_get_volume_func(spec->format);
-+ pa_assert(do_volume);
-+
-+ ptr = (uint8_t*) pa_memblock_acquire(c->memblock) + c->index;
-+
-+ for (i = 0; i < length_in_frames; i++) {
-+ calc_volume_ramps(ramp, vol);
-+ calc_volume_table_no_mapping[spec->format] ((void *)linear, vol, spec->channels);
-+
-+ /* we only process one frame per iteration */
-+ do_volume (ptr, (void *)linear, spec->channels, format_sample_size_table[spec->format] * spec->channels);
-+
-+ /* pa_log_debug("1: %d 2: %d", linear[0], linear[1]); */
-+
-+ ptr = (uint8_t*)ptr + format_sample_size_table[spec->format] * spec->channels;
-+ }
-+
-+ pa_memblock_release(c->memblock);
-+}
-+
-+pa_cvolume_ramp_int* pa_cvolume_ramp_convert(const pa_cvolume_ramp *src, pa_cvolume_ramp_int *dst, int sample_rate) {
-+
-+ int i, j, channels, remaining_channels;
-+ float temp;
-+
-+ if (dst->channels < src->channels) {
-+ channels = dst->channels;
-+ remaining_channels = 0;
-+ }
-+ else {
-+ channels = src->channels;
-+ remaining_channels = dst->channels;
-+ }
-+
-+ for (i = 0; i < channels; i++) {
-+ dst->ramps[i].type = src->ramps[i].type;
-+ /* ms to samples */
-+ dst->ramps[i].length = src->ramps[i].length * sample_rate / 1000;
-+ dst->ramps[i].left = dst->ramps[i].length;
-+ dst->ramps[i].start = dst->ramps[i].end;
-+ dst->ramps[i].target = src->ramps[i].target;
-+ /* scale to pulse internal mapping so that when ramp is over there's no glitch in volume */
-+ temp = src->ramps[i].target / (float)0x10000U;
-+ dst->ramps[i].end = temp * temp * temp;
-+ }
-+
-+ j = i;
-+
-+ for (i--; j < remaining_channels; j++) {
-+ dst->ramps[j].type = dst->ramps[i].type;
-+ dst->ramps[j].length = dst->ramps[i].length;
-+ dst->ramps[j].left = dst->ramps[i].left;
-+ dst->ramps[j].start = dst->ramps[i].start;
-+ dst->ramps[j].target = dst->ramps[i].target;
-+ dst->ramps[j].end = dst->ramps[i].end;
-+ }
-+
-+ return dst;
-+}
-+
-+bool pa_cvolume_ramp_active(pa_cvolume_ramp_int *ramp) {
-+ int i;
-+
-+ for (i = 0; i < ramp->channels; i++) {
-+ if (ramp->ramps[i].left > 0)
-+ return true;
-+ }
-+
-+ return false;
-+}
-+
-+bool pa_cvolume_ramp_target_active(pa_cvolume_ramp_int *ramp) {
-+ int i;
-+
-+ for (i = 0; i < ramp->channels; i++) {
-+ if (ramp->ramps[i].target != PA_VOLUME_NORM)
-+ return true;
-+ }
-+
-+ return false;
-+}
-+
-+pa_cvolume * pa_cvolume_ramp_get_targets(pa_cvolume_ramp_int *ramp, pa_cvolume *volume) {
-+ int i = 0;
-+
-+ volume->channels = ramp->channels;
-+
-+ for (i = 0; i < ramp->channels; i++)
-+ volume->values[i] = ramp->ramps[i].target;
-+
-+ return volume;
-+}
-+
-+pa_cvolume_ramp_int* pa_cvolume_ramp_start_from(pa_cvolume_ramp_int *src, pa_cvolume_ramp_int *dst) {
-+ int i;
-+
-+ for (i = 0; i < src->channels; i++) {
-+ /* if new vols are invalid, copy old ramp i.e. no effect */
-+ if (dst->ramps[i].target == PA_VOLUME_INVALID)
-+ dst->ramps[i] = src->ramps[i];
-+ /* if there's some old ramp still left */
-+ else if (src->ramps[i].left > 0)
-+ dst->ramps[i].start = src->ramps[i].curr;
-+ }
-+
-+ return dst;
-+}
-+
-+pa_cvolume_ramp_int* pa_cvolume_ramp_int_init(pa_cvolume_ramp_int *src, pa_volume_t vol, int channels) {
-+ int i;
-+ float temp;
-+
-+ src->channels = channels;
-+
-+ for (i = 0; i < channels; i++) {
-+ src->ramps[i].type = PA_VOLUME_RAMP_TYPE_LINEAR;
-+ src->ramps[i].length = 0;
-+ src->ramps[i].left = 0;
-+ if (vol == PA_VOLUME_NORM) {
-+ src->ramps[i].start = 1.0;
-+ src->ramps[i].end = 1.0;
-+ src->ramps[i].curr = 1.0;
-+ }
-+ else if (vol == PA_VOLUME_MUTED) {
-+ src->ramps[i].start = 0.0;
-+ src->ramps[i].end = 0.0;
-+ src->ramps[i].curr = 0.0;
-+ }
-+ else {
-+ temp = vol / (float)0x10000U;
-+ src->ramps[i].start = temp * temp * temp;
-+ src->ramps[i].end = src->ramps[i].start;
-+ src->ramps[i].curr = src->ramps[i].start;
-+ }
-+ src->ramps[i].target = vol;
-+ }
-+
-+ return src;
-+}
-diff --git a/src/pulsecore/mix.h b/src/pulsecore/mix.h
-index 8102bcd..0f86b6f 100644
---- a/src/pulsecore/mix.h
-+++ b/src/pulsecore/mix.h
-@@ -59,4 +59,31 @@ void pa_volume_memchunk(
- const pa_sample_spec *spec,
- const pa_cvolume *volume);
-
-+typedef struct pa_volume_ramp_int_t {
-+ pa_volume_ramp_type_t type;
-+ long length;
-+ long left;
-+ float start;
-+ float end;
-+ float curr;
-+ pa_volume_t target;
-+} pa_volume_ramp_int_t;
-+
-+typedef struct pa_cvolume_ramp_int {
-+ uint8_t channels;
-+ pa_volume_ramp_int_t ramps[PA_CHANNELS_MAX];
-+} pa_cvolume_ramp_int;
-+
-+pa_cvolume_ramp_int* pa_cvolume_ramp_convert(const pa_cvolume_ramp *src, pa_cvolume_ramp_int *dst, int sample_rate);
-+bool pa_cvolume_ramp_active(pa_cvolume_ramp_int *ramp);
-+bool pa_cvolume_ramp_target_active(pa_cvolume_ramp_int *ramp);
-+pa_cvolume_ramp_int* pa_cvolume_ramp_start_from(pa_cvolume_ramp_int *src, pa_cvolume_ramp_int *dst);
-+pa_cvolume_ramp_int* pa_cvolume_ramp_int_init(pa_cvolume_ramp_int *src, pa_volume_t vol, int channels);
-+pa_cvolume * pa_cvolume_ramp_get_targets(pa_cvolume_ramp_int *ramp, pa_cvolume *volume);
-+
-+void pa_volume_ramp_memchunk(
-+ pa_memchunk *c,
-+ const pa_sample_spec *spec,
-+ pa_cvolume_ramp_int *ramp);
-+
- #endif
diff --git a/meta-agl/meta-agl-profile-core/recipes-multimedia/pulseaudio/pulseaudio-12.2/0003-volume-ramp-adding-volume-ramping-to-sink-input.patch b/meta-agl/meta-agl-profile-core/recipes-multimedia/pulseaudio/pulseaudio-12.2/0003-volume-ramp-adding-volume-ramping-to-sink-input.patch
deleted file mode 100644
index eb485ca7..00000000
--- a/meta-agl/meta-agl-profile-core/recipes-multimedia/pulseaudio/pulseaudio-12.2/0003-volume-ramp-adding-volume-ramping-to-sink-input.patch
+++ /dev/null
@@ -1,189 +0,0 @@
-From e4469df7c69316b49cad93dd288badc98fa1cad5 Mon Sep 17 00:00:00 2001
-From: Sangchul Lee <sangchul1011@gmail.com>
-Date: Sat, 27 Aug 2016 21:33:17 +0900
-Subject: [PATCH 3/6] volume ramp: adding volume ramping to sink-input
-
-The original patch is
- - https://review.tizen.org/git/?p=platform/upstream/pulseaudio.git;a=commit;h=98042248fd67ce0ab3807c5c472c0d5d8b0f99d3
- - by Jaska Uimonen <jaska.uimonen <at> helsinki.fi>
-
-Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
----
- src/pulsecore/sink-input.c | 61 ++++++++++++++++++++++++++++++++++++++++++++++
- src/pulsecore/sink-input.h | 11 ++++++++-
- 2 files changed, 71 insertions(+), 1 deletion(-)
-
-diff --git a/src/pulsecore/sink-input.c b/src/pulsecore/sink-input.c
-index 8ec63b5..cc8953f 100644
---- a/src/pulsecore/sink-input.c
-+++ b/src/pulsecore/sink-input.c
-@@ -526,6 +526,11 @@ int pa_sink_input_new(
- reset_callbacks(i);
- i->userdata = NULL;
-
-+ if (data->flags & PA_SINK_INPUT_START_RAMP_MUTED)
-+ pa_cvolume_ramp_int_init(&i->ramp, PA_VOLUME_MUTED, data->sample_spec.channels);
-+ else
-+ pa_cvolume_ramp_int_init(&i->ramp, PA_VOLUME_NORM, data->sample_spec.channels);
-+
- i->thread_info.state = i->state;
- i->thread_info.attached = false;
- pa_atomic_store(&i->thread_info.drained, 1);
-@@ -542,6 +547,8 @@ int pa_sink_input_new(
- i->thread_info.playing_for = 0;
- i->thread_info.direct_outputs = pa_hashmap_new(pa_idxset_trivial_hash_func, pa_idxset_trivial_compare_func);
-
-+ i->thread_info.ramp = i->ramp;
-+
- pa_assert_se(pa_idxset_put(core->sink_inputs, i, &i->index) == 0);
- pa_assert_se(pa_idxset_put(i->sink->inputs, pa_sink_input_ref(i), NULL) == 0);
-
-@@ -923,6 +930,8 @@ void pa_sink_input_peek(pa_sink_input *i, size_t slength /* in sink bytes */, pa
- while (tchunk.length > 0) {
- pa_memchunk wchunk;
- bool nvfs = need_volume_factor_sink;
-+ pa_cvolume target;
-+ pa_bool_t tmp;
-
- wchunk = tchunk;
- pa_memblock_ref(wchunk.memblock);
-@@ -959,6 +968,16 @@ void pa_sink_input_peek(pa_sink_input *i, size_t slength /* in sink bytes */, pa
- pa_volume_memchunk(&wchunk, &i->sink->sample_spec, &i->volume_factor_sink);
- }
-
-+ /* check for possible volume ramp */
-+ if (pa_cvolume_ramp_active(&i->thread_info.ramp)) {
-+ pa_memchunk_make_writable(&wchunk, 0);
-+ pa_volume_ramp_memchunk(&wchunk, &i->sink->sample_spec, &(i->thread_info.ramp));
-+ } else if ((tmp = pa_cvolume_ramp_target_active(&(i->thread_info.ramp)))) {
-+ pa_memchunk_make_writable(&wchunk, 0);
-+ pa_cvolume_ramp_get_targets(&i->thread_info.ramp, &target);
-+ pa_volume_memchunk(&wchunk, &i->sink->sample_spec, &target);
-+ }
-+
- pa_memblockq_push_align(i->thread_info.render_memblockq, &wchunk);
- } else {
- pa_memchunk rchunk;
-@@ -975,6 +994,16 @@ void pa_sink_input_peek(pa_sink_input *i, size_t slength /* in sink bytes */, pa
- pa_volume_memchunk(&rchunk, &i->sink->sample_spec, &i->volume_factor_sink);
- }
-
-+ /* check for possible volume ramp */
-+ if (pa_cvolume_ramp_active(&(i->thread_info.ramp))) {
-+ pa_memchunk_make_writable(&rchunk, 0);
-+ pa_volume_ramp_memchunk(&rchunk, &i->sink->sample_spec, &(i->thread_info.ramp));
-+ } else if (pa_cvolume_ramp_target_active(&(i->thread_info.ramp))) {
-+ pa_memchunk_make_writable(&rchunk, 0);
-+ pa_cvolume_ramp_get_targets(&i->thread_info.ramp, &target);
-+ pa_volume_memchunk(&rchunk, &i->sink->sample_spec, &target);
-+ }
-+
- pa_memblockq_push_align(i->thread_info.render_memblockq, &rchunk);
- pa_memblock_unref(rchunk.memblock);
- }
-@@ -1339,6 +1368,31 @@ int pa_sink_input_remove_volume_factor(pa_sink_input *i, const char *key) {
- return 0;
- }
-
-+/* Called from main thread */
-+void pa_sink_input_set_volume_ramp(
-+ pa_sink_input *i,
-+ const pa_cvolume_ramp *ramp,
-+ pa_bool_t send_msg,
-+ pa_bool_t save) {
-+
-+ pa_sink_input_assert_ref(i);
-+ pa_assert_ctl_context();
-+ pa_assert(PA_SINK_INPUT_IS_LINKED(i->state));
-+ pa_assert(ramp);
-+
-+ pa_cvolume_ramp_convert(ramp, &i->ramp, i->sample_spec.rate);
-+
-+ pa_log_debug("setting volume ramp with target vol:%d and length:%ld",
-+ i->ramp.ramps[0].target,
-+ i->ramp.ramps[0].length);
-+
-+
-+ /* This tells the sink that volume ramp changed */
-+ if (send_msg)
-+ pa_assert_se(pa_asyncmsgq_send(i->sink->asyncmsgq, PA_MSGOBJECT(i), PA_SINK_INPUT_MESSAGE_SET_VOLUME_RAMP,
-+ NULL, 0, NULL) == 0);
-+}
-+
- /* Called from main context */
- static void set_real_ratio(pa_sink_input *i, const pa_cvolume *v) {
- pa_sink_input_assert_ref(i);
-@@ -1932,6 +1986,13 @@ int pa_sink_input_process_msg(pa_msgobject *o, int code, void *userdata, int64_t
- }
- return 0;
-
-+ case PA_SINK_INPUT_MESSAGE_SET_VOLUME_RAMP:
-+ /* we have ongoing ramp where we take current start values */
-+ pa_cvolume_ramp_start_from(&i->thread_info.ramp, &i->ramp);
-+ i->thread_info.ramp = i->ramp;
-+ pa_sink_input_request_rewind(i, 0, true, false, false);
-+ return 0;
-+
- case PA_SINK_INPUT_MESSAGE_SET_SOFT_MUTE:
- if (i->thread_info.muted != i->muted) {
- i->thread_info.muted = i->muted;
-diff --git a/src/pulsecore/sink-input.h b/src/pulsecore/sink-input.h
-index 86deab2..6e1b211 100644
---- a/src/pulsecore/sink-input.h
-+++ b/src/pulsecore/sink-input.h
-@@ -32,6 +32,7 @@
- #include <pulsecore/client.h>
- #include <pulsecore/sink.h>
- #include <pulsecore/core.h>
-+#include <pulsecore/mix.h>
-
- typedef enum pa_sink_input_state {
- PA_SINK_INPUT_INIT, /*< The stream is not active yet, because pa_sink_input_put() has not been called yet */
-@@ -58,7 +59,8 @@ typedef enum pa_sink_input_flags {
- PA_SINK_INPUT_DONT_INHIBIT_AUTO_SUSPEND = 256,
- PA_SINK_INPUT_NO_CREATE_ON_SUSPEND = 512,
- PA_SINK_INPUT_KILL_ON_SUSPEND = 1024,
-- PA_SINK_INPUT_PASSTHROUGH = 2048
-+ PA_SINK_INPUT_PASSTHROUGH = 2048,
-+ PA_SINK_INPUT_START_RAMP_MUTED = 4096,
- } pa_sink_input_flags_t;
-
- struct pa_sink_input {
-@@ -121,6 +123,9 @@ struct pa_sink_input {
- * this.*/
- bool save_sink:1, save_volume:1, save_muted:1;
-
-+ /* for volume ramps */
-+ pa_cvolume_ramp_int ramp;
-+
- pa_resample_method_t requested_resample_method, actual_resample_method;
-
- /* Returns the chunk of audio data and drops it from the
-@@ -249,6 +254,8 @@ struct pa_sink_input {
- pa_usec_t requested_sink_latency;
-
- pa_hashmap *direct_outputs;
-+
-+ pa_cvolume_ramp_int ramp;
- } thread_info;
-
- void *userdata;
-@@ -265,6 +272,7 @@ enum {
- PA_SINK_INPUT_MESSAGE_SET_STATE,
- PA_SINK_INPUT_MESSAGE_SET_REQUESTED_LATENCY,
- PA_SINK_INPUT_MESSAGE_GET_REQUESTED_LATENCY,
-+ PA_SINK_INPUT_MESSAGE_SET_VOLUME_RAMP,
- PA_SINK_INPUT_MESSAGE_MAX
- };
-
-@@ -370,6 +378,7 @@ void pa_sink_input_set_volume(pa_sink_input *i, const pa_cvolume *volume, bool s
- void pa_sink_input_add_volume_factor(pa_sink_input *i, const char *key, const pa_cvolume *volume_factor);
- int pa_sink_input_remove_volume_factor(pa_sink_input *i, const char *key);
- pa_cvolume *pa_sink_input_get_volume(pa_sink_input *i, pa_cvolume *volume, bool absolute);
-+void pa_sink_input_set_volume_ramp(pa_sink_input *i, const pa_cvolume_ramp *ramp, pa_bool_t send_msg, pa_bool_t save);
-
- void pa_sink_input_set_mute(pa_sink_input *i, bool mute, bool save);
-
---
-1.9.1
-
diff --git a/meta-agl/meta-agl-profile-core/recipes-multimedia/pulseaudio/pulseaudio-12.2/0004-sink-input-Code-cleanup-regarding-volume-ramping.patch b/meta-agl/meta-agl-profile-core/recipes-multimedia/pulseaudio/pulseaudio-12.2/0004-sink-input-Code-cleanup-regarding-volume-ramping.patch
deleted file mode 100644
index 64d7b141..00000000
--- a/meta-agl/meta-agl-profile-core/recipes-multimedia/pulseaudio/pulseaudio-12.2/0004-sink-input-Code-cleanup-regarding-volume-ramping.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-From 49d8943b151a73be3dd726561a720c0f4bfdccac Mon Sep 17 00:00:00 2001
-From: Sangchul Lee <sangchul1011@gmail.com>
-Date: Sat, 27 Aug 2016 21:33:18 +0900
-Subject: [PATCH 4/6] sink-input: Code cleanup regarding volume ramping
-
-Remove unused parameter of pa_sink_input_set_volume_ramp().
-Use bool instead of pa_bool_t.
-
-Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
----
- src/pulsecore/sink-input.c | 7 ++-----
- src/pulsecore/sink-input.h | 2 +-
- 2 files changed, 3 insertions(+), 6 deletions(-)
-
-diff --git a/src/pulsecore/sink-input.c b/src/pulsecore/sink-input.c
-index cc8953f..e1968e0 100644
---- a/src/pulsecore/sink-input.c
-+++ b/src/pulsecore/sink-input.c
-@@ -931,7 +931,6 @@ void pa_sink_input_peek(pa_sink_input *i, size_t slength /* in sink bytes */, pa
- pa_memchunk wchunk;
- bool nvfs = need_volume_factor_sink;
- pa_cvolume target;
-- pa_bool_t tmp;
-
- wchunk = tchunk;
- pa_memblock_ref(wchunk.memblock);
-@@ -972,7 +971,7 @@ void pa_sink_input_peek(pa_sink_input *i, size_t slength /* in sink bytes */, pa
- if (pa_cvolume_ramp_active(&i->thread_info.ramp)) {
- pa_memchunk_make_writable(&wchunk, 0);
- pa_volume_ramp_memchunk(&wchunk, &i->sink->sample_spec, &(i->thread_info.ramp));
-- } else if ((tmp = pa_cvolume_ramp_target_active(&(i->thread_info.ramp)))) {
-+ } else if ((pa_cvolume_ramp_target_active(&(i->thread_info.ramp)))) {
- pa_memchunk_make_writable(&wchunk, 0);
- pa_cvolume_ramp_get_targets(&i->thread_info.ramp, &target);
- pa_volume_memchunk(&wchunk, &i->sink->sample_spec, &target);
-@@ -1372,9 +1371,7 @@ int pa_sink_input_remove_volume_factor(pa_sink_input *i, const char *key) {
- void pa_sink_input_set_volume_ramp(
- pa_sink_input *i,
- const pa_cvolume_ramp *ramp,
-- pa_bool_t send_msg,
-- pa_bool_t save) {
--
-+ bool send_msg) {
- pa_sink_input_assert_ref(i);
- pa_assert_ctl_context();
- pa_assert(PA_SINK_INPUT_IS_LINKED(i->state));
-diff --git a/src/pulsecore/sink-input.h b/src/pulsecore/sink-input.h
-index 6e1b211..92f61c3 100644
---- a/src/pulsecore/sink-input.h
-+++ b/src/pulsecore/sink-input.h
-@@ -378,7 +378,7 @@ void pa_sink_input_set_volume(pa_sink_input *i, const pa_cvolume *volume, bool s
- void pa_sink_input_add_volume_factor(pa_sink_input *i, const char *key, const pa_cvolume *volume_factor);
- int pa_sink_input_remove_volume_factor(pa_sink_input *i, const char *key);
- pa_cvolume *pa_sink_input_get_volume(pa_sink_input *i, pa_cvolume *volume, bool absolute);
--void pa_sink_input_set_volume_ramp(pa_sink_input *i, const pa_cvolume_ramp *ramp, pa_bool_t send_msg, pa_bool_t save);
-+void pa_sink_input_set_volume_ramp(pa_sink_input *i, const pa_cvolume_ramp *ramp, bool send_msg);
-
- void pa_sink_input_set_mute(pa_sink_input *i, bool mute, bool save);
-
---
-1.9.1
-
diff --git a/meta-agl/meta-agl-profile-core/recipes-multimedia/pulseaudio/pulseaudio-12.2/0005-sink-input-volume-Add-support-for-volume-ramp-factor.patch b/meta-agl/meta-agl-profile-core/recipes-multimedia/pulseaudio/pulseaudio-12.2/0005-sink-input-volume-Add-support-for-volume-ramp-factor.patch
deleted file mode 100644
index e371b7ec..00000000
--- a/meta-agl/meta-agl-profile-core/recipes-multimedia/pulseaudio/pulseaudio-12.2/0005-sink-input-volume-Add-support-for-volume-ramp-factor.patch
+++ /dev/null
@@ -1,299 +0,0 @@
-From a98e78ccc4f12d6efad2832a09202651e2a8b6cd Mon Sep 17 00:00:00 2001
-From: Sangchul Lee <sangchul1011@gmail.com>
-Date: Sat, 27 Aug 2016 21:33:19 +0900
-Subject: [PATCH 5/6] sink-input, volume: Add support for volume ramp factor
-
-Previously, using pa_sink_input_set_volume_ramp() is hard to manage
-if there are several callers. These new volume ramp factor APIs make it
-easy for caller to use and to set more than one volume ramp factor.
-New volume ramp factor will be applied by the multiplication of the other
-ramp factors that have been already set.
-
-APIs are added as below.
- - pa_sink_input_add_volume_ramp_factor()
- - pa_sink_input_remove_volume_ramp_factor()
- - pa_cvolume_ramp_compatible()
- - pa_sw_cvolume_ramp_multiply()
- - pa_cvolume_ramp_valid()
-
-Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
----
- src/map-file | 3 ++
- src/pulse/volume.c | 44 ++++++++++++++++++
- src/pulse/volume.h | 9 ++++
- src/pulsecore/sink-input.c | 108 +++++++++++++++++++++++++++++++++++++++++++++
- src/pulsecore/sink-input.h | 5 +++
- 5 files changed, 169 insertions(+)
-
-diff --git a/src/map-file b/src/map-file
-index ef9b57d..7577c14 100644
---- a/src/map-file
-+++ b/src/map-file
-@@ -142,6 +142,8 @@ pa_cvolume_ramp_equal;
- pa_cvolume_ramp_init;
- pa_cvolume_ramp_set;
- pa_cvolume_ramp_channel_ramp_set;
-+pa_cvolume_ramp_compatible;
-+pa_cvolume_ramp_valid;
- pa_cvolume_remap;
- pa_cvolume_scale;
- pa_cvolume_scale_mask;
-@@ -344,6 +346,7 @@ pa_sw_cvolume_divide_scalar;
- pa_sw_cvolume_multiply;
- pa_sw_cvolume_multiply_scalar;
- pa_sw_cvolume_snprint_dB;
-+pa_sw_cvolume_ramp_multiply;
- pa_sw_volume_divide;
- pa_sw_volume_from_dB;
- pa_sw_volume_from_linear;
-diff --git a/src/pulse/volume.c b/src/pulse/volume.c
-index 85072c1..8d99150 100644
---- a/src/pulse/volume.c
-+++ b/src/pulse/volume.c
-@@ -1049,3 +1049,47 @@ pa_cvolume_ramp* pa_cvolume_ramp_channel_ramp_set(pa_cvolume_ramp *ramp, unsigne
-
- return ramp;
- }
-+
-+int pa_cvolume_ramp_compatible(const pa_cvolume_ramp *ramp, const pa_sample_spec *ss) {
-+
-+ pa_assert(ramp);
-+ pa_assert(ss);
-+
-+ pa_return_val_if_fail(pa_cvolume_ramp_valid(ramp), 0);
-+ pa_return_val_if_fail(pa_sample_spec_valid(ss), 0);
-+
-+ return ramp->channels == ss->channels;
-+}
-+
-+pa_cvolume_ramp *pa_sw_cvolume_ramp_multiply(pa_cvolume_ramp *dest, const pa_cvolume_ramp *a, const pa_cvolume_ramp *b) {
-+ unsigned i;
-+
-+ pa_assert(dest);
-+ pa_assert(a);
-+ pa_assert(b);
-+
-+ pa_return_val_if_fail(pa_cvolume_ramp_valid(a), NULL);
-+ pa_return_val_if_fail(pa_cvolume_ramp_valid(b), NULL);
-+
-+ for (i = 0; i < a->channels && i < b->channels; i++)
-+ dest->ramps[i].target = pa_sw_volume_multiply(a->ramps[i].target, b->ramps[i].target);
-+
-+ dest->channels = (uint8_t) i;
-+
-+ return dest;
-+}
-+
-+int pa_cvolume_ramp_valid(const pa_cvolume_ramp *ramp) {
-+ unsigned c;
-+
-+ pa_assert(ramp);
-+
-+ if (!pa_channels_valid(ramp->channels))
-+ return 0;
-+
-+ for (c = 0; c < ramp->channels; c++)
-+ if (!PA_VOLUME_IS_VALID(ramp->ramps[c].target))
-+ return 0;
-+
-+ return 1;
-+}
-diff --git a/src/pulse/volume.h b/src/pulse/volume.h
-index 2ae3451..65fcb08 100644
---- a/src/pulse/volume.h
-+++ b/src/pulse/volume.h
-@@ -458,12 +458,21 @@ int pa_cvolume_ramp_equal(const pa_cvolume_ramp *a, const pa_cvolume_ramp *b);
- /** Init volume ramp struct */
- pa_cvolume_ramp* pa_cvolume_ramp_init(pa_cvolume_ramp *ramp);
-
-+/** Set the volume ramp of the first n channels to PA_VOLUME_NORM */
-+#define pa_cvolume_ramp_reset(a, n, t, l) pa_cvolume_ramp_set((a), (n), (t), (l), PA_VOLUME_NORM)
-+
- /** Set first n channels of ramp struct to certain value */
- pa_cvolume_ramp* pa_cvolume_ramp_set(pa_cvolume_ramp *ramp, unsigned channel, pa_volume_ramp_type_t type, long time, pa_volume_t vol);
-
- /** Set individual channel in the channel struct */
- pa_cvolume_ramp* pa_cvolume_ramp_channel_ramp_set(pa_cvolume_ramp *ramp, unsigned channel, pa_volume_ramp_type_t type, long time, pa_volume_t vol);
-
-+int pa_cvolume_ramp_compatible(const pa_cvolume_ramp *ramp, const pa_sample_spec *ss);
-+
-+int pa_cvolume_ramp_valid(const pa_cvolume_ramp *ramp);
-+
-+pa_cvolume_ramp *pa_sw_cvolume_ramp_multiply(pa_cvolume_ramp *dest, const pa_cvolume_ramp *a, const pa_cvolume_ramp *b);
-+
- PA_C_DECL_END
-
- #endif
-diff --git a/src/pulsecore/sink-input.c b/src/pulsecore/sink-input.c
-index e1968e0..6f89aa1 100644
---- a/src/pulsecore/sink-input.c
-+++ b/src/pulsecore/sink-input.c
-@@ -53,6 +53,11 @@ struct volume_factor_entry {
- pa_cvolume volume;
- };
-
-+struct volume_ramp_factor_entry {
-+ char *key;
-+ pa_cvolume_ramp ramp;
-+};
-+
- static struct volume_factor_entry *volume_factor_entry_new(const char *key, const pa_cvolume *volume) {
- struct volume_factor_entry *entry;
-
-@@ -83,6 +88,37 @@ static void volume_factor_from_hashmap(pa_cvolume *v, pa_hashmap *items, uint8_t
- pa_sw_cvolume_multiply(v, v, &entry->volume);
- }
-
-+static struct volume_ramp_factor_entry *volume_ramp_factor_entry_new(const char *key, const pa_cvolume_ramp *ramp) {
-+ struct volume_ramp_factor_entry *entry;
-+
-+ pa_assert(key);
-+ pa_assert(ramp);
-+
-+ entry = pa_xnew(struct volume_ramp_factor_entry, 1);
-+ entry->key = pa_xstrdup(key);
-+
-+ entry->ramp = *ramp;
-+
-+ return entry;
-+}
-+
-+static void volume_ramp_factor_entry_free(struct volume_ramp_factor_entry *ramp_entry) {
-+ pa_assert(ramp_entry);
-+
-+ pa_xfree(ramp_entry->key);
-+ pa_xfree(ramp_entry);
-+}
-+
-+static void volume_ramp_factor_from_hashmap(pa_cvolume_ramp *r, pa_hashmap *items, uint8_t channels, pa_volume_ramp_type_t type, long length) {
-+ struct volume_ramp_factor_entry *entry;
-+ void *state = NULL;
-+
-+ pa_cvolume_ramp_reset(r, channels, type, length);
-+ PA_HASHMAP_FOREACH(entry, items, state)
-+ pa_sw_cvolume_ramp_multiply(r, r, &entry->ramp);
-+
-+}
-+
- static void sink_input_free(pa_object *o);
- static void set_real_ratio(pa_sink_input *i, const pa_cvolume *v);
-
-@@ -500,6 +536,8 @@ int pa_sink_input_new(
- i->volume_factor_sink_items = data->volume_factor_sink_items;
- data->volume_factor_sink_items = NULL;
- volume_factor_from_hashmap(&i->volume_factor_sink, i->volume_factor_sink_items, i->sink->sample_spec.channels);
-+ i->ramp_factor_items = pa_hashmap_new_full(pa_idxset_string_hash_func, pa_idxset_string_compare_func, NULL,
-+ (pa_free_cb_t) volume_ramp_factor_entry_free);
-
- i->real_ratio = i->reference_ratio = data->volume;
- pa_cvolume_reset(&i->soft_volume, i->sample_spec.channels);
-@@ -764,6 +802,9 @@ static void sink_input_free(pa_object *o) {
- if (i->volume_factor_sink_items)
- pa_hashmap_free(i->volume_factor_sink_items);
-
-+ if (i->ramp_factor_items)
-+ pa_hashmap_free(i->ramp_factor_items);
-+
- pa_xfree(i->driver);
- pa_xfree(i);
- }
-@@ -1367,6 +1408,73 @@ int pa_sink_input_remove_volume_factor(pa_sink_input *i, const char *key) {
- return 0;
- }
-
-+void pa_sink_input_add_volume_ramp_factor(pa_sink_input *i, const char *key, const pa_cvolume_ramp *ramp_factor, bool send_msg) {
-+ struct volume_ramp_factor_entry *r;
-+
-+ pa_sink_input_assert_ref(i);
-+ pa_assert_ctl_context();
-+ pa_assert(PA_SINK_INPUT_IS_LINKED(i->state));
-+ pa_assert(ramp_factor);
-+ pa_assert(key);
-+ pa_assert(pa_cvolume_ramp_valid(ramp_factor));
-+ pa_assert(ramp_factor->channels == 1 || pa_cvolume_ramp_compatible(ramp_factor, &i->sample_spec));
-+
-+ r = volume_ramp_factor_entry_new(key, ramp_factor);
-+ if (!pa_cvolume_ramp_compatible(ramp_factor, &i->sample_spec))
-+ pa_cvolume_ramp_set(&r->ramp, i->sample_spec.channels, ramp_factor->ramps[0].type, ramp_factor->ramps[0].length, ramp_factor->ramps[0].target);
-+
-+ pa_assert_se(pa_hashmap_put(i->ramp_factor_items, r->key, r) >= 0);
-+ if (pa_hashmap_size(i->ramp_factor_items) == 1)
-+ pa_cvolume_ramp_set(&i->ramp_factor, i->sample_spec.channels, r->ramp.ramps[0].type, r->ramp.ramps[0].length, r->ramp.ramps[0].target);
-+ else
-+ pa_sw_cvolume_ramp_multiply(&i->ramp_factor, &i->ramp_factor, &r->ramp);
-+
-+ pa_cvolume_ramp_convert(&i->ramp_factor, &i->ramp, i->sample_spec.rate);
-+
-+ if (send_msg)
-+ pa_assert_se(pa_asyncmsgq_send(i->sink->asyncmsgq, PA_MSGOBJECT(i), PA_SINK_INPUT_MESSAGE_SET_VOLUME_RAMP, NULL, 0, NULL) == 0);
-+
-+ return 0;
-+}
-+
-+/* Returns 0 if an entry was removed and -1 if no entry for the given key was
-+ * found. */
-+int pa_sink_input_remove_volume_ramp_factor(pa_sink_input *i, const char *key, bool send_msg) {
-+ struct volume_ramp_factor_entry *r;
-+
-+ pa_sink_input_assert_ref(i);
-+ pa_assert(key);
-+ pa_assert_ctl_context();
-+ pa_assert(PA_SINK_INPUT_IS_LINKED(i->state));
-+
-+ r = pa_hashmap_remove(i->ramp_factor_items, key);
-+ if (!r)
-+ return -1;
-+
-+ switch (pa_hashmap_size(i->ramp_factor_items)) {
-+ case 0:
-+ pa_cvolume_ramp_reset(&i->ramp_factor, i->sample_spec.channels, r->ramp.ramps[0].type, r->ramp.ramps[0].length);
-+ break;
-+ case 1: {
-+ struct volume_ramp_factor_entry *rf;
-+ rf = pa_hashmap_first(i->ramp_factor_items);
-+ pa_cvolume_ramp_set(&i->ramp_factor, i->sample_spec.channels, r->ramp.ramps[0].type, r->ramp.ramps[0].length, rf->ramp.ramps[0].target);
-+ break;
-+ }
-+ default:
-+ volume_ramp_factor_from_hashmap(&i->ramp_factor, i->ramp_factor_items, i->ramp_factor.channels, i->ramp_factor.ramps[0].type, i->ramp_factor.ramps[0].length);
-+ }
-+
-+ volume_ramp_factor_entry_free(r);
-+
-+ pa_cvolume_ramp_convert(&i->ramp_factor, &i->ramp, i->sample_spec.rate);
-+
-+ if (send_msg)
-+ pa_assert_se(pa_asyncmsgq_send(i->sink->asyncmsgq, PA_MSGOBJECT(i), PA_SINK_INPUT_MESSAGE_SET_VOLUME_RAMP, NULL, 0, NULL) == 0);
-+
-+ return 0;
-+}
-+
- /* Called from main thread */
- void pa_sink_input_set_volume_ramp(
- pa_sink_input *i,
-diff --git a/src/pulsecore/sink-input.h b/src/pulsecore/sink-input.h
-index 92f61c3..5430d53 100644
---- a/src/pulsecore/sink-input.h
-+++ b/src/pulsecore/sink-input.h
-@@ -113,6 +113,9 @@ struct pa_sink_input {
- pa_cvolume volume_factor_sink; /* A second volume factor in format of the sink this stream is connected to. */
- pa_hashmap *volume_factor_sink_items;
-
-+ pa_cvolume_ramp ramp_factor;
-+ pa_hashmap *ramp_factor_items;
-+
- bool volume_writable:1;
-
- bool muted:1;
-@@ -379,6 +382,8 @@ void pa_sink_input_add_volume_factor(pa_sink_input *i, const char *key, const pa
- int pa_sink_input_remove_volume_factor(pa_sink_input *i, const char *key);
- pa_cvolume *pa_sink_input_get_volume(pa_sink_input *i, pa_cvolume *volume, bool absolute);
- void pa_sink_input_set_volume_ramp(pa_sink_input *i, const pa_cvolume_ramp *ramp, bool send_msg);
-+void pa_sink_input_add_volume_ramp_factor(pa_sink_input *i, const char *key, const pa_cvolume_ramp *ramp_factor, bool send_msg);
-+int pa_sink_input_remove_volume_ramp_factor(pa_sink_input *i, const char *key, bool send_msg);
-
- void pa_sink_input_set_mute(pa_sink_input *i, bool mute, bool save);
-
---
-1.9.1
-
diff --git a/meta-agl/meta-agl-profile-core/recipes-multimedia/pulseaudio/pulseaudio-12.2/0006-sink-input-Remove-pa_sink_input_set_volume_ramp.patch b/meta-agl/meta-agl-profile-core/recipes-multimedia/pulseaudio/pulseaudio-12.2/0006-sink-input-Remove-pa_sink_input_set_volume_ramp.patch
deleted file mode 100644
index 50110bd1..00000000
--- a/meta-agl/meta-agl-profile-core/recipes-multimedia/pulseaudio/pulseaudio-12.2/0006-sink-input-Remove-pa_sink_input_set_volume_ramp.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-From ac9a99505fd768b66dd92e9091e80b576cabc00d Mon Sep 17 00:00:00 2001
-From: Sangchul Lee <sangchul1011@gmail.com>
-Date: Sat, 27 Aug 2016 21:33:20 +0900
-Subject: [PATCH 6/6] sink-input: Remove pa_sink_input_set_volume_ramp()
-
-Please use pa_sink_input_add_volume_ramp_factor() or
-pa_sink_input_remove_volume_ramp_factor() instead of it.
-
-Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
----
- src/pulsecore/sink-input.c | 23 -----------------------
- src/pulsecore/sink-input.h | 1 -
- 2 files changed, 24 deletions(-)
-
-diff --git a/src/pulsecore/sink-input.c b/src/pulsecore/sink-input.c
-index 6f89aa1..4c7c568 100644
---- a/src/pulsecore/sink-input.c
-+++ b/src/pulsecore/sink-input.c
-@@ -1475,29 +1475,6 @@ int pa_sink_input_remove_volume_ramp_factor(pa_sink_input *i, const char *key, b
- return 0;
- }
-
--/* Called from main thread */
--void pa_sink_input_set_volume_ramp(
-- pa_sink_input *i,
-- const pa_cvolume_ramp *ramp,
-- bool send_msg) {
-- pa_sink_input_assert_ref(i);
-- pa_assert_ctl_context();
-- pa_assert(PA_SINK_INPUT_IS_LINKED(i->state));
-- pa_assert(ramp);
--
-- pa_cvolume_ramp_convert(ramp, &i->ramp, i->sample_spec.rate);
--
-- pa_log_debug("setting volume ramp with target vol:%d and length:%ld",
-- i->ramp.ramps[0].target,
-- i->ramp.ramps[0].length);
--
--
-- /* This tells the sink that volume ramp changed */
-- if (send_msg)
-- pa_assert_se(pa_asyncmsgq_send(i->sink->asyncmsgq, PA_MSGOBJECT(i), PA_SINK_INPUT_MESSAGE_SET_VOLUME_RAMP,
-- NULL, 0, NULL) == 0);
--}
--
- /* Called from main context */
- static void set_real_ratio(pa_sink_input *i, const pa_cvolume *v) {
- pa_sink_input_assert_ref(i);
-diff --git a/src/pulsecore/sink-input.h b/src/pulsecore/sink-input.h
-index 5430d53..5fef3d5 100644
---- a/src/pulsecore/sink-input.h
-+++ b/src/pulsecore/sink-input.h
-@@ -381,7 +381,6 @@ void pa_sink_input_set_volume(pa_sink_input *i, const pa_cvolume *volume, bool s
- void pa_sink_input_add_volume_factor(pa_sink_input *i, const char *key, const pa_cvolume *volume_factor);
- int pa_sink_input_remove_volume_factor(pa_sink_input *i, const char *key);
- pa_cvolume *pa_sink_input_get_volume(pa_sink_input *i, pa_cvolume *volume, bool absolute);
--void pa_sink_input_set_volume_ramp(pa_sink_input *i, const pa_cvolume_ramp *ramp, bool send_msg);
- void pa_sink_input_add_volume_ramp_factor(pa_sink_input *i, const char *key, const pa_cvolume_ramp *ramp_factor, bool send_msg);
- int pa_sink_input_remove_volume_ramp_factor(pa_sink_input *i, const char *key, bool send_msg);
-
---
-1.9.1
-
diff --git a/meta-agl/meta-agl-profile-core/recipes-multimedia/pulseaudio/pulseaudio-12.2/enable-ofono-hfp-backend.patch b/meta-agl/meta-agl-profile-core/recipes-multimedia/pulseaudio/pulseaudio-12.2/enable-ofono-hfp-backend.patch
deleted file mode 100644
index 85b1ae03..00000000
--- a/meta-agl/meta-agl-profile-core/recipes-multimedia/pulseaudio/pulseaudio-12.2/enable-ofono-hfp-backend.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- pulseaudio-9.0/src/daemon/default.pa.in.orig 2017-05-17 17:26:20.415369638 +0000
-+++ pulseaudio-9.0/src/daemon/default.pa.in 2017-05-17 17:26:49.995316383 +0000
-@@ -82,7 +82,7 @@
- .endif
-
- .ifexists module-bluetooth-discover@PA_SOEXT@
--load-module module-bluetooth-discover
-+load-module module-bluetooth-discover headset=ofono
- .endif
- ])dnl
-
diff --git a/meta-agl/meta-agl-profile-core/recipes-multimedia/pulseaudio/pulseaudio_%.bbappend b/meta-agl/meta-agl-profile-core/recipes-multimedia/pulseaudio/pulseaudio_%.bbappend
deleted file mode 100644
index 6d7347d9..00000000
--- a/meta-agl/meta-agl-profile-core/recipes-multimedia/pulseaudio/pulseaudio_%.bbappend
+++ /dev/null
@@ -1,29 +0,0 @@
-FILESEXTRAPATHS_append := ":${THISDIR}/${PN}"
-
-inherit systemd
-
-do_install_append() {
- # Install pulseaudio systemd service
- if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
- install -m 644 -p -D ${WORKDIR}/build/src/pulseaudio.service ${D}${systemd_user_unitdir}/pulseaudio.service
- install -m 644 -p -D ${WORKDIR}/pulseaudio-${PV}/src/daemon/systemd/user/pulseaudio.socket ${D}${systemd_user_unitdir}/pulseaudio.socket
-
- # Execute these manually on behalf of systemctl script (from systemd-systemctl-native.bb)
- # because it does not support systemd's user mode.
- install -d ${D}${systemd_user_unitdir}/sockets.target.wants/
- ln -sf ${systemd_user_unitdir}/pulseaudio.socket ${D}${systemd_user_unitdir}/sockets.target.wants/
-
- install -d ${D}${systemd_user_unitdir}/default.target.wants/
- ln -sf ${systemd_user_unitdir}/pulseaudio.service ${D}${systemd_user_unitdir}/default.target.wants/
- fi
- mkdir -p ${D}/${bindir}
- install -m 755 -p -D ${WORKDIR}/build/src/.libs/pacat ${D}/${bindir}/
-}
-
-FILES_${PN}-server += " \
- ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '${systemd_user_unitdir}/pulseaudio.socket', '', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '${systemd_user_unitdir}/sockets.target.wants/pulseaudio.socket', '', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '${systemd_user_unitdir}/pulseaudio.service', '', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '${systemd_user_unitdir}/default.target.wants/pulseaudio.service', '', d)} \
-"
-
diff --git a/meta-agl/meta-agl-profile-core/recipes-multimedia/pulseaudio/pulseaudio_12.2.bbappend b/meta-agl/meta-agl-profile-core/recipes-multimedia/pulseaudio/pulseaudio_12.2.bbappend
deleted file mode 100644
index 74610040..00000000
--- a/meta-agl/meta-agl-profile-core/recipes-multimedia/pulseaudio/pulseaudio_12.2.bbappend
+++ /dev/null
@@ -1,15 +0,0 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}-${PV}:"
-
-SRC_URI += " \
- file://0001-install-files-for-a-module-development.patch \
- file://0002-volume-ramp-additions-to-the-low-level-infra.patch \
- file://0003-volume-ramp-adding-volume-ramping-to-sink-input.patch \
- file://0004-sink-input-Code-cleanup-regarding-volume-ramping.patch \
- file://0005-sink-input-volume-Add-support-for-volume-ramp-factor.patch \
- file://0006-sink-input-Remove-pa_sink_input_set_volume_ramp.patch;apply=no \
- file://enable-ofono-hfp-backend.patch \
-"
-
-PACKAGES =+ " pulseaudio-module-dev"
-
-FILES_pulseaudio-module-dev = "${includedir}/pulsemodule/* ${libdir}/pkgconfig/pulseaudio-module-devel.pc"
diff --git a/meta-agl/meta-agl-profile-core/recipes-platform/images/agl-image-minimal-crosssdk.bb b/meta-agl/meta-agl-profile-core/recipes-platform/images/agl-image-minimal-crosssdk.bb
index 27c1ee6d..8c5aae1b 100755..100644
--- a/meta-agl/meta-agl-profile-core/recipes-platform/images/agl-image-minimal-crosssdk.bb
+++ b/meta-agl/meta-agl-profile-core/recipes-platform/images/agl-image-minimal-crosssdk.bb
@@ -8,23 +8,7 @@ require agl-image-minimal.bb
LICENSE = "MIT"
-IMAGE_FEATURES_append = " dev-pkgs"
-IMAGE_INSTALL_append = " kernel-dev kernel-devsrc"
-
-# required dependencies for app and test builds
-# also in the minimal image (SPEC-1678)
-TOOLCHAIN_HOST_TASK += " \
- nativesdk-lua \
- "
-
-# required dependencies for app and test builds
-# also in the minimal image (SPEC-1678)
-TOOLCHAIN_TARGET_TASK += " \
- lua-dev \
- lua-staticdev \
- libafb-helpers-staticdev \
- libappcontroller-staticdev \
- "
+require agl-image-minimal-crosssdk.inc
inherit populate_sdk
@@ -32,4 +16,3 @@ inherit populate_sdk
# Both exec "createrepo" on the same directory, and so one of them
# can failed (randomly).
addtask do_populate_sdk after do_rootfs
-
diff --git a/meta-agl/meta-agl-profile-core/recipes-platform/images/agl-image-minimal-crosssdk.inc b/meta-agl/meta-agl-profile-core/recipes-platform/images/agl-image-minimal-crosssdk.inc
new file mode 100644
index 00000000..71812943
--- /dev/null
+++ b/meta-agl/meta-agl-profile-core/recipes-platform/images/agl-image-minimal-crosssdk.inc
@@ -0,0 +1,18 @@
+IMAGE_FEATURES_append = " dev-pkgs"
+IMAGE_INSTALL_append = " kernel-dev kernel-devsrc"
+
+# Always include the test widgets
+IMAGE_FEATURES_append = " agl-test-wgt"
+
+# Required dependencies for app and test builds
+TOOLCHAIN_HOST_TASK += " \
+ nativesdk-lua \
+ "
+
+# Required dependencies for app and test builds
+TOOLCHAIN_TARGET_TASK += " \
+ lua-dev \
+ lua-staticdev \
+ libafb-helpers-staticdev \
+ libappcontroller-staticdev \
+ "
diff --git a/meta-agl/meta-agl-profile-core/recipes-platform/packagegroups/packagegroup-agl-core-boot.bb b/meta-agl/meta-agl-profile-core/recipes-platform/packagegroups/packagegroup-agl-core-boot.bb
index 690dc9e1..1633fedd 100644
--- a/meta-agl/meta-agl-profile-core/recipes-platform/packagegroups/packagegroup-agl-core-boot.bb
+++ b/meta-agl/meta-agl-profile-core/recipes-platform/packagegroups/packagegroup-agl-core-boot.bb
@@ -34,7 +34,6 @@ RDEPENDS_${PN} = "\
base-files \
base-passwd \
busybox \
- distro-build-manifest \
rng-tools \
run-agl-postinsts \
${@bb.utils.contains("DISTRO_FEATURES", "sysvinit", "${SYSVINIT_SCRIPTS}", "", d)} \
diff --git a/meta-agl/meta-agl-profile-core/recipes-platform/packagegroups/packagegroup-agl-core-services.bb b/meta-agl/meta-agl-profile-core/recipes-platform/packagegroups/packagegroup-agl-core-services.bb
index b6f8f07c..2fd31d14 100644
--- a/meta-agl/meta-agl-profile-core/recipes-platform/packagegroups/packagegroup-agl-core-services.bb
+++ b/meta-agl/meta-agl-profile-core/recipes-platform/packagegroups/packagegroup-agl-core-services.bb
@@ -7,10 +7,8 @@ PACKAGES = "\
packagegroup-agl-core-services \
"
-ALLOW_EMPTY_${PN} = "1"
-
RDEPENDS_${PN} += "\
-agl-service-data-persistence \
-agl-service-network \
-agl-service-platform-info \
+ agl-service-data-persistence \
+ agl-service-network \
+ agl-service-platform-info \
"
diff --git a/meta-agl/meta-agl-profile-core/recipes-support/curl/curl/0001-replace-krb5-config-with-pkg-config.patch b/meta-agl/meta-agl-profile-core/recipes-support/curl/curl/0001-replace-krb5-config-with-pkg-config.patch
deleted file mode 100644
index a7db1b3c..00000000
--- a/meta-agl/meta-agl-profile-core/recipes-support/curl/curl/0001-replace-krb5-config-with-pkg-config.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From ed70f0623708b8a6c1f58a5d243d87c5ff45b24d Mon Sep 17 00:00:00 2001
-From: Roy Li <rongqing.li@windriver.com>
-Date: Tue, 26 Apr 2016 13:13:01 +0800
-Subject: [PATCH] replace krb5-config with pkg-config
-
-Upstream-Status: Pending
-
-Signed-off-by: Roy Li <rongqing.li@windriver.com>
-
----
- configure.ac | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 5569a26..56b0380 100755
---- a/configure.ac
-+++ b/configure.ac
-@@ -1290,7 +1290,7 @@ AC_ARG_WITH(gssapi,
- fi
- ])
-
--: ${KRB5CONFIG:="$GSSAPI_ROOT/bin/krb5-config"}
-+KRB5CONFIG=`which pkg-config`
-
- save_CPPFLAGS="$CPPFLAGS"
- AC_MSG_CHECKING([if GSS-API support is requested])
-@@ -1301,7 +1301,7 @@ if test x"$want_gss" = xyes; then
- if test -n "$host_alias" -a -f "$GSSAPI_ROOT/bin/$host_alias-krb5-config"; then
- GSSAPI_INCS=`$GSSAPI_ROOT/bin/$host_alias-krb5-config --cflags gssapi`
- elif test -f "$KRB5CONFIG"; then
-- GSSAPI_INCS=`$KRB5CONFIG --cflags gssapi`
-+ GSSAPI_INCS=`$KRB5CONFIG --cflags mit-krb5-gssapi`
- elif test "$GSSAPI_ROOT" != "yes"; then
- GSSAPI_INCS="-I$GSSAPI_ROOT/include"
- fi
-@@ -1394,7 +1394,7 @@ if test x"$want_gss" = xyes; then
- elif test -f "$KRB5CONFIG"; then
- dnl krb5-config doesn't have --libs-only-L or similar, put everything
- dnl into LIBS
-- gss_libs=`$KRB5CONFIG --libs gssapi`
-+ gss_libs=`$KRB5CONFIG --libs mit-krb5-gssapi`
- LIBS="$gss_libs $LIBS"
- else
- case $host in
diff --git a/meta-agl/meta-agl-profile-core/recipes-support/curl/curl_7.66.0.bb b/meta-agl/meta-agl-profile-core/recipes-support/curl/curl_7.66.0.bb
deleted file mode 100644
index d1975f24..00000000
--- a/meta-agl/meta-agl-profile-core/recipes-support/curl/curl_7.66.0.bb
+++ /dev/null
@@ -1,80 +0,0 @@
-SUMMARY = "Command line tool and library for client-side URL transfers"
-HOMEPAGE = "http://curl.haxx.se/"
-BUGTRACKER = "http://curl.haxx.se/mail/list.cgi?list=curl-tracker"
-SECTION = "console/network"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=be5d9e1419c4363f4b32037a2d3b7ffa"
-
-SRC_URI = "http://curl.haxx.se/download/curl-${PV}.tar.bz2 \
- file://0001-replace-krb5-config-with-pkg-config.patch \
-"
-
-SRC_URI[md5sum] = "c238aa394e3aa47ca4fcb0491774149f"
-SRC_URI[sha256sum] = "6618234e0235c420a21f4cb4c2dd0badde76e6139668739085a70c4e2fe7a141"
-
-CVE_PRODUCT = "curl libcurl"
-inherit autotools pkgconfig binconfig multilib_header
-
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} gnutls libidn proxy threaded-resolver verbose zlib"
-PACKAGECONFIG_class-native = "ipv6 proxy ssl threaded-resolver verbose zlib"
-PACKAGECONFIG_class-nativesdk = "ipv6 proxy ssl threaded-resolver verbose zlib"
-
-# 'ares' and 'threaded-resolver' are mutually exclusive
-PACKAGECONFIG[ares] = "--enable-ares,--disable-ares,c-ares"
-PACKAGECONFIG[brotli] = "--with-brotli,--without-brotli,brotli"
-PACKAGECONFIG[builtinmanual] = "--enable-manual,--disable-manual"
-PACKAGECONFIG[dict] = "--enable-dict,--disable-dict,"
-PACKAGECONFIG[gnutls] = "--with-gnutls,--without-gnutls,gnutls"
-PACKAGECONFIG[gopher] = "--enable-gopher,--disable-gopher,"
-PACKAGECONFIG[imap] = "--enable-imap,--disable-imap,"
-PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
-PACKAGECONFIG[krb5] = "--with-gssapi,--without-gssapi,krb5"
-PACKAGECONFIG[ldap] = "--enable-ldap,--disable-ldap,"
-PACKAGECONFIG[ldaps] = "--enable-ldaps,--disable-ldaps,"
-PACKAGECONFIG[libidn] = "--with-libidn2,--without-libidn2,libidn2"
-PACKAGECONFIG[libssh2] = "--with-libssh2,--without-libssh2,libssh2"
-PACKAGECONFIG[mbedtls] = "--with-mbedtls=${STAGING_DIR_TARGET},--without-mbedtls,mbedtls"
-PACKAGECONFIG[nghttp2] = "--with-nghttp2,--without-nghttp2,nghttp2"
-PACKAGECONFIG[pop3] = "--enable-pop3,--disable-pop3,"
-PACKAGECONFIG[proxy] = "--enable-proxy,--disable-proxy,"
-PACKAGECONFIG[rtmpdump] = "--with-librtmp,--without-librtmp,rtmpdump"
-PACKAGECONFIG[rtsp] = "--enable-rtsp,--disable-rtsp,"
-PACKAGECONFIG[smb] = "--enable-smb,--disable-smb,"
-PACKAGECONFIG[smtp] = "--enable-smtp,--disable-smtp,"
-PACKAGECONFIG[ssl] = "--with-ssl --with-random=/dev/urandom,--without-ssl,openssl"
-PACKAGECONFIG[nss] = "--with-nss,--without-nss,nss"
-PACKAGECONFIG[telnet] = "--enable-telnet,--disable-telnet,"
-PACKAGECONFIG[tftp] = "--enable-tftp,--disable-tftp,"
-PACKAGECONFIG[threaded-resolver] = "--enable-threaded-resolver,--disable-threaded-resolver"
-PACKAGECONFIG[verbose] = "--enable-verbose,--disable-verbose"
-PACKAGECONFIG[zlib] = "--with-zlib=${STAGING_LIBDIR}/../,--without-zlib,zlib"
-
-EXTRA_OECONF = " \
- --disable-libcurl-option \
- --disable-ntlm-wb \
- --enable-crypto-auth \
- --with-ca-bundle=${sysconfdir}/ssl/certs/ca-certificates.crt \
- --without-libmetalink \
- --without-libpsl \
-"
-
-do_install_append_class-target() {
- # cleanup buildpaths from curl-config
- sed -i \
- -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \
- -e 's,--with-libtool-sysroot=${STAGING_DIR_TARGET},,g' \
- -e 's|${DEBUG_PREFIX_MAP}||g' \
- ${D}${bindir}/curl-config
-}
-
-PACKAGES =+ "lib${BPN}"
-
-FILES_lib${BPN} = "${libdir}/lib*.so.*"
-RRECOMMENDS_lib${BPN} += "ca-certificates"
-
-FILES_${PN} += "${datadir}/zsh"
-
-inherit multilib_script
-MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/curl-config"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-agl/meta-agl-profile-core/recipes-support/libmicrohttpd/libmicrohttpd_0.9.63.bb b/meta-agl/meta-agl-profile-core/recipes-support/libmicrohttpd/libmicrohttpd_0.9.63.bb
deleted file mode 100644
index ab6f681d..00000000
--- a/meta-agl/meta-agl-profile-core/recipes-support/libmicrohttpd/libmicrohttpd_0.9.63.bb
+++ /dev/null
@@ -1,28 +0,0 @@
-DESCRIPTION = "A small C library that is supposed to make it easy to run an HTTP server as part of another application"
-HOMEPAGE = "http://www.gnu.org/software/libmicrohttpd/"
-LICENSE = "LGPL-2.1+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=9331186f4f80db7da0e724bdd6554ee5"
-SECTION = "net"
-DEPENDS = "file"
-
-SRC_URI = "http://ftp.gnu.org/gnu/libmicrohttpd/${BPN}-${PV}.tar.gz"
-SRC_URI[md5sum] = "1c10de049608fca46941cbc790e3ab00"
-SRC_URI[sha256sum] = "37c36f1be177f0e37ef181a645cd3baac1000bd322a01c2eff70f3cc8c91749c"
-
-inherit autotools lib_package pkgconfig gettext
-
-CFLAGS += "-pthread -D_REENTRANT"
-
-EXTRA_OECONF += "--disable-static --with-gnutls=${STAGING_LIBDIR}/../"
-
-PACKAGECONFIG ?= "curl https"
-PACKAGECONFIG_append_class-target = "\
- ${@bb.utils.filter('DISTRO_FEATURES', 'largefile', d)} \
-"
-PACKAGECONFIG[largefile] = "--enable-largefile,--disable-largefile,,"
-PACKAGECONFIG[curl] = "--enable-curl,--disable-curl,curl,"
-PACKAGECONFIG[https] = "--enable-https,--disable-https,libgcrypt gnutls,"
-
-do_compile_append() {
- sed -i s:-L${STAGING_LIBDIR}::g libmicrohttpd.pc
-}
diff --git a/meta-agl/meta-agl-profile-core/recipes-support/nghttp2/nghttp2_1.39.1.bb b/meta-agl/meta-agl-profile-core/recipes-support/nghttp2/nghttp2_1.39.1.bb
deleted file mode 100644
index 6077daf7..00000000
--- a/meta-agl/meta-agl-profile-core/recipes-support/nghttp2/nghttp2_1.39.1.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-SUMMARY = "HTTP/2 C Library and tools"
-HOMEPAGE = "https://nghttp2.org/"
-SECTION = "libs"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=764abdf30b2eadd37ce47dcbce0ea1ec"
-
-+UPSTREAM_CHECK_URI = "https://github.com/nghttp2/nghttp2/releases"
-
-SRC_URI = "https://github.com/nghttp2/nghttp2/releases/download/v${PV}/nghttp2-${PV}.tar.xz"
-SRC_URI[md5sum] = "02b015cb178c46f27dd87228e33db35f"
-SRC_URI[sha256sum] = "679160766401f474731fd60c3aca095f88451e3cc4709b72306e4c34cf981448"
-
-DEPENDS = "libxml2 openssl zlib jansson cunit c-ares"
-
-inherit cmake pythonnative python-dir
diff --git a/meta-agl/meta-agl-profile-core/recipes-support/opencv/opencv_3.%.bbappend b/meta-agl/meta-agl-profile-core/recipes-support/opencv/opencv_4.%.bbappend
index 8656abf0..8656abf0 100644
--- a/meta-agl/meta-agl-profile-core/recipes-support/opencv/opencv_3.%.bbappend
+++ b/meta-agl/meta-agl-profile-core/recipes-support/opencv/opencv_4.%.bbappend
diff --git a/meta-agl/meta-agl-profile-core/recipes-support/udisks/files/99-udisks2.rules b/meta-agl/meta-agl-profile-core/recipes-support/udisks/files/99-udisks2.rules
new file mode 100644
index 00000000..996e4343
--- /dev/null
+++ b/meta-agl/meta-agl-profile-core/recipes-support/udisks/files/99-udisks2.rules
@@ -0,0 +1,5 @@
+# UDISKS_FILESYSTEM_SHARED
+# ==1: mount filesystem to a shared directory (/media/VolumeName)
+# ==0: mount filesystem to a private directory (/run/media/$USER/VolumeName)
+# See udisks(8)
+ENV{ID_FS_USAGE}=="filesystem|other|crypto", ENV{UDISKS_FILESYSTEM_SHARED}="1"
diff --git a/meta-agl/meta-agl-profile-core/recipes-support/udisks/files/automount.service b/meta-agl/meta-agl-profile-core/recipes-support/udisks/files/automount.service
index 64c36e76..b1651519 100644
--- a/meta-agl/meta-agl-profile-core/recipes-support/udisks/files/automount.service
+++ b/meta-agl/meta-agl-profile-core/recipes-support/udisks/files/automount.service
@@ -1,6 +1,6 @@
[Unit]
Description=Automount Disk Manager
-After=udisks.service
+After=udisks2.service
[Service]
ExecStart=/usr/libexec/automount.sh
diff --git a/meta-agl/meta-agl-profile-core/recipes-support/udisks/files/org.freedesktop.UDisks.conf b/meta-agl/meta-agl-profile-core/recipes-support/udisks/files/org.freedesktop.UDisks.conf
deleted file mode 100644
index 0098b94e..00000000
--- a/meta-agl/meta-agl-profile-core/recipes-support/udisks/files/org.freedesktop.UDisks.conf
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?> <!-- -*- XML -*- -->
-
-<!DOCTYPE busconfig PUBLIC
- "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
- "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
-<busconfig>
- <!-- Only root can own the service -->
- <policy user="root">
- <allow own="org.freedesktop.UDisks"/>
- </policy>
-
- <policy context="default">
- <allow send_destination="org.freedesktop.UDisks"/>
-
- <allow send_destination="org.freedesktop.UDisks"
- send_interface="org.freedesktop.DBus.Properties"/>
- <allow send_destination="org.freedesktop.UDisks"
- send_interface="org.freedesktop.DBus.Introspectable"/>
- <allow send_destination="org.freedesktop.UDisks"
- send_interface="org.freedesktop.UDisks"/>
- <allow send_destination="org.freedesktop.UDisks"
- send_interface="org.freedesktop.UDisks.Device"/>
- <allow send_destination="org.freedesktop.UDisks"
- send_interface="org.freedesktop.UDisks.Adapter"/>
- <allow send_destination="org.freedesktop.UDisks"
- send_interface="org.freedesktop.UDisks.Expander"/>
- <allow send_destination="org.freedesktop.UDisks"
- send_interface="org.freedesktop.UDisks.Port"/>
- <allow receive_sender="org.freedesktop.UDisks" receive_type="signal"
- receive_interface="org.freedesktop.UDisks"/>
- </policy>
-</busconfig>
diff --git a/meta-agl/meta-agl-profile-core/recipes-support/udisks/files/udisks.service b/meta-agl/meta-agl-profile-core/recipes-support/udisks/files/udisks.service
deleted file mode 100644
index 4bd55844..00000000
--- a/meta-agl/meta-agl-profile-core/recipes-support/udisks/files/udisks.service
+++ /dev/null
@@ -1,11 +0,0 @@
-[Unit]
-Description=Disk Manager (legacy version)
-Documentation=man:udisks(7)
-
-[Service]
-Type=dbus
-BusName=org.freedesktop.UDisks
-ExecStart=/usr/libexec/udisks-daemon --no-debug
-
-[Install]
-WantedBy=multi-user.target
diff --git a/meta-agl/meta-agl-profile-core/recipes-support/udisks/udisks2_%.bbappend b/meta-agl/meta-agl-profile-core/recipes-support/udisks/udisks2_%.bbappend
new file mode 100644
index 00000000..34756f48
--- /dev/null
+++ b/meta-agl/meta-agl-profile-core/recipes-support/udisks/udisks2_%.bbappend
@@ -0,0 +1,26 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
+
+SRC_URI += "file://automount.service \
+ file://automount.sh \
+ file://99-udisks2.rules \
+"
+
+SYSTEMD_AUTO_ENABLE = "enable"
+SYSTEMD_SERVICE_${PN} += "automount.service"
+
+do_install_append () {
+ sed -i 's/^WantedBy=.*/WantedBy=multi-user.target/' ${D}${systemd_unitdir}/system/udisks2.service
+
+ install -d ${D}${base_libdir}/systemd/system
+ install -m 0644 ${WORKDIR}/automount.service ${D}${systemd_unitdir}/system
+
+ install -d ${D}${libexecdir}
+ install -m 0755 ${WORKDIR}/automount.sh ${D}${libexecdir}/automount.sh
+
+ install -d ${D}${sysconfdir}/udev/rules.d
+ install -m 0644 ${WORKDIR}/99-udisks2.rules ${D}${sysconfdir}/udev/rules.d
+}
+
+FILES_${PN} += "${base_libdir}/systemd/system/automount.service \
+ ${libexecdir}/automount.sh \
+"
diff --git a/meta-agl/meta-agl-profile-core/recipes-support/udisks/udisks_1.0.5.bbappend b/meta-agl/meta-agl-profile-core/recipes-support/udisks/udisks_1.0.5.bbappend
deleted file mode 100644
index d55a167a..00000000
--- a/meta-agl/meta-agl-profile-core/recipes-support/udisks/udisks_1.0.5.bbappend
+++ /dev/null
@@ -1,28 +0,0 @@
-SRC_URI += "file://org.freedesktop.UDisks.conf \
- file://udisks.service \
- file://automount.service \
- file://automount.sh \
- "
-FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
-
-FILES_${PN} += "${base_libdir}/systemd/system/automount.service \
- ${base_libdir}/systemd/system/udisks.service \
- ${libexecdir}/automount.sh \
- "
-
-SYSTEMD_AUTO_ENABLE = "enable"
-SYSTEMD_SERVICE_${PN} = "udisks.service automount.service"
-
-do_install_append () {
- install -d ${D}${sysconfdir}/dbus-1/system.d
- install -m 644 ${WORKDIR}/org.freedesktop.UDisks.conf ${D}${sysconfdir}/dbus-1/system.d/
-
- install -d ${D}${base_libdir}/systemd/system
- install -m 0644 ${WORKDIR}/udisks.service ${D}${base_libdir}/systemd/system
-
- install -d ${D}${base_libdir}/systemd/system
- install -m 0644 ${WORKDIR}/automount.service ${D}${base_libdir}/systemd/system
-
- install -d ${D}${libexecdir}
- install -m 0755 ${WORKDIR}/automount.sh ${D}${libexecdir}/automount.sh
-}
diff --git a/meta-agl/meta-agl-profile-core/recipes-test/afb-test/afb-test_git.bb b/meta-agl/meta-agl-profile-core/recipes-test/afb-test/afb-test_git.bb
index fc1874aa..5246abb0 100644
--- a/meta-agl/meta-agl-profile-core/recipes-test/afb-test/afb-test_git.bb
+++ b/meta-agl/meta-agl-profile-core/recipes-test/afb-test/afb-test_git.bb
@@ -3,11 +3,11 @@ DESCRIPTION = "This make testing binding running with Application Framework bind
easier by simply test verb return as well as event reception."
HOMEPAGE = "https://gerrit.automotivelinux.org/gerrit/#/admin/projects/apps/app-afb-test"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
SECTION = "apps"
SRC_URI = "git://gerrit.automotivelinux.org/gerrit/apps/app-afb-test;protocol=https;branch=${AGL_BRANCH}"
-SRCREV = "4d0948a2eeb60522b773d058f63418fd640d78c5"
+SRCREV = "${AGL_APP_REVISION}"
DEPENDS += "lua libafb-helpers libappcontroller"
RDEPENDS_${PN} += "lua bash jq"
diff --git a/meta-agl/meta-agl-profile-core/recipes-test/fontconfig/fontconfig_%.bbappend b/meta-agl/meta-agl-profile-core/recipes-test/fontconfig/fontconfig_%.bbappend
index c4bebdc1..e8ce1ab7 100644
--- a/meta-agl/meta-agl-profile-core/recipes-test/fontconfig/fontconfig_%.bbappend
+++ b/meta-agl/meta-agl-profile-core/recipes-test/fontconfig/fontconfig_%.bbappend
@@ -1,16 +1,17 @@
-PACKAGES =+ "fontconfig-test"
-
do_install_append() {
install -m 755 -d ${D}/${datadir}/fontconfig-test
install -m 755 ${S}/test/run-test.sh ${D}/${datadir}/fontconfig-test/
- sed -i -e "s/FCLIST=\.\.\/fc\-list\/fc\-list/FCLIST=\/usr\/bin\/fc\-list/g" -e "s/FCCACHE=\.\.\/fc\-cache\/fc\-cache/FCCACHE=\/usr\/bin\/fc\-cache/g" ${D}/${datadir}/fontconfig-test/run-test.sh
+ sed -i -e "s#^FCLIST=\.\./fc-list/fc-list#FCLIST=/usr/bin/fc-list#g" -e "s#^FCCACHE=\.\./fc-cache/fc-cache#FCCACHE=/usr/bin/fc-cache#g" ${D}/${datadir}/fontconfig-test/run-test.sh
- for x in 4x6.pcf 8x16.pcf out.expected fonts.conf.in; do
+ install -m 644 ${B}/test/out.expected ${D}/${datadir}/fontconfig-test/
+ for x in 4x6.pcf 8x16.pcf fonts.conf.in; do
install -m 644 ${S}/test/$x ${D}/${datadir}/fontconfig-test/
done
}
+PACKAGES =+ "fontconfig-test"
+
DEBIAN_NOAUTONAME_fontconfig-test = "1"
FILES_fontconfig-test = "${datadir}/fontconfig-test/*"
diff --git a/meta-agl/meta-agl-profile-core/recipes-test/freetype/freetype_2.%.bbappend b/meta-agl/meta-agl-profile-core/recipes-test/freetype/freetype_2.%.bbappend
new file mode 100644
index 00000000..6aa1eabc
--- /dev/null
+++ b/meta-agl/meta-agl-profile-core/recipes-test/freetype/freetype_2.%.bbappend
@@ -0,0 +1,34 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
+
+SRC_URI =+ "${SOURCEFORGE_MIRROR}/freetype/freetype-demos/${PV}/ft2demos-${PV}.tar.gz;name=ft2demos \
+ file://0001-Makefile-dont-build-gfx-demos.patch;patchdir=../ft2demos-${PV} \
+ file://0001-ft2demos-Makefile-Do-not-hardcode-libtool-path.patch;patchdir=../ft2demos-${PV} \
+ "
+SRC_URI[ft2demos.md5sum] = "c376adf4782bac9b9ac8e427884752d2"
+SRC_URI[ft2demos.sha256sum] = "5e9e94a2db9d1a945293a1644a502f6664a2173a454d4a55b19695e2e2f4a0bc"
+
+PACKAGES =+ "${PN}-demos"
+
+B = "${S}"
+
+do_compile_append () {
+ oe_runmake -C ${WORKDIR}/ft2demos-${PV} TOP_DIR=${WORKDIR}/${BPN}-${PV}/
+}
+
+do_install_append () {
+ install -d -m 0755 ${D}/${bindir}
+ for x in ftbench ftdump ftlint ftvalid ttdebug; do
+ install -m 0755 ${WORKDIR}/ft2demos-${PV}/bin/.libs/$x ${D}/${bindir}
+ done
+}
+
+FILES_${PN}-demos = "\
+ ${bindir}/ftbench \
+ ${bindir}/ftdump \
+ ${bindir}/ftlint \
+ ${bindir}/ftvalid \
+ ${bindir}/ttdebug \
+"
+
+# enable pixmap/libpng support to allow color emojis
+PACKAGECONFIG_append = " pixmap"
diff --git a/meta-agl/meta-agl-profile-core/recipes-test/freetype/freetype_2.9.1.bbappend b/meta-agl/meta-agl-profile-core/recipes-test/freetype/freetype_2.9.1.bbappend
deleted file mode 100644
index 19499e2b..00000000
--- a/meta-agl/meta-agl-profile-core/recipes-test/freetype/freetype_2.9.1.bbappend
+++ /dev/null
@@ -1,35 +0,0 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
-
-SRC_URI =+ "${SOURCEFORGE_MIRROR}/freetype/ft2demos-${PV}.tar.bz2;name=ft2demos \
- file://0001-Makefile-dont-build-gfx-demos.patch;patchdir=../ft2demos-${PV} \
- file://0001-ft2demos-Makefile-Do-not-hardcode-libtool-path.patch;patchdir=../ft2demos-${PV} \
- "
-SRC_URI[ft2demos.md5sum] = "178827156d90e07bce8f354c9565d84b"
-SRC_URI[ft2demos.sha256sum] = "806eb6363ee5963174a6740f9b7893377912165899c2c1f6372c422aab818c6a"
-
-PACKAGES =+ "${PN}-demos"
-
-B = "${S}"
-
-do_compile_append () {
-
- oe_runmake -C ${WORKDIR}/ft2demos-${PV} TOP_DIR=${WORKDIR}/${BPN}-${PV}/
-}
-
-do_install_append () {
- install -d -m 0755 ${D}/${bindir}
- for x in ftbench ftdump ftlint ftvalid ttdebug; do
- install -m 0755 ${WORKDIR}/ft2demos-${PV}/bin/.libs/$x ${D}/${bindir}
- done
-}
-
-FILES_${PN}-demos = "\
- ${bindir}/ftbench \
- ${bindir}/ftdump \
- ${bindir}/ftlint \
- ${bindir}/ftvalid \
- ${bindir}/ttdebug \
-"
-
-# enable pixmap/libpng support to allow color emojis
-PACKAGECONFIG_append = " pixmap"
diff --git a/meta-agl/meta-agl-profile-core/recipes-test/pyagl/pyagl_git.bb b/meta-agl/meta-agl-profile-core/recipes-test/pyagl/pyagl_git.bb
new file mode 100644
index 00000000..db6f7dee
--- /dev/null
+++ b/meta-agl/meta-agl-profile-core/recipes-test/pyagl/pyagl_git.bb
@@ -0,0 +1,29 @@
+SUMMARY = "Python bindings and tests for Automotive Grade Linux services"
+HOMEPAGE = "https://gerrit.automotivelinux.org/gerrit/#/admin/projects/src/pyagl"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=ae6497158920d9524cf208c09cc4c984"
+
+SRC_URI = "git://gerrit.automotivelinux.org/gerrit/src/pyagl;protocol=https;branch=${AGL_BRANCH}"
+SRCREV = "bc241e850fa1d2ceeb76acd9bac8733868392baa"
+PV = "${AGL_BRANCH}+git${SRCPV}"
+
+S = "${WORKDIR}/git"
+
+inherit setuptools3
+
+RDEPENDS_${PN} += " \
+ python3-asyncio \
+ python3-asyncssh \
+ python3-core \
+ python3-json \
+ python3-logging \
+ python3-math \
+ python3-parse \
+ python3-pprint \
+ python3-pytest \
+ python3-pytest-asyncio \
+ python3-pytest-dependency \
+ python3-pytest-reverse \
+ python3-typing \
+ python3-websockets \
+"