diff options
author | takeshi_hoshina <takeshi_hoshina@mail.toyota.co.jp> | 2020-11-02 11:07:33 +0900 |
---|---|---|
committer | takeshi_hoshina <takeshi_hoshina@mail.toyota.co.jp> | 2020-11-02 11:07:33 +0900 |
commit | 1c7d6584a7811b7785ae5c1e378f14b5ba0971cf (patch) | |
tree | cd70a267a5ef105ba32f200aa088e281fbd85747 /meta-agl/meta-agl-profile-core | |
parent | 4204309872da5cb401cbb2729d9e2d4869a87f42 (diff) |
basesystem-jjsandbox/ToshikazuOhiwa/master-jj
recipes
Diffstat (limited to 'meta-agl/meta-agl-profile-core')
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 \ +" |