diff options
Diffstat (limited to 'poky')
1255 files changed, 15284 insertions, 27645 deletions
diff --git a/poky/LICENSE b/poky/LICENSE index 21fa6e6bd..d20dc59fb 100644 --- a/poky/LICENSE +++ b/poky/LICENSE @@ -1,14 +1,20 @@ Different components of OpenEmbedded are under different licenses (a mix -of MIT and GPLv2). Please see: - -meta/COPYING.GPLv2 (GPLv2) -meta/COPYING.MIT (MIT) -meta-selftest/COPYING.MIT (MIT) -meta-skeleton/COPYING.MIT (MIT) +of MIT and GPLv2). See LICENSE.GPL-2.0-only and LICENSE.MIT for further +details of the individual licenses. All metadata is MIT licensed unless otherwise stated. Source code -included in tree for individual recipes is under the LICENSE stated in -the associated recipe (.bb file) unless otherwise stated. +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 is either explicitly stated -or defaults to GPL version 2. +or defaults to GPL version 2 only. + +Individual files 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/poky/bitbake/COPYING b/poky/LICENSE.GPL-2.0-only index d511905c1..5db3c0a21 100644 --- a/poky/bitbake/COPYING +++ b/poky/LICENSE.GPL-2.0-only @@ -279,61 +279,10 @@ POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS - How to Apply These Terms to Your New Programs +Note: +Individual files contain the following tag instead of the full license text. - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. + SPDX-License-Identifier: GPL-2.0-only - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - <one line to give the program's name and a brief idea of what it does.> - Copyright (C) <year> <name of author> - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - <signature of Ty Coon>, 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. +This enables machine processing of license information based on the SPDX +License Identifiers that are here available: http://spdx.org/licenses/ diff --git a/poky/meta-selftest/COPYING.MIT b/poky/LICENSE.MIT index 89de35479..a6919eb7e 100644 --- a/poky/meta-selftest/COPYING.MIT +++ b/poky/LICENSE.MIT @@ -13,5 +13,13 @@ 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. +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/poky/bitbake/HEADER b/poky/bitbake/HEADER deleted file mode 100644 index 9859255df..000000000 --- a/poky/bitbake/HEADER +++ /dev/null @@ -1,19 +0,0 @@ -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- -# -# <one line to give the program's name and a brief idea of what it does.> -# Copyright (C) <year> <name of author> -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - diff --git a/poky/bitbake/LICENSE b/poky/bitbake/LICENSE index 7d4e5f44b..845804230 100644 --- a/poky/bitbake/LICENSE +++ b/poky/bitbake/LICENSE @@ -1,4 +1,13 @@ -BitBake is licensed under the GNU General Public License version 2.0. See COPYING for further details. +BitBake is licensed under the GNU General Public License version 2.0. See +LICENSE.GPL-2.0-only for further details. + +Individual files contain the following style tags 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/ + The following external components are distributed with this software: @@ -17,3 +26,4 @@ Foundation and individual contributors. * Font Awesome fonts redistributed under the SIL Open Font License 1.1 * simplediff is distributed under the zlib license. + diff --git a/poky/meta/COPYING.GPLv2 b/poky/bitbake/LICENSE.GPL-2.0-only index d511905c1..5db3c0a21 100644 --- a/poky/meta/COPYING.GPLv2 +++ b/poky/bitbake/LICENSE.GPL-2.0-only @@ -279,61 +279,10 @@ POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS - How to Apply These Terms to Your New Programs +Note: +Individual files contain the following tag instead of the full license text. - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. + SPDX-License-Identifier: GPL-2.0-only - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - <one line to give the program's name and a brief idea of what it does.> - Copyright (C) <year> <name of author> - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - <signature of Ty Coon>, 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. +This enables machine processing of license information based on the SPDX +License Identifiers that are here available: http://spdx.org/licenses/ diff --git a/poky/meta-skeleton/COPYING.MIT b/poky/bitbake/LICENSE.MIT index fb950dc69..a6919eb7e 100644 --- a/poky/meta-skeleton/COPYING.MIT +++ b/poky/bitbake/LICENSE.MIT @@ -1,17 +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 +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 +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. +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/poky/bitbake/bin/bitbake b/poky/bitbake/bin/bitbake index 57dec2a4c..b219d362e 100755 --- a/poky/bitbake/bin/bitbake +++ b/poky/bitbake/bin/bitbake @@ -1,6 +1,4 @@ #!/usr/bin/env python3 -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- # # Copyright (C) 2003, 2004 Chris Larson # Copyright (C) 2003, 2004 Phil Blundell @@ -9,18 +7,8 @@ # Copyright (C) 2005 ROAD GmbH # Copyright (C) 2006 Richard Purdie # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. import os import sys @@ -38,7 +26,7 @@ from bb.main import bitbake_main, BitBakeConfigParameters, BBMainException if sys.getfilesystemencoding() != "utf-8": sys.exit("Please use a locale setting which supports UTF-8 (such as LANG=en_US.UTF-8).\nPython can't change the filesystem locale after loading so we need a UTF-8 when Python starts or things won't work.") -__version__ = "1.40.0" +__version__ = "1.43.0" if __name__ == "__main__": if __version__ != bb.__version__: diff --git a/poky/bitbake/bin/bitbake-diffsigs b/poky/bitbake/bin/bitbake-diffsigs index fa430bb3b..19420a2df 100755 --- a/poky/bitbake/bin/bitbake-diffsigs +++ b/poky/bitbake/bin/bitbake-diffsigs @@ -5,18 +5,8 @@ # # Copyright (C) 2012-2013, 2017 Intel Corporation # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. import os import sys @@ -105,7 +95,7 @@ def recursecb(key, hash1, hash2): out2 = bb.siggen.compare_sigfiles(hashfiles[hash1], hashfiles[hash2], recursecb, color=color) for change in out2: for line in change.splitlines(): - recout.append(' ' + line) + recout.append(' ' + line) return recout diff --git a/poky/bitbake/bin/bitbake-hashserv b/poky/bitbake/bin/bitbake-hashserv index c49397b73..848a0ca39 100755 --- a/poky/bitbake/bin/bitbake-hashserv +++ b/poky/bitbake/bin/bitbake-hashserv @@ -2,18 +2,9 @@ # # Copyright (C) 2018 Garmin Ltd. # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + import os import sys import logging diff --git a/poky/bitbake/bin/bitbake-layers b/poky/bitbake/bin/bitbake-layers index d184011ea..a884dc1f8 100755 --- a/poky/bitbake/bin/bitbake-layers +++ b/poky/bitbake/bin/bitbake-layers @@ -7,18 +7,8 @@ # Copyright (C) 2011 Mentor Graphics Corporation # Copyright (C) 2011-2015 Intel Corporation # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. import logging import os diff --git a/poky/bitbake/bin/bitbake-prserv b/poky/bitbake/bin/bitbake-prserv index f38d2dd88..1e9b6cbc1 100755 --- a/poky/bitbake/bin/bitbake-prserv +++ b/poky/bitbake/bin/bitbake-prserv @@ -1,4 +1,8 @@ #!/usr/bin/env python3 +# +# SPDX-License-Identifier: GPL-2.0-only +# + import os import sys,logging import optparse diff --git a/poky/bitbake/bin/bitbake-selftest b/poky/bitbake/bin/bitbake-selftest index 99f1af910..20553e981 100755 --- a/poky/bitbake/bin/bitbake-selftest +++ b/poky/bitbake/bin/bitbake-selftest @@ -2,18 +2,8 @@ # # Copyright (C) 2012 Richard Purdie # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. import os import sys, logging diff --git a/poky/bitbake/bin/bitbake-worker b/poky/bitbake/bin/bitbake-worker index a9e997e1f..f63f060c5 100755 --- a/poky/bitbake/bin/bitbake-worker +++ b/poky/bitbake/bin/bitbake-worker @@ -1,4 +1,7 @@ #!/usr/bin/env python3 +# +# SPDX-License-Identifier: GPL-2.0-only +# import os import sys diff --git a/poky/bitbake/bin/bitdoc b/poky/bitbake/bin/bitdoc index 274467882..9bd02be69 100755 --- a/poky/bitbake/bin/bitdoc +++ b/poky/bitbake/bin/bitdoc @@ -1,21 +1,9 @@ #!/usr/bin/env python3 -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- # # Copyright (C) 2005 Holger Hans Peter Freyther # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. import optparse, os, sys diff --git a/poky/bitbake/bin/git-make-shallow b/poky/bitbake/bin/git-make-shallow index 296d3a3db..57069f7ed 100755 --- a/poky/bitbake/bin/git-make-shallow +++ b/poky/bitbake/bin/git-make-shallow @@ -1,4 +1,8 @@ #!/usr/bin/env python3 +# +# SPDX-License-Identifier: GPL-2.0-only +# + """git-make-shallow: make the current git repository shallow Remove the history of the specified revisions, then optionally filter the diff --git a/poky/bitbake/bin/toaster b/poky/bitbake/bin/toaster index ecf66fa51..c3472dfee 100755 --- a/poky/bitbake/bin/toaster +++ b/poky/bitbake/bin/toaster @@ -3,19 +3,9 @@ # toaster - shell script to start Toaster # Copyright (C) 2013-2015 Intel Corp. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. +# SPDX-License-Identifier: GPL-2.0-or-later # -# You should have received a copy of the GNU General Public License -# along with this program. If not, see http://www.gnu.org/licenses/. HELP=" Usage: source toaster start|stop [webport=<address:port>] [noweb] [nobuild] [toasterdir] diff --git a/poky/bitbake/bin/toaster-eventreplay b/poky/bitbake/bin/toaster-eventreplay index 80967a093..8fa4ab711 100755 --- a/poky/bitbake/bin/toaster-eventreplay +++ b/poky/bitbake/bin/toaster-eventreplay @@ -1,25 +1,12 @@ #!/usr/bin/env python3 -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- # # Copyright (C) 2014 Alex Damian # +# SPDX-License-Identifier: GPL-2.0-only +# # This file re-uses code spread throughout other Bitbake source files. # As such, all other copyrights belong to their own right holders. # -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. """ This command takes a filename as a single parameter. The filename is read diff --git a/poky/bitbake/contrib/dump_cache.py b/poky/bitbake/contrib/dump_cache.py index 8963ca4b0..c6723cbf0 100755 --- a/poky/bitbake/contrib/dump_cache.py +++ b/poky/bitbake/contrib/dump_cache.py @@ -1,6 +1,4 @@ #!/usr/bin/env python3 -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- # # Copyright (C) 2012, 2018 Wind River Systems, Inc. # diff --git a/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-fetching.xml b/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-fetching.xml index 3acd7c403..684040856 100644 --- a/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-fetching.xml +++ b/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-fetching.xml @@ -832,19 +832,22 @@ Bazaar (<filename>bzr://</filename>) </para></listitem> <listitem><para> - Trees using Git Annex (<filename>gitannex://</filename>) + Mercurial (<filename>hg://</filename>) </para></listitem> <listitem><para> - Secure FTP (<filename>sftp://</filename>) + npm (<filename>npm://</filename>) </para></listitem> <listitem><para> - Secure Shell (<filename>ssh://</filename>) + OSC (<filename>osc://</filename>) </para></listitem> <listitem><para> - OSC (<filename>osc://</filename>) + Secure FTP (<filename>sftp://</filename>) </para></listitem> <listitem><para> - Mercurial (<filename>hg://</filename>) + Secure Shell (<filename>ssh://</filename>) + </para></listitem> + <listitem><para> + Trees using Git Annex (<filename>gitannex://</filename>) </para></listitem> </itemizedlist> No documentation currently exists for these lesser used diff --git a/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-metadata.xml b/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-metadata.xml index 199ab2309..a125ad332 100644 --- a/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-metadata.xml +++ b/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-metadata.xml @@ -61,6 +61,78 @@ </para> </section> + <section id='modifying-existing-variables'> + <title>Modifying Existing Variables</title> + + <para> + Sometimes you need to modify existing variables. + Following are some cases where you might find you want to + modify an existing variable: + <itemizedlist> + <listitem><para> + Customize a recipe that uses the variable. + </para></listitem> + <listitem><para> + Change a variable's default value used in a + <filename>*.bbclass</filename> file. + </para></listitem> + <listitem><para> + Change the variable in a <filename>*.bbappend</filename> + file to override the variable in the original recipe. + </para></listitem> + <listitem><para> + Change the variable in a configuration file so that the + value overrides an existing configuration. + </para></listitem> + </itemizedlist> + </para> + + <para> + Changing a variable value can sometimes depend on how the + value was originally assigned and also on the desired + intent of the change. + In particular, when you append a value to a variable that + has a default value, the resulting value might not be what + you expect. + In this case, the value you provide might replace the value + rather than append to the default value. + </para> + + <para> + If after you have changed a variable's value and something + unexplained occurs, you can use BitBake to check the actual + value of the suspect variable. + You can make these checks for both configuration and recipe + level changes: + <itemizedlist> + <listitem><para> + For configuration changes, use the following: + <literallayout class='monospaced'> + $ bitbake -e + </literallayout> + This command displays variable values after the + configuration files (i.e. <filename>local.conf</filename>, + <filename>bblayers.conf</filename>, + <filename>bitbake.conf</filename> and so forth) have + been parsed. + <note> + Variables that are exported to the environment are + preceded by the string "export" in the command's + output. + </note> + </para></listitem> + <listitem><para> + For recipe changes, use the following: + <literallayout class='monospaced'> + $ bitbake <replaceable>recipe</replaceable> -e | grep VARIABLE=" + </literallayout> + This command checks to see if the variable actually + makes it into a specific recipe. + </para></listitem> + </itemizedlist> + </para> + </section> + <section id='line-joining'> <title>Line Joining</title> diff --git a/poky/bitbake/doc/poky.ent b/poky/bitbake/doc/poky.ent index c032e1418..85d9c83bf 100644 --- a/poky/bitbake/doc/poky.ent +++ b/poky/bitbake/doc/poky.ent @@ -17,13 +17,6 @@ <!ENTITY OE_DOCS_URL "http://docs.openembedded.org"> <!ENTITY OH_HOME_URL "http://o-hand.com"> <!ENTITY BITBAKE_HOME_URL "http://developer.berlios.de/projects/bitbake/"> -<!ENTITY ECLIPSE_MAIN_URL "http://www.eclipse.org/downloads"> -<!ENTITY ECLIPSE_DL_URL "http://download.eclipse.org"> -<!ENTITY ECLIPSE_DL_PLUGIN_URL "&YOCTO_DL_URL;/releases/eclipse-plugin/&DISTRO;"> -<!ENTITY ECLIPSE_UPDATES_URL "&ECLIPSE_DL_URL;/tm/updates/3.3"> -<!ENTITY ECLIPSE_INDIGO_URL "&ECLIPSE_DL_URL;/releases/indigo"> -<!ENTITY ECLIPSE_JUNO_URL "&ECLIPSE_DL_URL;/releases/juno"> -<!ENTITY ECLIPSE_INDIGO_CDT_URL "&ECLIPSE_DL_URL;tools/cdt/releases/indigo"> <!ENTITY YOCTO_DOCS_URL "&YOCTO_HOME_URL;/docs"> <!ENTITY YOCTO_SOURCES_URL "&YOCTO_HOME_URL;/sources/"> <!ENTITY YOCTO_AB_PORT_URL "&YOCTO_AB_URL;:8010"> @@ -31,7 +24,6 @@ <!ENTITY YOCTO_POKY_URL "&YOCTO_DL_URL;/releases/poky/"> <!ENTITY YOCTO_RELEASE_DL_URL "&YOCTO_DL_URL;/releases/yocto/yocto-&DISTRO;"> <!ENTITY YOCTO_TOOLCHAIN_DL_URL "&YOCTO_RELEASE_DL_URL;/toolchain/"> -<!ENTITY YOCTO_ECLIPSE_DL_URL "&YOCTO_RELEASE_DL_URL;/eclipse-plugin/indigo;"> <!ENTITY YOCTO_ADTINSTALLER_DL_URL "&YOCTO_RELEASE_DL_URL;/adt_installer"> <!ENTITY YOCTO_POKY_DL_URL "&YOCTO_RELEASE_DL_URL;/&YOCTO_POKY;.tar.bz2"> <!ENTITY YOCTO_MACHINES_DL_URL "&YOCTO_RELEASE_DL_URL;/machines"> diff --git a/poky/bitbake/lib/bb/COW.py b/poky/bitbake/lib/bb/COW.py index 7817473ab..d26e98195 100644 --- a/poky/bitbake/lib/bb/COW.py +++ b/poky/bitbake/lib/bb/COW.py @@ -1,23 +1,8 @@ -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- # # This is a copy on write dictionary and set which abuses classes to try and be nice and fast. # # Copyright (C) 2006 Tim Ansell # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -# #Please Note: # Be careful when using mutable types (ie Dict and Lists) - operations involving these are SLOW. # Assign a file to __warn__ to get warnings about slow operations. diff --git a/poky/bitbake/lib/bb/__init__.py b/poky/bitbake/lib/bb/__init__.py index 4bc47c8ab..7579a893b 100644 --- a/poky/bitbake/lib/bb/__init__.py +++ b/poky/bitbake/lib/bb/__init__.py @@ -1,5 +1,3 @@ -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- # # BitBake Build System Python Library # @@ -8,20 +6,10 @@ # # Based on Gentoo's portage.py. # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -__version__ = "1.40.0" +__version__ = "1.43.0" import sys if sys.version_info < (3, 4, 0): diff --git a/poky/bitbake/lib/bb/build.py b/poky/bitbake/lib/bb/build.py index 7571421d7..dae42ac47 100644 --- a/poky/bitbake/lib/bb/build.py +++ b/poky/bitbake/lib/bb/build.py @@ -1,5 +1,3 @@ -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- # # BitBake 'Build' implementation # @@ -10,18 +8,7 @@ # # Based on Gentoo's portage.py. # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +# SPDX-License-Identifier: GPL-2.0-only # # Based on functions from the base bb module, Copyright 2003 Holger Schurig @@ -408,6 +395,8 @@ exit $ret bb.plain(value) elif cmd == 'bbnote': bb.note(value) + elif cmd == 'bbverbnote': + bb.verbnote(value) elif cmd == 'bbwarn': bb.warn(value) elif cmd == 'bberror': @@ -815,6 +804,9 @@ def add_tasks(tasklist, d): task_deps['parents'][task] = [] if 'deps' in flags: for dep in flags['deps']: + # Check and warn for "addtask task after foo" while foo does not exist + #if not dep in tasklist: + # bb.warn('%s: dependent task %s for %s does not exist' % (d.getVar('PN'), dep, task)) dep = d.expand(dep) task_deps['parents'][task].append(dep) diff --git a/poky/bitbake/lib/bb/cache.py b/poky/bitbake/lib/bb/cache.py index 65c514b90..060758e0c 100644 --- a/poky/bitbake/lib/bb/cache.py +++ b/poky/bitbake/lib/bb/cache.py @@ -1,5 +1,3 @@ -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- # # BitBake Cache implementation # @@ -15,18 +13,8 @@ # Copyright (C) 2005 Holger Hans Peter Freyther # Copyright (C) 2005 ROAD GmbH # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. import os import sys diff --git a/poky/bitbake/lib/bb/cache_extra.py b/poky/bitbake/lib/bb/cache_extra.py index 83f4959d6..bf4226d16 100644 --- a/poky/bitbake/lib/bb/cache_extra.py +++ b/poky/bitbake/lib/bb/cache_extra.py @@ -1,5 +1,3 @@ -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- # # Extra RecipeInfo will be all defined in this file. Currently, # Only Hob (Image Creator) Requests some extra fields. So @@ -12,18 +10,8 @@ # Copyright (C) 2011, Intel Corporation. All rights reserved. -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. from bb.cache import RecipeInfoCommon diff --git a/poky/bitbake/lib/bb/checksum.py b/poky/bitbake/lib/bb/checksum.py index 4e1598fe8..5bc8a8fcb 100644 --- a/poky/bitbake/lib/bb/checksum.py +++ b/poky/bitbake/lib/bb/checksum.py @@ -2,18 +2,8 @@ # # Copyright (C) 2012 Intel Corporation # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. import glob import operator diff --git a/poky/bitbake/lib/bb/codeparser.py b/poky/bitbake/lib/bb/codeparser.py index ac995a6a1..fd2c4734f 100644 --- a/poky/bitbake/lib/bb/codeparser.py +++ b/poky/bitbake/lib/bb/codeparser.py @@ -1,3 +1,7 @@ +# +# SPDX-License-Identifier: GPL-2.0-only +# + """ BitBake code parser diff --git a/poky/bitbake/lib/bb/command.py b/poky/bitbake/lib/bb/command.py index 6c966e3db..378f389b3 100644 --- a/poky/bitbake/lib/bb/command.py +++ b/poky/bitbake/lib/bb/command.py @@ -6,18 +6,8 @@ Provide an interface to interact with the bitbake server through 'commands' # Copyright (C) 2006-2007 Richard Purdie # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. """ The bitbake server takes 'commands' from its UI/commandline. diff --git a/poky/bitbake/lib/bb/compat.py b/poky/bitbake/lib/bb/compat.py index de1923d28..49356681a 100644 --- a/poky/bitbake/lib/bb/compat.py +++ b/poky/bitbake/lib/bb/compat.py @@ -1,3 +1,7 @@ +# +# SPDX-License-Identifier: GPL-2.0-only +# + """Code pulled from future python versions, here for compatibility""" from collections import MutableMapping, KeysView, ValuesView, ItemsView, OrderedDict diff --git a/poky/bitbake/lib/bb/cooker.py b/poky/bitbake/lib/bb/cooker.py index 9ccaa79f5..c8e14042d 100644 --- a/poky/bitbake/lib/bb/cooker.py +++ b/poky/bitbake/lib/bb/cooker.py @@ -1,6 +1,4 @@ #!/usr/bin/env python -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- # # Copyright (C) 2003, 2004 Chris Larson # Copyright (C) 2003, 2004 Phil Blundell @@ -9,19 +7,8 @@ # Copyright (C) 2005 ROAD GmbH # Copyright (C) 2006 - 2007 Richard Purdie # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - import sys, os, glob, os.path, re, time import atexit diff --git a/poky/bitbake/lib/bb/cookerdata.py b/poky/bitbake/lib/bb/cookerdata.py index 09412e28c..f8ae41093 100644 --- a/poky/bitbake/lib/bb/cookerdata.py +++ b/poky/bitbake/lib/bb/cookerdata.py @@ -1,6 +1,4 @@ #!/usr/bin/env python -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- # # Copyright (C) 2003, 2004 Chris Larson # Copyright (C) 2003, 2004 Phil Blundell @@ -9,18 +7,8 @@ # Copyright (C) 2005 ROAD GmbH # Copyright (C) 2006 Richard Purdie # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. import logging import os diff --git a/poky/bitbake/lib/bb/daemonize.py b/poky/bitbake/lib/bb/daemonize.py index c937675eb..f01e6ec7c 100644 --- a/poky/bitbake/lib/bb/daemonize.py +++ b/poky/bitbake/lib/bb/daemonize.py @@ -1,3 +1,7 @@ +# +# SPDX-License-Identifier: GPL-2.0-only +# + """ Python Daemonizing helper diff --git a/poky/bitbake/lib/bb/data.py b/poky/bitbake/lib/bb/data.py index 29c238803..92ef40530 100644 --- a/poky/bitbake/lib/bb/data.py +++ b/poky/bitbake/lib/bb/data.py @@ -1,5 +1,3 @@ -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- """ BitBake 'Data' implementations @@ -22,18 +20,7 @@ the speed is more critical here. # Copyright (C) 2003, 2004 Chris Larson # Copyright (C) 2005 Holger Hans Peter Freyther # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +# SPDX-License-Identifier: GPL-2.0-only # # Based on functions from the base bb module, Copyright 2003 Holger Schurig diff --git a/poky/bitbake/lib/bb/data_smart.py b/poky/bitbake/lib/bb/data_smart.py index 07db7be97..dd5c61856 100644 --- a/poky/bitbake/lib/bb/data_smart.py +++ b/poky/bitbake/lib/bb/data_smart.py @@ -1,5 +1,3 @@ -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- """ BitBake Smart Dictionary Implementation @@ -14,18 +12,8 @@ BitBake build tools. # Copyright (C) 2005 Uli Luckas # Copyright (C) 2005 ROAD GmbH # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. # Based on functions from the base bb module, Copyright 2003 Holger Schurig import copy, re, sys, traceback diff --git a/poky/bitbake/lib/bb/event.py b/poky/bitbake/lib/bb/event.py index 5b1b094a8..7cbb5ca47 100644 --- a/poky/bitbake/lib/bb/event.py +++ b/poky/bitbake/lib/bb/event.py @@ -1,5 +1,3 @@ -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- """ BitBake 'Event' implementation @@ -9,18 +7,8 @@ BitBake build tools. # Copyright (C) 2003, 2004 Chris Larson # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. import os, sys import warnings diff --git a/poky/bitbake/lib/bb/exceptions.py b/poky/bitbake/lib/bb/exceptions.py index cd713439e..ecbad5997 100644 --- a/poky/bitbake/lib/bb/exceptions.py +++ b/poky/bitbake/lib/bb/exceptions.py @@ -1,3 +1,6 @@ +# +# SPDX-License-Identifier: GPL-2.0-only +# import inspect import traceback diff --git a/poky/bitbake/lib/bb/fetch2/__init__.py b/poky/bitbake/lib/bb/fetch2/__init__.py index 8fecc809d..0126e0d7c 100644 --- a/poky/bitbake/lib/bb/fetch2/__init__.py +++ b/poky/bitbake/lib/bb/fetch2/__init__.py @@ -1,5 +1,3 @@ -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- """ BitBake 'Fetch' implementations @@ -10,18 +8,7 @@ BitBake build tools. # Copyright (C) 2003, 2004 Chris Larson # Copyright (C) 2012 Intel Corporation # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +# SPDX-License-Identifier: GPL-2.0-only # # Based on functions from the base bb module, Copyright 2003 Holger Schurig diff --git a/poky/bitbake/lib/bb/fetch2/bzr.py b/poky/bitbake/lib/bb/fetch2/bzr.py index 658502f9a..c56d87530 100644 --- a/poky/bitbake/lib/bb/fetch2/bzr.py +++ b/poky/bitbake/lib/bb/fetch2/bzr.py @@ -10,18 +10,8 @@ BitBake 'Fetch' implementation for bzr. # BitBake build tools. # Copyright (C) 2003, 2004 Chris Larson # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. import os import sys diff --git a/poky/bitbake/lib/bb/fetch2/clearcase.py b/poky/bitbake/lib/bb/fetch2/clearcase.py index 3a6573d0b..9ed0d9bea 100644 --- a/poky/bitbake/lib/bb/fetch2/clearcase.py +++ b/poky/bitbake/lib/bb/fetch2/clearcase.py @@ -1,5 +1,3 @@ -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- """ BitBake 'Fetch' clearcase implementation @@ -47,18 +45,7 @@ User credentials: """ # Copyright (C) 2014 Siemens AG # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +# SPDX-License-Identifier: GPL-2.0-only # import os diff --git a/poky/bitbake/lib/bb/fetch2/cvs.py b/poky/bitbake/lib/bb/fetch2/cvs.py index 0e0a3196f..1b35ba4cf 100644 --- a/poky/bitbake/lib/bb/fetch2/cvs.py +++ b/poky/bitbake/lib/bb/fetch2/cvs.py @@ -1,5 +1,3 @@ -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- """ BitBake 'Fetch' implementations @@ -10,20 +8,9 @@ BitBake build tools. # Copyright (C) 2003, 2004 Chris Larson # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -# -#Based on functions from the base bb module, Copyright 2003 Holger Schurig +# Based on functions from the base bb module, Copyright 2003 Holger Schurig # import os diff --git a/poky/bitbake/lib/bb/fetch2/git.py b/poky/bitbake/lib/bb/fetch2/git.py index 8185bf4db..e171aa7eb 100644 --- a/poky/bitbake/lib/bb/fetch2/git.py +++ b/poky/bitbake/lib/bb/fetch2/git.py @@ -1,5 +1,3 @@ -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- """ BitBake 'Fetch' git implementation @@ -55,20 +53,10 @@ Supported SRC_URI options are: """ -#Copyright (C) 2005 Richard Purdie +# Copyright (C) 2005 Richard Purdie # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. import collections import errno @@ -503,6 +491,17 @@ class Git(FetchMethod): repourl = self._get_repo_url(ud) runfetchcmd("%s remote set-url origin %s" % (ud.basecmd, repourl), d, workdir=destdir) + + if self._contains_lfs(ud, d, destdir): + path = d.getVar('PATH') + if path: + gitlfstool = bb.utils.which(path, "git-lfs", executable=True) + if not gitlfstool: + raise bb.fetch2.FetchError("Repository %s has lfs content, install git-lfs plugin on host to download" % (repourl)) + else: + bb.note("Could not find 'PATH'") + + if not ud.nocheckout: if subdir != "": runfetchcmd("%s read-tree %s%s" % (ud.basecmd, ud.revisions[ud.names[0]], readpathspec), d, @@ -553,6 +552,20 @@ class Git(FetchMethod): raise bb.fetch2.FetchError("The command '%s' gave output with more then 1 line unexpectedly, output: '%s'" % (cmd, output)) return output.split()[0] != "0" + def _contains_lfs(self, ud, d, wd): + """ + Check if the repository has 'lfs' (large file) content + """ + cmd = "%s grep lfs HEAD:.gitattributes | wc -l" % ( + ud.basecmd) + try: + output = runfetchcmd(cmd, d, quiet=True, workdir=wd) + if int(output) > 0: + return True + except (bb.fetch2.FetchError,ValueError): + pass + return False + def _get_repo_url(self, ud): """ Return the repository URL diff --git a/poky/bitbake/lib/bb/fetch2/gitannex.py b/poky/bitbake/lib/bb/fetch2/gitannex.py index a9b69caab..1d497dcb0 100644 --- a/poky/bitbake/lib/bb/fetch2/gitannex.py +++ b/poky/bitbake/lib/bb/fetch2/gitannex.py @@ -1,5 +1,3 @@ -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- """ BitBake 'Fetch' git annex implementation """ @@ -7,18 +5,8 @@ BitBake 'Fetch' git annex implementation # Copyright (C) 2014 Otavio Salvador # Copyright (C) 2014 O.S. Systems Software LTDA. # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. import os import bb diff --git a/poky/bitbake/lib/bb/fetch2/gitsm.py b/poky/bitbake/lib/bb/fetch2/gitsm.py index 32389130b..c622771d2 100644 --- a/poky/bitbake/lib/bb/fetch2/gitsm.py +++ b/poky/bitbake/lib/bb/fetch2/gitsm.py @@ -1,5 +1,3 @@ -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- """ BitBake 'Fetch' git submodules implementation @@ -16,18 +14,8 @@ NOTE: Switching a SRC_URI from "git://" to "gitsm://" requires a clean of your r # Copyright (C) 2013 Richard Purdie # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. import os import bb @@ -129,7 +117,7 @@ class GitSM(Git): url += ';protocol=%s' % proto url += ";name=%s" % module - url += ";subpath=%s" % paths[module] + url += ";subpath=%s" % module ld = d.createCopy() # Not necessary to set SRC_URI, since we're passing the URI to @@ -196,7 +184,7 @@ class GitSM(Git): try: newfetch = Fetch([url], d, cache=False) - newfetch.unpack(root=os.path.dirname(os.path.join(repo_conf, 'modules', modpath))) + newfetch.unpack(root=os.path.dirname(os.path.join(repo_conf, 'modules', module))) except Exception as e: logger.error('gitsm: submodule unpack failed: %s %s' % (type(e).__name__, str(e))) raise @@ -211,9 +199,9 @@ class GitSM(Git): # Ensure the submodule repository is NOT set to bare, since we're checking it out... try: - runfetchcmd("%s config core.bare false" % (ud.basecmd), d, quiet=True, workdir=os.path.join(repo_conf, 'modules', modpath)) + runfetchcmd("%s config core.bare false" % (ud.basecmd), d, quiet=True, workdir=os.path.join(repo_conf, 'modules', module)) except: - logger.error("Unable to set git config core.bare to false for %s" % os.path.join(repo_conf, 'modules', modpath)) + logger.error("Unable to set git config core.bare to false for %s" % os.path.join(repo_conf, 'modules', module)) raise Git.unpack(self, ud, destdir, d) @@ -221,5 +209,7 @@ class GitSM(Git): ret = self.process_submodules(ud, ud.destdir, unpack_submodules, d) if not ud.bareclone and ret: - # Run submodule update, this sets up the directories -- without touching the config + # All submodules should already be downloaded and configured in the tree. This simply sets + # up the configuration and checks out the files. The main project config should remain + # unmodified, and no download from the internet should occur. runfetchcmd("%s submodule update --recursive --no-fetch" % (ud.basecmd), d, quiet=True, workdir=ud.destdir) diff --git a/poky/bitbake/lib/bb/fetch2/hg.py b/poky/bitbake/lib/bb/fetch2/hg.py index 5a2985e16..15d729e7b 100644 --- a/poky/bitbake/lib/bb/fetch2/hg.py +++ b/poky/bitbake/lib/bb/fetch2/hg.py @@ -1,5 +1,3 @@ -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- """ BitBake 'Fetch' implementation for mercurial DRCS (hg). @@ -9,20 +7,10 @@ BitBake 'Fetch' implementation for mercurial DRCS (hg). # Copyright (C) 2004 Marcin Juszkiewicz # Copyright (C) 2007 Robert Schuster # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +# SPDX-License-Identifier: GPL-2.0-only # # Based on functions from the base bb module, Copyright 2003 Holger Schurig +# import os import sys diff --git a/poky/bitbake/lib/bb/fetch2/local.py b/poky/bitbake/lib/bb/fetch2/local.py index a114ac12e..01d9ff9f8 100644 --- a/poky/bitbake/lib/bb/fetch2/local.py +++ b/poky/bitbake/lib/bb/fetch2/local.py @@ -1,5 +1,3 @@ -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- """ BitBake 'Fetch' implementations @@ -10,20 +8,10 @@ BitBake build tools. # Copyright (C) 2003, 2004 Chris Larson # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +# SPDX-License-Identifier: GPL-2.0-only # # Based on functions from the base bb module, Copyright 2003 Holger Schurig +# import os import urllib.request, urllib.parse, urllib.error diff --git a/poky/bitbake/lib/bb/fetch2/npm.py b/poky/bitbake/lib/bb/fetch2/npm.py index 65bf5a364..f08bdee73 100644 --- a/poky/bitbake/lib/bb/fetch2/npm.py +++ b/poky/bitbake/lib/bb/fetch2/npm.py @@ -1,5 +1,6 @@ -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- +# +# SPDX-License-Identifier: GPL-2.0-only +# """ BitBake 'Fetch' NPM implementation diff --git a/poky/bitbake/lib/bb/fetch2/osc.py b/poky/bitbake/lib/bb/fetch2/osc.py index 6c60456b5..3e567155d 100644 --- a/poky/bitbake/lib/bb/fetch2/osc.py +++ b/poky/bitbake/lib/bb/fetch2/osc.py @@ -1,5 +1,6 @@ -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- +# +# SPDX-License-Identifier: GPL-2.0-only +# """ Bitbake "Fetch" implementation for osc (Opensuse build service client). Based on the svn "Fetch" implementation. diff --git a/poky/bitbake/lib/bb/fetch2/perforce.py b/poky/bitbake/lib/bb/fetch2/perforce.py index 903a8e61a..54d001ec8 100644 --- a/poky/bitbake/lib/bb/fetch2/perforce.py +++ b/poky/bitbake/lib/bb/fetch2/perforce.py @@ -1,5 +1,3 @@ -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- """ BitBake 'Fetch' implementation for perforce @@ -8,18 +6,7 @@ BitBake 'Fetch' implementation for perforce # Copyright (C) 2003, 2004 Chris Larson # Copyright (C) 2016 Kodak Alaris, Inc. # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +# SPDX-License-Identifier: GPL-2.0-only # # Based on functions from the base bb module, Copyright 2003 Holger Schurig diff --git a/poky/bitbake/lib/bb/fetch2/repo.py b/poky/bitbake/lib/bb/fetch2/repo.py index 8c7e81853..2bdbbd409 100644 --- a/poky/bitbake/lib/bb/fetch2/repo.py +++ b/poky/bitbake/lib/bb/fetch2/repo.py @@ -1,5 +1,3 @@ -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- """ BitBake "Fetch" repo (git) implementation @@ -8,20 +6,10 @@ BitBake "Fetch" repo (git) implementation # Copyright (C) 2009 Tom Rini <trini@embeddedalley.com> # # Based on git.py which is: -#Copyright (C) 2005 Richard Purdie +# Copyright (C) 2005 Richard Purdie # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. import os import bb diff --git a/poky/bitbake/lib/bb/fetch2/s3.py b/poky/bitbake/lib/bb/fetch2/s3.py index 162928862..ffca73c8e 100644 --- a/poky/bitbake/lib/bb/fetch2/s3.py +++ b/poky/bitbake/lib/bb/fetch2/s3.py @@ -1,5 +1,3 @@ -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- """ BitBake 'Fetch' implementation for Amazon AWS S3. @@ -13,18 +11,7 @@ The aws tool must be correctly installed and configured prior to use. # Based in part on bb.fetch2.wget: # Copyright (C) 2003, 2004 Chris Larson # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +# SPDX-License-Identifier: GPL-2.0-only # # Based on functions from the base bb module, Copyright 2003 Holger Schurig diff --git a/poky/bitbake/lib/bb/fetch2/sftp.py b/poky/bitbake/lib/bb/fetch2/sftp.py index 81884a6aa..f87f292e5 100644 --- a/poky/bitbake/lib/bb/fetch2/sftp.py +++ b/poky/bitbake/lib/bb/fetch2/sftp.py @@ -1,5 +1,3 @@ -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- """ BitBake SFTP Fetch implementation @@ -44,18 +42,7 @@ SRC_URI = "sftp://user@host.example.com/dir/path.file.txt" # Based in part on bb.fetch2.wget: # Copyright (C) 2003, 2004 Chris Larson # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +# SPDX-License-Identifier: GPL-2.0-only # # Based on functions from the base bb module, Copyright 2003 Holger Schurig diff --git a/poky/bitbake/lib/bb/fetch2/ssh.py b/poky/bitbake/lib/bb/fetch2/ssh.py index 6047ee417..f5be060c4 100644 --- a/poky/bitbake/lib/bb/fetch2/ssh.py +++ b/poky/bitbake/lib/bb/fetch2/ssh.py @@ -1,5 +1,3 @@ -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- ''' BitBake 'Fetch' implementations @@ -29,18 +27,8 @@ IETF secsh internet draft: # Copyright 2003 Holger Schurig # # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. import re, os from bb.fetch2 import FetchMethod diff --git a/poky/bitbake/lib/bb/fetch2/svn.py b/poky/bitbake/lib/bb/fetch2/svn.py index 9dcf3eb09..baeb0e7ee 100644 --- a/poky/bitbake/lib/bb/fetch2/svn.py +++ b/poky/bitbake/lib/bb/fetch2/svn.py @@ -1,5 +1,3 @@ -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- """ BitBake 'Fetch' implementation for svn. @@ -8,18 +6,7 @@ BitBake 'Fetch' implementation for svn. # Copyright (C) 2003, 2004 Chris Larson # Copyright (C) 2004 Marcin Juszkiewicz # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +# SPDX-License-Identifier: GPL-2.0-only # # Based on functions from the base bb module, Copyright 2003 Holger Schurig diff --git a/poky/bitbake/lib/bb/fetch2/wget.py b/poky/bitbake/lib/bb/fetch2/wget.py index 3bb3e3bb0..0f71ee4ea 100644 --- a/poky/bitbake/lib/bb/fetch2/wget.py +++ b/poky/bitbake/lib/bb/fetch2/wget.py @@ -1,5 +1,3 @@ -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- """ BitBake 'Fetch' implementations @@ -10,18 +8,7 @@ BitBake build tools. # Copyright (C) 2003, 2004 Chris Larson # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +# SPDX-License-Identifier: GPL-2.0-only # # Based on functions from the base bb module, Copyright 2003 Holger Schurig diff --git a/poky/bitbake/lib/bb/main.py b/poky/bitbake/lib/bb/main.py index 41dd3b9e0..8d1978f98 100755 --- a/poky/bitbake/lib/bb/main.py +++ b/poky/bitbake/lib/bb/main.py @@ -1,6 +1,4 @@ #!/usr/bin/env python -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- # # Copyright (C) 2003, 2004 Chris Larson # Copyright (C) 2003, 2004 Phil Blundell @@ -9,18 +7,8 @@ # Copyright (C) 2005 ROAD GmbH # Copyright (C) 2006 Richard Purdie # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. import os import sys diff --git a/poky/bitbake/lib/bb/methodpool.py b/poky/bitbake/lib/bb/methodpool.py index 49aed3338..51783acc1 100644 --- a/poky/bitbake/lib/bb/methodpool.py +++ b/poky/bitbake/lib/bb/methodpool.py @@ -1,21 +1,8 @@ -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- -# # # Copyright (C) 2006 Holger Hans Peter Freyther # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. +# SPDX-License-Identifier: GPL-2.0-only # -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. from bb.utils import better_compile, better_exec diff --git a/poky/bitbake/lib/bb/monitordisk.py b/poky/bitbake/lib/bb/monitordisk.py index 2ad1e6156..69b25c772 100644 --- a/poky/bitbake/lib/bb/monitordisk.py +++ b/poky/bitbake/lib/bb/monitordisk.py @@ -1,21 +1,9 @@ #!/usr/bin/env python -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- # # Copyright (C) 2012 Robert Yang # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. import os, logging, re, sys import bb diff --git a/poky/bitbake/lib/bb/msg.py b/poky/bitbake/lib/bb/msg.py index 96f077ec4..6216eb3bc 100644 --- a/poky/bitbake/lib/bb/msg.py +++ b/poky/bitbake/lib/bb/msg.py @@ -1,5 +1,3 @@ -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- """ BitBake 'msg' implementation @@ -9,18 +7,8 @@ Message handling infrastructure for bitbake # Copyright (C) 2006 Richard Purdie # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. import sys import copy diff --git a/poky/bitbake/lib/bb/namedtuple_with_abc.py b/poky/bitbake/lib/bb/namedtuple_with_abc.py index 32f2fc642..c8e1d55c1 100644 --- a/poky/bitbake/lib/bb/namedtuple_with_abc.py +++ b/poky/bitbake/lib/bb/namedtuple_with_abc.py @@ -1,6 +1,9 @@ # http://code.activestate.com/recipes/577629-namedtupleabc-abstract-base-class-mix-in-for-named/ #!/usr/bin/env python # Copyright (c) 2011 Jan Kaliszewski (zuo). Available under the MIT License. +# +# SPDX-License-Identifier: MIT +# """ namedtuple_with_abc.py: diff --git a/poky/bitbake/lib/bb/parse/__init__.py b/poky/bitbake/lib/bb/parse/__init__.py index 5397d57a5..76e180b41 100644 --- a/poky/bitbake/lib/bb/parse/__init__.py +++ b/poky/bitbake/lib/bb/parse/__init__.py @@ -9,20 +9,10 @@ File parsers for the BitBake build tools. # Copyright (C) 2003, 2004 Chris Larson # Copyright (C) 2003, 2004 Phil Blundell # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +# SPDX-License-Identifier: GPL-2.0-only # # Based on functions from the base bb module, Copyright 2003 Holger Schurig +# handlers = [] diff --git a/poky/bitbake/lib/bb/parse/ast.py b/poky/bitbake/lib/bb/parse/ast.py index 6d7c80b34..f0911e6fb 100644 --- a/poky/bitbake/lib/bb/parse/ast.py +++ b/poky/bitbake/lib/bb/parse/ast.py @@ -1,5 +1,3 @@ -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- """ AbstractSyntaxTree classes for the Bitbake language """ @@ -8,19 +6,8 @@ # Copyright (C) 2003, 2004 Phil Blundell # Copyright (C) 2009 Holger Hans Peter Freyther # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - import re import string diff --git a/poky/bitbake/lib/bb/parse/parse_py/BBHandler.py b/poky/bitbake/lib/bb/parse/parse_py/BBHandler.py index 9dba5f233..889f230f7 100644 --- a/poky/bitbake/lib/bb/parse/parse_py/BBHandler.py +++ b/poky/bitbake/lib/bb/parse/parse_py/BBHandler.py @@ -1,6 +1,4 @@ #!/usr/bin/env python -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- """ class for handling .bb files @@ -12,19 +10,8 @@ # Copyright (C) 2003, 2004 Chris Larson # Copyright (C) 2003, 2004 Phil Blundell # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - import re, bb, os import logging @@ -42,7 +29,7 @@ __func_start_regexp__ = re.compile(r"(((?P<py>python)|(?P<fr>fakeroot))\s*)*( __inherit_regexp__ = re.compile(r"inherit\s+(.+)" ) __export_func_regexp__ = re.compile(r"EXPORT_FUNCTIONS\s+(.+)" ) __addtask_regexp__ = re.compile(r"addtask\s+(?P<func>\w+)\s*((before\s*(?P<before>((.*(?=after))|(.*))))|(after\s*(?P<after>((.*(?=before))|(.*)))))*") -__deltask_regexp__ = re.compile(r"deltask\s+(?P<func>\w+)") +__deltask_regexp__ = re.compile(r"deltask\s+(?P<func>\w+)(?P<ignores>.*)") __addhandler_regexp__ = re.compile(r"addhandler\s+(.+)" ) __def_regexp__ = re.compile(r"def\s+(\w+).*:" ) __python_func_regexp__ = re.compile(r"(\s+.*)|(^$)|(^#)" ) @@ -236,11 +223,27 @@ def feeder(lineno, s, fn, root, statements, eof=False): m = __addtask_regexp__.match(s) if m: + if len(m.group().split()) == 2: + # Check and warn for "addtask task1 task2" + m2 = re.match(r"addtask\s+(?P<func>\w+)(?P<ignores>.*)", s) + if m2 and m2.group('ignores'): + logger.warning('addtask ignored: "%s"' % m2.group('ignores')) + + # Check and warn for "addtask task1 before task2 before task3", the + # similar to "after" + taskexpression = s.split() + for word in ('before', 'after'): + if taskexpression.count(word) > 1: + logger.warning("addtask contained multiple '%s' keywords, only one is supported" % word) + ast.handleAddTask(statements, fn, lineno, m) return m = __deltask_regexp__.match(s) if m: + # Check and warn "for deltask task1 task2" + if m.group('ignores'): + logger.warning('deltask ignored: "%s"' % m.group('ignores')) ast.handleDelTask(statements, fn, lineno, m) return diff --git a/poky/bitbake/lib/bb/parse/parse_py/ConfHandler.py b/poky/bitbake/lib/bb/parse/parse_py/ConfHandler.py index ea49f8ca9..71bf61b76 100644 --- a/poky/bitbake/lib/bb/parse/parse_py/ConfHandler.py +++ b/poky/bitbake/lib/bb/parse/parse_py/ConfHandler.py @@ -1,6 +1,4 @@ #!/usr/bin/env python -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- """ class for handling configuration data files @@ -11,18 +9,8 @@ # Copyright (C) 2003, 2004 Chris Larson # Copyright (C) 2003, 2004 Phil Blundell # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. import errno import re diff --git a/poky/bitbake/lib/bb/parse/parse_py/__init__.py b/poky/bitbake/lib/bb/parse/parse_py/__init__.py index 3e658d0de..cdebe440d 100644 --- a/poky/bitbake/lib/bb/parse/parse_py/__init__.py +++ b/poky/bitbake/lib/bb/parse/parse_py/__init__.py @@ -1,6 +1,4 @@ #!/usr/bin/env python -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- """ BitBake Parsers @@ -11,20 +9,10 @@ File parsers for the BitBake build tools. # Copyright (C) 2003, 2004 Chris Larson # Copyright (C) 2003, 2004 Phil Blundell # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +# SPDX-License-Identifier: GPL-2.0-only # # Based on functions from the base bb module, Copyright 2003 Holger Schurig +# from __future__ import absolute_import from . import ConfHandler diff --git a/poky/bitbake/lib/bb/persist_data.py b/poky/bitbake/lib/bb/persist_data.py index 0d44100f1..de8f87a8b 100644 --- a/poky/bitbake/lib/bb/persist_data.py +++ b/poky/bitbake/lib/bb/persist_data.py @@ -8,18 +8,8 @@ currently, providing a key/value store accessed by 'domain'. # Copyright (C) 2007 Richard Purdie # Copyright (C) 2010 Chris Larson <chris_larson@mentor.com> # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. import collections import logging diff --git a/poky/bitbake/lib/bb/process.py b/poky/bitbake/lib/bb/process.py index e69697cb6..2dc472a86 100644 --- a/poky/bitbake/lib/bb/process.py +++ b/poky/bitbake/lib/bb/process.py @@ -1,3 +1,7 @@ +# +# SPDX-License-Identifier: GPL-2.0-only +# + import logging import signal import subprocess diff --git a/poky/bitbake/lib/bb/progress.py b/poky/bitbake/lib/bb/progress.py index f54d1c76f..e9b72e28b 100644 --- a/poky/bitbake/lib/bb/progress.py +++ b/poky/bitbake/lib/bb/progress.py @@ -4,18 +4,8 @@ BitBake progress handling code # Copyright (C) 2016 Intel Corporation # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. import sys import re diff --git a/poky/bitbake/lib/bb/providers.py b/poky/bitbake/lib/bb/providers.py index f496d84d1..f80963cb4 100644 --- a/poky/bitbake/lib/bb/providers.py +++ b/poky/bitbake/lib/bb/providers.py @@ -1,5 +1,3 @@ -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- # # Copyright (C) 2003, 2004 Chris Larson # Copyright (C) 2003, 2004 Phil Blundell @@ -8,18 +6,8 @@ # Copyright (C) 2005 ROAD GmbH # Copyright (C) 2006 Richard Purdie # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. import re import logging diff --git a/poky/bitbake/lib/bb/remotedata.py b/poky/bitbake/lib/bb/remotedata.py index 68ecffc19..7391e1b45 100644 --- a/poky/bitbake/lib/bb/remotedata.py +++ b/poky/bitbake/lib/bb/remotedata.py @@ -6,18 +6,8 @@ Provides support for using a datastore from the bitbake client # Copyright (C) 2016 Intel Corporation # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. import bb.data diff --git a/poky/bitbake/lib/bb/runqueue.py b/poky/bitbake/lib/bb/runqueue.py index 329cda33a..d573ed460 100644 --- a/poky/bitbake/lib/bb/runqueue.py +++ b/poky/bitbake/lib/bb/runqueue.py @@ -1,6 +1,4 @@ #!/usr/bin/env python -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- """ BitBake 'RunQueue' implementation @@ -9,18 +7,8 @@ Handles preparation and execution of a queue of tasks # Copyright (C) 2006-2007 Richard Purdie # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. import copy import os @@ -1667,7 +1655,7 @@ class RunQueue: recout = [] if len(hashfiles) == 2: out2 = bb.siggen.compare_sigfiles(hashfiles[hash1], hashfiles[hash2], recursecb) - recout.extend(list(' ' + l for l in out2)) + recout.extend(list(' ' + l for l in out2)) else: recout.append("Unable to find matching sigdata for %s with hashes %s or %s" % (key, hash1, hash2)) diff --git a/poky/bitbake/lib/bb/server/__init__.py b/poky/bitbake/lib/bb/server/__init__.py index 5a3fba968..b6f751318 100644 --- a/poky/bitbake/lib/bb/server/__init__.py +++ b/poky/bitbake/lib/bb/server/__init__.py @@ -5,17 +5,5 @@ # Copyright (C) 2006 - 2008 Richard Purdie # Copyright (C) 2013 Alexandru Damian # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - - diff --git a/poky/bitbake/lib/bb/server/process.py b/poky/bitbake/lib/bb/server/process.py index 80a7875ad..f901fe505 100644 --- a/poky/bitbake/lib/bb/server/process.py +++ b/poky/bitbake/lib/bb/server/process.py @@ -3,18 +3,8 @@ # # Copyright (C) 2010 Bob Foerster <robert@erafx.com> # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. """ This module implements a multiprocessing.Process based server for bitbake. diff --git a/poky/bitbake/lib/bb/server/xmlrpcclient.py b/poky/bitbake/lib/bb/server/xmlrpcclient.py index 4661a9e5a..c054c3c89 100644 --- a/poky/bitbake/lib/bb/server/xmlrpcclient.py +++ b/poky/bitbake/lib/bb/server/xmlrpcclient.py @@ -4,18 +4,8 @@ # Copyright (C) 2006 - 2007 Michael 'Mickey' Lauer # Copyright (C) 2006 - 2008 Richard Purdie # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. import os import sys diff --git a/poky/bitbake/lib/bb/server/xmlrpcserver.py b/poky/bitbake/lib/bb/server/xmlrpcserver.py index 875b1282e..54fa32f57 100644 --- a/poky/bitbake/lib/bb/server/xmlrpcserver.py +++ b/poky/bitbake/lib/bb/server/xmlrpcserver.py @@ -4,18 +4,8 @@ # Copyright (C) 2006 - 2007 Michael 'Mickey' Lauer # Copyright (C) 2006 - 2008 Richard Purdie # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. import os import sys diff --git a/poky/bitbake/lib/bb/siggen.py b/poky/bitbake/lib/bb/siggen.py index 09c9c8a25..e0a66e68d 100644 --- a/poky/bitbake/lib/bb/siggen.py +++ b/poky/bitbake/lib/bb/siggen.py @@ -1,3 +1,7 @@ +# +# SPDX-License-Identifier: GPL-2.0-only +# + import hashlib import logging import os @@ -119,6 +123,12 @@ class SignatureGeneratorBasic(SignatureGenerator): k = fn + "." + task if not ignore_mismatch and k in self.basehash and self.basehash[k] != basehash[k]: bb.error("When reparsing %s, the basehash value changed from %s to %s. The metadata is not deterministic and this needs to be fixed." % (k, self.basehash[k], basehash[k])) + bb.error("The following commands may help:") + cmd = "$ bitbake %s -c%s" % (d.getVar('PN'), task) + # Make sure sigdata is dumped before run printdiff + bb.error("%s -Snone" % cmd) + bb.error("Then:") + bb.error("%s -Sprintdiff\n" % cmd) self.basehash[k] = basehash[k] self.taskdeps[fn] = taskdeps @@ -633,6 +643,10 @@ def compare_sigfiles(a, b, recursecb=None, color=False, collapsed=False): a_taint = a_data.get('taint', None) b_taint = b_data.get('taint', None) if a_taint != b_taint: + if a_taint.startswith('nostamp:'): + a_taint = a_taint.replace('nostamp:', 'nostamp(uuid4):') + if b_taint.startswith('nostamp:'): + b_taint = b_taint.replace('nostamp:', 'nostamp(uuid4):') output.append(color_format("{color_title}Taint (by forced/invalidated task) changed{color_default} from %s to %s") % (a_taint, b_taint)) return output @@ -705,7 +719,11 @@ def dump_sigfile(a): output.append("Hash for dependent task %s is %s" % (dep, a_data['runtaskhashes'][dep])) if 'taint' in a_data: - output.append("Tainted (by forced/invalidated task): %s" % a_data['taint']) + if a_data['taint'].startswith('nostamp:'): + msg = a_data['taint'].replace('nostamp:', 'nostamp(uuid4):') + else: + msg = a_data['taint'] + output.append("Tainted (by forced/invalidated task): %s" % msg) if 'task' in a_data: computed_basehash = calc_basehash(a_data) diff --git a/poky/bitbake/lib/bb/taskdata.py b/poky/bitbake/lib/bb/taskdata.py index 94e822c48..c7de3db38 100644 --- a/poky/bitbake/lib/bb/taskdata.py +++ b/poky/bitbake/lib/bb/taskdata.py @@ -1,6 +1,4 @@ #!/usr/bin/env python -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- """ BitBake 'TaskData' implementation @@ -10,18 +8,8 @@ Task data collection and handling # Copyright (C) 2006 Richard Purdie # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. import logging import re diff --git a/poky/bitbake/lib/bb/tests/codeparser.py b/poky/bitbake/lib/bb/tests/codeparser.py index 3fd76a8f9..826a2d2f6 100644 --- a/poky/bitbake/lib/bb/tests/codeparser.py +++ b/poky/bitbake/lib/bb/tests/codeparser.py @@ -1,23 +1,10 @@ -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- # # BitBake Test for codeparser.py # # Copyright (C) 2010 Chris Larson # Copyright (C) 2012 Richard Purdie # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +# SPDX-License-Identifier: GPL-2.0-only # import unittest diff --git a/poky/bitbake/lib/bb/tests/cooker.py b/poky/bitbake/lib/bb/tests/cooker.py index 2b4423650..090916e94 100644 --- a/poky/bitbake/lib/bb/tests/cooker.py +++ b/poky/bitbake/lib/bb/tests/cooker.py @@ -1,20 +1,7 @@ -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- # # BitBake Tests for cooker.py # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +# SPDX-License-Identifier: GPL-2.0-only # import unittest diff --git a/poky/bitbake/lib/bb/tests/cow.py b/poky/bitbake/lib/bb/tests/cow.py index d149d84d0..b4af4bbcb 100644 --- a/poky/bitbake/lib/bb/tests/cow.py +++ b/poky/bitbake/lib/bb/tests/cow.py @@ -1,22 +1,9 @@ -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- # # BitBake Tests for Copy-on-Write (cow.py) # -# Copyright 2006 Holger Freyther <freyther@handhelds.org> -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +# Copyright 2006 Holger Freyther <freyther@handhelds.org> # import unittest diff --git a/poky/bitbake/lib/bb/tests/data.py b/poky/bitbake/lib/bb/tests/data.py index 3c511f214..3cf5abec7 100644 --- a/poky/bitbake/lib/bb/tests/data.py +++ b/poky/bitbake/lib/bb/tests/data.py @@ -1,23 +1,10 @@ -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- # # BitBake Tests for the Data Store (data.py/data_smart.py) # # Copyright (C) 2010 Chris Larson # Copyright (C) 2012 Richard Purdie # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +# SPDX-License-Identifier: GPL-2.0-only # import unittest diff --git a/poky/bitbake/lib/bb/tests/event.py b/poky/bitbake/lib/bb/tests/event.py index d3a5f6269..b6e40c6ae 100644 --- a/poky/bitbake/lib/bb/tests/event.py +++ b/poky/bitbake/lib/bb/tests/event.py @@ -1,22 +1,9 @@ -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- # # BitBake Tests for the Event implementation (event.py) # # Copyright (C) 2017 Intel Corporation # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +# SPDX-License-Identifier: GPL-2.0-only # import unittest diff --git a/poky/bitbake/lib/bb/tests/fetch.py b/poky/bitbake/lib/bb/tests/fetch.py index 429998b34..6bdf0416d 100644 --- a/poky/bitbake/lib/bb/tests/fetch.py +++ b/poky/bitbake/lib/bb/tests/fetch.py @@ -1,22 +1,9 @@ -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- # # BitBake Tests for the Fetcher (fetch2/) # # Copyright (C) 2012 Richard Purdie # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +# SPDX-License-Identifier: GPL-2.0-only # import unittest @@ -977,6 +964,33 @@ class FetcherNetworkTest(FetcherTest): self.assertTrue(os.path.exists(os.path.join(repo_path, '.git/modules/third_party/googletest/config')), msg='Missing submodule config "third_party/googletest/config"') self.assertTrue(os.path.exists(os.path.join(repo_path, '.git/modules/third_party/HdrHistogram_c/config')), msg='Missing submodule config "third_party/HdrHistogram_c/config"') + def test_git_submodule_iotedge(self): + """ Prevent regression on deeply nested submodules not being checked out properly, even though they were fetched. """ + + # This repository also has submodules where the module (name), path and url do not align + url = "gitsm://github.com/azure/iotedge.git;protocol=git;rev=d76e0316c6f324345d77c48a83ce836d09392699" + fetcher = bb.fetch.Fetch([url], self.d) + fetcher.download() + # Previous cwd has been deleted + os.chdir(os.path.dirname(self.unpackdir)) + fetcher.unpack(self.unpackdir) + + repo_path = os.path.join(self.tempdir, 'unpacked', 'git') + + self.assertTrue(os.path.exists(os.path.join(repo_path, 'edgelet/hsm-sys/azure-iot-hsm-c/deps/c-shared/README.md')), msg='Missing submodule checkout') + self.assertTrue(os.path.exists(os.path.join(repo_path, 'edgelet/hsm-sys/azure-iot-hsm-c/deps/c-shared/testtools/ctest/README.md')), msg='Missing submodule checkout') + self.assertTrue(os.path.exists(os.path.join(repo_path, 'edgelet/hsm-sys/azure-iot-hsm-c/deps/c-shared/testtools/testrunner/readme.md')), msg='Missing submodule checkout') + self.assertTrue(os.path.exists(os.path.join(repo_path, 'edgelet/hsm-sys/azure-iot-hsm-c/deps/c-shared/testtools/umock-c/readme.md')), msg='Missing submodule checkout') + self.assertTrue(os.path.exists(os.path.join(repo_path, 'edgelet/hsm-sys/azure-iot-hsm-c/deps/c-shared/testtools/umock-c/deps/ctest/README.md')), msg='Missing submodule checkout') + self.assertTrue(os.path.exists(os.path.join(repo_path, 'edgelet/hsm-sys/azure-iot-hsm-c/deps/c-shared/testtools/umock-c/deps/testrunner/readme.md')), msg='Missing submodule checkout') + self.assertTrue(os.path.exists(os.path.join(repo_path, 'edgelet/hsm-sys/azure-iot-hsm-c/deps/utpm/README.md')), msg='Missing submodule checkout') + self.assertTrue(os.path.exists(os.path.join(repo_path, 'edgelet/hsm-sys/azure-iot-hsm-c/deps/utpm/deps/c-utility/README.md')), msg='Missing submodule checkout') + self.assertTrue(os.path.exists(os.path.join(repo_path, 'edgelet/hsm-sys/azure-iot-hsm-c/deps/utpm/deps/c-utility/testtools/ctest/README.md')), msg='Missing submodule checkout') + self.assertTrue(os.path.exists(os.path.join(repo_path, 'edgelet/hsm-sys/azure-iot-hsm-c/deps/utpm/deps/c-utility/testtools/testrunner/readme.md')), msg='Missing submodule checkout') + self.assertTrue(os.path.exists(os.path.join(repo_path, 'edgelet/hsm-sys/azure-iot-hsm-c/deps/utpm/deps/c-utility/testtools/umock-c/readme.md')), msg='Missing submodule checkout') + self.assertTrue(os.path.exists(os.path.join(repo_path, 'edgelet/hsm-sys/azure-iot-hsm-c/deps/utpm/deps/c-utility/testtools/umock-c/deps/ctest/README.md')), msg='Missing submodule checkout') + self.assertTrue(os.path.exists(os.path.join(repo_path, 'edgelet/hsm-sys/azure-iot-hsm-c/deps/utpm/deps/c-utility/testtools/umock-c/deps/testrunner/readme.md')), msg='Missing submodule checkout') + class TrustedNetworksTest(FetcherTest): def test_trusted_network(self): # Ensure trusted_network returns False when the host IS in the list. diff --git a/poky/bitbake/lib/bb/tests/parse.py b/poky/bitbake/lib/bb/tests/parse.py index 1bc47405d..9afd1b208 100644 --- a/poky/bitbake/lib/bb/tests/parse.py +++ b/poky/bitbake/lib/bb/tests/parse.py @@ -1,22 +1,9 @@ -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- # # BitBake Test for lib/bb/parse/ # # Copyright (C) 2015 Richard Purdie # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +# SPDX-License-Identifier: GPL-2.0-only # import unittest @@ -187,3 +174,21 @@ python () { self.assertEqual(d1.getVar("VAR_var"), "B") self.assertEqual(d2.getVar("VAR_var"), None) + addtask_deltask = """ +addtask do_patch after do_foo after do_unpack before do_configure before do_compile +addtask do_fetch do_patch + +deltask do_fetch do_patch +""" + def test_parse_addtask_deltask(self): + import sys + f = self.parsehelper(self.addtask_deltask) + d = bb.parse.handle(f.name, self.d)[''] + + stdout = sys.stdout.getvalue() + self.assertTrue("addtask contained multiple 'before' keywords" in stdout) + self.assertTrue("addtask contained multiple 'after' keywords" in stdout) + self.assertTrue('addtask ignored: " do_patch"' in stdout) + self.assertTrue('deltask ignored: " do_patch"' in stdout) + #self.assertTrue('dependent task do_foo for do_patch does not exist' in stdout) + diff --git a/poky/bitbake/lib/bb/tests/persist_data.py b/poky/bitbake/lib/bb/tests/persist_data.py index 812bcbd7b..f641b5acb 100644 --- a/poky/bitbake/lib/bb/tests/persist_data.py +++ b/poky/bitbake/lib/bb/tests/persist_data.py @@ -1,22 +1,9 @@ -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- # # BitBake Test for lib/bb/persist_data/ # # Copyright (C) 2018 Garmin Ltd. # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +# SPDX-License-Identifier: GPL-2.0-only # import unittest diff --git a/poky/bitbake/lib/bb/tests/utils.py b/poky/bitbake/lib/bb/tests/utils.py index f1cd83a41..4d788281a 100644 --- a/poky/bitbake/lib/bb/tests/utils.py +++ b/poky/bitbake/lib/bb/tests/utils.py @@ -1,22 +1,9 @@ -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- # # BitBake Tests for utils.py # # Copyright (C) 2012 Richard Purdie # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +# SPDX-License-Identifier: GPL-2.0-only # import unittest diff --git a/poky/bitbake/lib/bb/tinfoil.py b/poky/bitbake/lib/bb/tinfoil.py index 368264f39..0a1b91305 100644 --- a/poky/bitbake/lib/bb/tinfoil.py +++ b/poky/bitbake/lib/bb/tinfoil.py @@ -4,18 +4,8 @@ # Copyright (C) 2011 Mentor Graphics Corporation # Copyright (C) 2006-2012 Richard Purdie # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. import logging import os diff --git a/poky/bitbake/lib/bb/ui/__init__.py b/poky/bitbake/lib/bb/ui/__init__.py index a4805ed02..4b7ac36ca 100644 --- a/poky/bitbake/lib/bb/ui/__init__.py +++ b/poky/bitbake/lib/bb/ui/__init__.py @@ -3,15 +3,5 @@ # # Copyright (C) 2006-2007 Richard Purdie # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. diff --git a/poky/bitbake/lib/bb/ui/buildinfohelper.py b/poky/bitbake/lib/bb/ui/buildinfohelper.py index 31323d281..f2151c2d4 100644 --- a/poky/bitbake/lib/bb/ui/buildinfohelper.py +++ b/poky/bitbake/lib/bb/ui/buildinfohelper.py @@ -3,18 +3,8 @@ # # Copyright (C) 2013 Intel Corporation # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. import sys import bb diff --git a/poky/bitbake/lib/bb/ui/knotty.py b/poky/bitbake/lib/bb/ui/knotty.py index fa88e6ccd..3d9e2031b 100644 --- a/poky/bitbake/lib/bb/ui/knotty.py +++ b/poky/bitbake/lib/bb/ui/knotty.py @@ -5,18 +5,8 @@ # # Copyright (C) 2006-2012 Richard Purdie # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. from __future__ import division @@ -222,6 +212,23 @@ class TerminalFilter(object): sys.stdout.flush() self.footer_present = False + def elapsed(self, sec): + hrs = int(sec / 3600.0) + sec -= hrs * 3600 + min = int(sec / 60.0) + sec -= min * 60 + if hrs > 0: + return "%dh%dm%ds" % (hrs, min, sec) + elif min > 0: + return "%dm%ds" % (min, sec) + else: + return "%ds" % (sec) + + def keepAlive(self, t): + if not self.cuu: + print("Bitbake still alive (%ds)" % t) + sys.stdout.flush() + def updateFooter(self): if not self.cuu: return @@ -258,7 +265,7 @@ class TerminalFilter(object): else: start_time = activetasks[t].get("starttime", None) if start_time: - tasks.append("%s - %ds (pid %s)" % (activetasks[t]["title"], currenttime - start_time, t)) + tasks.append("%s - %s (pid %s)" % (activetasks[t]["title"], self.elapsed(currenttime - start_time), t)) else: tasks.append("%s (pid %s)" % (activetasks[t]["title"], t)) @@ -455,11 +462,17 @@ def main(server, eventHandler, params, tf = TerminalFilter): warnings = 0 taskfailures = [] + printinterval = 5000 + lastprint = time.time() + termfilter = tf(main, helper, console, errconsole, format, params.options.quiet) atexit.register(termfilter.finish) while True: try: + if (lastprint + printinterval) <= time.time(): + termfilter.keepAlive(printinterval) + printinterval += 5000 event = eventHandler.waitEvent(0) if event is None: if main.shutdown > 1: @@ -488,6 +501,8 @@ def main(server, eventHandler, params, tf = TerminalFilter): continue if isinstance(event, logging.LogRecord): + lastprint = time.time() + printinterval = 5000 if event.levelno >= format.ERROR: errors = errors + 1 return_value = 1 diff --git a/poky/bitbake/lib/bb/ui/ncurses.py b/poky/bitbake/lib/bb/ui/ncurses.py index 8690c529c..c422732b2 100644 --- a/poky/bitbake/lib/bb/ui/ncurses.py +++ b/poky/bitbake/lib/bb/ui/ncurses.py @@ -6,18 +6,8 @@ # Copyright (C) 2006 Michael 'Mickey' Lauer # Copyright (C) 2006-2007 Richard Purdie # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. """ We have the following windows: diff --git a/poky/bitbake/lib/bb/ui/taskexp.py b/poky/bitbake/lib/bb/ui/taskexp.py index 8305d70f4..50a943cd0 100644 --- a/poky/bitbake/lib/bb/ui/taskexp.py +++ b/poky/bitbake/lib/bb/ui/taskexp.py @@ -4,18 +4,8 @@ # Copyright (C) 2007 Ross Burton # Copyright (C) 2007 - 2008 Richard Purdie # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. import sys import gi diff --git a/poky/bitbake/lib/bb/ui/toasterui.py b/poky/bitbake/lib/bb/ui/toasterui.py index 88cec3759..51892c9a0 100644 --- a/poky/bitbake/lib/bb/ui/toasterui.py +++ b/poky/bitbake/lib/bb/ui/toasterui.py @@ -7,18 +7,8 @@ # Copyright (C) 2006-2012 Richard Purdie # Copyright (C) 2013 Intel Corporation # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. from __future__ import division import time diff --git a/poky/bitbake/lib/bb/ui/uievent.py b/poky/bitbake/lib/bb/ui/uievent.py index 9542b911c..fedb05064 100644 --- a/poky/bitbake/lib/bb/ui/uievent.py +++ b/poky/bitbake/lib/bb/ui/uievent.py @@ -1,22 +1,9 @@ -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- # # Copyright (C) 2006 - 2007 Michael 'Mickey' Lauer # Copyright (C) 2006 - 2007 Richard Purdie # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - """ Use this class to fork off a thread to recieve event callbacks from the bitbake diff --git a/poky/bitbake/lib/bb/ui/uihelper.py b/poky/bitbake/lib/bb/ui/uihelper.py index 963c1ea2d..db7f0ca08 100644 --- a/poky/bitbake/lib/bb/ui/uihelper.py +++ b/poky/bitbake/lib/bb/ui/uihelper.py @@ -1,21 +1,9 @@ -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- # # Copyright (C) 2006 - 2007 Michael 'Mickey' Lauer # Copyright (C) 2006 - 2007 Richard Purdie # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. import bb.build import time diff --git a/poky/bitbake/lib/bb/utils.py b/poky/bitbake/lib/bb/utils.py index b652a6838..ed19825fa 100644 --- a/poky/bitbake/lib/bb/utils.py +++ b/poky/bitbake/lib/bb/utils.py @@ -1,23 +1,11 @@ -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- """ BitBake Utility Functions """ # Copyright (C) 2004 Michael Lauer # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. import re, fcntl, os, string, stat, shutil, time import sys @@ -722,8 +710,8 @@ def prune_suffix(var, suffixes, d): # See if var ends with any of the suffixes listed and # remove it if found for suffix in suffixes: - if var.endswith(suffix): - return var.replace(suffix, "") + if suffix and var.endswith(suffix): + return var[:-len(suffix)] return var def mkdirhier(directory): @@ -734,7 +722,7 @@ def mkdirhier(directory): try: os.makedirs(directory) except OSError as e: - if e.errno != errno.EEXIST: + if e.errno != errno.EEXIST or not os.path.isdir(directory): raise e def movefile(src, dest, newmtime = None, sstat = None): diff --git a/poky/bitbake/lib/bblayers/__init__.py b/poky/bitbake/lib/bblayers/__init__.py index 3ad9513f4..4e7c09da0 100644 --- a/poky/bitbake/lib/bblayers/__init__.py +++ b/poky/bitbake/lib/bblayers/__init__.py @@ -1,2 +1,6 @@ +# +# SPDX-License-Identifier: GPL-2.0-only +# + from pkgutil import extend_path __path__ = extend_path(__path__, __name__) diff --git a/poky/bitbake/lib/bblayers/action.py b/poky/bitbake/lib/bblayers/action.py index a3f658f93..d6459d661 100644 --- a/poky/bitbake/lib/bblayers/action.py +++ b/poky/bitbake/lib/bblayers/action.py @@ -1,3 +1,7 @@ +# +# SPDX-License-Identifier: GPL-2.0-only +# + import fnmatch import logging import os diff --git a/poky/bitbake/lib/bblayers/common.py b/poky/bitbake/lib/bblayers/common.py index 98515ced4..c5657d381 100644 --- a/poky/bitbake/lib/bblayers/common.py +++ b/poky/bitbake/lib/bblayers/common.py @@ -1,3 +1,7 @@ +# +# SPDX-License-Identifier: GPL-2.0-only +# + import argparse import logging import os diff --git a/poky/bitbake/lib/bblayers/layerindex.py b/poky/bitbake/lib/bblayers/layerindex.py index b2ff2268e..57cd9027f 100644 --- a/poky/bitbake/lib/bblayers/layerindex.py +++ b/poky/bitbake/lib/bblayers/layerindex.py @@ -1,3 +1,7 @@ +# +# SPDX-License-Identifier: GPL-2.0-only +# + import layerindexlib import argparse diff --git a/poky/bitbake/lib/bblayers/query.py b/poky/bitbake/lib/bblayers/query.py index 9294dfa88..993589de9 100644 --- a/poky/bitbake/lib/bblayers/query.py +++ b/poky/bitbake/lib/bblayers/query.py @@ -1,3 +1,7 @@ +# +# SPDX-License-Identifier: GPL-2.0-only +# + import collections import fnmatch import logging diff --git a/poky/bitbake/lib/hashserv/__init__.py b/poky/bitbake/lib/hashserv/__init__.py index 46bca7cab..fdc9ced9f 100644 --- a/poky/bitbake/lib/hashserv/__init__.py +++ b/poky/bitbake/lib/hashserv/__init__.py @@ -1,17 +1,7 @@ # Copyright (C) 2018 Garmin Ltd. # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. from http.server import BaseHTTPRequestHandler, HTTPServer import contextlib diff --git a/poky/bitbake/lib/hashserv/tests.py b/poky/bitbake/lib/hashserv/tests.py index 806b54c5e..8300a2559 100644 --- a/poky/bitbake/lib/hashserv/tests.py +++ b/poky/bitbake/lib/hashserv/tests.py @@ -2,18 +2,8 @@ # # Copyright (C) 2018 Garmin Ltd. # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. import unittest import threading diff --git a/poky/bitbake/lib/layerindexlib/__init__.py b/poky/bitbake/lib/layerindexlib/__init__.py index cb79cb37d..d231cf6a9 100644 --- a/poky/bitbake/lib/layerindexlib/__init__.py +++ b/poky/bitbake/lib/layerindexlib/__init__.py @@ -1,17 +1,7 @@ # Copyright (C) 2016-2018 Wind River Systems, Inc. # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# See the GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA import datetime diff --git a/poky/bitbake/lib/layerindexlib/cooker.py b/poky/bitbake/lib/layerindexlib/cooker.py index 848f0e2ee..604a9611d 100644 --- a/poky/bitbake/lib/layerindexlib/cooker.py +++ b/poky/bitbake/lib/layerindexlib/cooker.py @@ -1,17 +1,7 @@ # Copyright (C) 2016-2018 Wind River Systems, Inc. # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# See the GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA import logging import json diff --git a/poky/bitbake/lib/layerindexlib/plugin.py b/poky/bitbake/lib/layerindexlib/plugin.py index 92a2e978b..7015a1af2 100644 --- a/poky/bitbake/lib/layerindexlib/plugin.py +++ b/poky/bitbake/lib/layerindexlib/plugin.py @@ -1,18 +1,7 @@ # Copyright (C) 2016-2018 Wind River Systems, Inc. # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# See the GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - # The file contains: # LayerIndex exceptions # Plugin base class diff --git a/poky/bitbake/lib/layerindexlib/restapi.py b/poky/bitbake/lib/layerindexlib/restapi.py index d08eb2055..21fd14414 100644 --- a/poky/bitbake/lib/layerindexlib/restapi.py +++ b/poky/bitbake/lib/layerindexlib/restapi.py @@ -1,17 +1,7 @@ # Copyright (C) 2016-2018 Wind River Systems, Inc. # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# See the GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA import logging import json diff --git a/poky/bitbake/lib/layerindexlib/tests/common.py b/poky/bitbake/lib/layerindexlib/tests/common.py index 22a54585c..077382f11 100644 --- a/poky/bitbake/lib/layerindexlib/tests/common.py +++ b/poky/bitbake/lib/layerindexlib/tests/common.py @@ -1,17 +1,7 @@ # Copyright (C) 2017-2018 Wind River Systems, Inc. # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# See the GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA import unittest import tempfile diff --git a/poky/bitbake/lib/layerindexlib/tests/cooker.py b/poky/bitbake/lib/layerindexlib/tests/cooker.py index fdbf09110..1fa102e60 100644 --- a/poky/bitbake/lib/layerindexlib/tests/cooker.py +++ b/poky/bitbake/lib/layerindexlib/tests/cooker.py @@ -1,17 +1,7 @@ # Copyright (C) 2018 Wind River Systems, Inc. # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# See the GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA import unittest import tempfile diff --git a/poky/bitbake/lib/layerindexlib/tests/layerindexobj.py b/poky/bitbake/lib/layerindexlib/tests/layerindexobj.py index e2fbb950b..0c5ec8881 100644 --- a/poky/bitbake/lib/layerindexlib/tests/layerindexobj.py +++ b/poky/bitbake/lib/layerindexlib/tests/layerindexobj.py @@ -1,17 +1,7 @@ # Copyright (C) 2017-2018 Wind River Systems, Inc. # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# See the GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA import unittest import tempfile diff --git a/poky/bitbake/lib/layerindexlib/tests/restapi.py b/poky/bitbake/lib/layerindexlib/tests/restapi.py index 58766950c..6d8dc0058 100644 --- a/poky/bitbake/lib/layerindexlib/tests/restapi.py +++ b/poky/bitbake/lib/layerindexlib/tests/restapi.py @@ -1,17 +1,7 @@ # Copyright (C) 2017-2018 Wind River Systems, Inc. # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# See the GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA import unittest import tempfile diff --git a/poky/bitbake/lib/progressbar/__init__.py b/poky/bitbake/lib/progressbar/__init__.py index fbab744ee..c545a6275 100644 --- a/poky/bitbake/lib/progressbar/__init__.py +++ b/poky/bitbake/lib/progressbar/__init__.py @@ -4,6 +4,8 @@ # progressbar - Text progress bar library for Python. # Copyright (c) 2005 Nilton Volpato # +# SPDX-License-Identifier: LGPL-2.1-or-later OR BSD-3-Clause-Clear +# # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either diff --git a/poky/bitbake/lib/progressbar/compat.py b/poky/bitbake/lib/progressbar/compat.py index a39f4a1f4..9804e0b51 100644 --- a/poky/bitbake/lib/progressbar/compat.py +++ b/poky/bitbake/lib/progressbar/compat.py @@ -3,6 +3,8 @@ # progressbar - Text progress bar library for Python. # Copyright (c) 2005 Nilton Volpato # +# SPDX-License-Identifier: LGPL-2.1-or-later OR BSD-3-Clause-Clear +# # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either diff --git a/poky/bitbake/lib/progressbar/progressbar.py b/poky/bitbake/lib/progressbar/progressbar.py index 2873ad6ca..e2b6ba108 100644 --- a/poky/bitbake/lib/progressbar/progressbar.py +++ b/poky/bitbake/lib/progressbar/progressbar.py @@ -5,6 +5,8 @@ # # (With some small changes after importing into BitBake) # +# SPDX-License-Identifier: LGPL-2.1-or-later OR BSD-3-Clause-Clear +# # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either diff --git a/poky/bitbake/lib/progressbar/widgets.py b/poky/bitbake/lib/progressbar/widgets.py index 77285ca7a..0772aa536 100644 --- a/poky/bitbake/lib/progressbar/widgets.py +++ b/poky/bitbake/lib/progressbar/widgets.py @@ -3,6 +3,8 @@ # progressbar - Text progress bar library for Python. # Copyright (c) 2005 Nilton Volpato # +# SPDX-License-Identifier: LGPL-2.1-or-later OR BSD-3-Clause-Clear +# # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either diff --git a/poky/bitbake/lib/prserv/__init__.py b/poky/bitbake/lib/prserv/__init__.py index c3cb73ad9..9961040b5 100644 --- a/poky/bitbake/lib/prserv/__init__.py +++ b/poky/bitbake/lib/prserv/__init__.py @@ -1,3 +1,7 @@ +# +# SPDX-License-Identifier: GPL-2.0-only +# + __version__ = "1.0.0" import os, time diff --git a/poky/bitbake/lib/prserv/db.py b/poky/bitbake/lib/prserv/db.py index 495d09f39..d6188a679 100644 --- a/poky/bitbake/lib/prserv/db.py +++ b/poky/bitbake/lib/prserv/db.py @@ -1,3 +1,7 @@ +# +# SPDX-License-Identifier: GPL-2.0-only +# + import logging import os.path import errno diff --git a/poky/bitbake/lib/prserv/serv.py b/poky/bitbake/lib/prserv/serv.py index 6a99728c4..be3acec36 100644 --- a/poky/bitbake/lib/prserv/serv.py +++ b/poky/bitbake/lib/prserv/serv.py @@ -1,3 +1,7 @@ +# +# SPDX-License-Identifier: GPL-2.0-only +# + import os,sys,logging import signal, time from xmlrpc.server import SimpleXMLRPCServer, SimpleXMLRPCRequestHandler diff --git a/poky/bitbake/lib/pyinotify.py b/poky/bitbake/lib/pyinotify.py index 4eb03b092..9dcfd0d2e 100644 --- a/poky/bitbake/lib/pyinotify.py +++ b/poky/bitbake/lib/pyinotify.py @@ -3,23 +3,8 @@ # pyinotify.py - python interface to inotify # Copyright (c) 2005-2015 Sebastien Martini <seb@dbzteam.org> # -# 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: +# SPDX-License-Identifier: MIT # -# 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. """ pyinotify diff --git a/poky/bitbake/lib/toaster/bldcollector/admin.py b/poky/bitbake/lib/toaster/bldcollector/admin.py index 1f2e07f50..feaa888c7 100644 --- a/poky/bitbake/lib/toaster/bldcollector/admin.py +++ b/poky/bitbake/lib/toaster/bldcollector/admin.py @@ -1,3 +1,7 @@ +# +# SPDX-License-Identifier: GPL-2.0-only +# + from django.contrib import admin from orm.models import BitbakeVersion, Release, ToasterSetting, Layer_Version from django import forms diff --git a/poky/bitbake/lib/toaster/bldcollector/urls.py b/poky/bitbake/lib/toaster/bldcollector/urls.py index 888175d0a..8eb1e34a5 100644 --- a/poky/bitbake/lib/toaster/bldcollector/urls.py +++ b/poky/bitbake/lib/toaster/bldcollector/urls.py @@ -3,19 +3,8 @@ # # Copyright (C) 2014-2017 Intel Corporation # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - from django.conf.urls import include, url diff --git a/poky/bitbake/lib/toaster/bldcollector/views.py b/poky/bitbake/lib/toaster/bldcollector/views.py index f32fa4d22..c708b415e 100644 --- a/poky/bitbake/lib/toaster/bldcollector/views.py +++ b/poky/bitbake/lib/toaster/bldcollector/views.py @@ -3,18 +3,8 @@ # # Copyright (C) 2014 Intel Corporation # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. from django.views.decorators.cache import cache_control from django.core.urlresolvers import reverse diff --git a/poky/bitbake/lib/toaster/bldcontrol/admin.py b/poky/bitbake/lib/toaster/bldcontrol/admin.py index fcbe5f593..e85c30ed1 100644 --- a/poky/bitbake/lib/toaster/bldcontrol/admin.py +++ b/poky/bitbake/lib/toaster/bldcontrol/admin.py @@ -1,3 +1,7 @@ +# +# SPDX-License-Identifier: GPL-2.0-only +# + from django.contrib import admin from django.contrib.admin.filters import RelatedFieldListFilter from .models import BuildEnvironment diff --git a/poky/bitbake/lib/toaster/bldcontrol/bbcontroller.py b/poky/bitbake/lib/toaster/bldcontrol/bbcontroller.py index 5195600d9..301df1880 100644 --- a/poky/bitbake/lib/toaster/bldcontrol/bbcontroller.py +++ b/poky/bitbake/lib/toaster/bldcontrol/bbcontroller.py @@ -1,24 +1,10 @@ # -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- -# # BitBake Toaster Implementation # # Copyright (C) 2014 Intel Corporation # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. +# SPDX-License-Identifier: GPL-2.0-only # -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - import os import sys diff --git a/poky/bitbake/lib/toaster/bldcontrol/localhostbecontroller.py b/poky/bitbake/lib/toaster/bldcontrol/localhostbecontroller.py index 949063593..39ea736b5 100644 --- a/poky/bitbake/lib/toaster/bldcontrol/localhostbecontroller.py +++ b/poky/bitbake/lib/toaster/bldcontrol/localhostbecontroller.py @@ -1,24 +1,10 @@ # -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- -# # BitBake Toaster Implementation # # Copyright (C) 2014 Intel Corporation # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. +# SPDX-License-Identifier: GPL-2.0-only # -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - import os import sys diff --git a/poky/bitbake/lib/toaster/bldcontrol/management/commands/checksettings.py b/poky/bitbake/lib/toaster/bldcontrol/management/commands/checksettings.py index 14298d9da..fe2c4dc2b 100644 --- a/poky/bitbake/lib/toaster/bldcontrol/management/commands/checksettings.py +++ b/poky/bitbake/lib/toaster/bldcontrol/management/commands/checksettings.py @@ -1,3 +1,7 @@ +# +# SPDX-License-Identifier: GPL-2.0-only +# + from django.core.management.base import BaseCommand, CommandError from django.db import transaction diff --git a/poky/bitbake/lib/toaster/bldcontrol/management/commands/runbuilds.py b/poky/bitbake/lib/toaster/bldcontrol/management/commands/runbuilds.py index 6a55dd46c..50ec40986 100644 --- a/poky/bitbake/lib/toaster/bldcontrol/management/commands/runbuilds.py +++ b/poky/bitbake/lib/toaster/bldcontrol/management/commands/runbuilds.py @@ -1,3 +1,7 @@ +# +# SPDX-License-Identifier: GPL-2.0-only +# + from django.core.management.base import BaseCommand from django.db import transaction from django.db.models import Q diff --git a/poky/bitbake/lib/toaster/bldcontrol/models.py b/poky/bitbake/lib/toaster/bldcontrol/models.py index 409614b9e..bcffcf5e2 100644 --- a/poky/bitbake/lib/toaster/bldcontrol/models.py +++ b/poky/bitbake/lib/toaster/bldcontrol/models.py @@ -1,3 +1,7 @@ +# +# SPDX-License-Identifier: GPL-2.0-only +# + from __future__ import unicode_literals from django.db import models from django.core.validators import MaxValueValidator, MinValueValidator diff --git a/poky/bitbake/lib/toaster/bldcontrol/views.py b/poky/bitbake/lib/toaster/bldcontrol/views.py index 60f00ef0e..286d88b45 100644 --- a/poky/bitbake/lib/toaster/bldcontrol/views.py +++ b/poky/bitbake/lib/toaster/bldcontrol/views.py @@ -1 +1,5 @@ +# +# SPDX-License-Identifier: GPL-2.0-only +# + # Create your views here. diff --git a/poky/bitbake/lib/toaster/manage.py b/poky/bitbake/lib/toaster/manage.py index 0c7ea5088..ae32619d1 100755 --- a/poky/bitbake/lib/toaster/manage.py +++ b/poky/bitbake/lib/toaster/manage.py @@ -1,4 +1,8 @@ #!/usr/bin/env python3 +# +# SPDX-License-Identifier: GPL-2.0-only +# + import os import sys diff --git a/poky/bitbake/lib/toaster/orm/fixtures/oe-core.xml b/poky/bitbake/lib/toaster/orm/fixtures/oe-core.xml index a37c66462..bd9c32685 100644 --- a/poky/bitbake/lib/toaster/orm/fixtures/oe-core.xml +++ b/poky/bitbake/lib/toaster/orm/fixtures/oe-core.xml @@ -8,9 +8,9 @@ <!-- Bitbake versions which correspond to the metadata release --> <object model="orm.bitbakeversion" pk="1"> - <field type="CharField" name="name">sumo</field> + <field type="CharField" name="name">warrior</field> <field type="CharField" name="giturl">git://git.openembedded.org/bitbake</field> - <field type="CharField" name="branch">1.38</field> + <field type="CharField" name="branch">1.42</field> </object> <object model="orm.bitbakeversion" pk="2"> <field type="CharField" name="name">HEAD</field> @@ -30,11 +30,11 @@ <!-- Releases available --> <object model="orm.release" pk="1"> - <field type="CharField" name="name">sumo</field> - <field type="CharField" name="description">Openembedded Sumo</field> + <field type="CharField" name="name">warrior</field> + <field type="CharField" name="description">Openembedded Warrior</field> <field rel="ManyToOneRel" to="orm.bitbakeversion" name="bitbake_version">1</field> - <field type="CharField" name="branch_name">sumo</field> - <field type="TextField" name="helptext">Toaster will run your builds using the tip of the <a href=\"http://cgit.openembedded.org/openembedded-core/log/?h=sumo\">OpenEmbedded Sumo</a> branch.</field> + <field type="CharField" name="branch_name">warrior</field> + <field type="TextField" name="helptext">Toaster will run your builds using the tip of the <a href=\"http://cgit.openembedded.org/openembedded-core/log/?h=warrior\">OpenEmbedded Warrior</a> branch.</field> </object> <object model="orm.release" pk="2"> <field type="CharField" name="name">local</field> diff --git a/poky/bitbake/lib/toaster/orm/fixtures/poky.xml b/poky/bitbake/lib/toaster/orm/fixtures/poky.xml index 482efaf0f..4162e4fba 100644 --- a/poky/bitbake/lib/toaster/orm/fixtures/poky.xml +++ b/poky/bitbake/lib/toaster/orm/fixtures/poky.xml @@ -8,9 +8,9 @@ <!-- Bitbake versions which correspond to the metadata release --> <object model="orm.bitbakeversion" pk="1"> - <field type="CharField" name="name">sumo</field> + <field type="CharField" name="name">warrior</field> <field type="CharField" name="giturl">git://git.yoctoproject.org/poky</field> - <field type="CharField" name="branch">sumo</field> + <field type="CharField" name="branch">warrior</field> <field type="CharField" name="dirpath">bitbake</field> </object> <object model="orm.bitbakeversion" pk="2"> @@ -35,11 +35,11 @@ <!-- Releases available --> <object model="orm.release" pk="1"> - <field type="CharField" name="name">sumo</field> - <field type="CharField" name="description">Yocto Project 2.5 "Sumo"</field> + <field type="CharField" name="name">warrior</field> + <field type="CharField" name="description">Yocto Project 2.7 "Warrior"</field> <field rel="ManyToOneRel" to="orm.bitbakeversion" name="bitbake_version">1</field> - <field type="CharField" name="branch_name">sumo</field> - <field type="TextField" name="helptext">Toaster will run your builds using the tip of the <a href="http://git.yoctoproject.org/cgit/cgit.cgi/poky/log/?h=sumo">Yocto Project Sumo branch</a>.</field> + <field type="CharField" name="branch_name">warrior</field> + <field type="TextField" name="helptext">Toaster will run your builds using the tip of the <a href="http://git.yoctoproject.org/cgit/cgit.cgi/poky/log/?h=warrior">Yocto Project Warrior branch</a>.</field> </object> <object model="orm.release" pk="2"> <field type="CharField" name="name">local</field> @@ -130,7 +130,7 @@ <field rel="ManyToOneRel" to="orm.layer" name="layer">1</field> <field type="IntegerField" name="layer_source">0</field> <field rel="ManyToOneRel" to="orm.release" name="release">1</field> - <field type="CharField" name="branch">sumo</field> + <field type="CharField" name="branch">warrior</field> <field type="CharField" name="dirpath">meta</field> </object> <object model="orm.layer_version" pk="2"> @@ -168,7 +168,7 @@ <field rel="ManyToOneRel" to="orm.layer" name="layer">2</field> <field type="IntegerField" name="layer_source">0</field> <field rel="ManyToOneRel" to="orm.release" name="release">1</field> - <field type="CharField" name="branch">sumo</field> + <field type="CharField" name="branch">warrior</field> <field type="CharField" name="dirpath">meta-poky</field> </object> <object model="orm.layer_version" pk="6"> @@ -206,7 +206,7 @@ <field rel="ManyToOneRel" to="orm.layer" name="layer">3</field> <field type="IntegerField" name="layer_source">0</field> <field rel="ManyToOneRel" to="orm.release" name="release">1</field> - <field type="CharField" name="branch">sumo</field> + <field type="CharField" name="branch">warrior</field> <field type="CharField" name="dirpath">meta-yocto-bsp</field> </object> <object model="orm.layer_version" pk="10"> diff --git a/poky/bitbake/lib/toaster/orm/management/commands/lsupdates.py b/poky/bitbake/lib/toaster/orm/management/commands/lsupdates.py index 66114ff89..5b5abbb29 100644 --- a/poky/bitbake/lib/toaster/orm/management/commands/lsupdates.py +++ b/poky/bitbake/lib/toaster/orm/management/commands/lsupdates.py @@ -1,23 +1,10 @@ # -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- -# # BitBake Toaster Implementation # # Copyright (C) 2016-2017 Intel Corporation # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. +# SPDX-License-Identifier: GPL-2.0-only # -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. from django.core.management.base import BaseCommand diff --git a/poky/bitbake/lib/toaster/orm/models.py b/poky/bitbake/lib/toaster/orm/models.py index 772029021..41a9f819d 100644 --- a/poky/bitbake/lib/toaster/orm/models.py +++ b/poky/bitbake/lib/toaster/orm/models.py @@ -1,23 +1,10 @@ # -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- -# # BitBake Toaster Implementation # # Copyright (C) 2013 Intel Corporation # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. +# SPDX-License-Identifier: GPL-2.0-only # -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. from __future__ import unicode_literals diff --git a/poky/bitbake/lib/toaster/tests/browser/selenium_helpers.py b/poky/bitbake/lib/toaster/tests/browser/selenium_helpers.py index 08711e455..6d9bb8092 100644 --- a/poky/bitbake/lib/toaster/tests/browser/selenium_helpers.py +++ b/poky/bitbake/lib/toaster/tests/browser/selenium_helpers.py @@ -1,23 +1,10 @@ #! /usr/bin/env python -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- # # BitBake Toaster Implementation # # Copyright (C) 2013-2016 Intel Corporation # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +# SPDX-License-Identifier: GPL-2.0-only # # The Wait class and some of SeleniumDriverHelper and SeleniumTestCase are # modified from Patchwork, released under the same licence terms as Toaster: diff --git a/poky/bitbake/lib/toaster/tests/browser/selenium_helpers_base.py b/poky/bitbake/lib/toaster/tests/browser/selenium_helpers_base.py index 156d639b1..8417aa3b2 100644 --- a/poky/bitbake/lib/toaster/tests/browser/selenium_helpers_base.py +++ b/poky/bitbake/lib/toaster/tests/browser/selenium_helpers_base.py @@ -1,23 +1,10 @@ #! /usr/bin/env python -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- # # BitBake Toaster Implementation # # Copyright (C) 2013-2016 Intel Corporation # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +# SPDX-License-Identifier: GPL-2.0-only # # The Wait class and some of SeleniumDriverHelper and SeleniumTestCase are # modified from Patchwork, released under the same licence terms as Toaster: diff --git a/poky/bitbake/lib/toaster/tests/browser/test_all_builds_page.py b/poky/bitbake/lib/toaster/tests/browser/test_all_builds_page.py index b86f29bdd..f4021614b 100644 --- a/poky/bitbake/lib/toaster/tests/browser/test_all_builds_page.py +++ b/poky/bitbake/lib/toaster/tests/browser/test_all_builds_page.py @@ -1,23 +1,11 @@ #! /usr/bin/env python -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- # # BitBake Toaster Implementation # # Copyright (C) 2013-2016 Intel Corporation # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. import re diff --git a/poky/bitbake/lib/toaster/tests/browser/test_all_projects_page.py b/poky/bitbake/lib/toaster/tests/browser/test_all_projects_page.py index 44da64075..f86d19d28 100644 --- a/poky/bitbake/lib/toaster/tests/browser/test_all_projects_page.py +++ b/poky/bitbake/lib/toaster/tests/browser/test_all_projects_page.py @@ -1,23 +1,11 @@ #! /usr/bin/env python -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- # # BitBake Toaster Implementation # # Copyright (C) 2013-2016 Intel Corporation # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. import re diff --git a/poky/bitbake/lib/toaster/tests/browser/test_builddashboard_page.py b/poky/bitbake/lib/toaster/tests/browser/test_builddashboard_page.py index f8ccb5452..53c125ec5 100644 --- a/poky/bitbake/lib/toaster/tests/browser/test_builddashboard_page.py +++ b/poky/bitbake/lib/toaster/tests/browser/test_builddashboard_page.py @@ -1,23 +1,11 @@ #! /usr/bin/env python -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- # # BitBake Toaster Implementation # # Copyright (C) 2013-2016 Intel Corporation # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. from django.core.urlresolvers import reverse from django.utils import timezone diff --git a/poky/bitbake/lib/toaster/tests/browser/test_builddashboard_page_artifacts.py b/poky/bitbake/lib/toaster/tests/browser/test_builddashboard_page_artifacts.py index 1c627ad49..c560d7de1 100644 --- a/poky/bitbake/lib/toaster/tests/browser/test_builddashboard_page_artifacts.py +++ b/poky/bitbake/lib/toaster/tests/browser/test_builddashboard_page_artifacts.py @@ -1,23 +1,11 @@ #! /usr/bin/env python -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- # # BitBake Toaster Implementation # # Copyright (C) 2013-2016 Intel Corporation # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. from django.core.urlresolvers import reverse from django.utils import timezone diff --git a/poky/bitbake/lib/toaster/tests/browser/test_builddashboard_page_recipes.py b/poky/bitbake/lib/toaster/tests/browser/test_builddashboard_page_recipes.py index ed18324e5..e4f3d685e 100644 --- a/poky/bitbake/lib/toaster/tests/browser/test_builddashboard_page_recipes.py +++ b/poky/bitbake/lib/toaster/tests/browser/test_builddashboard_page_recipes.py @@ -1,23 +1,11 @@ #! /usr/bin/env python -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- # # BitBake Toaster Implementation # # Copyright (C) 2013-2016 Intel Corporation # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. from django.core.urlresolvers import reverse from django.utils import timezone diff --git a/poky/bitbake/lib/toaster/tests/browser/test_builddashboard_page_tasks.py b/poky/bitbake/lib/toaster/tests/browser/test_builddashboard_page_tasks.py index da50f1601..bdb0c27be 100644 --- a/poky/bitbake/lib/toaster/tests/browser/test_builddashboard_page_tasks.py +++ b/poky/bitbake/lib/toaster/tests/browser/test_builddashboard_page_tasks.py @@ -1,23 +1,11 @@ #! /usr/bin/env python -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- # # BitBake Toaster Implementation # # Copyright (C) 2013-2016 Intel Corporation # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. from django.core.urlresolvers import reverse from django.utils import timezone diff --git a/poky/bitbake/lib/toaster/tests/browser/test_js_unit_tests.py b/poky/bitbake/lib/toaster/tests/browser/test_js_unit_tests.py index 3c0b96252..63f3f4a74 100644 --- a/poky/bitbake/lib/toaster/tests/browser/test_js_unit_tests.py +++ b/poky/bitbake/lib/toaster/tests/browser/test_js_unit_tests.py @@ -1,23 +1,11 @@ #! /usr/bin/env python -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- # # BitBake Toaster Implementation # # Copyright (C) 2013-2016 Intel Corporation # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. """ Run the js unit tests diff --git a/poky/bitbake/lib/toaster/tests/browser/test_landing_page.py b/poky/bitbake/lib/toaster/tests/browser/test_landing_page.py index 4d4cd660f..0a00fccc1 100644 --- a/poky/bitbake/lib/toaster/tests/browser/test_landing_page.py +++ b/poky/bitbake/lib/toaster/tests/browser/test_landing_page.py @@ -1,23 +1,11 @@ #! /usr/bin/env python -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- # # BitBake Toaster Implementation # -# Copyright (C) 2013-2016 Intel Corporation -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. +# Copyright (C) 2013-2016 Intel Corporation # -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. from django.core.urlresolvers import reverse from django.utils import timezone diff --git a/poky/bitbake/lib/toaster/tests/browser/test_layerdetails_page.py b/poky/bitbake/lib/toaster/tests/browser/test_layerdetails_page.py index f24fb093a..e34aa13db 100644 --- a/poky/bitbake/lib/toaster/tests/browser/test_layerdetails_page.py +++ b/poky/bitbake/lib/toaster/tests/browser/test_layerdetails_page.py @@ -1,23 +1,11 @@ #! /usr/bin/env python -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- # # BitBake Toaster Implementation # -# Copyright (C) 2013-2016 Intel Corporation -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. +# Copyright (C) 2013-2016 Intel Corporation # -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. from django.core.urlresolvers import reverse from tests.browser.selenium_helpers import SeleniumTestCase diff --git a/poky/bitbake/lib/toaster/tests/browser/test_most_recent_builds_states.py b/poky/bitbake/lib/toaster/tests/browser/test_most_recent_builds_states.py index abc0b0bc8..d52b18429 100644 --- a/poky/bitbake/lib/toaster/tests/browser/test_most_recent_builds_states.py +++ b/poky/bitbake/lib/toaster/tests/browser/test_most_recent_builds_states.py @@ -1,23 +1,11 @@ #! /usr/bin/env python -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- # # BitBake Toaster Implementation # -# Copyright (C) 2013-2016 Intel Corporation -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. +# Copyright (C) 2013-2016 Intel Corporation # -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. from django.core.urlresolvers import reverse from django.utils import timezone diff --git a/poky/bitbake/lib/toaster/tests/browser/test_new_custom_image_page.py b/poky/bitbake/lib/toaster/tests/browser/test_new_custom_image_page.py index ab5a8e66b..3b47a497e 100644 --- a/poky/bitbake/lib/toaster/tests/browser/test_new_custom_image_page.py +++ b/poky/bitbake/lib/toaster/tests/browser/test_new_custom_image_page.py @@ -1,23 +1,11 @@ #! /usr/bin/env python -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- # # BitBake Toaster Implementation # # Copyright (C) 2013-2016 Intel Corporation # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. from django.core.urlresolvers import reverse from tests.browser.selenium_helpers import SeleniumTestCase diff --git a/poky/bitbake/lib/toaster/tests/browser/test_new_project_page.py b/poky/bitbake/lib/toaster/tests/browser/test_new_project_page.py index 77e5f1526..d250bd143 100644 --- a/poky/bitbake/lib/toaster/tests/browser/test_new_project_page.py +++ b/poky/bitbake/lib/toaster/tests/browser/test_new_project_page.py @@ -1,23 +1,11 @@ #! /usr/bin/env python -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- # # BitBake Toaster Implementation # # Copyright (C) 2013-2016 Intel Corporation # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. from django.core.urlresolvers import reverse from tests.browser.selenium_helpers import SeleniumTestCase diff --git a/poky/bitbake/lib/toaster/tests/browser/test_project_builds_page.py b/poky/bitbake/lib/toaster/tests/browser/test_project_builds_page.py index 9fe91ab06..065f3ebe6 100644 --- a/poky/bitbake/lib/toaster/tests/browser/test_project_builds_page.py +++ b/poky/bitbake/lib/toaster/tests/browser/test_project_builds_page.py @@ -1,23 +1,11 @@ #! /usr/bin/env python -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- # # BitBake Toaster Implementation # # Copyright (C) 2013-2016 Intel Corporation # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. import re diff --git a/poky/bitbake/lib/toaster/tests/browser/test_project_config_page.py b/poky/bitbake/lib/toaster/tests/browser/test_project_config_page.py index 071008499..48508dff3 100644 --- a/poky/bitbake/lib/toaster/tests/browser/test_project_config_page.py +++ b/poky/bitbake/lib/toaster/tests/browser/test_project_config_page.py @@ -1,23 +1,11 @@ #! /usr/bin/env python -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- # # BitBake Toaster Implementation # # Copyright (C) 2013-2016 Intel Corporation # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. import re diff --git a/poky/bitbake/lib/toaster/tests/browser/test_project_page.py b/poky/bitbake/lib/toaster/tests/browser/test_project_page.py index 018646332..5cb607ddd 100644 --- a/poky/bitbake/lib/toaster/tests/browser/test_project_page.py +++ b/poky/bitbake/lib/toaster/tests/browser/test_project_page.py @@ -1,23 +1,11 @@ #! /usr/bin/env python -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- # # BitBake Toaster Implementation # # Copyright (C) 2013-2016 Intel Corporation # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. from django.core.urlresolvers import reverse from django.utils import timezone diff --git a/poky/bitbake/lib/toaster/tests/browser/test_sample.py b/poky/bitbake/lib/toaster/tests/browser/test_sample.py index 20ec53c28..008ba14a2 100644 --- a/poky/bitbake/lib/toaster/tests/browser/test_sample.py +++ b/poky/bitbake/lib/toaster/tests/browser/test_sample.py @@ -1,23 +1,11 @@ #! /usr/bin/env python -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- # # BitBake Toaster Implementation # # Copyright (C) 2013-2016 Intel Corporation # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. """ A small example test demonstrating the basics of writing a test with diff --git a/poky/bitbake/lib/toaster/tests/browser/test_task_page.py b/poky/bitbake/lib/toaster/tests/browser/test_task_page.py index 690d116cb..47c8c1aee 100644 --- a/poky/bitbake/lib/toaster/tests/browser/test_task_page.py +++ b/poky/bitbake/lib/toaster/tests/browser/test_task_page.py @@ -1,23 +1,11 @@ #! /usr/bin/env python -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- # # BitBake Toaster Implementation # # Copyright (C) 2013-2016 Intel Corporation # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. from django.core.urlresolvers import reverse from django.utils import timezone diff --git a/poky/bitbake/lib/toaster/tests/browser/test_toastertable_ui.py b/poky/bitbake/lib/toaster/tests/browser/test_toastertable_ui.py index 53ddf30c3..b4f83447f 100644 --- a/poky/bitbake/lib/toaster/tests/browser/test_toastertable_ui.py +++ b/poky/bitbake/lib/toaster/tests/browser/test_toastertable_ui.py @@ -1,23 +1,11 @@ #! /usr/bin/env python -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- # # BitBake Toaster Implementation # # Copyright (C) 2013-2016 Intel Corporation # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. from datetime import datetime diff --git a/poky/bitbake/lib/toaster/tests/builds/buildtest.py b/poky/bitbake/lib/toaster/tests/builds/buildtest.py index 5a56a110a..9f40f978d 100644 --- a/poky/bitbake/lib/toaster/tests/builds/buildtest.py +++ b/poky/bitbake/lib/toaster/tests/builds/buildtest.py @@ -1,23 +1,11 @@ #! /usr/bin/env python -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- # # BitBake Toaster Implementation # # Copyright (C) 2016 Intel Corporation # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. import os import sys diff --git a/poky/bitbake/lib/toaster/tests/builds/test_core_image_min.py b/poky/bitbake/lib/toaster/tests/builds/test_core_image_min.py index 586f4a8f7..3d3aa2a8a 100644 --- a/poky/bitbake/lib/toaster/tests/builds/test_core_image_min.py +++ b/poky/bitbake/lib/toaster/tests/builds/test_core_image_min.py @@ -1,24 +1,11 @@ #! /usr/bin/env python -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- # # BitBake Toaster Implementation # # Copyright (C) 2016 Intel Corporation # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - # Tests were part of openembedded-core oe selftest Authored by: Lucian Musat # Ionut Chisanovici, Paul Eggleton and Cristian Iorga diff --git a/poky/bitbake/lib/toaster/tests/commands/test_loaddata.py b/poky/bitbake/lib/toaster/tests/commands/test_loaddata.py index 951f6ff5a..b633d9774 100644 --- a/poky/bitbake/lib/toaster/tests/commands/test_loaddata.py +++ b/poky/bitbake/lib/toaster/tests/commands/test_loaddata.py @@ -1,23 +1,11 @@ #! /usr/bin/env python -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- # # BitBake Toaster Implementation # # Copyright (C) 2016 Intel Corporation # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. from django.test import TestCase from django.core import management diff --git a/poky/bitbake/lib/toaster/tests/commands/test_lsupdates.py b/poky/bitbake/lib/toaster/tests/commands/test_lsupdates.py index 49897a476..23a84a248 100644 --- a/poky/bitbake/lib/toaster/tests/commands/test_lsupdates.py +++ b/poky/bitbake/lib/toaster/tests/commands/test_lsupdates.py @@ -1,23 +1,11 @@ #! /usr/bin/env python -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- # # BitBake Toaster Implementation # # Copyright (C) 2016 Intel Corporation # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. from django.test import TestCase from django.core import management diff --git a/poky/bitbake/lib/toaster/tests/commands/test_runbuilds.py b/poky/bitbake/lib/toaster/tests/commands/test_runbuilds.py index 3e634835e..29bc7c900 100644 --- a/poky/bitbake/lib/toaster/tests/commands/test_runbuilds.py +++ b/poky/bitbake/lib/toaster/tests/commands/test_runbuilds.py @@ -1,23 +1,11 @@ #! /usr/bin/env python -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- # # BitBake Toaster Implementation # # Copyright (C) 2016 Intel Corporation # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. import os diff --git a/poky/bitbake/lib/toaster/tests/db/test_db.py b/poky/bitbake/lib/toaster/tests/db/test_db.py index a0f5f6ec0..041042227 100644 --- a/poky/bitbake/lib/toaster/tests/db/test_db.py +++ b/poky/bitbake/lib/toaster/tests/db/test_db.py @@ -2,6 +2,8 @@ # # Copyright (c) 2016 Damien Lespiau # +# SPDX-License-Identifier: MIT +# # 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 diff --git a/poky/bitbake/lib/toaster/tests/eventreplay/__init__.py b/poky/bitbake/lib/toaster/tests/eventreplay/__init__.py index 695661947..3606cba4f 100644 --- a/poky/bitbake/lib/toaster/tests/eventreplay/__init__.py +++ b/poky/bitbake/lib/toaster/tests/eventreplay/__init__.py @@ -1,23 +1,11 @@ #! /usr/bin/env python -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- # # BitBake Toaster Implementation # # Copyright (C) 2016 Intel Corporation # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. # Tests were part of openembedded-core oe selftest Authored by: Lucian Musat # Ionut Chisanovici, Paul Eggleton and Cristian Iorga diff --git a/poky/bitbake/lib/toaster/tests/functional/functional_helpers.py b/poky/bitbake/lib/toaster/tests/functional/functional_helpers.py index 486078a61..6a3f74baa 100644 --- a/poky/bitbake/lib/toaster/tests/functional/functional_helpers.py +++ b/poky/bitbake/lib/toaster/tests/functional/functional_helpers.py @@ -1,23 +1,11 @@ #! /usr/bin/env python -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- # # BitBake Toaster functional tests implementation # # Copyright (C) 2017 Intel Corporation # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. import os import logging diff --git a/poky/bitbake/lib/toaster/tests/functional/test_functional_basic.py b/poky/bitbake/lib/toaster/tests/functional/test_functional_basic.py index cfa2b0fdf..2b3a2886c 100644 --- a/poky/bitbake/lib/toaster/tests/functional/test_functional_basic.py +++ b/poky/bitbake/lib/toaster/tests/functional/test_functional_basic.py @@ -1,23 +1,11 @@ #! /usr/bin/env python -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- # # BitBake Toaster functional tests implementation # # Copyright (C) 2017 Intel Corporation # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. import time import re diff --git a/poky/bitbake/lib/toaster/tests/views/test_views.py b/poky/bitbake/lib/toaster/tests/views/test_views.py index 1463077e9..477654ea5 100644 --- a/poky/bitbake/lib/toaster/tests/views/test_views.py +++ b/poky/bitbake/lib/toaster/tests/views/test_views.py @@ -1,23 +1,11 @@ #! /usr/bin/env python -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- # # BitBake Toaster Implementation # # Copyright (C) 2013-2015 Intel Corporation # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. """Test cases for Toaster GUI and ReST.""" diff --git a/poky/bitbake/lib/toaster/toastergui/api.py b/poky/bitbake/lib/toaster/toastergui/api.py index 564d595a1..8b49b3ee3 100644 --- a/poky/bitbake/lib/toaster/toastergui/api.py +++ b/poky/bitbake/lib/toaster/toastergui/api.py @@ -3,19 +3,8 @@ # # Copyright (C) 2016 Intel Corporation # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - # Please run flake8 on this file before sending patches import os diff --git a/poky/bitbake/lib/toaster/toastergui/buildtables.py b/poky/bitbake/lib/toaster/toastergui/buildtables.py index 755a7c2e4..327059d00 100644 --- a/poky/bitbake/lib/toaster/toastergui/buildtables.py +++ b/poky/bitbake/lib/toaster/toastergui/buildtables.py @@ -1,23 +1,10 @@ # -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- -# # BitBake Toaster Implementation # # Copyright (C) 2016 Intel Corporation # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. +# SPDX-License-Identifier: GPL-2.0-only # -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. from orm.models import Build, Task, Target, Package from django.db.models import Q, Sum diff --git a/poky/bitbake/lib/toaster/toastergui/tablefilter.py b/poky/bitbake/lib/toaster/toastergui/tablefilter.py index 65454e140..ffef7955f 100644 --- a/poky/bitbake/lib/toaster/toastergui/tablefilter.py +++ b/poky/bitbake/lib/toaster/toastergui/tablefilter.py @@ -1,23 +1,10 @@ # -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- -# # BitBake Toaster Implementation # # Copyright (C) 2015 Intel Corporation # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. +# SPDX-License-Identifier: GPL-2.0-only # -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. from django.db.models import Q, Max, Min from django.utils import dateparse, timezone diff --git a/poky/bitbake/lib/toaster/toastergui/tables.py b/poky/bitbake/lib/toaster/toastergui/tables.py index 9ff756bc8..b3ea2227e 100644 --- a/poky/bitbake/lib/toaster/toastergui/tables.py +++ b/poky/bitbake/lib/toaster/toastergui/tables.py @@ -1,23 +1,10 @@ # -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- -# # BitBake Toaster Implementation # # Copyright (C) 2015 Intel Corporation # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. +# SPDX-License-Identifier: GPL-2.0-only # -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. from toastergui.widgets import ToasterTable from orm.models import Recipe, ProjectLayer, Layer_Version, Machine, Project diff --git a/poky/bitbake/lib/toaster/toastergui/templatetags/field_values_filter.py b/poky/bitbake/lib/toaster/toastergui/templatetags/field_values_filter.py index 5a73af797..eb483396c 100644 --- a/poky/bitbake/lib/toaster/toastergui/templatetags/field_values_filter.py +++ b/poky/bitbake/lib/toaster/toastergui/templatetags/field_values_filter.py @@ -1,3 +1,7 @@ +# +# SPDX-License-Identifier: GPL-2.0-only +# + from django import template register = template.Library() diff --git a/poky/bitbake/lib/toaster/toastergui/templatetags/objects_to_dictionaries_filter.py b/poky/bitbake/lib/toaster/toastergui/templatetags/objects_to_dictionaries_filter.py index 0dcc7d271..048d53387 100644 --- a/poky/bitbake/lib/toaster/toastergui/templatetags/objects_to_dictionaries_filter.py +++ b/poky/bitbake/lib/toaster/toastergui/templatetags/objects_to_dictionaries_filter.py @@ -1,3 +1,7 @@ +# +# SPDX-License-Identifier: GPL-2.0-only +# + from django import template import json diff --git a/poky/bitbake/lib/toaster/toastergui/templatetags/project_url_tag.py b/poky/bitbake/lib/toaster/toastergui/templatetags/project_url_tag.py index 04770ac6a..71e092578 100644 --- a/poky/bitbake/lib/toaster/toastergui/templatetags/project_url_tag.py +++ b/poky/bitbake/lib/toaster/toastergui/templatetags/project_url_tag.py @@ -1,3 +1,7 @@ +# +# SPDX-License-Identifier: GPL-2.0-only +# + from django import template from django.core.urlresolvers import reverse diff --git a/poky/bitbake/lib/toaster/toastergui/templatetags/projecttags.py b/poky/bitbake/lib/toaster/toastergui/templatetags/projecttags.py index b170a1616..1dbab3bdb 100644 --- a/poky/bitbake/lib/toaster/toastergui/templatetags/projecttags.py +++ b/poky/bitbake/lib/toaster/toastergui/templatetags/projecttags.py @@ -1,23 +1,10 @@ # -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- -# # BitBake Toaster Implementation # # Copyright (C) 2013 Intel Corporation # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. +# SPDX-License-Identifier: GPL-2.0-only # -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. from datetime import datetime, timedelta from os.path import relpath diff --git a/poky/bitbake/lib/toaster/toastergui/typeaheads.py b/poky/bitbake/lib/toaster/toastergui/typeaheads.py index 5aa0f8d88..fd750ffb7 100644 --- a/poky/bitbake/lib/toaster/toastergui/typeaheads.py +++ b/poky/bitbake/lib/toaster/toastergui/typeaheads.py @@ -3,18 +3,8 @@ # # Copyright (C) 2015 Intel Corporation # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. import subprocess diff --git a/poky/bitbake/lib/toaster/toastergui/urls.py b/poky/bitbake/lib/toaster/toastergui/urls.py index dc03e3035..673d9ae96 100644 --- a/poky/bitbake/lib/toaster/toastergui/urls.py +++ b/poky/bitbake/lib/toaster/toastergui/urls.py @@ -3,18 +3,8 @@ # # Copyright (C) 2013-2017 Intel Corporation # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. from django.conf.urls import include, url from django.views.generic import RedirectView, TemplateView diff --git a/poky/bitbake/lib/toaster/toastergui/views.py b/poky/bitbake/lib/toaster/toastergui/views.py index c712b06a6..d7acaff89 100644 --- a/poky/bitbake/lib/toaster/toastergui/views.py +++ b/poky/bitbake/lib/toaster/toastergui/views.py @@ -1,24 +1,10 @@ # -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- -# # BitBake Toaster Implementation # # Copyright (C) 2013 Intel Corporation # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. +# SPDX-License-Identifier: GPL-2.0-only # -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - import re diff --git a/poky/bitbake/lib/toaster/toastergui/widgets.py b/poky/bitbake/lib/toaster/toastergui/widgets.py index db5c3aa00..645f4587e 100644 --- a/poky/bitbake/lib/toaster/toastergui/widgets.py +++ b/poky/bitbake/lib/toaster/toastergui/widgets.py @@ -1,23 +1,10 @@ # -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- -# # BitBake Toaster Implementation # # Copyright (C) 2015 Intel Corporation # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. +# SPDX-License-Identifier: GPL-2.0-only # -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. from django.views.generic import View, TemplateView from django.views.decorators.cache import cache_control diff --git a/poky/bitbake/lib/toaster/toastermain/management/commands/builddelete.py b/poky/bitbake/lib/toaster/toastermain/management/commands/builddelete.py index bf69a8fb8..c2d773a57 100644 --- a/poky/bitbake/lib/toaster/toastermain/management/commands/builddelete.py +++ b/poky/bitbake/lib/toaster/toastermain/management/commands/builddelete.py @@ -1,3 +1,7 @@ +# +# SPDX-License-Identifier: GPL-2.0-only +# + from django.core.management.base import BaseCommand, CommandError from django.core.exceptions import ObjectDoesNotExist from orm.models import Build diff --git a/poky/bitbake/lib/toaster/toastermain/management/commands/buildimport.py b/poky/bitbake/lib/toaster/toastermain/management/commands/buildimport.py index 2d57ab557..408ad44e6 100644 --- a/poky/bitbake/lib/toaster/toastermain/management/commands/buildimport.py +++ b/poky/bitbake/lib/toaster/toastermain/management/commands/buildimport.py @@ -1,23 +1,10 @@ # -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- -# # BitBake Toaster Implementation # # Copyright (C) 2018 Wind River Systems # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. +# SPDX-License-Identifier: GPL-2.0-only # -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. # buildimport: import a project for project specific configuration # diff --git a/poky/bitbake/lib/toaster/toastermain/management/commands/buildslist.py b/poky/bitbake/lib/toaster/toastermain/management/commands/buildslist.py index 70b5812d9..1ed20224d 100644 --- a/poky/bitbake/lib/toaster/toastermain/management/commands/buildslist.py +++ b/poky/bitbake/lib/toaster/toastermain/management/commands/buildslist.py @@ -1,3 +1,7 @@ +# +# SPDX-License-Identifier: GPL-2.0-only +# + from django.core.management.base import BaseCommand, CommandError from orm.models import Build import os diff --git a/poky/bitbake/lib/toaster/toastermain/management/commands/checksocket.py b/poky/bitbake/lib/toaster/toastermain/management/commands/checksocket.py index 0399b8659..c1758f340 100644 --- a/poky/bitbake/lib/toaster/toastermain/management/commands/checksocket.py +++ b/poky/bitbake/lib/toaster/toastermain/management/commands/checksocket.py @@ -1,23 +1,11 @@ #!/usr/bin/env python -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- # # BitBake Toaster Implementation # # Copyright (C) 2015 Intel Corporation # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. """Custom management command checksocket.""" diff --git a/poky/bitbake/lib/toaster/toastermain/management/commands/perf.py b/poky/bitbake/lib/toaster/toastermain/management/commands/perf.py index 6b450bbdf..7d629fb37 100644 --- a/poky/bitbake/lib/toaster/toastermain/management/commands/perf.py +++ b/poky/bitbake/lib/toaster/toastermain/management/commands/perf.py @@ -1,3 +1,7 @@ +# +# SPDX-License-Identifier: GPL-2.0-only +# + from django.core.management.base import BaseCommand from django.test.client import Client import os, sys, re diff --git a/poky/bitbake/lib/toaster/toastermain/settings.py b/poky/bitbake/lib/toaster/toastermain/settings.py index 13541d380..74501fa26 100644 --- a/poky/bitbake/lib/toaster/toastermain/settings.py +++ b/poky/bitbake/lib/toaster/toastermain/settings.py @@ -1,23 +1,10 @@ # -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- -# # BitBake Toaster Implementation # # Copyright (C) 2013 Intel Corporation # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. +# SPDX-License-Identifier: GPL-2.0-only # -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. # Django settings for Toaster project. diff --git a/poky/bitbake/lib/toaster/toastermain/settings_production_example.py b/poky/bitbake/lib/toaster/toastermain/settings_production_example.py index 61a288864..6cd0f52dd 100644 --- a/poky/bitbake/lib/toaster/toastermain/settings_production_example.py +++ b/poky/bitbake/lib/toaster/toastermain/settings_production_example.py @@ -1,23 +1,10 @@ # -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- -# # BitBake Toaster Implementation # # Copyright (C) 2016 Intel Corporation # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. +# SPDX-License-Identifier: GPL-2.0-only # -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. # See Django documentation for more information about deployment # https://docs.djangoproject.com/en/1.8/howto/deployment/checklist/ diff --git a/poky/bitbake/lib/toaster/toastermain/settings_test.py b/poky/bitbake/lib/toaster/toastermain/settings_test.py index a32271157..6538d9e45 100644 --- a/poky/bitbake/lib/toaster/toastermain/settings_test.py +++ b/poky/bitbake/lib/toaster/toastermain/settings_test.py @@ -1,23 +1,10 @@ # -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- -# # BitBake Toaster Implementation # # Copyright (C) 2016 Intel Corporation # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. +# SPDX-License-Identifier: GPL-2.0-only # -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. # Django settings for Toaster project. diff --git a/poky/bitbake/lib/toaster/toastermain/urls.py b/poky/bitbake/lib/toaster/toastermain/urls.py index e2fb0aebf..ac77bc363 100644 --- a/poky/bitbake/lib/toaster/toastermain/urls.py +++ b/poky/bitbake/lib/toaster/toastermain/urls.py @@ -1,23 +1,10 @@ # -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- -# # BitBake Toaster Implementation # # Copyright (C) 2013 Intel Corporation # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. +# SPDX-License-Identifier: GPL-2.0-only # -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. from django.conf.urls import include, url from django.views.generic import RedirectView, TemplateView diff --git a/poky/bitbake/lib/toaster/toastermain/wsgi.py b/poky/bitbake/lib/toaster/toastermain/wsgi.py index 031b314b1..4c3128327 100644 --- a/poky/bitbake/lib/toaster/toastermain/wsgi.py +++ b/poky/bitbake/lib/toaster/toastermain/wsgi.py @@ -1,7 +1,8 @@ -""" -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- # +# SPDX-License-Identifier: GPL-2.0-only +# + +""" WSGI config for Toaster project. This module contains the WSGI application used by Django's development server diff --git a/poky/documentation/Makefile b/poky/documentation/Makefile index 1480e14ea..accf23414 100644 --- a/poky/documentation/Makefile +++ b/poky/documentation/Makefile @@ -4,24 +4,17 @@ # in any manuals must be .PNG files and live in the individual book's figures # directory as well as in the figures directory for the mega-manual. # -# Some manuals are available as linked help through the Eclipse development -# system. These manuals also include an "eclipse" sub-directory as part of -# the make process. -# # Note that the figures for the Yocto Project Development Tasks Manual # differ depending on the BRANCH being built. # # The Makefile has these targets: # all: If you leave off the target then "all" is implied. -# You will generate HTML, eclipse help (if applicable), -# and a tarball of files. +# You will generate HTML and a tarball of files. # # pdf: generates a PDF version of a manual. Not valid for the # Quick Start or the mega-manual (single, large HTML file # comprised of all Yocto Project manuals). # html: generates an HTML version of a manual. -# eclipse: generates an HTML version of a manual that can be used as -# eclipse help (including necessary metadata files). # tarball: creates a tarball for the doc files. # validate: validates # publish: pushes generated files to the Yocto Project website @@ -53,13 +46,13 @@ # make DOC=dev-manual BRANCH=edison # make DOC=mega-manual BRANCH=denzil # -# The first example generates the HTML and Eclipse help versions of the BSP Guide. +# The first example generates the HTML version of the BSP Guide. # The second example generates the HTML version only of the Quick Start. Note # that the Quick Start only has an HTML version available. So, the # 'make DOC=brief-yoctoprojectqs' command would be equivalent. The third example # generates just the PDF version of the Yocto Project Reference Manual. -# The fourth example generates the HTML 'edison' version and (if available) -# the Eclipse help version of the YP Development Tasks Manual. The last example +# The fourth example generates the HTML 'edison' version of the YP Development +# Tasks Manual. The last example # generates the HTML version of the mega-manual and uses the 'denzil' # branch when choosing figures for the tarball of figures. Any example that does # not use the BRANCH argument builds the current version of the manual set. @@ -67,7 +60,7 @@ # The publish target pushes the generated manuals to the Yocto Project # website. Unless you are a developer on the YP team, you will not succeed in # pushing manuals to this server. All files needed for the manual's HTML form are -# pushed as well as applicable Eclipse versions. +# pushed. # # Examples: # @@ -90,10 +83,10 @@ XSLTOPTS = --stringparam html.stylesheet brief-yoctoprojectqs-style.css \ --stringparam section.autolabel 0 \ --stringparam section.label.includes.component.label 0 \ --xinclude -ALLPREQ = html eclipse tarball +ALLPREQ = html tarball TARFILES = brief-yoctoprojectqs-style.css brief-yoctoprojectqs.html figures/bypqs-title.png \ figures/yocto-project-transp.png -MANUALS = $(DOC)/$(DOC).html $(DOC)/eclipse +MANUALS = $(DOC)/$(DOC).html FIGURES = figures STYLESHEET = $(DOC)/*.css @@ -101,7 +94,7 @@ endif ifeq ($(DOC),overview-manual) XSLTOPTS = --xinclude -ALLPREQ = html eclipse tarball +ALLPREQ = html tarball TARFILES = overview-manual-style.css overview-manual.html figures/overview-manual-title.png \ figures/git-workflow.png figures/source-repos.png figures/index-downloads.png \ figures/yp-download.png figures/YP-flow-diagram.png figures/key-dev-elements.png \ @@ -110,9 +103,8 @@ TARFILES = overview-manual-style.css overview-manual.html figures/overview-manua figures/package-feeds.png figures/patching.png figures/source-fetching.png \ figures/configuration-compile-autoreconf.png figures/analysis-for-package-splitting.png \ figures/image-generation.png figures/sdk-generation.png figures/images.png \ - figures/sdk.png \ - eclipse -MANUALS = $(DOC)/$(DOC).html $(DOC)/eclipse + figures/sdk.png +MANUALS = $(DOC)/$(DOC).html FIGURES = figures STYLESHEET = $(DOC)/*.css @@ -120,11 +112,10 @@ endif ifeq ($(DOC),bsp-guide) XSLTOPTS = --xinclude -ALLPREQ = html eclipse tarball +ALLPREQ = html tarball TARFILES = bsp-style.css bsp-guide.html figures/bsp-title.png \ - figures/bsp-dev-flow.png \ - eclipse -MANUALS = $(DOC)/$(DOC).html $(DOC)/eclipse + figures/bsp-dev-flow.png +MANUALS = $(DOC)/$(DOC).html FIGURES = figures STYLESHEET = $(DOC)/*.css @@ -132,7 +123,7 @@ endif ifeq ($(DOC),dev-manual) XSLTOPTS = --xinclude -ALLPREQ = html eclipse tarball +ALLPREQ = html tarball # # Note that the tarfile might produce the "Cannot stat: No such file or # directory" error message for .PNG files that are not present when building @@ -165,11 +156,10 @@ TARFILES = dev-style.css dev-manual.html \ TARFILES = dev-style.css dev-manual.html figures/buildhistory-web.png \ figures/dev-title.png figures/buildhistory.png \ figures/recipe-workflow.png figures/bitbake-build-flow.png \ - figures/multiconfig_files.png \ - eclipse + figures/multiconfig_files.png endif -MANUALS = $(DOC)/$(DOC).html $(DOC)/eclipse +MANUALS = $(DOC)/$(DOC).html FIGURES = figures STYLESHEET = $(DOC)/*.css @@ -230,7 +220,7 @@ TARFILES = mega-manual.html mega-style.css \ figures/profile-title.png figures/kernelshark-all.png \ figures/kernelshark-choose-events.png \ figures/kernelshark-i915-display.png \ - figures/kernelshark-output-display.png figures/lttngmain0.png \ + figures/kernelshark-output-display.png \ figures/oprofileui-busybox.png figures/oprofileui-copy-to-user.png \ figures/oprofileui-downloading.png figures/oprofileui-processes.png \ figures/perf-probe-do_fork-profile.png \ @@ -267,7 +257,7 @@ TARFILES = mega-manual.html mega-style.css \ figures/compatible-layers.png figures/import-layer.png figures/new-project.png \ figures/sdk-environment.png figures/sdk-installed-standard-sdk-directory.png \ figures/sdk-devtool-add-flow.png figures/sdk-installed-extensible-sdk-directory.png \ - figures/sdk-devtool-modify-flow.png figures/sdk-eclipse-dev-flow.png \ + figures/sdk-devtool-modify-flow.png \ figures/sdk-devtool-upgrade-flow.png figures/bitbake-build-flow.png figures/bypqs-title.png \ figures/overview-manual-title.png figures/sdk-autotools-flow.png figures/sdk-makefile-flow.png \ figures/bb_multiconfig_files.png figures/bitbake-title.png @@ -281,37 +271,35 @@ endif ifeq ($(DOC),ref-manual) XSLTOPTS = --xinclude -ALLPREQ = html eclipse tarball +ALLPREQ = html tarball TARFILES = ref-manual.html ref-style.css figures/poky-title.png \ - figures/build-workspace-directory.png \ - eclipse -MANUALS = $(DOC)/$(DOC).html $(DOC)/eclipse + figures/build-workspace-directory.png +MANUALS = $(DOC)/$(DOC).html FIGURES = figures STYLESHEET = $(DOC)/*.css endif ifeq ($(DOC),sdk-manual) XSLTOPTS = --xinclude -ALLPREQ = html eclipse tarball +ALLPREQ = html tarball TARFILES = sdk-manual.html sdk-style.css figures/sdk-title.png \ figures/sdk-environment.png figures/sdk-installed-standard-sdk-directory.png \ figures/sdk-installed-extensible-sdk-directory.png figures/sdk-devtool-add-flow.png \ - figures/sdk-devtool-modify-flow.png figures/sdk-eclipse-dev-flow.png \ - figures/sdk-devtool-upgrade-flow.png figures/sdk-autotools-flow.png figures/sdk-makefile-flow.png \ - eclipse -MANUALS = $(DOC)/$(DOC).html $(DOC)/eclipse + figures/sdk-devtool-modify-flow.png \ + figures/sdk-devtool-upgrade-flow.png figures/sdk-autotools-flow.png figures/sdk-makefile-flow.png +MANUALS = $(DOC)/$(DOC).html FIGURES = figures STYLESHEET = $(DOC)/*.css endif ifeq ($(DOC),profile-manual) XSLTOPTS = --xinclude -ALLPREQ = html eclipse tarball +ALLPREQ = html tarball TARFILES = profile-manual.html profile-manual-style.css \ figures/profile-title.png figures/kernelshark-all.png \ figures/kernelshark-choose-events.png \ figures/kernelshark-i915-display.png \ - figures/kernelshark-output-display.png figures/lttngmain0.png \ + figures/kernelshark-output-display.png \ figures/oprofileui-busybox.png figures/oprofileui-copy-to-user.png \ figures/oprofileui-downloading.png figures/oprofileui-processes.png \ figures/perf-probe-do_fork-profile.png \ @@ -332,21 +320,19 @@ TARFILES = profile-manual.html profile-manual-style.css \ figures/pychart-linux-yocto-rpm.png \ figures/pychart-linux-yocto-rpm-nostrip.png \ figures/sched-wakeup-profile.png figures/sysprof-callers.png \ - figures/sysprof-copy-from-user.png figures/sysprof-copy-to-user.png \ - eclipse -MANUALS = $(DOC)/$(DOC).html $(DOC)/eclipse + figures/sysprof-copy-from-user.png figures/sysprof-copy-to-user.png +MANUALS = $(DOC)/$(DOC).html FIGURES = figures STYLESHEET = $(DOC)/*.css endif ifeq ($(DOC),kernel-dev) XSLTOPTS = --xinclude -ALLPREQ = html eclipse tarball +ALLPREQ = html tarball TARFILES = kernel-dev.html kernel-dev-style.css \ figures/kernel-dev-title.png figures/kernel-overview-2-generic.png \ - figures/kernel-architecture-overview.png figures/kernel-dev-flow.png \ - eclipse -MANUALS = $(DOC)/$(DOC).html $(DOC)/eclipse + figures/kernel-architecture-overview.png figures/kernel-dev-flow.png +MANUALS = $(DOC)/$(DOC).html FIGURES = figures STYLESHEET = $(DOC)/*.css endif @@ -412,50 +398,6 @@ else endif -eclipse: BASE_DIR = html/$(DOC)/ - -eclipse: eclipse-generate eclipse-resolve-links - -.PHONY : eclipse-generate eclipse-resolve-links - -eclipse-generate: -ifeq ($(filter $(DOC), overview-manual sdk-manual bsp-guide dev-manual kernel-dev profile-manual ref-manual brief-yoctoprojectqs),) - @echo " " - @echo "ERROR: You can only create eclipse documentation" - @echo " of the following documentation parts:" - @echo " - overview-manual" - @echo " - sdk-manual" - @echo " - bsp-guide" - @echo " - dev-manual" - @echo " - kernel-dev" - @echo " - profile-manual" - @echo " - ref-manual" - @echo " - brief-yoctoprojectqs" - @echo " " -else - @echo " " - @echo "******** Building eclipse help of "$(DOC) - @echo " " - cd $(DOC) && \ - xsltproc $(XSLTOPTS) \ - --stringparam base.dir '$(BASE_DIR)' \ - -o eclipse/$(DOC).html \ - $(DOC)-eclipse-customization.xsl $(DOC).xml && \ - mv eclipse/toc.xml eclipse/$(DOC)-toc.xml && \ - cp -rf $(FIGURES) eclipse/$(BASE_DIR) && \ - cd ..; - - $(call modify-eclipse) -endif - -eclipse-resolve-links: - @echo " " - @echo "******** Using eclipse-help.sed to process external links" - @echo " " - $(foreach FILE, \ - $(wildcard $(DOC)/eclipse/html/$(DOC)/*.html), \ - $(shell sed -i -f tools/eclipse-help.sed $(FILE))) - tarball: html @echo " " @echo "******** Creating Tarball of document files" diff --git a/poky/documentation/brief-yoctoprojectqs/brief-yoctoprojectqs-eclipse-customization.xsl b/poky/documentation/brief-yoctoprojectqs/brief-yoctoprojectqs-eclipse-customization.xsl deleted file mode 100644 index fbb3b578e..000000000 --- a/poky/documentation/brief-yoctoprojectqs/brief-yoctoprojectqs-eclipse-customization.xsl +++ /dev/null @@ -1,35 +0,0 @@ -<?xml version='1.0'?> -<xsl:stylesheet - xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns="http://www.w3.org/1999/xhtml" - xmlns:fo="http://www.w3.org/1999/XSL/Format" - version="1.0"> - - <xsl:import href="http://downloads.yoctoproject.org/mirror/docbook-mirror/docbook-xsl-1.76.1/eclipse/eclipse3.xsl" /> - -<!-- - - <xsl:import href="../template/1.76.1/docbook-xsl-1.76.1/eclipse/eclipse3.xsl" /> - - <xsl:import - href="http://docbook.sourceforge.net/release/xsl/1.76.1/eclipse/eclipse3.xsl" /> - ---> - - <xsl:import href="brief-yoctoprojectqs-titlepage.xsl"/> - - <xsl:param name="chunker.output.indent" select="'yes'"/> - <xsl:param name="chunk.quietly" select="1"/> - <xsl:param name="use.id.as.filename" select="1"/> - <xsl:param name="ulink.target" select="'_self'" /> - <xsl:param name="base.dir" select="'html/brief-yoctoprojectqs/'"/> - <xsl:param name="chunk.section.depth" select="0"/> - <xsl:param name="html.stylesheet" select="'../book.css'"/> - <xsl:param name="eclipse.manifest" select="0"/> - <xsl:param name="create.plugin.xml" select="0"/> - <xsl:param name="suppress.navigation" select="1"/> - <xsl:param name="generate.index" select="0"/> - <xsl:param name="generate.toc" select="'article nop'"></xsl:param> - <xsl:param name="html.stylesheet" select="'style.css'" /> -</xsl:stylesheet> - diff --git a/poky/documentation/brief-yoctoprojectqs/brief-yoctoprojectqs.xml b/poky/documentation/brief-yoctoprojectqs/brief-yoctoprojectqs.xml index 421412ebe..1daeb2547 100644 --- a/poky/documentation/brief-yoctoprojectqs/brief-yoctoprojectqs.xml +++ b/poky/documentation/brief-yoctoprojectqs/brief-yoctoprojectqs.xml @@ -174,6 +174,7 @@ yocto-2.5.2 yocto-2.6 yocto-2.6.1 + yocto-2.6.2 yocto-2.7 yocto_1.5_M5.rc8 </literallayout> diff --git a/poky/documentation/bsp-guide/bsp-guide-eclipse-customization.xsl b/poky/documentation/bsp-guide/bsp-guide-eclipse-customization.xsl deleted file mode 100644 index 35346effc..000000000 --- a/poky/documentation/bsp-guide/bsp-guide-eclipse-customization.xsl +++ /dev/null @@ -1,35 +0,0 @@ -<?xml version='1.0'?> -<xsl:stylesheet - xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns="http://www.w3.org/1999/xhtml" - xmlns:fo="http://www.w3.org/1999/XSL/Format" - version="1.0"> - - <xsl:import href="http://downloads.yoctoproject.org/mirror/docbook-mirror/docbook-xsl-1.76.1/eclipse/eclipse3.xsl" /> - -<!-- - - <xsl:import href="../template/1.76.1/docbook-xsl-1.76.1/eclipse/eclipse3.xsl" /> - - <xsl:import - href="http://docbook.sourceforge.net/release/xsl/1.76.1/eclipse/eclipse3.xsl" /> - ---> - - <xsl:param name="chunker.output.indent" select="'yes'"/> - <xsl:param name="chunk.quietly" select="1"/> - <xsl:param name="chunk.first.sections" select="1"/> - <xsl:param name="chunk.section.depth" select="10"/> - <xsl:param name="use.id.as.filename" select="1"/> - <xsl:param name="ulink.target" select="'_self'" /> - <xsl:param name="base.dir" select="'html/bsp-guide/'"/> - <xsl:param name="html.stylesheet" select="'../book.css'"/> - <xsl:param name="eclipse.manifest" select="0"/> - <xsl:param name="create.plugin.xml" select="0"/> - <xsl:param name="suppress.navigation" select="1"/> - <xsl:param name="generate.index" select="0"/> - <xsl:param name="chapter.autolabel" select="1" /> - <xsl:param name="appendix.autolabel" select="1" /> - <xsl:param name="section.autolabel" select="1" /> - <xsl:param name="section.label.includes.component.label" select="1" /> -</xsl:stylesheet> diff --git a/poky/documentation/bsp-guide/bsp-guide.xml b/poky/documentation/bsp-guide/bsp-guide.xml index f559e0809..addb42118 100644 --- a/poky/documentation/bsp-guide/bsp-guide.xml +++ b/poky/documentation/bsp-guide/bsp-guide.xml @@ -128,9 +128,14 @@ </revision> <revision> <revnumber>2.7</revnumber> - <date>&REL_MONTH_YEAR;</date> + <date>May 2019</date> <revremark>Released with the Yocto Project 2.7 Release.</revremark> </revision> + <revision> + <revnumber>2.8</revnumber> + <date>&REL_MONTH_YEAR;</date> + <revremark>Released with the Yocto Project 2.8 Release.</revremark> + </revision> </revhistory> <copyright> diff --git a/poky/documentation/bsp-guide/bsp.xml b/poky/documentation/bsp-guide/bsp.xml index 0bb0b68ab..58f5733f7 100644 --- a/poky/documentation/bsp-guide/bsp.xml +++ b/poky/documentation/bsp-guide/bsp.xml @@ -148,16 +148,11 @@ Some layers function as a layer to hold other BSP layers. These layers are knows as "<ulink url='&YOCTO_DOCS_REF_URL;#term-container-layer'>container layers</ulink>". - An example of this type of layer is the - <filename>meta-intel</filename> layer. - This layer contains BSP layers for the Intel-core2-32 - <trademark class='registered'>Intel</trademark> Common Core - (Intel-core2-32) and the Intel-corei7-64 - <trademark class='registered'>Intel</trademark> Common Core - (Intel-corei7-64). - the <filename>meta-intel</filename> layer also contains - the <filename>common/</filename> directory, which contains - common content across those layers. + An example of this type of layer is OpenEmbedded's + <ulink url='https://github.com/openembedded/meta-openembedded'><filename>meta-openembedded</filename></ulink> + layer. + The <filename>meta-openembedded</filename> layer contains + many <filename>meta-*</filename> layers. </para> <para> @@ -1817,9 +1812,8 @@ The remainder of this section provides a description of the Yocto Project reference BSP for Beaglebone, which resides in the - <ulink url='&YOCTO_DOCS_REF_URL;#term-container-layer'>Container Layer</ulink> - (i.e. - <ulink url='&YOCTO_GIT_URL;/cgit/cgit.cgi/poky/tree/meta-yocto-bsp'><filename>meta-yocto-bsp</filename></ulink>). + <ulink url='&YOCTO_GIT_URL;/cgit/cgit.cgi/poky/tree/meta-yocto-bsp'><filename>meta-yocto-bsp</filename></ulink> + layer. </para> <section id='bsp-layer-configuration-example'> @@ -1882,7 +1876,7 @@ </literallayout> For example, the machine configuration file for the <ulink url='http://beagleboard.org/bone'>BeagleBone and BeagleBone Black development boards</ulink> - is located in the container layer + is located in the layer <filename>poky/meta-yocto-bsp/conf/machine</filename> and is named <filename>beaglebone-yocto.conf</filename>: <literallayout class='monospaced'> @@ -1908,10 +1902,11 @@ IMAGE_INSTALL_append = " kernel-devicetree kernel-image-zimage" do_image_wic[depends] += "mtools-native:do_populate_sysroot dosfstools-native:do_populate_sysroot" - SERIAL_CONSOLES = "115200;ttyO0" + SERIAL_CONSOLES ?= "115200;ttyS0 115200;ttyO0" + SERIAL_CONSOLES_CHECK = "${SERIAL_CONSOLES}" PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto" - PREFERRED_VERSION_linux-yocto ?= "4.12%" + PREFERRED_VERSION_linux-yocto ?= "5.0%" KERNEL_IMAGETYPE = "zImage" KERNEL_DEVICETREE = "am335x-bone.dtb am335x-boneblack.dtb am335x-bonegreen.dtb" @@ -1919,13 +1914,13 @@ SPL_BINARY = "MLO" UBOOT_SUFFIX = "img" - UBOOT_MACHINE = "am335x_boneblack_config" + UBOOT_MACHINE = "am335x_evm_defconfig" UBOOT_ENTRYPOINT = "0x80008000" UBOOT_LOADADDRESS = "0x80008000" MACHINE_FEATURES = "usbgadget usbhost vfat alsa" - IMAGE_BOOT_FILES ?= "u-boot.${UBOOT_SUFFIX} MLO" + IMAGE_BOOT_FILES ?= "u-boot.${UBOOT_SUFFIX} MLO zImage am335x-bone.dtb am335x-boneblack.dtb am335x-bonegreen.dtb" </literallayout> The variables used to configure the machine define machine-specific properties. @@ -1954,7 +1949,7 @@ In this case, the recipe that provides "virtual/xserver" is "xserver-xorg", which exists in - <filename>poky/meta/recipes-graphics/xserver-xorg</filename>. + <filename>poky/meta/recipes-graphics/xorg-xserver</filename>. </para></listitem> <listitem><para> <ulink url='&YOCTO_DOCS_REF_URL;#var-XSERVER'><filename>XSERVER</filename></ulink>: @@ -2067,7 +2062,7 @@ <listitem><para> <ulink url='&YOCTO_DOCS_REF_URL;#var-PREFERRED_VERSION'><filename>PREFERRED_VERSION_linux-yocto</filename></ulink>: Defines the version of the recipe used - to build the kernel, which is "4.12" in this + to build the kernel, which is "5.0" in this case. </para></listitem> <listitem><para> @@ -2078,8 +2073,8 @@ </para></listitem> <listitem><para> <ulink url='&YOCTO_DOCS_REF_URL;#var-KERNEL_DEVICETREE'><filename>KERNEL_DEVICETREE</filename></ulink>: - The name of the generated Linux kernel device - tree (i.e. the <filename>.dtb</filename>) file. + The names of the generated Linux kernel device + trees (i.e. the <filename>*.dtb</filename>) files. All the device trees for the various BeagleBone devices are included. <!-- @@ -2153,8 +2148,6 @@ when preparing the image using the Wic tool with the <filename>bootimg-partition</filename> source plugin. - In this case, the "u-boot.${UBOOT_SUFFIX}" and - "MLO" files are installed. </para></listitem> </itemizedlist> </para> @@ -2169,38 +2162,37 @@ machine configuration: <literallayout class='monospaced'> PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto" - PREFERRED_VERSION_linux-yocto ?= "4.12%" + PREFERRED_VERSION_linux-yocto ?= "5.0%" </literallayout> The <filename>meta-yocto-bsp/recipes-kernel/linux</filename> directory in the layer contains metadata used to build the kernel. - In this case, a kernel append file is used to - override an established kernel recipe, which is + In this case, a kernel append file (i.e. + <filename>linux-yocto_5.0.bbappend</filename>) is used to + override an established kernel recipe (i.e. + <filename>linux-yocto_5.0.bb</filename>), which is located in - <ulink url='&YOCTO_GIT_URL;/cgit/cgit.cgi/poky/tree/meta/recipes-kernel/linux'></ulink> - and named - <filename>linux-yocto_4.12.bb</filename>. + <ulink url='&YOCTO_GIT_URL;/cgit/cgit.cgi/poky/tree/meta/recipes-kernel/linux'></ulink>. </para> <para> Following is the contents of the append file: <literallayout class='monospaced'> - KBRANCH_genericx86 = "standard/base" - KBRANCH_genericx86-64 = "standard/base" + KBRANCH_genericx86 = "v5.0/standard/base" + KBRANCH_genericx86-64 = "v5.0/standard/base" + KBRANCH_edgerouter = "v5.0/standard/edgerouter" + KBRANCH_beaglebone-yocto = "v5.0/standard/beaglebone" + KBRANCH_mpc8315e-rdb = "v5.0/standard/fsl-mpc8315e-rdb" KMACHINE_genericx86 ?= "common-pc" KMACHINE_genericx86-64 ?= "common-pc-64" - KBRANCH_edgerouter = "standard/edgerouter" - KBRANCH_beaglebone-yocto = "standard/beaglebone" - KMACHINE_beaglebone-yocto = "beaglebone" - KBRANCH_mpc8315e-rdb = "standard/fsl-mpc8315e-rdb" - - SRCREV_machine_genericx86 ?= "1c4ad569af3e23a77994235435040e322908687f" - SRCREV_machine_genericx86-64 ?= "1c4ad569af3e23a77994235435040e322908687f" - SRCREV_machine_edgerouter ?= "257f843ea367744620f1d92910afd2f454e31483" - SRCREV_machine_beaglebone-yocto ?= "257f843ea367744620f1d92910afd2f454e31483" - SRCREV_machine_mpc8315e-rdb ?= "014560874f9eb2a86138c9cc35046ff1720485e1" + KMACHINE_beaglebone-yocto ?= "beaglebone" + SRCREV_machine_genericx86 ?= "3df4aae6074e94e794e27fe7f17451d9353cdf3d" + SRCREV_machine_genericx86-64 ?= "3df4aae6074e94e794e27fe7f17451d9353cdf3d" + SRCREV_machine_edgerouter ?= "3df4aae6074e94e794e27fe7f17451d9353cdf3d" + SRCREV_machine_beaglebone-yocto ?= "3df4aae6074e94e794e27fe7f17451d9353cdf3d" + SRCREV_machine_mpc8315e-rdb ?= "8b62af7f252af10588276802c4c6d7c502e875be" COMPATIBLE_MACHINE_genericx86 = "genericx86" COMPATIBLE_MACHINE_genericx86-64 = "genericx86-64" @@ -2208,16 +2200,15 @@ COMPATIBLE_MACHINE_beaglebone-yocto = "beaglebone-yocto" COMPATIBLE_MACHINE_mpc8315e-rdb = "mpc8315e-rdb" - LINUX_VERSION_genericx86 = "4.12.20" - LINUX_VERSION_genericx86-64 = "4.12.20" - LINUX_VERSION_edgerouter = "4.12.19" - LINUX_VERSION_beaglebone-yocto = "4.12.19" - LINUX_VERSION_mpc8315e-rdb = "4.12.19" + LINUX_VERSION_genericx86 = "5.0.3" + LINUX_VERSION_genericx86-64 = "5.0.3" + LINUX_VERSION_edgerouter = "5.0.3" + LINUX_VERSION_beaglebone-yocto = "5.0.3" + LINUX_VERSION_mpc8315e-rdb = "5.0.3" </literallayout> This particular append file works for all the machines that are part of the - <filename>meta-yocto-bsp</filename> container - layer. + <filename>meta-yocto-bsp</filename> layer. The relevant statements are appended with the "beaglebone-yocto" string. The OpenEmbedded build system uses these @@ -2240,15 +2231,6 @@ <ulink url='&YOCTO_DOCS_REF_URL;#var-SRCREV'><filename>SRCREV</filename></ulink>: Identifies the revision of the source code used to build the image. -<!-- - You find out about that point in the kernel source tree by - doing the following command: - - git log ‐‐decorate 257f843ea367744620f1d92910afd2f454e31483 - - Returns information about the commit, which is usually - that it is a merge point for a stable kernel release. ---> </para></listitem> <listitem><para> <ulink url='&YOCTO_DOCS_REF_URL;#var-COMPATIBLE_MACHINE'><filename>COMPATIBLE_MACHINE</filename></ulink>: diff --git a/poky/documentation/dev-manual/dev-manual-common-tasks.xml b/poky/documentation/dev-manual/dev-manual-common-tasks.xml index 893ef7ba0..8ddcd5b07 100644 --- a/poky/documentation/dev-manual/dev-manual-common-tasks.xml +++ b/poky/documentation/dev-manual/dev-manual-common-tasks.xml @@ -1883,7 +1883,8 @@ <ulink url='&YOCTO_DOCS_REF_URL;#ref-tasks-fetch'><filename>do_fetch</filename></ulink> task uses the prefix of each entry in the <filename>SRC_URI</filename> variable value to determine which - fetcher to use to get your source files. + <ulink url='&YOCTO_DOCS_BB_URL;#bb-fetchers'>fetcher</ulink> + to use to get your source files. It is the <filename>SRC_URI</filename> variable that triggers the fetcher. The @@ -7387,17 +7388,17 @@ it is based on is by definition incomplete. The purpose of the command is to allow the generation of customized images, and as such, was designed to be - completely extensible through a plug-in interface. + completely extensible through a plugin interface. See the - "<link linkend='wic-using-the-wic-plug-ins-interface'>Using the Wic Plug-Ins Interface</link>" - section for information on these plug-ins. + "<link linkend='wic-using-the-wic-plugin-interface'>Using the Wic PlugIn Interface</link>" + section for information on these plugins. </para> <para> This section provides some background information on Wic, describes what you need to have in place to run the tool, provides instruction on how to use - the Wic utility, provides information on using the Wic plug-ins + the Wic utility, provides information on using the Wic plugins interface, and provides several examples that show how to use Wic. </para> @@ -7792,28 +7793,28 @@ </para> </section> - <section id='wic-using-the-wic-plug-ins-interface'> - <title>Using the Wic Plug-Ins Interface</title> + <section id='wic-using-the-wic-plugin-interface'> + <title>Using the Wic Plugin Interface</title> <para> You can extend and specialize Wic functionality by using - Wic plug-ins. - This section explains the Wic plug-in interface. + Wic plugins. + This section explains the Wic plugin interface. <note> - Wic plug-ins consist of "source" and "imager" plug-ins. - Imager plug-ins are beyond the scope of this section. + Wic plugins consist of "source" and "imager" plugins. + Imager plugins are beyond the scope of this section. </note> </para> <para> - Source plug-ins provide a mechanism to customize partition + Source plugins provide a mechanism to customize partition content during the Wic image generation process. - You can use source plug-ins to map values that you specify + You can use source plugins to map values that you specify using <filename>--source</filename> commands in kickstart - files (i.e. <filename>*.wks</filename>) to a plug-in + files (i.e. <filename>*.wks</filename>) to a plugin implementation used to populate a given partition. <note> - If you use plug-ins that have build-time dependencies + If you use plugins that have build-time dependencies (e.g. native tools, bootloaders, and so forth) when building a Wic image, you need to specify those dependencies using the @@ -7823,43 +7824,43 @@ </para> <para> - Source plug-ins are subclasses defined in plug-in files. - As shipped, the Yocto Project provides several plug-in + Source plugins are subclasses defined in plugin files. + As shipped, the Yocto Project provides several plugin files. - You can see the source plug-in files that ship with the + You can see the source plugin files that ship with the Yocto Project <ulink url='&YOCTO_GIT_URL;/cgit/cgit.cgi/poky/tree/scripts/lib/wic/plugins/source'>here</ulink>. - Each of these plug-in files contains source plug-ins that + Each of these plugin files contains source plugins that are designed to populate a specific Wic image partition. </para> <para> - Source plug-ins are subclasses of the + Source plugins are subclasses of the <filename>SourcePlugin</filename> class, which is defined in the <filename>poky/scripts/lib/wic/pluginbase.py</filename> file. For example, the <filename>BootimgEFIPlugin</filename> - source plug-in found in the + source plugin found in the <filename>bootimg-efi.py</filename> file is a subclass of the <filename>SourcePlugin</filename> class, which is found in the <filename>pluginbase.py</filename> file. </para> <para> - You can also implement source plug-ins in a layer outside + You can also implement source plugins in a layer outside of the Source Repositories (external layer). - To do so, be sure that your plug-in files are located in + To do so, be sure that your plugin files are located in a directory whose path is <filename>scripts/lib/wic/plugins/source/</filename> within your external layer. - When the plug-in files are located there, the source - plug-ins they contain are made available to Wic. + When the plugin files are located there, the source + plugins they contain are made available to Wic. </para> <para> When the Wic implementation needs to invoke a - partition-specific implementation, it looks for the plug-in + partition-specific implementation, it looks for the plugin with the same name as the <filename>--source</filename> parameter used in the kickstart file given to that partition. @@ -7869,13 +7870,13 @@ part /boot --source bootimg-pcbios --ondisk sda --label boot --active --align 1024 </literallayout> The methods defined as class members of the matching - source plug-in (i.e. <filename>bootimg-pcbios</filename>) - in the <filename>bootimg-pcbios.py</filename> plug-in file + source plugin (i.e. <filename>bootimg-pcbios</filename>) + in the <filename>bootimg-pcbios.py</filename> plugin file are used. </para> <para> - To be more concrete, here is the corresponding plug-in + To be more concrete, here is the corresponding plugin definition from the <filename>bootimg-pcbios.py</filename> file for the previous command along with an example method called by the Wic implementation when it needs to @@ -7907,19 +7908,19 @@ . . </literallayout> - If a subclass (plug-in) itself does not implement a + If a subclass (plugin) itself does not implement a particular function, Wic locates and uses the default version in the superclass. - It is for this reason that all source plug-ins are derived + It is for this reason that all source plugins are derived from the <filename>SourcePlugin</filename> class. </para> <para> The <filename>SourcePlugin</filename> class defined in the <filename>pluginbase.py</filename> file defines - a set of methods that source plug-ins can implement or + a set of methods that source plugins can implement or override. - Any plug-ins (subclass of + Any plugins (subclass of <filename>SourcePlugin</filename>) that do not implement a particular method inherit the implementation of the method from the <filename>SourcePlugin</filename> class. @@ -7980,11 +7981,11 @@ </para> <para> - You can extend the source plug-in mechanism. - To add more hooks, create more source plug-in methods + You can extend the source plugin mechanism. + To add more hooks, create more source plugin methods within <filename>SourcePlugin</filename> and the corresponding derived subclasses. - The code that calls the plug-in methods uses the + The code that calls the plugin methods uses the <filename>plugin.get_source_plugin_methods()</filename> function to find the method or methods needed by the call. Retrieval of those methods is accomplished by filling up @@ -9404,7 +9405,7 @@ <para> Many pieces of software split functionality into optional - modules (or plug-ins) and the plug-ins that are built + modules (or plugins) and the plugins that are built might depend on configuration options. To avoid having to duplicate the logic that determines what modules are available in your recipe or to avoid having @@ -12489,14 +12490,6 @@ </itemizedlist> </para> - <para> - For debugging information within the popular - <trademark class='trade'>Eclipse</trademark> IDE, see the - "<ulink url='&YOCTO_DOCS_SDK_URL;#adt-eclipse'>Working within Eclipse</ulink>" - section in the Yocto Project Application Development and the - Extensible Software Development Kit (eSDK) manual. - </para> - <section id='dev-debugging-viewing-logs-from-failed-tasks'> <title>Viewing Logs from Failed Tasks</title> @@ -12534,6 +12527,16 @@ <title>Viewing Variable Values</title> <para> + Sometimes you need to know the value of a variable as a + result of BitBake's parsing step. + This could be because some unexpected behavior occurred + in your project. + Perhaps an attempt to + <ulink url='&YOCTO_DOCS_BB_URL;#modifying-existing-variables'>modify a variable</ulink> + did not work out as expected. + </para> + + <para> BitBake's <filename>-e</filename> option is used to display variable values after parsing. The following command displays the variable values after the @@ -15059,12 +15062,12 @@ </para> <para> - Specifying audio and video plug-ins as part of the + Specifying audio and video plugins as part of the <filename>COMMERCIAL_AUDIO_PLUGINS</filename> and <filename>COMMERCIAL_VIDEO_PLUGINS</filename> statements (along with the enabling <filename>LICENSE_FLAGS_WHITELIST</filename>) includes the - plug-ins or components into built images, thus adding + plugins or components into built images, thus adding support for media formats or components. </para> </section> diff --git a/poky/documentation/dev-manual/dev-manual-eclipse-customization.xsl b/poky/documentation/dev-manual/dev-manual-eclipse-customization.xsl deleted file mode 100644 index 6d7b5fbb6..000000000 --- a/poky/documentation/dev-manual/dev-manual-eclipse-customization.xsl +++ /dev/null @@ -1,35 +0,0 @@ -<?xml version='1.0'?> -<xsl:stylesheet - xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns="http://www.w3.org/1999/xhtml" - xmlns:fo="http://www.w3.org/1999/XSL/Format" - version="1.0"> - - <xsl:import href="http://downloads.yoctoproject.org/mirror/docbook-mirror/docbook-xsl-1.76.1/eclipse/eclipse3.xsl" /> - -<!-- - - <xsl:import href="../template/1.76.1/docbook-xsl-1.76.1/eclipse/eclipse3.xsl" /> - - <xsl:import - href="http://docbook.sourceforge.net/release/xsl/1.76.1/eclipse/eclipse3.xsl" /> - ---> - - <xsl:param name="chunker.output.indent" select="'yes'"/> - <xsl:param name="chunk.quietly" select="1"/> - <xsl:param name="chunk.first.sections" select="1"/> - <xsl:param name="chunk.section.depth" select="10"/> - <xsl:param name="use.id.as.filename" select="1"/> - <xsl:param name="ulink.target" select="'_self'" /> - <xsl:param name="base.dir" select="'html/dev-manual/'"/> - <xsl:param name="html.stylesheet" select="'../book.css'"/> - <xsl:param name="eclipse.manifest" select="0"/> - <xsl:param name="create.plugin.xml" select="0"/> - <xsl:param name="suppress.navigation" select="1"/> - <xsl:param name="generate.index" select="0"/> - <xsl:param name="chapter.autolabel" select="1" /> - <xsl:param name="appendix.autolabel" select="1" /> - <xsl:param name="section.autolabel" select="1" /> - <xsl:param name="section.label.includes.component.label" select="1" /> -</xsl:stylesheet> diff --git a/poky/documentation/dev-manual/dev-manual-start.xml b/poky/documentation/dev-manual/dev-manual-start.xml index 6ec5c3cf4..5625dfcdd 100644 --- a/poky/documentation/dev-manual/dev-manual-start.xml +++ b/poky/documentation/dev-manual/dev-manual-start.xml @@ -176,14 +176,6 @@ isolated applications. </para></listitem> <listitem><para> - When possible, use the Yocto Project plug-in for the - <trademark class='trade'>Eclipse</trademark> IDE - and SDK development practices. - For more information, see the - <ulink url='&YOCTO_DOCS_SDK_URL;'>Yocto Project Application Development and the Extensible Software Development Kit (eSDK)</ulink> - manual. - </para></listitem> - <listitem><para> Keep your cross-development toolchains updated. You can do this through provisioning either as new toolchain downloads or as updates through a package @@ -421,8 +413,7 @@ further steps are necessary depending on what you want to accomplish. See the following references for information on how to prepare for - Board Support Package (BSP) development, kernel development, and - development using the <trademark class='trade'>Eclipse</trademark> IDE: + Board Support Package (BSP) development and kernel development: <itemizedlist> <listitem><para> <emphasis>BSP Development:</emphasis> @@ -437,13 +428,6 @@ "<ulink url='&YOCTO_DOCS_KERNEL_DEV_URL;#preparing-the-build-host-to-work-on-the-kernel'>Preparing the Build Host to Work on the Kernel</ulink>" section in the Yocto Project Linux Kernel Development Manual. </para></listitem> - <listitem><para> - <emphasis>Eclipse Development:</emphasis> - See the - "<ulink url='&YOCTO_DOCS_SDK_URL;#sdk-eclipse-project'>Developing Applications Using <trademark class='trade'>Eclipse</trademark></ulink>" - Chapter in the Yocto Project Application Development and the - Extensible Software Development Kit (eSDK) manual. - </para></listitem> </itemizedlist> </para> @@ -767,7 +751,7 @@ <ulink url='&YOCTO_DL_URL;/releases'></ulink> to access the Index of Releases. The list represents released components (e.g. - <filename>eclipse-plugin</filename>, + <filename>bitbake</filename>, <filename>sato</filename>, and so on). <note> The <filename>yocto</filename> directory contains the @@ -864,8 +848,7 @@ Yocto Project maintains an area for nightly builds that contains tarball releases at <ulink url='&YOCTO_AB_NIGHTLY_URL;'/>. These builds include Yocto Project releases ("poky"), - toolchains, Yocto Project plugins for Eclipse, and builds for - supported machines. + toolchains, and builds for supported machines. </para> <para> @@ -1130,6 +1113,7 @@ yocto-2.5.3 yocto-2.6 yocto-2.6.1 + yocto-2.6.2 yocto-2.7 yocto_1.5_M5.rc8 </literallayout> diff --git a/poky/documentation/dev-manual/dev-manual.xml b/poky/documentation/dev-manual/dev-manual.xml index 5dda016d7..42deff102 100644 --- a/poky/documentation/dev-manual/dev-manual.xml +++ b/poky/documentation/dev-manual/dev-manual.xml @@ -113,9 +113,14 @@ </revision> <revision> <revnumber>2.7</revnumber> - <date>&REL_MONTH_YEAR;</date> + <date>May 2019</date> <revremark>Released with the Yocto Project 2.7 Release.</revremark> </revision> + <revision> + <revnumber>2.8</revnumber> + <date>&REL_MONTH_YEAR;</date> + <revremark>Released with the Yocto Project 2.8 Release.</revremark> + </revision> </revhistory> <copyright> diff --git a/poky/documentation/kernel-dev/kernel-dev-common.xml b/poky/documentation/kernel-dev/kernel-dev-common.xml index 7ff4cba3b..7d8826fa3 100644 --- a/poky/documentation/kernel-dev/kernel-dev-common.xml +++ b/poky/documentation/kernel-dev/kernel-dev-common.xml @@ -185,7 +185,7 @@ Poky (Yocto Project Reference Distro) Extensible SDK installer version &DISTRO; ============================================================================ Enter target directory for SDK (default: ~/poky_sdk): - You are about to install the SDK to "/home/scottrif/poky_sdk". Proceed[Y/n]? Y + You are about to install the SDK to "/home/scottrif/poky_sdk". Proceed [Y/n]? Y Extracting SDK......................................done Setting it up... Extracting buildtools... diff --git a/poky/documentation/kernel-dev/kernel-dev-eclipse-customization.xsl b/poky/documentation/kernel-dev/kernel-dev-eclipse-customization.xsl deleted file mode 100644 index 3c56a5a9e..000000000 --- a/poky/documentation/kernel-dev/kernel-dev-eclipse-customization.xsl +++ /dev/null @@ -1,35 +0,0 @@ -<?xml version='1.0'?> -<xsl:stylesheet - xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns="http://www.w3.org/1999/xhtml" - xmlns:fo="http://www.w3.org/1999/XSL/Format" - version="1.0"> - - <xsl:import href="http://downloads.yoctoproject.org/mirror/docbook-mirror/docbook-xsl-1.76.1/eclipse/eclipse3.xsl" /> - -<!-- - - <xsl:import href="../template/1.76.1/docbook-xsl-1.76.1/eclipse/eclipse3.xsl" /> - - <xsl:import - href="http://docbook.sourceforge.net/release/xsl/1.76.1/eclipse/eclipse3.xsl" /> - ---> - - <xsl:param name="chunker.output.indent" select="'yes'"/> - <xsl:param name="chunk.quietly" select="1"/> - <xsl:param name="chunk.first.sections" select="1"/> - <xsl:param name="chunk.section.depth" select="10"/> - <xsl:param name="use.id.as.filename" select="1"/> - <xsl:param name="ulink.target" select="'_self'" /> - <xsl:param name="base.dir" select="'html/kernel-dev/'"/> - <xsl:param name="html.stylesheet" select="'../book.css'"/> - <xsl:param name="eclipse.manifest" select="0"/> - <xsl:param name="create.plugin.xml" select="0"/> - <xsl:param name="suppress.navigation" select="1"/> - <xsl:param name="generate.index" select="0"/> - <xsl:param name="chapter.autolabel" select="1" /> - <xsl:param name="appendix.autolabel">A</xsl:param> - <xsl:param name="section.autolabel" select="1" /> - <xsl:param name="section.label.includes.component.label" select="1" /> -</xsl:stylesheet> diff --git a/poky/documentation/kernel-dev/kernel-dev.xml b/poky/documentation/kernel-dev/kernel-dev.xml index 33553df06..c43330a31 100644 --- a/poky/documentation/kernel-dev/kernel-dev.xml +++ b/poky/documentation/kernel-dev/kernel-dev.xml @@ -98,9 +98,14 @@ </revision> <revision> <revnumber>2.7</revnumber> - <date>&REL_MONTH_YEAR;</date> + <date>May 2019</date> <revremark>Released with the Yocto Project 2.7 Release.</revremark> </revision> + <revision> + <revnumber>2.8</revnumber> + <date>&REL_MONTH_YEAR;</date> + <revremark>Released with the Yocto Project 2.8 Release.</revremark> + </revision> </revhistory> <copyright> diff --git a/poky/documentation/mega-manual/figures/index-downloads.png b/poky/documentation/mega-manual/figures/index-downloads.png Binary files differindex 96303b878..d8d4475ce 100644..100755 --- a/poky/documentation/mega-manual/figures/index-downloads.png +++ b/poky/documentation/mega-manual/figures/index-downloads.png diff --git a/poky/documentation/mega-manual/figures/lttngmain0.png b/poky/documentation/mega-manual/figures/lttngmain0.png Binary files differdeleted file mode 100644 index 5f60113cc..000000000 --- a/poky/documentation/mega-manual/figures/lttngmain0.png +++ /dev/null diff --git a/poky/documentation/mega-manual/figures/sdk-eclipse-dev-flow.png b/poky/documentation/mega-manual/figures/sdk-eclipse-dev-flow.png Binary files differdeleted file mode 100644 index 9f986e0d4..000000000 --- a/poky/documentation/mega-manual/figures/sdk-eclipse-dev-flow.png +++ /dev/null diff --git a/poky/documentation/mega-manual/mega-manual.xml b/poky/documentation/mega-manual/mega-manual.xml index 2c518f951..b66b9334f 100644 --- a/poky/documentation/mega-manual/mega-manual.xml +++ b/poky/documentation/mega-manual/mega-manual.xml @@ -84,9 +84,14 @@ </revision> <revision> <revnumber>2.7</revnumber> - <date>&REL_MONTH_YEAR;</date> + <date>May 2019</date> <revremark>Released with the Yocto Project 2.7 Release.</revremark> </revision> + <revision> + <revnumber>2.8</revnumber> + <date>&REL_MONTH_YEAR;</date> + <revremark>Released with the Yocto Project 2.8 Release.</revremark> + </revision> </revhistory> <copyright> @@ -201,15 +206,11 @@ <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../sdk-manual/sdk-working-projects.xml"/> <xi:include - xmlns:xi="http://www.w3.org/2003/XInclude" href="../sdk-manual/sdk-eclipse-project.xml"/> - <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../sdk-manual/sdk-appendix-obtain.xml"/> <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../sdk-manual/sdk-appendix-customizing.xml"/> <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../sdk-manual/sdk-appendix-customizing-standard.xml"/> - <xi:include - xmlns:xi="http://www.w3.org/2003/XInclude" href="../sdk-manual/sdk-appendix-neon.xml"/> <!-- Includes bsp-guide title image and then bsp-guide chapters --> diff --git a/poky/documentation/overview-manual/figures/index-downloads.png b/poky/documentation/overview-manual/figures/index-downloads.png Binary files differindex 96303b878..d8d4475ce 100644..100755 --- a/poky/documentation/overview-manual/figures/index-downloads.png +++ b/poky/documentation/overview-manual/figures/index-downloads.png diff --git a/poky/documentation/overview-manual/overview-manual-concepts.xml b/poky/documentation/overview-manual/overview-manual-concepts.xml index c1c1fec26..8a1b38c87 100644 --- a/poky/documentation/overview-manual/overview-manual-concepts.xml +++ b/poky/documentation/overview-manual/overview-manual-concepts.xml @@ -925,14 +925,16 @@ <para> Another place the build system can get source files from is - through an SCM such as Git or Subversion. - In this case, a repository is cloned or checked out. + through a Source Control Manager (SCM) such as Git or + Subversion. + In such cases, a repository is cloned or checked out. The <ulink url='&YOCTO_DOCS_REF_URL;#ref-tasks-fetch'><filename>do_fetch</filename></ulink> task inside BitBake uses the <ulink url='&YOCTO_DOCS_REF_URL;#var-SRC_URI'><filename>SRC_URI</filename></ulink> variable and the argument's prefix to determine the correct - fetcher module. + <ulink url='&YOCTO_DOCS_BB_URL;#bb-fetchers'><filename>fetcher</filename></ulink> + module. <note> For information on how to have the OpenEmbedded build system generate tarballs for Git repositories and place @@ -940,7 +942,7 @@ <ulink url='&YOCTO_DOCS_REF_URL;#var-DL_DIR'><filename>DL_DIR</filename></ulink> directory, see the <ulink url='&YOCTO_DOCS_REF_URL;#var-BB_GENERATE_MIRROR_TARBALLS'><filename>BB_GENERATE_MIRROR_TARBALLS</filename></ulink> - variable. + variable in the Yocto Project Reference Manual. </note> </para> @@ -3186,7 +3188,8 @@ <para> In the <ulink url='&YOCTO_DOCS_REF_URL;#build-system-term'>OpenEmbedded build system</ulink>, - the program that implements fakeroot is known as Pseudo. + the program that implements fakeroot is known as + <ulink url='https://www.yoctoproject.org/software-item/pseudo/'>Pseudo</ulink>. Pseudo overrides system calls by using the environment variable <filename>LD_PRELOAD</filename>, which results in the illusion of running as root. @@ -3220,10 +3223,8 @@ <ulink url='&YOCTO_DOCS_BB_URL;#var-FAKEROOT'><filename>FAKEROOT*</filename></ulink> variables in the BitBake User Manual. You can also reference the - "<ulink url='http://www.ibm.com/developerworks/opensource/library/os-aapseudo1/index.html'>Pseudo</ulink>" - and "<ulink url='https://github.com/wrpseudo/pseudo/wiki/WhyNotFakeroot'>Why Not Fakeroot?</ulink>" - articles for background information on Pseudo. + article for background information on Fakeroot and Pseudo. </para> </section> </chapter> diff --git a/poky/documentation/overview-manual/overview-manual-development-environment.xml b/poky/documentation/overview-manual/overview-manual-development-environment.xml index bba93ccef..2f1bd1610 100644 --- a/poky/documentation/overview-manual/overview-manual-development-environment.xml +++ b/poky/documentation/overview-manual/overview-manual-development-environment.xml @@ -166,22 +166,6 @@ section in the Yocto Project Linux Kernel Development Manual. </para></listitem> <listitem><para> - <emphasis>Using the <trademark class='trade'>Eclipse</trademark> IDE:</emphasis> - One of two Yocto Project development methods that involves an - interface that effectively puts the Yocto Project into the - background is the popular Eclipse IDE. - This method of development is advantageous if you are already - familiar with working within Eclipse. - Development is supported through a plugin that you install - onto your development host.</para> - - <para>For steps that show you how to set up your development - host to use the Eclipse Yocto Project plugin, see the - "<ulink url='&YOCTO_DOCS_SDK_URL;#sdk-eclipse-project'>Developing Applications Using <trademark class='trade'>Eclipse</trademark></ulink>" - Chapter in the Yocto Project Application Development and the - Extensible Software Development Kit (eSDK) manual. - </para></listitem> - <listitem><para> <emphasis>Using Toaster:</emphasis> The other Yocto Project development method that involves an interface that effectively puts the Yocto Project into the @@ -276,11 +260,10 @@ <emphasis> <ulink url='&YOCTO_DL_URL;/releases/'>Index of /releases:</ulink> </emphasis> - This is an index of releases such as - the <trademark class='trade'>Eclipse</trademark> - Yocto Plug-in, miscellaneous support, Poky, Pseudo, installers - for cross-development toolchains, and all released versions of - Yocto Project in the form of images or tarballs. + This is an index of releases such as Poky, Pseudo, installers + for cross-development toolchains, miscellaneous support + and all released versions of Yocto Project in the form of + images or tarballs. Downloading and extracting these files does not produce a local copy of the Git repository but rather a snapshot of a particular release or image.</para> diff --git a/poky/documentation/overview-manual/overview-manual-eclipse-customization.xsl b/poky/documentation/overview-manual/overview-manual-eclipse-customization.xsl deleted file mode 100644 index aaf99ea1b..000000000 --- a/poky/documentation/overview-manual/overview-manual-eclipse-customization.xsl +++ /dev/null @@ -1,35 +0,0 @@ -<?xml version='1.0'?> -<xsl:stylesheet - xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns="http://www.w3.org/1999/xhtml" - xmlns:fo="http://www.w3.org/1999/XSL/Format" - version="1.0"> - - <xsl:import href="http://downloads.yoctoproject.org/mirror/docbook-mirror/docbook-xsl-1.76.1/eclipse/eclipse3.xsl" /> - -<!-- - - <xsl:import href="../template/1.76.1/docbook-xsl-1.76.1/eclipse/eclipse3.xsl" /> - - <xsl:import - href="http://docbook.sourceforge.net/release/xsl/1.76.1/eclipse/eclipse3.xsl" /> - ---> - - <xsl:param name="chunker.output.indent" select="'yes'"/> - <xsl:param name="chunk.quietly" select="1"/> - <xsl:param name="chunk.first.sections" select="1"/> - <xsl:param name="chunk.section.depth" select="10"/> - <xsl:param name="use.id.as.filename" select="1"/> - <xsl:param name="ulink.target" select="'_self'" /> - <xsl:param name="base.dir" select="'html/overview-manual/'"/> - <xsl:param name="html.stylesheet" select="'../book.css'"/> - <xsl:param name="eclipse.manifest" select="0"/> - <xsl:param name="create.plugin.xml" select="0"/> - <xsl:param name="suppress.navigation" select="1"/> - <xsl:param name="generate.index" select="0"/> - <xsl:param name="chapter.autolabel" select="1" /> - <xsl:param name="appendix.autolabel" select="1" /> - <xsl:param name="section.autolabel" select="1" /> - <xsl:param name="section.label.includes.component.label" select="1" /> -</xsl:stylesheet> diff --git a/poky/documentation/overview-manual/overview-manual-yp-intro.xml b/poky/documentation/overview-manual/overview-manual-yp-intro.xml index 254f191cc..dbf62cc16 100644 --- a/poky/documentation/overview-manual/overview-manual-yp-intro.xml +++ b/poky/documentation/overview-manual/overview-manual-yp-intro.xml @@ -502,35 +502,6 @@ Manual. </para></listitem> <listitem><para> - <emphasis><trademark class='trade'>Eclipse</trademark> IDE Plug-in:</emphasis> - This plug-in enables you to use the popular Eclipse - Integrated Development Environment (IDE), which allows - for development using the Yocto Project all within the - Eclipse IDE. - You can work within Eclipse to cross-compile, deploy, - and execute your output into a QEMU emulation session - as well as onto actual target hardware.</para> - - <para>The environment also supports performance - enhancing tools that allow you to perform remote - profiling, tracing, collection of power data, - collection of latency data, and collection of - performance data.</para> - - <para>Once you enable the plug-in, standard Eclipse - functions automatically use the cross-toolchain - and target system libraries. - You can build applications using any of these - libraries.</para> - - <para>For more information on the Eclipse plug-in, - see the - "<ulink url='&YOCTO_DOCS_SDK_URL;#adt-eclipse'>Working Within Eclipse</ulink>" - section in the Yocto Project Application Development - and the Extensible Software Development Kit (eSDK) - manual. - </para></listitem> - <listitem><para> <emphasis>Toaster:</emphasis> Toaster is a web interface to the Yocto Project OpenEmbedded build system. @@ -953,20 +924,6 @@ see the <ulink url='&YOCTO_DOCS_TOAST_URL;'>Toaster User Manual</ulink>. </para></listitem> - <listitem><para> - <emphasis><trademark class='trade'>Eclipse</trademark> IDE:</emphasis> - If your Build Host supports and runs the popular - Eclipse IDE, you can install the Yocto Project Eclipse - plug-in and use the Yocto Project to develop software. - The plug-in integrates the Yocto Project functionality - into Eclipse development practices.</para> - - <para>For information about how to install and use the - Yocto Project Eclipse plug-in, see the - "<ulink url='&YOCTO_DOCS_SDK_URL;#sdk-eclipse-project'>Developing Applications Using Eclipse</ulink>" - chapter in the Yocto Project Application Development and - the Extensible Software Development Kit (eSDK) Manual. - </para></listitem> </itemizedlist> </para> </section> diff --git a/poky/documentation/overview-manual/overview-manual.xml b/poky/documentation/overview-manual/overview-manual.xml index b23c39497..e74ba8d5c 100644 --- a/poky/documentation/overview-manual/overview-manual.xml +++ b/poky/documentation/overview-manual/overview-manual.xml @@ -37,9 +37,14 @@ <revremark>The initial document released with the Yocto Project 2.5 Release.</revremark> </revision> <revision> - <revnumber>2.6</revnumber> + <revnumber>2.7</revnumber> + <date>May 2019</date> + <revremark>Released with the Yocto Project 2.7 Release.</revremark> + </revision> + <revision> + <revnumber>2.8</revnumber> <date>&REL_MONTH_YEAR;</date> - <revremark>Released with the Yocto Project 2.6 Release.</revremark> + <revremark>Released with the Yocto Project 2.8 Release.</revremark> </revision> </revhistory> diff --git a/poky/documentation/poky.ent b/poky/documentation/poky.ent index 63260129c..b5f600969 100644 --- a/poky/documentation/poky.ent +++ b/poky/documentation/poky.ent @@ -1,12 +1,12 @@ -<!ENTITY DISTRO "2.7"> -<!ENTITY DISTRO_COMPRESSED "27"> -<!ENTITY DISTRO_NAME_NO_CAP "warrior"> -<!ENTITY DISTRO_NAME "Warrior"> -<!ENTITY DISTRO_NAME_NO_CAP_MINUS_ONE "thud"> -<!ENTITY DISTRO_NAME_MINUS_ONE "Thud"> -<!ENTITY YOCTO_DOC_VERSION "2.7"> -<!ENTITY YOCTO_DOC_VERSION_MINUS_ONE "2.6"> -<!ENTITY DISTRO_REL_TAG "yocto-2.7"> +<!ENTITY DISTRO "2.8"> +<!ENTITY DISTRO_COMPRESSED "28"> +<!ENTITY DISTRO_NAME_NO_CAP "zeus"> +<!ENTITY DISTRO_NAME "Zeus"> +<!ENTITY DISTRO_NAME_NO_CAP_MINUS_ONE "warrior"> +<!ENTITY DISTRO_NAME_MINUS_ONE "Warrior"> +<!ENTITY YOCTO_DOC_VERSION "2.8"> +<!ENTITY YOCTO_DOC_VERSION_MINUS_ONE "2.7"> +<!ENTITY DISTRO_REL_TAG "yocto-2.8"> <!ENTITY METAINTELVERSION "9.0"> <!ENTITY REL_MONTH_YEAR "TBD"> <!ENTITY META_INTEL_REL_TAG "&METAINTELVERSION;-&DISTRO_NAME_NO_CAP;-&YOCTO_DOC_VERSION;"> @@ -27,15 +27,6 @@ <!ENTITY OE_DOCS_URL "http://docs.openembedded.org"> <!ENTITY OH_HOME_URL "http://o-hand.com"> <!ENTITY BITBAKE_HOME_URL "http://developer.berlios.de/projects/bitbake/"> -<!ENTITY ECLIPSE_MAIN_URL "http://www.eclipse.org/downloads"> -<!ENTITY ECLIPSE_DL_URL "http://download.eclipse.org"> -<!ENTITY ECLIPSE_DL_PLUGIN_URL "&YOCTO_DL_URL;/releases/eclipse-plugin/&DISTRO;"> -<!ENTITY ECLIPSE_UPDATES_URL "&ECLIPSE_DL_URL;/tm/updates/3.3"> -<!ENTITY ECLIPSE_INDIGO_URL "&ECLIPSE_DL_URL;/releases/indigo"> -<!ENTITY ECLIPSE_JUNO_URL "&ECLIPSE_DL_URL;/releases/juno"> -<!ENTITY ECLIPSE_LUNA_URL "&ECLIPSE_DL_URL;/releases/luna"> -<!ENTITY ECLIPSE_KEPLER_URL "&ECLIPSE_DL_URL;/releases/kepler"> -<!ENTITY ECLIPSE_INDIGO_CDT_URL "&ECLIPSE_DL_URL;/tools/cdt/releases/indigo"> <!ENTITY YOCTO_DOCS_URL "&YOCTO_HOME_URL;/docs"> <!ENTITY YOCTO_SOURCES_URL "&YOCTO_HOME_URL;/sources/"> <!ENTITY YOCTO_AB_PORT_URL "https://autobuilder.yocto.io/"> @@ -43,7 +34,6 @@ <!ENTITY YOCTO_POKY_URL "&YOCTO_DL_URL;/releases/poky/"> <!ENTITY YOCTO_RELEASE_DL_URL "&YOCTO_DL_URL;/releases/yocto/yocto-&DISTRO;"> <!ENTITY YOCTO_TOOLCHAIN_DL_URL "&YOCTO_RELEASE_DL_URL;/toolchain/"> -<!ENTITY YOCTO_ECLIPSE_DL_URL "&YOCTO_RELEASE_DL_URL;/eclipse-plugin/"> <!ENTITY YOCTO_ADTINSTALLER_DL_URL "&YOCTO_RELEASE_DL_URL;/adt-installer"> <!ENTITY YOCTO_POKY_DL_URL "&YOCTO_RELEASE_DL_URL;/&YOCTO_POKY;.tar.bz2"> <!ENTITY YOCTO_MACHINES_DL_URL "&YOCTO_RELEASE_DL_URL;/machines"> diff --git a/poky/documentation/profile-manual/figures/lttngmain0.png b/poky/documentation/profile-manual/figures/lttngmain0.png Binary files differdeleted file mode 100644 index 5f60113cc..000000000 --- a/poky/documentation/profile-manual/figures/lttngmain0.png +++ /dev/null diff --git a/poky/documentation/profile-manual/profile-manual-eclipse-customization.xsl b/poky/documentation/profile-manual/profile-manual-eclipse-customization.xsl deleted file mode 100644 index a898281ff..000000000 --- a/poky/documentation/profile-manual/profile-manual-eclipse-customization.xsl +++ /dev/null @@ -1,35 +0,0 @@ -<?xml version='1.0'?> -<xsl:stylesheet - xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns="http://www.w3.org/1999/xhtml" - xmlns:fo="http://www.w3.org/1999/XSL/Format" - version="1.0"> - - <xsl:import href="http://downloads.yoctoproject.org/mirror/docbook-mirror/docbook-xsl-1.76.1/eclipse/eclipse3.xsl" /> - -<!-- - - <xsl:import href="../template/1.76.1/docbook-xsl-1.76.1/eclipse/eclipse3.xsl" /> - - <xsl:import - href="http://docbook.sourceforge.net/release/xsl/1.76.1/eclipse/eclipse3.xsl" /> - ---> - - <xsl:param name="chunker.output.indent" select="'yes'"/> - <xsl:param name="chunk.quietly" select="1"/> - <xsl:param name="chunk.first.sections" select="1"/> - <xsl:param name="chunk.section.depth" select="10"/> - <xsl:param name="use.id.as.filename" select="1"/> - <xsl:param name="ulink.target" select="'_self'" /> - <xsl:param name="base.dir" select="'html/profile-manual/'"/> - <xsl:param name="html.stylesheet" select="'../book.css'"/> - <xsl:param name="eclipse.manifest" select="0"/> - <xsl:param name="create.plugin.xml" select="0"/> - <xsl:param name="suppress.navigation" select="1"/> - <xsl:param name="generate.index" select="0"/> - <xsl:param name="chapter.autolabel" select="1" /> - <xsl:param name="appendix.autolabel">A</xsl:param> - <xsl:param name="section.autolabel" select="1" /> - <xsl:param name="section.label.includes.component.label" select="1" /> -</xsl:stylesheet> diff --git a/poky/documentation/profile-manual/profile-manual-usage.xml b/poky/documentation/profile-manual/profile-manual-usage.xml index a1b565157..5999b2960 100644 --- a/poky/documentation/profile-manual/profile-manual-usage.xml +++ b/poky/documentation/profile-manual/profile-manual-usage.xml @@ -2350,22 +2350,8 @@ <para> For this section, we'll assume you've already performed the basic setup outlined in the General Setup section. - </para> - - <para> LTTng is run on the target system by ssh'ing to it. - However, if you want to see the traces graphically, - install Eclipse as described in section - "<link linkend='manually-copying-a-trace-to-the-host-and-viewing-it-in-eclipse'>Manually copying a trace to the host and viewing it in Eclipse (i.e. using Eclipse without network support)</link>" - and follow the directions to manually copy traces to the host and - view them in Eclipse (i.e. using Eclipse without network support). </para> - - <note> - Be sure to download and install/run the 'SR1' or later Juno release - of eclipse e.g.: - <ulink url='http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/juno/SR1/eclipse-cpp-juno-SR1-linux-gtk-x86_64.tar.gz'>http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/juno/SR1/eclipse-cpp-juno-SR1-linux-gtk-x86_64.tar.gz</ulink> - </note> </section> <section id='collecting-and-viewing-traces'> @@ -2564,163 +2550,6 @@ </para> </section> - <section id='manually-copying-a-trace-to-the-host-and-viewing-it-in-eclipse'> - <title>Manually copying a trace to the host and viewing it in Eclipse (i.e. using Eclipse without network support)</title> - - <para> - If you already have an LTTng trace on a remote target and - would like to view it in Eclipse on the host, you can easily - copy it from the target to the host and import it into - Eclipse to view it using the LTTng Eclipse plug-in already - bundled in the Eclipse (Juno SR1 or greater). - </para> - - <para> - Using the trace we created in the previous section, archive - it and copy it to your host system: - <literallayout class='monospaced'> - root@crownbay:~/lttng-traces# tar zcvf auto-20121015-232120.tar.gz auto-20121015-232120 - auto-20121015-232120/ - auto-20121015-232120/kernel/ - auto-20121015-232120/kernel/metadata - auto-20121015-232120/kernel/channel0_1 - auto-20121015-232120/kernel/channel0_0 - - $ scp root@192.168.1.47:lttng-traces/auto-20121015-232120.tar.gz . - root@192.168.1.47's password: - auto-20121015-232120.tar.gz 100% 1566KB 1.5MB/s 00:01 - </literallayout> - Unarchive it on the host: - <literallayout class='monospaced'> - $ gunzip -c auto-20121015-232120.tar.gz | tar xvf - - auto-20121015-232120/ - auto-20121015-232120/kernel/ - auto-20121015-232120/kernel/metadata - auto-20121015-232120/kernel/channel0_1 - auto-20121015-232120/kernel/channel0_0 - </literallayout> - We can now import the trace into Eclipse and view it: - <orderedlist> - <listitem><para>First, start eclipse and open the - 'LTTng Kernel' perspective by selecting the following - menu item: - <literallayout class='monospaced'> - Window | Open Perspective | Other... - </literallayout></para></listitem> - <listitem><para>In the dialog box that opens, select - 'LTTng Kernel' from the list.</para></listitem> - <listitem><para>Back at the main menu, select the - following menu item: - <literallayout class='monospaced'> - File | New | Project... - </literallayout></para></listitem> - <listitem><para>In the dialog box that opens, select - the 'Tracing | Tracing Project' wizard and press - 'Next>'.</para></listitem> - <listitem><para>Give the project a name and press - 'Finish'.</para></listitem> - <listitem><para>In the 'Project Explorer' pane under - the project you created, right click on the - 'Traces' item.</para></listitem> - <listitem><para>Select 'Import..." and in the dialog - that's displayed:</para></listitem> - <listitem><para>Browse the filesystem and find the - select the 'kernel' directory containing the trace - you copied from the target - e.g. auto-20121015-232120/kernel</para></listitem> - <listitem><para>'Checkmark' the directory in the tree - that's displayed for the trace</para></listitem> - <listitem><para>Below that, select 'Common Trace Format: - Kernel Trace' for the 'Trace Type'</para></listitem> - <listitem><para>Press 'Finish' to close the dialog - </para></listitem> - <listitem><para>Back in the 'Project Explorer' pane, - double-click on the 'kernel' item for the - trace you just imported under 'Traces' - </para></listitem> - </orderedlist> - You should now see your trace data displayed graphically - in several different views in Eclipse: - </para> - - <para> - <imagedata fileref="figures/lttngmain0.png" width="6in" depth="6in" align="center" scalefit="1" /> - </para> - - <para> - You can access extensive help information on how to use - the LTTng plug-in to search and analyze captured traces via - the Eclipse help system: - <literallayout class='monospaced'> - Help | Help Contents | LTTng Plug-in User Guide - </literallayout> - </para> - </section> - - <section id='collecting-and-viewing-a-trace-in-eclipse'> - <title>Collecting and viewing a trace in Eclipse</title> - - <note> - This section on collecting traces remotely doesn't currently - work because of Eclipse 'RSE' connectivity problems. Manually - tracing on the target, copying the trace files to the host, - and viewing the trace in Eclipse on the host as outlined in - previous steps does work however - please use the manual - steps outlined above to view traces in Eclipse. - </note> - - <para> - In order to trace a remote target, you also need to add - a 'tracing' group on the target and connect as a user - who's part of that group e.g: - <literallayout class='monospaced'> - # adduser tomz - # groupadd -r tracing - # usermod -a -G tracing tomz - </literallayout> - <orderedlist> - <listitem><para>First, start eclipse and open the - 'LTTng Kernel' perspective by selecting the following - menu item: - <literallayout class='monospaced'> - Window | Open Perspective | Other... - </literallayout></para></listitem> - <listitem><para>In the dialog box that opens, select - 'LTTng Kernel' from the list.</para></listitem> - <listitem><para>Back at the main menu, select the - following menu item: - <literallayout class='monospaced'> - File | New | Project... - </literallayout></para></listitem> - <listitem><para>In the dialog box that opens, select - the 'Tracing | Tracing Project' wizard and - press 'Next>'.</para></listitem> - <listitem><para>Give the project a name and press - 'Finish'. That should result in an entry in the - 'Project' subwindow.</para></listitem> - <listitem><para>In the 'Control' subwindow just below - it, press 'New Connection'.</para></listitem> - <listitem><para>Add a new connection, giving it the - hostname or IP address of the target system. - </para></listitem> - <listitem><para>Provide the username and password - of a qualified user (a member of the 'tracing' group) - or root account on the target system. - </para></listitem> - <listitem><para>Provide appropriate answers to whatever - else is asked for e.g. 'secure storage password' - can be anything you want. - If you get an 'RSE Error' it may be due to proxies. - It may be possible to get around the problem by - changing the following setting: - <literallayout class='monospaced'> - Window | Preferences | Network Connections - </literallayout> - Switch 'Active Provider' to 'Direct' - </para></listitem> - </orderedlist> - </para> - </section> </section> <section id='lltng-documentation'> @@ -2742,15 +2571,6 @@ You can find a "Getting Started" link on this site that takes you to an LTTng Quick Start. </para> - - <para> - Finally, you can access extensive help information on how to use - the LTTng plug-in to search and analyze captured traces via the - Eclipse help system: - <literallayout class='monospaced'> - Help | Help Contents | LTTng Plug-in User Guide - </literallayout> - </para> </section> </section> diff --git a/poky/documentation/profile-manual/profile-manual.xml b/poky/documentation/profile-manual/profile-manual.xml index af2c7baf7..c6e8baf02 100644 --- a/poky/documentation/profile-manual/profile-manual.xml +++ b/poky/documentation/profile-manual/profile-manual.xml @@ -98,9 +98,14 @@ </revision> <revision> <revnumber>2.7</revnumber> - <date>&REL_MONTH_YEAR;</date> + <date>May 2019</date> <revremark>Released with the Yocto Project 2.7 Release.</revremark> </revision> + <revision> + <revnumber>2.8</revnumber> + <date>&REL_MONTH_YEAR;</date> + <revremark>Released with the Yocto Project 2.8 Release.</revremark> + </revision> </revhistory> <copyright> diff --git a/poky/documentation/ref-manual/migration.xml b/poky/documentation/ref-manual/migration.xml index c648d8d44..1ecf5b999 100644 --- a/poky/documentation/ref-manual/migration.xml +++ b/poky/documentation/ref-manual/migration.xml @@ -4506,8 +4506,8 @@ id=f4d4f99cfbc2396e49c1613a7d237b9e57f06f81'>commit message</ulink>. </para></listitem> <listitem><para> <emphasis>fsimage Plug-in Removed:</emphasis> - The Wic fsimage plug-in has been removed as it duplicates - functionality of the rawcopy plug-in. + The Wic fsimage plugin has been removed as it duplicates + functionality of the rawcopy plugin. </para></listitem> </itemizedlist> </para> @@ -6325,6 +6325,280 @@ id=f4d4f99cfbc2396e49c1613a7d237b9e57f06f81'>commit message</ulink>. </para> </section> </section> + +<section id='moving-to-the-yocto-project-2.7-release'> + <title>Moving to the Yocto Project 2.7 Release</title> + + <para> + This section provides migration information for moving to the + Yocto Project 2.7 Release from the prior release. + </para> + + <section id='migration-2.7-bitbake-changes'> + <title>BitBake Changes</title> + + <para> + The following changes have been made to BitBake: + <itemizedlist> + <listitem><para> + BitBake now checks anonymous Python functions and pure + Python functions (e.g. <filename>def funcname:</filename>) + in the metadata for tab indentation. + If found, BitBake produces a warning. + </para></listitem> + <listitem><para> + Bitbake now checks + <link linkend='var-BBFILE_COLLECTIONS'><filename>BBFILE_COLLECTIONS</filename></link> + for duplicate entries and triggers an error if any are + found. + </para></listitem> + </itemizedlist> + </para> + </section> + + <section id='migration-2.7-eclipse-support-dropped'> + <title><trademark class='trade'>Eclipse</trademark> Support Removed</title> + + <para> + Support for the Eclipse IDE has been removed. + Support continues for those releases prior to 2.7 that did include + support. + The 2.7 release does not include the Eclipse Yocto plugin. + </para> + </section> + + <section id='migration-2.7-qemu-native-splits-system-and-user-mode-parts'> + <title><filename>qemu-native</filename> Splits the System and User-Mode Parts</title> + + <para> + The system and user-mode parts of <filename>qemu-native</filename> + are now split. + <filename>qemu-native</filename> provides the user-mode components + and <filename>qemu-system-native</filename> provides the system + components. + If you have recipes that depend on QEMU's system emulation + functionality at build time, they should now depend upon + <filename>qemu-system-native</filename> instead of + <filename>qemu-native</filename>. + </para> + </section> + + <section id='migration-2.7-upstream-tracking.inc-removed'> + <title>The <filename>upstream-tracking.inc</filename> File Has Been Removed</title> + + <para> + The previously deprecated <filename>upstream-tracking.inc</filename> + file is now removed. + Any <filename>UPSTREAM_TRACKING*</filename> variables are now set + in the corresponding recipes instead. + </para> + + <para> + Remove any references you have to the + <filename>upstream-tracking.inc</filename> file in your + configuration. + </para> + </section> + + <section id='migration-2.7-distro-features-libc-removed'> + <title>The <filename>DISTRO_FEATURES_LIBC</filename> Variable Has Been Removed</title> + + <para> + The <filename>DISTRO_FEATURES_LIBC</filename> variable is no + longer used. + The ability to configure glibc using kconfig has been removed + for quite some time making the <filename>libc-*</filename> features + set no longer effective. + </para> + + <para> + Remove any references you have to + <filename>DISTRO_FEATURES_LIBC</filename> in your own layers. + </para> + </section> + + <section id='migration-2.7-license-values'> + <title>License Value Corrections</title> + + <para> + The following corrections have been made to the + <link linkend='var-LICENSE'><filename>LICENSE</filename></link> + values set by recipes: + <literallayout class='monospaced'> + <emphasis>socat</emphasis>: Corrected <filename>LICENSE</filename> to be "GPLv2" rather than + "GPLv2+". + + <emphasis>libgfortran</emphasis>: Set license to "GPL-3.0-with-GCC-exception". + + <emphasis>elfutils</emphasis>: Removed "Elfutils-Exception" and set to "GPLv2" for shared + libraries + </literallayout> + </para> + </section> + + <section id='migration-2.7-packaging-changes'> + <title>Packaging Changes</title> + + <para> + This section provides information about packaging changes. + <itemizedlist> + <listitem><para> + <filename>bind</filename>: The + <filename>nsupdate</filename> binary has been moved to + the <filename>bind-utils</filename> package. + </para></listitem> + <listitem><para> + Debug split: The default debug split has been changed to + create separate source packages (i.e. + <replaceable>package_name</replaceable><filename>-dbg</filename> + and + <replaceable>package_name</replaceable><filename>-src</filename>). + If you are currently using <filename>dbg-pkgs</filename> + in + <link linkend='var-IMAGE_FEATURES'><filename>IMAGE_FEATURES</filename></link> + to bring in debug symbols and you still need the sources, + you must now also add <filename>src-pkgs</filename> to + <filename>IMAGE_FEATURES</filename>. + Source packages remain in the target portion of the SDK + by default, unless you have set your own value for + <link linkend='var-SDKIMAGE_FEATURES'><filename>SDKIMAGE_FEATURES</filename></link> + that does not include <filename>src-pkgs</filename>. + </para></listitem> + <listitem><para> + Mount all using <filename>util-linux</filename>: + <filename>/etc/default/mountall</filename> has + moved into the -mount sub-package. + </para></listitem> + <listitem><para> + Splitting binaries using <filename>util-linux</filename>: + <filename>util-linux</filename> now splits each binary into + its own package for fine-grained control. + The main <filename>util-linux</filename> package pulls in + the individual binary packages using the + <link linkend='var-RRECOMMENDS'><filename>RRECOMMENDS</filename></link> + and + <link linkend='var-RDEPENDS'><filename>RDEPENDS</filename></link> + variables. + As a result, existing images should not see any changes + assuming + <link linkend='var-NO_RECOMMENDATIONS'><filename>NO_RECOMMENDATIONS</filename></link> + is not set. + </para></listitem> + <listitem><para> + <filename>netbase/base-files</filename>: + <filename>/etc/hosts</filename> has moved from + <filename>netbase</filename> to + <filename>base-files</filename>. + </para></listitem> + <listitem><para> + <filename>tzdata</filename>: The main package has been + converted to an empty meta package that pulls in all + <filename>tzdata</filename> packages by default. + </para></listitem> + <listitem><para> + <filename>lrzsz</filename>: This package has been removed + from <filename>packagegroup-self-hosted</filename> and + <filename>packagegroup-core-tools-testapps</filename>. + The X/Y/ZModem support is less likely to be needed on + modern systems. + If you are relying on these packagegroups to include the + <filename>lrzsz</filename> package in your image, you + now need to explicitly add the package. + </para></listitem> + </itemizedlist> + </para> + </section> + + <section id='migration-2.7-removed-recipes'> + <title>Removed Recipes</title> + + <para> + The following recipes have been removed: + <literallayout class='monospaced'> + <emphasis>gcc</emphasis>: Drop version 7.3 recipes. Version 8.3 now remains. + + <emphasis>linux-yocto</emphasis>: Drop versions 4.14 and 4.18 recipes. Versions 4.19 and 5.0 remain. + + <emphasis>go</emphasis>: Drop version 1.9 recipes. Versions 1.11 and 1.12 remain. + + <emphasis>xvideo-tests</emphasis>: Became obsolete. + + <emphasis>libart-lgpl</emphasis>: Became obsolete. + + <emphasis>gtk-icon-utils-native</emphasis>: These tools are now provided by gtk+3-native + + <emphasis>gcc-cross-initial</emphasis>: No longer needed. gcc-cross/gcc-crosssdk is now used instead. + + <emphasis>gcc-crosssdk-initial</emphasis>: No longer needed. gcc-cross/gcc-crosssdk is now used instead. + + <emphasis>glibc-initial</emphasis>: Removed because the benefits of having it for site_config are + currently outweighed by the cost of building the recipe. + </literallayout> + </para> + </section> + + <section id='migration-2.7-removed-classes'> + <title>Removed Classes</title> + + <para> + The following classes have been removed: + <literallayout class='monospaced'> + <emphasis>distutils-tools</emphasis>: This class was never used. + + <emphasis>bugzilla.bbclass</emphasis>: Became obsolete. + + <emphasis>distrodata</emphasis>: This functionally has been replaced by a more modern + tinfoil-based implementation. + </literallayout> + </para> + </section> + + <section id='migration-2.7-miscellaneous-changes'> + <title>Miscellaneous Changes</title> + + <para> + The following miscellaneous changes occurred: + <itemizedlist> + <listitem><para> + The <filename>distro</filename> subdirectory of the Poky + repository has been removed from the top-level + <filename>scripts</filename> directory. + </para></listitem> + <listitem><para> + Perl now builds for the target using + <ulink url='http://arsv.github.io/perl-cross/'><filename>perl-cross</filename></ulink> + for better maintainability and improved build performance. + This change should not present any problems unless you have + heavily customized your Perl recipe. + </para></listitem> + <listitem><para> + <filename>arm-tunes</filename>: Removed the "-march" + option if mcpu is already added. + </para></listitem> + <listitem><para> + <filename>update-alternatives</filename>: Convert file + renames to + <link linkend='var-PACKAGE_PREPROCESS_FUNCS'><filename>PACKAGE_PREPROCESS_FUNCS</filename></link> + </para></listitem> + <listitem><para> + <filename>base/pixbufcache</filename>: Obsolete + <filename>sstatecompletions</filename> code has been + removed. + </para></listitem> + <listitem><para> + <link linkend='ref-classes-native'><filename>native</filename></link> + class: + <link linkend='var-RDEPENDS'><filename>RDEPENDS</filename></link> + handling has been enabled. + </para></listitem> + <listitem><para> + <filename>inetutils</filename>: This recipe has rsh + disabled. + </para></listitem> + </itemizedlist> + </para> + </section> +</section> </chapter> <!-- vim: expandtab tw=80 ts=4 diff --git a/poky/documentation/ref-manual/ref-features.xml b/poky/documentation/ref-manual/ref-features.xml index cb74df6da..7a3555d0b 100644 --- a/poky/documentation/ref-manual/ref-features.xml +++ b/poky/documentation/ref-manual/ref-features.xml @@ -342,9 +342,6 @@ class. The current list of these valid features is as follows: <itemizedlist> - <listitem><para><emphasis>eclipse-debug:</emphasis> Provides - Eclipse remote debugging support. - </para></listitem> <listitem><para><emphasis>hwcodecs:</emphasis> Installs hardware acceleration codecs. </para></listitem> diff --git a/poky/documentation/ref-manual/ref-kickstart.xml b/poky/documentation/ref-manual/ref-kickstart.xml index a58f9d7c9..1128bd50d 100644 --- a/poky/documentation/ref-manual/ref-kickstart.xml +++ b/poky/documentation/ref-manual/ref-kickstart.xml @@ -117,9 +117,9 @@ This option is a Wic-specific option that names the source of the data that populates the partition. The most common value for this option is "rootfs", but you - can use any value that maps to a valid source plug-in. - For information on the source plug-ins, see the - "<ulink url='&YOCTO_DOCS_DEV_URL;#wic-using-the-wic-plug-ins-interface'>Using the Wic Plug-Ins Interface</ulink>" + can use any value that maps to a valid source plugin. + For information on the source plugins, see the + "<ulink url='&YOCTO_DOCS_DEV_URL;#wic-using-the-wic-plugin-interface'>Using the Wic Plugins Interface</ulink>" section in the Yocto Project Development Tasks Manual. </para> @@ -139,12 +139,12 @@ <filename>--source <replaceable>plugin-name</replaceable></filename>, Wic creates a partition as large as needed and fills it with the contents of the partition that is generated by the - specified plug-in name using the data pointed to by the + specified plugin name using the data pointed to by the <filename>-r</filename> command-line option or the equivalent rootfs derived from the <filename>-e</filename> command-line option. Exactly what those contents are and filesystem type used are - dependent on the given plug-in implementation. + dependent on the given plugin implementation. </para> <para>If you do not use the <filename>--source</filename> @@ -220,7 +220,7 @@ This option is a Wic-specific option that excludes the given relative path from the resulting image. This option is only effective with the rootfs source - plug-in. + plugin. </para></listitem> <listitem><para> <emphasis><filename>--extra-space</filename>:</emphasis> @@ -299,7 +299,7 @@ supports the following options: <note> Bootloader functionality and boot partitions are implemented by - the various <filename>--source</filename> plug-ins that + the various <filename>--source</filename> plugins that implement bootloader functionality. The bootloader command essentially provides a means of modifying bootloader configuration. diff --git a/poky/documentation/ref-manual/ref-manual-eclipse-customization.xsl b/poky/documentation/ref-manual/ref-manual-eclipse-customization.xsl deleted file mode 100644 index f3b752155..000000000 --- a/poky/documentation/ref-manual/ref-manual-eclipse-customization.xsl +++ /dev/null @@ -1,35 +0,0 @@ -<?xml version='1.0'?> -<xsl:stylesheet - xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns="http://www.w3.org/1999/xhtml" - xmlns:fo="http://www.w3.org/1999/XSL/Format" - version="1.0"> - - <xsl:import href="http://downloads.yoctoproject.org/mirror/docbook-mirror/docbook-xsl-1.76.1/eclipse/eclipse3.xsl" /> - -<!-- - - <xsl:import href="../template/1.76.1/docbook-xsl-1.76.1/eclipse/eclipse3.xsl" /> - - <xsl:import - href="http://docbook.sourceforge.net/release/xsl/1.76.1/eclipse/eclipse3.xsl" /> - ---> - - <xsl:param name="chunker.output.indent" select="'yes'"/> - <xsl:param name="chunk.quietly" select="1"/> - <xsl:param name="chunk.first.sections" select="1"/> - <xsl:param name="chunk.section.depth" select="10"/> - <xsl:param name="use.id.as.filename" select="1"/> - <xsl:param name="ulink.target" select="'_self'" /> - <xsl:param name="base.dir" select="'html/ref-manual/'"/> - <xsl:param name="html.stylesheet" select="'../book.css'"/> - <xsl:param name="eclipse.manifest" select="0"/> - <xsl:param name="create.plugin.xml" select="0"/> - <xsl:param name="suppress.navigation" select="1"/> - <xsl:param name="generate.index" select="0"/> - <xsl:param name="chapter.autolabel" select="1" /> - <xsl:param name="appendix.autolabel">A</xsl:param> - <xsl:param name="section.autolabel" select="1" /> - <xsl:param name="section.label.includes.component.label" select="1" /> -</xsl:stylesheet> diff --git a/poky/documentation/ref-manual/ref-manual.xml b/poky/documentation/ref-manual/ref-manual.xml index 26295f02f..fc4319773 100644 --- a/poky/documentation/ref-manual/ref-manual.xml +++ b/poky/documentation/ref-manual/ref-manual.xml @@ -129,9 +129,14 @@ </revision> <revision> <revnumber>2.7</revnumber> - <date>&REL_MONTH_YEAR;</date> + <date>May 2019</date> <revremark>Released with the Yocto Project 2.7 Release.</revremark> </revision> + <revision> + <revnumber>2.8</revnumber> + <date>&REL_MONTH_YEAR;</date> + <revremark>Released with the Yocto Project 2.8 Release.</revremark> + </revision> </revhistory> <copyright> diff --git a/poky/documentation/ref-manual/ref-system-requirements.xml b/poky/documentation/ref-manual/ref-system-requirements.xml index 5f2b9f6ce..239dd84bb 100644 --- a/poky/documentation/ref-manual/ref-system-requirements.xml +++ b/poky/documentation/ref-manual/ref-system-requirements.xml @@ -91,6 +91,7 @@ <listitem><para>Ubuntu 16.04 (LTS)</para></listitem> <listitem><para>Ubuntu 18.04</para></listitem> <listitem><para>Fedora 28</para></listitem> + <listitem><para>Fedora 29</para></listitem> <listitem><para>CentOS 7.x</para></listitem> <listitem><para>Debian GNU/Linux 8.x (Jessie)</para></listitem> <listitem><para>Debian GNU/Linux 9.x (Stretch)</para></listitem> diff --git a/poky/documentation/ref-manual/ref-terms.xml b/poky/documentation/ref-manual/ref-terms.xml index c573a521a..f98546826 100644 --- a/poky/documentation/ref-manual/ref-terms.xml +++ b/poky/documentation/ref-manual/ref-terms.xml @@ -183,16 +183,11 @@ <listitem><para id='term-container-layer'> <emphasis>Container Layer:</emphasis> Layers that hold other layers. - An example of a container layer is the - <filename>meta-intel</filename> layer. - This layer contains BSP layers for the Intel-core2-32 - <trademark class='registered'>Intel</trademark> Common Core - (Intel-core2-32) and the Intel-corei7-64 - <trademark class='registered'>Intel</trademark> Common Core - (Intel-corei7-64). - the <filename>meta-intel</filename> layer also contains - the <filename>common/</filename> directory, which contains - common content across those layers. + An example of a container layer is OpenEmbedded's + <ulink url='https://github.com/openembedded/meta-openembedded'><filename>meta-openembedded</filename></ulink> + layer. + The <filename>meta-openembedded</filename> layer contains + many <filename>meta-*</filename> layers. </para></listitem> <listitem><para id='cross-development-toolchain'> <emphasis>Cross-Development Toolchain:</emphasis> diff --git a/poky/documentation/ref-manual/ref-variables.xml b/poky/documentation/ref-manual/ref-variables.xml index 6470c739c..0d01c16dd 100644 --- a/poky/documentation/ref-manual/ref-variables.xml +++ b/poky/documentation/ref-manual/ref-variables.xml @@ -931,20 +931,21 @@ <glossentry id='var-BB_GENERATE_MIRROR_TARBALLS'><glossterm>BB_GENERATE_MIRROR_TARBALLS</glossterm> <info> - BB_GENERATE_MIRROR_TARBALLS[doc] = "Causes tarballs of the Git repositories to be placed in the DL_DIR directory." + BB_GENERATE_MIRROR_TARBALLS[doc] = "Causes tarballs of the source control repositories to be placed in the DL_DIR directory." </info> <glossdef> <para role="glossdeffirst"> <!-- <para role="glossdeffirst"><imagedata fileref="figures/define-generic.png" /> --> - Causes tarballs of the Git repositories, including the - Git metadata, to be placed in the + Causes tarballs of the source control repositories + (e.g. Git repositories), including metadata, to be placed + in the <link linkend='var-DL_DIR'><filename>DL_DIR</filename></link> directory. </para> <para> For performance reasons, creating and placing tarballs of - the Git repositories is not the default action by the + these repositories is not the default action by the OpenEmbedded build system. <literallayout class='monospaced'> BB_GENERATE_MIRROR_TARBALLS = "1" @@ -953,6 +954,13 @@ file in the <link linkend='build-directory'>Build Directory</link>. </para> + + <para> + Once you have the tarballs containing your source files, + you can clean up your <filename>DL_DIR</filename> + directory by deleting any Git or other source control + work directories. + </para> </glossdef> </glossentry> @@ -11301,7 +11309,7 @@ Here are two examples: <literallayout class='monospaced'> PREFERRED_VERSION_python = "3.4.0" - PREFERRED_VERSION_linux-yocto = "4.12%" + PREFERRED_VERSION_linux-yocto = "5.0%" </literallayout> <note><title>Important</title> The use of the "<filename>%</filename>" character @@ -11347,14 +11355,14 @@ to set a machine-specific override. Here is an example: <literallayout class='monospaced'> - PREFERRED_VERSION_linux-yocto_qemux86 = "4.12%" + PREFERRED_VERSION_linux-yocto_qemux86 = "5.0%" </literallayout> Although not recommended, worst case, you can also use the "forcevariable" override, which is the strongest override possible. Here is an example: <literallayout class='monospaced'> - PREFERRED_VERSION_linux-yocto_forcevariable = "4.12%" + PREFERRED_VERSION_linux-yocto_forcevariable = "5.0%" </literallayout> <note> The <filename>_forcevariable</filename> override is @@ -12601,7 +12609,7 @@ is set to "minimal" to keep the SDK reasonably small but you still want to provide a usable toolchain. For example, suppose you want to use the toolchain from an - IDE (e.g. Eclipse) or from other tools and you do not + IDE or from other tools and you do not want to perform additional steps to install the toolchain. </para> @@ -13714,6 +13722,9 @@ a secure shell.</para></listitem> <listitem><para><emphasis><filename>svn://</filename> -</emphasis> Fetches files from a Subversion (<filename>svn</filename>) revision control repository.</para></listitem> + <listitem><para><emphasis><filename>npm://</filename> -</emphasis> Fetches JavaScript + modules from a registry. + </para></listitem> </itemizedlist> </para> diff --git a/poky/documentation/ref-manual/resources.xml b/poky/documentation/ref-manual/resources.xml index 6a0cee8a5..afe8e288d 100644 --- a/poky/documentation/ref-manual/resources.xml +++ b/poky/documentation/ref-manual/resources.xml @@ -247,14 +247,6 @@ </para></listitem> <listitem><para> <emphasis> - <ulink url='&YOCTO_DOCS_SDK_URL;#adt-eclipse'>Eclipse IDE Yocto Plug-in</ulink>: - </emphasis> - Instructions that demonstrate how an application developer - uses the Eclipse Yocto Project Plug-in feature within - the Eclipse IDE. - </para></listitem> - <listitem><para> - <emphasis> <ulink url='&YOCTO_WIKI_URL;/wiki/FAQ'>FAQ</ulink>: </emphasis> A list of commonly asked questions and their answers. diff --git a/poky/documentation/sdk-manual/figures/sdk-eclipse-dev-flow.png b/poky/documentation/sdk-manual/figures/sdk-eclipse-dev-flow.png Binary files differdeleted file mode 100644 index 9f986e0d4..000000000 --- a/poky/documentation/sdk-manual/figures/sdk-eclipse-dev-flow.png +++ /dev/null diff --git a/poky/documentation/sdk-manual/sdk-appendix-customizing.xml b/poky/documentation/sdk-manual/sdk-appendix-customizing.xml index 7454c90be..911658f91 100644 --- a/poky/documentation/sdk-manual/sdk-appendix-customizing.xml +++ b/poky/documentation/sdk-manual/sdk-appendix-customizing.xml @@ -503,7 +503,7 @@ have set <filename>SDK_EXT_TYPE</filename> to "minimal", which by default, excludes the toolchain. Also, it is helpful if you are building a small SDK for use with - an IDE, such as <trademark class='trade'>Eclipse</trademark>, or some + an IDE or some other tool where you do not want to take extra steps to install a toolchain. </para> diff --git a/poky/documentation/sdk-manual/sdk-appendix-neon.xml b/poky/documentation/sdk-manual/sdk-appendix-neon.xml deleted file mode 100644 index 0fb92985a..000000000 --- a/poky/documentation/sdk-manual/sdk-appendix-neon.xml +++ /dev/null @@ -1,956 +0,0 @@ -<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" -"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" -[<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] > - -<appendix id='sdk-appendix-neon-yp-eclipse-plug-in'> - <title>Using <trademark class='trade'>Eclipse</trademark> Neon</title> - - <para> - This release of the Yocto Project supports both the Oxygen and Neon - versions of the Eclipse IDE. - This appendix presents information that describes how to obtain and - configure the Neon version of Eclipse. - It also provides a basic project example that you can work through - from start to finish. - For general information on using the Eclipse IDE and the Yocto - Project Eclipse Plug-In, see the - "<link linkend='application-development-workflow-using-eclipse'>Application Development Workflow Using <trademark class='trade'>Eclipse</trademark></link>" - section. - </para> - - <section id='neon-setting-up-the-eclipse-ide'> - <title>Setting Up the Neon Version of the Eclipse IDE</title> - - <para> - To develop within the Eclipse IDE, you need to do the following: - <orderedlist> - <listitem><para>Install the Neon version of the Eclipse - IDE.</para></listitem> - <listitem><para>Configure the Eclipse IDE. - </para></listitem> - <listitem><para>Install the Eclipse Yocto Plug-in. - </para></listitem> - <listitem><para>Configure the Eclipse Yocto Plug-in. - </para></listitem> - </orderedlist> - <note> - Do not install Eclipse from your distribution's package - repository. - Be sure to install Eclipse from the official Eclipse - download site as directed in the next section. - </note> - </para> - - <section id='neon-installing-eclipse-ide'> - <title>Installing the Neon Eclipse IDE</title> - - <para> - Follow these steps to locate, install, and configure - Neon Eclipse: - <orderedlist> - <listitem><para><emphasis>Locate the Neon Download:</emphasis> - Open a browser and go to - <ulink url='http://www.eclipse.org/neon/'>http://www.eclipse.org/neon/</ulink>. - </para></listitem> - <listitem><para><emphasis>Download the Tarball:</emphasis> - Click the "Download" button and look for the - "Eclipse IDE for C/C++ Developers" Neon 3 Package. - Select the correct platform download link listed at - the right. - For example, click on "64-bit" next to Linux if your - build host is running a 64-bit Linux distribution. - Click through the process to save the file. - </para></listitem> - <listitem><para><emphasis>Unpack the Tarball:</emphasis> - Move to a directory and unpack the tarball. - The following commands unpack the tarball into the - home directory: - <literallayout class='monospaced'> - $ cd ~ - $ tar -xzvf ~/Downloads/eclipse-cpp-neon-3-linux-gtk-x86_64.tar.gz - </literallayout> - Everything unpacks into a folder named "Eclipse". - </para></listitem> - <listitem><para><emphasis>Launch Eclipse:</emphasis> - The following commands launch Eclipse assuming you - unpacked it in your home directory: - <literallayout class='monospaced'> - $ cd ~/eclipse - $ ./eclipse - </literallayout> - Accept the default "workspace" once Eclipse launches. - </para></listitem> - </orderedlist> - </para> - </section> - - <section id='neon-configuring-the-neon-eclipse-ide'> - <title>Configuring the Neon Eclipse IDE</title> - - <para> - Follow these steps to configure the Neon Eclipse IDE. - <note><title>Notes</title> - <itemizedlist> - <listitem><para> - Depending on how you installed Eclipse and what - you have already done, some of the options do - not appear. - If you cannot find an option as directed by the - manual, it has already been installed. - </para></listitem> - <listitem><para> - If you want to see all options regardless of - whether they are installed or not, deselect the - "Hide items that are already installed" - check box. - </para></listitem> - </itemizedlist> - </note> - <orderedlist> - <listitem><para>Be sure Eclipse is running and - you are in your workbench. - </para></listitem> - <listitem><para>Select "Install New Software" from - the "Help" pull-down menu. - </para></listitem> - <listitem><para>Select - "Neon - http://download.eclipse.org/releases/neon" - from the "Work with:" pull-down menu. - </para></listitem> - <listitem><para>Expand the box next to - "Linux Tools" and select the following - <literallayout class='monospaced'> - C/C++ Remote (Over TCF/TE) Run/Debug Launcher - TM Terminal - </literallayout> - </para></listitem> - <listitem><para>Expand the box next to "Mobile and - Device Development" and select the following - boxes: - <literallayout class='monospaced'> - C/C++ Remote (Over TCF/TE) Run/Debug Launcher - Remote System Explorer User Actions - TM Terminal - TCF Remote System Explorer add-in - TCF Target Explorer - </literallayout> - </para></listitem> - <listitem><para>Expand the box next to - "Programming Languages" and select the - following box: - <literallayout class='monospaced'> - C/C++ Development Tools SDK - </literallayout> - </para></listitem> - <listitem><para> - Complete the installation by clicking through - appropriate "Next" and "Finish" buttons. - </para></listitem> - </orderedlist> - </para> - </section> - - <section id='neon-installing-the-eclipse-yocto-plug-in'> - <title>Installing or Accessing the Neon Eclipse Yocto Plug-in</title> - - <para> - You can install the Eclipse Yocto Plug-in into the Eclipse - IDE one of two ways: use the Yocto Project's Eclipse - Update site to install the pre-built plug-in or build and - install the plug-in from the latest source code. - </para> - - <section id='neon-new-software'> - <title>Installing the Pre-built Plug-in from the Yocto Project Eclipse Update Site</title> - - <para> - To install the Neon Eclipse Yocto Plug-in from the update - site, follow these steps: - <orderedlist> - <listitem><para>Start up the Eclipse IDE. - </para></listitem> - <listitem><para>In Eclipse, select "Install New - Software" from the "Help" menu. - </para></listitem> - <listitem><para>Click "Add..." in the "Work with:" - area. - </para></listitem> - <listitem><para>Enter - <filename>&ECLIPSE_DL_PLUGIN_URL;/neon</filename> - in the URL field and provide a meaningful name - in the "Name" field. - </para></listitem> - <listitem><para> - Click "OK" to have the entry automatically - populate the "Work with:" field and to have - the items for installation appear in the window - below. - </para></listitem> - <listitem><para>Check the boxes next to the following: - <literallayout class='monospaced'> - Yocto Project SDK Plug-in - Yocto Project Documentation plug-in - </literallayout> - </para></listitem> - <listitem><para>Complete the remaining software - installation steps and then restart the Eclipse - IDE to finish the installation of the plug-in. - <note> - You can click "OK" when prompted about - installing software that contains unsigned - content. - </note> - </para></listitem> - </orderedlist> - </para> - </section> - - <section id='neon-zip-file-method'> - <title>Installing the Plug-in Using the Latest Source Code</title> - - <para> - To install the Neon Eclipse Yocto Plug-in from the latest - source code, follow these steps: - <orderedlist> - <listitem><para> - Be sure your build host has JDK version 1.8 - or greater. - On a Linux build host you can determine the - version using the following command: - <literallayout class='monospaced'> - $ java -version - </literallayout> - </para></listitem> - <listitem><para>install X11-related packages: - <literallayout class='monospaced'> - $ sudo apt-get install xauth - </literallayout> - </para></listitem> - <listitem><para>In a new terminal shell, create a Git - repository with: - <literallayout class='monospaced'> - $ cd ~ - $ git clone git://git.yoctoproject.org/eclipse-yocto - </literallayout> - </para></listitem> - <listitem><para> - Use Git to create the correct tag: - <literallayout class='monospaced'> - $ cd ~/eclipse-yocto - $ git checkout -b neon/&DISTRO_NAME_NO_CAP; remotes/origin/neon/&DISTRO_NAME_NO_CAP; - </literallayout> - This creates a local tag named - <filename>neon/&DISTRO_NAME_NO_CAP;</filename> - based on the branch - <filename>origin/neon/&DISTRO_NAME_NO_CAP;</filename>. - You are put into a detached HEAD state, - which is fine since you are only going to - be building and not developing. - </para></listitem> - <listitem><para>Change to the - <filename>scripts</filename> - directory within the Git repository: - <literallayout class='monospaced'> - $ cd scripts - </literallayout> - </para></listitem> - <listitem><para>Set up the local build environment - by running the setup script: - <literallayout class='monospaced'> - $ ./setup.sh - </literallayout> - When the script finishes execution, - it prompts you with instructions on how to run - the <filename>build.sh</filename> script, which - is also in the <filename>scripts</filename> - directory of the Git repository created - earlier. - </para></listitem> - <listitem><para> - Run the <filename>build.sh</filename> - script as directed. - Be sure to provide the tag name, - documentation branch, and a release name.</para> - - <para>Following is an example: - <literallayout class='monospaced'> - $ ECLIPSE_HOME=/home/scottrif/eclipse-yocto/scripts/eclipse ./build.sh -l neon/&DISTRO_NAME_NO_CAP; master yocto-&DISTRO; 2>&1 | tee build.log - </literallayout> - The previous example command adds the tag - you need for - <filename>neon/&DISTRO_NAME_NO_CAP;</filename> - to <filename>HEAD</filename>, then tells - the build script to use the local (-l) Git - checkout for the build. - After running the script, the file - <filename>org.yocto.sdk-</filename><replaceable>release</replaceable><filename>-</filename><replaceable>date</replaceable><filename>-archive.zip</filename> - is in the current directory. - </para></listitem> - <listitem><para>If necessary, start the Eclipse IDE - and be sure you are in the Workbench. - </para></listitem> - <listitem><para>Select "Install New Software" from - the "Help" pull-down menu. - </para></listitem> - <listitem><para>Click "Add". - </para></listitem> - <listitem><para>Provide anything you want in the - "Name" field. - </para></listitem> - <listitem><para>Click "Archive" and browse to the - ZIP file you built earlier. - This ZIP file should not be "unzipped", and must - be the <filename>*archive.zip</filename> file - created by running the - <filename>build.sh</filename> script. - </para></listitem> - <listitem><para>Click the "OK" button. - </para></listitem> - <listitem><para>Check the boxes that appear in - the installation window to install the - following: - <literallayout class='monospaced'> - Yocto Project SDK Plug-in - Yocto Project Documentation plug-in - </literallayout> - </para></listitem> - <listitem><para>Finish the installation by clicking - through the appropriate buttons. - You can click "OK" when prompted about - installing software that contains unsigned - content. - </para></listitem> - <listitem><para>Restart the Eclipse IDE if - necessary. - </para></listitem> - </orderedlist> - </para> - - <para> - At this point you should be able to configure the - Eclipse Yocto Plug-in as described in the - "<link linkend='neon-configuring-the-eclipse-yocto-plug-in'>Configuring the Neon Eclipse Yocto Plug-in</link>" - section.</para> - </section> - </section> - - <section id='neon-configuring-the-eclipse-yocto-plug-in'> - <title>Configuring the Neon Eclipse Yocto Plug-In</title> - - <para> - Configuring the Neon Eclipse Yocto Plug-in involves setting the - Cross Compiler options and the Target options. - The configurations you choose become the default settings - for all projects. - You do have opportunities to change them later when - you configure the project (see the following section). - </para> - - <para> - To start, you need to do the following from within the - Eclipse IDE: - <orderedlist> - <listitem><para> - Choose "Preferences" from the - "Window" menu to display the Preferences Dialog. - </para></listitem> - <listitem><para> - Click "Yocto Project SDK" to display - the configuration screen. - </para></listitem> - </orderedlist> - The following sub-sections describe how to configure the - the plug-in. - <note> - Throughout the descriptions, a start-to-finish example for - preparing a QEMU image for use with Eclipse is referenced - as the "wiki" and is linked to the example on the - <ulink url='https://wiki.yoctoproject.org/wiki/TipsAndTricks/RunningEclipseAgainstBuiltImage'> Cookbook guide to Making an Eclipse Debug Capable Image</ulink> - wiki page. - </note> - </para> - - <section id='neon-configuring-the-cross-compiler-options'> - <title>Configuring the Cross-Compiler Options</title> - - <para> - Cross Compiler options enable Eclipse to use your specific - cross compiler toolchain. - To configure these options, you must select - the type of toolchain, point to the toolchain, specify - the sysroot location, and select the target - architecture. - <itemizedlist> - <listitem><para> - <emphasis>Selecting the Toolchain Type:</emphasis> - Choose between "Standalone pre-built toolchain" - and - "Build system derived toolchain" for Cross Compiler - Options. - <itemizedlist> - <listitem><para> - <emphasis>Standalone Pre-built Toolchain:</emphasis> - Select this type when you are using - a stand-alone cross-toolchain. - For example, suppose you are an - application developer and do not - need to build a target image. - Instead, you just want to use an - architecture-specific toolchain on - an existing kernel and target root - filesystem. - In other words, you have downloaded - and installed a pre-built toolchain - for an existing image. - </para></listitem> - <listitem><para> - <emphasis>Build System Derived Toolchain:</emphasis> - Select this type if you built the - toolchain as part of the - <ulink url='&YOCTO_DOCS_REF_URL;#build-directory'>Build Directory</ulink>. - When you select "Build system derived - toolchain", you are using the toolchain - built and bundled inside the Build - Directory. - For example, suppose you created a - suitable image using the steps in the - <ulink url='https://wiki.yoctoproject.org/wiki/TipsAndTricks/RunningEclipseAgainstBuiltImage'>wiki</ulink>. - In this situation, you would select - "Build system derived toolchain". - </para></listitem> - </itemizedlist> - </para></listitem> - <listitem><para> - <emphasis>Specify the Toolchain Root Location:</emphasis> - If you are using a stand-alone pre-built - toolchain, you should be pointing to where it is - installed (e.g. - <filename>/opt/poky/&DISTRO;</filename>). - See the - "<link linkend='sdk-installing-the-sdk'>Installing the SDK</link>" - section for information about how the SDK is - installed.</para> - - <para>If you are using a build system derived - toolchain, the path you provide for the - "Toolchain Root Location" field is the - <ulink url='&YOCTO_DOCS_REF_URL;#build-directory'>Build Directory</ulink> - from which you run the - <filename>bitbake</filename> command (e.g - <filename>/home/scottrif/poky/build</filename>).</para> - <para>For more information, see the - "<link linkend='sdk-building-an-sdk-installer'>Building an SDK Installer</link>" - section. - </para></listitem> - <listitem><para> - <emphasis>Specify Sysroot Location:</emphasis> - This location is where the root filesystem for - the target hardware resides. - </para> - - <para>This location depends on where you - separately extracted and installed the - target filesystem when you either built - it or downloaded it. - <note> - If you downloaded the root filesystem - for the target hardware rather than - built it, you must download the - <filename>sato-sdk</filename> image - in order to build any c/c++ projects. - </note> - As an example, suppose you prepared an image - using the steps in the - <ulink url='https://wiki.yoctoproject.org/wiki/TipsAndTricks/RunningEclipseAgainstBuiltImage'>wiki</ulink>. - If so, the <filename>MY_QEMU_ROOTFS</filename> - directory is found in the - <ulink url='&YOCTO_DOCS_REF_URL;#build-directory'>Build Directory</ulink> - and you would browse to and select that directory - (e.g. <filename>/home/scottrif/build/MY_QEMU_ROOTFS</filename>). - </para> - - <para>For more information on how to install the - toolchain and on how to extract and install the - sysroot filesystem, see the - "<link linkend='sdk-building-an-sdk-installer'>Building an SDK Installer</link>" - section. - </para></listitem> - <listitem><para> - <emphasis>Select the Target Architecture:</emphasis> - The target architecture is the type of hardware - you are going to use or emulate. - Use the pull-down "Target Architecture" menu - to make your selection. - The pull-down menu should have the supported - architectures. - If the architecture you need is not listed in - the menu, you will need to build the image. - See the - "<ulink url='&YOCTO_DOCS_DEV_URL;#dev-building-a-simple-image'>Building a Simple Image</ulink>" - section of the Yocto Project Development Tasks - Manual for more information. - You can also see the - <ulink url='https://wiki.yoctoproject.org/wiki/TipsAndTricks/RunningEclipseAgainstBuiltImage'>wiki</ulink>. - </para></listitem> - </itemizedlist> - </para> - </section> - - <section id='neon-configuring-the-target-options'> - <title>Configuring the Target Options</title> - - <para> - You can choose to emulate hardware using the QEMU - emulator, or you can choose to run your image on actual - hardware. - <itemizedlist> - <listitem><para> - <emphasis>QEMU:</emphasis> - Select this option if you will be using the - QEMU emulator. - If you are using the emulator, you also need to - locate the kernel and specify any custom - options.</para> - - <para>If you selected the Build system derived - toolchain, the target kernel you built will be - located in the - <ulink url='&YOCTO_DOCS_REF_URL;#build-directory'>Build Directory</ulink> - in - <filename>tmp/deploy/images/<replaceable>machine</replaceable></filename> - directory. - As an example, suppose you performed the steps in - the - <ulink url='https://wiki.yoctoproject.org/wiki/TipsAndTricks/RunningEclipseAgainstBuiltImage'>wiki</ulink>. - In this case, you specify your Build Directory path - followed by the image (e.g. - <filename>/home/scottrif/poky/build/tmp/deploy/images/qemux86/bzImage-qemux86.bin</filename>). - </para> - - <para>If you selected the standalone pre-built - toolchain, the pre-built image you downloaded is - located in the directory you specified when you - downloaded the image.</para> - - <para>Most custom options are for advanced QEMU - users to further customize their QEMU instance. - These options are specified between paired - angled brackets. - Some options must be specified outside the - brackets. - In particular, the options - <filename>serial</filename>, - <filename>nographic</filename>, and - <filename>kvm</filename> must all be outside the - brackets. - Use the <filename>man qemu</filename> command - to get help on all the options and their use. - The following is an example: - <literallayout class='monospaced'> - serial ‘<-m 256 -full-screen>’ - </literallayout> - Regardless of the mode, Sysroot is already - defined as part of the Cross-Compiler Options - configuration in the "Sysroot Location:" field. - </para></listitem> - <listitem><para> - <emphasis>External HW:</emphasis> - Select this option if you will be using actual - hardware. - </para></listitem> - </itemizedlist> - </para> - - <para> - Click the "Apply" and "OK" to save your plug-in - configurations. - </para> - </section> - </section> - </section> - - <section id='neon-creating-the-project'> - <title>Creating the Project</title> - - <para> - You can create two types of projects: Autotools-based, or - Makefile-based. - This section describes how to create Autotools-based projects - from within the Eclipse IDE. - For information on creating Makefile-based projects in a - terminal window, see the - "<link linkend='makefile-based-projects'>Makefile-Based Projects</link>" - section. - <note> - Do not use special characters in project names - (e.g. spaces, underscores, etc.). Doing so can - cause the configuration to fail. - </note> - </para> - - <para> - To create a project based on a Yocto template and then display - the source code, follow these steps: - <orderedlist> - <listitem><para> - Select "C Project" from the "File -> New" menu. - </para></listitem> - <listitem><para> - Expand "Yocto Project SDK Autotools Project". - </para></listitem> - <listitem><para> - Select "Hello World ANSI C Autotools Projects". - This is an Autotools-based project based on a Yocto - template. - </para></listitem> - <listitem><para> - Put a name in the "Project name:" field. - Do not use hyphens as part of the name - (e.g. "hello"). - </para></listitem> - <listitem><para> - Click "Next". - </para></listitem> - <listitem><para> - Add appropriate information in the various fields. - </para></listitem> - <listitem><para> - Click "Finish". - </para></listitem> - <listitem><para> - If the "open perspective" prompt appears, - click "Yes" so that you are in the C/C++ perspective. - </para></listitem> - <listitem><para> - The left-hand navigation pane shows your project. - You can display your source by double clicking the - project's source file. - </para></listitem> - </orderedlist> - </para> - </section> - - <section id='neon-configuring-the-cross-toolchains'> - <title>Configuring the Cross-Toolchains</title> - - <para> - The earlier section, - "<link linkend='neon-configuring-the-eclipse-yocto-plug-in'>Configuring the Neon Eclipse Yocto Plug-in</link>", - sets up the default project configurations. - You can override these settings for a given project by following - these steps: - <orderedlist> - <listitem><para> - Select "Yocto Project Settings" from - the "Project -> Properties" menu. - This selection brings up the Yocto Project Settings - Dialog and allows you to make changes specific to an - individual project.</para> - <para>By default, the Cross Compiler Options and Target - Options for a project are inherited from settings you - provided using the Preferences Dialog as described - earlier in the - "<link linkend='neon-configuring-the-eclipse-yocto-plug-in'>Configuring the Neon Eclipse Yocto Plug-in</link>" section. - The Yocto Project Settings Dialog allows you to override - those default settings for a given project. - </para></listitem> - <listitem><para> - Make or verify your configurations for the project and - click "OK". - </para></listitem> - <listitem><para> - Right-click in the navigation pane and select - "Reconfigure Project" from the pop-up menu. - This selection reconfigures the project by running - <ulink url='https://en.wikipedia.org/wiki/GNU_Build_System'>Autotools GNU utility programs</ulink> - such as Autoconf, Automake, and so forth in the - workspace for your project. - Click on the "Console" tab beneath your source code - to see the results of reconfiguring your project. - </para></listitem> - </orderedlist> - </para> - </section> - - <section id='neon-building-the-project'> - <title>Building the Project</title> - - <para> - To build the project select "Build All" from the - "Project" menu. - The console should update and you can note the cross-compiler - you are using. - <note> - When building "Yocto Project SDK Autotools" projects, the - Eclipse IDE might display error messages for - Functions/Symbols/Types that cannot be "resolved", even when - the related include file is listed at the project navigator and - when the project is able to build. - For these cases only, it is recommended to add a new linked - folder to the appropriate sysroot. - Use these steps to add the linked folder: - <orderedlist> - <listitem><para> - Select the project. - </para></listitem> - <listitem><para> - Select "Folder" from the "File > New" menu. - </para></listitem> - <listitem><para> - In the "New Folder" Dialog, select "Link to alternate - location (linked folder)". - </para></listitem> - <listitem><para> - Click "Browse" to navigate to the include folder inside - the same sysroot location selected in the Yocto Project - configuration preferences. - </para></listitem> - <listitem><para> - Click "OK". - </para></listitem> - <listitem><para> - Click "Finish" to save the linked folder. - </para></listitem> - </orderedlist> - </note> - </para> - </section> - - <section id='neon-starting-qemu-in-user-space-nfs-mode'> - <title>Starting QEMU in User-Space NFS Mode</title> - - <para> - To start the QEMU emulator from within Eclipse, follow these - steps: - <note> - See the - "<ulink url='&YOCTO_DOCS_DEV_URL;#dev-manual-qemu'>Using the Quick EMUlator (QEMU)</ulink>" - chapter in the Yocto Project Development Tasks Manual - for more information on using QEMU. - </note> - <orderedlist> - <listitem><para>Expose and select "External Tools - Configurations ..." from the "Run -> External Tools" menu. - </para></listitem> - <listitem><para> - Locate and select your image in the navigation panel to - the left (e.g. <filename>qemu_i586-poky-linux</filename>). - </para></listitem> - <listitem><para> - Click "Run" to launch QEMU. - <note> - The host on which you are running QEMU must have - the <filename>rpcbind</filename> utility running to be - able to make RPC calls on a server on that machine. - If QEMU does not invoke and you receive error messages - involving <filename>rpcbind</filename>, follow the - suggestions to get the service running. - As an example, on a new Ubuntu 16.04 LTS installation, - you must do the following in order to get QEMU to - launch: - <literallayout class='monospaced'> - $ sudo apt-get install rpcbind - </literallayout> - After installing <filename>rpcbind</filename>, you - need to edit the - <filename>/etc/init.d/rpcbind</filename> file to - include the following line: - <literallayout class='monospaced'> - OPTIONS="-i -w" - </literallayout> - After modifying the file, you need to start the - service: - <literallayout class='monospaced'> - $ sudo service portmap restart - </literallayout> - </note> - </para></listitem> - <listitem><para>If needed, enter your host root password in - the shell window at the prompt. - This sets up a <filename>Tap 0</filename> connection - needed for running in user-space NFS mode. - </para></listitem> - <listitem><para>Wait for QEMU to launch. - </para></listitem> - <listitem><para>Once QEMU launches, you can begin operating - within that environment. - One useful task at this point would be to determine the - IP Address for the user-space NFS by using the - <filename>ifconfig</filename> command. - The IP address of the QEMU machine appears in the - xterm window. - You can use this address to help you see which particular - IP address the instance of QEMU is using. - </para></listitem> - </orderedlist> - </para> - </section> - - <section id='neon-deploying-and-debugging-the-application'> - <title>Deploying and Debugging the Application</title> - - <para> - Once the QEMU emulator is running the image, you can deploy - your application using the Eclipse IDE and then use - the emulator to perform debugging. - Follow these steps to deploy the application. - <note> - Currently, Eclipse does not support SSH port forwarding. - Consequently, if you need to run or debug a remote - application using the host display, you must create a - tunneling connection from outside Eclipse and keep - that connection alive during your work. - For example, in a new terminal, run the following: - <literallayout class='monospaced'> - $ ssh -XY <replaceable>user_name</replaceable>@<replaceable>remote_host_ip</replaceable> - </literallayout> - Using the above form, here is an example: - <literallayout class='monospaced'> - $ ssh -XY root@192.168.7.2 - </literallayout> - After running the command, add the command to be executed - in Eclipse's run configuration before the application - as follows: - <literallayout class='monospaced'> - export DISPLAY=:10.0 - </literallayout> - Be sure to not destroy the connection during your QEMU - session (i.e. do not - exit out of or close that shell). - </note> - <orderedlist> - <listitem><para> - Select "Debug Configurations..." from the - "Run" menu.</para></listitem> - <listitem><para> - In the left area, expand - "C/C++Remote Application". - </para></listitem> - <listitem><para> - Locate your project and select it to bring - up a new tabbed view in the Debug Configurations Dialog. - </para></listitem> - <listitem><para> - Click on the "Debugger" tab to see the - cross-tool debugger you are using. - Be sure to change to the debugger perspective in Eclipse. - </para></listitem> - <listitem><para> - Click on the "Main" tab. - </para></listitem> - <listitem><para>Create a new connection to the QEMU instance - by clicking on "new".</para></listitem> - <listitem><para> - Select "SSH", which means - Secure Socket Shell. - Optionally, you can select a TCF connection instead. - </para></listitem> - <listitem><para> - Click "Next". - </para></listitem> - <listitem><para> - Clear out the "Connection name" field and - enter any name you want for the connection. - </para></listitem> - <listitem><para> - Put the IP address for the connection in - the "Host" field. - For QEMU, the default is "192.168.7.2". - However, if a previous QEMU session did not exit - cleanly, the IP address increments (e.g. - "192.168.7.3"). - <note> - You can find the IP address for the current QEMU - session by looking in the xterm that opens when - you launch QEMU. - </note> - </para></listitem> - <listitem><para> - Enter "root", which - is the default for QEMU, for the "User" field. - Be sure to leave the password field empty. - </para></listitem> - <listitem><para>Click "Finish" to close the - New Connections Dialog. - </para></listitem> - <listitem><para> - If necessary, use the drop-down menu now in the - "Connection" field and pick the IP Address you entered. - </para></listitem> - <listitem><para> - Assuming you are connecting as the root user, - which is the default for QEMU x86-64 SDK images provided by - the Yocto Project, in the "Remote Absolute File Path for - C/C++ Application" field, browse to - <filename>/home/root/</filename><replaceable>ProjectName</replaceable> - (e.g. <filename>/home/root/hello</filename>). - You could also browse to any other path you have write - access to on the target such as - <filename>/usr/bin</filename>. - This location is where your application will be located on - the QEMU system. - If you fail to browse to and specify an appropriate - location, QEMU will not understand what to remotely - launch. - Eclipse is helpful in that it auto fills your application - name for you assuming you browsed to a directory. - <note><title>Tips</title> - <itemizedlist> - <listitem><para> - If you are prompted to provide a username - and to optionally set a password, be sure - you provide "root" as the username and you - leave the password field blank. - </para></listitem> - <listitem><para> - If browsing to a directory fails or times - out, but you can - <filename>ssh</filename> into your QEMU - or target from the command line and you - have proxies set up, it is likely that - Eclipse is sending the SSH traffic to a - proxy. - In this case, either use TCF , or click on - "Configure proxy settings" in the - connection dialog and add the target IP - address to the "bypass proxy" section. - You might also need to change - "Active Provider" from Native to Manual. - </para></listitem> - </itemizedlist> - </note> - </para></listitem> - <listitem><para> - Be sure you change to the "Debug" perspective in Eclipse. - </para></listitem> - <listitem><para> - Click "Debug" - </para></listitem> - <listitem><para> - Accept the debug perspective. - </para></listitem> - </orderedlist> - </para> - </section> - - <section id='neon-using-Linuxtools'> - <title>Using Linuxtools</title> - - <para> - As mentioned earlier in the manual, performance tools exist - (Linuxtools) that enhance your development experience. - These tools are aids in developing and debugging applications and - images. - You can run these tools from within the Eclipse IDE through the - "Linuxtools" menu. - </para> - - <para> - For information on how to configure and use these tools, see - <ulink url='http://www.eclipse.org/linuxtools/'>http://www.eclipse.org/linuxtools/</ulink>. - </para> - </section> -</appendix> -<!-- -vim: expandtab tw=80 ts=4 ---> diff --git a/poky/documentation/sdk-manual/sdk-appendix-obtain.xml b/poky/documentation/sdk-manual/sdk-appendix-obtain.xml index 2cadcc1e9..765c0f218 100644 --- a/poky/documentation/sdk-manual/sdk-appendix-obtain.xml +++ b/poky/documentation/sdk-manual/sdk-appendix-obtain.xml @@ -216,12 +216,6 @@ TOOLCHAIN_TARGET_TASK_append = " libc-staticdev" </literallayout> </para></listitem> - <listitem><para> - For additional information on building the - installer, see the - <ulink url='https://wiki.yoctoproject.org/wiki/TipsAndTricks/RunningEclipseAgainstBuiltImage'>Cookbook guide to Making an <trademark class='trade'>Eclipse</trademark> Debug Capable Image</ulink> - wiki page. - </para></listitem> </itemizedlist> </note> </para></listitem> @@ -259,9 +253,6 @@ <listitem><para> You want to use the root filesystem as the target sysroot. - For example, the Eclipse IDE environment with the Eclipse - Yocto Plug-in installed allows you to use QEMU to boot - under NFS. </para></listitem> <listitem><para> You want to develop your target application diff --git a/poky/documentation/sdk-manual/sdk-eclipse-project.xml b/poky/documentation/sdk-manual/sdk-eclipse-project.xml deleted file mode 100644 index 15a9ae753..000000000 --- a/poky/documentation/sdk-manual/sdk-eclipse-project.xml +++ /dev/null @@ -1,1248 +0,0 @@ -<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" -"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" -[<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] > - -<chapter id='sdk-eclipse-project'> - - <title>Developing Applications Using <trademark class='trade'>Eclipse</trademark></title> - - <para> - If you are familiar with the popular Eclipse IDE, you can use an - Eclipse Yocto Plug-in to allow you to develop, deploy, and test your - application all from within Eclipse. - This chapter describes general workflow using the SDK and Eclipse - and how to configure and set up Eclipse. - <note><title>Notes</title> - <itemizedlist> - <listitem><para> - This chapter assumes development of applications on top of - an image prepared using the Yocto Project. - As such, inclusion of a pre-built image or the building of - an image is included in the workflow. - </para></listitem> - <listitem><para> - The chapter also assumes development on a build host that - is set up to use the Yocto Project. - Realize that you can easily use Eclipse and the Yocto - Project plug-in to develop an application for any number - of images developed and tested on different machines. - </para></listitem> - </itemizedlist> - </note> - </para> - - <section id='application-development-workflow-using-eclipse'> - <title>Application Development Workflow Using <trademark class='trade'>Eclipse</trademark></title> - - <para> - The following figure and supporting list summarize a - general workflow for application development that uses the - SDK within the Eclipse IDE. - The application developed runs on top of an image created using - the Yocto Project. - </para> - - <para> - <imagedata fileref="figures/sdk-eclipse-dev-flow.png" - width="7in" depth="7in" align="center" scale="100" /> - </para> - - <para> - <orderedlist> - <listitem><para> - <emphasis>Prepare the Host System for the Yocto Project</emphasis>: - Because this example workflow assumes development on a - system set up to use the Yocto Project, you need to be - sure your - <ulink url='&YOCTO_DOCS_REF_URL;#hardware-build-system-term'>build host</ulink> - can use the Yocto Project. - See the - "<ulink url='&YOCTO_DOCS_DEV_URL;#dev-preparing-the-build-host'>Preparing the Build Host</ulink>" - section in the Yocto Project Development Tasks Manual for - information on how to set up your build host. - <note> - Be sure you install the "xterm" package, which is a - <ulink url='&YOCTO_DOCS_REF_URL;#required-packages-for-the-build-host'>graphical and Eclipse plug-in extra</ulink> - needed by Eclipse. - </note> - </para></listitem> - <listitem><para> - <emphasis>Secure the Yocto Project Kernel Target Image</emphasis>: - This example workflow assumes application development on - top of an image built using the Yocto Project. - Depending on whether you are using a pre-built image - that matches your target architecture or you are using an - image you build using the - <ulink url='&YOCTO_DOCS_REF_URL;#build-system-term'>OpenEmbedded Build System</ulink> - and where you are going to run the image while you - develop your application (QEMU or real hardware), the - area from which you get the image differs. - <itemizedlist> - <listitem><para> - Download the image from - <ulink url='&YOCTO_MACHINES_DL_URL;'><filename>machines</filename></ulink> - if your target architecture is supported and - you are going to develop and test your - application on actual hardware. - </para></listitem> - <listitem><para> - Download the image from - <ulink url='&YOCTO_QEMU_DL_URL;'> - <filename>machines/qemu</filename></ulink> if - your target architecture is supported and you - are going to develop and test your application - using the - <ulink url='&YOCTO_DOCS_DEV_URL;#dev-manual-qemu'>QEMU Emulator</ulink>. - </para></listitem> - <listitem><para> - Build your image if you cannot find a pre-built - image that matches your target architecture. - If your target architecture is similar to a - supported architecture, you can modify the - kernel image before you build it. - See the - "<ulink url='&YOCTO_DOCS_KERNEL_DEV_URL;#using-devtool-to-patch-the-kernel'>Using <filename>devtool</filename> to Patch the Kernel</ulink>" - section in the Yocto Project Linux Kernel - Development Manual for an example. - You can also see the - "<ulink url='https://wiki.yoctoproject.org/wiki/TipsAndTricks/RunningEclipseAgainstBuiltImage#Making_a_Suitable_Qemux86_Image'>Making a Suitable Qemux86 Image</ulink>" - wiki for steps needed to build an image suitable - for QEMU and for debugging within the Eclipse IDE. - </para></listitem> - </itemizedlist> - </para></listitem> - <listitem> - <para><emphasis>Install the SDK</emphasis>: - The SDK provides a target-specific cross-development - toolchain, the root filesystem, the QEMU emulator, and - other tools that can help you develop your application. - For information on how to install the SDK, see the - "<link linkend='sdk-installing-the-sdk'>Installing the SDK</link>" - section. - </para></listitem> - <listitem><para> - <emphasis>Secure the Target Root Filesystem and the Cross-Development Toolchain</emphasis>: - You need to find and download the appropriate root - filesystem and the cross-development toolchain.</para> - - <para>You can find the tarballs for the root filesystem - in the same area used for the kernel image. - Depending on the type of image you are running, the - root filesystem you need differs. - For example, if you are developing an application that - runs on an image that supports Sato, you need to get a - root filesystem that supports Sato.</para> - - <para>You can find the cross-development toolchains at - <ulink url='&YOCTO_TOOLCHAIN_DL_URL;'><filename>toolchains</filename></ulink>. - Be sure to get the correct toolchain for your - development host and your target architecture. - See the "<link linkend='sdk-locating-pre-built-sdk-installers'>Locating Pre-Built SDK Installers</link>" - section for information and the - "<link linkend='sdk-installing-the-sdk'>Installing the SDK</link>" - section for installation information. - <note> - As an alternative to downloading an SDK, you can - build the SDK installer. - For information on building the installer, see the - "<link linkend='sdk-building-an-sdk-installer'>Building an SDK Installer</link>" - section. - Another helpful resource for building an installer - is the - "<ulink url='https://wiki.yoctoproject.org/wiki/TipsAndTricks/RunningEclipseAgainstBuiltImage'>Cookbook guide to Making an Eclipse Debug Capable Image</ulink>" - wiki page. - </note> - </para></listitem> - <listitem><para> - <emphasis>Create and Build Your Application</emphasis>: - You need to have source files for your application. - Once you have the files, you can use the Eclipse IDE - to import them and build the project. - </para></listitem> - <listitem><para> - <emphasis>Deploy the Image With the Application</emphasis>: - Using the Eclipse IDE, you can deploy your image to the - hardware or to QEMU through the project's preferences. - You can also use Eclipse to load and test your image - under QEMU. - See the - "<ulink url='&YOCTO_DOCS_DEV_URL;#dev-manual-qemu'>Using the Quick EMUlator (QEMU)</ulink>" - chapter in the Yocto Project Development Tasks Manual - for information on using QEMU. - </para></listitem> - <listitem><para> - <emphasis>Test and Debug the Application</emphasis>: - Once your application is deployed, you need to test it. - Within the Eclipse IDE, you can use the debugging - environment along with supported performance enhancing - <ulink url='http://www.eclipse.org/linuxtools/'>Linux Tools</ulink>. - </para></listitem> - </orderedlist> - </para> - </section> - - <section id='adt-eclipse'> - <title>Working Within Eclipse</title> - - <para> - The Eclipse IDE is a popular development environment and it - fully supports development using the Yocto Project. - </para> - - <para> - When you install and configure the Eclipse Yocto Project - Plug-in into the Eclipse IDE, you maximize your Yocto - Project experience. - Installing and configuring the Plug-in results in an - environment that has extensions specifically designed to let - you more easily develop software. - These extensions allow for cross-compilation, deployment, and - execution of your output into a QEMU emulation session as well - as actual target hardware. - You can also perform cross-debugging and profiling. - The environment also supports performance enhancing - <ulink url='http://www.eclipse.org/linuxtools/'>tools</ulink> - that allow you to perform remote profiling, tracing, - collection of power data, collection of latency data, and - collection of performance data. - <note> - This release of the Yocto Project supports both the Oxygen - and Neon versions of the Eclipse IDE. - This section provides information on how to use the Oxygen - release with the Yocto Project. - For information on how to use the Neon version of Eclipse - with the Yocto Project, see - "<link linkend='sdk-appendix-neon-yp-eclipse-plug-in'>Appendix D</link>". - </note> - </para> - - <section id='oxygen-setting-up-the-eclipse-ide'> - <title>Setting Up the Oxygen Version of the Eclipse IDE</title> - - <para> - To develop within the Eclipse IDE, you need to do the - following: - <orderedlist> - <listitem><para> - Install the Oxygen version of the Eclipse IDE. - </para></listitem> - <listitem><para> - Configure the Eclipse IDE. - </para></listitem> - <listitem><para> - Install the Eclipse Yocto Plug-in. - </para></listitem> - <listitem><para> - Configure the Eclipse Yocto Plug-in. - </para></listitem> - </orderedlist> - <note> - Do not install Eclipse from your distribution's package - repository. - Be sure to install Eclipse from the official Eclipse - download site as directed in the next section. - </note> - </para> - - <section id='oxygen-installing-eclipse-ide'> - <title>Installing the Oxygen Eclipse IDE</title> - - <para> - Follow these steps to locate, install, and configure - Oxygen Eclipse: - <orderedlist> - <listitem><para> - <emphasis>Locate the Oxygen Download:</emphasis> - Open a browser and go to - <ulink url='http://www.eclipse.org/oxygen/'>http://www.eclipse.org/oxygen/</ulink>. - </para></listitem> - <listitem><para> - <emphasis>Download the Tarball:</emphasis> - Click through the "Download" buttons to - download the file. - </para></listitem> - <listitem><para> - <emphasis>Unpack the Tarball:</emphasis> - Move to a clean directory and unpack the - tarball. - Here is an example: - <literallayout class='monospaced'> - $ cd ~ - $ tar -xzvf ~/Downloads/eclipse-inst-linux64.tar.gz - </literallayout> - Everything unpacks into a folder named - "eclipse-installer". - </para></listitem> - <listitem><para> - <emphasis>Launch the Installer:</emphasis> - Use the following commands to launch the - installer: - <literallayout class='monospaced'> - $ cd ~/eclipse-installer - $ ./eclipse-inst - </literallayout> - </para></listitem> - <listitem><para> - <emphasis>Select Your IDE:</emphasis> - From the list, select the "Eclipse IDE for - C/C++ Developers". - </para></listitem> - <listitem><para> - <emphasis>Install the Software:</emphasis> - Click "Install" to begin the installation. - Accept all the certificates and any license - agreements. - Click "Install" again to finish the installation. - </para></listitem> - <listitem><para> - <emphasis>Launch Oxygen:</emphasis> - Accept the default "workspace" and click the - "Launch" button. - You should see the Eclipse welcome page from which - can click "workbench" to enter your workspace. - <note> - The executable for Eclipse is located in the - <filename>eclipse/cpp-oxygen/eclipse</filename> - folder. - To launch Eclipse outside of the installation - process, simply execute that binary. - Here is an example: - <literallayout class='monospaced'> - $ ~/eclipse/cpp-oxygen/eclipse/eclipse - </literallayout> - </note> - </para></listitem> - </orderedlist> - </para> - </section> - - <section id='oxygen-configuring-the-eclipse-ide'> - <title>Configuring the Oxygen Eclipse IDE</title> - - <para> - Follow these steps to configure the Oxygen Eclipse IDE. - <note><title>Notes</title> - <itemizedlist> - <listitem><para> - Depending on how you installed Eclipse and what - you have already done, some of the options do - not appear. - If you cannot find an option as directed by the - manual, it has already been installed. - </para></listitem> - <listitem><para> - If you want to see all options regardless of - whether they are installed or not, deselect the - "Hide items that are already installed" - check box. - </para></listitem> - </itemizedlist> - </note> - <orderedlist> - <listitem><para> - Be sure Eclipse is running and you are in your - workbench. - Just click "workbench" if you are not in your - default workspace. - </para></listitem> - <listitem><para> - Select "Install New Software" from the "Help" - pull-down menu. - </para></listitem> - <listitem><para> - Select - "Oxygen - http://download.eclipse.org/releases/oxygen" - from the "Work with:" pull-down menu. - </para></listitem> - <listitem><para> - Expand the box next to "Linux Tools" and select - the following: - <literallayout class='monospaced'> - C/C++ Remote (Over TCF/TE) Run/Debug Launcher - TM Terminal - </literallayout> - </para></listitem> - <listitem><para> - Expand the box next to "Mobile and Device - Development" and select the following - boxes: - <literallayout class='monospaced'> - C/C++ Remote (Over TCF/TE) Run/Debug Launcher - Remote System Explorer User Actions - TM Terminal - TCF Remote System Explorer add-in - TCF Target Explorer - </literallayout> - </para></listitem> - <listitem><para> - Expand the box next to "Programming Languages" - and select the following box: - <literallayout class='monospaced'> - C/C++ Development Tools SDK - </literallayout> - </para></listitem> - <listitem><para> - Complete the installation by clicking through - appropriate "Next" and "Finish" buttons and then - restart the Eclipse IDE. - </para></listitem> - </orderedlist> - </para> - </section> - - <section id='oxygen-installing-the-eclipse-yocto-plug-in'> - <title>Installing or Accessing the Oxygen Eclipse Yocto Plug-in</title> - - <para> - You can install the Eclipse Yocto Plug-in into the - Eclipse IDE one of two ways: use the Yocto Project's - Eclipse Update site to install the pre-built plug-in, - or build and install the plug-in from the latest - source code. - </para> - - <section id='oxygen-new-software'> - <title>Installing the Pre-built Plug-in from the Yocto Project Eclipse Update Site</title> - - <para> - To install the Oxygen Eclipse Yocto Plug-in from the - update site, follow these steps: - <orderedlist> - <listitem><para> - Start up the Eclipse IDE. - </para></listitem> - <listitem><para> - In Eclipse, select "Install New - Software" from the "Help" menu. - </para></listitem> - <listitem><para> - Click "Add..." in the "Work with:" area. - </para></listitem> - <listitem><para> - Enter - <filename>&ECLIPSE_DL_PLUGIN_URL;/oxygen</filename> - in the URL field and provide a meaningful - name in the "Name" field. - </para></listitem> - <listitem><para> - Click "OK" to have the entry automatically - populate the "Work with:" field and to have - the items for installation appear in the window - below. - </para></listitem> - <listitem><para> - Check the boxes next to the following: - <literallayout class='monospaced'> - Yocto Project SDK Plug-in - Yocto Project Documentation plug-in - </literallayout> - </para></listitem> - <listitem><para> - Complete the remaining software - installation steps and then restart the - Eclipse IDE to finish the installation of - the plug-in. - <note> - You can click "OK" when prompted about - installing software that contains - unsigned content. - </note> - </para></listitem> - </orderedlist> - </para> - </section> - - <section id='oxygen-zip-file-method'> - <title>Installing the Plug-in Using the Latest Source Code</title> - - <para> - To install the Oxygen Eclipse Yocto Plug-in from the - latest source code, follow these steps: - <orderedlist> - <listitem><para> - Be sure your build host has JDK version 1.8 - or greater. - On a Linux build host you can determine the - version using the following command: - <literallayout class='monospaced'> - $ java -version - </literallayout> - </para></listitem> - <listitem><para> - Install X11-related packages: - <literallayout class='monospaced'> - $ sudo apt-get install xauth - </literallayout> - </para></listitem> - <listitem><para> - In a new terminal shell, create a - Git repository with: - <literallayout class='monospaced'> - $ cd ~ - $ git clone git://git.yoctoproject.org/eclipse-yocto - </literallayout> - </para></listitem> - <listitem><para> - Use Git to create the correct tag: - <literallayout class='monospaced'> - $ cd ~/eclipse-yocto - $ git checkout -b oxygen/&DISTRO_NAME_NO_CAP; remotes/origin/oxygen/&DISTRO_NAME_NO_CAP; - </literallayout> - This creates a local tag named - <filename>oxygen/&DISTRO_NAME_NO_CAP;</filename> - based on the branch - <filename>origin/oxygen/&DISTRO_NAME_NO_CAP;</filename>. - You are put into a detached HEAD state, - which is fine since you are only going to - be building and not developing. - </para></listitem> - <listitem><para> - Change to the <filename>scripts</filename> - directory within the Git repository: - <literallayout class='monospaced'> - $ cd scripts - </literallayout> - </para></listitem> - <listitem><para> - Set up the local build environment - by running the setup script: - <literallayout class='monospaced'> - $ ./setup.sh - </literallayout> - When the script finishes execution, - it prompts you with instructions on how to - run the <filename>build.sh</filename> - script, which is also in the - <filename>scripts</filename> directory of - the Git repository created earlier. - </para></listitem> - <listitem><para> - Run the <filename>build.sh</filename> - script as directed. - Be sure to provide the tag name, - documentation branch, and a release name. - </para> - <para> - Following is an example: - <literallayout class='monospaced'> - $ ECLIPSE_HOME=/home/scottrif/eclipse-yocto/scripts/eclipse ./build.sh -l oxygen/&DISTRO_NAME_NO_CAP; master yocto-&DISTRO; 2>&1 | tee build.log - </literallayout> - The previous example command adds the tag - you need for - <filename>oxygen/&DISTRO_NAME_NO_CAP;</filename> - to <filename>HEAD</filename>, then tells - the build script to use the local (-l) Git - checkout for the build. - After running the script, the file - <filename>org.yocto.sdk-</filename><replaceable>release</replaceable><filename>-</filename><replaceable>date</replaceable><filename>-archive.zip</filename> - is in the current directory. - </para></listitem> - <listitem><para> - If necessary, start the Eclipse IDE - and be sure you are in the Workbench. - </para></listitem> - <listitem><para> - Select "Install New Software" from - the "Help" pull-down menu. - </para></listitem> - <listitem><para> - Click "Add". - </para></listitem> - <listitem><para> - Provide anything you want in the - "Name" field. - </para></listitem> - <listitem><para> - Click "Archive" and browse to the - ZIP file you built earlier. - This ZIP file should not be "unzipped", and - must be the - <filename>*archive.zip</filename> file - created by running the - <filename>build.sh</filename> script. - </para></listitem> - <listitem><para> - Click the "OK" button. - </para></listitem> - <listitem><para> - Check the boxes that appear in - the installation window to install the - following: - <literallayout class='monospaced'> - Yocto Project SDK Plug-in - Yocto Project Documentation plug-in - </literallayout> - </para></listitem> - <listitem><para> - Finish the installation by clicking - through the appropriate buttons. - You can click "OK" when prompted about - installing software that contains unsigned - content. - </para></listitem> - <listitem><para> - Restart the Eclipse IDE if necessary. - </para></listitem> - </orderedlist> - </para> - - <para> - At this point you should be able to configure the - Eclipse Yocto Plug-in as described in the - "<link linkend='oxygen-configuring-the-eclipse-yocto-plug-in'>Configuring the Oxygen Eclipse Yocto Plug-in</link>" - section. - </para> - </section> - </section> - - <section id='oxygen-configuring-the-eclipse-yocto-plug-in'> - <title>Configuring the Oxygen Eclipse Yocto Plug-In</title> - - <para> - Configuring the Oxygen Eclipse Yocto Plug-in involves - setting the Cross Compiler options and the Target - options. - The configurations you choose become the default - settings for all projects. - You do have opportunities to change them later when - you configure the project (see the following section). - </para> - - <para> - To start, you need to do the following from within the - Eclipse IDE: - <orderedlist> - <listitem><para> - Choose "Preferences" from the "Window" menu to - display the Preferences Dialog. - </para></listitem> - <listitem><para> - Click "Yocto Project SDK" to display - the configuration screen. - </para></listitem> - </orderedlist> - The following sub-sections describe how to configure - the plug-in. - <note> - Throughout the descriptions, a start-to-finish - example for preparing a QEMU image for use with - Eclipse is referenced as the "wiki" and is linked - to the example on the - "<ulink url='https://wiki.yoctoproject.org/wiki/TipsAndTricks/RunningEclipseAgainstBuiltImage'> Cookbook guide to Making an Eclipse Debug Capable Image</ulink>" - wiki page. - </note> - </para> - - <section id='oxygen-configuring-the-cross-compiler-options'> - <title>Configuring the Cross-Compiler Options</title> - - <para> - Cross Compiler options enable Eclipse to use your - specific cross compiler toolchain. - To configure these options, you must select - the type of toolchain, point to the toolchain, - specify the sysroot location, and select the target - architecture. - <itemizedlist> - <listitem><para> - <emphasis>Selecting the Toolchain Type:</emphasis> - Choose between "Standalone pre-built toolchain" - and "Build system derived toolchain" for - Cross Compiler Options. - <itemizedlist> - <listitem><para> - <emphasis>Standalone Pre-built Toolchain:</emphasis> - Select this type when you are using - a stand-alone cross-toolchain. - For example, suppose you are an - application developer and do not - need to build a target image. - Instead, you just want to use an - architecture-specific toolchain on - an existing kernel and target root - filesystem. - In other words, you have downloaded - and installed a pre-built toolchain - for an existing image. - </para></listitem> - <listitem><para> - <emphasis>Build System Derived Toolchain:</emphasis> - Select this type if you built the - toolchain as part of the - <ulink url='&YOCTO_DOCS_REF_URL;#build-directory'>Build Directory</ulink>. - When you select "Build system derived - toolchain", you are using the toolchain - built and bundled inside the Build - Directory. - For example, suppose you created a - suitable image using the steps in the - <ulink url='https://wiki.yoctoproject.org/wiki/TipsAndTricks/RunningEclipseAgainstBuiltImage'>wiki</ulink>. - In this situation, you would select - "Build system derived toolchain". - </para></listitem> - </itemizedlist> - </para></listitem> - <listitem><para> - <emphasis>Specify the Toolchain Root Location:</emphasis> - If you are using a stand-alone pre-built - toolchain, you should be pointing to where - it is installed (e.g. - <filename>/opt/poky/&DISTRO;</filename>). - See the - "<link linkend='sdk-installing-the-sdk'>Installing the SDK</link>" - section for information about how the SDK is - installed.</para> - - <para>If you are using a build system - derived toolchain, the path you provide for - the "Toolchain Root Location" field is the - <ulink url='&YOCTO_DOCS_REF_URL;#build-directory'>Build Directory</ulink> - from which you run the - <filename>bitbake</filename> command (e.g - <filename>/home/scottrif/poky/build</filename>). - </para> - <para>For more information, see the - "<link linkend='sdk-building-an-sdk-installer'>Building an SDK Installer</link>" - section. - </para></listitem> - <listitem><para> - <emphasis>Specify Sysroot Location:</emphasis> - This location is where the root filesystem - for the target hardware resides. - </para> - - <para>This location depends on where you - separately extracted and installed the - target filesystem when you either built - it or downloaded it. - <note> - If you downloaded the root filesystem - for the target hardware rather than - built it, you must download the - <filename>sato-sdk</filename> image - in order to build any c/c++ projects. - </note> - As an example, suppose you prepared an - image using the steps in the - <ulink url='https://wiki.yoctoproject.org/wiki/TipsAndTricks/RunningEclipseAgainstBuiltImage'>wiki</ulink>. - If so, the - <filename>MY_QEMU_ROOTFS</filename> - directory is found in the Build Directory - and you would browse to and select that - directory (e.g. - <filename>/home/scottrif/poky/build/MY_QEMU_ROOTFS</filename>). - </para> - - <para>For more information on how to - install the toolchain and on how to extract - and install the sysroot filesystem, see the - "<link linkend='sdk-building-an-sdk-installer'>Building an SDK Installer</link>" - section. - </para></listitem> - <listitem><para> - <emphasis>Select the Target Architecture:</emphasis> - The target architecture is the type of - hardware you are going to use or emulate. - Use the pull-down "Target Architecture" - menu to make your selection. - The pull-down menu should have the - supported architectures. - If the architecture you need is not listed - in the menu, you will need to build the - image. - See the - "<ulink url='&YOCTO_DOCS_DEV_URL;#dev-building-a-simple-image'>Building a Simple Image</ulink>" - section of the Yocto Project Development Tasks - Manual for more information. - You can also see the - <ulink url='https://wiki.yoctoproject.org/wiki/TipsAndTricks/RunningEclipseAgainstBuiltImage'>wiki</ulink>. - </para></listitem> - </itemizedlist> - </para> - </section> - - <section id='oxygen-configuring-the-target-options'> - <title>Configuring the Target Options</title> - - <para> - You can choose to emulate hardware using the QEMU - emulator, or you can choose to run your image on - actual hardware. - <itemizedlist> - <listitem><para> - <emphasis>QEMU:</emphasis> - Select this option if you will be using the - QEMU emulator. - If you are using the emulator, you also - need to locate the kernel and specify any - custom options.</para> - - <para>If you selected the Build system derived - toolchain, the target kernel you built will be - located in the - <ulink url='&YOCTO_DOCS_REF_URL;#build-directory'>Build Directory</ulink> - in - <filename>tmp/deploy/images/<replaceable>machine</replaceable></filename> - directory. - As an example, suppose you performed the - steps in the - <ulink url='https://wiki.yoctoproject.org/wiki/TipsAndTricks/RunningEclipseAgainstBuiltImage'>wiki</ulink>. - In this case, you specify your Build - Directory path followed by the image (e.g. - <filename>/home/scottrif/poky/build/tmp/deploy/images/qemux86/bzImage-qemux86.bin</filename>). - </para> - - <para>If you selected the standalone - pre-built toolchain, the pre-built image - you downloaded is located in the directory - you specified when you downloaded the - image.</para> - - <para>Most custom options are for advanced - QEMU users to further customize their QEMU - instance. - These options are specified between paired - angled brackets. - Some options must be specified outside the - brackets. - In particular, the options - <filename>serial</filename>, - <filename>nographic</filename>, and - <filename>kvm</filename> must all be - outside the brackets. - Use the <filename>man qemu</filename> - command to get help on all the options and - their use. - The following is an example: - <literallayout class='monospaced'> - serial ‘<-m 256 -full-screen>’ - </literallayout> - Regardless of the mode, Sysroot is already - defined as part of the Cross-Compiler - Options configuration in the "Sysroot - Location:" field. - </para></listitem> - <listitem><para> - <emphasis>External HW:</emphasis> - Select this option if you will be using - actual hardware. - </para></listitem> - </itemizedlist> - </para> - - <para> - Click "Apply and Close" to save your plug-in - configurations. - </para> - </section> - </section> - </section> - - <section id='oxygen-creating-the-project'> - <title>Creating the Project</title> - - <para> - You can create two types of projects: Autotools-based, or - Makefile-based. - This section describes how to create Autotools-based - projects from within the Eclipse IDE. - For information on creating Makefile-based projects in a - terminal window, see the - "<link linkend='makefile-based-projects'>Makefile-Based Projects</link>" - section. - <note> - Do not use special characters in project names - (e.g. spaces, underscores, etc.). Doing so can - cause configuration to fail. - </note> - </para> - - <para> - To create a project based on a Yocto template and then - display the source code, follow these steps: - <orderedlist> - <listitem><para> - Select "C/C++ Project" from the "File -> New" menu. - </para></listitem> - <listitem><para> - Select "C Managed Build" from the available options and - click "Next". - </para></listitem> - <listitem><para> - Expand "Yocto Project SDK Autotools Project". - </para></listitem> - <listitem><para> - Select "Hello World ANSI C Autotools Projects". - This is an Autotools-based project based on a Yocto - template. - </para></listitem> - <listitem><para> - Put a name in the "Project name:" field. - Do not use hyphens as part of the name - (e.g. "hello"). - </para></listitem> - <listitem><para> - Click "Next". - </para></listitem> - <listitem><para> - Add appropriate information in the various fields. - </para></listitem> - <listitem><para> - Click "Finish". - </para></listitem> - <listitem><para> - If the "open perspective" prompt appears, - click "Yes" so that you in the C/C++ perspective. - </para></listitem> - <listitem><para>The left-hand navigation pane shows - your project. - You can display your source by double clicking the - project's source file. - </para></listitem> - </orderedlist> - </para> - </section> - - <section id='oxygen-configuring-the-cross-toolchains'> - <title>Configuring the Cross-Toolchains</title> - - <para> - The earlier section, - "<link linkend='oxygen-configuring-the-eclipse-yocto-plug-in'>Configuring the Oxygen Eclipse Yocto Plug-in</link>", - sets up the default project configurations. - You can override these settings for a given project by - following these steps: - <orderedlist> - <listitem><para> - Select "Yocto Project Settings" from - the "Project -> Properties" menu. - This selection brings up the Yocto Project Settings - Dialog and allows you to make changes specific to - an individual project.</para> - <para>By default, the Cross Compiler Options and - Target Options for a project are inherited from - settings you provided using the Preferences Dialog - as described earlier in the - "<link linkend='oxygen-configuring-the-eclipse-yocto-plug-in'>Configuring the Oxygen Eclipse Yocto Plug-in</link>" - section. - The Yocto Project Settings Dialog allows you to - override those default settings for a given - project. - </para></listitem> - <listitem><para> - Make or verify your configurations for the - project and click "Apply and Close". - </para></listitem> - <listitem><para> - Right-click in the navigation pane and select - "Reconfigure Project" from the pop-up menu. - This selection reconfigures the project by running - <ulink url='https://en.wikipedia.org/wiki/GNU_Build_System'>Autotools GNU utility programs</ulink> - such as Autoconf, Automake, and so forth in the - workspace for your project. - Click on the "Console" tab beneath your source code - to see the results of reconfiguring your project. - </para></listitem> - </orderedlist> - </para> - </section> - - <section id='oxygen-building-the-project'> - <title>Building the Project</title> - <para> - To build the project select "Build All" from the - "Project" menu. - The console should update and you can note the - cross-compiler you are using (i.e. - <filename>i586-poky-linux-gcc</filename> in this example). - <note> - When building "Yocto Project SDK Autotools" projects, - the Eclipse IDE might display error messages for - Functions/Symbols/Types that cannot be "resolved", - even when the related include file is listed at the - project navigator and when the project is able to - build. - For these cases only, it is recommended to add a new - linked folder to the appropriate sysroot. - Use these steps to add the linked folder: - <orderedlist> - <listitem><para> - Select the project. - </para></listitem> - <listitem><para> - Select "Folder" from the "File -> New" menu. - </para></listitem> - <listitem><para> - In the "New Folder" Dialog, click the "Advanced" - button and then activate "Link to - alternate location (linked folder)" button. - </para></listitem> - <listitem><para> - Click "Browse" to navigate to the include - folder inside the same sysroot location - selected in the Yocto Project - configuration preferences. - </para></listitem> - <listitem><para> - Click "Finish" to save the linked folder. - </para></listitem> - </orderedlist> - </note> - </para> - </section> - - <section id='oxygen-starting-qemu-in-user-space-nfs-mode'> - <title>Starting QEMU in User-Space NFS Mode</title> - - <para> - To start the QEMU emulator from within Eclipse, follow - these steps: - <note> - See the - "<ulink url='&YOCTO_DOCS_DEV_URL;#dev-manual-qemu'>Using the Quick EMUlator (QEMU)</ulink>" - chapter in the Yocto Project Development Tasks Manual - for more information on using QEMU. - </note> - <orderedlist> - <listitem><para>Expose and select "External Tools - Configurations ..." from the "Run -> External - Tools" menu. - </para></listitem> - <listitem><para> - Locate and select your image in the navigation - panel to the left - (e.g. <filename>qemu_i586-poky-linux</filename>). - </para></listitem> - <listitem><para> - Click "Run" to launch QEMU. - <note> - The host on which you are running QEMU must - have the <filename>rpcbind</filename> utility - running to be able to make RPC calls on a - server on that machine. - If QEMU does not invoke and you receive error - messages involving - <filename>rpcbind</filename>, follow the - suggestions to get the service running. - As an example, on a new Ubuntu 16.04 LTS - installation, you must do the following in a new - shell in order to get QEMU to launch: - <literallayout class='monospaced'> - $ sudo apt-get install rpcbind - </literallayout> - After installing <filename>rpcbind</filename>, - you need to edit the - <filename>/etc/init.d/rpcbind</filename> file - to include the following line: - <literallayout class='monospaced'> - OPTIONS="-i -w" - </literallayout> - After modifying the file, you need to start the - service: - <literallayout class='monospaced'> - $ sudo service portmap restart - </literallayout> - </note> - </para></listitem> - <listitem><para> - If needed, enter your host root password in - the shell window at the prompt. - This sets up a <filename>Tap 0</filename> - connection needed for running in user-space NFS - mode. - </para></listitem> - <listitem><para> - Wait for QEMU to launch. - </para></listitem> - <listitem><para> - Once QEMU launches, you can begin operating - within that environment. - One useful task at this point would be to determine - the IP Address for the user-space NFS by using the - <filename>ifconfig</filename> command. - The IP address of the QEMU machine appears in the - xterm window. - You can use this address to help you see which - particular - IP address the instance of QEMU is using. - </para></listitem> - </orderedlist> - </para> - </section> - - <section id='oxygen-deploying-and-debugging-the-application'> - <title>Deploying and Debugging the Application</title> - - <para> - Once the QEMU emulator is running the image, you can deploy - your application using the Eclipse IDE and then use - the emulator to perform debugging. - Follow these steps to deploy the application. - <note> - Currently, Eclipse does not support SSH port - forwarding. - Consequently, if you need to run or debug a remote - application using the host display, you must create a - tunneling connection from outside Eclipse and keep - that connection alive during your work. - For example, in a new terminal, run the following: - <literallayout class='monospaced'> - $ ssh -XY <replaceable>user_name</replaceable>@<replaceable>remote_host_ip</replaceable> - </literallayout> - Using the above form, here is an example: - <literallayout class='monospaced'> - $ ssh -XY root@192.168.7.2 - </literallayout> - After running the command, add the command to be - executed in Eclipse's run configuration before the - application as follows: - <literallayout class='monospaced'> - export DISPLAY=:10.0 - </literallayout> - Be sure to not destroy the connection during your QEMU - session (i.e. do not - exit out of or close that shell). - </note> - <orderedlist> - <listitem><para> - Select "Debug Configurations..." from the - "Run" menu. - </para></listitem> - <listitem><para> - In the left area, expand - "C/C++Remote Application". - </para></listitem> - <listitem><para> - Locate your project and select it to bring - up a new tabbed view in the Debug Configurations - Dialog. - </para></listitem> - <listitem><para> - Click on the "Debugger" tab to see the - cross-tool debugger you are using. - Be sure to change to the debugger perspective in - Eclipse. - </para></listitem> - <listitem><para> - Click on the "Main" tab. - </para></listitem> - <listitem><para> - Create a new connection to the QEMU instance - by clicking on "new".</para></listitem> - <listitem><para>Select "SSH", which - means Secure Socket Shell and then click "OK". - Optionally, you can select a TCF connection - instead. - </para></listitem> - <listitem><para> - Clear out the "Connection name" field and - enter any name you want for the connection. - </para></listitem> - <listitem><para> - Put the IP address for the connection in - the "Host" field. - For QEMU, the default is "192.168.7.2". - However, if a previous QEMU session did not exit - cleanly, the IP address increments (e.g. - "192.168.7.3"). - <note> - You can find the IP address for the current - QEMU session by looking in the xterm that - opens when you launch QEMU. - </note> - </para></listitem> - <listitem><para> - Enter "root", which - is the default for QEMU, for the "User" field. - Be sure to leave the password field empty. - </para></listitem> - <listitem><para> - Click "Finish" to close the New Connections Dialog. - </para></listitem> - <listitem><para> - If necessary, use the drop-down menu now in the - "Connection" field and pick the IP Address you - entered. - </para></listitem> - <listitem><para> - Assuming you are connecting as the root - user, which is the default for QEMU x86-64 SDK - images provided by the Yocto Project, in the - "Remote Absolute File Path for C/C++ Application" - field, browse to - <filename>/home/root/</filename><replaceable>ProjectName</replaceable> - (e.g. <filename>/home/root/hello</filename>). - You could also browse to any other path you have - write access to on the target such as - <filename>/usr/bin</filename>. - This location is where your application will be - located on the QEMU system. - If you fail to browse to and specify an appropriate - location, QEMU will not understand what to remotely - launch. - Eclipse is helpful in that it auto fills your - application name for you assuming you browsed to a - directory. - <note><title>Tips</title> - <itemizedlist> - <listitem><para> - If you are prompted to provide a username - and to optionally set a password, be sure - you provide "root" as the username and you - leave the password field blank. - </para></listitem> - <listitem><para> - If browsing to a directory fails or times - out, but you can - <filename>ssh</filename> into your QEMU - or target from the command line and you - have proxies set up, it is likely that - Eclipse is sending the SSH traffic to a - proxy. - In this case, either use TCF , or click on - "Configure proxy settings" in the - connection dialog and add the target IP - address to the "bypass proxy" section. - You might also need to change - "Active Provider" from Native to Manual. - </para></listitem> - </itemizedlist> - </note> - </para></listitem> - <listitem><para> - Be sure you change to the "Debug" perspective in - Eclipse. - </para></listitem> - <listitem><para> - Click "Debug" - </para></listitem> - <listitem><para> - Accept the debug perspective. - </para></listitem> - </orderedlist> - </para> - </section> - - <section id='oxygen-using-Linuxtools'> - <title>Using Linuxtools</title> - - <para> - As mentioned earlier in the manual, performance tools exist - (Linuxtools) that enhance your development experience. - These tools are aids in developing and debugging - applications and images. - You can run these tools from within the Eclipse IDE through - the "Linuxtools" menu. - </para> - - <para> - For information on how to configure and use these tools, - see - <ulink url='http://www.eclipse.org/linuxtools/'>http://www.eclipse.org/linuxtools/</ulink>. - </para> - </section> - </section> -</chapter> -<!-- -vim: expandtab tw=80 ts=4 ---> diff --git a/poky/documentation/sdk-manual/sdk-extensible.xml b/poky/documentation/sdk-manual/sdk-extensible.xml index 09f06088d..f7c5c00b8 100644 --- a/poky/documentation/sdk-manual/sdk-extensible.xml +++ b/poky/documentation/sdk-manual/sdk-extensible.xml @@ -27,8 +27,7 @@ <para> In addition to the functionality available through <filename>devtool</filename>, you can alternatively make use of the - toolchain directly, for example from Makefile, Autotools, and - <trademark class='trade'>Eclipse</trademark>-based projects. + toolchain directly, for example from Makefile and Autotools. See the "<link linkend='sdk-working-projects'>Using the SDK Toolchain Directly</link>" chapter for more information. @@ -119,11 +118,6 @@ For information on building the installer, see the "<link linkend='sdk-building-an-sdk-installer'>Building an SDK Installer</link>" section. - Another helpful resource for building an installer is the - <ulink url='https://wiki.yoctoproject.org/wiki/TipsAndTricks/RunningEclipseAgainstBuiltImage'>Cookbook guide to Making an Eclipse Debug Capable Image</ulink> - wiki page. - This wiki page focuses on development when using the Eclipse - IDE. </note> </para> @@ -157,7 +151,7 @@ Poky (Yocto Project Reference Distro) Extensible SDK installer version 2.5 ========================================================================== Enter target directory for SDK (default: ~/poky_sdk): - You are about to install the SDK to "/home/scottrif/poky_sdk". Proceed[Y/n]? Y + You are about to install the SDK to "/home/scottrif/poky_sdk". Proceed [Y/n]? Y Extracting SDK..............done Setting it up... Extracting buildtools... diff --git a/poky/documentation/sdk-manual/sdk-intro.xml b/poky/documentation/sdk-manual/sdk-intro.xml index 8642be61a..9169fe9c0 100644 --- a/poky/documentation/sdk-manual/sdk-intro.xml +++ b/poky/documentation/sdk-manual/sdk-intro.xml @@ -14,9 +14,6 @@ This manual provides information that explains how to use both the Yocto Project extensible and standard SDKs to develop applications and images. - Additionally, the manual also provides information on how to use - the popular <trademark class='trade'>Eclipse</trademark> IDE as part - of your application development workflow within the SDK environment. <note> Prior to the 2.0 Release of the Yocto Project, application development was primarily accomplished through the use of the @@ -112,21 +109,6 @@ However, QEMU plays an important role in the development process that revolves around use of the SDK. </para></listitem> - <listitem><para> - The Eclipse IDE Yocto Plug-in. - This plug-in is available for you if you are an Eclipse - user. - In the same manner as QEMU, the plug-in is not literally part - of the SDK but is rather available for use as part of the - development process. - </para></listitem> - <listitem><para> - Various performance-related - <ulink url='http://www.eclipse.org/linuxtools/index.php'>tools</ulink> - that can enhance your development experience. - These tools are also separate from the actual SDK but can be - independently obtained and used in the development process. - </para></listitem> </itemizedlist> </para> @@ -271,53 +253,6 @@ </itemizedlist> </para> </section> - - <section id='eclipse-overview'> - <title><trademark class='trade'>Eclipse</trademark> Yocto Plug-in</title> - - <para> - The Eclipse IDE is a popular development environment and it fully - supports development using the Yocto Project. - When you install and configure the Eclipse Yocto Project Plug-in - into the Eclipse IDE, you maximize your Yocto Project experience. - Installing and configuring the Plug-in results in an environment - that has extensions specifically designed to let you more easily - develop software. - These extensions allow for cross-compilation, deployment, and - execution of your output into a QEMU emulation session. - You can also perform cross-debugging and profiling. - The environment also supports many performance-related - <ulink url='http://www.eclipse.org/linuxtools/index.php'>tools</ulink> - that enhance your development experience. - <note> - Previous releases of the Eclipse Yocto Plug-in supported - "user-space tools" (i.e. LatencyTOP, PowerTOP, Perf, SystemTap, - and Lttng-ust) that also added to the development experience. - These tools have been deprecated with the release of the - Eclipse Yocto Plug-in. - </note> - </para> - - <para> - For information about the application development workflow that - uses the Eclipse IDE and for a detailed example of how to install - and configure the Eclipse Yocto Project Plug-in, see the - "<link linkend='sdk-eclipse-project'>Developing Applications Using <trademark class='trade'>Eclipse</trademark></link>" - Chapter. - </para> - </section> - - <section id='performance-enhancing-tools'> - <title>Performance Enhancing Tools</title> - - <para> - Supported performance enhancing tools are available that let you - profile, debug, and perform tracing on your projects developed - using Eclipse. - For information on these tools see - <ulink url='http://www.eclipse.org/linuxtools/'>http://www.eclipse.org/linuxtools/</ulink>. - </para> - </section> </section> <section id='sdk-development-model'> diff --git a/poky/documentation/sdk-manual/sdk-manual-eclipse-customization.xsl b/poky/documentation/sdk-manual/sdk-manual-eclipse-customization.xsl deleted file mode 100644 index 77ba5f571..000000000 --- a/poky/documentation/sdk-manual/sdk-manual-eclipse-customization.xsl +++ /dev/null @@ -1,35 +0,0 @@ -<?xml version='1.0'?> -<xsl:stylesheet - xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns="http://www.w3.org/1999/xhtml" - xmlns:fo="http://www.w3.org/1999/XSL/Format" - version="1.0"> - - <xsl:import href="http://downloads.yoctoproject.org/mirror/docbook-mirror/docbook-xsl-1.76.1/eclipse/eclipse3.xsl" /> - -<!-- - - <xsl:import href="../template/1.76.1/docbook-xsl-1.76.1/eclipse/eclipse3.xsl" /> - - <xsl:import - href="http://docbook.sourceforge.net/release/xsl/1.76.1/eclipse/eclipse3.xsl" /> - ---> - - <xsl:param name="chunker.output.indent" select="'yes'"/> - <xsl:param name="chunk.quietly" select="1"/> - <xsl:param name="chunk.first.sections" select="1"/> - <xsl:param name="chunk.section.depth" select="10"/> - <xsl:param name="use.id.as.filename" select="1"/> - <xsl:param name="ulink.target" select="'_self'" /> - <xsl:param name="base.dir" select="'html/adt-manual/'"/> - <xsl:param name="html.stylesheet" select="'../book.css'"/> - <xsl:param name="eclipse.manifest" select="0"/> - <xsl:param name="create.plugin.xml" select="0"/> - <xsl:param name="suppress.navigation" select="1"/> - <xsl:param name="generate.index" select="0"/> - <xsl:param name="chapter.autolabel" select="1" /> - <xsl:param name="appendix.autolabel" select="1" /> - <xsl:param name="section.autolabel" select="1" /> - <xsl:param name="section.label.includes.component.label" select="1" /> -</xsl:stylesheet> diff --git a/poky/documentation/sdk-manual/sdk-manual.xml b/poky/documentation/sdk-manual/sdk-manual.xml index 1828119df..7edd2c46a 100644 --- a/poky/documentation/sdk-manual/sdk-manual.xml +++ b/poky/documentation/sdk-manual/sdk-manual.xml @@ -63,9 +63,14 @@ </revision> <revision> <revnumber>2.7</revnumber> - <date>&REL_MONTH_YEAR;</date> + <date>May 2019</date> <revremark>Released with the Yocto Project 2.7 Release.</revremark> </revision> + <revision> + <revnumber>2.8</revnumber> + <date>&REL_MONTH_YEAR;</date> + <revremark>Released with the Yocto Project 2.8 Release.</revremark> + </revision> </revhistory> <copyright> @@ -130,16 +135,12 @@ <xi:include href="sdk-working-projects.xml"/> - <xi:include href="sdk-eclipse-project.xml"/> - <xi:include href="sdk-appendix-obtain.xml"/> <xi:include href="sdk-appendix-customizing.xml"/> <xi:include href="sdk-appendix-customizing-standard.xml"/> - <xi:include href="sdk-appendix-neon.xml"/> - <!-- <index id='index'> <title>Index</title> </index> diff --git a/poky/documentation/sdk-manual/sdk-using.xml b/poky/documentation/sdk-manual/sdk-using.xml index dd220c340..66b15cd6c 100644 --- a/poky/documentation/sdk-manual/sdk-using.xml +++ b/poky/documentation/sdk-manual/sdk-using.xml @@ -18,8 +18,8 @@ </para> <para> - You can use a standard SDK to work on Makefile, Autotools, and - <trademark class='trade'>Eclipse</trademark>-based projects. + You can use a standard SDK to work on Makefile and Autotools-based + projects. See the "<link linkend='sdk-working-projects'>Using the SDK Toolchain Directly</link>" chapter for more information. @@ -111,11 +111,6 @@ For information on building the installer, see the "<link linkend='sdk-building-an-sdk-installer'>Building an SDK Installer</link>" section. - Another helpful resource for building an installer is the - <ulink url='https://wiki.yoctoproject.org/wiki/TipsAndTricks/RunningEclipseAgainstBuiltImage'>Cookbook guide to Making an Eclipse Debug Capable Image</ulink> - wiki page. - This wiki page focuses on development when using the Eclipse - IDE. </note> </para> @@ -149,7 +144,7 @@ Poky (Yocto Project Reference Distro) SDK installer version &DISTRO; =============================================================== Enter target directory for SDK (default: /opt/poky/&DISTRO;): - You are about to install the SDK to "/opt/poky/&DISTRO;". Proceed[Y/n]? Y + You are about to install the SDK to "/opt/poky/&DISTRO;". Proceed [Y/n]? Y Extracting SDK........................................ ..............................done Setting it up...done SDK has been successfully set up and is ready to be used. diff --git a/poky/documentation/sdk-manual/sdk-working-projects.xml b/poky/documentation/sdk-manual/sdk-working-projects.xml index d8cc4229d..521271d54 100644 --- a/poky/documentation/sdk-manual/sdk-working-projects.xml +++ b/poky/documentation/sdk-manual/sdk-working-projects.xml @@ -7,12 +7,8 @@ <title>Using the SDK Toolchain Directly</title> <para> - You can use the SDK toolchain directly with Makefile, - Autotools, and <trademark class='trade'>Eclipse</trademark>-based - projects. - This chapter covers the first two, while the - "<link linkend='sdk-eclipse-project'>Developing Applications Using <trademark class='trade'>Eclipse</trademark></link>" - Chapter covers the latter. + You can use the SDK toolchain directly with Makefile and + Autotools-based projects. </para> <section id='autotools-based-projects'> diff --git a/poky/documentation/toaster-manual/toaster-manual.xml b/poky/documentation/toaster-manual/toaster-manual.xml index 42dc6a33e..b31659ffb 100644 --- a/poky/documentation/toaster-manual/toaster-manual.xml +++ b/poky/documentation/toaster-manual/toaster-manual.xml @@ -73,9 +73,14 @@ </revision> <revision> <revnumber>2.7</revnumber> - <date>&REL_MONTH_YEAR;</date> + <date>May 2019</date> <revremark>Released with the Yocto Project 2.7 Release.</revremark> </revision> + <revision> + <revnumber>2.8</revnumber> + <date>&REL_MONTH_YEAR;</date> + <revremark>Released with the Yocto Project 2.8 Release.</revremark> + </revision> </revhistory> <copyright> diff --git a/poky/documentation/tools/mega-manual.sed b/poky/documentation/tools/mega-manual.sed index 79bbeef57..9c4f4e2ed 100644 --- a/poky/documentation/tools/mega-manual.sed +++ b/poky/documentation/tools/mega-manual.sed @@ -1,36 +1,36 @@ # Processes bitbake-user-manual (<word>-<word>-<word> style). # This style is for manual three-word folders, which currently is only the BitBake User Manual. # We used to have the "yocto-project-qs" and "poky-ref-manual" folders but no longer do. -# s@"ulink" href="http://www.yoctoproject.org/docs/2.7/[a-z]*-[a-z]*-[a-z]*/[a-z]*-[a-z]*-[a-z]*.html#@"link" href="#@g -s@"ulink" href="http://www.yoctoproject.org/docs/2.7/bitbake-user-manual/bitbake-user-manual.html#@"link" href="#@g +# s@"ulink" href="http://www.yoctoproject.org/docs/2.8/[a-z]*-[a-z]*-[a-z]*/[a-z]*-[a-z]*-[a-z]*.html#@"link" href="#@g +s@"ulink" href="http://www.yoctoproject.org/docs/2.8/bitbake-user-manual/bitbake-user-manual.html#@"link" href="#@g # Processes all other manuals (<word>-<word> style). # This style is for manual folders that use two word, which is the standard now (e.g. "ref-manual"). # Here is the one-liner: -# s@"ulink" href="http://www.yoctoproject.org/docs/2.7/[a-z]*-[a-z]*/[a-z]*-[a-z]*.html#@"link" href="#@g +# s@"ulink" href="http://www.yoctoproject.org/docs/2.8/[a-z]*-[a-z]*/[a-z]*-[a-z]*.html#@"link" href="#@g -s@"ulink" href="http://www.yoctoproject.org/docs/2.7/sdk-manual/sdk-manual.html#@"link" href="#@g -s@"ulink" href="http://www.yoctoproject.org/docs/2.7/bsp-guide/bsp-guide.html#@"link" href="#@g -s@"ulink" href="http://www.yoctoproject.org/docs/2.7/dev-manual/dev-manual.html#@"link" href="#@g -s@"ulink" href="http://www.yoctoproject.org/docs/2.7/overview-manual/overview-manual.html#@"link" href="#@g -s@"ulink" href="http://www.yoctoproject.org/docs/2.7/brief-yoctoprojectqs/brief-yoctoprojectqs.html#@"link" href="#@g -s@"ulink" href="http://www.yoctoproject.org/docs/2.7/kernel-dev/kernel-dev.html#@"link" href="#@g -s@"ulink" href="http://www.yoctoproject.org/docs/2.7/profile-manual/profile-manual.html#@"link" href="#@g -s@"ulink" href="http://www.yoctoproject.org/docs/2.7/ref-manual/ref-manual.html#@"link" href="#@g -s@"ulink" href="http://www.yoctoproject.org/docs/2.7/toaster-manual/toaster-manual.html#@"link" href="#@g +s@"ulink" href="http://www.yoctoproject.org/docs/2.8/sdk-manual/sdk-manual.html#@"link" href="#@g +s@"ulink" href="http://www.yoctoproject.org/docs/2.8/bsp-guide/bsp-guide.html#@"link" href="#@g +s@"ulink" href="http://www.yoctoproject.org/docs/2.8/dev-manual/dev-manual.html#@"link" href="#@g +s@"ulink" href="http://www.yoctoproject.org/docs/2.8/overview-manual/overview-manual.html#@"link" href="#@g +s@"ulink" href="http://www.yoctoproject.org/docs/2.8/brief-yoctoprojectqs/brief-yoctoprojectqs.html#@"link" href="#@g +s@"ulink" href="http://www.yoctoproject.org/docs/2.8/kernel-dev/kernel-dev.html#@"link" href="#@g +s@"ulink" href="http://www.yoctoproject.org/docs/2.8/profile-manual/profile-manual.html#@"link" href="#@g +s@"ulink" href="http://www.yoctoproject.org/docs/2.8/ref-manual/ref-manual.html#@"link" href="#@g +s@"ulink" href="http://www.yoctoproject.org/docs/2.8/toaster-manual/toaster-manual.html#@"link" href="#@g # Process cases where just an external manual is referenced without an id anchor -s@<a class="ulink" href="http://www.yoctoproject.org/docs/2.7/brief-yoctoprojectqs/brief-yoctoprojectqs.html" target="_top">Yocto Project Quick Build</a>@Yocto Project Quick Build@g -s@<a class="ulink" href="http://www.yoctoproject.org/docs/2.7/bitbake-user-manual/bitbake-user-manual.html" target="_top">BitBake User Manual</a>@BitBake User Manual@g -s@<a class="ulink" href="http://www.yoctoproject.org/docs/2.7/dev-manual/dev-manual.html" target="_top">Yocto Project Development Tasks Manual</a>@Yocto Project Development Tasks Manual@g -s@<a class="ulink" href="http://www.yoctoproject.org/docs/2.7/overview-manual/overview-manual.html" target="_top">Yocto Project Overview and Concepts Manual</a>@Yocto project Overview and Concepts Manual@g -s@<a class="ulink" href="http://www.yoctoproject.org/docs/2.7/sdk-manual/sdk-manual.html" target="_top">Yocto Project Application Development and the Extensible Software Development Kit (eSDK)</a>@Yocto Project Application Development and the Extensible Software Development Kit (eSDK)@g -s@<a class="ulink" href="http://www.yoctoproject.org/docs/2.7/bsp-guide/bsp-guide.html" target="_top">Yocto Project Board Support Package (BSP) Developer's Guide</a>@Yocto Project Board Support Package (BSP) Developer's Guide@g -s@<a class="ulink" href="http://www.yoctoproject.org/docs/2.7/profile-manual/profile-manual.html" target="_top">Yocto Project Profiling and Tracing Manual</a>@Yocto Project Profiling and Tracing Manual@g -s@<a class="ulink" href="http://www.yoctoproject.org/docs/2.7/kernel-dev/kernel-dev.html" target="_top">Yocto Project Linux Kernel Development Manual</a>@Yocto Project Linux Kernel Development Manual@g -s@<a class="ulink" href="http://www.yoctoproject.org/docs/2.7/ref-manual/ref-manual.html" target="_top">Yocto Project Reference Manual</a>@Yocto Project Reference Manual@g -s@<a class="ulink" href="http://www.yoctoproject.org/docs/2.7/toaster-manual/toaster-manual.html" target="_top">Toaster User Manual</a>@Toaster User Manual@g +s@<a class="ulink" href="http://www.yoctoproject.org/docs/2.8/brief-yoctoprojectqs/brief-yoctoprojectqs.html" target="_top">Yocto Project Quick Build</a>@Yocto Project Quick Build@g +s@<a class="ulink" href="http://www.yoctoproject.org/docs/2.8/bitbake-user-manual/bitbake-user-manual.html" target="_top">BitBake User Manual</a>@BitBake User Manual@g +s@<a class="ulink" href="http://www.yoctoproject.org/docs/2.8/dev-manual/dev-manual.html" target="_top">Yocto Project Development Tasks Manual</a>@Yocto Project Development Tasks Manual@g +s@<a class="ulink" href="http://www.yoctoproject.org/docs/2.8/overview-manual/overview-manual.html" target="_top">Yocto Project Overview and Concepts Manual</a>@Yocto project Overview and Concepts Manual@g +s@<a class="ulink" href="http://www.yoctoproject.org/docs/2.8/sdk-manual/sdk-manual.html" target="_top">Yocto Project Application Development and the Extensible Software Development Kit (eSDK)</a>@Yocto Project Application Development and the Extensible Software Development Kit (eSDK)@g +s@<a class="ulink" href="http://www.yoctoproject.org/docs/2.8/bsp-guide/bsp-guide.html" target="_top">Yocto Project Board Support Package (BSP) Developer's Guide</a>@Yocto Project Board Support Package (BSP) Developer's Guide@g +s@<a class="ulink" href="http://www.yoctoproject.org/docs/2.8/profile-manual/profile-manual.html" target="_top">Yocto Project Profiling and Tracing Manual</a>@Yocto Project Profiling and Tracing Manual@g +s@<a class="ulink" href="http://www.yoctoproject.org/docs/2.8/kernel-dev/kernel-dev.html" target="_top">Yocto Project Linux Kernel Development Manual</a>@Yocto Project Linux Kernel Development Manual@g +s@<a class="ulink" href="http://www.yoctoproject.org/docs/2.8/ref-manual/ref-manual.html" target="_top">Yocto Project Reference Manual</a>@Yocto Project Reference Manual@g +s@<a class="ulink" href="http://www.yoctoproject.org/docs/2.8/toaster-manual/toaster-manual.html" target="_top">Toaster User Manual</a>@Toaster User Manual@g # Process a single, rouge occurrence of a linked reference to the Mega-Manual. -s@<a class="ulink" href="http://www.yoctoproject.org/docs/2.7/mega-manual/mega-manual.html" target="_top">Yocto Project Mega-Manual</a>@Yocto Project Mega-Manual@g +s@<a class="ulink" href="http://www.yoctoproject.org/docs/2.8/mega-manual/mega-manual.html" target="_top">Yocto Project Mega-Manual</a>@Yocto Project Mega-Manual@g diff --git a/poky/meta-poky/conf/distro/poky-tiny.conf b/poky/meta-poky/conf/distro/poky-tiny.conf index 690cb0d5c..1f8b6e8ff 100644 --- a/poky/meta-poky/conf/distro/poky-tiny.conf +++ b/poky/meta-poky/conf/distro/poky-tiny.conf @@ -38,7 +38,7 @@ TCLIBC = "musl" # Distro config is evaluated after the machine config, so we have to explicitly # set the kernel provider to override a machine config. PREFERRED_PROVIDER_virtual/kernel = "linux-yocto-tiny" -PREFERRED_VERSION_linux-yocto-tiny ?= "4.18%" +PREFERRED_VERSION_linux-yocto-tiny ?= "5.0%" # We can use packagegroup-core-boot, but in the future we may need a new packagegroup-core-tiny #POKY_DEFAULT_EXTRA_RDEPENDS += "packagegroup-core-boot" @@ -60,7 +60,7 @@ USE_NLS="no" # Comment out any of the lines below to disable them in the build # DISTRO_FEATURES options: -# alsa bluetooth ext2 irda pcmcia usbgadget usbhost wifi nfs zeroconf pci +# alsa bluetooth ext2 pcmcia usbgadget usbhost wifi nfs zeroconf pci DISTRO_FEATURES_TINY = "pci" DISTRO_FEATURES_NET = "ipv4 ipv6" DISTRO_FEATURES_USB = "usbhost" @@ -78,8 +78,8 @@ DISTRO_FEATURES = "${DISTRO_FEATURES_TINY} \ DISTRO_FEATURES_append_libc-uclibc = " largefile" DISTRO_FEATURES_append_libc-musl = " largefile" -DISTRO_FEATURES_class-native = "${DISTRO_FEATURES_DEFAULT} ${DISTRO_FEATURES_LIBC} ${POKY_DEFAULT_DISTRO_FEATURES}" -DISTRO_FEATURES_class-nativesdk = "${DISTRO_FEATURES_DEFAULT} ${DISTRO_FEATURES_LIBC} ${POKY_DEFAULT_DISTRO_FEATURES}" +DISTRO_FEATURES_class-native = "${DISTRO_FEATURES_DEFAULT} ${POKY_DEFAULT_DISTRO_FEATURES}" +DISTRO_FEATURES_class-nativesdk = "${DISTRO_FEATURES_DEFAULT} ${POKY_DEFAULT_DISTRO_FEATURES}" # enable mdev/busybox for init VIRTUAL-RUNTIME_dev_manager = "busybox-mdev" diff --git a/poky/meta-poky/conf/distro/poky.conf b/poky/meta-poky/conf/distro/poky.conf index 6544c0339..78621e6db 100644 --- a/poky/meta-poky/conf/distro/poky.conf +++ b/poky/meta-poky/conf/distro/poky.conf @@ -1,6 +1,6 @@ DISTRO = "poky" DISTRO_NAME = "Poky (Yocto Project Reference Distro)" -DISTRO_VERSION = "2.6+snapshot-${DATE}" +DISTRO_VERSION = "2.7+snapshot-${DATE}" DISTRO_CODENAME = "master" SDK_VENDOR = "-pokysdk" SDK_VERSION = "${@d.getVar('DISTRO_VERSION').replace('snapshot-${DATE}', 'snapshot')}" @@ -19,7 +19,7 @@ POKY_DEFAULT_DISTRO_FEATURES = "largefile opengl ptest multiarch wayland vulkan" POKY_DEFAULT_EXTRA_RDEPENDS = "packagegroup-core-boot" POKY_DEFAULT_EXTRA_RRECOMMENDS = "kernel-module-af-packet" -DISTRO_FEATURES ?= "${DISTRO_FEATURES_DEFAULT} ${DISTRO_FEATURES_LIBC} ${POKY_DEFAULT_DISTRO_FEATURES}" +DISTRO_FEATURES ?= "${DISTRO_FEATURES_DEFAULT} ${POKY_DEFAULT_DISTRO_FEATURES}" PREFERRED_VERSION_linux-yocto ?= "5.0%" @@ -50,11 +50,12 @@ p4://.*/.* http://downloads.yoctoproject.org/mirror/sources/ \n \ svn://.*/.* http://downloads.yoctoproject.org/mirror/sources/ \n" SANITY_TESTED_DISTROS ?= " \ - poky-2.5 \n \ poky-2.6 \n \ + poky-2.7 \n \ ubuntu-16.04 \n \ ubuntu-18.04 \n \ fedora-28 \n \ + fedora-29 \n \ centos-7 \n \ debian-8 \n \ debian-9 \n \ diff --git a/poky/meta-poky/conf/local.conf.sample.extended b/poky/meta-poky/conf/local.conf.sample.extended index 87d211db3..26603debe 100644 --- a/poky/meta-poky/conf/local.conf.sample.extended +++ b/poky/meta-poky/conf/local.conf.sample.extended @@ -24,22 +24,10 @@ # For a quad-core machine, BB_NUMBER_THREADS = "4", PARALLEL_MAKE = "-j 4" would # be appropriate for example. - -# glibc configurability is used to reduce minimal image's size. -# the all supported glibc options are listed in DISTRO_FEATURES_LIBC -# and disabled by default. Uncomment and copy the DISTRO_FEATURES_LIBC -# and DISTRO_FEATURES definitions to local.conf to enable the options. -#DISTRO_FEATURES_LIBC = "ipv6 libc-backtrace libc-big-macros libc-bsd libc-cxx-tests libc-catgets libc-charsets libc-crypt \ -# libc-crypt-ufc libc-db-aliases libc-envz libc-fcvt libc-fmtmsg libc-fstab libc-ftraverse \ -# libc-getlogin libc-idn libc-inet libc-inet-anl libc-libm libc-locales libc-locale-code \ -# libc-memusage libc-nsswitch libc-rcmd libc-rtld-debug libc-spawn libc-streams \ -# libc-utmp libc-utmpx libc-wordexp libc-posix-clang-wchar libc-posix-regexp libc-posix-regexp-glibc \ -# libc-posix-wchar-io" - -#DISTRO_FEATURES = "alsa bluetooth ext2 irda pcmcia usbgadget usbhost wifi nfs zeroconf pci ${DISTRO_FEATURES_LIBC}" - -# If you want to get an image based on directfb without x11, Please copy this variable to build/conf/local.conf -#DISTRO_FEATURES = "alsa argp bluetooth ext2 irda largefile pcmcia usbgadget usbhost wifi xattr nfs zeroconf pci 3g directfb ${DISTRO_FEATURES_LIBC}" +# If you want to get an image based on directfb without x11 alter +# DISTRO_FEATURES: +DISTRO_FEATURES_append = " directfb" +DISTRO_FEATURES_remove = "x11" # ENABLE_BINARY_LOCALE_GENERATION controls the generation of binary locale # packages at build time using qemu-native. Disabling it (by setting it to 0) diff --git a/poky/meta-yocto-bsp/conf/machine/beaglebone-yocto.conf b/poky/meta-yocto-bsp/conf/machine/beaglebone-yocto.conf index 70d3cfea3..bc18ee8c4 100644 --- a/poky/meta-yocto-bsp/conf/machine/beaglebone-yocto.conf +++ b/poky/meta-yocto-bsp/conf/machine/beaglebone-yocto.conf @@ -32,7 +32,7 @@ KERNEL_EXTRA_ARGS += "LOADADDR=${UBOOT_ENTRYPOINT}" SPL_BINARY = "MLO" UBOOT_SUFFIX = "img" -UBOOT_MACHINE = "am335x_boneblack_config" +UBOOT_MACHINE = "am335x_evm_defconfig" UBOOT_ENTRYPOINT = "0x80008000" UBOOT_LOADADDRESS = "0x80008000" diff --git a/poky/meta-yocto-bsp/lib/oeqa/selftest/cases/systemd_boot.py b/poky/meta-yocto-bsp/lib/oeqa/selftest/cases/systemd_boot.py index dfd739ae7..0a3a2cdc4 100644 --- a/poky/meta-yocto-bsp/lib/oeqa/selftest/cases/systemd_boot.py +++ b/poky/meta-yocto-bsp/lib/oeqa/selftest/cases/systemd_boot.py @@ -1,14 +1,11 @@ import os from oeqa.selftest.case import OESelftestTestCase -from oeqa.core.decorator.oeid import OETestID from oeqa.core.decorator.depends import OETestDepends from oeqa.utils.commands import runCmd, bitbake, get_bb_var, runqemu class Systemdboot(OESelftestTestCase): - @OETestID(1445) - @OETestID(1528) def test_efi_systemdboot_images_can_be_built(self): """ Summary: Check if systemd-boot images can be built correctly diff --git a/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_4.18.bbappend b/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_4.18.bbappend deleted file mode 100644 index e53bb51f2..000000000 --- a/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_4.18.bbappend +++ /dev/null @@ -1,27 +0,0 @@ -KBRANCH_genericx86 = "v4.18/standard/base" -KBRANCH_genericx86-64 = "v4.18/standard/base" -KBRANCH_edgerouter = "v4.18/standard/edgerouter" -KBRANCH_beaglebone-yocto = "v4.18/standard/beaglebone" -KBRANCH_mpc8315e-rdb = "v4.18/standard/fsl-mpc8315e-rdb" - -KMACHINE_genericx86 ?= "common-pc" -KMACHINE_genericx86-64 ?= "common-pc-64" -KMACHINE_beaglebone-yocto ?= "beaglebone" - -SRCREV_machine_genericx86 ?= "62f0a3acffffd555f68ed97d5e4faade2b28f3c0" -SRCREV_machine_genericx86-64 ?= "62f0a3acffffd555f68ed97d5e4faade2b28f3c0" -SRCREV_machine_edgerouter ?= "28e7781d57a59227bf1c08c7f3dbdfee16aa0dc2" -SRCREV_machine_beaglebone-yocto ?= "28e7781d57a59227bf1c08c7f3dbdfee16aa0dc2" -SRCREV_machine_mpc8315e-rdb ?= "99071a599d8650b069fb8135866fca203f375350" - -COMPATIBLE_MACHINE_genericx86 = "genericx86" -COMPATIBLE_MACHINE_genericx86-64 = "genericx86-64" -COMPATIBLE_MACHINE_edgerouter = "edgerouter" -COMPATIBLE_MACHINE_beaglebone-yocto = "beaglebone-yocto" -COMPATIBLE_MACHINE_mpc8315e-rdb = "mpc8315e-rdb" - -LINUX_VERSION_genericx86 = "4.18.27" -LINUX_VERSION_genericx86-64 = "4.18.27" -LINUX_VERSION_edgerouter = "4.18.25" -LINUX_VERSION_beaglebone-yocto = "4.18.25" -LINUX_VERSION_mpc8315e-rdb = "4.18.25" diff --git a/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_4.19.bbappend b/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_4.19.bbappend index 8e708cb66..ec269d905 100644 --- a/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_4.19.bbappend +++ b/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_4.19.bbappend @@ -8,11 +8,11 @@ KMACHINE_genericx86 ?= "common-pc" KMACHINE_genericx86-64 ?= "common-pc-64" KMACHINE_beaglebone-yocto ?= "beaglebone" -SRCREV_machine_genericx86 ?= "eebb51300a07804a020ec468b5f8c5bf720198d9" -SRCREV_machine_genericx86-64 ?= "eebb51300a07804a020ec468b5f8c5bf720198d9" -SRCREV_machine_edgerouter ?= "eebb51300a07804a020ec468b5f8c5bf720198d9" -SRCREV_machine_beaglebone-yocto ?= "eebb51300a07804a020ec468b5f8c5bf720198d9" -SRCREV_machine_mpc8315e-rdb ?= "8b60f968823256f5d2889c4520d70299ca21411b" +SRCREV_machine_genericx86 ?= "5664dc14399edcaad210bbeb6343d84561fb3ea8" +SRCREV_machine_genericx86-64 ?= "5664dc14399edcaad210bbeb6343d84561fb3ea8" +SRCREV_machine_edgerouter ?= "5664dc14399edcaad210bbeb6343d84561fb3ea8" +SRCREV_machine_beaglebone-yocto ?= "5664dc14399edcaad210bbeb6343d84561fb3ea8" +SRCREV_machine_mpc8315e-rdb ?= "d419f4ca6ba4b097b8ad710a93b89510f5b2998c" COMPATIBLE_MACHINE_genericx86 = "genericx86" COMPATIBLE_MACHINE_genericx86-64 = "genericx86-64" @@ -20,8 +20,8 @@ COMPATIBLE_MACHINE_edgerouter = "edgerouter" COMPATIBLE_MACHINE_beaglebone-yocto = "beaglebone-yocto" COMPATIBLE_MACHINE_mpc8315e-rdb = "mpc8315e-rdb" -LINUX_VERSION_genericx86 = "4.19.14" -LINUX_VERSION_genericx86-64 = "4.19.14" -LINUX_VERSION_edgerouter = "4.19.14" -LINUX_VERSION_beaglebone-yocto = "4.19.14" -LINUX_VERSION_mpc8315e-rdb = "4.19.14" +LINUX_VERSION_genericx86 = "4.19.34" +LINUX_VERSION_genericx86-64 = "4.19.34" +LINUX_VERSION_edgerouter = "4.19.34" +LINUX_VERSION_beaglebone-yocto = "4.19.34" +LINUX_VERSION_mpc8315e-rdb = "4.19.34" diff --git a/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.0.bbappend b/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.0.bbappend index 5cf6e1f06..d7cf1216f 100644 --- a/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.0.bbappend +++ b/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.0.bbappend @@ -8,11 +8,11 @@ KMACHINE_genericx86 ?= "common-pc" KMACHINE_genericx86-64 ?= "common-pc-64" KMACHINE_beaglebone-yocto ?= "beaglebone" -SRCREV_machine_genericx86 ?= "3df4aae6074e94e794e27fe7f17451d9353cdf3d" -SRCREV_machine_genericx86-64 ?= "3df4aae6074e94e794e27fe7f17451d9353cdf3d" -SRCREV_machine_edgerouter ?= "3df4aae6074e94e794e27fe7f17451d9353cdf3d" -SRCREV_machine_beaglebone-yocto ?= "3df4aae6074e94e794e27fe7f17451d9353cdf3d" -SRCREV_machine_mpc8315e-rdb ?= "8b62af7f252af10588276802c4c6d7c502e875be" +SRCREV_machine_genericx86 ?= "f990fd0ce123aa6035042efad09b2ddc3e7d48f4" +SRCREV_machine_genericx86-64 ?= "f990fd0ce123aa6035042efad09b2ddc3e7d48f4" +SRCREV_machine_edgerouter ?= "f990fd0ce123aa6035042efad09b2ddc3e7d48f4" +SRCREV_machine_beaglebone-yocto ?= "f990fd0ce123aa6035042efad09b2ddc3e7d48f4" +SRCREV_machine_mpc8315e-rdb ?= "670ce7e9db627d0c2067cfdb571ddc1f117818d8" COMPATIBLE_MACHINE_genericx86 = "genericx86" COMPATIBLE_MACHINE_genericx86-64 = "genericx86-64" @@ -20,8 +20,8 @@ COMPATIBLE_MACHINE_edgerouter = "edgerouter" COMPATIBLE_MACHINE_beaglebone-yocto = "beaglebone-yocto" COMPATIBLE_MACHINE_mpc8315e-rdb = "mpc8315e-rdb" -LINUX_VERSION_genericx86 = "5.0.3" -LINUX_VERSION_genericx86-64 = "5.0.3" -LINUX_VERSION_edgerouter = "5.0.3" -LINUX_VERSION_beaglebone-yocto = "5.0.3" -LINUX_VERSION_mpc8315e-rdb = "5.0.3" +LINUX_VERSION_genericx86 = "5.0.13" +LINUX_VERSION_genericx86-64 = "5.0.13" +LINUX_VERSION_edgerouter = "5.0.13" +LINUX_VERSION_beaglebone-yocto = "5.0.13" +LINUX_VERSION_mpc8315e-rdb = "5.0.13" diff --git a/poky/meta/classes/ccmake.bbclass b/poky/meta/classes/ccmake.bbclass new file mode 100644 index 000000000..df5134a10 --- /dev/null +++ b/poky/meta/classes/ccmake.bbclass @@ -0,0 +1,97 @@ +inherit terminal + +python do_ccmake() { + import shutil + + # copy current config for diffing + config = os.path.join(d.getVar("B"), "CMakeCache.txt") + if os.path.exists(config): + shutil.copy(config, config + ".orig") + + oe_terminal(d.expand("ccmake ${OECMAKE_GENERATOR_ARGS} ${OECMAKE_SOURCEPATH} -Wno-dev"), + d.getVar("PN") + " - ccmake", d) + + if os.path.exists(config) and os.path.exists(config + ".orig"): + if bb.utils.md5_file(config) != bb.utils.md5_file(config + ".orig"): + # the cmake class uses cmake --build, which will by default + # regenerate configuration, simply mark the compile step as tainted + # to ensure it is re-run + bb.note("Configuration changed, recompile will be forced") + bb.build.write_taint('do_compile', d) + +} +do_ccmake[depends] += "cmake-native:do_populate_sysroot" +do_ccmake[nostamp] = "1" +do_ccmake[dirs] = "${B}" +addtask ccmake after do_configure + +def cmake_parse_config_cache(path): + with open(path, "r") as f: + for i in f: + i = i.rstrip("\n") + if len(i) == 0 or i.startswith("//") or i.startswith("#"): + continue # empty or comment + key, value = i.split("=", 1) + key, keytype = key.split(":") + if keytype in ["INTERNAL", "STATIC"]: + continue # skip internal and static config options + yield key, keytype, value + +def cmake_diff_config_vars(a, b): + removed, added = [], [] + + for ak, akt, av in a: + found = False + for bk, bkt, bv in b: + if bk == ak: + found = True + if bkt != akt or bv != av: # changed + removed.append((ak, akt, av)) + added.append((bk, bkt, bv)) + break + # remove any missing from b + if not found: + removed.append((ak, akt, av)) + + # add any missing from a + for bk, bkt, bv in b: + if not any(bk == ak for ak, akt, av in a): + added.append((bk, bkt, bv)) + + return removed, added + +python do_ccmake_diffconfig() { + import shutil + config = os.path.join(d.getVar("B"), "CMakeCache.txt") + if os.path.exists(config) and os.path.exists(config + ".orig"): + if bb.utils.md5_file(config) != bb.utils.md5_file(config + ".orig"): + # scan the changed options + old = list(cmake_parse_config_cache(config + ".orig")) + new = list(cmake_parse_config_cache(config)) + _, added = cmake_diff_config_vars(old, new) + + if len(added) != 0: + with open(d.expand("${WORKDIR}/configuration.inc"), "w") as f: + f.write("EXTRA_OECMAKE += \" \\\n") + for k, kt, v in added: + escaped = v if " " not in v else "\"{0}\"".format(v) + f.write(" -D{0}:{1}={2} \\\n".format(k, kt, escaped)) + f.write(" \"\n") + bb.plain("Configuration recipe fragment written to: {0}".format(d.expand("${WORKDIR}/configuration.inc"))) + + with open(d.expand("${WORKDIR}/site-file.cmake"), "w") as f: + for k, kt, v in added: + f.write("SET({0} \"{1}\" CACHE {2} \"\")\n".format(k, v, kt)) + bb.plain("Configuration cmake fragment written to: {0}".format(d.expand("${WORKDIR}/site-file.cmake"))) + + # restore the original config + shutil.copy(config + ".orig", config) + else: + bb.plain("No configuration differences, skipping configuration fragment generation.") + else: + bb.fatal("No config files found. Did you run ccmake?") +} +do_ccmake_diffconfig[nostamp] = "1" +do_ccmake_diffconfig[dirs] = "${B}" +addtask ccmake_diffconfig + diff --git a/poky/meta/classes/cmake.bbclass b/poky/meta/classes/cmake.bbclass index e16630434..d3f0d7084 100644 --- a/poky/meta/classes/cmake.bbclass +++ b/poky/meta/classes/cmake.bbclass @@ -10,13 +10,14 @@ OECMAKE_GENERATOR ?= "Ninja" python() { generator = d.getVar("OECMAKE_GENERATOR") - if generator == "Unix Makefiles": - args = "-G 'Unix Makefiles' -DCMAKE_MAKE_PROGRAM=" + d.getVar("MAKE") + if "Unix Makefiles" in generator: + args = "-G '" + generator + "' -DCMAKE_MAKE_PROGRAM=" + d.getVar("MAKE") d.setVar("OECMAKE_GENERATOR_ARGS", args) d.setVarFlag("do_compile", "progress", "percent") - elif generator == "Ninja": + elif "Ninja" in generator: + args = "-G '" + generator + "' -DCMAKE_MAKE_PROGRAM=ninja" d.appendVar("DEPENDS", " ninja-native") - d.setVar("OECMAKE_GENERATOR_ARGS", "-G Ninja -DCMAKE_MAKE_PROGRAM=ninja") + d.setVar("OECMAKE_GENERATOR_ARGS", args) d.setVarFlag("do_compile", "progress", r"outof:^\[(\d+)/(\d+)\]\s+") else: bb.fatal("Unknown CMake Generator %s" % generator) diff --git a/poky/meta/classes/cml1.bbclass b/poky/meta/classes/cml1.bbclass index 98d24cec7..c7f6723cb 100644 --- a/poky/meta/classes/cml1.bbclass +++ b/poky/meta/classes/cml1.bbclass @@ -1,7 +1,7 @@ cml1_do_configure() { set -e unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS - oe_runmake oldconfig + yes '' | oe_runmake oldconfig } EXPORT_FUNCTIONS do_configure diff --git a/poky/meta/classes/distutils.bbclass b/poky/meta/classes/distutils.bbclass index 986273149..3759b5826 100644 --- a/poky/meta/classes/distutils.bbclass +++ b/poky/meta/classes/distutils.bbclass @@ -9,6 +9,9 @@ DISTUTILS_INSTALL_ARGS ?= "--root=${D} \ --install-lib=${PYTHON_SITEPACKAGES_DIR} \ --install-data=${datadir}" +DISTUTILS_PYTHON = "python" +DISTUTILS_PYTHON_class-native = "nativepython" + distutils_do_configure() { if [ "${CLEANBROKEN}" != "1" ] ; then NO_FETCH_BUILD=1 \ @@ -49,29 +52,20 @@ distutils_do_install() { # support filenames with *spaces* # only modify file if it contains path and recompile it - find ${D} -name "*.py" -exec grep -q ${D} {} \; -exec sed -i -e s:${D}::g {} \; -exec ${STAGING_BINDIR_NATIVE}/python-native/python -mcompileall {} \; - - if test -e ${D}${bindir} ; then - for i in ${D}${bindir}/* ; do \ - if [ ${PN} != "${BPN}-native" ]; then - sed -i -e s:${STAGING_BINDIR_NATIVE}/python-native/python:${USRBINPATH}/env\ python:g $i - fi - sed -i -e s:${STAGING_BINDIR_NATIVE}:${bindir}:g $i - done - fi + find ${D} -name "*.py" -exec grep -q ${D} {} \; \ + -exec sed -i -e s:${D}::g {} \; \ + -exec ${STAGING_BINDIR_NATIVE}/python-native/python -mcompileall {} \; - if [ -e ${D}${sbindir} ]; then - for i in ${D}${sbindir}/* ; do \ - if [ ${PN} != "${BPN}-native" ]; then - sed -i -e s:${STAGING_BINDIR_NATIVE}/python-native/python:${USRBINPATH}/env\ python:g $i - fi + for i in ${D}${bindir}/* ${D}${sbindir}/*; do + if [ -f "$i" ]; then + sed -i -e s:${PYTHON}:${USRBINPATH}/env\ ${DISTUTILS_PYTHON}:g $i sed -i -e s:${STAGING_BINDIR_NATIVE}:${bindir}:g $i - done - fi + fi + done rm -f ${D}${PYTHON_SITEPACKAGES_DIR}/easy-install.pth rm -f ${D}${PYTHON_SITEPACKAGES_DIR}/site.py* - + # # FIXME: Bandaid against wrong datadir computation # @@ -81,7 +75,8 @@ distutils_do_install() { fi # Fix backport modules - if [ -e ${STAGING_LIBDIR}/${PYTHON_DIR}/site-packages/backports/__init__.py ] && [ -e ${D}${PYTHON_SITEPACKAGES_DIR}/backports/__init__.py ]; then + if [ -e ${STAGING_LIBDIR}/${PYTHON_DIR}/site-packages/backports/__init__.py ] && + [ -e ${D}${PYTHON_SITEPACKAGES_DIR}/backports/__init__.py ]; then rm ${D}${PYTHON_SITEPACKAGES_DIR}/backports/__init__.py; rm ${D}${PYTHON_SITEPACKAGES_DIR}/backports/__init__.pyc; fi diff --git a/poky/meta/classes/distutils3.bbclass b/poky/meta/classes/distutils3.bbclass index 834e32247..05a24bfe2 100644 --- a/poky/meta/classes/distutils3.bbclass +++ b/poky/meta/classes/distutils3.bbclass @@ -10,6 +10,9 @@ DISTUTILS_INSTALL_ARGS ?= "--root=${D} \ --install-lib=${PYTHON_SITEPACKAGES_DIR} \ --install-data=${datadir}" +DISTUTILS_PYTHON = "python3" +DISTUTILS_PYTHON_class-native = "nativepython3" + distutils3_do_configure() { if [ "${CLEANBROKEN}" != "1" ] ; then NO_FETCH_BUILD=1 \ @@ -53,24 +56,18 @@ distutils3_do_install() { bbfatal_log "'${PYTHON_PN} setup.py install ${DISTUTILS_INSTALL_ARGS}' execution failed." # support filenames with *spaces* - find ${D} -name "*.py" -exec grep -q ${D} {} \; -exec sed -i -e s:${D}::g {} \; - - if test -e ${D}${bindir} ; then - for i in ${D}${bindir}/* ; do \ - sed -i -e s:${STAGING_BINDIR_NATIVE}/${PYTHON_PN}-native/${PYTHON_PN}:${USRBINPATH}/env\ ${PYTHON_PN}:g $i - sed -i -e s:${STAGING_BINDIR_NATIVE}:${bindir}:g $i - done - fi + find ${D} -name "*.py" -exec grep -q ${D} {} \; \ + -exec sed -i -e s:${D}::g {} \; - if test -e ${D}${sbindir}; then - for i in ${D}${sbindir}/* ; do \ - sed -i -e s:${STAGING_BINDIR_NATIVE}/python-${PYTHON_PN}/${PYTHON_PN}:${USRBINPATH}/env\ ${PYTHON_PN}:g $i + for i in ${D}${bindir}/* ${D}${sbindir}/*; do + if [ -f "$i" ]; then + sed -i -e s:${PYTHON}:${USRBINPATH}/env\ ${DISTUTILS_PYTHON}:g $i sed -i -e s:${STAGING_BINDIR_NATIVE}:${bindir}:g $i - done - fi + fi + done rm -f ${D}${PYTHON_SITEPACKAGES_DIR}/easy-install.pth - + # # FIXME: Bandaid against wrong datadir computation # diff --git a/poky/meta/classes/go.bbclass b/poky/meta/classes/go.bbclass index 7069c5fec..b6d9372c5 100644 --- a/poky/meta/classes/go.bbclass +++ b/poky/meta/classes/go.bbclass @@ -8,6 +8,23 @@ GOROOT = "${STAGING_LIBDIR}/go" export GOROOT export GOROOT_FINAL = "${libdir}/go" +export GOARCH = "${TARGET_GOARCH}" +export GOOS = "${TARGET_GOOS}" +export GOHOSTARCH="${BUILD_GOARCH}" +export GOHOSTOS="${BUILD_GOOS}" + +GOARM[export] = "0" +GOARM_arm_class-target = "${TARGET_GOARM}" +GOARM_arm_class-target[export] = "1" + +GO386[export] = "0" +GO386_x86_class-target = "${TARGET_GO386}" +GO386_x86_class-target[export] = "1" + +GOMIPS[export] = "0" +GOMIPS_mips_class-target = "${TARGET_GOMIPS}" +GOMIPS_mips_class-target[export] = "1" + DEPENDS_GOLANG_class-target = "virtual/${TUNE_PKGARCH}-go virtual/${TARGET_PREFIX}go-runtime" DEPENDS_GOLANG_class-native = "go-native" DEPENDS_GOLANG_class-nativesdk = "virtual/${TARGET_PREFIX}go-crosssdk virtual/${TARGET_PREFIX}go-runtime" @@ -113,7 +130,7 @@ go_do_install() { install -d ${D}${libdir}/go/src/${GO_IMPORT} tar -C ${S}/src/${GO_IMPORT} -cf - --exclude-vcs --exclude '*.test' --exclude 'testdata' . | \ tar -C ${D}${libdir}/go/src/${GO_IMPORT} --no-same-owner -xf - - tar -C ${B} -cf - pkg | tar -C ${D}${libdir}/go --no-same-owner -xf - + tar -C ${B} -cf - --exclude-vcs pkg | tar -C ${D}${libdir}/go --no-same-owner -xf - if [ -n "`ls ${B}/${GO_BUILD_BINDIR}/`" ]; then install -d ${D}${bindir} diff --git a/poky/meta/classes/goarch.bbclass b/poky/meta/classes/goarch.bbclass index 7aaf26aed..166dea9dc 100644 --- a/poky/meta/classes/goarch.bbclass +++ b/poky/meta/classes/goarch.bbclass @@ -3,18 +3,26 @@ BUILD_GOARCH = "${@go_map_arch(d.getVar('BUILD_ARCH'), d)}" BUILD_GOTUPLE = "${BUILD_GOOS}_${BUILD_GOARCH}" HOST_GOOS = "${@go_map_os(d.getVar('HOST_OS'), d)}" HOST_GOARCH = "${@go_map_arch(d.getVar('HOST_ARCH'), d)}" -HOST_GOARM = "${@go_map_arm(d.getVar('HOST_ARCH'), d.getVar('TUNE_FEATURES'), d)}" +HOST_GOARM = "${@go_map_arm(d.getVar('HOST_ARCH'), d)}" HOST_GO386 = "${@go_map_386(d.getVar('HOST_ARCH'), d.getVar('TUNE_FEATURES'), d)}" HOST_GOMIPS = "${@go_map_mips(d.getVar('HOST_ARCH'), d.getVar('TUNE_FEATURES'), d)}" HOST_GOTUPLE = "${HOST_GOOS}_${HOST_GOARCH}" TARGET_GOOS = "${@go_map_os(d.getVar('TARGET_OS'), d)}" TARGET_GOARCH = "${@go_map_arch(d.getVar('TARGET_ARCH'), d)}" -TARGET_GOARM = "${@go_map_arm(d.getVar('TARGET_ARCH'), d.getVar('TUNE_FEATURES'), d)}" +TARGET_GOARM = "${@go_map_arm(d.getVar('TARGET_ARCH'), d)}" TARGET_GO386 = "${@go_map_386(d.getVar('TARGET_ARCH'), d.getVar('TUNE_FEATURES'), d)}" TARGET_GOMIPS = "${@go_map_mips(d.getVar('TARGET_ARCH'), d.getVar('TUNE_FEATURES'), d)}" TARGET_GOTUPLE = "${TARGET_GOOS}_${TARGET_GOARCH}" GO_BUILD_BINDIR = "${@['bin/${HOST_GOTUPLE}','bin'][d.getVar('BUILD_GOTUPLE') == d.getVar('HOST_GOTUPLE')]}" +# Use the MACHINEOVERRIDES to map ARM CPU architecture passed to GO via GOARM. +# This is combined with *_ARCH to set HOST_GOARM and TARGET_GOARM. +BASE_GOARM = '' +BASE_GOARM_armv7ve = '7' +BASE_GOARM_armv7a = '7' +BASE_GOARM_armv6 = '6' +BASE_GOARM_armv5 = '5' + # Go supports dynamic linking on a limited set of architectures. # See the supportsDynlink function in go/src/cmd/compile/internal/gc/main.go GO_DYNLINK = "" @@ -73,15 +81,9 @@ def go_map_arch(a, d): else: raise bb.parse.SkipRecipe("Unsupported CPU architecture: %s" % a) -def go_map_arm(a, f, d): - import re - if re.match('arm.*', a): - if 'armv7' in f: - return '7' - elif 'armv6' in f: - return '6' - elif 'armv5' in f: - return '5' +def go_map_arm(a, d): + if a.startswith("arm"): + return d.getVar('BASE_GOARM') return '' def go_map_386(a, f, d): diff --git a/poky/meta/classes/gobject-introspection.bbclass b/poky/meta/classes/gobject-introspection.bbclass index 4ceb0c68b..504f75e28 100644 --- a/poky/meta/classes/gobject-introspection.bbclass +++ b/poky/meta/classes/gobject-introspection.bbclass @@ -6,14 +6,24 @@ # This also sets up autoconf-based recipes to build introspection data (or not), # depending on distro and machine features (see gobject-introspection-data class). inherit python3native gobject-introspection-data + +# meson: default option name to enable/disable introspection. This matches most +# project's configuration. In doubts - check meson_options.txt in project's +# source path. +GIR_MESON_OPTION ?= 'introspection' +GIR_MESON_ENABLE_FLAG ?= 'true' +GIR_MESON_DISABLE_FLAG ?= 'false' + +# Auto enable/disable based on GI_DATA_ENABLED EXTRA_OECONF_prepend_class-target = "${@bb.utils.contains('GI_DATA_ENABLED', 'True', '--enable-introspection', '--disable-introspection', d)} " +EXTRA_OEMESON_prepend_class-target = "-D${GIR_MESON_OPTION}=${@bb.utils.contains('GI_DATA_ENABLED', 'True', '${GIR_MESON_ENABLE_FLAG}', '${GIR_MESON_DISABLE_FLAG}', d)} " # When building native recipes, disable introspection, as it is not necessary, # pulls in additional dependencies, and makes build times longer EXTRA_OECONF_prepend_class-native = "--disable-introspection " EXTRA_OECONF_prepend_class-nativesdk = "--disable-introspection " - -UNKNOWN_CONFIGURE_WHITELIST_append = " --enable-introspection --disable-introspection" +EXTRA_OEMESON_prepend_class-native = "-D${GIR_MESON_OPTION}=${GIR_MESON_DISABLE_FLAG} " +EXTRA_OEMESON_prepend_class-nativesdk = "-D${GIR_MESON_OPTION}=${GIR_MESON_DISABLE_FLAG} " # Generating introspection data depends on a combination of native and target # introspection tools, and qemu to run the target tools. diff --git a/poky/meta/classes/grub-efi-cfg.bbclass b/poky/meta/classes/grub-efi-cfg.bbclass index 5eeee6c2e..f661a69f8 100644 --- a/poky/meta/classes/grub-efi-cfg.bbclass +++ b/poky/meta/classes/grub-efi-cfg.bbclass @@ -27,6 +27,9 @@ EFIDIR = "/EFI/BOOT" GRUB_ROOT ?= "${ROOT}" APPEND ?= "" +# Uses MACHINE specific KERNEL_IMAGETYPE +PACKAGE_ARCH = "${MACHINE_ARCH}" + # Need UUID utility code. inherit fs-uuid diff --git a/poky/meta/classes/gtk-doc.bbclass b/poky/meta/classes/gtk-doc.bbclass index 707d74d10..7dd662bf8 100644 --- a/poky/meta/classes/gtk-doc.bbclass +++ b/poky/meta/classes/gtk-doc.bbclass @@ -10,13 +10,24 @@ GTKDOC_ENABLED ?= "${@bb.utils.contains('DISTRO_FEATURES', 'api-documentation', \ bb.utils.contains('MACHINE_FEATURES', 'qemu-usermode', 'True', 'False', d), 'False', d)}" +# meson: default option name to enable/disable gtk-doc. This matches most +# project's configuration. In doubts - check meson_options.txt in project's +# source path. +GTKDOC_MESON_OPTION ?= 'docs' +GTKDOC_MESON_ENABLE_FLAG ?= 'true' +GTKDOC_MESON_DISABLE_FLAG ?= 'false' + +# Auto enable/disable based on GTKDOC_ENABLED EXTRA_OECONF_prepend_class-target = "${@bb.utils.contains('GTKDOC_ENABLED', 'True', '--enable-gtk-doc --enable-gtk-doc-html --disable-gtk-doc-pdf', \ '--disable-gtk-doc', d)} " +EXTRA_OEMESON_prepend_class-target = "-D${GTKDOC_MESON_OPTION}=${@bb.utils.contains('GTKDOC_ENABLED', 'True', '${GTKDOC_MESON_ENABLE_FLAG}', '${GTKDOC_MESON_DISABLE_FLAG}', d)} " # When building native recipes, disable gtkdoc, as it is not necessary, # pulls in additional dependencies, and makes build times longer EXTRA_OECONF_prepend_class-native = "--disable-gtk-doc " EXTRA_OECONF_prepend_class-nativesdk = "--disable-gtk-doc " +EXTRA_OEMESON_prepend_class-native = "-D${GTKDOC_MESON_OPTION}=${GTKDOC_MESON_DISABLE_FLAG} " +EXTRA_OEMESON_prepend_class-nativesdk = "-D${GTKDOC_MESON_OPTION}=${GTKDOC_MESON_DISABLE_FLAG} " # Even though gtkdoc is disabled on -native, gtk-doc package is still # needed for m4 macros. diff --git a/poky/meta/classes/gtk-icon-cache.bbclass b/poky/meta/classes/gtk-icon-cache.bbclass index d87167aec..66fe781bd 100644 --- a/poky/meta/classes/gtk-icon-cache.bbclass +++ b/poky/meta/classes/gtk-icon-cache.bbclass @@ -1,8 +1,8 @@ FILES_${PN} += "${datadir}/icons/hicolor" -DEPENDS += "${@['hicolor-icon-theme', '']['${BPN}' == 'hicolor-icon-theme']} gtk-icon-utils-native" +DEPENDS +=" ${@['hicolor-icon-theme', '']['${BPN}' == 'hicolor-icon-theme']} gtk+3-native" -PACKAGE_WRITE_DEPS += "gtk-icon-utils-native gdk-pixbuf-native" +PACKAGE_WRITE_DEPS += "gtk+3-native gdk-pixbuf-native" gtk_icon_cache_postinst() { if [ "x$D" != "x" ]; then diff --git a/poky/meta/classes/icecc.bbclass b/poky/meta/classes/icecc.bbclass index 6d003dcce..edb0e1043 100644 --- a/poky/meta/classes/icecc.bbclass +++ b/poky/meta/classes/icecc.bbclass @@ -312,6 +312,7 @@ def set_icecc_env(): # dummy python version of set_icecc_env return +set_icecc_env[vardepsexclude] += "KERNEL_CC" set_icecc_env() { if [ "${@use_icecc(bb, d)}" = "no" ] then diff --git a/poky/meta/classes/image.bbclass b/poky/meta/classes/image.bbclass index 276d0d31f..d2b2fb979 100644 --- a/poky/meta/classes/image.bbclass +++ b/poky/meta/classes/image.bbclass @@ -33,7 +33,7 @@ INHIBIT_DEFAULT_DEPS = "1" # IMAGE_FEATURES may contain any available package group IMAGE_FEATURES ?= "" IMAGE_FEATURES[type] = "list" -IMAGE_FEATURES[validitems] += "debug-tweaks read-only-rootfs empty-root-password allow-empty-password allow-root-login post-install-logging" +IMAGE_FEATURES[validitems] += "debug-tweaks read-only-rootfs stateless-rootfs empty-root-password allow-empty-password allow-root-login post-install-logging" # Generate companion debugfs? IMAGE_GEN_DEBUGFS ?= "0" @@ -664,6 +664,12 @@ reproducible_final_image_task () { find ${IMAGE_ROOTFS} -exec touch -h --date=@$REPRODUCIBLE_TIMESTAMP_ROOTFS {} \; fi } -IMAGE_PREPROCESS_COMMAND_append = " reproducible_final_image_task; " + +systemd_preset_all () { + systemctl --root="${IMAGE_ROOTFS}" --preset-mode=enable-only preset-all +} + +IMAGE_EXTRADEPENDS += "${@ 'systemd-systemctl-native' if bb.utils.contains('DISTRO_FEATURES', 'systemd', True, False, d) and not bb.utils.contains('IMAGE_FEATURES', 'stateless-rootfs', True, False, d) else ''}" +IMAGE_PREPROCESS_COMMAND_append = " ${@ 'systemd_preset_all;' if bb.utils.contains('DISTRO_FEATURES', 'systemd', True, False, d) and not bb.utils.contains('IMAGE_FEATURES', 'stateless-rootfs', True, False, d) else ''} reproducible_final_image_task; " CVE_PRODUCT = "" diff --git a/poky/meta/classes/image_types.bbclass b/poky/meta/classes/image_types.bbclass index f363c42ee..1c44ec4a8 100644 --- a/poky/meta/classes/image_types.bbclass +++ b/poky/meta/classes/image_types.bbclass @@ -54,7 +54,7 @@ def imagetypes_getdepends(d): # Sort the set so that ordering is consistant return " ".join(sorted(deps)) -XZ_COMPRESSION_LEVEL ?= "-3" +XZ_COMPRESSION_LEVEL ?= "-9" XZ_INTEGRITY_CHECK ?= "crc32" ZIP_COMPRESSION_LEVEL ?= "-9" @@ -170,7 +170,9 @@ multiubi_mkfs() { echo vol_type=dynamic >> ubinize${vname}-${IMAGE_NAME}.cfg echo vol_name=${UBI_VOLNAME} >> ubinize${vname}-${IMAGE_NAME}.cfg echo vol_flags=autoresize >> ubinize${vname}-${IMAGE_NAME}.cfg - mkfs.ubifs -r ${IMAGE_ROOTFS} -o ${IMGDEPLOYDIR}/${IMAGE_NAME}${vname}${IMAGE_NAME_SUFFIX}.ubifs ${mkubifs_args} + if [ -n "$vname" ]; then + mkfs.ubifs -r ${IMAGE_ROOTFS} -o ${IMGDEPLOYDIR}/${IMAGE_NAME}${vname}${IMAGE_NAME_SUFFIX}.ubifs ${mkubifs_args} + fi ubinize -o ${IMGDEPLOYDIR}/${IMAGE_NAME}${vname}${IMAGE_NAME_SUFFIX}.ubi ${ubinize_args} ubinize${vname}-${IMAGE_NAME}.cfg # Cleanup cfg file @@ -204,6 +206,7 @@ IMAGE_CMD_multiubi () { IMAGE_CMD_ubi () { multiubi_mkfs "${MKUBIFS_ARGS}" "${UBINIZE_ARGS}" } +IMAGE_TYPEDEP_ubi = "ubifs" IMAGE_CMD_ubifs = "mkfs.ubifs -r ${IMAGE_ROOTFS} -o ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.ubifs ${MKUBIFS_ARGS}" diff --git a/poky/meta/classes/insane.bbclass b/poky/meta/classes/insane.bbclass index 37b8bb003..a9be88e81 100644 --- a/poky/meta/classes/insane.bbclass +++ b/poky/meta/classes/insane.bbclass @@ -27,7 +27,7 @@ WARN_QA ?= "ldflags useless-rpaths rpaths staticdev libdir xorg-driver-abi \ installed-vs-shipped compile-host-path install-host-path \ pn-overrides infodir build-deps \ unknown-configure-option symlink-to-sysroot multilib \ - invalid-packageconfig host-user-contaminated uppercase-pn \ + invalid-packageconfig host-user-contaminated uppercase-pn patch-fuzz \ " ERROR_QA ?= "dev-so debug-deps dev-deps debug-files arch pkgconfig la \ perms dep-cmp pkgvarcheck perm-config perm-line perm-link \ @@ -1033,6 +1033,54 @@ python do_qa_staging() { bb.fatal("QA staging was broken by the package built above") } +python do_qa_patch() { + import subprocess + + ########################################################################### + # Check patch.log for fuzz warnings + # + # Further information on why we check for patch fuzz warnings: + # http://lists.openembedded.org/pipermail/openembedded-core/2018-March/148675.html + # https://bugzilla.yoctoproject.org/show_bug.cgi?id=10450 + ########################################################################### + + logdir = d.getVar('T') + patchlog = os.path.join(logdir,"log.do_patch") + + if os.path.exists(patchlog): + fuzzheader = '--- Patch fuzz start ---' + fuzzfooter = '--- Patch fuzz end ---' + statement = "grep -e '%s' %s > /dev/null" % (fuzzheader, patchlog) + if subprocess.call(statement, shell=True) == 0: + msg = "Fuzz detected:\n\n" + fuzzmsg = "" + inFuzzInfo = False + f = open(patchlog, "r") + for line in f: + if fuzzheader in line: + inFuzzInfo = True + fuzzmsg = "" + elif fuzzfooter in line: + fuzzmsg = fuzzmsg.replace('\n\n', '\n') + msg += fuzzmsg + msg += "\n" + inFuzzInfo = False + elif inFuzzInfo and not 'Now at patch' in line: + fuzzmsg += line + f.close() + msg += "The context lines in the patches can be updated with devtool:\n" + msg += "\n" + msg += " devtool modify %s\n" % d.getVar('PN') + msg += " devtool finish --force-patch-refresh %s <layer_path>\n\n" % d.getVar('PN') + msg += "Don't forget to review changes done by devtool!\n" + if 'patch-fuzz' in d.getVar('ERROR_QA'): + bb.error(msg) + elif 'patch-fuzz' in d.getVar('WARN_QA'): + bb.warn(msg) + msg = "Patch log indicates that patches do not apply cleanly." + package_qa_handle_error("patch-fuzz", msg, d) +} + python do_qa_configure() { import subprocess @@ -1087,18 +1135,22 @@ Rerun configure task after fixing this.""" for config in configs: gnu = "grep \"^[[:space:]]*AM_GNU_GETTEXT\" %s >/dev/null" % config if subprocess.call(gnu, shell=True) == 0: - error_msg = "%s required but not in DEPENDS for file %s. Missing inherit gettext?" + error_msg = "AM_GNU_GETTEXT used but no inherit gettext" package_qa_handle_error("configure-gettext", error_msg, d) ########################################################################### # Check unrecognised configure options (with a white list) ########################################################################### - if bb.data.inherits_class("autotools", d): + if bb.data.inherits_class("autotools", d) or bb.data.inherits_class("meson", d): bb.note("Checking configure output for unrecognised options") try: - flag = "WARNING: unrecognized options:" - log = os.path.join(d.getVar('B'), 'config.log') - output = subprocess.check_output(['grep', '-F', flag, log]).decode("utf-8").replace(', ', ' ') + if bb.data.inherits_class("autotools", d): + flag = "WARNING: unrecognized options:" + log = os.path.join(d.getVar('B'), 'config.log') + if bb.data.inherits_class("meson", d): + flag = "WARNING: Unknown options:" + log = os.path.join(d.getVar('T'), 'log.do_configure') + output = subprocess.check_output(['grep', '-F', flag, log]).decode("utf-8").replace(', ', ' ').replace('"', '') options = set() for line in output.splitlines(): options |= set(line.partition(flag)[2].split()) @@ -1137,6 +1189,9 @@ python do_qa_unpack() { #addtask qa_staging after do_populate_sysroot before do_build do_populate_sysroot[postfuncs] += "do_qa_staging " +# Check for patch fuzz +do_patch[postfuncs] += "do_qa_patch " + # Check broken config.log files, for packages requiring Gettext which # don't have it in DEPENDS. #addtask qa_configure after do_configure before do_compile diff --git a/poky/meta/classes/kernel-fitimage.bbclass b/poky/meta/classes/kernel-fitimage.bbclass index 2517d7574..2820ff968 100644 --- a/poky/meta/classes/kernel-fitimage.bbclass +++ b/poky/meta/classes/kernel-fitimage.bbclass @@ -10,6 +10,8 @@ python __anonymous () { uarch = d.getVar("UBOOT_ARCH") if uarch == "arm64": replacementtype = "Image" + elif uarch == "riscv": + replacementtype = "Image" elif uarch == "mips": replacementtype = "vmlinuz.bin" elif uarch == "x86": diff --git a/poky/meta/classes/kernel-module-split.bbclass b/poky/meta/classes/kernel-module-split.bbclass index e8d3eb510..221022b7b 100644 --- a/poky/meta/classes/kernel-module-split.bbclass +++ b/poky/meta/classes/kernel-module-split.bbclass @@ -44,9 +44,23 @@ python split_kernel_module_packages () { def extract_modinfo(file): import tempfile, subprocess tempfile.tempdir = d.getVar("WORKDIR") + compressed = re.match( r'.*\.([xg])z$', file) tf = tempfile.mkstemp() tmpfile = tf[1] - cmd = "%sobjcopy -j .modinfo -O binary %s %s" % (d.getVar("HOST_PREFIX") or "", file, tmpfile) + if compressed: + tmpkofile = tmpfile + ".ko" + if compressed.group(1) == 'g': + cmd = "gunzip -dc %s > %s" % (file, tmpkofile) + subprocess.check_call(cmd, shell=True) + elif compressed.group(1) == 'x': + cmd = "xz -dc %s > %s" % (file, tmpkofile) + subprocess.check_call(cmd, shell=True) + else: + msg = "Cannot decompress '%s'" % file + raise msg + cmd = "%sobjcopy -j .modinfo -O binary %s %s" % (d.getVar("HOST_PREFIX") or "", tmpkofile, tmpfile) + else: + cmd = "%sobjcopy -j .modinfo -O binary %s %s" % (d.getVar("HOST_PREFIX") or "", file, tmpfile) subprocess.check_call(cmd, shell=True) # errors='replace': Some old kernel versions contain invalid utf-8 characters in mod descriptions (like 0xf6, 'ö') f = open(tmpfile, errors='replace') @@ -54,6 +68,8 @@ python split_kernel_module_packages () { f.close() os.close(tf[0]) os.unlink(tmpfile) + if compressed: + os.unlink(tmpkofile) vals = {} for i in l: m = modinfoexp.match(i) @@ -133,7 +149,7 @@ python split_kernel_module_packages () { kernel_package_name = d.getVar("KERNEL_PACKAGE_NAME") or "kernel" kernel_version = d.getVar("KERNEL_VERSION") - module_regex = r'^(.*)\.k?o$' + module_regex = r'^(.*)\.k?o(?:\.[xg]z)?$' module_pattern_prefix = d.getVar('KERNEL_MODULE_PACKAGE_PREFIX') module_pattern_suffix = d.getVar('KERNEL_MODULE_PACKAGE_SUFFIX') diff --git a/poky/meta/classes/kernel.bbclass b/poky/meta/classes/kernel.bbclass index 9da981896..437b8c767 100644 --- a/poky/meta/classes/kernel.bbclass +++ b/poky/meta/classes/kernel.bbclass @@ -95,7 +95,8 @@ python __anonymous () { d.setVar('ALLOW_EMPTY_%s-image-%s' % (kname, typelower), '1') image = d.getVar('INITRAMFS_IMAGE') - if image: + image_bundle = d.getVar('INITRAMFS_IMAGE_BUNDLE') + if image and bb.utils.to_boolean(image_bundle, False): d.appendVarFlag('do_bundle_initramfs', 'depends', ' ${INITRAMFS_IMAGE}:do_image_complete') # NOTE: setting INITRAMFS_TASK is for backward compatibility @@ -130,7 +131,7 @@ inherit ${KERNEL_CLASSES} # the symlink. do_unpack[cleandirs] += " ${S} ${STAGING_KERNEL_DIR} ${B} ${STAGING_KERNEL_BUILDDIR}" do_clean[cleandirs] += " ${S} ${STAGING_KERNEL_DIR} ${B} ${STAGING_KERNEL_BUILDDIR}" -base_do_unpack_append () { +python do_symlink_kernsrc () { s = d.getVar("S") if s[-1] == '/': # drop trailing slash, so that os.symlink(kernsrc, s) doesn't use s as directory name and fail @@ -147,6 +148,7 @@ base_do_unpack_append () { shutil.move(s, kernsrc) os.symlink(kernsrc, s) } +addtask symlink_kernsrc before do_configure after do_unpack inherit kernel-arch deploy diff --git a/poky/meta/classes/license_image.bbclass b/poky/meta/classes/license_image.bbclass index 67500386b..6fb76be48 100644 --- a/poky/meta/classes/license_image.bbclass +++ b/poky/meta/classes/license_image.bbclass @@ -102,7 +102,7 @@ def write_license_files(d, license_manifest, pkg_dic, rootfs=True): rootfs_license_manifest = os.path.join(rootfs_license_dir, os.path.split(license_manifest)[1]) if not os.path.exists(rootfs_license_manifest): - os.link(license_manifest, rootfs_license_manifest) + oe.path.copyhardlink(license_manifest, rootfs_license_manifest) if copy_lic_dirs == "1": for pkg in sorted(pkg_dic): @@ -136,7 +136,7 @@ def write_license_files(d, license_manifest, pkg_dic, rootfs=True): continue if not os.path.exists(rootfs_license): - os.link(pkg_license, rootfs_license) + oe.path.copyhardlink(pkg_license, rootfs_license) if not os.path.exists(pkg_rootfs_license): os.symlink(os.path.join('..', lic), pkg_rootfs_license) @@ -146,7 +146,7 @@ def write_license_files(d, license_manifest, pkg_dic, rootfs=True): os.path.exists(pkg_rootfs_license)): continue - os.link(pkg_license, pkg_rootfs_license) + oe.path.copyhardlink(pkg_license, pkg_rootfs_license) # Fixup file ownership and permissions for walkroot, dirs, files in os.walk(rootfs_license_dir): for f in files: diff --git a/poky/meta/classes/native.bbclass b/poky/meta/classes/native.bbclass index e9f6c740a..d5b6f6af8 100644 --- a/poky/meta/classes/native.bbclass +++ b/poky/meta/classes/native.bbclass @@ -89,6 +89,7 @@ export lt_cv_sys_lib_dlsearch_path_spec = "${libdir} ${base_libdir} /lib /lib64 NATIVE_PACKAGE_PATH_SUFFIX ?= "" bindir .= "${NATIVE_PACKAGE_PATH_SUFFIX}" +sbindir .= "${NATIVE_PACKAGE_PATH_SUFFIX}" base_libdir .= "${NATIVE_PACKAGE_PATH_SUFFIX}" libdir .= "${NATIVE_PACKAGE_PATH_SUFFIX}" libexecdir .= "${NATIVE_PACKAGE_PATH_SUFFIX}" diff --git a/poky/meta/classes/populate_sdk_base.bbclass b/poky/meta/classes/populate_sdk_base.bbclass index ebc30d39b..a7f0fe743 100644 --- a/poky/meta/classes/populate_sdk_base.bbclass +++ b/poky/meta/classes/populate_sdk_base.bbclass @@ -45,8 +45,23 @@ TOOLCHAIN_TARGET_TASK ?= "${@multilib_pkg_extend(d, 'packagegroup-core-standalon TOOLCHAIN_TARGET_TASK_ATTEMPTONLY ?= "" TOOLCHAIN_OUTPUTNAME ?= "${SDK_NAME}-toolchain-${SDK_VERSION}" +# Default archived SDK's suffix +SDK_ARCHIVE_TYPE ?= "tar.xz" + +# To support different sdk type according to SDK_ARCHIVE_TYPE, now support zip and tar.xz +python () { + if d.getVar('SDK_ARCHIVE_TYPE') == 'zip': + d.setVar('SDK_ARCHIVE_DEPENDS', 'zip-native') + # SDK_ARCHIVE_CMD used to generate archived sdk ${TOOLCHAIN_OUTPUTNAME}.${SDK_ARCHIVE_TYPE} from input dir ${SDK_OUTPUT}/${SDKPATH} to output dir ${SDKDEPLOYDIR} + # recommand to cd into input dir first to avoid archive with buildpath + d.setVar('SDK_ARCHIVE_CMD', 'cd ${SDK_OUTPUT}/${SDKPATH}; zip -r ${SDKDEPLOYDIR}/${TOOLCHAIN_OUTPUTNAME}.${SDK_ARCHIVE_TYPE} .') + else: + d.setVar('SDK_ARCHIVE_DEPENDS', 'xz-native') + d.setVar('SDK_ARCHIVE_CMD', 'cd ${SDK_OUTPUT}/${SDKPATH}; tar ${SDKTAROPTS} -cf - . | xz -T 0 > ${SDKDEPLOYDIR}/${TOOLCHAIN_OUTPUTNAME}.${SDK_ARCHIVE_TYPE}') +} + SDK_RDEPENDS = "${TOOLCHAIN_TARGET_TASK} ${TOOLCHAIN_HOST_TASK}" -SDK_DEPENDS = "virtual/fakeroot-native xz-native cross-localedef-native nativesdk-qemuwrapper-cross ${@' '.join(["%s-qemuwrapper-cross" % m for m in d.getVar("MULTILIB_VARIANTS").split()])} qemuwrapper-cross" +SDK_DEPENDS = "virtual/fakeroot-native ${SDK_ARCHIVE_DEPENDS} cross-localedef-native nativesdk-qemuwrapper-cross ${@' '.join(["%s-qemuwrapper-cross" % m for m in d.getVar("MULTILIB_VARIANTS").split()])} qemuwrapper-cross" PATH_prepend = "${STAGING_DIR_HOST}${SDKPATHNATIVE}${bindir}/crossscripts:${@":".join(all_multilib_tune_values(d, 'STAGING_BINDIR_CROSS').split())}:" SDK_DEPENDS_append_libc-glibc = " nativesdk-glibc-locale" @@ -104,7 +119,7 @@ POPULATE_SDK_POST_TARGET_COMMAND_append = " write_sdk_test_data ; " POPULATE_SDK_POST_TARGET_COMMAND_append_task-populate-sdk = " write_target_sdk_manifest ; " POPULATE_SDK_POST_HOST_COMMAND_append_task-populate-sdk = " write_host_sdk_manifest; " SDK_PACKAGING_COMMAND = "${@'${SDK_PACKAGING_FUNC};' if '${SDK_PACKAGING_FUNC}' else ''}" -SDK_POSTPROCESS_COMMAND = " create_sdk_files; check_sdk_sysroots; tar_sdk; ${SDK_PACKAGING_COMMAND} " +SDK_POSTPROCESS_COMMAND = " create_sdk_files; check_sdk_sysroots; archive_sdk; ${SDK_PACKAGING_COMMAND} " def populate_sdk_common(d): from oe.sdk import populate_sdk @@ -222,11 +237,10 @@ python check_sdk_sysroots() { SDKTAROPTS = "--owner=root --group=root" -fakeroot tar_sdk() { +fakeroot archive_sdk() { # Package it up mkdir -p ${SDKDEPLOYDIR} - cd ${SDK_OUTPUT}/${SDKPATH} - tar ${SDKTAROPTS} -cf - . | xz ${XZ_DEFAULTS} > ${SDKDEPLOYDIR}/${TOOLCHAIN_OUTPUTNAME}.tar.xz + ${SDK_ARCHIVE_CMD} } TOOLCHAIN_SHAR_EXT_TMPL ?= "${COREBASE}/meta/files/toolchain-shar-extract.sh" @@ -263,16 +277,17 @@ EOF -e '/@SDK_PRE_INSTALL_COMMAND@/d' \ -e '/@SDK_POST_INSTALL_COMMAND@/d' \ -e 's#@SDK_GCC_VER@#${@oe.utils.host_gcc_version(d, taskcontextonly=True)}#g' \ + -e 's#@SDK_ARCHIVE_TYPE@#${SDK_ARCHIVE_TYPE}#g' \ ${SDKDEPLOYDIR}/${TOOLCHAIN_OUTPUTNAME}.sh # add execution permission chmod +x ${SDKDEPLOYDIR}/${TOOLCHAIN_OUTPUTNAME}.sh # append the SDK tarball - cat ${SDKDEPLOYDIR}/${TOOLCHAIN_OUTPUTNAME}.tar.xz >> ${SDKDEPLOYDIR}/${TOOLCHAIN_OUTPUTNAME}.sh + cat ${SDKDEPLOYDIR}/${TOOLCHAIN_OUTPUTNAME}.${SDK_ARCHIVE_TYPE} >> ${SDKDEPLOYDIR}/${TOOLCHAIN_OUTPUTNAME}.sh # delete the old tarball, we don't need it anymore - rm ${SDKDEPLOYDIR}/${TOOLCHAIN_OUTPUTNAME}.tar.xz + rm ${SDKDEPLOYDIR}/${TOOLCHAIN_OUTPUTNAME}.${SDK_ARCHIVE_TYPE} } populate_sdk_log_check() { diff --git a/poky/meta/classes/ptest.bbclass b/poky/meta/classes/ptest.bbclass index 97865c933..fa4c36ec7 100644 --- a/poky/meta/classes/ptest.bbclass +++ b/poky/meta/classes/ptest.bbclass @@ -13,6 +13,7 @@ PTEST_ENABLED = "${@bb.utils.contains('DISTRO_FEATURES', 'ptest', '1', '0', d)}" PTEST_ENABLED_class-native = "" PTEST_ENABLED_class-nativesdk = "" PTEST_ENABLED_class-cross-canadian = "" +RDEPENDS_${PN}-ptest += "${PN}" RDEPENDS_${PN}-ptest_class-native = "" RDEPENDS_${PN}-ptest_class-nativesdk = "" RRECOMMENDS_${PN}-ptest += "ptest-runner" @@ -65,6 +66,38 @@ do_install_ptest_base() { done } +PTEST_BINDIR_PKGD_PATH = "${PKGD}${PTEST_PATH}/bin" + +# This function needs to run after apply_update_alternative_renames because the +# aforementioned function will update the ALTERNATIVE_LINK_NAME flag. Append is +# used here to make this function to run as late as possible. +PACKAGE_PREPROCESS_FUNCS_append = "${@bb.utils.contains('PTEST_BINDIR', '1', \ + bb.utils.contains('PTEST_ENABLED', '1', ' ptest_update_alternatives', '', d), '', d)}" + +python ptest_update_alternatives() { + """ + This function will generate the symlinks in the PTEST_BINDIR_PKGD_PATH + to match the renamed binaries by update-alternatives. + """ + + if not bb.data.inherits_class('update-alternatives', d) \ + or not update_alternatives_enabled(d): + return + + bb.note("Generating symlinks for ptest") + bin_paths = { d.getVar("bindir"), d.getVar("base_bindir"), + d.getVar("sbindir"), d.getVar("base_sbindir") } + ptest_bindir = d.getVar("PTEST_BINDIR_PKGD_PATH") + os.mkdir(ptest_bindir) + for pkg in (d.getVar('PACKAGES') or "").split(): + alternatives = update_alternatives_alt_targets(d, pkg) + for alt_name, alt_link, alt_target, _ in alternatives: + # Some alternatives are for man pages, + # check if the alternative is in PATH + if os.path.dirname(alt_link) in bin_paths: + os.symlink(alt_target, os.path.join(ptest_bindir, alt_name)) +} + do_configure_ptest_base[dirs] = "${B}" do_compile_ptest_base[dirs] = "${B}" do_install_ptest_base[dirs] = "${B}" diff --git a/poky/meta/classes/rootfs-postcommands.bbclass b/poky/meta/classes/rootfs-postcommands.bbclass index bde58ad6c..89f8efd32 100644 --- a/poky/meta/classes/rootfs-postcommands.bbclass +++ b/poky/meta/classes/rootfs-postcommands.bbclass @@ -126,6 +126,12 @@ read_only_rootfs_hook () { ${IMAGE_ROOTFS}/etc/init.d/populate-volatile.sh fi fi + + if ${@bb.utils.contains("DISTRO_FEATURES", "systemd", "true", "false", d)}; then + # Create machine-id + # 20:12 < mezcalero> koen: you have three options: a) run systemd-machine-id-setup at install time, b) have / read-only and an empty file there (for stateless) and c) boot with / writable + touch ${IMAGE_ROOTFS}${sysconfdir}/machine-id + fi } # diff --git a/poky/meta/classes/sanity.bbclass b/poky/meta/classes/sanity.bbclass index cab092140..9429202dc 100644 --- a/poky/meta/classes/sanity.bbclass +++ b/poky/meta/classes/sanity.bbclass @@ -560,7 +560,7 @@ def check_perl_modules(sanity_data): try: subprocess.check_output(["perl", "-e", "use %s" % m]) except subprocess.CalledProcessError as e: - errresult += e.output + errresult += bytes.decode(e.output) ret += "%s " % m if ret: return "Required perl module(s) not found: %s\n\n%s\n" % (ret, errresult) @@ -876,7 +876,7 @@ def check_sanity_everybuild(status, d): with open(checkfile, "r") as f: saved_tmpdir = f.read().strip() if (saved_tmpdir != tmpdir): - status.addresult("Error, TMPDIR has changed location. You need to either move it back to %s or rebuild\n" % saved_tmpdir) + status.addresult("Error, TMPDIR has changed location. You need to either move it back to %s or delete it and rebuild\n" % saved_tmpdir) else: bb.utils.mkdirhier(tmpdir) # Remove setuid, setgid and sticky bits from TMPDIR diff --git a/poky/meta/classes/sstate.bbclass b/poky/meta/classes/sstate.bbclass index 6f51d9c18..424acfb15 100644 --- a/poky/meta/classes/sstate.bbclass +++ b/poky/meta/classes/sstate.bbclass @@ -689,7 +689,8 @@ def pstaging_fetch(sstatefetch, d): # if BB_NO_NETWORK is set but we also have SSTATE_MIRROR_ALLOW_NETWORK, # we'll want to allow network access for the current set of fetches. - if localdata.getVar('BB_NO_NETWORK') == "1" and localdata.getVar('SSTATE_MIRROR_ALLOW_NETWORK') == "1": + if bb.utils.to_boolean(localdata.getVar('BB_NO_NETWORK')) and \ + bb.utils.to_boolean(localdata.getVar('SSTATE_MIRROR_ALLOW_NETWORK')): localdata.delVar('BB_NO_NETWORK') # Try a fetch from the sstate mirror, if it fails just return and @@ -867,7 +868,8 @@ def sstate_checkhashes(sq_fn, sq_task, sq_hash, sq_hashfn, d, siginfo=False, *, # if BB_NO_NETWORK is set but we also have SSTATE_MIRROR_ALLOW_NETWORK, # we'll want to allow network access for the current set of fetches. - if localdata.getVar('BB_NO_NETWORK') == "1" and localdata.getVar('SSTATE_MIRROR_ALLOW_NETWORK') == "1": + if bb.utils.to_boolean(localdata.getVar('BB_NO_NETWORK')) and \ + bb.utils.to_boolean(localdata.getVar('SSTATE_MIRROR_ALLOW_NETWORK')): localdata.delVar('BB_NO_NETWORK') from bb.fetch2 import FetchConnectionCache diff --git a/poky/meta/classes/staging.bbclass b/poky/meta/classes/staging.bbclass index 062b2817c..6bcd0b087 100644 --- a/poky/meta/classes/staging.bbclass +++ b/poky/meta/classes/staging.bbclass @@ -27,9 +27,10 @@ SYSROOT_DIRS_BLACKLIST = " \ ${mandir} \ ${docdir} \ ${infodir} \ - ${datadir}/locale \ ${datadir}/applications \ ${datadir}/fonts \ + ${datadir}/gtk-doc/html \ + ${datadir}/locale \ ${datadir}/pixmaps \ ${libdir}/${PN}/ptest \ " diff --git a/poky/meta/classes/systemd-boot-cfg.bbclass b/poky/meta/classes/systemd-boot-cfg.bbclass index 021c9f933..b3e0e6ad4 100644 --- a/poky/meta/classes/systemd-boot-cfg.bbclass +++ b/poky/meta/classes/systemd-boot-cfg.bbclass @@ -2,6 +2,9 @@ SYSTEMD_BOOT_CFG ?= "${S}/loader.conf" SYSTEMD_BOOT_ENTRIES ?= "" SYSTEMD_BOOT_TIMEOUT ?= "10" +# Uses MACHINE specific KERNEL_IMAGETYPE +PACKAGE_ARCH = "${MACHINE_ARCH}" + # Need UUID utility code. inherit fs-uuid diff --git a/poky/meta/classes/systemd.bbclass b/poky/meta/classes/systemd.bbclass index c8f4fdec8..d1cb17dc8 100644 --- a/poky/meta/classes/systemd.bbclass +++ b/poky/meta/classes/systemd.bbclass @@ -23,38 +23,41 @@ python __anonymous() { } systemd_postinst() { -OPTS="" +if type systemctl >/dev/null 2>/dev/null; then + OPTS="" -if [ -n "$D" ]; then - OPTS="--root=$D" -fi + if [ -n "$D" ]; then + OPTS="--root=$D" + fi -if type systemctl >/dev/null 2>/dev/null; then - if [ -z "$D" ]; then - systemctl daemon-reload + if [ "${SYSTEMD_AUTO_ENABLE}" = "enable" ]; then + for service in ${SYSTEMD_SERVICE_ESCAPED}; do + case "${service}" in + *@*) + systemctl ${OPTS} enable "${service}" + ;; + esac + done fi - systemctl $OPTS ${SYSTEMD_AUTO_ENABLE} ${SYSTEMD_SERVICE_ESCAPED} + if [ -z "$D" ]; then + systemctl daemon-reload + systemctl preset ${SYSTEMD_SERVICE_ESCAPED} - if [ -z "$D" -a "${SYSTEMD_AUTO_ENABLE}" = "enable" ]; then - systemctl --no-block restart ${SYSTEMD_SERVICE_ESCAPED} + if [ "${SYSTEMD_AUTO_ENABLE}" = "enable" ]; then + systemctl --no-block restart ${SYSTEMD_SERVICE_ESCAPED} + fi fi fi } systemd_prerm() { -OPTS="" - -if [ -n "$D" ]; then - OPTS="--root=$D" -fi - if type systemctl >/dev/null 2>/dev/null; then if [ -z "$D" ]; then systemctl stop ${SYSTEMD_SERVICE_ESCAPED} - fi - systemctl $OPTS disable ${SYSTEMD_SERVICE_ESCAPED} + systemctl disable ${SYSTEMD_SERVICE_ESCAPED} + fi fi } @@ -177,12 +180,25 @@ python systemd_populate_packages() { else: bb.fatal("SYSTEMD_SERVICE_%s value %s does not exist" % (pkg_systemd, service)) + def systemd_create_presets(pkg, action): + presetf = oe.path.join(d.getVar("PKGD"), d.getVar("systemd_unitdir"), "system-preset/98-%s.preset" % pkg) + bb.utils.mkdirhier(os.path.dirname(presetf)) + with open(presetf, 'a') as fd: + for service in d.getVar('SYSTEMD_SERVICE_%s' % pkg).split(): + fd.write("%s %s\n" % (action,service)) + d.appendVar("FILES_%s" % pkg, ' ' + oe.path.join(d.getVar("systemd_unitdir"), "system-preset/98-%s.preset" % pkg)) + # Run all modifications once when creating package if os.path.exists(d.getVar("D")): for pkg in d.getVar('SYSTEMD_PACKAGES').split(): systemd_check_package(pkg) if d.getVar('SYSTEMD_SERVICE_' + pkg): systemd_generate_package_scripts(pkg) + action = get_package_var(d, 'SYSTEMD_AUTO_ENABLE', pkg) + if action in ("enable", "disable"): + systemd_create_presets(pkg, action) + elif action not in ("mask", "preset"): + bb.fatal("SYSTEMD_AUTO_ENABLE_%s '%s' is not 'enable', 'disable', 'mask' or 'preset'" % (pkg, action)) systemd_check_services() } diff --git a/poky/meta/classes/testimage.bbclass b/poky/meta/classes/testimage.bbclass index ff1c53b93..9bb5a5cb0 100644 --- a/poky/meta/classes/testimage.bbclass +++ b/poky/meta/classes/testimage.bbclass @@ -316,7 +316,8 @@ def testimage_main(d): configuration = get_testimage_configuration(d, 'runtime', machine) results.logDetails(get_testimage_json_result_dir(d), configuration, - get_testimage_result_id(configuration)) + get_testimage_result_id(configuration), + dump_streams=d.getVar('TESTREPORT_FULLLOGS')) results.logSummary(pn) if not results.wasSuccessful(): bb.fatal('%s - FAILED - check the task log and the ssh log' % pn, forcelog=True) diff --git a/poky/meta/classes/uboot-sign.bbclass b/poky/meta/classes/uboot-sign.bbclass index 9e3d1d6fc..8beafff7c 100644 --- a/poky/meta/classes/uboot-sign.bbclass +++ b/poky/meta/classes/uboot-sign.bbclass @@ -45,49 +45,72 @@ UBOOT_NODTB_SYMLINK ?= "u-boot-nodtb-${MACHINE}.${UBOOT_SUFFIX}" # Functions in this bbclass is for u-boot only UBOOT_PN = "${@d.getVar('PREFERRED_PROVIDER_u-boot') or 'u-boot'}" -concat_dtb() { - if [ "${UBOOT_SIGN_ENABLE}" = "1" -a "${PN}" = "${UBOOT_PN}" ]; then - mkdir -p ${DEPLOYDIR} - if [ -e ${B}/${UBOOT_DTB_BINARY} ]; then - ln -sf ${UBOOT_DTB_IMAGE} ${DEPLOYDIR}/${UBOOT_DTB_BINARY} - ln -sf ${UBOOT_DTB_IMAGE} ${DEPLOYDIR}/${UBOOT_DTB_SYMLINK} - fi +concat_dtb_helper() { + if [ -e "${UBOOT_DTB_BINARY}" ]; then + ln -sf ${UBOOT_DTB_IMAGE} ${DEPLOYDIR}/${UBOOT_DTB_BINARY} + ln -sf ${UBOOT_DTB_IMAGE} ${DEPLOYDIR}/${UBOOT_DTB_SYMLINK} + fi - if [ -f ${B}/${UBOOT_NODTB_BINARY} ]; then - install ${B}/${UBOOT_NODTB_BINARY} ${DEPLOYDIR}/${UBOOT_NODTB_IMAGE} - ln -sf ${UBOOT_NODTB_IMAGE} ${UBOOT_NODTB_SYMLINK} - ln -sf ${UBOOT_NODTB_IMAGE} ${UBOOT_NODTB_BINARY} - fi + if [ -f "${UBOOT_NODTB_BINARY}" ]; then + install ${UBOOT_NODTB_BINARY} ${DEPLOYDIR}/${UBOOT_NODTB_IMAGE} + ln -sf ${UBOOT_NODTB_IMAGE} ${DEPLOYDIR}/${UBOOT_NODTB_SYMLINK} + ln -sf ${UBOOT_NODTB_IMAGE} ${DEPLOYDIR}/${UBOOT_NODTB_BINARY} + fi - # Concatenate U-Boot w/o DTB & DTB with public key - # (cf. kernel-fitimage.bbclass for more details) - deployed_uboot_dtb_binary='${DEPLOY_DIR_IMAGE}/${UBOOT_DTB_IMAGE}' - if [ "x${UBOOT_SUFFIX}" = "ximg" -o "x${UBOOT_SUFFIX}" = "xrom" ] && \ - [ -e "$deployed_uboot_dtb_binary" ]; then + # Concatenate U-Boot w/o DTB & DTB with public key + # (cf. kernel-fitimage.bbclass for more details) + deployed_uboot_dtb_binary='${DEPLOY_DIR_IMAGE}/${UBOOT_DTB_IMAGE}' + if [ "x${UBOOT_SUFFIX}" = "ximg" -o "x${UBOOT_SUFFIX}" = "xrom" ] && \ + [ -e "$deployed_uboot_dtb_binary" ]; then + oe_runmake EXT_DTB=$deployed_uboot_dtb_binary + install ${UBOOT_BINARY} ${DEPLOYDIR}/${UBOOT_IMAGE} + elif [ -e "${DEPLOYDIR}/${UBOOT_NODTB_IMAGE}" -a -e "$deployed_uboot_dtb_binary" ]; then + cd ${DEPLOYDIR} + cat ${UBOOT_NODTB_IMAGE} $deployed_uboot_dtb_binary | tee ${UBOOT_BINARY} > ${UBOOT_IMAGE} + else + bbwarn "Failure while adding public key to u-boot binary. Verified boot won't be available." + fi +} + +concat_dtb() { + if [ "${UBOOT_SIGN_ENABLE}" = "1" -a "${PN}" = "${UBOOT_PN}" -a -n "${UBOOT_DTB_BINARY}" ]; then + mkdir -p ${DEPLOYDIR} + if [ -n "${UBOOT_CONFIG}" ]; then + for config in ${UBOOT_MACHINE}; do + cd ${B}/${config} + concat_dtb_helper + done + else cd ${B} - oe_runmake EXT_DTB=$deployed_uboot_dtb_binary - install ${B}/${UBOOT_BINARY} ${DEPLOYDIR}/${UBOOT_IMAGE} - elif [ -e "${DEPLOYDIR}/${UBOOT_NODTB_IMAGE}" -a -e "$deployed_uboot_dtb_binary" ]; then - cd ${DEPLOYDIR} - cat ${UBOOT_NODTB_IMAGE} $deployed_uboot_dtb_binary | tee ${B}/${UBOOT_BINARY} > ${UBOOT_IMAGE} - elif [ -n "${UBOOT_DTB_BINARY}" ]; then - bbwarn "Failure while adding public key to u-boot binary. Verified boot won't be available." + concat_dtb_helper fi fi } # Install UBOOT_DTB_BINARY to datadir, so that kernel can use it for # signing, and kernel will deploy UBOOT_DTB_BINARY after signs it. +install_helper() { + if [ -f "${UBOOT_DTB_BINARY}" ]; then + install -d ${D}${datadir} + # UBOOT_DTB_BINARY is a symlink to UBOOT_DTB_IMAGE, so we + # need both of them. + install ${UBOOT_DTB_BINARY} ${D}${datadir}/${UBOOT_DTB_IMAGE} + ln -sf ${UBOOT_DTB_IMAGE} ${D}${datadir}/${UBOOT_DTB_BINARY} + else + bbwarn "${UBOOT_DTB_BINARY} not found" + fi +} + do_install_append() { - if [ "${UBOOT_SIGN_ENABLE}" = "1" -a "${PN}" = "${UBOOT_PN}" ]; then - if [ -f ${B}/${UBOOT_DTB_BINARY} ]; then - install -d ${D}${datadir} - # UBOOT_DTB_BINARY is a symlink to UBOOT_DTB_IMAGE, so we - # need both of them. - install ${B}/${UBOOT_DTB_BINARY} ${D}${datadir}/${UBOOT_DTB_IMAGE} - ln -sf ${UBOOT_DTB_IMAGE} ${D}${datadir}/${UBOOT_DTB_BINARY} - elif [ -n "${UBOOT_DTB_BINARY}" ]; then - bbwarn "${B}/${UBOOT_DTB_BINARY} not found" + if [ "${UBOOT_SIGN_ENABLE}" = "1" -a "${PN}" = "${UBOOT_PN}" -a -n "${UBOOT_DTB_BINARY}" ]; then + if [ -n "${UBOOT_CONFIG}" ]; then + for config in ${UBOOT_MACHINE}; do + cd ${B}/${config} + install_helper + done + else + cd ${B} + install_helper fi fi } diff --git a/poky/meta/classes/update-alternatives.bbclass b/poky/meta/classes/update-alternatives.bbclass index 537e85d9a..b702e77ee 100644 --- a/poky/meta/classes/update-alternatives.bbclass +++ b/poky/meta/classes/update-alternatives.bbclass @@ -216,42 +216,62 @@ python apply_update_alternative_renames () { update_files(alt_target, alt_target_rename, pkg, d) } +def update_alternatives_alt_targets(d, pkg): + """ + Returns the update-alternatives metadata for a package. + + The returned format is a list of tuples where the tuple contains: + alt_name: The binary name + alt_link: The path for the binary (Shared by different packages) + alt_target: The path for the renamed binary (Unique per package) + alt_priority: The priority of the alt_target + + All the alt_targets will be installed into the sysroot. The alt_link is + a symlink pointing to the alt_target with the highest priority. + """ + + pn = d.getVar('BPN') + pkgdest = d.getVar('PKGD') + updates = list() + for alt_name in (d.getVar('ALTERNATIVE_%s' % pkg) or "").split(): + alt_link = d.getVarFlag('ALTERNATIVE_LINK_NAME', alt_name) + alt_target = d.getVarFlag('ALTERNATIVE_TARGET_%s' % pkg, alt_name) or \ + d.getVarFlag('ALTERNATIVE_TARGET', alt_name) or \ + d.getVar('ALTERNATIVE_TARGET_%s' % pkg) or \ + d.getVar('ALTERNATIVE_TARGET') or \ + alt_link + alt_priority = d.getVarFlag('ALTERNATIVE_PRIORITY_%s' % pkg, alt_name) or \ + d.getVarFlag('ALTERNATIVE_PRIORITY', alt_name) or \ + d.getVar('ALTERNATIVE_PRIORITY_%s' % pkg) or \ + d.getVar('ALTERNATIVE_PRIORITY') + + # This shouldn't trigger, as it should have been resolved earlier! + if alt_link == alt_target: + bb.note('alt_link == alt_target: %s == %s -- correcting, this should not happen!' % (alt_link, alt_target)) + alt_target = '%s.%s' % (alt_target, pn) + + if not os.path.lexists('%s/%s' % (pkgdest, alt_target)): + bb.warn('%s: NOT adding alternative provide %s: %s does not exist' % (pn, alt_link, alt_target)) + continue + + alt_target = os.path.normpath(alt_target) + updates.append( (alt_name, alt_link, alt_target, alt_priority) ) + + return updates + PACKAGESPLITFUNCS_prepend = "populate_packages_updatealternatives " python populate_packages_updatealternatives () { if not update_alternatives_enabled(d): return - pn = d.getVar('BPN') - # Do actual update alternatives processing - pkgdest = d.getVar('PKGD') for pkg in (d.getVar('PACKAGES') or "").split(): # Create post install/removal scripts alt_setup_links = "" alt_remove_links = "" - for alt_name in (d.getVar('ALTERNATIVE_%s' % pkg) or "").split(): - alt_link = d.getVarFlag('ALTERNATIVE_LINK_NAME', alt_name) - alt_target = d.getVarFlag('ALTERNATIVE_TARGET_%s' % pkg, alt_name) or d.getVarFlag('ALTERNATIVE_TARGET', alt_name) - alt_target = alt_target or d.getVar('ALTERNATIVE_TARGET_%s' % pkg) or d.getVar('ALTERNATIVE_TARGET') or alt_link - # Sometimes alt_target is specified as relative to the link name. - alt_target = os.path.join(os.path.dirname(alt_link), alt_target) - - alt_priority = d.getVarFlag('ALTERNATIVE_PRIORITY_%s' % pkg, alt_name) or d.getVarFlag('ALTERNATIVE_PRIORITY', alt_name) - alt_priority = alt_priority or d.getVar('ALTERNATIVE_PRIORITY_%s' % pkg) or d.getVar('ALTERNATIVE_PRIORITY') - - # This shouldn't trigger, as it should have been resolved earlier! - if alt_link == alt_target: - bb.note('alt_link == alt_target: %s == %s -- correcting, this should not happen!' % (alt_link, alt_target)) - alt_target = '%s.%s' % (alt_target, pn) - - if not os.path.lexists('%s/%s' % (pkgdest, alt_target)): - bb.warn('%s: NOT adding alternative provide %s: %s does not exist' % (pn, alt_link, alt_target)) - continue - - # Default to generate shell script.. eventually we may want to change this... - alt_target = os.path.normpath(alt_target) - + updates = update_alternatives_alt_targets(d, pkg) + for alt_name, alt_link, alt_target, alt_priority in updates: alt_setup_links += '\tupdate-alternatives --install %s %s %s %s\n' % (alt_link, alt_name, alt_target, alt_priority) alt_remove_links += '\tupdate-alternatives --remove %s %s\n' % (alt_name, alt_target) diff --git a/poky/meta/classes/useradd-staticids.bbclass b/poky/meta/classes/useradd-staticids.bbclass index 70d59e557..3a1b5f132 100644 --- a/poky/meta/classes/useradd-staticids.bbclass +++ b/poky/meta/classes/useradd-staticids.bbclass @@ -76,8 +76,8 @@ def update_useradd_static_config(d): for param in oe.useradd.split_commands(params): try: uaargs = parser.parse_args(oe.useradd.split_args(param)) - except: - bb.fatal("%s: Unable to parse arguments for USERADD_PARAM_%s: '%s'" % (d.getVar('PN'), pkg, param)) + except Exception as e: + bb.fatal("%s: Unable to parse arguments for USERADD_PARAM_%s '%s': %s" % (d.getVar('PN'), pkg, param, e)) # Read all passwd files specified in USERADD_UID_TABLES or files/passwd # Use the standard passwd layout: @@ -197,8 +197,8 @@ def update_useradd_static_config(d): try: # If we're processing multiple lines, we could have left over values here... gaargs = parser.parse_args(oe.useradd.split_args(param)) - except: - bb.fatal("%s: Unable to parse arguments for GROUPADD_PARAM_%s: '%s'" % (d.getVar('PN'), pkg, param)) + except Exception as e: + bb.fatal("%s: Unable to parse arguments for GROUPADD_PARAM_%s '%s': %s" % (d.getVar('PN'), pkg, param, e)) # Read all group files specified in USERADD_GID_TABLES or files/group # Use the standard group layout: diff --git a/poky/meta/classes/waf.bbclass b/poky/meta/classes/waf.bbclass index 8e6d754c2..900244004 100644 --- a/poky/meta/classes/waf.bbclass +++ b/poky/meta/classes/waf.bbclass @@ -5,6 +5,32 @@ B = "${WORKDIR}/build" EXTRA_OECONF_append = " ${PACKAGECONFIG_CONFARGS}" +def waflock_hash(d): + # Calculates the hash used for the waf lock file. This should include + # all of the user controllable inputs passed to waf configure. Note + # that the full paths for ${B} and ${S} are used; this is OK and desired + # because a change to either of these should create a unique lock file + # to prevent collisions. + import hashlib + h = hashlib.sha512() + def update(name): + val = d.getVar(name) + if val is not None: + h.update(val.encode('utf-8')) + update('S') + update('B') + update('prefix') + update('EXTRA_OECONF') + return h.hexdigest() + +# Use WAFLOCK to specify a separate lock file. The build is already +# sufficiently isolated by setting the output directory, this ensures that +# bitbake won't step on toes of any other configured context in the source +# directory (e.g. if the source is coming from externalsrc and was previously +# configured elsewhere). +export WAFLOCK = ".lock-waf_oe_${@waflock_hash(d)}_build" +BB_HASHBASE_WHITELIST += "WAFLOCK" + python waf_preconfigure() { import subprocess from distutils.version import StrictVersion diff --git a/poky/meta/conf/bitbake.conf b/poky/meta/conf/bitbake.conf index 7f8b043cc..c5313ccd1 100644 --- a/poky/meta/conf/bitbake.conf +++ b/poky/meta/conf/bitbake.conf @@ -514,6 +514,9 @@ HOSTTOOLS_NONFATAL += "bzr" # Used by ssh fetcher HOSTTOOLS_NONFATAL += "scp" +# Link to git-lfs if present +HOSTTOOLS_NONFATAL += "git-lfs" + CCACHE ??= "" TOOLCHAIN_OPTIONS = " --sysroot=${STAGING_DIR_TARGET}" @@ -628,28 +631,28 @@ BUILD_OPTIMIZATION[vardeps] += "DEBUG_BUILD" ################################################################## # Settings used by bitbake-layers. ################################################################## -BBLAYERS_LAYERINDEX_URL ??= "http://layers.openembedded.org/layerindex/" +BBLAYERS_LAYERINDEX_URL ??= "https://layers.openembedded.org/layerindex/" BBLAYERS_FETCH_DIR ??= "${COREBASE}" ################################################################## # Download locations and utilities. ################################################################## -APACHE_MIRROR = "http://archive.apache.org/dist" +APACHE_MIRROR = "https://archive.apache.org/dist" DEBIAN_MIRROR = "http://ftp.debian.org/debian/pool" GENTOO_MIRROR = "http://distfiles.gentoo.org/distfiles" GNOME_GIT = "git://gitlab.gnome.org/GNOME" -GNOME_MIRROR = "http://ftp.gnome.org/pub/GNOME/sources" -GNU_MIRROR = "http://ftp.gnu.org/gnu" +GNOME_MIRROR = "https://ftp.gnome.org/pub/GNOME/sources" +GNU_MIRROR = "https://ftp.gnu.org/gnu" GNUPG_MIRROR = "https://www.gnupg.org/ftp/gcrypt" GPE_MIRROR = "http://gpe.linuxtogo.org/download/source" -KERNELORG_MIRROR = "http://cdn.kernel.org/pub" -SOURCEFORGE_MIRROR = "http://downloads.sourceforge.net" -XLIBS_MIRROR = "http://xlibs.freedesktop.org/release" +KERNELORG_MIRROR = "https://cdn.kernel.org/pub" +SOURCEFORGE_MIRROR = "https://downloads.sourceforge.net" +XLIBS_MIRROR = "https://xlibs.freedesktop.org/release" XORG_MIRROR = "http://xorg.freedesktop.org/releases" -SAVANNAH_GNU_MIRROR = "http://download.savannah.gnu.org/releases" -SAVANNAH_NONGNU_MIRROR = "http://download.savannah.nongnu.org/releases" -CPAN_MIRROR = "http://search.cpan.org/CPAN" +SAVANNAH_GNU_MIRROR = "https://download.savannah.gnu.org/releases" +SAVANNAH_NONGNU_MIRROR = "https://download.savannah.nongnu.org/releases" +CPAN_MIRROR = "https://search.cpan.org/CPAN" SRC_URI[vardepsexclude] += "\ APACHE_MIRROR \ @@ -845,7 +848,7 @@ COMBINED_FEATURES[vardeps] += "DISTRO_FEATURES MACHINE_FEATURES" SERIAL_CONSOLE ??= "" SERIAL_CONSOLES ??= "${@d.getVar('SERIAL_CONSOLE').replace(' ', ';')}" -NO_RECOMMENDATIONS ?= "" +NO_RECOMMENDATIONS ??= "" BAD_RECOMMENDATIONS ?= "" # Make sure MACHINE isn't exported @@ -898,3 +901,9 @@ BB_SIGNATURE_EXCLUDE_FLAGS ?= "doc deps depends \ MLPREFIX ??= "" MULTILIB_VARIANTS ??= "" + +# Older versions of bitbake (< 1.42) don't set BB_UNIHASH. For compatibility with these +# versions, set BB_UNIHASH equivalent to BB_TASKHASH if unspecified, which is +# what it would be anyway if the signature generator (e.g. OEEquivHash) doesn't +# support unihashes. +BB_UNIHASH ?= "${BB_TASKHASH}" diff --git a/poky/meta/conf/distro/include/default-distrovars.inc b/poky/meta/conf/distro/include/default-distrovars.inc index 7a0baf326..10d86cf7b 100644 --- a/poky/meta/conf/distro/include/default-distrovars.inc +++ b/poky/meta/conf/distro/include/default-distrovars.inc @@ -10,7 +10,7 @@ LOCALE_UTF8_ONLY ?= "0" LOCALE_UTF8_IS_DEFAULT ?= "1" LOCALE_UTF8_IS_DEFAULT_class-nativesdk = "0" -DISTRO_FEATURES_DEFAULT ?= "acl alsa argp bluetooth ext2 ipv4 ipv6 irda largefile pcmcia usbgadget usbhost wifi xattr nfs zeroconf pci 3g nfc x11" +DISTRO_FEATURES_DEFAULT ?= "acl alsa argp bluetooth ext2 ipv4 ipv6 largefile pcmcia usbgadget usbhost wifi xattr nfs zeroconf pci 3g nfc x11" DISTRO_FEATURES ?= "${DISTRO_FEATURES_DEFAULT}" IMAGE_FEATURES ?= "" diff --git a/poky/meta/conf/distro/include/maintainers.inc b/poky/meta/conf/distro/include/maintainers.inc index 950b8e895..a9a689fb0 100644 --- a/poky/meta/conf/distro/include/maintainers.inc +++ b/poky/meta/conf/distro/include/maintainers.inc @@ -122,6 +122,7 @@ RECIPE_MAINTAINER_pn-core-image-clutter = "Richard Purdie <richard.purdie@linuxf RECIPE_MAINTAINER_pn-core-image-weston = "Richard Purdie <richard.purdie@linuxfoundation.org>" RECIPE_MAINTAINER_pn-core-image-x11 = "Richard Purdie <richard.purdie@linuxfoundation.org>" RECIPE_MAINTAINER_pn-core-image-sato-dev = "Richard Purdie <richard.purdie@linuxfoundation.org>" +RECIPE_MAINTAINER_pn-core-image-sato-ptest-fast = "Richard Purdie <richard.purdie@linuxfoundation.org>" RECIPE_MAINTAINER_pn-core-image-sato-sdk-ptest = "Richard Purdie <richard.purdie@linuxfoundation.org>" RECIPE_MAINTAINER_pn-coreutils = "Chen Qi <Qi.Chen@windriver.com>" RECIPE_MAINTAINER_pn-cpio = "Denys Dmytriyenko <denys@ti.com>" @@ -165,6 +166,7 @@ RECIPE_MAINTAINER_pn-eglinfo-fb = "Alexander Kanavin <alex.kanavin@gmail.com>" RECIPE_MAINTAINER_pn-eglinfo-x11 = "Alexander Kanavin <alex.kanavin@gmail.com>" RECIPE_MAINTAINER_pn-eglinfo-wayland = "Alexander Kanavin <alex.kanavin@gmail.com>" RECIPE_MAINTAINER_pn-elfutils = "Hongxu Jia <hongxu.jia@windriver.com>" +RECIPE_MAINTAINER_pn-ell = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>" RECIPE_MAINTAINER_pn-enchant = "Anuj Mittal <anuj.mittal@intel.com>" RECIPE_MAINTAINER_pn-encodings = "Armin Kuster <akuster808@gmail.com>" RECIPE_MAINTAINER_pn-epiphany = "Alexander Kanavin <alex.kanavin@gmail.com>" @@ -194,8 +196,8 @@ RECIPE_MAINTAINER_pn-gcc-crosssdk-${SDK_SYS} = "Khem Raj <raj.khem@gmail.com>" RECIPE_MAINTAINER_pn-gcc-crosssdk-initial-${SDK_SYS} = "Khem Raj <raj.khem@gmail.com>" RECIPE_MAINTAINER_pn-gcc-runtime = "Khem Raj <raj.khem@gmail.com>" RECIPE_MAINTAINER_pn-gcc-sanitizers = "Khem Raj <raj.khem@gmail.com>" -RECIPE_MAINTAINER_pn-gcc-source-7.3.0 = "Khem Raj <raj.khem@gmail.com>" RECIPE_MAINTAINER_pn-gcc-source-8.3.0 = "Khem Raj <raj.khem@gmail.com>" +RECIPE_MAINTAINER_pn-gcc-source-9.1.0 = "Khem Raj <raj.khem@gmail.com>" RECIPE_MAINTAINER_pn-gccmakedep = "Khem Raj <raj.khem@gmail.com>" RECIPE_MAINTAINER_pn-gconf = "Ross Burton <ross.burton@intel.com>" RECIPE_MAINTAINER_pn-gcr = "Alexander Kanavin <alex.kanavin@gmail.com>" @@ -284,7 +286,6 @@ RECIPE_MAINTAINER_pn-intltool = "Alexander Kanavin <alex.kanavin@gmail.com>" RECIPE_MAINTAINER_pn-iproute2 = "Changhyeok Bae <changhyeok.bae@gmail.com>" RECIPE_MAINTAINER_pn-iptables = "Changhyeok Bae <changhyeok.bae@gmail.com>" RECIPE_MAINTAINER_pn-iputils = "Changhyeok Bae <changhyeok.bae@gmail.com>" -RECIPE_MAINTAINER_pn-irda-utils = "Changhyeok Bae <changhyeok.bae@gmail.com>" RECIPE_MAINTAINER_pn-iso-codes = "Alexander Kanavin <alex.kanavin@gmail.com>" RECIPE_MAINTAINER_pn-iw = "Changhyeok Bae <changhyeok.bae@gmail.com>" RECIPE_MAINTAINER_pn-libjpeg-turbo = "Anuj Mittal <anuj.mittal@intel.com>" @@ -536,7 +537,6 @@ RECIPE_MAINTAINER_pn-nss-myhostname = "Anuj Mittal <anuj.mittal@intel.com>" RECIPE_MAINTAINER_pn-ofono = "Ross Burton <ross.burton@intel.com>" RECIPE_MAINTAINER_pn-openssh = "Armin Kuster <akuster808@gmail.com>" RECIPE_MAINTAINER_pn-openssl = "Alexander Kanavin <alex.kanavin@gmail.com>" -RECIPE_MAINTAINER_pn-openssl10 = "Alexander Kanavin <alex.kanavin@gmail.com>" RECIPE_MAINTAINER_pn-opkg = "Alejandro del Castillo <alejandro.delcastillo@ni.com>" RECIPE_MAINTAINER_pn-opkg-arch-config = "Alejandro del Castillo <alejandro.delcastillo@ni.com>" RECIPE_MAINTAINER_pn-opkg-keyrings = "Alejandro del Castillo <alejandro.delcastillo@ni.com>" @@ -555,8 +555,8 @@ RECIPE_MAINTAINER_pn-pbzip2 = "Denys Dmytriyenko <denys@ti.com>" RECIPE_MAINTAINER_pn-pciutils = "Chen Qi <Qi.Chen@windriver.com>" RECIPE_MAINTAINER_pn-pcmanfm = "Alexander Kanavin <alex.kanavin@gmail.com>" RECIPE_MAINTAINER_pn-perf = "Bruce Ashfield <bruce.ashfield@gmail.com>" -RECIPE_MAINTAINER_pn-perl = "Ross Burton <ross.burton@intel.com>" -RECIPE_MAINTAINER_pn-perl-native = "Ross Burton <ross.burton@intel.com>" +RECIPE_MAINTAINER_pn-perl = "Alexander Kanavin <alex.kanavin@gmail.com>" +RECIPE_MAINTAINER_pn-perl-native = "Alexander Kanavin <alex.kanavin@gmail.com>" RECIPE_MAINTAINER_pn-piglit = "Ross Burton <ross.burton@intel.com>" RECIPE_MAINTAINER_pn-pigz = "Hongxu Jia <hongxu.jia@windriver.com>" RECIPE_MAINTAINER_pn-pinentry = "Armin Kuster <akuster808@gmail.com>" diff --git a/poky/meta/conf/distro/include/no-static-libs.inc b/poky/meta/conf/distro/include/no-static-libs.inc index 712d858dc..4141ecb76 100644 --- a/poky/meta/conf/distro/include/no-static-libs.inc +++ b/poky/meta/conf/distro/include/no-static-libs.inc @@ -26,9 +26,6 @@ DISABLE_STATIC_pn-openjade-native = "" DISABLE_STATIC_pn-openssl = "" DISABLE_STATIC_pn-openssl-native = "" DISABLE_STATIC_pn-nativesdk-openssl = "" -DISABLE_STATIC_pn-openssl10 = "" -DISABLE_STATIC_pn-openssl10-native = "" -DISABLE_STATIC_pn-nativesdk-openssl10 = "" # libssp-static-dev included in build-appliance DISABLE_STATIC_pn-gcc-runtime = "" # libusb1-native is used to build static dfu-util-native diff --git a/poky/meta/conf/distro/include/ptest-packagelists.inc b/poky/meta/conf/distro/include/ptest-packagelists.inc new file mode 100644 index 000000000..ec7ed6fa4 --- /dev/null +++ b/poky/meta/conf/distro/include/ptest-packagelists.inc @@ -0,0 +1,77 @@ +# +# Lists of the ptests in OE-Core, sorted into two sets by the time they take +# +# ptests which take less than ~30s each +# +PTESTS_FAST = "\ + acl-ptest \ + apr-ptest \ + apr-util-ptest \ + attr-ptest \ + bluez5-ptest \ + bzip2-ptest \ + diffstat-ptest \ + diffutils-ptest \ + elfutils-ptest \ + ethtool-ptest \ + flex-ptest \ + gawk-ptest \ + gdbm-ptest \ + gdk-pixbuf-ptest \ + gettext-ptest \ + gzip-ptest \ + json-glib-ptest \ + kbd-ptest \ + libconvert-asn1-perl-ptest \ + liberror-perl-ptest \ + libpcre-ptest \ + libtimedate-perl-ptest \ + libtest-needs-perl-ptest \ + liburi-perl-ptest \ + libusb1-ptest \ + libxml-namespacesupport-perl-ptest \ + libxml-perl-ptest \ + libxml-parser-perl-ptest \ + libxml-sax-perl-ptest \ + libxml-sax-base-perl-ptest \ + libxml-simple-perl-ptest \ + libxml2-ptest \ + lzo-ptest \ + m4-ptest \ + nettle-ptest \ + openssl-ptest \ + opkg-ptest \ + pango-ptest \ + parted-ptest \ + quilt-ptest \ + sed-ptest \ + slang-ptest \ + zlib-ptest \ +" + +#PTESTS_PROBLEMS = "\ +# qemu-ptest \ # Doesn't run any tests? +# ruby-ptest \ # Timeout +# mdadm-ptest \ # Timeout +# clutter-1.0-ptest \ # Doesn't build due to depends on cogl-1.0 +#" + +PTESTS_SLOW = "\ + bash-ptest \ + busybox-ptest \ + dbus-test-ptest \ + e2fsprogs-ptest \ + glib-2.0-ptest \ + gstreamer1.0-ptest \ + libevent-ptest \ + lttng-tools-ptest \ + openssh-ptest \ + openssl-ptest \ + perl-ptest \ + python-ptest \ + python3-ptest \ + strace-ptest \ + tcl-ptest \ + util-linux-ptest \ + valgrind-ptest \ +" diff --git a/poky/meta/conf/distro/include/tcmode-default.inc b/poky/meta/conf/distro/include/tcmode-default.inc index 04373cc0a..668f31324 100644 --- a/poky/meta/conf/distro/include/tcmode-default.inc +++ b/poky/meta/conf/distro/include/tcmode-default.inc @@ -24,7 +24,7 @@ BINUVERSION ?= "2.32%" GDBVERSION ?= "8.2%" GLIBCVERSION ?= "2.29%" LINUXLIBCVERSION ?= "5.0%" -QEMUVERSION ?= "3.1%" +QEMUVERSION ?= "4.0%" GOVERSION ?= "1.12%" PREFERRED_VERSION_gcc ?= "${GCCVERSION}" @@ -39,6 +39,7 @@ PREFERRED_VERSION_nativesdk-gcc-runtime ?= "${SDKGCCVERSION}" PREFERRED_VERSION_nativesdk-gcc-sanitizers ?= "${SDKGCCVERSION}" PREFERRED_VERSION_libgcc ?= "${GCCVERSION}" PREFERRED_VERSION_libgcc-initial ?= "${GCCVERSION}" +PREFERRED_VERSION_libgfortran ?= "${GCCVERSION}" PREFERRED_VERSION_nativesdk-gcc ?= "${SDKGCCVERSION}" PREFERRED_VERSION_nativesdk-libgcc ?= "${SDKGCCVERSION}" PREFERRED_VERSION_nativesdk-libgcc-initial ?= "${SDKGCCVERSION}" @@ -67,7 +68,7 @@ PREFERRED_VERSION_qemu-native ?= "${QEMUVERSION}" PREFERRED_VERSION_nativesdk-qemu ?= "${QEMUVERSION}" PREFERRED_VERSION_virtual/${TARGET_PREFIX}go ?= "${GOVERSION}" -PREFERRED_VERSION_go-cross-${TARGET_ARCH} ?= "${GOVERSION}" +PREFERRED_VERSION_go-cross-${TUNE_PKGARCH} ?= "${GOVERSION}" PREFERRED_VERSION_go-crosssdk-${SDK_ARCH} ?= "${GOVERSION}" PREFERRED_VERSION_go-cross-canadian-${TRANSLATED_TARGET_ARCH} ?= "${GOVERSION}" PREFERRED_VERSION_go ?= "${GOVERSION}" diff --git a/poky/meta/conf/layer.conf b/poky/meta/conf/layer.conf index 9d63b5b24..6590e8070 100644 --- a/poky/meta/conf/layer.conf +++ b/poky/meta/conf/layer.conf @@ -76,6 +76,7 @@ SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \ weston->weston-conf \ weston-init->weston \ weston-init->kbd \ + connman->xl2tpd \ " # Avoid adding bison-native to the sysroot without a specific diff --git a/poky/meta/conf/licenses.conf b/poky/meta/conf/licenses.conf index 1058084d8..7b01c5763 100644 --- a/poky/meta/conf/licenses.conf +++ b/poky/meta/conf/licenses.conf @@ -16,7 +16,7 @@ SRC_DISTRIBUTE_LICENSES += "CC-BY-SA-1.0 CC-BY-SA-2.0 CC-BY-SA-2.5 CC-BY-SA-3.0 SRC_DISTRIBUTE_LICENSES += "CDDL-1.0 CECILL-1.0 CECILL-2.0 CECILL-B CECILL-C" SRC_DISTRIBUTE_LICENSES += "ClArtistic CPAL-1.0 CPL-1.0 CUA-OPL-1.0 DSSSL" SRC_DISTRIBUTE_LICENSES += "ECL-1.0 ECL-2.0 eCos-2.0 EDL-1.0 EFL-1.0 EFL-2.0" -SRC_DISTRIBUTE_LICENSES += "Elfutils-Exception Entessa EPL-1.0 EPL-2.0 ErlPL-1.1" +SRC_DISTRIBUTE_LICENSES += "Entessa EPL-1.0 EPL-2.0 ErlPL-1.1" SRC_DISTRIBUTE_LICENSES += "EUDatagrid EUPL-1.0 EUPL-1.1 Fair Frameworx-1.0" SRC_DISTRIBUTE_LICENSES += "FreeType GFDL-1.1 GFDL-1.2 GFDL-1.3 GPL-1.0" SRC_DISTRIBUTE_LICENSES += "GPL-2.0 GPL-2.0-with-autoconf-exception" diff --git a/poky/meta/conf/machine/include/qemuboot-x86.inc b/poky/meta/conf/machine/include/qemuboot-x86.inc index 5fdbe4df5..82ce46d86 100644 --- a/poky/meta/conf/machine/include/qemuboot-x86.inc +++ b/poky/meta/conf/machine/include/qemuboot-x86.inc @@ -1,8 +1,8 @@ # For runqemu IMAGE_CLASSES += "qemuboot" QB_SYSTEM_NAME_x86 = "qemu-system-i386" -QB_CPU_x86 = "-cpu pentium2" -QB_CPU_KVM_x86 = "-cpu pentium2" +QB_CPU_x86 = "-cpu core2duo" +QB_CPU_KVM_x86 = "-cpu core2duo" QB_SYSTEM_NAME_x86-64 = "qemu-system-x86_64" QB_CPU_x86-64 = "-cpu core2duo" diff --git a/poky/meta/conf/machine/qemux86.conf b/poky/meta/conf/machine/qemux86.conf index ae5187cbd..272ad1e18 100644 --- a/poky/meta/conf/machine/qemux86.conf +++ b/poky/meta/conf/machine/qemux86.conf @@ -8,7 +8,8 @@ PREFERRED_PROVIDER_virtual/libgles1 ?= "mesa" PREFERRED_PROVIDER_virtual/libgles2 ?= "mesa" require conf/machine/include/qemu.inc -require conf/machine/include/tune-i586.inc +DEFAULTTUNE ?= "core2-32" +require conf/machine/include/tune-corei7.inc require conf/machine/include/qemuboot-x86.inc UBOOT_MACHINE ?= "qemu-x86_defconfig" diff --git a/poky/meta/files/common-licenses/Elfutils-Exception b/poky/meta/files/common-licenses/Elfutils-Exception deleted file mode 100644 index 627d76912..000000000 --- a/poky/meta/files/common-licenses/Elfutils-Exception +++ /dev/null @@ -1,12 +0,0 @@ - This file describes the limits of the Exception under which you are allowed - to distribute Non-GPL Code in linked combination with Red Hat elfutils. - For the full text of the license, please see one of the header files - included with the source distribution or the file COPYING found in the - top level directory of the source. - - The Approved Interfaces are the functions declared in the files: - - libelf.h - libdw.h - libdwfl.h - diff --git a/poky/meta/files/toolchain-shar-extract.sh b/poky/meta/files/toolchain-shar-extract.sh index 156085b50..ccc4f4e1a 100644 --- a/poky/meta/files/toolchain-shar-extract.sh +++ b/poky/meta/files/toolchain-shar-extract.sh @@ -113,7 +113,16 @@ done payload_offset=$(($(grep -na -m1 "^MARKER:$" $0|cut -d':' -f1) + 1)) if [ "$listcontents" = "1" ] ; then - tail -n +$payload_offset $0| tar tvJ || exit 1 + if [ @SDK_ARCHIVE_TYPE@ = "zip" ]; then + tail -n +$payload_offset $0 > sdk.zip + if unzip -l sdk.zip;then + rm sdk.zip + else + rm sdk.zip && exit 1 + fi + else + tail -n +$payload_offset $0| tar tvJ || exit 1 + fi exit fi @@ -232,7 +241,16 @@ if [ ! -x $target_sdk_dir -o ! -w $target_sdk_dir -o ! -r $target_sdk_dir ]; the fi printf "Extracting SDK..." -tail -n +$payload_offset $0| $SUDO_EXEC tar xJ -C $target_sdk_dir --checkpoint=.2500 $EXTRA_TAR_OPTIONS || exit 1 +if [ @SDK_ARCHIVE_TYPE@ = "zip" ]; then + tail -n +$payload_offset $0 > sdk.zip + if $SUDO_EXEC unzip $EXTRA_TAR_OPTIONS sdk.zip -d $target_sdk_dir;then + rm sdk.zip + else + rm sdk.zip && exit 1 + fi +else + tail -n +$payload_offset $0| $SUDO_EXEC tar xJ -C $target_sdk_dir --checkpoint=.2500 $EXTRA_TAR_OPTIONS || exit 1 +fi echo "done" printf "Setting it up..." diff --git a/poky/meta/lib/bblayers/create.py b/poky/meta/lib/bblayers/create.py index 2ebf151ad..542f31fc8 100644 --- a/poky/meta/lib/bblayers/create.py +++ b/poky/meta/lib/bblayers/create.py @@ -1,3 +1,7 @@ +# +# SPDX-License-Identifier: GPL-2.0-only +# + import logging import os import sys diff --git a/poky/meta/lib/buildstats.py b/poky/meta/lib/buildstats.py index c5d4c73cf..8627ed3c3 100644 --- a/poky/meta/lib/buildstats.py +++ b/poky/meta/lib/buildstats.py @@ -1,3 +1,6 @@ +# +# SPDX-License-Identifier: GPL-2.0-only +# # Implements system state sampling. Called by buildstats.bbclass. # Because it is a real Python module, it can hold persistent state, # like open log files and the time of the last sampling. diff --git a/poky/meta/lib/oe/__init__.py b/poky/meta/lib/oe/__init__.py index 3ad9513f4..4e7c09da0 100644 --- a/poky/meta/lib/oe/__init__.py +++ b/poky/meta/lib/oe/__init__.py @@ -1,2 +1,6 @@ +# +# SPDX-License-Identifier: GPL-2.0-only +# + from pkgutil import extend_path __path__ = extend_path(__path__, __name__) diff --git a/poky/meta/lib/oe/buildhistory_analysis.py b/poky/meta/lib/oe/buildhistory_analysis.py index ad7fceb8b..62c7a2e58 100644 --- a/poky/meta/lib/oe/buildhistory_analysis.py +++ b/poky/meta/lib/oe/buildhistory_analysis.py @@ -3,6 +3,8 @@ # Copyright (C) 2012-2013, 2016-2017 Intel Corporation # Author: Paul Eggleton <paul.eggleton@linux.intel.com> # +# SPDX-License-Identifier: GPL-2.0-only +# # Note: requires GitPython 0.3.1+ # # You can use this from the command line by running scripts/buildhistory-diff @@ -127,7 +129,7 @@ class ChangeRecord: removed = list(set(aitems) - set(bitems)) added = list(set(bitems) - set(aitems)) - if not removed and not added: + if not removed and not added and self.fieldname in ['RPROVIDES', 'RDEPENDS', 'RRECOMMENDS', 'RSUGGESTS', 'RREPLACES', 'RCONFLICTS']: depvera = bb.utils.explode_dep_versions2(self.oldvalue, sort=False) depverb = bb.utils.explode_dep_versions2(self.newvalue, sort=False) for i, j in zip(depvera.items(), depverb.items()): diff --git a/poky/meta/lib/oe/cachedpath.py b/poky/meta/lib/oe/cachedpath.py index 0840cc4c3..254257a83 100644 --- a/poky/meta/lib/oe/cachedpath.py +++ b/poky/meta/lib/oe/cachedpath.py @@ -1,4 +1,6 @@ # +# SPDX-License-Identifier: GPL-2.0-only +# # Based on standard python library functions but avoid # repeated stat calls. Its assumed the files will not change from under us # so we can cache stat calls. diff --git a/poky/meta/lib/oe/classextend.py b/poky/meta/lib/oe/classextend.py index 662707b85..e25122e81 100644 --- a/poky/meta/lib/oe/classextend.py +++ b/poky/meta/lib/oe/classextend.py @@ -1,3 +1,7 @@ +# +# SPDX-License-Identifier: GPL-2.0-only +# + import collections class ClassExtender(object): diff --git a/poky/meta/lib/oe/classutils.py b/poky/meta/lib/oe/classutils.py index 45cd5249b..08bb66b36 100644 --- a/poky/meta/lib/oe/classutils.py +++ b/poky/meta/lib/oe/classutils.py @@ -1,3 +1,6 @@ +# +# SPDX-License-Identifier: GPL-2.0-only +# class ClassRegistryMeta(type): """Give each ClassRegistry their own registry""" diff --git a/poky/meta/lib/oe/copy_buildsystem.py b/poky/meta/lib/oe/copy_buildsystem.py index 7cb784cf8..5b96121dd 100644 --- a/poky/meta/lib/oe/copy_buildsystem.py +++ b/poky/meta/lib/oe/copy_buildsystem.py @@ -1,3 +1,6 @@ +# +# SPDX-License-Identifier: GPL-2.0-only +# # This class should provide easy access to the different aspects of the # buildsystem such as layers, bitbake location, etc. # diff --git a/poky/meta/lib/oe/data.py b/poky/meta/lib/oe/data.py index b8901e63f..602130a90 100644 --- a/poky/meta/lib/oe/data.py +++ b/poky/meta/lib/oe/data.py @@ -1,3 +1,7 @@ +# +# SPDX-License-Identifier: GPL-2.0-only +# + import json import oe.maketype diff --git a/poky/meta/lib/oe/distro_check.py b/poky/meta/lib/oe/distro_check.py index e775c3a6e..88e46c354 100644 --- a/poky/meta/lib/oe/distro_check.py +++ b/poky/meta/lib/oe/distro_check.py @@ -1,3 +1,7 @@ +# +# SPDX-License-Identifier: GPL-2.0-only +# + def create_socket(url, d): import urllib from bb.utils import export_proxies diff --git a/poky/meta/lib/oe/elf.py b/poky/meta/lib/oe/elf.py index 4cc9a9a09..2562cea1d 100644 --- a/poky/meta/lib/oe/elf.py +++ b/poky/meta/lib/oe/elf.py @@ -1,3 +1,7 @@ +# +# SPDX-License-Identifier: GPL-2.0-only +# + def machine_dict(d): # TARGET_OS TARGET_ARCH MACHINE, OSABI, ABIVERSION, Little Endian, 32bit? machdata = { diff --git a/poky/meta/lib/oe/gpg_sign.py b/poky/meta/lib/oe/gpg_sign.py index ccd5aee42..a95d2ba34 100644 --- a/poky/meta/lib/oe/gpg_sign.py +++ b/poky/meta/lib/oe/gpg_sign.py @@ -1,3 +1,7 @@ +# +# SPDX-License-Identifier: GPL-2.0-only +# + """Helper module for GPG signing""" import os diff --git a/poky/meta/lib/oe/license.py b/poky/meta/lib/oe/license.py index 04f5b316a..c1274a61d 100644 --- a/poky/meta/lib/oe/license.py +++ b/poky/meta/lib/oe/license.py @@ -1,4 +1,6 @@ -# vi:sts=4:sw=4:et +# +# SPDX-License-Identifier: GPL-2.0-only +# """Code for parsing OpenEmbedded license strings""" import ast diff --git a/poky/meta/lib/oe/lsb.py b/poky/meta/lib/oe/lsb.py index 71c0992c5..4f2b419ed 100644 --- a/poky/meta/lib/oe/lsb.py +++ b/poky/meta/lib/oe/lsb.py @@ -1,3 +1,7 @@ +# +# SPDX-License-Identifier: GPL-2.0-only +# + def get_os_release(): """Get all key-value pairs from /etc/os-release as a dict""" from collections import OrderedDict diff --git a/poky/meta/lib/oe/maketype.py b/poky/meta/lib/oe/maketype.py index c36e7b560..d929c8b3e 100644 --- a/poky/meta/lib/oe/maketype.py +++ b/poky/meta/lib/oe/maketype.py @@ -1,3 +1,6 @@ +# +# SPDX-License-Identifier: GPL-2.0-only +# """OpenEmbedded variable typing support Types are defined in the metadata by name, using the 'type' flag on a diff --git a/poky/meta/lib/oe/manifest.py b/poky/meta/lib/oe/manifest.py index 674303c86..f7c88f9a0 100644 --- a/poky/meta/lib/oe/manifest.py +++ b/poky/meta/lib/oe/manifest.py @@ -1,3 +1,7 @@ +# +# SPDX-License-Identifier: GPL-2.0-only +# + from abc import ABCMeta, abstractmethod import os import re diff --git a/poky/meta/lib/oe/package.py b/poky/meta/lib/oe/package.py index 6e83f01f1..b59513227 100644 --- a/poky/meta/lib/oe/package.py +++ b/poky/meta/lib/oe/package.py @@ -1,3 +1,7 @@ +# +# SPDX-License-Identifier: GPL-2.0-only +# + import stat import mmap import subprocess diff --git a/poky/meta/lib/oe/package_manager.py b/poky/meta/lib/oe/package_manager.py index 2835c1ddf..06feb4def 100644 --- a/poky/meta/lib/oe/package_manager.py +++ b/poky/meta/lib/oe/package_manager.py @@ -1,3 +1,7 @@ +# +# SPDX-License-Identifier: GPL-2.0-only +# + from abc import ABCMeta, abstractmethod import os import glob diff --git a/poky/meta/lib/oe/packagedata.py b/poky/meta/lib/oe/packagedata.py index 32e5c82a9..cbde380b0 100644 --- a/poky/meta/lib/oe/packagedata.py +++ b/poky/meta/lib/oe/packagedata.py @@ -1,3 +1,7 @@ +# +# SPDX-License-Identifier: GPL-2.0-only +# + import codecs import os diff --git a/poky/meta/lib/oe/packagegroup.py b/poky/meta/lib/oe/packagegroup.py index 4bc5d3e4b..2419cbb6d 100644 --- a/poky/meta/lib/oe/packagegroup.py +++ b/poky/meta/lib/oe/packagegroup.py @@ -1,3 +1,7 @@ +# +# SPDX-License-Identifier: GPL-2.0-only +# + import itertools def is_optional(feature, d): diff --git a/poky/meta/lib/oe/patch.py b/poky/meta/lib/oe/patch.py index 7dd31d9d4..2b1eee100 100644 --- a/poky/meta/lib/oe/patch.py +++ b/poky/meta/lib/oe/patch.py @@ -1,3 +1,7 @@ +# +# SPDX-License-Identifier: GPL-2.0-only +# + import oe.path import oe.types @@ -38,21 +42,10 @@ def runcmd(args, dir = None): if exitstatus != 0: raise CmdError(cmd, exitstatus >> 8, output) if " fuzz " in output: - bb.warn(""" -Some of the context lines in patches were ignored. This can lead to incorrectly applied patches. -The context lines in the patches can be updated with devtool: - - devtool modify <recipe> - devtool finish --force-patch-refresh <recipe> <layer_path> - -Then the updated patches and the source tree (in devtool's workspace) -should be reviewed to make sure the patches apply in the correct place -and don't introduce duplicate lines (which can, and does happen -when some of the context is ignored). Further information: -http://lists.openembedded.org/pipermail/openembedded-core/2018-March/148675.html -https://bugzilla.yoctoproject.org/show_bug.cgi?id=10450 -Details: -{}""".format(output)) + # Drop patch fuzz info with header and footer to log file so + # insane.bbclass can handle to throw error/warning + bb.note("--- Patch fuzz start ---\n%s\n--- Patch fuzz end ---" % format(output)) + return output finally: @@ -858,6 +851,7 @@ def src_patches(d, all=False, expand=True): def should_apply(parm, d): + import bb.utils if "mindate" in parm or "maxdate" in parm: pn = d.getVar('PN') srcdate = d.getVar('SRCDATE_%s' % pn) @@ -894,5 +888,15 @@ def should_apply(parm, d): if srcrev and parm["notrev"] in srcrev: return False, "doesn't apply to revision" + if "maxver" in parm: + pv = d.getVar('PV') + if bb.utils.vercmp_string_op(pv, parm["maxver"], ">"): + return False, "applies to earlier version" + + if "minver" in parm: + pv = d.getVar('PV') + if bb.utils.vercmp_string_op(pv, parm["minver"], "<"): + return False, "applies to later version" + return True, None diff --git a/poky/meta/lib/oe/path.py b/poky/meta/lib/oe/path.py index 1e24d0586..fa209b979 100644 --- a/poky/meta/lib/oe/path.py +++ b/poky/meta/lib/oe/path.py @@ -1,3 +1,7 @@ +# +# SPDX-License-Identifier: GPL-2.0-only +# + import errno import glob import shutil @@ -90,7 +94,7 @@ def copytree(src, dst): subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT) def copyhardlinktree(src, dst): - """ Make the hard link when possible, otherwise copy. """ + """Make a tree of hard links when possible, otherwise copy.""" bb.utils.mkdirhier(dst) if os.path.isdir(src) and not len(os.listdir(src)): return @@ -114,6 +118,17 @@ def copyhardlinktree(src, dst): else: copytree(src, dst) +def copyhardlink(src, dst): + """Make a hard link when possible, otherwise copy.""" + + # We need to stat the destination directory as the destination file probably + # doesn't exist yet. + dstdir = os.path.dirname(dst) + if os.stat(src).st_dev == os.stat(dstdir).st_dev: + os.link(src, dst) + else: + shutil.copy(src, dst) + def remove(path, recurse=True): """ Equivalent to rm -f or rm -rf diff --git a/poky/meta/lib/oe/prservice.py b/poky/meta/lib/oe/prservice.py index 32dfc15e8..b1132ccb1 100644 --- a/poky/meta/lib/oe/prservice.py +++ b/poky/meta/lib/oe/prservice.py @@ -1,3 +1,6 @@ +# +# SPDX-License-Identifier: GPL-2.0-only +# def prserv_make_conn(d, check = False): import prserv.serv diff --git a/poky/meta/lib/oe/qa.py b/poky/meta/lib/oe/qa.py index 59c72ce58..21066c4dc 100644 --- a/poky/meta/lib/oe/qa.py +++ b/poky/meta/lib/oe/qa.py @@ -1,3 +1,7 @@ +# +# SPDX-License-Identifier: GPL-2.0-only +# + import os, struct, mmap class NotELFFileError(Exception): diff --git a/poky/meta/lib/oe/recipeutils.py b/poky/meta/lib/oe/recipeutils.py index 4ca200d83..1e5b9a49f 100644 --- a/poky/meta/lib/oe/recipeutils.py +++ b/poky/meta/lib/oe/recipeutils.py @@ -4,6 +4,8 @@ # # Copyright (C) 2013-2017 Intel Corporation # +# SPDX-License-Identifier: GPL-2.0-only +# import sys import os diff --git a/poky/meta/lib/oe/rootfs.py b/poky/meta/lib/oe/rootfs.py index b7c0b9c24..9358f562c 100644 --- a/poky/meta/lib/oe/rootfs.py +++ b/poky/meta/lib/oe/rootfs.py @@ -1,3 +1,6 @@ +# +# SPDX-License-Identifier: GPL-2.0-only +# from abc import ABCMeta, abstractmethod from oe.utils import execute_pre_post_process from oe.package_manager import * diff --git a/poky/meta/lib/oe/sdk.py b/poky/meta/lib/oe/sdk.py index 878ee1647..b4fbdb799 100644 --- a/poky/meta/lib/oe/sdk.py +++ b/poky/meta/lib/oe/sdk.py @@ -1,3 +1,7 @@ +# +# SPDX-License-Identifier: GPL-2.0-only +# + from abc import ABCMeta, abstractmethod from oe.utils import execute_pre_post_process from oe.manifest import * diff --git a/poky/meta/lib/oe/sstatesig.py b/poky/meta/lib/oe/sstatesig.py index a83af519e..417943db9 100644 --- a/poky/meta/lib/oe/sstatesig.py +++ b/poky/meta/lib/oe/sstatesig.py @@ -1,3 +1,6 @@ +# +# SPDX-License-Identifier: GPL-2.0-only +# import bb.siggen import oe diff --git a/poky/meta/lib/oe/terminal.py b/poky/meta/lib/oe/terminal.py index e4045559f..9bda3efdc 100644 --- a/poky/meta/lib/oe/terminal.py +++ b/poky/meta/lib/oe/terminal.py @@ -1,3 +1,6 @@ +# +# SPDX-License-Identifier: GPL-2.0-only +# import logging import oe.classutils import shlex diff --git a/poky/meta/lib/oe/types.py b/poky/meta/lib/oe/types.py index 1eebba5a3..77ee7ee54 100644 --- a/poky/meta/lib/oe/types.py +++ b/poky/meta/lib/oe/types.py @@ -1,3 +1,7 @@ +# +# SPDX-License-Identifier: GPL-2.0-only +# + import errno import re import os diff --git a/poky/meta/lib/oe/useradd.py b/poky/meta/lib/oe/useradd.py index 179ac76b5..bedfe0ecb 100644 --- a/poky/meta/lib/oe/useradd.py +++ b/poky/meta/lib/oe/useradd.py @@ -1,3 +1,6 @@ +# +# SPDX-License-Identifier: GPL-2.0-only +# import argparse import re diff --git a/poky/meta/lib/oe/utils.py b/poky/meta/lib/oe/utils.py index cedd053d3..d686ce1bf 100644 --- a/poky/meta/lib/oe/utils.py +++ b/poky/meta/lib/oe/utils.py @@ -1,3 +1,7 @@ +# +# SPDX-License-Identifier: GPL-2.0-only +# + import subprocess import multiprocessing import traceback @@ -78,12 +82,12 @@ def prune_suffix(var, suffixes, d): # See if var ends with any of the suffixes listed and # remove it if found for suffix in suffixes: - if var.endswith(suffix): - var = var.replace(suffix, "") + if suffix and var.endswith(suffix): + var = var[:-len(suffix)] prefix = d.getVar("MLPREFIX") if prefix and var.startswith(prefix): - var = var.replace(prefix, "") + var = var[len(prefix):] return var @@ -324,7 +328,12 @@ def multiprocess_launch(target, items, d, extraargs=None): if errors: msg = "" for (e, tb) in errors: - msg = msg + str(e) + ": " + str(tb) + "\n" + if isinstance(e, subprocess.CalledProcessError) and e.output: + msg = msg + str(e) + "\n" + msg = msg + "Subprocess output:" + msg = msg + e.output.decode("utf-8", errors="ignore") + else: + msg = msg + str(e) + ": " + str(tb) + "\n" bb.fatal("Fatal errors occurred in subprocesses:\n%s" % msg) return results diff --git a/poky/meta/lib/oeqa/buildperf/__init__.py b/poky/meta/lib/oeqa/buildperf/__init__.py index 605f429ec..b7ebd036a 100644 --- a/poky/meta/lib/oeqa/buildperf/__init__.py +++ b/poky/meta/lib/oeqa/buildperf/__init__.py @@ -1,13 +1,7 @@ # Copyright (c) 2016, Intel Corporation. # -# This program is free software; you can redistribute it and/or modify it -# under the terms and conditions of the GNU General Public License, -# version 2, as published by the Free Software Foundation. # -# This program is distributed in the hope it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for -# more details. +# SPDX-License-Identifier: GPL-2.0-only # """Build performance tests""" from .base import (BuildPerfTestCase, diff --git a/poky/meta/lib/oeqa/buildperf/base.py b/poky/meta/lib/oeqa/buildperf/base.py index ac6ee15d0..3b2fed549 100644 --- a/poky/meta/lib/oeqa/buildperf/base.py +++ b/poky/meta/lib/oeqa/buildperf/base.py @@ -1,13 +1,6 @@ # Copyright (c) 2016, Intel Corporation. # -# This program is free software; you can redistribute it and/or modify it -# under the terms and conditions of the GNU General Public License, -# version 2, as published by the Free Software Foundation. -# -# This program is distributed in the hope it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for -# more details. +# SPDX-License-Identifier: GPL-2.0-only # """Build performance test base classes and functionality""" import json diff --git a/poky/meta/lib/oeqa/buildperf/test_basic.py b/poky/meta/lib/oeqa/buildperf/test_basic.py index 6d6b01b04..2104617ba 100644 --- a/poky/meta/lib/oeqa/buildperf/test_basic.py +++ b/poky/meta/lib/oeqa/buildperf/test_basic.py @@ -1,13 +1,6 @@ # Copyright (c) 2016, Intel Corporation. # -# This program is free software; you can redistribute it and/or modify it -# under the terms and conditions of the GNU General Public License, -# version 2, as published by the Free Software Foundation. -# -# This program is distributed in the hope it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for -# more details. +# SPDX-License-Identifier: GPL-2.0-only # """Basic set of build performance tests""" import os diff --git a/poky/meta/lib/oeqa/controllers/__init__.py b/poky/meta/lib/oeqa/controllers/__init__.py index 8eda92763..cc3836c4b 100644 --- a/poky/meta/lib/oeqa/controllers/__init__.py +++ b/poky/meta/lib/oeqa/controllers/__init__.py @@ -1,3 +1,6 @@ +# +# SPDX-License-Identifier: GPL-2.0-only +# # Enable other layers to have modules in the same named directory from pkgutil import extend_path __path__ = extend_path(__path__, __name__) diff --git a/poky/meta/lib/oeqa/controllers/masterimage.py b/poky/meta/lib/oeqa/controllers/masterimage.py index f175e119d..0435dfa12 100644 --- a/poky/meta/lib/oeqa/controllers/masterimage.py +++ b/poky/meta/lib/oeqa/controllers/masterimage.py @@ -1,7 +1,7 @@ # Copyright (C) 2014 Intel Corporation # -# Released under the MIT license (see COPYING.MIT) - +# SPDX-License-Identifier: MIT +# # This module adds support to testimage.bbclass to deploy images and run # tests using a "master image" - this is a "known good" image that is # installed onto the device as part of initial setup and will be booted into diff --git a/poky/meta/lib/oeqa/controllers/testtargetloader.py b/poky/meta/lib/oeqa/controllers/testtargetloader.py index b51d04b21..23101c737 100644 --- a/poky/meta/lib/oeqa/controllers/testtargetloader.py +++ b/poky/meta/lib/oeqa/controllers/testtargetloader.py @@ -1,3 +1,7 @@ +# +# SPDX-License-Identifier: GPL-2.0-only +# + import types import bb import os diff --git a/poky/meta/lib/oeqa/core/case.py b/poky/meta/lib/oeqa/core/case.py index 917a2aa3f..54977c809 100644 --- a/poky/meta/lib/oeqa/core/case.py +++ b/poky/meta/lib/oeqa/core/case.py @@ -1,5 +1,8 @@ +# # Copyright (C) 2016 Intel Corporation -# Released under the MIT license (see COPYING.MIT) +# +# SPDX-License-Identifier: MIT +# import unittest diff --git a/poky/meta/lib/oeqa/core/cases/example/test_basic.py b/poky/meta/lib/oeqa/core/cases/example/test_basic.py index 11cf3800c..d77edcdce 100644 --- a/poky/meta/lib/oeqa/core/cases/example/test_basic.py +++ b/poky/meta/lib/oeqa/core/cases/example/test_basic.py @@ -1,5 +1,7 @@ # Copyright (C) 2016 Intel Corporation -# Released under the MIT license (see COPYING.MIT) +# +# SPDX-License-Identifier: MIT +# from oeqa.core.case import OETestCase from oeqa.core.decorator.depends import OETestDepends diff --git a/poky/meta/lib/oeqa/core/context.py b/poky/meta/lib/oeqa/core/context.py index 821aec883..09627044c 100644 --- a/poky/meta/lib/oeqa/core/context.py +++ b/poky/meta/lib/oeqa/core/context.py @@ -1,5 +1,7 @@ -# Copyright (C) 2016 Intel Corporation -# Released under the MIT license (see COPYING.MIT) +## Copyright (C) 2016 Intel Corporation +# +# SPDX-License-Identifier: MIT +# import os import sys diff --git a/poky/meta/lib/oeqa/core/decorator/__init__.py b/poky/meta/lib/oeqa/core/decorator/__init__.py index 14d7bfcd3..923b21826 100644 --- a/poky/meta/lib/oeqa/core/decorator/__init__.py +++ b/poky/meta/lib/oeqa/core/decorator/__init__.py @@ -1,5 +1,8 @@ +# # Copyright (C) 2016 Intel Corporation -# Released under the MIT license (see COPYING.MIT) +# +# SPDX-License-Identifier: MIT +# from functools import wraps from abc import abstractmethod, ABCMeta diff --git a/poky/meta/lib/oeqa/core/decorator/data.py b/poky/meta/lib/oeqa/core/decorator/data.py index f0f65abb3..babc9789d 100644 --- a/poky/meta/lib/oeqa/core/decorator/data.py +++ b/poky/meta/lib/oeqa/core/decorator/data.py @@ -1,5 +1,8 @@ +# # Copyright (C) 2016 Intel Corporation -# Released under the MIT license (see COPYING.MIT) +# +# SPDX-License-Identifier: MIT +# from oeqa.core.exception import OEQAMissingVariable diff --git a/poky/meta/lib/oeqa/core/decorator/depends.py b/poky/meta/lib/oeqa/core/decorator/depends.py index 950dbaa67..33f0841ca 100644 --- a/poky/meta/lib/oeqa/core/decorator/depends.py +++ b/poky/meta/lib/oeqa/core/decorator/depends.py @@ -1,5 +1,8 @@ +# # Copyright (C) 2016 Intel Corporation -# Released under the MIT license (see COPYING.MIT) +# +# SPDX-License-Identifier: MIT +# from unittest import SkipTest diff --git a/poky/meta/lib/oeqa/core/decorator/oeid.py b/poky/meta/lib/oeqa/core/decorator/oeid.py deleted file mode 100644 index ea8017a55..000000000 --- a/poky/meta/lib/oeqa/core/decorator/oeid.py +++ /dev/null @@ -1,23 +0,0 @@ -# Copyright (C) 2016 Intel Corporation -# Released under the MIT license (see COPYING.MIT) - -from . import OETestFilter, registerDecorator -from oeqa.core.utils.misc import intToList - -def _idFilter(oeid, filters): - return False if oeid in filters else True - -@registerDecorator -class OETestID(OETestFilter): - attrs = ('oeid',) - - def bind(self, registry, case): - super(OETestID, self).bind(registry, case) - - def filtrate(self, filters): - if filters.get('oeid'): - filterx = intToList(filters['oeid'], 'oeid') - del filters['oeid'] - if _idFilter(self.oeid, filterx): - return True - return False diff --git a/poky/meta/lib/oeqa/core/decorator/oetag.py b/poky/meta/lib/oeqa/core/decorator/oetag.py index ad38ab78a..8c31138da 100644 --- a/poky/meta/lib/oeqa/core/decorator/oetag.py +++ b/poky/meta/lib/oeqa/core/decorator/oetag.py @@ -1,5 +1,8 @@ +# # Copyright (C) 2016 Intel Corporation -# Released under the MIT license (see COPYING.MIT) +# +# SPDX-License-Identifier: MIT +# from . import OETestFilter, registerDecorator from oeqa.core.utils.misc import strToList diff --git a/poky/meta/lib/oeqa/core/decorator/oetimeout.py b/poky/meta/lib/oeqa/core/decorator/oetimeout.py index a247583f7..df90d1c79 100644 --- a/poky/meta/lib/oeqa/core/decorator/oetimeout.py +++ b/poky/meta/lib/oeqa/core/decorator/oetimeout.py @@ -1,5 +1,8 @@ +# # Copyright (C) 2016 Intel Corporation -# Released under the MIT license (see COPYING.MIT) +# +# SPDX-License-Identifier: MIT +# import signal from . import OETestDecorator, registerDecorator diff --git a/poky/meta/lib/oeqa/core/exception.py b/poky/meta/lib/oeqa/core/exception.py index 732f2efde..05be0ed21 100644 --- a/poky/meta/lib/oeqa/core/exception.py +++ b/poky/meta/lib/oeqa/core/exception.py @@ -1,5 +1,8 @@ +# # Copyright (C) 2016 Intel Corporation -# Released under the MIT license (see COPYING.MIT) +# +# SPDX-License-Identifier: MIT +# class OEQAException(Exception): pass diff --git a/poky/meta/lib/oeqa/core/loader.py b/poky/meta/lib/oeqa/core/loader.py index e66de32cb..7fea0585c 100644 --- a/poky/meta/lib/oeqa/core/loader.py +++ b/poky/meta/lib/oeqa/core/loader.py @@ -1,5 +1,8 @@ +# # Copyright (C) 2016 Intel Corporation -# Released under the MIT license (see COPYING.MIT) +# +# SPDX-License-Identifier: MIT +# import os import re diff --git a/poky/meta/lib/oeqa/core/runner.py b/poky/meta/lib/oeqa/core/runner.py index df88b85f1..930620ea1 100644 --- a/poky/meta/lib/oeqa/core/runner.py +++ b/poky/meta/lib/oeqa/core/runner.py @@ -1,5 +1,8 @@ +# # Copyright (C) 2016 Intel Corporation -# Released under the MIT license (see COPYING.MIT) +# +# SPDX-License-Identifier: MIT +# import os import time @@ -7,6 +10,7 @@ import unittest import logging import re import json +import sys from unittest import TextTestResult as _TestResult from unittest import TextTestRunner as _TestRunner @@ -45,6 +49,9 @@ class OETestResult(_TestResult): self.tc = tc + # stdout and stderr for each test case + self.logged_output = {} + def startTest(self, test): # May have been set by concurrencytest if test.id() not in self.starttime: @@ -53,6 +60,9 @@ class OETestResult(_TestResult): def stopTest(self, test): self.endtime[test.id()] = time.time() + if self.buffer: + self.logged_output[test.id()] = ( + sys.stdout.getvalue(), sys.stderr.getvalue()) super(OETestResult, self).stopTest(test) if test.id() in self.progressinfo: self.tc.logger.info(self.progressinfo[test.id()]) @@ -81,11 +91,17 @@ class OETestResult(_TestResult): def _getTestResultDetails(self, case): result_types = {'failures': 'FAILED', 'errors': 'ERROR', 'skipped': 'SKIPPED', - 'expectedFailures': 'EXPECTEDFAIL', 'successes': 'PASSED'} + 'expectedFailures': 'EXPECTEDFAIL', 'successes': 'PASSED', + 'unexpectedSuccesses' : 'PASSED'} for rtype in result_types: found = False - for (scase, msg) in getattr(self, rtype): + for resultclass in getattr(self, rtype): + # unexpectedSuccesses are just lists, not lists of tuples + if isinstance(resultclass, tuple): + scase, msg = resultclass + else: + scase, msg = resultclass, None if case.id() == scase.id(): found = True break @@ -93,13 +109,13 @@ class OETestResult(_TestResult): # When fails at module or class level the class name is passed as string # so figure out to see if match - m = re.search(r"^setUpModule \((?P<module_name>.*)\)$", scase_str) + m = re.search(r"^setUpModule \((?P<module_name>.*)\).*$", scase_str) if m: if case.__class__.__module__ == m.group('module_name'): found = True break - m = re.search(r"^setUpClass \((?P<class_name>.*)\)$", scase_str) + m = re.search(r"^setUpClass \((?P<class_name>.*)\).*$", scase_str) if m: class_name = "%s.%s" % (case.__class__.__module__, case.__class__.__name__) @@ -118,7 +134,8 @@ class OETestResult(_TestResult): self.successes.append((test, None)) super(OETestResult, self).addSuccess(test) - def logDetails(self, json_file_dir=None, configuration=None, result_id=None): + def logDetails(self, json_file_dir=None, configuration=None, result_id=None, + dump_streams=False): self.tc.logger.info("RESULTS:") result = {} @@ -131,23 +148,21 @@ class OETestResult(_TestResult): (status, log) = self._getTestResultDetails(case) - oeid = -1 - if hasattr(case, 'decorators'): - for d in case.decorators: - if hasattr(d, 'oeid'): - oeid = d.oeid - t = "" if case.id() in self.starttime and case.id() in self.endtime: t = " (" + "{0:.2f}".format(self.endtime[case.id()] - self.starttime[case.id()]) + "s)" if status not in logs: logs[status] = [] - logs[status].append("RESULTS - %s - Testcase %s: %s%s" % (case.id(), oeid, status, t)) + logs[status].append("RESULTS - %s: %s%s" % (case.id(), status, t)) + report = {'status': status} if log: - result[case.id()] = {'status': status, 'log': log} - else: - result[case.id()] = {'status': status} + report['log'] = log + if dump_streams and case.id() in self.logged_output: + (stdout, stderr) = self.logged_output[case.id()] + report['stdout'] = stdout + report['stderr'] = stderr + result[case.id()] = report for i in ['PASSED', 'SKIPPED', 'EXPECTEDFAIL', 'ERROR', 'FAILED', 'UNKNOWN']: if i not in logs: @@ -190,38 +205,19 @@ class OETestRunner(_TestRunner): self._walked_cases = self._walked_cases + 1 def _list_tests_name(self, suite): - from oeqa.core.decorator.oeid import OETestID from oeqa.core.decorator.oetag import OETestTag self._walked_cases = 0 - def _list_cases_without_id(logger, case): - - found_id = False - if hasattr(case, 'decorators'): - for d in case.decorators: - if isinstance(d, OETestID): - found_id = True - - if not found_id: - logger.info('oeid missing for %s' % case.id()) - def _list_cases(logger, case): - oeid = None oetag = None if hasattr(case, 'decorators'): for d in case.decorators: - if isinstance(d, OETestID): - oeid = d.oeid - elif isinstance(d, OETestTag): + if isinstance(d, OETestTag): oetag = d.oetag - logger.info("%s\t%s\t\t%s" % (oeid, oetag, case.id())) - - self.tc.logger.info("Listing test cases that don't have oeid ...") - self._walk_suite(suite, _list_cases_without_id) - self.tc.logger.info("-" * 80) + logger.info("%s\t\t%s" % (oetag, case.id())) self.tc.logger.info("Listing all available tests:") self._walked_cases = 0 diff --git a/poky/meta/lib/oeqa/core/target/__init__.py b/poky/meta/lib/oeqa/core/target/__init__.py index d2468bc25..1382aa9b5 100644 --- a/poky/meta/lib/oeqa/core/target/__init__.py +++ b/poky/meta/lib/oeqa/core/target/__init__.py @@ -1,5 +1,8 @@ +# # Copyright (C) 2016 Intel Corporation -# Released under the MIT license (see COPYING.MIT) +# +# SPDX-License-Identifier: MIT +# from abc import abstractmethod diff --git a/poky/meta/lib/oeqa/core/target/qemu.py b/poky/meta/lib/oeqa/core/target/qemu.py index 7a161a323..081c627b0 100644 --- a/poky/meta/lib/oeqa/core/target/qemu.py +++ b/poky/meta/lib/oeqa/core/target/qemu.py @@ -1,5 +1,8 @@ +# # Copyright (C) 2016 Intel Corporation -# Released under the MIT license (see COPYING.MIT) +# +# SPDX-License-Identifier: MIT +# import os import sys diff --git a/poky/meta/lib/oeqa/core/target/ssh.py b/poky/meta/lib/oeqa/core/target/ssh.py index 8ff1f6c67..51032ef1a 100644 --- a/poky/meta/lib/oeqa/core/target/ssh.py +++ b/poky/meta/lib/oeqa/core/target/ssh.py @@ -1,5 +1,8 @@ +# # Copyright (C) 2016 Intel Corporation -# Released under the MIT license (see COPYING.MIT) +# +# SPDX-License-Identifier: MIT +# import os import time @@ -207,7 +210,7 @@ def SSHCall(command, logger, timeout=None, **opts): logger.debug('time: %s, endtime: %s' % (time.time(), endtime)) try: if select.select([process.stdout], [], [], 5)[0] != []: - reader = codecs.getreader('utf-8')(process.stdout) + reader = codecs.getreader('utf-8')(process.stdout, 'ignore') data = reader.read(1024, 4096) if not data: process.stdout.close() @@ -234,7 +237,7 @@ def SSHCall(command, logger, timeout=None, **opts): output += lastline else: - output = process.communicate()[0].decode("utf-8", errors='replace') + output = process.communicate()[0].decode('utf-8', errors='ignore') logger.debug('Data from SSH call: %s' % output.rstrip()) options = { diff --git a/poky/meta/lib/oeqa/core/tests/cases/data.py b/poky/meta/lib/oeqa/core/tests/cases/data.py index 88003a6ad..0d8de87ae 100644 --- a/poky/meta/lib/oeqa/core/tests/cases/data.py +++ b/poky/meta/lib/oeqa/core/tests/cases/data.py @@ -1,5 +1,8 @@ +# # Copyright (C) 2016 Intel Corporation -# Released under the MIT license (see COPYING.MIT) +# +# SPDX-License-Identifier: MIT +# from oeqa.core.case import OETestCase from oeqa.core.decorator.oetag import OETestTag diff --git a/poky/meta/lib/oeqa/core/tests/cases/depends.py b/poky/meta/lib/oeqa/core/tests/cases/depends.py index 17cdd90b1..46e7db900 100644 --- a/poky/meta/lib/oeqa/core/tests/cases/depends.py +++ b/poky/meta/lib/oeqa/core/tests/cases/depends.py @@ -1,5 +1,8 @@ +# # Copyright (C) 2016 Intel Corporation -# Released under the MIT license (see COPYING.MIT) +# +# SPDX-License-Identifier: MIT +# from oeqa.core.case import OETestCase from oeqa.core.decorator.depends import OETestDepends diff --git a/poky/meta/lib/oeqa/core/tests/cases/loader/invalid/oeid.py b/poky/meta/lib/oeqa/core/tests/cases/loader/invalid/oeid.py deleted file mode 100644 index 038d44593..000000000 --- a/poky/meta/lib/oeqa/core/tests/cases/loader/invalid/oeid.py +++ /dev/null @@ -1,15 +0,0 @@ -# Copyright (C) 2016 Intel Corporation -# Released under the MIT license (see COPYING.MIT) - -from oeqa.core.case import OETestCase - -class AnotherIDTest(OETestCase): - - def testAnotherIdGood(self): - self.assertTrue(True, msg='How is this possible?') - - def testAnotherIdOther(self): - self.assertTrue(True, msg='How is this possible?') - - def testAnotherIdNone(self): - self.assertTrue(True, msg='How is this possible?') diff --git a/poky/meta/lib/oeqa/core/tests/cases/loader/valid/another.py b/poky/meta/lib/oeqa/core/tests/cases/loader/valid/another.py index c9ffd1777..bedc20c8a 100644 --- a/poky/meta/lib/oeqa/core/tests/cases/loader/valid/another.py +++ b/poky/meta/lib/oeqa/core/tests/cases/loader/valid/another.py @@ -1,5 +1,8 @@ +# # Copyright (C) 2016 Intel Corporation -# Released under the MIT license (see COPYING.MIT) +# +# SPDX-License-Identifier: MIT +# from oeqa.core.case import OETestCase diff --git a/poky/meta/lib/oeqa/core/tests/cases/oeid.py b/poky/meta/lib/oeqa/core/tests/cases/oeid.py deleted file mode 100644 index c2d3d32f2..000000000 --- a/poky/meta/lib/oeqa/core/tests/cases/oeid.py +++ /dev/null @@ -1,18 +0,0 @@ -# Copyright (C) 2016 Intel Corporation -# Released under the MIT license (see COPYING.MIT) - -from oeqa.core.case import OETestCase -from oeqa.core.decorator.oeid import OETestID - -class IDTest(OETestCase): - - @OETestID(101) - def testIdGood(self): - self.assertTrue(True, msg='How is this possible?') - - @OETestID(102) - def testIdOther(self): - self.assertTrue(True, msg='How is this possible?') - - def testIdNone(self): - self.assertTrue(True, msg='How is this possible?') diff --git a/poky/meta/lib/oeqa/core/tests/cases/oetag.py b/poky/meta/lib/oeqa/core/tests/cases/oetag.py index 0cae02e75..4e1d08098 100644 --- a/poky/meta/lib/oeqa/core/tests/cases/oetag.py +++ b/poky/meta/lib/oeqa/core/tests/cases/oetag.py @@ -1,5 +1,8 @@ +# # Copyright (C) 2016 Intel Corporation -# Released under the MIT license (see COPYING.MIT) +# +# SPDX-License-Identifier: MIT +# from oeqa.core.case import OETestCase from oeqa.core.decorator.oetag import OETestTag diff --git a/poky/meta/lib/oeqa/core/tests/cases/timeout.py b/poky/meta/lib/oeqa/core/tests/cases/timeout.py index 870c3157f..5dfecc7b7 100644 --- a/poky/meta/lib/oeqa/core/tests/cases/timeout.py +++ b/poky/meta/lib/oeqa/core/tests/cases/timeout.py @@ -1,5 +1,8 @@ +# # Copyright (C) 2016 Intel Corporation -# Released under the MIT license (see COPYING.MIT) +# +# SPDX-License-Identifier: MIT +# from time import sleep diff --git a/poky/meta/lib/oeqa/core/tests/common.py b/poky/meta/lib/oeqa/core/tests/common.py index 52b18a1c3..39efd504c 100644 --- a/poky/meta/lib/oeqa/core/tests/common.py +++ b/poky/meta/lib/oeqa/core/tests/common.py @@ -1,5 +1,8 @@ +# # Copyright (C) 2016 Intel Corporation -# Released under the MIT license (see COPYING.MIT) +# +# SPDX-License-Identifier: MIT +# import sys import os diff --git a/poky/meta/lib/oeqa/core/tests/test_data.py b/poky/meta/lib/oeqa/core/tests/test_data.py index 21b6c68b8..50811bb38 100755 --- a/poky/meta/lib/oeqa/core/tests/test_data.py +++ b/poky/meta/lib/oeqa/core/tests/test_data.py @@ -1,7 +1,9 @@ #!/usr/bin/env python3 # Copyright (C) 2016 Intel Corporation -# Released under the MIT license (see COPYING.MIT) +# +# SPDX-License-Identifier: MIT +# import unittest import logging diff --git a/poky/meta/lib/oeqa/core/tests/test_decorators.py b/poky/meta/lib/oeqa/core/tests/test_decorators.py index f7d11e885..499cd66ff 100755 --- a/poky/meta/lib/oeqa/core/tests/test_decorators.py +++ b/poky/meta/lib/oeqa/core/tests/test_decorators.py @@ -1,7 +1,9 @@ #!/usr/bin/env python3 - +# # Copyright (C) 2016 Intel Corporation -# Released under the MIT license (see COPYING.MIT) +# +# SPDX-License-Identifier: MIT +# import signal import unittest @@ -42,29 +44,6 @@ class TestFilterDecorator(TestBase): for test in tests: self._runFilterTest(['oetag'], test[0], test[1], test[2]) - def test_oeid(self): - # Get all cases without filtering. - filter_all = {} - test_all = {'testIdGood', 'testIdOther', 'testIdNone'} - msg_all = 'Failed to get all oeid cases without filtering.' - - # Get cases with '101' oeid. - filter_good = {'oeid': 101} - test_good = {'testIdGood'} - msg_good = 'Failed to get just one tes filtering with "101" oeid.' - - # Get cases with an invalid id. - filter_invalid = {'oeid':999} - test_invalid = set() - msg_invalid = 'Failed to filter all test using an invalid oeid.' - - tests = ((filter_all, test_all, msg_all), - (filter_good, test_good, msg_good), - (filter_invalid, test_invalid, msg_invalid)) - - for test in tests: - self._runFilterTest(['oeid'], test[0], test[1], test[2]) - class TestDependsDecorator(TestBase): modules = ['depends'] diff --git a/poky/meta/lib/oeqa/core/tests/test_loader.py b/poky/meta/lib/oeqa/core/tests/test_loader.py index b79b8bad4..519ba9609 100755 --- a/poky/meta/lib/oeqa/core/tests/test_loader.py +++ b/poky/meta/lib/oeqa/core/tests/test_loader.py @@ -1,7 +1,9 @@ #!/usr/bin/env python3 - +# # Copyright (C) 2016 Intel Corporation -# Released under the MIT license (see COPYING.MIT) +# +# SPDX-License-Identifier: MIT +# import os import unittest @@ -42,7 +44,7 @@ class TestLoader(TestBase): cases_path = self.cases_path invalid_path = os.path.join(cases_path, 'loader', 'invalid') self.cases_path = [self.cases_path, invalid_path] - expect = 'Duplicated oeid module found in' + expect = 'Duplicated oetag module found in' msg = 'Expected ImportError exception for having duplicated module' try: # Must throw ImportEror because duplicated module @@ -55,17 +57,16 @@ class TestLoader(TestBase): self.cases_path = cases_path def test_filter_modules(self): - expected_modules = {'oeid', 'oetag'} + expected_modules = {'oetag'} tc = self._testLoader(modules=expected_modules) modules = getSuiteModules(tc.suites) msg = 'Expected just %s modules' % ', '.join(expected_modules) self.assertEqual(modules, expected_modules, msg=msg) def test_filter_cases(self): - modules = ['oeid', 'oetag', 'data'] + modules = ['oetag', 'data'] expected_cases = {'data.DataTest.testDataOk', - 'oetag.TagTest.testTagGood', - 'oeid.IDTest.testIdGood'} + 'oetag.TagTest.testTagGood'} tc = self._testLoader(modules=modules, tests=expected_cases) cases = set(getSuiteCasesIDs(tc.suites)) msg = 'Expected just %s cases' % ', '.join(expected_cases) @@ -74,7 +75,7 @@ class TestLoader(TestBase): def test_import_from_paths(self): cases_path = self.cases_path cases2_path = os.path.join(cases_path, 'loader', 'valid') - expected_modules = {'oeid', 'another'} + expected_modules = {'another'} self.cases_path = [self.cases_path, cases2_path] tc = self._testLoader(modules=expected_modules) modules = getSuiteModules(tc.suites) diff --git a/poky/meta/lib/oeqa/core/tests/test_runner.py b/poky/meta/lib/oeqa/core/tests/test_runner.py index a3f3861fe..205464cfa 100755 --- a/poky/meta/lib/oeqa/core/tests/test_runner.py +++ b/poky/meta/lib/oeqa/core/tests/test_runner.py @@ -1,7 +1,9 @@ #!/usr/bin/env python3 - +# # Copyright (C) 2016 Intel Corporation -# Released under the MIT license (see COPYING.MIT) +# +# SPDX-License-Identifier: MIT +# import unittest import logging diff --git a/poky/meta/lib/oeqa/core/utils/concurrencytest.py b/poky/meta/lib/oeqa/core/utils/concurrencytest.py index e050818f0..6bf771886 100644 --- a/poky/meta/lib/oeqa/core/utils/concurrencytest.py +++ b/poky/meta/lib/oeqa/core/utils/concurrencytest.py @@ -1,5 +1,7 @@ #!/usr/bin/env python3 # +# SPDX-License-Identifier: GPL-2.0-or-later +# # Modified for use in OE by Richard Purdie, 2018 # # Modified by: Corey Goldberg, 2013 @@ -19,6 +21,7 @@ import testtools import threading import time import io +import subunit from queue import Queue from itertools import cycle @@ -51,10 +54,11 @@ class BBThreadsafeForwardingResult(ThreadsafeForwardingResult): def _add_result_with_semaphore(self, method, test, *args, **kwargs): self.semaphore.acquire() try: - self.result.starttime[test.id()] = self._test_start.timestamp() - self.result.threadprogress[self.threadnum].append(test.id()) - totalprogress = sum(len(x) for x in self.result.threadprogress.values()) - self.result.progressinfo[test.id()] = "%s: %s/%s %s/%s (%ss) (%s)" % ( + if self._test_start: + self.result.starttime[test.id()] = self._test_start.timestamp() + self.result.threadprogress[self.threadnum].append(test.id()) + totalprogress = sum(len(x) for x in self.result.threadprogress.values()) + self.result.progressinfo[test.id()] = "%s: %s/%s %s/%s (%ss) (%s)" % ( self.threadnum, len(self.result.threadprogress[self.threadnum]), self.totalinprocess, @@ -67,6 +71,23 @@ class BBThreadsafeForwardingResult(ThreadsafeForwardingResult): super(BBThreadsafeForwardingResult, self)._add_result_with_semaphore(method, test, *args, **kwargs) # +# We have to patch subunit since it doesn't understand how to handle addError +# outside of a running test case. This can happen if classSetUp() fails +# for a class of tests. This unfortunately has horrible internal knowledge. +# +def outSideTestaddError(self, offset, line): + """An 'error:' directive has been read.""" + test_name = line[offset:-1].decode('utf8') + self.parser._current_test = subunit.RemotedTestCase(test_name) + self.parser.current_test_description = test_name + self.parser._state = self.parser._reading_error_details + self.parser._reading_error_details.set_simple() + self.parser.subunitLineReceived(line) + +subunit._OutSideTest.addError = outSideTestaddError + + +# # A dummy structure to add to io.StringIO so that the .buffer object # is available and accepts writes. This allows unittest with buffer=True # to interact ok with subunit which wants to access sys.stdout.buffer. diff --git a/poky/meta/lib/oeqa/core/utils/misc.py b/poky/meta/lib/oeqa/core/utils/misc.py index 0b223b5d0..e1a59588e 100644 --- a/poky/meta/lib/oeqa/core/utils/misc.py +++ b/poky/meta/lib/oeqa/core/utils/misc.py @@ -1,5 +1,8 @@ +# # Copyright (C) 2016 Intel Corporation -# Released under the MIT license (see COPYING.MIT) +# +# SPDX-License-Identifier: MIT +# def toList(obj, obj_type, obj_name="Object"): if isinstance(obj, obj_type): diff --git a/poky/meta/lib/oeqa/core/utils/path.py b/poky/meta/lib/oeqa/core/utils/path.py index a21caad5c..c086dcb0b 100644 --- a/poky/meta/lib/oeqa/core/utils/path.py +++ b/poky/meta/lib/oeqa/core/utils/path.py @@ -1,5 +1,8 @@ +# # Copyright (C) 2016 Intel Corporation -# Released under the MIT license (see COPYING.MIT) +# +# SPDX-License-Identifier: MIT +# import os import sys diff --git a/poky/meta/lib/oeqa/core/utils/test.py b/poky/meta/lib/oeqa/core/utils/test.py index 88d5d1398..d38cab8a5 100644 --- a/poky/meta/lib/oeqa/core/utils/test.py +++ b/poky/meta/lib/oeqa/core/utils/test.py @@ -1,5 +1,8 @@ +# # Copyright (C) 2016 Intel Corporation -# Released under the MIT license (see COPYING.MIT) +# +# SPDX-License-Identifier: MIT +# import os import inspect diff --git a/poky/meta/lib/oeqa/manual/compliance-test.json b/poky/meta/lib/oeqa/manual/compliance-test.json index 982f0b46c..8c13b68ec 100644 --- a/poky/meta/lib/oeqa/manual/compliance-test.json +++ b/poky/meta/lib/oeqa/manual/compliance-test.json @@ -1,94 +1,6 @@ [ { "test": { - "@alias": "compliance-test.compliance-test.LTP_subset_test_suite", - "author": [ - { - "email": "corneliux.stoicescu@intel.com", - "name": "corneliux.stoicescu@intel.com" - } - ], - "execution": { - "1": { - "action": "For real hardware, run following component, \nsyscalls \nfs \nfsx \ndio \nio \nmm \nipc \nsched \nmath \nnptl \npty \nadmin_tools \ntimers \ncommands \n\nFor QEMU, run following component \nsyscalls \nmm \nipc \nsched \nmath \nnptl \npty \nadmin_tools \ncommands \n\nRun Instructions: \nLTP download: http://sourceforge.net/projects/ltp/files/LTP%20Source/ltp-20120401/ltp-full-20120401.bz2/download \n\n(link is outdated, always use the last version released or the one found in the image) \n\n\n\nbuild steps: refer to http://ltp.sourceforge.net \n\nRun steps:", - "expected_results": "" - }, - "2": { - "action": "Build LTP with toolchain or in sdk image. Or use a sato-sdk image which has LTP already included in /opt/ltp", - "expected_results": "" - }, - "3": { - "action": "For QEMU, create the qemu target with \"-m 512\", which makes some memory stress cases pass. For some issues, we could only set 128M for qemuarm and 256M for qemumips.", - "expected_results": "" - }, - "4": { - "action": "Copy LTP folder into target, for example, /opt/ltp if you have built it yourself. Modify the default scenario file \"scenario_groups/default\", remove test suites not to be tested", - "expected_results": "" - }, - "5": { - "action": "Comment runtests/sched: hackbench, which is not suitable to run in emulators. Reminder (comment it also for Sugarbay Devices).", - "expected_results": "" - }, - "6": { - "action": "Comment oom01, oom02, oom03, oom04 in runtest/mm, which consume lots of memory", - "expected_results": "" - }, - "7": { - "action": "From /opt/ltp run: ./runltp -p -l result-M2-20101218.log -C result-M2-20101218.fail -d /opt/ltp/tmp &> result-M2-20101218.fulllog \n\n", - "expected_results": "Check the result on wiki, https://wiki.yoctoproject.org/wiki/LTP_result, there should be no regression failure met." - } - }, - "summary": "LTP_subset_test_suite" - } - }, - { - "test": { - "@alias": "compliance-test.compliance-test.POSIX_subset_test_suite", - "author": [ - { - "email": "corneliux.stoicescu@intel.com", - "name": "corneliux.stoicescu@intel.com" - } - ], - "execution": { - "1": { - "action": "In a sato-sdk image go to /opt/ltp or get latest LTP sourcecode, download location is http://sourceforge.net/projects/ltp/files/LTP%20Source/ and install it.", - "expected_results": "" - }, - "2": { - "action": "Go into the folder of LTP, and posix_testsuite is under testcases/open_posix_testsuite/", - "expected_results": "" - }, - "3": { - "action": "Run connmand: make generate-makefiles", - "expected_results": "" - }, - "4": { - "action": "Run connmand: make conformance-all", - "expected_results": "" - }, - "5": { - "action": "Run connmand: make conformance-test (this step may show errors, ignore them)", - "expected_results": "" - }, - "6": { - "action": "Run connmand: make tools-all", - "expected_results": "" - }, - "7": { - "action": "Run connmand: sh posix.sh > posix.log, posix.sh as below: \n \n#!/bin/sh \n./bin/run-posix-option-group-test.sh AIO \n./bin/run-posix-option-group-test.sh MEM \n./bin/run-posix-option-group-test.sh MSG \n./bin/run-posix-option-group-test.sh SEM \n./bin/run-posix-option-group-test.sh SIG \n./bin/run-posix-option-group-test.sh THR \n./bin/run-posix-option-group-test.sh TMR \n./bin/run-posix-option-group-test.sh TPS \n \n", - "expected_results": "" - }, - "8": { - "action": "Check the posix.log after testing is finished", - "expected_results": "Compare the test result on wiki, https://wiki.yoctoproject.org/wiki/Posix_result, there should be no more regression failures met." - } - }, - "summary": "POSIX_subset_test_suite" - } - }, - { - "test": { "@alias": "compliance-test.compliance-test.LSB_subset_test_suite", "author": [ { @@ -191,4 +103,4 @@ "summary": "stress_test_-_-ltp_-Beaglebone" } } -]
\ No newline at end of file +] diff --git a/poky/meta/lib/oeqa/manual/oe-core.json b/poky/meta/lib/oeqa/manual/oe-core.json index d893d849f..3ee0aa95f 100644 --- a/poky/meta/lib/oeqa/manual/oe-core.json +++ b/poky/meta/lib/oeqa/manual/oe-core.json @@ -1,32 +1,6 @@ [ { "test": { - "@alias": "oe-core.scripts.Use_scripts/pybootchartgui/pybootchartgui.py_to_generate_build_profiles", - "author": [ - { - "email": "alexandru.c.georgescu@intel.com", - "name": "alexandru.c.georgescu@intel.com" - } - ], - "execution": { - "1": { - "action": "Run a build for a recipe (e.g. core-image-minimal)", - "expected_results": "" - }, - "2": { - "action": "Run the profiling script, ../scripts/pybootchartgui/pybootchartgui.py tmp/buildstats/ \n\n", - "expected_results": "" - }, - "3": { - "action": "Verify the results ", - "expected_results": "The scripts generates svg files with the profiling results . " - } - }, - "summary": "Use_scripts/pybootchartgui/pybootchartgui.py_to_generate_build_profiles" - } - }, - { - "test": { "@alias": "oe-core.scripts.Crosstap_script_check", "author": [ { diff --git a/poky/meta/lib/oeqa/oetest.py b/poky/meta/lib/oeqa/oetest.py index f0423af66..9c84466dd 100644 --- a/poky/meta/lib/oeqa/oetest.py +++ b/poky/meta/lib/oeqa/oetest.py @@ -1,6 +1,8 @@ +# # Copyright (C) 2013 Intel Corporation # -# Released under the MIT license (see COPYING.MIT) +# SPDX-License-Identifier: MIT +# # Main unittest module used by testimage.bbclass # This provides the oeRuntimeTest base class which is inherited by all tests in meta/lib/oeqa/runtime. diff --git a/poky/meta/lib/oeqa/runexported.py b/poky/meta/lib/oeqa/runexported.py index 9cfea0f7a..7e37213df 100755 --- a/poky/meta/lib/oeqa/runexported.py +++ b/poky/meta/lib/oeqa/runexported.py @@ -1,9 +1,9 @@ #!/usr/bin/env python3 - - +# # Copyright (C) 2013 Intel Corporation # -# Released under the MIT license (see COPYING.MIT) +# SPDX-License-Identifier: MIT +# # This script should be used outside of the build system to run image tests. # It needs a json file as input as exported by the build. diff --git a/poky/meta/lib/oeqa/runtime/case.py b/poky/meta/lib/oeqa/runtime/case.py index 2f190acf1..f036982e1 100644 --- a/poky/meta/lib/oeqa/runtime/case.py +++ b/poky/meta/lib/oeqa/runtime/case.py @@ -1,5 +1,8 @@ +# # Copyright (C) 2016 Intel Corporation -# Released under the MIT license (see COPYING.MIT) +# +# SPDX-License-Identifier: MIT +# from oeqa.core.case import OETestCase from oeqa.utils.package_manager import install_package, uninstall_package diff --git a/poky/meta/lib/oeqa/runtime/cases/_qemutiny.py b/poky/meta/lib/oeqa/runtime/cases/_qemutiny.py index 7b5b48141..6886e3650 100644 --- a/poky/meta/lib/oeqa/runtime/cases/_qemutiny.py +++ b/poky/meta/lib/oeqa/runtime/cases/_qemutiny.py @@ -1,3 +1,7 @@ +# +# SPDX-License-Identifier: MIT +# + from oeqa.runtime.case import OERuntimeTestCase class QemuTinyTest(OERuntimeTestCase): diff --git a/poky/meta/lib/oeqa/runtime/cases/apt.py b/poky/meta/lib/oeqa/runtime/cases/apt.py index 793143f72..74a940d80 100644 --- a/poky/meta/lib/oeqa/runtime/cases/apt.py +++ b/poky/meta/lib/oeqa/runtime/cases/apt.py @@ -1,3 +1,7 @@ +# +# SPDX-License-Identifier: MIT +# + import os from oeqa.utils.httpserver import HTTPService from oeqa.runtime.case import OERuntimeTestCase diff --git a/poky/meta/lib/oeqa/runtime/cases/buildcpio.py b/poky/meta/lib/oeqa/runtime/cases/buildcpio.py index a61d1e030..f4e871e42 100644 --- a/poky/meta/lib/oeqa/runtime/cases/buildcpio.py +++ b/poky/meta/lib/oeqa/runtime/cases/buildcpio.py @@ -1,6 +1,9 @@ +# +# SPDX-License-Identifier: MIT +# + from oeqa.runtime.case import OERuntimeTestCase from oeqa.core.decorator.depends import OETestDepends -from oeqa.core.decorator.oeid import OETestID from oeqa.runtime.decorator.package import OEHasPackage from oeqa.runtime.utils.targetbuildproject import TargetBuildProject @@ -18,7 +21,6 @@ class BuildCpioTest(OERuntimeTestCase): def tearDownClass(cls): cls.project.clean() - @OETestID(205) @OETestDepends(['ssh.SSHTest.test_ssh']) @OEHasPackage(['gcc']) @OEHasPackage(['make']) diff --git a/poky/meta/lib/oeqa/runtime/cases/buildgalculator.py b/poky/meta/lib/oeqa/runtime/cases/buildgalculator.py index a0a003208..6dd1faee0 100644 --- a/poky/meta/lib/oeqa/runtime/cases/buildgalculator.py +++ b/poky/meta/lib/oeqa/runtime/cases/buildgalculator.py @@ -1,6 +1,9 @@ +# +# SPDX-License-Identifier: MIT +# + from oeqa.runtime.case import OERuntimeTestCase from oeqa.core.decorator.depends import OETestDepends -from oeqa.core.decorator.oeid import OETestID from oeqa.runtime.decorator.package import OEHasPackage from oeqa.runtime.utils.targetbuildproject import TargetBuildProject @@ -18,7 +21,6 @@ class GalculatorTest(OERuntimeTestCase): def tearDownClass(cls): cls.project.clean() - @OETestID(1526) @OETestDepends(['ssh.SSHTest.test_ssh']) @OEHasPackage(['gcc']) @OEHasPackage(['make']) diff --git a/poky/meta/lib/oeqa/runtime/cases/buildlzip.py b/poky/meta/lib/oeqa/runtime/cases/buildlzip.py index 5b455a079..bc70b4146 100644 --- a/poky/meta/lib/oeqa/runtime/cases/buildlzip.py +++ b/poky/meta/lib/oeqa/runtime/cases/buildlzip.py @@ -1,6 +1,9 @@ +# +# SPDX-License-Identifier: MIT +# + from oeqa.runtime.case import OERuntimeTestCase from oeqa.core.decorator.depends import OETestDepends -from oeqa.core.decorator.oeid import OETestID from oeqa.runtime.decorator.package import OEHasPackage from oeqa.runtime.utils.targetbuildproject import TargetBuildProject @@ -19,7 +22,6 @@ class BuildLzipTest(OERuntimeTestCase): def tearDownClass(cls): cls.project.clean() - @OETestID(206) @OETestDepends(['ssh.SSHTest.test_ssh']) @OEHasPackage(['gcc']) @OEHasPackage(['make']) diff --git a/poky/meta/lib/oeqa/runtime/cases/connman.py b/poky/meta/lib/oeqa/runtime/cases/connman.py index 12456b417..f0d15fac9 100644 --- a/poky/meta/lib/oeqa/runtime/cases/connman.py +++ b/poky/meta/lib/oeqa/runtime/cases/connman.py @@ -1,6 +1,9 @@ +# +# SPDX-License-Identifier: MIT +# + from oeqa.runtime.case import OERuntimeTestCase from oeqa.core.decorator.depends import OETestDepends -from oeqa.core.decorator.oeid import OETestID from oeqa.runtime.decorator.package import OEHasPackage class ConnmanTest(OERuntimeTestCase): @@ -12,7 +15,6 @@ class ConnmanTest(OERuntimeTestCase): else: return "Unable to get status or logs for %s" % service - @OETestID(961) @OETestDepends(['ssh.SSHTest.test_ssh']) @OEHasPackage(["connman"]) def test_connmand_help(self): @@ -20,7 +22,6 @@ class ConnmanTest(OERuntimeTestCase): msg = 'Failed to get connman help. Output: %s' % output self.assertEqual(status, 0, msg=msg) - @OETestID(221) @OETestDepends(['connman.ConnmanTest.test_connmand_help']) def test_connmand_running(self): cmd = '%s | grep [c]onnmand' % self.tc.target_cmds['ps'] diff --git a/poky/meta/lib/oeqa/runtime/cases/date.py b/poky/meta/lib/oeqa/runtime/cases/date.py index 0887b831f..7750a7293 100644 --- a/poky/meta/lib/oeqa/runtime/cases/date.py +++ b/poky/meta/lib/oeqa/runtime/cases/date.py @@ -1,8 +1,11 @@ +# +# SPDX-License-Identifier: MIT +# + import re from oeqa.runtime.case import OERuntimeTestCase from oeqa.core.decorator.depends import OETestDepends -from oeqa.core.decorator.oeid import OETestID from oeqa.runtime.decorator.package import OEHasPackage class DateTest(OERuntimeTestCase): @@ -17,7 +20,6 @@ class DateTest(OERuntimeTestCase): self.logger.debug('Starting systemd-timesyncd daemon') self.target.run('systemctl start systemd-timesyncd') - @OETestID(211) @OETestDepends(['ssh.SSHTest.test_ssh']) @OEHasPackage(['coreutils', 'busybox']) def test_date(self): diff --git a/poky/meta/lib/oeqa/runtime/cases/df.py b/poky/meta/lib/oeqa/runtime/cases/df.py index e0b6bb839..d8d79f32e 100644 --- a/poky/meta/lib/oeqa/runtime/cases/df.py +++ b/poky/meta/lib/oeqa/runtime/cases/df.py @@ -1,11 +1,13 @@ +# +# SPDX-License-Identifier: MIT +# + from oeqa.runtime.case import OERuntimeTestCase from oeqa.core.decorator.depends import OETestDepends -from oeqa.core.decorator.oeid import OETestID from oeqa.runtime.decorator.package import OEHasPackage class DfTest(OERuntimeTestCase): - @OETestID(234) @OETestDepends(['ssh.SSHTest.test_ssh']) @OEHasPackage(['coreutils', 'busybox']) def test_df(self): diff --git a/poky/meta/lib/oeqa/runtime/cases/dnf.py b/poky/meta/lib/oeqa/runtime/cases/dnf.py index c1ed39d77..629b9af3e 100644 --- a/poky/meta/lib/oeqa/runtime/cases/dnf.py +++ b/poky/meta/lib/oeqa/runtime/cases/dnf.py @@ -1,3 +1,7 @@ +# +# SPDX-License-Identifier: MIT +# + import os import re import subprocess @@ -5,7 +9,6 @@ from oeqa.utils.httpserver import HTTPService from oeqa.runtime.case import OERuntimeTestCase from oeqa.core.decorator.depends import OETestDepends -from oeqa.core.decorator.oeid import OETestID from oeqa.core.decorator.data import skipIfNotDataVar, skipIfNotFeature from oeqa.runtime.decorator.package import OEHasPackage @@ -26,27 +29,22 @@ class DnfBasicTest(DnfTest): 'RPM is not the primary package manager') @OEHasPackage(['dnf']) @OETestDepends(['ssh.SSHTest.test_ssh']) - @OETestID(1735) def test_dnf_help(self): self.dnf('--help') @OETestDepends(['dnf.DnfBasicTest.test_dnf_help']) - @OETestID(1739) def test_dnf_version(self): self.dnf('--version') @OETestDepends(['dnf.DnfBasicTest.test_dnf_help']) - @OETestID(1737) def test_dnf_info(self): self.dnf('info dnf') @OETestDepends(['dnf.DnfBasicTest.test_dnf_help']) - @OETestID(1738) def test_dnf_search(self): self.dnf('search dnf') @OETestDepends(['dnf.DnfBasicTest.test_dnf_help']) - @OETestID(1736) def test_dnf_history(self): self.dnf('history') @@ -71,7 +69,6 @@ class DnfRepoTest(DnfTest): return output @OETestDepends(['dnf.DnfBasicTest.test_dnf_help']) - @OETestID(1744) def test_dnf_makecache(self): self.dnf_with_repo('makecache') @@ -82,12 +79,10 @@ class DnfRepoTest(DnfTest): # self.dnf_with_repo('repolist') @OETestDepends(['dnf.DnfRepoTest.test_dnf_makecache']) - @OETestID(1746) def test_dnf_repoinfo(self): self.dnf_with_repo('repoinfo') @OETestDepends(['dnf.DnfRepoTest.test_dnf_makecache']) - @OETestID(1740) def test_dnf_install(self): output = self.dnf_with_repo('list run-postinsts-dev') if 'Installed Packages' in output: @@ -95,13 +90,11 @@ class DnfRepoTest(DnfTest): self.dnf_with_repo('install -y run-postinsts-dev') @OETestDepends(['dnf.DnfRepoTest.test_dnf_install']) - @OETestID(1741) def test_dnf_install_dependency(self): self.dnf_with_repo('remove -y run-postinsts') self.dnf_with_repo('install -y run-postinsts-dev') @OETestDepends(['dnf.DnfRepoTest.test_dnf_install_dependency']) - @OETestID(1742) def test_dnf_install_from_disk(self): self.dnf_with_repo('remove -y run-postinsts-dev') self.dnf_with_repo('install -y --downloadonly run-postinsts-dev') @@ -110,7 +103,6 @@ class DnfRepoTest(DnfTest): self.dnf_with_repo('install -y %s' % output) @OETestDepends(['dnf.DnfRepoTest.test_dnf_install_from_disk']) - @OETestID(1743) def test_dnf_install_from_http(self): output = subprocess.check_output('%s %s -name run-postinsts-dev*' % (bb.utils.which(os.getenv('PATH'), "find"), os.path.join(self.tc.td['WORKDIR'], 'oe-testimage-repo')), shell=True).decode("utf-8") @@ -120,12 +112,10 @@ class DnfRepoTest(DnfTest): self.dnf_with_repo('install -y %s' % url) @OETestDepends(['dnf.DnfRepoTest.test_dnf_install']) - @OETestID(1745) def test_dnf_reinstall(self): self.dnf_with_repo('reinstall -y run-postinsts-dev') @OETestDepends(['dnf.DnfRepoTest.test_dnf_makecache']) - @OETestID(1771) def test_dnf_installroot(self): rootpath = '/home/root/chroot/test' #Copy necessary files to avoid errors with not yet installed tools on @@ -151,7 +141,6 @@ class DnfRepoTest(DnfTest): self.assertEqual(0, status, output) @OETestDepends(['dnf.DnfRepoTest.test_dnf_makecache']) - @OETestID(1772) def test_dnf_exclude(self): excludepkg = 'curl-dev' self.dnf_with_repo('install -y curl*') diff --git a/poky/meta/lib/oeqa/runtime/cases/gcc.py b/poky/meta/lib/oeqa/runtime/cases/gcc.py index 8265c59f2..1b6e431bf 100644 --- a/poky/meta/lib/oeqa/runtime/cases/gcc.py +++ b/poky/meta/lib/oeqa/runtime/cases/gcc.py @@ -1,8 +1,11 @@ +# +# SPDX-License-Identifier: MIT +# + import os from oeqa.runtime.case import OERuntimeTestCase from oeqa.core.decorator.depends import OETestDepends -from oeqa.core.decorator.oeid import OETestID from oeqa.runtime.decorator.package import OEHasPackage class GccCompileTest(OERuntimeTestCase): @@ -24,7 +27,6 @@ class GccCompileTest(OERuntimeTestCase): files = '/tmp/test.c /tmp/test.o /tmp/test /tmp/testmakefile' cls.tc.target.run('rm %s' % files) - @OETestID(203) @OETestDepends(['ssh.SSHTest.test_ssh']) @OEHasPackage(['gcc']) def test_gcc_compile(self): @@ -36,7 +38,6 @@ class GccCompileTest(OERuntimeTestCase): msg = 'running compiled file failed, output: %s' % output self.assertEqual(status, 0, msg=msg) - @OETestID(200) @OETestDepends(['ssh.SSHTest.test_ssh']) @OEHasPackage(['g++']) def test_gpp_compile(self): @@ -48,7 +49,6 @@ class GccCompileTest(OERuntimeTestCase): msg = 'running compiled file failed, output: %s' % output self.assertEqual(status, 0, msg=msg) - @OETestID(1142) @OETestDepends(['ssh.SSHTest.test_ssh']) @OEHasPackage(['g++']) def test_gpp2_compile(self): @@ -60,7 +60,6 @@ class GccCompileTest(OERuntimeTestCase): msg = 'running compiled file failed, output: %s' % output self.assertEqual(status, 0, msg=msg) - @OETestID(204) @OETestDepends(['ssh.SSHTest.test_ssh']) @OEHasPackage(['gcc']) @OEHasPackage(['make']) diff --git a/poky/meta/lib/oeqa/runtime/cases/gi.py b/poky/meta/lib/oeqa/runtime/cases/gi.py index 7e16651df..42bd100a3 100644 --- a/poky/meta/lib/oeqa/runtime/cases/gi.py +++ b/poky/meta/lib/oeqa/runtime/cases/gi.py @@ -1,3 +1,7 @@ +# +# SPDX-License-Identifier: MIT +# + import os from oeqa.runtime.case import OERuntimeTestCase diff --git a/poky/meta/lib/oeqa/runtime/cases/gstreamer.py b/poky/meta/lib/oeqa/runtime/cases/gstreamer.py index 128630e11..f735f82e3 100644 --- a/poky/meta/lib/oeqa/runtime/cases/gstreamer.py +++ b/poky/meta/lib/oeqa/runtime/cases/gstreamer.py @@ -1,3 +1,7 @@ +# +# SPDX-License-Identifier: MIT +# + from oeqa.runtime.case import OERuntimeTestCase from oeqa.runtime.decorator.package import OEHasPackage diff --git a/poky/meta/lib/oeqa/runtime/cases/kernelmodule.py b/poky/meta/lib/oeqa/runtime/cases/kernelmodule.py index 27a2c35b7..47fd2f850 100644 --- a/poky/meta/lib/oeqa/runtime/cases/kernelmodule.py +++ b/poky/meta/lib/oeqa/runtime/cases/kernelmodule.py @@ -1,8 +1,11 @@ +# +# SPDX-License-Identifier: MIT +# + import os from oeqa.runtime.case import OERuntimeTestCase from oeqa.core.decorator.depends import OETestDepends -from oeqa.core.decorator.oeid import OETestID from oeqa.core.decorator.data import skipIfNotFeature from oeqa.runtime.decorator.package import OEHasPackage @@ -23,7 +26,6 @@ class KernelModuleTest(OERuntimeTestCase): files = '/tmp/Makefile /tmp/hellomod.c' cls.tc.target.run('rm %s' % files) - @OETestID(1541) @skipIfNotFeature('tools-sdk', 'Test requires tools-sdk to be in IMAGE_FEATURES') @OETestDepends(['gcc.GccCompileTest.test_gcc_compile']) diff --git a/poky/meta/lib/oeqa/runtime/cases/ksample.py b/poky/meta/lib/oeqa/runtime/cases/ksample.py index de2366a79..a9a1620eb 100644 --- a/poky/meta/lib/oeqa/runtime/cases/ksample.py +++ b/poky/meta/lib/oeqa/runtime/cases/ksample.py @@ -1,9 +1,12 @@ +# +# SPDX-License-Identifier: MIT +# + import os import time from oeqa.runtime.case import OERuntimeTestCase from oeqa.core.decorator.depends import OETestDepends -from oeqa.core.decorator.oeid import OETestID from oeqa.core.decorator.data import skipIfNotFeature # need some kernel fragments diff --git a/poky/meta/lib/oeqa/runtime/cases/ldd.py b/poky/meta/lib/oeqa/runtime/cases/ldd.py index 5bde1845d..9c2caa8f6 100644 --- a/poky/meta/lib/oeqa/runtime/cases/ldd.py +++ b/poky/meta/lib/oeqa/runtime/cases/ldd.py @@ -1,12 +1,14 @@ +# +# SPDX-License-Identifier: MIT +# + from oeqa.runtime.case import OERuntimeTestCase from oeqa.core.decorator.depends import OETestDepends -from oeqa.core.decorator.oeid import OETestID from oeqa.core.decorator.data import skipIfNotFeature from oeqa.runtime.decorator.package import OEHasPackage class LddTest(OERuntimeTestCase): - @OETestID(962) @OEHasPackage(["ldd"]) @OETestDepends(['ssh.SSHTest.test_ssh']) def test_ldd(self): diff --git a/poky/meta/lib/oeqa/runtime/cases/logrotate.py b/poky/meta/lib/oeqa/runtime/cases/logrotate.py index d2666444e..8358793a2 100644 --- a/poky/meta/lib/oeqa/runtime/cases/logrotate.py +++ b/poky/meta/lib/oeqa/runtime/cases/logrotate.py @@ -1,9 +1,12 @@ +# +# SPDX-License-Identifier: MIT +# + # This test should cover https://bugzilla.yoctoproject.org/tr_show_case.cgi?case_id=289 testcase # Note that the image under test must have logrotate installed from oeqa.runtime.case import OERuntimeTestCase from oeqa.core.decorator.depends import OETestDepends -from oeqa.core.decorator.oeid import OETestID from oeqa.runtime.decorator.package import OEHasPackage class LogrotateTest(OERuntimeTestCase): @@ -16,7 +19,6 @@ class LogrotateTest(OERuntimeTestCase): def tearDownClass(cls): cls.tc.target.run('mv -f $HOME/wtmp.oeqabak /etc/logrotate.d/wtmp && rm -rf $HOME/logrotate_dir') - @OETestID(1544) @OETestDepends(['ssh.SSHTest.test_ssh']) @OEHasPackage(['logrotate']) def test_1_logrotate_setup(self): @@ -31,7 +33,6 @@ class LogrotateTest(OERuntimeTestCase): ' %s and %s' % (status, output)) self.assertEqual(status, 0, msg = msg) - @OETestID(1542) @OETestDepends(['logrotate.LogrotateTest.test_1_logrotate_setup']) def test_2_logrotate(self): status, output = self.target.run('logrotate -f /etc/logrotate.conf') diff --git a/poky/meta/lib/oeqa/runtime/cases/ltp.py b/poky/meta/lib/oeqa/runtime/cases/ltp.py new file mode 100644 index 000000000..30548640b --- /dev/null +++ b/poky/meta/lib/oeqa/runtime/cases/ltp.py @@ -0,0 +1,118 @@ +# LTP runtime +# +# Copyright (c) 2019 MontaVista Software, LLC +# +# SPDX-License-Identifier: GPL-2.0-only +# + +import time +import datetime +import pprint + +from oeqa.runtime.case import OERuntimeTestCase +from oeqa.core.decorator.depends import OETestDepends +from oeqa.runtime.decorator.package import OEHasPackage +from oeqa.utils.logparser import LtpParser + +class LtpTestBase(OERuntimeTestCase): + + @classmethod + def setUpClass(cls): + cls.ltp_startup() + + @classmethod + def tearDownClass(cls): + cls.ltp_finishup() + + @classmethod + def ltp_startup(cls): + cls.sections = {} + cls.failmsg = "" + test_log_dir = os.path.join(cls.td.get('WORKDIR', ''), 'testimage') + timestamp = datetime.datetime.now().strftime('%Y%m%d%H%M%S') + + cls.ltptest_log_dir_link = os.path.join(test_log_dir, 'ltp_log') + cls.ltptest_log_dir = '%s.%s' % (cls.ltptest_log_dir_link, timestamp) + os.makedirs(cls.ltptest_log_dir) + + cls.tc.target.run("mkdir -p /opt/ltp/results") + + if not hasattr(cls.tc, "extraresults"): + cls.tc.extraresults = {} + cls.extras = cls.tc.extraresults + cls.extras['ltpresult.rawlogs'] = {'log': ""} + + + @classmethod + def ltp_finishup(cls): + cls.extras['ltpresult.sections'] = cls.sections + + # update symlink to ltp_log + if os.path.exists(cls.ltptest_log_dir_link): + os.remove(cls.ltptest_log_dir_link) + os.symlink(os.path.basename(cls.ltptest_log_dir), cls.ltptest_log_dir_link) + + if cls.failmsg: + cls.fail(cls.failmsg) + +class LtpTest(LtpTestBase): + + ltp_groups = ["math", "syscalls", "dio", "io", "mm", "ipc", "sched", "nptl", "pty", "containers", "controllers", "filecaps", "cap_bounds", "fcntl-locktests", "connectors","timers", "commands", "net.ipv6_lib", "input","fs_perms_simple"] + + ltp_fs = ["fs", "fsx", "fs_bind", "fs_ext4"] + # skip kernel cpuhotplug + ltp_kernel = ["power_management_tests", "hyperthreading ", "kernel_misc", "hugetlb"] + ltp_groups += ltp_fs + + def runltp(self, ltp_group): + cmd = '/opt/ltp/runltp -f %s -p -q -r /opt/ltp -l /opt/ltp/results/%s -I 1 -d /opt/ltp' % (ltp_group, ltp_group) + starttime = time.time() + (status, output) = self.target.run(cmd) + endtime = time.time() + + with open(os.path.join(self.ltptest_log_dir, "%s-raw.log" % ltp_group), 'w') as f: + f.write(output) + + self.extras['ltpresult.rawlogs']['log'] = self.extras['ltpresult.rawlogs']['log'] + output + + # copy nice log from DUT + dst = os.path.join(self.ltptest_log_dir, "%s" % ltp_group ) + remote_src = "/opt/ltp/results/%s" % ltp_group + (status, output) = self.target.copyFrom(remote_src, dst) + msg = 'File could not be copied. Output: %s' % output + self.assertEqual(status, 0, msg=msg) + + parser = LtpParser() + results, sections = parser.parse(dst) + + runtime = int(endtime-starttime) + sections['duration'] = runtime + self.sections[ltp_group] = sections + + failed_tests = {} + for test in results: + result = results[test] + testname = ("ltpresult." + ltp_group + "." + test) + self.extras[testname] = {'status': result} + if result == 'FAILED': + failed_tests[ltp_group] = test + + if failed_tests: + self.failmsg = self.failmsg + "Failed ptests:\n%s" % pprint.pformat(failed_tests) + + # LTP runtime tests + @OETestDepends(['ssh.SSHTest.test_ssh']) + @OEHasPackage(["ltp"]) + def test_ltp_help(self): + (status, output) = self.target.run('/opt/ltp/runltp --help') + msg = 'Failed to get ltp help. Output: %s' % output + self.assertEqual(status, 0, msg=msg) + + @OETestDepends(['ltp.LtpTest.test_ltp_help']) + def test_ltp_groups(self): + for ltp_group in self.ltp_groups: + self.runltp(ltp_group) + + @OETestDepends(['ltp.LtpTest.test_ltp_groups']) + def test_ltp_runltp_cve(self): + self.runltp("cve") diff --git a/poky/meta/lib/oeqa/runtime/cases/ltp_compliance.py b/poky/meta/lib/oeqa/runtime/cases/ltp_compliance.py new file mode 100644 index 000000000..ba47c78fd --- /dev/null +++ b/poky/meta/lib/oeqa/runtime/cases/ltp_compliance.py @@ -0,0 +1,97 @@ +# LTP compliance runtime +# +# Copyright (c) 2019 MontaVista Software, LLC +# +# SPDX-License-Identifier: GPL-2.0-only +# + +import time +import datetime +import pprint + +from oeqa.runtime.case import OERuntimeTestCase +from oeqa.core.decorator.depends import OETestDepends +from oeqa.runtime.decorator.package import OEHasPackage +from oeqa.utils.logparser import LtpComplianceParser + +class LtpPosixBase(OERuntimeTestCase): + + @classmethod + def setUpClass(cls): + cls.ltp_startup() + + @classmethod + def tearDownClass(cls): + cls.ltp_finishup() + + @classmethod + def ltp_startup(cls): + cls.sections = {} + cls.failmsg = "" + test_log_dir = os.path.join(cls.td.get('WORKDIR', ''), 'testimage') + timestamp = datetime.datetime.now().strftime('%Y%m%d%H%M%S') + + cls.ltptest_log_dir_link = os.path.join(test_log_dir, 'ltpcomp_log') + cls.ltptest_log_dir = '%s.%s' % (cls.ltptest_log_dir_link, timestamp) + os.makedirs(cls.ltptest_log_dir) + + cls.tc.target.run("mkdir -p /opt/ltp/results") + + if not hasattr(cls.tc, "extraresults"): + cls.tc.extraresults = {} + cls.extras = cls.tc.extraresults + cls.extras['ltpposixresult.rawlogs'] = {'log': ""} + + + @classmethod + def ltp_finishup(cls): + cls.extras['ltpposixresult.sections'] = cls.sections + + # update symlink to ltp_log + if os.path.exists(cls.ltptest_log_dir_link): + os.remove(cls.ltptest_log_dir_link) + + os.symlink(os.path.basename(cls.ltptest_log_dir), cls.ltptest_log_dir_link) + + if cls.failmsg: + cls.fail(cls.failmsg) + +class LtpPosixTest(LtpPosixBase): + posix_groups = ["AIO", "MEM", "MSG", "SEM", "SIG", "THR", "TMR", "TPS"] + + def runltp(self, posix_group): + cmd = "/opt/ltp/bin/run-posix-option-group-test.sh %s 2>@1 | tee /opt/ltp/results/%s" % (posix_group, posix_group) + starttime = time.time() + (status, output) = self.target.run(cmd) + endtime = time.time() + + with open(os.path.join(self.ltptest_log_dir, "%s" % posix_group), 'w') as f: + f.write(output) + + self.extras['ltpposixresult.rawlogs']['log'] = self.extras['ltpposixresult.rawlogs']['log'] + output + + parser = LtpComplianceParser() + results, sections = parser.parse(os.path.join(self.ltptest_log_dir, "%s" % posix_group)) + + runtime = int(endtime-starttime) + sections['duration'] = runtime + self.sections[posix_group] = sections + + failed_tests = {} + for test in results: + result = results[test] + testname = ("ltpposixresult." + posix_group + "." + test) + self.extras[testname] = {'status': result} + if result == 'FAILED': + failed_tests[posix_group] = test + + if failed_tests: + self.failmsg = self.failmsg + "Failed ptests:\n%s" % pprint.pformat(failed_tests) + + # LTP Posix compliance runtime tests + + @OETestDepends(['ssh.SSHTest.test_ssh']) + @OEHasPackage(["ltp"]) + def test_posix_groups(self): + for posix_group in self.posix_groups: + self.runltp(posix_group) diff --git a/poky/meta/lib/oeqa/runtime/cases/multilib.py b/poky/meta/lib/oeqa/runtime/cases/multilib.py index 89020386b..62e662b01 100644 --- a/poky/meta/lib/oeqa/runtime/cases/multilib.py +++ b/poky/meta/lib/oeqa/runtime/cases/multilib.py @@ -1,6 +1,9 @@ +# +# SPDX-License-Identifier: MIT +# + from oeqa.runtime.case import OERuntimeTestCase from oeqa.core.decorator.depends import OETestDepends -from oeqa.core.decorator.oeid import OETestID from oeqa.core.decorator.data import skipIfNotInDataVar from oeqa.runtime.decorator.package import OEHasPackage @@ -23,7 +26,6 @@ class MultilibTest(OERuntimeTestCase): msg = "%s isn't %s (is %s)" % (binary, arch, theclass) self.assertEqual(theclass, arch, msg=msg) - @OETestID(1593) @skipIfNotInDataVar('MULTILIBS', 'multilib:lib32', "This isn't a multilib:lib32 image") @OETestDepends(['ssh.SSHTest.test_ssh']) @@ -36,7 +38,6 @@ class MultilibTest(OERuntimeTestCase): self.archtest("/lib/libc.so.6", "ELF32") self.archtest("/lib64/libc.so.6", "ELF64") - @OETestID(279) @OETestDepends(['multilib.MultilibTest.test_check_multilib_libc']) @OEHasPackage(['lib32-connman', '!connman']) def test_file_connman(self): diff --git a/poky/meta/lib/oeqa/runtime/cases/oe_syslog.py b/poky/meta/lib/oeqa/runtime/cases/oe_syslog.py index a92a1f2bc..0f5f9f43c 100644 --- a/poky/meta/lib/oeqa/runtime/cases/oe_syslog.py +++ b/poky/meta/lib/oeqa/runtime/cases/oe_syslog.py @@ -1,12 +1,14 @@ +# +# SPDX-License-Identifier: MIT +# + from oeqa.runtime.case import OERuntimeTestCase from oeqa.core.decorator.depends import OETestDepends -from oeqa.core.decorator.oeid import OETestID from oeqa.core.decorator.data import skipIfDataVar from oeqa.runtime.decorator.package import OEHasPackage class SyslogTest(OERuntimeTestCase): - @OETestID(201) @OETestDepends(['ssh.SSHTest.test_ssh']) @OEHasPackage(["busybox-syslog", "sysklogd", "rsyslog", "syslog-ng"]) def test_syslog_running(self): @@ -19,7 +21,6 @@ class SyslogTest(OERuntimeTestCase): class SyslogTestConfig(OERuntimeTestCase): - @OETestID(1149) @OETestDepends(['oe_syslog.SyslogTest.test_syslog_running']) def test_syslog_logger(self): status, output = self.target.run('logger foobar') @@ -36,7 +37,6 @@ class SyslogTestConfig(OERuntimeTestCase): ' Output: %s ' % output) self.assertEqual(status, 0, msg=msg) - @OETestID(1150) @OETestDepends(['oe_syslog.SyslogTest.test_syslog_running']) def test_syslog_restart(self): if "systemd" != self.tc.td.get("VIRTUAL-RUNTIME_init_manager", ""): @@ -45,7 +45,6 @@ class SyslogTestConfig(OERuntimeTestCase): (_, _) = self.target.run('systemctl restart syslog.service') - @OETestID(202) @OETestDepends(['oe_syslog.SyslogTestConfig.test_syslog_logger']) @OEHasPackage(["busybox-syslog"]) @skipIfDataVar('VIRTUAL-RUNTIME_init_manager', 'systemd', diff --git a/poky/meta/lib/oeqa/runtime/cases/opkg.py b/poky/meta/lib/oeqa/runtime/cases/opkg.py index 693f5d68c..bb8b6d99d 100644 --- a/poky/meta/lib/oeqa/runtime/cases/opkg.py +++ b/poky/meta/lib/oeqa/runtime/cases/opkg.py @@ -1,3 +1,7 @@ +# +# SPDX-License-Identifier: MIT +# + import os from oeqa.utils.httpserver import HTTPService from oeqa.runtime.case import OERuntimeTestCase diff --git a/poky/meta/lib/oeqa/runtime/cases/pam.py b/poky/meta/lib/oeqa/runtime/cases/pam.py index 3654cdc94..271a1943e 100644 --- a/poky/meta/lib/oeqa/runtime/cases/pam.py +++ b/poky/meta/lib/oeqa/runtime/cases/pam.py @@ -1,14 +1,16 @@ +# +# SPDX-License-Identifier: MIT +# + # This test should cover https://bugzilla.yoctoproject.org/tr_show_case.cgi?case_id=287 testcase # Note that the image under test must have "pam" in DISTRO_FEATURES from oeqa.runtime.case import OERuntimeTestCase from oeqa.core.decorator.depends import OETestDepends -from oeqa.core.decorator.oeid import OETestID from oeqa.core.decorator.data import skipIfNotFeature class PamBasicTest(OERuntimeTestCase): - @OETestID(1543) @skipIfNotFeature('pam', 'Test requires pam to be in DISTRO_FEATURES') @OETestDepends(['ssh.SSHTest.test_ssh']) def test_pam(self): diff --git a/poky/meta/lib/oeqa/runtime/cases/parselogs.py b/poky/meta/lib/oeqa/runtime/cases/parselogs.py index bed4a022c..eb2ebb195 100644 --- a/poky/meta/lib/oeqa/runtime/cases/parselogs.py +++ b/poky/meta/lib/oeqa/runtime/cases/parselogs.py @@ -1,10 +1,13 @@ +# +# SPDX-License-Identifier: MIT +# + import os from subprocess import check_output from shutil import rmtree from oeqa.runtime.case import OERuntimeTestCase from oeqa.core.decorator.depends import OETestDepends -from oeqa.core.decorator.oeid import OETestID from oeqa.core.decorator.data import skipIfDataVar from oeqa.runtime.decorator.package import OEHasPackage @@ -351,7 +354,6 @@ class ParseLogsTest(OERuntimeTestCase): def write_dmesg(self): (status, dmesg) = self.target.run('dmesg > /tmp/dmesg_output.log') - @OETestID(1059) @OETestDepends(['ssh.SSHTest.test_ssh']) def test_parselogs(self): self.write_dmesg() diff --git a/poky/meta/lib/oeqa/runtime/cases/perl.py b/poky/meta/lib/oeqa/runtime/cases/perl.py index be3287f22..2c6b3b784 100644 --- a/poky/meta/lib/oeqa/runtime/cases/perl.py +++ b/poky/meta/lib/oeqa/runtime/cases/perl.py @@ -1,12 +1,14 @@ +# +# SPDX-License-Identifier: MIT +# + import os from oeqa.runtime.case import OERuntimeTestCase from oeqa.core.decorator.depends import OETestDepends -from oeqa.core.decorator.oeid import OETestID from oeqa.runtime.decorator.package import OEHasPackage class PerlTest(OERuntimeTestCase): - @OETestID(208) @OETestDepends(['ssh.SSHTest.test_ssh']) @OEHasPackage(['perl']) def test_perl_works(self): diff --git a/poky/meta/lib/oeqa/runtime/cases/ping.py b/poky/meta/lib/oeqa/runtime/cases/ping.py index 02f580abe..f6603f75e 100644 --- a/poky/meta/lib/oeqa/runtime/cases/ping.py +++ b/poky/meta/lib/oeqa/runtime/cases/ping.py @@ -1,13 +1,15 @@ +# +# SPDX-License-Identifier: MIT +# + from subprocess import Popen, PIPE from oeqa.runtime.case import OERuntimeTestCase -from oeqa.core.decorator.oeid import OETestID from oeqa.core.decorator.oetimeout import OETimeout class PingTest(OERuntimeTestCase): @OETimeout(30) - @OETestID(964) def test_ping(self): output = '' count = 0 diff --git a/poky/meta/lib/oeqa/runtime/cases/ptest.py b/poky/meta/lib/oeqa/runtime/cases/ptest.py index 2a28ca59a..d8d1e1b34 100644 --- a/poky/meta/lib/oeqa/runtime/cases/ptest.py +++ b/poky/meta/lib/oeqa/runtime/cases/ptest.py @@ -1,17 +1,19 @@ +# +# SPDX-License-Identifier: MIT +# + import unittest import pprint import datetime from oeqa.runtime.case import OERuntimeTestCase from oeqa.core.decorator.depends import OETestDepends -from oeqa.core.decorator.oeid import OETestID from oeqa.core.decorator.data import skipIfNotFeature from oeqa.runtime.decorator.package import OEHasPackage from oeqa.utils.logparser import PtestParser class PtestRunnerTest(OERuntimeTestCase): - @OETestID(1600) @skipIfNotFeature('ptest', 'Test requires ptest to be in DISTRO_FEATURES') @OETestDepends(['ssh.SSHTest.test_ssh']) @OEHasPackage(['ptest-runner']) diff --git a/poky/meta/lib/oeqa/runtime/cases/python.py b/poky/meta/lib/oeqa/runtime/cases/python.py index 66ab4d25f..ec54f1e1d 100644 --- a/poky/meta/lib/oeqa/runtime/cases/python.py +++ b/poky/meta/lib/oeqa/runtime/cases/python.py @@ -1,10 +1,12 @@ +# +# SPDX-License-Identifier: MIT +# + from oeqa.runtime.case import OERuntimeTestCase from oeqa.core.decorator.depends import OETestDepends -from oeqa.core.decorator.oeid import OETestID from oeqa.runtime.decorator.package import OEHasPackage class PythonTest(OERuntimeTestCase): - @OETestID(965) @OETestDepends(['ssh.SSHTest.test_ssh']) @OEHasPackage(['python3-core']) def test_python3(self): diff --git a/poky/meta/lib/oeqa/runtime/cases/rpm.py b/poky/meta/lib/oeqa/runtime/cases/rpm.py index de92157c5..d8cabd364 100644 --- a/poky/meta/lib/oeqa/runtime/cases/rpm.py +++ b/poky/meta/lib/oeqa/runtime/cases/rpm.py @@ -1,16 +1,18 @@ +# +# SPDX-License-Identifier: MIT +# + import os import fnmatch from oeqa.runtime.case import OERuntimeTestCase from oeqa.core.decorator.depends import OETestDepends -from oeqa.core.decorator.oeid import OETestID from oeqa.core.decorator.data import skipIfDataVar from oeqa.runtime.decorator.package import OEHasPackage from oeqa.core.utils.path import findFile class RpmBasicTest(OERuntimeTestCase): - @OETestID(960) @OEHasPackage(['rpm']) @OETestDepends(['ssh.SSHTest.test_ssh']) def test_rpm_help(self): @@ -18,7 +20,6 @@ class RpmBasicTest(OERuntimeTestCase): msg = 'status and output: %s and %s' % (status, output) self.assertEqual(status, 0, msg=msg) - @OETestID(191) @OETestDepends(['rpm.RpmBasicTest.test_rpm_help']) def test_rpm_query(self): status, output = self.target.run('ls /var/lib/rpm/') @@ -43,7 +44,6 @@ class RpmInstallRemoveTest(OERuntimeTestCase): cls.test_file = os.path.join(rpmdir, f) cls.dst = '/tmp/base-passwd-doc.rpm' - @OETestID(192) @OETestDepends(['rpm.RpmBasicTest.test_rpm_query']) def test_rpm_install(self): self.tc.target.copyTo(self.test_file, self.dst) @@ -52,14 +52,12 @@ class RpmInstallRemoveTest(OERuntimeTestCase): self.assertEqual(status, 0, msg=msg) self.tc.target.run('rm -f %s' % self.dst) - @OETestID(194) @OETestDepends(['rpm.RpmInstallRemoveTest.test_rpm_install']) def test_rpm_remove(self): status,output = self.target.run('rpm -e base-passwd-doc') msg = 'Failed to remove base-passwd-doc package: %s' % output self.assertEqual(status, 0, msg=msg) - @OETestID(1096) @OETestDepends(['rpm.RpmBasicTest.test_rpm_query']) def test_rpm_query_nonroot(self): @@ -92,7 +90,6 @@ class RpmInstallRemoveTest(OERuntimeTestCase): finally: unset_up_test_user(tuser) - @OETestID(195) @OETestDepends(['rpm.RpmInstallRemoveTest.test_rpm_remove']) def test_check_rpm_install_removal_log_file_size(self): """ diff --git a/poky/meta/lib/oeqa/runtime/cases/scp.py b/poky/meta/lib/oeqa/runtime/cases/scp.py index 8f895da95..3a5f29215 100644 --- a/poky/meta/lib/oeqa/runtime/cases/scp.py +++ b/poky/meta/lib/oeqa/runtime/cases/scp.py @@ -1,9 +1,12 @@ +# +# SPDX-License-Identifier: MIT +# + import os from tempfile import mkstemp from oeqa.runtime.case import OERuntimeTestCase from oeqa.core.decorator.depends import OETestDepends -from oeqa.core.decorator.oeid import OETestID from oeqa.runtime.decorator.package import OEHasPackage class ScpTest(OERuntimeTestCase): @@ -19,7 +22,6 @@ class ScpTest(OERuntimeTestCase): def tearDownClass(cls): os.remove(cls.tmp_path) - @OETestID(220) @OETestDepends(['ssh.SSHTest.test_ssh']) @OEHasPackage(['openssh-scp', 'dropbear']) def test_scp_file(self): diff --git a/poky/meta/lib/oeqa/runtime/cases/skeletoninit.py b/poky/meta/lib/oeqa/runtime/cases/skeletoninit.py index 4fdcf033a..4779cd6bb 100644 --- a/poky/meta/lib/oeqa/runtime/cases/skeletoninit.py +++ b/poky/meta/lib/oeqa/runtime/cases/skeletoninit.py @@ -1,9 +1,12 @@ +# +# SPDX-License-Identifier: MIT +# + # This test should cover https://bugzilla.yoctoproject.org/tr_show_case.cgi?case_id=284 # testcase. Image under test must have meta-skeleton layer in bblayers and # IMAGE_INSTALL_append = " service" in local.conf from oeqa.runtime.case import OERuntimeTestCase from oeqa.core.decorator.depends import OETestDepends -from oeqa.core.decorator.oeid import OETestID from oeqa.core.decorator.data import skipIfDataVar from oeqa.runtime.decorator.package import OEHasPackage @@ -22,7 +25,6 @@ class SkeletonBasicTest(OERuntimeTestCase): msg = 'skeleton-test not found. Output:\n%s' % output self.assertEqual(status, 0, msg=msg) - @OETestID(284) @OETestDepends(['skeletoninit.SkeletonBasicTest.test_skeleton_availability']) def test_skeleton_script(self): output1 = self.target.run("/etc/init.d/skeleton start")[1] diff --git a/poky/meta/lib/oeqa/runtime/cases/ssh.py b/poky/meta/lib/oeqa/runtime/cases/ssh.py index 0b1ea7bcc..60a5fbbfb 100644 --- a/poky/meta/lib/oeqa/runtime/cases/ssh.py +++ b/poky/meta/lib/oeqa/runtime/cases/ssh.py @@ -1,11 +1,13 @@ +# +# SPDX-License-Identifier: MIT +# + from oeqa.runtime.case import OERuntimeTestCase from oeqa.core.decorator.depends import OETestDepends -from oeqa.core.decorator.oeid import OETestID from oeqa.runtime.decorator.package import OEHasPackage class SSHTest(OERuntimeTestCase): - @OETestID(224) @OETestDepends(['ping.PingTest.test_ping']) @OEHasPackage(['dropbear', 'openssh-sshd']) def test_ssh(self): diff --git a/poky/meta/lib/oeqa/runtime/cases/stap.py b/poky/meta/lib/oeqa/runtime/cases/stap.py index c492caffd..5342f6ac3 100644 --- a/poky/meta/lib/oeqa/runtime/cases/stap.py +++ b/poky/meta/lib/oeqa/runtime/cases/stap.py @@ -1,8 +1,11 @@ +# +# SPDX-License-Identifier: MIT +# + import os from oeqa.runtime.case import OERuntimeTestCase from oeqa.core.decorator.depends import OETestDepends -from oeqa.core.decorator.oeid import OETestID from oeqa.core.decorator.data import skipIfNotFeature from oeqa.runtime.decorator.package import OEHasPackage @@ -19,7 +22,6 @@ class StapTest(OERuntimeTestCase): files = '/tmp/hello.stp' cls.tc.target.run('rm %s' % files) - @OETestID(1652) @skipIfNotFeature('tools-profile', 'Test requires tools-profile to be in IMAGE_FEATURES') @OETestDepends(['kernelmodule.KernelModuleTest.test_kernel_module']) diff --git a/poky/meta/lib/oeqa/runtime/cases/systemd.py b/poky/meta/lib/oeqa/runtime/cases/systemd.py index 460b8fc3a..c11fa49b0 100644 --- a/poky/meta/lib/oeqa/runtime/cases/systemd.py +++ b/poky/meta/lib/oeqa/runtime/cases/systemd.py @@ -1,9 +1,12 @@ +# +# SPDX-License-Identifier: MIT +# + import re import time from oeqa.runtime.case import OERuntimeTestCase from oeqa.core.decorator.depends import OETestDepends -from oeqa.core.decorator.oeid import OETestID from oeqa.core.decorator.data import skipIfDataVar, skipIfNotDataVar from oeqa.runtime.decorator.package import OEHasPackage from oeqa.core.decorator.data import skipIfNotFeature @@ -78,12 +81,10 @@ class SystemdBasicTests(SystemdTest): def test_systemd_basic(self): self.systemctl('--version') - @OETestID(551) @OETestDepends(['systemd.SystemdBasicTests.test_systemd_basic']) def test_systemd_list(self): self.systemctl('list-unit-files') - @OETestID(550) @OETestDepends(['systemd.SystemdBasicTests.test_systemd_basic']) def test_systemd_failed(self): settled, output = self.settle() @@ -104,7 +105,6 @@ class SystemdServiceTests(SystemdTest): def test_systemd_status(self): self.systemctl('status --full', 'avahi-daemon.service') - @OETestID(695) @OETestDepends(['systemd.SystemdServiceTests.test_systemd_status']) def test_systemd_stop_start(self): self.systemctl('stop', 'avahi-daemon.service') @@ -113,7 +113,6 @@ class SystemdServiceTests(SystemdTest): self.systemctl('start','avahi-daemon.service') self.systemctl('is-active', 'avahi-daemon.service', verbose=True) - @OETestID(696) @OETestDepends(['systemd.SystemdServiceTests.test_systemd_status']) def test_systemd_disable_enable(self): self.systemctl('disable', 'avahi-daemon.service') diff --git a/poky/meta/lib/oeqa/runtime/cases/x32lib.py b/poky/meta/lib/oeqa/runtime/cases/x32lib.py index 8da0154e7..ddf220140 100644 --- a/poky/meta/lib/oeqa/runtime/cases/x32lib.py +++ b/poky/meta/lib/oeqa/runtime/cases/x32lib.py @@ -1,13 +1,15 @@ +# +# SPDX-License-Identifier: MIT +# + from oeqa.runtime.case import OERuntimeTestCase from oeqa.core.decorator.depends import OETestDepends -from oeqa.core.decorator.oeid import OETestID from oeqa.core.decorator.data import skipIfNotInDataVar class X32libTest(OERuntimeTestCase): @skipIfNotInDataVar('DEFAULTTUNE', 'x86-64-x32', 'DEFAULTTUNE is not set to x86-64-x32') - @OETestID(281) @OETestDepends(['ssh.SSHTest.test_ssh']) def test_x32_file(self): cmd = 'readelf -h /bin/ls | grep Class | grep ELF32' diff --git a/poky/meta/lib/oeqa/runtime/cases/xorg.py b/poky/meta/lib/oeqa/runtime/cases/xorg.py index 82521c69a..d6845587c 100644 --- a/poky/meta/lib/oeqa/runtime/cases/xorg.py +++ b/poky/meta/lib/oeqa/runtime/cases/xorg.py @@ -1,12 +1,14 @@ +# +# SPDX-License-Identifier: MIT +# + from oeqa.runtime.case import OERuntimeTestCase from oeqa.core.decorator.depends import OETestDepends -from oeqa.core.decorator.oeid import OETestID from oeqa.core.decorator.data import skipIfNotFeature from oeqa.runtime.decorator.package import OEHasPackage class XorgTest(OERuntimeTestCase): - @OETestID(1151) @skipIfNotFeature('x11-base', 'Test requires x11 to be in IMAGE_FEATURES') @OETestDepends(['ssh.SSHTest.test_ssh']) diff --git a/poky/meta/lib/oeqa/runtime/context.py b/poky/meta/lib/oeqa/runtime/context.py index db0482d68..77d58eefa 100644 --- a/poky/meta/lib/oeqa/runtime/context.py +++ b/poky/meta/lib/oeqa/runtime/context.py @@ -1,5 +1,8 @@ +# # Copyright (C) 2016 Intel Corporation -# Released under the MIT license (see COPYING.MIT) +# +# SPDX-License-Identifier: MIT +# import os diff --git a/poky/meta/lib/oeqa/runtime/decorator/package.py b/poky/meta/lib/oeqa/runtime/decorator/package.py index aa6ecb68f..4c5ca198b 100644 --- a/poky/meta/lib/oeqa/runtime/decorator/package.py +++ b/poky/meta/lib/oeqa/runtime/decorator/package.py @@ -1,5 +1,8 @@ +# # Copyright (C) 2016 Intel Corporation -# Released under the MIT license (see COPYING.MIT) +# +# SPDX-License-Identifier: MIT +# from oeqa.core.decorator import OETestDecorator, registerDecorator from oeqa.core.utils.misc import strToSet diff --git a/poky/meta/lib/oeqa/runtime/loader.py b/poky/meta/lib/oeqa/runtime/loader.py index 041ef976e..7041ddfde 100644 --- a/poky/meta/lib/oeqa/runtime/loader.py +++ b/poky/meta/lib/oeqa/runtime/loader.py @@ -1,5 +1,8 @@ +# # Copyright (C) 2016 Intel Corporation -# Released under the MIT license (see COPYING.MIT) +# +# SPDX-License-Identifier: MIT +# from oeqa.core.loader import OETestLoader from oeqa.runtime.case import OERuntimeTestCase diff --git a/poky/meta/lib/oeqa/runtime/utils/targetbuildproject.py b/poky/meta/lib/oeqa/runtime/utils/targetbuildproject.py index de17ba01f..f4f4816a9 100644 --- a/poky/meta/lib/oeqa/runtime/utils/targetbuildproject.py +++ b/poky/meta/lib/oeqa/runtime/utils/targetbuildproject.py @@ -1,5 +1,8 @@ +# # Copyright (C) 2016 Intel Corporation -# Released under the MIT license (see COPYING.MIT) +# +# SPDX-License-Identifier: MIT +# from oeqa.utils.buildproject import BuildProject diff --git a/poky/meta/lib/oeqa/sdk/case.py b/poky/meta/lib/oeqa/sdk/case.py index d8611c8b3..ebb03af9e 100644 --- a/poky/meta/lib/oeqa/sdk/case.py +++ b/poky/meta/lib/oeqa/sdk/case.py @@ -1,5 +1,8 @@ +# # Copyright (C) 2016 Intel Corporation -# Released under the MIT license (see COPYING.MIT) +# +# SPDX-License-Identifier: MIT +# import os import subprocess @@ -9,7 +12,7 @@ from oeqa.core.case import OETestCase class OESDKTestCase(OETestCase): def _run(self, cmd): return subprocess.check_output(". %s > /dev/null; %s;" % \ - (self.tc.sdk_env, cmd), shell=True, + (self.tc.sdk_env, cmd), shell=True, executable="/bin/bash", stderr=subprocess.STDOUT, universal_newlines=True) def fetch(self, workdir, dl_dir, url, archive=None): diff --git a/poky/meta/lib/oeqa/sdk/cases/assimp.py b/poky/meta/lib/oeqa/sdk/cases/assimp.py index a60001039..f26b17f2e 100644 --- a/poky/meta/lib/oeqa/sdk/cases/assimp.py +++ b/poky/meta/lib/oeqa/sdk/cases/assimp.py @@ -1,3 +1,7 @@ +# +# SPDX-License-Identifier: MIT +# + import os import subprocess import tempfile diff --git a/poky/meta/lib/oeqa/sdk/cases/buildcpio.py b/poky/meta/lib/oeqa/sdk/cases/buildcpio.py index 9504ee8e0..0a5e68d5f 100644 --- a/poky/meta/lib/oeqa/sdk/cases/buildcpio.py +++ b/poky/meta/lib/oeqa/sdk/cases/buildcpio.py @@ -1,3 +1,7 @@ +# +# SPDX-License-Identifier: MIT +# + import os import tempfile import subprocess diff --git a/poky/meta/lib/oeqa/sdk/cases/buildepoxy.py b/poky/meta/lib/oeqa/sdk/cases/buildepoxy.py index ef24b4f4a..f3d207c6d 100644 --- a/poky/meta/lib/oeqa/sdk/cases/buildepoxy.py +++ b/poky/meta/lib/oeqa/sdk/cases/buildepoxy.py @@ -1,3 +1,7 @@ +# +# SPDX-License-Identifier: MIT +# + import os import subprocess import tempfile diff --git a/poky/meta/lib/oeqa/sdk/cases/buildgalculator.py b/poky/meta/lib/oeqa/sdk/cases/buildgalculator.py index 47d7580fa..bbaa5c55c 100644 --- a/poky/meta/lib/oeqa/sdk/cases/buildgalculator.py +++ b/poky/meta/lib/oeqa/sdk/cases/buildgalculator.py @@ -1,3 +1,7 @@ +# +# SPDX-License-Identifier: MIT +# + import os import subprocess import tempfile diff --git a/poky/meta/lib/oeqa/sdk/cases/buildlzip.py b/poky/meta/lib/oeqa/sdk/cases/buildlzip.py index b7483bfea..515acd289 100644 --- a/poky/meta/lib/oeqa/sdk/cases/buildlzip.py +++ b/poky/meta/lib/oeqa/sdk/cases/buildlzip.py @@ -1,3 +1,7 @@ +# +# SPDX-License-Identifier: MIT +# + import os, tempfile, subprocess, unittest from oeqa.sdk.case import OESDKTestCase from oeqa.utils.subprocesstweak import errors_have_output diff --git a/poky/meta/lib/oeqa/sdk/cases/gcc.py b/poky/meta/lib/oeqa/sdk/cases/gcc.py index 54c6fc488..eb08eadd2 100644 --- a/poky/meta/lib/oeqa/sdk/cases/gcc.py +++ b/poky/meta/lib/oeqa/sdk/cases/gcc.py @@ -1,3 +1,7 @@ +# +# SPDX-License-Identifier: MIT +# + import os import shutil import unittest diff --git a/poky/meta/lib/oeqa/sdk/cases/perl.py b/poky/meta/lib/oeqa/sdk/cases/perl.py index b8adc5ac7..14d76d820 100644 --- a/poky/meta/lib/oeqa/sdk/cases/perl.py +++ b/poky/meta/lib/oeqa/sdk/cases/perl.py @@ -1,3 +1,7 @@ +# +# SPDX-License-Identifier: MIT +# + import unittest from oeqa.sdk.case import OESDKTestCase diff --git a/poky/meta/lib/oeqa/sdk/cases/python.py b/poky/meta/lib/oeqa/sdk/cases/python.py index b9174fadb..a334abce5 100644 --- a/poky/meta/lib/oeqa/sdk/cases/python.py +++ b/poky/meta/lib/oeqa/sdk/cases/python.py @@ -1,3 +1,7 @@ +# +# SPDX-License-Identifier: MIT +# + import subprocess, unittest from oeqa.sdk.case import OESDKTestCase diff --git a/poky/meta/lib/oeqa/sdk/context.py b/poky/meta/lib/oeqa/sdk/context.py index adc4166fd..09e77c19f 100644 --- a/poky/meta/lib/oeqa/sdk/context.py +++ b/poky/meta/lib/oeqa/sdk/context.py @@ -1,5 +1,8 @@ +# # Copyright (C) 2016 Intel Corporation -# Released under the MIT license (see COPYING.MIT) +# +# SPDX-License-Identifier: MIT +# import os import sys diff --git a/poky/meta/lib/oeqa/sdk/testsdk.py b/poky/meta/lib/oeqa/sdk/testsdk.py index 632ac50d0..35e40187b 100644 --- a/poky/meta/lib/oeqa/sdk/testsdk.py +++ b/poky/meta/lib/oeqa/sdk/testsdk.py @@ -1,5 +1,8 @@ +# # Copyright 2018 by Garmin Ltd. or its subsidiaries -# Released under the MIT license (see COPYING.MIT) +# +# SPDX-License-Identifier: MIT +# from oeqa.sdk.context import OESDKTestContext, OESDKTestContextExecutor diff --git a/poky/meta/lib/oeqa/sdk/utils/sdkbuildproject.py b/poky/meta/lib/oeqa/sdk/utils/sdkbuildproject.py index 6fed73e35..32f5e3310 100644 --- a/poky/meta/lib/oeqa/sdk/utils/sdkbuildproject.py +++ b/poky/meta/lib/oeqa/sdk/utils/sdkbuildproject.py @@ -1,5 +1,8 @@ +# # Copyright (C) 2016 Intel Corporation -# Released under the MIT license (see COPYING.MIT) +# +# SPDX-License-Identifier: MIT +# import os import subprocess @@ -42,7 +45,8 @@ class SDKBuildProject(BuildProject): def _run(self, cmd): self.log("Running . %s; " % self.sdkenv + cmd) try: - output = subprocess.check_output(". %s; " % self.sdkenv + cmd, shell=True, stderr=subprocess.STDOUT) + output = subprocess.check_output(". %s; " % self.sdkenv + cmd, shell=True, + executable='/bin/bash', stderr=subprocess.STDOUT) except subprocess.CalledProcessError as exc: print(exc.output.decode('utf-8')) return exc.returncode diff --git a/poky/meta/lib/oeqa/sdkext/case.py b/poky/meta/lib/oeqa/sdkext/case.py index 21b718831..668faec9b 100644 --- a/poky/meta/lib/oeqa/sdkext/case.py +++ b/poky/meta/lib/oeqa/sdkext/case.py @@ -1,5 +1,8 @@ +# # Copyright (C) 2016 Intel Corporation -# Released under the MIT license (see COPYING.MIT) +# +# SPDX-License-Identifier: MIT +# import os import subprocess diff --git a/poky/meta/lib/oeqa/sdkext/cases/devtool.py b/poky/meta/lib/oeqa/sdkext/cases/devtool.py index d322f86c7..5a02add76 100644 --- a/poky/meta/lib/oeqa/sdkext/cases/devtool.py +++ b/poky/meta/lib/oeqa/sdkext/cases/devtool.py @@ -1,12 +1,14 @@ +# # Copyright (C) 2016 Intel Corporation -# Released under the MIT license (see COPYING.MIT) +# +# SPDX-License-Identifier: MIT +# import os import shutil import subprocess from oeqa.sdkext.case import OESDKExtTestCase -from oeqa.core.decorator.oeid import OETestID from oeqa.utils.httpserver import HTTPService from oeqa.utils.subprocesstweak import errors_have_output @@ -51,19 +53,15 @@ class DevtoolTest(OESDKExtTestCase): self._run('devtool add myapp %s' % self.myapp_dst) self._run('devtool reset myapp') - @OETestID(1605) def test_devtool_build_make(self): self._test_devtool_build(self.myapp_dst) - @OETestID(1606) def test_devtool_build_esdk_package(self): self._test_devtool_build_package(self.myapp_dst) - @OETestID(1607) def test_devtool_build_cmake(self): self._test_devtool_build(self.myapp_cmake_dst) - @OETestID(1608) def test_extend_autotools_recipe_creation(self): req = 'https://github.com/rdfa/librdfa' recipe = "librdfa" @@ -74,7 +72,6 @@ class DevtoolTest(OESDKExtTestCase): finally: self._run('devtool reset %s' % recipe) - @OETestID(1609) def test_devtool_kernelmodule(self): docfile = 'https://github.com/umlaeute/v4l2loopback.git' recipe = 'v4l2loopback-driver' @@ -84,7 +81,6 @@ class DevtoolTest(OESDKExtTestCase): finally: self._run('devtool reset %s' % recipe) - @OETestID(1610) def test_recipes_for_nodejs(self): package_nodejs = "npm://registry.npmjs.org;name=winston;version=2.2.0" self._run('devtool add %s ' % package_nodejs) diff --git a/poky/meta/lib/oeqa/sdkext/context.py b/poky/meta/lib/oeqa/sdkext/context.py index 65da4c6e1..2ac2bf6ff 100644 --- a/poky/meta/lib/oeqa/sdkext/context.py +++ b/poky/meta/lib/oeqa/sdkext/context.py @@ -1,5 +1,8 @@ +# # Copyright (C) 2016 Intel Corporation -# Released under the MIT license (see COPYING.MIT) +# +# SPDX-License-Identifier: MIT +# import os from oeqa.sdk.context import OESDKTestContext, OESDKTestContextExecutor diff --git a/poky/meta/lib/oeqa/sdkext/testsdk.py b/poky/meta/lib/oeqa/sdkext/testsdk.py index 57b2e0e03..785b5dda5 100644 --- a/poky/meta/lib/oeqa/sdkext/testsdk.py +++ b/poky/meta/lib/oeqa/sdkext/testsdk.py @@ -1,5 +1,8 @@ +# # Copyright 2018 by Garmin Ltd. or its subsidiaries -# Released under the MIT license (see COPYING.MIT) +# +# SPDX-License-Identifier: MIT +# from oeqa.sdk.testsdk import TestSDKBase diff --git a/poky/meta/lib/oeqa/selftest/case.py b/poky/meta/lib/oeqa/selftest/case.py index 9c08d595e..d207a0af0 100644 --- a/poky/meta/lib/oeqa/selftest/case.py +++ b/poky/meta/lib/oeqa/selftest/case.py @@ -1,5 +1,8 @@ +# # Copyright (C) 2013-2017 Intel Corporation -# Released under the MIT license (see COPYING.MIT) +# +# SPDX-License-Identifier: MIT +# import sys import os diff --git a/poky/meta/lib/oeqa/selftest/cases/_sstatetests_noauto.py b/poky/meta/lib/oeqa/selftest/cases/_sstatetests_noauto.py index 0e5896234..f7c356ad0 100644 --- a/poky/meta/lib/oeqa/selftest/cases/_sstatetests_noauto.py +++ b/poky/meta/lib/oeqa/selftest/cases/_sstatetests_noauto.py @@ -1,3 +1,7 @@ +# +# SPDX-License-Identifier: MIT +# + import os import shutil diff --git a/poky/meta/lib/oeqa/selftest/cases/archiver.py b/poky/meta/lib/oeqa/selftest/cases/archiver.py index 0a6d4e325..f8672f8ab 100644 --- a/poky/meta/lib/oeqa/selftest/cases/archiver.py +++ b/poky/meta/lib/oeqa/selftest/cases/archiver.py @@ -1,12 +1,14 @@ +# +# SPDX-License-Identifier: MIT +# + import os import glob from oeqa.utils.commands import bitbake, get_bb_vars from oeqa.selftest.case import OESelftestTestCase -from oeqa.core.decorator.oeid import OETestID class Archiver(OESelftestTestCase): - @OETestID(1345) def test_archiver_allows_to_filter_on_recipe_name(self): """ Summary: The archiver should offer the possibility to filter on the recipe. (#6929) @@ -40,7 +42,6 @@ class Archiver(OESelftestTestCase): excluded_present = len(glob.glob(src_path + '/%s-*' % exclude_recipe)) self.assertFalse(excluded_present, 'Recipe %s was not excluded.' % exclude_recipe) - @OETestID(1900) def test_archiver_filters_by_type(self): """ Summary: The archiver is documented to filter on the recipe type. @@ -73,7 +74,6 @@ class Archiver(OESelftestTestCase): excluded_present = len(glob.glob(src_path_native + '/%s-*' % native_recipe)) self.assertFalse(excluded_present, 'Recipe %s was not excluded.' % native_recipe) - @OETestID(1901) def test_archiver_filters_by_type_and_name(self): """ Summary: Test that the archiver archives by recipe type, taking the diff --git a/poky/meta/lib/oeqa/selftest/cases/bblayers.py b/poky/meta/lib/oeqa/selftest/cases/bblayers.py index 447c54b7e..954488dfd 100644 --- a/poky/meta/lib/oeqa/selftest/cases/bblayers.py +++ b/poky/meta/lib/oeqa/selftest/cases/bblayers.py @@ -1,3 +1,7 @@ +# +# SPDX-License-Identifier: MIT +# + import os import re @@ -5,33 +9,27 @@ import oeqa.utils.ftools as ftools from oeqa.utils.commands import runCmd, get_bb_var, get_bb_vars from oeqa.selftest.case import OESelftestTestCase -from oeqa.core.decorator.oeid import OETestID class BitbakeLayers(OESelftestTestCase): - @OETestID(756) def test_bitbakelayers_showcrossdepends(self): result = runCmd('bitbake-layers show-cross-depends') self.assertTrue('aspell' in result.output, msg = "No dependencies were shown. bitbake-layers show-cross-depends output: %s" % result.output) - @OETestID(83) def test_bitbakelayers_showlayers(self): result = runCmd('bitbake-layers show-layers') self.assertTrue('meta-selftest' in result.output, msg = "No layers were shown. bitbake-layers show-layers output: %s" % result.output) - @OETestID(93) def test_bitbakelayers_showappends(self): recipe = "xcursor-transparent-theme" bb_file = self.get_recipe_basename(recipe) result = runCmd('bitbake-layers show-appends') self.assertTrue(bb_file in result.output, msg="%s file was not recognised. bitbake-layers show-appends output: %s" % (bb_file, result.output)) - @OETestID(90) def test_bitbakelayers_showoverlayed(self): result = runCmd('bitbake-layers show-overlayed') self.assertTrue('aspell' in result.output, msg="aspell overlayed recipe was not recognised bitbake-layers show-overlayed %s" % result.output) - @OETestID(95) def test_bitbakelayers_flatten(self): recipe = "xcursor-transparent-theme" recipe_path = "recipes-graphics/xcursor-transparent-theme" @@ -46,7 +44,6 @@ class BitbakeLayers(OESelftestTestCase): find_in_contents = re.search("##### bbappended from meta-selftest #####\n(.*\n)*include test_recipe.inc", contents) self.assertTrue(find_in_contents, msg = "Flattening layers did not work. bitbake-layers flatten output: %s" % result.output) - @OETestID(1195) def test_bitbakelayers_add_remove(self): test_layer = os.path.join(get_bb_var('COREBASE'), 'meta-skeleton') result = runCmd('bitbake-layers show-layers') @@ -64,7 +61,6 @@ class BitbakeLayers(OESelftestTestCase): result = runCmd('bitbake-layers show-layers') self.assertNotIn('meta-skeleton', result.output, msg = "meta-skeleton should have been removed at this step. bitbake-layers show-layers output: %s" % result.output) - @OETestID(1384) def test_bitbakelayers_showrecipes(self): result = runCmd('bitbake-layers show-recipes') self.assertIn('aspell:', result.output) diff --git a/poky/meta/lib/oeqa/selftest/cases/bbtests.py b/poky/meta/lib/oeqa/selftest/cases/bbtests.py index c503e4eed..e9ad44b02 100644 --- a/poky/meta/lib/oeqa/selftest/cases/bbtests.py +++ b/poky/meta/lib/oeqa/selftest/cases/bbtests.py @@ -1,3 +1,7 @@ +# +# SPDX-License-Identifier: MIT +# + import os import re @@ -5,7 +9,6 @@ import oeqa.utils.ftools as ftools from oeqa.utils.commands import runCmd, bitbake, get_bb_var, get_bb_vars from oeqa.selftest.case import OESelftestTestCase -from oeqa.core.decorator.oeid import OETestID class BitbakeTests(OESelftestTestCase): @@ -14,13 +17,11 @@ class BitbakeTests(OESelftestTestCase): if line in l: return l - @OETestID(789) # Test bitbake can run from the <builddir>/conf directory def test_run_bitbake_from_dir_1(self): os.chdir(os.path.join(self.builddir, 'conf')) self.assertEqual(bitbake('-e').status, 0, msg = "bitbake couldn't run from \"conf\" dir") - @OETestID(790) # Test bitbake can run from the <builddir>'s parent directory def test_run_bitbake_from_dir_2(self): my_env = os.environ.copy() @@ -36,7 +37,6 @@ class BitbakeTests(OESelftestTestCase): self.assertEqual(bitbake('-e', env=my_env).status, 0, msg = "bitbake couldn't run from /tmp/") - @OETestID(806) def test_event_handler(self): self.write_config("INHERIT += \"test_events\"") result = bitbake('m4-native') @@ -46,7 +46,6 @@ class BitbakeTests(OESelftestTestCase): self.assertTrue(find_build_completed, msg = "Match failed in:\n%s" % result.output) self.assertFalse('Test for bb.event.InvalidEvent' in result.output, msg = "\"Test for bb.event.InvalidEvent\" message found during bitbake process. bitbake output: %s" % result.output) - @OETestID(103) def test_local_sstate(self): bitbake('m4-native') bitbake('m4-native -cclean') @@ -54,17 +53,14 @@ class BitbakeTests(OESelftestTestCase): find_setscene = re.search("m4-native.*do_.*_setscene", result.output) self.assertTrue(find_setscene, msg = "No \"m4-native.*do_.*_setscene\" message found during bitbake m4-native. bitbake output: %s" % result.output ) - @OETestID(105) def test_bitbake_invalid_recipe(self): result = bitbake('-b asdf', ignore_status=True) self.assertTrue("ERROR: Unable to find any recipe file matching 'asdf'" in result.output, msg = "Though asdf recipe doesn't exist, bitbake didn't output any err. message. bitbake output: %s" % result.output) - @OETestID(107) def test_bitbake_invalid_target(self): result = bitbake('asdf', ignore_status=True) self.assertTrue("ERROR: Nothing PROVIDES 'asdf'" in result.output, msg = "Though no 'asdf' target exists, bitbake didn't output any err. message. bitbake output: %s" % result.output) - @OETestID(106) def test_warnings_errors(self): result = bitbake('-b asdf', ignore_status=True) find_warnings = re.search("Summary: There w.{2,3}? [1-9][0-9]* WARNING messages* shown", result.output) @@ -72,7 +68,6 @@ class BitbakeTests(OESelftestTestCase): self.assertTrue(find_warnings, msg="Did not find the mumber of warnings at the end of the build:\n" + result.output) self.assertTrue(find_errors, msg="Did not find the mumber of errors at the end of the build:\n" + result.output) - @OETestID(108) def test_invalid_patch(self): # This patch should fail to apply. self.write_recipeinc('man-db', 'FILESEXTRAPATHS_prepend := "${THISDIR}/files:"\nSRC_URI += "file://0001-Test-patch-here.patch"') @@ -83,7 +78,6 @@ class BitbakeTests(OESelftestTestCase): line = self.getline(result, "Function failed: patch_do_patch") self.assertTrue(line and line.startswith("ERROR:"), msg = "Incorrectly formed patch application didn't fail. bitbake output: %s" % result.output) - @OETestID(1354) def test_force_task_1(self): # test 1 from bug 5875 test_recipe = 'zlib' @@ -108,7 +102,6 @@ class BitbakeTests(OESelftestTestCase): ret = bitbake(test_recipe) self.assertIn('task do_package_write_rpm:', ret.output, 'Task do_package_write_rpm did not re-executed.') - @OETestID(163) def test_force_task_2(self): # test 2 from bug 5875 test_recipe = 'zlib' @@ -121,7 +114,6 @@ class BitbakeTests(OESelftestTestCase): for task in look_for_tasks: self.assertIn(task, result.output, msg="Couldn't find %s task.") - @OETestID(167) def test_bitbake_g(self): result = bitbake('-g core-image-minimal') for f in ['pn-buildlist', 'recipe-depends.dot', 'task-depends.dot']: @@ -129,7 +121,6 @@ class BitbakeTests(OESelftestTestCase): self.assertTrue('Task dependencies saved to \'task-depends.dot\'' in result.output, msg = "No task dependency \"task-depends.dot\" file was generated for the given task target. bitbake output: %s" % result.output) self.assertTrue('busybox' in ftools.read_file(os.path.join(self.builddir, 'task-depends.dot')), msg = "No \"busybox\" dependency found in task-depends.dot file.") - @OETestID(899) def test_image_manifest(self): bitbake('core-image-minimal') bb_vars = get_bb_vars(["DEPLOY_DIR_IMAGE", "IMAGE_LINK_NAME"], "core-image-minimal") @@ -138,7 +129,6 @@ class BitbakeTests(OESelftestTestCase): manifest = os.path.join(deploydir, imagename + ".manifest") self.assertTrue(os.path.islink(manifest), msg="No manifest file created for image. It should have been created in %s" % manifest) - @OETestID(168) def test_invalid_recipe_src_uri(self): data = 'SRC_URI = "file://invalid"' self.write_recipeinc('man-db', data) @@ -159,7 +149,6 @@ doesn't exist, yet no error message encountered. bitbake output: %s" % result.ou self.assertTrue(line and line.startswith("ERROR:"), msg = "\"invalid\" file \ doesn't exist, yet fetcher didn't report any error. bitbake output: %s" % result.output) - @OETestID(171) def test_rename_downloaded_file(self): # TODO unique dldir instead of using cleanall # TODO: need to set sstatedir? @@ -177,29 +166,24 @@ SSTATE_DIR = \"${TOPDIR}/download-selftest\" self.assertTrue(os.path.isfile(os.path.join(dl_dir, 'test-aspell.tar.gz')), msg = "File rename failed. No corresponding test-aspell.tar.gz file found under %s" % dl_dir) self.assertTrue(os.path.isfile(os.path.join(dl_dir, 'test-aspell.tar.gz.done')), "File rename failed. No corresponding test-aspell.tar.gz.done file found under %s" % dl_dir) - @OETestID(1028) def test_environment(self): self.write_config("TEST_ENV=\"localconf\"") result = runCmd('bitbake -e | grep TEST_ENV=') self.assertTrue('localconf' in result.output, msg = "bitbake didn't report any value for TEST_ENV variable. To test, run 'bitbake -e | grep TEST_ENV='") - @OETestID(1029) def test_dry_run(self): result = runCmd('bitbake -n m4-native') self.assertEqual(0, result.status, "bitbake dry run didn't run as expected. %s" % result.output) - @OETestID(1030) def test_just_parse(self): result = runCmd('bitbake -p') self.assertEqual(0, result.status, "errors encountered when parsing recipes. %s" % result.output) - @OETestID(1031) def test_version(self): result = runCmd('bitbake -s | grep wget') find = re.search(r"wget *:([0-9a-zA-Z\.\-]+)", result.output) self.assertTrue(find, "No version returned for searched recipe. bitbake output: %s" % result.output) - @OETestID(1032) def test_prefile(self): preconf = os.path.join(self.builddir, 'conf/prefile.conf') self.track_for_cleanup(preconf) @@ -210,7 +194,6 @@ SSTATE_DIR = \"${TOPDIR}/download-selftest\" result = runCmd('bitbake -r conf/prefile.conf -e | grep TEST_PREFILE=') self.assertTrue('localconf' in result.output, "Preconfigure file \"prefile.conf\"was not taken into consideration.") - @OETestID(1033) def test_postfile(self): postconf = os.path.join(self.builddir, 'conf/postfile.conf') self.track_for_cleanup(postconf) @@ -219,12 +202,10 @@ SSTATE_DIR = \"${TOPDIR}/download-selftest\" result = runCmd('bitbake -R conf/postfile.conf -e | grep TEST_POSTFILE=') self.assertTrue('postfile' in result.output, "Postconfigure file \"postfile.conf\"was not taken into consideration.") - @OETestID(1034) def test_checkuri(self): result = runCmd('bitbake -c checkuri m4') self.assertEqual(0, result.status, msg = "\"checkuri\" task was not executed. bitbake output: %s" % result.output) - @OETestID(1035) def test_continue(self): self.write_config("""DL_DIR = \"${TOPDIR}/download-selftest\" SSTATE_DIR = \"${TOPDIR}/download-selftest\" @@ -239,7 +220,6 @@ INHERIT_remove = \"report-error\" continuepos = result.output.find('NOTE: recipe xcursor-transparent-theme-%s: task do_unpack: Started' % manver.group(1)) self.assertLess(errorpos,continuepos, msg = "bitbake didn't pass do_fail_task. bitbake output: %s" % result.output) - @OETestID(1119) def test_non_gplv3(self): self.write_config('INCOMPATIBLE_LICENSE = "GPLv3"') result = bitbake('selftest-ed', ignore_status=True) @@ -248,7 +228,6 @@ INHERIT_remove = \"report-error\" self.assertFalse(os.path.isfile(os.path.join(lic_dir, 'selftest-ed/generic_GPLv3'))) self.assertTrue(os.path.isfile(os.path.join(lic_dir, 'selftest-ed/generic_GPLv2'))) - @OETestID(1422) def test_setscene_only(self): """ Bitbake option to restore from sstate only within a build (i.e. execute no real tasks, only setscene)""" test_recipe = 'ed' @@ -263,7 +242,6 @@ INHERIT_remove = \"report-error\" self.assertIn('_setscene', task, 'A task different from _setscene ran: %s.\n' 'Executed tasks were: %s' % (task, str(tasks))) - @OETestID(1425) def test_bbappend_order(self): """ Bitbake should bbappend to recipe in a predictable order """ test_recipe = 'ed' diff --git a/poky/meta/lib/oeqa/selftest/cases/buildhistory.py b/poky/meta/lib/oeqa/selftest/cases/buildhistory.py index 06792d914..d865da625 100644 --- a/poky/meta/lib/oeqa/selftest/cases/buildhistory.py +++ b/poky/meta/lib/oeqa/selftest/cases/buildhistory.py @@ -1,3 +1,7 @@ +# +# SPDX-License-Identifier: MIT +# + import os import re import datetime diff --git a/poky/meta/lib/oeqa/selftest/cases/buildoptions.py b/poky/meta/lib/oeqa/selftest/cases/buildoptions.py index 6a18eb836..3ad65b403 100644 --- a/poky/meta/lib/oeqa/selftest/cases/buildoptions.py +++ b/poky/meta/lib/oeqa/selftest/cases/buildoptions.py @@ -1,3 +1,7 @@ +# +# SPDX-License-Identifier: MIT +# + import os import re import glob as g @@ -7,11 +11,9 @@ from oeqa.selftest.case import OESelftestTestCase from oeqa.selftest.cases.buildhistory import BuildhistoryBase from oeqa.utils.commands import runCmd, bitbake, get_bb_var, get_bb_vars import oeqa.utils.ftools as ftools -from oeqa.core.decorator.oeid import OETestID class ImageOptionsTests(OESelftestTestCase): - @OETestID(761) def test_incremental_image_generation(self): image_pkgtype = get_bb_var("IMAGE_PKGTYPE") if image_pkgtype != 'rpm': @@ -30,7 +32,6 @@ class ImageOptionsTests(OESelftestTestCase): incremental_removed = re.search(r"Erasing\s*:\s*packagegroup-core-ssh-openssh", log_data_removed) self.assertTrue(incremental_removed, msg = "Match failed in:\n%s" % log_data_removed) - @OETestID(286) def test_ccache_tool(self): bitbake("ccache-native") bb_vars = get_bb_vars(['SYSROOT_DESTDIR', 'bindir'], 'ccache-native') @@ -45,7 +46,6 @@ class ImageOptionsTests(OESelftestTestCase): loglines = "".join(f.readlines()) self.assertIn("ccache", loglines, msg="No match for ccache in m4-native log.do_compile. For further details: %s" % log_compile) - @OETestID(1435) def test_read_only_image(self): distro_features = get_bb_var('DISTRO_FEATURES') if not ('x11' in distro_features and 'opengl' in distro_features): @@ -56,7 +56,6 @@ class ImageOptionsTests(OESelftestTestCase): class DiskMonTest(OESelftestTestCase): - @OETestID(277) def test_stoptask_behavior(self): self.write_config('BB_DISKMON_DIRS = "STOPTASKS,${TMPDIR},100000G,100K"') res = bitbake("delay -c delay", ignore_status = True) @@ -76,7 +75,6 @@ class SanityOptionsTest(OESelftestTestCase): if line in l: return l - @OETestID(927) def test_options_warnqa_errorqa_switch(self): self.write_config("INHERIT_remove = \"report-error\"") @@ -98,7 +96,6 @@ class SanityOptionsTest(OESelftestTestCase): line = self.getline(res, "QA Issue: xcursor-transparent-theme-dbg is listed in PACKAGES multiple times, this leads to packaging errors.") self.assertTrue(line and line.startswith("WARNING:"), msg=res.output) - @OETestID(1421) def test_layer_without_git_dir(self): """ Summary: Test that layer git revisions are displayed and do not fail without git repository @@ -140,12 +137,10 @@ class SanityOptionsTest(OESelftestTestCase): class BuildhistoryTests(BuildhistoryBase): - @OETestID(293) def test_buildhistory_basic(self): self.run_buildhistory_operation('xcursor-transparent-theme') self.assertTrue(os.path.isdir(get_bb_var('BUILDHISTORY_DIR')), "buildhistory dir was not created.") - @OETestID(294) def test_buildhistory_buildtime_pr_backwards(self): target = 'xcursor-transparent-theme' error = "ERROR:.*QA Issue: Package version for package %s went backwards which would break package feeds from (.*-r1.* to .*-r0.*)" % target @@ -153,7 +148,6 @@ class BuildhistoryTests(BuildhistoryBase): self.run_buildhistory_operation(target, target_config="PR = \"r0\"", change_bh_location=False, expect_error=True, error_regex=error) class ArchiverTest(OESelftestTestCase): - @OETestID(926) def test_arch_work_dir_and_export_source(self): """ Test for archiving the work directory and exporting the source files. diff --git a/poky/meta/lib/oeqa/selftest/cases/containerimage.py b/poky/meta/lib/oeqa/selftest/cases/containerimage.py index 8deaae75d..c0998e319 100644 --- a/poky/meta/lib/oeqa/selftest/cases/containerimage.py +++ b/poky/meta/lib/oeqa/selftest/cases/containerimage.py @@ -1,8 +1,11 @@ +# +# SPDX-License-Identifier: MIT +# + import os from oeqa.selftest.case import OESelftestTestCase from oeqa.utils.commands import bitbake, get_bb_vars, runCmd -from oeqa.core.decorator.oeid import OETestID # This test builds an image with using the "container" IMAGE_FSTYPE, and # ensures that then files in the image are only the ones expected. @@ -21,7 +24,6 @@ class ContainerImageTests(OESelftestTestCase): # Verify that when specifying a IMAGE_TYPEDEP_ of the form "foo.bar" that # the conversion type bar gets added as a dep as well - @OETestID(1619) def test_expected_files(self): def get_each_path_part(path): diff --git a/poky/meta/lib/oeqa/selftest/cases/devtool.py b/poky/meta/lib/oeqa/selftest/cases/devtool.py index 58f3e5846..434a7b9dd 100644 --- a/poky/meta/lib/oeqa/selftest/cases/devtool.py +++ b/poky/meta/lib/oeqa/selftest/cases/devtool.py @@ -1,3 +1,7 @@ +# +# SPDX-License-Identifier: MIT +# + import os import re import shutil @@ -9,7 +13,6 @@ import oeqa.utils.ftools as ftools from oeqa.selftest.case import OESelftestTestCase from oeqa.utils.commands import runCmd, bitbake, get_bb_var, create_temp_layer from oeqa.utils.commands import get_bb_vars, runqemu, get_test_layer -from oeqa.core.decorator.oeid import OETestID oldmetapath = None @@ -233,7 +236,6 @@ class DevtoolBase(OESelftestTestCase): class DevtoolTests(DevtoolBase): - @OETestID(1158) def test_create_workspace(self): # Check preconditions result = runCmd('bitbake-layers show-layers') @@ -256,7 +258,6 @@ class DevtoolTests(DevtoolBase): class DevtoolAddTests(DevtoolBase): - @OETestID(1159) def test_devtool_add(self): # Fetch source tempdir = tempfile.mkdtemp(prefix='devtoolqa') @@ -298,7 +299,6 @@ class DevtoolAddTests(DevtoolBase): bindir = bindir[1:] self.assertTrue(os.path.isfile(os.path.join(installdir, bindir, 'pv')), 'pv binary not found in D') - @OETestID(1423) def test_devtool_add_git_local(self): # We need dbus built so that DEPENDS recognition works bitbake('dbus') @@ -340,7 +340,6 @@ class DevtoolAddTests(DevtoolBase): checkvars['DEPENDS'] = set(['dbus']) self._test_recipe_contents(recipefile, checkvars, []) - @OETestID(1162) def test_devtool_add_library(self): # Fetch source tempdir = tempfile.mkdtemp(prefix='devtoolqa') @@ -389,7 +388,6 @@ class DevtoolAddTests(DevtoolBase): self.assertFalse(matches, 'Stamp files exist for recipe libftdi that should have been cleaned') self.assertFalse(os.path.isfile(os.path.join(staging_libdir, 'libftdi1.so.2.1.0')), 'libftdi binary still found in STAGING_LIBDIR after cleaning') - @OETestID(1160) def test_devtool_add_fetch(self): # Fetch source tempdir = tempfile.mkdtemp(prefix='devtoolqa') @@ -435,7 +433,6 @@ class DevtoolAddTests(DevtoolBase): checkvars['SRC_URI'] = url self._test_recipe_contents(recipefile, checkvars, []) - @OETestID(1161) def test_devtool_add_fetch_git(self): tempdir = tempfile.mkdtemp(prefix='devtoolqa') self.track_for_cleanup(tempdir) @@ -483,7 +480,6 @@ class DevtoolAddTests(DevtoolBase): checkvars['SRCREV'] = checkrev self._test_recipe_contents(recipefile, checkvars, []) - @OETestID(1391) def test_devtool_add_fetch_simple(self): # Fetch source from a remote URL, auto-detecting name tempdir = tempfile.mkdtemp(prefix='devtoolqa') @@ -513,7 +509,6 @@ class DevtoolAddTests(DevtoolBase): class DevtoolModifyTests(DevtoolBase): - @OETestID(1164) def test_devtool_modify(self): import oe.path @@ -571,7 +566,6 @@ class DevtoolModifyTests(DevtoolBase): result = runCmd('devtool status') self.assertNotIn('mdadm', result.output) - @OETestID(1620) def test_devtool_buildclean(self): def assertFile(path, *paths): f = os.path.join(path, *paths) @@ -618,7 +612,6 @@ class DevtoolModifyTests(DevtoolBase): finally: self.delete_recipeinc('m4') - @OETestID(1166) def test_devtool_modify_invalid(self): # Try modifying some recipes tempdir = tempfile.mkdtemp(prefix='devtoolqa') @@ -647,7 +640,6 @@ class DevtoolModifyTests(DevtoolBase): self.assertNotEqual(result.status, 0, 'devtool modify on %s should have failed. devtool output: %s' % (testrecipe, result.output)) self.assertIn('ERROR: ', result.output, 'devtool modify on %s should have given an ERROR' % testrecipe) - @OETestID(1365) def test_devtool_modify_native(self): # Check preconditions self.assertTrue(not os.path.exists(self.workspacedir), 'This test cannot be run with a workspace directory under the build directory') @@ -677,7 +669,6 @@ class DevtoolModifyTests(DevtoolBase): self.assertTrue(inheritnative, 'None of these recipes do "inherit native" - need to adjust testrecipes list: %s' % ', '.join(testrecipes)) - @OETestID(1165) def test_devtool_modify_git(self): # Check preconditions testrecipe = 'psplash' @@ -705,7 +696,6 @@ class DevtoolModifyTests(DevtoolBase): # Try building bitbake(testrecipe) - @OETestID(1167) def test_devtool_modify_localfiles(self): # Check preconditions testrecipe = 'lighttpd' @@ -736,7 +726,6 @@ class DevtoolModifyTests(DevtoolBase): # Try building bitbake(testrecipe) - @OETestID(1378) def test_devtool_modify_virtual(self): # Try modifying a virtual recipe virtrecipe = 'virtual/make' @@ -760,7 +749,6 @@ class DevtoolModifyTests(DevtoolBase): class DevtoolUpdateTests(DevtoolBase): - @OETestID(1169) def test_devtool_update_recipe(self): # Check preconditions testrecipe = 'minicom' @@ -793,7 +781,6 @@ class DevtoolUpdateTests(DevtoolBase): ('??', '.*/0002-Add-a-new-file.patch$')] self._check_repo_status(os.path.dirname(recipefile), expected_status) - @OETestID(1172) def test_devtool_update_recipe_git(self): # Check preconditions testrecipe = 'mtd-utils' @@ -863,7 +850,6 @@ class DevtoolUpdateTests(DevtoolBase): ('??', '%s/0002-Add-a-new-file.patch' % relpatchpath)] self._check_repo_status(os.path.dirname(recipefile), expected_status) - @OETestID(1170) def test_devtool_update_recipe_append(self): # Check preconditions testrecipe = 'mdadm' @@ -932,7 +918,6 @@ class DevtoolUpdateTests(DevtoolBase): self.assertEqual(expectedlines, f.readlines()) # Deleting isn't expected to work under these circumstances - @OETestID(1171) def test_devtool_update_recipe_append_git(self): # Check preconditions testrecipe = 'mtd-utils' @@ -1023,7 +1008,6 @@ class DevtoolUpdateTests(DevtoolBase): self.assertEqual(expectedlines, set(f.readlines())) # Deleting isn't expected to work under these circumstances - @OETestID(1370) def test_devtool_update_recipe_local_files(self): """Check that local source files are copied over instead of patched""" testrecipe = 'makedevs' @@ -1055,7 +1039,6 @@ class DevtoolUpdateTests(DevtoolBase): ('??', '.*/makedevs/0001-Add-new-file.patch$')] self._check_repo_status(os.path.dirname(recipefile), expected_status) - @OETestID(1371) def test_devtool_update_recipe_local_files_2(self): """Check local source files support when oe-local-files is in Git""" testrecipe = 'devtool-test-local' @@ -1100,7 +1083,6 @@ class DevtoolUpdateTests(DevtoolBase): ('??', '.*/0001-Add-new-file.patch$')] self._check_repo_status(os.path.dirname(recipefile), expected_status) - @OETestID(1627) def test_devtool_update_recipe_local_files_3(self): # First, modify the recipe testrecipe = 'devtool-test-localonly' @@ -1120,7 +1102,6 @@ class DevtoolUpdateTests(DevtoolBase): expected_status = [(' M', '.*/%s/file2$' % testrecipe)] self._check_repo_status(os.path.dirname(recipefile), expected_status) - @OETestID(1629) def test_devtool_update_recipe_local_patch_gz(self): # First, modify the recipe testrecipe = 'devtool-test-patch-gz' @@ -1148,7 +1129,6 @@ class DevtoolUpdateTests(DevtoolBase): if 'gzip compressed data' not in result.output: self.fail('New patch file is not gzipped - file reports:\n%s' % result.output) - @OETestID(1628) def test_devtool_update_recipe_local_files_subdir(self): # Try devtool update-recipe on a recipe that has a file with subdir= set in # SRC_URI such that it overwrites a file that was in an archive that @@ -1177,7 +1157,6 @@ class DevtoolUpdateTests(DevtoolBase): class DevtoolExtractTests(DevtoolBase): - @OETestID(1163) def test_devtool_extract(self): tempdir = tempfile.mkdtemp(prefix='devtoolqa') # Try devtool extract @@ -1188,7 +1167,6 @@ class DevtoolExtractTests(DevtoolBase): self.assertExists(os.path.join(tempdir, 'Makefile.am'), 'Extracted source could not be found') self._check_src_repo(tempdir) - @OETestID(1379) def test_devtool_extract_virtual(self): tempdir = tempfile.mkdtemp(prefix='devtoolqa') # Try devtool extract @@ -1199,7 +1177,6 @@ class DevtoolExtractTests(DevtoolBase): self.assertExists(os.path.join(tempdir, 'Makefile.am'), 'Extracted source could not be found') self._check_src_repo(tempdir) - @OETestID(1168) def test_devtool_reset_all(self): tempdir = tempfile.mkdtemp(prefix='devtoolqa') self.track_for_cleanup(tempdir) @@ -1226,7 +1203,6 @@ class DevtoolExtractTests(DevtoolBase): matches2 = glob.glob(stampprefix2 + '*') self.assertFalse(matches2, 'Stamp files exist for recipe %s that should have been cleaned' % testrecipe2) - @OETestID(1272) def test_devtool_deploy_target(self): # NOTE: Whilst this test would seemingly be better placed as a runtime test, # unfortunately the runtime tests run under bitbake and you can't run @@ -1312,7 +1288,6 @@ class DevtoolExtractTests(DevtoolBase): result = runCmd('ssh %s root@%s %s' % (sshargs, qemu.ip, testcommand), ignore_status=True) self.assertNotEqual(result, 0, 'undeploy-target did not remove command as it should have') - @OETestID(1366) def test_devtool_build_image(self): """Test devtool build-image plugin""" # Check preconditions @@ -1348,7 +1323,6 @@ class DevtoolExtractTests(DevtoolBase): class DevtoolUpgradeTests(DevtoolBase): - @OETestID(1367) def test_devtool_upgrade(self): # Check preconditions self.assertTrue(not os.path.exists(self.workspacedir), 'This test cannot be run with a workspace directory under the build directory') @@ -1393,7 +1367,6 @@ class DevtoolUpgradeTests(DevtoolBase): self.assertNotIn(recipe, result.output) self.assertNotExists(os.path.join(self.workspacedir, 'recipes', recipe), 'Recipe directory should not exist after resetting') - @OETestID(1433) def test_devtool_upgrade_git(self): # Check preconditions self.assertTrue(not os.path.exists(self.workspacedir), 'This test cannot be run with a workspace directory under the build directory') @@ -1430,7 +1403,6 @@ class DevtoolUpgradeTests(DevtoolBase): self.assertNotIn(recipe, result.output) self.assertNotExists(os.path.join(self.workspacedir, 'recipes', recipe), 'Recipe directory should not exist after resetting') - @OETestID(1352) def test_devtool_layer_plugins(self): """Test that devtool can use plugins from other layers. @@ -1456,7 +1428,6 @@ class DevtoolUpgradeTests(DevtoolBase): shutil.copy(srcfile, dstfile) self.track_for_cleanup(dstfile) - @OETestID(1625) def test_devtool_load_plugin(self): """Test that devtool loads only the first found plugin in BBPATH.""" @@ -1524,7 +1495,6 @@ class DevtoolUpgradeTests(DevtoolBase): self.assertExists(os.path.join(olddir, patchfn), 'Original patch file does not exist') return recipe, oldrecipefile, recipedir, olddir, newversion, patchfn - @OETestID(1623) def test_devtool_finish_upgrade_origlayer(self): recipe, oldrecipefile, recipedir, olddir, newversion, patchfn = self._setup_test_devtool_finish_upgrade() # Ensure the recipe is where we think it should be (so that cleanup doesn't trash things) @@ -1543,7 +1513,6 @@ class DevtoolUpgradeTests(DevtoolBase): self.assertExists(os.path.join(newdir, patchfn), 'Patch file should have been copied into new directory but wasn\'t') self.assertExists(os.path.join(newdir, '0002-Add-a-comment-to-the-code.patch'), 'New patch file should have been created but wasn\'t') - @OETestID(1624) def test_devtool_finish_upgrade_otherlayer(self): recipe, oldrecipefile, recipedir, olddir, newversion, patchfn = self._setup_test_devtool_finish_upgrade() # Ensure the recipe is where we think it should be (so that cleanup doesn't trash things) @@ -1599,7 +1568,6 @@ class DevtoolUpgradeTests(DevtoolBase): self.fail('Unable to find recipe files directory for %s' % recipe) return recipe, oldrecipefile, recipedir, filesdir - @OETestID(1621) def test_devtool_finish_modify_origlayer(self): recipe, oldrecipefile, recipedir, filesdir = self._setup_test_devtool_finish_modify() # Ensure the recipe is where we think it should be (so that cleanup doesn't trash things) @@ -1614,7 +1582,6 @@ class DevtoolUpgradeTests(DevtoolBase): ('??', '.*/.*-Add-a-comment-to-the-code.patch$')] self._check_repo_status(recipedir, expected_status) - @OETestID(1622) def test_devtool_finish_modify_otherlayer(self): recipe, oldrecipefile, recipedir, filesdir = self._setup_test_devtool_finish_modify() # Ensure the recipe is where we think it should be (so that cleanup doesn't trash things) @@ -1647,7 +1614,6 @@ class DevtoolUpgradeTests(DevtoolBase): if files: self.fail('Unexpected file(s) copied next to bbappend: %s' % ', '.join(files)) - @OETestID(1626) def test_devtool_rename(self): # Check preconditions self.assertTrue(not os.path.exists(self.workspacedir), 'This test cannot be run with a workspace directory under the build directory') @@ -1708,7 +1674,6 @@ class DevtoolUpgradeTests(DevtoolBase): checkvars['SRC_URI'] = url self._test_recipe_contents(newrecipefile, checkvars, []) - @OETestID(1577) def test_devtool_virtual_kernel_modify(self): """ Summary: The purpose of this test case is to verify that diff --git a/poky/meta/lib/oeqa/selftest/cases/distrodata.py b/poky/meta/lib/oeqa/selftest/cases/distrodata.py index 0b454714e..68ba55648 100644 --- a/poky/meta/lib/oeqa/selftest/cases/distrodata.py +++ b/poky/meta/lib/oeqa/selftest/cases/distrodata.py @@ -1,14 +1,16 @@ +# +# SPDX-License-Identifier: MIT +# + from oeqa.selftest.case import OESelftestTestCase from oeqa.utils.commands import runCmd, bitbake, get_bb_var, get_bb_vars from oeqa.utils.decorators import testcase from oeqa.utils.ftools import write_file -from oeqa.core.decorator.oeid import OETestID import oe.recipeutils class Distrodata(OESelftestTestCase): - @OETestID(1902) def test_checkpkg(self): """ Summary: Test that upstream version checks do not regress diff --git a/poky/meta/lib/oeqa/selftest/cases/eSDK.py b/poky/meta/lib/oeqa/selftest/cases/eSDK.py index 8eb6ec660..862849af3 100644 --- a/poky/meta/lib/oeqa/selftest/cases/eSDK.py +++ b/poky/meta/lib/oeqa/selftest/cases/eSDK.py @@ -1,9 +1,12 @@ +# +# SPDX-License-Identifier: MIT +# + import tempfile import shutil import os import glob import time -from oeqa.core.decorator.oeid import OETestID from oeqa.selftest.case import OESelftestTestCase from oeqa.utils.commands import runCmd, bitbake, get_bb_var, get_bb_vars @@ -104,14 +107,12 @@ SSTATE_MIRRORS = "file://.* file://%s/PATH" cls.tmpdirobj.cleanup() super().tearDownClass() - @OETestID(1602) def test_install_libraries_headers(self): pn_sstate = 'bc' bitbake(pn_sstate) cmd = "devtool sdk-install %s " % pn_sstate oeSDKExtSelfTest.run_esdk_cmd(self.env_eSDK, self.tmpdir_eSDKQA, cmd) - @OETestID(1603) def test_image_generation_binary_feeds(self): image = 'core-image-minimal' cmd = "devtool build-image %s" % image diff --git a/poky/meta/lib/oeqa/selftest/cases/efibootpartition.py b/poky/meta/lib/oeqa/selftest/cases/efibootpartition.py index c6f39d5b1..a61cf9bcb 100644 --- a/poky/meta/lib/oeqa/selftest/cases/efibootpartition.py +++ b/poky/meta/lib/oeqa/selftest/cases/efibootpartition.py @@ -2,6 +2,8 @@ # # Copyright (c) 2017 Wind River Systems, Inc. # +# SPDX-License-Identifier: MIT +# import re diff --git a/poky/meta/lib/oeqa/selftest/cases/fetch.py b/poky/meta/lib/oeqa/selftest/cases/fetch.py index 4acc8cdcc..76cbadf2f 100644 --- a/poky/meta/lib/oeqa/selftest/cases/fetch.py +++ b/poky/meta/lib/oeqa/selftest/cases/fetch.py @@ -1,10 +1,12 @@ +# +# SPDX-License-Identifier: MIT +# + import oe.path from oeqa.selftest.case import OESelftestTestCase from oeqa.utils.commands import bitbake -from oeqa.core.decorator.oeid import OETestID class Fetch(OESelftestTestCase): - @OETestID(1058) def test_git_mirrors(self): """ Verify that the git fetcher will fall back to the HTTP mirrors. The diff --git a/poky/meta/lib/oeqa/selftest/cases/gotoolchain.py b/poky/meta/lib/oeqa/selftest/cases/gotoolchain.py index 1e23257f4..3119520f0 100644 --- a/poky/meta/lib/oeqa/selftest/cases/gotoolchain.py +++ b/poky/meta/lib/oeqa/selftest/cases/gotoolchain.py @@ -1,3 +1,7 @@ +# +# SPDX-License-Identifier: MIT +# + import glob import os import shutil diff --git a/poky/meta/lib/oeqa/selftest/cases/image_typedep.py b/poky/meta/lib/oeqa/selftest/cases/image_typedep.py index 932c7f883..52e1080f1 100644 --- a/poky/meta/lib/oeqa/selftest/cases/image_typedep.py +++ b/poky/meta/lib/oeqa/selftest/cases/image_typedep.py @@ -1,14 +1,16 @@ +# +# SPDX-License-Identifier: MIT +# + import os from oeqa.selftest.case import OESelftestTestCase from oeqa.utils.commands import bitbake -from oeqa.core.decorator.oeid import OETestID class ImageTypeDepTests(OESelftestTestCase): # Verify that when specifying a IMAGE_TYPEDEP_ of the form "foo.bar" that # the conversion type bar gets added as a dep as well - @OETestID(1633) def test_conversion_typedep_added(self): self.write_recipeinc('emptytest', """ diff --git a/poky/meta/lib/oeqa/selftest/cases/imagefeatures.py b/poky/meta/lib/oeqa/selftest/cases/imagefeatures.py index aed63e547..afc629f29 100644 --- a/poky/meta/lib/oeqa/selftest/cases/imagefeatures.py +++ b/poky/meta/lib/oeqa/selftest/cases/imagefeatures.py @@ -1,6 +1,9 @@ +# +# SPDX-License-Identifier: MIT +# + from oeqa.selftest.case import OESelftestTestCase from oeqa.utils.commands import runCmd, bitbake, get_bb_var, runqemu -from oeqa.core.decorator.oeid import OETestID from oeqa.utils.sshcontrol import SSHControl import os import json @@ -10,7 +13,6 @@ class ImageFeatures(OESelftestTestCase): test_user = 'tester' root_user = 'root' - @OETestID(1107) def test_non_root_user_can_connect_via_ssh_without_password(self): """ Summary: Check if non root user can connect via ssh without password @@ -36,7 +38,6 @@ class ImageFeatures(OESelftestTestCase): status, output = ssh.run("true") self.assertEqual(status, 0, 'ssh to user %s failed with %s' % (user, output)) - @OETestID(1115) def test_all_users_can_connect_via_ssh_without_password(self): """ Summary: Check if all users can connect via ssh without password @@ -66,7 +67,6 @@ class ImageFeatures(OESelftestTestCase): self.assertEqual(status, 0, 'ssh to user tester failed with %s' % output) - @OETestID(1116) def test_clutter_image_can_be_built(self): """ Summary: Check if clutter image can be built @@ -79,7 +79,6 @@ class ImageFeatures(OESelftestTestCase): # Build a core-image-clutter bitbake('core-image-clutter') - @OETestID(1117) def test_wayland_support_in_image(self): """ Summary: Check Wayland support in image @@ -97,7 +96,6 @@ class ImageFeatures(OESelftestTestCase): # Build a core-image-weston bitbake('core-image-weston') - @OETestID(1497) def test_bmap(self): """ Summary: Check bmap support @@ -131,7 +129,6 @@ class ImageFeatures(OESelftestTestCase): # check if the resulting gzip is valid self.assertTrue(runCmd('gzip -t %s' % gzip_path)) - @OETestID(1903) def test_hypervisor_fmts(self): """ Summary: Check various hypervisor formats @@ -166,7 +163,6 @@ class ImageFeatures(OESelftestTestCase): native_sysroot=sysroot) self.assertTrue(json.loads(result.output).get('format') == itype) - @OETestID(1905) def test_long_chain_conversion(self): """ Summary: Check for chaining many CONVERSION_CMDs together @@ -198,7 +194,6 @@ class ImageFeatures(OESelftestTestCase): self.assertTrue(runCmd('cd %s;sha256sum -c %s.%s.sha256sum' % (deploy_dir_image, link_name, conv))) - @OETestID(1904) def test_image_fstypes(self): """ Summary: Check if image of supported image fstypes can be built diff --git a/poky/meta/lib/oeqa/selftest/cases/layerappend.py b/poky/meta/lib/oeqa/selftest/cases/layerappend.py index 2fd5cdb0c..05e9426fc 100644 --- a/poky/meta/lib/oeqa/selftest/cases/layerappend.py +++ b/poky/meta/lib/oeqa/selftest/cases/layerappend.py @@ -1,9 +1,12 @@ +# +# SPDX-License-Identifier: MIT +# + import os from oeqa.selftest.case import OESelftestTestCase from oeqa.utils.commands import runCmd, bitbake, get_bb_var import oeqa.utils.ftools as ftools -from oeqa.core.decorator.oeid import OETestID class LayerAppendTests(OESelftestTestCase): layerconf = """ @@ -49,7 +52,6 @@ SRC_URI_append = " file://appendtest.txt" ftools.remove_from_file(self.builddir + "/conf/bblayers.conf", self.layerappend) super(LayerAppendTests, self).tearDownLocal() - @OETestID(1196) def test_layer_appends(self): corebase = get_bb_var("COREBASE") diff --git a/poky/meta/lib/oeqa/selftest/cases/liboe.py b/poky/meta/lib/oeqa/selftest/cases/liboe.py index e84609246..afe8f8809 100644 --- a/poky/meta/lib/oeqa/selftest/cases/liboe.py +++ b/poky/meta/lib/oeqa/selftest/cases/liboe.py @@ -1,5 +1,8 @@ +# +# SPDX-License-Identifier: MIT +# + from oeqa.selftest.case import OESelftestTestCase -from oeqa.core.decorator.oeid import OETestID from oeqa.utils.commands import get_bb_var, get_bb_vars, bitbake, runCmd import oe.path import os @@ -11,7 +14,6 @@ class LibOE(OESelftestTestCase): super(LibOE, cls).setUpClass() cls.tmp_dir = get_bb_var('TMPDIR') - @OETestID(1635) def test_copy_tree_special(self): """ Summary: oe.path.copytree() should copy files with special character @@ -37,7 +39,6 @@ class LibOE(OESelftestTestCase): oe.path.remove(testloc) - @OETestID(1636) def test_copy_tree_xattr(self): """ Summary: oe.path.copytree() should preserve xattr on copied files @@ -72,7 +73,6 @@ class LibOE(OESelftestTestCase): oe.path.remove(testloc) - @OETestID(1634) def test_copy_hardlink_tree_count(self): """ Summary: oe.path.copyhardlinktree() shouldn't miss out files diff --git a/poky/meta/lib/oeqa/selftest/cases/lic_checksum.py b/poky/meta/lib/oeqa/selftest/cases/lic_checksum.py index f992b3736..bae935d69 100644 --- a/poky/meta/lib/oeqa/selftest/cases/lic_checksum.py +++ b/poky/meta/lib/oeqa/selftest/cases/lic_checksum.py @@ -1,16 +1,18 @@ +# +# SPDX-License-Identifier: MIT +# + import os import tempfile from oeqa.selftest.case import OESelftestTestCase from oeqa.utils.commands import bitbake from oeqa.utils import CommandError -from oeqa.core.decorator.oeid import OETestID class LicenseTests(OESelftestTestCase): # Verify that changing a license file that has an absolute path causes # the license qa to fail due to a mismatched md5sum. - @OETestID(1197) def test_nonmatching_checksum(self): bitbake_cmd = '-c populate_lic emptytest' error_msg = 'emptytest: The new md5 checksum is 8d777f385d3dfec8815d20f7496026dc' diff --git a/poky/meta/lib/oeqa/selftest/cases/manifest.py b/poky/meta/lib/oeqa/selftest/cases/manifest.py index 146071934..c0b25ab5d 100644 --- a/poky/meta/lib/oeqa/selftest/cases/manifest.py +++ b/poky/meta/lib/oeqa/selftest/cases/manifest.py @@ -1,8 +1,11 @@ +# +# SPDX-License-Identifier: MIT +# + import os from oeqa.selftest.case import OESelftestTestCase from oeqa.utils.commands import get_bb_var, get_bb_vars, bitbake -from oeqa.core.decorator.oeid import OETestID class ManifestEntry: '''A manifest item of a collection able to list missing packages''' @@ -59,7 +62,6 @@ class VerifyManifest(OESelftestTestCase): self.skipTest("{}: Cannot setup testing scenario"\ .format(self.classname)) - @OETestID(1380) def test_SDK_manifest_entries(self): '''Verifying the SDK manifest entries exist, this may take a build''' @@ -126,7 +128,6 @@ class VerifyManifest(OESelftestTestCase): self.logger.info(msg) self.fail(logmsg) - @OETestID(1381) def test_image_manifest_entries(self): '''Verifying the image manifest entries exist''' diff --git a/poky/meta/lib/oeqa/selftest/cases/meta_ide.py b/poky/meta/lib/oeqa/selftest/cases/meta_ide.py index 5df9d3ed9..f47bc7091 100644 --- a/poky/meta/lib/oeqa/selftest/cases/meta_ide.py +++ b/poky/meta/lib/oeqa/selftest/cases/meta_ide.py @@ -1,7 +1,10 @@ +# +# SPDX-License-Identifier: MIT +# + from oeqa.selftest.case import OESelftestTestCase from oeqa.sdk.utils.sdkbuildproject import SDKBuildProject from oeqa.utils.commands import bitbake, get_bb_vars, runCmd -from oeqa.core.decorator.oeid import OETestID import tempfile import shutil @@ -23,18 +26,15 @@ class MetaIDE(OESelftestTestCase): shutil.rmtree(cls.tmpdir_metaideQA, ignore_errors=True) super(MetaIDE, cls).tearDownClass() - @OETestID(1982) def test_meta_ide_had_installed_meta_ide_support(self): self.assertExists(self.environment_script_path) - @OETestID(1983) def test_meta_ide_can_compile_c_program(self): runCmd('cp %s/test.c %s' % (self.tc.files_dir, self.tmpdir_metaideQA)) runCmd("cd %s; . %s; $CC test.c -lm" % (self.tmpdir_metaideQA, self.environment_script_path)) compiled_file = '%s/a.out' % self.tmpdir_metaideQA self.assertExists(compiled_file) - @OETestID(1984) def test_meta_ide_can_build_cpio_project(self): dl_dir = self.td.get('DL_DIR', None) self.project = SDKBuildProject(self.tmpdir_metaideQA + "/cpio/", self.environment_script_path, diff --git a/poky/meta/lib/oeqa/selftest/cases/multiconfig.py b/poky/meta/lib/oeqa/selftest/cases/multiconfig.py index 3c36f6e5d..d21bf0a41 100644 --- a/poky/meta/lib/oeqa/selftest/cases/multiconfig.py +++ b/poky/meta/lib/oeqa/selftest/cases/multiconfig.py @@ -1,3 +1,7 @@ +# +# SPDX-License-Identifier: MIT +# + import os from oeqa.selftest.case import OESelftestTestCase from oeqa.utils.commands import bitbake diff --git a/poky/meta/lib/oeqa/selftest/cases/oelib/buildhistory.py b/poky/meta/lib/oeqa/selftest/cases/oelib/buildhistory.py index 08675fd82..6d8082765 100644 --- a/poky/meta/lib/oeqa/selftest/cases/oelib/buildhistory.py +++ b/poky/meta/lib/oeqa/selftest/cases/oelib/buildhistory.py @@ -1,8 +1,11 @@ +# +# SPDX-License-Identifier: MIT +# + import os from oeqa.selftest.case import OESelftestTestCase import tempfile from oeqa.utils.commands import get_bb_var -from oeqa.core.decorator.oeid import OETestID class TestBlobParsing(OESelftestTestCase): @@ -40,7 +43,6 @@ class TestBlobParsing(OESelftestTestCase): self.repo.git.add("--all") self.repo.git.commit(message=msg) - @OETestID(1859) def test_blob_to_dict(self): """ Test convertion of git blobs to dictionary @@ -53,7 +55,6 @@ class TestBlobParsing(OESelftestTestCase): self.assertEqual(valuesmap, blob_to_dict(blob), "commit was not translated correctly to dictionary") - @OETestID(1860) def test_compare_dict_blobs(self): """ Test comparisson of dictionaries extracted from git blobs @@ -74,7 +75,6 @@ class TestBlobParsing(OESelftestTestCase): var_changes = { x.fieldname : (x.oldvalue, x.newvalue) for x in change_records} self.assertEqual(changesmap, var_changes, "Changes not reported correctly") - @OETestID(1861) def test_compare_dict_blobs_default(self): """ Test default values for comparisson of git blob dictionaries diff --git a/poky/meta/lib/oeqa/selftest/cases/oelib/elf.py b/poky/meta/lib/oeqa/selftest/cases/oelib/elf.py index 15c03f460..d0a28090f 100644 --- a/poky/meta/lib/oeqa/selftest/cases/oelib/elf.py +++ b/poky/meta/lib/oeqa/selftest/cases/oelib/elf.py @@ -1,3 +1,7 @@ +# +# SPDX-License-Identifier: MIT +# + from unittest.case import TestCase import oe.qa diff --git a/poky/meta/lib/oeqa/selftest/cases/oelib/license.py b/poky/meta/lib/oeqa/selftest/cases/oelib/license.py index d7f91fb2f..6ebbee589 100644 --- a/poky/meta/lib/oeqa/selftest/cases/oelib/license.py +++ b/poky/meta/lib/oeqa/selftest/cases/oelib/license.py @@ -1,3 +1,7 @@ +# +# SPDX-License-Identifier: MIT +# + from unittest.case import TestCase import oe.license diff --git a/poky/meta/lib/oeqa/selftest/cases/oelib/path.py b/poky/meta/lib/oeqa/selftest/cases/oelib/path.py index e0eb8134a..a1cfa08c0 100644 --- a/poky/meta/lib/oeqa/selftest/cases/oelib/path.py +++ b/poky/meta/lib/oeqa/selftest/cases/oelib/path.py @@ -1,3 +1,7 @@ +# +# SPDX-License-Identifier: MIT +# + from unittest.case import TestCase import oe, oe.path import tempfile diff --git a/poky/meta/lib/oeqa/selftest/cases/oelib/types.py b/poky/meta/lib/oeqa/selftest/cases/oelib/types.py index 6b53aa64e..7eb49e6f9 100644 --- a/poky/meta/lib/oeqa/selftest/cases/oelib/types.py +++ b/poky/meta/lib/oeqa/selftest/cases/oelib/types.py @@ -1,3 +1,7 @@ +# +# SPDX-License-Identifier: MIT +# + from unittest.case import TestCase from oe.maketype import create diff --git a/poky/meta/lib/oeqa/selftest/cases/oelib/utils.py b/poky/meta/lib/oeqa/selftest/cases/oelib/utils.py index 789c6f78d..a7214beb4 100644 --- a/poky/meta/lib/oeqa/selftest/cases/oelib/utils.py +++ b/poky/meta/lib/oeqa/selftest/cases/oelib/utils.py @@ -1,3 +1,7 @@ +# +# SPDX-License-Identifier: MIT +# + import sys from unittest.case import TestCase from contextlib import contextmanager diff --git a/poky/meta/lib/oeqa/selftest/cases/oescripts.py b/poky/meta/lib/oeqa/selftest/cases/oescripts.py index bcdc2d5ac..217afe377 100644 --- a/poky/meta/lib/oeqa/selftest/cases/oescripts.py +++ b/poky/meta/lib/oeqa/selftest/cases/oescripts.py @@ -1,11 +1,14 @@ +# +# SPDX-License-Identifier: MIT +# + +import os from oeqa.selftest.case import OESelftestTestCase from oeqa.selftest.cases.buildhistory import BuildhistoryBase from oeqa.utils.commands import Command, runCmd, bitbake, get_bb_var, get_test_layer -from oeqa.core.decorator.oeid import OETestID class BuildhistoryDiffTests(BuildhistoryBase): - @OETestID(295) def test_buildhistory_diff(self): target = 'xcursor-transparent-theme' self.run_buildhistory_operation(target, target_config="PR = \"r1\"", change_bh_location=True) @@ -26,3 +29,36 @@ class BuildhistoryDiffTests(BuildhistoryBase): self.fail('Unexpected line:\n%s\nExpected line endings:\n %s' % (line, '\n '.join(expected_endlines))) if expected_endlines: self.fail('Missing expected line endings:\n %s' % '\n '.join(expected_endlines)) + +class OEScriptTests(OESelftestTestCase): + + @classmethod + def setUpClass(cls): + super(OEScriptTests, cls).setUpClass() + try: + import cairo + except ImportError: + cls.skipTest('Python module cairo is not present') + bitbake("core-image-minimal -c rootfs -f") + cls.tmpdir = get_bb_var('TMPDIR') + cls.buildstats = cls.tmpdir + "/buildstats/" + sorted(os.listdir(cls.tmpdir + "/buildstats"))[-1] + + scripts_dir = os.path.join(get_bb_var('COREBASE'), 'scripts') + +class OEPybootchartguyTests(OEScriptTests): + + def test_pybootchartguy_help(self): + runCmd('%s/pybootchartgui/pybootchartgui.py --help' % self.scripts_dir) + + def test_pybootchartguy_to_generate_build_png_output(self): + runCmd('%s/pybootchartgui/pybootchartgui.py %s -o %s/charts -f png' % (self.scripts_dir, self.buildstats, self.tmpdir)) + self.assertTrue(os.path.exists(self.tmpdir + "/charts.png")) + + def test_pybootchartguy_to_generate_build_svg_output(self): + runCmd('%s/pybootchartgui/pybootchartgui.py %s -o %s/charts -f svg' % (self.scripts_dir, self.buildstats, self.tmpdir)) + self.assertTrue(os.path.exists(self.tmpdir + "/charts.svg")) + + def test_pybootchartguy_to_generate_build_pdf_output(self): + runCmd('%s/pybootchartgui/pybootchartgui.py %s -o %s/charts -f pdf' % (self.scripts_dir, self.buildstats, self.tmpdir)) + self.assertTrue(os.path.exists(self.tmpdir + "/charts.pdf")) + diff --git a/poky/meta/lib/oeqa/selftest/cases/package.py b/poky/meta/lib/oeqa/selftest/cases/package.py index 6596dabc3..7a0075382 100644 --- a/poky/meta/lib/oeqa/selftest/cases/package.py +++ b/poky/meta/lib/oeqa/selftest/cases/package.py @@ -1,5 +1,8 @@ +# +# SPDX-License-Identifier: MIT +# + from oeqa.selftest.case import OESelftestTestCase -from oeqa.core.decorator.oeid import OETestID from oeqa.utils.commands import bitbake, get_bb_vars, get_bb_var, runqemu import stat import subprocess, os @@ -36,7 +39,6 @@ class VersionOrdering(OESelftestTestCase): self.bindir = type(self).bindir self.libdir = type(self).libdir - @OETestID(1880) def test_dpkg(self): for ver1, ver2, sort in self.tests: op = { -1: "<<", 0: "=", 1: ">>" }[sort] @@ -53,7 +55,6 @@ class VersionOrdering(OESelftestTestCase): status = subprocess.call((oe.path.join(self.bindir, "dpkg"), "--compare-versions", ver1, op, ver2)) self.assertNotEqual(status, 0, "%s %s %s failed" % (ver1, op, ver2)) - @OETestID(1881) def test_opkg(self): for ver1, ver2, sort in self.tests: op = { -1: "<<", 0: "=", 1: ">>" }[sort] @@ -70,7 +71,6 @@ class VersionOrdering(OESelftestTestCase): status = subprocess.call((oe.path.join(self.bindir, "opkg"), "compare-versions", ver1, op, ver2)) self.assertNotEqual(status, 0, "%s %s %s failed" % (ver1, op, ver2)) - @OETestID(1882) def test_rpm(self): # Need to tell the Python bindings where to find its configuration env = os.environ.copy() diff --git a/poky/meta/lib/oeqa/selftest/cases/pkgdata.py b/poky/meta/lib/oeqa/selftest/cases/pkgdata.py index aa05f40d6..833a1803b 100644 --- a/poky/meta/lib/oeqa/selftest/cases/pkgdata.py +++ b/poky/meta/lib/oeqa/selftest/cases/pkgdata.py @@ -1,10 +1,13 @@ +# +# SPDX-License-Identifier: MIT +# + import os import tempfile import fnmatch from oeqa.selftest.case import OESelftestTestCase from oeqa.utils.commands import runCmd, bitbake, get_bb_var, get_bb_vars -from oeqa.core.decorator.oeid import OETestID class OePkgdataUtilTests(OESelftestTestCase): @@ -16,7 +19,6 @@ class OePkgdataUtilTests(OESelftestTestCase): bitbake('target-sdk-provides-dummy -c clean') bitbake('busybox zlib m4') - @OETestID(1203) def test_lookup_pkg(self): # Forward tests result = runCmd('oe-pkgdata-util lookup-pkg "zlib busybox"') @@ -35,7 +37,6 @@ class OePkgdataUtilTests(OESelftestTestCase): self.assertEqual(result.status, 1, "Status different than 1. output: %s" % result.output) self.assertEqual(result.output, 'ERROR: The following packages could not be found: nonexistentpkg') - @OETestID(1205) def test_read_value(self): result = runCmd('oe-pkgdata-util read-value PN libz1') self.assertEqual(result.output, 'zlib') @@ -45,7 +46,6 @@ class OePkgdataUtilTests(OESelftestTestCase): pkgsize = int(result.output.strip()) self.assertGreater(pkgsize, 1, "Size should be greater than 1. %s" % result.output) - @OETestID(1198) def test_find_path(self): result = runCmd('oe-pkgdata-util find-path /lib/libz.so.1') self.assertEqual(result.output, 'zlib: /lib/libz.so.1') @@ -55,7 +55,6 @@ class OePkgdataUtilTests(OESelftestTestCase): self.assertEqual(result.status, 1, "Status different than 1. output: %s" % result.output) self.assertEqual(result.output, 'ERROR: Unable to find any package producing path /not/exist') - @OETestID(1204) def test_lookup_recipe(self): result = runCmd('oe-pkgdata-util lookup-recipe "libz-staticdev busybox"') self.assertEqual(result.output, 'zlib\nbusybox') @@ -65,7 +64,6 @@ class OePkgdataUtilTests(OESelftestTestCase): self.assertEqual(result.status, 1, "Status different than 1. output: %s" % result.output) self.assertEqual(result.output, 'ERROR: The following packages could not be found: nonexistentpkg') - @OETestID(1202) def test_list_pkgs(self): # No arguments result = runCmd('oe-pkgdata-util list-pkgs') @@ -109,7 +107,6 @@ class OePkgdataUtilTests(OESelftestTestCase): pkglist = sorted(result.output.split()) self.assertEqual(pkglist, ['libz-dbg', 'libz-dev', 'libz-doc'], "Packages listed: %s" % result.output) - @OETestID(1201) def test_list_pkg_files(self): def splitoutput(output): files = {} @@ -199,7 +196,6 @@ class OePkgdataUtilTests(OESelftestTestCase): self.assertIn(os.path.join(mandir, 'man3/zlib.3'), files['libz-doc']) self.assertIn(os.path.join(libdir, 'libz.a'), files['libz-staticdev']) - @OETestID(1200) def test_glob(self): tempdir = tempfile.mkdtemp(prefix='pkgdataqa') self.track_for_cleanup(tempdir) @@ -219,7 +215,6 @@ class OePkgdataUtilTests(OESelftestTestCase): self.assertNotIn('libz-dev', resultlist) self.assertNotIn('libz-dbg', resultlist) - @OETestID(1206) def test_specify_pkgdatadir(self): result = runCmd('oe-pkgdata-util -p %s lookup-pkg zlib' % get_bb_var('PKGDATA_DIR')) self.assertEqual(result.output, 'libz1') diff --git a/poky/meta/lib/oeqa/selftest/cases/prservice.py b/poky/meta/lib/oeqa/selftest/cases/prservice.py index 796ad4f5f..fe1f24ea6 100644 --- a/poky/meta/lib/oeqa/selftest/cases/prservice.py +++ b/poky/meta/lib/oeqa/selftest/cases/prservice.py @@ -1,3 +1,7 @@ +# +# SPDX-License-Identifier: MIT +# + import os import re import shutil @@ -6,7 +10,6 @@ import datetime import oeqa.utils.ftools as ftools from oeqa.selftest.case import OESelftestTestCase from oeqa.utils.commands import runCmd, bitbake, get_bb_var -from oeqa.core.decorator.oeid import OETestID from oeqa.utils.network import get_free_port class BitbakePrTests(OESelftestTestCase): @@ -88,39 +91,30 @@ class BitbakePrTests(OESelftestTestCase): self.assertTrue(pr_2 - pr_1 == 1, "Step between same pkg. revision is greater than 1") - @OETestID(930) def test_import_export_replace_db(self): self.run_test_pr_export_import('m4') - @OETestID(931) def test_import_export_override_db(self): self.run_test_pr_export_import('m4', replace_current_db=False) - @OETestID(932) def test_pr_service_rpm_arch_dep(self): self.run_test_pr_service('m4', 'rpm', 'do_package') - @OETestID(934) def test_pr_service_deb_arch_dep(self): self.run_test_pr_service('m4', 'deb', 'do_package') - @OETestID(933) def test_pr_service_ipk_arch_dep(self): self.run_test_pr_service('m4', 'ipk', 'do_package') - @OETestID(935) def test_pr_service_rpm_arch_indep(self): self.run_test_pr_service('xcursor-transparent-theme', 'rpm', 'do_package') - @OETestID(937) def test_pr_service_deb_arch_indep(self): self.run_test_pr_service('xcursor-transparent-theme', 'deb', 'do_package') - @OETestID(936) def test_pr_service_ipk_arch_indep(self): self.run_test_pr_service('xcursor-transparent-theme', 'ipk', 'do_package') - @OETestID(1419) def test_stopping_prservice_message(self): port = get_free_port() diff --git a/poky/meta/lib/oeqa/selftest/cases/recipetool.py b/poky/meta/lib/oeqa/selftest/cases/recipetool.py index 06f980e1b..f1cb37b53 100644 --- a/poky/meta/lib/oeqa/selftest/cases/recipetool.py +++ b/poky/meta/lib/oeqa/selftest/cases/recipetool.py @@ -1,3 +1,7 @@ +# +# SPDX-License-Identifier: MIT +# + import os import shutil import tempfile @@ -5,7 +9,6 @@ import urllib.parse from oeqa.utils.commands import runCmd, bitbake, get_bb_var from oeqa.utils.commands import get_bb_vars, create_temp_layer -from oeqa.core.decorator.oeid import OETestID from oeqa.selftest.cases import devtool templayerdir = None @@ -89,7 +92,6 @@ class RecipetoolTests(RecipetoolBase): for errorstr in checkerror: self.assertIn(errorstr, result.output) - @OETestID(1177) def test_recipetool_appendfile_basic(self): # Basic test expectedlines = ['FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"\n', @@ -97,14 +99,12 @@ class RecipetoolTests(RecipetoolBase): _, output = self._try_recipetool_appendfile('base-files', '/etc/motd', self.testfile, '', expectedlines, ['motd']) self.assertNotIn('WARNING: ', output) - @OETestID(1183) def test_recipetool_appendfile_invalid(self): # Test some commands that should error self._try_recipetool_appendfile_fail('/etc/passwd', self.testfile, ['ERROR: /etc/passwd cannot be handled by this tool', 'useradd', 'extrausers']) self._try_recipetool_appendfile_fail('/etc/timestamp', self.testfile, ['ERROR: /etc/timestamp cannot be handled by this tool']) self._try_recipetool_appendfile_fail('/dev/console', self.testfile, ['ERROR: /dev/console cannot be handled by this tool']) - @OETestID(1176) def test_recipetool_appendfile_alternatives(self): # Now try with a file we know should be an alternative # (this is very much a fake example, but one we know is reliably an alternative) @@ -128,7 +128,6 @@ class RecipetoolTests(RecipetoolBase): result = runCmd('diff -q %s %s' % (testfile2, copiedfile), ignore_status=True) self.assertNotEqual(result.status, 0, 'New file should have been copied but was not %s' % result.output) - @OETestID(1178) def test_recipetool_appendfile_binary(self): # Try appending a binary file # /bin/ls can be a symlink to /usr/bin/ls @@ -137,7 +136,6 @@ class RecipetoolTests(RecipetoolBase): self.assertIn('WARNING: ', result.output) self.assertIn('is a binary', result.output) - @OETestID(1173) def test_recipetool_appendfile_add(self): # Try arbitrary file add to a recipe expectedlines = ['FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"\n', @@ -166,7 +164,6 @@ class RecipetoolTests(RecipetoolBase): '}\n'] self._try_recipetool_appendfile('netbase', '/usr/share/scriptname', testfile2, '-r netbase', expectedlines, ['testfile', testfile2name]) - @OETestID(1174) def test_recipetool_appendfile_add_bindir(self): # Try arbitrary file add to a recipe, this time to a location such that should be installed as executable expectedlines = ['FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"\n', @@ -180,7 +177,6 @@ class RecipetoolTests(RecipetoolBase): _, output = self._try_recipetool_appendfile('netbase', '/usr/bin/selftest-recipetool-testbin', self.testfile, '-r netbase', expectedlines, ['testfile']) self.assertNotIn('WARNING: ', output) - @OETestID(1175) def test_recipetool_appendfile_add_machine(self): # Try arbitrary file add to a recipe, this time to a location such that should be installed as executable expectedlines = ['FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"\n', @@ -196,7 +192,6 @@ class RecipetoolTests(RecipetoolBase): _, output = self._try_recipetool_appendfile('netbase', '/usr/share/something', self.testfile, '-r netbase -m mymachine', expectedlines, ['mymachine/testfile']) self.assertNotIn('WARNING: ', output) - @OETestID(1184) def test_recipetool_appendfile_orig(self): # A file that's in SRC_URI and in do_install with the same name expectedlines = ['FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"\n', @@ -204,7 +199,6 @@ class RecipetoolTests(RecipetoolBase): _, output = self._try_recipetool_appendfile('selftest-recipetool-appendfile', '/usr/share/selftest-replaceme-orig', self.testfile, '', expectedlines, ['selftest-replaceme-orig']) self.assertNotIn('WARNING: ', output) - @OETestID(1191) def test_recipetool_appendfile_todir(self): # A file that's in SRC_URI and in do_install with destination directory rather than file expectedlines = ['FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"\n', @@ -212,7 +206,6 @@ class RecipetoolTests(RecipetoolBase): _, output = self._try_recipetool_appendfile('selftest-recipetool-appendfile', '/usr/share/selftest-replaceme-todir', self.testfile, '', expectedlines, ['selftest-replaceme-todir']) self.assertNotIn('WARNING: ', output) - @OETestID(1187) def test_recipetool_appendfile_renamed(self): # A file that's in SRC_URI with a different name to the destination file expectedlines = ['FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"\n', @@ -220,7 +213,6 @@ class RecipetoolTests(RecipetoolBase): _, output = self._try_recipetool_appendfile('selftest-recipetool-appendfile', '/usr/share/selftest-replaceme-renamed', self.testfile, '', expectedlines, ['file1']) self.assertNotIn('WARNING: ', output) - @OETestID(1190) def test_recipetool_appendfile_subdir(self): # A file that's in SRC_URI in a subdir expectedlines = ['FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"\n', @@ -234,7 +226,6 @@ class RecipetoolTests(RecipetoolBase): _, output = self._try_recipetool_appendfile('selftest-recipetool-appendfile', '/usr/share/selftest-replaceme-subdir', self.testfile, '', expectedlines, ['testfile']) self.assertNotIn('WARNING: ', output) - @OETestID(1189) def test_recipetool_appendfile_src_glob(self): # A file that's in SRC_URI as a glob expectedlines = ['FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"\n', @@ -248,7 +239,6 @@ class RecipetoolTests(RecipetoolBase): _, output = self._try_recipetool_appendfile('selftest-recipetool-appendfile', '/usr/share/selftest-replaceme-src-globfile', self.testfile, '', expectedlines, ['testfile']) self.assertNotIn('WARNING: ', output) - @OETestID(1181) def test_recipetool_appendfile_inst_glob(self): # A file that's in do_install as a glob expectedlines = ['FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"\n', @@ -256,7 +246,6 @@ class RecipetoolTests(RecipetoolBase): _, output = self._try_recipetool_appendfile('selftest-recipetool-appendfile', '/usr/share/selftest-replaceme-inst-globfile', self.testfile, '', expectedlines, ['selftest-replaceme-inst-globfile']) self.assertNotIn('WARNING: ', output) - @OETestID(1182) def test_recipetool_appendfile_inst_todir_glob(self): # A file that's in do_install as a glob with destination as a directory expectedlines = ['FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"\n', @@ -264,7 +253,6 @@ class RecipetoolTests(RecipetoolBase): _, output = self._try_recipetool_appendfile('selftest-recipetool-appendfile', '/usr/share/selftest-replaceme-inst-todir-globfile', self.testfile, '', expectedlines, ['selftest-replaceme-inst-todir-globfile']) self.assertNotIn('WARNING: ', output) - @OETestID(1185) def test_recipetool_appendfile_patch(self): # A file that's added by a patch in SRC_URI expectedlines = ['FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"\n', @@ -283,7 +271,6 @@ class RecipetoolTests(RecipetoolBase): else: self.fail('Patch warning not found in output:\n%s' % output) - @OETestID(1188) def test_recipetool_appendfile_script(self): # Now, a file that's in SRC_URI but installed by a script (so no mention in do_install) expectedlines = ['FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"\n', @@ -297,7 +284,6 @@ class RecipetoolTests(RecipetoolBase): _, output = self._try_recipetool_appendfile('selftest-recipetool-appendfile', '/usr/share/selftest-replaceme-scripted', self.testfile, '', expectedlines, ['testfile']) self.assertNotIn('WARNING: ', output) - @OETestID(1180) def test_recipetool_appendfile_inst_func(self): # A file that's installed from a function called by do_install expectedlines = ['FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"\n', @@ -305,7 +291,6 @@ class RecipetoolTests(RecipetoolBase): _, output = self._try_recipetool_appendfile('selftest-recipetool-appendfile', '/usr/share/selftest-replaceme-inst-func', self.testfile, '', expectedlines, ['selftest-replaceme-inst-func']) self.assertNotIn('WARNING: ', output) - @OETestID(1186) def test_recipetool_appendfile_postinstall(self): # A file that's created by a postinstall script (and explicitly mentioned in it) # First try without specifying recipe @@ -321,7 +306,6 @@ class RecipetoolTests(RecipetoolBase): '}\n'] _, output = self._try_recipetool_appendfile('selftest-recipetool-appendfile', '/usr/share/selftest-replaceme-postinst', self.testfile, '-r selftest-recipetool-appendfile', expectedlines, ['testfile']) - @OETestID(1179) def test_recipetool_appendfile_extlayer(self): # Try creating a bbappend in a layer that's not in bblayers.conf and has a different structure exttemplayerdir = os.path.join(self.tempdir, 'extlayer') @@ -337,7 +321,6 @@ class RecipetoolTests(RecipetoolBase): 'metadata/recipes/recipes-test/selftest-recipetool-appendfile/selftest-recipetool-appendfile/selftest-replaceme-orig'] self.assertEqual(sorted(createdfiles), sorted(expectedfiles)) - @OETestID(1192) def test_recipetool_appendfile_wildcard(self): def try_appendfile_wc(options): @@ -362,7 +345,6 @@ class RecipetoolTests(RecipetoolBase): filename = try_appendfile_wc('-w') self.assertEqual(filename, recipefn.split('_')[0] + '_%.bbappend') - @OETestID(1193) def test_recipetool_create(self): # Try adding a recipe tempsrc = os.path.join(self.tempdir, 'srctree') @@ -379,7 +361,6 @@ class RecipetoolTests(RecipetoolBase): checkvars['SRC_URI[sha256sum]'] = '2e6a401cac9024db2288297e3be1a8ab60e7401ba8e91225218aaf4a27e82a07' self._test_recipe_contents(recipefile, checkvars, []) - @OETestID(1194) def test_recipetool_create_git(self): if 'x11' not in get_bb_var('DISTRO_FEATURES'): self.skipTest('Test requires x11 as distro feature') @@ -402,7 +383,6 @@ class RecipetoolTests(RecipetoolBase): inherits = ['autotools', 'pkgconfig'] self._test_recipe_contents(recipefile, checkvars, inherits) - @OETestID(1392) def test_recipetool_create_simple(self): # Try adding a recipe temprecipe = os.path.join(self.tempdir, 'recipe') @@ -425,7 +405,6 @@ class RecipetoolTests(RecipetoolBase): inherits = ['autotools'] self._test_recipe_contents(os.path.join(temprecipe, dirlist[0]), checkvars, inherits) - @OETestID(1418) def test_recipetool_create_cmake(self): bitbake('-c packagedata gtk+') @@ -445,7 +424,6 @@ class RecipetoolTests(RecipetoolBase): inherits = ['cmake', 'python-dir', 'gettext', 'pkgconfig'] self._test_recipe_contents(recipefile, checkvars, inherits) - @OETestID(1638) def test_recipetool_create_github(self): # Basic test to see if github URL mangling works temprecipe = os.path.join(self.tempdir, 'recipe') @@ -460,7 +438,6 @@ class RecipetoolTests(RecipetoolBase): inherits = ['setuptools'] self._test_recipe_contents(recipefile, checkvars, inherits) - @OETestID(1639) def test_recipetool_create_github_tarball(self): # Basic test to ensure github URL mangling doesn't apply to release tarballs temprecipe = os.path.join(self.tempdir, 'recipe') @@ -476,7 +453,6 @@ class RecipetoolTests(RecipetoolBase): inherits = ['setuptools'] self._test_recipe_contents(recipefile, checkvars, inherits) - @OETestID(1637) def test_recipetool_create_git_http(self): # Basic test to check http git URL mangling works temprecipe = os.path.join(self.tempdir, 'recipe') @@ -504,7 +480,6 @@ class RecipetoolTests(RecipetoolBase): shutil.copy(srcfile, dstfile) self.track_for_cleanup(dstfile) - @OETestID(1640) def test_recipetool_load_plugin(self): """Test that recipetool loads only the first found plugin in BBPATH.""" @@ -626,11 +601,9 @@ class RecipetoolAppendsrcBase(RecipetoolBase): class RecipetoolAppendsrcTests(RecipetoolAppendsrcBase): - @OETestID(1273) def test_recipetool_appendsrcfile_basic(self): self._test_appendsrcfile('base-files', 'a-file') - @OETestID(1274) def test_recipetool_appendsrcfile_basic_wildcard(self): testrecipe = 'base-files' self._test_appendsrcfile(testrecipe, 'a-file', options='-w') @@ -638,15 +611,12 @@ class RecipetoolAppendsrcTests(RecipetoolAppendsrcBase): bbappendfile = self._check_bbappend(testrecipe, recipefile, self.templayerdir) self.assertEqual(os.path.basename(bbappendfile), '%s_%%.bbappend' % testrecipe) - @OETestID(1281) def test_recipetool_appendsrcfile_subdir_basic(self): self._test_appendsrcfile('base-files', 'a-file', 'tmp') - @OETestID(1282) def test_recipetool_appendsrcfile_subdir_basic_dirdest(self): self._test_appendsrcfile('base-files', destdir='tmp') - @OETestID(1280) def test_recipetool_appendsrcfile_srcdir_basic(self): testrecipe = 'bash' bb_vars = get_bb_vars(['S', 'WORKDIR'], testrecipe) @@ -655,14 +625,12 @@ class RecipetoolAppendsrcTests(RecipetoolAppendsrcBase): subdir = os.path.relpath(srcdir, workdir) self._test_appendsrcfile(testrecipe, 'a-file', srcdir=subdir) - @OETestID(1275) def test_recipetool_appendsrcfile_existing_in_src_uri(self): testrecipe = 'base-files' filepath = self._get_first_file_uri(testrecipe) self.assertTrue(filepath, 'Unable to test, no file:// uri found in SRC_URI for %s' % testrecipe) self._test_appendsrcfile(testrecipe, filepath, has_src_uri=False) - @OETestID(1276) def test_recipetool_appendsrcfile_existing_in_src_uri_diff_params(self): testrecipe = 'base-files' subdir = 'tmp' @@ -672,7 +640,6 @@ class RecipetoolAppendsrcTests(RecipetoolAppendsrcBase): output = self._test_appendsrcfile(testrecipe, filepath, subdir, has_src_uri=False) self.assertTrue(any('with different parameters' in l for l in output)) - @OETestID(1277) def test_recipetool_appendsrcfile_replace_file_srcdir(self): testrecipe = 'bash' filepath = 'Makefile.in' @@ -685,7 +652,6 @@ class RecipetoolAppendsrcTests(RecipetoolAppendsrcBase): bitbake('%s:do_unpack' % testrecipe) self.assertEqual(open(self.testfile, 'r').read(), open(os.path.join(srcdir, filepath), 'r').read()) - @OETestID(1278) def test_recipetool_appendsrcfiles_basic(self, destdir=None): newfiles = [self.testfile] for i in range(1, 5): @@ -695,6 +661,5 @@ class RecipetoolAppendsrcTests(RecipetoolAppendsrcBase): newfiles.append(testfile) self._test_appendsrcfiles('gcc', newfiles, destdir=destdir, options='-W') - @OETestID(1279) def test_recipetool_appendsrcfiles_basic_subdir(self): self.test_recipetool_appendsrcfiles_basic(destdir='testdir') diff --git a/poky/meta/lib/oeqa/selftest/cases/recipeutils.py b/poky/meta/lib/oeqa/selftest/cases/recipeutils.py index dd2f55839..747870383 100644 --- a/poky/meta/lib/oeqa/selftest/cases/recipeutils.py +++ b/poky/meta/lib/oeqa/selftest/cases/recipeutils.py @@ -1,3 +1,7 @@ +# +# SPDX-License-Identifier: MIT +# + import os import re import time @@ -6,7 +10,6 @@ import bb.tinfoil from oeqa.selftest.case import OESelftestTestCase from oeqa.utils.commands import runCmd, get_test_layer -from oeqa.core.decorator.oeid import OETestID def setUpModule(): diff --git a/poky/meta/lib/oeqa/selftest/cases/resulttooltests.py b/poky/meta/lib/oeqa/selftest/cases/resulttooltests.py index 0a089c0b7..10eb9c12d 100644 --- a/poky/meta/lib/oeqa/selftest/cases/resulttooltests.py +++ b/poky/meta/lib/oeqa/selftest/cases/resulttooltests.py @@ -1,3 +1,7 @@ +# +# SPDX-License-Identifier: MIT +# + import os import sys basepath = os.path.abspath(os.path.dirname(__file__) + '/../../../../../') diff --git a/poky/meta/lib/oeqa/selftest/cases/runcmd.py b/poky/meta/lib/oeqa/selftest/cases/runcmd.py index a1615cfd2..3755764ee 100644 --- a/poky/meta/lib/oeqa/selftest/cases/runcmd.py +++ b/poky/meta/lib/oeqa/selftest/cases/runcmd.py @@ -1,7 +1,10 @@ +# +# SPDX-License-Identifier: MIT +# + from oeqa.selftest.case import OESelftestTestCase from oeqa.utils.commands import runCmd from oeqa.utils import CommandError -from oeqa.core.decorator.oeid import OETestID import subprocess import threading @@ -27,60 +30,49 @@ class RunCmdTests(OESelftestTestCase): TIMEOUT = 5 DELTA = 3 - @OETestID(1916) def test_result_okay(self): result = runCmd("true") self.assertEqual(result.status, 0) - @OETestID(1915) def test_result_false(self): result = runCmd("false", ignore_status=True) self.assertEqual(result.status, 1) - @OETestID(1917) def test_shell(self): # A shell is used for all string commands. result = runCmd("false; true", ignore_status=True) self.assertEqual(result.status, 0) - @OETestID(1910) def test_no_shell(self): self.assertRaises(FileNotFoundError, runCmd, "false; true", shell=False) - @OETestID(1906) def test_list_not_found(self): self.assertRaises(FileNotFoundError, runCmd, ["false; true"]) - @OETestID(1907) def test_list_okay(self): result = runCmd(["true"]) self.assertEqual(result.status, 0) - @OETestID(1913) def test_result_assertion(self): self.assertRaisesRegexp(AssertionError, "Command 'echo .* false' returned non-zero exit status 1:\nfoobar", runCmd, "echo foobar >&2; false", shell=True) - @OETestID(1914) def test_result_exception(self): self.assertRaisesRegexp(CommandError, "Command 'echo .* false' returned non-zero exit status 1 with output: foobar", runCmd, "echo foobar >&2; false", shell=True, assert_error=False) - @OETestID(1911) def test_output(self): result = runCmd("echo stdout; echo stderr >&2", shell=True) self.assertEqual("stdout\nstderr", result.output) self.assertEqual("", result.error) - @OETestID(1912) def test_output_split(self): result = runCmd("echo stdout; echo stderr >&2", shell=True, stderr=subprocess.PIPE) self.assertEqual("stdout", result.output) self.assertEqual("stderr", result.error) - @OETestID(1920) def test_timeout(self): numthreads = threading.active_count() start = time.time() @@ -91,7 +83,6 @@ class RunCmdTests(OESelftestTestCase): self.assertLess(end - start, self.TIMEOUT + self.DELTA) self.assertEqual(numthreads, threading.active_count()) - @OETestID(1921) def test_timeout_split(self): numthreads = threading.active_count() start = time.time() @@ -102,14 +93,12 @@ class RunCmdTests(OESelftestTestCase): self.assertLess(end - start, self.TIMEOUT + self.DELTA) self.assertEqual(numthreads, threading.active_count()) - @OETestID(1918) def test_stdin(self): numthreads = threading.active_count() result = runCmd("cat", data=b"hello world", timeout=self.TIMEOUT) self.assertEqual("hello world", result.output) self.assertEqual(numthreads, threading.active_count()) - @OETestID(1919) def test_stdin_timeout(self): numthreads = threading.active_count() start = time.time() @@ -119,14 +108,12 @@ class RunCmdTests(OESelftestTestCase): self.assertLess(end - start, self.TIMEOUT + self.DELTA) self.assertEqual(numthreads, threading.active_count()) - @OETestID(1908) def test_log(self): log = MemLogger() result = runCmd("echo stdout; echo stderr >&2", shell=True, output_log=log) self.assertEqual(["Running: echo stdout; echo stderr >&2", "stdout", "stderr"], log.info_msgs) self.assertEqual([], log.error_msgs) - @OETestID(1909) def test_log_split(self): log = MemLogger() result = runCmd("echo stdout; echo stderr >&2", shell=True, output_log=log, stderr=subprocess.PIPE) diff --git a/poky/meta/lib/oeqa/selftest/cases/runqemu.py b/poky/meta/lib/oeqa/selftest/cases/runqemu.py index f69d4706a..b88ae306c 100644 --- a/poky/meta/lib/oeqa/selftest/cases/runqemu.py +++ b/poky/meta/lib/oeqa/selftest/cases/runqemu.py @@ -1,6 +1,8 @@ # # Copyright (c) 2017 Wind River Systems, Inc. # +# SPDX-License-Identifier: MIT +# import re import tempfile @@ -8,7 +10,6 @@ import time import oe.types from oeqa.selftest.case import OESelftestTestCase from oeqa.utils.commands import bitbake, runqemu, get_bb_var, runCmd -from oeqa.core.decorator.oeid import OETestID class RunqemuTests(OESelftestTestCase): """Runqemu test class""" @@ -42,7 +43,6 @@ SYSLINUX_TIMEOUT = "10" bitbake(self.recipe) RunqemuTests.image_is_ready = True - @OETestID(2001) def test_boot_machine(self): """Test runqemu machine""" cmd = "%s %s" % (self.cmd_common, self.machine) @@ -50,7 +50,6 @@ SYSLINUX_TIMEOUT = "10" with open(qemu.qemurunnerlog) as f: self.assertTrue(qemu.runner.logged, "Failed: %s, %s" % (cmd, f.read())) - @OETestID(2002) def test_boot_machine_ext4(self): """Test runqemu machine ext4""" cmd = "%s %s ext4" % (self.cmd_common, self.machine) @@ -58,7 +57,6 @@ SYSLINUX_TIMEOUT = "10" with open(qemu.qemurunnerlog) as f: self.assertIn('rootfs.ext4', f.read(), "Failed: %s" % cmd) - @OETestID(2003) def test_boot_machine_iso(self): """Test runqemu machine iso""" cmd = "%s %s iso" % (self.cmd_common, self.machine) @@ -66,7 +64,6 @@ SYSLINUX_TIMEOUT = "10" with open(qemu.qemurunnerlog) as f: self.assertIn('media=cdrom', f.read(), "Failed: %s" % cmd) - @OETestID(2004) def test_boot_recipe_image(self): """Test runqemu recipe-image""" cmd = "%s %s" % (self.cmd_common, self.recipe) @@ -75,7 +72,6 @@ SYSLINUX_TIMEOUT = "10" self.assertTrue(qemu.runner.logged, "Failed: %s, %s" % (cmd, f.read())) - @OETestID(2005) def test_boot_recipe_image_vmdk(self): """Test runqemu recipe-image vmdk""" cmd = "%s %s wic.vmdk" % (self.cmd_common, self.recipe) @@ -83,7 +79,6 @@ SYSLINUX_TIMEOUT = "10" with open(qemu.qemurunnerlog) as f: self.assertIn('format=vmdk', f.read(), "Failed: %s" % cmd) - @OETestID(2006) def test_boot_recipe_image_vdi(self): """Test runqemu recipe-image vdi""" cmd = "%s %s wic.vdi" % (self.cmd_common, self.recipe) @@ -91,7 +86,6 @@ SYSLINUX_TIMEOUT = "10" with open(qemu.qemurunnerlog) as f: self.assertIn('format=vdi', f.read(), "Failed: %s" % cmd) - @OETestID(2007) def test_boot_deploy(self): """Test runqemu deploy_dir_image""" cmd = "%s %s" % (self.cmd_common, self.deploy_dir_image) @@ -100,7 +94,6 @@ SYSLINUX_TIMEOUT = "10" self.assertTrue(qemu.runner.logged, "Failed: %s, %s" % (cmd, f.read())) - @OETestID(2008) def test_boot_deploy_hddimg(self): """Test runqemu deploy_dir_image hddimg""" cmd = "%s %s hddimg" % (self.cmd_common, self.deploy_dir_image) @@ -108,7 +101,6 @@ SYSLINUX_TIMEOUT = "10" with open(qemu.qemurunnerlog) as f: self.assertTrue(re.search('file=.*.hddimg', f.read()), "Failed: %s, %s" % (cmd, f.read())) - @OETestID(2009) def test_boot_machine_slirp(self): """Test runqemu machine slirp""" cmd = "%s slirp %s" % (self.cmd_common, self.machine) @@ -116,7 +108,6 @@ SYSLINUX_TIMEOUT = "10" with open(qemu.qemurunnerlog) as f: self.assertIn(' -netdev user', f.read(), "Failed: %s" % cmd) - @OETestID(2009) def test_boot_machine_slirp_qcow2(self): """Test runqemu machine slirp qcow2""" cmd = "%s slirp wic.qcow2 %s" % (self.cmd_common, self.machine) @@ -124,7 +115,6 @@ SYSLINUX_TIMEOUT = "10" with open(qemu.qemurunnerlog) as f: self.assertIn('format=qcow2', f.read(), "Failed: %s" % cmd) - @OETestID(2010) def test_boot_qemu_boot(self): """Test runqemu /path/to/image.qemuboot.conf""" qemuboot_conf = "%s-%s.qemuboot.conf" % (self.recipe, self.machine) @@ -136,7 +126,6 @@ SYSLINUX_TIMEOUT = "10" with open(qemu.qemurunnerlog) as f: self.assertTrue(qemu.runner.logged, "Failed: %s, %s" % (cmd, f.read())) - @OETestID(2011) def test_boot_rootfs(self): """Test runqemu /path/to/rootfs.ext4""" rootfs = "%s-%s.ext4" % (self.recipe, self.machine) diff --git a/poky/meta/lib/oeqa/selftest/cases/runtime_test.py b/poky/meta/lib/oeqa/selftest/cases/runtime_test.py index 6c25bb901..d817b755f 100644 --- a/poky/meta/lib/oeqa/selftest/cases/runtime_test.py +++ b/poky/meta/lib/oeqa/selftest/cases/runtime_test.py @@ -1,7 +1,10 @@ +# +# SPDX-License-Identifier: MIT +# + from oeqa.selftest.case import OESelftestTestCase from oeqa.utils.commands import runCmd, bitbake, get_bb_var, get_bb_vars, runqemu from oeqa.utils.sshcontrol import SSHControl -from oeqa.core.decorator.oeid import OETestID import os import re import tempfile @@ -15,7 +18,6 @@ class TestExport(OESelftestTestCase): runCmd("rm -rf /tmp/sdk") super(TestExport, cls).tearDownClass() - @OETestID(1499) def test_testexport_basic(self): """ Summary: Check basic testexport functionality with only ping test enabled. @@ -55,7 +57,6 @@ class TestExport(OESelftestTestCase): # Verify ping test was succesful self.assertEqual(0, result.status, 'oe-test runtime returned a non 0 status') - @OETestID(1641) def test_testexport_sdk(self): """ Summary: Check sdk functionality for testexport. @@ -110,7 +111,6 @@ class TestExport(OESelftestTestCase): class TestImage(OESelftestTestCase): - @OETestID(1644) def test_testimage_install(self): """ Summary: Check install packages functionality for testimage/testexport. @@ -131,7 +131,6 @@ class TestImage(OESelftestTestCase): bitbake('core-image-full-cmdline socat') bitbake('-c testimage core-image-full-cmdline') - @OETestID(1883) def test_testimage_dnf(self): """ Summary: Check package feeds functionality for dnf @@ -169,7 +168,6 @@ class TestImage(OESelftestTestCase): # remove the oeqa-feed-sign temporal directory shutil.rmtree(self.gpg_home, ignore_errors=True) - @OETestID(1883) def test_testimage_virgl_gtk(self): """ Summary: Check host-assisted accelerate OpenGL functionality in qemu with gtk frontend @@ -200,7 +198,6 @@ class TestImage(OESelftestTestCase): bitbake('core-image-minimal') bitbake('-c testimage core-image-minimal') - @OETestID(1883) def test_testimage_virgl_headless(self): """ Summary: Check host-assisted accelerate OpenGL functionality in qemu with egl-headless frontend @@ -235,8 +232,6 @@ class TestImage(OESelftestTestCase): bitbake('-c testimage core-image-minimal') class Postinst(OESelftestTestCase): - @OETestID(1540) - @OETestID(1545) def test_postinst_rootfs_and_boot(self): """ Summary: The purpose of this test case is to verify Post-installation diff --git a/poky/meta/lib/oeqa/selftest/cases/selftest.py b/poky/meta/lib/oeqa/selftest/cases/selftest.py index 4b3cb1446..af080dcf0 100644 --- a/poky/meta/lib/oeqa/selftest/cases/selftest.py +++ b/poky/meta/lib/oeqa/selftest/cases/selftest.py @@ -1,12 +1,14 @@ +# +# SPDX-License-Identifier: MIT +# + import importlib from oeqa.utils.commands import runCmd import oeqa.selftest from oeqa.selftest.case import OESelftestTestCase -from oeqa.core.decorator.oeid import OETestID class ExternalLayer(OESelftestTestCase): - @OETestID(1885) def test_list_imported(self): """ Summary: Checks functionality to import tests from other layers. diff --git a/poky/meta/lib/oeqa/selftest/cases/signing.py b/poky/meta/lib/oeqa/selftest/cases/signing.py index 4fa99acbc..9c710bd0f 100644 --- a/poky/meta/lib/oeqa/selftest/cases/signing.py +++ b/poky/meta/lib/oeqa/selftest/cases/signing.py @@ -1,3 +1,7 @@ +# +# SPDX-License-Identifier: MIT +# + from oeqa.selftest.case import OESelftestTestCase from oeqa.utils.commands import runCmd, bitbake, get_bb_var, get_bb_vars import os @@ -7,7 +11,6 @@ import re import shutil import tempfile from contextlib import contextmanager -from oeqa.core.decorator.oeid import OETestID from oeqa.utils.ftools import write_file @@ -51,7 +54,6 @@ class Signing(OESelftestTestCase): os.environ[e] = origenv[e] os.chdir(builddir) - @OETestID(1362) def test_signing_packages(self): """ Summary: Test that packages can be signed in the package feed @@ -116,7 +118,6 @@ class Signing(OESelftestTestCase): bitbake('core-image-minimal') - @OETestID(1382) def test_signing_sstate_archive(self): """ Summary: Test that sstate archives can be signed @@ -169,7 +170,6 @@ class Signing(OESelftestTestCase): class LockedSignatures(OESelftestTestCase): - @OETestID(1420) def test_locked_signatures(self): """ Summary: Test locked signature mechanism diff --git a/poky/meta/lib/oeqa/selftest/cases/sstate.py b/poky/meta/lib/oeqa/selftest/cases/sstate.py index bc2fdbd8c..410dec64f 100644 --- a/poky/meta/lib/oeqa/selftest/cases/sstate.py +++ b/poky/meta/lib/oeqa/selftest/cases/sstate.py @@ -1,3 +1,7 @@ +# +# SPDX-License-Identifier: MIT +# + import datetime import unittest import os diff --git a/poky/meta/lib/oeqa/selftest/cases/sstatetests.py b/poky/meta/lib/oeqa/selftest/cases/sstatetests.py index 938e654e9..2867cb78a 100644 --- a/poky/meta/lib/oeqa/selftest/cases/sstatetests.py +++ b/poky/meta/lib/oeqa/selftest/cases/sstatetests.py @@ -1,3 +1,7 @@ +# +# SPDX-License-Identifier: MIT +# + import os import shutil import glob @@ -7,7 +11,6 @@ import tempfile from oeqa.selftest.case import OESelftestTestCase from oeqa.utils.commands import runCmd, bitbake, get_bb_var, get_test_layer, create_temp_layer from oeqa.selftest.cases.sstate import SStateBase -from oeqa.core.decorator.oeid import OETestID import bb.siggen @@ -73,19 +76,15 @@ class SStateTests(SStateBase): else: self.assertTrue(not file_tracker , msg="Found sstate files in the wrong place for: %s (found %s)" % (', '.join(map(str, targets)), str(file_tracker))) - @OETestID(975) def test_sstate_creation_distro_specific_pass(self): self.run_test_sstate_creation(['binutils-cross-'+ self.tune_arch, 'binutils-native'], distro_specific=True, distro_nonspecific=False, temp_sstate_location=True) - @OETestID(1374) def test_sstate_creation_distro_specific_fail(self): self.run_test_sstate_creation(['binutils-cross-'+ self.tune_arch, 'binutils-native'], distro_specific=False, distro_nonspecific=True, temp_sstate_location=True, should_pass=False) - @OETestID(976) def test_sstate_creation_distro_nonspecific_pass(self): self.run_test_sstate_creation(['linux-libc-headers'], distro_specific=False, distro_nonspecific=True, temp_sstate_location=True) - @OETestID(1375) def test_sstate_creation_distro_nonspecific_fail(self): self.run_test_sstate_creation(['linux-libc-headers'], distro_specific=True, distro_nonspecific=False, temp_sstate_location=True, should_pass=False) @@ -106,17 +105,14 @@ class SStateTests(SStateBase): tgz_removed = self.search_sstate('|'.join(map(str, [s + r'.*?\.tgz$' for s in targets])), distro_specific, distro_nonspecific) self.assertTrue(not tgz_removed, msg="do_cleansstate didn't remove .tgz sstate files for: %s (%s)" % (', '.join(map(str, targets)), str(tgz_removed))) - @OETestID(977) def test_cleansstate_task_distro_specific_nonspecific(self): targets = ['binutils-cross-'+ self.tune_arch, 'binutils-native'] targets.append('linux-libc-headers') self.run_test_cleansstate_task(targets, distro_specific=True, distro_nonspecific=True, temp_sstate_location=True) - @OETestID(1376) def test_cleansstate_task_distro_nonspecific(self): self.run_test_cleansstate_task(['linux-libc-headers'], distro_specific=False, distro_nonspecific=True, temp_sstate_location=True) - @OETestID(1377) def test_cleansstate_task_distro_specific(self): targets = ['binutils-cross-'+ self.tune_arch, 'binutils-native'] targets.append('linux-libc-headers') @@ -155,15 +151,12 @@ class SStateTests(SStateBase): created_once = [x for x in file_tracker_2 if x not in file_tracker_1] self.assertTrue(created_once == [], msg="The following sstate files ware created only in the second run: %s" % ', '.join(map(str, created_once))) - @OETestID(175) def test_rebuild_distro_specific_sstate_cross_native_targets(self): self.run_test_rebuild_distro_specific_sstate(['binutils-cross-' + self.tune_arch, 'binutils-native'], temp_sstate_location=True) - @OETestID(1372) def test_rebuild_distro_specific_sstate_cross_target(self): self.run_test_rebuild_distro_specific_sstate(['binutils-cross-' + self.tune_arch], temp_sstate_location=True) - @OETestID(1373) def test_rebuild_distro_specific_sstate_native_target(self): self.run_test_rebuild_distro_specific_sstate(['binutils-native'], temp_sstate_location=True) @@ -210,7 +203,6 @@ class SStateTests(SStateBase): expected_not_actual = [x for x in expected_remaining_sstate if x not in actual_remaining_sstate] self.assertFalse(expected_not_actual, msg="Extra files ware removed: %s" ', '.join(map(str, expected_not_actual))) - @OETestID(973) def test_sstate_cache_management_script_using_pr_1(self): global_config = [] target_config = [] @@ -218,7 +210,6 @@ class SStateTests(SStateBase): target_config.append('PR = "0"') self.run_test_sstate_cache_management_script('m4', global_config, target_config, ignore_patterns=['populate_lic']) - @OETestID(978) def test_sstate_cache_management_script_using_pr_2(self): global_config = [] target_config = [] @@ -228,7 +219,6 @@ class SStateTests(SStateBase): target_config.append('PR = "1"') self.run_test_sstate_cache_management_script('m4', global_config, target_config, ignore_patterns=['populate_lic']) - @OETestID(979) def test_sstate_cache_management_script_using_pr_3(self): global_config = [] target_config = [] @@ -240,7 +230,6 @@ class SStateTests(SStateBase): target_config.append('PR = "1"') self.run_test_sstate_cache_management_script('m4', global_config, target_config, ignore_patterns=['populate_lic']) - @OETestID(974) def test_sstate_cache_management_script_using_machine(self): global_config = [] target_config = [] @@ -250,7 +239,6 @@ class SStateTests(SStateBase): target_config.append('') self.run_test_sstate_cache_management_script('m4', global_config, target_config, ignore_patterns=['populate_lic']) - @OETestID(1270) def test_sstate_32_64_same_hash(self): """ The sstate checksums for both native and target should not vary whether @@ -299,7 +287,6 @@ PACKAGE_CLASSES = "package_rpm package_ipk package_deb" self.assertCountEqual(files1, files2) - @OETestID(1271) def test_sstate_nativelsbstring_same_hash(self): """ The sstate checksums should be independent of whichever NATIVELSBSTRING is @@ -333,7 +320,6 @@ NATIVELSBSTRING = \"DistroB\" self.maxDiff = None self.assertCountEqual(files1, files2) - @OETestID(1368) def test_sstate_allarch_samesigs(self): """ The sstate checksums of allarch packages should be independent of whichever @@ -354,7 +340,6 @@ MACHINE = \"qemuarm\" """ self.sstate_allarch_samesigs(configA, configB) - @OETestID(1645) def test_sstate_nativesdk_samesigs_multilib(self): """ check nativesdk stamps are the same between the two MACHINE values. @@ -405,7 +390,6 @@ MULTILIBS = \"\" self.maxDiff = None self.assertEqual(files1, files2) - @OETestID(1369) def test_sstate_sametune_samesigs(self): """ The sstate checksums of two identical machines (using the same tune) should be the @@ -452,7 +436,6 @@ DEFAULTTUNE_virtclass-multilib-lib32 = "x86" self.assertCountEqual(files1, files2) - @OETestID(1498) def test_sstate_noop_samesigs(self): """ The sstate checksums of two builds with these variables changed or diff --git a/poky/meta/lib/oeqa/selftest/cases/tinfoil.py b/poky/meta/lib/oeqa/selftest/cases/tinfoil.py index f889a47b2..42a1b6b4f 100644 --- a/poky/meta/lib/oeqa/selftest/cases/tinfoil.py +++ b/poky/meta/lib/oeqa/selftest/cases/tinfoil.py @@ -1,3 +1,7 @@ +# +# SPDX-License-Identifier: MIT +# + import os import re import time @@ -6,12 +10,10 @@ import bb.tinfoil from oeqa.selftest.case import OESelftestTestCase from oeqa.utils.commands import runCmd -from oeqa.core.decorator.oeid import OETestID class TinfoilTests(OESelftestTestCase): """ Basic tests for the tinfoil API """ - @OETestID(1568) def test_getvar(self): with bb.tinfoil.Tinfoil() as tinfoil: tinfoil.prepare(True) @@ -19,7 +21,6 @@ class TinfoilTests(OESelftestTestCase): if not machine: self.fail('Unable to get MACHINE value - returned %s' % machine) - @OETestID(1569) def test_expand(self): with bb.tinfoil.Tinfoil() as tinfoil: tinfoil.prepare(True) @@ -28,7 +29,6 @@ class TinfoilTests(OESelftestTestCase): if not pid: self.fail('Unable to expand "%s" - returned %s' % (expr, pid)) - @OETestID(1570) def test_getvar_bb_origenv(self): with bb.tinfoil.Tinfoil() as tinfoil: tinfoil.prepare(True) @@ -37,7 +37,6 @@ class TinfoilTests(OESelftestTestCase): self.fail('Unable to get BB_ORIGENV value - returned %s' % origenv) self.assertEqual(origenv.getVar('HOME', False), os.environ['HOME']) - @OETestID(1571) def test_parse_recipe(self): with bb.tinfoil.Tinfoil() as tinfoil: tinfoil.prepare(config_only=False, quiet=2) @@ -48,7 +47,6 @@ class TinfoilTests(OESelftestTestCase): rd = tinfoil.parse_recipe_file(best[3]) self.assertEqual(testrecipe, rd.getVar('PN')) - @OETestID(1572) def test_parse_recipe_copy_expand(self): with bb.tinfoil.Tinfoil() as tinfoil: tinfoil.prepare(config_only=False, quiet=2) @@ -67,7 +65,6 @@ class TinfoilTests(OESelftestTestCase): localdata.setVar('PN', 'hello') self.assertEqual('hello', localdata.getVar('BPN')) - @OETestID(1573) def test_parse_recipe_initial_datastore(self): with bb.tinfoil.Tinfoil() as tinfoil: tinfoil.prepare(config_only=False, quiet=2) @@ -81,7 +78,6 @@ class TinfoilTests(OESelftestTestCase): # Check we can get variable values self.assertEqual('somevalue', rd.getVar('MYVARIABLE')) - @OETestID(1574) def test_list_recipes(self): with bb.tinfoil.Tinfoil() as tinfoil: tinfoil.prepare(config_only=False, quiet=2) @@ -100,7 +96,6 @@ class TinfoilTests(OESelftestTestCase): if checkpns: self.fail('Unable to find pkg_fn entries for: %s' % ', '.join(checkpns)) - @OETestID(1575) def test_wait_event(self): with bb.tinfoil.Tinfoil() as tinfoil: tinfoil.prepare(config_only=True) @@ -136,7 +131,6 @@ class TinfoilTests(OESelftestTestCase): self.assertTrue(commandcomplete, 'Timed out waiting for CommandCompleted event from bitbake server') self.assertTrue(eventreceived, 'Did not receive FilesMatchingFound event from bitbake server') - @OETestID(1576) def test_setvariable_clean(self): # First check that setVariable affects the datastore with bb.tinfoil.Tinfoil() as tinfoil: @@ -159,7 +153,6 @@ class TinfoilTests(OESelftestTestCase): value = tinfoil.run_command('getVariable', 'TESTVAR') self.assertEqual(value, 'specialvalue', 'Value set using config_data.setVar() is not reflected in config_data.getVar()') - @OETestID(1884) def test_datastore_operations(self): with bb.tinfoil.Tinfoil() as tinfoil: tinfoil.prepare(config_only=True) diff --git a/poky/meta/lib/oeqa/selftest/cases/wic.py b/poky/meta/lib/oeqa/selftest/cases/wic.py index 79925f942..d16eae588 100644 --- a/poky/meta/lib/oeqa/selftest/cases/wic.py +++ b/poky/meta/lib/oeqa/selftest/cases/wic.py @@ -1,22 +1,8 @@ #!/usr/bin/env python -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- # # Copyright (c) 2015, Intel Corporation. -# All rights reserved. # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +# SPDX-License-Identifier: GPL-2.0-only # # AUTHORS # Ed Bartosh <ed.bartosh@linux.intel.com> @@ -34,7 +20,6 @@ from tempfile import NamedTemporaryFile from oeqa.selftest.case import OESelftestTestCase from oeqa.utils.commands import runCmd, bitbake, get_bb_var, get_bb_vars, runqemu -from oeqa.core.decorator.oeid import OETestID @lru_cache(maxsize=32) @@ -103,63 +88,51 @@ class WicTestCase(OESelftestTestCase): class Wic(WicTestCase): - @OETestID(1552) def test_version(self): """Test wic --version""" runCmd('wic --version') - @OETestID(1208) def test_help(self): """Test wic --help and wic -h""" runCmd('wic --help') runCmd('wic -h') - @OETestID(1209) def test_createhelp(self): """Test wic create --help""" runCmd('wic create --help') - @OETestID(1210) def test_listhelp(self): """Test wic list --help""" runCmd('wic list --help') - @OETestID(1553) def test_help_create(self): """Test wic help create""" runCmd('wic help create') - @OETestID(1554) def test_help_list(self): """Test wic help list""" runCmd('wic help list') - @OETestID(1215) def test_help_overview(self): """Test wic help overview""" runCmd('wic help overview') - @OETestID(1216) def test_help_plugins(self): """Test wic help plugins""" runCmd('wic help plugins') - @OETestID(1217) def test_help_kickstart(self): """Test wic help kickstart""" runCmd('wic help kickstart') - @OETestID(1555) def test_list_images(self): """Test wic list images""" runCmd('wic list images') - @OETestID(1556) def test_list_source_plugins(self): """Test wic list source-plugins""" runCmd('wic list source-plugins') - @OETestID(1557) def test_listed_images_help(self): """Test wic listed images help""" output = runCmd('wic list images').output @@ -167,24 +140,20 @@ class Wic(WicTestCase): for image in imagelist: runCmd('wic list %s help' % image) - @OETestID(1213) def test_unsupported_subcommand(self): """Test unsupported subcommand""" self.assertNotEqual(0, runCmd('wic unsupported', ignore_status=True).status) - @OETestID(1214) def test_no_command(self): """Test wic without command""" self.assertEqual(1, runCmd('wic', ignore_status=True).status) - @OETestID(1211) def test_build_image_name(self): """Test wic create wictestdisk --image-name=core-image-minimal""" cmd = "wic create wictestdisk --image-name=core-image-minimal -o %s" % self.resultdir runCmd(cmd) self.assertEqual(1, len(glob(self.resultdir + "wictestdisk-*.direct"))) - @OETestID(1157) @only_for_arch(['i586', 'i686', 'x86_64']) def test_gpt_image(self): """Test creation of core-image-minimal with gpt table and UUID boot""" @@ -192,7 +161,6 @@ class Wic(WicTestCase): runCmd(cmd) self.assertEqual(1, len(glob(self.resultdir + "directdisk-*.direct"))) - @OETestID(1346) @only_for_arch(['i586', 'i686', 'x86_64']) def test_iso_image(self): """Test creation of hybrid iso image with legacy and EFI boot""" @@ -207,7 +175,6 @@ class Wic(WicTestCase): self.assertEqual(1, len(glob(self.resultdir + "HYBRID_ISO_IMG-*.direct"))) self.assertEqual(1, len(glob(self.resultdir + "HYBRID_ISO_IMG-*.iso"))) - @OETestID(1348) @only_for_arch(['i586', 'i686', 'x86_64']) def test_qemux86_directdisk(self): """Test creation of qemux-86-directdisk image""" @@ -215,7 +182,6 @@ class Wic(WicTestCase): runCmd(cmd) self.assertEqual(1, len(glob(self.resultdir + "qemux86-directdisk-*direct"))) - @OETestID(1350) @only_for_arch(['i586', 'i686', 'x86_64']) def test_mkefidisk(self): """Test creation of mkefidisk image""" @@ -223,7 +189,6 @@ class Wic(WicTestCase): runCmd(cmd) self.assertEqual(1, len(glob(self.resultdir + "mkefidisk-*direct"))) - @OETestID(1385) @only_for_arch(['i586', 'i686', 'x86_64']) def test_bootloader_config(self): """Test creation of directdisk-bootloader-config image""" @@ -235,7 +200,6 @@ class Wic(WicTestCase): runCmd(cmd) self.assertEqual(1, len(glob(self.resultdir + "directdisk-bootloader-config-*direct"))) - @OETestID(1560) @only_for_arch(['i586', 'i686', 'x86_64']) def test_systemd_bootdisk(self): """Test creation of systemd-bootdisk image""" @@ -247,7 +211,6 @@ class Wic(WicTestCase): runCmd(cmd) self.assertEqual(1, len(glob(self.resultdir + "systemd-bootdisk-*direct"))) - @OETestID(1561) def test_sdimage_bootpart(self): """Test creation of sdimage-bootpart image""" cmd = "wic create sdimage-bootpart -e core-image-minimal -o %s" % self.resultdir @@ -256,7 +219,6 @@ class Wic(WicTestCase): runCmd(cmd) self.assertEqual(1, len(glob(self.resultdir + "sdimage-bootpart-*direct"))) - @OETestID(1562) @only_for_arch(['i586', 'i686', 'x86_64']) def test_default_output_dir(self): """Test default output location""" @@ -270,7 +232,6 @@ class Wic(WicTestCase): runCmd(cmd) self.assertEqual(1, len(glob("directdisk-*.direct"))) - @OETestID(1212) @only_for_arch(['i586', 'i686', 'x86_64']) def test_build_artifacts(self): """Test wic create directdisk providing all artifacts.""" @@ -288,7 +249,6 @@ class Wic(WicTestCase): "-o %(resultdir)s" % bbvars) self.assertEqual(1, len(glob(self.resultdir + "directdisk-*.direct"))) - @OETestID(1264) def test_compress_gzip(self): """Test compressing an image with gzip""" runCmd("wic create wictestdisk " @@ -296,7 +256,6 @@ class Wic(WicTestCase): "-c gzip -o %s" % self.resultdir) self.assertEqual(1, len(glob(self.resultdir + "wictestdisk-*.direct.gz"))) - @OETestID(1265) def test_compress_bzip2(self): """Test compressing an image with bzip2""" runCmd("wic create wictestdisk " @@ -304,7 +263,6 @@ class Wic(WicTestCase): "-c bzip2 -o %s" % self.resultdir) self.assertEqual(1, len(glob(self.resultdir + "wictestdisk-*.direct.bz2"))) - @OETestID(1266) def test_compress_xz(self): """Test compressing an image with xz""" runCmd("wic create wictestdisk " @@ -312,7 +270,6 @@ class Wic(WicTestCase): "--compress-with=xz -o %s" % self.resultdir) self.assertEqual(1, len(glob(self.resultdir + "wictestdisk-*.direct.xz"))) - @OETestID(1267) def test_wrong_compressor(self): """Test how wic breaks if wrong compressor is provided""" self.assertEqual(2, runCmd("wic create wictestdisk " @@ -320,7 +277,6 @@ class Wic(WicTestCase): "-c wrong -o %s" % self.resultdir, ignore_status=True).status) - @OETestID(1558) def test_debug_short(self): """Test -D option""" runCmd("wic create wictestdisk " @@ -328,7 +284,6 @@ class Wic(WicTestCase): "-D -o %s" % self.resultdir) self.assertEqual(1, len(glob(self.resultdir + "wictestdisk-*.direct"))) - @OETestID(1658) def test_debug_long(self): """Test --debug option""" runCmd("wic create wictestdisk " @@ -336,7 +291,6 @@ class Wic(WicTestCase): "--debug -o %s" % self.resultdir) self.assertEqual(1, len(glob(self.resultdir + "wictestdisk-*.direct"))) - @OETestID(1563) def test_skip_build_check_short(self): """Test -s option""" runCmd("wic create wictestdisk " @@ -344,7 +298,6 @@ class Wic(WicTestCase): "-s -o %s" % self.resultdir) self.assertEqual(1, len(glob(self.resultdir + "wictestdisk-*.direct"))) - @OETestID(1671) def test_skip_build_check_long(self): """Test --skip-build-check option""" runCmd("wic create wictestdisk " @@ -353,7 +306,6 @@ class Wic(WicTestCase): "--outdir %s" % self.resultdir) self.assertEqual(1, len(glob(self.resultdir + "wictestdisk-*.direct"))) - @OETestID(1564) def test_build_rootfs_short(self): """Test -f option""" runCmd("wic create wictestdisk " @@ -361,7 +313,6 @@ class Wic(WicTestCase): "-f -o %s" % self.resultdir) self.assertEqual(1, len(glob(self.resultdir + "wictestdisk-*.direct"))) - @OETestID(1656) def test_build_rootfs_long(self): """Test --build-rootfs option""" runCmd("wic create wictestdisk " @@ -370,7 +321,6 @@ class Wic(WicTestCase): "--outdir %s" % self.resultdir) self.assertEqual(1, len(glob(self.resultdir + "wictestdisk-*.direct"))) - @OETestID(1268) @only_for_arch(['i586', 'i686', 'x86_64']) def test_rootfs_indirect_recipes(self): """Test usage of rootfs plugin with rootfs recipes""" @@ -381,7 +331,6 @@ class Wic(WicTestCase): "--outdir %s" % self.resultdir) self.assertEqual(1, len(glob(self.resultdir + "directdisk-multi-rootfs*.direct"))) - @OETestID(1269) @only_for_arch(['i586', 'i686', 'x86_64']) def test_rootfs_artifacts(self): """Test usage of rootfs plugin with rootfs paths""" @@ -401,7 +350,6 @@ class Wic(WicTestCase): "--outdir %(resultdir)s" % bbvars) self.assertEqual(1, len(glob(self.resultdir + "%(wks)s-*.direct" % bbvars))) - @OETestID(1661) def test_exclude_path(self): """Test --exclude-path wks option.""" @@ -504,7 +452,6 @@ part /etc --source rootfs --ondisk mmcblk0 --fstype=ext4 --exclude-path bin/ --r finally: os.environ['PATH'] = oldpath - @OETestID(1662) def test_exclude_path_errors(self): """Test --exclude-path wks option error handling.""" wks_file = 'temp.wks' @@ -525,7 +472,6 @@ part /etc --source rootfs --ondisk mmcblk0 --fstype=ext4 --exclude-path bin/ --r class Wic2(WicTestCase): - @OETestID(1496) def test_bmap_short(self): """Test generation of .bmap file -m option""" cmd = "wic create wictestdisk -e core-image-minimal -m -o %s" % self.resultdir @@ -533,7 +479,6 @@ class Wic2(WicTestCase): self.assertEqual(1, len(glob(self.resultdir + "wictestdisk-*direct"))) self.assertEqual(1, len(glob(self.resultdir + "wictestdisk-*direct.bmap"))) - @OETestID(1655) def test_bmap_long(self): """Test generation of .bmap file --bmap option""" cmd = "wic create wictestdisk -e core-image-minimal --bmap -o %s" % self.resultdir @@ -541,7 +486,6 @@ class Wic2(WicTestCase): self.assertEqual(1, len(glob(self.resultdir + "wictestdisk-*direct"))) self.assertEqual(1, len(glob(self.resultdir + "wictestdisk-*direct.bmap"))) - @OETestID(1347) def test_image_env(self): """Test generation of <image>.env files.""" image = 'core-image-minimal' @@ -564,7 +508,6 @@ class Wic2(WicTestCase): self.assertTrue(var in content, "%s is not in .env file" % var) self.assertTrue(content[var]) - @OETestID(1559) def test_image_vars_dir_short(self): """Test image vars directory selection -v option""" image = 'core-image-minimal' @@ -577,7 +520,6 @@ class Wic2(WicTestCase): self.resultdir)) self.assertEqual(1, len(glob(self.resultdir + "wictestdisk-*direct"))) - @OETestID(1665) def test_image_vars_dir_long(self): """Test image vars directory selection --vars option""" image = 'core-image-minimal' @@ -593,7 +535,6 @@ class Wic2(WicTestCase): self.resultdir)) self.assertEqual(1, len(glob(self.resultdir + "wictestdisk-*direct"))) - @OETestID(1351) @only_for_arch(['i586', 'i686', 'x86_64']) def test_wic_image_type(self): """Test building wic images by bitbake""" @@ -614,7 +555,6 @@ class Wic2(WicTestCase): self.assertTrue(os.path.islink(path)) self.assertTrue(os.path.isfile(os.path.realpath(path))) - @OETestID(1424) @only_for_arch(['i586', 'i686', 'x86_64']) def test_qemu(self): """Test wic-image-minimal under qemu""" @@ -636,7 +576,6 @@ class Wic2(WicTestCase): self.assertEqual(output, 'UUID=2c71ef06-a81d-4735-9d3a-379b69c6bdba\t/media\text4\tdefaults\t0\t0') @only_for_arch(['i586', 'i686', 'x86_64']) - @OETestID(1852) def test_qemu_efi(self): """Test core-image-minimal efi image under qemu""" config = 'IMAGE_FSTYPES = "wic"\nWKS_FILE = "mkefidisk.wks"\n' @@ -666,7 +605,6 @@ class Wic2(WicTestCase): return wkspath, wksname - @OETestID(1847) def test_fixed_size(self): """ Test creation of a simple image with partition size controlled through @@ -697,7 +635,6 @@ class Wic2(WicTestCase): self.assertEqual(1, len(partlns)) self.assertEqual("1:0.00MiB:200MiB:200MiB:ext4::;", partlns[0]) - @OETestID(1848) def test_fixed_size_error(self): """ Test creation of a simple image with partition size controlled through @@ -713,7 +650,6 @@ class Wic2(WicTestCase): self.assertEqual(0, len(wicout)) @only_for_arch(['i586', 'i686', 'x86_64']) - @OETestID(1854) def test_rawcopy_plugin_qemu(self): """Test rawcopy plugin in qemu""" # build ext4 and wic images @@ -729,7 +665,6 @@ class Wic2(WicTestCase): self.assertEqual(1, status, 'Failed to run command "%s": %s' % (cmd, output)) self.assertEqual(output, '2') - @OETestID(1853) def test_rawcopy_plugin(self): """Test rawcopy plugin""" img = 'core-image-minimal' @@ -746,7 +681,6 @@ class Wic2(WicTestCase): out = glob(self.resultdir + "%s-*direct" % wksname) self.assertEqual(1, len(out)) - @OETestID(1849) def test_fs_types(self): """Test filesystem types for empty and not empty partitions""" img = 'core-image-minimal' @@ -766,7 +700,6 @@ class Wic2(WicTestCase): out = glob(self.resultdir + "%s-*direct" % wksname) self.assertEqual(1, len(out)) - @OETestID(1851) def test_kickstart_parser(self): """Test wks parser options""" with NamedTemporaryFile("w", suffix=".wks") as wks: @@ -779,7 +712,6 @@ class Wic2(WicTestCase): out = glob(self.resultdir + "%s-*direct" % wksname) self.assertEqual(1, len(out)) - @OETestID(1850) def test_image_bootpart_globbed(self): """Test globbed sources with image-bootpart plugin""" img = "core-image-minimal" @@ -790,7 +722,6 @@ class Wic2(WicTestCase): self.remove_config(config) self.assertEqual(1, len(glob(self.resultdir + "sdimage-bootpart-*direct"))) - @OETestID(1855) def test_sparse_copy(self): """Test sparse_copy with FIEMAP and SEEK_HOLE filemap APIs""" libpath = os.path.join(get_bb_var('COREBASE'), 'scripts', 'lib', 'wic') @@ -819,7 +750,6 @@ class Wic2(WicTestCase): self.assertEqual(dest_stat.st_blocks, 8) os.unlink(dest) - @OETestID(1857) def test_wic_ls(self): """Test listing image content using 'wic ls'""" runCmd("wic create wictestdisk " @@ -838,7 +768,6 @@ class Wic2(WicTestCase): result = runCmd("wic ls %s:1/ -n %s" % (images[0], sysroot)) self.assertEqual(6, len(result.output.split('\n'))) - @OETestID(1856) def test_wic_cp(self): """Test copy files and directories to the the wic image.""" runCmd("wic create wictestdisk " @@ -878,7 +807,6 @@ class Wic2(WicTestCase): self.assertEqual(8, len(result.output.split('\n'))) self.assertTrue(os.path.basename(testdir) in result.output) - @OETestID(1858) def test_wic_rm(self): """Test removing files and directories from the the wic image.""" runCmd("wic create mkefidisk " @@ -905,7 +833,6 @@ class Wic2(WicTestCase): self.assertNotIn('\nBZIMAGE ', result.output) self.assertNotIn('\nEFI <DIR> ', result.output) - @OETestID(1922) def test_mkfs_extraopts(self): """Test wks option --mkfs-extraopts for empty and not empty partitions""" img = 'core-image-minimal' diff --git a/poky/meta/lib/oeqa/selftest/context.py b/poky/meta/lib/oeqa/selftest/context.py index c56e53dcd..d279994dd 100644 --- a/poky/meta/lib/oeqa/selftest/context.py +++ b/poky/meta/lib/oeqa/selftest/context.py @@ -1,5 +1,8 @@ +# # Copyright (C) 2017 Intel Corporation -# Released under the MIT license (see COPYING.MIT) +# +# SPDX-License-Identifier: MIT +# import os import time diff --git a/poky/meta/lib/oeqa/targetcontrol.py b/poky/meta/lib/oeqa/targetcontrol.py index 1868ad320..15e617c95 100644 --- a/poky/meta/lib/oeqa/targetcontrol.py +++ b/poky/meta/lib/oeqa/targetcontrol.py @@ -1,6 +1,8 @@ +# # Copyright (C) 2013 Intel Corporation # -# Released under the MIT license (see COPYING.MIT) +# SPDX-License-Identifier: MIT +# # This module is used by testimage.bbclass for setting up and controlling a target machine. @@ -159,7 +161,7 @@ class QemuTarget(BaseTarget): def start(self, params=None, ssh=True, extra_bootparams='', runqemuparams='', launch_cmd='', discard_writes=True): if launch_cmd: - start = self.runner.launch(get_ip=ssh, launch_cmd=launch_cmd) + start = self.runner.launch(get_ip=ssh, launch_cmd=launch_cmd, qemuparams=params) else: start = self.runner.start(params, get_ip=ssh, extra_bootparams=extra_bootparams, runqemuparams=runqemuparams, discard_writes=discard_writes) diff --git a/poky/meta/lib/oeqa/utils/__init__.py b/poky/meta/lib/oeqa/utils/__init__.py index d38a32301..70fbe7b55 100644 --- a/poky/meta/lib/oeqa/utils/__init__.py +++ b/poky/meta/lib/oeqa/utils/__init__.py @@ -1,3 +1,6 @@ +# +# SPDX-License-Identifier: MIT +# # Enable other layers to have modules in the same named directory from pkgutil import extend_path __path__ = extend_path(__path__, __name__) diff --git a/poky/meta/lib/oeqa/utils/buildproject.py b/poky/meta/lib/oeqa/utils/buildproject.py index 01a803ab6..e6d80cc8d 100644 --- a/poky/meta/lib/oeqa/utils/buildproject.py +++ b/poky/meta/lib/oeqa/utils/buildproject.py @@ -1,6 +1,8 @@ +# # Copyright (C) 2013-2016 Intel Corporation # -# Released under the MIT license (see COPYING.MIT) +# SPDX-License-Identifier: MIT +# # Provides a class for automating build tests for projects diff --git a/poky/meta/lib/oeqa/utils/commands.py b/poky/meta/lib/oeqa/utils/commands.py index 2e6a2289c..59ebfbe12 100644 --- a/poky/meta/lib/oeqa/utils/commands.py +++ b/poky/meta/lib/oeqa/utils/commands.py @@ -1,6 +1,8 @@ +# # Copyright (c) 2013-2014 Intel Corporation # -# Released under the MIT license (see COPYING.MIT) +# SPDX-License-Identifier: MIT +# # DESCRIPTION # This module is mainly used by scripts/oe-selftest and modules under meta/oeqa/selftest diff --git a/poky/meta/lib/oeqa/utils/decorators.py b/poky/meta/lib/oeqa/utils/decorators.py index d87689692..aabf4110c 100644 --- a/poky/meta/lib/oeqa/utils/decorators.py +++ b/poky/meta/lib/oeqa/utils/decorators.py @@ -1,6 +1,8 @@ +# # Copyright (C) 2013 Intel Corporation # -# Released under the MIT license (see COPYING.MIT) +# SPDX-License-Identifier: MIT +# # Some custom decorators that can be used by unittests # Most useful is skipUnlessPassed which can be used for diff --git a/poky/meta/lib/oeqa/utils/dump.py b/poky/meta/lib/oeqa/utils/dump.py index 79c22b75c..d34e05e2b 100644 --- a/poky/meta/lib/oeqa/utils/dump.py +++ b/poky/meta/lib/oeqa/utils/dump.py @@ -1,3 +1,7 @@ +# +# SPDX-License-Identifier: MIT +# + import os import sys import errno diff --git a/poky/meta/lib/oeqa/utils/ftools.py b/poky/meta/lib/oeqa/utils/ftools.py index a7233d4ca..3093419cc 100644 --- a/poky/meta/lib/oeqa/utils/ftools.py +++ b/poky/meta/lib/oeqa/utils/ftools.py @@ -1,3 +1,7 @@ +# +# SPDX-License-Identifier: MIT +# + import os import re import errno diff --git a/poky/meta/lib/oeqa/utils/git.py b/poky/meta/lib/oeqa/utils/git.py index 757e3f0cb..ea35a766e 100644 --- a/poky/meta/lib/oeqa/utils/git.py +++ b/poky/meta/lib/oeqa/utils/git.py @@ -1,7 +1,7 @@ # # Copyright (C) 2016 Intel Corporation # -# Released under the MIT license (see COPYING.MIT) +# SPDX-License-Identifier: MIT # """Git repository interactions""" import os diff --git a/poky/meta/lib/oeqa/utils/gitarchive.py b/poky/meta/lib/oeqa/utils/gitarchive.py index 9520b2e12..6e8040eb5 100644 --- a/poky/meta/lib/oeqa/utils/gitarchive.py +++ b/poky/meta/lib/oeqa/utils/gitarchive.py @@ -4,14 +4,7 @@ # Copyright (c) 2017, Intel Corporation. # Copyright (c) 2019, Linux Foundation # -# This program is free software; you can redistribute it and/or modify it -# under the terms and conditions of the GNU General Public License, -# version 2, as published by the Free Software Foundation. -# -# This program is distributed in the hope it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for -# more details. +# SPDX-License-Identifier: GPL-2.0-only # import os diff --git a/poky/meta/lib/oeqa/utils/httpserver.py b/poky/meta/lib/oeqa/utils/httpserver.py index a48d4994f..aa435590f 100644 --- a/poky/meta/lib/oeqa/utils/httpserver.py +++ b/poky/meta/lib/oeqa/utils/httpserver.py @@ -1,3 +1,7 @@ +# +# SPDX-License-Identifier: MIT +# + import http.server import multiprocessing import os diff --git a/poky/meta/lib/oeqa/utils/logparser.py b/poky/meta/lib/oeqa/utils/logparser.py index 32fde14a7..cc6d18d94 100644 --- a/poky/meta/lib/oeqa/utils/logparser.py +++ b/poky/meta/lib/oeqa/utils/logparser.py @@ -1,4 +1,7 @@ #!/usr/bin/env python +# +# SPDX-License-Identifier: MIT +# import sys import os @@ -86,3 +89,65 @@ class PtestParser(object): status = self.results[section][test_name] f.write(status + ": " + test_name + "\n") + +# ltp log parsing +class LtpParser(object): + def __init__(self): + self.results = {} + self.section = {'duration': "", 'log': ""} + + def parse(self, logfile): + test_regex = {} + test_regex['PASSED'] = re.compile(r"PASS") + test_regex['FAILED'] = re.compile(r"FAIL") + test_regex['SKIPPED'] = re.compile(r"SKIP") + + with open(logfile, errors='replace') as f: + for line in f: + for t in test_regex: + result = test_regex[t].search(line) + if result: + self.results[line.split()[0].strip()] = t + + for test in self.results: + result = self.results[test] + self.section['log'] = self.section['log'] + ("%s: %s\n" % (result.strip()[:-2], test.strip())) + + return self.results, self.section + + +# ltp Compliance log parsing +class LtpComplianceParser(object): + def __init__(self): + self.results = {} + self.section = {'duration': "", 'log': ""} + + def parse(self, logfile): + test_regex = {} + test_regex['PASSED'] = re.compile(r"^PASS") + test_regex['FAILED'] = re.compile(r"^FAIL") + test_regex['SKIPPED'] = re.compile(r"(?:UNTESTED)|(?:UNSUPPORTED)") + + section_regex = {} + section_regex['test'] = re.compile(r"^Testing") + + with open(logfile, errors='replace') as f: + for line in f: + result = section_regex['test'].search(line) + if result: + self.name = "" + self.name = line.split()[1].strip() + self.results[self.name] = "PASSED" + failed = 0 + + failed_result = test_regex['FAILED'].search(line) + if failed_result: + failed = line.split()[1].strip() + if int(failed) > 0: + self.results[self.name] = "FAILED" + + for test in self.results: + result = self.results[test] + self.section['log'] = self.section['log'] + ("%s: %s\n" % (result.strip()[:-2], test.strip())) + + return self.results, self.section diff --git a/poky/meta/lib/oeqa/utils/metadata.py b/poky/meta/lib/oeqa/utils/metadata.py index e0808ae0a..8013aa684 100644 --- a/poky/meta/lib/oeqa/utils/metadata.py +++ b/poky/meta/lib/oeqa/utils/metadata.py @@ -1,6 +1,6 @@ # Copyright (C) 2016 Intel Corporation # -# Released under the MIT license (see COPYING.MIT) +# SPDX-License-Identifier: MIT # # Functions to get metadata from the testing host used # for analytics of test results. diff --git a/poky/meta/lib/oeqa/utils/network.py b/poky/meta/lib/oeqa/utils/network.py index 2768f6c5d..59cbbc4f1 100644 --- a/poky/meta/lib/oeqa/utils/network.py +++ b/poky/meta/lib/oeqa/utils/network.py @@ -1,3 +1,7 @@ +# +# SPDX-License-Identifier: MIT +# + import socket def get_free_port(): diff --git a/poky/meta/lib/oeqa/utils/package_manager.py b/poky/meta/lib/oeqa/utils/package_manager.py index 1495f8732..2d358f717 100644 --- a/poky/meta/lib/oeqa/utils/package_manager.py +++ b/poky/meta/lib/oeqa/utils/package_manager.py @@ -1,3 +1,7 @@ +# +# SPDX-License-Identifier: MIT +# + import os import json import shutil diff --git a/poky/meta/lib/oeqa/utils/qemurunner.py b/poky/meta/lib/oeqa/utils/qemurunner.py index 49020c1e6..fd386ef5a 100644 --- a/poky/meta/lib/oeqa/utils/qemurunner.py +++ b/poky/meta/lib/oeqa/utils/qemurunner.py @@ -1,6 +1,8 @@ +# # Copyright (C) 2013 Intel Corporation # -# Released under the MIT license (see COPYING.MIT) +# SPDX-License-Identifier: MIT +# # This module provides a class for starting qemu images using runqemu. # It's used by testimage.bbclass. @@ -329,7 +331,7 @@ class QemuRunner: self.logger.debug("Target didn't reach login banner in %d seconds (%s)" % (self.boottime, time.strftime("%D %H:%M:%S"))) tail = lambda l: "\n".join(l.splitlines()[-25:]) - bootlog = boolog.decode("utf-8") + bootlog = bootlog.decode("utf-8") # in case bootlog is empty, use tail qemu log store at self.msg lines = tail(bootlog if bootlog else self.msg) self.logger.debug("Last 25 lines of text:\n%s" % lines) diff --git a/poky/meta/lib/oeqa/utils/qemutinyrunner.py b/poky/meta/lib/oeqa/utils/qemutinyrunner.py index 5aa99d068..364005bd2 100644 --- a/poky/meta/lib/oeqa/utils/qemutinyrunner.py +++ b/poky/meta/lib/oeqa/utils/qemutinyrunner.py @@ -1,6 +1,8 @@ +# # Copyright (C) 2015 Intel Corporation # -# Released under the MIT license (see COPYING.MIT) +# SPDX-License-Identifier: MIT +# # This module provides a class for starting qemu images of poky tiny. # It's used by testimage.bbclass. diff --git a/poky/meta/lib/oeqa/utils/sshcontrol.py b/poky/meta/lib/oeqa/utils/sshcontrol.py index d292893c0..49a07264c 100644 --- a/poky/meta/lib/oeqa/utils/sshcontrol.py +++ b/poky/meta/lib/oeqa/utils/sshcontrol.py @@ -1,7 +1,8 @@ -# -*- coding: utf-8 -*- +# # Copyright (C) 2013 Intel Corporation # -# Released under the MIT license (see COPYING.MIT) +# SPDX-License-Identifier: MIT +# # Provides a class for setting up ssh connections, # running commands and copying files to/from a target. diff --git a/poky/meta/lib/oeqa/utils/subprocesstweak.py b/poky/meta/lib/oeqa/utils/subprocesstweak.py index 1f7d11b55..b47975a4b 100644 --- a/poky/meta/lib/oeqa/utils/subprocesstweak.py +++ b/poky/meta/lib/oeqa/utils/subprocesstweak.py @@ -1,3 +1,6 @@ +# +# SPDX-License-Identifier: MIT +# import subprocess class OETestCalledProcessError(subprocess.CalledProcessError): diff --git a/poky/meta/lib/oeqa/utils/targetbuild.py b/poky/meta/lib/oeqa/utils/targetbuild.py index b8db7b2ac..1055810ca 100644 --- a/poky/meta/lib/oeqa/utils/targetbuild.py +++ b/poky/meta/lib/oeqa/utils/targetbuild.py @@ -1,6 +1,8 @@ +# # Copyright (C) 2013 Intel Corporation # -# Released under the MIT license (see COPYING.MIT) +# SPDX-License-Identifier: MIT +# # Provides a class for automating build tests for projects diff --git a/poky/meta/lib/oeqa/utils/testexport.py b/poky/meta/lib/oeqa/utils/testexport.py index be2a2110f..e89d130a9 100644 --- a/poky/meta/lib/oeqa/utils/testexport.py +++ b/poky/meta/lib/oeqa/utils/testexport.py @@ -1,6 +1,8 @@ +# # Copyright (C) 2015 Intel Corporation # -# Released under the MIT license (see COPYING.MIT) +# SPDX-License-Identifier: MIT +# # Provides functions to help with exporting binaries obtained from built targets diff --git a/poky/meta/lib/rootfspostcommands.py b/poky/meta/lib/rootfspostcommands.py index 4742e0613..fdb9f5b85 100644 --- a/poky/meta/lib/rootfspostcommands.py +++ b/poky/meta/lib/rootfspostcommands.py @@ -1,3 +1,7 @@ +# +# SPDX-License-Identifier: GPL-2.0-only +# + import os def sort_file(filename, mapping): diff --git a/poky/meta/recipes-bsp/gnu-efi/gnu-efi/gcc46-compatibility.patch b/poky/meta/recipes-bsp/gnu-efi/gnu-efi/gcc46-compatibility.patch deleted file mode 100644 index 69efd34e2..000000000 --- a/poky/meta/recipes-bsp/gnu-efi/gnu-efi/gcc46-compatibility.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 8d16ae374c5d4d9fac45c002605a66cfb8c08be5 Mon Sep 17 00:00:00 2001 -From: Steve Langasek <steve.langasek@ubuntu.com> -Date: Wed, 9 Sep 2015 08:26:06 +0000 -Subject: [PATCH 3/3] gnu-efi, syslinux: Support gcc < 4.7 - -don't break with old compilers and -DGNU_EFI_USE_MS_ABI -It's entirely legitimate to request GNU_EFI_USE_MS_ABI even if the current -compiler doesn't support it, and gnu-efi should transparently fall back to -using legacy techniques to set the calling convention. We don't get type -checking, but at least it will still compile. - -Author: Steve Langasek <steve.langasek@ubuntu.com> -Upstream-Status: Pending -[Rebased for 3.0.6] -Signed-off-by: California Sullivan <california.l.sullivan@intel.com> ---- - inc/x86_64/efibind.h | 2 -- - 1 file changed, 2 deletions(-) - -diff --git a/inc/x86_64/efibind.h b/inc/x86_64/efibind.h -index 4309f9f..02c0af1 100644 ---- a/inc/x86_64/efibind.h -+++ b/inc/x86_64/efibind.h -@@ -25,8 +25,6 @@ Revision History - #if defined(GNU_EFI_USE_MS_ABI) - #if (defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7)))||(defined(__clang__) && (__clang_major__ > 3 || (__clang_major__ == 3 && __clang_minor__ >= 2))) - #define HAVE_USE_MS_ABI 1 -- #else -- #error Compiler is too old for GNU_EFI_USE_MS_ABI - #endif - #endif - --- -2.9.4 - diff --git a/poky/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.9.bb b/poky/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.9.bb index 0667191fb..f84443547 100644 --- a/poky/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.9.bb +++ b/poky/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.9.bb @@ -15,7 +15,6 @@ LIC_FILES_CHKSUM = "file://gnuefi/crt0-efi-arm.S;beginline=4;endline=16;md5=e582 SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.bz2 \ file://parallel-make-archives.patch \ file://lib-Makefile-fix-parallel-issue.patch \ - file://gcc46-compatibility.patch \ " SRC_URI[md5sum] = "32af17b917545a693e549af2439c4a99" diff --git a/poky/meta/recipes-bsp/grub/files/disable-address-of-packed-member.patch b/poky/meta/recipes-bsp/grub/files/disable-address-of-packed-member.patch deleted file mode 100644 index 415f52ebe..000000000 --- a/poky/meta/recipes-bsp/grub/files/disable-address-of-packed-member.patch +++ /dev/null @@ -1,262 +0,0 @@ -Disable address-of-packed-member warnings with gcc9 - -gcc9 has turned this warning into error when -Werror is used, lets paper -it over by turning it into a warning for now - -Fixes - error: taking address of packed member of 'struct head' may result in an unaligned pointer value [-Werror=address-of-packed-member] - -Upstream-Status: Pending -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- a/grub-core/commands/lsacpi.c -+++ b/grub-core/commands/lsacpi.c -@@ -26,6 +26,9 @@ - #include <grub/dl.h> - - #pragma GCC diagnostic ignored "-Wcast-align" -+#if __GNUC__ >= 9 -+#pragma GCC diagnostic ignored "-Waddress-of-packed-member" -+#endif - - GRUB_MOD_LICENSE ("GPLv3+"); - ---- a/grub-core/commands/lspci.c -+++ b/grub-core/commands/lspci.c -@@ -26,6 +26,9 @@ - - GRUB_MOD_LICENSE ("GPLv3+"); - -+#if __GNUC__ >= 9 -+#pragma GCC diagnostic ignored "-Waddress-of-packed-member" -+#endif - struct grub_pci_classname - { - int class; -@@ -171,7 +174,7 @@ grub_lspci_iter (grub_pci_device_t dev, - - if (space == 0) - continue; -- -+ - switch (space & GRUB_PCI_ADDR_SPACE_MASK) - { - case GRUB_PCI_ADDR_SPACE_IO: -@@ -195,13 +198,13 @@ grub_lspci_iter (grub_pci_device_t dev, - (space & GRUB_PCI_ADDR_MEM_MASK), - space & GRUB_PCI_ADDR_MEM_PREFETCH - ? "prefetchable" : "non-prefetchable"); -- -+ - } - else - grub_printf ("\t32-bit memory space %d at 0x%016llx [%s]\n", - (unsigned) ((reg - GRUB_PCI_REG_ADDRESSES) - / sizeof (grub_uint32_t)) - 1, -- (unsigned long long) -+ (unsigned long long) - (space & GRUB_PCI_ADDR_MEM_MASK), - space & GRUB_PCI_ADDR_MEM_PREFETCH - ? "prefetchable" : "non-prefetchable"); ---- a/grub-core/fs/cpio_common.c -+++ b/grub-core/fs/cpio_common.c -@@ -26,7 +26,9 @@ - #include <grub/archelp.h> - - GRUB_MOD_LICENSE ("GPLv3+"); -- -+#if __GNUC__ >= 9 -+#pragma GCC diagnostic ignored "-Waddress-of-packed-member" -+#endif - struct grub_archelp_data - { - grub_disk_t disk; -@@ -108,7 +110,7 @@ grub_cpio_get_link_target (struct grub_a - if (!ret) - return NULL; - -- err = grub_disk_read (data->disk, 0, data->dofs, data->size, -+ err = grub_disk_read (data->disk, 0, data->dofs, data->size, - ret); - if (err) - { ---- a/grub-core/fs/hfs.c -+++ b/grub-core/fs/hfs.c -@@ -32,6 +32,9 @@ - #include <grub/fshelp.h> - - GRUB_MOD_LICENSE ("GPLv3+"); -+#if __GNUC__ >= 9 -+#pragma GCC diagnostic ignored "-Waddress-of-packed-member" -+#endif - - #define GRUB_HFS_SBLOCK 2 - #define GRUB_HFS_EMBED_HFSPLUS_SIG 0x482B -@@ -882,7 +885,7 @@ grub_hfs_iterate_dir_it_dir (struct grub - { - struct grub_hfs_catalog_key *ckey = rec->key; - struct grub_hfs_iterate_dir_node_found_ctx *ctx = hook_arg; -- -+ - /* Stop when the entries do not match anymore. */ - if (ckey->parent_dir != ctx->dir_be) - return 1; -@@ -1076,7 +1079,7 @@ macroman_to_utf8 (char *to, const grub_u - { - *optr++ = ':'; - continue; -- } -+ } - if (!(*iptr & 0x80)) - { - *optr++ = *iptr; -@@ -1093,7 +1096,7 @@ utf8_to_macroman (grub_uint8_t *to, cons - grub_uint8_t *end = to + 31; - grub_uint8_t *optr = to; - const char *iptr = from; -- -+ - while (*iptr && optr < end) - { - int i, clen; -@@ -1103,7 +1106,7 @@ utf8_to_macroman (grub_uint8_t *to, cons - *optr++ = '/'; - iptr++; - continue; -- } -+ } - if (!(*iptr & 0x80)) - { - *optr++ = *iptr++; -@@ -1164,7 +1167,7 @@ lookup_file (grub_fshelp_node_t dir, - *foundnode = grub_malloc (sizeof (struct grub_fshelp_node)); - if (!*foundnode) - return grub_errno; -- -+ - (*foundnode)->inode = grub_be_to_cpu32 (fdrec.dir.dirid); - (*foundnode)->fdrec = fdrec; - (*foundnode)->data = dir->data; -@@ -1265,7 +1268,7 @@ grub_hfs_dir (grub_device_t device, cons - .hook_data = hook_data - }; - grub_fshelp_node_t found = NULL; -- -+ - grub_dl_ref (my_mod); - - data = grub_hfs_mount (device->disk); -@@ -1294,7 +1297,7 @@ grub_hfs_open (struct grub_file *file, c - { - struct grub_hfs_data *data; - grub_fshelp_node_t found = NULL; -- -+ - grub_dl_ref (my_mod); - - data = grub_hfs_mount (file->device->disk); ---- a/grub-core/fs/hfsplus.c -+++ b/grub-core/fs/hfsplus.c -@@ -19,7 +19,7 @@ - - /* HFS+ is documented at http://developer.apple.com/technotes/tn/tn1150.html */ - --#define grub_fshelp_node grub_hfsplus_file -+#define grub_fshelp_node grub_hfsplus_file - #include <grub/err.h> - #include <grub/file.h> - #include <grub/mm.h> -@@ -34,6 +34,9 @@ - - GRUB_MOD_LICENSE ("GPLv3+"); - -+#if __GNUC__ >= 9 -+#pragma GCC diagnostic ignored "-Waddress-of-packed-member" -+#endif - /* The type of node. */ - enum grub_hfsplus_btnode_type - { -@@ -145,7 +148,7 @@ grub_hfsplus_read_block (grub_fshelp_nod - { - struct grub_hfsplus_btnode *nnode = 0; - grub_disk_addr_t blksleft = fileblock; -- struct grub_hfsplus_extent *extents = node->compressed -+ struct grub_hfsplus_extent *extents = node->compressed - ? &node->resource_extents[0] : &node->extents[0]; - - while (1) -@@ -461,7 +464,7 @@ grub_hfsplus_cmp_extkey (struct grub_hfs - - if (extkey_a->type < extkey_b->type) - return -1; -- -+ - akey = grub_be_to_cpu32 (extkey_a->start); - if (akey > extkey_b->start) - return 1; -@@ -548,7 +551,7 @@ grub_hfsplus_btree_search (struct grub_h - struct grub_hfsplus_key_internal *key, - int (*compare_keys) (struct grub_hfsplus_key *keya, - struct grub_hfsplus_key_internal *keyb), -- struct grub_hfsplus_btnode **matchnode, -+ struct grub_hfsplus_btnode **matchnode, - grub_off_t *keyoffset) - { - grub_uint64_t currnode; ---- a/grub-core/fs/jfs.c -+++ b/grub-core/fs/jfs.c -@@ -28,6 +28,9 @@ - #include <grub/i18n.h> - - GRUB_MOD_LICENSE ("GPLv3+"); -+#if __GNUC__ >= 9 -+#pragma GCC diagnostic ignored "-Waddress-of-packed-member" -+#endif - - #define GRUB_JFS_MAX_SYMLNK_CNT 8 - #define GRUB_JFS_FILETYPE_MASK 0170000 ---- a/grub-core/kern/efi/efi.c -+++ b/grub-core/kern/efi/efi.c -@@ -29,6 +29,9 @@ - #include <grub/mm.h> - #include <grub/loader.h> - -+#if __GNUC__ >= 9 -+#pragma GCC diagnostic ignored "-Waddress-of-packed-member" -+#endif - /* The handle of GRUB itself. Filled in by the startup code. */ - grub_efi_handle_t grub_efi_image_handle; - -@@ -201,7 +204,7 @@ grub_efi_set_variable(const char *var, c - - r = grub_efi_system_table->runtime_services; - -- status = efi_call_5 (r->set_variable, var16, guid, -+ status = efi_call_5 (r->set_variable, var16, guid, - (GRUB_EFI_VARIABLE_NON_VOLATILE - | GRUB_EFI_VARIABLE_BOOTSERVICE_ACCESS - | GRUB_EFI_VARIABLE_RUNTIME_ACCESS), ---- a/grub-core/loader/efi/chainloader.c -+++ b/grub-core/loader/efi/chainloader.c -@@ -41,6 +41,9 @@ - #endif - - GRUB_MOD_LICENSE ("GPLv3+"); -+#if __GNUC__ >= 9 -+#pragma GCC diagnostic ignored "-Waddress-of-packed-member" -+#endif - - static grub_dl_t my_mod; - ---- a/grub-core/commands/usbtest.c -+++ b/grub-core/commands/usbtest.c -@@ -63,6 +63,10 @@ static const char *usb_devspeed[] = - "High" - }; - -+#if __GNUC__ >= 9 -+#pragma GCC diagnostic ignored "-Waddress-of-packed-member" -+#endif -+ - static grub_usb_err_t - grub_usb_get_string (grub_usb_device_t dev, grub_uint8_t index, int langid, - char **string) diff --git a/poky/meta/recipes-bsp/grub/files/fix.build.with.gcc-7.patch b/poky/meta/recipes-bsp/grub/files/fix.build.with.gcc-7.patch deleted file mode 100644 index f35df97bf..000000000 --- a/poky/meta/recipes-bsp/grub/files/fix.build.with.gcc-7.patch +++ /dev/null @@ -1,39 +0,0 @@ -* e.g. with gentoo gcc-7.1 they define _FORTIFY_SOURCE by default with: - https://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo/src/patchsets/gcc/7.1.0/gentoo/10_all_default-fortify-source.patch?view=markup - which results in following error while building grub-efi-native: - ./config-util.h:1504:48: error: this use of "defined" may not be portable [-Werror=expansion-to-defined] - || (defined _FORTIFY_SOURCE && 0 < _FORTIFY_SOURCE \ - ^~~~~~~~~~~~~~~ - this part comes from gnulib and it's used only for Apple and BSD, - so we can ignore it, but we cannot add -Wno-error=expansion-to-defined - because this warning was introduced only in gcc-7 and older gcc - will fail with: - cc1: error: -Werror=expansion-to-defined: no option -Wexpansion-to-defined - use #pragma to work around this - -Upstream-Status: Pending (should be fixed in gnulib which is then rarely updated in grub) - -Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> - -diff -uNr grub-2.02.old/m4/extern-inline.m4 grub-2.02/m4/extern-inline.m4 ---- grub-2.02.old/m4/extern-inline.m4 2016-02-28 15:22:21.000000000 +0100 -+++ grub-2.02/m4/extern-inline.m4 2017-08-22 19:26:45.213637276 +0200 -@@ -39,6 +39,10 @@ - OS X 10.9 has a macro __header_inline indicating the bug is fixed for C and - for clang but remains for g++; see <http://trac.macports.org/ticket/41033>. - Assume DragonFly and FreeBSD will be similar. */ -+#pragma GCC diagnostic push -+#if __GNUC__ >= 7 -+#pragma GCC diagnostic ignored "-Wexpansion-to-defined" -+#endif - #if (((defined __APPLE__ && defined __MACH__) \ - || defined __DragonFly__ || defined __FreeBSD__) \ - && (defined __header_inline \ -@@ -50,6 +52,7 @@ - && defined __GNUC__ && ! defined __cplusplus)))) - # define _GL_EXTERN_INLINE_STDHEADER_BUG - #endif -+#pragma GCC diagnostic pop - #if ((__GNUC__ \ - ? defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ \ - : (199901L <= __STDC_VERSION__ \ diff --git a/poky/meta/recipes-bsp/grub/files/fix.build.with.squashfs.patch b/poky/meta/recipes-bsp/grub/files/fix.build.with.squashfs.patch deleted file mode 100644 index 2c2d2ea0b..000000000 --- a/poky/meta/recipes-bsp/grub/files/fix.build.with.squashfs.patch +++ /dev/null @@ -1,24 +0,0 @@ -When squashfs support is enabled, the build fails with: - -../grub-2.02/grub-core/fs/squash4.c: In function 'direct_read': -../grub-2.02/grub-core/fs/squash4.c:868:10: error: 'err' may be used uninitialized in this function [-Werror=maybe-uninitialized] - if (err) - ^ -cc1: all warnings being treated as errors -Makefile:7272: recipe for target 'grub-core/fs/libgrubmods_a-squash4.o' failed - -Upstream-Status: Pending (should be fixed in gnulib which is then rarely updated in grub) - -Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> - ---- grub-2.02/grub-core/fs/squash4.c 2019-03-10 20:00:14.070468728 +0000 -+++ grub-2.02.fixed/grub-core/fs/squash4.c 2019-03-10 19:58:31.382477818 +0000 -@@ -746,7 +746,7 @@ - struct grub_squash_cache_inode *ino, - grub_off_t off, char *buf, grub_size_t len) - { -- grub_err_t err; -+ grub_err_t err = 0; - grub_off_t cumulated_uncompressed_size = 0; - grub_uint64_t a = 0; - grub_size_t i; diff --git a/poky/meta/recipes-bsp/grub/grub-efi_2.02.bb b/poky/meta/recipes-bsp/grub/grub-efi_2.02.bb index 14fce97ff..0028a9b6e 100644 --- a/poky/meta/recipes-bsp/grub/grub-efi_2.02.bb +++ b/poky/meta/recipes-bsp/grub/grub-efi_2.02.bb @@ -41,10 +41,6 @@ inherit deploy CACHED_CONFIGUREVARS += "ac_cv_path_HELP2MAN=" EXTRA_OECONF += "--enable-efiemu=no" -# ldm.c:114:7: error: trampoline generated for nested function 'hook' [-Werror=trampolines] -# and many other places in the grub code when compiled with some native gcc compilers (specifically, gentoo) -CFLAGS_append_class-native = " -Wno-error=trampolines" - do_mkimage() { cd ${B} # Search for the grub.cfg on the local boot media by using the @@ -70,6 +66,7 @@ do_install_append_class-target() { do_install_class-native() { install -d ${D}${bindir} install -m 755 grub-mkimage ${D}${bindir} + install -m 755 grub-editenv ${D}${bindir} } do_install_class-target() { diff --git a/poky/meta/recipes-bsp/grub/grub2.inc b/poky/meta/recipes-bsp/grub/grub2.inc index c6994723f..7d8c280b3 100644 --- a/poky/meta/recipes-bsp/grub/grub2.inc +++ b/poky/meta/recipes-bsp/grub/grub2.inc @@ -17,12 +17,9 @@ SRC_URI = "https://ftp.gnu.org/gnu/grub/grub-${PV}.tar.gz \ file://autogen.sh-exclude-pc.patch \ file://grub-module-explicitly-keeps-symbole-.module_license.patch \ file://0001-grub.d-10_linux.in-add-oe-s-kernel-name.patch \ - file://fix.build.with.gcc-7.patch \ file://gcc8.patch \ file://0001-x86-64-Treat-R_X86_64_PLT32-as-R_X86_64_PC32.patch \ file://0001-grub-setup-Debug-message-cleanup.patch \ - file://disable-address-of-packed-member.patch \ - file://fix.build.with.squashfs.patch \ " SRC_URI[md5sum] = "1116d1f60c840e6dbd67abbc99acb45d" SRC_URI[sha256sum] = "660ee136fbcee08858516ed4de2ad87068bfe1b6b8b37896ce3529ff054a726d" @@ -63,6 +60,8 @@ BUILD_CFLAGS = "" BUILD_CXXFLAGS = "" BUILD_LDFLAGS = "" +CFLAGS_append = "-Wno-error" + do_configure_prepend() { # The grub2 configure script uses variables such as TARGET_CFLAGS etc # for its own purposes. Remove the OE versions from the environment to diff --git a/poky/meta/recipes-bsp/u-boot/u-boot-common.inc b/poky/meta/recipes-bsp/u-boot/u-boot-common.inc index dcfb9cc63..a0212e1b6 100644 --- a/poky/meta/recipes-bsp/u-boot/u-boot-common.inc +++ b/poky/meta/recipes-bsp/u-boot/u-boot-common.inc @@ -8,7 +8,7 @@ PE = "1" # We use the revision in order to avoid having to fetch it from the # repo during parse -SRCREV = "d3689267f92c5956e09cc7d1baa4700141662bff" +SRCREV = "3c99166441bf3ea325af2da83cfe65430b49c066" SRC_URI = "git://git.denx.de/u-boot.git" diff --git a/poky/meta/recipes-bsp/u-boot/u-boot-fw-utils_2019.01.bb b/poky/meta/recipes-bsp/u-boot/u-boot-fw-utils_2019.04.bb index b5ce56847..b5ce56847 100644 --- a/poky/meta/recipes-bsp/u-boot/u-boot-fw-utils_2019.01.bb +++ b/poky/meta/recipes-bsp/u-boot/u-boot-fw-utils_2019.04.bb diff --git a/poky/meta/recipes-bsp/u-boot/u-boot-tools_2019.01.bb b/poky/meta/recipes-bsp/u-boot/u-boot-tools_2019.04.bb index bede984ef..bede984ef 100644 --- a/poky/meta/recipes-bsp/u-boot/u-boot-tools_2019.01.bb +++ b/poky/meta/recipes-bsp/u-boot/u-boot-tools_2019.04.bb diff --git a/poky/meta/recipes-bsp/u-boot/u-boot.inc b/poky/meta/recipes-bsp/u-boot/u-boot.inc index 96c1f9401..9a754fd09 100644 --- a/poky/meta/recipes-bsp/u-boot/u-boot.inc +++ b/poky/meta/recipes-bsp/u-boot/u-boot.inc @@ -13,7 +13,7 @@ DEPENDS += "swig-native python-native" EXTRA_OEMAKE = 'CROSS_COMPILE=${TARGET_PREFIX} CC="${TARGET_PREFIX}gcc ${TOOLCHAIN_OPTIONS}" V=1' EXTRA_OEMAKE += 'HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}"' -EXTRA_OEMAKE += 'PYTHON=nativepython STAGING_INCDIR=${STAGING_INCDIR_NATIVE} STAGING_LIBDIR=${STAGING_LIBDIR_NATIVE}' +EXTRA_OEMAKE += 'PYTHON2=nativepython STAGING_INCDIR=${STAGING_INCDIR_NATIVE} STAGING_LIBDIR=${STAGING_LIBDIR_NATIVE}' PACKAGECONFIG ??= "openssl" # u-boot will compile its own tools during the build, with specific diff --git a/poky/meta/recipes-bsp/u-boot/u-boot_2019.01.bb b/poky/meta/recipes-bsp/u-boot/u-boot_2019.04.bb index 02d67c0db..02d67c0db 100644 --- a/poky/meta/recipes-bsp/u-boot/u-boot_2019.01.bb +++ b/poky/meta/recipes-bsp/u-boot/u-boot_2019.04.bb diff --git a/poky/meta/recipes-connectivity/bind/bind_9.11.5.bb b/poky/meta/recipes-connectivity/bind/bind_9.11.5-P4.bb index 67672792b..1355841e6 100644 --- a/poky/meta/recipes-connectivity/bind/bind_9.11.5.bb +++ b/poky/meta/recipes-connectivity/bind/bind_9.11.5-P4.bb @@ -3,7 +3,7 @@ HOMEPAGE = "http://www.isc.org/sw/bind/" SECTION = "console/network" LICENSE = "ISC & BSD" -LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=6ba7c9fe0c888a943c79c93e6de744fb" +LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=8f17f64e47e83b60cd920a1e4b54419e" DEPENDS = "openssl libcap zlib" @@ -22,8 +22,8 @@ SRC_URI = "https://ftp.isc.org/isc/bind9/${PV}/${BPN}-${PV}.tar.gz \ file://0001-avoid-start-failure-with-bind-user.patch \ " -SRC_URI[md5sum] = "17a0d02102117c9a221e857cf2cc8157" -SRC_URI[sha256sum] = "a4cae11dad954bdd4eb592178f875bfec09fcc7e29fe0f6b7a4e5b5c6bc61322" +SRC_URI[md5sum] = "8ddab4b61fa4516fe404679c74e37960" +SRC_URI[sha256sum] = "7e8c08192bcbaeb6e9f2391a70e67583b027b90e8c4bc1605da6eb126edde434" UPSTREAM_CHECK_URI = "https://ftp.isc.org/isc/bind9/" UPSTREAM_CHECK_REGEX = "(?P<pver>9(\.\d+)+(-P\d+)*)/" diff --git a/poky/meta/recipes-connectivity/connman/connman.inc b/poky/meta/recipes-connectivity/connman/connman.inc index 0a117e44a..ae67079c7 100644 --- a/poky/meta/recipes-connectivity/connman/connman.inc +++ b/poky/meta/recipes-connectivity/connman/connman.inc @@ -53,6 +53,7 @@ PACKAGECONFIG[pptp] = "--enable-pptp --with-pptp=${sbindir}/pptp,--disable-pptp, 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" +PACKAGECONFIG[nfc] = "--enable-neard, --disable-neard, neard, neard" INITSCRIPT_NAME = "connman" INITSCRIPT_PARAMS = "start 05 5 2 3 . stop 22 0 1 6 ." diff --git a/poky/meta/recipes-connectivity/connman/connman/0001-Fix-various-issues-which-cause-problems-under-musl.patch b/poky/meta/recipes-connectivity/connman/connman/0001-Fix-various-issues-which-cause-problems-under-musl.patch deleted file mode 100644 index f344fea10..000000000 --- a/poky/meta/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/poky/meta/recipes-connectivity/connman/connman_1.36.bb b/poky/meta/recipes-connectivity/connman/connman_1.37.bb index 6e4dbdfda..2cf904cd8 100644 --- a/poky/meta/recipes-connectivity/connman/connman_1.36.bb +++ b/poky/meta/recipes-connectivity/connman/connman_1.37.bb @@ -5,12 +5,11 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/network/${BPN}/${BP}.tar.xz \ 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" +SRC_URI[md5sum] = "75012084f14fb63a84b116e66c6e94fb" +SRC_URI[sha256sum] = "6ce29b3eb0bb16a7387bc609c39455fd13064bdcde5a4d185fab3a0c71946e16" RRECOMMENDS_${PN} = "connman-conf" diff --git a/poky/meta/recipes-connectivity/dhcp/dhcp/0001-Fix-a-NSUPDATE-compiling-issue.patch b/poky/meta/recipes-connectivity/dhcp/dhcp/0001-Fix-a-NSUPDATE-compiling-issue.patch new file mode 100644 index 000000000..f12a112fc --- /dev/null +++ b/poky/meta/recipes-connectivity/dhcp/dhcp/0001-Fix-a-NSUPDATE-compiling-issue.patch @@ -0,0 +1,68 @@ +From a59cb98a473caa2afd64d7ae368480b6e9f91b3f Mon Sep 17 00:00:00 2001 +From: Ming Liu <liu.ming50@gmail.com> +Date: Tue, 14 May 2019 11:07:15 +0200 +Subject: [PATCH] Fix a NSUPDATE compiling issue + +Upstream-Status: Pending [Patch sent to: https://gitlab.isc.org/isc-projects/dhcp/issues/16] + +A following error was observed when NSUPDATE is not defined: +| omapip/isclib.c: In function 'dns_client_init': +| omapip/isclib.c:356:18: error: 'dhcp_context_t {aka struct dhcp_context}' has no member named 'dnsclient' +| if (dhcp_gbl_ctx.dnsclient == NULL) { +| ^ +| omapip/isclib.c:363:24: error: 'dhcp_context_t {aka struct dhcp_context}' has no member named 'dnsclient' +| &dhcp_gbl_ctx.dnsclient, +| ^ +| omapip/isclib.c:364:24: error: 'dhcp_context_t {aka struct dhcp_context}' has no member named 'use_local4' +| (dhcp_gbl_ctx.use_local4 ? +| ^ +| omapip/isclib.c:365:25: error: 'dhcp_context_t {aka struct dhcp_context}' has no member named 'local4_sockaddr' +| &dhcp_gbl_ctx.local4_sockaddr +| ^ +| omapip/isclib.c:367:24: error: 'dhcp_context_t {aka struct dhcp_context}' has no member named 'use_local6' +| (dhcp_gbl_ctx.use_local6 ? +| ^ +| omapip/isclib.c:368:25: error: 'dhcp_context_t {aka struct dhcp_context}' has no member named 'local6_sockaddr' +| &dhcp_gbl_ctx.local6_sockaddr + +Fix it by adding NSUPDATE conditional checking. + +Signed-off-by: Ming Liu <liu.ming50@gmail.com> +--- + includes/omapip/isclib.h | 2 ++ + omapip/isclib.c | 2 ++ + 2 files changed, 4 insertions(+) + +diff --git a/includes/omapip/isclib.h b/includes/omapip/isclib.h +index 538b927..6c20584 100644 +--- a/includes/omapip/isclib.h ++++ b/includes/omapip/isclib.h +@@ -141,6 +141,8 @@ void isclib_cleanup(void); + void dhcp_signal_handler(int signal); + extern int shutdown_signal; + ++#if defined (NSUPDATE) + isc_result_t dns_client_init(); ++#endif + + #endif /* ISCLIB_H */ +diff --git a/omapip/isclib.c b/omapip/isclib.c +index db3b895..ce4b4a1 100644 +--- a/omapip/isclib.c ++++ b/omapip/isclib.c +@@ -351,6 +351,7 @@ void dhcp_signal_handler(int signal) { + } + } + ++#if defined (NSUPDATE) + isc_result_t dns_client_init() { + isc_result_t result; + if (dhcp_gbl_ctx.dnsclient == NULL) { +@@ -387,3 +388,4 @@ isc_result_t dns_client_init() { + + return ISC_R_SUCCESS; + } ++#endif +-- +2.7.4 + diff --git a/poky/meta/recipes-connectivity/dhcp/dhcp/0001-dhcpd-fix-Replace-custom-isc_boolean_t-with-C-standa.patch b/poky/meta/recipes-connectivity/dhcp/dhcp/0001-dhcpd-fix-Replace-custom-isc_boolean_t-with-C-standa.patch deleted file mode 100644 index d2e57714c..000000000 --- a/poky/meta/recipes-connectivity/dhcp/dhcp/0001-dhcpd-fix-Replace-custom-isc_boolean_t-with-C-standa.patch +++ /dev/null @@ -1,2882 +0,0 @@ -From ffb1d1325bd6503df9a324befac5f5039ac77432 Mon Sep 17 00:00:00 2001 -From: Armin Kuster <akuster@mvista.com> -Date: Tue, 23 Oct 2018 10:36:56 +0000 -Subject: [PATCH] dhcpd: fix Replace custom isc_boolean_t with C standard bool - type - - -Upstream-Status: Pending - -Fixes issues introduced by bind when they changed their headers. - -Signed-off-by: Armin Kuster <akuster@mvista.com> ---- - includes/dhcpd.h | 34 +++++++++++++++++----------------- - includes/heap.h | 2 +- - includes/omapip/omapip.h | 2 +- - includes/omapip/omapip_p.h | 6 +++--- - includes/tree.h | 2 +- - 5 files changed, 23 insertions(+), 23 deletions(-) - -Index: dhcp-4.4.1/includes/dhcpd.h -=================================================================== ---- dhcp-4.4.1.orig/includes/dhcpd.h -+++ dhcp-4.4.1/includes/dhcpd.h -@@ -461,20 +461,20 @@ struct packet { - * options we got in a previous exchange were still there, we need - * to signal this in a reliable way. - */ -- isc_boolean_t agent_options_stashed; -+ bool agent_options_stashed; - - /* - * ISC_TRUE if packet received unicast (as opposed to multicast). - * Only used in DHCPv6. - */ -- isc_boolean_t unicast; -+ bool unicast; - - /* Propagates server value SV_ECHO_CLIENT_ID so it is available - * in cons_options() */ - int sv_echo_client_id; - - /* Relay port check */ -- isc_boolean_t relay_source_port; -+ bool relay_source_port; - }; - - /* -@@ -1174,7 +1174,7 @@ struct dhc6_lease { - struct dhc6_lease *next; - struct data_string server_id; - -- isc_boolean_t released; -+ bool released; - int score; - u_int8_t pref; - -@@ -1695,8 +1695,8 @@ struct ipv6_pool { - int bits; /* number of bits, CIDR style */ - int units; /* allocation unit in bits */ - iasubopt_hash_t *leases; /* non-free leases */ -- isc_uint64_t num_active; /* count of active leases */ -- isc_uint64_t num_abandoned; /* count of abandoned leases */ -+ uint64_t num_active; /* count of active leases */ -+ uint64_t num_abandoned; /* count of abandoned leases */ - isc_heap_t *active_timeouts; /* timeouts for active leases */ - int num_inactive; /* count of inactive leases */ - isc_heap_t *inactive_timeouts; /* timeouts for expired or -@@ -1732,11 +1732,11 @@ struct ipv6_pond { - struct ipv6_pool **ipv6_pools; /* NULL-terminated array */ - int last_ipv6_pool; /* offset of last IPv6 pool - used to issue a lease */ -- isc_uint64_t num_total; /* Total number of elements in the pond */ -- isc_uint64_t num_active; /* Number of elements in the pond in use */ -- isc_uint64_t num_abandoned; /* count of abandoned leases */ -+ uint64_t num_total; /* Total number of elements in the pond */ -+ uint64_t num_active; /* Number of elements in the pond in use */ -+ uint64_t num_abandoned; /* count of abandoned leases */ - int logged; /* already logged a message */ -- isc_uint64_t low_threshold; /* low threshold to restart logging */ -+ uint64_t low_threshold; /* low threshold to restart logging */ - int jumbo_range; - #ifdef EUI_64 - int use_eui_64; /* use EUI-64 address assignment when true */ -@@ -1745,9 +1745,9 @@ struct ipv6_pond { - - /* - * Max addresses in a pond that can be supported by log threshold -- * Currently based on max value supported by isc_uint64_t. -+ * Currently based on max value supported by uint64_t. - */ --#define POND_TRACK_MAX ISC_UINT64_MAX -+#define POND_TRACK_MAX UINT64_MAX - - /* Flags for dhcp_ddns_cb_t */ - #define DDNS_UPDATE_ADDR 0x0001 -@@ -1868,7 +1868,7 @@ lookup_fqdn6_option(struct universe *uni - unsigned code); - void - save_fqdn6_option(struct universe *universe, struct option_state *options, -- struct option_cache *oc, isc_boolean_t appendp); -+ struct option_cache *oc, bool appendp); - void - delete_fqdn6_option(struct universe *universe, struct option_state *options, - int code); -@@ -1953,7 +1953,7 @@ void save_option(struct universe *, stru - void also_save_option(struct universe *, struct option_state *, - struct option_cache *); - void save_hashed_option(struct universe *, struct option_state *, -- struct option_cache *, isc_boolean_t appendp); -+ struct option_cache *, bool appendp); - void delete_option (struct universe *, struct option_state *, int); - void delete_hashed_option (struct universe *, - struct option_state *, int); -@@ -2041,7 +2041,7 @@ int linked_option_state_dereference (str - struct option_state *, - const char *, int); - void save_linked_option(struct universe *, struct option_state *, -- struct option_cache *, isc_boolean_t appendp); -+ struct option_cache *, bool appendp); - void linked_option_space_foreach (struct packet *, struct lease *, - struct client_state *, - struct option_state *, -@@ -2069,7 +2069,7 @@ void do_packet (struct interface_info *, - struct dhcp_packet *, unsigned, - unsigned int, struct iaddr, struct hardware *); - void do_packet6(struct interface_info *, const char *, -- int, int, const struct iaddr *, isc_boolean_t); -+ int, int, const struct iaddr *, bool); - int packet6_len_okay(const char *, int); - - int validate_packet(struct packet *); -@@ -2224,7 +2224,7 @@ uint32_t parse_byte_order_uint32(const v - int ddns_updates(struct packet *, struct lease *, struct lease *, - struct iasubopt *, struct iasubopt *, struct option_state *); - isc_result_t ddns_removals(struct lease *, struct iasubopt *, -- struct dhcp_ddns_cb *, isc_boolean_t); -+ struct dhcp_ddns_cb *, bool); - u_int16_t get_conflict_mask(struct option_state *input_options); - #if defined (TRACING) - void trace_ddns_init(void); -@@ -2450,7 +2450,7 @@ void dhcpleasequery (struct packet *, in - void dhcpv6_leasequery (struct data_string *, struct packet *); - - /* dhcpv6.c */ --isc_boolean_t server_duid_isset(void); -+bool server_duid_isset(void); - void copy_server_duid(struct data_string *ds, const char *file, int line); - void set_server_duid(struct data_string *new_duid); - isc_result_t set_server_duid_from_option(void); -@@ -2852,7 +2852,7 @@ extern void (*bootp_packet_handler) (str - struct iaddr, struct hardware *); - extern void (*dhcpv6_packet_handler)(struct interface_info *, - const char *, int, -- int, const struct iaddr *, isc_boolean_t); -+ int, const struct iaddr *, bool); - extern struct timeout *timeouts; - extern omapi_object_type_t *dhcp_type_interface; - #if defined (TRACING) -@@ -2943,7 +2943,7 @@ int addr_or(struct iaddr *result, - const struct iaddr *a1, const struct iaddr *a2); - int addr_and(struct iaddr *result, - const struct iaddr *a1, const struct iaddr *a2); --isc_boolean_t is_cidr_mask_valid(const struct iaddr *addr, int bits); -+bool is_cidr_mask_valid(const struct iaddr *addr, int bits); - isc_result_t range2cidr(struct iaddrcidrnetlist **result, - const struct iaddr *lo, const struct iaddr *hi); - isc_result_t free_iaddrcidrnetlist(struct iaddrcidrnetlist **result); -@@ -3787,7 +3787,7 @@ isc_result_t ia_add_iasubopt(struct ia_x - const char *file, int line); - void ia_remove_iasubopt(struct ia_xx *ia, struct iasubopt *iasubopt, - const char *file, int line); --isc_boolean_t ia_equal(const struct ia_xx *a, const struct ia_xx *b); -+bool ia_equal(const struct ia_xx *a, const struct ia_xx *b); - - isc_result_t ipv6_pool_allocate(struct ipv6_pool **pool, u_int16_t type, - const struct in6_addr *start_addr, -@@ -3820,9 +3820,9 @@ isc_result_t expire_lease6(struct iasubo - struct ipv6_pool *pool, time_t now); - isc_result_t release_lease6(struct ipv6_pool *pool, struct iasubopt *lease); - isc_result_t decline_lease6(struct ipv6_pool *pool, struct iasubopt *lease); --isc_boolean_t lease6_exists(const struct ipv6_pool *pool, -+bool lease6_exists(const struct ipv6_pool *pool, - const struct in6_addr *addr); --isc_boolean_t lease6_usable(struct iasubopt *lease); -+bool lease6_usable(struct iasubopt *lease); - isc_result_t cleanup_lease6(ia_hash_t *ia_table, - struct ipv6_pool *pool, - struct iasubopt *lease, -@@ -3834,13 +3834,13 @@ isc_result_t create_prefix6(struct ipv6_ - unsigned int *attempts, - const struct data_string *uid, - time_t soft_lifetime_end_time); --isc_boolean_t prefix6_exists(const struct ipv6_pool *pool, -+bool prefix6_exists(const struct ipv6_pool *pool, - const struct in6_addr *pref, u_int8_t plen); - - isc_result_t add_ipv6_pool(struct ipv6_pool *pool); - isc_result_t find_ipv6_pool(struct ipv6_pool **pool, u_int16_t type, - const struct in6_addr *addr); --isc_boolean_t ipv6_in_pool(const struct in6_addr *addr, -+bool ipv6_in_pool(const struct in6_addr *addr, - const struct ipv6_pool *pool); - isc_result_t ipv6_pond_allocate(struct ipv6_pond **pond, - const char *file, int line); -Index: dhcp-4.4.1/includes/heap.h -=================================================================== ---- dhcp-4.4.1.orig/includes/heap.h -+++ dhcp-4.4.1/includes/heap.h -@@ -26,7 +26,7 @@ - * The comparision function returns ISC_TRUE if the first argument has - * higher priority than the second argument, and ISC_FALSE otherwise. - */ --typedef isc_boolean_t (*isc_heapcompare_t)(void *, void *); -+typedef bool (*isc_heapcompare_t)(void *, void *); - - /*% - * The index function allows the client of the heap to receive a callback -Index: dhcp-4.4.1/includes/omapip/omapip.h -=================================================================== ---- dhcp-4.4.1.orig/includes/omapip/omapip.h -+++ dhcp-4.4.1/includes/omapip/omapip.h -@@ -264,7 +264,7 @@ isc_result_t omapi_protocol_connect (oma - isc_result_t omapi_connect_list (omapi_object_t *, omapi_addr_list_t *, - omapi_addr_t *); - isc_result_t omapi_protocol_listen (omapi_object_t *, unsigned, int); --isc_boolean_t omapi_protocol_authenticated (omapi_object_t *); -+bool omapi_protocol_authenticated (omapi_object_t *); - isc_result_t omapi_protocol_configure_security (omapi_object_t *, - isc_result_t (*) - (omapi_object_t *, -Index: dhcp-4.4.1/includes/omapip/omapip_p.h -=================================================================== ---- dhcp-4.4.1.orig/includes/omapip/omapip_p.h -+++ dhcp-4.4.1/includes/omapip/omapip_p.h -@@ -149,7 +149,7 @@ typedef struct __omapi_protocol_object { - omapi_remote_auth_t *remote_auth_list; /* Authenticators active on - this connection. */ - -- isc_boolean_t insecure; /* Set to allow unauthenticated -+ bool insecure; /* Set to allow unauthenticated - messages. */ - - isc_result_t (*verify_auth) (omapi_object_t *, omapi_auth_key_t *); -@@ -158,7 +158,7 @@ typedef struct __omapi_protocol_object { - typedef struct { - OMAPI_OBJECT_PREAMBLE; - -- isc_boolean_t insecure; /* Set to allow unauthenticated -+ bool insecure; /* Set to allow unauthenticated - messages. */ - - isc_result_t (*verify_auth) (omapi_object_t *, omapi_auth_key_t *); -@@ -208,7 +208,7 @@ typedef struct __omapi_io_object { - isc_result_t (*writer) (omapi_object_t *); - isc_result_t (*reaper) (omapi_object_t *); - isc_socket_t *fd; -- isc_boolean_t closed; /* ISC_TRUE = closed, do not use */ -+ bool closed; /* ISC_TRUE = closed, do not use */ - } omapi_io_object_t; - - typedef struct __omapi_generic_object { -Index: dhcp-4.4.1/includes/tree.h -=================================================================== ---- dhcp-4.4.1.orig/includes/tree.h -+++ dhcp-4.4.1/includes/tree.h -@@ -304,7 +304,7 @@ struct universe { - struct option_state *, - unsigned); - void (*save_func) (struct universe *, struct option_state *, -- struct option_cache *, isc_boolean_t); -+ struct option_cache *, bool ); - void (*foreach) (struct packet *, - struct lease *, struct client_state *, - struct option_state *, struct option_state *, -Index: dhcp-4.4.1/common/conflex.c -=================================================================== ---- dhcp-4.4.1.orig/common/conflex.c -+++ dhcp-4.4.1/common/conflex.c -@@ -322,7 +322,7 @@ get_raw_token(struct parse *cfile) { - - static enum dhcp_token - get_next_token(const char **rval, unsigned *rlen, -- struct parse *cfile, isc_boolean_t raw) { -+ struct parse *cfile, bool raw) { - int rv; - - if (cfile -> token) { -@@ -367,7 +367,7 @@ get_next_token(const char **rval, unsign - - enum dhcp_token - next_token(const char **rval, unsigned *rlen, struct parse *cfile) { -- return get_next_token(rval, rlen, cfile, ISC_FALSE); -+ return get_next_token(rval, rlen, cfile, false); - } - - -@@ -378,7 +378,7 @@ next_token(const char **rval, unsigned * - - enum dhcp_token - next_raw_token(const char **rval, unsigned *rlen, struct parse *cfile) { -- return get_next_token(rval, rlen, cfile, ISC_TRUE); -+ return get_next_token(rval, rlen, cfile, true); - } - - -@@ -393,7 +393,7 @@ next_raw_token(const char **rval, unsign - - enum dhcp_token - do_peek_token(const char **rval, unsigned int *rlen, -- struct parse *cfile, isc_boolean_t raw) { -+ struct parse *cfile, bool raw) { - int x; - - if (!cfile->token || (!raw && (cfile->token == WHITESPACE))) { -@@ -441,7 +441,7 @@ do_peek_token(const char **rval, unsigne - - enum dhcp_token - peek_token(const char **rval, unsigned *rlen, struct parse *cfile) { -- return do_peek_token(rval, rlen, cfile, ISC_FALSE); -+ return do_peek_token(rval, rlen, cfile, false); - } - - -@@ -452,7 +452,7 @@ peek_token(const char **rval, unsigned * - - enum dhcp_token - peek_raw_token(const char **rval, unsigned *rlen, struct parse *cfile) { -- return do_peek_token(rval, rlen, cfile, ISC_TRUE); -+ return do_peek_token(rval, rlen, cfile, true); - } - - static void skip_to_eol (cfile) -Index: dhcp-4.4.1/common/discover.c -=================================================================== ---- dhcp-4.4.1.orig/common/discover.c -+++ dhcp-4.4.1/common/discover.c -@@ -73,7 +73,7 @@ void (*bootp_packet_handler) (struct int - void (*dhcpv6_packet_handler)(struct interface_info *, - const char *, int, - int, const struct iaddr *, -- isc_boolean_t); -+ bool); - #endif /* DHCPv6 */ - - -@@ -236,7 +236,7 @@ struct iface_conf_list { - struct iface_info { - char name[IF_NAMESIZE+1]; /* name of the interface, e.g. "bge0" */ - struct sockaddr_storage addr; /* address information */ -- isc_uint64_t flags; /* interface flags, e.g. IFF_LOOPBACK */ -+ uint64_t flags; /* interface flags, e.g. IFF_LOOPBACK */ - }; - - /* -@@ -312,14 +312,14 @@ int - next_iface(struct iface_info *info, int *err, struct iface_conf_list *ifaces) { - struct LIFREQ *p; - struct LIFREQ tmp; -- isc_boolean_t foundif; -+ bool foundif; - #if defined(sun) || defined(__linux) - /* Pointer used to remove interface aliases. */ - char *s; - #endif - - do { -- foundif = ISC_FALSE; -+ foundif = false; - - if (ifaces->next >= ifaces->num) { - *err = 0; -@@ -353,8 +353,8 @@ next_iface(struct iface_info *info, int - } - #endif /* defined(sun) || defined(__linux) */ - -- foundif = ISC_TRUE; -- } while ((foundif == ISC_FALSE) || -+ foundif = true; -+ } while ((foundif == false) || - (strncmp(info->name, "dummy", 5) == 0)); - - memset(&tmp, 0, sizeof(tmp)); -@@ -410,7 +410,7 @@ struct iface_conf_list { - struct iface_info { - char name[IFNAMSIZ]; /* name of the interface, e.g. "bge0" */ - struct sockaddr_storage addr; /* address information */ -- isc_uint64_t flags; /* interface flags, e.g. IFF_LOOPBACK */ -+ uint64_t flags; /* interface flags, e.g. IFF_LOOPBACK */ - }; - - /* -@@ -1190,9 +1190,9 @@ got_one_v6(omapi_object_t *h) { - * If a packet is not multicast, we assume it is unicast. - */ - if (IN6_IS_ADDR_MULTICAST(&to)) { -- is_unicast = ISC_FALSE; -+ is_unicast = false; - } else { -- is_unicast = ISC_TRUE; -+ is_unicast = true; - } - - ifrom.len = 16; -Index: dhcp-4.4.1/omapip/iscprint.c -=================================================================== ---- dhcp-4.4.1.orig/omapip/iscprint.c -+++ dhcp-4.4.1/omapip/iscprint.c -@@ -59,8 +59,8 @@ isc_print_vsnprintf(char *str, size_t si - int plus; - int space; - int neg; -- isc_int64_t tmpi; -- isc_uint64_t tmpui; -+ int64_t tmpi; -+ uint64_t tmpui; - unsigned long width; - unsigned long precision; - unsigned int length; -@@ -234,7 +234,7 @@ isc_print_vsnprintf(char *str, size_t si - goto printint; - case 'o': - if (q) -- tmpui = va_arg(ap, isc_uint64_t); -+ tmpui = va_arg(ap, uint64_t); - else if (l) - tmpui = va_arg(ap, long int); - else -@@ -244,7 +244,7 @@ isc_print_vsnprintf(char *str, size_t si - goto printint; - case 'u': - if (q) -- tmpui = va_arg(ap, isc_uint64_t); -+ tmpui = va_arg(ap, uint64_t); - else if (l) - tmpui = va_arg(ap, unsigned long int); - else -@@ -253,7 +253,7 @@ isc_print_vsnprintf(char *str, size_t si - goto printint; - case 'x': - if (q) -- tmpui = va_arg(ap, isc_uint64_t); -+ tmpui = va_arg(ap, uint64_t); - else if (l) - tmpui = va_arg(ap, unsigned long int); - else -@@ -267,7 +267,7 @@ isc_print_vsnprintf(char *str, size_t si - goto printint; - case 'X': - if (q) -- tmpui = va_arg(ap, isc_uint64_t); -+ tmpui = va_arg(ap, uint64_t); - else if (l) - tmpui = va_arg(ap, unsigned long int); - else -Index: dhcp-4.4.1/server/confpars.c -=================================================================== ---- dhcp-4.4.1.orig/server/confpars.c -+++ dhcp-4.4.1/server/confpars.c -@@ -4005,15 +4005,15 @@ add_ipv6_pool_to_subnet(struct subnet *s - - /* Only bother if we aren't already flagged as jumbo */ - if (pond->jumbo_range == 0) { -- if ((units - bits) > (sizeof(isc_uint64_t) * 8)) { -+ if ((units - bits) > (sizeof(uint64_t) * 8)) { - pond->jumbo_range = 1; - pond->num_total = POND_TRACK_MAX; - } - else { -- isc_uint64_t space_left -+ uint64_t space_left - = POND_TRACK_MAX - pond->num_total; -- isc_uint64_t addon -- = (isc_uint64_t)(1) << (units - bits); -+ uint64_t addon -+ = (uint64_t)(1) << (units - bits); - - if (addon > space_left) { - pond->jumbo_range = 1; -@@ -4739,7 +4739,7 @@ parse_ia_na_declaration(struct parse *cf - struct iasubopt *iaaddr; - struct ipv6_pool *pool; - char addr_buf[sizeof("ffff:ffff:ffff:ffff:ffff:ffff:255.255.255.255")]; -- isc_boolean_t newbinding; -+ bool newbinding; - struct binding_scope *scope = NULL; - struct binding *bnd; - struct binding_value *nv = NULL; -@@ -4959,9 +4959,9 @@ parse_ia_na_declaration(struct parse *cf - } - strcpy(bnd->name, val); - -- newbinding = ISC_TRUE; -+ newbinding = true; - } else { -- newbinding = ISC_FALSE; -+ newbinding = false; - } - - if (!binding_value_allocate(&nv, MDL)) { -@@ -5186,7 +5186,7 @@ parse_ia_ta_declaration(struct parse *cf - struct iasubopt *iaaddr; - struct ipv6_pool *pool; - char addr_buf[sizeof("ffff:ffff:ffff:ffff:ffff:ffff:255.255.255.255")]; -- isc_boolean_t newbinding; -+ bool newbinding; - struct binding_scope *scope = NULL; - struct binding *bnd; - struct binding_value *nv = NULL; -@@ -5406,9 +5406,9 @@ parse_ia_ta_declaration(struct parse *cf - } - strcpy(bnd->name, val); - -- newbinding = ISC_TRUE; -+ newbinding = true; - } else { -- newbinding = ISC_FALSE; -+ newbinding = false; - } - - if (!binding_value_allocate(&nv, MDL)) { -@@ -5623,7 +5623,7 @@ parse_ia_pd_declaration(struct parse *cf - struct iasubopt *iapref; - struct ipv6_pool *pool; - char addr_buf[sizeof("ffff:ffff:ffff:ffff:ffff:ffff:255.255.255.255")]; -- isc_boolean_t newbinding; -+ bool newbinding; - struct binding_scope *scope = NULL; - struct binding *bnd; - struct binding_value *nv = NULL; -@@ -5843,9 +5843,9 @@ parse_ia_pd_declaration(struct parse *cf - } - strcpy(bnd->name, val); - -- newbinding = ISC_TRUE; -+ newbinding = true; - } else { -- newbinding = ISC_FALSE; -+ newbinding = false; - } - - if (!binding_value_allocate(&nv, MDL)) { -Index: dhcp-4.4.1/server/dhcpv6.c -=================================================================== ---- dhcp-4.4.1.orig/server/dhcpv6.c -+++ dhcp-4.4.1/server/dhcpv6.c -@@ -71,8 +71,8 @@ struct reply_state { - unsigned ia_count; - unsigned pd_count; - unsigned client_resources; -- isc_boolean_t resources_included; -- isc_boolean_t static_lease; -+ bool resources_included; -+ bool static_lease; - unsigned static_prefixes; - struct ia_xx *ia; - struct ia_xx *old_ia; -@@ -123,7 +123,7 @@ static isc_result_t shared_network_from_ - struct packet *packet); - static void seek_shared_host(struct host_decl **hp, - struct shared_network *shared); --static isc_boolean_t fixed_matches_shared(struct host_decl *host, -+static bool fixed_matches_shared(struct host_decl *host, - struct shared_network *shared); - static isc_result_t reply_process_ia_na(struct reply_state *reply, - struct option_cache *ia); -@@ -131,9 +131,9 @@ static isc_result_t reply_process_ia_ta( - struct option_cache *ia); - static isc_result_t reply_process_addr(struct reply_state *reply, - struct option_cache *addr); --static isc_boolean_t address_is_owned(struct reply_state *reply, -+static bool address_is_owned(struct reply_state *reply, - struct iaddr *addr); --static isc_boolean_t temporary_is_available(struct reply_state *reply, -+static bool temporary_is_available(struct reply_state *reply, - struct iaddr *addr); - static isc_result_t find_client_temporaries(struct reply_state *reply); - static isc_result_t reply_process_try_addr(struct reply_state *reply, -@@ -151,7 +151,7 @@ static isc_result_t reply_process_ia_pd( - static struct group *find_group_by_prefix(struct reply_state *reply); - static isc_result_t reply_process_prefix(struct reply_state *reply, - struct option_cache *pref); --static isc_boolean_t prefix_is_owned(struct reply_state *reply, -+static bool prefix_is_owned(struct reply_state *reply, - struct iaddrcidrnet *pref); - static isc_result_t find_client_prefix(struct reply_state *reply); - static isc_result_t reply_process_try_prefix(struct reply_state *reply, -@@ -174,7 +174,7 @@ static void unicast_reject(struct data_s - const struct data_string *client_id, - const struct data_string *server_id); - --static isc_boolean_t is_unicast_option_defined(struct packet *packet); -+static bool is_unicast_option_defined(struct packet *packet); - static isc_result_t shared_network_from_requested_addr (struct shared_network - **shared, - struct packet* packet); -@@ -363,7 +363,7 @@ static struct data_string server_duid; - /* - * Check if the server_duid has been set. - */ --isc_boolean_t -+bool - server_duid_isset(void) { - return (server_duid.data != NULL); - } -@@ -992,7 +992,7 @@ void check_pool6_threshold(struct reply_ - struct iasubopt *lease) - { - struct ipv6_pond *pond; -- isc_uint64_t used, count, high_threshold; -+ uint64_t used, count, high_threshold; - int poolhigh = 0, poollow = 0; - char *shared_name = "no name"; - char tmp_addr[INET6_ADDRSTRLEN]; -@@ -1310,9 +1310,9 @@ pick_v6_address(struct reply_state *repl - unsigned int attempts; - char tmp_buf[INET6_ADDRSTRLEN]; - struct iasubopt **addr = &reply->lease; -- isc_uint64_t total = 0; -- isc_uint64_t active = 0; -- isc_uint64_t abandoned = 0; -+ uint64_t total = 0; -+ uint64_t active = 0; -+ uint64_t abandoned = 0; - int jumbo_range = 0; - char *shared_name = (reply->shared->name ? - reply->shared->name : "(no name)"); -@@ -1825,7 +1825,7 @@ lease_to_client(struct data_string *repl - - /* Start counting resources (addresses) offered. */ - reply.client_resources = 0; -- reply.resources_included = ISC_FALSE; -+ reply.resources_included = false; - - status = reply_process_ia_na(&reply, oc); - -@@ -1843,7 +1843,7 @@ lease_to_client(struct data_string *repl - - /* Start counting resources (addresses) offered. */ - reply.client_resources = 0; -- reply.resources_included = ISC_FALSE; -+ reply.resources_included = false; - - status = reply_process_ia_ta(&reply, oc); - -@@ -1864,7 +1864,7 @@ lease_to_client(struct data_string *repl - - /* Start counting resources (prefixes) offered. */ - reply.client_resources = 0; -- reply.resources_included = ISC_FALSE; -+ reply.resources_included = false; - - status = reply_process_ia_pd(&reply, oc); - -@@ -2077,9 +2077,9 @@ reply_process_ia_na(struct reply_state * - tmp_addr, MDL) == 0) - log_fatal("Impossible condition at %s:%d.", MDL); - -- reply->static_lease = ISC_TRUE; -+ reply->static_lease = true; - } else -- reply->static_lease = ISC_FALSE; -+ reply->static_lease = false; - - /* - * Save the cursor position at the start of the IA, so we can -@@ -2778,7 +2778,7 @@ reply_process_addr(struct reply_state *r - * (fault out all else). Otherwise it's a dynamic address, so lookup - * that address and make sure it belongs to this DUID:IAID pair. - */ --static isc_boolean_t -+static bool - address_is_owned(struct reply_state *reply, struct iaddr *addr) { - int i; - struct ipv6_pond *pond; -@@ -2791,13 +2791,13 @@ address_is_owned(struct reply_state *rep - log_fatal("Impossible condition at %s:%d.", MDL); - - if (memcmp(addr->iabuf, reply->fixed.data, 16) == 0) -- return (ISC_TRUE); -+ return (true); - -- return (ISC_FALSE); -+ return (false); - } - - if ((reply->old_ia == NULL) || (reply->old_ia->num_iasubopt == 0)) -- return (ISC_FALSE); -+ return (false); - - for (i = 0 ; i < reply->old_ia->num_iasubopt ; i++) { - struct iasubopt *tmp; -@@ -2805,8 +2805,8 @@ address_is_owned(struct reply_state *rep - tmp = reply->old_ia->iasubopt[i]; - - if (memcmp(addr->iabuf, &tmp->addr, 16) == 0) { -- if (lease6_usable(tmp) == ISC_FALSE) { -- return (ISC_FALSE); -+ if (lease6_usable(tmp) == false) { -+ return (false); - } - - pond = tmp->ipv6_pool->ipv6_pond; -@@ -2814,15 +2814,15 @@ address_is_owned(struct reply_state *rep - (permitted(reply->packet, pond->prohibit_list))) || - ((pond->permit_list != NULL) && - (!permitted(reply->packet, pond->permit_list)))) -- return (ISC_FALSE); -+ return (false); - - iasubopt_reference(&reply->lease, tmp, MDL); - -- return (ISC_TRUE); -+ return (true); - } - } - -- return (ISC_FALSE); -+ return (false); - } - - /* Process a client-supplied IA_TA. This may append options to the tail of -@@ -2890,7 +2890,7 @@ reply_process_ia_ta(struct reply_state * - /* - * Temporary leases are dynamic by definition. - */ -- reply->static_lease = ISC_FALSE; -+ reply->static_lease = false; - - /* - * Save the cursor position at the start of the IA, so we can -@@ -2972,7 +2972,7 @@ reply_process_ia_ta(struct reply_state * - } - status = ISC_R_CANCELED; - reply->client_resources = 0; -- reply->resources_included = ISC_FALSE; -+ reply->resources_included = false; - if (reply->lease != NULL) - iasubopt_dereference(&reply->lease, MDL); - } -@@ -3364,7 +3364,7 @@ void shorten_lifetimes(struct reply_stat - /* - * Verify the temporary address is available. - */ --static isc_boolean_t -+static bool - temporary_is_available(struct reply_state *reply, struct iaddr *addr) { - struct in6_addr tmp_addr; - struct subnet *subnet; -@@ -3379,7 +3379,7 @@ temporary_is_available(struct reply_stat - * So this is not a request for this address. - */ - if (IN6_IS_ADDR_UNSPECIFIED(&tmp_addr)) -- return ISC_FALSE; -+ return false; - - /* - * Verify that this address is on the client's network. -@@ -3393,13 +3393,13 @@ temporary_is_available(struct reply_stat - - /* Address not found on shared network. */ - if (subnet == NULL) -- return ISC_FALSE; -+ return false; - - /* - * Check if this address is owned (must be before next step). - */ - if (address_is_owned(reply, addr)) -- return ISC_TRUE; -+ return true; - - /* - * Verify that this address is in a temporary pool and try to get it. -@@ -3424,18 +3424,18 @@ temporary_is_available(struct reply_stat - } - - if (pool == NULL) -- return ISC_FALSE; -+ return false; - if (lease6_exists(pool, &tmp_addr)) -- return ISC_FALSE; -+ return false; - if (iasubopt_allocate(&reply->lease, MDL) != ISC_R_SUCCESS) -- return ISC_FALSE; -+ return false; - reply->lease->addr = tmp_addr; - reply->lease->plen = 0; - /* Default is soft binding for 2 minutes. */ - if (add_lease6(pool, reply->lease, cur_time + 120) != ISC_R_SUCCESS) -- return ISC_FALSE; -+ return false; - -- return ISC_TRUE; -+ return true; - } - - /* -@@ -3652,7 +3652,7 @@ find_client_address(struct reply_state * - */ - - if ((candidate_shared != reply->shared) || -- (lease6_usable(lease) != ISC_TRUE)) -+ (lease6_usable(lease) != true)) - continue; - - if (((pond->prohibit_list != NULL) && -@@ -3971,7 +3971,7 @@ reply_process_send_addr(struct reply_sta - goto cleanup; - } - -- reply->resources_included = ISC_TRUE; -+ reply->resources_included = true; - - cleanup: - if (data.data != NULL) -@@ -4722,7 +4722,7 @@ reply_process_prefix(struct reply_state - * (fault out all else). Otherwise it's a dynamic prefix, so lookup - * that prefix and make sure it belongs to this DUID:IAID pair. - */ --static isc_boolean_t -+static bool - prefix_is_owned(struct reply_state *reply, struct iaddrcidrnet *pref) { - struct iaddrcidrnetlist *l; - int i; -@@ -4736,14 +4736,14 @@ prefix_is_owned(struct reply_state *repl - if ((pref->bits == l->cidrnet.bits) && - (memcmp(pref->lo_addr.iabuf, - l->cidrnet.lo_addr.iabuf, 16) == 0)) -- return (ISC_TRUE); -+ return (true); - } -- return (ISC_FALSE); -+ return (false); - } - - if ((reply->old_ia == NULL) || - (reply->old_ia->num_iasubopt == 0)) -- return (ISC_FALSE); -+ return (false); - - for (i = 0 ; i < reply->old_ia->num_iasubopt ; i++) { - struct iasubopt *tmp; -@@ -4752,8 +4752,8 @@ prefix_is_owned(struct reply_state *repl - - if ((pref->bits == (int) tmp->plen) && - (memcmp(pref->lo_addr.iabuf, &tmp->addr, 16) == 0)) { -- if (lease6_usable(tmp) == ISC_FALSE) { -- return (ISC_FALSE); -+ if (lease6_usable(tmp) == false) { -+ return (false); - } - - pond = tmp->ipv6_pool->ipv6_pond; -@@ -4761,14 +4761,14 @@ prefix_is_owned(struct reply_state *repl - (permitted(reply->packet, pond->prohibit_list))) || - ((pond->permit_list != NULL) && - (!permitted(reply->packet, pond->permit_list)))) -- return (ISC_FALSE); -+ return (false); - - iasubopt_reference(&reply->lease, tmp, MDL); -- return (ISC_TRUE); -+ return (true); - } - } - -- return (ISC_FALSE); -+ return (false); - } - - /* -@@ -4914,7 +4914,7 @@ find_client_prefix(struct reply_state *r - */ - if (((candidate_shared != NULL) && - (candidate_shared != reply->shared)) || -- (lease6_usable(prefix) != ISC_TRUE)) -+ (lease6_usable(prefix) != true)) - continue; - - /* -@@ -5233,7 +5233,7 @@ reply_process_send_prefix(struct reply_s - goto cleanup; - } - -- reply->resources_included = ISC_TRUE; -+ reply->resources_included = true; - - cleanup: - if (data.data != NULL) -@@ -5383,8 +5383,8 @@ dhcpv6_request(struct data_string *reply - - /* If the REQUEST arrived via unicast and unicast option isn't set, - * reject it per RFC 3315, Sec 18.2.1 */ -- if (packet->unicast == ISC_TRUE && -- is_unicast_option_defined(packet) == ISC_FALSE) { -+ if (packet->unicast == true && -+ is_unicast_option_defined(packet) == false) { - unicast_reject(reply_ret, packet, &client_id, &server_id); - } else { - /* -@@ -5505,7 +5505,7 @@ dhcpv6_confirm(struct data_string *reply - struct option_state *cli_enc_opt_state, *opt_state; - struct iaddr cli_addr; - int pass; -- isc_boolean_t inappropriate, has_addrs; -+ bool inappropriate, has_addrs; - char reply_data[65536]; - struct dhcpv6_packet *reply = (struct dhcpv6_packet *)reply_data; - int reply_ofs = (int)(offsetof(struct dhcpv6_packet, options)); -@@ -5556,7 +5556,7 @@ dhcpv6_confirm(struct data_string *reply - goto exit; - - /* Are the addresses in all the IA's appropriate for that link? */ -- has_addrs = inappropriate = ISC_FALSE; -+ has_addrs = inappropriate = false; - pass = D6O_IA_NA; - while(!inappropriate) { - /* If we've reached the end of the IA_NA pass, move to the -@@ -5602,7 +5602,7 @@ dhcpv6_confirm(struct data_string *reply - data_string_forget(&iaaddr, MDL); - - /* Record that we've processed at least one address. */ -- has_addrs = ISC_TRUE; -+ has_addrs = true; - - /* Find out if any subnets cover this address. */ - for (subnet = shared->subnets ; subnet != NULL ; -@@ -5621,7 +5621,7 @@ dhcpv6_confirm(struct data_string *reply - * continue searching. - */ - if (subnet == NULL) { -- inappropriate = ISC_TRUE; -+ inappropriate = true; - break; - } - } -@@ -5719,8 +5719,8 @@ dhcpv6_renew(struct data_string *reply, - - /* If the RENEW arrived via unicast and unicast option isn't set, - * reject it per RFC 3315, Sec 18.2.3 */ -- if (packet->unicast == ISC_TRUE && -- is_unicast_option_defined(packet) == ISC_FALSE) { -+ if (packet->unicast == true && -+ is_unicast_option_defined(packet) == false) { - unicast_reject(reply, packet, &client_id, &server_id); - } else { - /* -@@ -6142,8 +6142,8 @@ dhcpv6_decline(struct data_string *reply - - /* If the DECLINE arrived via unicast and unicast option isn't set, - * reject it per RFC 3315, Sec 18.2.7 */ -- if (packet->unicast == ISC_TRUE && -- is_unicast_option_defined(packet) == ISC_FALSE) { -+ if (packet->unicast == true && -+ is_unicast_option_defined(packet) == false) { - unicast_reject(reply, packet, &client_id, &server_id); - } else { - /* -@@ -6597,8 +6597,8 @@ dhcpv6_release(struct data_string *reply - - /* If the RELEASE arrived via unicast and unicast option isn't set, - * reject it per RFC 3315, Sec 18.2.6 */ -- if (packet->unicast == ISC_TRUE && -- is_unicast_option_defined(packet) == ISC_FALSE) { -+ if (packet->unicast == true && -+ is_unicast_option_defined(packet) == false) { - unicast_reject(reply, packet, &client_id, &server_id); - } else { - /* -@@ -6897,7 +6897,7 @@ dhcpv6_relay_forw(struct data_string *re - } - data_string_forget(&a_opt, MDL); - -- packet->relay_source_port = ISC_TRUE; -+ packet->relay_source_port = true; - } - #endif - -@@ -7219,7 +7219,7 @@ dhcp4o6_relay_forw(struct data_string *r - } - data_string_forget(&a_opt, MDL); - -- packet->relay_source_port = ISC_TRUE; -+ packet->relay_source_port = true; - } - #endif - -@@ -8036,35 +8036,35 @@ seek_shared_host(struct host_decl **hp, - host_reference(hp, seek, MDL); - } - --static isc_boolean_t -+static bool - fixed_matches_shared(struct host_decl *host, struct shared_network *shared) { - struct subnet *subnet; - struct data_string addr; -- isc_boolean_t matched; -+ bool matched; - struct iaddr fixed; - - if (host->fixed_addr == NULL) -- return ISC_FALSE; -+ return false; - - memset(&addr, 0, sizeof(addr)); - if (!evaluate_option_cache(&addr, NULL, NULL, NULL, NULL, NULL, - &global_scope, host->fixed_addr, MDL)) -- return ISC_FALSE; -+ return false; - - if (addr.len < 16) { - data_string_forget(&addr, MDL); -- return ISC_FALSE; -+ return false; - } - - fixed.len = 16; - memcpy(fixed.iabuf, addr.data, 16); - -- matched = ISC_FALSE; -+ matched = false; - for (subnet = shared->subnets ; subnet != NULL ; - subnet = subnet->next_sibling) { - if (addr_eq(subnet_number(fixed, subnet->netmask), - subnet->net)) { -- matched = ISC_TRUE; -+ matched = true; - break; - } - } -@@ -8167,15 +8167,15 @@ unicast_reject(struct data_string *reply - * statements from the network's group outward into a local option cache. - * The option cache is then scanned for the presence of unicast option. If - * the packet cannot be mapped to a shared network, the function returns -- * ISC_FALSE. -+ * false. - * \param packet inbound packet from the client - * -- * \return ISC_TRUE if the dhcp6.unicast option is defined, false otherwise. -+ * \return true if the dhcp6.unicast option is defined, false otherwise. - * - */ --isc_boolean_t -+bool - is_unicast_option_defined(struct packet *packet) { -- isc_boolean_t is_defined = ISC_FALSE; -+ bool is_defined = false; - struct option_state *opt_state = NULL; - struct option_cache *oc = NULL; - struct shared_network *shared = NULL; -@@ -8195,7 +8195,7 @@ is_unicast_option_defined(struct packet - * logic will catch it */ - log_error("is_unicast_option_defined:" - "cannot attribute packet to a network."); -- return (ISC_FALSE); -+ return (false); - } - - /* Now that we've mapped it to a network, execute statments to that -@@ -8205,7 +8205,7 @@ is_unicast_option_defined(struct packet - &global_scope, shared->group, NULL, NULL); - - oc = lookup_option(&dhcpv6_universe, opt_state, D6O_UNICAST); -- is_defined = (oc != NULL ? ISC_TRUE : ISC_FALSE); -+ is_defined = (oc != NULL ? true : false); - log_debug("is_unicast_option_defined: option found : %d", is_defined); - - if (shared != NULL) { -Index: dhcp-4.4.1/client/clparse.c -=================================================================== ---- dhcp-4.4.1.orig/client/clparse.c -+++ dhcp-4.4.1/client/clparse.c -@@ -1527,7 +1527,7 @@ parse_client6_lease_statement(struct par - - case TOKEN_RELEASED: - case TOKEN_ABANDONED: -- lease->released = ISC_TRUE; -+ lease->released = true; - break; - - default: -Index: dhcp-4.4.1/client/dhc6.c -=================================================================== ---- dhcp-4.4.1.orig/client/dhc6.c -+++ dhcp-4.4.1/client/dhc6.c -@@ -109,7 +109,7 @@ static isc_result_t dhc6_add_ia_pd(struc - u_int8_t message, - int wanted, - int *added); --static isc_boolean_t stopping_finished(void); -+static bool stopping_finished(void); - static void dhc6_merge_lease(struct dhc6_lease *src, struct dhc6_lease *dst); - void do_select6(void *input); - void do_refresh6(void *input); -@@ -131,7 +131,7 @@ static void script_write_params6(struct - const char *prefix, - struct option_state *options); - static void script_write_requested6(struct client_state *client); --static isc_boolean_t active_prefix(struct client_state *client); -+static bool active_prefix(struct client_state *client); - - static int check_timing6(struct client_state *client, u_int8_t msg_type, - char *msg_str, struct dhc6_lease *lease, -@@ -149,7 +149,7 @@ static isc_result_t dhc6_add_ia_na_decli - struct data_string *packet, - struct dhc6_lease *lease); - static int drop_declined_addrs(struct dhc6_lease *lease); --static isc_boolean_t unexpired_address_in_lease(struct dhc6_lease *lease); -+static bool unexpired_address_in_lease(struct dhc6_lease *lease); - - extern int onetry; - extern int stateless; -@@ -418,14 +418,14 @@ valid_reply(struct packet *packet, struc - { - struct data_string sid, cid; - struct option_cache *oc; -- int rval = ISC_TRUE; -+ int rval = true; - - memset(&sid, 0, sizeof(sid)); - memset(&cid, 0, sizeof(cid)); - - if (!lookup_option(&dhcpv6_universe, packet->options, D6O_SERVERID)) { - log_error("Response without a server identifier received."); -- rval = ISC_FALSE; -+ rval = false; - } - - oc = lookup_option(&dhcpv6_universe, packet->options, D6O_CLIENTID); -@@ -434,7 +434,7 @@ valid_reply(struct packet *packet, struc - client->sent_options, &global_scope, oc, - MDL)) { - log_error("Response without a client identifier."); -- rval = ISC_FALSE; -+ rval = false; - } - - oc = lookup_option(&dhcpv6_universe, client->sent_options, -@@ -444,7 +444,7 @@ valid_reply(struct packet *packet, struc - client->sent_options, NULL, &global_scope, - oc, MDL)) { - log_error("Local client identifier is missing!"); -- rval = ISC_FALSE; -+ rval = false; - } - - if (sid.len == 0 || -@@ -452,7 +452,7 @@ valid_reply(struct packet *packet, struc - memcmp(sid.data, cid.data, sid.len)) { - log_error("Advertise with matching transaction ID, but " - "mismatching client id."); -- rval = ISC_FALSE; -+ rval = false; - } - - /* clean up pointers to the strings */ -@@ -2375,7 +2375,7 @@ start_release6(struct client_state *clie - /* Note this in the lease file. */ - if (client->active_lease == NULL) - return; -- client->active_lease->released = ISC_TRUE; -+ client->active_lease->released = true; - write_client6_lease(client, client->active_lease, 0, 1); - - /* Set timers per RFC3315 section 18.1.6. */ -@@ -2612,7 +2612,7 @@ dhc6_check_advertise(struct dhc6_lease * - { - struct dhc6_ia *ia; - isc_result_t rval = ISC_R_SUCCESS; -- int have_addrs = ISC_FALSE; -+ int have_addrs = false; - unsigned code; - const char *scope; - int got_na = 0, got_ta = 0, got_pd = 0; -@@ -2650,14 +2650,14 @@ dhc6_check_advertise(struct dhc6_lease * - * Should we check the addr itself for usability? - */ - if (ia->addrs != NULL) { -- have_addrs = ISC_TRUE; -+ have_addrs = true; - } - } - - /* If we didn't get some addrs or the user required us to - * get all of the requested IAs and we didn't return an error - */ -- if ((have_addrs != ISC_TRUE) || -+ if ((have_addrs != true) || - ((require_all_ias != 0) && - ((got_na < wanted_ia_na) || - (got_ta < wanted_ia_ta) || -@@ -2670,7 +2670,7 @@ dhc6_check_advertise(struct dhc6_lease * - /* status code <-> action matrix for the client in INIT state - * (rapid/commit). Returns always false as no action is defined. - */ --static isc_boolean_t -+static bool - dhc6_init_action(struct client_state *client, isc_result_t *rvalp, - unsigned code) - { -@@ -2679,21 +2679,21 @@ dhc6_init_action(struct client_state *cl - - if (client == NULL) { - *rvalp = DHCP_R_INVALIDARG; -- return ISC_FALSE; -+ return false; - } - - if (*rvalp == ISC_R_SUCCESS) -- return ISC_FALSE; -+ return false; - - /* No possible action in any case... */ -- return ISC_FALSE; -+ return false; - } - - /* status code <-> action matrix for the client in SELECT state - * (request/reply). Returns true if action was taken (and the - * packet should be ignored), or false if no action was taken. - */ --static isc_boolean_t -+static bool - dhc6_select_action(struct client_state *client, isc_result_t *rvalp, - unsigned code) - { -@@ -2705,12 +2705,12 @@ dhc6_select_action(struct client_state * - - if (client == NULL) { - *rvalp = DHCP_R_INVALIDARG; -- return ISC_FALSE; -+ return false; - } - rval = *rvalp; - - if (rval == ISC_R_SUCCESS) -- return ISC_FALSE; -+ return false; - - switch (code) { - /* We may have an earlier failure status code (so no -@@ -2723,7 +2723,7 @@ dhc6_select_action(struct client_state * - case STATUS_NoBinding: - case STATUS_UseMulticast: - /* Take no action. */ -- return ISC_FALSE; -+ return false; - - /* If the server can't deal with us, either try the - * next advertised server, or continue retrying if there -@@ -2739,7 +2739,7 @@ dhc6_select_action(struct client_state * - - break; - } else /* Take no action - continue to retry. */ -- return ISC_FALSE; -+ return false; - - /* If the server has no addresses, try other servers if - * we got some, otherwise go to INIT to hope for more -@@ -2748,7 +2748,7 @@ dhc6_select_action(struct client_state * - case STATUS_NoAddrsAvail: - case STATUS_NoPrefixAvail: - if (client->state == S_REBOOTING) -- return ISC_FALSE; -+ return false; - - if (client->selected_lease == NULL) - log_fatal("Impossible case at %s:%d.", MDL); -@@ -2794,7 +2794,7 @@ dhc6_select_action(struct client_state * - break; - } - -- return ISC_TRUE; -+ return true; - } - - static void -@@ -2821,7 +2821,7 @@ dhc6_withdraw_lease(struct client_state - * (request/reply). Returns true if action was taken (and the - * packet should be ignored), or false if no action was taken. - */ --static isc_boolean_t -+static bool - dhc6_reply_action(struct client_state *client, isc_result_t *rvalp, - unsigned code) - { -@@ -2832,12 +2832,12 @@ dhc6_reply_action(struct client_state *c - - if (client == NULL) { - *rvalp = DHCP_R_INVALIDARG; -- return ISC_FALSE; -+ return false; - } - rval = *rvalp; - - if (rval == ISC_R_SUCCESS) -- return ISC_FALSE; -+ return false; - - switch (code) { - /* It's possible an earlier status code set rval to a failure -@@ -2852,7 +2852,7 @@ dhc6_reply_action(struct client_state *c - case STATUS_UnspecFail: - /* For unknown codes...it's a soft (retryable) error. */ - default: -- return ISC_FALSE; -+ return false; - - /* The server is telling us to use a multicast address, so - * we have to delete the unicast option from the active -@@ -2865,7 +2865,7 @@ dhc6_reply_action(struct client_state *c - delete_option(&dhcp_universe, - client->active_lease->options, - D6O_UNICAST); -- return ISC_FALSE; -+ return false; - - /* "When the client receives a NotOnLink status from the - * server in response to a Request, the client can either -@@ -2914,7 +2914,7 @@ dhc6_reply_action(struct client_state *c - break; - } - -- return ISC_TRUE; -+ return true; - } - - /* status code <-> action matrix for the client in STOPPED state -@@ -2922,7 +2922,7 @@ dhc6_reply_action(struct client_state *c - * packet should be ignored), or false if no action was taken. - * NoBinding is translated into Success. - */ --static isc_boolean_t -+static bool - dhc6_stop_action(struct client_state *client, isc_result_t *rvalp, - unsigned code) - { -@@ -2933,12 +2933,12 @@ dhc6_stop_action(struct client_state *cl - - if (client == NULL) { - *rvalp = DHCP_R_INVALIDARG; -- return ISC_FALSE; -+ return false; - } - rval = *rvalp; - - if (rval == ISC_R_SUCCESS) -- return ISC_FALSE; -+ return false; - - switch (code) { - /* It's possible an earlier status code set rval to a failure -@@ -2948,13 +2948,13 @@ dhc6_stop_action(struct client_state *cl - /* For unknown codes...it's a soft (retryable) error. */ - case STATUS_UnspecFail: - default: -- return ISC_FALSE; -+ return false; - - /* NoBinding is not an error */ - case STATUS_NoBinding: - if (rval == ISC_R_FAILURE) - *rvalp = ISC_R_SUCCESS; -- return ISC_FALSE; -+ return false; - - /* Should not happen */ - case STATUS_NoAddrsAvail: -@@ -2976,13 +2976,13 @@ dhc6_stop_action(struct client_state *cl - delete_option(&dhcp_universe, - client->active_lease->options, - D6O_UNICAST); -- return ISC_FALSE; -+ return false; - } - -- return ISC_TRUE; -+ return true; - } - --static isc_boolean_t -+static bool - dhc6_decline_action(struct client_state *client, isc_result_t *rvalp, - unsigned code) - { -@@ -2993,12 +2993,12 @@ dhc6_decline_action(struct client_state - - if (client == NULL) { - *rvalp = DHCP_R_INVALIDARG; -- return ISC_FALSE; -+ return false; - } - rval = *rvalp; - - if (rval == ISC_R_SUCCESS) { -- return ISC_FALSE; -+ return false; - } - - switch (code) { -@@ -3013,13 +3013,13 @@ dhc6_decline_action(struct client_state - delete_option(&dhcp_universe, - client->active_lease->options, - D6O_UNICAST); -- return ISC_FALSE; -+ return false; - default: - /* Anything else is basically meaningless */ - break; - } - -- return ISC_TRUE; -+ return true; - } - - -@@ -3029,14 +3029,14 @@ dhc6_decline_action(struct client_state - static isc_result_t - dhc6_check_reply(struct client_state *client, struct dhc6_lease *new) - { -- isc_boolean_t (*action)(struct client_state *, -+ bool (*action)(struct client_state *, - isc_result_t *, unsigned); - struct dhc6_ia *ia; - isc_result_t rval = ISC_R_SUCCESS; - unsigned code; - const char *scope; - int nscore, sscore; -- int have_addrs = ISC_FALSE; -+ int have_addrs = false; - int got_na = 0, got_ta = 0, got_pd = 0; - - if ((client == NULL) || (new == NULL)) -@@ -3102,7 +3102,7 @@ dhc6_check_reply(struct client_state *cl - return ISC_R_CANCELED; - - if (ia->addrs != NULL) { -- have_addrs = ISC_TRUE; -+ have_addrs = true; - } - } - -@@ -3119,13 +3119,13 @@ dhc6_check_reply(struct client_state *cl - * check in and commented it as I eventually do want - * us to check for TAs as well. SAR - */ -- if ((have_addrs != ISC_TRUE) || -+ if ((have_addrs != true) || - ((require_all_ias != 0) && - ((got_na < wanted_ia_na) || - /*(got_ta < wanted_ia_ta) ||*/ - (got_pd < wanted_ia_pd)))) { - rval = ISC_R_FAILURE; -- if (action(client, &rval, STATUS_NoAddrsAvail) == ISC_TRUE) { -+ if (action(client, &rval, STATUS_NoAddrsAvail) == true) { - return ISC_R_CANCELED; - } - } -@@ -4256,7 +4256,7 @@ dhc6_add_ia_pd(struct client_state *clie - - /* stopping_finished() checks if there is a remaining work to do. - */ --static isc_boolean_t -+static bool - stopping_finished(void) - { - struct interface_info *ip; -@@ -4265,12 +4265,12 @@ stopping_finished(void) - for (ip = interfaces; ip; ip = ip -> next) { - for (client = ip -> client; client; client = client -> next) { - if (client->state != S_STOPPED) -- return ISC_FALSE; -+ return false; - if (client->active_lease != NULL) -- return ISC_FALSE; -+ return false; - } - } -- return ISC_TRUE; -+ return true; - } - - /* reply_handler() accepts a Reply while we're attempting Select or Renew or -@@ -4474,8 +4474,8 @@ dhc6_check_times(struct client_state *cl - struct dhc6_addr *addr; - TIME renew=MAX_TIME, rebind=MAX_TIME, depref=MAX_TIME, - lo_expire=MAX_TIME, hi_expire=0, max_ia_starts = 0, tmp; -- int has_addrs = ISC_FALSE; -- int has_preferred_addrs = ISC_FALSE; -+ int has_addrs = false; -+ int has_preferred_addrs = false; - struct timeval tv; - - lease = client->active_lease; -@@ -4506,7 +4506,7 @@ dhc6_check_times(struct client_state *cl - depref = tmp; - - if (!(addr->flags & DHC6_ADDR_EXPIRED)) { -- has_preferred_addrs = ISC_TRUE; -+ has_preferred_addrs = true; - } - } - -@@ -4525,7 +4525,7 @@ dhc6_check_times(struct client_state *cl - if (tmp < this_ia_lo_expire) - this_ia_lo_expire = tmp; - -- has_addrs = ISC_TRUE; -+ has_addrs = true; - } - } - -@@ -4603,7 +4603,7 @@ dhc6_check_times(struct client_state *cl - * In the future, we may decide that we're done here, or to - * schedule a future request (using 4-pkt info-request model). - */ -- if (has_addrs == ISC_FALSE) { -+ if (has_addrs == false) { - dhc6_lease_destroy(&client->active_lease, MDL); - client->active_lease = NULL; - -@@ -4855,7 +4855,7 @@ start_bound(struct client_state *client) - "is selected."); - return; - } -- lease->released = ISC_FALSE; -+ lease->released = false; - old = client->old_lease; - - client->v6_handler = bound_handler; -@@ -5448,8 +5448,8 @@ do_expire(void *input) - struct dhc6_lease *lease; - struct dhc6_ia *ia, **tia; - struct dhc6_addr *addr; -- int has_addrs = ISC_FALSE; -- int ia_has_addrs = ISC_FALSE; -+ int has_addrs = false; -+ int ia_has_addrs = false; - - client = (struct client_state *)input; - -@@ -5458,7 +5458,7 @@ do_expire(void *input) - return; - - for (ia = lease->bindings, tia = &lease->bindings; ia != NULL ; ) { -- ia_has_addrs = ISC_FALSE; -+ ia_has_addrs = false; - for (addr = ia->addrs ; addr != NULL ; addr = addr->next) { - if (addr->flags & DHC6_ADDR_EXPIRED) - continue; -@@ -5495,14 +5495,14 @@ do_expire(void *input) - continue; - } - -- ia_has_addrs = ISC_TRUE; -- has_addrs = ISC_TRUE; -+ ia_has_addrs = true; -+ has_addrs = true; - } - - /* Update to the next ia and git rid of this ia - * if it doesn't have any leases. - */ -- if (ia_has_addrs == ISC_TRUE) { -+ if (ia_has_addrs == true) { - /* leases, just advance the list pointer */ - tia = &(*tia)->next; - } else { -@@ -5517,7 +5517,7 @@ do_expire(void *input) - } - - /* Clean up empty leases. */ -- if (has_addrs == ISC_FALSE) { -+ if (has_addrs == false) { - log_info("PRC: Bound lease is devoid of active addresses." - " Re-initializing."); - -@@ -5596,14 +5596,14 @@ dhc6_check_irt(struct client_state *clie - TIME expire = MAX_TIME; - struct timeval tv; - int i; -- isc_boolean_t found = ISC_FALSE; -+ bool found = false; - - cancel_timeout(refresh_info_request6, client); - - req = client->config->requested_options; - for (i = 0; req[i] != NULL; i++) { - if (req[i] == irt_option) { -- found = ISC_TRUE; -+ found = true; - break; - } - } -@@ -5924,7 +5924,7 @@ static void script_write_requested6(clie - /* - * Check if there is something not fully defined in the active lease. - */ --static isc_boolean_t -+static bool - active_prefix(struct client_state *client) - { - struct dhc6_lease *lease; -@@ -5934,21 +5934,21 @@ active_prefix(struct client_state *clien - - lease = client->active_lease; - if (lease == NULL) -- return ISC_FALSE; -+ return false; - memset(zeros, 0, 16); - for (ia = lease->bindings; ia != NULL; ia = ia->next) { - if (ia->ia_type != D6O_IA_PD) - continue; - for (pref = ia->addrs; pref != NULL; pref = pref->next) { - if (pref->plen == 0) -- return ISC_FALSE; -+ return false; - if (pref->address.len != 16) -- return ISC_FALSE; -+ return false; - if (memcmp(pref->address.iabuf, zeros, 16) == 0) -- return ISC_FALSE; -+ return false; - } - } -- return ISC_TRUE; -+ return true; - } - - /* Adds a leases's declined addreses to the outbound packet -@@ -6111,26 +6111,26 @@ int drop_declined_addrs(struct dhc6_leas - /* Run through the addresses in lease and return true if there's any unexpired. - * Return false otherwise. - */ --static isc_boolean_t -+static bool - unexpired_address_in_lease(struct dhc6_lease *lease) - { - struct dhc6_ia *ia; - struct dhc6_addr *addr; - - if (lease == NULL) { -- return ISC_FALSE; -+ return false; - } - - for (ia = lease->bindings ; ia != NULL ; ia = ia->next) { - for (addr = ia->addrs ; addr != NULL ; addr = addr->next) { - if (!(addr->flags & DHC6_ADDR_EXPIRED) && - (addr->starts + addr->max_life > cur_time)) { -- return ISC_TRUE; -+ return true; - } - } - } - - log_debug("PRC: Previous lease is devoid of active addresses."); -- return ISC_FALSE; -+ return false; - } - #endif /* DHCPv6 */ -Index: dhcp-4.4.1/client/dhclient.c -=================================================================== ---- dhcp-4.4.1.orig/client/dhclient.c -+++ dhcp-4.4.1/client/dhclient.c -@@ -52,7 +52,7 @@ char *path_dhclient_script = path_dhclie - const char *path_dhclient_duid = NULL; - - /* False (default) => we write and use a pid file */ --isc_boolean_t no_pid_file = ISC_FALSE; -+bool no_pid_file = false; - - int dhcp_max_agent_option_packet_length = 0; - -@@ -397,7 +397,7 @@ main(int argc, char **argv) { - path_dhclient_pid = argv[i]; - no_dhclient_pid = 1; - } else if (!strcmp(argv[i], "--no-pid")) { -- no_pid_file = ISC_TRUE; -+ no_pid_file = true; - } else if (!strcmp(argv[i], "-cf")) { - if (++i == argc) - usage(use_noarg, argv[i-1]); -@@ -652,7 +652,7 @@ main(int argc, char **argv) { - * to write a pid file - we assume they are controlling - * the process in some other fashion. - */ -- if ((release_mode || exit_mode) && (no_pid_file == ISC_FALSE)) { -+ if ((release_mode || exit_mode) && (no_pid_file == false)) { - FILE *pidfd; - pid_t oldpid; - long temp; -@@ -4469,7 +4469,7 @@ void write_client_pid_file () - int pfdesc; - - /* nothing to do if the user doesn't want a pid file */ -- if (no_pid_file == ISC_TRUE) { -+ if (no_pid_file == true) { - return; - } - -@@ -4727,7 +4727,7 @@ unsigned cons_agent_information_options - static void shutdown_exit (void *foo) - { - /* get rid of the pid if we can */ -- if (no_pid_file == ISC_FALSE) -+ if (no_pid_file == false) - (void) unlink(path_dhclient_pid); - finish(0); - } -Index: dhcp-4.4.1/common/inet.c -=================================================================== ---- dhcp-4.4.1.orig/common/inet.c -+++ dhcp-4.4.1/common/inet.c -@@ -299,7 +299,7 @@ addr_and(struct iaddr *result, const str - * - * Because the final ".1" would get masked out by the /8. - */ --isc_boolean_t -+bool - is_cidr_mask_valid(const struct iaddr *addr, int bits) { - int zero_bits; - int zero_bytes; -@@ -311,10 +311,10 @@ is_cidr_mask_valid(const struct iaddr *a - * Check our bit boundaries. - */ - if (bits < 0) { -- return ISC_FALSE; -+ return false; - } - if (bits > (addr->len * 8)) { -- return ISC_FALSE; -+ return false; - } - - /* -@@ -328,7 +328,7 @@ is_cidr_mask_valid(const struct iaddr *a - */ - for (i=1; i<=zero_bytes; i++) { - if (addr->iabuf[addr->len-i] != 0) { -- return ISC_FALSE; -+ return false; - } - } - -@@ -340,7 +340,7 @@ is_cidr_mask_valid(const struct iaddr *a - * happy. - */ - shift_bits = zero_bits % 8; -- if (shift_bits == 0) return ISC_TRUE; -+ if (shift_bits == 0) return true; - byte = addr->iabuf[addr->len-zero_bytes-1]; - return (((byte >> shift_bits) << shift_bits) == byte); - } -Index: dhcp-4.4.1/common/options.c -=================================================================== ---- dhcp-4.4.1.orig/common/options.c -+++ dhcp-4.4.1/common/options.c -@@ -676,7 +676,7 @@ cons_options(struct packet *inpacket, st - * the priority_list. This way we'll send it whether or not it - * is in the PRL. */ - if ((inpacket != NULL) && (priority_len < PRIORITY_COUNT) && -- (inpacket->sv_echo_client_id == ISC_TRUE)) { -+ (inpacket->sv_echo_client_id == true)) { - priority_list[priority_len++] = - DHO_DHCP_CLIENT_IDENTIFIER; - } -@@ -1802,7 +1802,7 @@ const char *pretty_print_option (option, - const unsigned char *dp = data; - char comma; - unsigned long tval; -- isc_boolean_t a_array = ISC_FALSE; -+ bool a_array = false; - int len_used; - - if (emit_commas) -@@ -1828,7 +1828,7 @@ const char *pretty_print_option (option, - fmtbuf [l] = option -> format [i]; - switch (option -> format [i]) { - case 'a': -- a_array = ISC_TRUE; -+ a_array = true; - /* Fall through */ - case 'A': - --numelem; -@@ -1858,7 +1858,7 @@ const char *pretty_print_option (option, - hunksize++; - comma = ':'; - numhunk = 0; -- a_array = ISC_TRUE; -+ a_array = true; - hunkinc = 1; - } - fmtbuf [l + 1] = 0; -@@ -1954,7 +1954,7 @@ const char *pretty_print_option (option, - - /* If this is an array, compute its size. */ - if (numhunk == 0) { -- if (a_array == ISC_TRUE) { -+ if (a_array == true) { - /* - * It is an 'a' type array - we repeat the - * last format type. A binary string for 'X' -@@ -2006,7 +2006,7 @@ const char *pretty_print_option (option, - - /* Cycle through the array (or hunk) printing the data. */ - for (i = 0; i < numhunk; i++) { -- if ((a_array == ISC_TRUE) && (i != 0) && (numelem > 0)) { -+ if ((a_array == true) && (i != 0) && (numelem > 0)) { - /* - * For 'a' type of arrays we repeat - * only the last format character -@@ -2734,7 +2734,7 @@ save_option(struct universe *universe, s - struct option_cache *oc) - { - if (universe->save_func) -- (*universe->save_func)(universe, options, oc, ISC_FALSE); -+ (*universe->save_func)(universe, options, oc, true); - else - log_error("can't store options in %s space.", universe->name); - } -@@ -2745,14 +2745,14 @@ also_save_option(struct universe *univer - struct option_cache *oc) - { - if (universe->save_func) -- (*universe->save_func)(universe, options, oc, ISC_TRUE); -+ (*universe->save_func)(universe, options, oc, true); - else - log_error("can't store options in %s space.", universe->name); - } - - void - save_hashed_option(struct universe *universe, struct option_state *options, -- struct option_cache *oc, isc_boolean_t appendp) -+ struct option_cache *oc, bool appendp) - { - int hashix; - pair bptr; -@@ -3062,7 +3062,7 @@ store_option(struct data_string *result, - cfg_options, scope, subu); - subu = NULL; - } -- } while (ISC_FALSE); -+ } while (false); - - status = append_option(result, universe, oc->option, &tmp); - data_string_forget(&tmp, MDL); -@@ -3459,7 +3459,7 @@ lookup_fqdn6_option(struct universe *uni - */ - void - save_fqdn6_option(struct universe *universe, struct option_state *options, -- struct option_cache *oc, isc_boolean_t appendp) -+ struct option_cache *oc, bool appendp) - { - log_fatal("Impossible condition at %s:%d.", MDL); - } -@@ -3784,7 +3784,7 @@ void hashed_option_space_foreach (struct - - void - save_linked_option(struct universe *universe, struct option_state *options, -- struct option_cache *oc, isc_boolean_t appendp) -+ struct option_cache *oc, bool appendp) - { - pair *tail; - struct option_chain_head *head; -@@ -4073,7 +4073,7 @@ packet6_len_okay(const char *packet, int - void - do_packet6(struct interface_info *interface, const char *packet, - int len, int from_port, const struct iaddr *from, -- isc_boolean_t was_unicast) { -+ bool was_unicast) { - unsigned char msg_type; - const struct dhcpv6_packet *msg; - const struct dhcpv6_relay_packet *relay; -Index: dhcp-4.4.1/common/parse.c -=================================================================== ---- dhcp-4.4.1.orig/common/parse.c -+++ dhcp-4.4.1/common/parse.c -@@ -4952,7 +4952,7 @@ int parse_option_token (rv, cfile, fmt, - unsigned len; - struct iaddr addr; - int compress; -- isc_boolean_t freeval = ISC_FALSE; -+ bool freeval = false; - const char *f, *g; - struct enumeration_value *e; - -@@ -5038,7 +5038,7 @@ int parse_option_token (rv, cfile, fmt, - return 0; - } - len = strlen (val); -- freeval = ISC_TRUE; -+ freeval = true; - goto make_string; - - case 't': /* Text string... */ -@@ -5055,9 +5055,9 @@ int parse_option_token (rv, cfile, fmt, - if (!make_const_data (&t, (const unsigned char *)val, - len, 1, 1, MDL)) - log_fatal ("No memory for concatenation"); -- if (freeval == ISC_TRUE) { -+ if (freeval == true) { - dfree((char *)val, MDL); -- freeval = ISC_FALSE; -+ freeval = false; - POST(freeval); - } - break; -Index: dhcp-4.4.1/omapip/dispatch.c -=================================================================== ---- dhcp-4.4.1.orig/omapip/dispatch.c -+++ dhcp-4.4.1/omapip/dispatch.c -@@ -156,7 +156,7 @@ omapi_iscsock_cb(isc_task_t *task, - * This should be a temporary fix until we arrange to properly - * close the socket. - */ -- if (obj->closed == ISC_TRUE) { -+ if (obj->closed == true) { - return(0); - } - #endif -@@ -223,7 +223,7 @@ isc_result_t omapi_register_io_object (o - status = omapi_io_allocate (&obj, MDL); - if (status != ISC_R_SUCCESS) - return status; -- obj->closed = ISC_FALSE; /* mark as open */ -+ obj->closed = false; /* mark as open */ - - status = omapi_object_reference (&obj -> inner, h, MDL); - if (status != ISC_R_SUCCESS) { -@@ -404,7 +404,7 @@ isc_result_t omapi_unregister_io_object - isc_socket_detach(&obj->fd); - } - #else -- obj->closed = ISC_TRUE; -+ obj->closed = true; - #endif - - omapi_io_dereference (&ph, MDL); -Index: dhcp-4.4.1/omapip/isclib.c -=================================================================== ---- dhcp-4.4.1.orig/omapip/isclib.c -+++ dhcp-4.4.1/omapip/isclib.c -@@ -106,9 +106,9 @@ isclib_cleanup(void) - if (dhcp_gbl_ctx.taskmgr != NULL) - isc_taskmgr_destroy(&dhcp_gbl_ctx.taskmgr); - -- if (dhcp_gbl_ctx.actx_started != ISC_FALSE) { -+ if (dhcp_gbl_ctx.actx_started != false) { - isc_app_ctxfinish(dhcp_gbl_ctx.actx); -- dhcp_gbl_ctx.actx_started = ISC_FALSE; -+ dhcp_gbl_ctx.actx_started = false; - } - - if (dhcp_gbl_ctx.actx != NULL) -@@ -211,7 +211,7 @@ dhcp_context_create(int flags, - result = isc_app_ctxstart(dhcp_gbl_ctx.actx); - if (result != ISC_R_SUCCESS) - return (result); -- dhcp_gbl_ctx.actx_started = ISC_TRUE; -+ dhcp_gbl_ctx.actx_started = true; - - /* Not all OSs support suppressing SIGPIPE through socket - * options, so set the sigal action to be ignore. This allows -Index: dhcp-4.4.1/omapip/protocol.c -=================================================================== ---- dhcp-4.4.1.orig/omapip/protocol.c -+++ dhcp-4.4.1/omapip/protocol.c -@@ -950,14 +950,14 @@ isc_result_t omapi_protocol_stuff_values - /* Returns a boolean indicating whether this protocol requires that - messages be authenticated or not. */ - --isc_boolean_t omapi_protocol_authenticated (omapi_object_t *h) -+bool omapi_protocol_authenticated (omapi_object_t *h) - { - if (h -> type != omapi_type_protocol) -- return isc_boolean_false; -+ return false; - if (((omapi_protocol_object_t *)h) -> insecure) -- return isc_boolean_false; -+ return false; - else -- return isc_boolean_true; -+ return true; - } - - /* Sets the address and authenticator verification callbacks. The handle -Index: dhcp-4.4.1/relay/dhcrelay.c -=================================================================== ---- dhcp-4.4.1.orig/relay/dhcrelay.c -+++ dhcp-4.4.1/relay/dhcrelay.c -@@ -45,9 +45,9 @@ char *token_line; - char *tlname; - - const char *path_dhcrelay_pid = _PATH_DHCRELAY_PID; --isc_boolean_t no_dhcrelay_pid = ISC_FALSE; -+bool no_dhcrelay_pid = false; - /* False (default) => we write and use a pid file */ --isc_boolean_t no_pid_file = ISC_FALSE; -+bool no_pid_file = false; - - int bogus_agent_drops = 0; /* Packets dropped because agent option - field was specified and we're not relaying -@@ -82,7 +82,7 @@ int dfd[2] = { -1, -1 }; - - #ifdef DHCPv6 - /* Force use of DHCPv6 interface-id option. */ --isc_boolean_t use_if_id = ISC_FALSE; -+bool use_if_id = false; - #endif - - /* Maximum size of a packet with agent options added. */ -@@ -556,7 +556,7 @@ main(int argc, char **argv) { - } - local_family_set = 1; - local_family = AF_INET6; -- use_if_id = ISC_TRUE; -+ use_if_id = true; - } else if (!strcmp(argv[i], "-l")) { - if (local_family_set && (local_family == AF_INET)) { - usage(use_v6command, argv[i]); -@@ -564,7 +564,7 @@ main(int argc, char **argv) { - local_family_set = 1; - local_family = AF_INET6; - if (downstreams != NULL) -- use_if_id = ISC_TRUE; -+ use_if_id = true; - if (++i == argc) - usage(use_noarg, argv[i-1]); - sl = parse_downstream(argv[i]); -@@ -595,9 +595,9 @@ main(int argc, char **argv) { - if (++i == argc) - usage(use_noarg, argv[i-1]); - path_dhcrelay_pid = argv[i]; -- no_dhcrelay_pid = ISC_TRUE; -+ no_dhcrelay_pid = true; - } else if (!strcmp(argv[i], "--no-pid")) { -- no_pid_file = ISC_TRUE; -+ no_pid_file = true; - } else if (argv[i][0] == '-') { - usage("Unknown command: %s", argv[i]); - } else { -@@ -645,7 +645,7 @@ main(int argc, char **argv) { - * If the user didn't specify a pid file directly - * find one from environment variables or defaults - */ -- if (no_dhcrelay_pid == ISC_FALSE) { -+ if (no_dhcrelay_pid == false) { - if (local_family == AF_INET) { - path_dhcrelay_pid = getenv("PATH_DHCRELAY_PID"); - if (path_dhcrelay_pid == NULL) -@@ -774,7 +774,7 @@ main(int argc, char **argv) { - } - - /* Create the pid file. */ -- if (no_pid_file == ISC_FALSE) { -+ if (no_pid_file == false) { - pfdesc = open(path_dhcrelay_pid, - O_CREAT | O_TRUNC | O_WRONLY, 0644); - -@@ -1569,7 +1569,7 @@ static void - setup_streams(void) { - struct stream_list *dp, *up; - int i; -- isc_boolean_t link_is_set; -+ bool link_is_set; - - for (dp = downstreams; dp; dp = dp->next) { - /* Check interface */ -@@ -1579,9 +1579,9 @@ setup_streams(void) { - - /* Check/set link. */ - if (IN6_IS_ADDR_UNSPECIFIED(&dp->link.sin6_addr)) -- link_is_set = ISC_FALSE; -+ link_is_set = false; - else -- link_is_set = ISC_TRUE; -+ link_is_set = true; - for (i = 0; i < dp->ifp->v6address_count; i++) { - if (IN6_IS_ADDR_LINKLOCAL(&dp->ifp->v6addresses[i])) - continue; -@@ -2076,7 +2076,7 @@ dhcp_set_control_state(control_object_st - if (newstate != server_shutdown) - return ISC_R_SUCCESS; - -- if (no_pid_file == ISC_FALSE) -+ if (no_pid_file == false) - (void) unlink(path_dhcrelay_pid); - - if (!no_daemon && dfd[0] != -1 && dfd[1] != -1) { -Index: dhcp-4.4.1/server/dhcp.c -=================================================================== ---- dhcp-4.4.1.orig/server/dhcp.c -+++ dhcp-4.4.1/server/dhcp.c -@@ -225,7 +225,7 @@ dhcp (struct packet *packet) { - packet->options->universe_count = - agent_universe.index + 1; - -- packet->agent_options_stashed = ISC_TRUE; -+ packet->agent_options_stashed = true; - } - nolease: - -@@ -1094,7 +1094,7 @@ void dhcpinform (packet, ms_nulltp) - int nulltp; - struct sockaddr_in to; - struct in_addr from; -- isc_boolean_t zeroed_ciaddr; -+ bool zeroed_ciaddr; - struct interface_info *interface; - int result, h_m_client_ip = 0; - struct host_decl *host = NULL, *hp = NULL, *h; -@@ -1109,7 +1109,7 @@ void dhcpinform (packet, ms_nulltp) - it's common for clients not to do this, so we'll use their IP - source address if they didn't set ciaddr. */ - if (!packet->raw->ciaddr.s_addr) { -- zeroed_ciaddr = ISC_TRUE; -+ zeroed_ciaddr = true; - /* With DHCPv4-over-DHCPv6 it can be an IPv6 address - so we check its length. */ - if (packet->client_addr.len == 4) { -@@ -1122,7 +1122,7 @@ void dhcpinform (packet, ms_nulltp) - addr_type = "v4o6"; - } - } else { -- zeroed_ciaddr = ISC_FALSE; -+ zeroed_ciaddr = false; - cip.len = 4; - memcpy(cip.iabuf, &packet->raw->ciaddr, 4); - addr_type = "client"; -@@ -1133,7 +1133,7 @@ void dhcpinform (packet, ms_nulltp) - if (packet->raw->giaddr.s_addr) { - gip.len = 4; - memcpy(gip.iabuf, &packet->raw->giaddr, 4); -- if (zeroed_ciaddr == ISC_TRUE) { -+ if (zeroed_ciaddr == true) { - addr_type = "relay"; - memcpy(sip.iabuf, gip.iabuf, 4); - } -@@ -1207,7 +1207,7 @@ void dhcpinform (packet, ms_nulltp) - save_option(&dhcp_universe, options, noc); - option_cache_dereference(&noc, MDL); - -- if ((zeroed_ciaddr == ISC_TRUE) && (gip.len != 0)) -+ if ((zeroed_ciaddr == true) && (gip.len != 0)) - addr_type = "relay link select"; - else - addr_type = "selected"; -@@ -1261,7 +1261,7 @@ void dhcpinform (packet, ms_nulltp) - NULL, NULL); - - /* If we have ciaddr, find its lease so we can find its pool. */ -- if (zeroed_ciaddr == ISC_FALSE) { -+ if (zeroed_ciaddr == false) { - struct lease* cip_lease = NULL; - - find_lease_by_ip_addr (&cip_lease, cip, MDL); -@@ -2036,7 +2036,7 @@ void echo_client_id(packet, lease, in_op - unsigned int opcode = DHO_DHCP_CLIENT_IDENTIFIER; - - /* Save knowledge that echo is enabled to the packet */ -- packet->sv_echo_client_id = ISC_TRUE; -+ packet->sv_echo_client_id = true; - - /* Now see if inbound packet contains client-id */ - oc = lookup_option(&dhcp_universe, packet->options, opcode); -@@ -2187,7 +2187,7 @@ void ack_lease (packet, lease, offer, wh - struct iaddr cip; - #if defined(DELAYED_ACK) - /* By default we don't do the enqueue */ -- isc_boolean_t enqueue = ISC_FALSE; -+ bool enqueue = false; - #endif - int use_old_lease = 0; - -@@ -3217,7 +3217,7 @@ void ack_lease (packet, lease, offer, wh - * can just answer right away, set a flag to indicate this. - */ - if (commit) -- enqueue = ISC_TRUE; -+ enqueue = true; - - /* Install the new information on 'lt' onto the lease at - * 'lease'. We will not 'commit' this information to disk -@@ -4234,7 +4234,7 @@ int find_lease (struct lease **lp, - * preference, so the first one is the best one. - */ - while (uid_lease) { -- isc_boolean_t do_release = !packet->raw->ciaddr.s_addr; -+ bool do_release = !packet->raw->ciaddr.s_addr; - #if defined (DEBUG_FIND_LEASE) - log_info ("trying next lease matching client id: %s", - piaddr (uid_lease -> ip_addr)); -@@ -4267,7 +4267,7 @@ int find_lease (struct lease **lp, - #endif - /* Allow multiple leases using the same UID - on different subnetworks. */ -- do_release = ISC_FALSE; -+ do_release = false; - goto n_uid; - } - -@@ -5331,7 +5331,7 @@ get_server_source_address(struct in_addr - struct option_cache *oc = NULL; - struct data_string d; - struct in_addr *a = NULL; -- isc_boolean_t found = ISC_FALSE; -+ bool found = false; - int allocate = 0; - - memset(&d, 0, sizeof(d)); -@@ -5344,7 +5344,7 @@ get_server_source_address(struct in_addr - packet->options, options, - &global_scope, oc, MDL)) { - if (d.len == sizeof(*from)) { -- found = ISC_TRUE; -+ found = true; - memcpy(from, d.data, sizeof(*from)); - - /* -@@ -5362,7 +5362,7 @@ get_server_source_address(struct in_addr - oc = NULL; - } - -- if ((found == ISC_FALSE) && -+ if ((found == false) && - (packet->interface->address_count > 0)) { - *from = packet->interface->addresses[0]; - -Index: dhcp-4.4.1/server/failover.c -=================================================================== ---- dhcp-4.4.1.orig/server/failover.c -+++ dhcp-4.4.1/server/failover.c -@@ -45,7 +45,7 @@ static isc_result_t failover_message_der - static void dhcp_failover_pool_balance(dhcp_failover_state_t *state); - static void dhcp_failover_pool_reqbalance(dhcp_failover_state_t *state); - static int dhcp_failover_pool_dobalance(dhcp_failover_state_t *state, -- isc_boolean_t *sendreq); -+ bool *sendreq); - static inline int secondary_not_hoarding(dhcp_failover_state_t *state, - struct pool *p); - static void scrub_lease(struct lease* lease, const char *file, int line); -@@ -2464,7 +2464,7 @@ void - dhcp_failover_pool_rebalance(void *failover_state) - { - dhcp_failover_state_t *state; -- isc_boolean_t sendreq = ISC_FALSE; -+ bool sendreq = false; - - state = (dhcp_failover_state_t *)failover_state; - -@@ -2512,7 +2512,7 @@ dhcp_failover_pool_reqbalance(dhcp_failo - */ - static int - dhcp_failover_pool_dobalance(dhcp_failover_state_t *state, -- isc_boolean_t *sendreq) -+ bool *sendreq) - { - int lts, total, thresh, hold, panic, pass; - int leases_queued = 0; -@@ -2581,7 +2581,7 @@ dhcp_failover_pool_dobalance(dhcp_failov - - if ((sendreq != NULL) && (lts < panic)) { - reqlog = " (requesting peer rebalance!)"; -- *sendreq = ISC_TRUE; -+ *sendreq = true; - } else - reqlog = ""; - -@@ -5111,7 +5111,7 @@ isc_result_t dhcp_failover_send_update_d - * a more detailed system of preferences is required, so this is something we - * should monitor as we gain experience with these dueling events. - */ --static isc_boolean_t -+static bool - failover_lease_is_better(dhcp_failover_state_t *state, struct lease *lease, - failover_message_t *msg) - { -@@ -5132,15 +5132,15 @@ failover_lease_is_better(dhcp_failover_s - case FTS_ACTIVE: - if (msg->binding_status == FTS_ACTIVE) { - if (msg_cltt < lease->cltt) -- return ISC_TRUE; -+ return true; - else if (msg_cltt > lease->cltt) -- return ISC_FALSE; -+ return false; - else if (state->i_am == primary) -- return ISC_TRUE; -+ return true; - else -- return ISC_FALSE; -+ return false; - } else if (msg->binding_status == FTS_EXPIRED) { -- return ISC_FALSE; -+ return false; - } - /* FALL THROUGH */ - -@@ -5151,11 +5151,11 @@ failover_lease_is_better(dhcp_failover_s - case FTS_ABANDONED: - case FTS_RESET: - if (msg->binding_status == FTS_ACTIVE) -- return ISC_FALSE; -+ return false; - else if (state->i_am == primary) -- return ISC_TRUE; -+ return true; - else -- return ISC_FALSE; -+ return false; - /* FALL THROUGH to impossible condition */ - - default: -@@ -5164,7 +5164,7 @@ failover_lease_is_better(dhcp_failover_s - - log_fatal("Impossible condition at %s:%d.", MDL); - /* Silence compiler warning. */ -- return ISC_FALSE; -+ return false; - } - - isc_result_t dhcp_failover_process_bind_update (dhcp_failover_state_t *state, -@@ -5177,8 +5177,8 @@ isc_result_t dhcp_failover_process_bind_ - int new_binding_state; - int send_to_backup = 0; - int required_options; -- isc_boolean_t chaddr_changed = ISC_FALSE; -- isc_boolean_t ident_changed = ISC_FALSE; -+ bool chaddr_changed = false; -+ bool ident_changed = false; - - /* Validate the binding update. */ - required_options = FTB_ASSIGNED_IP_ADDRESS | FTB_BINDING_STATUS; -@@ -5250,7 +5250,7 @@ isc_result_t dhcp_failover_process_bind_ - if ((lt->hardware_addr.hlen != msg->chaddr.count) || - (memcmp(lt->hardware_addr.hbuf, msg->chaddr.data, - msg->chaddr.count) != 0)) -- chaddr_changed = ISC_TRUE; -+ chaddr_changed = true; - - lt -> hardware_addr.hlen = msg -> chaddr.count; - memcpy (lt -> hardware_addr.hbuf, msg -> chaddr.data, -@@ -5262,7 +5262,7 @@ isc_result_t dhcp_failover_process_bind_ - reason = FTR_MISSING_BINDINFO; - goto bad; - } else if (msg->binding_status == FTS_ABANDONED) { -- chaddr_changed = ISC_TRUE; -+ chaddr_changed = true; - lt->hardware_addr.hlen = 0; - if (lt->scope) - binding_scope_dereference(<->scope, MDL); -@@ -5282,7 +5282,7 @@ isc_result_t dhcp_failover_process_bind_ - (lt->uid == NULL) || /* Sanity; should never happen. */ - (memcmp(lt->uid, msg->client_identifier.data, - lt->uid_len) != 0)) -- ident_changed = ISC_TRUE; -+ ident_changed = true; - - lt->uid_len = msg->client_identifier.count; - -@@ -5312,7 +5312,7 @@ isc_result_t dhcp_failover_process_bind_ - } else if (lt->uid && msg->binding_status != FTS_RESET && - msg->binding_status != FTS_FREE && - msg->binding_status != FTS_BACKUP) { -- ident_changed = ISC_TRUE; -+ ident_changed = true; - if (lt->uid != lt->uid_buf) - dfree (lt->uid, MDL); - lt->uid = NULL; -@@ -5347,7 +5347,7 @@ isc_result_t dhcp_failover_process_bind_ - if (msg->binding_status == FTS_ACTIVE && - (chaddr_changed || ident_changed)) { - #if defined (NSUPDATE) -- (void) ddns_removals(lease, NULL, NULL, ISC_FALSE); -+ (void) ddns_removals(lease, NULL, NULL, false); - #endif /* NSUPDATE */ - - if (lease->scope != NULL) -@@ -5534,7 +5534,7 @@ isc_result_t dhcp_failover_process_bind_ - struct iaddr ia; - const char *message = "no memory"; - u_int32_t pot_expire; -- int send_to_backup = ISC_FALSE; -+ int send_to_backup = false; - struct timeval tv; - - ia.len = sizeof msg -> assigned_addr; -@@ -5621,7 +5621,7 @@ isc_result_t dhcp_failover_process_bind_ - if (state->i_am == primary && - !(lease->flags & (RESERVED_LEASE | BOOTP_LEASE)) && - peer_wants_lease(lease)) -- send_to_backup = ISC_TRUE; -+ send_to_backup = true; - - if (!send_to_backup && state->me.state == normal) - commit_leases(); -Index: dhcp-4.4.1/server/dhcpd.c -=================================================================== ---- dhcp-4.4.1.orig/server/dhcpd.c -+++ dhcp-4.4.1/server/dhcpd.c -@@ -98,7 +98,7 @@ const char *path_dhcpd_conf = _PATH_DHCP - const char *path_dhcpd_db = _PATH_DHCPD_DB; - const char *path_dhcpd_pid = _PATH_DHCPD_PID; - /* False (default) => we write and use a pid file */ --isc_boolean_t no_pid_file = ISC_FALSE; -+bool no_pid_file = false; - - int dhcp_max_agent_option_packet_length = DHCP_MTU_MAX; - -@@ -476,7 +476,7 @@ main(int argc, char **argv) { - path_dhcpd_pid = argv [i]; - have_dhcpd_pid = 1; - } else if (!strcmp(argv[i], "--no-pid")) { -- no_pid_file = ISC_TRUE; -+ no_pid_file = true; - } else if (!strcmp (argv [i], "-t")) { - /* test configurations only */ - #ifndef DEBUG -@@ -863,7 +863,7 @@ main(int argc, char **argv) { - * - we don't have a pid file to check - * - there is no other process running - */ -- if ((lftest == 0) && (no_pid_file == ISC_FALSE)) { -+ if ((lftest == 0) && (no_pid_file == false)) { - /*Read previous pid file. */ - if ((i = open(path_dhcpd_pid, O_RDONLY)) >= 0) { - status = read(i, pbuf, (sizeof pbuf) - 1); -@@ -974,7 +974,7 @@ main(int argc, char **argv) { - * that we have forked we can write our pid if - * appropriate. - */ -- if (no_pid_file == ISC_FALSE) { -+ if (no_pid_file == false) { - i = open(path_dhcpd_pid, O_WRONLY|O_CREAT|O_TRUNC, 0644); - if (i >= 0) { - sprintf(pbuf, "%d\n", (int) getpid()); -@@ -1730,7 +1730,7 @@ static isc_result_t dhcp_io_shutdown_cou - free_everything (); - omapi_print_dmalloc_usage_by_caller (); - #endif -- if (no_pid_file == ISC_FALSE) -+ if (no_pid_file == false) - (void) unlink(path_dhcpd_pid); - exit (0); - } -@@ -1741,7 +1741,7 @@ static isc_result_t dhcp_io_shutdown_cou - free_everything (); - omapi_print_dmalloc_usage_by_caller (); - #endif -- if (no_pid_file == ISC_FALSE) -+ if (no_pid_file == false) - (void) unlink(path_dhcpd_pid); - exit (0); - } -@@ -1750,7 +1750,7 @@ static isc_result_t dhcp_io_shutdown_cou - #if defined(FAILOVER_PROTOCOL) - !failover_connection_count && - #endif -- ISC_TRUE) { -+ true) { - shutdown_state = shutdown_done; - shutdown_time = cur_time; - goto oncemore; -Index: dhcp-4.4.1/server/mdb6.c -=================================================================== ---- dhcp-4.4.1.orig/server/mdb6.c -+++ dhcp-4.4.1/server/mdb6.c -@@ -514,10 +514,10 @@ ia_remove_all_lease(struct ia_xx *ia, co - /* - * Compare two IA. - */ --isc_boolean_t -+bool - ia_equal(const struct ia_xx *a, const struct ia_xx *b) - { -- isc_boolean_t found; -+ bool found; - int i, j; - - /* -@@ -525,9 +525,9 @@ ia_equal(const struct ia_xx *a, const st - */ - if (a == NULL) { - if (b == NULL) { -- return ISC_TRUE; -+ return true; - } else { -- return ISC_FALSE; -+ return false; - } - } - -@@ -535,58 +535,58 @@ ia_equal(const struct ia_xx *a, const st - * Check the type is the same. - */ - if (a->ia_type != b->ia_type) { -- return ISC_FALSE; -+ return false; - } - - /* - * Check the DUID is the same. - */ - if (a->iaid_duid.len != b->iaid_duid.len) { -- return ISC_FALSE; -+ return false; - } - if (memcmp(a->iaid_duid.data, - b->iaid_duid.data, a->iaid_duid.len) != 0) { -- return ISC_FALSE; -+ return false; - } - - /* - * Make sure we have the same number of addresses/prefixes in each. - */ - if (a->num_iasubopt != b->num_iasubopt) { -- return ISC_FALSE; -+ return false; - } - - /* - * Check that each address/prefix is present in both. - */ - for (i=0; i<a->num_iasubopt; i++) { -- found = ISC_FALSE; -+ found = false; - for (j=0; j<a->num_iasubopt; j++) { - if (a->iasubopt[i]->plen != b->iasubopt[i]->plen) - continue; - if (memcmp(&(a->iasubopt[i]->addr), - &(b->iasubopt[j]->addr), - sizeof(struct in6_addr)) == 0) { -- found = ISC_TRUE; -+ found = true; - break; - } - } - if (!found) { -- return ISC_FALSE; -+ return false; - } - } - - /* - * These are the same in every way we care about. - */ -- return ISC_TRUE; -+ return true; - } - - /* - * Helper function for lease heaps. - * Makes the top of the heap the oldest lease. - */ --static isc_boolean_t -+static bool - lease_older(void *a, void *b) { - struct iasubopt *la = (struct iasubopt *)a; - struct iasubopt *lb = (struct iasubopt *)b; -@@ -1038,8 +1038,8 @@ create_lease6(struct ipv6_pool *pool, st - struct data_string new_ds; - struct iasubopt *iaaddr; - isc_result_t result; -- isc_boolean_t reserved_iid; -- static isc_boolean_t init_resiid = ISC_FALSE; -+ bool reserved_iid; -+ static bool init_resiid = false; - - /* - * Fill the reserved IIDs. -@@ -1049,7 +1049,7 @@ create_lease6(struct ipv6_pool *pool, st - memset(&resany, 0, 8); - resany.s6_addr[8] = 0xfd; - memset(&resany.s6_addr[9], 0xff, 6); -- init_resiid = ISC_TRUE; -+ init_resiid = true; - } - - /* -@@ -1094,14 +1094,14 @@ create_lease6(struct ipv6_pool *pool, st - /* - * Avoid reserved interface IDs. (cf. RFC 5453) - */ -- reserved_iid = ISC_FALSE; -+ reserved_iid = false; - if (memcmp(&tmp.s6_addr[8], &rtany.s6_addr[8], 8) == 0) { -- reserved_iid = ISC_TRUE; -+ reserved_iid = true; - } - if (!reserved_iid && - (memcmp(&tmp.s6_addr[8], &resany.s6_addr[8], 7) == 0) && - ((tmp.s6_addr[15] & 0x80) == 0x80)) { -- reserved_iid = ISC_TRUE; -+ reserved_iid = true; - } - - /* -@@ -1177,7 +1177,7 @@ create_lease6_eui_64(struct ipv6_pool *p - struct iasubopt *test_iaaddr; - struct iasubopt *iaaddr; - isc_result_t result; -- static isc_boolean_t init_resiid = ISC_FALSE; -+ static bool init_resiid = false; - - /* Fill the reserved IIDs. */ - if (!init_resiid) { -@@ -1185,7 +1185,7 @@ create_lease6_eui_64(struct ipv6_pool *p - memset(&resany, 0, 8); - resany.s6_addr[8] = 0xfd; - memset(&resany.s6_addr[9], 0xff, 6); -- init_resiid = ISC_TRUE; -+ init_resiid = true; - } - - /* Pool must be IA_NA */ -@@ -1520,7 +1520,7 @@ add_lease6(struct ipv6_pool *pool, struc - /* - * Determine if an address is present in a pool or not. - */ --isc_boolean_t -+bool - lease6_exists(const struct ipv6_pool *pool, const struct in6_addr *addr) { - struct iasubopt *test_iaaddr; - -@@ -1528,9 +1528,9 @@ lease6_exists(const struct ipv6_pool *po - if (iasubopt_hash_lookup(&test_iaaddr, pool->leases, - (void *)addr, sizeof(*addr), MDL)) { - iasubopt_dereference(&test_iaaddr, MDL); -- return ISC_TRUE; -+ return true; - } else { -- return ISC_FALSE; -+ return false; - } - } - -@@ -1545,20 +1545,20 @@ lease6_exists(const struct ipv6_pool *po - * \param[in] lease = lease to check - * - * \return -- * ISC_TRUE = The lease is allowed to use that address -- * ISC_FALSE = The lease isn't allowed to use that address -+ * true = The lease is allowed to use that address -+ * false = The lease isn't allowed to use that address - */ --isc_boolean_t -+bool - lease6_usable(struct iasubopt *lease) { - struct iasubopt *test_iaaddr; -- isc_boolean_t status = ISC_TRUE; -+ bool status = true; - - test_iaaddr = NULL; - if (iasubopt_hash_lookup(&test_iaaddr, lease->ipv6_pool->leases, - (void *)&lease->addr, - sizeof(lease->addr), MDL)) { - if (test_iaaddr != lease) { -- status = ISC_FALSE; -+ status = false; - } - iasubopt_dereference(&test_iaaddr, MDL); - } -@@ -1697,7 +1697,7 @@ move_lease_to_inactive(struct ipv6_pool - #if defined (NSUPDATE) - /* Process events upon expiration. */ - if (pool->pool_type != D6O_IA_PD) { -- (void) ddns_removals(NULL, lease, NULL, ISC_FALSE); -+ (void) ddns_removals(NULL, lease, NULL, false); - } - #endif - -@@ -1977,21 +1977,21 @@ create_prefix6(struct ipv6_pool *pool, s - /* - * Determine if a prefix is present in a pool or not. - */ --isc_boolean_t -+bool - prefix6_exists(const struct ipv6_pool *pool, - const struct in6_addr *pref, u_int8_t plen) { - struct iasubopt *test_iapref; - - if ((int)plen != pool->units) -- return ISC_FALSE; -+ return false; - - test_iapref = NULL; - if (iasubopt_hash_lookup(&test_iapref, pool->leases, - (void *)pref, sizeof(*pref), MDL)) { - iasubopt_dereference(&test_iapref, MDL); -- return ISC_TRUE; -+ return true; - } else { -- return ISC_FALSE; -+ return false; - } - } - -@@ -2267,15 +2267,15 @@ ipv6_network_portion(struct in6_addr *re - /* - * Determine if the given address/prefix is in the pool. - */ --isc_boolean_t -+bool - ipv6_in_pool(const struct in6_addr *addr, const struct ipv6_pool *pool) { - struct in6_addr tmp; - - ipv6_network_portion(&tmp, addr, pool->bits); - if (memcmp(&tmp, &pool->start_addr, sizeof(tmp)) == 0) { -- return ISC_TRUE; -+ return true; - } else { -- return ISC_FALSE; -+ return false; - } - } - -Index: dhcp-4.4.1/server/ddns.c -=================================================================== ---- dhcp-4.4.1.orig/server/ddns.c -+++ dhcp-4.4.1/server/ddns.c -@@ -373,7 +373,7 @@ ddns_updates(struct packet *packet, stru - - /* If desired do the removals */ - if (do_remove != 0) { -- (void) ddns_removals(lease, lease6, NULL, ISC_TRUE); -+ (void) ddns_removals(lease, lease6, NULL, true); - } - goto out; - } -@@ -618,7 +618,7 @@ ddns_updates(struct packet *packet, stru - * We should log a more specific error closer to the actual - * error if we want one. ddns_removal failure not logged here. - */ -- (void) ddns_removals(lease, lease6, ddns_cb, ISC_TRUE); -+ (void) ddns_removals(lease, lease6, ddns_cb, true); - } - else { - ddns_fwd_srv_connector(lease, lease6, scope, ddns_cb, -@@ -1907,7 +1907,7 @@ ddns_fwd_srv_rem1(dhcp_ddns_cb_t *ddns_c - * the current entry. - * - * \li active - indication about the status of the lease. It is -- * ISC_TRUE if the lease is still active, and FALSE if the lease -+ * true if the lease is still active, and FALSE if the lease - * is inactive. This is used to indicate if the lease is inactive or going - * to inactive so we can avoid trying to update the lease with cb pointers - * and text information if it isn't useful. -@@ -1923,7 +1923,7 @@ isc_result_t - ddns_removals(struct lease *lease, - struct iasubopt *lease6, - dhcp_ddns_cb_t *add_ddns_cb, -- isc_boolean_t active) -+ bool active) - { - isc_result_t rcode, execute_add = ISC_R_FAILURE; - struct binding_scope **scope = NULL; -@@ -1970,7 +1970,7 @@ ddns_removals(struct lease *lease, - if (((ddns_cb->state == DDNS_STATE_ADD_PTR) || - (ddns_cb->state == DDNS_STATE_ADD_FW_NXDOMAIN) || - (ddns_cb->state == DDNS_STATE_ADD_FW_YXDHCID)) || -- ((active == ISC_FALSE) && -+ ((active == false) && - ((ddns_cb->flags & DDNS_ACTIVE_LEASE) != 0))) { - /* Cancel the current request */ - ddns_cancel(lease->ddns_cb, MDL); -@@ -1998,7 +1998,7 @@ ddns_removals(struct lease *lease, - if (((ddns_cb->state == DDNS_STATE_ADD_PTR) || - (ddns_cb->state == DDNS_STATE_ADD_FW_NXDOMAIN) || - (ddns_cb->state == DDNS_STATE_ADD_FW_YXDHCID)) || -- ((active == ISC_FALSE) && -+ ((active == false) && - ((ddns_cb->flags & DDNS_ACTIVE_LEASE) != 0))) { - /* Cancel the current request */ - ddns_cancel(lease6->ddns_cb, MDL); -@@ -2053,7 +2053,7 @@ ddns_removals(struct lease *lease, - * the lease information for v6 when the response - * from the DNS code is processed. - */ -- if (active == ISC_TRUE) { -+ if (active == true) { - ddns_cb->flags |= DDNS_ACTIVE_LEASE; - } - -Index: dhcp-4.4.1/server/mdb.c -=================================================================== ---- dhcp-4.4.1.orig/server/mdb.c -+++ dhcp-4.4.1/server/mdb.c -@@ -1504,7 +1504,7 @@ void make_binding_state_transition (stru - lease -> binding_state == FTS_ACTIVE && - lease -> next_binding_state != FTS_RELEASED))) { - #if defined (NSUPDATE) -- (void) ddns_removals(lease, NULL, NULL, ISC_TRUE); -+ (void) ddns_removals(lease, NULL, NULL, true); - #endif - if (lease->on_star.on_expiry) { - execute_statements(NULL, NULL, lease, -@@ -1568,7 +1568,7 @@ void make_binding_state_transition (stru - * release message. This is not true of expiry, where the - * peer may have extended the lease. - */ -- (void) ddns_removals(lease, NULL, NULL, ISC_TRUE); -+ (void) ddns_removals(lease, NULL, NULL, true); - #endif - if (lease->on_star.on_release) { - execute_statements(NULL, NULL, lease, -@@ -1736,7 +1736,7 @@ void release_lease (lease, packet) - /* If there are statements to execute when the lease is - released, execute them. */ - #if defined (NSUPDATE) -- (void) ddns_removals(lease, NULL, NULL, ISC_FALSE); -+ (void) ddns_removals(lease, NULL, NULL, false); - #endif - if (lease->on_star.on_release) { - execute_statements (NULL, packet, lease, -@@ -1810,7 +1810,7 @@ void abandon_lease (lease, message) - { - struct lease *lt = NULL; - #if defined (NSUPDATE) -- (void) ddns_removals(lease, NULL, NULL, ISC_FALSE); -+ (void) ddns_removals(lease, NULL, NULL, false); - #endif - - if (!lease_copy(<, lease, MDL)) { -@@ -1860,7 +1860,7 @@ void dissociate_lease (lease) - { - struct lease *lt = (struct lease *)0; - #if defined (NSUPDATE) -- (void) ddns_removals(lease, NULL, NULL, ISC_FALSE); -+ (void) ddns_removals(lease, NULL, NULL, false); - #endif - - if (!lease_copy (<, lease, MDL)) -@@ -2072,38 +2072,38 @@ int find_lease_by_hw_addr (struct lease - * should never see reset leases for this. - * 4) Abandoned leases are always dead last. - */ --static isc_boolean_t -+static bool - client_lease_preferred(struct lease *cand, struct lease *lease) - { - if (cand->binding_state == FTS_ACTIVE) { - if (lease->binding_state == FTS_ACTIVE && - lease->ends >= cand->ends) -- return ISC_TRUE; -+ return true; - } else if (cand->binding_state == FTS_EXPIRED || - cand->binding_state == FTS_RELEASED) { - if (lease->binding_state == FTS_ACTIVE) -- return ISC_TRUE; -+ return true; - - if ((lease->binding_state == FTS_EXPIRED || - lease->binding_state == FTS_RELEASED) && - lease->cltt >= cand->cltt) -- return ISC_TRUE; -+ return true; - } else if (cand->binding_state != FTS_ABANDONED) { - if (lease->binding_state == FTS_ACTIVE || - lease->binding_state == FTS_EXPIRED || - lease->binding_state == FTS_RELEASED) -- return ISC_TRUE; -+ return true; - - if (lease->binding_state != FTS_ABANDONED && - lease->cltt >= cand->cltt) -- return ISC_TRUE; -+ return true; - } else /* (cand->binding_state == FTS_ABANDONED) */ { - if (lease->binding_state != FTS_ABANDONED || - lease->cltt >= cand->cltt) -- return ISC_TRUE; -+ return true; - } - -- return ISC_FALSE; -+ return false; - } - - /* Add the specified lease to the uid hash. */ diff --git a/poky/meta/recipes-connectivity/dhcp/dhcp/0001-master-Added-includes-of-new-BIND9-compatibility-hea.patch b/poky/meta/recipes-connectivity/dhcp/dhcp/0001-master-Added-includes-of-new-BIND9-compatibility-hea.patch new file mode 100644 index 000000000..1bc142247 --- /dev/null +++ b/poky/meta/recipes-connectivity/dhcp/dhcp/0001-master-Added-includes-of-new-BIND9-compatibility-hea.patch @@ -0,0 +1,79 @@ +From 8194daabfd590f17825f0c61e9534bee5c99cc86 Mon Sep 17 00:00:00 2001 +From: Thomas Markwalder <tmark@isc.org> +Date: Fri, 14 Sep 2018 13:41:41 -0400 +Subject: [master] Added includes of new BIND9 compatibility headers + + Merges in rt48072. + +Upstream-Status: Backport +Signed-off-by: Adrian Bunk <bunk@stusta.de> + +diff --git a/includes/omapip/isclib.h b/includes/omapip/isclib.h +index 75a87ff6..538b927f 100644 +--- a/includes/omapip/isclib.h ++++ b/includes/omapip/isclib.h +@@ -48,6 +48,9 @@ + #include <string.h> + #include <netdb.h> + ++#include <isc/boolean.h> ++#include <isc/int.h> ++ + #include <isc/buffer.h> + #include <isc/lex.h> + #include <isc/lib.h> +diff --git a/includes/omapip/result.h b/includes/omapip/result.h +index 91243e1b..860298f6 100644 +--- a/includes/omapip/result.h ++++ b/includes/omapip/result.h +@@ -26,6 +26,7 @@ + #ifndef DHCP_RESULT_H + #define DHCP_RESULT_H 1 + ++#include <isc/boolean.h> + #include <isc/lang.h> + #include <isc/resultclass.h> + #include <isc/types.h> +diff --git a/server/dhcpv6.c b/server/dhcpv6.c +index a7110f98..cde4f617 100644 +--- a/server/dhcpv6.c ++++ b/server/dhcpv6.c +@@ -1034,7 +1034,8 @@ void check_pool6_threshold(struct reply_state *reply, + shared_name, + inet_ntop(AF_INET6, &lease->addr, + tmp_addr, sizeof(tmp_addr)), +- used, count); ++ (long long unsigned)(used), ++ (long long unsigned)(count)); + } + return; + } +@@ -1066,7 +1067,8 @@ void check_pool6_threshold(struct reply_state *reply, + "address: %s; high threshold %d%% %llu/%llu.", + shared_name, + inet_ntop(AF_INET6, &lease->addr, tmp_addr, sizeof(tmp_addr)), +- poolhigh, used, count); ++ poolhigh, (long long unsigned)(used), ++ (long long unsigned)(count)); + + /* handle the low threshold now, if we don't + * have one we default to 0. */ +@@ -1436,12 +1438,15 @@ pick_v6_address(struct reply_state *reply) + log_debug("Unable to pick client address: " + "no addresses available - shared network %s: " + " 2^64-1 < total, %llu active, %llu abandoned", +- shared_name, active - abandoned, abandoned); ++ shared_name, (long long unsigned)(active - abandoned), ++ (long long unsigned)(abandoned)); + } else { + log_debug("Unable to pick client address: " + "no addresses available - shared network %s: " + "%llu total, %llu active, %llu abandoned", +- shared_name, total, active - abandoned, abandoned); ++ shared_name, (long long unsigned)(total), ++ (long long unsigned)(active - abandoned), ++ (long long unsigned)(abandoned)); + } + + return ISC_R_NORESOURCES; + diff --git a/poky/meta/recipes-connectivity/dhcp/dhcp_4.4.1.bb b/poky/meta/recipes-connectivity/dhcp/dhcp_4.4.1.bb index ca0daa181..19524cb3c 100644 --- a/poky/meta/recipes-connectivity/dhcp/dhcp_4.4.1.bb +++ b/poky/meta/recipes-connectivity/dhcp/dhcp_4.4.1.bb @@ -10,7 +10,8 @@ SRC_URI += "file://0001-define-macro-_PATH_DHCPD_CONF-and-_PATH_DHCLIENT_CON.pat file://0009-remove-dhclient-script-bash-dependency.patch \ file://0012-dhcp-correct-the-intention-for-xml2-lib-search.patch \ file://0013-fixup_use_libbind.patch \ - file://0001-dhcpd-fix-Replace-custom-isc_boolean_t-with-C-standa.patch \ + file://0001-master-Added-includes-of-new-BIND9-compatibility-hea.patch \ + file://0001-Fix-a-NSUPDATE-compiling-issue.patch \ " SRC_URI[md5sum] = "18c7f4dcbb0a63df25098216d47b1ede" diff --git a/poky/meta/recipes-connectivity/iproute2/iproute2.inc b/poky/meta/recipes-connectivity/iproute2/iproute2.inc index 1aa1eec0d..d72871767 100644 --- a/poky/meta/recipes-connectivity/iproute2/iproute2.inc +++ b/poky/meta/recipes-connectivity/iproute2/iproute2.inc @@ -18,7 +18,8 @@ CLEANBROKEN = "1" PACKAGECONFIG ??= "tipc" PACKAGECONFIG[tipc] = ",,libmnl," -EXTRA_OEMAKE = "CC='${CC}' KERNEL_INCLUDE=${STAGING_INCDIR} DOCDIR=${docdir}/iproute2 SUBDIRS='lib tc ip bridge misc genl ${@bb.utils.contains('PACKAGECONFIG', 'tipc', 'tipc', '', d)}' SBINDIR='${base_sbindir}' LIBDIR='${libdir}'" +EXTRA_OEMAKE = "CC='${CC}' KERNEL_INCLUDE=${STAGING_INCDIR} DOCDIR=${docdir}/iproute2 SUBDIRS='lib tc ip bridge misc genl \ + ${@bb.utils.contains('PACKAGECONFIG', 'tipc', 'tipc', '', d)}' SBINDIR='${base_sbindir}' LIBDIR='${libdir}'" do_configure_append () { sh configure ${STAGING_INCDIR} @@ -37,10 +38,19 @@ do_install () { # The .so files in iproute2-tc are modules, not traditional libraries INSANE_SKIP_${PN}-tc = "dev-so" -PACKAGES =+ "${PN}-tc ${PN}-lnstat ${PN}-ifstat ${PN}-genl ${PN}-rtacct ${PN}-nstat ${PN}-ss ${@bb.utils.contains('PACKAGECONFIG', 'tipc', '${PN}-tipc', '', d)}" +PACKAGES =+ "${PN}-tc \ + ${PN}-lnstat \ + ${PN}-ifstat \ + ${PN}-genl \ + ${PN}-rtacct \ + ${PN}-nstat \ + ${PN}-ss \ + ${@bb.utils.contains('PACKAGECONFIG', 'tipc', '${PN}-tipc', '', d)}" FILES_${PN}-tc = "${base_sbindir}/tc* \ ${libdir}/tc/*.so" -FILES_${PN}-lnstat = "${base_sbindir}/lnstat ${base_sbindir}/ctstat ${base_sbindir}/rtstat" +FILES_${PN}-lnstat = "${base_sbindir}/lnstat \ + ${base_sbindir}/ctstat \ + ${base_sbindir}/rtstat" FILES_${PN}-ifstat = "${base_sbindir}/ifstat" FILES_${PN}-genl = "${base_sbindir}/genl" FILES_${PN}-rtacct = "${base_sbindir}/rtacct" diff --git a/poky/meta/recipes-connectivity/iproute2/iproute2/0001-ip-Remove-unneed-header.patch b/poky/meta/recipes-connectivity/iproute2/iproute2/0001-ip-Remove-unneed-header.patch deleted file mode 100644 index a9027c5b5..000000000 --- a/poky/meta/recipes-connectivity/iproute2/iproute2/0001-ip-Remove-unneed-header.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 02ed10fc5215c4a32e6740b0a0c2439659be6801 Mon Sep 17 00:00:00 2001 -From: Changhyeok Bae <changhyeok.bae@gmail.com> -Date: Mon, 13 Nov 2017 15:59:35 +0000 -Subject: [PATCH] ip: Remove unneed header - -Fix redefinition of struct ethhdr with a suitably patched musl libc -that suppresses the kernel if_ether.h. - -Signed-off-by: Changhyeok Bae <changhyeok.bae@gmail.com> - -Upstream-Status: Pending [netdev@vger.kernel.org] ---- - ip/iplink_bridge.c | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/ip/iplink_bridge.c b/ip/iplink_bridge.c -index cccdec1..f065b22 100644 ---- a/ip/iplink_bridge.c -+++ b/ip/iplink_bridge.c -@@ -13,7 +13,6 @@ - #include <stdlib.h> - #include <string.h> - #include <netinet/in.h> --#include <netinet/ether.h> - #include <linux/if_link.h> - #include <linux/if_bridge.h> - #include <net/if.h> --- -2.7.4 - diff --git a/poky/meta/recipes-connectivity/iproute2/iproute2/configure-cross.patch b/poky/meta/recipes-connectivity/iproute2/iproute2/configure-cross.patch index 8b75a2ada..b0c4a088f 100644 --- a/poky/meta/recipes-connectivity/iproute2/iproute2/configure-cross.patch +++ b/poky/meta/recipes-connectivity/iproute2/iproute2/configure-cross.patch @@ -1,6 +1,6 @@ -From 85b0589b4843c03e8e6fd9416d71ea449a73c5c0 Mon Sep 17 00:00:00 2001 +From 3835b1cc4a55361443c2b37dea688da652217635 Mon Sep 17 00:00:00 2001 From: Koen Kooi <koen@dominion.thruhere.net> -Date: Thu, 3 Nov 2011 10:46:16 +0100 +Date: Sun, 31 Mar 2019 17:32:07 +0200 Subject: [PATCH] make configure cross compile safe According to Kevin Tian: @@ -9,11 +9,15 @@ Upstream-Status: Pending Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> Signed-off-by: Shane Wang <shane.wang@intel.com> -Index: iproute2-4.14.1/configure -=================================================================== ---- iproute2-4.14.1.orig/configure -+++ iproute2-4.14.1/configure -@@ -2,6 +2,7 @@ +--- + configure | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/configure b/configure +index 45fcffb6..0c5c9146 100755 +--- a/configure ++++ b/configure +@@ -3,6 +3,7 @@ # This is not an autoconf generated configure # INCLUDE=${1:-"$PWD/include"} @@ -21,12 +25,15 @@ Index: iproute2-4.14.1/configure # Output file which is input to Makefile CONFIG=config.mk -@@ -195,7 +196,7 @@ check_ipt_lib_dir() +@@ -162,7 +163,7 @@ check_ipt_lib_dir() return fi -- for dir in /lib /usr/lib /usr/local/lib -+ for dir in $SYSROOT/lib $SYSROOT/usr/lib $SYSROOT/usr/local/lib - do - for file in $dir/{xtables,iptables}/lib*t_*so ; do +- for dir in /lib /usr/lib /usr/local/lib; do ++ for dir in $SYSROOT/lib $SYSROOT/usr/lib $SYSROOT/usr/local/lib; do + for file in "xtables" "iptables"; do + file="$dir/$file/lib*t_*so" if [ -f $file ]; then +-- +2.17.1 + diff --git a/poky/meta/recipes-connectivity/iproute2/iproute2_4.19.0.bb b/poky/meta/recipes-connectivity/iproute2/iproute2_5.0.0.bb index 6db4062d6..8f33c7fe1 100644 --- a/poky/meta/recipes-connectivity/iproute2/iproute2_4.19.0.bb +++ b/poky/meta/recipes-connectivity/iproute2/iproute2_5.0.0.bb @@ -3,11 +3,10 @@ require iproute2.inc SRC_URI = "${KERNELORG_MIRROR}/linux/utils/net/${BPN}/${BP}.tar.xz \ file://configure-cross.patch \ file://0001-libc-compat.h-add-musl-workaround.patch \ - file://0001-ip-Remove-unneed-header.patch \ " -SRC_URI[md5sum] = "67eeebacaac4515cab73dfd2fc796af3" -SRC_URI[sha256sum] = "d9ec5ca1f47d8a85416fa26e7dc1cbf5d067640eb60e90bdc1c7e5bdc6a29984" +SRC_URI[md5sum] = "d22107b4d7cfb999eeb8ad8a0aec1124" +SRC_URI[sha256sum] = "df047302a39650ef832c07e8dab5df7a23218cd398bd310c8628e386161d20ba" # CFLAGS are computed in Makefile and reference CCOPTS # diff --git a/poky/meta/recipes-connectivity/irda-utils/irda-utils-0.9.18/init b/poky/meta/recipes-connectivity/irda-utils/irda-utils-0.9.18/init deleted file mode 100755 index 6f29e9c6e..000000000 --- a/poky/meta/recipes-connectivity/irda-utils/irda-utils-0.9.18/init +++ /dev/null @@ -1,78 +0,0 @@ -#! /bin/sh -### BEGIN INIT INFO -# Provides: irda -# Required-Start: $network $remote_fs -# Required-Stop: $network $remote_fs -# Default-Start: 2 3 4 5 -# Default-Stop: 0 1 6 -# Short-Description: Infrared port support -### END INIT INFO - -NAME="irattach" -test -x "$IRDA_DAEMON" || IRDA_DAEMON=/usr/sbin/irattach -test -z "$IRATTACH_PID" && IRATTACH_PID=/var/run/irattach.pid - -# Source function library. -. /etc/init.d/functions - -module_id() { - awk 'BEGIN { FS=": " } /Hardware/ { print $2 } ' </proc/cpuinfo -} - -if [ ! -f /etc/sysconfig/irda ]; then - case `module_id` in - "HP iPAQ H2200" | "HP iPAQ HX4700" | "HTC Universal") - IRDA=yes - DEVICE=/dev/ttyS2 - DONGLE= - DISCOVERY= - ;; - *) - IRDA=yes - DEVICE=/dev/ttyS1 - DONGLE= - DISCOVERY= - ;; - esac -else - . /etc/sysconfig/irda -fi - -# Check that irda is up. -[ ${IRDA} = "no" ] && exit 0 - -[ -f /usr/sbin/irattach ] || exit 0 - -ARGS= -if [ $DONGLE ]; then - ARGS="$ARGS -d $DONGLE" -fi -if [ "$DISCOVERY" = "yes" ];then - ARGS="$ARGS -s" -fi - -case "$1" in - start) - echo -n "Starting IrDA: $NAME" - start-stop-daemon --start --quiet --exec "$IRDA_DAEMON" ${DEVICE} ${ARGS} --pidfile "$IRATTACH_PID" - sleep 1 - [ -f /var/run/irattach.pid ] && echo " done" || echo " fail" - ;; - stop) - echo "Stopping IrDA: $NAME" - start-stop-daemon --stop --quiet --exec "$IRDA_DAEMON" --pidfile "$IRATTACH_PID" - ;; - restart|force-reload) - $0 stop - $0 start - ;; - status) - status irattach - exit $? - ;; - *) - N=/etc/init.d/$NAME - echo "Usage: $N {start|stop|restart|force-reload|status}" >&2 - exit 1 - ;; -esac diff --git a/poky/meta/recipes-connectivity/irda-utils/irda-utils-0.9.18/ldflags.patch b/poky/meta/recipes-connectivity/irda-utils/irda-utils-0.9.18/ldflags.patch deleted file mode 100644 index b246de8f5..000000000 --- a/poky/meta/recipes-connectivity/irda-utils/irda-utils-0.9.18/ldflags.patch +++ /dev/null @@ -1,87 +0,0 @@ -Obey LDFLAGS - -Signed-off-by: Christopher Larson <chris_larson@mentor.com> -Upstream-Status: Pending - -Index: irda-utils-0.9.18/findchip/Makefile -=================================================================== ---- irda-utils-0.9.18.orig/findchip/Makefile -+++ irda-utils-0.9.18/findchip/Makefile -@@ -65,5 +65,5 @@ install: findchip - - gfindchip: gfindchip.c - $(prn_cc) -- $(ECMD))$(CC) $(CFLAGS) `gtk-config --cflags` $< -o $@ `gtk-config --libs` -+ $(ECMD)$(CC) $(CFLAGS) $(LDFLAGS) `gtk-config --cflags` $< -o $@ `gtk-config --libs` - -Index: irda-utils-0.9.18/irattach/Makefile -=================================================================== ---- irda-utils-0.9.18.orig/irattach/Makefile -+++ irda-utils-0.9.18/irattach/Makefile -@@ -49,13 +49,13 @@ all: $(TARGETS) - - irattach: irattach.o util.o - $(prn_cc_o) -- $(ECMD)$(CC) $(CFLAGS) irattach.o util.o -o $@ -+ $(ECMD)$(CC) $(CFLAGS) $(LDFLAGS) irattach.o util.o -o $@ - - - - dongle_attach: dongle_attach.o - $(prn_cc_o) -- $(ECMD)$(CC) $(CFLAGS) dongle_attach.o -o $@ -+ $(ECMD)$(CC) $(CFLAGS) $(LDFLAGS) dongle_attach.o -o $@ - - - install: $(TARGETS) -Index: irda-utils-0.9.18/irdadump/Makefile -=================================================================== ---- irda-utils-0.9.18.orig/irdadump/Makefile -+++ irda-utils-0.9.18/irdadump/Makefile -@@ -40,7 +40,7 @@ lib_irdadump.a: $(LIBIRDADUMP_OBJS) - - irdadump: $(IRDADUMP_OBJS) $(LIBIRDADUMP_TARGET) - $(prn_cc_o) -- $(ECMD)$(CC) $(CFLAGS) `pkg-config --libs glib-2.0` -o $(IRDADUMP_TARGET) $< $(LIBIRDADUMP_TARGET) -+ $(ECMD)$(CC) $(CFLAGS) $(LDFLAGS) `pkg-config --libs glib-2.0` -o $(IRDADUMP_TARGET) $< $(LIBIRDADUMP_TARGET) - - - .c.o: -Index: irda-utils-0.9.18/irdaping/Makefile -=================================================================== ---- irda-utils-0.9.18.orig/irdaping/Makefile -+++ irda-utils-0.9.18/irdaping/Makefile -@@ -56,7 +56,7 @@ all: $(TARGETS) - - irdaping: $(OBJS) - $(prn_cc_o) -- $(ECMD)$(CC) $(CFLAGS) $(OBJS) -o $@ -+ $(ECMD)$(CC) $(CFLAGS) $(LDFLAGS) $(OBJS) -o $@ - - - .c.o: -Index: irda-utils-0.9.18/irnetd/Makefile -=================================================================== ---- irda-utils-0.9.18.orig/irnetd/Makefile -+++ irda-utils-0.9.18/irnetd/Makefile -@@ -50,7 +50,7 @@ all: $(TARGETS) - - irnetd: $(OBJS) - $(prn_cc_o) -- $(ECMD)$(CC) $(CFLAGS) $(OBJS) -o $@ -+ $(ECMD)$(CC) $(CFLAGS) $(LDFLAGS) $(OBJS) -o $@ - - - install: irnetd -Index: irda-utils-0.9.18/psion/Makefile -=================================================================== ---- irda-utils-0.9.18.orig/psion/Makefile -+++ irda-utils-0.9.18/psion/Makefile -@@ -25,4 +25,4 @@ install: $(PSION_TARGETS) - CFLAGS += -g -I../include -Wall -Wstrict-prototypes $(RPM_OPT_FLAGS) - irpsion5: - $(prn_cc_o) -- $(ECMD)$(CC) $(CFLAGS) $(PSION_SRC) -o $@ -\ No newline at end of file -+ $(ECMD)$(CC) $(CFLAGS) $(LDFLAGS) $(PSION_SRC) -o $@ -\ No newline at end of file diff --git a/poky/meta/recipes-connectivity/irda-utils/irda-utils-0.9.18/musl.patch b/poky/meta/recipes-connectivity/irda-utils/irda-utils-0.9.18/musl.patch deleted file mode 100644 index 97eb97502..000000000 --- a/poky/meta/recipes-connectivity/irda-utils/irda-utils-0.9.18/musl.patch +++ /dev/null @@ -1,29 +0,0 @@ -Replace use of <net/if_packet.h> with <linux/if_packet.h>. - -kernel headers <linux/if_packet.h> already provides the -needed definitions, moreover not all libc implementations -provide if_packet.h e.g. musl - -Signed-off-by: Khem Raj <raj.khem@gmail.com> -Upstream-Status: Pending - -Index: irda-utils-0.9.18/irdaping/irdaping.c -=================================================================== ---- irda-utils-0.9.18.orig/irdaping/irdaping.c -+++ irda-utils-0.9.18/irdaping/irdaping.c -@@ -33,7 +33,6 @@ - #include <sys/socket.h> - #include <sys/ioctl.h> - #include <net/if.h> /* For struct ifreq */ --#include <net/if_packet.h> /* For struct sockaddr_pkt */ - #include <net/if_arp.h> /* For ARPHRD_IRDA */ - #include <netinet/if_ether.h> /* For ETH_P_ALL */ - #include <netinet/in.h> /* For htons */ -@@ -46,6 +45,7 @@ - #include <asm/byteorder.h> /* __cpu_to_le32 and co. */ - - #include <linux/types.h> /* For __u8 and co. */ -+#include <linux/if_packet.h> /* For struct sockaddr_pkt */ - #include <irda.h> - - #ifndef AF_IRDA diff --git a/poky/meta/recipes-connectivity/irda-utils/irda-utils_0.9.18.bb b/poky/meta/recipes-connectivity/irda-utils/irda-utils_0.9.18.bb deleted file mode 100644 index 11b2ee911..000000000 --- a/poky/meta/recipes-connectivity/irda-utils/irda-utils_0.9.18.bb +++ /dev/null @@ -1,51 +0,0 @@ -SUMMARY = "Common files for IrDA" -DESCRIPTION = "Provides common files needed to use IrDA. \ -IrDA allows communication over Infrared with other devices \ -such as phones and laptops." -HOMEPAGE = "http://irda.sourceforge.net/" -BUGTRACKER = "http://sourceforge.net/p/irda/bugs/" -SECTION = "base" -LICENSE = "GPLv2+" -LIC_FILES_CHKSUM = "file://irdadump/COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ - file://smcinit/COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3 \ - file://man/COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ - file://irdadump/irdadump.c;beginline=1;endline=24;md5=d78b9dce3cd78c2220250c9c7a2be178" - -SRC_URI = "${SOURCEFORGE_MIRROR}/irda/irda-utils-${PV}.tar.gz \ - file://ldflags.patch \ - file://musl.patch \ - file://init" - -SRC_URI[md5sum] = "84dc12aa4c3f61fccb8d8919bf4079bb" -SRC_URI[sha256sum] = "61980551e46b2eaa9e17ad31cbc1a638074611fc33bff34163d10c7a67a9fdc6" - -inherit update-rc.d - -EXTRA_OEMAKE = "\ - 'CC=${CC}' \ - 'LD=${LD}' \ - 'CFLAGS=${CFLAGS}' \ - 'LDFLAGS=${LDFLAGS}' \ - 'SYS_INCLUDES=' \ - 'V=1' \ -" - -INITSCRIPT_NAME = "irattach" -INITSCRIPT_PARAMS = "defaults 20" - -TARGETS ??= "irattach irdaping" -do_compile () { - for t in ${TARGETS}; do - oe_runmake -C $t - done -} - -do_install () { - install -d ${D}${sbindir} - for t in ${TARGETS}; do - oe_runmake -C $t ROOT="${D}" install - done - - install -d ${D}${sysconfdir}/init.d - install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/${INITSCRIPT_NAME} -} diff --git a/poky/meta/recipes-connectivity/iw/iw/0001-connect-fix-parsing-of-WEP-keys.patch b/poky/meta/recipes-connectivity/iw/iw/0001-connect-fix-parsing-of-WEP-keys.patch deleted file mode 100644 index 8cf8f7ab3..000000000 --- a/poky/meta/recipes-connectivity/iw/iw/0001-connect-fix-parsing-of-WEP-keys.patch +++ /dev/null @@ -1,194 +0,0 @@ -From 2a6be4166fd718be0694fe8a6e3f1013c125dee2 Mon Sep 17 00:00:00 2001 -From: Emmanuel Grumbach <emmanuel.grumbach@intel.com> -Date: Tue, 12 Jun 2018 09:01:56 +0300 -Subject: [PATCH] connect: fix parsing of WEP keys - -The introduction of MFP options added a bug that causes a -segmentation fault when parsing WEP keys. -Fix that. - -Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> -Signed-off-by: Johannes Berg <johannes.berg@intel.com> - -Upstream-Status: Backport -[https://git.kernel.org/pub/scm/linux/kernel/git/jberg/iw.git/commit/?id=0e39f109c4b8155697a12ef090b59cdb304c8c44] -Signed-off-by: Liu Haitao <haitao.liu@windriver.com> ---- - ap.c | 2 +- - connect.c | 7 ++----- - ibss.c | 2 +- - iw.h | 3 ++- - util.c | 36 ++++++++++++++++++------------------ - 5 files changed, 24 insertions(+), 26 deletions(-) - -diff --git a/ap.c b/ap.c -index 4bab5b9..dcce402 100644 ---- a/ap.c -+++ b/ap.c -@@ -116,7 +116,7 @@ static int handle_start_ap(struct nl80211_state *state, - argv++; - argc--; - -- return parse_keys(msg, argv, argc); -+ return parse_keys(msg, &argv, &argc); - nla_put_failure: - return -ENOSPC; - } -diff --git a/connect.c b/connect.c -index 339fc73..4a847a1 100644 ---- a/connect.c -+++ b/connect.c -@@ -54,13 +54,10 @@ static int iw_conn(struct nl80211_state *state, - argv++; - argc--; - -- ret = parse_keys(msg, argv, argc); -+ ret = parse_keys(msg, &argv, &argc); - if (ret) - return ret; - -- argc -= 4; -- argv += 4; -- - if (!argc) - return 0; - -@@ -228,7 +225,7 @@ static int iw_auth(struct nl80211_state *state, - argv++; - argc--; - -- return parse_keys(msg, argv, argc); -+ return parse_keys(msg, &argv, &argc); - nla_put_failure: - return -ENOSPC; - } -diff --git a/ibss.c b/ibss.c -index 84f1e95..d77fc92 100644 ---- a/ibss.c -+++ b/ibss.c -@@ -115,7 +115,7 @@ static int join_ibss(struct nl80211_state *state, - argv++; - argc--; - -- return parse_keys(msg, argv, argc); -+ return parse_keys(msg, &argv, &argc); - nla_put_failure: - return -ENOSPC; - } -diff --git a/iw.h b/iw.h -index ee7ca20..8767ed3 100644 ---- a/iw.h -+++ b/iw.h -@@ -180,7 +180,8 @@ int parse_hex_mask(char *hexmask, unsigned char **result, size_t *result_len, - unsigned char **mask); - unsigned char *parse_hex(char *hex, size_t *outlen); - --int parse_keys(struct nl_msg *msg, char **argv, int argc); -+ -+int parse_keys(struct nl_msg *msg, char **argv[], int *argc); - int parse_freqchan(struct chandef *chandef, bool chan, int argc, char **argv, int *parsed); - enum nl80211_chan_width str_to_bw(const char *str); - int put_chandef(struct nl_msg *msg, struct chandef *chandef); -diff --git a/util.c b/util.c -index 6e0ddff..122c019 100644 ---- a/util.c -+++ b/util.c -@@ -417,23 +417,23 @@ static int parse_cipher_suite(const char *cipher_str) - return -EINVAL; - } - --int parse_keys(struct nl_msg *msg, char **argv, int argc) -+int parse_keys(struct nl_msg *msg, char **argv[], int *argc) - { - struct nlattr *keys; - int i = 0; - bool have_default = false; -- char *arg = *argv; -+ char *arg = **argv; - char keybuf[13]; - int pos = 0; - -- if (!argc) -+ if (!*argc) - return 1; - - if (!memcmp(&arg[pos], "psk", 3)) { - char psk_keybuf[32]; - int cipher_suite, akm_suite; - -- if (argc < 4) -+ if (*argc < 4) - goto explain; - - pos+=3; -@@ -451,9 +451,9 @@ int parse_keys(struct nl_msg *msg, char **argv, int argc) - NLA_PUT(msg, NL80211_ATTR_PMK, 32, psk_keybuf); - NLA_PUT_U32(msg, NL80211_ATTR_AUTH_TYPE, NL80211_AUTHTYPE_OPEN_SYSTEM); - -- argv++; -- argc--; -- arg = *argv; -+ *argv += 1; -+ *argc -= 1; -+ arg = **argv; - - akm_suite = parse_akm_suite(arg); - if (akm_suite < 0) -@@ -461,9 +461,9 @@ int parse_keys(struct nl_msg *msg, char **argv, int argc) - - NLA_PUT_U32(msg, NL80211_ATTR_AKM_SUITES, akm_suite); - -- argv++; -- argc--; -- arg = *argv; -+ *argv += 1; -+ *argc -= 1; -+ arg = **argv; - - cipher_suite = parse_cipher_suite(arg); - if (cipher_suite < 0) -@@ -471,9 +471,9 @@ int parse_keys(struct nl_msg *msg, char **argv, int argc) - - NLA_PUT_U32(msg, NL80211_ATTR_CIPHER_SUITES_PAIRWISE, cipher_suite); - -- argv++; -- argc--; -- arg = *argv; -+ *argv += 1; -+ *argc -= 1; -+ arg = **argv; - - cipher_suite = parse_cipher_suite(arg); - if (cipher_suite < 0) -@@ -495,7 +495,7 @@ int parse_keys(struct nl_msg *msg, char **argv, int argc) - struct nlattr *key = nla_nest_start(msg, ++i); - char *keydata; - -- arg = *argv; -+ arg = **argv; - pos = 0; - - if (!key) -@@ -537,15 +537,15 @@ int parse_keys(struct nl_msg *msg, char **argv, int argc) - - NLA_PUT(msg, NL80211_KEY_DATA, keylen, keydata); - -- argv++; -- argc--; -+ *argv += 1; -+ *argc -= 1; - - /* one key should be TX key */ -- if (!have_default && !argc) -+ if (!have_default && !*argc) - NLA_PUT_FLAG(msg, NL80211_KEY_DEFAULT); - - nla_nest_end(msg, key); -- } while (argc); -+ } while (*argc); - - nla_nest_end(msg, keys); - --- -2.17.1 - diff --git a/poky/meta/recipes-connectivity/iw/iw/separate-objdir.patch b/poky/meta/recipes-connectivity/iw/iw/separate-objdir.patch index 0ea6a5278..eb01a5a14 100644 --- a/poky/meta/recipes-connectivity/iw/iw/separate-objdir.patch +++ b/poky/meta/recipes-connectivity/iw/iw/separate-objdir.patch @@ -7,29 +7,36 @@ Upstream-Status: Pending Signed-off-by: Christopher Larson <chris_larson@mentor.com> Signed-off-by: Maxin B. John <maxin.john@intel.com> --- -diff -Naur iw-4.3-origin/Makefile iw-4.3/Makefile ---- iw-4.3-origin/Makefile 2015-11-20 16:37:58.752077287 +0200 -+++ iw-4.3/Makefile 2015-11-20 16:57:15.510615815 +0200 -@@ -1,5 +1,7 @@ + Makefile | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) + +diff --git a/Makefile b/Makefile +index 33aaf6a..9030796 100644 +--- a/Makefile ++++ b/Makefile +@@ -1,5 +1,9 @@ MAKEFLAGS += --no-print-directory -- + +SRCDIR ?= $(dir $(lastword $(MAKEFILE_LIST))) +OBJDIR ?= $(PWD) +VPATH = $(SRCDIR) ++ PREFIX ?= /usr SBINDIR ?= $(PREFIX)/sbin MANDIR ?= $(PREFIX)/share/man -@@ -95,11 +97,11 @@ +@@ -103,11 +107,11 @@ VERSION_OBJS := $(filter-out version.o, $(OBJS)) version.c: version.sh $(patsubst %.o,%.c,$(VERSION_OBJS)) nl80211.h iw.h Makefile \ $(wildcard .git/index .git/refs/tags) @$(NQ) ' GEN ' $@ - $(Q)./version.sh $@ + $(Q)cd $(SRCDIR) && ./version.sh $(OBJDIR)/$@ - + %.o: %.c iw.h nl80211.h @$(NQ) ' CC ' $@ -- $(Q)$(CC) $(CFLAGS) -c -o $@ $< -+ $(Q)$(CC) -I$(SRCDIR) $(CFLAGS) -c -o $@ $< - +- $(Q)$(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $< ++ $(Q)$(CC) -I$(SRCDIR) $(CFLAGS) $(CPPFLAGS) -c -o $@ $< + ifeq ($(IW_ANDROID_BUILD),) iw: $(OBJS) +-- +2.20.1 (Apple Git-117) diff --git a/poky/meta/recipes-connectivity/iw/iw_4.14.bb b/poky/meta/recipes-connectivity/iw/iw_5.0.1.bb index f414a4b1d..e12796351 100644 --- a/poky/meta/recipes-connectivity/iw/iw_4.14.bb +++ b/poky/meta/recipes-connectivity/iw/iw_5.0.1.bb @@ -12,11 +12,10 @@ DEPENDS = "libnl" SRC_URI = "http://www.kernel.org/pub/software/network/iw/${BP}.tar.gz \ file://0001-iw-version.sh-don-t-use-git-describe-for-versioning.patch \ file://separate-objdir.patch \ - file://0001-connect-fix-parsing-of-WEP-keys.patch \ " -SRC_URI[md5sum] = "2067516ca9940fdb8c091ee3250da374" -SRC_URI[sha256sum] = "a0c3aad6ff52234d03a2522ba2eba570e36abb3e60dc29bf0b1ce88dd725d6d4" +SRC_URI[md5sum] = "a0a17ab1b20132c716bba9a4f9974ba6" +SRC_URI[sha256sum] = "36fc7592dde7bec934df83cd53ef1f2c08ceec5cd58d07eb8f71cc6e8464013c" inherit pkgconfig diff --git a/poky/meta/recipes-connectivity/ofono/ofono/0001-build-Add-check-for-explicit_bzero-support.patch b/poky/meta/recipes-connectivity/ofono/ofono/0001-build-Add-check-for-explicit_bzero-support.patch new file mode 100644 index 000000000..4676bb766 --- /dev/null +++ b/poky/meta/recipes-connectivity/ofono/ofono/0001-build-Add-check-for-explicit_bzero-support.patch @@ -0,0 +1,27 @@ +From dff595671bf5a46f7c9231966a6cd7d2a0183076 Mon Sep 17 00:00:00 2001 +From: Marcel Holtmann <marcel@holtmann.org> +Date: Wed, 15 May 2019 09:39:44 +0200 +Subject: build: Add check for explicit_bzero support + +Upstream-Status: Backport +Signed-off-by: Adrian Bunk <bunk@stusta.de> +--- + configure.ac | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/configure.ac b/configure.ac +index bacb7ac5..cad35c5d 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -54,6 +54,8 @@ AC_ARG_ENABLE(pie, AC_HELP_STRING([--enable-pie], + fi + ]) + ++AC_CHECK_FUNCS(explicit_bzero) ++ + AC_CHECK_FUNC(signalfd, dummy=yes, + AC_MSG_ERROR(signalfd support is required)) + +-- +2.20.1 + diff --git a/poky/meta/recipes-connectivity/ofono/ofono/0001-build-Fix-a-race-condition.patch b/poky/meta/recipes-connectivity/ofono/ofono/0001-build-Fix-a-race-condition.patch new file mode 100644 index 000000000..2e2aa8826 --- /dev/null +++ b/poky/meta/recipes-connectivity/ofono/ofono/0001-build-Fix-a-race-condition.patch @@ -0,0 +1,28 @@ +From 3e43e3342f3fada1624a28500a5337019fed7d89 Mon Sep 17 00:00:00 2001 +From: Adrian Bunk <bunk@kernel.org> +Date: Thu, 9 May 2019 12:19:51 +0300 +Subject: build: Fix a race condition + +ell/ell.h was written before ell/ existed + +Upstream-Status: Backport +Signed-off-by: Adrian Bunk <bunk@stusta.de> +--- + Makefile.am | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/Makefile.am b/Makefile.am +index a569c4a3..d2e310d5 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -1107,6 +1107,7 @@ ell/internal: Makefile + done > $@ + + ell/ell.h: Makefile ++ $(AM_V_at)$(MKDIR_P) ell + $(AM_V_at)echo -n > $@ + $(AM_V_GEN)for f in $(ell_headers) ; do \ + echo "#include <$$f>" >> $@ ; \ +-- +2.20.1 + diff --git a/poky/meta/recipes-connectivity/ofono/ofono/use-python3.patch b/poky/meta/recipes-connectivity/ofono/ofono/use-python3.patch deleted file mode 100644 index 7b8407525..000000000 --- a/poky/meta/recipes-connectivity/ofono/ofono/use-python3.patch +++ /dev/null @@ -1,27 +0,0 @@ -set-ddr should use Python3 like all the other tests. - -Upstream-Status: Submitted -Signed-off-by: Ross Burton <ross.burton@intel.com> - -From 17b69cd1da4c5c5f732acb38ca1602446c567ee7 Mon Sep 17 00:00:00 2001 -From: Ross Burton <ross.burton@intel.com> -Date: Mon, 29 Jan 2018 11:31:25 +0000 -Subject: [PATCH] test/setddr: use Python 3 - -All the other tests use Python 3, so this should to. ---- - test/set-ddr | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/test/set-ddr b/test/set-ddr -index 5d061b95..33631f31 100755 ---- a/test/set-ddr -+++ b/test/set-ddr -@@ -1,4 +1,4 @@ --#!/usr/bin/python -+#!/usr/bin/python3 - - import sys - import dbus --- -2.11.0 diff --git a/poky/meta/recipes-connectivity/ofono/ofono_1.25.bb b/poky/meta/recipes-connectivity/ofono/ofono_1.25.bb deleted file mode 100644 index 3688b9d2f..000000000 --- a/poky/meta/recipes-connectivity/ofono/ofono_1.25.bb +++ /dev/null @@ -1,9 +0,0 @@ -require ofono.inc - -SRC_URI = "\ - ${KERNELORG_MIRROR}/linux/network/${BPN}/${BP}.tar.xz \ - file://ofono \ - file://use-python3.patch \ -" -SRC_URI[md5sum] = "31450cabdd8dbbf3f808ea2f2f066863" -SRC_URI[sha256sum] = "eb011fcd3080e93f3a56f96be60350b6595a8b5f36b61646312ba41b0bcb0d75" diff --git a/poky/meta/recipes-connectivity/ofono/ofono_1.29.bb b/poky/meta/recipes-connectivity/ofono/ofono_1.29.bb new file mode 100644 index 000000000..a22b99a72 --- /dev/null +++ b/poky/meta/recipes-connectivity/ofono/ofono_1.29.bb @@ -0,0 +1,10 @@ +require ofono.inc + +SRC_URI = "\ + ${KERNELORG_MIRROR}/linux/network/${BPN}/${BP}.tar.xz \ + file://ofono \ + file://0001-build-Fix-a-race-condition.patch \ + file://0001-build-Add-check-for-explicit_bzero-support.patch \ +" +SRC_URI[md5sum] = "4fa0372630ff03f223452e4d05efa8f8" +SRC_URI[sha256sum] = "67f0f8e5740dea5b46309e40667d1e560be39c90ef08dd01ff9e9ce8e61f0679" diff --git a/poky/meta/recipes-connectivity/openssh/openssh/0001-upstream-Have-progressmeter-force-an-update-at-the-b.patch b/poky/meta/recipes-connectivity/openssh/openssh/0001-upstream-Have-progressmeter-force-an-update-at-the-b.patch new file mode 100644 index 000000000..4c9d57442 --- /dev/null +++ b/poky/meta/recipes-connectivity/openssh/openssh/0001-upstream-Have-progressmeter-force-an-update-at-the-b.patch @@ -0,0 +1,121 @@ +From 5df934e2279e8ed1f07b990f4b2b3baf6470f7e5 Mon Sep 17 00:00:00 2001 +From: "dtucker@openbsd.org" <dtucker@openbsd.org> +Date: Thu, 24 Jan 2019 16:52:17 +0000 +Subject: [PATCH] upstream: Have progressmeter force an update at the beginning + and + +end of each transfer. Fixes the problem recently introduces where very quick +transfers do not display the progressmeter at all. Spotted by naddy@ + +OpenBSD-Commit-ID: 68dc46c259e8fdd4f5db3ec2a130f8e4590a7a9a +Upstream-Status: Backport +Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> +--- + progressmeter.c | 13 +++++-------- + progressmeter.h | 4 ++-- + scp.c | 2 +- + sftp-client.c | 2 +- + 4 files changed, 9 insertions(+), 12 deletions(-) + +diff --git a/progressmeter.c b/progressmeter.c +index add462d..e385c12 100644 +--- a/progressmeter.c ++++ b/progressmeter.c +@@ -1,4 +1,4 @@ +-/* $OpenBSD: progressmeter.c,v 1.46 2019/01/23 08:01:46 dtucker Exp $ */ ++/* $OpenBSD: progressmeter.c,v 1.47 2019/01/24 16:52:17 dtucker Exp $ */ + /* + * Copyright (c) 2003 Nils Nordman. All rights reserved. + * +@@ -59,9 +59,6 @@ static void format_rate(char *, int, off_t); + static void sig_winch(int); + static void setscreensize(void); + +-/* updates the progressmeter to reflect the current state of the transfer */ +-void refresh_progress_meter(void); +- + /* signal handler for updating the progress meter */ + static void sig_alarm(int); + +@@ -120,7 +117,7 @@ format_size(char *buf, int size, off_t bytes) + } + + void +-refresh_progress_meter(void) ++refresh_progress_meter(int force_update) + { + char buf[MAX_WINSIZE + 1]; + off_t transferred; +@@ -131,7 +128,7 @@ refresh_progress_meter(void) + int hours, minutes, seconds; + int file_len; + +- if ((!alarm_fired && !win_resized) || !can_output()) ++ if ((!force_update && !alarm_fired && !win_resized) || !can_output()) + return; + alarm_fired = 0; + +@@ -254,7 +251,7 @@ start_progress_meter(const char *f, off_t filesize, off_t *ctr) + bytes_per_second = 0; + + setscreensize(); +- refresh_progress_meter(); ++ refresh_progress_meter(1); + + signal(SIGALRM, sig_alarm); + signal(SIGWINCH, sig_winch); +@@ -271,7 +268,7 @@ stop_progress_meter(void) + + /* Ensure we complete the progress */ + if (cur_pos != end_pos) +- refresh_progress_meter(); ++ refresh_progress_meter(1); + + atomicio(vwrite, STDOUT_FILENO, "\n", 1); + } +diff --git a/progressmeter.h b/progressmeter.h +index 8f66780..1703ea7 100644 +--- a/progressmeter.h ++++ b/progressmeter.h +@@ -1,4 +1,4 @@ +-/* $OpenBSD: progressmeter.h,v 1.4 2019/01/23 08:01:46 dtucker Exp $ */ ++/* $OpenBSD: progressmeter.h,v 1.5 2019/01/24 16:52:17 dtucker Exp $ */ + /* + * Copyright (c) 2002 Nils Nordman. All rights reserved. + * +@@ -24,5 +24,5 @@ + */ + + void start_progress_meter(const char *, off_t, off_t *); +-void refresh_progress_meter(void); ++void refresh_progress_meter(int); + void stop_progress_meter(void); +diff --git a/scp.c b/scp.c +index 4a342a6..0587cec 100644 +--- a/scp.c ++++ b/scp.c +@@ -585,7 +585,7 @@ scpio(void *_cnt, size_t s) + off_t *cnt = (off_t *)_cnt; + + *cnt += s; +- refresh_progress_meter(); ++ refresh_progress_meter(0); + if (limit_kbps > 0) + bandwidth_limit(&bwlimit, s); + return 0; +diff --git a/sftp-client.c b/sftp-client.c +index 2bc698f..cf2887a 100644 +--- a/sftp-client.c ++++ b/sftp-client.c +@@ -101,7 +101,7 @@ sftpio(void *_bwlimit, size_t amount) + { + struct bwlimit *bwlimit = (struct bwlimit *)_bwlimit; + +- refresh_progress_meter(); ++ refresh_progress_meter(0); + if (bwlimit != NULL) + bandwidth_limit(bwlimit, amount); + return 0; +-- +2.7.4 + diff --git a/poky/meta/recipes-connectivity/openssh/openssh/CVE-2018-20685.patch b/poky/meta/recipes-connectivity/openssh/openssh/CVE-2018-20685.patch new file mode 100644 index 000000000..c5b3baece --- /dev/null +++ b/poky/meta/recipes-connectivity/openssh/openssh/CVE-2018-20685.patch @@ -0,0 +1,40 @@ +From 6010c0303a422a9c5fa8860c061bf7105eb7f8b2 Mon Sep 17 00:00:00 2001 +From: "djm@openbsd.org" <djm@openbsd.org> +Date: Fri, 16 Nov 2018 03:03:10 +0000 +Subject: [PATCH] upstream: disallow empty incoming filename or ones that refer + to the + +current directory; based on report/patch from Harry Sintonen + +OpenBSD-Commit-ID: f27651b30eaee2df49540ab68d030865c04f6de9 + +CVE: CVE-2018-20685 +Upstream-Status: Backport +Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> +--- + scp.c | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/scp.c b/scp.c +index 60682c6..4f3fdcd 100644 +--- a/scp.c ++++ b/scp.c +@@ -1,4 +1,4 @@ +-/* $OpenBSD: scp.c,v 1.197 2018/06/01 04:31:48 dtucker Exp $ */ ++/* $OpenBSD: scp.c,v 1.198 2018/11/16 03:03:10 djm Exp $ */ + /* + * scp - secure remote copy. This is basically patched BSD rcp which + * uses ssh to do the data transfer (instead of using rcmd). +@@ -1106,7 +1106,8 @@ sink(int argc, char **argv) + SCREWUP("size out of range"); + size = (off_t)ull; + +- if ((strchr(cp, '/') != NULL) || (strcmp(cp, "..") == 0)) { ++ if (*cp == '\0' || strchr(cp, '/') != NULL || ++ strcmp(cp, ".") == 0 || strcmp(cp, "..") == 0) { + run_err("error: unexpected filename: %s", cp); + exit(1); + } +-- +2.7.4 + diff --git a/poky/meta/recipes-connectivity/openssh/openssh/CVE-2019-6109.patch b/poky/meta/recipes-connectivity/openssh/openssh/CVE-2019-6109.patch new file mode 100644 index 000000000..dabe4a6c9 --- /dev/null +++ b/poky/meta/recipes-connectivity/openssh/openssh/CVE-2019-6109.patch @@ -0,0 +1,275 @@ +From 15d47c3bd8551521240bc459fc004c280daef817 Mon Sep 17 00:00:00 2001 +From: "dtucker@openbsd.org" <dtucker@openbsd.org> +Date: Wed, 23 Jan 2019 08:01:46 +0000 +Subject: [PATCH] upstream: Sanitize scp filenames via snmprintf. To do this we + move + +the progressmeter formatting outside of signal handler context and have the +atomicio callback called for EINTR too. bz#2434 with contributions from djm +and jjelen at redhat.com, ok djm@ + +OpenBSD-Commit-ID: 1af61c1f70e4f3bd8ab140b9f1fa699481db57d8 +CVE: CVE-2019-6109 +Upstream-Status: Backport +Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> +--- + atomicio.c | 20 +++++++++++++++----- + progressmeter.c | 53 ++++++++++++++++++++++++----------------------------- + progressmeter.h | 3 ++- + scp.c | 1 + + sftp-client.c | 16 +++++++++------- + 5 files changed, 51 insertions(+), 42 deletions(-) + +diff --git a/atomicio.c b/atomicio.c +index f854a06..d91bd76 100644 +--- a/atomicio.c ++++ b/atomicio.c +@@ -1,4 +1,4 @@ +-/* $OpenBSD: atomicio.c,v 1.28 2016/07/27 23:18:12 djm Exp $ */ ++/* $OpenBSD: atomicio.c,v 1.29 2019/01/23 08:01:46 dtucker Exp $ */ + /* + * Copyright (c) 2006 Damien Miller. All rights reserved. + * Copyright (c) 2005 Anil Madhavapeddy. All rights reserved. +@@ -65,9 +65,14 @@ atomicio6(ssize_t (*f) (int, void *, size_t), int fd, void *_s, size_t n, + res = (f) (fd, s + pos, n - pos); + switch (res) { + case -1: +- if (errno == EINTR) ++ if (errno == EINTR) { ++ /* possible SIGALARM, update callback */ ++ if (cb != NULL && cb(cb_arg, 0) == -1) { ++ errno = EINTR; ++ return pos; ++ } + continue; +- if (errno == EAGAIN || errno == EWOULDBLOCK) { ++ } else if (errno == EAGAIN || errno == EWOULDBLOCK) { + #ifndef BROKEN_READ_COMPARISON + (void)poll(&pfd, 1, -1); + #endif +@@ -122,9 +127,14 @@ atomiciov6(ssize_t (*f) (int, const struct iovec *, int), int fd, + res = (f) (fd, iov, iovcnt); + switch (res) { + case -1: +- if (errno == EINTR) ++ if (errno == EINTR) { ++ /* possible SIGALARM, update callback */ ++ if (cb != NULL && cb(cb_arg, 0) == -1) { ++ errno = EINTR; ++ return pos; ++ } + continue; +- if (errno == EAGAIN || errno == EWOULDBLOCK) { ++ } else if (errno == EAGAIN || errno == EWOULDBLOCK) { + #ifndef BROKEN_READV_COMPARISON + (void)poll(&pfd, 1, -1); + #endif +diff --git a/progressmeter.c b/progressmeter.c +index fe9bf52..add462d 100644 +--- a/progressmeter.c ++++ b/progressmeter.c +@@ -1,4 +1,4 @@ +-/* $OpenBSD: progressmeter.c,v 1.45 2016/06/30 05:17:05 dtucker Exp $ */ ++/* $OpenBSD: progressmeter.c,v 1.46 2019/01/23 08:01:46 dtucker Exp $ */ + /* + * Copyright (c) 2003 Nils Nordman. All rights reserved. + * +@@ -31,6 +31,7 @@ + + #include <errno.h> + #include <signal.h> ++#include <stdarg.h> + #include <stdio.h> + #include <string.h> + #include <time.h> +@@ -39,6 +40,7 @@ + #include "progressmeter.h" + #include "atomicio.h" + #include "misc.h" ++#include "utf8.h" + + #define DEFAULT_WINSIZE 80 + #define MAX_WINSIZE 512 +@@ -61,7 +63,7 @@ static void setscreensize(void); + void refresh_progress_meter(void); + + /* signal handler for updating the progress meter */ +-static void update_progress_meter(int); ++static void sig_alarm(int); + + static double start; /* start progress */ + static double last_update; /* last progress update */ +@@ -74,6 +76,7 @@ static long stalled; /* how long we have been stalled */ + static int bytes_per_second; /* current speed in bytes per second */ + static int win_size; /* terminal window size */ + static volatile sig_atomic_t win_resized; /* for window resizing */ ++static volatile sig_atomic_t alarm_fired; + + /* units for format_size */ + static const char unit[] = " KMGT"; +@@ -126,9 +129,17 @@ refresh_progress_meter(void) + off_t bytes_left; + int cur_speed; + int hours, minutes, seconds; +- int i, len; + int file_len; + ++ if ((!alarm_fired && !win_resized) || !can_output()) ++ return; ++ alarm_fired = 0; ++ ++ if (win_resized) { ++ setscreensize(); ++ win_resized = 0; ++ } ++ + transferred = *counter - (cur_pos ? cur_pos : start_pos); + cur_pos = *counter; + now = monotime_double(); +@@ -158,16 +169,11 @@ refresh_progress_meter(void) + + /* filename */ + buf[0] = '\0'; +- file_len = win_size - 35; ++ file_len = win_size - 36; + if (file_len > 0) { +- len = snprintf(buf, file_len + 1, "\r%s", file); +- if (len < 0) +- len = 0; +- if (len >= file_len + 1) +- len = file_len; +- for (i = len; i < file_len; i++) +- buf[i] = ' '; +- buf[file_len] = '\0'; ++ buf[0] = '\r'; ++ snmprintf(buf+1, sizeof(buf)-1 , &file_len, "%*s", ++ file_len * -1, file); + } + + /* percent of transfer done */ +@@ -228,22 +234,11 @@ refresh_progress_meter(void) + + /*ARGSUSED*/ + static void +-update_progress_meter(int ignore) ++sig_alarm(int ignore) + { +- int save_errno; +- +- save_errno = errno; +- +- if (win_resized) { +- setscreensize(); +- win_resized = 0; +- } +- if (can_output()) +- refresh_progress_meter(); +- +- signal(SIGALRM, update_progress_meter); ++ signal(SIGALRM, sig_alarm); ++ alarm_fired = 1; + alarm(UPDATE_INTERVAL); +- errno = save_errno; + } + + void +@@ -259,10 +254,9 @@ start_progress_meter(const char *f, off_t filesize, off_t *ctr) + bytes_per_second = 0; + + setscreensize(); +- if (can_output()) +- refresh_progress_meter(); ++ refresh_progress_meter(); + +- signal(SIGALRM, update_progress_meter); ++ signal(SIGALRM, sig_alarm); + signal(SIGWINCH, sig_winch); + alarm(UPDATE_INTERVAL); + } +@@ -286,6 +280,7 @@ stop_progress_meter(void) + static void + sig_winch(int sig) + { ++ signal(SIGWINCH, sig_winch); + win_resized = 1; + } + +diff --git a/progressmeter.h b/progressmeter.h +index bf179dc..8f66780 100644 +--- a/progressmeter.h ++++ b/progressmeter.h +@@ -1,4 +1,4 @@ +-/* $OpenBSD: progressmeter.h,v 1.3 2015/01/14 13:54:13 djm Exp $ */ ++/* $OpenBSD: progressmeter.h,v 1.4 2019/01/23 08:01:46 dtucker Exp $ */ + /* + * Copyright (c) 2002 Nils Nordman. All rights reserved. + * +@@ -24,4 +24,5 @@ + */ + + void start_progress_meter(const char *, off_t, off_t *); ++void refresh_progress_meter(void); + void stop_progress_meter(void); +diff --git a/scp.c b/scp.c +index 4f3fdcd..4a342a6 100644 +--- a/scp.c ++++ b/scp.c +@@ -585,6 +585,7 @@ scpio(void *_cnt, size_t s) + off_t *cnt = (off_t *)_cnt; + + *cnt += s; ++ refresh_progress_meter(); + if (limit_kbps > 0) + bandwidth_limit(&bwlimit, s); + return 0; +diff --git a/sftp-client.c b/sftp-client.c +index 4986d6d..2bc698f 100644 +--- a/sftp-client.c ++++ b/sftp-client.c +@@ -101,7 +101,9 @@ sftpio(void *_bwlimit, size_t amount) + { + struct bwlimit *bwlimit = (struct bwlimit *)_bwlimit; + +- bandwidth_limit(bwlimit, amount); ++ refresh_progress_meter(); ++ if (bwlimit != NULL) ++ bandwidth_limit(bwlimit, amount); + return 0; + } + +@@ -121,8 +123,8 @@ send_msg(struct sftp_conn *conn, struct sshbuf *m) + iov[1].iov_base = (u_char *)sshbuf_ptr(m); + iov[1].iov_len = sshbuf_len(m); + +- if (atomiciov6(writev, conn->fd_out, iov, 2, +- conn->limit_kbps > 0 ? sftpio : NULL, &conn->bwlimit_out) != ++ if (atomiciov6(writev, conn->fd_out, iov, 2, sftpio, ++ conn->limit_kbps > 0 ? &conn->bwlimit_out : NULL) != + sshbuf_len(m) + sizeof(mlen)) + fatal("Couldn't send packet: %s", strerror(errno)); + +@@ -138,8 +140,8 @@ get_msg_extended(struct sftp_conn *conn, struct sshbuf *m, int initial) + + if ((r = sshbuf_reserve(m, 4, &p)) != 0) + fatal("%s: buffer error: %s", __func__, ssh_err(r)); +- if (atomicio6(read, conn->fd_in, p, 4, +- conn->limit_kbps > 0 ? sftpio : NULL, &conn->bwlimit_in) != 4) { ++ if (atomicio6(read, conn->fd_in, p, 4, sftpio, ++ conn->limit_kbps > 0 ? &conn->bwlimit_in : NULL) != 4) { + if (errno == EPIPE || errno == ECONNRESET) + fatal("Connection closed"); + else +@@ -157,8 +159,8 @@ get_msg_extended(struct sftp_conn *conn, struct sshbuf *m, int initial) + + if ((r = sshbuf_reserve(m, msg_len, &p)) != 0) + fatal("%s: buffer error: %s", __func__, ssh_err(r)); +- if (atomicio6(read, conn->fd_in, p, msg_len, +- conn->limit_kbps > 0 ? sftpio : NULL, &conn->bwlimit_in) ++ if (atomicio6(read, conn->fd_in, p, msg_len, sftpio, ++ conn->limit_kbps > 0 ? &conn->bwlimit_in : NULL) + != msg_len) { + if (errno == EPIPE) + fatal("Connection closed"); +-- +2.7.4 + diff --git a/poky/meta/recipes-connectivity/openssh/openssh/CVE-2019-6111.patch b/poky/meta/recipes-connectivity/openssh/openssh/CVE-2019-6111.patch new file mode 100644 index 000000000..e498da381 --- /dev/null +++ b/poky/meta/recipes-connectivity/openssh/openssh/CVE-2019-6111.patch @@ -0,0 +1,187 @@ +From 15cc3497367d2e9729353b3df75518548e845c82 Mon Sep 17 00:00:00 2001 +From: "djm@openbsd.org" <djm@openbsd.org> +Date: Sat, 26 Jan 2019 22:41:28 +0000 +Subject: [PATCH] upstream: check in scp client that filenames sent during + +remote->local directory copies satisfy the wildcard specified by the user. + +This checking provides some protection against a malicious server +sending unexpected filenames, but it comes at a risk of rejecting wanted +files due to differences between client and server wildcard expansion rules. + +For this reason, this also adds a new -T flag to disable the check. + +reported by Harry Sintonen +fix approach suggested by markus@; +has been in snaps for ~1wk courtesy deraadt@ + +OpenBSD-Commit-ID: 00f44b50d2be8e321973f3c6d014260f8f7a8eda + +CVE: CVE-2019-6111 +Upstream-Status: Backport +Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> +--- + scp.1 | 12 +++++++++++- + scp.c | 37 +++++++++++++++++++++++++++++-------- + 2 files changed, 40 insertions(+), 9 deletions(-) + +diff --git a/scp.1 b/scp.1 +index 0e5cc1b..397e770 100644 +--- a/scp.1 ++++ b/scp.1 +@@ -18,7 +18,7 @@ + .Nd secure copy (remote file copy program) + .Sh SYNOPSIS + .Nm scp +-.Op Fl 346BCpqrv ++.Op Fl 346BCpqrTv + .Op Fl c Ar cipher + .Op Fl F Ar ssh_config + .Op Fl i Ar identity_file +@@ -208,6 +208,16 @@ to use for the encrypted connection. + The program must understand + .Xr ssh 1 + options. ++.It Fl T ++Disable strict filename checking. ++By default when copying files from a remote host to a local directory ++.Nm ++checks that the received filenames match those requested on the command-line ++to prevent the remote end from sending unexpected or unwanted files. ++Because of differences in how various operating systems and shells interpret ++filename wildcards, these checks may cause wanted files to be rejected. ++This option disables these checks at the expense of fully trusting that ++the server will not send unexpected filenames. + .It Fl v + Verbose mode. + Causes +diff --git a/scp.c b/scp.c +index 0587cec..b2d331e 100644 +--- a/scp.c ++++ b/scp.c +@@ -94,6 +94,7 @@ + #include <dirent.h> + #include <errno.h> + #include <fcntl.h> ++#include <fnmatch.h> + #include <limits.h> + #include <locale.h> + #include <pwd.h> +@@ -375,14 +376,14 @@ void verifydir(char *); + struct passwd *pwd; + uid_t userid; + int errs, remin, remout; +-int pflag, iamremote, iamrecursive, targetshouldbedirectory; ++int Tflag, pflag, iamremote, iamrecursive, targetshouldbedirectory; + + #define CMDNEEDS 64 + char cmd[CMDNEEDS]; /* must hold "rcp -r -p -d\0" */ + + int response(void); + void rsource(char *, struct stat *); +-void sink(int, char *[]); ++void sink(int, char *[], const char *); + void source(int, char *[]); + void tolocal(int, char *[]); + void toremote(int, char *[]); +@@ -421,8 +422,9 @@ main(int argc, char **argv) + addargs(&args, "-oRemoteCommand=none"); + addargs(&args, "-oRequestTTY=no"); + +- fflag = tflag = 0; +- while ((ch = getopt(argc, argv, "dfl:prtvBCc:i:P:q12346S:o:F:")) != -1) ++ fflag = Tflag = tflag = 0; ++ while ((ch = getopt(argc, argv, ++ "dfl:prtTvBCc:i:P:q12346S:o:F:")) != -1) { + switch (ch) { + /* User-visible flags. */ + case '1': +@@ -501,9 +503,13 @@ main(int argc, char **argv) + setmode(0, O_BINARY); + #endif + break; ++ case 'T': ++ Tflag = 1; ++ break; + default: + usage(); + } ++ } + argc -= optind; + argv += optind; + +@@ -534,7 +540,7 @@ main(int argc, char **argv) + } + if (tflag) { + /* Receive data. */ +- sink(argc, argv); ++ sink(argc, argv, NULL); + exit(errs != 0); + } + if (argc < 2) +@@ -792,7 +798,7 @@ tolocal(int argc, char **argv) + continue; + } + free(bp); +- sink(1, argv + argc - 1); ++ sink(1, argv + argc - 1, src); + (void) close(remin); + remin = remout = -1; + } +@@ -968,7 +974,7 @@ rsource(char *name, struct stat *statp) + (sizeof(type) != 4 && sizeof(type) != 8)) + + void +-sink(int argc, char **argv) ++sink(int argc, char **argv, const char *src) + { + static BUF buffer; + struct stat stb; +@@ -984,6 +990,7 @@ sink(int argc, char **argv) + unsigned long long ull; + int setimes, targisdir, wrerrno = 0; + char ch, *cp, *np, *targ, *why, *vect[1], buf[2048], visbuf[2048]; ++ char *src_copy = NULL, *restrict_pattern = NULL; + struct timeval tv[2]; + + #define atime tv[0] +@@ -1008,6 +1015,17 @@ sink(int argc, char **argv) + (void) atomicio(vwrite, remout, "", 1); + if (stat(targ, &stb) == 0 && S_ISDIR(stb.st_mode)) + targisdir = 1; ++ if (src != NULL && !iamrecursive && !Tflag) { ++ /* ++ * Prepare to try to restrict incoming filenames to match ++ * the requested destination file glob. ++ */ ++ if ((src_copy = strdup(src)) == NULL) ++ fatal("strdup failed"); ++ if ((restrict_pattern = strrchr(src_copy, '/')) != NULL) { ++ *restrict_pattern++ = '\0'; ++ } ++ } + for (first = 1;; first = 0) { + cp = buf; + if (atomicio(read, remin, cp, 1) != 1) +@@ -1112,6 +1130,9 @@ sink(int argc, char **argv) + run_err("error: unexpected filename: %s", cp); + exit(1); + } ++ if (restrict_pattern != NULL && ++ fnmatch(restrict_pattern, cp, 0) != 0) ++ SCREWUP("filename does not match request"); + if (targisdir) { + static char *namebuf; + static size_t cursize; +@@ -1149,7 +1170,7 @@ sink(int argc, char **argv) + goto bad; + } + vect[0] = xstrdup(np); +- sink(1, vect); ++ sink(1, vect, src); + if (setimes) { + setimes = 0; + if (utimes(vect[0], tv) < 0) +-- +2.7.4 + diff --git a/poky/meta/recipes-connectivity/openssh/openssh/run-ptest b/poky/meta/recipes-connectivity/openssh/openssh/run-ptest index 36a3d2a7b..daf62cca5 100755 --- a/poky/meta/recipes-connectivity/openssh/openssh/run-ptest +++ b/poky/meta/recipes-connectivity/openssh/openssh/run-ptest @@ -5,7 +5,7 @@ export TEST_SHELL=sh cd regress sed -i "/\t\tagent-ptrace /d" Makefile make -k .OBJDIR=`pwd` .CURDIR=`pwd` SUDO="sudo" tests \ - | sed -e 's/^skipped/SKIP: /g' -e 's/^ok /PASS: /g' -e 's/^failed/FAIL: /g' + | sed -u -e 's/^skipped/SKIP: /g' -e 's/^ok /PASS: /g' -e 's/^failed/FAIL: /g' SSHAGENT=`which ssh-agent` GDB=`which gdb` diff --git a/poky/meta/recipes-connectivity/openssh/openssh_7.9p1.bb b/poky/meta/recipes-connectivity/openssh/openssh_7.9p1.bb index 2a23f64b8..3b4ed7223 100644 --- a/poky/meta/recipes-connectivity/openssh/openssh_7.9p1.bb +++ b/poky/meta/recipes-connectivity/openssh/openssh_7.9p1.bb @@ -24,6 +24,10 @@ SRC_URI = "http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-${PV}.tar file://fix-potential-signed-overflow-in-pointer-arithmatic.patch \ file://sshd_check_keys \ file://add-test-support-for-busybox.patch \ + file://CVE-2018-20685.patch \ + file://CVE-2019-6109.patch \ + file://0001-upstream-Have-progressmeter-force-an-update-at-the-b.patch \ + file://CVE-2019-6111.patch \ " SRC_URI[md5sum] = "c6af50b7a474d04726a5aa747a5dce8f" SRC_URI[sha256sum] = "6b4b3ba2253d84ed3771c8050728d597c91cfce898713beb7b64a305b6f11aad" @@ -144,7 +148,8 @@ FILES_${PN}-keygen = "${bindir}/ssh-keygen" RDEPENDS_${PN} += "${PN}-scp ${PN}-ssh ${PN}-sshd ${PN}-keygen" RDEPENDS_${PN}-sshd += "${PN}-keygen ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam-plugin-keyinit pam-plugin-loginuid', '', d)}" -RDEPENDS_${PN}-ptest += "${PN}-sftp ${PN}-misc ${PN}-sftp-server make" +RRECOMMENDS_${PN}-sshd_append_class-target = " rng-tools" +RDEPENDS_${PN}-ptest += "${PN}-sftp ${PN}-misc ${PN}-sftp-server make sed" RPROVIDES_${PN}-ssh = "ssh" RPROVIDES_${PN}-sshd = "sshd" diff --git a/poky/meta/recipes-connectivity/openssl/openssl10/0001-Fix-BN_LLONG-breakage.patch b/poky/meta/recipes-connectivity/openssl/openssl10/0001-Fix-BN_LLONG-breakage.patch deleted file mode 100644 index 13d39c918..000000000 --- a/poky/meta/recipes-connectivity/openssl/openssl10/0001-Fix-BN_LLONG-breakage.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 247b3188cde5f3347091cd54271127386d3aece0 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Wed, 6 Feb 2019 22:10:33 -0800 -Subject: [PATCH] Fix BN_LLONG breakage - -opensslconf.h is un-defining BN_LLONG only when included from bn.h which -is not robust at all, especially when include guards are used and -multiple inclusions of a given header is not allowed. so lets take out -the nesting constraint and add OPENSSL_SYS_UEFI constraint instead - -Upstream-Status: Inappropriate [ fixed differently with OpenSSL 1.1+ ] - -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - crypto/opensslconf.h.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/crypto/opensslconf.h.in b/crypto/opensslconf.h.in -index 7a1c85d..a10c10f 100644 ---- a/crypto/opensslconf.h.in -+++ b/crypto/opensslconf.h.in -@@ -56,7 +56,7 @@ - #endif - #endif - --#if defined(HEADER_BN_H) && !defined(CONFIG_HEADER_BN_H) -+#if !defined(OPENSSL_SYS_UEFI) && !defined(CONFIG_HEADER_BN_H) - #define CONFIG_HEADER_BN_H - #undef BN_LLONG - --- -2.20.1 - diff --git a/poky/meta/recipes-connectivity/openssl/openssl10/0001-Fix-DES_LONG-breakage.patch b/poky/meta/recipes-connectivity/openssl/openssl10/0001-Fix-DES_LONG-breakage.patch deleted file mode 100644 index 7243fb417..000000000 --- a/poky/meta/recipes-connectivity/openssl/openssl10/0001-Fix-DES_LONG-breakage.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 1aec49cc45e7cf5ebc059a77081ac3ea2a5aff7b Mon Sep 17 00:00:00 2001 -From: Denys Dmytriyenko <denys@ti.com> -Date: Fri, 1 Mar 2019 13:14:56 -0500 -Subject: [PATCH] Fix DES_LONG breakage - -Mimic previous BN_LLONG fix by Khem Raj here. Re-use its description: - -opensslconf.h is defining DES_LONG only when included from des.h which -is not robust at all, especially when include guards are used and -multiple inclusions of a given header is not allowed. so lets take out -the nesting constraint and add OPENSSL_SYS_UEFI constraint instead - -Upstream-Status: Inappropriate [ fixed differently with OpenSSL 1.1+ ] - -Signed-off-by: Denys Dmytriyenko <denys@ti.com> ---- - crypto/opensslconf.h.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/crypto/opensslconf.h.in b/crypto/opensslconf.h.in -index a10c10f..0147a4d 100644 ---- a/crypto/opensslconf.h.in -+++ b/crypto/opensslconf.h.in -@@ -48,7 +48,7 @@ - #endif - #endif - --#if (defined(HEADER_NEW_DES_H) || defined(HEADER_DES_H)) && !defined(DES_LONG) -+#if !defined(OPENSSL_SYS_UEFI) && !defined(DES_LONG) - /* If this is set to 'unsigned int' on a DEC Alpha, this gives about a - * %20 speed up (longs are 8 bytes, int's are 4). */ - #ifndef DES_LONG --- -2.7.4 - diff --git a/poky/meta/recipes-connectivity/openssl/openssl10/0001-Fix-build-with-clang-using-external-assembler.patch b/poky/meta/recipes-connectivity/openssl/openssl10/0001-Fix-build-with-clang-using-external-assembler.patch deleted file mode 100644 index 2270962a6..000000000 --- a/poky/meta/recipes-connectivity/openssl/openssl10/0001-Fix-build-with-clang-using-external-assembler.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 2f6026cb8b16cf00726e3c5625c023f196680f07 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Fri, 17 Mar 2017 12:52:08 -0700 -Subject: [PATCH] Fix build with clang using external assembler - -Cherry-picked from -https://github.com/openssl/openssl/commit/11208dcfb9105e8afa37233185decefd45e89e17 -https://github.com/openssl/openssl/commit/fbab8baddef8d3346ae40ff068871e2ddaf10270 -https://github.com/openssl/openssl/commit/6cf412c473d8145562b76219ce3da73b201b3255 - -Fixes - -| ghash-armv4.S: Assembler messages: -| ghash-armv4.S:81: Error: bad instruction `ldrbpl r12,[r2,r3]' -| ghash-armv4.S:91: Error: bad instruction `ldrbpl r8,[r0,r3]' -| ghash-armv4.S:137: Error: bad instruction `ldrbne r12,[r2,#15]' -| ghash-armv4.S:224: Error: bad instruction `ldrbpl r12,[r0,r3]' -| clang-4.0: error: assembler command failed with exit code 1 (use -v to see invocation) -| make[2]: *** [<builtin>: ghash-armv4.o] Error 1 - -Upstream-Status: Backport - -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - crypto/modes/asm/ghash-armv4.pl | 7 +++++++ - 1 file changed, 7 insertions(+) - -diff --git a/crypto/modes/asm/ghash-armv4.pl b/crypto/modes/asm/ghash-armv4.pl -index 8ccc963ef..442fed4da 100644 ---- a/crypto/modes/asm/ghash-armv4.pl -+++ b/crypto/modes/asm/ghash-armv4.pl -@@ -124,7 +124,10 @@ $code=<<___; - #include "arm_arch.h" - - .text -+#if defined(__thumb2__) || defined(__clang__) -+.syntax unified -+#endif - .code 32 - - #ifdef __clang__ - #define ldrplb ldrbpl --- -2.12.0 - diff --git a/poky/meta/recipes-connectivity/openssl/openssl10/0001-allow-manpages-to-be-disabled.patch b/poky/meta/recipes-connectivity/openssl/openssl10/0001-allow-manpages-to-be-disabled.patch deleted file mode 100644 index 3f7d64995..000000000 --- a/poky/meta/recipes-connectivity/openssl/openssl10/0001-allow-manpages-to-be-disabled.patch +++ /dev/null @@ -1,31 +0,0 @@ -From e1c39b80b01d4d18feeadfdc6e45a3e1dd110634 Mon Sep 17 00:00:00 2001 -From: Andre McCurdy <armccurdy@gmail.com> -Date: Fri, 27 Jul 2018 21:41:06 +0000 -Subject: [PATCH] allow manpages to be disabled - -Define OE_DISABLE_MANPAGES (via environment or the make command line) -to skip creation and installation of manpages. - -Upstream-Status: Inappropriate [configuration] - -Signed-off-by: Andre McCurdy <armccurdy@gmail.com> ---- - Makefile.org | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Makefile.org b/Makefile.org -index ed98d2a..747d8cb 100644 ---- a/Makefile.org -+++ b/Makefile.org -@@ -549,7 +549,7 @@ dist: - @$(MAKE) SDIRS='$(SDIRS)' clean - @$(MAKE) TAR='$(TAR)' TARFLAGS='$(TARFLAGS)' $(DISTTARVARS) tar - --install: all install_docs install_sw -+install: all $(if $(OE_DISABLE_MANPAGES),,install_docs) install_sw - - install_sw: - @$(PERL) $(TOP)/util/mkdir-p.pl $(INSTALL_PREFIX)$(INSTALLTOP)/bin \ --- -1.9.1 - diff --git a/poky/meta/recipes-connectivity/openssl/openssl10/0001-openssl-force-soft-link-to-avoid-rare-race.patch b/poky/meta/recipes-connectivity/openssl/openssl10/0001-openssl-force-soft-link-to-avoid-rare-race.patch deleted file mode 100644 index dd1a9b1dd..000000000 --- a/poky/meta/recipes-connectivity/openssl/openssl10/0001-openssl-force-soft-link-to-avoid-rare-race.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 3d9199423d48766649a2b2ebb3924e892ed16fa4 Mon Sep 17 00:00:00 2001 -From: Randy MacLeod <Randy.MacLeod@windriver.com> -Date: Tue, 20 Jun 2017 15:32:08 -0400 -Subject: [PATCH] openssl: Force soft link to avoid rare race - -This patch works around a rare parallel build race condition. -The error seen is: - -ln: failed to create symbolic link 'libssl.so': File exists -make[4]: *** [Makefile.shared:171: link_a.gnu] Error 1 -make[4]: Leaving directory -'/.../build/tmp-glibc/work/x86_64-linux/openssl-native/1.0.2k-r0/openssl-1.0.2k' - -The openssl team is rewriting their build files so it's not -appropriate for openssl upstream and fixing the root cause of -the Makefile race condition was also not pursued. - -Upstream-Status: Inappropriate [build rules rewrite in progress] -Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com> ---- - Makefile.shared | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/Makefile.shared b/Makefile.shared -index e8d222a..1bff92f 100644 ---- a/Makefile.shared -+++ b/Makefile.shared -@@ -118,14 +118,14 @@ - if [ -n "$$SHLIB_COMPAT" ]; then \ - for x in $$SHLIB_COMPAT; do \ - ( $(SET_X); rm -f $$SHLIB$$x$$SHLIB_SUFFIX; \ -- ln -s $$prev $$SHLIB$$x$$SHLIB_SUFFIX ); \ -+ ln -sf $$prev $$SHLIB$$x$$SHLIB_SUFFIX ); \ - prev=$$SHLIB$$x$$SHLIB_SUFFIX; \ - done; \ - fi; \ - if [ -n "$$SHLIB_SOVER" ]; then \ - [ -e "$$SHLIB$$SHLIB_SUFFIX" ] || \ - ( $(SET_X); rm -f $$SHLIB$$SHLIB_SUFFIX; \ -- ln -s $$prev $$SHLIB$$SHLIB_SUFFIX ); \ -+ ln -sf $$prev $$SHLIB$$SHLIB_SUFFIX ); \ - fi; \ - fi - --- -2.9.3 diff --git a/poky/meta/recipes-connectivity/openssl/openssl10/Makefiles-ptest.patch b/poky/meta/recipes-connectivity/openssl/openssl10/Makefiles-ptest.patch deleted file mode 100644 index 1b8402af9..000000000 --- a/poky/meta/recipes-connectivity/openssl/openssl10/Makefiles-ptest.patch +++ /dev/null @@ -1,89 +0,0 @@ -From a176c69f4fdfbfa7e4ccb79d91c3b6602da7e69a Mon Sep 17 00:00:00 2001 -From: Anders Roxell <anders.roxell@enea.com> -Date: Thu, 24 Apr 2014 19:28:25 +0200 -Subject: [PATCH 19/28] openssl: enable ptest support - -Add 'buildtest' and 'runtest' targets to Makefile, to build and run tests -cross-compiled. - -Signed-off-by: Anders Roxell <anders.roxell@enea.com> -Signed-off-by: Maxin B. John <maxin.john@enea.com> -Upstream-Status: Pending - ---- - Makefile.org | 10 +++++++++- - test/Makefile | 13 +++++++++---- - 2 files changed, 18 insertions(+), 5 deletions(-) - -diff --git a/Makefile.org b/Makefile.org -index 111fbba..8e7936c 100644 ---- a/Makefile.org -+++ b/Makefile.org -@@ -467,8 +467,16 @@ rehash.time: certs apps - test: tests - - tests: rehash -+ $(MAKE) buildtest -+ $(MAKE) runtest -+ -+buildtest: -+ @(cd test && \ -+ $(CLEARENV) && $(MAKE) -e $(BUILDENV) TOP=.. TESTS='$(TESTS)' OPENSSL_DEBUG_MEMORY=on OPENSSL_CONF=../apps/openssl.cnf exe apps); -+ -+runtest: - @(cd test && echo "testing..." && \ -- $(CLEARENV) && $(MAKE) -e $(BUILDENV) TOP=.. TESTS='$(TESTS)' OPENSSL_DEBUG_MEMORY=on OPENSSL_CONF=../apps/openssl.cnf tests ); -+ $(CLEARENV) && $(MAKE) -e $(BUILDENV) TOP=.. TESTS='$(TESTS)' OPENSSL_DEBUG_MEMORY=on OPENSSL_CONF=../apps/openssl.cnf alltests ); - OPENSSL_CONF=apps/openssl.cnf util/opensslwrap.sh version -a - - report: -diff --git a/test/Makefile b/test/Makefile -index 55a6b50..d46b4d1 100644 ---- a/test/Makefile -+++ b/test/Makefile -@@ -150,7 +150,7 @@ tests: exe apps $(TESTS) - apps: - @(cd ..; $(MAKE) DIRS=apps all) - --alltests: \ -+all-tests= \ - test_des test_idea test_sha test_md4 test_md5 test_hmac \ - test_md2 test_mdc2 test_wp \ - test_rmd test_rc2 test_rc4 test_rc5 test_bf test_cast test_aes \ -@@ -162,6 +162,11 @@ alltests: \ - test_constant_time test_verify_extra test_clienthello test_sslv2conftest \ - test_dtls test_bad_dtls test_fatalerr test_x509_time - -+alltests: -+ @(for i in $(all-tests); do \ -+ ( $(MAKE) $$i && echo "PASS: $$i" ) || echo "FAIL: $$i"; \ -+ done) -+ - test_evp: $(EVPTEST)$(EXE_EXT) evptests.txt - ../util/shlib_wrap.sh ./$(EVPTEST) evptests.txt - -@@ -230,7 +235,7 @@ test_x509: ../apps/openssl$(EXE_EXT) tx509 testx509.pem v3-cert1.pem v3-cert2.pe - echo test second x509v3 certificate - sh ./tx509 v3-cert2.pem 2>/dev/null - --test_rsa: $(RSATEST)$(EXE_EXT) ../apps/openssl$(EXE_EXT) trsa testrsa.pem -+test_rsa: ../apps/openssl$(EXE_EXT) trsa testrsa.pem - @sh ./trsa 2>/dev/null - ../util/shlib_wrap.sh ./$(RSATEST) - -@@ -331,11 +336,11 @@ test_tsa: ../apps/openssl$(EXE_EXT) testtsa CAtsa.cnf ../util/shlib_wrap.sh - sh ./testtsa; \ - fi - --test_ige: $(IGETEST)$(EXE_EXT) -+test_ige: - @echo "Test IGE mode" - ../util/shlib_wrap.sh ./$(IGETEST) - --test_jpake: $(JPAKETEST)$(EXE_EXT) -+test_jpake: - @echo "Test JPAKE" - ../util/shlib_wrap.sh ./$(JPAKETEST) - --- -2.15.1 diff --git a/poky/meta/recipes-connectivity/openssl/openssl10/Use-SHA256-not-MD5-as-default-digest.patch b/poky/meta/recipes-connectivity/openssl/openssl10/Use-SHA256-not-MD5-as-default-digest.patch deleted file mode 100644 index 58c9ee784..000000000 --- a/poky/meta/recipes-connectivity/openssl/openssl10/Use-SHA256-not-MD5-as-default-digest.patch +++ /dev/null @@ -1,69 +0,0 @@ -From d795f5f20a29adecf92c09459a3ee07ffac01a99 Mon Sep 17 00:00:00 2001 -From: Rich Salz <rsalz@akamai.com> -Date: Sat, 13 Jun 2015 17:03:39 -0400 -Subject: [PATCH] Use SHA256 not MD5 as default digest. - -Commit f8547f62c212837dbf44fb7e2755e5774a59a57b upstream. - -Upstream-Status: Backport -Backport from OpenSSL 2.0 to OpenSSL 1.0.2 -Commit f8547f62c212837dbf44fb7e2755e5774a59a57b - -CVE: CVE-2004-2761 - - The MD5 Message-Digest Algorithm is not collision resistant, - which makes it easier for context-dependent attackers to - conduct spoofing attacks, as demonstrated by attacks on the - use of MD5 in the signature algorithm of an X.509 certificate. - -Reviewed-by: Viktor Dukhovni <viktor@openssl.org> -Signed-off-by: Zhang Xiao <xiao.zhang@windriver.com> -Signed-off-by: T.O. Radzy Radzykewycz <radzy@windriver.com> ---- - apps/ca.c | 2 +- - apps/dgst.c | 2 +- - apps/enc.c | 2 +- - 3 files changed, 3 insertions(+), 3 deletions(-) - -diff --git a/apps/ca.c b/apps/ca.c -index 3b7336c..8f3a84b 100644 ---- a/apps/ca.c -+++ b/apps/ca.c -@@ -1612,7 +1612,7 @@ static int certify_cert(X509 **xret, char *infile, EVP_PKEY *pkey, X509 *x509, - } else - BIO_printf(bio_err, "Signature ok\n"); - -- if ((rreq = X509_to_X509_REQ(req, NULL, EVP_md5())) == NULL) -+ if ((rreq = X509_to_X509_REQ(req, NULL, NULL)) == NULL) - goto err; - - ok = do_body(xret, pkey, x509, dgst, sigopts, policy, db, serial, subj, -diff --git a/apps/dgst.c b/apps/dgst.c -index 95e5fa3..0d1529f 100644 ---- a/apps/dgst.c -+++ b/apps/dgst.c -@@ -442,7 +442,7 @@ int MAIN(int argc, char **argv) - goto end; - } - if (md == NULL) -- md = EVP_md5(); -+ md = EVP_sha256(); - if (!EVP_DigestInit_ex(mctx, md, impl)) { - BIO_printf(bio_err, "Error setting digest %s\n", pname); - ERR_print_errors(bio_err); -diff --git a/apps/enc.c b/apps/enc.c -index 7b7c70b..a7d944c 100644 ---- a/apps/enc.c -+++ b/apps/enc.c -@@ -344,7 +344,7 @@ int MAIN(int argc, char **argv) - } - - if (dgst == NULL) { -- dgst = EVP_md5(); -+ dgst = EVP_sha256(); - } - - if (bufsize != NULL) { --- -1.9.1 - diff --git a/poky/meta/recipes-connectivity/openssl/openssl10/configure-musl-target.patch b/poky/meta/recipes-connectivity/openssl/openssl10/configure-musl-target.patch deleted file mode 100644 index f357b3f59..000000000 --- a/poky/meta/recipes-connectivity/openssl/openssl10/configure-musl-target.patch +++ /dev/null @@ -1,25 +0,0 @@ -Add musl triplet support - -Upstream-Status: Pending -Signed-off-by: Khem Raj <raj.khem@gmail.com> - -Index: openssl-1.0.2a/Configure -=================================================================== ---- openssl-1.0.2a.orig/Configure -+++ openssl-1.0.2a/Configure -@@ -431,7 +431,7 @@ my %table=( - # - # ./Configure linux-armv4 -march=armv6 -D__ARM_MAX_ARCH__=8 - # --"linux-armv4", "gcc: -O3 -Wall::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${armv4_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", -+"linux-armv4", "gcc: -O3 -Wall::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${armv4_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", - "linux-aarch64","gcc: -O3 -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${aarch64_asm}:linux64:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", - # Configure script adds minimally required -march for assembly support, - # if no -march was specified at command line. mips32 and mips64 below -@@ -504,4 +504,6 @@ my %table=( - "linux-gnueabi-armeb","$ENV{'CC'}:-DB_ENDIAN -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG DES_RISC1:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", -+"linux-musleabi-arm","$ENV{'CC'}:-DL_ENDIAN -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG DES_RISC1:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", -+"linux-musleabi-armeb","$ENV{'CC'}:-DB_ENDIAN -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG DES_RISC1:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", - - "linux-avr32","$ENV{'CC'}:-O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG DES_RISC1:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).", - diff --git a/poky/meta/recipes-connectivity/openssl/openssl10/configure-targets.patch b/poky/meta/recipes-connectivity/openssl/openssl10/configure-targets.patch deleted file mode 100644 index 1e0158972..000000000 --- a/poky/meta/recipes-connectivity/openssl/openssl10/configure-targets.patch +++ /dev/null @@ -1,35 +0,0 @@ -Upstream-Status: Inappropriate [embedded specific] - -The number of colons are important :) - - ---- - Configure | 16 ++++++++++++++++ - 1 file changed, 16 insertions(+) - -Index: openssl-1.0.2a/Configure -=================================================================== ---- openssl-1.0.2a.orig/Configure -+++ openssl-1.0.2a/Configure -@@ -443,6 +443,21 @@ my %table=( - "linux-alpha-ccc","ccc:-fast -readonly_strings -DL_ENDIAN::-D_REENTRANT:::SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_PTR DES_RISC1 DES_UNROLL:${alpha_asm}", - "linux-alpha+bwx-ccc","ccc:-fast -readonly_strings -DL_ENDIAN::-D_REENTRANT:::SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_PTR DES_RISC1 DES_UNROLL:${alpha_asm}", - -+ -+# Linux on ARM -+"linux-elf-arm","$ENV{'CC'}:-DL_ENDIAN -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG DES_RISC1:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", -+"linux-elf-armeb","$ENV{'CC'}:-DB_ENDIAN -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG DES_RISC1:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", -+"linux-gnueabi-arm","$ENV{'CC'}:-DL_ENDIAN -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG DES_RISC1:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", -+"linux-gnueabi-armeb","$ENV{'CC'}:-DB_ENDIAN -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG DES_RISC1:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", -+ -+"linux-avr32","$ENV{'CC'}:-O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG DES_RISC1:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).", -+ -+#### Linux on MIPS/MIPS64 -+"linux-mips","$ENV{'CC'}:-DB_ENDIAN -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG RC2_CHAR RC4_INDEX DES_INT DES_UNROLL DES_RISC2:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", -+"linux-mips64","$ENV{'CC'}:-DB_ENDIAN -mabi=64 -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC2_CHAR RC4_INDEX DES_INT DES_UNROLL DES_RISC2:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", -+"linux-mips64el","$ENV{'CC'}:-DL_ENDIAN -mabi=64 -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC2_CHAR RC4_INDEX DES_INT DES_UNROLL DES_RISC2:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", -+"linux-mipsel","$ENV{'CC'}:-DL_ENDIAN -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG RC2_CHAR RC4_INDEX DES_INT DES_UNROLL DES_RISC2:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", -+ - # Android: linux-* but without pointers to headers and libs. - "android","gcc:-mandroid -I\$(ANDROID_DEV)/include -B\$(ANDROID_DEV)/lib -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", - "android-x86","gcc:-mandroid -I\$(ANDROID_DEV)/include -B\$(ANDROID_DEV)/lib -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:".eval{my $asm=${x86_elf_asm};$asm=~s/:elf/:android/;$asm}.":dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", diff --git a/poky/meta/recipes-connectivity/openssl/openssl10/debian/c_rehash-compat.patch b/poky/meta/recipes-connectivity/openssl/openssl10/debian/c_rehash-compat.patch deleted file mode 100644 index 3820e3e30..000000000 --- a/poky/meta/recipes-connectivity/openssl/openssl10/debian/c_rehash-compat.patch +++ /dev/null @@ -1,71 +0,0 @@ -From 83f318d68bbdab1ca898c94576a838cc97df4700 Mon Sep 17 00:00:00 2001 -From: Ludwig Nussel <ludwig.nussel@suse.de> -Date: Wed, 21 Apr 2010 15:52:10 +0200 -Subject: [PATCH] also create old hash for compatibility - -Upstream-Status: Backport [debian] - -Index: openssl-1.0.2n/tools/c_rehash.in -=================================================================== ---- openssl-1.0.2n.orig/tools/c_rehash.in -+++ openssl-1.0.2n/tools/c_rehash.in -@@ -8,8 +8,6 @@ my $prefix; - - my $openssl = $ENV{OPENSSL} || "openssl"; - my $pwd; --my $x509hash = "-subject_hash"; --my $crlhash = "-hash"; - my $verbose = 0; - my $symlink_exists=eval {symlink("",""); 1}; - my $removelinks = 1; -@@ -18,10 +16,7 @@ my $removelinks = 1; - while ( $ARGV[0] =~ /^-/ ) { - my $flag = shift @ARGV; - last if ( $flag eq '--'); -- if ( $flag eq '-old') { -- $x509hash = "-subject_hash_old"; -- $crlhash = "-hash_old"; -- } elsif ( $flag eq '-h') { -+ if ( $flag eq '-h') { - help(); - } elsif ( $flag eq '-n' ) { - $removelinks = 0; -@@ -113,7 +108,9 @@ sub hash_dir { - next; - } - link_hash_cert($fname) if($cert); -+ link_hash_cert_old($fname) if($cert); - link_hash_crl($fname) if($crl); -+ link_hash_crl_old($fname) if($crl); - } - } - -@@ -146,6 +143,7 @@ sub check_file { - - sub link_hash_cert { - my $fname = $_[0]; -+ my $x509hash = $_[1] || '-subject_hash'; - $fname =~ s/'/'\\''/g; - my ($hash, $fprint) = `"$openssl" x509 $x509hash -fingerprint -noout -in "$fname"`; - chomp $hash; -@@ -177,10 +175,20 @@ sub link_hash_cert { - $hashlist{$hash} = $fprint; - } - -+sub link_hash_cert_old { -+ link_hash_cert($_[0], '-subject_hash_old'); -+} -+ -+sub link_hash_crl_old { -+ link_hash_crl($_[0], '-hash_old'); -+} -+ -+ - # Same as above except for a CRL. CRL links are of the form <hash>.r<n> - - sub link_hash_crl { - my $fname = $_[0]; -+ my $crlhash = $_[1] || "-hash"; - $fname =~ s/'/'\\''/g; - my ($hash, $fprint) = `"$openssl" crl $crlhash -fingerprint -noout -in '$fname'`; - chomp $hash; diff --git a/poky/meta/recipes-connectivity/openssl/openssl10/debian/debian-targets.patch b/poky/meta/recipes-connectivity/openssl/openssl10/debian/debian-targets.patch deleted file mode 100644 index 24709f4f0..000000000 --- a/poky/meta/recipes-connectivity/openssl/openssl10/debian/debian-targets.patch +++ /dev/null @@ -1,73 +0,0 @@ -Upstream-Status: Backport [debian] - -Index: openssl-1.0.2n/Configure -=================================================================== ---- openssl-1.0.2n.orig/Configure -+++ openssl-1.0.2n/Configure -@@ -133,6 +133,10 @@ my $clang_devteam_warn = "-Wno-unused-pa - # Warn that "make depend" should be run? - my $warn_make_depend = 0; - -+# There are no separate CFLAGS/CPPFLAGS/LDFLAGS, set everything in CFLAGS -+my $debian_cflags = `dpkg-buildflags --get CFLAGS` . `dpkg-buildflags --get CPPFLAGS` . `dpkg-buildflags --get LDFLAGS` . "-Wa,--noexecstack -Wall"; -+$debian_cflags =~ s/\n/ /g; -+ - my $strict_warnings = 0; - - my $x86_gcc_des="DES_PTR DES_RISC1 DES_UNROLL"; -@@ -369,6 +373,55 @@ my %table=( - "osf1-alpha-cc", "cc:-std1 -tune host -O4 -readonly_strings::(unknown):::SIXTY_FOUR_BIT_LONG RC4_CHUNK:${alpha_asm}:dlfcn:alpha-osf1-shared:::.so", - "tru64-alpha-cc", "cc:-std1 -tune host -fast -readonly_strings::-pthread:::SIXTY_FOUR_BIT_LONG RC4_CHUNK:${alpha_asm}:dlfcn:alpha-osf1-shared::-msym:.so", - -+# Debian GNU/* (various architectures) -+"debian-alpha","gcc:-DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_RISC1 DES_UNROLL:${alpha_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", -+"debian-alpha-ev4","gcc:-DTERMIO ${debian_cflags} -mcpu=ev4::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_RISC1 DES_UNROLL:${alpha_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", -+"debian-alpha-ev5","gcc:-DTERMIO ${debian_cflags} -mcpu=ev5::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_RISC1 DES_UNROLL:${alpha_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", -+"debian-arm64","gcc:-DL_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", -+"debian-armel","gcc:-DL_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${armv4_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", -+"debian-armhf","gcc:-DL_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${armv4_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", -+"debian-amd64", "gcc:-m64 -DL_ENDIAN -DTERMIO ${debian_cflags} -DMD32_REG_T=int::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::", -+"debian-avr32", "gcc:-DB_ENDIAN -DTERMIO ${debian_cflags} -fomit-frame-pointer::-D_REENTRANT::-ldl:BN_LLONG_BF_PTR:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", -+"debian-kfreebsd-amd64","gcc:-m64 -DL_ENDIAN -DTERMIOS ${debian_cflags} -DMD32_REG_T=int::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", -+"debian-kfreebsd-i386","gcc:-DL_ENDIAN -DTERMIOS ${debian_cflags} -march=i486::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", -+"debian-hppa","gcc:-DB_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:BN_LLONG MD2_CHAR RC4_INDEX:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", -+"debian-hurd-i386","gcc:-DL_ENDIAN -DTERMIOS -O3 -Wa,--noexecstack -g -mtune=i486 -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", -+"debian-ia64","gcc:-DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_UNROLL DES_INT:${ia64_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", -+"debian-i386","gcc:-DL_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", -+"debian-i386-i486","gcc:-DL_ENDIAN -DTERMIO ${debian_cflags} -march=i486::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", -+"debian-i386-i586","gcc:-DL_ENDIAN -DTERMIO ${debian_cflags} -march=i586::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", -+"debian-i386-i686/cmov","gcc:-DL_ENDIAN -DTERMIO ${debian_cflags} -march=i686::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", -+"debian-m68k","gcc:-DB_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:BN_LLONG MD2_CHAR RC4_INDEX:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", -+"debian-mips", "gcc:-DB_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:BN_LLONG RC2_CHAR RC4_INDEX DES_INT DES_UNROLL DES_RISC2:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", -+"debian-mipsel", "gcc:-DL_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:BN_LLONG RC2_CHAR RC4_INDEX DES_INT DES_UNROLL DES_RISC2:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", -+"debian-mipsn32", "mips64-linux-gnuabin32-gcc:-DB_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:BN_LLONG RC2_CHAR RC4_INDEX DES_INT DES_UNROLL DES_RISC2:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", -+"debian-mipsn32el", "mips64el-linux-gnuabin32-gcc:-DL_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:BN_LLONG RC2_CHAR RC4_INDEX DES_INT DES_UNROLL DES_RISC2:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", -+"debian-mips64", "mips64-linux-gnuabi64-gcc:-DB_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC2_CHAR RC4_INDEX DES_INT DES_UNROLL DES_RISC2:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", -+"debian-mips64el", "mips64el-linux-gnuabi64-gcc:-DL_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC2_CHAR RC4_INDEX DES_INT DES_UNROLL DES_RISC2:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", -+"debian-netbsd-i386", "gcc:-DL_ENDIAN -DTERMIOS ${debian_cflags} -m486::(unknown):::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${no_asm}:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", -+"debian-netbsd-m68k", "gcc:-DB_ENDIAN -DTERMIOS ${debian_cflags}::(unknown):::BN_LLONG MD2_CHAR RC4_INDEX DES_UNROLL:${no_asm}:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", -+"debian-netbsd-sparc", "gcc:-DB_ENDIAN -DTERMIOS ${debian_cflags} -mv8::(unknown):::BN_LLONG MD2_CHAR RC4_INDEX DES_UNROLL:${no_asm}:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", -+"debian-openbsd-alpha","gcc:-DTERMIOS ${debian_cflags}::(unknown):::SIXTY_FOUR_BIT_LONG DES_INT DES_PTR DES_RISC2:${no_asm}:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", -+"debian-openbsd-i386", "gcc:-DL_ENDIAN -DTERMIOS ${debian_cflags} -m486::(unknown):::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_asm}:a.out:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", -+"debian-openbsd-mips","gcc:-DL_ENDIAN ${debian_cflags}::(unknown)::BN_LLONG MD2_CHAR RC4_INDEX RC4_CHAR DES_UNROLL DES_RISC2 DES_PTR BF_PTR:${no_asm}:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", -+"debian-or1k", "gcc:-DB_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:BN_LLONG DES_RISC1:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", -+"debian-powerpc","gcc:-DB_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_RISC1 DES_UNROLL:${ppc32_asm}:linux32:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", -+"debian-powerpcspe","gcc:-DB_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_RISC1 DES_UNROLL:${ppc32_asm}:linux32:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", -+"debian-ppc64","gcc:-m64 -DB_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_RISC1 DES_UNROLL:${ppc64_asm}:linux64:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", -+"debian-ppc64el","gcc:-m64 -DL_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_RISC1 DES_UNROLL:${ppc64_asm}:linux64le:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", -+"debian-s390","gcc:-DB_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", -+"debian-s390x","gcc:-DB_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", -+"debian-sh3", "gcc:-DL_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:BN_LLONG:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", -+"debian-sh4", "gcc:-DL_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:BN_LLONG:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", -+"debian-sh3eb", "gcc:-DB_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:BN_LLONG:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", -+"debian-sh4eb", "gcc:-DB_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:BN_LLONG:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", -+"debian-m32r","gcc:-DB_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:BN_LLONG:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", -+"debian-sparc","gcc:-DB_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${sparcv9_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", -+"debian-sparc-v8","gcc:-DB_ENDIAN -DTERMIO ${debian_cflags} -mcpu=v8 -DBN_DIV2W::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${sparcv8_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", -+"debian-sparc-v9","gcc:-DB_ENDIAN -DTERMIO ${debian_cflags} -mcpu=v9 -Wa,-Av8plus -DULTRASPARC -DBN_DIV2W::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${sparcv9_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", -+"debian-sparc64","gcc:-m64 -DB_ENDIAN -DTERMIO ${debian_cflags} -DULTRASPARC -DBN_DIV2W::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_PTR DES_RISC1 DES_UNROLL BF_PTR:${sparcv9_asm}:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", -+"debian-x32","gcc:-mx32 -DL_ENDIAN -DTERMIO ${debian_cflags} -DMD32_REG_T=int::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC:-mx32:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::x32", -+ - #### - #### Variety of LINUX:-) - #### diff --git a/poky/meta/recipes-connectivity/openssl/openssl10/debian/man-dir.patch b/poky/meta/recipes-connectivity/openssl/openssl10/debian/man-dir.patch deleted file mode 100644 index 4085e3b1d..000000000 --- a/poky/meta/recipes-connectivity/openssl/openssl10/debian/man-dir.patch +++ /dev/null @@ -1,15 +0,0 @@ -Upstream-Status: Backport [debian] - -Index: openssl-1.0.0c/Makefile.org -=================================================================== ---- openssl-1.0.0c.orig/Makefile.org 2010-12-12 16:11:27.000000000 +0100 -+++ openssl-1.0.0c/Makefile.org 2010-12-12 16:11:37.000000000 +0100 -@@ -131,7 +131,7 @@ - - MAKEFILE= Makefile - --MANDIR=$(OPENSSLDIR)/man -+MANDIR=/usr/share/man - MAN1=1 - MAN3=3 - MANSUFFIX= diff --git a/poky/meta/recipes-connectivity/openssl/openssl10/debian/man-section.patch b/poky/meta/recipes-connectivity/openssl/openssl10/debian/man-section.patch deleted file mode 100644 index 21c1d1a4e..000000000 --- a/poky/meta/recipes-connectivity/openssl/openssl10/debian/man-section.patch +++ /dev/null @@ -1,34 +0,0 @@ -Upstream-Status: Backport [debian] - -Index: openssl-1.0.0c/Makefile.org -=================================================================== ---- openssl-1.0.0c.orig/Makefile.org 2010-12-12 16:11:37.000000000 +0100 -+++ openssl-1.0.0c/Makefile.org 2010-12-12 16:13:28.000000000 +0100 -@@ -160,7 +160,8 @@ - MANDIR=/usr/share/man - MAN1=1 - MAN3=3 --MANSUFFIX= -+MANSUFFIX=ssl -+MANSECTION=SSL - HTMLSUFFIX=html - HTMLDIR=$(OPENSSLDIR)/html - SHELL=/bin/sh -@@ -651,7 +652,7 @@ - echo "installing man$$sec/$$fn.$${sec}$(MANSUFFIX)"; \ - (cd `$(PERL) util/dirname.pl $$i`; \ - sh -c "$$pod2man \ -- --section=$$sec --center=OpenSSL \ -+ --section=$${sec}$(MANSECTION) --center=OpenSSL \ - --release=$(VERSION) `basename $$i`") \ - > $(INSTALL_PREFIX)$(MANDIR)/man$$sec/$$fn.$${sec}$(MANSUFFIX); \ - $(PERL) util/extract-names.pl < $$i | \ -@@ -668,7 +669,7 @@ - echo "installing man$$sec/$$fn.$${sec}$(MANSUFFIX)"; \ - (cd `$(PERL) util/dirname.pl $$i`; \ - sh -c "$$pod2man \ -- --section=$$sec --center=OpenSSL \ -+ --section=$${sec}$(MANSECTION) --center=OpenSSL \ - --release=$(VERSION) `basename $$i`") \ - > $(INSTALL_PREFIX)$(MANDIR)/man$$sec/$$fn.$${sec}$(MANSUFFIX); \ - $(PERL) util/extract-names.pl < $$i | \ diff --git a/poky/meta/recipes-connectivity/openssl/openssl10/debian/no-rpath.patch b/poky/meta/recipes-connectivity/openssl/openssl10/debian/no-rpath.patch deleted file mode 100644 index 1ccb3b86e..000000000 --- a/poky/meta/recipes-connectivity/openssl/openssl10/debian/no-rpath.patch +++ /dev/null @@ -1,15 +0,0 @@ -Upstream-Status: Backport [debian] - -Index: openssl-1.0.0c/Makefile.shared -=================================================================== ---- openssl-1.0.0c.orig/Makefile.shared 2010-08-21 13:36:49.000000000 +0200 -+++ openssl-1.0.0c/Makefile.shared 2010-12-12 16:13:36.000000000 +0100 -@@ -153,7 +153,7 @@ - NOALLSYMSFLAGS='-Wl,--no-whole-archive'; \ - SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared -Wl,-Bsymbolic -Wl,-soname=$$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX" - --DO_GNU_APP=LDFLAGS="$(CFLAGS) -Wl,-rpath,$(LIBRPATH)" -+DO_GNU_APP=LDFLAGS="$(CFLAGS)" - - #This is rather special. It's a special target with which one can link - #applications without bothering with any features that have anything to diff --git a/poky/meta/recipes-connectivity/openssl/openssl10/debian/no-symbolic.patch b/poky/meta/recipes-connectivity/openssl/openssl10/debian/no-symbolic.patch deleted file mode 100644 index cc4408ab7..000000000 --- a/poky/meta/recipes-connectivity/openssl/openssl10/debian/no-symbolic.patch +++ /dev/null @@ -1,15 +0,0 @@ -Upstream-Status: Backport [debian] - -Index: openssl-1.0.0c/Makefile.shared -=================================================================== ---- openssl-1.0.0c.orig/Makefile.shared 2010-12-12 16:13:36.000000000 +0100 -+++ openssl-1.0.0c/Makefile.shared 2010-12-12 16:13:44.000000000 +0100 -@@ -151,7 +151,7 @@ - SHLIB_SUFFIX=; \ - ALLSYMSFLAGS='-Wl,--whole-archive'; \ - NOALLSYMSFLAGS='-Wl,--no-whole-archive'; \ -- SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared -Wl,-Bsymbolic -Wl,-soname=$$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX" -+ SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared -Wl,-soname=$$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX" - - DO_GNU_APP=LDFLAGS="$(CFLAGS)" - diff --git a/poky/meta/recipes-connectivity/openssl/openssl10/debian/pic.patch b/poky/meta/recipes-connectivity/openssl/openssl10/debian/pic.patch deleted file mode 100644 index bfda3888b..000000000 --- a/poky/meta/recipes-connectivity/openssl/openssl10/debian/pic.patch +++ /dev/null @@ -1,177 +0,0 @@ -Upstream-Status: Backport [debian] - -Index: openssl-1.0.1c/crypto/des/asm/desboth.pl -=================================================================== ---- openssl-1.0.1c.orig/crypto/des/asm/desboth.pl 2001-10-24 23:20:56.000000000 +0200 -+++ openssl-1.0.1c/crypto/des/asm/desboth.pl 2012-07-29 14:15:26.000000000 +0200 -@@ -16,6 +16,11 @@ - - &push("edi"); - -+ &call (&label("pic_point0")); -+ &set_label("pic_point0"); -+ &blindpop("ebp"); -+ &add ("ebp", "\$_GLOBAL_OFFSET_TABLE_+[.-" . &label("pic_point0") . "]"); -+ - &comment(""); - &comment("Load the data words"); - &mov($L,&DWP(0,"ebx","",0)); -@@ -47,15 +52,21 @@ - &mov(&swtmp(2), (DWC(($enc)?"1":"0"))); - &mov(&swtmp(1), "eax"); - &mov(&swtmp(0), "ebx"); -- &call("DES_encrypt2"); -+ &exch("ebx", "ebp"); -+ &call("DES_encrypt2\@PLT"); -+ &exch("ebx", "ebp"); - &mov(&swtmp(2), (DWC(($enc)?"0":"1"))); - &mov(&swtmp(1), "edi"); - &mov(&swtmp(0), "ebx"); -- &call("DES_encrypt2"); -+ &exch("ebx", "ebp"); -+ &call("DES_encrypt2\@PLT"); -+ &exch("ebx", "ebp"); - &mov(&swtmp(2), (DWC(($enc)?"1":"0"))); - &mov(&swtmp(1), "esi"); - &mov(&swtmp(0), "ebx"); -- &call("DES_encrypt2"); -+ &exch("ebx", "ebp"); -+ &call("DES_encrypt2\@PLT"); -+ &exch("ebx", "ebp"); - - &stack_pop(3); - &mov($L,&DWP(0,"ebx","",0)); -Index: openssl-1.0.1c/crypto/perlasm/cbc.pl -=================================================================== ---- openssl-1.0.1c.orig/crypto/perlasm/cbc.pl 2011-07-13 08:22:46.000000000 +0200 -+++ openssl-1.0.1c/crypto/perlasm/cbc.pl 2012-07-29 14:15:26.000000000 +0200 -@@ -122,7 +122,11 @@ - &mov(&DWP($data_off,"esp","",0), "eax"); # put in array for call - &mov(&DWP($data_off+4,"esp","",0), "ebx"); # - -- &call($enc_func); -+ &call (&label("pic_point0")); -+ &set_label("pic_point0"); -+ &blindpop("ebx"); -+ &add ("ebx", "\$_GLOBAL_OFFSET_TABLE_+[.-" . &label("pic_point0") . "]"); -+ &call("$enc_func\@PLT"); - - &mov("eax", &DWP($data_off,"esp","",0)); - &mov("ebx", &DWP($data_off+4,"esp","",0)); -@@ -185,7 +189,11 @@ - &mov(&DWP($data_off,"esp","",0), "eax"); # put in array for call - &mov(&DWP($data_off+4,"esp","",0), "ebx"); # - -- &call($enc_func); -+ &call (&label("pic_point1")); -+ &set_label("pic_point1"); -+ &blindpop("ebx"); -+ &add ("ebx", "\$_GLOBAL_OFFSET_TABLE_+[.-" . &label("pic_point1") . "]"); -+ &call("$enc_func\@PLT"); - - &mov("eax", &DWP($data_off,"esp","",0)); - &mov("ebx", &DWP($data_off+4,"esp","",0)); -@@ -218,7 +226,11 @@ - &mov(&DWP($data_off,"esp","",0), "eax"); # put back - &mov(&DWP($data_off+4,"esp","",0), "ebx"); # - -- &call($dec_func); -+ &call (&label("pic_point2")); -+ &set_label("pic_point2"); -+ &blindpop("ebx"); -+ &add ("ebx", "\$_GLOBAL_OFFSET_TABLE_+[.-" . &label("pic_point2") . "]"); -+ &call("$dec_func\@PLT"); - - &mov("eax", &DWP($data_off,"esp","",0)); # get return - &mov("ebx", &DWP($data_off+4,"esp","",0)); # -@@ -261,7 +273,11 @@ - &mov(&DWP($data_off,"esp","",0), "eax"); # put back - &mov(&DWP($data_off+4,"esp","",0), "ebx"); # - -- &call($dec_func); -+ &call (&label("pic_point3")); -+ &set_label("pic_point3"); -+ &blindpop("ebx"); -+ &add ("ebx", "\$_GLOBAL_OFFSET_TABLE_+[.-" . &label("pic_point3") . "]"); -+ &call("$dec_func\@PLT"); - - &mov("eax", &DWP($data_off,"esp","",0)); # get return - &mov("ebx", &DWP($data_off+4,"esp","",0)); # -Index: openssl-1.0.1c/crypto/perlasm/x86gas.pl -=================================================================== ---- openssl-1.0.1c.orig/crypto/perlasm/x86gas.pl 2011-12-09 20:16:35.000000000 +0100 -+++ openssl-1.0.1c/crypto/perlasm/x86gas.pl 2012-07-29 14:15:26.000000000 +0200 -@@ -161,6 +161,7 @@ - if ($::macosx) { push (@out,"$tmp,2\n"); } - elsif ($::elf) { push (@out,"$tmp,4\n"); } - else { push (@out,"$tmp\n"); } -+ if ($::elf) { push (@out,".hidden\tOPENSSL_ia32cap_P\n"); } - } - push(@out,$initseg) if ($initseg); - } -@@ -218,8 +219,23 @@ - elsif ($::elf) - { $initseg.=<<___; - .section .init -+___ -+ if ($::pic) -+ { $initseg.=<<___; -+ pushl %ebx -+ call .pic_point0 -+.pic_point0: -+ popl %ebx -+ addl \$_GLOBAL_OFFSET_TABLE_+[.-.pic_point0],%ebx -+ call $f\@PLT -+ popl %ebx -+___ -+ } -+ else -+ { $initseg.=<<___; - call $f - ___ -+ } - } - elsif ($::coff) - { $initseg.=<<___; # applies to both Cygwin and Mingw -Index: openssl-1.0.1c/crypto/x86cpuid.pl -=================================================================== ---- openssl-1.0.1c.orig/crypto/x86cpuid.pl 2012-02-28 15:20:34.000000000 +0100 -+++ openssl-1.0.1c/crypto/x86cpuid.pl 2012-07-29 14:15:26.000000000 +0200 -@@ -8,6 +8,8 @@ - - for (@ARGV) { $sse2=1 if (/-DOPENSSL_IA32_SSE2/); } - -+push(@out, ".hidden OPENSSL_ia32cap_P\n"); -+ - &function_begin("OPENSSL_ia32_cpuid"); - &xor ("edx","edx"); - &pushf (); -@@ -139,9 +141,7 @@ - &set_label("nocpuid"); - &function_end("OPENSSL_ia32_cpuid"); - --&external_label("OPENSSL_ia32cap_P"); -- --&function_begin_B("OPENSSL_rdtsc","EXTRN\t_OPENSSL_ia32cap_P:DWORD"); -+&function_begin_B("OPENSSL_rdtsc"); - &xor ("eax","eax"); - &xor ("edx","edx"); - &picmeup("ecx","OPENSSL_ia32cap_P"); -@@ -155,7 +155,7 @@ - # This works in Ring 0 only [read DJGPP+MS-DOS+privileged DPMI host], - # but it's safe to call it on any [supported] 32-bit platform... - # Just check for [non-]zero return value... --&function_begin_B("OPENSSL_instrument_halt","EXTRN\t_OPENSSL_ia32cap_P:DWORD"); -+&function_begin_B("OPENSSL_instrument_halt"); - &picmeup("ecx","OPENSSL_ia32cap_P"); - &bt (&DWP(0,"ecx"),4); - &jnc (&label("nohalt")); # no TSC -@@ -222,7 +222,7 @@ - &ret (); - &function_end_B("OPENSSL_far_spin"); - --&function_begin_B("OPENSSL_wipe_cpu","EXTRN\t_OPENSSL_ia32cap_P:DWORD"); -+&function_begin_B("OPENSSL_wipe_cpu"); - &xor ("eax","eax"); - &xor ("edx","edx"); - &picmeup("ecx","OPENSSL_ia32cap_P"); diff --git a/poky/meta/recipes-connectivity/openssl/openssl10/debian1.0.2/block_digicert_malaysia.patch b/poky/meta/recipes-connectivity/openssl/openssl10/debian1.0.2/block_digicert_malaysia.patch deleted file mode 100644 index c43bcd1c7..000000000 --- a/poky/meta/recipes-connectivity/openssl/openssl10/debian1.0.2/block_digicert_malaysia.patch +++ /dev/null @@ -1,29 +0,0 @@ -From: Raphael Geissert <geissert@debian.org> -Description: make X509_verify_cert indicate that any certificate whose - name contains "Digicert Sdn. Bhd." (from Malaysia) is revoked. -Forwarded: not-needed -Origin: vendor -Last-Update: 2011-11-05 - -Upstream-Status: Backport [debian] - - -Index: openssl-1.0.2~beta1/crypto/x509/x509_vfy.c -=================================================================== ---- openssl-1.0.2~beta1.orig/crypto/x509/x509_vfy.c 2014-02-25 00:16:12.488028844 +0100 -+++ openssl-1.0.2~beta1/crypto/x509/x509_vfy.c 2014-02-25 00:16:12.484028929 +0100 -@@ -964,10 +964,11 @@ - for (i = sk_X509_num(ctx->chain) - 1; i >= 0; i--) - { - x = sk_X509_value(ctx->chain, i); -- /* Mark DigiNotar certificates as revoked, no matter -- * where in the chain they are. -+ /* Mark certificates containing the following names as -+ * revoked, no matter where in the chain they are. - */ -- if (x->name && strstr(x->name, "DigiNotar")) -+ if (x->name && (strstr(x->name, "DigiNotar") || -+ strstr(x->name, "Digicert Sdn. Bhd."))) - { - ctx->error = X509_V_ERR_CERT_REVOKED; - ctx->error_depth = i; diff --git a/poky/meta/recipes-connectivity/openssl/openssl10/debian1.0.2/block_diginotar.patch b/poky/meta/recipes-connectivity/openssl/openssl10/debian1.0.2/block_diginotar.patch deleted file mode 100644 index d81e22cd8..000000000 --- a/poky/meta/recipes-connectivity/openssl/openssl10/debian1.0.2/block_diginotar.patch +++ /dev/null @@ -1,68 +0,0 @@ -From: Raphael Geissert <geissert@debian.org> -Description: make X509_verify_cert indicate that any certificate whose - name contains "DigiNotar" is revoked. -Forwarded: not-needed -Origin: vendor -Last-Update: 2011-09-08 -Bug: http://bugs.debian.org/639744 -Reviewed-by: Kurt Roeckx <kurt@roeckx.be> -Reviewed-by: Dr Stephen N Henson <shenson@drh-consultancy.co.uk> - -This is not meant as final patch. - -Upstream-Status: Backport [debian] - -Signed-off-by: Armin Kuster <akuster@mvista.com> - -Index: openssl-1.0.2g/crypto/x509/x509_vfy.c -=================================================================== ---- openssl-1.0.2g.orig/crypto/x509/x509_vfy.c -+++ openssl-1.0.2g/crypto/x509/x509_vfy.c -@@ -119,6 +119,7 @@ static int check_trust(X509_STORE_CTX *c - static int check_revocation(X509_STORE_CTX *ctx); - static int check_cert(X509_STORE_CTX *ctx); - static int check_policy(X509_STORE_CTX *ctx); -+static int check_ca_blacklist(X509_STORE_CTX *ctx); - - static int get_crl_score(X509_STORE_CTX *ctx, X509 **pissuer, - unsigned int *preasons, X509_CRL *crl, X509 *x); -@@ -489,6 +490,9 @@ int X509_verify_cert(X509_STORE_CTX *ctx - if (!ok) - goto err; - -+ ok = check_ca_blacklist(ctx); -+ if(!ok) goto err; -+ - #ifndef OPENSSL_NO_RFC3779 - /* RFC 3779 path validation, now that CRL check has been done */ - ok = v3_asid_validate_path(ctx); -@@ -996,6 +1000,29 @@ static int check_crl_time(X509_STORE_CTX - return 1; - } - -+static int check_ca_blacklist(X509_STORE_CTX *ctx) -+ { -+ X509 *x; -+ int i; -+ /* Check all certificates against the blacklist */ -+ for (i = sk_X509_num(ctx->chain) - 1; i >= 0; i--) -+ { -+ x = sk_X509_value(ctx->chain, i); -+ /* Mark DigiNotar certificates as revoked, no matter -+ * where in the chain they are. -+ */ -+ if (x->name && strstr(x->name, "DigiNotar")) -+ { -+ ctx->error = X509_V_ERR_CERT_REVOKED; -+ ctx->error_depth = i; -+ ctx->current_cert = x; -+ if (!ctx->verify_cb(0,ctx)) -+ return 0; -+ } -+ } -+ return 1; -+ } -+ - static int get_crl_sk(X509_STORE_CTX *ctx, X509_CRL **pcrl, X509_CRL **pdcrl, - X509 **pissuer, int *pscore, unsigned int *preasons, - STACK_OF(X509_CRL) *crls) diff --git a/poky/meta/recipes-connectivity/openssl/openssl10/debian1.0.2/soname.patch b/poky/meta/recipes-connectivity/openssl/openssl10/debian1.0.2/soname.patch deleted file mode 100644 index 09dd9eaf8..000000000 --- a/poky/meta/recipes-connectivity/openssl/openssl10/debian1.0.2/soname.patch +++ /dev/null @@ -1,15 +0,0 @@ -Upstream-Status: Inappropriate - -Index: openssl-1.0.2d/crypto/opensslv.h -=================================================================== ---- openssl-1.0.2d.orig/crypto/opensslv.h -+++ openssl-1.0.2d/crypto/opensslv.h -@@ -88,7 +88,7 @@ extern "C" { - * should only keep the versions that are binary compatible with the current. - */ - # define SHLIB_VERSION_HISTORY "" --# define SHLIB_VERSION_NUMBER "1.0.0" -+# define SHLIB_VERSION_NUMBER "1.0.2" - - - #ifdef __cplusplus diff --git a/poky/meta/recipes-connectivity/openssl/openssl10/debian1.0.2/version-script.patch b/poky/meta/recipes-connectivity/openssl/openssl10/debian1.0.2/version-script.patch deleted file mode 100644 index e404ee331..000000000 --- a/poky/meta/recipes-connectivity/openssl/openssl10/debian1.0.2/version-script.patch +++ /dev/null @@ -1,4658 +0,0 @@ -Upstream-Status: Inappropriate - -Index: openssl-1.0.2~beta1.obsolete.0.0498436515490575/Configure -=================================================================== ---- openssl-1.0.2~beta1.obsolete.0.0498436515490575.orig/Configure 2014-02-24 21:02:30.000000000 +0100 -+++ openssl-1.0.2~beta1.obsolete.0.0498436515490575/Configure 2014-02-24 21:02:30.000000000 +0100 -@@ -1651,6 +1651,8 @@ - } - } - -+$shared_ldflag .= " -Wl,--version-script=openssl.ld"; -+ - open(IN,'<Makefile.org') || die "unable to read Makefile.org:$!\n"; - unlink("$Makefile.new") || die "unable to remove old $Makefile.new:$!\n" if -e "$Makefile.new"; - open(OUT,">$Makefile.new") || die "unable to create $Makefile.new:$!\n"; -Index: openssl-1.0.2~beta1.obsolete.0.0498436515490575/openssl.ld -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ openssl-1.0.2~beta1.obsolete.0.0498436515490575/openssl.ld 2014-02-24 22:19:08.601827266 +0100 -@@ -0,0 +1,4608 @@ -+OPENSSL_1.0.2d { -+ global: -+ BIO_f_ssl; -+ BIO_new_buffer_ssl_connect; -+ BIO_new_ssl; -+ BIO_new_ssl_connect; -+ BIO_proxy_ssl_copy_session_id; -+ BIO_ssl_copy_session_id; -+ BIO_ssl_shutdown; -+ d2i_SSL_SESSION; -+ DTLSv1_client_method; -+ DTLSv1_method; -+ DTLSv1_server_method; -+ ERR_load_SSL_strings; -+ i2d_SSL_SESSION; -+ kssl_build_principal_2; -+ kssl_cget_tkt; -+ kssl_check_authent; -+ kssl_ctx_free; -+ kssl_ctx_new; -+ kssl_ctx_setkey; -+ kssl_ctx_setprinc; -+ kssl_ctx_setstring; -+ kssl_ctx_show; -+ kssl_err_set; -+ kssl_krb5_free_data_contents; -+ kssl_sget_tkt; -+ kssl_skip_confound; -+ kssl_validate_times; -+ PEM_read_bio_SSL_SESSION; -+ PEM_read_SSL_SESSION; -+ PEM_write_bio_SSL_SESSION; -+ PEM_write_SSL_SESSION; -+ SSL_accept; -+ SSL_add_client_CA; -+ SSL_add_dir_cert_subjects_to_stack; -+ SSL_add_dir_cert_subjs_to_stk; -+ SSL_add_file_cert_subjects_to_stack; -+ SSL_add_file_cert_subjs_to_stk; -+ SSL_alert_desc_string; -+ SSL_alert_desc_string_long; -+ SSL_alert_type_string; -+ SSL_alert_type_string_long; -+ SSL_callback_ctrl; -+ SSL_check_private_key; -+ SSL_CIPHER_description; -+ SSL_CIPHER_get_bits; -+ SSL_CIPHER_get_name; -+ SSL_CIPHER_get_version; -+ SSL_clear; -+ SSL_COMP_add_compression_method; -+ SSL_COMP_get_compression_methods; -+ SSL_COMP_get_compress_methods; -+ SSL_COMP_get_name; -+ SSL_connect; -+ SSL_copy_session_id; -+ SSL_ctrl; -+ SSL_CTX_add_client_CA; -+ SSL_CTX_add_session; -+ SSL_CTX_callback_ctrl; -+ SSL_CTX_check_private_key; -+ SSL_CTX_ctrl; -+ SSL_CTX_flush_sessions; -+ SSL_CTX_free; -+ SSL_CTX_get_cert_store; -+ SSL_CTX_get_client_CA_list; -+ SSL_CTX_get_client_cert_cb; -+ SSL_CTX_get_ex_data; -+ SSL_CTX_get_ex_new_index; -+ SSL_CTX_get_info_callback; -+ SSL_CTX_get_quiet_shutdown; -+ SSL_CTX_get_timeout; -+ SSL_CTX_get_verify_callback; -+ SSL_CTX_get_verify_depth; -+ SSL_CTX_get_verify_mode; -+ SSL_CTX_load_verify_locations; -+ SSL_CTX_new; -+ SSL_CTX_remove_session; -+ SSL_CTX_sess_get_get_cb; -+ SSL_CTX_sess_get_new_cb; -+ SSL_CTX_sess_get_remove_cb; -+ SSL_CTX_sessions; -+ SSL_CTX_sess_set_get_cb; -+ SSL_CTX_sess_set_new_cb; -+ SSL_CTX_sess_set_remove_cb; -+ SSL_CTX_set1_param; -+ SSL_CTX_set_cert_store; -+ SSL_CTX_set_cert_verify_callback; -+ SSL_CTX_set_cert_verify_cb; -+ SSL_CTX_set_cipher_list; -+ SSL_CTX_set_client_CA_list; -+ SSL_CTX_set_client_cert_cb; -+ SSL_CTX_set_client_cert_engine; -+ SSL_CTX_set_cookie_generate_cb; -+ SSL_CTX_set_cookie_verify_cb; -+ SSL_CTX_set_default_passwd_cb; -+ SSL_CTX_set_default_passwd_cb_userdata; -+ SSL_CTX_set_default_verify_paths; -+ SSL_CTX_set_def_passwd_cb_ud; -+ SSL_CTX_set_def_verify_paths; -+ SSL_CTX_set_ex_data; -+ SSL_CTX_set_generate_session_id; -+ SSL_CTX_set_info_callback; -+ SSL_CTX_set_msg_callback; -+ SSL_CTX_set_psk_client_callback; -+ SSL_CTX_set_psk_server_callback; -+ SSL_CTX_set_purpose; -+ SSL_CTX_set_quiet_shutdown; -+ SSL_CTX_set_session_id_context; -+ SSL_CTX_set_ssl_version; -+ SSL_CTX_set_timeout; -+ SSL_CTX_set_tmp_dh_callback; -+ SSL_CTX_set_tmp_ecdh_callback; -+ SSL_CTX_set_tmp_rsa_callback; -+ SSL_CTX_set_trust; -+ SSL_CTX_set_verify; -+ SSL_CTX_set_verify_depth; -+ SSL_CTX_use_cert_chain_file; -+ SSL_CTX_use_certificate; -+ SSL_CTX_use_certificate_ASN1; -+ SSL_CTX_use_certificate_chain_file; -+ SSL_CTX_use_certificate_file; -+ SSL_CTX_use_PrivateKey; -+ SSL_CTX_use_PrivateKey_ASN1; -+ SSL_CTX_use_PrivateKey_file; -+ SSL_CTX_use_psk_identity_hint; -+ SSL_CTX_use_RSAPrivateKey; -+ SSL_CTX_use_RSAPrivateKey_ASN1; -+ SSL_CTX_use_RSAPrivateKey_file; -+ SSL_do_handshake; -+ SSL_dup; -+ SSL_dup_CA_list; -+ SSLeay_add_ssl_algorithms; -+ SSL_free; -+ SSL_get1_session; -+ SSL_get_certificate; -+ SSL_get_cipher_list; -+ SSL_get_ciphers; -+ SSL_get_client_CA_list; -+ SSL_get_current_cipher; -+ SSL_get_current_compression; -+ SSL_get_current_expansion; -+ SSL_get_default_timeout; -+ SSL_get_error; -+ SSL_get_ex_data; -+ SSL_get_ex_data_X509_STORE_CTX_idx; -+ SSL_get_ex_d_X509_STORE_CTX_idx; -+ SSL_get_ex_new_index; -+ SSL_get_fd; -+ SSL_get_finished; -+ SSL_get_info_callback; -+ SSL_get_peer_cert_chain; -+ SSL_get_peer_certificate; -+ SSL_get_peer_finished; -+ SSL_get_privatekey; -+ SSL_get_psk_identity; -+ SSL_get_psk_identity_hint; -+ SSL_get_quiet_shutdown; -+ SSL_get_rbio; -+ SSL_get_read_ahead; -+ SSL_get_rfd; -+ SSL_get_servername; -+ SSL_get_servername_type; -+ SSL_get_session; -+ SSL_get_shared_ciphers; -+ SSL_get_shutdown; -+ SSL_get_SSL_CTX; -+ SSL_get_ssl_method; -+ SSL_get_verify_callback; -+ SSL_get_verify_depth; -+ SSL_get_verify_mode; -+ SSL_get_verify_result; -+ SSL_get_version; -+ SSL_get_wbio; -+ SSL_get_wfd; -+ SSL_has_matching_session_id; -+ SSL_library_init; -+ SSL_load_client_CA_file; -+ SSL_load_error_strings; -+ SSL_new; -+ SSL_peek; -+ SSL_pending; -+ SSL_read; -+ SSL_renegotiate; -+ SSL_renegotiate_pending; -+ SSL_rstate_string; -+ SSL_rstate_string_long; -+ SSL_SESSION_cmp; -+ SSL_SESSION_free; -+ SSL_SESSION_get_ex_data; -+ SSL_SESSION_get_ex_new_index; -+ SSL_SESSION_get_id; -+ SSL_SESSION_get_time; -+ SSL_SESSION_get_timeout; -+ SSL_SESSION_hash; -+ SSL_SESSION_new; -+ SSL_SESSION_print; -+ SSL_SESSION_print_fp; -+ SSL_SESSION_set_ex_data; -+ SSL_SESSION_set_time; -+ SSL_SESSION_set_timeout; -+ SSL_set1_param; -+ SSL_set_accept_state; -+ SSL_set_bio; -+ SSL_set_cipher_list; -+ SSL_set_client_CA_list; -+ SSL_set_connect_state; -+ SSL_set_ex_data; -+ SSL_set_fd; -+ SSL_set_generate_session_id; -+ SSL_set_info_callback; -+ SSL_set_msg_callback; -+ SSL_set_psk_client_callback; -+ SSL_set_psk_server_callback; -+ SSL_set_purpose; -+ SSL_set_quiet_shutdown; -+ SSL_set_read_ahead; -+ SSL_set_rfd; -+ SSL_set_session; -+ SSL_set_session_id_context; -+ SSL_set_session_secret_cb; -+ SSL_set_session_ticket_ext; -+ SSL_set_session_ticket_ext_cb; -+ SSL_set_shutdown; -+ SSL_set_SSL_CTX; -+ SSL_set_ssl_method; -+ SSL_set_tmp_dh_callback; -+ SSL_set_tmp_ecdh_callback; -+ SSL_set_tmp_rsa_callback; -+ SSL_set_trust; -+ SSL_set_verify; -+ SSL_set_verify_depth; -+ SSL_set_verify_result; -+ SSL_set_wfd; -+ SSL_shutdown; -+ SSL_state; -+ SSL_state_string; -+ SSL_state_string_long; -+ SSL_use_certificate; -+ SSL_use_certificate_ASN1; -+ SSL_use_certificate_file; -+ SSL_use_PrivateKey; -+ SSL_use_PrivateKey_ASN1; -+ SSL_use_PrivateKey_file; -+ SSL_use_psk_identity_hint; -+ SSL_use_RSAPrivateKey; -+ SSL_use_RSAPrivateKey_ASN1; -+ SSL_use_RSAPrivateKey_file; -+ SSLv23_client_method; -+ SSLv23_method; -+ SSLv23_server_method; -+ SSLv2_client_method; -+ SSLv2_method; -+ SSLv2_server_method; -+ SSLv3_client_method; -+ SSLv3_method; -+ SSLv3_server_method; -+ SSL_version; -+ SSL_want; -+ SSL_write; -+ TLSv1_client_method; -+ TLSv1_method; -+ TLSv1_server_method; -+ -+ -+ SSLeay; -+ SSLeay_version; -+ ASN1_BIT_STRING_asn1_meth; -+ ASN1_HEADER_free; -+ ASN1_HEADER_new; -+ ASN1_IA5STRING_asn1_meth; -+ ASN1_INTEGER_get; -+ ASN1_INTEGER_set; -+ ASN1_INTEGER_to_BN; -+ ASN1_OBJECT_create; -+ ASN1_OBJECT_free; -+ ASN1_OBJECT_new; -+ ASN1_PRINTABLE_type; -+ ASN1_STRING_cmp; -+ ASN1_STRING_dup; -+ ASN1_STRING_free; -+ ASN1_STRING_new; -+ ASN1_STRING_print; -+ ASN1_STRING_set; -+ ASN1_STRING_type_new; -+ ASN1_TYPE_free; -+ ASN1_TYPE_new; -+ ASN1_UNIVERSALSTRING_to_string; -+ ASN1_UTCTIME_check; -+ ASN1_UTCTIME_print; -+ ASN1_UTCTIME_set; -+ ASN1_check_infinite_end; -+ ASN1_d2i_bio; -+ ASN1_d2i_fp; -+ ASN1_digest; -+ ASN1_dup; -+ ASN1_get_object; -+ ASN1_i2d_bio; -+ ASN1_i2d_fp; -+ ASN1_object_size; -+ ASN1_parse; -+ ASN1_put_object; -+ ASN1_sign; -+ ASN1_verify; -+ BF_cbc_encrypt; -+ BF_cfb64_encrypt; -+ BF_ecb_encrypt; -+ BF_encrypt; -+ BF_ofb64_encrypt; -+ BF_options; -+ BF_set_key; -+ BIO_CONNECT_free; -+ BIO_CONNECT_new; -+ BIO_accept; -+ BIO_ctrl; -+ BIO_int_ctrl; -+ BIO_debug_callback; -+ BIO_dump; -+ BIO_dup_chain; -+ BIO_f_base64; -+ BIO_f_buffer; -+ BIO_f_cipher; -+ BIO_f_md; -+ BIO_f_null; -+ BIO_f_proxy_server; -+ BIO_fd_non_fatal_error; -+ BIO_fd_should_retry; -+ BIO_find_type; -+ BIO_free; -+ BIO_free_all; -+ BIO_get_accept_socket; -+ BIO_get_filter_bio; -+ BIO_get_host_ip; -+ BIO_get_port; -+ BIO_get_retry_BIO; -+ BIO_get_retry_reason; -+ BIO_gethostbyname; -+ BIO_gets; -+ BIO_new; -+ BIO_new_accept; -+ BIO_new_connect; -+ BIO_new_fd; -+ BIO_new_file; -+ BIO_new_fp; -+ BIO_new_socket; -+ BIO_pop; -+ BIO_printf; -+ BIO_push; -+ BIO_puts; -+ BIO_read; -+ BIO_s_accept; -+ BIO_s_connect; -+ BIO_s_fd; -+ BIO_s_file; -+ BIO_s_mem; -+ BIO_s_null; -+ BIO_s_proxy_client; -+ BIO_s_socket; -+ BIO_set; -+ BIO_set_cipher; -+ BIO_set_tcp_ndelay; -+ BIO_sock_cleanup; -+ BIO_sock_error; -+ BIO_sock_init; -+ BIO_sock_non_fatal_error; -+ BIO_sock_should_retry; -+ BIO_socket_ioctl; -+ BIO_write; -+ BN_CTX_free; -+ BN_CTX_new; -+ BN_MONT_CTX_free; -+ BN_MONT_CTX_new; -+ BN_MONT_CTX_set; -+ BN_add; -+ BN_add_word; -+ BN_hex2bn; -+ BN_bin2bn; -+ BN_bn2hex; -+ BN_bn2bin; -+ BN_clear; -+ BN_clear_bit; -+ BN_clear_free; -+ BN_cmp; -+ BN_copy; -+ BN_div; -+ BN_div_word; -+ BN_dup; -+ BN_free; -+ BN_from_montgomery; -+ BN_gcd; -+ BN_generate_prime; -+ BN_get_word; -+ BN_is_bit_set; -+ BN_is_prime; -+ BN_lshift; -+ BN_lshift1; -+ BN_mask_bits; -+ BN_mod; -+ BN_mod_exp; -+ BN_mod_exp_mont; -+ BN_mod_exp_simple; -+ BN_mod_inverse; -+ BN_mod_mul; -+ BN_mod_mul_montgomery; -+ BN_mod_word; -+ BN_mul; -+ BN_new; -+ BN_num_bits; -+ BN_num_bits_word; -+ BN_options; -+ BN_print; -+ BN_print_fp; -+ BN_rand; -+ BN_reciprocal; -+ BN_rshift; -+ BN_rshift1; -+ BN_set_bit; -+ BN_set_word; -+ BN_sqr; -+ BN_sub; -+ BN_to_ASN1_INTEGER; -+ BN_ucmp; -+ BN_value_one; -+ BUF_MEM_free; -+ BUF_MEM_grow; -+ BUF_MEM_new; -+ BUF_strdup; -+ CONF_free; -+ CONF_get_number; -+ CONF_get_section; -+ CONF_get_string; -+ CONF_load; -+ CRYPTO_add_lock; -+ CRYPTO_dbg_free; -+ CRYPTO_dbg_malloc; -+ CRYPTO_dbg_realloc; -+ CRYPTO_dbg_remalloc; -+ CRYPTO_free; -+ CRYPTO_get_add_lock_callback; -+ CRYPTO_get_id_callback; -+ CRYPTO_get_lock_name; -+ CRYPTO_get_locking_callback; -+ CRYPTO_get_mem_functions; -+ CRYPTO_lock; -+ CRYPTO_malloc; -+ CRYPTO_mem_ctrl; -+ CRYPTO_mem_leaks; -+ CRYPTO_mem_leaks_cb; -+ CRYPTO_mem_leaks_fp; -+ CRYPTO_realloc; -+ CRYPTO_remalloc; -+ CRYPTO_set_add_lock_callback; -+ CRYPTO_set_id_callback; -+ CRYPTO_set_locking_callback; -+ CRYPTO_set_mem_functions; -+ CRYPTO_thread_id; -+ DH_check; -+ DH_compute_key; -+ DH_free; -+ DH_generate_key; -+ DH_generate_parameters; -+ DH_new; -+ DH_size; -+ DHparams_print; -+ DHparams_print_fp; -+ DSA_free; -+ DSA_generate_key; -+ DSA_generate_parameters; -+ DSA_is_prime; -+ DSA_new; -+ DSA_print; -+ DSA_print_fp; -+ DSA_sign; -+ DSA_sign_setup; -+ DSA_size; -+ DSA_verify; -+ DSAparams_print; -+ DSAparams_print_fp; -+ ERR_clear_error; -+ ERR_error_string; -+ ERR_free_strings; -+ ERR_func_error_string; -+ ERR_get_err_state_table; -+ ERR_get_error; -+ ERR_get_error_line; -+ ERR_get_state; -+ ERR_get_string_table; -+ ERR_lib_error_string; -+ ERR_load_ASN1_strings; -+ ERR_load_BIO_strings; -+ ERR_load_BN_strings; -+ ERR_load_BUF_strings; -+ ERR_load_CONF_strings; -+ ERR_load_DH_strings; -+ ERR_load_DSA_strings; -+ ERR_load_ERR_strings; -+ ERR_load_EVP_strings; -+ ERR_load_OBJ_strings; -+ ERR_load_PEM_strings; -+ ERR_load_PROXY_strings; -+ ERR_load_RSA_strings; -+ ERR_load_X509_strings; -+ ERR_load_crypto_strings; -+ ERR_load_strings; -+ ERR_peek_error; -+ ERR_peek_error_line; -+ ERR_print_errors; -+ ERR_print_errors_fp; -+ ERR_put_error; -+ ERR_reason_error_string; -+ ERR_remove_state; -+ EVP_BytesToKey; -+ EVP_CIPHER_CTX_cleanup; -+ EVP_CipherFinal; -+ EVP_CipherInit; -+ EVP_CipherUpdate; -+ EVP_DecodeBlock; -+ EVP_DecodeFinal; -+ EVP_DecodeInit; -+ EVP_DecodeUpdate; -+ EVP_DecryptFinal; -+ EVP_DecryptInit; -+ EVP_DecryptUpdate; -+ EVP_DigestFinal; -+ EVP_DigestInit; -+ EVP_DigestUpdate; -+ EVP_EncodeBlock; -+ EVP_EncodeFinal; -+ EVP_EncodeInit; -+ EVP_EncodeUpdate; -+ EVP_EncryptFinal; -+ EVP_EncryptInit; -+ EVP_EncryptUpdate; -+ EVP_OpenFinal; -+ EVP_OpenInit; -+ EVP_PKEY_assign; -+ EVP_PKEY_copy_parameters; -+ EVP_PKEY_free; -+ EVP_PKEY_missing_parameters; -+ EVP_PKEY_new; -+ EVP_PKEY_save_parameters; -+ EVP_PKEY_size; -+ EVP_PKEY_type; -+ EVP_SealFinal; -+ EVP_SealInit; -+ EVP_SignFinal; -+ EVP_VerifyFinal; -+ EVP_add_alias; -+ EVP_add_cipher; -+ EVP_add_digest; -+ EVP_bf_cbc; -+ EVP_bf_cfb64; -+ EVP_bf_ecb; -+ EVP_bf_ofb; -+ EVP_cleanup; -+ EVP_des_cbc; -+ EVP_des_cfb64; -+ EVP_des_ecb; -+ EVP_des_ede; -+ EVP_des_ede3; -+ EVP_des_ede3_cbc; -+ EVP_des_ede3_cfb64; -+ EVP_des_ede3_ofb; -+ EVP_des_ede_cbc; -+ EVP_des_ede_cfb64; -+ EVP_des_ede_ofb; -+ EVP_des_ofb; -+ EVP_desx_cbc; -+ EVP_dss; -+ EVP_dss1; -+ EVP_enc_null; -+ EVP_get_cipherbyname; -+ EVP_get_digestbyname; -+ EVP_get_pw_prompt; -+ EVP_idea_cbc; -+ EVP_idea_cfb64; -+ EVP_idea_ecb; -+ EVP_idea_ofb; -+ EVP_md2; -+ EVP_md5; -+ EVP_md_null; -+ EVP_rc2_cbc; -+ EVP_rc2_cfb64; -+ EVP_rc2_ecb; -+ EVP_rc2_ofb; -+ EVP_rc4; -+ EVP_read_pw_string; -+ EVP_set_pw_prompt; -+ EVP_sha; -+ EVP_sha1; -+ MD2; -+ MD2_Final; -+ MD2_Init; -+ MD2_Update; -+ MD2_options; -+ MD5; -+ MD5_Final; -+ MD5_Init; -+ MD5_Update; -+ MDC2; -+ MDC2_Final; -+ MDC2_Init; -+ MDC2_Update; -+ NETSCAPE_SPKAC_free; -+ NETSCAPE_SPKAC_new; -+ NETSCAPE_SPKI_free; -+ NETSCAPE_SPKI_new; -+ NETSCAPE_SPKI_sign; -+ NETSCAPE_SPKI_verify; -+ OBJ_add_object; -+ OBJ_bsearch; -+ OBJ_cleanup; -+ OBJ_cmp; -+ OBJ_create; -+ OBJ_dup; -+ OBJ_ln2nid; -+ OBJ_new_nid; -+ OBJ_nid2ln; -+ OBJ_nid2obj; -+ OBJ_nid2sn; -+ OBJ_obj2nid; -+ OBJ_sn2nid; -+ OBJ_txt2nid; -+ PEM_ASN1_read; -+ PEM_ASN1_read_bio; -+ PEM_ASN1_write; -+ PEM_ASN1_write_bio; -+ PEM_SealFinal; -+ PEM_SealInit; -+ PEM_SealUpdate; -+ PEM_SignFinal; -+ PEM_SignInit; -+ PEM_SignUpdate; -+ PEM_X509_INFO_read; -+ PEM_X509_INFO_read_bio; -+ PEM_X509_INFO_write_bio; -+ PEM_dek_info; -+ PEM_do_header; -+ PEM_get_EVP_CIPHER_INFO; -+ PEM_proc_type; -+ PEM_read; -+ PEM_read_DHparams; -+ PEM_read_DSAPrivateKey; -+ PEM_read_DSAparams; -+ PEM_read_PKCS7; -+ PEM_read_PrivateKey; -+ PEM_read_RSAPrivateKey; -+ PEM_read_X509; -+ PEM_read_X509_CRL; -+ PEM_read_X509_REQ; -+ PEM_read_bio; -+ PEM_read_bio_DHparams; -+ PEM_read_bio_DSAPrivateKey; -+ PEM_read_bio_DSAparams; -+ PEM_read_bio_PKCS7; -+ PEM_read_bio_PrivateKey; -+ PEM_read_bio_RSAPrivateKey; -+ PEM_read_bio_X509; -+ PEM_read_bio_X509_CRL; -+ PEM_read_bio_X509_REQ; -+ PEM_write; -+ PEM_write_DHparams; -+ PEM_write_DSAPrivateKey; -+ PEM_write_DSAparams; -+ PEM_write_PKCS7; -+ PEM_write_PrivateKey; -+ PEM_write_RSAPrivateKey; -+ PEM_write_X509; -+ PEM_write_X509_CRL; -+ PEM_write_X509_REQ; -+ PEM_write_bio; -+ PEM_write_bio_DHparams; -+ PEM_write_bio_DSAPrivateKey; -+ PEM_write_bio_DSAparams; -+ PEM_write_bio_PKCS7; -+ PEM_write_bio_PrivateKey; -+ PEM_write_bio_RSAPrivateKey; -+ PEM_write_bio_X509; -+ PEM_write_bio_X509_CRL; -+ PEM_write_bio_X509_REQ; -+ PKCS7_DIGEST_free; -+ PKCS7_DIGEST_new; -+ PKCS7_ENCRYPT_free; -+ PKCS7_ENCRYPT_new; -+ PKCS7_ENC_CONTENT_free; -+ PKCS7_ENC_CONTENT_new; -+ PKCS7_ENVELOPE_free; -+ PKCS7_ENVELOPE_new; -+ PKCS7_ISSUER_AND_SERIAL_digest; -+ PKCS7_ISSUER_AND_SERIAL_free; -+ PKCS7_ISSUER_AND_SERIAL_new; -+ PKCS7_RECIP_INFO_free; -+ PKCS7_RECIP_INFO_new; -+ PKCS7_SIGNED_free; -+ PKCS7_SIGNED_new; -+ PKCS7_SIGNER_INFO_free; -+ PKCS7_SIGNER_INFO_new; -+ PKCS7_SIGN_ENVELOPE_free; -+ PKCS7_SIGN_ENVELOPE_new; -+ PKCS7_dup; -+ PKCS7_free; -+ PKCS7_new; -+ PROXY_ENTRY_add_noproxy; -+ PROXY_ENTRY_clear_noproxy; -+ PROXY_ENTRY_free; -+ PROXY_ENTRY_get_noproxy; -+ PROXY_ENTRY_new; -+ PROXY_ENTRY_set_server; -+ PROXY_add_noproxy; -+ PROXY_add_server; -+ PROXY_check_by_host; -+ PROXY_check_url; -+ PROXY_clear_noproxy; -+ PROXY_free; -+ PROXY_get_noproxy; -+ PROXY_get_proxies; -+ PROXY_get_proxy_entry; -+ PROXY_load_conf; -+ PROXY_new; -+ PROXY_print; -+ RAND_bytes; -+ RAND_cleanup; -+ RAND_file_name; -+ RAND_load_file; -+ RAND_screen; -+ RAND_seed; -+ RAND_write_file; -+ RC2_cbc_encrypt; -+ RC2_cfb64_encrypt; -+ RC2_ecb_encrypt; -+ RC2_encrypt; -+ RC2_ofb64_encrypt; -+ RC2_set_key; -+ RC4; -+ RC4_options; -+ RC4_set_key; -+ RSAPrivateKey_asn1_meth; -+ RSAPrivateKey_dup; -+ RSAPublicKey_dup; -+ RSA_PKCS1_SSLeay; -+ RSA_free; -+ RSA_generate_key; -+ RSA_new; -+ RSA_new_method; -+ RSA_print; -+ RSA_print_fp; -+ RSA_private_decrypt; -+ RSA_private_encrypt; -+ RSA_public_decrypt; -+ RSA_public_encrypt; -+ RSA_set_default_method; -+ RSA_sign; -+ RSA_sign_ASN1_OCTET_STRING; -+ RSA_size; -+ RSA_verify; -+ RSA_verify_ASN1_OCTET_STRING; -+ SHA; -+ SHA1; -+ SHA1_Final; -+ SHA1_Init; -+ SHA1_Update; -+ SHA_Final; -+ SHA_Init; -+ SHA_Update; -+ OpenSSL_add_all_algorithms; -+ OpenSSL_add_all_ciphers; -+ OpenSSL_add_all_digests; -+ TXT_DB_create_index; -+ TXT_DB_free; -+ TXT_DB_get_by_index; -+ TXT_DB_insert; -+ TXT_DB_read; -+ TXT_DB_write; -+ X509_ALGOR_free; -+ X509_ALGOR_new; -+ X509_ATTRIBUTE_free; -+ X509_ATTRIBUTE_new; -+ X509_CINF_free; -+ X509_CINF_new; -+ X509_CRL_INFO_free; -+ X509_CRL_INFO_new; -+ X509_CRL_add_ext; -+ X509_CRL_cmp; -+ X509_CRL_delete_ext; -+ X509_CRL_dup; -+ X509_CRL_free; -+ X509_CRL_get_ext; -+ X509_CRL_get_ext_by_NID; -+ X509_CRL_get_ext_by_OBJ; -+ X509_CRL_get_ext_by_critical; -+ X509_CRL_get_ext_count; -+ X509_CRL_new; -+ X509_CRL_sign; -+ X509_CRL_verify; -+ X509_EXTENSION_create_by_NID; -+ X509_EXTENSION_create_by_OBJ; -+ X509_EXTENSION_dup; -+ X509_EXTENSION_free; -+ X509_EXTENSION_get_critical; -+ X509_EXTENSION_get_data; -+ X509_EXTENSION_get_object; -+ X509_EXTENSION_new; -+ X509_EXTENSION_set_critical; -+ X509_EXTENSION_set_data; -+ X509_EXTENSION_set_object; -+ X509_INFO_free; -+ X509_INFO_new; -+ X509_LOOKUP_by_alias; -+ X509_LOOKUP_by_fingerprint; -+ X509_LOOKUP_by_issuer_serial; -+ X509_LOOKUP_by_subject; -+ X509_LOOKUP_ctrl; -+ X509_LOOKUP_file; -+ X509_LOOKUP_free; -+ X509_LOOKUP_hash_dir; -+ X509_LOOKUP_init; -+ X509_LOOKUP_new; -+ X509_LOOKUP_shutdown; -+ X509_NAME_ENTRY_create_by_NID; -+ X509_NAME_ENTRY_create_by_OBJ; -+ X509_NAME_ENTRY_dup; -+ X509_NAME_ENTRY_free; -+ X509_NAME_ENTRY_get_data; -+ X509_NAME_ENTRY_get_object; -+ X509_NAME_ENTRY_new; -+ X509_NAME_ENTRY_set_data; -+ X509_NAME_ENTRY_set_object; -+ X509_NAME_add_entry; -+ X509_NAME_cmp; -+ X509_NAME_delete_entry; -+ X509_NAME_digest; -+ X509_NAME_dup; -+ X509_NAME_entry_count; -+ X509_NAME_free; -+ X509_NAME_get_entry; -+ X509_NAME_get_index_by_NID; -+ X509_NAME_get_index_by_OBJ; -+ X509_NAME_get_text_by_NID; -+ X509_NAME_get_text_by_OBJ; -+ X509_NAME_hash; -+ X509_NAME_new; -+ X509_NAME_oneline; -+ X509_NAME_print; -+ X509_NAME_set; -+ X509_OBJECT_free_contents; -+ X509_OBJECT_retrieve_by_subject; -+ X509_OBJECT_up_ref_count; -+ X509_PKEY_free; -+ X509_PKEY_new; -+ X509_PUBKEY_free; -+ X509_PUBKEY_get; -+ X509_PUBKEY_new; -+ X509_PUBKEY_set; -+ X509_REQ_INFO_free; -+ X509_REQ_INFO_new; -+ X509_REQ_dup; -+ X509_REQ_free; -+ X509_REQ_get_pubkey; -+ X509_REQ_new; -+ X509_REQ_print; -+ X509_REQ_print_fp; -+ X509_REQ_set_pubkey; -+ X509_REQ_set_subject_name; -+ X509_REQ_set_version; -+ X509_REQ_sign; -+ X509_REQ_to_X509; -+ X509_REQ_verify; -+ X509_REVOKED_add_ext; -+ X509_REVOKED_delete_ext; -+ X509_REVOKED_free; -+ X509_REVOKED_get_ext; -+ X509_REVOKED_get_ext_by_NID; -+ X509_REVOKED_get_ext_by_OBJ; -+ X509_REVOKED_get_ext_by_critical; -+ X509_REVOKED_get_ext_by_critic; -+ X509_REVOKED_get_ext_count; -+ X509_REVOKED_new; -+ X509_SIG_free; -+ X509_SIG_new; -+ X509_STORE_CTX_cleanup; -+ X509_STORE_CTX_init; -+ X509_STORE_add_cert; -+ X509_STORE_add_lookup; -+ X509_STORE_free; -+ X509_STORE_get_by_subject; -+ X509_STORE_load_locations; -+ X509_STORE_new; -+ X509_STORE_set_default_paths; -+ X509_VAL_free; -+ X509_VAL_new; -+ X509_add_ext; -+ X509_asn1_meth; -+ X509_certificate_type; -+ X509_check_private_key; -+ X509_cmp_current_time; -+ X509_delete_ext; -+ X509_digest; -+ X509_dup; -+ X509_free; -+ X509_get_default_cert_area; -+ X509_get_default_cert_dir; -+ X509_get_default_cert_dir_env; -+ X509_get_default_cert_file; -+ X509_get_default_cert_file_env; -+ X509_get_default_private_dir; -+ X509_get_ext; -+ X509_get_ext_by_NID; -+ X509_get_ext_by_OBJ; -+ X509_get_ext_by_critical; -+ X509_get_ext_count; -+ X509_get_issuer_name; -+ X509_get_pubkey; -+ X509_get_pubkey_parameters; -+ X509_get_serialNumber; -+ X509_get_subject_name; -+ X509_gmtime_adj; -+ X509_issuer_and_serial_cmp; -+ X509_issuer_and_serial_hash; -+ X509_issuer_name_cmp; -+ X509_issuer_name_hash; -+ X509_load_cert_file; -+ X509_new; -+ X509_print; -+ X509_print_fp; -+ X509_set_issuer_name; -+ X509_set_notAfter; -+ X509_set_notBefore; -+ X509_set_pubkey; -+ X509_set_serialNumber; -+ X509_set_subject_name; -+ X509_set_version; -+ X509_sign; -+ X509_subject_name_cmp; -+ X509_subject_name_hash; -+ X509_to_X509_REQ; -+ X509_verify; -+ X509_verify_cert; -+ X509_verify_cert_error_string; -+ X509v3_add_ext; -+ X509v3_add_extension; -+ X509v3_add_netscape_extensions; -+ X509v3_add_standard_extensions; -+ X509v3_cleanup_extensions; -+ X509v3_data_type_by_NID; -+ X509v3_data_type_by_OBJ; -+ X509v3_delete_ext; -+ X509v3_get_ext; -+ X509v3_get_ext_by_NID; -+ X509v3_get_ext_by_OBJ; -+ X509v3_get_ext_by_critical; -+ X509v3_get_ext_count; -+ X509v3_pack_string; -+ X509v3_pack_type_by_NID; -+ X509v3_pack_type_by_OBJ; -+ X509v3_unpack_string; -+ _des_crypt; -+ a2d_ASN1_OBJECT; -+ a2i_ASN1_INTEGER; -+ a2i_ASN1_STRING; -+ asn1_Finish; -+ asn1_GetSequence; -+ bn_div_words; -+ bn_expand2; -+ bn_mul_add_words; -+ bn_mul_words; -+ BN_uadd; -+ BN_usub; -+ bn_sqr_words; -+ _ossl_old_crypt; -+ d2i_ASN1_BIT_STRING; -+ d2i_ASN1_BOOLEAN; -+ d2i_ASN1_HEADER; -+ d2i_ASN1_IA5STRING; -+ d2i_ASN1_INTEGER; -+ d2i_ASN1_OBJECT; -+ d2i_ASN1_OCTET_STRING; -+ d2i_ASN1_PRINTABLE; -+ d2i_ASN1_PRINTABLESTRING; -+ d2i_ASN1_SET; -+ d2i_ASN1_T61STRING; -+ d2i_ASN1_TYPE; -+ d2i_ASN1_UTCTIME; -+ d2i_ASN1_bytes; -+ d2i_ASN1_type_bytes; -+ d2i_DHparams; -+ d2i_DSAPrivateKey; -+ d2i_DSAPrivateKey_bio; -+ d2i_DSAPrivateKey_fp; -+ d2i_DSAPublicKey; -+ d2i_DSAparams; -+ d2i_NETSCAPE_SPKAC; -+ d2i_NETSCAPE_SPKI; -+ d2i_Netscape_RSA; -+ d2i_PKCS7; -+ d2i_PKCS7_DIGEST; -+ d2i_PKCS7_ENCRYPT; -+ d2i_PKCS7_ENC_CONTENT; -+ d2i_PKCS7_ENVELOPE; -+ d2i_PKCS7_ISSUER_AND_SERIAL; -+ d2i_PKCS7_RECIP_INFO; -+ d2i_PKCS7_SIGNED; -+ d2i_PKCS7_SIGNER_INFO; -+ d2i_PKCS7_SIGN_ENVELOPE; -+ d2i_PKCS7_bio; -+ d2i_PKCS7_fp; -+ d2i_PrivateKey; -+ d2i_PublicKey; -+ d2i_RSAPrivateKey; -+ d2i_RSAPrivateKey_bio; -+ d2i_RSAPrivateKey_fp; -+ d2i_RSAPublicKey; -+ d2i_X509; -+ d2i_X509_ALGOR; -+ d2i_X509_ATTRIBUTE; -+ d2i_X509_CINF; -+ d2i_X509_CRL; -+ d2i_X509_CRL_INFO; -+ d2i_X509_CRL_bio; -+ d2i_X509_CRL_fp; -+ d2i_X509_EXTENSION; -+ d2i_X509_NAME; -+ d2i_X509_NAME_ENTRY; -+ d2i_X509_PKEY; -+ d2i_X509_PUBKEY; -+ d2i_X509_REQ; -+ d2i_X509_REQ_INFO; -+ d2i_X509_REQ_bio; -+ d2i_X509_REQ_fp; -+ d2i_X509_REVOKED; -+ d2i_X509_SIG; -+ d2i_X509_VAL; -+ d2i_X509_bio; -+ d2i_X509_fp; -+ DES_cbc_cksum; -+ DES_cbc_encrypt; -+ DES_cblock_print_file; -+ DES_cfb64_encrypt; -+ DES_cfb_encrypt; -+ DES_decrypt3; -+ DES_ecb3_encrypt; -+ DES_ecb_encrypt; -+ DES_ede3_cbc_encrypt; -+ DES_ede3_cfb64_encrypt; -+ DES_ede3_ofb64_encrypt; -+ DES_enc_read; -+ DES_enc_write; -+ DES_encrypt1; -+ DES_encrypt2; -+ DES_encrypt3; -+ DES_fcrypt; -+ DES_is_weak_key; -+ DES_key_sched; -+ DES_ncbc_encrypt; -+ DES_ofb64_encrypt; -+ DES_ofb_encrypt; -+ DES_options; -+ DES_pcbc_encrypt; -+ DES_quad_cksum; -+ DES_random_key; -+ _ossl_old_des_random_seed; -+ _ossl_old_des_read_2passwords; -+ _ossl_old_des_read_password; -+ _ossl_old_des_read_pw; -+ _ossl_old_des_read_pw_string; -+ DES_set_key; -+ DES_set_odd_parity; -+ DES_string_to_2keys; -+ DES_string_to_key; -+ DES_xcbc_encrypt; -+ DES_xwhite_in2out; -+ fcrypt_body; -+ i2a_ASN1_INTEGER; -+ i2a_ASN1_OBJECT; -+ i2a_ASN1_STRING; -+ i2d_ASN1_BIT_STRING; -+ i2d_ASN1_BOOLEAN; -+ i2d_ASN1_HEADER; -+ i2d_ASN1_IA5STRING; -+ i2d_ASN1_INTEGER; -+ i2d_ASN1_OBJECT; -+ i2d_ASN1_OCTET_STRING; -+ i2d_ASN1_PRINTABLE; -+ i2d_ASN1_SET; -+ i2d_ASN1_TYPE; -+ i2d_ASN1_UTCTIME; -+ i2d_ASN1_bytes; -+ i2d_DHparams; -+ i2d_DSAPrivateKey; -+ i2d_DSAPrivateKey_bio; -+ i2d_DSAPrivateKey_fp; -+ i2d_DSAPublicKey; -+ i2d_DSAparams; -+ i2d_NETSCAPE_SPKAC; -+ i2d_NETSCAPE_SPKI; -+ i2d_Netscape_RSA; -+ i2d_PKCS7; -+ i2d_PKCS7_DIGEST; -+ i2d_PKCS7_ENCRYPT; -+ i2d_PKCS7_ENC_CONTENT; -+ i2d_PKCS7_ENVELOPE; -+ i2d_PKCS7_ISSUER_AND_SERIAL; -+ i2d_PKCS7_RECIP_INFO; -+ i2d_PKCS7_SIGNED; -+ i2d_PKCS7_SIGNER_INFO; -+ i2d_PKCS7_SIGN_ENVELOPE; -+ i2d_PKCS7_bio; -+ i2d_PKCS7_fp; -+ i2d_PrivateKey; -+ i2d_PublicKey; -+ i2d_RSAPrivateKey; -+ i2d_RSAPrivateKey_bio; -+ i2d_RSAPrivateKey_fp; -+ i2d_RSAPublicKey; -+ i2d_X509; -+ i2d_X509_ALGOR; -+ i2d_X509_ATTRIBUTE; -+ i2d_X509_CINF; -+ i2d_X509_CRL; -+ i2d_X509_CRL_INFO; -+ i2d_X509_CRL_bio; -+ i2d_X509_CRL_fp; -+ i2d_X509_EXTENSION; -+ i2d_X509_NAME; -+ i2d_X509_NAME_ENTRY; -+ i2d_X509_PKEY; -+ i2d_X509_PUBKEY; -+ i2d_X509_REQ; -+ i2d_X509_REQ_INFO; -+ i2d_X509_REQ_bio; -+ i2d_X509_REQ_fp; -+ i2d_X509_REVOKED; -+ i2d_X509_SIG; -+ i2d_X509_VAL; -+ i2d_X509_bio; -+ i2d_X509_fp; -+ idea_cbc_encrypt; -+ idea_cfb64_encrypt; -+ idea_ecb_encrypt; -+ idea_encrypt; -+ idea_ofb64_encrypt; -+ idea_options; -+ idea_set_decrypt_key; -+ idea_set_encrypt_key; -+ lh_delete; -+ lh_doall; -+ lh_doall_arg; -+ lh_free; -+ lh_insert; -+ lh_new; -+ lh_node_stats; -+ lh_node_stats_bio; -+ lh_node_usage_stats; -+ lh_node_usage_stats_bio; -+ lh_retrieve; -+ lh_stats; -+ lh_stats_bio; -+ lh_strhash; -+ sk_delete; -+ sk_delete_ptr; -+ sk_dup; -+ sk_find; -+ sk_free; -+ sk_insert; -+ sk_new; -+ sk_pop; -+ sk_pop_free; -+ sk_push; -+ sk_set_cmp_func; -+ sk_shift; -+ sk_unshift; -+ sk_zero; -+ BIO_f_nbio_test; -+ ASN1_TYPE_get; -+ ASN1_TYPE_set; -+ PKCS7_content_free; -+ ERR_load_PKCS7_strings; -+ X509_find_by_issuer_and_serial; -+ X509_find_by_subject; -+ PKCS7_ctrl; -+ PKCS7_set_type; -+ PKCS7_set_content; -+ PKCS7_SIGNER_INFO_set; -+ PKCS7_add_signer; -+ PKCS7_add_certificate; -+ PKCS7_add_crl; -+ PKCS7_content_new; -+ PKCS7_dataSign; -+ PKCS7_dataVerify; -+ PKCS7_dataInit; -+ PKCS7_add_signature; -+ PKCS7_cert_from_signer_info; -+ PKCS7_get_signer_info; -+ EVP_delete_alias; -+ EVP_mdc2; -+ PEM_read_bio_RSAPublicKey; -+ PEM_write_bio_RSAPublicKey; -+ d2i_RSAPublicKey_bio; -+ i2d_RSAPublicKey_bio; -+ PEM_read_RSAPublicKey; -+ PEM_write_RSAPublicKey; -+ d2i_RSAPublicKey_fp; -+ i2d_RSAPublicKey_fp; -+ BIO_copy_next_retry; -+ RSA_flags; -+ X509_STORE_add_crl; -+ X509_load_crl_file; -+ EVP_rc2_40_cbc; -+ EVP_rc4_40; -+ EVP_CIPHER_CTX_init; -+ HMAC; -+ HMAC_Init; -+ HMAC_Update; -+ HMAC_Final; -+ ERR_get_next_error_library; -+ EVP_PKEY_cmp_parameters; -+ HMAC_cleanup; -+ BIO_ptr_ctrl; -+ BIO_new_file_internal; -+ BIO_new_fp_internal; -+ BIO_s_file_internal; -+ BN_BLINDING_convert; -+ BN_BLINDING_invert; -+ BN_BLINDING_update; -+ RSA_blinding_on; -+ RSA_blinding_off; -+ i2t_ASN1_OBJECT; -+ BN_BLINDING_new; -+ BN_BLINDING_free; -+ EVP_cast5_cbc; -+ EVP_cast5_cfb64; -+ EVP_cast5_ecb; -+ EVP_cast5_ofb; -+ BF_decrypt; -+ CAST_set_key; -+ CAST_encrypt; -+ CAST_decrypt; -+ CAST_ecb_encrypt; -+ CAST_cbc_encrypt; -+ CAST_cfb64_encrypt; -+ CAST_ofb64_encrypt; -+ RC2_decrypt; -+ OBJ_create_objects; -+ BN_exp; -+ BN_mul_word; -+ BN_sub_word; -+ BN_dec2bn; -+ BN_bn2dec; -+ BIO_ghbn_ctrl; -+ CRYPTO_free_ex_data; -+ CRYPTO_get_ex_data; -+ CRYPTO_set_ex_data; -+ ERR_load_CRYPTO_strings; -+ ERR_load_CRYPTOlib_strings; -+ EVP_PKEY_bits; -+ MD5_Transform; -+ SHA1_Transform; -+ SHA_Transform; -+ X509_STORE_CTX_get_chain; -+ X509_STORE_CTX_get_current_cert; -+ X509_STORE_CTX_get_error; -+ X509_STORE_CTX_get_error_depth; -+ X509_STORE_CTX_get_ex_data; -+ X509_STORE_CTX_set_cert; -+ X509_STORE_CTX_set_chain; -+ X509_STORE_CTX_set_error; -+ X509_STORE_CTX_set_ex_data; -+ CRYPTO_dup_ex_data; -+ CRYPTO_get_new_lockid; -+ CRYPTO_new_ex_data; -+ RSA_set_ex_data; -+ RSA_get_ex_data; -+ RSA_get_ex_new_index; -+ RSA_padding_add_PKCS1_type_1; -+ RSA_padding_add_PKCS1_type_2; -+ RSA_padding_add_SSLv23; -+ RSA_padding_add_none; -+ RSA_padding_check_PKCS1_type_1; -+ RSA_padding_check_PKCS1_type_2; -+ RSA_padding_check_SSLv23; -+ RSA_padding_check_none; -+ bn_add_words; -+ d2i_Netscape_RSA_2; -+ CRYPTO_get_ex_new_index; -+ RIPEMD160_Init; -+ RIPEMD160_Update; -+ RIPEMD160_Final; -+ RIPEMD160; -+ RIPEMD160_Transform; -+ RC5_32_set_key; -+ RC5_32_ecb_encrypt; -+ RC5_32_encrypt; -+ RC5_32_decrypt; -+ RC5_32_cbc_encrypt; -+ RC5_32_cfb64_encrypt; -+ RC5_32_ofb64_encrypt; -+ BN_bn2mpi; -+ BN_mpi2bn; -+ ASN1_BIT_STRING_get_bit; -+ ASN1_BIT_STRING_set_bit; -+ BIO_get_ex_data; -+ BIO_get_ex_new_index; -+ BIO_set_ex_data; -+ X509v3_get_key_usage; -+ X509v3_set_key_usage; -+ a2i_X509v3_key_usage; -+ i2a_X509v3_key_usage; -+ EVP_PKEY_decrypt; -+ EVP_PKEY_encrypt; -+ PKCS7_RECIP_INFO_set; -+ PKCS7_add_recipient; -+ PKCS7_add_recipient_info; -+ PKCS7_set_cipher; -+ ASN1_TYPE_get_int_octetstring; -+ ASN1_TYPE_get_octetstring; -+ ASN1_TYPE_set_int_octetstring; -+ ASN1_TYPE_set_octetstring; -+ ASN1_UTCTIME_set_string; -+ ERR_add_error_data; -+ ERR_set_error_data; -+ EVP_CIPHER_asn1_to_param; -+ EVP_CIPHER_param_to_asn1; -+ EVP_CIPHER_get_asn1_iv; -+ EVP_CIPHER_set_asn1_iv; -+ EVP_rc5_32_12_16_cbc; -+ EVP_rc5_32_12_16_cfb64; -+ EVP_rc5_32_12_16_ecb; -+ EVP_rc5_32_12_16_ofb; -+ asn1_add_error; -+ d2i_ASN1_BMPSTRING; -+ i2d_ASN1_BMPSTRING; -+ BIO_f_ber; -+ BN_init; -+ COMP_CTX_new; -+ COMP_CTX_free; -+ COMP_CTX_compress_block; -+ COMP_CTX_expand_block; -+ X509_STORE_CTX_get_ex_new_index; -+ OBJ_NAME_add; -+ BIO_socket_nbio; -+ EVP_rc2_64_cbc; -+ OBJ_NAME_cleanup; -+ OBJ_NAME_get; -+ OBJ_NAME_init; -+ OBJ_NAME_new_index; -+ OBJ_NAME_remove; -+ BN_MONT_CTX_copy; -+ BIO_new_socks4a_connect; -+ BIO_s_socks4a_connect; -+ PROXY_set_connect_mode; -+ RAND_SSLeay; -+ RAND_set_rand_method; -+ RSA_memory_lock; -+ bn_sub_words; -+ bn_mul_normal; -+ bn_mul_comba8; -+ bn_mul_comba4; -+ bn_sqr_normal; -+ bn_sqr_comba8; -+ bn_sqr_comba4; -+ bn_cmp_words; -+ bn_mul_recursive; -+ bn_mul_part_recursive; -+ bn_sqr_recursive; -+ bn_mul_low_normal; -+ BN_RECP_CTX_init; -+ BN_RECP_CTX_new; -+ BN_RECP_CTX_free; -+ BN_RECP_CTX_set; -+ BN_mod_mul_reciprocal; -+ BN_mod_exp_recp; -+ BN_div_recp; -+ BN_CTX_init; -+ BN_MONT_CTX_init; -+ RAND_get_rand_method; -+ PKCS7_add_attribute; -+ PKCS7_add_signed_attribute; -+ PKCS7_digest_from_attributes; -+ PKCS7_get_attribute; -+ PKCS7_get_issuer_and_serial; -+ PKCS7_get_signed_attribute; -+ COMP_compress_block; -+ COMP_expand_block; -+ COMP_rle; -+ COMP_zlib; -+ ms_time_diff; -+ ms_time_new; -+ ms_time_free; -+ ms_time_cmp; -+ ms_time_get; -+ PKCS7_set_attributes; -+ PKCS7_set_signed_attributes; -+ X509_ATTRIBUTE_create; -+ X509_ATTRIBUTE_dup; -+ ASN1_GENERALIZEDTIME_check; -+ ASN1_GENERALIZEDTIME_print; -+ ASN1_GENERALIZEDTIME_set; -+ ASN1_GENERALIZEDTIME_set_string; -+ ASN1_TIME_print; -+ BASIC_CONSTRAINTS_free; -+ BASIC_CONSTRAINTS_new; -+ ERR_load_X509V3_strings; -+ NETSCAPE_CERT_SEQUENCE_free; -+ NETSCAPE_CERT_SEQUENCE_new; -+ OBJ_txt2obj; -+ PEM_read_NETSCAPE_CERT_SEQUENCE; -+ PEM_read_NS_CERT_SEQ; -+ PEM_read_bio_NETSCAPE_CERT_SEQUENCE; -+ PEM_read_bio_NS_CERT_SEQ; -+ PEM_write_NETSCAPE_CERT_SEQUENCE; -+ PEM_write_NS_CERT_SEQ; -+ PEM_write_bio_NETSCAPE_CERT_SEQUENCE; -+ PEM_write_bio_NS_CERT_SEQ; -+ X509V3_EXT_add; -+ X509V3_EXT_add_alias; -+ X509V3_EXT_add_conf; -+ X509V3_EXT_cleanup; -+ X509V3_EXT_conf; -+ X509V3_EXT_conf_nid; -+ X509V3_EXT_get; -+ X509V3_EXT_get_nid; -+ X509V3_EXT_print; -+ X509V3_EXT_print_fp; -+ X509V3_add_standard_extensions; -+ X509V3_add_value; -+ X509V3_add_value_bool; -+ X509V3_add_value_int; -+ X509V3_conf_free; -+ X509V3_get_value_bool; -+ X509V3_get_value_int; -+ X509V3_parse_list; -+ d2i_ASN1_GENERALIZEDTIME; -+ d2i_ASN1_TIME; -+ d2i_BASIC_CONSTRAINTS; -+ d2i_NETSCAPE_CERT_SEQUENCE; -+ d2i_ext_ku; -+ ext_ku_free; -+ ext_ku_new; -+ i2d_ASN1_GENERALIZEDTIME; -+ i2d_ASN1_TIME; -+ i2d_BASIC_CONSTRAINTS; -+ i2d_NETSCAPE_CERT_SEQUENCE; -+ i2d_ext_ku; -+ EVP_MD_CTX_copy; -+ i2d_ASN1_ENUMERATED; -+ d2i_ASN1_ENUMERATED; -+ ASN1_ENUMERATED_set; -+ ASN1_ENUMERATED_get; -+ BN_to_ASN1_ENUMERATED; -+ ASN1_ENUMERATED_to_BN; -+ i2a_ASN1_ENUMERATED; -+ a2i_ASN1_ENUMERATED; -+ i2d_GENERAL_NAME; -+ d2i_GENERAL_NAME; -+ GENERAL_NAME_new; -+ GENERAL_NAME_free; -+ GENERAL_NAMES_new; -+ GENERAL_NAMES_free; -+ d2i_GENERAL_NAMES; -+ i2d_GENERAL_NAMES; -+ i2v_GENERAL_NAMES; -+ i2s_ASN1_OCTET_STRING; -+ s2i_ASN1_OCTET_STRING; -+ X509V3_EXT_check_conf; -+ hex_to_string; -+ string_to_hex; -+ DES_ede3_cbcm_encrypt; -+ RSA_padding_add_PKCS1_OAEP; -+ RSA_padding_check_PKCS1_OAEP; -+ X509_CRL_print_fp; -+ X509_CRL_print; -+ i2v_GENERAL_NAME; -+ v2i_GENERAL_NAME; -+ i2d_PKEY_USAGE_PERIOD; -+ d2i_PKEY_USAGE_PERIOD; -+ PKEY_USAGE_PERIOD_new; -+ PKEY_USAGE_PERIOD_free; -+ v2i_GENERAL_NAMES; -+ i2s_ASN1_INTEGER; -+ X509V3_EXT_d2i; -+ name_cmp; -+ str_dup; -+ i2s_ASN1_ENUMERATED; -+ i2s_ASN1_ENUMERATED_TABLE; -+ BIO_s_log; -+ BIO_f_reliable; -+ PKCS7_dataFinal; -+ PKCS7_dataDecode; -+ X509V3_EXT_CRL_add_conf; -+ BN_set_params; -+ BN_get_params; -+ BIO_get_ex_num; -+ BIO_set_ex_free_func; -+ EVP_ripemd160; -+ ASN1_TIME_set; -+ i2d_AUTHORITY_KEYID; -+ d2i_AUTHORITY_KEYID; -+ AUTHORITY_KEYID_new; -+ AUTHORITY_KEYID_free; -+ ASN1_seq_unpack; -+ ASN1_seq_pack; -+ ASN1_unpack_string; -+ ASN1_pack_string; -+ PKCS12_pack_safebag; -+ PKCS12_MAKE_KEYBAG; -+ PKCS8_encrypt; -+ PKCS12_MAKE_SHKEYBAG; -+ PKCS12_pack_p7data; -+ PKCS12_pack_p7encdata; -+ PKCS12_add_localkeyid; -+ PKCS12_add_friendlyname_asc; -+ PKCS12_add_friendlyname_uni; -+ PKCS12_get_friendlyname; -+ PKCS12_pbe_crypt; -+ PKCS12_decrypt_d2i; -+ PKCS12_i2d_encrypt; -+ PKCS12_init; -+ PKCS12_key_gen_asc; -+ PKCS12_key_gen_uni; -+ PKCS12_gen_mac; -+ PKCS12_verify_mac; -+ PKCS12_set_mac; -+ PKCS12_setup_mac; -+ OPENSSL_asc2uni; -+ OPENSSL_uni2asc; -+ i2d_PKCS12_BAGS; -+ PKCS12_BAGS_new; -+ d2i_PKCS12_BAGS; -+ PKCS12_BAGS_free; -+ i2d_PKCS12; -+ d2i_PKCS12; -+ PKCS12_new; -+ PKCS12_free; -+ i2d_PKCS12_MAC_DATA; -+ PKCS12_MAC_DATA_new; -+ d2i_PKCS12_MAC_DATA; -+ PKCS12_MAC_DATA_free; -+ i2d_PKCS12_SAFEBAG; -+ PKCS12_SAFEBAG_new; -+ d2i_PKCS12_SAFEBAG; -+ PKCS12_SAFEBAG_free; -+ ERR_load_PKCS12_strings; -+ PKCS12_PBE_add; -+ PKCS8_add_keyusage; -+ PKCS12_get_attr_gen; -+ PKCS12_parse; -+ PKCS12_create; -+ i2d_PKCS12_bio; -+ i2d_PKCS12_fp; -+ d2i_PKCS12_bio; -+ d2i_PKCS12_fp; -+ i2d_PBEPARAM; -+ PBEPARAM_new; -+ d2i_PBEPARAM; -+ PBEPARAM_free; -+ i2d_PKCS8_PRIV_KEY_INFO; -+ PKCS8_PRIV_KEY_INFO_new; -+ d2i_PKCS8_PRIV_KEY_INFO; -+ PKCS8_PRIV_KEY_INFO_free; -+ EVP_PKCS82PKEY; -+ EVP_PKEY2PKCS8; -+ PKCS8_set_broken; -+ EVP_PBE_ALGOR_CipherInit; -+ EVP_PBE_alg_add; -+ PKCS5_pbe_set; -+ EVP_PBE_cleanup; -+ i2d_SXNET; -+ d2i_SXNET; -+ SXNET_new; -+ SXNET_free; -+ i2d_SXNETID; -+ d2i_SXNETID; -+ SXNETID_new; -+ SXNETID_free; -+ DSA_SIG_new; -+ DSA_SIG_free; -+ DSA_do_sign; -+ DSA_do_verify; -+ d2i_DSA_SIG; -+ i2d_DSA_SIG; -+ i2d_ASN1_VISIBLESTRING; -+ d2i_ASN1_VISIBLESTRING; -+ i2d_ASN1_UTF8STRING; -+ d2i_ASN1_UTF8STRING; -+ i2d_DIRECTORYSTRING; -+ d2i_DIRECTORYSTRING; -+ i2d_DISPLAYTEXT; -+ d2i_DISPLAYTEXT; -+ d2i_ASN1_SET_OF_X509; -+ i2d_ASN1_SET_OF_X509; -+ i2d_PBKDF2PARAM; -+ PBKDF2PARAM_new; -+ d2i_PBKDF2PARAM; -+ PBKDF2PARAM_free; -+ i2d_PBE2PARAM; -+ PBE2PARAM_new; -+ d2i_PBE2PARAM; -+ PBE2PARAM_free; -+ d2i_ASN1_SET_OF_GENERAL_NAME; -+ i2d_ASN1_SET_OF_GENERAL_NAME; -+ d2i_ASN1_SET_OF_SXNETID; -+ i2d_ASN1_SET_OF_SXNETID; -+ d2i_ASN1_SET_OF_POLICYQUALINFO; -+ i2d_ASN1_SET_OF_POLICYQUALINFO; -+ d2i_ASN1_SET_OF_POLICYINFO; -+ i2d_ASN1_SET_OF_POLICYINFO; -+ SXNET_add_id_asc; -+ SXNET_add_id_ulong; -+ SXNET_add_id_INTEGER; -+ SXNET_get_id_asc; -+ SXNET_get_id_ulong; -+ SXNET_get_id_INTEGER; -+ X509V3_set_conf_lhash; -+ i2d_CERTIFICATEPOLICIES; -+ CERTIFICATEPOLICIES_new; -+ CERTIFICATEPOLICIES_free; -+ d2i_CERTIFICATEPOLICIES; -+ i2d_POLICYINFO; -+ POLICYINFO_new; -+ d2i_POLICYINFO; -+ POLICYINFO_free; -+ i2d_POLICYQUALINFO; -+ POLICYQUALINFO_new; -+ d2i_POLICYQUALINFO; -+ POLICYQUALINFO_free; -+ i2d_USERNOTICE; -+ USERNOTICE_new; -+ d2i_USERNOTICE; -+ USERNOTICE_free; -+ i2d_NOTICEREF; -+ NOTICEREF_new; -+ d2i_NOTICEREF; -+ NOTICEREF_free; -+ X509V3_get_string; -+ X509V3_get_section; -+ X509V3_string_free; -+ X509V3_section_free; -+ X509V3_set_ctx; -+ s2i_ASN1_INTEGER; -+ CRYPTO_set_locked_mem_functions; -+ CRYPTO_get_locked_mem_functions; -+ CRYPTO_malloc_locked; -+ CRYPTO_free_locked; -+ BN_mod_exp2_mont; -+ ERR_get_error_line_data; -+ ERR_peek_error_line_data; -+ PKCS12_PBE_keyivgen; -+ X509_ALGOR_dup; -+ d2i_ASN1_SET_OF_DIST_POINT; -+ i2d_ASN1_SET_OF_DIST_POINT; -+ i2d_CRL_DIST_POINTS; -+ CRL_DIST_POINTS_new; -+ CRL_DIST_POINTS_free; -+ d2i_CRL_DIST_POINTS; -+ i2d_DIST_POINT; -+ DIST_POINT_new; -+ d2i_DIST_POINT; -+ DIST_POINT_free; -+ i2d_DIST_POINT_NAME; -+ DIST_POINT_NAME_new; -+ DIST_POINT_NAME_free; -+ d2i_DIST_POINT_NAME; -+ X509V3_add_value_uchar; -+ d2i_ASN1_SET_OF_X509_ATTRIBUTE; -+ i2d_ASN1_SET_OF_ASN1_TYPE; -+ d2i_ASN1_SET_OF_X509_EXTENSION; -+ d2i_ASN1_SET_OF_X509_NAME_ENTRY; -+ d2i_ASN1_SET_OF_ASN1_TYPE; -+ i2d_ASN1_SET_OF_X509_ATTRIBUTE; -+ i2d_ASN1_SET_OF_X509_EXTENSION; -+ i2d_ASN1_SET_OF_X509_NAME_ENTRY; -+ X509V3_EXT_i2d; -+ X509V3_EXT_val_prn; -+ X509V3_EXT_add_list; -+ EVP_CIPHER_type; -+ EVP_PBE_CipherInit; -+ X509V3_add_value_bool_nf; -+ d2i_ASN1_UINTEGER; -+ sk_value; -+ sk_num; -+ sk_set; -+ i2d_ASN1_SET_OF_X509_REVOKED; -+ sk_sort; -+ d2i_ASN1_SET_OF_X509_REVOKED; -+ i2d_ASN1_SET_OF_X509_ALGOR; -+ i2d_ASN1_SET_OF_X509_CRL; -+ d2i_ASN1_SET_OF_X509_ALGOR; -+ d2i_ASN1_SET_OF_X509_CRL; -+ i2d_ASN1_SET_OF_PKCS7_SIGNER_INFO; -+ i2d_ASN1_SET_OF_PKCS7_RECIP_INFO; -+ d2i_ASN1_SET_OF_PKCS7_SIGNER_INFO; -+ d2i_ASN1_SET_OF_PKCS7_RECIP_INFO; -+ PKCS5_PBE_add; -+ PEM_write_bio_PKCS8; -+ i2d_PKCS8_fp; -+ PEM_read_bio_PKCS8_PRIV_KEY_INFO; -+ PEM_read_bio_P8_PRIV_KEY_INFO; -+ d2i_PKCS8_bio; -+ d2i_PKCS8_PRIV_KEY_INFO_fp; -+ PEM_write_bio_PKCS8_PRIV_KEY_INFO; -+ PEM_write_bio_P8_PRIV_KEY_INFO; -+ PEM_read_PKCS8; -+ d2i_PKCS8_PRIV_KEY_INFO_bio; -+ d2i_PKCS8_fp; -+ PEM_write_PKCS8; -+ PEM_read_PKCS8_PRIV_KEY_INFO; -+ PEM_read_P8_PRIV_KEY_INFO; -+ PEM_read_bio_PKCS8; -+ PEM_write_PKCS8_PRIV_KEY_INFO; -+ PEM_write_P8_PRIV_KEY_INFO; -+ PKCS5_PBE_keyivgen; -+ i2d_PKCS8_bio; -+ i2d_PKCS8_PRIV_KEY_INFO_fp; -+ i2d_PKCS8_PRIV_KEY_INFO_bio; -+ BIO_s_bio; -+ PKCS5_pbe2_set; -+ PKCS5_PBKDF2_HMAC_SHA1; -+ PKCS5_v2_PBE_keyivgen; -+ PEM_write_bio_PKCS8PrivateKey; -+ PEM_write_PKCS8PrivateKey; -+ BIO_ctrl_get_read_request; -+ BIO_ctrl_pending; -+ BIO_ctrl_wpending; -+ BIO_new_bio_pair; -+ BIO_ctrl_get_write_guarantee; -+ CRYPTO_num_locks; -+ CONF_load_bio; -+ CONF_load_fp; -+ i2d_ASN1_SET_OF_ASN1_OBJECT; -+ d2i_ASN1_SET_OF_ASN1_OBJECT; -+ PKCS7_signatureVerify; -+ RSA_set_method; -+ RSA_get_method; -+ RSA_get_default_method; -+ RSA_check_key; -+ OBJ_obj2txt; -+ DSA_dup_DH; -+ X509_REQ_get_extensions; -+ X509_REQ_set_extension_nids; -+ BIO_nwrite; -+ X509_REQ_extension_nid; -+ BIO_nread; -+ X509_REQ_get_extension_nids; -+ BIO_nwrite0; -+ X509_REQ_add_extensions_nid; -+ BIO_nread0; -+ X509_REQ_add_extensions; -+ BIO_new_mem_buf; -+ DH_set_ex_data; -+ DH_set_method; -+ DSA_OpenSSL; -+ DH_get_ex_data; -+ DH_get_ex_new_index; -+ DSA_new_method; -+ DH_new_method; -+ DH_OpenSSL; -+ DSA_get_ex_new_index; -+ DH_get_default_method; -+ DSA_set_ex_data; -+ DH_set_default_method; -+ DSA_get_ex_data; -+ X509V3_EXT_REQ_add_conf; -+ NETSCAPE_SPKI_print; -+ NETSCAPE_SPKI_set_pubkey; -+ NETSCAPE_SPKI_b64_encode; -+ NETSCAPE_SPKI_get_pubkey; -+ NETSCAPE_SPKI_b64_decode; -+ UTF8_putc; -+ UTF8_getc; -+ RSA_null_method; -+ ASN1_tag2str; -+ BIO_ctrl_reset_read_request; -+ DISPLAYTEXT_new; -+ ASN1_GENERALIZEDTIME_free; -+ X509_REVOKED_get_ext_d2i; -+ X509_set_ex_data; -+ X509_reject_set_bit_asc; -+ X509_NAME_add_entry_by_txt; -+ X509_NAME_add_entry_by_NID; -+ X509_PURPOSE_get0; -+ PEM_read_X509_AUX; -+ d2i_AUTHORITY_INFO_ACCESS; -+ PEM_write_PUBKEY; -+ ACCESS_DESCRIPTION_new; -+ X509_CERT_AUX_free; -+ d2i_ACCESS_DESCRIPTION; -+ X509_trust_clear; -+ X509_TRUST_add; -+ ASN1_VISIBLESTRING_new; -+ X509_alias_set1; -+ ASN1_PRINTABLESTRING_free; -+ EVP_PKEY_get1_DSA; -+ ASN1_BMPSTRING_new; -+ ASN1_mbstring_copy; -+ ASN1_UTF8STRING_new; -+ DSA_get_default_method; -+ i2d_ASN1_SET_OF_ACCESS_DESCRIPTION; -+ ASN1_T61STRING_free; -+ DSA_set_method; -+ X509_get_ex_data; -+ ASN1_STRING_type; -+ X509_PURPOSE_get_by_sname; -+ ASN1_TIME_free; -+ ASN1_OCTET_STRING_cmp; -+ ASN1_BIT_STRING_new; -+ X509_get_ext_d2i; -+ PEM_read_bio_X509_AUX; -+ ASN1_STRING_set_default_mask_asc; -+ ASN1_STRING_set_def_mask_asc; -+ PEM_write_bio_RSA_PUBKEY; -+ ASN1_INTEGER_cmp; -+ d2i_RSA_PUBKEY_fp; -+ X509_trust_set_bit_asc; -+ PEM_write_bio_DSA_PUBKEY; -+ X509_STORE_CTX_free; -+ EVP_PKEY_set1_DSA; -+ i2d_DSA_PUBKEY_fp; -+ X509_load_cert_crl_file; -+ ASN1_TIME_new; -+ i2d_RSA_PUBKEY; -+ X509_STORE_CTX_purpose_inherit; -+ PEM_read_RSA_PUBKEY; -+ d2i_X509_AUX; -+ i2d_DSA_PUBKEY; -+ X509_CERT_AUX_print; -+ PEM_read_DSA_PUBKEY; -+ i2d_RSA_PUBKEY_bio; -+ ASN1_BIT_STRING_num_asc; -+ i2d_PUBKEY; -+ ASN1_UTCTIME_free; -+ DSA_set_default_method; -+ X509_PURPOSE_get_by_id; -+ ACCESS_DESCRIPTION_free; -+ PEM_read_bio_PUBKEY; -+ ASN1_STRING_set_by_NID; -+ X509_PURPOSE_get_id; -+ DISPLAYTEXT_free; -+ OTHERNAME_new; -+ X509_CERT_AUX_new; -+ X509_TRUST_cleanup; -+ X509_NAME_add_entry_by_OBJ; -+ X509_CRL_get_ext_d2i; -+ X509_PURPOSE_get0_name; -+ PEM_read_PUBKEY; -+ i2d_DSA_PUBKEY_bio; -+ i2d_OTHERNAME; -+ ASN1_OCTET_STRING_free; -+ ASN1_BIT_STRING_set_asc; -+ X509_get_ex_new_index; -+ ASN1_STRING_TABLE_cleanup; -+ X509_TRUST_get_by_id; -+ X509_PURPOSE_get_trust; -+ ASN1_STRING_length; -+ d2i_ASN1_SET_OF_ACCESS_DESCRIPTION; -+ ASN1_PRINTABLESTRING_new; -+ X509V3_get_d2i; -+ ASN1_ENUMERATED_free; -+ i2d_X509_CERT_AUX; -+ X509_STORE_CTX_set_trust; -+ ASN1_STRING_set_default_mask; -+ X509_STORE_CTX_new; -+ EVP_PKEY_get1_RSA; -+ DIRECTORYSTRING_free; -+ PEM_write_X509_AUX; -+ ASN1_OCTET_STRING_set; -+ d2i_DSA_PUBKEY_fp; -+ d2i_RSA_PUBKEY; -+ X509_TRUST_get0_name; -+ X509_TRUST_get0; -+ AUTHORITY_INFO_ACCESS_free; -+ ASN1_IA5STRING_new; -+ d2i_DSA_PUBKEY; -+ X509_check_purpose; -+ ASN1_ENUMERATED_new; -+ d2i_RSA_PUBKEY_bio; -+ d2i_PUBKEY; -+ X509_TRUST_get_trust; -+ X509_TRUST_get_flags; -+ ASN1_BMPSTRING_free; -+ ASN1_T61STRING_new; -+ ASN1_UTCTIME_new; -+ i2d_AUTHORITY_INFO_ACCESS; -+ EVP_PKEY_set1_RSA; -+ X509_STORE_CTX_set_purpose; -+ ASN1_IA5STRING_free; -+ PEM_write_bio_X509_AUX; -+ X509_PURPOSE_get_count; -+ CRYPTO_add_info; -+ X509_NAME_ENTRY_create_by_txt; -+ ASN1_STRING_get_default_mask; -+ X509_alias_get0; -+ ASN1_STRING_data; -+ i2d_ACCESS_DESCRIPTION; -+ X509_trust_set_bit; -+ ASN1_BIT_STRING_free; -+ PEM_read_bio_RSA_PUBKEY; -+ X509_add1_reject_object; -+ X509_check_trust; -+ PEM_read_bio_DSA_PUBKEY; -+ X509_PURPOSE_add; -+ ASN1_STRING_TABLE_get; -+ ASN1_UTF8STRING_free; -+ d2i_DSA_PUBKEY_bio; -+ PEM_write_RSA_PUBKEY; -+ d2i_OTHERNAME; -+ X509_reject_set_bit; -+ PEM_write_DSA_PUBKEY; -+ X509_PURPOSE_get0_sname; -+ EVP_PKEY_set1_DH; -+ ASN1_OCTET_STRING_dup; -+ ASN1_BIT_STRING_set; -+ X509_TRUST_get_count; -+ ASN1_INTEGER_free; -+ OTHERNAME_free; -+ i2d_RSA_PUBKEY_fp; -+ ASN1_INTEGER_dup; -+ d2i_X509_CERT_AUX; -+ PEM_write_bio_PUBKEY; -+ ASN1_VISIBLESTRING_free; -+ X509_PURPOSE_cleanup; -+ ASN1_mbstring_ncopy; -+ ASN1_GENERALIZEDTIME_new; -+ EVP_PKEY_get1_DH; -+ ASN1_OCTET_STRING_new; -+ ASN1_INTEGER_new; -+ i2d_X509_AUX; -+ ASN1_BIT_STRING_name_print; -+ X509_cmp; -+ ASN1_STRING_length_set; -+ DIRECTORYSTRING_new; -+ X509_add1_trust_object; -+ PKCS12_newpass; -+ SMIME_write_PKCS7; -+ SMIME_read_PKCS7; -+ DES_set_key_checked; -+ PKCS7_verify; -+ PKCS7_encrypt; -+ DES_set_key_unchecked; -+ SMIME_crlf_copy; -+ i2d_ASN1_PRINTABLESTRING; -+ PKCS7_get0_signers; -+ PKCS7_decrypt; -+ SMIME_text; -+ PKCS7_simple_smimecap; -+ PKCS7_get_smimecap; -+ PKCS7_sign; -+ PKCS7_add_attrib_smimecap; -+ CRYPTO_dbg_set_options; -+ CRYPTO_remove_all_info; -+ CRYPTO_get_mem_debug_functions; -+ CRYPTO_is_mem_check_on; -+ CRYPTO_set_mem_debug_functions; -+ CRYPTO_pop_info; -+ CRYPTO_push_info_; -+ CRYPTO_set_mem_debug_options; -+ PEM_write_PKCS8PrivateKey_nid; -+ PEM_write_bio_PKCS8PrivateKey_nid; -+ PEM_write_bio_PKCS8PrivKey_nid; -+ d2i_PKCS8PrivateKey_bio; -+ ASN1_NULL_free; -+ d2i_ASN1_NULL; -+ ASN1_NULL_new; -+ i2d_PKCS8PrivateKey_bio; -+ i2d_PKCS8PrivateKey_fp; -+ i2d_ASN1_NULL; -+ i2d_PKCS8PrivateKey_nid_fp; -+ d2i_PKCS8PrivateKey_fp; -+ i2d_PKCS8PrivateKey_nid_bio; -+ i2d_PKCS8PrivateKeyInfo_fp; -+ i2d_PKCS8PrivateKeyInfo_bio; -+ PEM_cb; -+ i2d_PrivateKey_fp; -+ d2i_PrivateKey_bio; -+ d2i_PrivateKey_fp; -+ i2d_PrivateKey_bio; -+ X509_reject_clear; -+ X509_TRUST_set_default; -+ d2i_AutoPrivateKey; -+ X509_ATTRIBUTE_get0_type; -+ X509_ATTRIBUTE_set1_data; -+ X509at_get_attr; -+ X509at_get_attr_count; -+ X509_ATTRIBUTE_create_by_NID; -+ X509_ATTRIBUTE_set1_object; -+ X509_ATTRIBUTE_count; -+ X509_ATTRIBUTE_create_by_OBJ; -+ X509_ATTRIBUTE_get0_object; -+ X509at_get_attr_by_NID; -+ X509at_add1_attr; -+ X509_ATTRIBUTE_get0_data; -+ X509at_delete_attr; -+ X509at_get_attr_by_OBJ; -+ RAND_add; -+ BIO_number_written; -+ BIO_number_read; -+ X509_STORE_CTX_get1_chain; -+ ERR_load_RAND_strings; -+ RAND_pseudo_bytes; -+ X509_REQ_get_attr_by_NID; -+ X509_REQ_get_attr; -+ X509_REQ_add1_attr_by_NID; -+ X509_REQ_get_attr_by_OBJ; -+ X509at_add1_attr_by_NID; -+ X509_REQ_add1_attr_by_OBJ; -+ X509_REQ_get_attr_count; -+ X509_REQ_add1_attr; -+ X509_REQ_delete_attr; -+ X509at_add1_attr_by_OBJ; -+ X509_REQ_add1_attr_by_txt; -+ X509_ATTRIBUTE_create_by_txt; -+ X509at_add1_attr_by_txt; -+ BN_pseudo_rand; -+ BN_is_prime_fasttest; -+ BN_CTX_end; -+ BN_CTX_start; -+ BN_CTX_get; -+ EVP_PKEY2PKCS8_broken; -+ ASN1_STRING_TABLE_add; -+ CRYPTO_dbg_get_options; -+ AUTHORITY_INFO_ACCESS_new; -+ CRYPTO_get_mem_debug_options; -+ DES_crypt; -+ PEM_write_bio_X509_REQ_NEW; -+ PEM_write_X509_REQ_NEW; -+ BIO_callback_ctrl; -+ RAND_egd; -+ RAND_status; -+ bn_dump1; -+ DES_check_key_parity; -+ lh_num_items; -+ RAND_event; -+ DSO_new; -+ DSO_new_method; -+ DSO_free; -+ DSO_flags; -+ DSO_up; -+ DSO_set_default_method; -+ DSO_get_default_method; -+ DSO_get_method; -+ DSO_set_method; -+ DSO_load; -+ DSO_bind_var; -+ DSO_METHOD_null; -+ DSO_METHOD_openssl; -+ DSO_METHOD_dlfcn; -+ DSO_METHOD_win32; -+ ERR_load_DSO_strings; -+ DSO_METHOD_dl; -+ NCONF_load; -+ NCONF_load_fp; -+ NCONF_new; -+ NCONF_get_string; -+ NCONF_free; -+ NCONF_get_number; -+ CONF_dump_fp; -+ NCONF_load_bio; -+ NCONF_dump_fp; -+ NCONF_get_section; -+ NCONF_dump_bio; -+ CONF_dump_bio; -+ NCONF_free_data; -+ CONF_set_default_method; -+ ERR_error_string_n; -+ BIO_snprintf; -+ DSO_ctrl; -+ i2d_ASN1_SET_OF_ASN1_INTEGER; -+ i2d_ASN1_SET_OF_PKCS12_SAFEBAG; -+ i2d_ASN1_SET_OF_PKCS7; -+ BIO_vfree; -+ d2i_ASN1_SET_OF_ASN1_INTEGER; -+ d2i_ASN1_SET_OF_PKCS12_SAFEBAG; -+ ASN1_UTCTIME_get; -+ X509_REQ_digest; -+ X509_CRL_digest; -+ d2i_ASN1_SET_OF_PKCS7; -+ EVP_CIPHER_CTX_set_key_length; -+ EVP_CIPHER_CTX_ctrl; -+ BN_mod_exp_mont_word; -+ RAND_egd_bytes; -+ X509_REQ_get1_email; -+ X509_get1_email; -+ X509_email_free; -+ i2d_RSA_NET; -+ d2i_RSA_NET_2; -+ d2i_RSA_NET; -+ DSO_bind_func; -+ CRYPTO_get_new_dynlockid; -+ sk_new_null; -+ CRYPTO_set_dynlock_destroy_callback; -+ CRYPTO_set_dynlock_destroy_cb; -+ CRYPTO_destroy_dynlockid; -+ CRYPTO_set_dynlock_size; -+ CRYPTO_set_dynlock_create_callback; -+ CRYPTO_set_dynlock_create_cb; -+ CRYPTO_set_dynlock_lock_callback; -+ CRYPTO_set_dynlock_lock_cb; -+ CRYPTO_get_dynlock_lock_callback; -+ CRYPTO_get_dynlock_lock_cb; -+ CRYPTO_get_dynlock_destroy_callback; -+ CRYPTO_get_dynlock_destroy_cb; -+ CRYPTO_get_dynlock_value; -+ CRYPTO_get_dynlock_create_callback; -+ CRYPTO_get_dynlock_create_cb; -+ c2i_ASN1_BIT_STRING; -+ i2c_ASN1_BIT_STRING; -+ RAND_poll; -+ c2i_ASN1_INTEGER; -+ i2c_ASN1_INTEGER; -+ BIO_dump_indent; -+ ASN1_parse_dump; -+ c2i_ASN1_OBJECT; -+ X509_NAME_print_ex_fp; -+ ASN1_STRING_print_ex_fp; -+ X509_NAME_print_ex; -+ ASN1_STRING_print_ex; -+ MD4; -+ MD4_Transform; -+ MD4_Final; -+ MD4_Update; -+ MD4_Init; -+ EVP_md4; -+ i2d_PUBKEY_bio; -+ i2d_PUBKEY_fp; -+ d2i_PUBKEY_bio; -+ ASN1_STRING_to_UTF8; -+ BIO_vprintf; -+ BIO_vsnprintf; -+ d2i_PUBKEY_fp; -+ X509_cmp_time; -+ X509_STORE_CTX_set_time; -+ X509_STORE_CTX_get1_issuer; -+ X509_OBJECT_retrieve_match; -+ X509_OBJECT_idx_by_subject; -+ X509_STORE_CTX_set_flags; -+ X509_STORE_CTX_trusted_stack; -+ X509_time_adj; -+ X509_check_issued; -+ ASN1_UTCTIME_cmp_time_t; -+ DES_set_weak_key_flag; -+ DES_check_key; -+ DES_rw_mode; -+ RSA_PKCS1_RSAref; -+ X509_keyid_set1; -+ BIO_next; -+ DSO_METHOD_vms; -+ BIO_f_linebuffer; -+ BN_bntest_rand; -+ OPENSSL_issetugid; -+ BN_rand_range; -+ ERR_load_ENGINE_strings; -+ ENGINE_set_DSA; -+ ENGINE_get_finish_function; -+ ENGINE_get_default_RSA; -+ ENGINE_get_BN_mod_exp; -+ DSA_get_default_openssl_method; -+ ENGINE_set_DH; -+ ENGINE_set_def_BN_mod_exp_crt; -+ ENGINE_set_default_BN_mod_exp_crt; -+ ENGINE_init; -+ DH_get_default_openssl_method; -+ RSA_set_default_openssl_method; -+ ENGINE_finish; -+ ENGINE_load_public_key; -+ ENGINE_get_DH; -+ ENGINE_ctrl; -+ ENGINE_get_init_function; -+ ENGINE_set_init_function; -+ ENGINE_set_default_DSA; -+ ENGINE_get_name; -+ ENGINE_get_last; -+ ENGINE_get_prev; -+ ENGINE_get_default_DH; -+ ENGINE_get_RSA; -+ ENGINE_set_default; -+ ENGINE_get_RAND; -+ ENGINE_get_first; -+ ENGINE_by_id; -+ ENGINE_set_finish_function; -+ ENGINE_get_def_BN_mod_exp_crt; -+ ENGINE_get_default_BN_mod_exp_crt; -+ RSA_get_default_openssl_method; -+ ENGINE_set_RSA; -+ ENGINE_load_private_key; -+ ENGINE_set_default_RAND; -+ ENGINE_set_BN_mod_exp; -+ ENGINE_remove; -+ ENGINE_free; -+ ENGINE_get_BN_mod_exp_crt; -+ ENGINE_get_next; -+ ENGINE_set_name; -+ ENGINE_get_default_DSA; -+ ENGINE_set_default_BN_mod_exp; -+ ENGINE_set_default_RSA; -+ ENGINE_get_default_RAND; -+ ENGINE_get_default_BN_mod_exp; -+ ENGINE_set_RAND; -+ ENGINE_set_id; -+ ENGINE_set_BN_mod_exp_crt; -+ ENGINE_set_default_DH; -+ ENGINE_new; -+ ENGINE_get_id; -+ DSA_set_default_openssl_method; -+ ENGINE_add; -+ DH_set_default_openssl_method; -+ ENGINE_get_DSA; -+ ENGINE_get_ctrl_function; -+ ENGINE_set_ctrl_function; -+ BN_pseudo_rand_range; -+ X509_STORE_CTX_set_verify_cb; -+ ERR_load_COMP_strings; -+ PKCS12_item_decrypt_d2i; -+ ASN1_UTF8STRING_it; -+ ENGINE_unregister_ciphers; -+ ENGINE_get_ciphers; -+ d2i_OCSP_BASICRESP; -+ KRB5_CHECKSUM_it; -+ EC_POINT_add; -+ ASN1_item_ex_i2d; -+ OCSP_CERTID_it; -+ d2i_OCSP_RESPBYTES; -+ X509V3_add1_i2d; -+ PKCS7_ENVELOPE_it; -+ UI_add_input_boolean; -+ ENGINE_unregister_RSA; -+ X509V3_EXT_nconf; -+ ASN1_GENERALSTRING_free; -+ d2i_OCSP_CERTSTATUS; -+ X509_REVOKED_set_serialNumber; -+ X509_print_ex; -+ OCSP_ONEREQ_get1_ext_d2i; -+ ENGINE_register_all_RAND; -+ ENGINE_load_dynamic; -+ PBKDF2PARAM_it; -+ EXTENDED_KEY_USAGE_new; -+ EC_GROUP_clear_free; -+ OCSP_sendreq_bio; -+ ASN1_item_digest; -+ OCSP_BASICRESP_delete_ext; -+ OCSP_SIGNATURE_it; -+ X509_CRL_it; -+ OCSP_BASICRESP_add_ext; -+ KRB5_ENCKEY_it; -+ UI_method_set_closer; -+ X509_STORE_set_purpose; -+ i2d_ASN1_GENERALSTRING; -+ OCSP_response_status; -+ i2d_OCSP_SERVICELOC; -+ ENGINE_get_digest_engine; -+ EC_GROUP_set_curve_GFp; -+ OCSP_REQUEST_get_ext_by_OBJ; -+ _ossl_old_des_random_key; -+ ASN1_T61STRING_it; -+ EC_GROUP_method_of; -+ i2d_KRB5_APREQ; -+ _ossl_old_des_encrypt; -+ ASN1_PRINTABLE_new; -+ HMAC_Init_ex; -+ d2i_KRB5_AUTHENT; -+ OCSP_archive_cutoff_new; -+ EC_POINT_set_Jprojective_coordinates_GFp; -+ EC_POINT_set_Jproj_coords_GFp; -+ _ossl_old_des_is_weak_key; -+ OCSP_BASICRESP_get_ext_by_OBJ; -+ EC_POINT_oct2point; -+ OCSP_SINGLERESP_get_ext_count; -+ UI_ctrl; -+ _shadow_DES_rw_mode; -+ asn1_do_adb; -+ ASN1_template_i2d; -+ ENGINE_register_DH; -+ UI_construct_prompt; -+ X509_STORE_set_trust; -+ UI_dup_input_string; -+ d2i_KRB5_APREQ; -+ EVP_MD_CTX_copy_ex; -+ OCSP_request_is_signed; -+ i2d_OCSP_REQINFO; -+ KRB5_ENCKEY_free; -+ OCSP_resp_get0; -+ GENERAL_NAME_it; -+ ASN1_GENERALIZEDTIME_it; -+ X509_STORE_set_flags; -+ EC_POINT_set_compressed_coordinates_GFp; -+ EC_POINT_set_compr_coords_GFp; -+ OCSP_response_status_str; -+ d2i_OCSP_REVOKEDINFO; -+ OCSP_basic_add1_cert; -+ ERR_get_implementation; -+ EVP_CipherFinal_ex; -+ OCSP_CERTSTATUS_new; -+ CRYPTO_cleanup_all_ex_data; -+ OCSP_resp_find; -+ BN_nnmod; -+ X509_CRL_sort; -+ X509_REVOKED_set_revocationDate; -+ ENGINE_register_RAND; -+ OCSP_SERVICELOC_new; -+ EC_POINT_set_affine_coordinates_GFp; -+ EC_POINT_set_affine_coords_GFp; -+ _ossl_old_des_options; -+ SXNET_it; -+ UI_dup_input_boolean; -+ PKCS12_add_CSPName_asc; -+ EC_POINT_is_at_infinity; -+ ENGINE_load_cryptodev; -+ DSO_convert_filename; -+ POLICYQUALINFO_it; -+ ENGINE_register_ciphers; -+ BN_mod_lshift_quick; -+ DSO_set_filename; -+ ASN1_item_free; -+ KRB5_TKTBODY_free; -+ AUTHORITY_KEYID_it; -+ KRB5_APREQBODY_new; -+ X509V3_EXT_REQ_add_nconf; -+ ENGINE_ctrl_cmd_string; -+ i2d_OCSP_RESPDATA; -+ EVP_MD_CTX_init; -+ EXTENDED_KEY_USAGE_free; -+ PKCS7_ATTR_SIGN_it; -+ UI_add_error_string; -+ KRB5_CHECKSUM_free; -+ OCSP_REQUEST_get_ext; -+ ENGINE_load_ubsec; -+ ENGINE_register_all_digests; -+ PKEY_USAGE_PERIOD_it; -+ PKCS12_unpack_authsafes; -+ ASN1_item_unpack; -+ NETSCAPE_SPKAC_it; -+ X509_REVOKED_it; -+ ASN1_STRING_encode; -+ EVP_aes_128_ecb; -+ KRB5_AUTHENT_free; -+ OCSP_BASICRESP_get_ext_by_critical; -+ OCSP_BASICRESP_get_ext_by_crit; -+ OCSP_cert_status_str; -+ d2i_OCSP_REQUEST; -+ UI_dup_info_string; -+ _ossl_old_des_xwhite_in2out; -+ PKCS12_it; -+ OCSP_SINGLERESP_get_ext_by_critical; -+ OCSP_SINGLERESP_get_ext_by_crit; -+ OCSP_CERTSTATUS_free; -+ _ossl_old_des_crypt; -+ ASN1_item_i2d; -+ EVP_DecryptFinal_ex; -+ ENGINE_load_openssl; -+ ENGINE_get_cmd_defns; -+ ENGINE_set_load_privkey_function; -+ ENGINE_set_load_privkey_fn; -+ EVP_EncryptFinal_ex; -+ ENGINE_set_default_digests; -+ X509_get0_pubkey_bitstr; -+ asn1_ex_i2c; -+ ENGINE_register_RSA; -+ ENGINE_unregister_DSA; -+ _ossl_old_des_key_sched; -+ X509_EXTENSION_it; -+ i2d_KRB5_AUTHENT; -+ SXNETID_it; -+ d2i_OCSP_SINGLERESP; -+ EDIPARTYNAME_new; -+ PKCS12_certbag2x509; -+ _ossl_old_des_ofb64_encrypt; -+ d2i_EXTENDED_KEY_USAGE; -+ ERR_print_errors_cb; -+ ENGINE_set_ciphers; -+ d2i_KRB5_APREQBODY; -+ UI_method_get_flusher; -+ X509_PUBKEY_it; -+ _ossl_old_des_enc_read; -+ PKCS7_ENCRYPT_it; -+ i2d_OCSP_RESPONSE; -+ EC_GROUP_get_cofactor; -+ PKCS12_unpack_p7data; -+ d2i_KRB5_AUTHDATA; -+ OCSP_copy_nonce; -+ KRB5_AUTHDATA_new; -+ OCSP_RESPDATA_new; -+ EC_GFp_mont_method; -+ OCSP_REVOKEDINFO_free; -+ UI_get_ex_data; -+ KRB5_APREQBODY_free; -+ EC_GROUP_get0_generator; -+ UI_get_default_method; -+ X509V3_set_nconf; -+ PKCS12_item_i2d_encrypt; -+ X509_add1_ext_i2d; -+ PKCS7_SIGNER_INFO_it; -+ KRB5_PRINCNAME_new; -+ PKCS12_SAFEBAG_it; -+ EC_GROUP_get_order; -+ d2i_OCSP_RESPID; -+ OCSP_request_verify; -+ NCONF_get_number_e; -+ _ossl_old_des_decrypt3; -+ X509_signature_print; -+ OCSP_SINGLERESP_free; -+ ENGINE_load_builtin_engines; -+ i2d_OCSP_ONEREQ; -+ OCSP_REQUEST_add_ext; -+ OCSP_RESPBYTES_new; -+ EVP_MD_CTX_create; -+ OCSP_resp_find_status; -+ X509_ALGOR_it; -+ ASN1_TIME_it; -+ OCSP_request_set1_name; -+ OCSP_ONEREQ_get_ext_count; -+ UI_get0_result; -+ PKCS12_AUTHSAFES_it; -+ EVP_aes_256_ecb; -+ PKCS12_pack_authsafes; -+ ASN1_IA5STRING_it; -+ UI_get_input_flags; -+ EC_GROUP_set_generator; -+ _ossl_old_des_string_to_2keys; -+ OCSP_CERTID_free; -+ X509_CERT_AUX_it; -+ CERTIFICATEPOLICIES_it; -+ _ossl_old_des_ede3_cbc_encrypt; -+ RAND_set_rand_engine; -+ DSO_get_loaded_filename; -+ X509_ATTRIBUTE_it; -+ OCSP_ONEREQ_get_ext_by_NID; -+ PKCS12_decrypt_skey; -+ KRB5_AUTHENT_it; -+ UI_dup_error_string; -+ RSAPublicKey_it; -+ i2d_OCSP_REQUEST; -+ PKCS12_x509crl2certbag; -+ OCSP_SERVICELOC_it; -+ ASN1_item_sign; -+ X509_CRL_set_issuer_name; -+ OBJ_NAME_do_all_sorted; -+ i2d_OCSP_BASICRESP; -+ i2d_OCSP_RESPBYTES; -+ PKCS12_unpack_p7encdata; -+ HMAC_CTX_init; -+ ENGINE_get_digest; -+ OCSP_RESPONSE_print; -+ KRB5_TKTBODY_it; -+ ACCESS_DESCRIPTION_it; -+ PKCS7_ISSUER_AND_SERIAL_it; -+ PBE2PARAM_it; -+ PKCS12_certbag2x509crl; -+ PKCS7_SIGNED_it; -+ ENGINE_get_cipher; -+ i2d_OCSP_CRLID; -+ OCSP_SINGLERESP_new; -+ ENGINE_cmd_is_executable; -+ RSA_up_ref; -+ ASN1_GENERALSTRING_it; -+ ENGINE_register_DSA; -+ X509V3_EXT_add_nconf_sk; -+ ENGINE_set_load_pubkey_function; -+ PKCS8_decrypt; -+ PEM_bytes_read_bio; -+ DIRECTORYSTRING_it; -+ d2i_OCSP_CRLID; -+ EC_POINT_is_on_curve; -+ CRYPTO_set_locked_mem_ex_functions; -+ CRYPTO_set_locked_mem_ex_funcs; -+ d2i_KRB5_CHECKSUM; -+ ASN1_item_dup; -+ X509_it; -+ BN_mod_add; -+ KRB5_AUTHDATA_free; -+ _ossl_old_des_cbc_cksum; -+ ASN1_item_verify; -+ CRYPTO_set_mem_ex_functions; -+ EC_POINT_get_Jprojective_coordinates_GFp; -+ EC_POINT_get_Jproj_coords_GFp; -+ ZLONG_it; -+ CRYPTO_get_locked_mem_ex_functions; -+ CRYPTO_get_locked_mem_ex_funcs; -+ ASN1_TIME_check; -+ UI_get0_user_data; -+ HMAC_CTX_cleanup; -+ DSA_up_ref; -+ _ossl_old_des_ede3_cfb64_encrypt; -+ _ossl_odes_ede3_cfb64_encrypt; -+ ASN1_BMPSTRING_it; -+ ASN1_tag2bit; -+ UI_method_set_flusher; -+ X509_ocspid_print; -+ KRB5_ENCDATA_it; -+ ENGINE_get_load_pubkey_function; -+ UI_add_user_data; -+ OCSP_REQUEST_delete_ext; -+ UI_get_method; -+ OCSP_ONEREQ_free; -+ ASN1_PRINTABLESTRING_it; -+ X509_CRL_set_nextUpdate; -+ OCSP_REQUEST_it; -+ OCSP_BASICRESP_it; -+ AES_ecb_encrypt; -+ BN_mod_sqr; -+ NETSCAPE_CERT_SEQUENCE_it; -+ GENERAL_NAMES_it; -+ AUTHORITY_INFO_ACCESS_it; -+ ASN1_FBOOLEAN_it; -+ UI_set_ex_data; -+ _ossl_old_des_string_to_key; -+ ENGINE_register_all_RSA; -+ d2i_KRB5_PRINCNAME; -+ OCSP_RESPBYTES_it; -+ X509_CINF_it; -+ ENGINE_unregister_digests; -+ d2i_EDIPARTYNAME; -+ d2i_OCSP_SERVICELOC; -+ ENGINE_get_digests; -+ _ossl_old_des_set_odd_parity; -+ OCSP_RESPDATA_free; -+ d2i_KRB5_TICKET; -+ OTHERNAME_it; -+ EVP_MD_CTX_cleanup; -+ d2i_ASN1_GENERALSTRING; -+ X509_CRL_set_version; -+ BN_mod_sub; -+ OCSP_SINGLERESP_get_ext_by_NID; -+ ENGINE_get_ex_new_index; -+ OCSP_REQUEST_free; -+ OCSP_REQUEST_add1_ext_i2d; -+ X509_VAL_it; -+ EC_POINTs_make_affine; -+ EC_POINT_mul; -+ X509V3_EXT_add_nconf; -+ X509_TRUST_set; -+ X509_CRL_add1_ext_i2d; -+ _ossl_old_des_fcrypt; -+ DISPLAYTEXT_it; -+ X509_CRL_set_lastUpdate; -+ OCSP_BASICRESP_free; -+ OCSP_BASICRESP_add1_ext_i2d; -+ d2i_KRB5_AUTHENTBODY; -+ CRYPTO_set_ex_data_implementation; -+ CRYPTO_set_ex_data_impl; -+ KRB5_ENCDATA_new; -+ DSO_up_ref; -+ OCSP_crl_reason_str; -+ UI_get0_result_string; -+ ASN1_GENERALSTRING_new; -+ X509_SIG_it; -+ ERR_set_implementation; -+ ERR_load_EC_strings; -+ UI_get0_action_string; -+ OCSP_ONEREQ_get_ext; -+ EC_POINT_method_of; -+ i2d_KRB5_APREQBODY; -+ _ossl_old_des_ecb3_encrypt; -+ CRYPTO_get_mem_ex_functions; -+ ENGINE_get_ex_data; -+ UI_destroy_method; -+ ASN1_item_i2d_bio; -+ OCSP_ONEREQ_get_ext_by_OBJ; -+ ASN1_primitive_new; -+ ASN1_PRINTABLE_it; -+ EVP_aes_192_ecb; -+ OCSP_SIGNATURE_new; -+ LONG_it; -+ ASN1_VISIBLESTRING_it; -+ OCSP_SINGLERESP_add1_ext_i2d; -+ d2i_OCSP_CERTID; -+ ASN1_item_d2i_fp; -+ CRL_DIST_POINTS_it; -+ GENERAL_NAME_print; -+ OCSP_SINGLERESP_delete_ext; -+ PKCS12_SAFEBAGS_it; -+ d2i_OCSP_SIGNATURE; -+ OCSP_request_add1_nonce; -+ ENGINE_set_cmd_defns; -+ OCSP_SERVICELOC_free; -+ EC_GROUP_free; -+ ASN1_BIT_STRING_it; -+ X509_REQ_it; -+ _ossl_old_des_cbc_encrypt; -+ ERR_unload_strings; -+ PKCS7_SIGN_ENVELOPE_it; -+ EDIPARTYNAME_free; -+ OCSP_REQINFO_free; -+ EC_GROUP_new_curve_GFp; -+ OCSP_REQUEST_get1_ext_d2i; -+ PKCS12_item_pack_safebag; -+ asn1_ex_c2i; -+ ENGINE_register_digests; -+ i2d_OCSP_REVOKEDINFO; -+ asn1_enc_restore; -+ UI_free; -+ UI_new_method; -+ EVP_EncryptInit_ex; -+ X509_pubkey_digest; -+ EC_POINT_invert; -+ OCSP_basic_sign; -+ i2d_OCSP_RESPID; -+ OCSP_check_nonce; -+ ENGINE_ctrl_cmd; -+ d2i_KRB5_ENCKEY; -+ OCSP_parse_url; -+ OCSP_SINGLERESP_get_ext; -+ OCSP_CRLID_free; -+ OCSP_BASICRESP_get1_ext_d2i; -+ RSAPrivateKey_it; -+ ENGINE_register_all_DH; -+ i2d_EDIPARTYNAME; -+ EC_POINT_get_affine_coordinates_GFp; -+ EC_POINT_get_affine_coords_GFp; -+ OCSP_CRLID_new; -+ ENGINE_get_flags; -+ OCSP_ONEREQ_it; -+ UI_process; -+ ASN1_INTEGER_it; -+ EVP_CipherInit_ex; -+ UI_get_string_type; -+ ENGINE_unregister_DH; -+ ENGINE_register_all_DSA; -+ OCSP_ONEREQ_get_ext_by_critical; -+ bn_dup_expand; -+ OCSP_cert_id_new; -+ BASIC_CONSTRAINTS_it; -+ BN_mod_add_quick; -+ EC_POINT_new; -+ EVP_MD_CTX_destroy; -+ OCSP_RESPBYTES_free; -+ EVP_aes_128_cbc; -+ OCSP_SINGLERESP_get1_ext_d2i; -+ EC_POINT_free; -+ DH_up_ref; -+ X509_NAME_ENTRY_it; -+ UI_get_ex_new_index; -+ BN_mod_sub_quick; -+ OCSP_ONEREQ_add_ext; -+ OCSP_request_sign; -+ EVP_DigestFinal_ex; -+ ENGINE_set_digests; -+ OCSP_id_issuer_cmp; -+ OBJ_NAME_do_all; -+ EC_POINTs_mul; -+ ENGINE_register_complete; -+ X509V3_EXT_nconf_nid; -+ ASN1_SEQUENCE_it; -+ UI_set_default_method; -+ RAND_query_egd_bytes; -+ UI_method_get_writer; -+ UI_OpenSSL; -+ PEM_def_callback; -+ ENGINE_cleanup; -+ DIST_POINT_it; -+ OCSP_SINGLERESP_it; -+ d2i_KRB5_TKTBODY; -+ EC_POINT_cmp; -+ OCSP_REVOKEDINFO_new; -+ i2d_OCSP_CERTSTATUS; -+ OCSP_basic_add1_nonce; -+ ASN1_item_ex_d2i; -+ BN_mod_lshift1_quick; -+ UI_set_method; -+ OCSP_id_get0_info; -+ BN_mod_sqrt; -+ EC_GROUP_copy; -+ KRB5_ENCDATA_free; -+ _ossl_old_des_cfb_encrypt; -+ OCSP_SINGLERESP_get_ext_by_OBJ; -+ OCSP_cert_to_id; -+ OCSP_RESPID_new; -+ OCSP_RESPDATA_it; -+ d2i_OCSP_RESPDATA; -+ ENGINE_register_all_complete; -+ OCSP_check_validity; -+ PKCS12_BAGS_it; -+ OCSP_url_svcloc_new; -+ ASN1_template_free; -+ OCSP_SINGLERESP_add_ext; -+ KRB5_AUTHENTBODY_it; -+ X509_supported_extension; -+ i2d_KRB5_AUTHDATA; -+ UI_method_get_opener; -+ ENGINE_set_ex_data; -+ OCSP_REQUEST_print; -+ CBIGNUM_it; -+ KRB5_TICKET_new; -+ KRB5_APREQ_new; -+ EC_GROUP_get_curve_GFp; -+ KRB5_ENCKEY_new; -+ ASN1_template_d2i; -+ _ossl_old_des_quad_cksum; -+ OCSP_single_get0_status; -+ BN_swap; -+ POLICYINFO_it; -+ ENGINE_set_destroy_function; -+ asn1_enc_free; -+ OCSP_RESPID_it; -+ EC_GROUP_new; -+ EVP_aes_256_cbc; -+ i2d_KRB5_PRINCNAME; -+ _ossl_old_des_encrypt2; -+ _ossl_old_des_encrypt3; -+ PKCS8_PRIV_KEY_INFO_it; -+ OCSP_REQINFO_it; -+ PBEPARAM_it; -+ KRB5_AUTHENTBODY_new; -+ X509_CRL_add0_revoked; -+ EDIPARTYNAME_it; -+ NETSCAPE_SPKI_it; -+ UI_get0_test_string; -+ ENGINE_get_cipher_engine; -+ ENGINE_register_all_ciphers; -+ EC_POINT_copy; -+ BN_kronecker; -+ _ossl_old_des_ede3_ofb64_encrypt; -+ _ossl_odes_ede3_ofb64_encrypt; -+ UI_method_get_reader; -+ OCSP_BASICRESP_get_ext_count; -+ ASN1_ENUMERATED_it; -+ UI_set_result; -+ i2d_KRB5_TICKET; -+ X509_print_ex_fp; -+ EVP_CIPHER_CTX_set_padding; -+ d2i_OCSP_RESPONSE; -+ ASN1_UTCTIME_it; -+ _ossl_old_des_enc_write; -+ OCSP_RESPONSE_new; -+ AES_set_encrypt_key; -+ OCSP_resp_count; -+ KRB5_CHECKSUM_new; -+ ENGINE_load_cswift; -+ OCSP_onereq_get0_id; -+ ENGINE_set_default_ciphers; -+ NOTICEREF_it; -+ X509V3_EXT_CRL_add_nconf; -+ OCSP_REVOKEDINFO_it; -+ AES_encrypt; -+ OCSP_REQUEST_new; -+ ASN1_ANY_it; -+ CRYPTO_ex_data_new_class; -+ _ossl_old_des_ncbc_encrypt; -+ i2d_KRB5_TKTBODY; -+ EC_POINT_clear_free; -+ AES_decrypt; -+ asn1_enc_init; -+ UI_get_result_maxsize; -+ OCSP_CERTID_new; -+ ENGINE_unregister_RAND; -+ UI_method_get_closer; -+ d2i_KRB5_ENCDATA; -+ OCSP_request_onereq_count; -+ OCSP_basic_verify; -+ KRB5_AUTHENTBODY_free; -+ ASN1_item_d2i; -+ ASN1_primitive_free; -+ i2d_EXTENDED_KEY_USAGE; -+ i2d_OCSP_SIGNATURE; -+ asn1_enc_save; -+ ENGINE_load_nuron; -+ _ossl_old_des_pcbc_encrypt; -+ PKCS12_MAC_DATA_it; -+ OCSP_accept_responses_new; -+ asn1_do_lock; -+ PKCS7_ATTR_VERIFY_it; -+ KRB5_APREQBODY_it; -+ i2d_OCSP_SINGLERESP; -+ ASN1_item_ex_new; -+ UI_add_verify_string; -+ _ossl_old_des_set_key; -+ KRB5_PRINCNAME_it; -+ EVP_DecryptInit_ex; -+ i2d_OCSP_CERTID; -+ ASN1_item_d2i_bio; -+ EC_POINT_dbl; -+ asn1_get_choice_selector; -+ i2d_KRB5_CHECKSUM; -+ ENGINE_set_table_flags; -+ AES_options; -+ ENGINE_load_chil; -+ OCSP_id_cmp; -+ OCSP_BASICRESP_new; -+ OCSP_REQUEST_get_ext_by_NID; -+ KRB5_APREQ_it; -+ ENGINE_get_destroy_function; -+ CONF_set_nconf; -+ ASN1_PRINTABLE_free; -+ OCSP_BASICRESP_get_ext_by_NID; -+ DIST_POINT_NAME_it; -+ X509V3_extensions_print; -+ _ossl_old_des_cfb64_encrypt; -+ X509_REVOKED_add1_ext_i2d; -+ _ossl_old_des_ofb_encrypt; -+ KRB5_TKTBODY_new; -+ ASN1_OCTET_STRING_it; -+ ERR_load_UI_strings; -+ i2d_KRB5_ENCKEY; -+ ASN1_template_new; -+ OCSP_SIGNATURE_free; -+ ASN1_item_i2d_fp; -+ KRB5_PRINCNAME_free; -+ PKCS7_RECIP_INFO_it; -+ EXTENDED_KEY_USAGE_it; -+ EC_GFp_simple_method; -+ EC_GROUP_precompute_mult; -+ OCSP_request_onereq_get0; -+ UI_method_set_writer; -+ KRB5_AUTHENT_new; -+ X509_CRL_INFO_it; -+ DSO_set_name_converter; -+ AES_set_decrypt_key; -+ PKCS7_DIGEST_it; -+ PKCS12_x5092certbag; -+ EVP_DigestInit_ex; -+ i2a_ACCESS_DESCRIPTION; -+ OCSP_RESPONSE_it; -+ PKCS7_ENC_CONTENT_it; -+ OCSP_request_add0_id; -+ EC_POINT_make_affine; -+ DSO_get_filename; -+ OCSP_CERTSTATUS_it; -+ OCSP_request_add1_cert; -+ UI_get0_output_string; -+ UI_dup_verify_string; -+ BN_mod_lshift; -+ KRB5_AUTHDATA_it; -+ asn1_set_choice_selector; -+ OCSP_basic_add1_status; -+ OCSP_RESPID_free; -+ asn1_get_field_ptr; -+ UI_add_input_string; -+ OCSP_CRLID_it; -+ i2d_KRB5_AUTHENTBODY; -+ OCSP_REQUEST_get_ext_count; -+ ENGINE_load_atalla; -+ X509_NAME_it; -+ USERNOTICE_it; -+ OCSP_REQINFO_new; -+ OCSP_BASICRESP_get_ext; -+ CRYPTO_get_ex_data_implementation; -+ CRYPTO_get_ex_data_impl; -+ ASN1_item_pack; -+ i2d_KRB5_ENCDATA; -+ X509_PURPOSE_set; -+ X509_REQ_INFO_it; -+ UI_method_set_opener; -+ ASN1_item_ex_free; -+ ASN1_BOOLEAN_it; -+ ENGINE_get_table_flags; -+ UI_create_method; -+ OCSP_ONEREQ_add1_ext_i2d; -+ _shadow_DES_check_key; -+ d2i_OCSP_REQINFO; -+ UI_add_info_string; -+ UI_get_result_minsize; -+ ASN1_NULL_it; -+ BN_mod_lshift1; -+ d2i_OCSP_ONEREQ; -+ OCSP_ONEREQ_new; -+ KRB5_TICKET_it; -+ EVP_aes_192_cbc; -+ KRB5_TICKET_free; -+ UI_new; -+ OCSP_response_create; -+ _ossl_old_des_xcbc_encrypt; -+ PKCS7_it; -+ OCSP_REQUEST_get_ext_by_critical; -+ OCSP_REQUEST_get_ext_by_crit; -+ ENGINE_set_flags; -+ _ossl_old_des_ecb_encrypt; -+ OCSP_response_get1_basic; -+ EVP_Digest; -+ OCSP_ONEREQ_delete_ext; -+ ASN1_TBOOLEAN_it; -+ ASN1_item_new; -+ ASN1_TIME_to_generalizedtime; -+ BIGNUM_it; -+ AES_cbc_encrypt; -+ ENGINE_get_load_privkey_function; -+ ENGINE_get_load_privkey_fn; -+ OCSP_RESPONSE_free; -+ UI_method_set_reader; -+ i2d_ASN1_T61STRING; -+ EC_POINT_set_to_infinity; -+ ERR_load_OCSP_strings; -+ EC_POINT_point2oct; -+ KRB5_APREQ_free; -+ ASN1_OBJECT_it; -+ OCSP_crlID_new; -+ OCSP_crlID2_new; -+ CONF_modules_load_file; -+ CONF_imodule_set_usr_data; -+ ENGINE_set_default_string; -+ CONF_module_get_usr_data; -+ ASN1_add_oid_module; -+ CONF_modules_finish; -+ OPENSSL_config; -+ CONF_modules_unload; -+ CONF_imodule_get_value; -+ CONF_module_set_usr_data; -+ CONF_parse_list; -+ CONF_module_add; -+ CONF_get1_default_config_file; -+ CONF_imodule_get_flags; -+ CONF_imodule_get_module; -+ CONF_modules_load; -+ CONF_imodule_get_name; -+ ERR_peek_top_error; -+ CONF_imodule_get_usr_data; -+ CONF_imodule_set_flags; -+ ENGINE_add_conf_module; -+ ERR_peek_last_error_line; -+ ERR_peek_last_error_line_data; -+ ERR_peek_last_error; -+ DES_read_2passwords; -+ DES_read_password; -+ UI_UTIL_read_pw; -+ UI_UTIL_read_pw_string; -+ ENGINE_load_aep; -+ ENGINE_load_sureware; -+ OPENSSL_add_all_algorithms_noconf; -+ OPENSSL_add_all_algo_noconf; -+ OPENSSL_add_all_algorithms_conf; -+ OPENSSL_add_all_algo_conf; -+ OPENSSL_load_builtin_modules; -+ AES_ofb128_encrypt; -+ AES_ctr128_encrypt; -+ AES_cfb128_encrypt; -+ ENGINE_load_4758cca; -+ _ossl_096_des_random_seed; -+ EVP_aes_256_ofb; -+ EVP_aes_192_ofb; -+ EVP_aes_128_cfb128; -+ EVP_aes_256_cfb128; -+ EVP_aes_128_ofb; -+ EVP_aes_192_cfb128; -+ CONF_modules_free; -+ NCONF_default; -+ OPENSSL_no_config; -+ NCONF_WIN32; -+ ASN1_UNIVERSALSTRING_new; -+ EVP_des_ede_ecb; -+ i2d_ASN1_UNIVERSALSTRING; -+ ASN1_UNIVERSALSTRING_free; -+ ASN1_UNIVERSALSTRING_it; -+ d2i_ASN1_UNIVERSALSTRING; -+ EVP_des_ede3_ecb; -+ X509_REQ_print_ex; -+ ENGINE_up_ref; -+ BUF_MEM_grow_clean; -+ CRYPTO_realloc_clean; -+ BUF_strlcat; -+ BIO_indent; -+ BUF_strlcpy; -+ OpenSSLDie; -+ OPENSSL_cleanse; -+ ENGINE_setup_bsd_cryptodev; -+ ERR_release_err_state_table; -+ EVP_aes_128_cfb8; -+ FIPS_corrupt_rsa; -+ FIPS_selftest_des; -+ EVP_aes_128_cfb1; -+ EVP_aes_192_cfb8; -+ FIPS_mode_set; -+ FIPS_selftest_dsa; -+ EVP_aes_256_cfb8; -+ FIPS_allow_md5; -+ DES_ede3_cfb_encrypt; -+ EVP_des_ede3_cfb8; -+ FIPS_rand_seeded; -+ AES_cfbr_encrypt_block; -+ AES_cfb8_encrypt; -+ FIPS_rand_seed; -+ FIPS_corrupt_des; -+ EVP_aes_192_cfb1; -+ FIPS_selftest_aes; -+ FIPS_set_prng_key; -+ EVP_des_cfb8; -+ FIPS_corrupt_dsa; -+ FIPS_test_mode; -+ FIPS_rand_method; -+ EVP_aes_256_cfb1; -+ ERR_load_FIPS_strings; -+ FIPS_corrupt_aes; -+ FIPS_selftest_sha1; -+ FIPS_selftest_rsa; -+ FIPS_corrupt_sha1; -+ EVP_des_cfb1; -+ FIPS_dsa_check; -+ AES_cfb1_encrypt; -+ EVP_des_ede3_cfb1; -+ FIPS_rand_check; -+ FIPS_md5_allowed; -+ FIPS_mode; -+ FIPS_selftest_failed; -+ sk_is_sorted; -+ X509_check_ca; -+ HMAC_CTX_set_flags; -+ d2i_PROXY_CERT_INFO_EXTENSION; -+ PROXY_POLICY_it; -+ i2d_PROXY_POLICY; -+ i2d_PROXY_CERT_INFO_EXTENSION; -+ d2i_PROXY_POLICY; -+ PROXY_CERT_INFO_EXTENSION_new; -+ PROXY_CERT_INFO_EXTENSION_free; -+ PROXY_CERT_INFO_EXTENSION_it; -+ PROXY_POLICY_free; -+ PROXY_POLICY_new; -+ BN_MONT_CTX_set_locked; -+ FIPS_selftest_rng; -+ EVP_sha384; -+ EVP_sha512; -+ EVP_sha224; -+ EVP_sha256; -+ FIPS_selftest_hmac; -+ FIPS_corrupt_rng; -+ BN_mod_exp_mont_consttime; -+ RSA_X931_hash_id; -+ RSA_padding_check_X931; -+ RSA_verify_PKCS1_PSS; -+ RSA_padding_add_X931; -+ RSA_padding_add_PKCS1_PSS; -+ PKCS1_MGF1; -+ BN_X931_generate_Xpq; -+ RSA_X931_generate_key; -+ BN_X931_derive_prime; -+ BN_X931_generate_prime; -+ RSA_X931_derive; -+ BIO_new_dgram; -+ BN_get0_nist_prime_384; -+ ERR_set_mark; -+ X509_STORE_CTX_set0_crls; -+ ENGINE_set_STORE; -+ ENGINE_register_ECDSA; -+ STORE_meth_set_list_start_fn; -+ STORE_method_set_list_start_function; -+ BN_BLINDING_invert_ex; -+ NAME_CONSTRAINTS_free; -+ STORE_ATTR_INFO_set_number; -+ BN_BLINDING_get_thread_id; -+ X509_STORE_CTX_set0_param; -+ POLICY_MAPPING_it; -+ STORE_parse_attrs_start; -+ POLICY_CONSTRAINTS_free; -+ EVP_PKEY_add1_attr_by_NID; -+ BN_nist_mod_192; -+ EC_GROUP_get_trinomial_basis; -+ STORE_set_method; -+ GENERAL_SUBTREE_free; -+ NAME_CONSTRAINTS_it; -+ ECDH_get_default_method; -+ PKCS12_add_safe; -+ EC_KEY_new_by_curve_name; -+ STORE_meth_get_update_store_fn; -+ STORE_method_get_update_store_function; -+ ENGINE_register_ECDH; -+ SHA512_Update; -+ i2d_ECPrivateKey; -+ BN_get0_nist_prime_192; -+ STORE_modify_certificate; -+ EC_POINT_set_affine_coordinates_GF2m; -+ EC_POINT_set_affine_coords_GF2m; -+ BN_GF2m_mod_exp_arr; -+ STORE_ATTR_INFO_modify_number; -+ X509_keyid_get0; -+ ENGINE_load_gmp; -+ pitem_new; -+ BN_GF2m_mod_mul_arr; -+ STORE_list_public_key_endp; -+ o2i_ECPublicKey; -+ EC_KEY_copy; -+ BIO_dump_fp; -+ X509_policy_node_get0_parent; -+ EC_GROUP_check_discriminant; -+ i2o_ECPublicKey; -+ EC_KEY_precompute_mult; -+ a2i_IPADDRESS; -+ STORE_meth_set_initialise_fn; -+ STORE_method_set_initialise_function; -+ X509_STORE_CTX_set_depth; -+ X509_VERIFY_PARAM_inherit; -+ EC_POINT_point2bn; -+ STORE_ATTR_INFO_set_dn; -+ X509_policy_tree_get0_policies; -+ EC_GROUP_new_curve_GF2m; -+ STORE_destroy_method; -+ ENGINE_unregister_STORE; -+ EVP_PKEY_get1_EC_KEY; -+ STORE_ATTR_INFO_get0_number; -+ ENGINE_get_default_ECDH; -+ EC_KEY_get_conv_form; -+ ASN1_OCTET_STRING_NDEF_it; -+ STORE_delete_public_key; -+ STORE_get_public_key; -+ STORE_modify_arbitrary; -+ ENGINE_get_static_state; -+ pqueue_iterator; -+ ECDSA_SIG_new; -+ OPENSSL_DIR_end; -+ BN_GF2m_mod_sqr; -+ EC_POINT_bn2point; -+ X509_VERIFY_PARAM_set_depth; -+ EC_KEY_set_asn1_flag; -+ STORE_get_method; -+ EC_KEY_get_key_method_data; -+ ECDSA_sign_ex; -+ STORE_parse_attrs_end; -+ EC_GROUP_get_point_conversion_form; -+ EC_GROUP_get_point_conv_form; -+ STORE_method_set_store_function; -+ STORE_ATTR_INFO_in; -+ PEM_read_bio_ECPKParameters; -+ EC_GROUP_get_pentanomial_basis; -+ EVP_PKEY_add1_attr_by_txt; -+ BN_BLINDING_set_flags; -+ X509_VERIFY_PARAM_set1_policies; -+ X509_VERIFY_PARAM_set1_name; -+ X509_VERIFY_PARAM_set_purpose; -+ STORE_get_number; -+ ECDSA_sign_setup; -+ BN_GF2m_mod_solve_quad_arr; -+ EC_KEY_up_ref; -+ POLICY_MAPPING_free; -+ BN_GF2m_mod_div; -+ X509_VERIFY_PARAM_set_flags; -+ EC_KEY_free; -+ STORE_meth_set_list_next_fn; -+ STORE_method_set_list_next_function; -+ PEM_write_bio_ECPrivateKey; -+ d2i_EC_PUBKEY; -+ STORE_meth_get_generate_fn; -+ STORE_method_get_generate_function; -+ STORE_meth_set_list_end_fn; -+ STORE_method_set_list_end_function; -+ pqueue_print; -+ EC_GROUP_have_precompute_mult; -+ EC_KEY_print_fp; -+ BN_GF2m_mod_arr; -+ PEM_write_bio_X509_CERT_PAIR; -+ EVP_PKEY_cmp; -+ X509_policy_level_node_count; -+ STORE_new_engine; -+ STORE_list_public_key_start; -+ X509_VERIFY_PARAM_new; -+ ECDH_get_ex_data; -+ EVP_PKEY_get_attr; -+ ECDSA_do_sign; -+ ENGINE_unregister_ECDH; -+ ECDH_OpenSSL; -+ EC_KEY_set_conv_form; -+ EC_POINT_dup; -+ GENERAL_SUBTREE_new; -+ STORE_list_crl_endp; -+ EC_get_builtin_curves; -+ X509_policy_node_get0_qualifiers; -+ X509_pcy_node_get0_qualifiers; -+ STORE_list_crl_end; -+ EVP_PKEY_set1_EC_KEY; -+ BN_GF2m_mod_sqrt_arr; -+ i2d_ECPrivateKey_bio; -+ ECPKParameters_print_fp; -+ pqueue_find; -+ ECDSA_SIG_free; -+ PEM_write_bio_ECPKParameters; -+ STORE_method_set_ctrl_function; -+ STORE_list_public_key_end; -+ EC_KEY_set_private_key; -+ pqueue_peek; -+ STORE_get_arbitrary; -+ STORE_store_crl; -+ X509_policy_node_get0_policy; -+ PKCS12_add_safes; -+ BN_BLINDING_convert_ex; -+ X509_policy_tree_free; -+ OPENSSL_ia32cap_loc; -+ BN_GF2m_poly2arr; -+ STORE_ctrl; -+ STORE_ATTR_INFO_compare; -+ BN_get0_nist_prime_224; -+ i2d_ECParameters; -+ i2d_ECPKParameters; -+ BN_GENCB_call; -+ d2i_ECPKParameters; -+ STORE_meth_set_generate_fn; -+ STORE_method_set_generate_function; -+ ENGINE_set_ECDH; -+ NAME_CONSTRAINTS_new; -+ SHA256_Init; -+ EC_KEY_get0_public_key; -+ PEM_write_bio_EC_PUBKEY; -+ STORE_ATTR_INFO_set_cstr; -+ STORE_list_crl_next; -+ STORE_ATTR_INFO_in_range; -+ ECParameters_print; -+ STORE_meth_set_delete_fn; -+ STORE_method_set_delete_function; -+ STORE_list_certificate_next; -+ ASN1_generate_nconf; -+ BUF_memdup; -+ BN_GF2m_mod_mul; -+ STORE_meth_get_list_next_fn; -+ STORE_method_get_list_next_function; -+ STORE_ATTR_INFO_get0_dn; -+ STORE_list_private_key_next; -+ EC_GROUP_set_seed; -+ X509_VERIFY_PARAM_set_trust; -+ STORE_ATTR_INFO_free; -+ STORE_get_private_key; -+ EVP_PKEY_get_attr_count; -+ STORE_ATTR_INFO_new; -+ EC_GROUP_get_curve_GF2m; -+ STORE_meth_set_revoke_fn; -+ STORE_method_set_revoke_function; -+ STORE_store_number; -+ BN_is_prime_ex; -+ STORE_revoke_public_key; -+ X509_STORE_CTX_get0_param; -+ STORE_delete_arbitrary; -+ PEM_read_X509_CERT_PAIR; -+ X509_STORE_set_depth; -+ ECDSA_get_ex_data; -+ SHA224; -+ BIO_dump_indent_fp; -+ EC_KEY_set_group; -+ BUF_strndup; -+ STORE_list_certificate_start; -+ BN_GF2m_mod; -+ X509_REQ_check_private_key; -+ EC_GROUP_get_seed_len; -+ ERR_load_STORE_strings; -+ PEM_read_bio_EC_PUBKEY; -+ STORE_list_private_key_end; -+ i2d_EC_PUBKEY; -+ ECDSA_get_default_method; -+ ASN1_put_eoc; -+ X509_STORE_CTX_get_explicit_policy; -+ X509_STORE_CTX_get_expl_policy; -+ X509_VERIFY_PARAM_table_cleanup; -+ STORE_modify_private_key; -+ X509_VERIFY_PARAM_free; -+ EC_METHOD_get_field_type; -+ EC_GFp_nist_method; -+ STORE_meth_set_modify_fn; -+ STORE_method_set_modify_function; -+ STORE_parse_attrs_next; -+ ENGINE_load_padlock; -+ EC_GROUP_set_curve_name; -+ X509_CERT_PAIR_it; -+ STORE_meth_get_revoke_fn; -+ STORE_method_get_revoke_function; -+ STORE_method_set_get_function; -+ STORE_modify_number; -+ STORE_method_get_store_function; -+ STORE_store_private_key; -+ BN_GF2m_mod_sqr_arr; -+ RSA_setup_blinding; -+ BIO_s_datagram; -+ STORE_Memory; -+ sk_find_ex; -+ EC_GROUP_set_curve_GF2m; -+ ENGINE_set_default_ECDSA; -+ POLICY_CONSTRAINTS_new; -+ BN_GF2m_mod_sqrt; -+ ECDH_set_default_method; -+ EC_KEY_generate_key; -+ SHA384_Update; -+ BN_GF2m_arr2poly; -+ STORE_method_get_get_function; -+ STORE_meth_set_cleanup_fn; -+ STORE_method_set_cleanup_function; -+ EC_GROUP_check; -+ d2i_ECPrivateKey_bio; -+ EC_KEY_insert_key_method_data; -+ STORE_meth_get_lock_store_fn; -+ STORE_method_get_lock_store_function; -+ X509_VERIFY_PARAM_get_depth; -+ SHA224_Final; -+ STORE_meth_set_update_store_fn; -+ STORE_method_set_update_store_function; -+ SHA224_Update; -+ d2i_ECPrivateKey; -+ ASN1_item_ndef_i2d; -+ STORE_delete_private_key; -+ ERR_pop_to_mark; -+ ENGINE_register_all_STORE; -+ X509_policy_level_get0_node; -+ i2d_PKCS7_NDEF; -+ EC_GROUP_get_degree; -+ ASN1_generate_v3; -+ STORE_ATTR_INFO_modify_cstr; -+ X509_policy_tree_level_count; -+ BN_GF2m_add; -+ EC_KEY_get0_group; -+ STORE_generate_crl; -+ STORE_store_public_key; -+ X509_CERT_PAIR_free; -+ STORE_revoke_private_key; -+ BN_nist_mod_224; -+ SHA512_Final; -+ STORE_ATTR_INFO_modify_dn; -+ STORE_meth_get_initialise_fn; -+ STORE_method_get_initialise_function; -+ STORE_delete_number; -+ i2d_EC_PUBKEY_bio; -+ BIO_dgram_non_fatal_error; -+ EC_GROUP_get_asn1_flag; -+ STORE_ATTR_INFO_in_ex; -+ STORE_list_crl_start; -+ ECDH_get_ex_new_index; -+ STORE_meth_get_modify_fn; -+ STORE_method_get_modify_function; -+ v2i_ASN1_BIT_STRING; -+ STORE_store_certificate; -+ OBJ_bsearch_ex; -+ X509_STORE_CTX_set_default; -+ STORE_ATTR_INFO_set_sha1str; -+ BN_GF2m_mod_inv; -+ BN_GF2m_mod_exp; -+ STORE_modify_public_key; -+ STORE_meth_get_list_start_fn; -+ STORE_method_get_list_start_function; -+ EC_GROUP_get0_seed; -+ STORE_store_arbitrary; -+ STORE_meth_set_unlock_store_fn; -+ STORE_method_set_unlock_store_function; -+ BN_GF2m_mod_div_arr; -+ ENGINE_set_ECDSA; -+ STORE_create_method; -+ ECPKParameters_print; -+ EC_KEY_get0_private_key; -+ PEM_write_EC_PUBKEY; -+ X509_VERIFY_PARAM_set1; -+ ECDH_set_method; -+ v2i_GENERAL_NAME_ex; -+ ECDH_set_ex_data; -+ STORE_generate_key; -+ BN_nist_mod_521; -+ X509_policy_tree_get0_level; -+ EC_GROUP_set_point_conversion_form; -+ EC_GROUP_set_point_conv_form; -+ PEM_read_EC_PUBKEY; -+ i2d_ECDSA_SIG; -+ ECDSA_OpenSSL; -+ STORE_delete_crl; -+ EC_KEY_get_enc_flags; -+ ASN1_const_check_infinite_end; -+ EVP_PKEY_delete_attr; -+ ECDSA_set_default_method; -+ EC_POINT_set_compressed_coordinates_GF2m; -+ EC_POINT_set_compr_coords_GF2m; -+ EC_GROUP_cmp; -+ STORE_revoke_certificate; -+ BN_get0_nist_prime_256; -+ STORE_meth_get_delete_fn; -+ STORE_method_get_delete_function; -+ SHA224_Init; -+ PEM_read_ECPrivateKey; -+ SHA512_Init; -+ STORE_parse_attrs_endp; -+ BN_set_negative; -+ ERR_load_ECDSA_strings; -+ EC_GROUP_get_basis_type; -+ STORE_list_public_key_next; -+ i2v_ASN1_BIT_STRING; -+ STORE_OBJECT_free; -+ BN_nist_mod_384; -+ i2d_X509_CERT_PAIR; -+ PEM_write_ECPKParameters; -+ ECDH_compute_key; -+ STORE_ATTR_INFO_get0_sha1str; -+ ENGINE_register_all_ECDH; -+ pqueue_pop; -+ STORE_ATTR_INFO_get0_cstr; -+ POLICY_CONSTRAINTS_it; -+ STORE_get_ex_new_index; -+ EVP_PKEY_get_attr_by_OBJ; -+ X509_VERIFY_PARAM_add0_policy; -+ BN_GF2m_mod_solve_quad; -+ SHA256; -+ i2d_ECPrivateKey_fp; -+ X509_policy_tree_get0_user_policies; -+ X509_pcy_tree_get0_usr_policies; -+ OPENSSL_DIR_read; -+ ENGINE_register_all_ECDSA; -+ X509_VERIFY_PARAM_lookup; -+ EC_POINT_get_affine_coordinates_GF2m; -+ EC_POINT_get_affine_coords_GF2m; -+ EC_GROUP_dup; -+ ENGINE_get_default_ECDSA; -+ EC_KEY_new; -+ SHA256_Transform; -+ EC_KEY_set_enc_flags; -+ ECDSA_verify; -+ EC_POINT_point2hex; -+ ENGINE_get_STORE; -+ SHA512; -+ STORE_get_certificate; -+ ECDSA_do_sign_ex; -+ ECDSA_do_verify; -+ d2i_ECPrivateKey_fp; -+ STORE_delete_certificate; -+ SHA512_Transform; -+ X509_STORE_set1_param; -+ STORE_method_get_ctrl_function; -+ STORE_free; -+ PEM_write_ECPrivateKey; -+ STORE_meth_get_unlock_store_fn; -+ STORE_method_get_unlock_store_function; -+ STORE_get_ex_data; -+ EC_KEY_set_public_key; -+ PEM_read_ECPKParameters; -+ X509_CERT_PAIR_new; -+ ENGINE_register_STORE; -+ RSA_generate_key_ex; -+ DSA_generate_parameters_ex; -+ ECParameters_print_fp; -+ X509V3_NAME_from_section; -+ EVP_PKEY_add1_attr; -+ STORE_modify_crl; -+ STORE_list_private_key_start; -+ POLICY_MAPPINGS_it; -+ GENERAL_SUBTREE_it; -+ EC_GROUP_get_curve_name; -+ PEM_write_X509_CERT_PAIR; -+ BIO_dump_indent_cb; -+ d2i_X509_CERT_PAIR; -+ STORE_list_private_key_endp; -+ asn1_const_Finish; -+ i2d_EC_PUBKEY_fp; -+ BN_nist_mod_256; -+ X509_VERIFY_PARAM_add0_table; -+ pqueue_free; -+ BN_BLINDING_create_param; -+ ECDSA_size; -+ d2i_EC_PUBKEY_bio; -+ BN_get0_nist_prime_521; -+ STORE_ATTR_INFO_modify_sha1str; -+ BN_generate_prime_ex; -+ EC_GROUP_new_by_curve_name; -+ SHA256_Final; -+ DH_generate_parameters_ex; -+ PEM_read_bio_ECPrivateKey; -+ STORE_meth_get_cleanup_fn; -+ STORE_method_get_cleanup_function; -+ ENGINE_get_ECDH; -+ d2i_ECDSA_SIG; -+ BN_is_prime_fasttest_ex; -+ ECDSA_sign; -+ X509_policy_check; -+ EVP_PKEY_get_attr_by_NID; -+ STORE_set_ex_data; -+ ENGINE_get_ECDSA; -+ EVP_ecdsa; -+ BN_BLINDING_get_flags; -+ PKCS12_add_cert; -+ STORE_OBJECT_new; -+ ERR_load_ECDH_strings; -+ EC_KEY_dup; -+ EVP_CIPHER_CTX_rand_key; -+ ECDSA_set_method; -+ a2i_IPADDRESS_NC; -+ d2i_ECParameters; -+ STORE_list_certificate_end; -+ STORE_get_crl; -+ X509_POLICY_NODE_print; -+ SHA384_Init; -+ EC_GF2m_simple_method; -+ ECDSA_set_ex_data; -+ SHA384_Final; -+ PKCS7_set_digest; -+ EC_KEY_print; -+ STORE_meth_set_lock_store_fn; -+ STORE_method_set_lock_store_function; -+ ECDSA_get_ex_new_index; -+ SHA384; -+ POLICY_MAPPING_new; -+ STORE_list_certificate_endp; -+ X509_STORE_CTX_get0_policy_tree; -+ EC_GROUP_set_asn1_flag; -+ EC_KEY_check_key; -+ d2i_EC_PUBKEY_fp; -+ PKCS7_set0_type_other; -+ PEM_read_bio_X509_CERT_PAIR; -+ pqueue_next; -+ STORE_meth_get_list_end_fn; -+ STORE_method_get_list_end_function; -+ EVP_PKEY_add1_attr_by_OBJ; -+ X509_VERIFY_PARAM_set_time; -+ pqueue_new; -+ ENGINE_set_default_ECDH; -+ STORE_new_method; -+ PKCS12_add_key; -+ DSO_merge; -+ EC_POINT_hex2point; -+ BIO_dump_cb; -+ SHA256_Update; -+ pqueue_insert; -+ pitem_free; -+ BN_GF2m_mod_inv_arr; -+ ENGINE_unregister_ECDSA; -+ BN_BLINDING_set_thread_id; -+ get_rfc3526_prime_8192; -+ X509_VERIFY_PARAM_clear_flags; -+ get_rfc2409_prime_1024; -+ DH_check_pub_key; -+ get_rfc3526_prime_2048; -+ get_rfc3526_prime_6144; -+ get_rfc3526_prime_1536; -+ get_rfc3526_prime_3072; -+ get_rfc3526_prime_4096; -+ get_rfc2409_prime_768; -+ X509_VERIFY_PARAM_get_flags; -+ EVP_CIPHER_CTX_new; -+ EVP_CIPHER_CTX_free; -+ Camellia_cbc_encrypt; -+ Camellia_cfb128_encrypt; -+ Camellia_cfb1_encrypt; -+ Camellia_cfb8_encrypt; -+ Camellia_ctr128_encrypt; -+ Camellia_cfbr_encrypt_block; -+ Camellia_decrypt; -+ Camellia_ecb_encrypt; -+ Camellia_encrypt; -+ Camellia_ofb128_encrypt; -+ Camellia_set_key; -+ EVP_camellia_128_cbc; -+ EVP_camellia_128_cfb128; -+ EVP_camellia_128_cfb1; -+ EVP_camellia_128_cfb8; -+ EVP_camellia_128_ecb; -+ EVP_camellia_128_ofb; -+ EVP_camellia_192_cbc; -+ EVP_camellia_192_cfb128; -+ EVP_camellia_192_cfb1; -+ EVP_camellia_192_cfb8; -+ EVP_camellia_192_ecb; -+ EVP_camellia_192_ofb; -+ EVP_camellia_256_cbc; -+ EVP_camellia_256_cfb128; -+ EVP_camellia_256_cfb1; -+ EVP_camellia_256_cfb8; -+ EVP_camellia_256_ecb; -+ EVP_camellia_256_ofb; -+ a2i_ipadd; -+ ASIdentifiers_free; -+ i2d_ASIdOrRange; -+ EVP_CIPHER_block_size; -+ v3_asid_is_canonical; -+ IPAddressChoice_free; -+ EVP_CIPHER_CTX_set_app_data; -+ BIO_set_callback_arg; -+ v3_addr_add_prefix; -+ IPAddressOrRange_it; -+ BIO_set_flags; -+ ASIdentifiers_it; -+ v3_addr_get_range; -+ BIO_method_type; -+ v3_addr_inherits; -+ IPAddressChoice_it; -+ AES_ige_encrypt; -+ v3_addr_add_range; -+ EVP_CIPHER_CTX_nid; -+ d2i_ASRange; -+ v3_addr_add_inherit; -+ v3_asid_add_id_or_range; -+ v3_addr_validate_resource_set; -+ EVP_CIPHER_iv_length; -+ EVP_MD_type; -+ v3_asid_canonize; -+ IPAddressRange_free; -+ v3_asid_add_inherit; -+ EVP_CIPHER_CTX_key_length; -+ IPAddressRange_new; -+ ASIdOrRange_new; -+ EVP_MD_size; -+ EVP_MD_CTX_test_flags; -+ BIO_clear_flags; -+ i2d_ASRange; -+ IPAddressRange_it; -+ IPAddressChoice_new; -+ ASIdentifierChoice_new; -+ ASRange_free; -+ EVP_MD_pkey_type; -+ EVP_MD_CTX_clear_flags; -+ IPAddressFamily_free; -+ i2d_IPAddressFamily; -+ IPAddressOrRange_new; -+ EVP_CIPHER_flags; -+ v3_asid_validate_resource_set; -+ d2i_IPAddressRange; -+ AES_bi_ige_encrypt; -+ BIO_get_callback; -+ IPAddressOrRange_free; -+ v3_addr_subset; -+ d2i_IPAddressFamily; -+ v3_asid_subset; -+ BIO_test_flags; -+ i2d_ASIdentifierChoice; -+ ASRange_it; -+ d2i_ASIdentifiers; -+ ASRange_new; -+ d2i_IPAddressChoice; -+ v3_addr_get_afi; -+ EVP_CIPHER_key_length; -+ EVP_Cipher; -+ i2d_IPAddressOrRange; -+ ASIdOrRange_it; -+ EVP_CIPHER_nid; -+ i2d_IPAddressChoice; -+ EVP_CIPHER_CTX_block_size; -+ ASIdentifiers_new; -+ v3_addr_validate_path; -+ IPAddressFamily_new; -+ EVP_MD_CTX_set_flags; -+ v3_addr_is_canonical; -+ i2d_IPAddressRange; -+ IPAddressFamily_it; -+ v3_asid_inherits; -+ EVP_CIPHER_CTX_cipher; -+ EVP_CIPHER_CTX_get_app_data; -+ EVP_MD_block_size; -+ EVP_CIPHER_CTX_flags; -+ v3_asid_validate_path; -+ d2i_IPAddressOrRange; -+ v3_addr_canonize; -+ ASIdentifierChoice_it; -+ EVP_MD_CTX_md; -+ d2i_ASIdentifierChoice; -+ BIO_method_name; -+ EVP_CIPHER_CTX_iv_length; -+ ASIdOrRange_free; -+ ASIdentifierChoice_free; -+ BIO_get_callback_arg; -+ BIO_set_callback; -+ d2i_ASIdOrRange; -+ i2d_ASIdentifiers; -+ SEED_decrypt; -+ SEED_encrypt; -+ SEED_cbc_encrypt; -+ EVP_seed_ofb; -+ SEED_cfb128_encrypt; -+ SEED_ofb128_encrypt; -+ EVP_seed_cbc; -+ SEED_ecb_encrypt; -+ EVP_seed_ecb; -+ SEED_set_key; -+ EVP_seed_cfb128; -+ X509_EXTENSIONS_it; -+ X509_get1_ocsp; -+ OCSP_REQ_CTX_free; -+ i2d_X509_EXTENSIONS; -+ OCSP_sendreq_nbio; -+ OCSP_sendreq_new; -+ d2i_X509_EXTENSIONS; -+ X509_ALGORS_it; -+ X509_ALGOR_get0; -+ X509_ALGOR_set0; -+ AES_unwrap_key; -+ AES_wrap_key; -+ X509at_get0_data_by_OBJ; -+ ASN1_TYPE_set1; -+ ASN1_STRING_set0; -+ i2d_X509_ALGORS; -+ BIO_f_zlib; -+ COMP_zlib_cleanup; -+ d2i_X509_ALGORS; -+ CMS_ReceiptRequest_free; -+ PEM_write_CMS; -+ CMS_add0_CertificateChoices; -+ CMS_unsigned_add1_attr_by_OBJ; -+ ERR_load_CMS_strings; -+ CMS_sign_receipt; -+ i2d_CMS_ContentInfo; -+ CMS_signed_delete_attr; -+ d2i_CMS_bio; -+ CMS_unsigned_get_attr_by_NID; -+ CMS_verify; -+ SMIME_read_CMS; -+ CMS_decrypt_set1_key; -+ CMS_SignerInfo_get0_algs; -+ CMS_add1_cert; -+ CMS_set_detached; -+ CMS_encrypt; -+ CMS_EnvelopedData_create; -+ CMS_uncompress; -+ CMS_add0_crl; -+ CMS_SignerInfo_verify_content; -+ CMS_unsigned_get0_data_by_OBJ; -+ PEM_write_bio_CMS; -+ CMS_unsigned_get_attr; -+ CMS_RecipientInfo_ktri_cert_cmp; -+ CMS_RecipientInfo_ktri_get0_algs; -+ CMS_RecipInfo_ktri_get0_algs; -+ CMS_ContentInfo_free; -+ CMS_final; -+ CMS_add_simple_smimecap; -+ CMS_SignerInfo_verify; -+ CMS_data; -+ CMS_ContentInfo_it; -+ d2i_CMS_ReceiptRequest; -+ CMS_compress; -+ CMS_digest_create; -+ CMS_SignerInfo_cert_cmp; -+ CMS_SignerInfo_sign; -+ CMS_data_create; -+ i2d_CMS_bio; -+ CMS_EncryptedData_set1_key; -+ CMS_decrypt; -+ int_smime_write_ASN1; -+ CMS_unsigned_delete_attr; -+ CMS_unsigned_get_attr_count; -+ CMS_add_smimecap; -+ PEM_read_CMS; -+ CMS_signed_get_attr_by_OBJ; -+ d2i_CMS_ContentInfo; -+ CMS_add_standard_smimecap; -+ CMS_ContentInfo_new; -+ CMS_RecipientInfo_type; -+ CMS_get0_type; -+ CMS_is_detached; -+ CMS_sign; -+ CMS_signed_add1_attr; -+ CMS_unsigned_get_attr_by_OBJ; -+ SMIME_write_CMS; -+ CMS_EncryptedData_decrypt; -+ CMS_get0_RecipientInfos; -+ CMS_add0_RevocationInfoChoice; -+ CMS_decrypt_set1_pkey; -+ CMS_SignerInfo_set1_signer_cert; -+ CMS_get0_signers; -+ CMS_ReceiptRequest_get0_values; -+ CMS_signed_get0_data_by_OBJ; -+ CMS_get0_SignerInfos; -+ CMS_add0_cert; -+ CMS_EncryptedData_encrypt; -+ CMS_digest_verify; -+ CMS_set1_signers_certs; -+ CMS_signed_get_attr; -+ CMS_RecipientInfo_set0_key; -+ CMS_SignedData_init; -+ CMS_RecipientInfo_kekri_get0_id; -+ CMS_verify_receipt; -+ CMS_ReceiptRequest_it; -+ PEM_read_bio_CMS; -+ CMS_get1_crls; -+ CMS_add0_recipient_key; -+ SMIME_read_ASN1; -+ CMS_ReceiptRequest_new; -+ CMS_get0_content; -+ CMS_get1_ReceiptRequest; -+ CMS_signed_add1_attr_by_OBJ; -+ CMS_RecipientInfo_kekri_id_cmp; -+ CMS_add1_ReceiptRequest; -+ CMS_SignerInfo_get0_signer_id; -+ CMS_unsigned_add1_attr_by_NID; -+ CMS_unsigned_add1_attr; -+ CMS_signed_get_attr_by_NID; -+ CMS_get1_certs; -+ CMS_signed_add1_attr_by_NID; -+ CMS_unsigned_add1_attr_by_txt; -+ CMS_dataFinal; -+ CMS_RecipientInfo_ktri_get0_signer_id; -+ CMS_RecipInfo_ktri_get0_sigr_id; -+ i2d_CMS_ReceiptRequest; -+ CMS_add1_recipient_cert; -+ CMS_dataInit; -+ CMS_signed_add1_attr_by_txt; -+ CMS_RecipientInfo_decrypt; -+ CMS_signed_get_attr_count; -+ CMS_get0_eContentType; -+ CMS_set1_eContentType; -+ CMS_ReceiptRequest_create0; -+ CMS_add1_signer; -+ CMS_RecipientInfo_set0_pkey; -+ ENGINE_set_load_ssl_client_cert_function; -+ ENGINE_set_ld_ssl_clnt_cert_fn; -+ ENGINE_get_ssl_client_cert_function; -+ ENGINE_get_ssl_client_cert_fn; -+ ENGINE_load_ssl_client_cert; -+ ENGINE_load_capi; -+ OPENSSL_isservice; -+ FIPS_dsa_sig_decode; -+ EVP_CIPHER_CTX_clear_flags; -+ FIPS_rand_status; -+ FIPS_rand_set_key; -+ CRYPTO_set_mem_info_functions; -+ RSA_X931_generate_key_ex; -+ int_ERR_set_state_func; -+ int_EVP_MD_set_engine_callbacks; -+ int_CRYPTO_set_do_dynlock_callback; -+ FIPS_rng_stick; -+ EVP_CIPHER_CTX_set_flags; -+ BN_X931_generate_prime_ex; -+ FIPS_selftest_check; -+ FIPS_rand_set_dt; -+ CRYPTO_dbg_pop_info; -+ FIPS_dsa_free; -+ RSA_X931_derive_ex; -+ FIPS_rsa_new; -+ FIPS_rand_bytes; -+ fips_cipher_test; -+ EVP_CIPHER_CTX_test_flags; -+ CRYPTO_malloc_debug_init; -+ CRYPTO_dbg_push_info; -+ FIPS_corrupt_rsa_keygen; -+ FIPS_dh_new; -+ FIPS_corrupt_dsa_keygen; -+ FIPS_dh_free; -+ fips_pkey_signature_test; -+ EVP_add_alg_module; -+ int_RAND_init_engine_callbacks; -+ int_EVP_CIPHER_set_engine_callbacks; -+ int_EVP_MD_init_engine_callbacks; -+ FIPS_rand_test_mode; -+ FIPS_rand_reset; -+ FIPS_dsa_new; -+ int_RAND_set_callbacks; -+ BN_X931_derive_prime_ex; -+ int_ERR_lib_init; -+ int_EVP_CIPHER_init_engine_callbacks; -+ FIPS_rsa_free; -+ FIPS_dsa_sig_encode; -+ CRYPTO_dbg_remove_all_info; -+ OPENSSL_init; -+ CRYPTO_strdup; -+ JPAKE_STEP3A_process; -+ JPAKE_STEP1_release; -+ JPAKE_get_shared_key; -+ JPAKE_STEP3B_init; -+ JPAKE_STEP1_generate; -+ JPAKE_STEP1_init; -+ JPAKE_STEP3B_process; -+ JPAKE_STEP2_generate; -+ JPAKE_CTX_new; -+ JPAKE_CTX_free; -+ JPAKE_STEP3B_release; -+ JPAKE_STEP3A_release; -+ JPAKE_STEP2_process; -+ JPAKE_STEP3B_generate; -+ JPAKE_STEP1_process; -+ JPAKE_STEP3A_generate; -+ JPAKE_STEP2_release; -+ JPAKE_STEP3A_init; -+ ERR_load_JPAKE_strings; -+ JPAKE_STEP2_init; -+ pqueue_size; -+ i2d_TS_ACCURACY; -+ i2d_TS_MSG_IMPRINT_fp; -+ i2d_TS_MSG_IMPRINT; -+ EVP_PKEY_print_public; -+ EVP_PKEY_CTX_new; -+ i2d_TS_TST_INFO; -+ EVP_PKEY_asn1_find; -+ DSO_METHOD_beos; -+ TS_CONF_load_cert; -+ TS_REQ_get_ext; -+ EVP_PKEY_sign_init; -+ ASN1_item_print; -+ TS_TST_INFO_set_nonce; -+ TS_RESP_dup; -+ ENGINE_register_pkey_meths; -+ EVP_PKEY_asn1_add0; -+ PKCS7_add0_attrib_signing_time; -+ i2d_TS_TST_INFO_fp; -+ BIO_asn1_get_prefix; -+ TS_TST_INFO_set_time; -+ EVP_PKEY_meth_set_decrypt; -+ EVP_PKEY_set_type_str; -+ EVP_PKEY_CTX_get_keygen_info; -+ TS_REQ_set_policy_id; -+ d2i_TS_RESP_fp; -+ ENGINE_get_pkey_asn1_meth_engine; -+ ENGINE_get_pkey_asn1_meth_eng; -+ WHIRLPOOL_Init; -+ TS_RESP_set_status_info; -+ EVP_PKEY_keygen; -+ EVP_DigestSignInit; -+ TS_ACCURACY_set_millis; -+ TS_REQ_dup; -+ GENERAL_NAME_dup; -+ ASN1_SEQUENCE_ANY_it; -+ WHIRLPOOL; -+ X509_STORE_get1_crls; -+ ENGINE_get_pkey_asn1_meth; -+ EVP_PKEY_asn1_new; -+ BIO_new_NDEF; -+ ENGINE_get_pkey_meth; -+ TS_MSG_IMPRINT_set_algo; -+ i2d_TS_TST_INFO_bio; -+ TS_TST_INFO_set_ordering; -+ TS_TST_INFO_get_ext_by_OBJ; -+ CRYPTO_THREADID_set_pointer; -+ TS_CONF_get_tsa_section; -+ SMIME_write_ASN1; -+ TS_RESP_CTX_set_signer_key; -+ EVP_PKEY_encrypt_old; -+ EVP_PKEY_encrypt_init; -+ CRYPTO_THREADID_cpy; -+ ASN1_PCTX_get_cert_flags; -+ i2d_ESS_SIGNING_CERT; -+ TS_CONF_load_key; -+ i2d_ASN1_SEQUENCE_ANY; -+ d2i_TS_MSG_IMPRINT_bio; -+ EVP_PKEY_asn1_set_public; -+ b2i_PublicKey_bio; -+ BIO_asn1_set_prefix; -+ EVP_PKEY_new_mac_key; -+ BIO_new_CMS; -+ CRYPTO_THREADID_cmp; -+ TS_REQ_ext_free; -+ EVP_PKEY_asn1_set_free; -+ EVP_PKEY_get0_asn1; -+ d2i_NETSCAPE_X509; -+ EVP_PKEY_verify_recover_init; -+ EVP_PKEY_CTX_set_data; -+ EVP_PKEY_keygen_init; -+ TS_RESP_CTX_set_status_info; -+ TS_MSG_IMPRINT_get_algo; -+ TS_REQ_print_bio; -+ EVP_PKEY_CTX_ctrl_str; -+ EVP_PKEY_get_default_digest_nid; -+ PEM_write_bio_PKCS7_stream; -+ TS_MSG_IMPRINT_print_bio; -+ BN_asc2bn; -+ TS_REQ_get_policy_id; -+ ENGINE_set_default_pkey_asn1_meths; -+ ENGINE_set_def_pkey_asn1_meths; -+ d2i_TS_ACCURACY; -+ DSO_global_lookup; -+ TS_CONF_set_tsa_name; -+ i2d_ASN1_SET_ANY; -+ ENGINE_load_gost; -+ WHIRLPOOL_BitUpdate; -+ ASN1_PCTX_get_flags; -+ TS_TST_INFO_get_ext_by_NID; -+ TS_RESP_new; -+ ESS_CERT_ID_dup; -+ TS_STATUS_INFO_dup; -+ TS_REQ_delete_ext; -+ EVP_DigestVerifyFinal; -+ EVP_PKEY_print_params; -+ i2d_CMS_bio_stream; -+ TS_REQ_get_msg_imprint; -+ OBJ_find_sigid_by_algs; -+ TS_TST_INFO_get_serial; -+ TS_REQ_get_nonce; -+ X509_PUBKEY_set0_param; -+ EVP_PKEY_CTX_set0_keygen_info; -+ DIST_POINT_set_dpname; -+ i2d_ISSUING_DIST_POINT; -+ ASN1_SET_ANY_it; -+ EVP_PKEY_CTX_get_data; -+ TS_STATUS_INFO_print_bio; -+ EVP_PKEY_derive_init; -+ d2i_TS_TST_INFO; -+ EVP_PKEY_asn1_add_alias; -+ d2i_TS_RESP_bio; -+ OTHERNAME_cmp; -+ GENERAL_NAME_set0_value; -+ PKCS7_RECIP_INFO_get0_alg; -+ TS_RESP_CTX_new; -+ TS_RESP_set_tst_info; -+ PKCS7_final; -+ EVP_PKEY_base_id; -+ TS_RESP_CTX_set_signer_cert; -+ TS_REQ_set_msg_imprint; -+ EVP_PKEY_CTX_ctrl; -+ TS_CONF_set_digests; -+ d2i_TS_MSG_IMPRINT; -+ EVP_PKEY_meth_set_ctrl; -+ TS_REQ_get_ext_by_NID; -+ PKCS5_pbe_set0_algor; -+ BN_BLINDING_thread_id; -+ TS_ACCURACY_new; -+ X509_CRL_METHOD_free; -+ ASN1_PCTX_get_nm_flags; -+ EVP_PKEY_meth_set_sign; -+ CRYPTO_THREADID_current; -+ EVP_PKEY_decrypt_init; -+ NETSCAPE_X509_free; -+ i2b_PVK_bio; -+ EVP_PKEY_print_private; -+ GENERAL_NAME_get0_value; -+ b2i_PVK_bio; -+ ASN1_UTCTIME_adj; -+ TS_TST_INFO_new; -+ EVP_MD_do_all_sorted; -+ TS_CONF_set_default_engine; -+ TS_ACCURACY_set_seconds; -+ TS_TST_INFO_get_time; -+ PKCS8_pkey_get0; -+ EVP_PKEY_asn1_get0; -+ OBJ_add_sigid; -+ PKCS7_SIGNER_INFO_sign; -+ EVP_PKEY_paramgen_init; -+ EVP_PKEY_sign; -+ OBJ_sigid_free; -+ EVP_PKEY_meth_set_init; -+ d2i_ESS_ISSUER_SERIAL; -+ ISSUING_DIST_POINT_new; -+ ASN1_TIME_adj; -+ TS_OBJ_print_bio; -+ EVP_PKEY_meth_set_verify_recover; -+ EVP_PKEY_meth_set_vrfy_recover; -+ TS_RESP_get_status_info; -+ CMS_stream; -+ EVP_PKEY_CTX_set_cb; -+ PKCS7_to_TS_TST_INFO; -+ ASN1_PCTX_get_oid_flags; -+ TS_TST_INFO_add_ext; -+ EVP_PKEY_meth_set_derive; -+ i2d_TS_RESP_fp; -+ i2d_TS_MSG_IMPRINT_bio; -+ TS_RESP_CTX_set_accuracy; -+ TS_REQ_set_nonce; -+ ESS_CERT_ID_new; -+ ENGINE_pkey_asn1_find_str; -+ TS_REQ_get_ext_count; -+ BUF_reverse; -+ TS_TST_INFO_print_bio; -+ d2i_ISSUING_DIST_POINT; -+ ENGINE_get_pkey_meths; -+ i2b_PrivateKey_bio; -+ i2d_TS_RESP; -+ b2i_PublicKey; -+ TS_VERIFY_CTX_cleanup; -+ TS_STATUS_INFO_free; -+ TS_RESP_verify_token; -+ OBJ_bsearch_ex_; -+ ASN1_bn_print; -+ EVP_PKEY_asn1_get_count; -+ ENGINE_register_pkey_asn1_meths; -+ ASN1_PCTX_set_nm_flags; -+ EVP_DigestVerifyInit; -+ ENGINE_set_default_pkey_meths; -+ TS_TST_INFO_get_policy_id; -+ TS_REQ_get_cert_req; -+ X509_CRL_set_meth_data; -+ PKCS8_pkey_set0; -+ ASN1_STRING_copy; -+ d2i_TS_TST_INFO_fp; -+ X509_CRL_match; -+ EVP_PKEY_asn1_set_private; -+ TS_TST_INFO_get_ext_d2i; -+ TS_RESP_CTX_add_policy; -+ d2i_TS_RESP; -+ TS_CONF_load_certs; -+ TS_TST_INFO_get_msg_imprint; -+ ERR_load_TS_strings; -+ TS_TST_INFO_get_version; -+ EVP_PKEY_CTX_dup; -+ EVP_PKEY_meth_set_verify; -+ i2b_PublicKey_bio; -+ TS_CONF_set_certs; -+ EVP_PKEY_asn1_get0_info; -+ TS_VERIFY_CTX_free; -+ TS_REQ_get_ext_by_critical; -+ TS_RESP_CTX_set_serial_cb; -+ X509_CRL_get_meth_data; -+ TS_RESP_CTX_set_time_cb; -+ TS_MSG_IMPRINT_get_msg; -+ TS_TST_INFO_ext_free; -+ TS_REQ_get_version; -+ TS_REQ_add_ext; -+ EVP_PKEY_CTX_set_app_data; -+ OBJ_bsearch_; -+ EVP_PKEY_meth_set_verifyctx; -+ i2d_PKCS7_bio_stream; -+ CRYPTO_THREADID_set_numeric; -+ PKCS7_sign_add_signer; -+ d2i_TS_TST_INFO_bio; -+ TS_TST_INFO_get_ordering; -+ TS_RESP_print_bio; -+ TS_TST_INFO_get_exts; -+ HMAC_CTX_copy; -+ PKCS5_pbe2_set_iv; -+ ENGINE_get_pkey_asn1_meths; -+ b2i_PrivateKey; -+ EVP_PKEY_CTX_get_app_data; -+ TS_REQ_set_cert_req; -+ CRYPTO_THREADID_set_callback; -+ TS_CONF_set_serial; -+ TS_TST_INFO_free; -+ d2i_TS_REQ_fp; -+ TS_RESP_verify_response; -+ i2d_ESS_ISSUER_SERIAL; -+ TS_ACCURACY_get_seconds; -+ EVP_CIPHER_do_all; -+ b2i_PrivateKey_bio; -+ OCSP_CERTID_dup; -+ X509_PUBKEY_get0_param; -+ TS_MSG_IMPRINT_dup; -+ PKCS7_print_ctx; -+ i2d_TS_REQ_bio; -+ EVP_whirlpool; -+ EVP_PKEY_asn1_set_param; -+ EVP_PKEY_meth_set_encrypt; -+ ASN1_PCTX_set_flags; -+ i2d_ESS_CERT_ID; -+ TS_VERIFY_CTX_new; -+ TS_RESP_CTX_set_extension_cb; -+ ENGINE_register_all_pkey_meths; -+ TS_RESP_CTX_set_status_info_cond; -+ TS_RESP_CTX_set_stat_info_cond; -+ EVP_PKEY_verify; -+ WHIRLPOOL_Final; -+ X509_CRL_METHOD_new; -+ EVP_DigestSignFinal; -+ TS_RESP_CTX_set_def_policy; -+ NETSCAPE_X509_it; -+ TS_RESP_create_response; -+ PKCS7_SIGNER_INFO_get0_algs; -+ TS_TST_INFO_get_nonce; -+ EVP_PKEY_decrypt_old; -+ TS_TST_INFO_set_policy_id; -+ TS_CONF_set_ess_cert_id_chain; -+ EVP_PKEY_CTX_get0_pkey; -+ d2i_TS_REQ; -+ EVP_PKEY_asn1_find_str; -+ BIO_f_asn1; -+ ESS_SIGNING_CERT_new; -+ EVP_PBE_find; -+ X509_CRL_get0_by_cert; -+ EVP_PKEY_derive; -+ i2d_TS_REQ; -+ TS_TST_INFO_delete_ext; -+ ESS_ISSUER_SERIAL_free; -+ ASN1_PCTX_set_str_flags; -+ ENGINE_get_pkey_asn1_meth_str; -+ TS_CONF_set_signer_key; -+ TS_ACCURACY_get_millis; -+ TS_RESP_get_token; -+ TS_ACCURACY_dup; -+ ENGINE_register_all_pkey_asn1_meths; -+ ENGINE_reg_all_pkey_asn1_meths; -+ X509_CRL_set_default_method; -+ CRYPTO_THREADID_hash; -+ CMS_ContentInfo_print_ctx; -+ TS_RESP_free; -+ ISSUING_DIST_POINT_free; -+ ESS_ISSUER_SERIAL_new; -+ CMS_add1_crl; -+ PKCS7_add1_attrib_digest; -+ TS_RESP_CTX_add_md; -+ TS_TST_INFO_dup; -+ ENGINE_set_pkey_asn1_meths; -+ PEM_write_bio_Parameters; -+ TS_TST_INFO_get_accuracy; -+ X509_CRL_get0_by_serial; -+ TS_TST_INFO_set_version; -+ TS_RESP_CTX_get_tst_info; -+ TS_RESP_verify_signature; -+ CRYPTO_THREADID_get_callback; -+ TS_TST_INFO_get_tsa; -+ TS_STATUS_INFO_new; -+ EVP_PKEY_CTX_get_cb; -+ TS_REQ_get_ext_d2i; -+ GENERAL_NAME_set0_othername; -+ TS_TST_INFO_get_ext_count; -+ TS_RESP_CTX_get_request; -+ i2d_NETSCAPE_X509; -+ ENGINE_get_pkey_meth_engine; -+ EVP_PKEY_meth_set_signctx; -+ EVP_PKEY_asn1_copy; -+ ASN1_TYPE_cmp; -+ EVP_CIPHER_do_all_sorted; -+ EVP_PKEY_CTX_free; -+ ISSUING_DIST_POINT_it; -+ d2i_TS_MSG_IMPRINT_fp; -+ X509_STORE_get1_certs; -+ EVP_PKEY_CTX_get_operation; -+ d2i_ESS_SIGNING_CERT; -+ TS_CONF_set_ordering; -+ EVP_PBE_alg_add_type; -+ TS_REQ_set_version; -+ EVP_PKEY_get0; -+ BIO_asn1_set_suffix; -+ i2d_TS_STATUS_INFO; -+ EVP_MD_do_all; -+ TS_TST_INFO_set_accuracy; -+ PKCS7_add_attrib_content_type; -+ ERR_remove_thread_state; -+ EVP_PKEY_meth_add0; -+ TS_TST_INFO_set_tsa; -+ EVP_PKEY_meth_new; -+ WHIRLPOOL_Update; -+ TS_CONF_set_accuracy; -+ ASN1_PCTX_set_oid_flags; -+ ESS_SIGNING_CERT_dup; -+ d2i_TS_REQ_bio; -+ X509_time_adj_ex; -+ TS_RESP_CTX_add_flags; -+ d2i_TS_STATUS_INFO; -+ TS_MSG_IMPRINT_set_msg; -+ BIO_asn1_get_suffix; -+ TS_REQ_free; -+ EVP_PKEY_meth_free; -+ TS_REQ_get_exts; -+ TS_RESP_CTX_set_clock_precision_digits; -+ TS_RESP_CTX_set_clk_prec_digits; -+ TS_RESP_CTX_add_failure_info; -+ i2d_TS_RESP_bio; -+ EVP_PKEY_CTX_get0_peerkey; -+ PEM_write_bio_CMS_stream; -+ TS_REQ_new; -+ TS_MSG_IMPRINT_new; -+ EVP_PKEY_meth_find; -+ EVP_PKEY_id; -+ TS_TST_INFO_set_serial; -+ a2i_GENERAL_NAME; -+ TS_CONF_set_crypto_device; -+ EVP_PKEY_verify_init; -+ TS_CONF_set_policies; -+ ASN1_PCTX_new; -+ ESS_CERT_ID_free; -+ ENGINE_unregister_pkey_meths; -+ TS_MSG_IMPRINT_free; -+ TS_VERIFY_CTX_init; -+ PKCS7_stream; -+ TS_RESP_CTX_set_certs; -+ TS_CONF_set_def_policy; -+ ASN1_GENERALIZEDTIME_adj; -+ NETSCAPE_X509_new; -+ TS_ACCURACY_free; -+ TS_RESP_get_tst_info; -+ EVP_PKEY_derive_set_peer; -+ PEM_read_bio_Parameters; -+ TS_CONF_set_clock_precision_digits; -+ TS_CONF_set_clk_prec_digits; -+ ESS_ISSUER_SERIAL_dup; -+ TS_ACCURACY_get_micros; -+ ASN1_PCTX_get_str_flags; -+ NAME_CONSTRAINTS_check; -+ ASN1_BIT_STRING_check; -+ X509_check_akid; -+ ENGINE_unregister_pkey_asn1_meths; -+ ENGINE_unreg_pkey_asn1_meths; -+ ASN1_PCTX_free; -+ PEM_write_bio_ASN1_stream; -+ i2d_ASN1_bio_stream; -+ TS_X509_ALGOR_print_bio; -+ EVP_PKEY_meth_set_cleanup; -+ EVP_PKEY_asn1_free; -+ ESS_SIGNING_CERT_free; -+ TS_TST_INFO_set_msg_imprint; -+ GENERAL_NAME_cmp; -+ d2i_ASN1_SET_ANY; -+ ENGINE_set_pkey_meths; -+ i2d_TS_REQ_fp; -+ d2i_ASN1_SEQUENCE_ANY; -+ GENERAL_NAME_get0_otherName; -+ d2i_ESS_CERT_ID; -+ OBJ_find_sigid_algs; -+ EVP_PKEY_meth_set_keygen; -+ PKCS5_PBKDF2_HMAC; -+ EVP_PKEY_paramgen; -+ EVP_PKEY_meth_set_paramgen; -+ BIO_new_PKCS7; -+ EVP_PKEY_verify_recover; -+ TS_ext_print_bio; -+ TS_ASN1_INTEGER_print_bio; -+ check_defer; -+ DSO_pathbyaddr; -+ EVP_PKEY_set_type; -+ TS_ACCURACY_set_micros; -+ TS_REQ_to_TS_VERIFY_CTX; -+ EVP_PKEY_meth_set_copy; -+ ASN1_PCTX_set_cert_flags; -+ TS_TST_INFO_get_ext; -+ EVP_PKEY_asn1_set_ctrl; -+ TS_TST_INFO_get_ext_by_critical; -+ EVP_PKEY_CTX_new_id; -+ TS_REQ_get_ext_by_OBJ; -+ TS_CONF_set_signer_cert; -+ X509_NAME_hash_old; -+ ASN1_TIME_set_string; -+ EVP_MD_flags; -+ TS_RESP_CTX_free; -+ DSAparams_dup; -+ DHparams_dup; -+ OCSP_REQ_CTX_add1_header; -+ OCSP_REQ_CTX_set1_req; -+ X509_STORE_set_verify_cb; -+ X509_STORE_CTX_get0_current_crl; -+ X509_STORE_CTX_get0_parent_ctx; -+ X509_STORE_CTX_get0_current_issuer; -+ X509_STORE_CTX_get0_cur_issuer; -+ X509_issuer_name_hash_old; -+ X509_subject_name_hash_old; -+ EVP_CIPHER_CTX_copy; -+ UI_method_get_prompt_constructor; -+ UI_method_get_prompt_constructr; -+ UI_method_set_prompt_constructor; -+ UI_method_set_prompt_constructr; -+ EVP_read_pw_string_min; -+ CRYPTO_cts128_encrypt; -+ CRYPTO_cts128_decrypt_block; -+ CRYPTO_cfb128_1_encrypt; -+ CRYPTO_cbc128_encrypt; -+ CRYPTO_ctr128_encrypt; -+ CRYPTO_ofb128_encrypt; -+ CRYPTO_cts128_decrypt; -+ CRYPTO_cts128_encrypt_block; -+ CRYPTO_cbc128_decrypt; -+ CRYPTO_cfb128_encrypt; -+ CRYPTO_cfb128_8_encrypt; -+ SSL_renegotiate_abbreviated; -+ TLSv1_1_method; -+ TLSv1_1_client_method; -+ TLSv1_1_server_method; -+ SSL_CTX_set_srp_client_pwd_callback; -+ SSL_CTX_set_srp_client_pwd_cb; -+ SSL_get_srp_g; -+ SSL_CTX_set_srp_username_callback; -+ SSL_CTX_set_srp_un_cb; -+ SSL_get_srp_userinfo; -+ SSL_set_srp_server_param; -+ SSL_set_srp_server_param_pw; -+ SSL_get_srp_N; -+ SSL_get_srp_username; -+ SSL_CTX_set_srp_password; -+ SSL_CTX_set_srp_strength; -+ SSL_CTX_set_srp_verify_param_callback; -+ SSL_CTX_set_srp_vfy_param_cb; -+ SSL_CTX_set_srp_cb_arg; -+ SSL_CTX_set_srp_username; -+ SSL_CTX_SRP_CTX_init; -+ SSL_SRP_CTX_init; -+ SRP_Calc_A_param; -+ SRP_generate_server_master_secret; -+ SRP_gen_server_master_secret; -+ SSL_CTX_SRP_CTX_free; -+ SRP_generate_client_master_secret; -+ SRP_gen_client_master_secret; -+ SSL_srp_server_param_with_username; -+ SSL_srp_server_param_with_un; -+ SSL_SRP_CTX_free; -+ SSL_set_debug; -+ SSL_SESSION_get0_peer; -+ TLSv1_2_client_method; -+ SSL_SESSION_set1_id_context; -+ TLSv1_2_server_method; -+ SSL_cache_hit; -+ SSL_get0_kssl_ctx; -+ SSL_set0_kssl_ctx; -+ SSL_set_state; -+ SSL_CIPHER_get_id; -+ TLSv1_2_method; -+ kssl_ctx_get0_client_princ; -+ SSL_export_keying_material; -+ SSL_set_tlsext_use_srtp; -+ SSL_CTX_set_next_protos_advertised_cb; -+ SSL_CTX_set_next_protos_adv_cb; -+ SSL_get0_next_proto_negotiated; -+ SSL_get_selected_srtp_profile; -+ SSL_CTX_set_tlsext_use_srtp; -+ SSL_select_next_proto; -+ SSL_get_srtp_profiles; -+ SSL_CTX_set_next_proto_select_cb; -+ SSL_CTX_set_next_proto_sel_cb; -+ SSL_SESSION_get_compress_id; -+ -+ SRP_VBASE_get_by_user; -+ SRP_Calc_server_key; -+ SRP_create_verifier; -+ SRP_create_verifier_BN; -+ SRP_Calc_u; -+ SRP_VBASE_free; -+ SRP_Calc_client_key; -+ SRP_get_default_gN; -+ SRP_Calc_x; -+ SRP_Calc_B; -+ SRP_VBASE_new; -+ SRP_check_known_gN_param; -+ SRP_Calc_A; -+ SRP_Verify_A_mod_N; -+ SRP_VBASE_init; -+ SRP_Verify_B_mod_N; -+ EC_KEY_set_public_key_affine_coordinates; -+ EC_KEY_set_pub_key_aff_coords; -+ EVP_aes_192_ctr; -+ EVP_PKEY_meth_get0_info; -+ EVP_PKEY_meth_copy; -+ ERR_add_error_vdata; -+ EVP_aes_128_ctr; -+ EVP_aes_256_ctr; -+ EC_GFp_nistp224_method; -+ EC_KEY_get_flags; -+ RSA_padding_add_PKCS1_PSS_mgf1; -+ EVP_aes_128_xts; -+ EVP_aes_256_xts; -+ EVP_aes_128_gcm; -+ EC_KEY_clear_flags; -+ EC_KEY_set_flags; -+ EVP_aes_256_ccm; -+ RSA_verify_PKCS1_PSS_mgf1; -+ EVP_aes_128_ccm; -+ EVP_aes_192_gcm; -+ X509_ALGOR_set_md; -+ RAND_init_fips; -+ EVP_aes_256_gcm; -+ EVP_aes_192_ccm; -+ CMAC_CTX_copy; -+ CMAC_CTX_free; -+ CMAC_CTX_get0_cipher_ctx; -+ CMAC_CTX_cleanup; -+ CMAC_Init; -+ CMAC_Update; -+ CMAC_resume; -+ CMAC_CTX_new; -+ CMAC_Final; -+ CRYPTO_ctr128_encrypt_ctr32; -+ CRYPTO_gcm128_release; -+ CRYPTO_ccm128_decrypt_ccm64; -+ CRYPTO_ccm128_encrypt; -+ CRYPTO_gcm128_encrypt; -+ CRYPTO_xts128_encrypt; -+ EVP_rc4_hmac_md5; -+ CRYPTO_nistcts128_decrypt_block; -+ CRYPTO_gcm128_setiv; -+ CRYPTO_nistcts128_encrypt; -+ EVP_aes_128_cbc_hmac_sha1; -+ CRYPTO_gcm128_tag; -+ CRYPTO_ccm128_encrypt_ccm64; -+ ENGINE_load_rdrand; -+ CRYPTO_ccm128_setiv; -+ CRYPTO_nistcts128_encrypt_block; -+ CRYPTO_gcm128_aad; -+ CRYPTO_ccm128_init; -+ CRYPTO_nistcts128_decrypt; -+ CRYPTO_gcm128_new; -+ CRYPTO_ccm128_tag; -+ CRYPTO_ccm128_decrypt; -+ CRYPTO_ccm128_aad; -+ CRYPTO_gcm128_init; -+ CRYPTO_gcm128_decrypt; -+ ENGINE_load_rsax; -+ CRYPTO_gcm128_decrypt_ctr32; -+ CRYPTO_gcm128_encrypt_ctr32; -+ CRYPTO_gcm128_finish; -+ EVP_aes_256_cbc_hmac_sha1; -+ PKCS5_pbkdf2_set; -+ CMS_add0_recipient_password; -+ CMS_decrypt_set1_password; -+ CMS_RecipientInfo_set0_password; -+ RAND_set_fips_drbg_type; -+ X509_REQ_sign_ctx; -+ RSA_PSS_PARAMS_new; -+ X509_CRL_sign_ctx; -+ X509_signature_dump; -+ d2i_RSA_PSS_PARAMS; -+ RSA_PSS_PARAMS_it; -+ RSA_PSS_PARAMS_free; -+ X509_sign_ctx; -+ i2d_RSA_PSS_PARAMS; -+ ASN1_item_sign_ctx; -+ EC_GFp_nistp521_method; -+ EC_GFp_nistp256_method; -+ OPENSSL_stderr; -+ OPENSSL_cpuid_setup; -+ OPENSSL_showfatal; -+ BIO_new_dgram_sctp; -+ BIO_dgram_sctp_msg_waiting; -+ BIO_dgram_sctp_wait_for_dry; -+ BIO_s_datagram_sctp; -+ BIO_dgram_is_sctp; -+ BIO_dgram_sctp_notification_cb; -+ CRYPTO_memcmp; -+ SSL_CTX_set_alpn_protos; -+ SSL_set_alpn_protos; -+ SSL_CTX_set_alpn_select_cb; -+ SSL_get0_alpn_selected; -+ SSL_CTX_set_custom_cli_ext; -+ SSL_CTX_set_custom_srv_ext; -+ SSL_CTX_set_srv_supp_data; -+ SSL_CTX_set_cli_supp_data; -+ SSL_set_cert_cb; -+ SSL_CTX_use_serverinfo; -+ SSL_CTX_use_serverinfo_file; -+ SSL_CTX_set_cert_cb; -+ SSL_CTX_get0_param; -+ SSL_get0_param; -+ SSL_certs_clear; -+ DTLSv1_2_method; -+ DTLSv1_2_server_method; -+ DTLSv1_2_client_method; -+ DTLS_method; -+ DTLS_server_method; -+ DTLS_client_method; -+ SSL_CTX_get_ssl_method; -+ SSL_CTX_get0_certificate; -+ SSL_CTX_get0_privatekey; -+ SSL_COMP_set0_compression_methods; -+ SSL_COMP_free_compression_methods; -+ SSL_CIPHER_find; -+ SSL_is_server; -+ SSL_CONF_CTX_new; -+ SSL_CONF_CTX_finish; -+ SSL_CONF_CTX_free; -+ SSL_CONF_CTX_set_flags; -+ SSL_CONF_CTX_clear_flags; -+ SSL_CONF_CTX_set1_prefix; -+ SSL_CONF_CTX_set_ssl; -+ SSL_CONF_CTX_set_ssl_ctx; -+ SSL_CONF_cmd; -+ SSL_CONF_cmd_argv; -+ SSL_CONF_cmd_value_type; -+ SSL_trace; -+ SSL_CIPHER_standard_name; -+ SSL_get_tlsa_record_byname; -+ ASN1_TIME_diff; -+ BIO_hex_string; -+ CMS_RecipientInfo_get0_pkey_ctx; -+ CMS_RecipientInfo_encrypt; -+ CMS_SignerInfo_get0_pkey_ctx; -+ CMS_SignerInfo_get0_md_ctx; -+ CMS_SignerInfo_get0_signature; -+ CMS_RecipientInfo_kari_get0_alg; -+ CMS_RecipientInfo_kari_get0_reks; -+ CMS_RecipientInfo_kari_get0_orig_id; -+ CMS_RecipientInfo_kari_orig_id_cmp; -+ CMS_RecipientEncryptedKey_get0_id; -+ CMS_RecipientEncryptedKey_cert_cmp; -+ CMS_RecipientInfo_kari_set0_pkey; -+ CMS_RecipientInfo_kari_get0_ctx; -+ CMS_RecipientInfo_kari_decrypt; -+ CMS_SharedInfo_encode; -+ DH_compute_key_padded; -+ d2i_DHxparams; -+ i2d_DHxparams; -+ DH_get_1024_160; -+ DH_get_2048_224; -+ DH_get_2048_256; -+ DH_KDF_X9_42; -+ ECDH_KDF_X9_62; -+ ECDSA_METHOD_new; -+ ECDSA_METHOD_free; -+ ECDSA_METHOD_set_app_data; -+ ECDSA_METHOD_get_app_data; -+ ECDSA_METHOD_set_sign; -+ ECDSA_METHOD_set_sign_setup; -+ ECDSA_METHOD_set_verify; -+ ECDSA_METHOD_set_flags; -+ ECDSA_METHOD_set_name; -+ EVP_des_ede3_wrap; -+ EVP_aes_128_wrap; -+ EVP_aes_192_wrap; -+ EVP_aes_256_wrap; -+ EVP_aes_128_cbc_hmac_sha256; -+ EVP_aes_256_cbc_hmac_sha256; -+ CRYPTO_128_wrap; -+ CRYPTO_128_unwrap; -+ OCSP_REQ_CTX_nbio; -+ OCSP_REQ_CTX_new; -+ OCSP_set_max_response_length; -+ OCSP_REQ_CTX_i2d; -+ OCSP_REQ_CTX_nbio_d2i; -+ OCSP_REQ_CTX_get0_mem_bio; -+ OCSP_REQ_CTX_http; -+ RSA_padding_add_PKCS1_OAEP_mgf1; -+ RSA_padding_check_PKCS1_OAEP_mgf1; -+ RSA_OAEP_PARAMS_free; -+ RSA_OAEP_PARAMS_it; -+ RSA_OAEP_PARAMS_new; -+ SSL_get_sigalgs; -+ SSL_get_shared_sigalgs; -+ SSL_check_chain; -+ X509_chain_up_ref; -+ X509_http_nbio; -+ X509_CRL_http_nbio; -+ X509_REVOKED_dup; -+ i2d_re_X509_tbs; -+ X509_get0_signature; -+ X509_get_signature_nid; -+ X509_CRL_diff; -+ X509_chain_check_suiteb; -+ X509_CRL_check_suiteb; -+ X509_check_host; -+ X509_check_email; -+ X509_check_ip; -+ X509_check_ip_asc; -+ X509_STORE_set_lookup_crls_cb; -+ X509_STORE_CTX_get0_store; -+ X509_VERIFY_PARAM_set1_host; -+ X509_VERIFY_PARAM_add1_host; -+ X509_VERIFY_PARAM_set_hostflags; -+ X509_VERIFY_PARAM_get0_peername; -+ X509_VERIFY_PARAM_set1_email; -+ X509_VERIFY_PARAM_set1_ip; -+ X509_VERIFY_PARAM_set1_ip_asc; -+ X509_VERIFY_PARAM_get0_name; -+ X509_VERIFY_PARAM_get_count; -+ X509_VERIFY_PARAM_get0; -+ X509V3_EXT_free; -+ EC_GROUP_get_mont_data; -+ EC_curve_nid2nist; -+ EC_curve_nist2nid; -+ PEM_write_bio_DHxparams; -+ PEM_write_DHxparams; -+ SSL_CTX_add_client_custom_ext; -+ SSL_CTX_add_server_custom_ext; -+ SSL_extension_supported; -+ BUF_strnlen; -+ sk_deep_copy; -+ SSL_test_functions; -+ -+ local: -+ *; -+}; -+ -+OPENSSL_1.0.2g { -+ global: -+ SRP_VBASE_get1_by_user; -+ SRP_user_pwd_free; -+} OPENSSL_1.0.2d; -+ -Index: openssl-1.0.2~beta1.obsolete.0.0498436515490575/engines/openssl.ld -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ openssl-1.0.2~beta1.obsolete.0.0498436515490575/engines/openssl.ld 2014-02-24 21:02:30.000000000 +0100 -@@ -0,0 +1,10 @@ -+OPENSSL_1.0.2 { -+ global: -+ bind_engine; -+ v_check; -+ OPENSSL_init; -+ OPENSSL_finish; -+ local: -+ *; -+}; -+ -Index: openssl-1.0.2~beta1.obsolete.0.0498436515490575/engines/ccgost/openssl.ld -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ openssl-1.0.2~beta1.obsolete.0.0498436515490575/engines/ccgost/openssl.ld 2014-02-24 21:02:30.000000000 +0100 -@@ -0,0 +1,10 @@ -+OPENSSL_1.0.2 { -+ global: -+ bind_engine; -+ v_check; -+ OPENSSL_init; -+ OPENSSL_finish; -+ local: -+ *; -+}; -+ diff --git a/poky/meta/recipes-connectivity/openssl/openssl10/engines-install-in-libdir-ssl.patch b/poky/meta/recipes-connectivity/openssl/openssl10/engines-install-in-libdir-ssl.patch deleted file mode 100644 index a5746483e..000000000 --- a/poky/meta/recipes-connectivity/openssl/openssl10/engines-install-in-libdir-ssl.patch +++ /dev/null @@ -1,64 +0,0 @@ -Upstream-Status: Inappropriate [configuration] - - -Index: openssl-1.0.2/engines/Makefile -=================================================================== ---- openssl-1.0.2.orig/engines/Makefile -+++ openssl-1.0.2/engines/Makefile -@@ -107,13 +107,13 @@ install: - @[ -n "$(INSTALLTOP)" ] # should be set by top Makefile... - @if [ -n "$(SHARED_LIBS)" ]; then \ - set -e; \ -- $(PERL) $(TOP)/util/mkdir-p.pl $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines; \ -+ $(PERL) $(TOP)/util/mkdir-p.pl $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/ssl/engines; \ - for l in $(LIBNAMES); do \ - ( echo installing $$l; \ - pfx=lib; \ - if expr "$(PLATFORM)" : "Cygwin" >/dev/null; then \ - sfx=".so"; \ -- cp cyg$$l.dll $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$$pfx$$l$$sfx.new; \ -+ cp cyg$$l.dll $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/ssl/engines/$$pfx$$l$$sfx.new; \ - else \ - case "$(CFLAGS)" in \ - *DSO_BEOS*) sfx=".so";; \ -@@ -122,10 +122,10 @@ install: - *DSO_WIN32*) sfx="eay32.dll"; pfx=;; \ - *) sfx=".bad";; \ - esac; \ -- cp $$pfx$$l$$sfx $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$$pfx$$l$$sfx.new; \ -+ cp $$pfx$$l$$sfx $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/ssl/engines/$$pfx$$l$$sfx.new; \ - fi; \ -- chmod 555 $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$$pfx$$l$$sfx.new; \ -- mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$$pfx$$l$$sfx.new $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$$pfx$$l$$sfx ); \ -+ chmod 555 $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/ssl/engines/$$pfx$$l$$sfx.new; \ -+ mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/ssl/engines/$$pfx$$l$$sfx.new $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/ssl/engines/$$pfx$$l$$sfx ); \ - done; \ - fi - @target=install; $(RECURSIVE_MAKE) -Index: openssl-1.0.2/engines/ccgost/Makefile -=================================================================== ---- openssl-1.0.2.orig/engines/ccgost/Makefile -+++ openssl-1.0.2/engines/ccgost/Makefile -@@ -47,7 +47,7 @@ install: - pfx=lib; \ - if expr "$(PLATFORM)" : "Cygwin" >/dev/null; then \ - sfx=".so"; \ -- cp cyg$(LIBNAME).dll $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$${pfx}$(LIBNAME)$$sfx.new; \ -+ cp cyg$(LIBNAME).dll $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/ssl/engines/$${pfx}$(LIBNAME)$$sfx.new; \ - else \ - case "$(CFLAGS)" in \ - *DSO_BEOS*) sfx=".so";; \ -@@ -56,10 +56,10 @@ install: - *DSO_WIN32*) sfx="eay32.dll"; pfx=;; \ - *) sfx=".bad";; \ - esac; \ -- cp $${pfx}$(LIBNAME)$$sfx $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$${pfx}$(LIBNAME)$$sfx.new; \ -+ cp $${pfx}$(LIBNAME)$$sfx $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/ssl/engines/$${pfx}$(LIBNAME)$$sfx.new; \ - fi; \ -- chmod 555 $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$${pfx}$(LIBNAME)$$sfx.new; \ -- mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$${pfx}$(LIBNAME)$$sfx.new $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$${pfx}$(LIBNAME)$$sfx; \ -+ chmod 555 $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/ssl/engines/$${pfx}$(LIBNAME)$$sfx.new; \ -+ mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/ssl/engines/$${pfx}$(LIBNAME)$$sfx.new $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/ssl/engines/$${pfx}$(LIBNAME)$$sfx; \ - fi - - links: diff --git a/poky/meta/recipes-connectivity/openssl/openssl10/oe-ldflags.patch b/poky/meta/recipes-connectivity/openssl/openssl10/oe-ldflags.patch deleted file mode 100644 index 292e13dc5..000000000 --- a/poky/meta/recipes-connectivity/openssl/openssl10/oe-ldflags.patch +++ /dev/null @@ -1,24 +0,0 @@ -Upstream-Status: Inappropriate [open-embedded] - -Index: openssl-1.0.0/Makefile.shared -=================================================================== ---- openssl-1.0.0.orig/Makefile.shared -+++ openssl-1.0.0/Makefile.shared -@@ -92,7 +92,7 @@ - LINK_APP= \ - ( $(SET_X); \ - LIBDEPS="$${LIBDEPS:-$(LIBDEPS)}"; \ -- LDCMD="$${LDCMD:-$(CC)}"; LDFLAGS="$${LDFLAGS:-$(CFLAGS)}"; \ -+ LDCMD="$${LDCMD:-$(CC)}"; LDFLAGS="$(OE_LDFLAGS) $${LDFLAGS:-$(CFLAGS)}"; \ - LIBPATH=`for x in $$LIBDEPS; do echo $$x; done | sed -e 's/^ *-L//;t' -e d | uniq`; \ - LIBPATH=`echo $$LIBPATH | sed -e 's/ /:/g'`; \ - LD_LIBRARY_PATH=$$LIBPATH:$$LD_LIBRARY_PATH \ -@@ -102,7 +102,7 @@ - ( $(SET_X); \ - LIBDEPS="$${LIBDEPS:-$(LIBDEPS)}"; \ - SHAREDCMD="$${SHAREDCMD:-$(CC)}"; \ -- SHAREDFLAGS="$${SHAREDFLAGS:-$(CFLAGS) $(SHARED_LDFLAGS)}"; \ -+ SHAREDFLAGS="$(OE_LDFLAGS) $${SHAREDFLAGS:-$(CFLAGS) $(SHARED_LDFLAGS)}"; \ - LIBPATH=`for x in $$LIBDEPS; do echo $$x; done | sed -e 's/^ *-L//;t' -e d | uniq`; \ - LIBPATH=`echo $$LIBPATH | sed -e 's/ /:/g'`; \ - LD_LIBRARY_PATH=$$LIBPATH:$$LD_LIBRARY_PATH \ diff --git a/poky/meta/recipes-connectivity/openssl/openssl10/openssl-c_rehash.sh b/poky/meta/recipes-connectivity/openssl/openssl10/openssl-c_rehash.sh deleted file mode 100644 index 6620fdcb5..000000000 --- a/poky/meta/recipes-connectivity/openssl/openssl10/openssl-c_rehash.sh +++ /dev/null @@ -1,222 +0,0 @@ -#!/bin/sh -# -# Ben Secrest <blsecres@gmail.com> -# -# sh c_rehash script, scan all files in a directory -# and add symbolic links to their hash values. -# -# based on the c_rehash perl script distributed with openssl -# -# LICENSE: See OpenSSL license -# ^^acceptable?^^ -# - -# default certificate location -DIR=/etc/openssl - -# for filetype bitfield -IS_CERT=$(( 1 << 0 )) -IS_CRL=$(( 1 << 1 )) - - -# check to see if a file is a certificate file or a CRL file -# arguments: -# 1. the filename to be scanned -# returns: -# bitfield of file type; uses ${IS_CERT} and ${IS_CRL} -# -check_file() -{ - local IS_TYPE=0 - - # make IFS a newline so we can process grep output line by line - local OLDIFS=${IFS} - IFS=$( printf "\n" ) - - # XXX: could be more efficient to have two 'grep -m' but is -m portable? - for LINE in $( grep '^-----BEGIN .*-----' ${1} ) - do - if echo ${LINE} \ - | grep -q -E '^-----BEGIN (X509 |TRUSTED )?CERTIFICATE-----' - then - IS_TYPE=$(( ${IS_TYPE} | ${IS_CERT} )) - - if [ $(( ${IS_TYPE} & ${IS_CRL} )) -ne 0 ] - then - break - fi - elif echo ${LINE} | grep -q '^-----BEGIN X509 CRL-----' - then - IS_TYPE=$(( ${IS_TYPE} | ${IS_CRL} )) - - if [ $(( ${IS_TYPE} & ${IS_CERT} )) -ne 0 ] - then - break - fi - fi - done - - # restore IFS - IFS=${OLDIFS} - - return ${IS_TYPE} -} - - -# -# use openssl to fingerprint a file -# arguments: -# 1. the filename to fingerprint -# 2. the method to use (x509, crl) -# returns: -# none -# assumptions: -# user will capture output from last stage of pipeline -# -fingerprint() -{ - ${SSL_CMD} ${2} -fingerprint -noout -in ${1} | sed 's/^.*=//' | tr -d ':' -} - - -# -# link_hash - create links to certificate files -# arguments: -# 1. the filename to create a link for -# 2. the type of certificate being linked (x509, crl) -# returns: -# 0 on success, 1 otherwise -# -link_hash() -{ - local FINGERPRINT=$( fingerprint ${1} ${2} ) - local HASH=$( ${SSL_CMD} ${2} -hash -noout -in ${1} ) - local SUFFIX=0 - local LINKFILE='' - local TAG='' - - if [ ${2} = "crl" ] - then - TAG='r' - fi - - LINKFILE=${HASH}.${TAG}${SUFFIX} - - while [ -f ${LINKFILE} ] - do - if [ ${FINGERPRINT} = $( fingerprint ${LINKFILE} ${2} ) ] - then - echo "NOTE: Skipping duplicate file ${1}" >&2 - return 1 - fi - - SUFFIX=$(( ${SUFFIX} + 1 )) - LINKFILE=${HASH}.${TAG}${SUFFIX} - done - - echo "${3} => ${LINKFILE}" - - # assume any system with a POSIX shell will either support symlinks or - # do something to handle this gracefully - ln -s ${3} ${LINKFILE} - - return 0 -} - - -# hash_dir create hash links in a given directory -hash_dir() -{ - echo "Doing ${1}" - - cd ${1} - - ls -1 * 2>/dev/null | while read FILE - do - if echo ${FILE} | grep -q -E '^[[:xdigit:]]{8}\.r?[[:digit:]]+$' \ - && [ -h "${FILE}" ] - then - rm ${FILE} - fi - done - - ls -1 *.pem *.cer *.crt *.crl 2>/dev/null | while read FILE - do - REAL_FILE=${FILE} - # if we run on build host then get to the real files in rootfs - if [ -n "${SYSROOT}" -a -h ${FILE} ] - then - FILE=$( readlink ${FILE} ) - # check the symlink is absolute (or dangling in other word) - if [ "x/" = "x$( echo ${FILE} | cut -c1 -)" ] - then - REAL_FILE=${SYSROOT}/${FILE} - fi - fi - - check_file ${REAL_FILE} - local FILE_TYPE=${?} - local TYPE_STR='' - - if [ $(( ${FILE_TYPE} & ${IS_CERT} )) -ne 0 ] - then - TYPE_STR='x509' - elif [ $(( ${FILE_TYPE} & ${IS_CRL} )) -ne 0 ] - then - TYPE_STR='crl' - else - echo "NOTE: ${FILE} does not contain a certificate or CRL: skipping" >&2 - continue - fi - - link_hash ${REAL_FILE} ${TYPE_STR} ${FILE} - done -} - - -# choose the name of an ssl application -if [ -n "${OPENSSL}" ] -then - SSL_CMD=$(which ${OPENSSL} 2>/dev/null) -else - SSL_CMD=/usr/bin/openssl - OPENSSL=${SSL_CMD} - export OPENSSL -fi - -# fix paths -PATH=${PATH}:${DIR}/bin -export PATH - -# confirm existance/executability of ssl command -if ! [ -x ${SSL_CMD} ] -then - echo "${0}: rehashing skipped ('openssl' program not available)" >&2 - exit 0 -fi - -# determine which directories to process -old_IFS=$IFS -if [ ${#} -gt 0 ] -then - IFS=':' - DIRLIST=${*} -elif [ -n "${SSL_CERT_DIR}" ] -then - DIRLIST=$SSL_CERT_DIR -else - DIRLIST=${DIR}/certs -fi - -IFS=':' - -# process directories -for CERT_DIR in ${DIRLIST} -do - if [ -d ${CERT_DIR} -a -w ${CERT_DIR} ] - then - IFS=$old_IFS - hash_dir ${CERT_DIR} - IFS=':' - fi -done diff --git a/poky/meta/recipes-connectivity/openssl/openssl10/openssl-fix-des.pod-error.patch b/poky/meta/recipes-connectivity/openssl/openssl10/openssl-fix-des.pod-error.patch deleted file mode 100644 index de49729e5..000000000 --- a/poky/meta/recipes-connectivity/openssl/openssl10/openssl-fix-des.pod-error.patch +++ /dev/null @@ -1,19 +0,0 @@ -openssl: Fix pod2man des.pod error on Ubuntu 12.04 - -This is a formatting fix, '=back' is required before -'=head1' on Ubuntu 12.04. - -Upstream-Status: Pending -Signed-off-by: Baogen Shang <baogen.shang@windriver.com> -diff -urpN a_origin/des.pod b_modify/des.pod ---- a_origin/crypto/des/des.pod 2013-08-15 15:02:56.211674589 +0800 -+++ b_modify/crypto/des/des.pod 2013-08-15 15:04:14.439674580 +0800 -@@ -181,6 +181,8 @@ the uuencoded file to embed in the begin - output. If there is no name specified after the B<-u>, the name text.des - will be embedded in the header. - -+=back -+ - =head1 SEE ALSO - - ps(1), diff --git a/poky/meta/recipes-connectivity/openssl/openssl10/openssl_fix_for_x32.patch b/poky/meta/recipes-connectivity/openssl/openssl10/openssl_fix_for_x32.patch deleted file mode 100644 index 0f08a642f..000000000 --- a/poky/meta/recipes-connectivity/openssl/openssl10/openssl_fix_for_x32.patch +++ /dev/null @@ -1,39 +0,0 @@ -Upstream-Status: Pending - -Received from H J Liu @ Intel -Make the assembly syntax compatible with x32 gcc. Othewise x32 gcc throws errors. -Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com> 2011/07/13 - -ported the patch to the 1.0.0e version -Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com> 2011/12/01 -Index: openssl-1.0.2/crypto/bn/bn.h -=================================================================== ---- openssl-1.0.2.orig/crypto/bn/bn.h -+++ openssl-1.0.2/crypto/bn/bn.h -@@ -173,6 +173,13 @@ extern "C" { - # endif - # endif - -+/* Address type. */ -+#ifdef _WIN64 -+#define BN_ADDR unsigned long long -+#else -+#define BN_ADDR unsigned long -+#endif -+ - /* - * assuming long is 64bit - this is the DEC Alpha unsigned long long is only - * 64 bits :-(, don't define BN_LLONG for the DEC Alpha -Index: openssl-1.0.2/crypto/bn/bn_exp.c -=================================================================== ---- openssl-1.0.2.orig/crypto/bn/bn_exp.c -+++ openssl-1.0.2/crypto/bn/bn_exp.c -@@ -638,7 +638,7 @@ static int MOD_EXP_CTIME_COPY_FROM_PREBU - * multiple. - */ - #define MOD_EXP_CTIME_ALIGN(x_) \ -- ((unsigned char*)(x_) + (MOD_EXP_CTIME_MIN_CACHE_LINE_WIDTH - (((size_t)(x_)) & (MOD_EXP_CTIME_MIN_CACHE_LINE_MASK)))) -+ ((unsigned char*)(x_) + (MOD_EXP_CTIME_MIN_CACHE_LINE_WIDTH - (((BN_ADDR)(x_)) & (MOD_EXP_CTIME_MIN_CACHE_LINE_MASK)))) - - /* - * This variant of BN_mod_exp_mont() uses fixed windows and the special diff --git a/poky/meta/recipes-connectivity/openssl/openssl10/parallel.patch b/poky/meta/recipes-connectivity/openssl/openssl10/parallel.patch deleted file mode 100644 index 41abf3d6b..000000000 --- a/poky/meta/recipes-connectivity/openssl/openssl10/parallel.patch +++ /dev/null @@ -1,368 +0,0 @@ -From 7fb1192f112c1920bfd39f4185f34e9afff3cff2 Mon Sep 17 00:00:00 2001 -From: Ross Burton <ross.burton@intel.com> -Date: Sat, 5 Mar 2016 00:12:02 +0000 -Subject: [PATCH 24/28] Fix the parallel races in the Makefiles. - -This patch was taken from the Gentoo packaging: -https://gitweb.gentoo.org/repo/gentoo.git/plain/dev-libs/openssl/files/openssl-1.0.2g-parallel-build.patch - -Upstream-Status: Pending -Signed-off-by: Ross Burton <ross.burton@intel.com> - -Refreshed for 1.0.2i -Signed-off-by: Patrick Ohly <patrick.ohly@intel.com> - ---- - Makefile.org | 14 ++-- - Makefile.shared | 2 + - crypto/Makefile | 10 +-- - engines/Makefile | 6 +- - test/Makefile | 94 +++++++++++----------- - 5 files changed, 64 insertions(+), 62 deletions(-) - -diff --git a/Makefile.org b/Makefile.org -index efcfafb..82eab91 100644 ---- a/Makefile.org -+++ b/Makefile.org -@@ -282,17 +282,17 @@ build_libcrypto: build_crypto build_engines libcrypto.pc - build_libssl: build_ssl libssl.pc - - build_crypto: -- @dir=crypto; target=all; $(BUILD_ONE_CMD) -+ +@dir=crypto; target=all; $(BUILD_ONE_CMD) - build_ssl: build_crypto -- @dir=ssl; target=all; $(BUILD_ONE_CMD) -+ +@dir=ssl; target=all; $(BUILD_ONE_CMD) - build_engines: build_crypto -- @dir=engines; target=all; $(BUILD_ONE_CMD) -+ +@dir=engines; target=all; $(BUILD_ONE_CMD) - build_apps: build_libs -- @dir=apps; target=all; $(BUILD_ONE_CMD) -+ +@dir=apps; target=all; $(BUILD_ONE_CMD) - build_tests: build_libs -- @dir=test; target=all; $(BUILD_ONE_CMD) -+ +@dir=test; target=all; $(BUILD_ONE_CMD) - build_tools: build_libs -- @dir=tools; target=all; $(BUILD_ONE_CMD) -+ +@dir=tools; target=all; $(BUILD_ONE_CMD) - - all_testapps: build_libs build_testapps - build_testapps: -@@ -564,7 +564,7 @@ install_sw: - (cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \ - chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i ); \ - done; -- @set -e; target=install; $(RECURSIVE_BUILD_CMD) -+ +@set -e; target=install; $(RECURSIVE_BUILD_CMD) - @set -e; liblist="$(LIBS)"; for i in $$liblist ;\ - do \ - if [ -f "$$i" ]; then \ -diff --git a/Makefile.shared b/Makefile.shared -index bbefb2b..18013a9 100644 ---- a/Makefile.shared -+++ b/Makefile.shared -@@ -105,6 +105,7 @@ LINK_SO= \ - SHAREDFLAGS="$(OE_LDFLAGS) $${SHAREDFLAGS:-$(CFLAGS) $(SHARED_LDFLAGS)}"; \ - LIBPATH=`for x in $$LIBDEPS; do echo $$x; done | sed -e 's/^ *-L//;t' -e d | uniq`; \ - LIBPATH=`echo $$LIBPATH | sed -e 's/ /:/g'`; \ -+ [ -e $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX ] && exit 0; \ - LD_LIBRARY_PATH=$$LIBPATH:$$LD_LIBRARY_PATH \ - $${SHAREDCMD} $${SHAREDFLAGS} \ - -o $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX \ -@@ -122,6 +123,7 @@ SYMLINK_SO= \ - done; \ - fi; \ - if [ -n "$$SHLIB_SOVER" ]; then \ -+ [ -e "$$SHLIB$$SHLIB_SUFFIX" ] || \ - ( $(SET_X); rm -f $$SHLIB$$SHLIB_SUFFIX; \ - ln -s $$prev $$SHLIB$$SHLIB_SUFFIX ); \ - fi; \ -diff --git a/crypto/Makefile b/crypto/Makefile -index 875ea1a..c22b683 100644 ---- a/crypto/Makefile -+++ b/crypto/Makefile -@@ -85,11 +85,11 @@ testapps: - @if [ -z "$(THIS)" ]; then $(MAKE) -f $(TOP)/Makefile reflect THIS=$@; fi - - subdirs: -- @target=all; $(RECURSIVE_MAKE) -+ +@target=all; $(RECURSIVE_MAKE) - - files: - $(PERL) $(TOP)/util/files.pl "CPUID_OBJ=$(CPUID_OBJ)" Makefile >> $(TOP)/MINFO -- @target=files; $(RECURSIVE_MAKE) -+ +@target=files; $(RECURSIVE_MAKE) - - links: - @$(PERL) $(TOP)/util/mklink.pl ../include/openssl $(EXHEADER) -@@ -100,7 +100,7 @@ links: - # lib: $(LIB): are splitted to avoid end-less loop - lib: $(LIB) - @touch lib --$(LIB): $(LIBOBJ) -+$(LIB): $(LIBOBJ) | subdirs - $(AR) $(LIB) $(LIBOBJ) - test -z "$(FIPSLIBDIR)" || $(AR) $(LIB) $(FIPSLIBDIR)fipscanister.o - $(RANLIB) $(LIB) || echo Never mind. -@@ -111,7 +111,7 @@ shared: buildinf.h lib subdirs - fi - - libs: -- @target=lib; $(RECURSIVE_MAKE) -+ +@target=lib; $(RECURSIVE_MAKE) - - install: - @[ -n "$(INSTALLTOP)" ] # should be set by top Makefile... -@@ -120,7 +120,7 @@ install: - (cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \ - chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i ); \ - done; -- @target=install; $(RECURSIVE_MAKE) -+ +@target=install; $(RECURSIVE_MAKE) - - lint: - @target=lint; $(RECURSIVE_MAKE) -diff --git a/engines/Makefile b/engines/Makefile -index fe8e9ca..a43d21b 100644 ---- a/engines/Makefile -+++ b/engines/Makefile -@@ -72,7 +72,7 @@ top: - - all: lib subdirs - --lib: $(LIBOBJ) -+lib: $(LIBOBJ) | subdirs - @if [ -n "$(SHARED_LIBS)" ]; then \ - set -e; \ - for l in $(LIBNAMES); do \ -@@ -89,7 +89,7 @@ lib: $(LIBOBJ) - - subdirs: - echo $(EDIRS) -- @target=all; $(RECURSIVE_MAKE) -+ +@target=all; $(RECURSIVE_MAKE) - - files: - $(PERL) $(TOP)/util/files.pl Makefile >> $(TOP)/MINFO -@@ -128,7 +128,7 @@ install: - mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/ssl/engines/$$pfx$$l$$sfx.new $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/ssl/engines/$$pfx$$l$$sfx ); \ - done; \ - fi -- @target=install; $(RECURSIVE_MAKE) -+ +@target=install; $(RECURSIVE_MAKE) - - tags: - ctags $(SRC) -diff --git a/test/Makefile b/test/Makefile -index 36506cf..c69af8b 100644 ---- a/test/Makefile -+++ b/test/Makefile -@@ -145,7 +145,7 @@ install: - tags: - ctags $(SRC) - --tests: exe apps $(TESTS) -+tests: exe $(TESTS) - - apps: - @(cd ..; $(MAKE) DIRS=apps all) -@@ -448,142 +448,142 @@ BUILD_CMD_STATIC=shlib_target=; \ - link_app.$${shlib_target} - - $(RSATEST)$(EXE_EXT): $(RSATEST).o $(DLIBCRYPTO) -- @target=$(RSATEST); $(BUILD_CMD) -+ +@target=$(RSATEST); $(BUILD_CMD) - - $(BNTEST)$(EXE_EXT): $(BNTEST).o $(DLIBCRYPTO) -- @target=$(BNTEST); $(BUILD_CMD) -+ +@target=$(BNTEST); $(BUILD_CMD) - - $(ECTEST)$(EXE_EXT): $(ECTEST).o $(DLIBCRYPTO) -- @target=$(ECTEST); $(BUILD_CMD) -+ +@target=$(ECTEST); $(BUILD_CMD) - - $(EXPTEST)$(EXE_EXT): $(EXPTEST).o $(DLIBCRYPTO) -- @target=$(EXPTEST); $(BUILD_CMD) -+ +@target=$(EXPTEST); $(BUILD_CMD) - - $(IDEATEST)$(EXE_EXT): $(IDEATEST).o $(DLIBCRYPTO) -- @target=$(IDEATEST); $(BUILD_CMD) -+ +@target=$(IDEATEST); $(BUILD_CMD) - - $(MD2TEST)$(EXE_EXT): $(MD2TEST).o $(DLIBCRYPTO) -- @target=$(MD2TEST); $(BUILD_CMD) -+ +@target=$(MD2TEST); $(BUILD_CMD) - - $(SHATEST)$(EXE_EXT): $(SHATEST).o $(DLIBCRYPTO) -- @target=$(SHATEST); $(BUILD_CMD) -+ +@target=$(SHATEST); $(BUILD_CMD) - - $(SHA1TEST)$(EXE_EXT): $(SHA1TEST).o $(DLIBCRYPTO) -- @target=$(SHA1TEST); $(BUILD_CMD) -+ +@target=$(SHA1TEST); $(BUILD_CMD) - - $(SHA256TEST)$(EXE_EXT): $(SHA256TEST).o $(DLIBCRYPTO) -- @target=$(SHA256TEST); $(BUILD_CMD) -+ +@target=$(SHA256TEST); $(BUILD_CMD) - - $(SHA512TEST)$(EXE_EXT): $(SHA512TEST).o $(DLIBCRYPTO) -- @target=$(SHA512TEST); $(BUILD_CMD) -+ +@target=$(SHA512TEST); $(BUILD_CMD) - - $(RMDTEST)$(EXE_EXT): $(RMDTEST).o $(DLIBCRYPTO) -- @target=$(RMDTEST); $(BUILD_CMD) -+ +@target=$(RMDTEST); $(BUILD_CMD) - - $(MDC2TEST)$(EXE_EXT): $(MDC2TEST).o $(DLIBCRYPTO) -- @target=$(MDC2TEST); $(BUILD_CMD) -+ +@target=$(MDC2TEST); $(BUILD_CMD) - - $(MD4TEST)$(EXE_EXT): $(MD4TEST).o $(DLIBCRYPTO) -- @target=$(MD4TEST); $(BUILD_CMD) -+ +@target=$(MD4TEST); $(BUILD_CMD) - - $(MD5TEST)$(EXE_EXT): $(MD5TEST).o $(DLIBCRYPTO) -- @target=$(MD5TEST); $(BUILD_CMD) -+ +@target=$(MD5TEST); $(BUILD_CMD) - - $(HMACTEST)$(EXE_EXT): $(HMACTEST).o $(DLIBCRYPTO) -- @target=$(HMACTEST); $(BUILD_CMD) -+ +@target=$(HMACTEST); $(BUILD_CMD) - - $(WPTEST)$(EXE_EXT): $(WPTEST).o $(DLIBCRYPTO) -- @target=$(WPTEST); $(BUILD_CMD) -+ +@target=$(WPTEST); $(BUILD_CMD) - - $(RC2TEST)$(EXE_EXT): $(RC2TEST).o $(DLIBCRYPTO) -- @target=$(RC2TEST); $(BUILD_CMD) -+ +@target=$(RC2TEST); $(BUILD_CMD) - - $(BFTEST)$(EXE_EXT): $(BFTEST).o $(DLIBCRYPTO) -- @target=$(BFTEST); $(BUILD_CMD) -+ +@target=$(BFTEST); $(BUILD_CMD) - - $(CASTTEST)$(EXE_EXT): $(CASTTEST).o $(DLIBCRYPTO) -- @target=$(CASTTEST); $(BUILD_CMD) -+ +@target=$(CASTTEST); $(BUILD_CMD) - - $(RC4TEST)$(EXE_EXT): $(RC4TEST).o $(DLIBCRYPTO) -- @target=$(RC4TEST); $(BUILD_CMD) -+ +@target=$(RC4TEST); $(BUILD_CMD) - - $(RC5TEST)$(EXE_EXT): $(RC5TEST).o $(DLIBCRYPTO) -- @target=$(RC5TEST); $(BUILD_CMD) -+ +@target=$(RC5TEST); $(BUILD_CMD) - - $(DESTEST)$(EXE_EXT): $(DESTEST).o $(DLIBCRYPTO) -- @target=$(DESTEST); $(BUILD_CMD) -+ +@target=$(DESTEST); $(BUILD_CMD) - - $(RANDTEST)$(EXE_EXT): $(RANDTEST).o $(DLIBCRYPTO) -- @target=$(RANDTEST); $(BUILD_CMD) -+ +@target=$(RANDTEST); $(BUILD_CMD) - - $(DHTEST)$(EXE_EXT): $(DHTEST).o $(DLIBCRYPTO) -- @target=$(DHTEST); $(BUILD_CMD) -+ +@target=$(DHTEST); $(BUILD_CMD) - - $(DSATEST)$(EXE_EXT): $(DSATEST).o $(DLIBCRYPTO) -- @target=$(DSATEST); $(BUILD_CMD) -+ +@target=$(DSATEST); $(BUILD_CMD) - - $(METHTEST)$(EXE_EXT): $(METHTEST).o $(DLIBCRYPTO) -- @target=$(METHTEST); $(BUILD_CMD) -+ +@target=$(METHTEST); $(BUILD_CMD) - - $(SSLTEST)$(EXE_EXT): $(SSLTEST).o $(DLIBSSL) $(DLIBCRYPTO) -- @target=$(SSLTEST); $(FIPS_BUILD_CMD) -+ +@target=$(SSLTEST); $(FIPS_BUILD_CMD) - - $(ENGINETEST)$(EXE_EXT): $(ENGINETEST).o $(DLIBCRYPTO) -- @target=$(ENGINETEST); $(BUILD_CMD) -+ +@target=$(ENGINETEST); $(BUILD_CMD) - - $(EVPTEST)$(EXE_EXT): $(EVPTEST).o $(DLIBCRYPTO) -- @target=$(EVPTEST); $(BUILD_CMD) -+ +@target=$(EVPTEST); $(BUILD_CMD) - - $(EVPEXTRATEST)$(EXE_EXT): $(EVPEXTRATEST).o $(DLIBCRYPTO) -- @target=$(EVPEXTRATEST); $(BUILD_CMD) -+ +@target=$(EVPEXTRATEST); $(BUILD_CMD) - - $(ECDSATEST)$(EXE_EXT): $(ECDSATEST).o $(DLIBCRYPTO) -- @target=$(ECDSATEST); $(BUILD_CMD) -+ +@target=$(ECDSATEST); $(BUILD_CMD) - - $(ECDHTEST)$(EXE_EXT): $(ECDHTEST).o $(DLIBCRYPTO) -- @target=$(ECDHTEST); $(BUILD_CMD) -+ +@target=$(ECDHTEST); $(BUILD_CMD) - - $(IGETEST)$(EXE_EXT): $(IGETEST).o $(DLIBCRYPTO) -- @target=$(IGETEST); $(BUILD_CMD) -+ +@target=$(IGETEST); $(BUILD_CMD) - - $(JPAKETEST)$(EXE_EXT): $(JPAKETEST).o $(DLIBCRYPTO) -- @target=$(JPAKETEST); $(BUILD_CMD) -+ +@target=$(JPAKETEST); $(BUILD_CMD) - - $(ASN1TEST)$(EXE_EXT): $(ASN1TEST).o $(DLIBCRYPTO) -- @target=$(ASN1TEST); $(BUILD_CMD) -+ +@target=$(ASN1TEST); $(BUILD_CMD) - - $(SRPTEST)$(EXE_EXT): $(SRPTEST).o $(DLIBCRYPTO) -- @target=$(SRPTEST); $(BUILD_CMD) -+ +@target=$(SRPTEST); $(BUILD_CMD) - - $(V3NAMETEST)$(EXE_EXT): $(V3NAMETEST).o $(DLIBCRYPTO) -- @target=$(V3NAMETEST); $(BUILD_CMD) -+ +@target=$(V3NAMETEST); $(BUILD_CMD) - - $(HEARTBEATTEST)$(EXE_EXT): $(HEARTBEATTEST).o $(DLIBCRYPTO) -- @target=$(HEARTBEATTEST); $(BUILD_CMD_STATIC) -+ +@target=$(HEARTBEATTEST); $(BUILD_CMD_STATIC) - - $(CONSTTIMETEST)$(EXE_EXT): $(CONSTTIMETEST).o -- @target=$(CONSTTIMETEST) $(BUILD_CMD) -+ +@target=$(CONSTTIMETEST) $(BUILD_CMD) - - $(VERIFYEXTRATEST)$(EXE_EXT): $(VERIFYEXTRATEST).o -- @target=$(VERIFYEXTRATEST) $(BUILD_CMD) -+ +@target=$(VERIFYEXTRATEST) $(BUILD_CMD) - - $(CLIENTHELLOTEST)$(EXE_EXT): $(CLIENTHELLOTEST).o -- @target=$(CLIENTHELLOTEST) $(BUILD_CMD) -+ +@target=$(CLIENTHELLOTEST) $(BUILD_CMD) - - $(BADDTLSTEST)$(EXE_EXT): $(BADDTLSTEST).o -- @target=$(BADDTLSTEST) $(BUILD_CMD) -+ +@target=$(BADDTLSTEST) $(BUILD_CMD) - - $(FATALERRTEST)$(EXE_EXT): $(FATALERRTEST).o ssltestlib.o $(DLIBSSL) $(DLIBCRYPTO) - @target=$(FATALERRTEST); exobj=ssltestlib.o; $(BUILD_CMD) - - $(X509TIMETEST)$(EXE_EXT): $(X509TIMETEST).o -- @target=$(X509TIMETEST) $(BUILD_CMD) -+ +@target=$(X509TIMETEST) $(BUILD_CMD) - - $(SSLV2CONFTEST)$(EXE_EXT): $(SSLV2CONFTEST).o -- @target=$(SSLV2CONFTEST) $(BUILD_CMD) -+ +@target=$(SSLV2CONFTEST) $(BUILD_CMD) - - $(DTLSTEST)$(EXE_EXT): $(DTLSTEST).o ssltestlib.o $(DLIBSSL) $(DLIBCRYPTO) -- @target=$(DTLSTEST); exobj=ssltestlib.o; $(BUILD_CMD) -+ +@target=$(DTLSTEST); exobj=ssltestlib.o; $(BUILD_CMD) - - #$(AESTEST).o: $(AESTEST).c - # $(CC) -c $(CFLAGS) -DINTERMEDIATE_VALUE_KAT -DTRACE_KAT_MCT $(AESTEST).c -@@ -596,7 +596,7 @@ $(DTLSTEST)$(EXE_EXT): $(DTLSTEST).o ssltestlib.o $(DLIBSSL) $(DLIBCRYPTO) - # fi - - dummytest$(EXE_EXT): dummytest.o $(DLIBCRYPTO) -- @target=dummytest; $(BUILD_CMD) -+ +@target=dummytest; $(BUILD_CMD) - - # DO NOT DELETE THIS LINE -- make depend depends on it. - --- -2.15.1 - diff --git a/poky/meta/recipes-connectivity/openssl/openssl10/ptest-deps.patch b/poky/meta/recipes-connectivity/openssl/openssl10/ptest-deps.patch deleted file mode 100644 index ef6d17934..000000000 --- a/poky/meta/recipes-connectivity/openssl/openssl10/ptest-deps.patch +++ /dev/null @@ -1,34 +0,0 @@ -Remove Makefile dependencies for test targets - -These are probably here because the executables aren't always built for -other platforms (e.g. Windows); however we can safely assume they'll -always be there. None of the other test targets have such dependencies -and if we don't remove them, make tries to rebuild the executables and -fails during run-ptest. - -Upstream-Status: Inappropriate [config] - -Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> - -Index: openssl-1.0.2/test/Makefile -=================================================================== ---- openssl-1.0.2.orig/test/Makefile -+++ openssl-1.0.2/test/Makefile -@@ -330,7 +330,7 @@ test_cms: ../apps/openssl$(EXE_EXT) cms- - @echo "CMS consistency test" - $(PERL) cms-test.pl - --test_srp: $(SRPTEST)$(EXE_EXT) -+test_srp: - @echo "Test SRP" - ../util/shlib_wrap.sh ./srptest - -@@ -342,7 +342,7 @@ test_v3name: $(V3NAMETEST)$(EXE_EXT) - @echo "Test X509v3_check_*" - ../util/shlib_wrap.sh ./$(V3NAMETEST) - --test_heartbeat: $(HEARTBEATTEST)$(EXE_EXT) -+test_heartbeat: - ../util/shlib_wrap.sh ./$(HEARTBEATTEST) - - test_constant_time: $(CONSTTIMETEST)$(EXE_EXT) diff --git a/poky/meta/recipes-connectivity/openssl/openssl10/ptest_makefile_deps.patch b/poky/meta/recipes-connectivity/openssl/openssl10/ptest_makefile_deps.patch deleted file mode 100644 index 4202e61d1..000000000 --- a/poky/meta/recipes-connectivity/openssl/openssl10/ptest_makefile_deps.patch +++ /dev/null @@ -1,248 +0,0 @@ -Additional Makefile dependencies removal for test targets - -Removing the dependency check for test targets as these tests are -causing a number of failures and "noise" during ptest execution. - -Upstream-Status: Inappropriate [config] - -Signed-off-by: Maxin B. John <maxin.john@intel.com> - -diff -Naur openssl-1.0.2d-orig/test/Makefile openssl-1.0.2d/test/Makefile ---- openssl-1.0.2d-orig/test/Makefile 2015-09-28 12:50:41.530022979 +0300 -+++ openssl-1.0.2d/test/Makefile 2015-09-28 12:57:45.930717240 +0300 -@@ -155,67 +155,67 @@ - ( $(MAKE) $$i && echo "PASS: $$i" ) || echo "FAIL: $$i"; \ - done) - --test_evp: $(EVPTEST)$(EXE_EXT) evptests.txt -+test_evp: - ../util/shlib_wrap.sh ./$(EVPTEST) evptests.txt - --test_evp_extra: $(EVPEXTRATEST)$(EXE_EXT) -+test_evp_extra: - ../util/shlib_wrap.sh ./$(EVPEXTRATEST) - --test_des: $(DESTEST)$(EXE_EXT) -+test_des: - ../util/shlib_wrap.sh ./$(DESTEST) - --test_idea: $(IDEATEST)$(EXE_EXT) -+test_idea: - ../util/shlib_wrap.sh ./$(IDEATEST) - --test_sha: $(SHATEST)$(EXE_EXT) $(SHA1TEST)$(EXE_EXT) $(SHA256TEST)$(EXE_EXT) $(SHA512TEST)$(EXE_EXT) -+test_sha: - ../util/shlib_wrap.sh ./$(SHATEST) - ../util/shlib_wrap.sh ./$(SHA1TEST) - ../util/shlib_wrap.sh ./$(SHA256TEST) - ../util/shlib_wrap.sh ./$(SHA512TEST) - --test_mdc2: $(MDC2TEST)$(EXE_EXT) -+test_mdc2: - ../util/shlib_wrap.sh ./$(MDC2TEST) - --test_md5: $(MD5TEST)$(EXE_EXT) -+test_md5: - ../util/shlib_wrap.sh ./$(MD5TEST) - --test_md4: $(MD4TEST)$(EXE_EXT) -+test_md4: - ../util/shlib_wrap.sh ./$(MD4TEST) - --test_hmac: $(HMACTEST)$(EXE_EXT) -+test_hmac: - ../util/shlib_wrap.sh ./$(HMACTEST) - --test_wp: $(WPTEST)$(EXE_EXT) -+test_wp: - ../util/shlib_wrap.sh ./$(WPTEST) - --test_md2: $(MD2TEST)$(EXE_EXT) -+test_md2: - ../util/shlib_wrap.sh ./$(MD2TEST) - --test_rmd: $(RMDTEST)$(EXE_EXT) -+test_rmd: - ../util/shlib_wrap.sh ./$(RMDTEST) - --test_bf: $(BFTEST)$(EXE_EXT) -+test_bf: - ../util/shlib_wrap.sh ./$(BFTEST) - --test_cast: $(CASTTEST)$(EXE_EXT) -+test_cast: - ../util/shlib_wrap.sh ./$(CASTTEST) - --test_rc2: $(RC2TEST)$(EXE_EXT) -+test_rc2: - ../util/shlib_wrap.sh ./$(RC2TEST) - --test_rc4: $(RC4TEST)$(EXE_EXT) -+test_rc4: - ../util/shlib_wrap.sh ./$(RC4TEST) - --test_rc5: $(RC5TEST)$(EXE_EXT) -+test_rc5: - ../util/shlib_wrap.sh ./$(RC5TEST) - --test_rand: $(RANDTEST)$(EXE_EXT) -+test_rand: - ../util/shlib_wrap.sh ./$(RANDTEST) - --test_enc: ../apps/openssl$(EXE_EXT) testenc -+test_enc: - @sh ./testenc - --test_x509: ../apps/openssl$(EXE_EXT) tx509 testx509.pem v3-cert1.pem v3-cert2.pem -+test_x509: - echo test normal x509v1 certificate - sh ./tx509 2>/dev/null - echo test first x509v3 certificate -@@ -223,25 +223,25 @@ - echo test second x509v3 certificate - sh ./tx509 v3-cert2.pem 2>/dev/null - --test_rsa: ../apps/openssl$(EXE_EXT) trsa testrsa.pem -+test_rsa: - @sh ./trsa 2>/dev/null - ../util/shlib_wrap.sh ./$(RSATEST) - --test_crl: ../apps/openssl$(EXE_EXT) tcrl testcrl.pem -+test_crl: - @sh ./tcrl 2>/dev/null - --test_sid: ../apps/openssl$(EXE_EXT) tsid testsid.pem -+test_sid: - @sh ./tsid 2>/dev/null - --test_req: ../apps/openssl$(EXE_EXT) treq testreq.pem testreq2.pem -+test_req: - @sh ./treq 2>/dev/null - @sh ./treq testreq2.pem 2>/dev/null - --test_pkcs7: ../apps/openssl$(EXE_EXT) tpkcs7 tpkcs7d testp7.pem pkcs7-1.pem -+test_pkcs7: - @sh ./tpkcs7 2>/dev/null - @sh ./tpkcs7d 2>/dev/null - --test_bn: $(BNTEST)$(EXE_EXT) $(EXPTEST)$(EXE_EXT) bctest -+test_bn: - @echo starting big number library test, could take a while... - @../util/shlib_wrap.sh ./$(BNTEST) >tmp.bntest - @echo quit >>tmp.bntest -@@ -250,33 +250,33 @@ - @echo 'test a^b%c implementations' - ../util/shlib_wrap.sh ./$(EXPTEST) - --test_ec: $(ECTEST)$(EXE_EXT) -+test_ec: - @echo 'test elliptic curves' - ../util/shlib_wrap.sh ./$(ECTEST) - --test_ecdsa: $(ECDSATEST)$(EXE_EXT) -+test_ecdsa: - @echo 'test ecdsa' - ../util/shlib_wrap.sh ./$(ECDSATEST) - --test_ecdh: $(ECDHTEST)$(EXE_EXT) -+test_ecdh: - @echo 'test ecdh' - ../util/shlib_wrap.sh ./$(ECDHTEST) - --test_verify: ../apps/openssl$(EXE_EXT) -+test_verify: - @echo "The following command should have some OK's and some failures" - @echo "There are definitly a few expired certificates" - ../util/shlib_wrap.sh ../apps/openssl verify -CApath ../certs/demo ../certs/demo/*.pem - --test_dh: $(DHTEST)$(EXE_EXT) -+test_dh: - @echo "Generate a set of DH parameters" - ../util/shlib_wrap.sh ./$(DHTEST) - --test_dsa: $(DSATEST)$(EXE_EXT) -+test_dsa: - @echo "Generate a set of DSA parameters" - ../util/shlib_wrap.sh ./$(DSATEST) - ../util/shlib_wrap.sh ./$(DSATEST) -app2_1 - --test_gen testreq.pem: ../apps/openssl$(EXE_EXT) testgen test.cnf -+test_gen testreq.pem: - @echo "Generate and verify a certificate request" - @sh ./testgen - -@@ -288,13 +288,11 @@ - @cat certCA.ss certU.ss > intP1.ss - @cat certCA.ss certU.ss certP1.ss > intP2.ss - --test_engine: $(ENGINETEST)$(EXE_EXT) -+test_engine: - @echo "Manipulate the ENGINE structures" - ../util/shlib_wrap.sh ./$(ENGINETEST) - --test_ssl: keyU.ss certU.ss certCA.ss certP1.ss keyP1.ss certP2.ss keyP2.ss \ -- intP1.ss intP2.ss $(SSLTEST)$(EXE_EXT) testssl testsslproxy \ -- ../apps/server2.pem serverinfo.pem -+test_ssl: - @echo "test SSL protocol" - @if [ -n "$(FIPSCANLIB)" ]; then \ - sh ./testfipsssl keyU.ss certU.ss certCA.ss; \ -@@ -304,7 +302,7 @@ - @sh ./testsslproxy keyP1.ss certP1.ss intP1.ss - @sh ./testsslproxy keyP2.ss certP2.ss intP2.ss - --test_ca: ../apps/openssl$(EXE_EXT) testca CAss.cnf Uss.cnf -+test_ca: - @if ../util/shlib_wrap.sh ../apps/openssl no-rsa; then \ - echo "skipping CA.sh test -- requires RSA"; \ - else \ -@@ -312,11 +310,11 @@ - sh ./testca; \ - fi - --test_aes: #$(AESTEST) -+test_aes: - # @echo "test Rijndael" - # ../util/shlib_wrap.sh ./$(AESTEST) - --test_tsa: ../apps/openssl$(EXE_EXT) testtsa CAtsa.cnf ../util/shlib_wrap.sh -+test_tsa: - @if ../util/shlib_wrap.sh ../apps/openssl no-rsa; then \ - echo "skipping testtsa test -- requires RSA"; \ - else \ -@@ -331,7 +329,7 @@ - @echo "Test JPAKE" - ../util/shlib_wrap.sh ./$(JPAKETEST) - --test_cms: ../apps/openssl$(EXE_EXT) cms-test.pl smcont.txt -+test_cms: - @echo "CMS consistency test" - $(PERL) cms-test.pl - -@@ -339,22 +337,22 @@ - @echo "Test SRP" - ../util/shlib_wrap.sh ./srptest - --test_ocsp: ../apps/openssl$(EXE_EXT) tocsp -+test_ocsp: - @echo "Test OCSP" - @sh ./tocsp - --test_v3name: $(V3NAMETEST)$(EXE_EXT) -+test_v3name: - @echo "Test X509v3_check_*" - ../util/shlib_wrap.sh ./$(V3NAMETEST) - - test_heartbeat: - ../util/shlib_wrap.sh ./$(HEARTBEATTEST) - --test_constant_time: $(CONSTTIMETEST)$(EXE_EXT) -+test_constant_time: - @echo "Test constant time utilites" - ../util/shlib_wrap.sh ./$(CONSTTIMETEST) - --test_verify_extra: $(VERIFYEXTRATEST)$(EXE_EXT) -+test_verify_extra: - @echo $(START) $@ - ../util/shlib_wrap.sh ./$(VERIFYEXTRATEST) - diff --git a/poky/meta/recipes-connectivity/openssl/openssl10/reproducible-cflags.patch b/poky/meta/recipes-connectivity/openssl/openssl10/reproducible-cflags.patch deleted file mode 100644 index 2803cb039..000000000 --- a/poky/meta/recipes-connectivity/openssl/openssl10/reproducible-cflags.patch +++ /dev/null @@ -1,20 +0,0 @@ -Allow passing custom c-flags to mkbuildinf.pl in order to pass -flags without any build host references - -Upstream-Status: Inappropriate [OE specific] - -Signed-off-by: Juro Bystricky <juro.bystricky@intel.com> - ---- Makefile 2018-03-06 14:50:18.342138147 -0800 -+++ Makefile 2018-03-06 15:24:04.794239071 -0800 ---- a/crypto/Makefile -+++ b/crypto/Makefile -@@ -55,7 +55,7 @@ - all: shared - - buildinf.h: ../Makefile -- $(PERL) $(TOP)/util/mkbuildinf.pl "$(CC) $(CFLAGS)" "$(PLATFORM)" >buildinf.h -+ $(PERL) $(TOP)/util/mkbuildinf.pl "$(CC_INFO)" "$(PLATFORM)" >buildinf.h - - x86cpuid.s: x86cpuid.pl perlasm/x86asm.pl - $(PERL) x86cpuid.pl $(PERLASM_SCHEME) $(CFLAGS) $(PROCESSOR) > $@ diff --git a/poky/meta/recipes-connectivity/openssl/openssl10/reproducible-mkbuildinf.patch b/poky/meta/recipes-connectivity/openssl/openssl10/reproducible-mkbuildinf.patch deleted file mode 100644 index b55673121..000000000 --- a/poky/meta/recipes-connectivity/openssl/openssl10/reproducible-mkbuildinf.patch +++ /dev/null @@ -1,21 +0,0 @@ -If SOURCE_DATE_EPOCH is present in the environment, use it as build date. -Also make sure to use UTC time. - -Upstream-Status: Backport [ https://github.com/openssl/openssl/blob/master/util/mkbuildinf.pl ] - -Signed-off-by: Juro Bystricky <juro.bystricky@intel.com> - ---- mkbuildinf.pl 2018-03-06 14:20:09.438048058 -0800 -+++ mkbuildinf.pl 2018-03-06 14:19:20.722045632 -0800 ---- a/util/mkbuildinf.pl -+++ b/util/mkbuildinf.pl -@@ -3,7 +3,8 @@ - my ($cflags, $platform) = @ARGV; - - $cflags = "compiler: $cflags"; --$date = localtime(); -+my $date = gmtime($ENV{'SOURCE_DATE_EPOCH'} || time()) . " UTC"; -+ - print <<"END_OUTPUT"; - #ifndef MK1MF_BUILD - /* auto-generated by util/mkbuildinf.pl for crypto/cversion.c */ diff --git a/poky/meta/recipes-connectivity/openssl/openssl10/run-ptest b/poky/meta/recipes-connectivity/openssl/openssl10/run-ptest deleted file mode 100755 index 3b20fce1e..000000000 --- a/poky/meta/recipes-connectivity/openssl/openssl10/run-ptest +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/sh -make -k runtest diff --git a/poky/meta/recipes-connectivity/openssl/openssl10/shared-libs.patch b/poky/meta/recipes-connectivity/openssl/openssl10/shared-libs.patch deleted file mode 100644 index a7ca0a307..000000000 --- a/poky/meta/recipes-connectivity/openssl/openssl10/shared-libs.patch +++ /dev/null @@ -1,41 +0,0 @@ -Upstream-Status: Inappropriate [configuration] - -Index: openssl-1.0.1e/crypto/Makefile -=================================================================== ---- openssl-1.0.1e.orig/crypto/Makefile -+++ openssl-1.0.1e/crypto/Makefile -@@ -108,7 +108,7 @@ $(LIB): $(LIBOBJ) - - shared: buildinf.h lib subdirs - if [ -n "$(SHARED_LIBS)" ]; then \ -- (cd ..; $(MAKE) $(SHARED_LIB)); \ -+ (cd ..; $(MAKE) -e $(SHARED_LIB)); \ - fi - - libs: -Index: openssl-1.0.1e/Makefile.org -=================================================================== ---- openssl-1.0.1e.orig/Makefile.org -+++ openssl-1.0.1e/Makefile.org -@@ -310,7 +310,7 @@ libcrypto$(SHLIB_EXT): libcrypto.a fips_ - - libssl$(SHLIB_EXT): libcrypto$(SHLIB_EXT) libssl.a - @if [ "$(SHLIB_TARGET)" != "" ]; then \ -- $(MAKE) SHLIBDIRS=ssl SHLIBDEPS='-lcrypto' build-shared; \ -+ $(MAKE) -e SHLIBDIRS=ssl SHLIBDEPS='-lcrypto' build-shared; \ - else \ - echo "There's no support for shared libraries on this platform" >&2; \ - exit 1; \ -Index: openssl-1.0.1e/ssl/Makefile -=================================================================== ---- openssl-1.0.1e.orig/ssl/Makefile -+++ openssl-1.0.1e/ssl/Makefile -@@ -62,7 +62,7 @@ lib: $(LIBOBJ) - - shared: lib - if [ -n "$(SHARED_LIBS)" ]; then \ -- (cd ..; $(MAKE) $(SHARED_LIB)); \ -+ (cd ..; $(MAKE) -e $(SHARED_LIB)); \ - fi - - files: diff --git a/poky/meta/recipes-connectivity/openssl/openssl10_1.0.2r.bb b/poky/meta/recipes-connectivity/openssl/openssl10_1.0.2r.bb deleted file mode 100644 index 87df4f517..000000000 --- a/poky/meta/recipes-connectivity/openssl/openssl10_1.0.2r.bb +++ /dev/null @@ -1,360 +0,0 @@ -SUMMARY = "Secure Socket Layer" -DESCRIPTION = "Secure Socket Layer (SSL) binary and related cryptographic tools." -HOMEPAGE = "http://www.openssl.org/" -BUGTRACKER = "http://www.openssl.org/news/vulnerabilities.html" -SECTION = "libs/network" - -# "openssl | SSLeay" dual license -LICENSE = "openssl" -LIC_FILES_CHKSUM = "file://LICENSE;md5=f475368924827d06d4b416111c8bdb77" - -DEPENDS = "hostperl-runtime-native" -DEPENDS_append_class-target = " openssl-native" - -SRC_URI = "http://www.openssl.org/source/openssl-${PV}.tar.gz \ - file://run-ptest \ - file://openssl-c_rehash.sh \ - file://configure-targets.patch \ - file://shared-libs.patch \ - file://oe-ldflags.patch \ - file://engines-install-in-libdir-ssl.patch \ - file://debian1.0.2/block_diginotar.patch \ - file://debian1.0.2/block_digicert_malaysia.patch \ - file://debian/c_rehash-compat.patch \ - file://debian/debian-targets.patch \ - file://debian/man-dir.patch \ - file://debian/man-section.patch \ - file://debian/no-rpath.patch \ - file://debian/no-symbolic.patch \ - file://debian/pic.patch \ - file://debian1.0.2/version-script.patch \ - file://debian1.0.2/soname.patch \ - file://openssl_fix_for_x32.patch \ - file://openssl-fix-des.pod-error.patch \ - file://Makefiles-ptest.patch \ - file://ptest-deps.patch \ - file://ptest_makefile_deps.patch \ - file://configure-musl-target.patch \ - file://parallel.patch \ - file://Use-SHA256-not-MD5-as-default-digest.patch \ - file://0001-Fix-build-with-clang-using-external-assembler.patch \ - file://0001-openssl-force-soft-link-to-avoid-rare-race.patch \ - file://0001-allow-manpages-to-be-disabled.patch \ - file://0001-Fix-BN_LLONG-breakage.patch \ - file://0001-Fix-DES_LONG-breakage.patch \ - " - -SRC_URI_append_class-target = " \ - file://reproducible-cflags.patch \ - file://reproducible-mkbuildinf.patch \ - " - -SRC_URI_append_class-nativesdk = " \ - file://environment.d-openssl.sh \ - " - -SRC_URI[md5sum] = "0d2baaf04c56d542f6cc757b9c2a2aac" -SRC_URI[sha256sum] = "ae51d08bba8a83958e894946f15303ff894d75c2b8bbd44a852b64e3fe11d0d6" - -S = "${WORKDIR}/openssl-${PV}" - -UPSTREAM_CHECK_REGEX = "openssl-(?P<pver>1\.0.+)\.tar" - -inherit pkgconfig siteinfo multilib_header ptest manpages - -PACKAGECONFIG ?= "cryptodev-linux" -PACKAGECONFIG_class-native = "" -PACKAGECONFIG_class-nativesdk = "" - -PACKAGECONFIG[cryptodev-linux] = "-DHAVE_CRYPTODEV -DUSE_CRYPTODEV_DIGESTS,,cryptodev-linux" -PACKAGECONFIG[manpages] = ",,," -PACKAGECONFIG[perl] = ",,," - -# Remove this to enable SSLv3. SSLv3 is defaulted to disabled due to the POODLE -# vulnerability -EXTRA_OECONF = "no-ssl3" - -EXTRA_OEMAKE = "${@bb.utils.contains('PACKAGECONFIG', 'manpages', '', 'OE_DISABLE_MANPAGES=1', d)}" - -export OE_LDFLAGS = "${LDFLAGS}" - -TERMIO ?= "-DTERMIO" -TERMIO_libc-musl = "-DTERMIOS" -EXTRA_OECONF_append_libc-musl_powerpc64 = " no-asm" - -CFLAG = "${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'le', '-DL_ENDIAN', '-DB_ENDIAN', d)} \ - ${TERMIO} ${CFLAGS} -Wall" - -# Avoid binaries being marked as requiring an executable stack since they don't -# (and it causes issues with SELinux) -CFLAG += "-Wa,--noexecstack" - -CFLAG_append_class-native = " -fPIC" - -do_configure () { - # The crypto_use_bigint patch means that perl's bignum module needs to be - # installed, but some distributions (for example Fedora 23) don't ship it by - # default. As the resulting error is very misleading check for bignum before - # building. - if ! perl -Mbigint -e true; then - bbfatal "The perl module 'bignum' was not found but this is required to build openssl. Please install this module (often packaged as perl-bignum) and re-run bitbake." - fi - - ln -sf apps/openssl.pod crypto/crypto.pod ssl/ssl.pod doc/ - - os=${HOST_OS} - case $os in - linux-gnueabi |\ - linux-gnuspe |\ - linux-musleabi |\ - linux-muslspe |\ - linux-musl ) - os=linux - ;; - *) - ;; - esac - target="$os-${HOST_ARCH}" - case $target in - linux-arm) - target=linux-armv4 - ;; - linux-armeb) - target=linux-elf-armeb - ;; - linux-aarch64*) - target=linux-aarch64 - ;; - linux-sh3) - target=debian-sh3 - ;; - linux-sh4) - target=debian-sh4 - ;; - linux-i486) - target=debian-i386-i486 - ;; - linux-i586 | linux-viac3) - target=debian-i386-i586 - ;; - linux-i686) - target=debian-i386-i686/cmov - ;; - linux-gnux32-x86_64 | linux-muslx32-x86_64 ) - target=linux-x32 - ;; - linux-gnu64-x86_64) - target=linux-x86_64 - ;; - linux-gnun32-mips*el) - target=debian-mipsn32el - ;; - linux-gnun32-mips*) - target=debian-mipsn32 - ;; - linux-mips*64*el) - target=debian-mips64el - ;; - linux-mips*64*) - target=debian-mips64 - ;; - linux-mips*el) - target=debian-mipsel - ;; - linux-mips*) - target=debian-mips - ;; - linux-microblaze* | linux-nios2* | linux-gnu*ilp32** | linux-arc*) - target=linux-generic32 - ;; - linux-powerpc) - target=linux-ppc - ;; - linux-powerpc64) - target=linux-ppc64 - ;; - linux-riscv32) - target=linux-generic32 - ;; - linux-riscv64) - target=linux-generic64 - ;; - linux-sparc | linux-supersparc) - target=linux-sparcv8 - ;; - esac - - # inject machine-specific flags - sed -i -e "s|^\(\"$target\",\s*\"[^:]\+\):\([^:]\+\)|\1:${CFLAG}|g" Configure - - useprefix=${prefix} - if [ "x$useprefix" = "x" ]; then - useprefix=/ - fi - libdirleaf="$( echo "${libdir}" | sed "s:^$useprefix/*::" )" - perl ./Configure ${EXTRA_OECONF} ${PACKAGECONFIG_CONFARGS} shared --prefix=$useprefix --openssldir=${libdir}/ssl --libdir=$libdirleaf $target -} - -do_compile () { - oe_runmake depend - oe_runmake -} - -do_compile_class-target () { - sed -i 's/\((OPENSSL=\)".*"/\1"openssl"/' Makefile - oe_runmake depend - cc_sanitized=$(echo "${CC} ${CFLAG}" | sed -e 's,--sysroot=${STAGING_DIR_TARGET},,g' -e 's|${DEBUG_PREFIX_MAP}||g' -e 's/[ \t]\+/ /g') - oe_runmake CC_INFO="$cc_sanitized" -} - -do_compile_ptest () { - oe_runmake buildtest -} - -do_install () { - # Create ${D}/${prefix} to fix parallel issues - mkdir -p ${D}/${prefix}/ - - oe_runmake INSTALL_PREFIX="${D}" MANDIR="${mandir}" install - - oe_libinstall -so libcrypto ${D}${libdir} - oe_libinstall -so libssl ${D}${libdir} - - install -d ${D}${includedir} - cp --dereference -R include/openssl ${D}${includedir} - - oe_multilib_header openssl/opensslconf.h - - install -Dm 0755 ${WORKDIR}/openssl-c_rehash.sh ${D}${bindir}/c_rehash - sed -i -e 's,/etc/openssl,${sysconfdir}/ssl,g' ${D}${bindir}/c_rehash - - if [ "${@bb.utils.filter('PACKAGECONFIG', 'perl', d)}" ]; then - sed -i -e '1s,.*,#!${bindir}/env perl,' ${D}${libdir}/ssl/misc/CA.pl - sed -i -e '1s,.*,#!${bindir}/env perl,' ${D}${libdir}/ssl/misc/tsget - else - rm -f ${D}${libdir}/ssl/misc/CA.pl ${D}${libdir}/ssl/misc/tsget - fi - - # Create SSL structure for packages such as ca-certificates which - # contain hard-coded paths to /etc/ssl. Debian does the same. - install -d ${D}${sysconfdir}/ssl - mv ${D}${libdir}/ssl/certs \ - ${D}${libdir}/ssl/private \ - ${D}${libdir}/ssl/openssl.cnf \ - ${D}${sysconfdir}/ssl/ - - # Although absolute symlinks would be OK for the target, they become - # invalid if native or nativesdk are relocated from sstate. - ln -sf ${@oe.path.relative('${libdir}/ssl', '${sysconfdir}/ssl/certs')} ${D}${libdir}/ssl/certs - ln -sf ${@oe.path.relative('${libdir}/ssl', '${sysconfdir}/ssl/private')} ${D}${libdir}/ssl/private - ln -sf ${@oe.path.relative('${libdir}/ssl', '${sysconfdir}/ssl/openssl.cnf')} ${D}${libdir}/ssl/openssl.cnf - - # Rename man pages to prefix openssl10-* - for f in `find ${D}${mandir} -type f`; do - mv $f $(dirname $f)/openssl10-$(basename $f) - done - for f in `find ${D}${mandir} -type l`; do - ln_f=`readlink $f` - rm -f $f - ln -s openssl10-$ln_f $(dirname $f)/openssl10-$(basename $f) - done -} - -do_install_append_class-native () { - create_wrapper ${D}${bindir}/openssl \ - OPENSSL_CONF=${libdir}/ssl/openssl.cnf \ - SSL_CERT_DIR=${libdir}/ssl/certs \ - SSL_CERT_FILE=${libdir}/ssl/cert.pem \ - OPENSSL_ENGINES=${libdir}/ssl/engines -} - -do_install_append_class-nativesdk () { - mkdir -p ${D}${SDKPATHNATIVE}/environment-setup.d - install -m 644 ${WORKDIR}/environment.d-openssl.sh ${D}${SDKPATHNATIVE}/environment-setup.d/openssl.sh -} - -do_install_ptest () { - cp -r -L Makefile.org Makefile test ${D}${PTEST_PATH} - - # Replace the path to native perl with the path to target perl - sed -i 's,^PERL=.*,PERL=${bindir}/perl,' ${D}${PTEST_PATH}/Makefile - - cp Configure config e_os.h ${D}${PTEST_PATH} - cp -r -L include ${D}${PTEST_PATH} - ln -sf ${libdir}/libcrypto.a ${D}${PTEST_PATH} - ln -sf ${libdir}/libssl.a ${D}${PTEST_PATH} - mkdir -p ${D}${PTEST_PATH}/crypto - cp crypto/constant_time_locl.h ${D}${PTEST_PATH}/crypto - cp -r certs ${D}${PTEST_PATH} - mkdir -p ${D}${PTEST_PATH}/apps - ln -sf ${libdir}/ssl/misc/CA.sh ${D}${PTEST_PATH}/apps - ln -sf ${sysconfdir}/ssl/openssl.cnf ${D}${PTEST_PATH}/apps - ln -sf ${bindir}/openssl ${D}${PTEST_PATH}/apps - cp apps/server.pem ${D}${PTEST_PATH}/apps - cp apps/server2.pem ${D}${PTEST_PATH}/apps - mkdir -p ${D}${PTEST_PATH}/util - install util/opensslwrap.sh ${D}${PTEST_PATH}/util - install util/shlib_wrap.sh ${D}${PTEST_PATH}/util - # Time stamps are relevant for "make alltests", otherwise - # make may try to recompile binaries. Not only must the - # binary files be newer than the sources, they also must - # be more recent than the header files in /usr/include. - # - # Using "cp -a" is not sufficient, because do_install - # does not preserve the original time stamps. - # - # So instead of using the original file stamps, we set - # the current time for all files. Binaries will get - # modified again later when stripping them, but that's okay. - touch ${D}${PTEST_PATH} - find ${D}${PTEST_PATH} -type f -print0 | xargs --verbose -0 touch -r ${D}${PTEST_PATH} - - # exclude binary files or the package won't install - for d in ssltest_old v3ext x509aux; do - rm -rf ${D}${libdir}/${BPN}/ptest/test/$d - done - - # Remove build host references - sed -i \ - -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \ - -e 's|${DEBUG_PREFIX_MAP}||g' \ - ${D}${PTEST_PATH}/Makefile ${D}${PTEST_PATH}/Configure -} - -# Add the openssl.cnf file to the openssl-conf package. Make the libcrypto -# package RRECOMMENDS on this package. This will enable the configuration -# file to be installed for both the base openssl package and the libcrypto -# package since the base openssl package depends on the libcrypto package. - -PACKAGES =+ "libcrypto10 libssl10 openssl10-conf ${PN}-engines ${PN}-misc" - -FILES_libcrypto10 = "${libdir}/libcrypto${SOLIBS}" -FILES_libssl10 = "${libdir}/libssl${SOLIBS}" -FILES_openssl10-conf = "${sysconfdir}/ssl/openssl.cnf" -FILES_${PN}-engines = "${libdir}/ssl/engines/*.so ${libdir}/engines" -FILES_${PN}-misc = "${libdir}/ssl/misc" -FILES_${PN} =+ "${libdir}/ssl/*" -FILES_${PN}_append_class-nativesdk = " ${SDKPATHNATIVE}/environment-setup.d/openssl.sh" - -CONFFILES_openssl10-conf = "${sysconfdir}/ssl/openssl.cnf" - -RRECOMMENDS_libcrypto10 += "openssl10-conf" -RDEPENDS_${PN}-misc = "${@bb.utils.filter('PACKAGECONFIG', 'perl', d)}" -RDEPENDS_${PN}-ptest += "${PN}-misc make perl perl-module-filehandle bc" - -BBCLASSEXTEND = "native nativesdk" -PACKAGE_PREPROCESS_FUNCS += "openssl_package_preprocess" - -# openssl 1.0 development files and executable binaries clash with openssl 1.1 -# files when installed into target rootfs. So we don't put them into -# packages, but they continue to be provided via target sysroot for -# cross-compilation on the host, if some software still depends on openssl 1.0. -openssl_package_preprocess () { - for file in `find ${PKGD} -name *.h -o -name *.pc -o -name *.so`; do - rm $file - done - rm ${PKGD}${bindir}/openssl - rm ${PKGD}${bindir}/c_rehash - rmdir ${PKGD}${bindir} - -} diff --git a/poky/meta/recipes-connectivity/openssl/openssl_1.1.1b.bb b/poky/meta/recipes-connectivity/openssl/openssl_1.1.1b.bb index d3404d2ef..8bb3a309a 100644 --- a/poky/meta/recipes-connectivity/openssl/openssl_1.1.1b.bb +++ b/poky/meta/recipes-connectivity/openssl/openssl_1.1.1b.bb @@ -199,8 +199,4 @@ CONFFILES_openssl-conf = "${sysconfdir}/ssl/openssl.cnf" RRECOMMENDS_libcrypto += "openssl-conf" RDEPENDS_${PN}-ptest += "openssl-bin perl perl-modules bash" -RPROVIDES_openssl-conf = "openssl10-conf" -RREPLACES_openssl-conf = "openssl10-conf" -RCONFLICTS_openssl-conf = "openssl10-conf" - BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-connectivity/socat/socat/0001-Access-c_ispeed-and-c_ospeed-via-APIs.patch b/poky/meta/recipes-connectivity/socat/socat/0001-Access-c_ispeed-and-c_ospeed-via-APIs.patch deleted file mode 100644 index c0e27f3d7..000000000 --- a/poky/meta/recipes-connectivity/socat/socat/0001-Access-c_ispeed-and-c_ospeed-via-APIs.patch +++ /dev/null @@ -1,52 +0,0 @@ -From fb10ab134d630705cae0c7be42437cc289af7d32 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Tue, 15 Mar 2016 21:36:02 +0000 -Subject: [PATCH] Use __c_ispeed and __c_ospeed on musl - -Original intention of these asserts is to find if termios structure -is mapped correctly to locally define union, the get* APIs for -baudrate would not do the right thing since they do not return the -value from c_ospeed/c_ispeed but the value which is stored in iflag -for baudrate. - -So we check if we are on Linux but not using glibc then we use -__c_ispeed and __c_ospeed as defined in musl, however these are -internal elements of structs it should not have been used this -way. - -Signed-off-by: Khem Raj <raj.khem@gmail.com> - ---- -Upstream-Status: Pending - - xioinitialize.c | 7 +++++++ - 1 file changed, 7 insertions(+) - -diff --git a/xioinitialize.c b/xioinitialize.c -index 9f50155..8fb2e4c 100644 ---- a/xioinitialize.c -+++ b/xioinitialize.c -@@ -65,6 +65,12 @@ int xioinitialize(void) { - #if HAVE_TERMIOS_ISPEED && (ISPEED_OFFSET != -1) && (OSPEED_OFFSET != -1) - #if defined(ISPEED_OFFSET) && (ISPEED_OFFSET != -1) - #if defined(OSPEED_OFFSET) && (OSPEED_OFFSET != -1) -+#if defined(__linux__) && !defined(__GLIBC__) -+ tdata.termarg.__c_ispeed = 0x56789abc; -+ tdata.termarg.__c_ospeed = 0x6789abcd; -+ assert(tdata.termarg.__c_ispeed == tdata.speeds[ISPEED_OFFSET]); -+ assert(tdata.termarg.__c_ospeed == tdata.speeds[OSPEED_OFFSET]); -+#else - tdata.termarg.c_ispeed = 0x56789abc; - tdata.termarg.c_ospeed = 0x6789abcd; - assert(tdata.termarg.c_ispeed == tdata.speeds[ISPEED_OFFSET]); -@@ -72,6 +78,7 @@ int xioinitialize(void) { - #endif - #endif - #endif -+#endif - } - #endif - --- -2.8.0 - diff --git a/poky/meta/recipes-connectivity/socat/socat/Makefile.in-fix-for-parallel-build.patch b/poky/meta/recipes-connectivity/socat/socat/Makefile.in-fix-for-parallel-build.patch deleted file mode 100644 index aa4db65a7..000000000 --- a/poky/meta/recipes-connectivity/socat/socat/Makefile.in-fix-for-parallel-build.patch +++ /dev/null @@ -1,35 +0,0 @@ -From c6f0080b55679b6e8b5d332d6e05fdcbda1e4064 Mon Sep 17 00:00:00 2001 -From: Robert Yang <liezhi.yang@windriver.com> -Date: Mon, 4 May 2015 00:58:47 -0700 -Subject: [PATCH] Makefile.in: fix for parallel build - -Fixed: -vsnprintf_r.o: file not recognized: File truncated -collect2: error: ld returned 3 exit status -Makefile:122: recipe for target 'filan' failed - -Let filan depend on vsnprintf_r.o and snprinterr.o to fix the issue. - -Upstream-Status: Pending - -Signed-off-by: Robert Yang <liezhi.yang@windriver.com> ---- - Makefile.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Makefile.in b/Makefile.in -index f2a6edb..88b784b 100644 ---- a/Makefile.in -+++ b/Makefile.in -@@ -118,7 +118,7 @@ PROCAN_OBJS=procan_main.o procan.o procan-cdefs.o hostan.o error.o sycls.o sysut - procan: $(PROCAN_OBJS) - $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(PROCAN_OBJS) $(CLIBS) - --filan: filan_main.o filan.o fdname.o error.o sycls.o sysutils.o utils.o -+filan: filan_main.o filan.o fdname.o error.o sycls.o sysutils.o utils.o vsnprintf_r.o snprinterr.o - $(CC) $(CFLAGS) $(LDFLAGS) -o $@ filan_main.o filan.o fdname.o error.o sycls.o sysutils.o utils.o vsnprintf_r.o snprinterr.o $(CLIBS) - - libxio.a: $(XIOOBJS) $(UTLOBJS) --- -1.7.9.5 - diff --git a/poky/meta/recipes-connectivity/socat/socat_1.7.3.2.bb b/poky/meta/recipes-connectivity/socat/socat_1.7.3.3.bb index b2d6b1dea..7a889a380 100644 --- a/poky/meta/recipes-connectivity/socat/socat_1.7.3.2.bb +++ b/poky/meta/recipes-connectivity/socat/socat_1.7.3.3.bb @@ -12,13 +12,11 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ file://README;beginline=257;endline=287;md5=338c05eadd013872abb1d6e198e10a3f" SRC_URI = "http://www.dest-unreach.org/socat/download/socat-${PV}.tar.bz2 \ - file://Makefile.in-fix-for-parallel-build.patch \ file://0001-define-NETDB_INTERNAL-to-1-if-not-available.patch \ - file://0001-Access-c_ispeed-and-c_ospeed-via-APIs.patch \ " -SRC_URI[md5sum] = "607a24c15bd2cb54e9328bfbbd3a1ae9" -SRC_URI[sha256sum] = "e3561f808739383eb10fada1e5d4f26883f0311b34fd0af7837d0c95ef379251" +SRC_URI[md5sum] = "b2a032a47b8b89a18485697fa975154f" +SRC_URI[sha256sum] = "0dd63ffe498168a4aac41d307594c5076ff307aa0ac04b141f8f1cec6594d04a" inherit autotools diff --git a/poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.7.bb b/poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.8.bb index fe5fa2b82..bd4167c31 100644 --- a/poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.7.bb +++ b/poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.8.bb @@ -3,9 +3,9 @@ HOMEPAGE = "http://w1.fi/wpa_supplicant/" BUGTRACKER = "http://w1.fi/security/" SECTION = "network" LICENSE = "BSD" -LIC_FILES_CHKSUM = "file://COPYING;md5=a3791c270ad6bb026707d17bf750e5ef \ - file://README;beginline=1;endline=56;md5=495cbce6008253de4b4d8f4cdfae9f4f \ - file://wpa_supplicant/wpa_supplicant.c;beginline=1;endline=12;md5=a5687903a31b8679e6a06b3afa5c819e" +LIC_FILES_CHKSUM = "file://COPYING;md5=279b4f5abb9c153c285221855ddb78cc \ + file://README;beginline=1;endline=56;md5=e7d3dbb01f75f0b9799e192731d1e1ff \ + file://wpa_supplicant/wpa_supplicant.c;beginline=1;endline=12;md5=0a8b56d3543498b742b9c0e94cc2d18b" DEPENDS = "dbus libnl" RRECOMMENDS_${PN} = "wpa-supplicant-passphrase wpa-supplicant-cli" @@ -26,8 +26,8 @@ SRC_URI = "http://w1.fi/releases/wpa_supplicant-${PV}.tar.gz \ file://99_wpa_supplicant \ file://0001-replace-systemd-install-Alias-with-WantedBy.patch \ " -SRC_URI[md5sum] = "a68538fb62766f40f890125026c42c10" -SRC_URI[sha256sum] = "76ea6b06b7a2ea8e6d9eb1a9166166f1656e6d48c7508914f592100c95c73074" +SRC_URI[md5sum] = "0af5998c5d924e985cab16b9a1c77904" +SRC_URI[sha256sum] = "a689336a12a99151b9de5e25bfccadb88438f4f4438eb8db331cd94346fd3d96" CVE_PRODUCT = "wpa_supplicant" diff --git a/poky/meta/recipes-core/base-files/base-files_3.0.14.bb b/poky/meta/recipes-core/base-files/base-files_3.0.14.bb index a1639db83..4b4027f18 100644 --- a/poky/meta/recipes-core/base-files/base-files_3.0.14.bb +++ b/poky/meta/recipes-core/base-files/base-files_3.0.14.bb @@ -134,15 +134,16 @@ do_install () { install -m 0644 ${WORKDIR}/motd ${D}${sysconfdir}/motd ln -sf /proc/mounts ${D}${sysconfdir}/mtab -} -DISTRO_VERSION[vardepsexclude] += "DATE" -do_install_basefilesissue () { + # deal with hostname if [ "${hostname}" ]; then echo ${hostname} > ${D}${sysconfdir}/hostname echo "127.0.1.1 ${hostname}" >> ${D}${sysconfdir}/hosts fi +} +DISTRO_VERSION[vardepsexclude] += "DATE" +do_install_basefilesissue () { install -m 644 ${WORKDIR}/issue* ${D}${sysconfdir} if [ -n "${DISTRO_NAME}" ]; then printf "${DISTRO_NAME} " >> ${D}${sysconfdir}/issue diff --git a/poky/meta/recipes-core/base-passwd/base-passwd/kvm.patch b/poky/meta/recipes-core/base-passwd/base-passwd/kvm.patch new file mode 100644 index 000000000..113d5151e --- /dev/null +++ b/poky/meta/recipes-core/base-passwd/base-passwd/kvm.patch @@ -0,0 +1,23 @@ +From 6355278b9f744291864c373a32a8da8f84aaaf37 Mon Sep 17 00:00:00 2001 +From: Jacob Kroon <jacob.kroon@gmail.com> +Date: Wed, 30 Jan 2019 04:53:48 +0000 +Subject: [PATCH] Add kvm group + +Upstream-Status: Pending +Signed-off-by: Jacob Kroon <jacob.kroon@gmail.com> +--- + group.master | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/group.master b/group.master +index cea9d60..5b62284 100644 +--- a/group.master ++++ b/group.master +@@ -34,6 +34,7 @@ utmp:*:43: + video:*:44: + sasl:*:45: + plugdev:*:46: ++kvm:*:47: + staff:*:50: + games:*:60: + shutdown:*:70: diff --git a/poky/meta/recipes-core/base-passwd/base-passwd_3.5.29.bb b/poky/meta/recipes-core/base-passwd/base-passwd_3.5.29.bb index c6be1c1d0..d1aab0918 100644 --- a/poky/meta/recipes-core/base-passwd/base-passwd_3.5.29.bb +++ b/poky/meta/recipes-core/base-passwd/base-passwd_3.5.29.bb @@ -12,7 +12,8 @@ SRC_URI = "https://launchpad.net/debian/+archive/primary/+files/${BPN}_${PV}.tar file://noshadow.patch \ file://input.patch \ file://disable-docs.patch \ - " + file://kvm.patch \ + " SRC_URI[md5sum] = "6beccac48083fe8ae5048acd062e5421" SRC_URI[sha256sum] = "f0b66388b2c8e49c15692439d2bee63bcdd4bbbf7a782c7f64accc55986b6a36" diff --git a/poky/meta/recipes-core/busybox/busybox.inc b/poky/meta/recipes-core/busybox/busybox.inc index c9d25ff1c..174ce5a8c 100644 --- a/poky/meta/recipes-core/busybox/busybox.inc +++ b/poky/meta/recipes-core/busybox/busybox.inc @@ -347,24 +347,12 @@ do_install () { fi } +PTEST_BINDIR = "1" + do_install_ptest () { cp -r ${B}/testsuite ${D}${PTEST_PATH}/ cp ${B}/.config ${D}${PTEST_PATH}/ ln -s /bin/busybox ${D}${PTEST_PATH}/busybox - - mkdir ${D}${PTEST_PATH}/bin - if [ "${BUSYBOX_SPLIT_SUID}" = "1" ]; then - while read link; do - ln -s ${base_bindir}/busybox.suid ${D}${PTEST_PATH}/bin/$(basename $link) - done <${D}${sysconfdir}/busybox.links.suid - while read link; do - ln -s ${base_bindir}/busybox.nosuid ${D}${PTEST_PATH}/bin/$(basename $link) - done <${D}${sysconfdir}/busybox.links.nosuid - else - while read link; do - ln -s ${base_bindir}/busybox ${D}${PTEST_PATH}/bin/$(basename $link) - done <${D}${sysconfdir}/busybox.links - fi } inherit update-alternatives diff --git a/poky/meta/recipes-core/busybox/busybox/0001-dc.tests-fix-two-test-case-to-also-depend-on-DC_BIG.patch b/poky/meta/recipes-core/busybox/busybox/0001-dc.tests-fix-two-test-case-to-also-depend-on-DC_BIG.patch new file mode 100644 index 000000000..d22db4a66 --- /dev/null +++ b/poky/meta/recipes-core/busybox/busybox/0001-dc.tests-fix-two-test-case-to-also-depend-on-DC_BIG.patch @@ -0,0 +1,39 @@ +From a4e03fbb4d82f91069d96005405f89c45b8fd157 Mon Sep 17 00:00:00 2001 +From: Chen Qi <Qi.Chen@windriver.com> +Date: Wed, 17 Apr 2019 09:24:37 +0800 +Subject: [PATCH] dc.tests: fix two test case to also depend on DC_BIG + +Upstream-Status: Submitted [http://lists.busybox.net/pipermail/busybox/2019-April/087205.html] + +Signed-off-by: Chen Qi <Qi.Chen@windriver.com> +--- + testsuite/dc.tests | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/testsuite/dc.tests b/testsuite/dc.tests +index 1708a48..8c3af41 100755 +--- a/testsuite/dc.tests ++++ b/testsuite/dc.tests +@@ -41,6 +41,9 @@ testing "dc complex without spaces (multiple args)" \ + "16\n" \ + "" "" + ++optional FEATURE_DC_BIG ++# All tests below depend on FEATURE_DC_BIG ++ + testing "dc read" \ + "dc -finput" \ + "2\n9\n1\n" \ +@@ -51,9 +54,6 @@ testing "dc read string" \ + "2\nstr\n1\n" \ + "1?2\nf" "[str]\n" + +-optional FEATURE_DC_BIG +-# All tests below depend on FEATURE_DC_BIG +- + testing "dc '>a' (conditional execute string) 1" \ + "dc" \ + "1\n9\n" \ +-- +2.7.4 + diff --git a/poky/meta/recipes-core/busybox/busybox/defconfig b/poky/meta/recipes-core/busybox/busybox/defconfig index 493db28e8..0b27fcd4b 100644 --- a/poky/meta/recipes-core/busybox/busybox/defconfig +++ b/poky/meta/recipes-core/busybox/busybox/defconfig @@ -989,7 +989,6 @@ CONFIG_UDHCPC_DEFAULT_SCRIPT="/usr/share/udhcpc/default.script" # CONFIG_FEATURE_UDHCP_PORT is not set CONFIG_UDHCP_DEBUG=0 CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=80 -# CONFIG_FEATURE_UDHCP_RFC3397 is not set # CONFIG_FEATURE_UDHCP_8021Q is not set CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS="-R -b" diff --git a/poky/meta/recipes-core/busybox/busybox_1.30.1.bb b/poky/meta/recipes-core/busybox/busybox_1.30.1.bb index 164f3ab3c..ba76755d7 100644 --- a/poky/meta/recipes-core/busybox/busybox_1.30.1.bb +++ b/poky/meta/recipes-core/busybox/busybox_1.30.1.bb @@ -44,6 +44,7 @@ SRC_URI = "http://www.busybox.net/downloads/busybox-${PV}.tar.bz2;name=tarball \ file://0001-testsuite-check-uudecode-before-using-it.patch \ file://0001-testsuite-use-www.example.org-for-wget-test-cases.patch \ file://0001-du-l-works-fix-to-use-145-instead-of-144.patch \ + file://0001-dc.tests-fix-two-test-case-to-also-depend-on-DC_BIG.patch \ " SRC_URI_append_libc-musl = " file://musl.cfg " diff --git a/poky/meta/recipes-core/coreutils/coreutils/strtod_fix_clash_with_strtold.patch b/poky/meta/recipes-core/coreutils/coreutils/strtod_fix_clash_with_strtold.patch new file mode 100644 index 000000000..77770093c --- /dev/null +++ b/poky/meta/recipes-core/coreutils/coreutils/strtod_fix_clash_with_strtold.patch @@ -0,0 +1,56 @@ +From 0562b040fa17f1722ba2b3096067b45d0582ca53 Mon Sep 17 00:00:00 2001 +From: Paul Eggert <eggert@cs.ucla.edu> +Date: Mon, 11 Mar 2019 16:40:29 -0700 +Subject: [PATCH] strtod: fix clash with strtold + +Problem reported for RHEL 5 by Jesse Caldwell (Bug#34817). +* lib/strtod.c (compute_minus_zero, minus_zero): +Simplify by remving the macro / external variable, +and having just a function. User changed. This avoids +the need for an external variable that might clash. + +Upstream-Status: Backport [rhel5] + +Signed-off-by: Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com> + +--- + ChangeLog | 9 +++++++++ + lib/strtod.c | 11 +++++------ + 2 files changed, 14 insertions(+), 6 deletions(-) + +diff --git a/lib/strtod.c b/lib/strtod.c +index b9eaa51b4..69b1564e1 100644 +--- a/lib/strtod.c ++++ b/lib/strtod.c +@@ -294,16 +294,15 @@ parse_number (const char *nptr, + ICC 10.0 has a bug when optimizing the expression -zero. + The expression -MIN * MIN does not work when cross-compiling + to PowerPC on Mac OS X 10.5. */ +-#if defined __hpux || defined __sgi || defined __ICC + static DOUBLE +-compute_minus_zero (void) ++minus_zero (void) + { ++#if defined __hpux || defined __sgi || defined __ICC + return -MIN * MIN; +-} +-# define minus_zero compute_minus_zero () + #else +-DOUBLE minus_zero = -0.0; ++ return -0.0; + #endif ++} + + /* Convert NPTR to a DOUBLE. If ENDPTR is not NULL, a pointer to the + character after the last one used in the number is put in *ENDPTR. */ +@@ -479,6 +478,6 @@ STRTOD (const char *nptr, char **endptr) + /* Special case -0.0, since at least ICC miscompiles negation. We + can't use copysign(), as that drags in -lm on some platforms. */ + if (!num && negative) +- return minus_zero; ++ return minus_zero (); + return negative ? -num : num; + } +-- +2.20.1 + diff --git a/poky/meta/recipes-core/coreutils/coreutils_8.30.bb b/poky/meta/recipes-core/coreutils/coreutils_8.31.bb index 8f4ee5571..4a74f619a 100644 --- a/poky/meta/recipes-core/coreutils/coreutils_8.30.bb +++ b/poky/meta/recipes-core/coreutils/coreutils_8.31.bb @@ -6,7 +6,7 @@ HOMEPAGE = "http://www.gnu.org/software/coreutils/" BUGTRACKER = "http://debbugs.gnu.org/coreutils" LICENSE = "GPLv3+" LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504\ - file://src/ls.c;beginline=1;endline=15;md5=dbe356a88b09c29232b083d1ff8ac82a" + file://src/ls.c;beginline=1;endline=15;md5=c456f9896277a0543e3866777ccc0255" DEPENDS = "gmp libcap" DEPENDS_class-native = "" @@ -20,8 +20,10 @@ SRC_URI = "${GNU_MIRROR}/coreutils/${BP}.tar.xz \ file://0001-local.mk-fix-cross-compiling-problem.patch \ " -SRC_URI[md5sum] = "ab06d68949758971fe744db66b572816" -SRC_URI[sha256sum] = "e831b3a86091496cdba720411f9748de81507798f6130adeaef872d206e1b057" +SRC_URI_append_libc-musl = "file://strtod_fix_clash_with_strtold.patch" + +SRC_URI[md5sum] = "0009a224d8e288e8ec406ef0161f9293" +SRC_URI[sha256sum] = "ff7a9c918edce6b4f4b2725e3f9b37b0c4d193531cac49a48b56c4d0d3a9e9fd" EXTRA_OECONF_class-native = "--without-gmp" EXTRA_OECONF_class-target = "--enable-install-program=arch,hostname --libexecdir=${libdir}" diff --git a/poky/meta/recipes-core/dbus/dbus-test_1.12.12.bb b/poky/meta/recipes-core/dbus/dbus-test_1.12.12.bb index f4131926c..f95b31a86 100644 --- a/poky/meta/recipes-core/dbus/dbus-test_1.12.12.bb +++ b/poky/meta/recipes-core/dbus/dbus-test_1.12.12.bb @@ -7,7 +7,6 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=10dded3b58148f3f1fd804b26354af3e \ DEPENDS = "dbus glib-2.0" -RDEPENDS_${PN} += "make" RDEPENDS_${PN}-dev = "" SRC_URI = "http://dbus.freedesktop.org/releases/dbus/dbus-${PV}.tar.gz \ @@ -33,13 +32,14 @@ EXTRA_OECONF = "--enable-tests \ --enable-installed-tests \ --enable-checks \ --enable-asserts \ - --enable-verbose-mode \ --enable-largefile \ --disable-xml-docs \ --disable-doxygen-docs \ --disable-libaudit \ --with-dbus-test-dir=${PTEST_PATH} \ - ${EXTRA_OECONF_X}" + ${EXTRA_OECONF_X} \ + --enable-embedded-tests \ + " EXTRA_OECONF_append_class-target = " SYSTEMCTL=${base_bindir}/systemctl" @@ -50,6 +50,7 @@ PACKAGECONFIG_class-nativesdk = "" PACKAGECONFIG[systemd] = "--enable-systemd --with-systemdsystemunitdir=${systemd_system_unitdir},--disable-systemd --without-systemdsystemunitdir,systemd" PACKAGECONFIG[x11] = "--with-x --enable-x11-autolaunch,--without-x --disable-x11-autolaunch, virtual/libx11 libsm" PACKAGECONFIG[user-session] = "--enable-user-session --with-systemduserunitdir=${systemd_user_unitdir},--disable-user-session" +PACKAGECONFIG[verbose-mode] = "--enable-verbose-mode,,," do_install() { : @@ -58,12 +59,17 @@ do_install() { do_install_ptest() { install -d ${D}${PTEST_PATH}/test l="shell printf refs syslog marshal syntax corrupt dbus-daemon dbus-daemon-eavesdrop loopback relay \ - variant uid-permissions syntax spawn sd-activation names monitor message fdpass " + variant uid-permissions syntax spawn sd-activation names monitor message fdpass service shell-service" for i in $l; do install ${B}/test/.libs/test-$i ${D}${PTEST_PATH}/test; done l="bus bus-system bus-launch-helper" for i in $l; do install ${B}/bus/.libs/test-$i ${D}${PTEST_PATH}/test; done + install -d ${D}${PTEST_PATH}/bus + install ${B}/bus/.libs/dbus-daemon-launch-helper-test ${D}${PTEST_PATH}/bus + + install ${B}/test/test-segfault ${D}${PTEST_PATH}/test + cp -r ${B}/test/data ${D}${PTEST_PATH}/test install ${B}/dbus/.libs/test-dbus ${D}${PTEST_PATH}/test @@ -78,6 +84,7 @@ do_install_ptest() { sed -i -e 's;@PTEST_PATH@;${PTEST_PATH};g' ${D}${PTEST_PATH}/run-ptest } -RDEPENDS_${PN}-ptest += "bash" +RDEPENDS_${PN}-ptest += "bash make dbus" +RDEPENDS_${PN}-ptest_remove = "${PN}" PRIVATE_LIBS_${PN}-ptest = "libdbus-1.so.3" diff --git a/poky/meta/recipes-core/dbus/dbus/run-ptest b/poky/meta/recipes-core/dbus/dbus/run-ptest index 353ba1e90..cf2e68fa0 100755 --- a/poky/meta/recipes-core/dbus/dbus/run-ptest +++ b/poky/meta/recipes-core/dbus/dbus/run-ptest @@ -17,8 +17,16 @@ export LD_LIBRARY_PATH=@PTEST_PATH@/test/.libs files=`ls test/test-*` for i in $files - do - ./$i ./test/data >/dev/null - output - done +do + #these programs are used by testcase test-bus, don't run here + if [ $i = "test/test-service" ] \ + || [ $i = "test/test-shell-service" ] \ + || [ $i = "test/test-segfault" ] + then + continue + fi + + ./$i ./test/data >/dev/null 2>&1 + output +done diff --git a/poky/meta/recipes-core/dropbear/dropbear.inc b/poky/meta/recipes-core/dropbear/dropbear.inc index 3fbdb5e82..25376038f 100644 --- a/poky/meta/recipes-core/dropbear/dropbear.inc +++ b/poky/meta/recipes-core/dropbear/dropbear.inc @@ -34,6 +34,8 @@ RDEPENDS_${PN} += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_PLUGINS inherit autotools update-rc.d systemd +CVE_PRODUCT = "dropbear_ssh" + INITSCRIPT_NAME = "dropbear" INITSCRIPT_PARAMS = "defaults 10" diff --git a/poky/meta/recipes-core/dropbear/dropbear_2019.77.bb b/poky/meta/recipes-core/dropbear/dropbear_2019.77.bb deleted file mode 100644 index d2a71ba64..000000000 --- a/poky/meta/recipes-core/dropbear/dropbear_2019.77.bb +++ /dev/null @@ -1,4 +0,0 @@ -require dropbear.inc - -SRC_URI[md5sum] = "5d4f0256c5d13820b0a3eaadb1a0bc1a" -SRC_URI[sha256sum] = "d91f78ebe633be1d071fd1b7e5535b9693794048b019e9f4bea257e1992b458d" diff --git a/poky/meta/recipes-core/dropbear/dropbear_2019.78.bb b/poky/meta/recipes-core/dropbear/dropbear_2019.78.bb new file mode 100644 index 000000000..d2cd8161b --- /dev/null +++ b/poky/meta/recipes-core/dropbear/dropbear_2019.78.bb @@ -0,0 +1,4 @@ +require dropbear.inc + +SRC_URI[md5sum] = "a972c85ed678ad0fdcb7844e1294fb54" +SRC_URI[sha256sum] = "525965971272270995364a0eb01f35180d793182e63dd0b0c3eb0292291644a4" diff --git a/poky/meta/recipes-core/ell/ell_0.20.bb b/poky/meta/recipes-core/ell/ell_0.20.bb new file mode 100644 index 000000000..81caa80fa --- /dev/null +++ b/poky/meta/recipes-core/ell/ell_0.20.bb @@ -0,0 +1,22 @@ +SUMMARY = "Embedded Linux Library" +DESCRIPTION = "The Embedded Linux Library (ELL) provides core, \ +low-level functionality for system daemons. It typically has no \ +dependencies other than the Linux kernel, C standard library, and \ +libdl (for dynamic linking). While ELL is designed to be efficient \ +and compact enough for use on embedded Linux platforms, it is not \ +limited to resource-constrained systems." +SECTION = "libs" +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=fb504b67c50331fc78734fed90fb0e09" + +DEPENDS = "dbus" + +inherit autotools pkgconfig + +SRC_URI = "https://mirrors.edge.kernel.org/pub/linux/libs/${BPN}/${BPN}-${PV}.tar.xz" +SRC_URI[md5sum] = "920189f5be4ee4cd72d610baeb20da65" +SRC_URI[sha256sum] = "d4aa08915f4058ecaab509dffbe22665d71dba6fe9626caff63c0e5f4b78a394" + +do_configure_prepend () { + mkdir -p ${S}/build-aux +} diff --git a/poky/meta/recipes-core/gettext/gettext-0.19.8.1/run-ptest b/poky/meta/recipes-core/gettext/gettext-0.19.8.1/run-ptest new file mode 100644 index 000000000..f17f3c87a --- /dev/null +++ b/poky/meta/recipes-core/gettext/gettext-0.19.8.1/run-ptest @@ -0,0 +1,6 @@ +#!/bin/sh +# +#This script is used to run gettext test suites +cd tests + +make -k runtest-TESTS top_srcdir=.. srcdir=. abs_srcdir=$PWD top_builddir=$PWD/../ abs_top_srcdir=$PWD/../ | cat diff --git a/poky/meta/recipes-core/gettext/gettext-0.19.8.1/serial-tests-config.patch b/poky/meta/recipes-core/gettext/gettext-0.19.8.1/serial-tests-config.patch new file mode 100644 index 000000000..31ff9138a --- /dev/null +++ b/poky/meta/recipes-core/gettext/gettext-0.19.8.1/serial-tests-config.patch @@ -0,0 +1,58 @@ +From c4b1f3a0c7b7c40b343be9b95deb84e0485643be Mon Sep 17 00:00:00 2001 +From: "Hongjun.Yang" <hongjun.yang@windriver.com> +Date: Thu, 28 Jul 2016 12:36:15 +0800 +Subject: [PATCH] fix for ptest + +Add serial-tests support, ptest need it + +Upstream-Status: Inappropriate [oe specific] + +Signed-off-by: Changqing Li <changqing.li@windriver.com> +--- + configure.ac | 2 +- + gettext-runtime/configure.ac | 2 +- + gettext-tools/configure.ac | 2 +- + 3 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 5e996fa..880581f 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -23,7 +23,7 @@ AC_INIT([gettext], + [bug-gnu-gettext@gnu.org]) + AC_CONFIG_SRCDIR([gettext-tools/src/msgfmt.c]) + AC_CONFIG_AUX_DIR([build-aux]) +-AM_INIT_AUTOMAKE([1.13 silent-rules parallel-tests dist-xz dist-lzip]) ++AM_INIT_AUTOMAKE([1.13 silent-rules serial-tests dist-xz dist-lzip]) + + dnl Override automake's tar command used for creating distributions. + am__tar='${AMTAR} chof - --owner=root --group=root "$$tardir"' +diff --git a/gettext-runtime/configure.ac b/gettext-runtime/configure.ac +index e9299b6..d4f5528 100644 +--- a/gettext-runtime/configure.ac ++++ b/gettext-runtime/configure.ac +@@ -22,7 +22,7 @@ AC_INIT([gettext-runtime], + [bug-gnu-gettext@gnu.org]) + AC_CONFIG_SRCDIR([intl/dcigettext.c]) + AC_CONFIG_AUX_DIR([../build-aux]) +-AM_INIT_AUTOMAKE([1.11.1 silent-rules parallel-tests]) ++AM_INIT_AUTOMAKE([1.11.1 silent-rules serial-tests]) + AC_CONFIG_HEADERS([config.h]) + + dnl Installation directories. +diff --git a/gettext-tools/configure.ac b/gettext-tools/configure.ac +index 920eeb6..c507434 100644 +--- a/gettext-tools/configure.ac ++++ b/gettext-tools/configure.ac +@@ -22,7 +22,7 @@ AC_INIT([gettext-tools], + [bug-gnu-gettext@gnu.org]) + AC_CONFIG_SRCDIR([src/msgfmt.c]) + AC_CONFIG_AUX_DIR([../build-aux]) +-AM_INIT_AUTOMAKE([1.11.1 silent-rules parallel-tests]) ++AM_INIT_AUTOMAKE([1.11.1 silent-rules serial-tests]) + AC_CONFIG_HEADERS([config.h]) + + dnl Installation directories. +-- +2.1.4 + diff --git a/poky/meta/recipes-core/gettext/gettext_0.19.8.1.bb b/poky/meta/recipes-core/gettext/gettext_0.19.8.1.bb index 404972439..30121ad23 100644 --- a/poky/meta/recipes-core/gettext/gettext_0.19.8.1.bb +++ b/poky/meta/recipes-core/gettext/gettext_0.19.8.1.bb @@ -22,12 +22,14 @@ SRC_URI = "${GNU_MIRROR}/gettext/gettext-${PV}.tar.gz \ file://cr-statement.c-timsort.h-fix-formatting-issues.patch \ file://use-pkgconfig.patch \ file://fix-CVE-2018-18751.patch \ + file://run-ptest \ + file://serial-tests-config.patch \ " SRC_URI[md5sum] = "97e034cf8ce5ba73a28ff6c3c0638092" SRC_URI[sha256sum] = "ff942af0e438ced4a8b0ea4b0b6e0d6d657157c5e2364de57baa279c1c125c43" -inherit autotools texinfo pkgconfig +inherit autotools texinfo pkgconfig ptest EXTRA_OECONF += "--without-lispdir \ --disable-csharp \ @@ -129,4 +131,58 @@ do_install_append_class-native () { } +do_compile_ptest() { + cd ${B}/gettext-tools/tests/ + sed -i '/^buildtest-TESTS: /c buildtest-TESTS: $(TESTS) $(check_PROGRAMS)' Makefile + oe_runmake buildtest-TESTS + cd - +} + +do_install_ptest() { + if [ ${PTEST_ENABLED} = "1" ]; then + mkdir -p ${D}${PTEST_PATH}/tests + mkdir -p ${D}${PTEST_PATH}/src + mkdir -p ${D}${PTEST_PATH}/po + mkdir -p ${D}${PTEST_PATH}/misc + cp -rf ${S}/gettext-tools/tests/* ${D}${PTEST_PATH}/tests + cp -rf ${B}/gettext-tools/tests/.libs/* ${D}${PTEST_PATH}/tests + cp -rf ${B}/gettext-runtime/intl/.libs/libgnuintl.so.8* ${D}${libdir}/ + cp -rf ${B}/gettext-tools/tests/Makefile ${D}${PTEST_PATH}/tests + sed -i '/^Makefile:/c Makefile:' ${D}${PTEST_PATH}/tests/Makefile + sed -i -e 's:CONFIG_SHELL=.*:& LOCALE_FR='fr_FR.iso88591' LOCALE_FR_UTF8='fr_FR.utf8' LOCALE_JA='ja_JP.eucjp':g' \ + -e 's:lang-c lang-c++:lang-c++:g' ${D}${PTEST_PATH}/tests/Makefile + install ${S}/gettext-tools/src/msgunfmt.tcl ${D}${PTEST_PATH}/src + install ${S}/gettext-tools/src/project-id ${D}${PTEST_PATH}/src + install ${B}/gettext-runtime/src/gettext.sh ${D}${PTEST_PATH}/src + install ${B}/gettext-runtime/src/ngettext ${D}${PTEST_PATH}/src + install ${B}/gettext-runtime/src/envsubst ${D}${PTEST_PATH}/src + install ${B}/gettext-runtime/src/gettext ${D}${PTEST_PATH}/src + install ${B}/gettext-tools/src/.libs/cldr-plurals ${D}${PTEST_PATH}/src + install ${S}/gettext-tools/po/gettext-tools.pot ${D}${PTEST_PATH}/po + install ${B}/gettext-tools/misc/* ${D}${PTEST_PATH}/misc + find ${D}${PTEST_PATH}/ -name "*.o" -exec rm {} \; + chmod 0755 ${D}${PTEST_PATH}/tests/lang-vala ${D}${PTEST_PATH}/tests/plural-1 ${D}${PTEST_PATH}/tests/xgettext-tcl-4 \ + ${D}${PTEST_PATH}/tests/xgettext-vala-1 ${D}${PTEST_PATH}/tests/xgettext-po-2 + fi +} + +RDEPENDS_${PN}-ptest += "make" +RDEPENDS_${PN}-ptest_append_libc-glibc = "\ + glibc-gconv-big5 \ + glibc-charmap-big5 \ + glibc-gconv-cp1251 \ + glibc-charmap-cp1251 \ + glibc-charmap-iso-8859-9 \ + glibc-gconv-iso8859-9 \ + glibc-charmap-koi8-r \ + glibc-gconv-koi8-r \ + glibc-gconv-iso8859-2 \ + glibc-charmap-iso-8859-2 \ + glibc-gconv-euc-kr \ + glibc-charmap-euc-kr \ +" + +INSANE_SKIP_${PN}-ptest += "ldflags" +INSANE_SKIP_${PN}-ptest += "rpaths" + BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/fix-nl-abaltmon.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/fix-nl-abaltmon.patch new file mode 100644 index 000000000..c36a397fe --- /dev/null +++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/fix-nl-abaltmon.patch @@ -0,0 +1,104 @@ +Fix the last few remaining bugs in glib's date/locale code. + +Upstream-Status: Backport +Signed-off-by: Ross Burton <ross.burton@intel.com> + +From 93d8482384ebc5c7d1f3d92b0190db0371269663 Mon Sep 17 00:00:00 2001 +From: Rafal Luzynski <digitalfreak@lingonborough.com> +Date: Fri, 10 May 2019 00:40:27 +0200 +Subject: [PATCH] build: Fix a typo in the test whether _NL_ABALTMON_n is + supported + +The correct spelling is "_NL_ABALTMON_n" rather than "_NL_ALTMON_n". +The typo made Meson build think that _NL_ABALTMON_n constants are +not supported which was totally wrong. This made g_date_time_format() +output incorrect abbreviated month names in some languages. +The old configure.ac script was correct here. + +Bug introduced in commit be4f96b6502c01d2a51d60b7a669c8ef82e22a4d. + +Closes: #1759 +--- + meson.build | 26 +++++++++++++------------- + 1 file changed, 13 insertions(+), 13 deletions(-) + +diff --git a/meson.build b/meson.build +index c5d2ce5f8..08fa40ac5 100644 +--- a/meson.build ++++ b/meson.build +@@ -1002,20 +1002,20 @@ if cc.links('''#ifndef _GNU_SOURCE + #include <langinfo.h> + int main (int argc, char ** argv) { + char *str; +- str = nl_langinfo (_NL_ALTMON_1); +- str = nl_langinfo (_NL_ALTMON_2); +- str = nl_langinfo (_NL_ALTMON_3); +- str = nl_langinfo (_NL_ALTMON_4); +- str = nl_langinfo (_NL_ALTMON_5); +- str = nl_langinfo (_NL_ALTMON_6); +- str = nl_langinfo (_NL_ALTMON_7); +- str = nl_langinfo (_NL_ALTMON_8); +- str = nl_langinfo (_NL_ALTMON_9); +- str = nl_langinfo (_NL_ALTMON_10); +- str = nl_langinfo (_NL_ALTMON_11); +- str = nl_langinfo (_NL_ALTMON_12); ++ str = nl_langinfo (_NL_ABALTMON_1); ++ str = nl_langinfo (_NL_ABALTMON_2); ++ str = nl_langinfo (_NL_ABALTMON_3); ++ str = nl_langinfo (_NL_ABALTMON_4); ++ str = nl_langinfo (_NL_ABALTMON_5); ++ str = nl_langinfo (_NL_ABALTMON_6); ++ str = nl_langinfo (_NL_ABALTMON_7); ++ str = nl_langinfo (_NL_ABALTMON_8); ++ str = nl_langinfo (_NL_ABALTMON_9); ++ str = nl_langinfo (_NL_ABALTMON_10); ++ str = nl_langinfo (_NL_ABALTMON_11); ++ str = nl_langinfo (_NL_ABALTMON_12); + return 0; +- }''', name : 'nl_langinfo (_NL_ALTMON_n)') ++ }''', name : 'nl_langinfo (_NL_ABALTMON_n)') + glib_conf.set('HAVE_LANGINFO_ABALTMON', 1) + endif + +-- +2.18.1 + +From 35c28be32762d5af6b93cb6a3420c5977f7bf599 Mon Sep 17 00:00:00 2001 +From: Rafal Luzynski <digitalfreak@lingonborough.com> +Date: Mon, 13 May 2019 23:11:28 +0200 +Subject: [PATCH] tests: Update month name check for Greek locale +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Update the abbreviated month name in the test to match the actual +translation. Otherwise the test fails with false positive. + +Vocabulary: + +July (nominative) - Greek: Ιούλιος (abbreviated: Ιούλ) +Of July (genitive) - Greek: Ιουλίου (abbreviated: Ιουλ) + +This is similar to commit 4d215e006ee69bd7a993bf853722993433adbf9a +and commit 7fe793e125c316ac34edd8158df5a132cb044bc1. + +Closes #1776 +--- + glib/tests/date.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/glib/tests/date.c b/glib/tests/date.c +index 8eb28712b..ff13ad101 100644 +--- a/glib/tests/date.c ++++ b/glib/tests/date.c +@@ -388,7 +388,7 @@ test_month_names (void) + TEST_DATE ( 1, 4, 2018, "%OB %Y", "Απρίλιος 2018"); + TEST_DATE ( 1, 5, 2018, "%OB %Y", "Μάιος 2018"); + TEST_DATE ( 1, 6, 2018, "%OB %Y", "Ιούνιος 2018"); +- TEST_DATE (16, 7, 2018, "%e %b %Y", "16 Ιούλ 2018"); ++ TEST_DATE (16, 7, 2018, "%e %b %Y", "16 Ιουλ 2018"); + TEST_DATE ( 1, 8, 2018, "%Ob %Y", "Αύγ 2018"); + } + else +-- +2.18.1 diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0_2.58.3.bb b/poky/meta/recipes-core/glib-2.0/glib-2.0_2.58.3.bb index 733a2d46d..d749be34e 100644 --- a/poky/meta/recipes-core/glib-2.0/glib-2.0_2.58.3.bb +++ b/poky/meta/recipes-core/glib-2.0/glib-2.0_2.58.3.bb @@ -17,6 +17,7 @@ SRC_URI = "${GNOME_MIRROR}/glib/${SHRT_VER}/glib-${PV}.tar.xz \ file://0001-Do-not-write-bindir-into-pkg-config-files.patch \ file://0001-meson.build-do-not-hardcode-linux-as-the-host-system.patch \ file://0001-meson-do-a-build-time-check-for-strlcpy-before-attem.patch \ + file://fix-nl-abaltmon.patch \ file://glib-meson.cross \ " diff --git a/poky/meta/recipes-core/glib-2.0/glib.inc b/poky/meta/recipes-core/glib-2.0/glib.inc index 574bb3855..82107a8a1 100644 --- a/poky/meta/recipes-core/glib-2.0/glib.inc +++ b/poky/meta/recipes-core/glib-2.0/glib.inc @@ -30,11 +30,7 @@ LEAD_SONAME = "libglib-2.0.*" inherit meson gettext gtk-doc pkgconfig ptest-gnome upstream-version-is-even bash-completion gio-module-cache manpages distro_features_check -GTKDOC_ENABLE_FLAG = "-Dgtk_doc=true" -GTKDOC_DISABLE_FLAG = "-Dgtk_doc=false" - -EXTRA_OEMESON_append_class-target = " ${@bb.utils.contains('GTKDOC_ENABLED', 'True', '${GTKDOC_ENABLE_FLAG}', \ - '${GTKDOC_DISABLE_FLAG}', d)} " +GTKDOC_MESON_OPTION = "gtk_doc" # This avoids the need to depend on target python3, which in case of mingw is not even possible. # meson's python configuration pokes into python3 configuration, so this provides the native config to it. @@ -144,6 +140,7 @@ CODEGEN_PYTHON_RDEPENDS_mingw32 = "" RDEPENDS_${PN}-codegen += "${CODEGEN_PYTHON_RDEPENDS}" RDEPENDS_${PN}-ptest += "\ + libgcc \ dbus \ gnome-desktop-testing \ tzdata \ @@ -152,6 +149,14 @@ RDEPENDS_${PN}-ptest += "\ tzdata-europe \ tzdata-posix \ shared-mime-info \ + ${PN}-locale-ja \ + ${PN}-locale-fr \ + ${PN}-locale-el \ + ${PN}-locale-hr \ + ${PN}-locale-lt \ + ${PN}-locale-pl \ + ${PN}-locale-ru \ + ${PN}-locale-th \ " RDEPENDS_${PN}-ptest_append_libc-glibc = "\ @@ -177,5 +182,7 @@ RDEPENDS_${PN}-ptest_append_libc-glibc = "\ locale-base-fr-fr \ locale-base-es-es \ locale-base-en-gb \ + locale-base-en-us \ locale-base-pl-pl \ + locale-base-pl-pl.iso-8859-2 \ " diff --git a/poky/meta/recipes-core/glib-networking/glib-networking_2.58.0.bb b/poky/meta/recipes-core/glib-networking/glib-networking_2.60.1.bb index f3190e1ca..09af229d6 100644 --- a/poky/meta/recipes-core/glib-networking/glib-networking_2.58.0.bb +++ b/poky/meta/recipes-core/glib-networking/glib-networking_2.60.1.bb @@ -9,15 +9,15 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" SECTION = "libs" DEPENDS = "glib-2.0" -SRC_URI[archive.md5sum] = "75b14b7e73a67753be9ce307751c661d" -SRC_URI[archive.sha256sum] = "bdfa0255e031b8ee003cc283002536b77ee76450105f1dc6ab066b9bf4330068" +SRC_URI[archive.md5sum] = "83321ffc3c336894b8a5bc18db3fe58d" +SRC_URI[archive.sha256sum] = "d71c6b2faa5ac29100314f08a1be020a2afd0291f025614c0af0d17b14435d92" PACKAGECONFIG ??= "gnutls" -PACKAGECONFIG[gnutls] = "-Dgnutls=true,-Dgnutls=false,gnutls" -PACKAGECONFIG[libproxy] = "-Dlibproxy_support=true,-Dlibproxy_support=false,libproxy" +PACKAGECONFIG[gnutls] = "-Dgnutls=enabled,-Dgnutls=disabled,gnutls" +PACKAGECONFIG[libproxy] = "-Dlibproxy=enabled,-Dlibproxy=disabled,libproxy" -EXTRA_OEMESON = "-Dgnome_proxy_support=false" +EXTRA_OEMESON = "-Dgnome_proxy=disabled" GNOMEBASEBUILDCLASS = "meson" inherit gnomebase gettext upstream-version-is-even gio-module-cache diff --git a/poky/meta/recipes-core/glibc/glibc_2.29.bb b/poky/meta/recipes-core/glibc/glibc_2.29.bb index 9184c5932..073d1533e 100644 --- a/poky/meta/recipes-core/glibc/glibc_2.29.bb +++ b/poky/meta/recipes-core/glibc/glibc_2.29.bb @@ -110,7 +110,7 @@ do_configure () { do_compile () { # -Wl,-rpath-link <staging>/lib in LDFLAGS can cause breakage if another glibc is in staging - unset LDFLAGS + LDFLAGS="-fuse-ld=bfd" base_do_compile echo "Adjust ldd script" if [ -n "${RTLDLIST}" ] diff --git a/poky/meta/recipes-core/images/build-appliance-image_15.0.0.bb b/poky/meta/recipes-core/images/build-appliance-image_15.0.0.bb index a59334f51..3302a86da 100644 --- a/poky/meta/recipes-core/images/build-appliance-image_15.0.0.bb +++ b/poky/meta/recipes-core/images/build-appliance-image_15.0.0.bb @@ -22,7 +22,7 @@ IMAGE_FSTYPES = "wic.vmdk" inherit core-image module-base setuptools3 -SRCREV ?= "c96d8de352f242f70ff9c166508c3d0e50199874" +SRCREV ?= "5c504dd014a1bd3e6b3fea528a11aca7dff4d931" SRC_URI = "git://git.yoctoproject.org/poky \ file://Yocto_Build_Appliance.vmx \ file://Yocto_Build_Appliance.vmxf \ diff --git a/poky/meta/recipes-core/initrdscripts/files/init-live.sh b/poky/meta/recipes-core/initrdscripts/files/init-live.sh index 65183d7ee..b20660b60 100644..100755 --- a/poky/meta/recipes-core/initrdscripts/files/init-live.sh +++ b/poky/meta/recipes-core/initrdscripts/files/init-live.sh @@ -28,8 +28,7 @@ udev_daemon() { _UDEV_DAEMON=`udev_daemon` early_setup() { - mkdir -p /proc - mkdir -p /sys + mkdir -p /proc /sys /run /var/run mount -t proc proc /proc mount -t sysfs sysfs /sys mount -t devtmpfs none /dev @@ -37,9 +36,6 @@ early_setup() { # support modular kernel modprobe isofs 2> /dev/null - mkdir -p /run - mkdir -p /var/run - $_UDEV_DAEMON --daemon udevadm trigger --action=add } diff --git a/poky/meta/recipes-core/libxcrypt/libxcrypt.bb b/poky/meta/recipes-core/libxcrypt/libxcrypt_4.4.4.bb index 3b9af6d73..b44c07b4d 100644 --- a/poky/meta/recipes-core/libxcrypt/libxcrypt.bb +++ b/poky/meta/recipes-core/libxcrypt/libxcrypt_4.4.4.bb @@ -4,26 +4,28 @@ HOMEPAGE = "https://github.com/besser82/libxcrypt" SECTION = "libs" LICENSE = "LGPLv2.1" LIC_FILES_CHKSUM ?= "file://LICENSING;md5=be275bc7f91642efe7709a8ae7a1433b \ - file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \ + file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \ " inherit autotools pkgconfig -PV = "4.4.2" -# v4.4.2 -SRCREV ?= "cf6abf18083566ec1612af27982a5160c9e0f137" -SRCBRANCH ?= "develop" +PV = "4.4.4" -SRC_URI = "git://github.com/besser82/libxcrypt.git;branch=${SRCBRANCH} \ - " +SRC_URI = "git://github.com/besser82/libxcrypt.git;branch=${SRCBRANCH}" +SRCREV = "3b251d4e1af66aa7697c4ac96c689f996fa90c32" +SRCBRANCH ?= "develop" PROVIDES = "virtual/crypt" -FILES_${PN} = "${libdir}/libcrypt*.so.* ${libdir}/libcrypt-*.so ${libdir}/libowcrypt*.so.* ${libdir}/libowcrypt-*.so" +FILES_${PN} = "${libdir}/libcrypt*.so.* \ + ${libdir}/libcrypt-*.so \ + ${libdir}/libowcrypt*.so.* \ + ${libdir}/libowcrypt-*.so \ +" S = "${WORKDIR}/git" -BUILD_CPPFLAGS = "-I${STAGING_INCDIR_NATIVE} -std=gnu99" +BUILD_CPPFLAGS = "-I${STAGING_INCDIR_NATIVE}" TARGET_CPPFLAGS = "-I${STAGING_DIR_TARGET}${includedir} -Wno-error=missing-attributes" CPPFLAGS_append_class-nativesdk = " -Wno-error=missing-attributes" diff --git a/poky/meta/recipes-core/libxml/libxml2/0001-Fix-infinite-loop-in-LZMA-decompression.patch b/poky/meta/recipes-core/libxml/libxml2/0001-Fix-infinite-loop-in-LZMA-decompression.patch deleted file mode 100644 index 16c229574..000000000 --- a/poky/meta/recipes-core/libxml/libxml2/0001-Fix-infinite-loop-in-LZMA-decompression.patch +++ /dev/null @@ -1,55 +0,0 @@ -From 28a9dc642ffd759df1e48be247a114f440a6c16e Mon Sep 17 00:00:00 2001 -From: Nick Wellnhofer <wellnhofer@aevum.de> -Date: Mon, 30 Jul 2018 13:14:11 +0200 -Subject: [PATCH] Fix infinite loop in LZMA decompression -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Check the liblzma error code more thoroughly to avoid infinite loops. - -Closes: https://gitlab.gnome.org/GNOME/libxml2/issues/13 -Closes: https://bugzilla.gnome.org/show_bug.cgi?id=794914 - -This is CVE-2018-9251 and CVE-2018-14567. - -Thanks to Dongliang Mu and Simon Wörner for the reports. - -CVE: CVE-2018-9251 -CVE: CVE-2018-14567 -Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/libxml2/commit/2240fbf5912054af025fb6e01e26375100275e74] -Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> ---- - xzlib.c | 9 +++++++++ - 1 file changed, 9 insertions(+) - -diff --git a/xzlib.c b/xzlib.c -index a839169..0ba88cf 100644 ---- a/xzlib.c -+++ b/xzlib.c -@@ -562,6 +562,10 @@ xz_decomp(xz_statep state) - "internal error: inflate stream corrupt"); - return -1; - } -+ /* -+ * FIXME: Remapping a couple of error codes and falling through -+ * to the LZMA error handling looks fragile. -+ */ - if (ret == Z_MEM_ERROR) - ret = LZMA_MEM_ERROR; - if (ret == Z_DATA_ERROR) -@@ -587,6 +591,11 @@ xz_decomp(xz_statep state) - xz_error(state, LZMA_PROG_ERROR, "compression error"); - return -1; - } -+ if ((state->how != GZIP) && -+ (ret != LZMA_OK) && (ret != LZMA_STREAM_END)) { -+ xz_error(state, ret, "lzma error"); -+ return -1; -+ } - } while (strm->avail_out && ret != LZMA_STREAM_END); - - /* update available output and crc check value */ --- -2.7.4 - diff --git a/poky/meta/recipes-core/libxml/libxml2/fix-CVE-2017-8872.patch b/poky/meta/recipes-core/libxml/libxml2/fix-CVE-2017-8872.patch deleted file mode 100644 index 42a4b0ed6..000000000 --- a/poky/meta/recipes-core/libxml/libxml2/fix-CVE-2017-8872.patch +++ /dev/null @@ -1,65 +0,0 @@ -Upstream-Status: Backport -CVE: CVE-2017-8872 -Signed-off-by: Ross Burton <ross.burton@intel.com> - -From 123234f2cfcd9e9b9f83047eee1dc17b4c3f4407 Mon Sep 17 00:00:00 2001 -From: Nick Wellnhofer <wellnhofer@aevum.de> -Date: Tue, 11 Sep 2018 14:52:07 +0200 -Subject: [PATCH] Free input buffer in xmlHaltParser - -This avoids miscalculation of available bytes. - -Thanks to Yunho Kim for the report. - -Closes: #26 ---- - parser.c | 5 +++++ - result/errors/759573.xml.err | 17 +++++++---------- - 2 files changed, 12 insertions(+), 10 deletions(-) - -diff --git a/parser.c b/parser.c -index ca9fde2c..5813a664 100644 ---- a/parser.c -+++ b/parser.c -@@ -12462,7 +12462,12 @@ xmlHaltParser(xmlParserCtxtPtr ctxt) { - ctxt->input->free((xmlChar *) ctxt->input->base); - ctxt->input->free = NULL; - } -+ if (ctxt->input->buf != NULL) { -+ xmlFreeParserInputBuffer(ctxt->input->buf); -+ ctxt->input->buf = NULL; -+ } - ctxt->input->cur = BAD_CAST""; -+ ctxt->input->length = 0; - ctxt->input->base = ctxt->input->cur; - ctxt->input->end = ctxt->input->cur; - } -diff --git a/result/errors/759573.xml.err b/result/errors/759573.xml.err -index 554039f6..38ef5c40 100644 ---- a/result/errors/759573.xml.err -+++ b/result/errors/759573.xml.err -@@ -21,14 +21,11 @@ Entity: line 1: - ^ - ./test/errors/759573.xml:1: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration - --<?h?><!DOCTYPEt[<!ELEMENT t (A)><!ENTITY % xx '%<![INCLUDE[000%ஸ00 -- ^ -+ -+^ - ./test/errors/759573.xml:1: parser error : DOCTYPE improperly terminated --<?h?><!DOCTYPEt[<!ELEMENT t (A)><!ENTITY % xx '%<![INCLUDE[000%ஸ00 -- ^ --./test/errors/759573.xml:1: parser error : StartTag: invalid element name --<?h?><!DOCTYPEt[<!ELEMENT t (A)><!ENTITY % xx '%<![INCLUDE[000%ஸ00 -- ^ --./test/errors/759573.xml:1: parser error : Extra content at the end of the document --<?h?><!DOCTYPEt[<!ELEMENT t (A)><!ENTITY % xx '%<![INCLUDE[000%ஸ00 -- ^ -+ -+^ -+./test/errors/759573.xml:1: parser error : Start tag expected, '<' not found -+ -+^ --- -2.11.0 - diff --git a/poky/meta/recipes-core/libxml/libxml2/fix-CVE-2018-14404.patch b/poky/meta/recipes-core/libxml/libxml2/fix-CVE-2018-14404.patch deleted file mode 100644 index 21668e25a..000000000 --- a/poky/meta/recipes-core/libxml/libxml2/fix-CVE-2018-14404.patch +++ /dev/null @@ -1,45 +0,0 @@ -libxml2-2.9.8: Fix CVE-2018-14404 - -[No upstream tracking] -- https://gitlab.gnome.org/GNOME/libxml2/issues/5 - -- https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=901817 - -- https://bugzilla.redhat.com/show_bug.cgi?id=1595985 - -xpath: Fix nullptr deref with XPath logic ops - -If the XPath stack is corrupted, for example by a misbehaving extension -function, the "and" and "or" XPath operators could dereference NULL -pointers. Check that the XPath stack isn't empty and optimize the -logic operators slightly. - -Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/libxml2/commit/a436374994c47b12d5de1b8b1d191a098fa23594] -CVE: CVE-2018-14404 -Signed-off-by: Andrej Valek <andrej.valek@siemens.com> - -diff --git a/xpath.c b/xpath.c -index f440696..75cac5c 100644 ---- a/xpath.c -+++ b/xpath.c -@@ -13297,9 +13297,8 @@ xmlXPathCompOpEval(xmlXPathParserContextPtr ctxt, xmlXPathStepOpPtr op) - return(0); - } - xmlXPathBooleanFunction(ctxt, 1); -- arg1 = valuePop(ctxt); -- arg1->boolval &= arg2->boolval; -- valuePush(ctxt, arg1); -+ if (ctxt->value != NULL) -+ ctxt->value->boolval &= arg2->boolval; - xmlXPathReleaseObject(ctxt->context, arg2); - return (total); - case XPATH_OP_OR: -@@ -13323,9 +13322,8 @@ xmlXPathCompOpEval(xmlXPathParserContextPtr ctxt, xmlXPathStepOpPtr op) - return(0); - } - xmlXPathBooleanFunction(ctxt, 1); -- arg1 = valuePop(ctxt); -- arg1->boolval |= arg2->boolval; -- valuePush(ctxt, arg1); -+ if (ctxt->value != NULL) -+ ctxt->value->boolval |= arg2->boolval; - xmlXPathReleaseObject(ctxt->context, arg2); - return (total); - case XPATH_OP_EQUAL: diff --git a/poky/meta/recipes-core/libxml/libxml2/fix-execution-of-ptests.patch b/poky/meta/recipes-core/libxml/libxml2/fix-execution-of-ptests.patch index 51a9e1935..ad719d4f5 100644 --- a/poky/meta/recipes-core/libxml/libxml2/fix-execution-of-ptests.patch +++ b/poky/meta/recipes-core/libxml/libxml2/fix-execution-of-ptests.patch @@ -1,14 +1,23 @@ -Make sure that Makefile doesn't try to compile these tests again -on the target where the source dependencies won't be available. +From 395c0f53ec226aaabedb166e6b3a7f8590b95a5f Mon Sep 17 00:00:00 2001 +From: Hongxu Jia <hongxu.jia@windriver.com> +Date: Sat, 11 May 2019 20:39:15 +0800 +Subject: [PATCH] Make sure that Makefile doesn't try to compile these tests + again on the target where the source dependencies won't be available. Upstream-Status: Inappropriate [cross-compile specific] Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> -Index: libxml2-2.9.7/Makefile.am -=================================================================== ---- libxml2-2.9.7.orig/Makefile.am -+++ libxml2-2.9.7/Makefile.am +Rebase to 2.9.9 +Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> +--- + Makefile.am | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/Makefile.am b/Makefile.am +index 8f4e43d..5edb930 100644 +--- a/Makefile.am ++++ b/Makefile.am @@ -211,8 +211,7 @@ install-ptest: sed -i -e 's|^Makefile:|_Makefile:|' $(DESTDIR)/Makefile $(MAKE) -C python install-ptest @@ -19,3 +28,6 @@ Index: libxml2-2.9.7/Makefile.am [ -d test ] || $(LN_S) $(srcdir)/test . [ -d result ] || $(LN_S) $(srcdir)/result . $(CHECKER) ./runtest$(EXEEXT) && \ +-- +2.7.4 + diff --git a/poky/meta/recipes-core/libxml/libxml2/libxml-64bit.patch b/poky/meta/recipes-core/libxml/libxml2/libxml-64bit.patch index 1147017b6..fd8e469dd 100644 --- a/poky/meta/recipes-core/libxml/libxml2/libxml-64bit.patch +++ b/poky/meta/recipes-core/libxml/libxml2/libxml-64bit.patch @@ -1,14 +1,19 @@ -Upstream-Status: Backport [from debian: bugs.debian.org/439843] +From 056b14345b1abd76a761ab14538f1bc21302781a Mon Sep 17 00:00:00 2001 +From: Hongxu Jia <hongxu.jia@windriver.com> +Date: Sat, 11 May 2019 20:26:51 +0800 +Subject: [PATCH] libxml 64bit +Upstream-Status: Backport [from debian: bugs.debian.org/439843] +Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> --- - libxml.h | 3 +++ + libxml.h | 3 +++ 1 file changed, 3 insertions(+) ---- libxml2-2.6.29.orig/libxml.h -+++ libxml2-2.6.29/libxml.h -@@ -11,10 +11,13 @@ - - #ifndef NO_LARGEFILE_SOURCE +diff --git a/libxml.h b/libxml.h +index 64e30f7..4e80d90 100644 +--- a/libxml.h ++++ b/libxml.h +@@ -15,6 +15,9 @@ #ifndef _LARGEFILE_SOURCE #define _LARGEFILE_SOURCE #endif @@ -18,5 +23,6 @@ Upstream-Status: Backport [from debian: bugs.debian.org/439843] #ifndef _FILE_OFFSET_BITS #define _FILE_OFFSET_BITS 64 #endif - #endif - +-- +2.7.4 + diff --git a/poky/meta/recipes-core/libxml/libxml2/libxml-m4-use-pkgconfig.patch b/poky/meta/recipes-core/libxml/libxml2/libxml-m4-use-pkgconfig.patch index d9ed1516f..e6998f6e6 100644 --- a/poky/meta/recipes-core/libxml/libxml2/libxml-m4-use-pkgconfig.patch +++ b/poky/meta/recipes-core/libxml/libxml2/libxml-m4-use-pkgconfig.patch @@ -1,11 +1,20 @@ -AM_PATH_XML2 uses xml-config which we disable through +From 43edc9a445ed66cceb7533eadeef242940b4592c Mon Sep 17 00:00:00 2001 +From: Hongxu Jia <hongxu.jia@windriver.com> +Date: Sat, 11 May 2019 20:37:12 +0800 +Subject: [PATCH] AM_PATH_XML2 uses xml-config which we disable through binconfig-disabled.bbclass, so port it to use pkg-config instead. Upstream-Status: Pending Signed-off-by: Ross Burton <ross.burton@intel.com> +Rebase to 2.9.9 +Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> +--- + libxml.m4 | 186 ++------------------------------------------------------------ + 1 file changed, 5 insertions(+), 181 deletions(-) + diff --git a/libxml.m4 b/libxml.m4 -index 68cd824..5fa0a9b 100644 +index 2d7a6f5..1c53585 100644 --- a/libxml.m4 +++ b/libxml.m4 @@ -1,188 +1,12 @@ @@ -202,3 +211,6 @@ index 68cd824..5fa0a9b 100644 - AC_SUBST(XML_LIBS) - rm -f conf.xmltest ]) +-- +2.7.4 + diff --git a/poky/meta/recipes-core/libxml/libxml2/python-sitepackages-dir.patch b/poky/meta/recipes-core/libxml/libxml2/python-sitepackages-dir.patch index e83c8325e..956ff3f33 100644 --- a/poky/meta/recipes-core/libxml/libxml2/python-sitepackages-dir.patch +++ b/poky/meta/recipes-core/libxml/libxml2/python-sitepackages-dir.patch @@ -1,4 +1,7 @@ -Allow us to pass in PYTHON_SITE_PACKAGES +From b038c3452667ed17ddb0e791cd7bdc7f8774ac29 Mon Sep 17 00:00:00 2001 +From: Hongxu Jia <hongxu.jia@windriver.com> +Date: Sat, 11 May 2019 20:35:20 +0800 +Subject: [PATCH] Allow us to pass in PYTHON_SITE_PACKAGES The python binary used when building for nativesdk doesn't give us the correct path here so we need to be able to specify it ourselves. @@ -6,16 +9,18 @@ correct path here so we need to be able to specify it ourselves. Upstream-Status: Inappropriate [config] Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> -Rebase to 2.9.2 +Rebase to 2.9.9 + Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> --- configure.ac | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac +index ca911f3..3bbd654 100644 --- a/configure.ac +++ b/configure.ac -@@ -813,7 +813,8 @@ dnl +@@ -808,7 +808,8 @@ dnl PYTHON_VERSION= PYTHON_INCLUDES= @@ -26,5 +31,5 @@ diff --git a/configure.ac b/configure.ac pythondir= if test "$with_python" != "no" ; then -- -1.9.1 +2.7.4 diff --git a/poky/meta/recipes-core/libxml/libxml2/runtest.patch b/poky/meta/recipes-core/libxml/libxml2/runtest.patch index 544dc0583..0dbb353c0 100644 --- a/poky/meta/recipes-core/libxml/libxml2/runtest.patch +++ b/poky/meta/recipes-core/libxml/libxml2/runtest.patch @@ -1,14 +1,28 @@ -Add 'install-ptest' rule. -Print a standard result line for each test. +Add 'install-ptest' rule. Print a standard result line for +each test. Signed-off-by: Mihaela Sendrea <mihaela.sendrea@enea.com> Signed-off-by: Andrej Valek <andrej.valek@siemens.com> Upstream-Status: Backport -diff -uNr a/Makefile.am b/Makefile.am ---- a/Makefile.am 2017-12-02 09:58:10.000000000 +0100 -+++ b/Makefile.am 2018-03-20 08:27:34.360505864 +0100 -@@ -202,6 +202,15 @@ +Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> +--- + Makefile.am | 9 ++++ + runsuite.c | 1 + + runtest.c | 2 + + runxmlconf.c | 1 + + testapi.c | 122 ++++++++++++++++++++++++++++++--------------- + testchar.c | 156 +++++++++++++++++++++++++++++++++++++++++----------------- + testdict.c | 1 + + testlimits.c | 1 + + testrecurse.c | 2 + + 9 files changed, 210 insertions(+), 85 deletions(-) + +diff --git a/Makefile.am b/Makefile.am +index 9c630be..7cfd04b 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -202,6 +202,15 @@ runxmlconf_LDADD= $(LDADDS) #testOOM_DEPENDENCIES = $(DEPS) #testOOM_LDADD= $(LDADDS) @@ -24,10 +38,11 @@ diff -uNr a/Makefile.am b/Makefile.am runtests: runtest$(EXEEXT) testrecurse$(EXEEXT) testapi$(EXEEXT) \ testchar$(EXEEXT) testdict$(EXEEXT) runxmlconf$(EXEEXT) [ -d test ] || $(LN_S) $(srcdir)/test . -diff -uNr a/runsuite.c b/runsuite.c ---- a/runsuite.c 2016-06-07 12:04:14.000000000 +0200 -+++ b/runsuite.c 2018-03-20 08:27:57.478817247 +0100 -@@ -1162,6 +1162,7 @@ +diff --git a/runsuite.c b/runsuite.c +index aaab13e..9ba2c5d 100644 +--- a/runsuite.c ++++ b/runsuite.c +@@ -1162,6 +1162,7 @@ main(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) { if (logfile != NULL) fclose(logfile); @@ -35,20 +50,19 @@ diff -uNr a/runsuite.c b/runsuite.c return(ret); } #else /* !SCHEMAS */ -diff -uNr a/runtest.c b/runtest.c ---- a/runtest.c 2017-11-13 22:00:17.000000000 +0100 -+++ b/runtest.c 2018-03-20 08:28:50.859047551 +0100 -@@ -4496,7 +4496,8 @@ - } - +diff --git a/runtest.c b/runtest.c +index addda5c..8ba5d59 100644 +--- a/runtest.c ++++ b/runtest.c +@@ -4501,6 +4501,7 @@ launchTests(testDescPtr tst) { xmlCharEncCloseFunc(ebcdicHandler); -- -+ + xmlCharEncCloseFunc(eucJpHandler); + + printf("%s: %s\n", (err == 0) ? "PASS" : "FAIL", tst->desc); return(err); } -@@ -4573,6 +4574,7 @@ +@@ -4577,6 +4578,7 @@ main(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) { xmlCleanupParser(); xmlMemoryDump(); @@ -56,10 +70,11 @@ diff -uNr a/runtest.c b/runtest.c return(ret); } -diff -uNr a/runxmlconf.c b/runxmlconf.c ---- a/runxmlconf.c 2016-06-07 12:04:14.000000000 +0200 -+++ b/runxmlconf.c 2018-03-20 08:29:17.944862893 +0100 -@@ -595,6 +595,7 @@ +diff --git a/runxmlconf.c b/runxmlconf.c +index cef20f4..4f291fb 100644 +--- a/runxmlconf.c ++++ b/runxmlconf.c +@@ -595,6 +595,7 @@ main(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) { if (logfile != NULL) fclose(logfile); @@ -67,15 +82,15 @@ diff -uNr a/runxmlconf.c b/runxmlconf.c return(ret); } -diff -uNr a/testapi.c b/testapi.c ---- a/testapi.c 2018-01-25 07:39:15.000000000 +0100 -+++ b/testapi.c 2018-03-20 09:08:35.323980145 +0100 -@@ -1246,49 +1246,91 @@ +diff --git a/testapi.c b/testapi.c +index 4a751e2..7ccc066 100644 +--- a/testapi.c ++++ b/testapi.c +@@ -1246,49 +1246,91 @@ static int testlibxml2(void) { int test_ret = 0; -+ int ret = 0; - +- - test_ret += test_HTMLparser(); - test_ret += test_HTMLtree(); - test_ret += test_SAX2(); @@ -115,6 +130,8 @@ diff -uNr a/testapi.c b/testapi.c - test_ret += test_xpath(); - test_ret += test_xpathInternals(); - test_ret += test_xpointer(); ++ int ret = 0; ++ + test_ret += (ret = test_HTMLparser()); + printf("%s: HTMLparser\n", (ret == 0) ? "PASS" : "FAIL"); + test_ret += (ret = test_HTMLtree()); @@ -201,20 +218,11 @@ diff -uNr a/testapi.c b/testapi.c return(test_ret); } -diff -uNr a/testdict.c b/testdict.c ---- a/testdict.c 2016-06-07 12:04:14.000000000 +0200 -+++ b/testdict.c 2018-03-20 08:59:16.864275812 +0100 -@@ -440,5 +440,6 @@ - clean_strings(); - xmlCleanupParser(); - xmlMemoryDump(); -+ printf("%s: testdict\n\n", (ret == 0) ? "PASS" : "FAIL"); - return(ret); - } -diff -uNr a/testchar.c b/testchar.c ---- a/testchar.c 2016-06-07 12:04:14.000000000 +0200 -+++ b/testchar.c 2018-03-20 09:11:20.383573912 +0100 -@@ -23,7 +23,7 @@ +diff --git a/testchar.c b/testchar.c +index 0d08792..f555d3b 100644 +--- a/testchar.c ++++ b/testchar.c +@@ -23,7 +23,7 @@ static void errorHandler(void *unused, xmlErrorPtr err) { char document1[100] = "<doc>XXXX</doc>"; char document2[100] = "<doc foo='XXXX'/>"; @@ -223,7 +231,7 @@ diff -uNr a/testchar.c b/testchar.c int len, char *data, int forbid1, int forbid2) { int i; xmlDocPtr res; -@@ -37,33 +37,41 @@ +@@ -37,33 +37,41 @@ static void testDocumentRangeByte1(xmlParserCtxtPtr ctxt, char *document, res = xmlReadMemory(document, len, "test", NULL, 0); if ((i == forbid1) || (i == forbid2)) { @@ -269,7 +277,7 @@ diff -uNr a/testchar.c b/testchar.c int len, char *data) { int i, j; xmlDocPtr res; -@@ -80,10 +88,12 @@ +@@ -80,10 +88,12 @@ static void testDocumentRangeByte2(xmlParserCtxtPtr ctxt, char *document, /* if first bit of first char is set, then second bit must too */ if ((i & 0x80) && ((i & 0x40) == 0)) { @@ -283,7 +291,7 @@ diff -uNr a/testchar.c b/testchar.c } /* -@@ -91,10 +101,12 @@ +@@ -91,10 +101,12 @@ static void testDocumentRangeByte2(xmlParserCtxtPtr ctxt, char *document, * bits must be 10 */ else if ((i & 0x80) && ((j & 0xC0) != 0x80)) { @@ -297,7 +305,7 @@ diff -uNr a/testchar.c b/testchar.c } /* -@@ -102,10 +114,12 @@ +@@ -102,10 +114,12 @@ static void testDocumentRangeByte2(xmlParserCtxtPtr ctxt, char *document, * than 0x80, i.e. one of bits 5 to 1 of i must be set */ else if ((i & 0x80) && ((i & 0x1E) == 0)) { @@ -311,7 +319,7 @@ diff -uNr a/testchar.c b/testchar.c } /* -@@ -113,10 +127,12 @@ +@@ -113,10 +127,12 @@ static void testDocumentRangeByte2(xmlParserCtxtPtr ctxt, char *document, * at least 3 bytes, but we give only 2 ! */ else if ((i & 0xE0) == 0xE0) { @@ -325,7 +333,7 @@ diff -uNr a/testchar.c b/testchar.c } /* -@@ -125,11 +141,13 @@ +@@ -125,11 +141,13 @@ static void testDocumentRangeByte2(xmlParserCtxtPtr ctxt, char *document, else if ((lastError != 0) || (res == NULL)) { fprintf(stderr, "Failed to parse document for Bytes 0x%02X 0x%02X\n", i, j); @@ -339,7 +347,7 @@ diff -uNr a/testchar.c b/testchar.c } /** -@@ -141,9 +159,10 @@ +@@ -141,9 +159,10 @@ static void testDocumentRangeByte2(xmlParserCtxtPtr ctxt, char *document, * CDATA in text or in attribute values. */ @@ -351,7 +359,7 @@ diff -uNr a/testchar.c b/testchar.c /* * Set up a parsing context using the first document as -@@ -152,7 +171,7 @@ +@@ -152,7 +171,7 @@ static void testDocumentRanges(void) { ctxt = xmlNewParserCtxt(); if (ctxt == NULL) { fprintf(stderr, "Failed to allocate parser context\n"); @@ -360,7 +368,7 @@ diff -uNr a/testchar.c b/testchar.c } printf("testing 1 byte char in document: 1"); -@@ -163,7 +182,7 @@ +@@ -163,7 +182,7 @@ static void testDocumentRanges(void) { data[2] = ' '; data[3] = ' '; /* test 1 byte injection at beginning of area */ @@ -369,7 +377,7 @@ diff -uNr a/testchar.c b/testchar.c data, -1, -1); printf(" 2"); fflush(stdout); -@@ -172,7 +191,7 @@ +@@ -172,7 +191,7 @@ static void testDocumentRanges(void) { data[2] = ' '; data[3] = ' '; /* test 1 byte injection at end of area */ @@ -378,7 +386,7 @@ diff -uNr a/testchar.c b/testchar.c data + 3, -1, -1); printf(" 3"); -@@ -183,7 +202,7 @@ +@@ -183,7 +202,7 @@ static void testDocumentRanges(void) { data[2] = ' '; data[3] = ' '; /* test 1 byte injection at beginning of area */ @@ -387,7 +395,7 @@ diff -uNr a/testchar.c b/testchar.c data, '\'', -1); printf(" 4"); fflush(stdout); -@@ -192,7 +211,7 @@ +@@ -192,7 +211,7 @@ static void testDocumentRanges(void) { data[2] = ' '; data[3] = ' '; /* test 1 byte injection at end of area */ @@ -396,7 +404,7 @@ diff -uNr a/testchar.c b/testchar.c data + 3, '\'', -1); printf(" done\n"); -@@ -204,7 +223,7 @@ +@@ -204,7 +223,7 @@ static void testDocumentRanges(void) { data[2] = ' '; data[3] = ' '; /* test 2 byte injection at beginning of area */ @@ -405,7 +413,7 @@ diff -uNr a/testchar.c b/testchar.c data); printf(" 2"); fflush(stdout); -@@ -213,7 +232,7 @@ +@@ -213,7 +232,7 @@ static void testDocumentRanges(void) { data[2] = ' '; data[3] = ' '; /* test 2 byte injection at end of area */ @@ -414,7 +422,7 @@ diff -uNr a/testchar.c b/testchar.c data + 2); printf(" 3"); -@@ -224,7 +243,7 @@ +@@ -224,7 +243,7 @@ static void testDocumentRanges(void) { data[2] = ' '; data[3] = ' '; /* test 2 byte injection at beginning of area */ @@ -423,7 +431,7 @@ diff -uNr a/testchar.c b/testchar.c data); printf(" 4"); fflush(stdout); -@@ -233,14 +252,15 @@ +@@ -233,14 +252,15 @@ static void testDocumentRanges(void) { data[2] = ' '; data[3] = ' '; /* test 2 byte injection at end of area */ @@ -441,7 +449,7 @@ diff -uNr a/testchar.c b/testchar.c int i = 0; int len, c; -@@ -255,19 +275,25 @@ +@@ -255,19 +275,25 @@ static void testCharRangeByte1(xmlParserCtxtPtr ctxt, char *data) { c = xmlCurrentChar(ctxt, &len); if ((i == 0) || (i >= 0x80)) { /* we must see an error there */ @@ -470,7 +478,7 @@ diff -uNr a/testchar.c b/testchar.c int i, j; int len, c; -@@ -284,10 +310,12 @@ +@@ -284,10 +310,12 @@ static void testCharRangeByte2(xmlParserCtxtPtr ctxt, char *data) { /* if first bit of first char is set, then second bit must too */ if ((i & 0x80) && ((i & 0x40) == 0)) { @@ -484,7 +492,7 @@ diff -uNr a/testchar.c b/testchar.c } /* -@@ -295,10 +323,12 @@ +@@ -295,10 +323,12 @@ static void testCharRangeByte2(xmlParserCtxtPtr ctxt, char *data) { * bits must be 10 */ else if ((i & 0x80) && ((j & 0xC0) != 0x80)) { @@ -498,7 +506,7 @@ diff -uNr a/testchar.c b/testchar.c } /* -@@ -306,10 +336,12 @@ +@@ -306,10 +336,12 @@ static void testCharRangeByte2(xmlParserCtxtPtr ctxt, char *data) { * than 0x80, i.e. one of bits 5 to 1 of i must be set */ else if ((i & 0x80) && ((i & 0x1E) == 0)) { @@ -512,7 +520,7 @@ diff -uNr a/testchar.c b/testchar.c } /* -@@ -317,10 +349,12 @@ +@@ -317,10 +349,12 @@ static void testCharRangeByte2(xmlParserCtxtPtr ctxt, char *data) { * at least 3 bytes, but we give only 2 ! */ else if ((i & 0xE0) == 0xE0) { @@ -526,7 +534,7 @@ diff -uNr a/testchar.c b/testchar.c } /* -@@ -329,6 +363,7 @@ +@@ -329,6 +363,7 @@ static void testCharRangeByte2(xmlParserCtxtPtr ctxt, char *data) { else if ((lastError != 0) || (len != 2)) { fprintf(stderr, "Failed to parse char for Bytes 0x%02X 0x%02X\n", i, j); @@ -534,7 +542,7 @@ diff -uNr a/testchar.c b/testchar.c } /* -@@ -338,12 +373,14 @@ +@@ -338,12 +373,14 @@ static void testCharRangeByte2(xmlParserCtxtPtr ctxt, char *data) { fprintf(stderr, "Failed to parse char for Bytes 0x%02X 0x%02X: expect %d got %d\n", i, j, ((j & 0x3F) + ((i & 0x1F) << 6)), c); @@ -550,7 +558,7 @@ diff -uNr a/testchar.c b/testchar.c int i, j, k, K; int len, c; unsigned char lows[6] = {0, 0x80, 0x81, 0xC1, 0xFF, 0xBF}; -@@ -368,20 +405,24 @@ +@@ -368,20 +405,24 @@ static void testCharRangeByte3(xmlParserCtxtPtr ctxt, char *data) { * at least 4 bytes, but we give only 3 ! */ if ((i & 0xF0) == 0xF0) { @@ -577,7 +585,7 @@ diff -uNr a/testchar.c b/testchar.c } /* -@@ -390,10 +431,12 @@ +@@ -390,10 +431,12 @@ static void testCharRangeByte3(xmlParserCtxtPtr ctxt, char *data) { * the 6th byte of data[1] must be set */ else if (((i & 0xF) == 0) && ((j & 0x20) == 0)) { @@ -591,7 +599,7 @@ diff -uNr a/testchar.c b/testchar.c } /* -@@ -401,10 +444,12 @@ +@@ -401,10 +444,12 @@ static void testCharRangeByte3(xmlParserCtxtPtr ctxt, char *data) { */ else if (((value > 0xD7FF) && (value <0xE000)) || ((value > 0xFFFD) && (value <0x10000))) { @@ -605,7 +613,7 @@ diff -uNr a/testchar.c b/testchar.c } /* -@@ -414,6 +459,7 @@ +@@ -414,6 +459,7 @@ static void testCharRangeByte3(xmlParserCtxtPtr ctxt, char *data) { fprintf(stderr, "Failed to parse char for Bytes 0x%02X 0x%02X 0x%02X\n", i, j, K); @@ -613,7 +621,7 @@ diff -uNr a/testchar.c b/testchar.c } /* -@@ -423,13 +469,15 @@ +@@ -423,13 +469,15 @@ static void testCharRangeByte3(xmlParserCtxtPtr ctxt, char *data) { fprintf(stderr, "Failed to parse char for Bytes 0x%02X 0x%02X 0x%02X: expect %d got %d\n", i, j, data[2], value, c); @@ -630,7 +638,7 @@ diff -uNr a/testchar.c b/testchar.c int i, j, k, K, l, L; int len, c; unsigned char lows[6] = {0, 0x80, 0x81, 0xC1, 0xFF, 0xBF}; -@@ -458,10 +506,12 @@ +@@ -458,10 +506,12 @@ static void testCharRangeByte4(xmlParserCtxtPtr ctxt, char *data) { * at least 5 bytes, but we give only 4 ! */ if ((i & 0xF8) == 0xF8) { @@ -644,7 +652,7 @@ diff -uNr a/testchar.c b/testchar.c } /* -@@ -469,10 +519,12 @@ +@@ -469,10 +519,12 @@ static void testCharRangeByte4(xmlParserCtxtPtr ctxt, char *data) { */ else if (((j & 0xC0) != 0x80) || ((K & 0xC0) != 0x80) || ((L & 0xC0) != 0x80)) { @@ -658,7 +666,7 @@ diff -uNr a/testchar.c b/testchar.c } /* -@@ -481,10 +533,12 @@ +@@ -481,10 +533,12 @@ static void testCharRangeByte4(xmlParserCtxtPtr ctxt, char *data) { * the 6 or 5th byte of j must be set */ else if (((i & 0x7) == 0) && ((j & 0x30) == 0)) { @@ -672,7 +680,7 @@ diff -uNr a/testchar.c b/testchar.c } /* -@@ -493,10 +547,12 @@ +@@ -493,10 +547,12 @@ static void testCharRangeByte4(xmlParserCtxtPtr ctxt, char *data) { else if (((value > 0xD7FF) && (value <0xE000)) || ((value > 0xFFFD) && (value <0x10000)) || (value > 0x10FFFF)) { @@ -686,7 +694,7 @@ diff -uNr a/testchar.c b/testchar.c } /* -@@ -506,6 +562,7 @@ +@@ -506,6 +562,7 @@ static void testCharRangeByte4(xmlParserCtxtPtr ctxt, char *data) { fprintf(stderr, "Failed to parse char for Bytes 0x%02X 0x%02X 0x%02X\n", i, j, K); @@ -694,7 +702,7 @@ diff -uNr a/testchar.c b/testchar.c } /* -@@ -515,11 +572,13 @@ +@@ -515,11 +572,13 @@ static void testCharRangeByte4(xmlParserCtxtPtr ctxt, char *data) { fprintf(stderr, "Failed to parse char for Bytes 0x%02X 0x%02X 0x%02X: expect %d got %d\n", i, j, data[2], value, c); @@ -708,7 +716,7 @@ diff -uNr a/testchar.c b/testchar.c } /** -@@ -530,11 +589,12 @@ +@@ -530,11 +589,12 @@ static void testCharRangeByte4(xmlParserCtxtPtr ctxt, char *data) { * cover the full range of UTF-8 chars accepted by XML-1.0 */ @@ -722,7 +730,7 @@ diff -uNr a/testchar.c b/testchar.c memset(data, 0, 5); -@@ -545,17 +605,19 @@ +@@ -545,17 +605,19 @@ static void testCharRanges(void) { ctxt = xmlNewParserCtxt(); if (ctxt == NULL) { fprintf(stderr, "Failed to allocate parser context\n"); @@ -743,7 +751,7 @@ diff -uNr a/testchar.c b/testchar.c goto error; } input->filename = NULL; -@@ -567,25 +629,28 @@ +@@ -567,25 +629,28 @@ static void testCharRanges(void) { printf("testing char range: 1"); fflush(stdout); @@ -776,7 +784,7 @@ diff -uNr a/testchar.c b/testchar.c /* * this initialize the library and check potential ABI mismatches * between the version it was compiled for and the actual shared -@@ -602,8 +667,9 @@ +@@ -602,8 +667,9 @@ int main(void) { /* * Run the tests */ @@ -788,20 +796,33 @@ diff -uNr a/testchar.c b/testchar.c /* * Cleanup function for the XML library. -diff -uNr a/testlimits.c b/testlimits.c ---- a/testlimits.c 2016-11-07 09:41:40.000000000 +0100 -+++ b/testlimits.c 2018-03-20 08:59:38.965581280 +0100 -@@ -1634,5 +1634,6 @@ +diff --git a/testdict.c b/testdict.c +index 40bebd0..114b934 100644 +--- a/testdict.c ++++ b/testdict.c +@@ -440,5 +440,6 @@ int main(void) + clean_strings(); + xmlCleanupParser(); + xmlMemoryDump(); ++ printf("%s: testdict\n\n", (ret == 0) ? "PASS" : "FAIL"); + return(ret); + } +diff --git a/testlimits.c b/testlimits.c +index 68c94db..1584434 100644 +--- a/testlimits.c ++++ b/testlimits.c +@@ -1634,5 +1634,6 @@ main(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) { xmlCleanupParser(); xmlMemoryDump(); + printf("%s: testlimits\n", (ret == 0) ? "PASS" : "FAIL"); return(ret); } -diff -uNr a/testrecurse.c b/testrecurse.c ---- a/testrecurse.c 2017-10-26 09:54:40.000000000 +0200 -+++ b/testrecurse.c 2018-03-20 09:00:46.781628749 +0100 -@@ -892,6 +892,7 @@ +diff --git a/testrecurse.c b/testrecurse.c +index f95ae1c..74c8f8b 100644 +--- a/testrecurse.c ++++ b/testrecurse.c +@@ -892,6 +892,7 @@ launchTests(testDescPtr tst) { err++; } } @@ -809,10 +830,13 @@ diff -uNr a/testrecurse.c b/testrecurse.c return(err); } -@@ -961,5 +962,6 @@ +@@ -961,5 +962,6 @@ main(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) { xmlCleanupParser(); xmlMemoryDump(); + printf("%s: testrecurse\n\n", (ret == 0) ? "PASS" : "FAIL"); return(ret); } +-- +2.7.4 + diff --git a/poky/meta/recipes-core/libxml/libxml2_2.9.8.bb b/poky/meta/recipes-core/libxml/libxml2_2.9.9.bb index 62643bc76..c38f883e4 100644 --- a/poky/meta/recipes-core/libxml/libxml2_2.9.8.bb +++ b/poky/meta/recipes-core/libxml/libxml2_2.9.9.bb @@ -20,13 +20,10 @@ SRC_URI = "http://www.xmlsoft.org/sources/libxml2-${PV}.tar.gz;name=libtar \ file://libxml-m4-use-pkgconfig.patch \ file://0001-Make-ptest-run-the-python-tests-if-python-is-enabled.patch \ file://fix-execution-of-ptests.patch \ - file://fix-CVE-2017-8872.patch \ - file://fix-CVE-2018-14404.patch \ - file://0001-Fix-infinite-loop-in-LZMA-decompression.patch \ " -SRC_URI[libtar.md5sum] = "b786e353e2aa1b872d70d5d1ca0c740d" -SRC_URI[libtar.sha256sum] = "0b74e51595654f958148759cfef0993114ddccccbb6f31aee018f3558e8e2732" +SRC_URI[libtar.md5sum] = "c04a5a0a042eaa157e8e8c9eabe76bd6" +SRC_URI[libtar.sha256sum] = "94fb70890143e3c6549f265cee93ec064c80a84c42ad0f23e85ee1fd6540a871" SRC_URI[testtar.md5sum] = "ae3d1ebe000a3972afa104ca7f0e1b4a" SRC_URI[testtar.sha256sum] = "96151685cec997e1f9f3387e3626d61e6284d4d6e66e0e440c209286c03e9cc7" diff --git a/poky/meta/recipes-core/meta/target-sdk-provides-dummy.bb b/poky/meta/recipes-core/meta/target-sdk-provides-dummy.bb index 85472a825..50182decf 100644 --- a/poky/meta/recipes-core/meta/target-sdk-provides-dummy.bb +++ b/poky/meta/recipes-core/meta/target-sdk-provides-dummy.bb @@ -52,3 +52,5 @@ DUMMYPROVIDES = "\ " require dummy-sdk-package.inc + +SSTATE_DUPWHITELIST += "${PKGDATA_DIR}/${PN} ${PKGDATA_DIR}/runtime/${PN}" diff --git a/poky/meta/recipes-core/musl/musl/0001-unistd.h-Add-TEMP_FAILURE_RETRY.patch b/poky/meta/recipes-core/musl/musl/0001-unistd.h-Add-TEMP_FAILURE_RETRY.patch new file mode 100644 index 000000000..4d48d6165 --- /dev/null +++ b/poky/meta/recipes-core/musl/musl/0001-unistd.h-Add-TEMP_FAILURE_RETRY.patch @@ -0,0 +1,36 @@ +From 19cbebc3fa33c6a1a71a6036da4d67c98f859f06 Mon Sep 17 00:00:00 2001 +From: Adrian Bunk <bunk@stusta.de> +Date: Wed, 15 May 2019 16:08:33 +0300 +Subject: unistd.h: Add TEMP_FAILURE_RETRY + +Signed-off-by: Adrian Bunk <bunk@stusta.de> +Upstream-Status: Inappropriate [oe-specific] +--- + include/unistd.h | 11 +++++++++++ + 1 file changed, 11 insertions(+) + +diff --git a/include/unistd.h b/include/unistd.h +index 9485da7a..8a75af57 100644 +--- a/include/unistd.h ++++ b/include/unistd.h +@@ -460,6 +460,17 @@ int eaccess(const char *, int); + #define _CS_V6_ENV 1148 + #define _CS_V7_ENV 1149 + ++#ifdef _GNU_SOURCE ++#ifndef TEMP_FAILURE_RETRY ++# define TEMP_FAILURE_RETRY(expression) \ ++ (__extension__ \ ++ ({ long int __result; \ ++ do __result = (long int) (expression); \ ++ while (__result == -1L && errno == EINTR); \ ++ __result; })) ++#endif ++#endif ++ + #ifdef __cplusplus + } + #endif +-- +2.20.1 + diff --git a/poky/meta/recipes-core/musl/musl_git.bb b/poky/meta/recipes-core/musl/musl_git.bb index 2d8dab90d..2b433aed8 100644 --- a/poky/meta/recipes-core/musl/musl_git.bb +++ b/poky/meta/recipes-core/musl/musl_git.bb @@ -4,9 +4,9 @@ require musl.inc inherit linuxloader -SRCREV = "43e7efb46555f13a556d92944ac05c19b8929b60" +SRCREV = "65c8be380431eebe4d70d130bd38563f8df9a7d7" -BASEVER = "1.1.21" +BASEVER = "1.1.22" PV = "${BASEVER}+git${SRCPV}" @@ -15,6 +15,7 @@ PV = "${BASEVER}+git${SRCPV}" SRC_URI = "git://git.musl-libc.org/musl \ file://0001-Make-dynamic-linker-a-relative-symlink-to-libc.patch \ file://0002-ldso-Use-syslibdir-and-libdir-as-default-pathes-to-l.patch \ + file://0001-unistd.h-Add-TEMP_FAILURE_RETRY.patch \ " S = "${WORKDIR}/git" diff --git a/poky/meta/recipes-core/ncurses/ncurses_6.1+20181013.bb b/poky/meta/recipes-core/ncurses/ncurses_6.1+20181013.bb index ef6ca9879..928c47742 100644 --- a/poky/meta/recipes-core/ncurses/ncurses_6.1+20181013.bb +++ b/poky/meta/recipes-core/ncurses/ncurses_6.1+20181013.bb @@ -8,4 +8,4 @@ SRC_URI += "file://0001-tic-hang.patch \ SRCREV = "7a97a7f937762ba342d5b2fd7cd090885a809835" S = "${WORKDIR}/git" EXTRA_OECONF += "--with-abi-version=5 --cache-file=${B}/config.cache" -UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+(\+\d+)*)" +UPSTREAM_CHECK_GITTAGREGEX = "upstream/(?P<pver>\d+(\.\d+)+(\+\d+)*)" diff --git a/poky/meta/recipes-core/packagegroups/packagegroup-base.bb b/poky/meta/recipes-core/packagegroups/packagegroup-base.bb index 442201c9e..cae704aa2 100644 --- a/poky/meta/recipes-core/packagegroups/packagegroup-base.bb +++ b/poky/meta/recipes-core/packagegroups/packagegroup-base.bb @@ -21,7 +21,6 @@ PACKAGES = ' \ ${@bb.utils.contains("MACHINE_FEATURES", "apm", "packagegroup-base-apm", "", d)} \ ${@bb.utils.contains("MACHINE_FEATURES", "ext2", "packagegroup-base-ext2", "", d)} \ ${@bb.utils.contains("MACHINE_FEATURES", "vfat", "packagegroup-base-vfat", "", d)} \ - ${@bb.utils.contains("MACHINE_FEATURES", "irda", "packagegroup-base-irda", "",d)} \ ${@bb.utils.contains("MACHINE_FEATURES", "keyboard", "packagegroup-base-keyboard", "", d)} \ ${@bb.utils.contains("MACHINE_FEATURES", "pci", "packagegroup-base-pci", "",d)} \ ${@bb.utils.contains("MACHINE_FEATURES", "pcmcia", "packagegroup-base-pcmcia", "", d)} \ @@ -63,7 +62,6 @@ RDEPENDS_packagegroup-base = "\ ${@bb.utils.contains('COMBINED_FEATURES', 'alsa', 'packagegroup-base-alsa', '',d)} \ ${@bb.utils.contains('COMBINED_FEATURES', 'ext2', 'packagegroup-base-ext2', '',d)} \ ${@bb.utils.contains('COMBINED_FEATURES', 'vfat', 'packagegroup-base-vfat', '',d)} \ - ${@bb.utils.contains('COMBINED_FEATURES', 'irda', 'packagegroup-base-irda', '',d)} \ ${@bb.utils.contains('COMBINED_FEATURES', 'pci', 'packagegroup-base-pci', '',d)} \ ${@bb.utils.contains('COMBINED_FEATURES', 'pcmcia', 'packagegroup-base-pcmcia', '',d)} \ ${@bb.utils.contains('COMBINED_FEATURES', 'usbgadget', 'packagegroup-base-usbgadget', '',d)} \ @@ -221,23 +219,6 @@ RRECOMMENDS_packagegroup-base-bluetooth = "\ ${@bb.utils.contains('COMBINED_FEATURES', 'pcmcia', 'kernel-module-dtl1-cs', '',d)} \ " -SUMMARY_packagegroup-base-irda = "IrDA support" -RDEPENDS_packagegroup-base-irda = "\ - irda-utils" - -RRECOMMENDS_packagegroup-base-irda = "\ - kernel-module-pxaficp-ir \ - kernel-module-irda \ - kernel-module-ircomm \ - kernel-module-ircomm-tty \ - kernel-module-irlan \ - ${@bb.utils.contains('DISTRO_FEATURES', 'ppp', 'kernel-module-irnet', '',d)} \ - kernel-module-irport \ - kernel-module-irtty \ - kernel-module-irtty-sir \ - kernel-module-sir-dev \ - ${@bb.utils.contains('COMBINED_FEATURES', 'usbhost', 'kernel-module-ir-usb', '',d)} " - SUMMARY_packagegroup-base-usbgadget = "USB gadget support" RRECOMMENDS_packagegroup-base-usbgadget = "\ kernel-module-pxa27x_udc \ diff --git a/poky/meta/recipes-core/packagegroups/packagegroup-cross-canadian.bb b/poky/meta/recipes-core/packagegroups/packagegroup-cross-canadian.bb index d551147b5..3b430c081 100644 --- a/poky/meta/recipes-core/packagegroups/packagegroup-cross-canadian.bb +++ b/poky/meta/recipes-core/packagegroups/packagegroup-cross-canadian.bb @@ -16,3 +16,9 @@ RDEPENDS_${PN} = "\ ${@all_multilib_tune_values(d, 'GDB')} \ meta-environment-${MACHINE} \ " + +# When TUNE_ARCH changes but MACHINE does not (for example when a machine definition is updated), +# cross-canadian.bbclass prevents variable dependency propagation to TRANSLATED_TARGET_ARCH +# This will result in erroneous reuse of previous sstate packages. The following line +# establishes a direct dependency instead. +do_package[vardeps] += "TUNE_ARCH" diff --git a/poky/meta/recipes-core/packagegroups/packagegroup-self-hosted.bb b/poky/meta/recipes-core/packagegroups/packagegroup-self-hosted.bb index b296db545..f206cee37 100644 --- a/poky/meta/recipes-core/packagegroups/packagegroup-self-hosted.bb +++ b/poky/meta/recipes-core/packagegroups/packagegroup-self-hosted.bb @@ -189,7 +189,6 @@ RDEPENDS_packagegroup-self-hosted-graphics = "\ libx11-dev \ adwaita-icon-theme \ xdg-utils \ - epiphany \ l3afpad \ pcmanfm \ vte \ diff --git a/poky/meta/recipes-core/systemd/systemd-boot_241.bb b/poky/meta/recipes-core/systemd/systemd-boot_242.bb index 56e68a3d4..56e68a3d4 100644 --- a/poky/meta/recipes-core/systemd/systemd-boot_241.bb +++ b/poky/meta/recipes-core/systemd/systemd-boot_242.bb diff --git a/poky/meta/recipes-core/systemd/systemd-conf/journald.conf b/poky/meta/recipes-core/systemd/systemd-conf/journald.conf new file mode 100644 index 000000000..fd4d969fa --- /dev/null +++ b/poky/meta/recipes-core/systemd/systemd-conf/journald.conf @@ -0,0 +1,3 @@ +[Journal] +ForwardToSyslog=yes +RuntimeMaxUse=64M diff --git a/poky/meta/recipes-core/systemd/systemd-conf/logind.conf b/poky/meta/recipes-core/systemd/systemd-conf/logind.conf new file mode 100644 index 000000000..bf7f6920f --- /dev/null +++ b/poky/meta/recipes-core/systemd/systemd-conf/logind.conf @@ -0,0 +1,2 @@ +[Login] +KillUserProcesses=yes diff --git a/poky/meta/recipes-core/systemd/systemd-conf/system.conf b/poky/meta/recipes-core/systemd/systemd-conf/system.conf new file mode 100644 index 000000000..554cab26c --- /dev/null +++ b/poky/meta/recipes-core/systemd/systemd-conf/system.conf @@ -0,0 +1,2 @@ +[Manager] +DefaultMemoryAccounting=yes diff --git a/poky/meta/recipes-core/systemd/systemd-conf/system.conf-qemuall b/poky/meta/recipes-core/systemd/systemd-conf/system.conf-qemuall new file mode 100644 index 000000000..741be27cb --- /dev/null +++ b/poky/meta/recipes-core/systemd/systemd-conf/system.conf-qemuall @@ -0,0 +1,3 @@ +[Manager] +# Change DefaultTimeoutStartSec from 90s to 240s +DefaultTimeoutStartSec = 240s diff --git a/poky/meta/recipes-core/systemd/systemd-conf_241.bb b/poky/meta/recipes-core/systemd/systemd-conf_241.bb deleted file mode 100644 index 9bb27fd96..000000000 --- a/poky/meta/recipes-core/systemd/systemd-conf_241.bb +++ /dev/null @@ -1,53 +0,0 @@ -require systemd.inc - -SUMMARY = "Systemd system configuration" -DESCRIPTION = "Systemd may require slightly different configuration for \ -different machines. For example, qemu machines require a longer \ -DefaultTimeoutStartSec setting." - -PACKAGE_ARCH = "${MACHINE_ARCH}" - -CONFFILES_${PN} = "${sysconfdir}/machine-id \ -${sysconfdir}/systemd/coredump.conf \ -${sysconfdir}/systemd/journald.conf \ -${sysconfdir}/systemd/logind.conf \ -${sysconfdir}/systemd/system.conf \ -${sysconfdir}/systemd/user.conf" - -FILES_${PN} = "${sysconfdir}/machine-id ${sysconfdir}/systemd" - -do_configure[noexec] = '1' -do_compile[noexec] = '1' - -do_install() { - rm -rf ${D}/${sysconfdir}/systemd - install -d ${D}/${sysconfdir}/systemd - - # Create machine-id - # 20:12 < mezcalero> koen: you have three options: a) run systemd-machine-id-setup at install time, b) have / read-only and an empty file there (for stateless) and c) boot with / writable - touch ${D}${sysconfdir}/machine-id - - install -m 0644 ${S}/src/coredump/coredump.conf ${D}${sysconfdir}/systemd/coredump.conf - - install -m 0644 ${S}/src/journal/journald.conf ${D}${sysconfdir}/systemd/journald.conf - # Enable journal to forward message to syslog daemon - sed -i -e 's/.*ForwardToSyslog.*/ForwardToSyslog=yes/' ${D}${sysconfdir}/systemd/journald.conf - # Set the maximium size of runtime journal to 64M as default - sed -i -e 's/.*RuntimeMaxUse.*/RuntimeMaxUse=64M/' ${D}${sysconfdir}/systemd/journald.conf - - install -m 0644 ${S}/src/login/logind.conf.in ${D}${sysconfdir}/systemd/logind.conf - # Set KILL_USER_PROCESSES to yes - sed -i -e 's/@KILL_USER_PROCESSES@/yes/' ${D}${sysconfdir}/systemd/logind.conf - - install -m 0644 ${S}/src/core/system.conf.in ${D}${sysconfdir}/systemd/system.conf - # Set MEMORY_ACCOUNTING_DEFAULT to yes - sed -i -e 's/@MEMORY_ACCOUNTING_DEFAULT@/yes/' ${D}${sysconfdir}/systemd/system.conf - - install -m 0644 ${S}/src/core/user.conf ${D}${sysconfdir}/systemd/user.conf -} - -# Based on change from YP bug 8141, OE commit 5196d7bacaef1076c361adaa2867be31759c1b52 -do_install_append_qemuall() { - # Change DefaultTimeoutStartSec from 90s to 240s - echo "DefaultTimeoutStartSec = 240s" >> ${D}${sysconfdir}/systemd/system.conf -} diff --git a/poky/meta/recipes-core/systemd/systemd-conf_242.bb b/poky/meta/recipes-core/systemd/systemd-conf_242.bb new file mode 100644 index 000000000..96beea53a --- /dev/null +++ b/poky/meta/recipes-core/systemd/systemd-conf_242.bb @@ -0,0 +1,32 @@ +SUMMARY = "Systemd system configuration" +DESCRIPTION = "Systemd may require slightly different configuration for \ +different machines. For example, qemu machines require a longer \ +DefaultTimeoutStartSec setting." +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" + +SRC_URI = "\ + file://journald.conf \ + file://logind.conf \ + file://system.conf \ + file://system.conf-qemuall \ +" + +do_install() { + install -D -m0644 ${WORKDIR}/journald.conf ${D}${systemd_unitdir}/journald.conf.d/00-${PN}.conf + install -D -m0644 ${WORKDIR}/logind.conf ${D}${systemd_unitdir}/logind.conf.d/00-${PN}.conf + install -D -m0644 ${WORKDIR}/system.conf ${D}${systemd_unitdir}/system.conf.d/00-${PN}.conf +} + +# Based on change from YP bug 8141, OE commit 5196d7bacaef1076c361adaa2867be31759c1b52 +do_install_append_qemuall() { + install -D -m0644 ${WORKDIR}/system.conf-qemuall ${D}${systemd_unitdir}/system.conf.d/01-${PN}.conf +} + +PACKAGE_ARCH = "${MACHINE_ARCH}" + +FILES_${PN} = "\ + ${systemd_unitdir}/journald.conf.d/ \ + ${systemd_unitdir}/logind.conf.d/ \ + ${systemd_unitdir}/system.conf.d/ \ +" diff --git a/poky/meta/recipes-core/systemd/systemd-systemctl/systemctl b/poky/meta/recipes-core/systemd/systemd-systemctl/systemctl index 2bc648961..8d7b3ba32 100755 --- a/poky/meta/recipes-core/systemd/systemd-systemctl/systemctl +++ b/poky/meta/recipes-core/systemd/systemd-systemctl/systemctl @@ -1,196 +1,314 @@ -#!/bin/sh -echo "Started $0 $*" - -ROOT= - -# parse command line params -action= -while [ $# != 0 ]; do - opt="$1" - - case "$opt" in - enable) - shift - - action="$opt" - services="$1" - cmd_args="1" - shift - ;; - disable) - shift - - action="$opt" - services="$1" - cmd_args="1" - shift - ;; - mask) - shift - - action="$opt" - services="$1" - cmd_args="1" - shift - ;; - preset) - shift - - action="$opt" - services="$1" - cmd_args="1" - shift - ;; - --root=*) - ROOT=${opt##--root=} - cmd_args="0" - shift - ;; - *) - if [ "$cmd_args" = "1" ]; then - services="$services $opt" - shift - else - echo "'$opt' is an unkown option; exiting with error" - exit 1 - fi - ;; - esac -done -if [ "$action" = "preset" -a "$service_file" = "" ]; then - services=$(for f in `find $ROOT/etc/systemd/system $ROOT/lib/systemd/system $ROOT/usr/lib/systemd/system -type f 2>1`; do basename $f; done) - services="$services $opt" - presetall=1 -fi - -for service in $services; do - if [ "$presetall" = "1" ]; then - action="preset" - fi - if [ "$action" = "mask" ]; then - if [ ! -d $ROOT/etc/systemd/system/ ]; then - mkdir -p $ROOT/etc/systemd/system/ - fi - cmd="ln -s /dev/null $ROOT/etc/systemd/system/$service" - echo "$cmd" - $cmd - exit 0 - fi - - service_base_file=`echo $service | sed 's/\(@\).*\(\.[^.]\+\)/\1\2/'` - if [ -z `echo $service | sed '/@/p;d'` ]; then - echo "Try to find location of $service..." - service_template=false - else - echo "Try to find location of template $service_base_file of instance $service..." - service_template=true - instance_specified=`echo $service | sed 's/^.\+@\(.*\)\.[^.]\+/\1/'` - fi - - # find service file - for p in $ROOT/etc/systemd/system \ - $ROOT/lib/systemd/system \ - $ROOT/usr/lib/systemd/system; do - if [ -e $p/$service_base_file ]; then - service_file=$p/$service_base_file - service_file=${service_file##$ROOT} - fi - done - if [ -z "$service_file" ]; then - echo "'$service_base_file' couldn't be found; exiting with error" - exit 1 - fi - echo "Found $service in $service_file" - - # If any new unit types are added to systemd they should be added - # to this regular expression. - unit_types_re='\.\(service\|socket\|device\|mount\|automount\|swap\|target\|target\.wants\|path\|timer\|snapshot\)\s*$' - if [ "$action" = "preset" ]; then - action=`egrep -sh $service $ROOT/etc/systemd/user-preset/*.preset | cut -f1 -d' '` - if [ -z "$action" ]; then - globalpreset=`egrep -sh '\*' $ROOT/etc/systemd/user-preset/*.preset | cut -f1 -d' '` - if [ -n "$globalpreset" ]; then - action="$globalpreset" - else - action="enable" - fi - fi - fi - # create the required symbolic links - wanted_by=$(sed '/^WantedBy[[:space:]]*=/s,[^=]*=,,p;d' "$ROOT/$service_file" \ - | tr ',' '\n' \ - | grep "$unit_types_re") - - required_by=$(sed '/^RequiredBy[[:space:]]*=/s,[^=]*=,,p;d' "$ROOT/$service_file" \ - | tr ',' '\n' \ - | grep "$unit_types_re") - - for dependency in WantedBy RequiredBy; do - if [ "$dependency" = "WantedBy" ]; then - suffix="wants" - dependency_list="$wanted_by" - elif [ "$dependency" = "RequiredBy" ]; then - suffix="requires" - dependency_list="$required_by" - fi - for r in $dependency_list; do - echo "$dependency=$r found in $service" - if [ -n "$instance_specified" ]; then - # substitute wildcards in the dependency - r=`echo $r | sed "s/%i/$instance_specified/g"` - fi - - if [ "$action" = "enable" ]; then - enable_service=$service - if [ "$service_template" = true -a -z "$instance_specified" ]; then - default_instance=$(sed '/^DefaultInstance[[:space:]]*=/s,[^=]*=,,p;d' "$ROOT/$service_file") - if [ -z $default_instance ]; then - echo "Template unit without instance or DefaultInstance directive, nothing to enable" - continue - else - echo "Found DefaultInstance $default_instance, enabling it" - enable_service=$(echo $service | sed "s/@/@$(echo $default_instance | sed 's/\\/\\\\/g')/") - fi - fi - mkdir -p $ROOT/etc/systemd/system/$r.$suffix - ln -s $service_file $ROOT/etc/systemd/system/$r.$suffix/$enable_service - echo "Enabled $enable_service for $r." - else - if [ "$service_template" = true -a -z "$instance_specified" ]; then - disable_service="$ROOT/etc/systemd/system/$r.$suffix/`echo $service | sed 's/@/@*/'`" - else - disable_service="$ROOT/etc/systemd/system/$r.$suffix/$service" - fi - rm -f $disable_service - [ -d $ROOT/etc/systemd/system/$r.$suffix ] && rmdir --ignore-fail-on-non-empty -p $ROOT/etc/systemd/system/$r.$suffix - echo "Disabled ${disable_service##$ROOT/etc/systemd/system/$r.$suffix/} for $r." - fi - done - done - - # create the required symbolic 'Alias' links - alias=$(sed '/^Alias[[:space:]]*=/s,[^=]*=,,p;d' "$ROOT/$service_file" \ - | tr ',' '\n' \ - | grep "$unit_types_re") - - for r in $alias; do - if [ "$action" = "enable" ]; then - mkdir -p $ROOT/etc/systemd/system - ln -s $service_file $ROOT/etc/systemd/system/$r - echo "Enabled $service for $alias." - else - rm -f $ROOT/etc/systemd/system/$r - echo "Disabled $service for $alias." - fi - done - - # call us for the other required scripts - also=$(sed '/^Also[[:space:]]*=/s,[^=]*=,,p;d' "$ROOT/$service_file" \ - | tr ',' '\n') - for a in $also; do - echo "Also=$a found in $service" - if [ "$action" = "enable" ]; then - $0 --root=$ROOT enable $a - fi - done -done +#!/usr/bin/env python3 +"""systemctl: subset of systemctl used for image construction + +Mask/preset systemd units +""" + +import argparse +import fnmatch +import os +import re +import sys + +from collections import namedtuple +from pathlib import Path + +version = 1.0 + +ROOT = Path("/") +SYSCONFDIR = Path("etc") +BASE_LIBDIR = Path("lib") +LIBDIR = Path("usr", "lib") + +locations = list() + + +class SystemdFile(): + """Class representing a single systemd configuration file""" + def __init__(self, root, path): + self.sections = dict() + self._parse(root, path) + + def _parse(self, root, path): + """Parse a systemd syntax configuration file + + Args: + path: A pathlib.Path object pointing to the file + + """ + skip_re = re.compile(r"^\s*([#;]|$)") + section_re = re.compile(r"^\s*\[(?P<section>.*)\]") + kv_re = re.compile(r"^\s*(?P<key>[^\s]+)\s*=\s*(?P<value>.*)") + section = None + + if path.is_symlink(): + try: + path.resolve() + except FileNotFoundError: + # broken symlink, try relative to root + path = root / Path(os.readlink(str(path))).relative_to(ROOT) + + with path.open() as f: + for line in f: + if skip_re.match(line): + continue + + line = line.rstrip("\n") + m = section_re.match(line) + if m: + section = dict() + self.sections[m.group('section')] = section + continue + + while line.endswith("\\"): + line += f.readline().rstrip("\n") + + m = kv_re.match(line) + k = m.group('key') + v = m.group('value') + if k not in section: + section[k] = list() + section[k].extend(v.split()) + + def get(self, section, prop): + """Get a property from section + + Args: + section: Section to retrieve property from + prop: Property to retrieve + + Returns: + List representing all properties of type prop in section. + + Raises: + KeyError: if ``section`` or ``prop`` not found + """ + return self.sections[section][prop] + + +class Presets(): + """Class representing all systemd presets""" + def __init__(self, scope, root): + self.directives = list() + self._collect_presets(scope, root) + + def _parse_presets(self, presets): + """Parse presets out of a set of preset files""" + skip_re = re.compile(r"^\s*([#;]|$)") + directive_re = re.compile(r"^\s*(?P<action>enable|disable)\s+(?P<unit_name>(.+))") + + Directive = namedtuple("Directive", "action unit_name") + for preset in presets: + with preset.open() as f: + for line in f: + m = directive_re.match(line) + if m: + directive = Directive(action=m.group('action'), + unit_name=m.group('unit_name')) + self.directives.append(directive) + elif skip_re.match(line): + pass + else: + sys.exit("Unparsed preset line in {}".format(preset)) + + def _collect_presets(self, scope, root): + """Collect list of preset files""" + presets = dict() + for location in locations: + paths = (root / location / scope).glob("*.preset") + for path in paths: + # earlier names override later ones + if path.name not in presets: + presets[path.name] = path + + self._parse_presets([v for k, v in sorted(presets.items())]) + + def state(self, unit_name): + """Return state of preset for unit_name + + Args: + presets: set of presets + unit_name: name of the unit + + Returns: + None: no matching preset + `enable`: unit_name is enabled + `disable`: unit_name is disabled + """ + for directive in self.directives: + if fnmatch.fnmatch(unit_name, directive.unit_name): + return directive.action + + return None + + +def add_link(path, target): + try: + path.parent.mkdir(parents=True) + except FileExistsError: + pass + if not path.is_symlink(): + print("ln -s {} {}".format(target, path)) + path.symlink_to(target) + + +class SystemdUnitNotFoundError(Exception): + pass + + +class SystemdUnit(): + def __init__(self, root, unit): + self.root = root + self.unit = unit + self.config = None + + def _path_for_unit(self, unit): + for location in locations: + path = self.root / location / "system" / unit + if path.exists(): + return path + + raise SystemdUnitNotFoundError(self.root, unit) + + def _process_deps(self, config, service, location, prop, dirstem): + systemdir = self.root / SYSCONFDIR / "systemd" / "system" + + target = ROOT / location.relative_to(self.root) + try: + for dependent in config.get('Install', prop): + wants = systemdir / "{}.{}".format(dependent, dirstem) / service + add_link(wants, target) + + except KeyError: + pass + + def enable(self): + # if we're enabling an instance, first extract the actual instance + # then figure out what the template unit is + template = re.match(r"[^@]+@(?P<instance>[^\.]*)\.", self.unit) + if template: + instance = template.group('instance') + unit = re.sub(r"@[^\.]*\.", "@.", self.unit, 1) + else: + instance = None + unit = self.unit + + path = self._path_for_unit(unit) + + if path.is_symlink(): + # ignore aliases + return + + config = SystemdFile(self.root, path) + if instance == "": + try: + default_instance = config.get('Install', 'DefaultInstance')[0] + except KeyError: + # no default instance, so nothing to enable + return + + service = self.unit.replace("@.", + "@{}.".format(default_instance)) + else: + service = self.unit + + self._process_deps(config, service, path, 'WantedBy', 'wants') + self._process_deps(config, service, path, 'RequiredBy', 'requires') + + try: + for also in config.get('Install', 'Also'): + SystemdUnit(self.root, also).enable() + + except KeyError: + pass + + systemdir = self.root / SYSCONFDIR / "systemd" / "system" + target = ROOT / path.relative_to(self.root) + try: + for dest in config.get('Install', 'Alias'): + alias = systemdir / dest + add_link(alias, target) + + except KeyError: + pass + + def mask(self): + systemdir = self.root / SYSCONFDIR / "systemd" / "system" + add_link(systemdir / self.unit, "/dev/null") + + +def collect_services(root): + """Collect list of service files""" + services = set() + for location in locations: + paths = (root / location / "system").glob("*") + for path in paths: + if path.is_dir(): + continue + services.add(path.name) + + return services + + +def preset_all(root): + presets = Presets('system-preset', root) + services = collect_services(root) + + for service in services: + state = presets.state(service) + + if state == "enable" or state is None: + SystemdUnit(root, service).enable() + + # If we populate the systemd links we also create /etc/machine-id, which + # allows systemd to boot with the filesystem read-only before generating + # a real value and then committing it back. + # + # For the stateless configuration, where /etc is generated at runtime + # (for example on a tmpfs), this script shouldn't run at all and we + # allow systemd to completely populate /etc. + (root / SYSCONFDIR / "machine-id").touch() + + +def main(): + if sys.version_info < (3, 4, 0): + sys.exit("Python 3.4 or greater is required") + + parser = argparse.ArgumentParser() + parser.add_argument('command', nargs=1, choices=['enable', 'mask', + 'preset-all']) + parser.add_argument('service', nargs=argparse.REMAINDER) + parser.add_argument('--root') + parser.add_argument('--preset-mode', + choices=['full', 'enable-only', 'disable-only'], + default='full') + + args = parser.parse_args() + + root = Path(args.root) if args.root else ROOT + + locations.append(SYSCONFDIR / "systemd") + # Handle the usrmerge case by ignoring /lib when it's a symlink + if not (root / BASE_LIBDIR).is_symlink(): + locations.append(BASE_LIBDIR / "systemd") + locations.append(LIBDIR / "systemd") + + command = args.command[0] + if command == "mask": + for service in args.service: + SystemdUnit(root, service).mask() + elif command == "enable": + for service in args.service: + SystemdUnit(root, service).enable() + elif command == "preset-all": + if len(args.service) != 0: + sys.exit("Too many arguments.") + if args.preset_mode != "enable-only": + sys.exit("Only enable-only is supported as preset-mode.") + preset_all(root) + else: + raise RuntimeError() + + +if __name__ == '__main__': + main() diff --git a/poky/meta/recipes-core/systemd/systemd.inc b/poky/meta/recipes-core/systemd/systemd.inc index 5bd88ed6e..3a353b009 100644 --- a/poky/meta/recipes-core/systemd/systemd.inc +++ b/poky/meta/recipes-core/systemd/systemd.inc @@ -14,8 +14,8 @@ LICENSE = "GPLv2 & LGPLv2.1" LIC_FILES_CHKSUM = "file://LICENSE.GPL2;md5=751419260aa954499f7abaabaa882bbe \ file://LICENSE.LGPL2.1;md5=4fbd65380cdd255951079008b364516c" -SRCREV = "c1f8ff8d0de7e303b8004b02a0a47d4cc103a7f8" -SRCBRANCH = "v241-stable" +SRCREV = "db2e367bfc3b119609f837eb973d915f6c550b2f" +SRCBRANCH = "v242-stable" SRC_URI = "git://github.com/systemd/systemd-stable.git;protocol=git;branch=${SRCBRANCH}" S = "${WORKDIR}/git" diff --git a/poky/meta/recipes-core/systemd/systemd/0001-do-not-disable-buffer-in-writing-files.patch b/poky/meta/recipes-core/systemd/systemd/0001-do-not-disable-buffer-in-writing-files.patch index a6857b1f4..68ca604d6 100644 --- a/poky/meta/recipes-core/systemd/systemd/0001-do-not-disable-buffer-in-writing-files.patch +++ b/poky/meta/recipes-core/systemd/systemd/0001-do-not-disable-buffer-in-writing-files.patch @@ -14,6 +14,8 @@ This is specific to musl. Upstream-Status: Inappropriate [musl] Signed-off-by: Chen Qi <Qi.Chen@windriver.com> +[Rebased for v242] +Signed-off-by: Andrej Valek <andrej.valek@siemens.com> --- src/basic/cgroup-util.c | 14 +++++++------- src/basic/procfs-util.c | 4 ++-- @@ -25,21 +27,20 @@ Signed-off-by: Chen Qi <Qi.Chen@windriver.com> src/hibernate-resume/hibernate-resume.c | 2 +- src/libsystemd/sd-device/sd-device.c | 2 +- src/login/logind-dbus.c | 2 +- - src/network/networkd-ipv6-proxy-ndp.c | 2 +- - src/network/networkd-link.c | 18 +++++++++--------- src/nspawn/nspawn-cgroup.c | 2 +- src/nspawn/nspawn.c | 6 +++--- + src/shared/sysctl-util.c | 2 +- src/sleep/sleep.c | 12 ++++++------ src/udev/udevadm-trigger.c | 2 +- src/udev/udevd.c | 6 +++--- src/vconsole/vconsole-setup.c | 2 +- - 18 files changed, 48 insertions(+), 48 deletions(-) + 17 files changed, 39 insertions(+), 39 deletions(-) diff --git a/src/basic/cgroup-util.c b/src/basic/cgroup-util.c -index 8ce7ccb..b633226 100644 +index fc28109..44fe985 100644 --- a/src/basic/cgroup-util.c +++ b/src/basic/cgroup-util.c -@@ -818,7 +818,7 @@ int cg_attach(const char *controller, const char *path, pid_t pid) { +@@ -822,7 +822,7 @@ int cg_attach(const char *controller, const char *path, pid_t pid) { xsprintf(c, PID_FMT "\n", pid); @@ -48,7 +49,7 @@ index 8ce7ccb..b633226 100644 if (r < 0) return r; -@@ -1100,7 +1100,7 @@ int cg_install_release_agent(const char *controller, const char *agent) { +@@ -1104,7 +1104,7 @@ int cg_install_release_agent(const char *controller, const char *agent) { sc = strstrip(contents); if (isempty(sc)) { @@ -57,7 +58,7 @@ index 8ce7ccb..b633226 100644 if (r < 0) return r; } else if (!path_equal(sc, agent)) -@@ -1118,7 +1118,7 @@ int cg_install_release_agent(const char *controller, const char *agent) { +@@ -1122,7 +1122,7 @@ int cg_install_release_agent(const char *controller, const char *agent) { sc = strstrip(contents); if (streq(sc, "0")) { @@ -66,7 +67,7 @@ index 8ce7ccb..b633226 100644 if (r < 0) return r; -@@ -1145,7 +1145,7 @@ int cg_uninstall_release_agent(const char *controller) { +@@ -1149,7 +1149,7 @@ int cg_uninstall_release_agent(const char *controller) { if (r < 0) return r; @@ -75,7 +76,7 @@ index 8ce7ccb..b633226 100644 if (r < 0) return r; -@@ -1155,7 +1155,7 @@ int cg_uninstall_release_agent(const char *controller) { +@@ -1159,7 +1159,7 @@ int cg_uninstall_release_agent(const char *controller) { if (r < 0) return r; @@ -84,7 +85,7 @@ index 8ce7ccb..b633226 100644 if (r < 0) return r; -@@ -2012,7 +2012,7 @@ int cg_set_attribute(const char *controller, const char *path, const char *attri +@@ -2016,7 +2016,7 @@ int cg_set_attribute(const char *controller, const char *path, const char *attri if (r < 0) return r; @@ -93,7 +94,7 @@ index 8ce7ccb..b633226 100644 } int cg_get_attribute(const char *controller, const char *path, const char *attribute, char **ret) { -@@ -2660,7 +2660,7 @@ int cg_enable_everywhere( +@@ -2664,7 +2664,7 @@ int cg_enable_everywhere( return log_debug_errno(errno, "Failed to open cgroup.subtree_control file of %s: %m", p); } @@ -103,10 +104,10 @@ index 8ce7ccb..b633226 100644 log_debug_errno(r, "Failed to %s controller %s for %s (%s): %m", FLAGS_SET(mask, bit) ? "enable" : "disable", n, p, fs); diff --git a/src/basic/procfs-util.c b/src/basic/procfs-util.c -index 42ce53d..5751253 100644 +index 7aaf95b..25fc3de 100644 --- a/src/basic/procfs-util.c +++ b/src/basic/procfs-util.c -@@ -86,13 +86,13 @@ int procfs_tasks_set_limit(uint64_t limit) { +@@ -85,13 +85,13 @@ int procfs_tasks_set_limit(uint64_t limit) { * decrease it, as threads-max is the much more relevant sysctl. */ if (limit > pid_max-1) { sprintf(buffer, "%" PRIu64, limit+1); /* Add one, since PID 0 is not a valid PID */ @@ -136,10 +137,10 @@ index 123d00e..e7ea78f 100644 return r; diff --git a/src/basic/util.c b/src/basic/util.c -index e577c93..3c64f91 100644 +index 93d610b..97dca64 100644 --- a/src/basic/util.c +++ b/src/basic/util.c -@@ -631,7 +631,7 @@ void disable_coredumps(void) { +@@ -294,7 +294,7 @@ void disable_coredumps(void) { if (detect_container() > 0) return; @@ -149,10 +150,10 @@ index e577c93..3c64f91 100644 log_debug_errno(r, "Failed to turn off coredumps, ignoring: %m"); } diff --git a/src/binfmt/binfmt.c b/src/binfmt/binfmt.c -index af31f09..eec5738 100644 +index 66e2f01..5daa43b 100644 --- a/src/binfmt/binfmt.c +++ b/src/binfmt/binfmt.c -@@ -47,7 +47,7 @@ static int delete_rule(const char *rule) { +@@ -48,7 +48,7 @@ static int delete_rule(const char *rule) { if (!fn) return log_oom(); @@ -161,7 +162,7 @@ index af31f09..eec5738 100644 } static int apply_rule(const char *rule) { -@@ -55,7 +55,7 @@ static int apply_rule(const char *rule) { +@@ -56,7 +56,7 @@ static int apply_rule(const char *rule) { (void) delete_rule(rule); @@ -170,7 +171,7 @@ index af31f09..eec5738 100644 if (r < 0) return log_error_errno(r, "Failed to add binary format: %m"); -@@ -212,7 +212,7 @@ static int run(int argc, char *argv[]) { +@@ -213,7 +213,7 @@ static int run(int argc, char *argv[]) { } /* Flush out all rules */ @@ -180,10 +181,10 @@ index af31f09..eec5738 100644 STRV_FOREACH(f, files) { k = apply_file(*f, true); diff --git a/src/core/main.c b/src/core/main.c -index 561f956..db6f113 100644 +index 46db471..726ccaf 100644 --- a/src/core/main.c +++ b/src/core/main.c -@@ -1468,7 +1468,7 @@ static int bump_unix_max_dgram_qlen(void) { +@@ -1469,7 +1469,7 @@ static int bump_unix_max_dgram_qlen(void) { if (v >= DEFAULT_UNIX_MAX_DGRAM_QLEN) return 0; @@ -192,7 +193,7 @@ index 561f956..db6f113 100644 if (r < 0) return log_full_errno(IN_SET(r, -EROFS, -EPERM, -EACCES) ? LOG_DEBUG : LOG_WARNING, r, "Failed to bump AF_UNIX datagram queue length, ignoring: %m"); -@@ -1683,7 +1683,7 @@ static void initialize_core_pattern(bool skip_setup) { +@@ -1684,7 +1684,7 @@ static void initialize_core_pattern(bool skip_setup) { if (getpid_cached() != 1) return; @@ -202,10 +203,10 @@ index 561f956..db6f113 100644 log_warning_errno(r, "Failed to write '%s' to /proc/sys/kernel/core_pattern, ignoring: %m", arg_early_core_pattern); } diff --git a/src/core/smack-setup.c b/src/core/smack-setup.c -index 49b37ae..c96eedc 100644 +index cd7fb01..077e861 100644 --- a/src/core/smack-setup.c +++ b/src/core/smack-setup.c -@@ -350,17 +350,17 @@ int mac_smack_setup(bool *loaded_policy) { +@@ -351,17 +351,17 @@ int mac_smack_setup(bool *loaded_policy) { } #ifdef SMACK_RUN_LABEL @@ -241,10 +242,10 @@ index 17e7cd1..87a7667 100644 log_error_errno(r, "Failed to write '%s' to /sys/power/resume: %m", major_minor); return EXIT_FAILURE; diff --git a/src/libsystemd/sd-device/sd-device.c b/src/libsystemd/sd-device/sd-device.c -index 2a69f2e..9d55340 100644 +index c2315c0..00f81b4 100644 --- a/src/libsystemd/sd-device/sd-device.c +++ b/src/libsystemd/sd-device/sd-device.c -@@ -1836,7 +1836,7 @@ _public_ int sd_device_set_sysattr_value(sd_device *device, const char *sysattr, +@@ -1852,7 +1852,7 @@ _public_ int sd_device_set_sysattr_value(sd_device *device, const char *sysattr, if (!value) return -ENOMEM; @@ -254,10 +255,10 @@ index 2a69f2e..9d55340 100644 if (r == -ELOOP) return -EINVAL; diff --git a/src/login/logind-dbus.c b/src/login/logind-dbus.c -index 8ab498f..d27ef9c 100644 +index 2cebcce..7111fc1 100644 --- a/src/login/logind-dbus.c +++ b/src/login/logind-dbus.c -@@ -1231,7 +1231,7 @@ static int trigger_device(Manager *m, sd_device *d) { +@@ -1285,7 +1285,7 @@ static int trigger_device(Manager *m, sd_device *d) { if (!t) return -ENOMEM; @@ -266,109 +267,11 @@ index 8ab498f..d27ef9c 100644 } return 0; -diff --git a/src/network/networkd-ipv6-proxy-ndp.c b/src/network/networkd-ipv6-proxy-ndp.c -index f594b27..c283cc3 100644 ---- a/src/network/networkd-ipv6-proxy-ndp.c -+++ b/src/network/networkd-ipv6-proxy-ndp.c -@@ -43,7 +43,7 @@ static int ipv6_proxy_ndp_set(Link *link) { - v = ipv6_proxy_ndp_is_needed(link); - p = strjoina("/proc/sys/net/ipv6/conf/", link->ifname, "/proxy_ndp"); - -- r = write_string_file(p, one_zero(v), WRITE_STRING_FILE_VERIFY_ON_FAILURE | WRITE_STRING_FILE_DISABLE_BUFFER); -+ r = write_string_file(p, one_zero(v), WRITE_STRING_FILE_VERIFY_ON_FAILURE | 0); - if (r < 0) - log_link_warning_errno(link, r, "Cannot configure proxy NDP for interface: %m"); - -diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c -index 22392d7..e0ed551 100644 ---- a/src/network/networkd-link.c -+++ b/src/network/networkd-link.c -@@ -274,7 +274,7 @@ static int link_enable_ipv6(Link *link) { - - p = strjoina("/proc/sys/net/ipv6/conf/", link->ifname, "/disable_ipv6"); - -- r = write_string_file(p, one_zero(disabled), WRITE_STRING_FILE_VERIFY_ON_FAILURE | WRITE_STRING_FILE_DISABLE_BUFFER); -+ r = write_string_file(p, one_zero(disabled), WRITE_STRING_FILE_VERIFY_ON_FAILURE | 0); - if (r < 0) - log_link_warning_errno(link, r, "Cannot %s IPv6 for interface %s: %m", - enable_disable(!disabled), link->ifname); -@@ -1272,7 +1272,7 @@ static int link_set_proxy_arp(Link *link) { - - p = strjoina("/proc/sys/net/ipv4/conf/", link->ifname, "/proxy_arp"); - -- r = write_string_file(p, one_zero(link->network->proxy_arp), WRITE_STRING_FILE_VERIFY_ON_FAILURE | WRITE_STRING_FILE_DISABLE_BUFFER); -+ r = write_string_file(p, one_zero(link->network->proxy_arp), WRITE_STRING_FILE_VERIFY_ON_FAILURE | 0); - if (r < 0) - log_link_warning_errno(link, r, "Cannot configure proxy ARP for interface: %m"); - -@@ -2541,7 +2541,7 @@ static int link_set_ipv4_forward(Link *link) { - * primarily to keep IPv4 and IPv6 packet forwarding behaviour - * somewhat in sync (see below). */ - -- r = write_string_file("/proc/sys/net/ipv4/ip_forward", "1", WRITE_STRING_FILE_VERIFY_ON_FAILURE | WRITE_STRING_FILE_DISABLE_BUFFER); -+ r = write_string_file("/proc/sys/net/ipv4/ip_forward", "1", WRITE_STRING_FILE_VERIFY_ON_FAILURE | 0); - if (r < 0) - log_link_warning_errno(link, r, "Cannot turn on IPv4 packet forwarding, ignoring: %m"); - -@@ -2563,7 +2563,7 @@ static int link_set_ipv6_forward(Link *link) { - * same behaviour there and also propagate the setting from - * one to all, to keep things simple (see above). */ - -- r = write_string_file("/proc/sys/net/ipv6/conf/all/forwarding", "1", WRITE_STRING_FILE_VERIFY_ON_FAILURE | WRITE_STRING_FILE_DISABLE_BUFFER); -+ r = write_string_file("/proc/sys/net/ipv6/conf/all/forwarding", "1", WRITE_STRING_FILE_VERIFY_ON_FAILURE | 0); - if (r < 0) - log_link_warning_errno(link, r, "Cannot configure IPv6 packet forwarding, ignoring: %m"); - -@@ -2583,7 +2583,7 @@ static int link_set_ipv6_privacy_extensions(Link *link) { - p = strjoina("/proc/sys/net/ipv6/conf/", link->ifname, "/use_tempaddr"); - xsprintf(buf, "%u", (unsigned) link->network->ipv6_privacy_extensions); - -- r = write_string_file(p, buf, WRITE_STRING_FILE_VERIFY_ON_FAILURE | WRITE_STRING_FILE_DISABLE_BUFFER); -+ r = write_string_file(p, buf, WRITE_STRING_FILE_VERIFY_ON_FAILURE | 0); - if (r < 0) - log_link_warning_errno(link, r, "Cannot configure IPv6 privacy extension for interface: %m"); - -@@ -2607,7 +2607,7 @@ static int link_set_ipv6_accept_ra(Link *link) { - p = strjoina("/proc/sys/net/ipv6/conf/", link->ifname, "/accept_ra"); - - /* We handle router advertisements ourselves, tell the kernel to GTFO */ -- r = write_string_file(p, "0", WRITE_STRING_FILE_VERIFY_ON_FAILURE | WRITE_STRING_FILE_DISABLE_BUFFER); -+ r = write_string_file(p, "0", WRITE_STRING_FILE_VERIFY_ON_FAILURE | 0); - if (r < 0) - log_link_warning_errno(link, r, "Cannot disable kernel IPv6 accept_ra for interface: %m"); - -@@ -2635,7 +2635,7 @@ static int link_set_ipv6_dad_transmits(Link *link) { - p = strjoina("/proc/sys/net/ipv6/conf/", link->ifname, "/dad_transmits"); - xsprintf(buf, "%i", link->network->ipv6_dad_transmits); - -- r = write_string_file(p, buf, WRITE_STRING_FILE_VERIFY_ON_FAILURE | WRITE_STRING_FILE_DISABLE_BUFFER); -+ r = write_string_file(p, buf, WRITE_STRING_FILE_VERIFY_ON_FAILURE | 0); - if (r < 0) - log_link_warning_errno(link, r, "Cannot set IPv6 dad transmits for interface: %m"); - -@@ -2663,7 +2663,7 @@ static int link_set_ipv6_hop_limit(Link *link) { - p = strjoina("/proc/sys/net/ipv6/conf/", link->ifname, "/hop_limit"); - xsprintf(buf, "%i", link->network->ipv6_hop_limit); - -- r = write_string_file(p, buf, WRITE_STRING_FILE_VERIFY_ON_FAILURE | WRITE_STRING_FILE_DISABLE_BUFFER); -+ r = write_string_file(p, buf, WRITE_STRING_FILE_VERIFY_ON_FAILURE | 0); - if (r < 0) - log_link_warning_errno(link, r, "Cannot set IPv6 hop limit for interface: %m"); - -@@ -2689,7 +2689,7 @@ static int link_set_ipv6_mtu(Link *link) { - - xsprintf(buf, "%" PRIu32, link->network->ipv6_mtu); - -- r = write_string_file(p, buf, WRITE_STRING_FILE_DISABLE_BUFFER); -+ r = write_string_file(p, buf, 0); - if (r < 0) - log_link_warning_errno(link, r, "Cannot set IPv6 MTU for interface: %m"); - diff --git a/src/nspawn/nspawn-cgroup.c b/src/nspawn/nspawn-cgroup.c -index 97fa092..b841f51 100644 +index 168125d..dd0ab79 100644 --- a/src/nspawn/nspawn-cgroup.c +++ b/src/nspawn/nspawn-cgroup.c -@@ -123,7 +123,7 @@ int sync_cgroup(pid_t pid, CGroupUnified unified_requested, uid_t uid_shift) { +@@ -124,7 +124,7 @@ int sync_cgroup(pid_t pid, CGroupUnified unified_requested, uid_t uid_shift) { (void) mkdir_parents(fn, 0755); sprintf(pid_string, PID_FMT, pid); @@ -378,10 +281,10 @@ index 97fa092..b841f51 100644 log_error_errno(r, "Failed to move process: %m"); goto finish; diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c -index e0c2d71..213790c 100644 +index 3b0ecb1..a1b5240 100644 --- a/src/nspawn/nspawn.c +++ b/src/nspawn/nspawn.c -@@ -2117,7 +2117,7 @@ static int reset_audit_loginuid(void) { +@@ -2341,7 +2341,7 @@ static int reset_audit_loginuid(void) { if (streq(p, "4294967295")) return 0; @@ -390,7 +293,7 @@ index e0c2d71..213790c 100644 if (r < 0) { log_error_errno(r, "Failed to reset audit login UID. This probably means that your kernel is too\n" -@@ -3195,13 +3195,13 @@ static int setup_uid_map(pid_t pid) { +@@ -3531,13 +3531,13 @@ static int setup_uid_map(pid_t pid) { xsprintf(uid_map, "/proc/" PID_FMT "/uid_map", pid); xsprintf(line, UID_FMT " " UID_FMT " " UID_FMT "\n", 0, arg_uid_shift, arg_uid_range); @@ -406,11 +309,24 @@ index e0c2d71..213790c 100644 if (r < 0) return log_error_errno(r, "Failed to write GID map: %m"); +diff --git a/src/shared/sysctl-util.c b/src/shared/sysctl-util.c +index 9be4055..f935cde 100644 +--- a/src/shared/sysctl-util.c ++++ b/src/shared/sysctl-util.c +@@ -73,7 +73,7 @@ int sysctl_write_ip_property(int af, const char *ifname, const char *property, c + + log_debug("Setting '%s' to '%s'", p, value); + +- return write_string_file(p, value, WRITE_STRING_FILE_VERIFY_ON_FAILURE | WRITE_STRING_FILE_DISABLE_BUFFER); ++ return write_string_file(p, value, WRITE_STRING_FILE_VERIFY_ON_FAILURE | 0); + } + + int sysctl_read(const char *property, char **content) { diff --git a/src/sleep/sleep.c b/src/sleep/sleep.c -index 5b7984a..bf818aa 100644 +index 11aabaf..6aa5d37 100644 --- a/src/sleep/sleep.c +++ b/src/sleep/sleep.c -@@ -43,7 +43,7 @@ static int write_hibernate_location_info(void) { +@@ -48,7 +48,7 @@ static int write_hibernate_location_info(void) { /* if it's a swap partition, we just write the disk to /sys/power/resume */ if (streq(type, "partition")) { @@ -419,7 +335,7 @@ index 5b7984a..bf818aa 100644 if (r < 0) return log_debug_errno(r, "Faileed to write partitoin device to /sys/power/resume: %m"); -@@ -79,12 +79,12 @@ static int write_hibernate_location_info(void) { +@@ -84,12 +84,12 @@ static int write_hibernate_location_info(void) { offset = fiemap->fm_extents[0].fe_physical / page_size(); xsprintf(offset_str, "%" PRIu64, offset); @@ -434,7 +350,7 @@ index 5b7984a..bf818aa 100644 if (r < 0) return log_debug_errno(r, "Failed to write device '%s': %m", device_str); -@@ -98,7 +98,7 @@ static int write_mode(char **modes) { +@@ -103,7 +103,7 @@ static int write_mode(char **modes) { STRV_FOREACH(mode, modes) { int k; @@ -443,7 +359,7 @@ index 5b7984a..bf818aa 100644 if (k >= 0) return 0; -@@ -117,7 +117,7 @@ static int write_state(FILE **f, char **states) { +@@ -122,7 +122,7 @@ static int write_state(FILE **f, char **states) { STRV_FOREACH(state, states) { int k; @@ -452,7 +368,7 @@ index 5b7984a..bf818aa 100644 if (k >= 0) return 0; log_debug_errno(k, "Failed to write '%s' to /sys/power/state: %m", *state); -@@ -212,7 +212,7 @@ static int rtc_write_wake_alarm(uint64_t sec) { +@@ -217,7 +217,7 @@ static int rtc_write_wake_alarm(uint64_t sec) { xsprintf(buf, "%" PRIu64, sec); @@ -462,10 +378,10 @@ index 5b7984a..bf818aa 100644 return log_error_errno(r, "Failed to write '%s' to /sys/class/rtc/rtc0/wakealarm: %m", buf); diff --git a/src/udev/udevadm-trigger.c b/src/udev/udevadm-trigger.c -index 9532946..2e576bb 100644 +index b7dafb7..bab4907 100644 --- a/src/udev/udevadm-trigger.c +++ b/src/udev/udevadm-trigger.c -@@ -42,7 +42,7 @@ static int exec_list(sd_device_enumerator *e, const char *action, Set *settle_se +@@ -43,7 +43,7 @@ static int exec_list(sd_device_enumerator *e, const char *action, Set *settle_se if (!filename) return log_oom(); @@ -475,10 +391,10 @@ index 9532946..2e576bb 100644 log_debug_errno(r, "Failed to write '%s' to '%s', ignoring: %m", action, filename); continue; diff --git a/src/udev/udevd.c b/src/udev/udevd.c -index 0303f36..687d009 100644 +index 140ec35..33063a9 100644 --- a/src/udev/udevd.c +++ b/src/udev/udevd.c -@@ -1218,7 +1218,7 @@ static int synthesize_change(sd_device *dev) { +@@ -1185,7 +1185,7 @@ static int synthesize_change(sd_device *dev) { */ log_debug("Device '%s' is closed, synthesising 'change'", devname); strscpyl(filename, sizeof(filename), syspath, "/uevent", NULL); @@ -487,7 +403,7 @@ index 0303f36..687d009 100644 FOREACH_DEVICE(e, d) { const char *t, *n, *s; -@@ -1233,7 +1233,7 @@ static int synthesize_change(sd_device *dev) { +@@ -1200,7 +1200,7 @@ static int synthesize_change(sd_device *dev) { log_debug("Device '%s' is closed, synthesising partition '%s' 'change'", devname, n); strscpyl(filename, sizeof(filename), s, "/uevent", NULL); @@ -496,7 +412,7 @@ index 0303f36..687d009 100644 } return 0; -@@ -1241,7 +1241,7 @@ static int synthesize_change(sd_device *dev) { +@@ -1208,7 +1208,7 @@ static int synthesize_change(sd_device *dev) { log_debug("Device %s is closed, synthesising 'change'", devname); strscpyl(filename, sizeof(filename), syspath, "/uevent", NULL); @@ -506,10 +422,10 @@ index 0303f36..687d009 100644 return 0; } diff --git a/src/vconsole/vconsole-setup.c b/src/vconsole/vconsole-setup.c -index ebdeba3..aa879e6 100644 +index 67dc2e4..01b83d0 100644 --- a/src/vconsole/vconsole-setup.c +++ b/src/vconsole/vconsole-setup.c -@@ -114,7 +114,7 @@ static int toggle_utf8(const char *name, int fd, bool utf8) { +@@ -116,7 +116,7 @@ static int toggle_utf8(const char *name, int fd, bool utf8) { static int toggle_utf8_sysfs(bool utf8) { int r; @@ -519,5 +435,5 @@ index ebdeba3..aa879e6 100644 return log_warning_errno(r, "Failed to %s sysfs UTF-8 flag: %m", enable_disable(utf8)); -- -2.7.4 +2.11.0 diff --git a/poky/meta/recipes-core/systemd/systemd/0001-meson-declare-version.h-as-dep-for-various-targets-t.patch b/poky/meta/recipes-core/systemd/systemd/0001-meson-declare-version.h-as-dep-for-various-targets-t.patch deleted file mode 100644 index 01936f285..000000000 --- a/poky/meta/recipes-core/systemd/systemd/0001-meson-declare-version.h-as-dep-for-various-targets-t.patch +++ /dev/null @@ -1,118 +0,0 @@ -From 9f86d8769ab830a724c84f849975b5595e26b47c Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl> -Date: Sun, 24 Feb 2019 22:49:38 +0100 -Subject: [PATCH] meson: declare version.h as dep for various targets that - include build.h - -Should fix #11565. - -Upstream-Status: Backport - -Signed-off-by: Chen Qi <Qi.Chen@windriver.com> ---- - meson.build | 19 +++++++++++++------ - src/core/meson.build | 3 ++- - src/udev/meson.build | 1 + - 3 files changed, 16 insertions(+), 7 deletions(-) - -diff --git a/meson.build b/meson.build -index 30df834..232f3e1 100644 ---- a/meson.build -+++ b/meson.build -@@ -1637,7 +1637,8 @@ exe = executable('systemd-analyze', - include_directories : includes, - link_with : [libcore, - libshared], -- dependencies : [threads, -+ dependencies : [versiondep, -+ threads, - librt, - libseccomp, - libselinux, -@@ -2183,7 +2184,8 @@ if conf.get('ENABLE_IMPORTD') == 1 - systemd_pull_sources, - include_directories : includes, - link_with : [libshared], -- dependencies : [libcurl, -+ dependencies : [versiondep, -+ libcurl, - libz, - libbzip2, - libxz, -@@ -2232,7 +2234,8 @@ if conf.get('ENABLE_REMOTE') == 1 and conf.get('HAVE_LIBCURL') == 1 - systemd_journal_upload_sources, - include_directories : includes, - link_with : [libshared], -- dependencies : [threads, -+ dependencies : [versiondep, -+ threads, - libcurl, - libgnutls, - libxz, -@@ -2558,6 +2561,7 @@ exe = executable('systemd-stdio-bridge', - 'src/stdio-bridge/stdio-bridge.c', - include_directories : includes, - link_with : [libshared], -+ dependencies : [versiondep], - install_rpath : rootlibexecdir, - install : true) - public_programs += exe -@@ -2641,7 +2645,8 @@ exe = executable('systemd-udevd', - link_with : [libudev_core, - libsystemd_network, - libudev_static], -- dependencies : [threads, -+ dependencies : [versiondep, -+ threads, - libkmod, - libidn, - libacl, -@@ -2658,7 +2663,8 @@ exe = executable('udevadm', - link_with : [libudev_core, - libsystemd_network, - libudev_static], -- dependencies : [threads, -+ dependencies : [versiondep, -+ threads, - libkmod, - libidn, - libacl, -@@ -2798,7 +2804,8 @@ foreach tuple : tests - sources, - include_directories : incs, - link_with : link_with, -- dependencies : dependencies, -+ dependencies : [versiondep, -+ dependencies], - c_args : defs, - build_by_default : want_tests != 'false', - install_rpath : rootlibexecdir, -diff --git a/src/core/meson.build b/src/core/meson.build -index 85021bd..88fb093 100644 ---- a/src/core/meson.build -+++ b/src/core/meson.build -@@ -150,7 +150,8 @@ libcore = static_library( - load_fragment_gperf_c, - load_fragment_gperf_nulstr_c, - include_directories : includes, -- dependencies : [threads, -+ dependencies : [versiondep, -+ threads, - librt, - libseccomp, - libpam, -diff --git a/src/udev/meson.build b/src/udev/meson.build -index 9d3f6d1..973a75e 100644 ---- a/src/udev/meson.build -+++ b/src/udev/meson.build -@@ -180,6 +180,7 @@ foreach prog : [['ata_id/ata_id.c'], - prog, - include_directories : includes, - c_args : ['-DLOG_REALM=LOG_REALM_UDEV'], -+ dependencies : [versiondep], - link_with : [libudev_static], - install_rpath : udev_rpath, - install : true, --- -2.7.4 - diff --git a/poky/meta/recipes-core/systemd/systemd/0001-meson-declare-version.h-as-dependency-for-systemd.patch b/poky/meta/recipes-core/systemd/systemd/0001-meson-declare-version.h-as-dependency-for-systemd.patch deleted file mode 100644 index 8874dff9a..000000000 --- a/poky/meta/recipes-core/systemd/systemd/0001-meson-declare-version.h-as-dependency-for-systemd.patch +++ /dev/null @@ -1,32 +0,0 @@ -From e14d724a932a255eec4d60b08e128519c33e88ee Mon Sep 17 00:00:00 2001 -From: Michael Olbrich <m.olbrich@pengutronix.de> -Date: Mon, 25 Feb 2019 11:59:23 +0100 -Subject: [PATCH] meson: declare version.h as dependency for systemd - -This is a followup to #11815 and adds the last missing dependency. -With this #11565 is hopefully really fixed. - -Upstream-Status: Backport - -Signed-off-by: Chen Qi <Qi.Chen@windriver.com> ---- - meson.build | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/meson.build b/meson.build -index 232f3e1..70148be 100644 ---- a/meson.build -+++ b/meson.build -@@ -1618,7 +1618,8 @@ executable('systemd', - include_directories : includes, - link_with : [libcore, - libshared], -- dependencies : [threads, -+ dependencies : [versiondep, -+ threads, - librt, - libseccomp, - libselinux, --- -2.7.4 - diff --git a/poky/meta/recipes-core/systemd/systemd/0002-don-t-use-glibc-specific-qsort_r.patch b/poky/meta/recipes-core/systemd/systemd/0002-don-t-use-glibc-specific-qsort_r.patch index 36e0699da..c6213ab88 100644 --- a/poky/meta/recipes-core/systemd/systemd/0002-don-t-use-glibc-specific-qsort_r.patch +++ b/poky/meta/recipes-core/systemd/systemd/0002-don-t-use-glibc-specific-qsort_r.patch @@ -8,20 +8,23 @@ Upstream-Status: Inappropriate [musl specific] Signed-off-by: Khem Raj <raj.khem@gmail.com> [Rebased for v241] Signed-off-by: Chen Qi <Qi.Chen@windriver.com> +[Rebased for v242] +Signed-off-by: Andrej Valek <andrej.valek@siemens.com> --- - src/basic/util.h | 14 -------------- + src/basic/sort-util.h | 14 -------------- src/libsystemd/sd-hwdb/hwdb-util.c | 19 ++++++++++++++----- src/shared/format-table.c | 36 ++++++++++++++++++++++++------------ 3 files changed, 38 insertions(+), 31 deletions(-) -diff --git a/src/basic/util.h b/src/basic/util.h -index dc33d66..9f6a6ce 100644 ---- a/src/basic/util.h -+++ b/src/basic/util.h -@@ -116,20 +116,6 @@ static inline void qsort_safe(void *base, size_t nmemb, size_t size, __compar_fn +diff --git a/src/basic/sort-util.h b/src/basic/sort-util.h +index e029f8646e..27d68b341c 100644 +--- a/src/basic/sort-util.h ++++ b/src/basic/sort-util.h +@@ -54,17 +54,3 @@ static inline void qsort_safe(void *base, size_t nmemb, size_t size, __compar_fn + int (*_func_)(const typeof(p[0])*, const typeof(p[0])*) = func; \ qsort_safe((p), (n), sizeof((p)[0]), (__compar_fn_t) _func_); \ }) - +- -static inline void qsort_r_safe(void *base, size_t nmemb, size_t size, __compar_d_fn_t compar, void *userdata) { - if (nmemb <= 1) - return; @@ -35,15 +38,11 @@ index dc33d66..9f6a6ce 100644 - int (*_func_)(const typeof(p[0])*, const typeof(p[0])*, typeof(userdata)) = func; \ - qsort_r_safe((p), (n), sizeof((p)[0]), (__compar_d_fn_t) _func_, userdata); \ - }) -- - /* Normal memcpy requires src to be nonnull. We do nothing if n is 0. */ - static inline void memcpy_safe(void *dst, const void *src, size_t n) { - if (n == 0) diff --git a/src/libsystemd/sd-hwdb/hwdb-util.c b/src/libsystemd/sd-hwdb/hwdb-util.c -index f852967..b570ce1 100644 +index c83575c7c8..72f8f3a050 100644 --- a/src/libsystemd/sd-hwdb/hwdb-util.c +++ b/src/libsystemd/sd-hwdb/hwdb-util.c -@@ -126,9 +126,13 @@ static void trie_free(struct trie *trie) { +@@ -128,9 +128,13 @@ static void trie_free(struct trie *trie) { DEFINE_TRIVIAL_CLEANUP_FUNC(struct trie*, trie_free); @@ -60,7 +59,7 @@ index f852967..b570ce1 100644 } static int trie_node_add_value(struct trie *trie, struct trie_node *node, -@@ -156,7 +160,10 @@ static int trie_node_add_value(struct trie *trie, struct trie_node *node, +@@ -158,7 +162,10 @@ static int trie_node_add_value(struct trie *trie, struct trie_node *node, .value_off = v, }; @@ -72,7 +71,7 @@ index f852967..b570ce1 100644 if (val) { /* At this point we have 2 identical properties on the same match-string. * Since we process files in order, we just replace the previous value. */ -@@ -182,7 +189,9 @@ static int trie_node_add_value(struct trie *trie, struct trie_node *node, +@@ -184,7 +191,9 @@ static int trie_node_add_value(struct trie *trie, struct trie_node *node, .line_number = line_number, }; node->values_count++; @@ -84,10 +83,10 @@ index f852967..b570ce1 100644 } diff --git a/src/shared/format-table.c b/src/shared/format-table.c -index 7d52980..75dbfe1 100644 +index a5c0a99b08..d595cbe372 100644 --- a/src/shared/format-table.c +++ b/src/shared/format-table.c -@@ -848,31 +848,33 @@ static int cell_data_compare(TableData *a, size_t index_a, TableData *b, size_t +@@ -850,31 +850,33 @@ static int cell_data_compare(TableData *a, size_t index_a, TableData *b, size_t return CMP(index_a, index_b); } @@ -131,7 +130,7 @@ index 7d52980..75dbfe1 100644 } /* Order identical lines by the order there were originally added in */ -@@ -1105,7 +1107,12 @@ int table_print(Table *t, FILE *f) { +@@ -1107,7 +1109,12 @@ int table_print(Table *t, FILE *f) { for (i = 0; i < n_rows; i++) sorted[i] = i * t->n_columns; @@ -145,7 +144,7 @@ index 7d52980..75dbfe1 100644 } if (t->display_map) -@@ -1532,7 +1539,12 @@ int table_to_json(Table *t, JsonVariant **ret) { +@@ -1534,7 +1541,12 @@ int table_to_json(Table *t, JsonVariant **ret) { for (i = 0; i < n_rows; i++) sorted[i] = i * t->n_columns; @@ -160,5 +159,5 @@ index 7d52980..75dbfe1 100644 if (t->display_map) -- -2.7.4 +2.11.0 diff --git a/poky/meta/recipes-core/systemd/systemd/0003-missing_type.h-add-__compare_fn_t-and-comparison_fn_.patch b/poky/meta/recipes-core/systemd/systemd/0003-missing_type.h-add-__compare_fn_t-and-comparison_fn_.patch index 5246b4b26..2e39f7a2e 100644 --- a/poky/meta/recipes-core/systemd/systemd/0003-missing_type.h-add-__compare_fn_t-and-comparison_fn_.patch +++ b/poky/meta/recipes-core/systemd/systemd/0003-missing_type.h-add-__compare_fn_t-and-comparison_fn_.patch @@ -9,14 +9,16 @@ is not provided. Upstream-Status: Inappropriate [musl specific] Signed-off-by: Chen Qi <Qi.Chen@windriver.com> +[Rebased for v242] +Signed-off-by: Andrej Valek <andrej.valek@siemens.com> --- src/basic/missing_type.h | 9 +++++++++ - src/basic/util.h | 1 + + src/basic/sort-util.h | 1 + src/journal/catalog.c | 1 + 3 files changed, 11 insertions(+) diff --git a/src/basic/missing_type.h b/src/basic/missing_type.h -index bf8a6ca..c487e65 100644 +index bf8a6caa1b..2134fe5095 100644 --- a/src/basic/missing_type.h +++ b/src/basic/missing_type.h @@ -10,3 +10,12 @@ @@ -32,30 +34,30 @@ index bf8a6ca..c487e65 100644 +#define __COMPAR_FN_T +typedef int (*__compar_fn_t)(const void *, const void *); +#endif -diff --git a/src/basic/util.h b/src/basic/util.h -index 9f6a6ce..2c5dc32 100644 ---- a/src/basic/util.h -+++ b/src/basic/util.h -@@ -26,6 +26,7 @@ - #include "format-util.h" +diff --git a/src/basic/sort-util.h b/src/basic/sort-util.h +index e029f86..7247d40 100644 +--- a/src/basic/sort-util.h ++++ b/src/basic/sort-util.h +@@ -4,6 +4,7 @@ + #include <stdlib.h> + #include "macro.h" - #include "time-util.h" +#include "missing.h" - size_t page_size(void) _pure_; - #define PAGE_ALIGN(l) ALIGN_TO((l), page_size()) + void *xbsearch_r(const void *key, const void *base, size_t nmemb, size_t size, + __compar_d_fn_t compar, void *arg); diff --git a/src/journal/catalog.c b/src/journal/catalog.c -index 4062f12..034e00c 100644 +index 7beffc1e1a..4818a2e5cc 100644 --- a/src/journal/catalog.c +++ b/src/journal/catalog.c -@@ -26,6 +26,7 @@ +@@ -29,6 +29,7 @@ + #include "string-util.h" #include "strv.h" #include "tmpfile-util.h" - #include "util.h" +#include "missing.h" const char * const catalog_file_dirs[] = { "/usr/local/lib/systemd/catalog/", -- -2.7.4 +2.11.0 diff --git a/poky/meta/recipes-core/systemd/systemd/0004-add-fallback-parse_printf_format-implementation.patch b/poky/meta/recipes-core/systemd/systemd/0004-add-fallback-parse_printf_format-implementation.patch index bb738e22c..fa8217e3d 100644 --- a/poky/meta/recipes-core/systemd/systemd/0004-add-fallback-parse_printf_format-implementation.patch +++ b/poky/meta/recipes-core/systemd/systemd/0004-add-fallback-parse_printf_format-implementation.patch @@ -20,10 +20,10 @@ Signed-off-by: Chen Qi <Qi.Chen@windriver.com> create mode 100644 src/basic/parse-printf-format.h diff --git a/meson.build b/meson.build -index 3386546..44b24ee 100644 +index 79195c9748..0bffbf29c5 100644 --- a/meson.build +++ b/meson.build -@@ -667,6 +667,7 @@ foreach header : ['crypt.h', +@@ -685,6 +685,7 @@ foreach header : ['crypt.h', 'linux/memfd.h', 'linux/vm_sockets.h', 'linux/can/vxcan.h', @@ -32,10 +32,10 @@ index 3386546..44b24ee 100644 'valgrind/memcheck.h', 'valgrind/valgrind.h', diff --git a/src/basic/meson.build b/src/basic/meson.build -index e5852f3..2192a0c 100644 +index 91e0df3d2f..a732b554da 100644 --- a/src/basic/meson.build +++ b/src/basic/meson.build -@@ -284,6 +284,11 @@ foreach item : [['af', af_list_txt, 'af', ''], +@@ -298,6 +298,11 @@ foreach item : [['af', af_list_txt, 'af', ''], endforeach basic_sources += generated_gperf_headers @@ -49,7 +49,7 @@ index e5852f3..2192a0c 100644 'gcrypt-util.h') diff --git a/src/basic/parse-printf-format.c b/src/basic/parse-printf-format.c new file mode 100644 -index 0000000..49437e5 +index 0000000000..49437e5445 --- /dev/null +++ b/src/basic/parse-printf-format.c @@ -0,0 +1,273 @@ @@ -328,7 +328,7 @@ index 0000000..49437e5 +} diff --git a/src/basic/parse-printf-format.h b/src/basic/parse-printf-format.h new file mode 100644 -index 0000000..47be752 +index 0000000000..47be7522d7 --- /dev/null +++ b/src/basic/parse-printf-format.h @@ -0,0 +1,57 @@ @@ -390,7 +390,7 @@ index 0000000..47be752 + +#endif /* HAVE_PRINTF_H */ diff --git a/src/basic/stdio-util.h b/src/basic/stdio-util.h -index dc67b6e..cf8d514 100644 +index c3b9448d4f..2937aa13b1 100644 --- a/src/basic/stdio-util.h +++ b/src/basic/stdio-util.h @@ -1,13 +1,13 @@ @@ -403,13 +403,13 @@ index dc67b6e..cf8d514 100644 #include <sys/types.h> #include "macro.h" - #include "util.h" + #include "memory-util.h" +#include "parse-printf-format.h" #define snprintf_ok(buf, len, fmt, ...) \ ((size_t) snprintf(buf, len, fmt, __VA_ARGS__) < (len)) diff --git a/src/journal/journal-send.c b/src/journal/journal-send.c -index 8618454..3fea912 100644 +index 5ef11fa1a4..6384ab620c 100644 --- a/src/journal/journal-send.c +++ b/src/journal/journal-send.c @@ -2,7 +2,6 @@ @@ -421,13 +421,13 @@ index 8618454..3fea912 100644 #include <sys/socket.h> #include <sys/un.h> @@ -21,6 +20,7 @@ + #include "stdio-util.h" #include "string-util.h" #include "tmpfile-util.h" - #include "util.h" +#include "parse-printf-format.h" #define SNDBUF_SIZE (8*1024*1024) -- -2.7.4 +2.11.0 diff --git a/poky/meta/recipes-core/systemd/systemd/0005-rules-watch-metadata-changes-in-ide-devices.patch b/poky/meta/recipes-core/systemd/systemd/0005-rules-watch-metadata-changes-in-ide-devices.patch index 2123052ff..5312083fd 100644 --- a/poky/meta/recipes-core/systemd/systemd/0005-rules-watch-metadata-changes-in-ide-devices.patch +++ b/poky/meta/recipes-core/systemd/systemd/0005-rules-watch-metadata-changes-in-ide-devices.patch @@ -38,8 +38,8 @@ index a1458e9..3ba4b6b4 100644 ACTION=="change", SUBSYSTEM=="scsi", ENV{DEVTYPE}=="scsi_device", TEST=="block", ATTR{block/*/uevent}="change" # watch metadata changes, caused by tools closing the device node which was opened for writing --ACTION!="remove", SUBSYSTEM=="block", KERNEL=="loop*|nvme*|sd*|vd*|xvd*|pmem*|mmcblk*|dasd*", OPTIONS+="watch" -+ACTION!="remove", SUBSYSTEM=="block", KERNEL=="loop*|nvme*|sd*|vd*|xvd*|pmem*|mmcblk*|dasd*|hd*", OPTIONS+="watch" +-ACTION!="remove", SUBSYSTEM=="block", KERNEL=="loop*|nvme*|sd*|vd*|xvd*|pmem*|mmcblk*|dasd*|nbd*", OPTIONS+="watch" ++ACTION!="remove", SUBSYSTEM=="block", KERNEL=="loop*|nvme*|sd*|vd*|xvd*|pmem*|mmcblk*|dasd*|nbd*|hd*", OPTIONS+="watch" -- 2.7.4 diff --git a/poky/meta/recipes-core/systemd/systemd/0005-src-basic-missing.h-check-for-missing-strndupa.patch b/poky/meta/recipes-core/systemd/systemd/0005-src-basic-missing.h-check-for-missing-strndupa.patch index f20897b5f..a2e25a97d 100644 --- a/poky/meta/recipes-core/systemd/systemd/0005-src-basic-missing.h-check-for-missing-strndupa.patch +++ b/poky/meta/recipes-core/systemd/systemd/0005-src-basic-missing.h-check-for-missing-strndupa.patch @@ -9,21 +9,45 @@ Upstream-Status: Inappropriate [musl specific] Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Chen Qi <Qi.Chen@windriver.com> +[Rebased for v242] +Signed-off-by: Andrej Valek <andrej.valek@siemens.com> --- - meson.build | 1 + - src/basic/missing_stdlib.h | 12 ++++++++++++ - src/basic/mkdir.c | 1 + - src/basic/parse-util.c | 1 + - src/basic/procfs-util.c | 1 + - src/shared/pager.c | 1 + - src/shared/uid-range.c | 1 + - 7 files changed, 18 insertions(+) + meson.build | 1 + + src/backlight/backlight.c | 1 + + src/basic/env-util.c | 1 + + src/basic/missing_stdlib.h | 12 ++++++++++++ + src/basic/mkdir.c | 1 + + src/basic/parse-util.c | 1 + + src/basic/proc-cmdline.c | 1 + + src/basic/procfs-util.c | 1 + + src/basic/time-util.c | 1 + + src/core/dbus-cgroup.c | 1 + + src/core/dbus-util.c | 1 + + src/core/kmod-setup.c | 1 + + src/core/service.c | 1 + + src/journal/journalctl.c | 1 + + src/libsystemd/sd-bus/bus-message.c | 1 + + src/libsystemd/sd-bus/bus-objects.c | 1 + + src/libsystemd/sd-bus/test-bus-benchmark.c | 1 + + src/locale/keymap-util.c | 1 + + src/nspawn/nspawn-settings.c | 1 + + src/shared/dns-domain.c | 1 + + src/shared/journal-importer.c | 1 + + src/shared/logs-show.c | 1 + + src/shared/pager.c | 1 + + src/shared/path-lookup.c | 1 + + src/shared/uid-range.c | 1 + + src/socket-proxy/socket-proxyd.c | 1 + + src/test/test-hexdecoct.c | 1 + + src/udev/udev-builtin-path_id.c | 1 + + src/udev/udev-rules.c | 1 + + 29 files changed, 40 insertions(+) diff --git a/meson.build b/meson.build -index 44b24ee..70fb218 100644 +index 79195c9..80d9564 100644 --- a/meson.build +++ b/meson.build -@@ -558,6 +558,7 @@ foreach ident : [ +@@ -572,6 +572,7 @@ foreach ident : [ #include <unistd.h>'''], ['explicit_bzero' , '''#include <string.h>'''], ['reallocarray', '''#include <malloc.h>'''], @@ -31,8 +55,32 @@ index 44b24ee..70fb218 100644 ] have = cc.has_function(ident[0], prefix : ident[1], args : '-D_GNU_SOURCE') +diff --git a/src/backlight/backlight.c b/src/backlight/backlight.c +index dfd6805..c2b2ace 100644 +--- a/src/backlight/backlight.c ++++ b/src/backlight/backlight.c +@@ -17,6 +17,7 @@ + #include "string-util.h" + #include "strv.h" + #include "util.h" ++#include "missing.h" + + static int find_pci_or_platform_parent(sd_device *device, sd_device **ret) { + const char *subsystem, *sysname, *value; +diff --git a/src/basic/env-util.c b/src/basic/env-util.c +index fd449dc..e2b0722 100644 +--- a/src/basic/env-util.c ++++ b/src/basic/env-util.c +@@ -16,6 +16,7 @@ + #include "string-util.h" + #include "strv.h" + #include "utf8.h" ++#include "missing.h" + + #define VALID_CHARS_ENV_NAME \ + DIGITS LETTERS \ diff --git a/src/basic/missing_stdlib.h b/src/basic/missing_stdlib.h -index c0ffe86..d50274b 100644 +index 188a8d4..1e16ec2 100644 --- a/src/basic/missing_stdlib.h +++ b/src/basic/missing_stdlib.h @@ -11,3 +11,15 @@ @@ -52,10 +100,10 @@ index c0ffe86..d50274b 100644 + }) +#endif diff --git a/src/basic/mkdir.c b/src/basic/mkdir.c -index 4bb65d5..3038ab9 100644 +index 6b82eab..51c6b78 100644 --- a/src/basic/mkdir.c +++ b/src/basic/mkdir.c -@@ -13,6 +13,7 @@ +@@ -14,6 +14,7 @@ #include "stat-util.h" #include "stdio-util.h" #include "user-util.h" @@ -75,6 +123,18 @@ index 87724af..d9c53bc 100644 int parse_boolean(const char *v) { if (!v) +diff --git a/src/basic/proc-cmdline.c b/src/basic/proc-cmdline.c +index 1670001..b51feaa 100644 +--- a/src/basic/proc-cmdline.c ++++ b/src/basic/proc-cmdline.c +@@ -15,6 +15,7 @@ + #include "string-util.h" + #include "util.h" + #include "virt.h" ++#include "missing.h" + + int proc_cmdline(char **ret) { + const char *e; diff --git a/src/basic/procfs-util.c b/src/basic/procfs-util.c index 7aaf95b..42ce53d 100644 --- a/src/basic/procfs-util.c @@ -87,30 +147,258 @@ index 7aaf95b..42ce53d 100644 int procfs_tasks_get_limit(uint64_t *ret) { _cleanup_free_ char *value = NULL; +diff --git a/src/basic/time-util.c b/src/basic/time-util.c +index daf952b..374b97f 100644 +--- a/src/basic/time-util.c ++++ b/src/basic/time-util.c +@@ -28,6 +28,7 @@ + #include "string-util.h" + #include "strv.h" + #include "time-util.h" ++#include "missing.h" + + static clockid_t map_clock_id(clockid_t c) { + +diff --git a/src/core/dbus-cgroup.c b/src/core/dbus-cgroup.c +index 4615aea..bc1364f 100644 +--- a/src/core/dbus-cgroup.c ++++ b/src/core/dbus-cgroup.c +@@ -15,6 +15,7 @@ + #include "fileio.h" + #include "limits-util.h" + #include "path-util.h" ++#include "missing.h" + + static BUS_DEFINE_PROPERTY_GET_ENUM(property_get_cgroup_device_policy, cgroup_device_policy, CGroupDevicePolicy); + +diff --git a/src/core/dbus-util.c b/src/core/dbus-util.c +index f4fbb72..0a1e3b5 100644 +--- a/src/core/dbus-util.c ++++ b/src/core/dbus-util.c +@@ -7,6 +7,7 @@ + #include "unit-printf.h" + #include "user-util.h" + #include "unit.h" ++#include "missing.h" + + int bus_property_get_triggered_unit( + sd_bus *bus, +diff --git a/src/core/kmod-setup.c b/src/core/kmod-setup.c +index a91cfeb..a459610 100644 +--- a/src/core/kmod-setup.c ++++ b/src/core/kmod-setup.c +@@ -11,6 +11,7 @@ + #include "kmod-setup.h" + #include "macro.h" + #include "string-util.h" ++#include "missing.h" + + #if HAVE_KMOD + #include <libkmod.h> +diff --git a/src/core/service.c b/src/core/service.c +index 0289990..0e725b5 100644 +--- a/src/core/service.c ++++ b/src/core/service.c +@@ -42,6 +42,7 @@ + #include "unit.h" + #include "utf8.h" + #include "util.h" ++#include "missing.h" + + static const UnitActiveState state_translation_table[_SERVICE_STATE_MAX] = { + [SERVICE_DEAD] = UNIT_INACTIVE, +diff --git a/src/journal/journalctl.c b/src/journal/journalctl.c +index 0048909..0e85eb7 100644 +--- a/src/journal/journalctl.c ++++ b/src/journal/journalctl.c +@@ -67,6 +67,7 @@ + #include "tmpfile-util.h" + #include "unit-name.h" + #include "user-util.h" ++#include "missing.h" + + #define DEFAULT_FSS_INTERVAL_USEC (15*USEC_PER_MINUTE) + +diff --git a/src/libsystemd/sd-bus/bus-message.c b/src/libsystemd/sd-bus/bus-message.c +index 427d42f..b050568 100644 +--- a/src/libsystemd/sd-bus/bus-message.c ++++ b/src/libsystemd/sd-bus/bus-message.c +@@ -21,6 +21,7 @@ + #include "strv.h" + #include "time-util.h" + #include "utf8.h" ++#include "missing.h" + + static int message_append_basic(sd_bus_message *m, char type, const void *p, const void **stored); + +diff --git a/src/libsystemd/sd-bus/bus-objects.c b/src/libsystemd/sd-bus/bus-objects.c +index d9fc256..e9c6932 100644 +--- a/src/libsystemd/sd-bus/bus-objects.c ++++ b/src/libsystemd/sd-bus/bus-objects.c +@@ -13,6 +13,7 @@ + #include "set.h" + #include "string-util.h" + #include "strv.h" ++#include "missing.h" + + static int node_vtable_get_userdata( + sd_bus *bus, +diff --git a/src/libsystemd/sd-bus/test-bus-benchmark.c b/src/libsystemd/sd-bus/test-bus-benchmark.c +index 8de0a85..4fd0a2e 100644 +--- a/src/libsystemd/sd-bus/test-bus-benchmark.c ++++ b/src/libsystemd/sd-bus/test-bus-benchmark.c +@@ -14,6 +14,7 @@ + #include "missing_resource.h" + #include "time-util.h" + #include "util.h" ++#include "missing.h" + + #define MAX_SIZE (2*1024*1024) + +diff --git a/src/locale/keymap-util.c b/src/locale/keymap-util.c +index b8bd181..fe0cae0 100644 +--- a/src/locale/keymap-util.c ++++ b/src/locale/keymap-util.c +@@ -23,6 +23,7 @@ + #include "string-util.h" + #include "strv.h" + #include "tmpfile-util.h" ++#include "missing.h" + + static bool startswith_comma(const char *s, const char *prefix) { + s = startswith(s, prefix); +diff --git a/src/nspawn/nspawn-settings.c b/src/nspawn/nspawn-settings.c +index 476cb07..91e28de 100644 +--- a/src/nspawn/nspawn-settings.c ++++ b/src/nspawn/nspawn-settings.c +@@ -16,6 +16,7 @@ + #include "strv.h" + #include "user-util.h" + #include "util.h" ++#include "missing.h" + + Settings *settings_new(void) { + Settings *s; +diff --git a/src/shared/dns-domain.c b/src/shared/dns-domain.c +index 4b31cb3..989ebf3 100644 +--- a/src/shared/dns-domain.c ++++ b/src/shared/dns-domain.c +@@ -24,6 +24,7 @@ + #include "string-util.h" + #include "strv.h" + #include "utf8.h" ++#include "missing.h" + + int dns_label_unescape(const char **name, char *dest, size_t sz, DNSLabelFlags flags) { + const char *n; +diff --git a/src/shared/journal-importer.c b/src/shared/journal-importer.c +index 8638cd3..d03774a 100644 +--- a/src/shared/journal-importer.c ++++ b/src/shared/journal-importer.c +@@ -13,6 +13,7 @@ + #include "parse-util.h" + #include "string-util.h" + #include "unaligned.h" ++#include "missing.h" + + enum { + IMPORTER_STATE_LINE = 0, /* waiting to read, or reading line */ +diff --git a/src/shared/logs-show.c b/src/shared/logs-show.c +index 5fb736f..19cb165 100644 +--- a/src/shared/logs-show.c ++++ b/src/shared/logs-show.c +@@ -38,6 +38,7 @@ + #include "time-util.h" + #include "utf8.h" + #include "util.h" ++#include "missing.h" + + /* up to three lines (each up to 100 characters) or 300 characters, whichever is less */ + #define PRINT_LINE_THRESHOLD 3 diff --git a/src/shared/pager.c b/src/shared/pager.c -index bf2597e..fa9e321 100644 +index 2abb0f6..a00c95f 100644 --- a/src/shared/pager.c +++ b/src/shared/pager.c -@@ -24,6 +24,7 @@ - #include "string-util.h" +@@ -25,6 +25,7 @@ #include "strv.h" #include "terminal-util.h" + #include "util.h" +#include "missing.h" static pid_t pager_pid = 0; +diff --git a/src/shared/path-lookup.c b/src/shared/path-lookup.c +index 442fde7..0eb1188 100644 +--- a/src/shared/path-lookup.c ++++ b/src/shared/path-lookup.c +@@ -20,6 +20,7 @@ + #include "tmpfile-util.h" + #include "user-util.h" + #include "util.h" ++#include "missing.h" + + int xdg_user_runtime_dir(char **ret, const char *suffix) { + const char *e; diff --git a/src/shared/uid-range.c b/src/shared/uid-range.c -index 5fa7bd2..9c63b9e 100644 +index 7cb7d8a..8b12b91 100644 --- a/src/shared/uid-range.c +++ b/src/shared/uid-range.c @@ -9,6 +9,7 @@ + #include "sort-util.h" #include "uid-range.h" #include "user-util.h" - #include "util.h" +#include "missing.h" static bool uid_range_intersect(UidRange *range, uid_t start, uid_t nr) { assert(range); +diff --git a/src/socket-proxy/socket-proxyd.c b/src/socket-proxy/socket-proxyd.c +index abbbc9f..6179b58 100644 +--- a/src/socket-proxy/socket-proxyd.c ++++ b/src/socket-proxy/socket-proxyd.c +@@ -28,6 +28,7 @@ + #include "socket-util.h" + #include "string-util.h" + #include "util.h" ++#include "missing.h" + + #define BUFFER_SIZE (256 * 1024) + +diff --git a/src/test/test-hexdecoct.c b/src/test/test-hexdecoct.c +index 5221742..a05e778 100644 +--- a/src/test/test-hexdecoct.c ++++ b/src/test/test-hexdecoct.c +@@ -6,6 +6,7 @@ + #include "hexdecoct.h" + #include "macro.h" + #include "string-util.h" ++#include "missing.h" + + static void test_hexchar(void) { + assert_se(hexchar(0xa) == 'a'); +diff --git a/src/udev/udev-builtin-path_id.c b/src/udev/udev-builtin-path_id.c +index 7ce1c56..cc19b8e 100644 +--- a/src/udev/udev-builtin-path_id.c ++++ b/src/udev/udev-builtin-path_id.c +@@ -23,6 +23,7 @@ + #include "strv.h" + #include "sysexits.h" + #include "udev-builtin.h" ++#include "missing.h" + + _printf_(2,3) + static void path_prepend(char **path, const char *fmt, ...) { +diff --git a/src/udev/udev-rules.c b/src/udev/udev-rules.c +index ee87d7c..9aced10 100644 +--- a/src/udev/udev-rules.c ++++ b/src/udev/udev-rules.c +@@ -40,6 +40,7 @@ + #include "udev.h" + #include "user-util.h" + #include "util.h" ++#include "missing.h" + + #define PREALLOC_TOKEN 2048 + #define RULES_DIRS (const char* const*) CONF_PATHS_STRV("udev/rules.d") -- -2.7.4 +2.11.0 diff --git a/poky/meta/recipes-core/systemd/systemd/0006-network-remove-redunant-link-name-in-message.patch b/poky/meta/recipes-core/systemd/systemd/0006-network-remove-redunant-link-name-in-message.patch new file mode 100644 index 000000000..33f482ae9 --- /dev/null +++ b/poky/meta/recipes-core/systemd/systemd/0006-network-remove-redunant-link-name-in-message.patch @@ -0,0 +1,41 @@ +From 9e6940858c7dbdd56b297bdf49f58d623e3430b7 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl> +Date: Tue, 7 May 2019 13:46:55 +0200 +Subject: [PATCH] network: remove redunant link name in message + +Fixes #12454. + +gcc was complaining that the link->ifname argument is NULL. Adding +assert(link->ifname) right before the call has no effect. It seems that +gcc is confused by the fact that log_link_warning_errno() internally +calls log_object(), with link->ifname passed as the object. log_object() +is also a macro and is does a check whether the passed object is NULL. +So we have a check if something is NULL right next an unconditional use +of it where it cannot be NULL. I think it's a bug in gcc. + +Anyway, we don't need to use link->ifname here. log_object() already prepends +the object name to the message. + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +Upstream-Status: backport [https://github.com/systemd/systemd/commit/c98b3545008d8e984ab456dcf79787418fcbfe13] +--- + src/network/networkd-link.c | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c +index 3e334c8d29..a158c01bbd 100644 +--- a/src/network/networkd-link.c ++++ b/src/network/networkd-link.c +@@ -321,8 +321,7 @@ static int link_enable_ipv6(Link *link) { + + r = sysctl_write_ip_property_boolean(AF_INET6, link->ifname, "disable_ipv6", disabled); + if (r < 0) +- log_link_warning_errno(link, r, "Cannot %s IPv6 for interface %s: %m", +- enable_disable(!disabled), link->ifname); ++ log_link_warning_errno(link, r, "Cannot %s IPv6: %m", enable_disable(!disabled)); + else + log_link_info(link, "IPv6 successfully %sd", enable_disable(!disabled)); + +-- +2.21.0 + diff --git a/poky/meta/recipes-core/systemd/systemd/0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not.patch b/poky/meta/recipes-core/systemd/systemd/0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not.patch index 765e4767f..aa2b4cbcf 100644 --- a/poky/meta/recipes-core/systemd/systemd/0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not.patch +++ b/poky/meta/recipes-core/systemd/systemd/0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not.patch @@ -16,28 +16,29 @@ Upstream-Status: Inappropriate [musl specific] Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Chen Qi <Qi.Chen@windriver.com> --- - src/basic/glob-util.c | 12 +++++++++++- - src/test/test-glob-util.c | 17 +++++++++++++++-- - src/tmpfiles/tmpfiles.c | 9 +++++++++ - 3 files changed, 35 insertions(+), 3 deletions(-) + src/basic/glob-util.c | 13 ++++++++++++- + src/test/test-glob-util.c | 16 ++++++++++++++++ + src/tmpfiles/tmpfiles.c | 10 ++++++++++ + 3 files changed, 38 insertions(+), 1 deletion(-) diff --git a/src/basic/glob-util.c b/src/basic/glob-util.c -index 9fac676..962d8b9 100644 +index 32c53f8..ae358d9 100644 --- a/src/basic/glob-util.c +++ b/src/basic/glob-util.c -@@ -10,6 +10,11 @@ - #include "macro.h" +@@ -13,6 +13,12 @@ #include "path-util.h" #include "strv.h" + +/* Don't fail if the standard library + * doesn't provide brace expansion */ +#ifndef GLOB_BRACE +#define GLOB_BRACE 0 +#endif - ++ static void closedir_wrapper(void* v) { (void) closedir(v); -@@ -18,6 +23,7 @@ static void closedir_wrapper(void* v) { + } +@@ -20,6 +26,7 @@ static void closedir_wrapper(void* v) { int safe_glob(const char *path, int flags, glob_t *pglob) { int k; @@ -45,7 +46,7 @@ index 9fac676..962d8b9 100644 /* We want to set GLOB_ALTDIRFUNC ourselves, don't allow it to be set. */ assert(!(flags & GLOB_ALTDIRFUNC)); -@@ -31,10 +37,14 @@ int safe_glob(const char *path, int flags, glob_t *pglob) { +@@ -33,10 +40,14 @@ int safe_glob(const char *path, int flags, glob_t *pglob) { pglob->gl_lstat = lstat; if (!pglob->gl_stat) pglob->gl_stat = stat; @@ -62,26 +63,25 @@ index 9fac676..962d8b9 100644 return -ENOENT; if (k == GLOB_NOSPACE) diff --git a/src/test/test-glob-util.c b/src/test/test-glob-util.c -index b4f4144..955b3ba 100644 +index b4f4144..f0d474e 100644 --- a/src/test/test-glob-util.c +++ b/src/test/test-glob-util.c -@@ -12,6 +12,11 @@ - #include "macro.h" +@@ -13,6 +13,12 @@ #include "rm-rf.h" #include "tmpfile-util.h" + +/* Don't fail if the standard library + * doesn't provide brace expansion */ +#ifndef GLOB_BRACE +#define GLOB_BRACE 0 +#endif - ++ static void test_glob_exists(void) { char name[] = "/tmp/test-glob_exists.XXXXXX"; -@@ -38,25 +43,33 @@ static void closedir_wrapper(void* v) { - static void test_glob_no_dot(void) { - char template[] = "/tmp/test-glob-util.XXXXXXX"; + int fd = -1; +@@ -40,11 +46,13 @@ static void test_glob_no_dot(void) { const char *fn; -- + _cleanup_globfree_ glob_t g = { +#ifdef GLOB_ALTDIRFUNC .gl_closedir = closedir_wrapper, @@ -91,9 +91,9 @@ index b4f4144..955b3ba 100644 .gl_stat = stat, +#endif }; -- - int r; + int r; +@@ -52,11 +60,19 @@ static void test_glob_no_dot(void) { assert_se(mkdtemp(template)); fn = strjoina(template, "/*"); @@ -114,22 +114,23 @@ index b4f4144..955b3ba 100644 (void) rm_rf(template, REMOVE_ROOT|REMOVE_PHYSICAL); diff --git a/src/tmpfiles/tmpfiles.c b/src/tmpfiles/tmpfiles.c -index b66765b..11dbbf4 100644 +index d9d1cc1..477d1e3 100644 --- a/src/tmpfiles/tmpfiles.c +++ b/src/tmpfiles/tmpfiles.c -@@ -60,6 +60,11 @@ +@@ -63,6 +63,12 @@ #include "umask-util.h" #include "user-util.h" - #include "util.h" + +/* Don't fail if the standard library + * doesn't provide brace expansion */ +#ifndef GLOB_BRACE +#define GLOB_BRACE 0 +#endif - ++ /* This reads all files listed in /etc/tmpfiles.d/?*.conf and creates * them in the file system. This is intended to be used to create -@@ -1853,7 +1858,9 @@ finish: + * properly owned directories beneath /tmp, /var/tmp, /run, which are +@@ -1839,7 +1845,9 @@ finish: static int glob_item(Item *i, action_t action) { _cleanup_globfree_ glob_t g = { @@ -139,7 +140,7 @@ index b66765b..11dbbf4 100644 }; int r = 0, k; char **fn; -@@ -1873,7 +1880,9 @@ static int glob_item(Item *i, action_t action) { +@@ -1859,7 +1867,9 @@ static int glob_item(Item *i, action_t action) { static int glob_item_recursively(Item *i, fdaction_t action) { _cleanup_globfree_ glob_t g = { @@ -150,5 +151,5 @@ index b66765b..11dbbf4 100644 int r = 0, k; char **fn; -- -2.7.4 +2.11.0 diff --git a/poky/meta/recipes-core/systemd/systemd/0009-socket-util-don-t-fail-if-libc-doesn-t-support-IDN.patch b/poky/meta/recipes-core/systemd/systemd/0009-socket-util-don-t-fail-if-libc-doesn-t-support-IDN.patch deleted file mode 100644 index 57cb5f373..000000000 --- a/poky/meta/recipes-core/systemd/systemd/0009-socket-util-don-t-fail-if-libc-doesn-t-support-IDN.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 6a2cadd6b70cb40ac74fc0d0f8557b914bd38ac2 Mon Sep 17 00:00:00 2001 -From: Chen Qi <Qi.Chen@windriver.com> -Date: Mon, 2 Jul 2018 13:22:41 +0800 -Subject: [PATCH 09/24] socket-util: don't fail if libc doesn't support IDN - -Upstream-Status: Inappropriate [musl specific] - -Signed-off-by: Emil Renner Berthing <systemd@esmil.dk> -Signed-off-by: Khem Raj <raj.khem@gmail.com> -Signed-off-by: Chen Qi <Qi.Chen@windriver.com> ---- - src/basic/socket-util.c | 10 ++++++++++ - 1 file changed, 10 insertions(+) - -diff --git a/src/basic/socket-util.c b/src/basic/socket-util.c -index 91bf801..c445fea 100644 ---- a/src/basic/socket-util.c -+++ b/src/basic/socket-util.c -@@ -33,6 +33,16 @@ - #include "utf8.h" - #include "util.h" - -+/* Don't fail if the standard library -+ * doesn't support IDN */ -+#ifndef NI_IDN -+#define NI_IDN 0 -+#endif -+ -+#ifndef NI_IDN_USE_STD3_ASCII_RULES -+#define NI_IDN_USE_STD3_ASCII_RULES 0 -+#endif -+ - #if ENABLE_IDN - # define IDN_FLAGS NI_IDN - #else --- -2.7.4 - diff --git a/poky/meta/recipes-core/systemd/systemd/0013-test-hexdecoct.c-Include-missing.h-for-strndupa.patch b/poky/meta/recipes-core/systemd/systemd/0013-test-hexdecoct.c-Include-missing.h-for-strndupa.patch deleted file mode 100644 index 874c17c42..000000000 --- a/poky/meta/recipes-core/systemd/systemd/0013-test-hexdecoct.c-Include-missing.h-for-strndupa.patch +++ /dev/null @@ -1,28 +0,0 @@ -From e5a48f84db58ffb9128383eaefc123b5829523e5 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Mon, 23 Oct 2017 12:33:22 -0700 -Subject: [PATCH 13/24] test-hexdecoct.c: Include missing.h for strndupa - -Upstream-Status: Inappropriate [musl specific] - -Signed-off-by: Khem Raj <raj.khem@gmail.com> -Signed-off-by: Chen Qi <Qi.Chen@windriver.com> ---- - src/test/test-hexdecoct.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/test/test-hexdecoct.c b/src/test/test-hexdecoct.c -index 5221742..a05e778 100644 ---- a/src/test/test-hexdecoct.c -+++ b/src/test/test-hexdecoct.c -@@ -6,6 +6,7 @@ - #include "hexdecoct.h" - #include "macro.h" - #include "string-util.h" -+#include "missing.h" - - static void test_hexchar(void) { - assert_se(hexchar(0xa) == 'a'); --- -2.7.4 - diff --git a/poky/meta/recipes-core/systemd/systemd/0017-Do-not-disable-buffering-when-writing-to-oom_score_a.patch b/poky/meta/recipes-core/systemd/systemd/0017-Do-not-disable-buffering-when-writing-to-oom_score_a.patch index 05e6ded71..b54635e8a 100644 --- a/poky/meta/recipes-core/systemd/systemd/0017-Do-not-disable-buffering-when-writing-to-oom_score_a.patch +++ b/poky/meta/recipes-core/systemd/systemd/0017-Do-not-disable-buffering-when-writing-to-oom_score_a.patch @@ -22,10 +22,10 @@ Signed-off-by: Chen Qi <Qi.Chen@windriver.com> 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/basic/process-util.c b/src/basic/process-util.c -index aec2daf..7b4aabf 100644 +index f773eea..79af915 100644 --- a/src/basic/process-util.c +++ b/src/basic/process-util.c -@@ -1538,7 +1538,7 @@ int set_oom_score_adjust(int value) { +@@ -1546,7 +1546,7 @@ int set_oom_score_adjust(int value) { sprintf(t, "%i", value); return write_string_file("/proc/self/oom_score_adj", t, @@ -33,7 +33,8 @@ index aec2daf..7b4aabf 100644 + WRITE_STRING_FILE_VERIFY_ON_FAILURE); } - static const char *const ioprio_class_table[] = { + int cpus_in_affinity_mask(void) { -- -2.7.4 +2.11.0 + diff --git a/poky/meta/recipes-core/systemd/systemd/0021-avoid-redefinition-of-prctl_mm_map-structure.patch b/poky/meta/recipes-core/systemd/systemd/0021-avoid-redefinition-of-prctl_mm_map-structure.patch index a8c53c931..cdddf8389 100644 --- a/poky/meta/recipes-core/systemd/systemd/0021-avoid-redefinition-of-prctl_mm_map-structure.patch +++ b/poky/meta/recipes-core/systemd/systemd/0021-avoid-redefinition-of-prctl_mm_map-structure.patch @@ -11,8 +11,7 @@ Upstream-Status: Inappropriate [musl specific] Signed-off-by: Chen Qi <Qi.Chen@windriver.com> --- src/basic/missing_prctl.h | 2 ++ - src/basic/util.h | 3 ++- - 2 files changed, 4 insertions(+), 1 deletion(-) + 1 file changed, 2 insertions(+) diff --git a/src/basic/missing_prctl.h b/src/basic/missing_prctl.h index f80cd17..47e4893 100644 @@ -28,20 +27,6 @@ index f80cd17..47e4893 100644 /* 58319057b7847667f0c9585b9de0e8932b0fdb08 (4.3) */ #ifndef PR_CAP_AMBIENT -diff --git a/src/basic/util.h b/src/basic/util.h -index 2c5dc32..f721184 100644 ---- a/src/basic/util.h -+++ b/src/basic/util.h -@@ -26,7 +26,8 @@ - #include "format-util.h" - #include "macro.h" - #include "time-util.h" --#include "missing.h" -+#include "missing_stdlib.h" -+#include "missing_type.h" - - size_t page_size(void) _pure_; - #define PAGE_ALIGN(l) ALIGN_TO((l), page_size()) -- -2.7.4 +2.11.0 diff --git a/poky/meta/recipes-core/systemd/systemd/0024-test-json.c-define-M_PIl.patch b/poky/meta/recipes-core/systemd/systemd/0024-test-json.c-define-M_PIl.patch index c2ae2bbb7..0e5629d37 100644 --- a/poky/meta/recipes-core/systemd/systemd/0024-test-json.c-define-M_PIl.patch +++ b/poky/meta/recipes-core/systemd/systemd/0024-test-json.c-define-M_PIl.patch @@ -14,11 +14,11 @@ Signed-off-by: Chen Qi <Qi.Chen@windriver.com> 1 file changed, 4 insertions(+) diff --git a/src/test/test-json.c b/src/test/test-json.c -index fdf1b4f..fa541f8 100644 +index 9b8a2a9..efc746c 100644 --- a/src/test/test-json.c +++ b/src/test/test-json.c -@@ -10,6 +10,10 @@ - #include "strv.h" +@@ -11,6 +11,10 @@ + #include "tests.h" #include "util.h" +#ifndef M_PIl @@ -29,5 +29,5 @@ index fdf1b4f..fa541f8 100644 unsigned line = 0, column = 0; void *state = NULL; -- -2.7.4 +2.11.0 diff --git a/poky/meta/recipes-core/systemd/systemd/0025-fs-utilh-add-missing-sys-stat-include.patch b/poky/meta/recipes-core/systemd/systemd/0025-fs-utilh-add-missing-sys-stat-include.patch new file mode 100644 index 000000000..bae9d3eaa --- /dev/null +++ b/poky/meta/recipes-core/systemd/systemd/0025-fs-utilh-add-missing-sys-stat-include.patch @@ -0,0 +1,30 @@ +From 2560a6b7b9adc5bd5dec0f87c2e3025ced8a2af2 Mon Sep 17 00:00:00 2001 +From: Andrej Valek <andrej.valek@siemens.com> +Date: Thu, 18 Apr 2019 10:47:11 +0200 +Subject: [PATCH] fs-utilh: add missing sys/stat include + +fix error: +| error: passing argument 5 of 'chase_symlinks_and_stat' from incompatible pointer type [-Werror=incompatible-pointer-types] + +Signed-off-by: Andrej Valek <andrej.valek@siemens.com> + +Upstream-Status: Pending +--- + src/basic/fs-util.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/basic/fs-util.h b/src/basic/fs-util.h +index b965120..e2fdfff 100644 +--- a/src/basic/fs-util.h ++++ b/src/basic/fs-util.h +@@ -8,6 +8,7 @@ + #include <stdint.h> + #include <sys/inotify.h> + #include <sys/types.h> ++#include <sys/stat.h> + #include <unistd.h> + + #include "errno-util.h" +-- +2.11.0 + diff --git a/poky/meta/recipes-core/systemd/systemd/99-default.preset b/poky/meta/recipes-core/systemd/systemd/99-default.preset new file mode 100644 index 000000000..1f29b5059 --- /dev/null +++ b/poky/meta/recipes-core/systemd/systemd/99-default.preset @@ -0,0 +1 @@ +disable * diff --git a/poky/meta/recipes-core/systemd/systemd_241.bb b/poky/meta/recipes-core/systemd/systemd_242.bb index bfbfc8133..20714fc70 100644 --- a/poky/meta/recipes-core/systemd/systemd_241.bb +++ b/poky/meta/recipes-core/systemd/systemd_242.bb @@ -22,8 +22,8 @@ SRC_URI += "file://touchscreen.rules \ file://0003-implment-systemd-sysv-install-for-OE.patch \ file://0004-rules-whitelist-hd-devices.patch \ file://0005-rules-watch-metadata-changes-in-ide-devices.patch \ - file://0001-meson-declare-version.h-as-dep-for-various-targets-t.patch \ - file://0001-meson-declare-version.h-as-dependency-for-systemd.patch \ + file://0006-network-remove-redunant-link-name-in-message.patch \ + file://99-default.preset \ " # patches needed by musl @@ -36,11 +36,9 @@ SRC_URI_MUSL = "file://0001-Use-getenv-when-secure-versions-are-not-available.pa file://0006-Include-netinet-if_ether.h.patch \ file://0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not.patch \ file://0008-add-missing-FTW_-macros-for-musl.patch \ - file://0009-socket-util-don-t-fail-if-libc-doesn-t-support-IDN.patch \ file://0010-fix-missing-of-__register_atfork-for-non-glibc-build.patch \ file://0011-Use-uintmax_t-for-handling-rlim_t.patch \ file://0012-fix-missing-ULONG_LONG_MAX-definition-in-case-of-mus.patch \ - file://0013-test-hexdecoct.c-Include-missing.h-for-strndupa.patch \ file://0014-test-sizeof.c-Disable-tests-for-missing-typedefs-in-.patch \ file://0015-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch \ file://0016-Define-glibc-compatible-basename-for-non-glibc-syste.patch \ @@ -52,6 +50,7 @@ SRC_URI_MUSL = "file://0001-Use-getenv-when-secure-versions-are-not-available.pa file://0022-include-sys-wait.h-to-avoid-compile-failure.patch \ file://0023-socket-util.h-include-string.h.patch \ file://0024-test-json.c-define-M_PIl.patch \ + file://0025-fs-utilh-add-missing-sys-stat-include.patch \ file://0001-do-not-disable-buffer-in-writing-files.patch \ " @@ -68,10 +67,10 @@ PACKAGECONFIG ??= " \ acl \ backlight \ binfmt \ - firstboot \ gshadow \ hibernate \ hostnamed \ + idn \ ima \ kmod \ localed \ @@ -96,6 +95,7 @@ PACKAGECONFIG ??= " \ PACKAGECONFIG_remove_libc-musl = " \ gshadow \ + idn \ localed \ myhostname \ nss \ @@ -117,6 +117,7 @@ PACKAGECONFIG[audit] = "-Daudit=true,-Daudit=false,audit" PACKAGECONFIG[backlight] = "-Dbacklight=true,-Dbacklight=false" PACKAGECONFIG[binfmt] = "-Dbinfmt=true,-Dbinfmt=false" PACKAGECONFIG[bzip2] = "-Dbzip2=true,-Dbzip2=false,bzip2" +PACKAGECONFIG[cgroupv2] = "-Ddefault-hierarchy=unified,-Ddefault-hierarchy=hybrid" PACKAGECONFIG[coredump] = "-Dcoredump=true,-Dcoredump=false" PACKAGECONFIG[cryptsetup] = "-Dlibcryptsetup=true,-Dlibcryptsetup=false,cryptsetup" PACKAGECONFIG[dbus] = "-Ddbus=true,-Ddbus=false,dbus" @@ -129,6 +130,7 @@ PACKAGECONFIG[gnutls] = "-Dgnutls=true,-Dgnutls=false,gnutls" PACKAGECONFIG[gshadow] = "-Dgshadow=true,-Dgshadow=false" PACKAGECONFIG[hibernate] = "-Dhibernate=true,-Dhibernate=false" PACKAGECONFIG[hostnamed] = "-Dhostnamed=true,-Dhostnamed=false" +PACKAGECONFIG[idn] = "-Didn=true,-Didn=false" PACKAGECONFIG[ima] = "-Dima=true,-Dima=false" # importd requires curl/xz/zlib/bzip2/gcrypt PACKAGECONFIG[importd] = "-Dimportd=true,-Dimportd=false" @@ -144,7 +146,7 @@ PACKAGECONFIG[lz4] = "-Dlz4=true,-Dlz4=false,lz4" PACKAGECONFIG[machined] = "-Dmachined=true,-Dmachined=false" PACKAGECONFIG[manpages] = "-Dman=true,-Dman=false,libxslt-native xmlto-native docbook-xml-dtd4-native docbook-xsl-stylesheets-native" PACKAGECONFIG[microhttpd] = "-Dmicrohttpd=true,-Dmicrohttpd=false,libmicrohttpd" -PACKAGECONFIG[myhostname] = "-Dnss-myhostname=true,-Dnss-myhostname=false" +PACKAGECONFIG[myhostname] = "-Dnss-myhostname=true,-Dnss-myhostname=false,,libnss-myhostname" PACKAGECONFIG[networkd] = "-Dnetworkd=true,-Dnetworkd=false" PACKAGECONFIG[nss] = "-Dnss-systemd=true,-Dnss-systemd=false" PACKAGECONFIG[nss-mymachines] = "-Dnss-mymachines=true,-Dnss-mymachines=false" @@ -193,6 +195,7 @@ EXTRA_OEMESON += "-Dnobody-user=nobody \ -Drootlibdir=${rootlibdir} \ -Drootprefix=${rootprefix} \ -Dsysvrcnd-path=${sysconfdir} \ + -Ddefault-locale=C \ " # Hardcode target binary paths to avoid using paths from sysroot @@ -277,17 +280,13 @@ do_install() { fi fi - # conf files are handled by systemd-conf - rm -f ${D}${sysconfdir}/machine-id - rm -f ${D}${sysconfdir}/systemd/coredump.conf - rm -f ${D}${sysconfdir}/systemd/journald.conf - rm -f ${D}${sysconfdir}/systemd/logind.conf - rm -f ${D}${sysconfdir}/systemd/system.conf - rm -f ${D}${sysconfdir}/systemd/user.conf - # duplicate udevadm for postinst script install -d ${D}${libexecdir} ln ${D}${base_bindir}/udevadm ${D}${libexecdir}/${MLPREFIX}udevadm + + # install default policy for presets + # https://www.freedesktop.org/wiki/Software/systemd/Preset/#howto + install -Dm 0644 ${WORKDIR}/99-default.preset ${D}${systemd_unitdir}/system-preset/99-default.preset } @@ -406,12 +405,15 @@ SYSTEMD_SERVICE_${PN}-remote = "systemd-journal-remote.socket" FILES_${PN}-container = "${sysconfdir}/dbus-1/system.d/org.freedesktop.import1.conf \ ${sysconfdir}/dbus-1/system.d/org.freedesktop.machine1.conf \ + ${sysconfdir}/systemd/system/multi-user.target.wants/machines.target \ ${base_bindir}/machinectl \ ${bindir}/systemd-nspawn \ ${nonarch_libdir}/systemd/import-pubring.gpg \ ${systemd_system_unitdir}/busnames.target.wants/org.freedesktop.import1.busname \ ${systemd_system_unitdir}/busnames.target.wants/org.freedesktop.machine1.busname \ ${systemd_system_unitdir}/local-fs.target.wants/var-lib-machines.mount \ + ${systemd_system_unitdir}/machines.target.wants/var-lib-machines.mount \ + ${systemd_system_unitdir}/remote-fs.target.wants/var-lib-machines.mount \ ${systemd_system_unitdir}/machine.slice \ ${systemd_system_unitdir}/machines.target \ ${systemd_system_unitdir}/org.freedesktop.import1.busname \ @@ -483,6 +485,15 @@ FILES_${PN}-extra-utils = "\ ${rootlibexecdir}/systemd/systemd-cgroups-agent \ " +CONFFILES_${PN} = "${sysconfdir}/systemd/coredump.conf \ + ${sysconfdir}/systemd/journald.conf \ + ${sysconfdir}/systemd/logind.conf \ + ${sysconfdir}/systemd/system.conf \ + ${sysconfdir}/systemd/user.conf \ + ${sysconfdir}/systemd/resolved.conf \ + ${sysconfdir}/systemd/timesyncd.conf \ +" + FILES_${PN} = " ${base_bindir}/* \ ${base_sbindir}/shutdown \ ${base_sbindir}/halt \ @@ -546,13 +557,14 @@ FILES_${PN}-dev += "${base_libdir}/security/*.la ${datadir}/dbus-1/interfaces/ $ RDEPENDS_${PN} += "kmod dbus util-linux-mount util-linux-umount udev (= ${EXTENDPKGV}) util-linux-agetty util-linux-fsck" RDEPENDS_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'serial-getty-generator', '', 'systemd-serialgetty', d)}" -RDEPENDS_${PN} += "volatile-binds update-rc.d systemd-conf" +RDEPENDS_${PN} += "volatile-binds update-rc.d" RRECOMMENDS_${PN} += "systemd-extra-utils \ systemd-compat-units udev-hwdb \ e2fsprogs-e2fsck \ kernel-module-autofs4 kernel-module-unix kernel-module-ipv6 \ os-release \ + systemd-conf \ " INSANE_SKIP_${PN} += "dev-so libdir" @@ -566,6 +578,7 @@ RPROVIDES_udev = "hotplug" RDEPENDS_udev-hwdb += "udev" FILES_udev += "${base_sbindir}/udevd \ + ${rootlibexecdir}/systemd/network/99-default.link \ ${rootlibexecdir}/systemd/systemd-udevd \ ${rootlibexecdir}/udev/accelerometer \ ${rootlibexecdir}/udev/ata_id \ diff --git a/poky/meta/recipes-core/util-linux/util-linux.inc b/poky/meta/recipes-core/util-linux/util-linux.inc index 18c3af240..34255a2de 100644 --- a/poky/meta/recipes-core/util-linux/util-linux.inc +++ b/poky/meta/recipes-core/util-linux/util-linux.inc @@ -142,7 +142,7 @@ RDEPENDS_${PN}_class-nativesdk = "" RPROVIDES_${PN}-dev = "${PN}-libblkid-dev ${PN}-libmount-dev ${PN}-libuuid-dev" RDEPENDS_${PN}-bash-completion += "${PN}-lsblk" -RDEPENDS_${PN}-ptest = "bash grep coreutils which btrfs-tools ${PN}" +RDEPENDS_${PN}-ptest = "bash grep coreutils which btrfs-tools ${PN} sed" RDEPENDS_${PN}-swaponoff = "${PN}-swapon ${PN}-swapoff" ALLOW_EMPTY_${PN}-swaponoff = "1" @@ -284,6 +284,7 @@ ALTERNATIVE_LINK_NAME[wall.1] = "${mandir}/man1/wall.1" BBCLASSEXTEND = "native nativesdk" +PTEST_BINDIR = "1" do_compile_ptest() { oe_runmake buildtest-TESTS } @@ -312,8 +313,8 @@ do_install_ptest() { '/^\tif[[:space:]]\[[[:space:]]![[:space:]]-x[[:space:]]"$1"/s|$1|`which $1 2>/dev/null`|g' \ ${D}${PTEST_PATH}/tests/functions.sh - # "kill -L" behaves differently than "/bin/kill -L" so we need an additional fix + # Running "kill" without the the complete path would use the shell's built-in kill sed -i -e \ - '/^TS_CMD_KILL/ s|kill|/bin/kill|g' \ + '/^TS_CMD_KILL/ s|kill|${PTEST_PATH}/bin/kill|g' \ ${D}${PTEST_PATH}/tests/commands.sh } diff --git a/poky/meta/recipes-core/util-linux/util-linux/run-ptest b/poky/meta/recipes-core/util-linux/util-linux/run-ptest index fbc2f9b56..03248325b 100644 --- a/poky/meta/recipes-core/util-linux/util-linux/run-ptest +++ b/poky/meta/recipes-core/util-linux/util-linux/run-ptest @@ -1,5 +1,9 @@ #!/bin/sh +current_path=$(readlink -f $0) +export bindir=$(dirname $current_path) +export PATH=$bindir/bin:$PATH + cd tests || exit 1 comps=$(find ts/ -type f -perm -111 -regex ".*/[^\.~]*" | sort) @@ -16,7 +20,7 @@ res=0 count=0 for ts in $comps; do - $ts | sed '{ + $ts | sed -u '{ s/^\(.*\):\(.*\) \.\.\. OK$/PASS: \1:\2/ s/^\(.*\):\(.*\) \.\.\. FAILED \(.*\)$/FAIL: \1:\2 \3/ s/^\(.*\):\(.*\) \.\.\. SKIPPED \(.*\)$/SKIP: \1:\2 \3/ diff --git a/poky/meta/recipes-devtools/autoconf/autoconf.inc b/poky/meta/recipes-devtools/autoconf/autoconf.inc index b82af5a5f..2c87bf829 100644 --- a/poky/meta/recipes-devtools/autoconf/autoconf.inc +++ b/poky/meta/recipes-devtools/autoconf/autoconf.inc @@ -22,10 +22,14 @@ RDEPENDS_${PN} = "m4 gnu-config \ perl-module-file-find \ perl-module-file-glob \ perl-module-file-path \ + perl-module-file-spec \ + perl-module-file-spec-unix \ perl-module-file-stat \ perl-module-getopt-long \ perl-module-io-file \ + perl-module-overloading \ perl-module-posix \ + perl-module-symbol \ perl-module-thread-queue \ perl-module-threads \ " @@ -46,14 +50,20 @@ RDEPENDS_${PN}_class-nativesdk = "\ nativesdk-perl-module-file-find \ nativesdk-perl-module-file-glob \ nativesdk-perl-module-file-path \ + nativesdk-perl-module-file-spec \ + nativesdk-perl-module-file-spec-unix \ nativesdk-perl-module-file-stat \ nativesdk-perl-module-getopt-long \ nativesdk-perl-module-io-file \ + nativesdk-perl-module-overloading \ nativesdk-perl-module-posix \ + nativesdk-perl-module-symbol \ nativesdk-perl-module-thread-queue \ nativesdk-perl-module-threads \ " + + SRC_URI = "${GNU_MIRROR}/autoconf/autoconf-${PV}.tar.gz \ file://program_prefix.patch" diff --git a/poky/meta/recipes-devtools/binutils/binutils-2.32.inc b/poky/meta/recipes-devtools/binutils/binutils-2.32.inc index 5d0c16b13..49e6827c1 100644 --- a/poky/meta/recipes-devtools/binutils/binutils-2.32.inc +++ b/poky/meta/recipes-devtools/binutils/binutils-2.32.inc @@ -44,6 +44,10 @@ SRC_URI = "\ file://0013-Detect-64-bit-MIPS-targets.patch \ file://0014-sync-with-OE-libtool-changes.patch \ file://0015-binutils-enable-x86_64-pep-for-producing-EFI-binarie.patch \ + file://CVE-2019-9074.patch \ + file://CVE-2019-9075.patch \ + file://CVE-2019-9076.patch \ + file://CVE-2019-9077.patch \ " S = "${WORKDIR}/git" diff --git a/poky/meta/recipes-devtools/binutils/binutils/CVE-2019-9074.patch b/poky/meta/recipes-devtools/binutils/binutils/CVE-2019-9074.patch new file mode 100644 index 000000000..a11a51200 --- /dev/null +++ b/poky/meta/recipes-devtools/binutils/binutils/CVE-2019-9074.patch @@ -0,0 +1,68 @@ +From e2ebb3906432dcca2727186ad79415f920730fb2 Mon Sep 17 00:00:00 2001 +From: Alan Modra <amodra@gmail.com> +Date: Tue, 19 Feb 2019 22:48:44 +1030 +Subject: [PATCH] PR24235, Read memory violation in pei-x86_64.c + + PR 24235 + * pei-x86_64.c (pex64_bfd_print_pdata_section): Correct checks + attempting to prevent read past end of section. + +Upstream-Status: Backport [https://github.com/bminor/binutils-gdb/commit/179f2db0d9c397d7dd8a59907b84208b79f7f48c] +CVE: CVE-2019-9074 +Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> +--- + bfd/ChangeLog | 6 ++++++ + bfd/pei-x86_64.c | 9 ++++----- + 2 files changed, 10 insertions(+), 5 deletions(-) + +diff --git a/bfd/ChangeLog b/bfd/ChangeLog +index dd2c741..cbf30de 100644 +--- a/bfd/ChangeLog ++++ b/bfd/ChangeLog +@@ -1,3 +1,9 @@ ++2019-02-19 Alan Modra <amodra@gmail.com> ++ ++ PR 24235 ++ * pei-x86_64.c (pex64_bfd_print_pdata_section): Correct checks ++ attempting to prevent read past end of section. ++ + 2019-02-04 Nick Clifton <nickc@redhat.com> + + * development.sh (experimental) Set to false. +diff --git a/bfd/pei-x86_64.c b/bfd/pei-x86_64.c +index ff1093c..7e75104 100644 +--- a/bfd/pei-x86_64.c ++++ b/bfd/pei-x86_64.c +@@ -541,7 +541,7 @@ pex64_bfd_print_pdata_section (bfd *abfd, void *vfile, asection *pdata_section) + /* virt_size might be zero for objects. */ + if (stop == 0 && strcmp (abfd->xvec->name, "pe-x86-64") == 0) + { +- stop = (datasize / onaline) * onaline; ++ stop = datasize; + virt_size_is_zero = TRUE; + } + else if (datasize < stop) +@@ -551,8 +551,8 @@ pex64_bfd_print_pdata_section (bfd *abfd, void *vfile, asection *pdata_section) + _("Warning: %s section size (%ld) is smaller than virtual size (%ld)\n"), + pdata_section->name, (unsigned long) datasize, + (unsigned long) stop); +- /* Be sure not to read passed datasize. */ +- stop = datasize / onaline; ++ /* Be sure not to read past datasize. */ ++ stop = datasize; + } + + /* Display functions table. */ +@@ -724,8 +724,7 @@ pex64_bfd_print_pdata_section (bfd *abfd, void *vfile, asection *pdata_section) + altent += imagebase; + + if (altent >= pdata_vma +- && (altent + PDATA_ROW_SIZE <= pdata_vma +- + pei_section_data (abfd, pdata_section)->virt_size)) ++ && altent - pdata_vma + PDATA_ROW_SIZE <= stop) + { + pex64_get_runtime_function + (abfd, &arf, &pdata[altent - pdata_vma]); +-- +2.7.4 + diff --git a/poky/meta/recipes-devtools/binutils/binutils/CVE-2019-9075.patch b/poky/meta/recipes-devtools/binutils/binutils/CVE-2019-9075.patch new file mode 100644 index 000000000..bcb1310f1 --- /dev/null +++ b/poky/meta/recipes-devtools/binutils/binutils/CVE-2019-9075.patch @@ -0,0 +1,119 @@ +From 8abac8031ed369a2734b1cdb7df28a39a54b4b49 Mon Sep 17 00:00:00 2001 +From: Alan Modra <amodra@gmail.com> +Date: Wed, 20 Feb 2019 08:21:24 +1030 +Subject: [PATCH] PR24236, Heap buffer overflow in + _bfd_archive_64_bit_slurp_armap + + PR 24236 + * archive64.c (_bfd_archive_64_bit_slurp_armap): Move code adding + sentinel NUL to string buffer nearer to loop where it is used. + Don't go past sentinel when scanning strings, and don't write + NUL again. + * archive.c (do_slurp_coff_armap): Simplify string handling to + archive64.c style. + +Upstream-Status: Backport [https://github.com/bminor/binutils-gdb/commit/8abac8031ed369a2734b1cdb7df28a39a54b4b49] +CVE: CVE-2019-9075 +Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> +--- + bfd/ChangeLog | 10 ++++++++++ + bfd/archive.c | 17 +++++++---------- + bfd/archive64.c | 10 +++++----- + 3 files changed, 22 insertions(+), 15 deletions(-) + +diff --git a/bfd/ChangeLog b/bfd/ChangeLog +index 72c87c7..e39bb12 100644 +--- a/bfd/ChangeLog ++++ b/bfd/ChangeLog +@@ -1,3 +1,13 @@ ++2019-02-20 Alan Modra <amodra@gmail.com> ++ ++ PR 24236 ++ * archive64.c (_bfd_archive_64_bit_slurp_armap): Move code adding ++ sentinel NUL to string buffer nearer to loop where it is used. ++ Don't go past sentinel when scanning strings, and don't write ++ NUL again. ++ * archive.c (do_slurp_coff_armap): Simplify string handling to ++ archive64.c style. ++ + 2019-02-19 Alan Modra <amodra@gmail.com> + + PR 24235 +diff --git a/bfd/archive.c b/bfd/archive.c +index d2d9b72..68a92a3 100644 +--- a/bfd/archive.c ++++ b/bfd/archive.c +@@ -1012,6 +1012,7 @@ do_slurp_coff_armap (bfd *abfd) + int *raw_armap, *rawptr; + struct artdata *ardata = bfd_ardata (abfd); + char *stringbase; ++ char *stringend; + bfd_size_type stringsize; + bfd_size_type parsed_size; + carsym *carsyms; +@@ -1071,22 +1072,18 @@ do_slurp_coff_armap (bfd *abfd) + } + + /* OK, build the carsyms. */ +- for (i = 0; i < nsymz && stringsize > 0; i++) ++ stringend = stringbase + stringsize; ++ *stringend = 0; ++ for (i = 0; i < nsymz; i++) + { +- bfd_size_type len; +- + rawptr = raw_armap + i; + carsyms->file_offset = swap ((bfd_byte *) rawptr); + carsyms->name = stringbase; +- /* PR 17512: file: 4a1d50c1. */ +- len = strnlen (stringbase, stringsize); +- if (len < stringsize) +- len ++; +- stringbase += len; +- stringsize -= len; ++ stringbase += strlen (stringbase); ++ if (stringbase != stringend) ++ ++stringbase; + carsyms++; + } +- *stringbase = 0; + + ardata->symdef_count = nsymz; + ardata->first_file_filepos = bfd_tell (abfd); +diff --git a/bfd/archive64.c b/bfd/archive64.c +index 312bf82..42f6ed9 100644 +--- a/bfd/archive64.c ++++ b/bfd/archive64.c +@@ -100,8 +100,6 @@ _bfd_archive_64_bit_slurp_armap (bfd *abfd) + return FALSE; + carsyms = ardata->symdefs; + stringbase = ((char *) ardata->symdefs) + carsym_size; +- stringbase[stringsize] = 0; +- stringend = stringbase + stringsize; + + raw_armap = (bfd_byte *) bfd_alloc (abfd, ptrsize); + if (raw_armap == NULL) +@@ -115,15 +113,17 @@ _bfd_archive_64_bit_slurp_armap (bfd *abfd) + goto release_raw_armap; + } + ++ stringend = stringbase + stringsize; ++ *stringend = 0; + for (i = 0; i < nsymz; i++) + { + carsyms->file_offset = bfd_getb64 (raw_armap + i * 8); + carsyms->name = stringbase; +- if (stringbase < stringend) +- stringbase += strlen (stringbase) + 1; ++ stringbase += strlen (stringbase); ++ if (stringbase != stringend) ++ ++stringbase; + ++carsyms; + } +- *stringbase = '\0'; + + ardata->symdef_count = nsymz; + ardata->first_file_filepos = bfd_tell (abfd); +-- +2.7.4 + diff --git a/poky/meta/recipes-devtools/binutils/binutils/CVE-2019-9076.patch b/poky/meta/recipes-devtools/binutils/binutils/CVE-2019-9076.patch new file mode 100644 index 000000000..ec8cde250 --- /dev/null +++ b/poky/meta/recipes-devtools/binutils/binutils/CVE-2019-9076.patch @@ -0,0 +1,49 @@ +From 9f841c583880eb6d0194455c1583a766f853e628 Mon Sep 17 00:00:00 2001 +From: Alan Modra <amodra@gmail.com> +Date: Wed, 20 Feb 2019 12:06:31 +1030 +Subject: [PATCH] PR24233, Out of memory + + PR 24233 + * objdump.c (dump_bfd_private_header): Print warning if + bfd_print_private_bfd_data returns false. + +Upstream-Status: Backport [https://github.com/bminor/binutils-gdb/commit/7d272a55caebfc26ab2e15d1e9439bac978b9bb7] +CVE: CVE-2019-9076 +Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> +--- + binutils/ChangeLog | 6 ++++++ + binutils/objdump.c | 4 +++- + 2 files changed, 9 insertions(+), 1 deletion(-) + +diff --git a/binutils/ChangeLog b/binutils/ChangeLog +index f837c37..d5dd7cb 100644 +--- a/binutils/ChangeLog ++++ b/binutils/ChangeLog +@@ -1,3 +1,9 @@ ++2019-02-20 Alan Modra <amodra@gmail.com> ++ ++ PR 24233 ++ * objdump.c (dump_bfd_private_header): Print warning if ++ bfd_print_private_bfd_data returns false. ++ + 2019-02-02 Nick Clifton <nickc@redhat.com> + + * configure: Regenerate. +diff --git a/binutils/objdump.c b/binutils/objdump.c +index 8725390..7d0c6a4 100644 +--- a/binutils/objdump.c ++++ b/binutils/objdump.c +@@ -3178,7 +3178,9 @@ dump_bfd_header (bfd *abfd) + static void + dump_bfd_private_header (bfd *abfd) + { +- bfd_print_private_bfd_data (abfd, stdout); ++ if (!bfd_print_private_bfd_data (abfd, stdout)) ++ non_fatal (_("warning: private headers incomplete: %s"), ++ bfd_errmsg (bfd_get_error ())); + } + + static void +-- +2.7.4 + diff --git a/poky/meta/recipes-devtools/binutils/binutils/CVE-2019-9077.patch b/poky/meta/recipes-devtools/binutils/binutils/CVE-2019-9077.patch new file mode 100644 index 000000000..11ecb71b2 --- /dev/null +++ b/poky/meta/recipes-devtools/binutils/binutils/CVE-2019-9077.patch @@ -0,0 +1,37 @@ +From f7bbc8890de45df6eda0ddef5dd04f835f54eecf Mon Sep 17 00:00:00 2001 +From: Nick Clifton <nickc@redhat.com> +Date: Wed, 20 Feb 2019 17:03:47 +0000 +Subject: [PATCH] Fix a illegal memory access fault when parsing a corrupt MIPS + option section using readelf. + + PR 24243 + * readelf.c (process_mips_specific): Check for an options section + that is too small to even contain a single option. + +Upstream-Status: Backport [https://github.com/bminor/binutils-gdb/commit/7fc0c668f2aceb8582d74db1ad2528e2bba8a921] +CVE: CVE-2019-9077 +Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> +--- + binutils/readelf.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/binutils/readelf.c b/binutils/readelf.c +index 9df3742..18ab806 100644 +--- a/binutils/readelf.c ++++ b/binutils/readelf.c +@@ -16179,6 +16179,12 @@ process_mips_specific (Filedata * filedata) + error (_("No MIPS_OPTIONS header found\n")); + return FALSE; + } ++ /* PR 24243 */ ++ if (sect->sh_size < sizeof (* eopt)) ++ { ++ error (_("The MIPS options section is too small.\n")); ++ return FALSE; ++ } + + eopt = (Elf_External_Options *) get_data (NULL, filedata, options_offset, 1, + sect->sh_size, _("options")); +-- +2.7.4 + diff --git a/poky/meta/recipes-devtools/bison/bison/0001-Unset-need_charset_alias-when-building-for-musl.patch b/poky/meta/recipes-devtools/bison/bison/0001-Unset-need_charset_alias-when-building-for-musl.patch deleted file mode 100644 index ba1a4bab4..000000000 --- a/poky/meta/recipes-devtools/bison/bison/0001-Unset-need_charset_alias-when-building-for-musl.patch +++ /dev/null @@ -1,33 +0,0 @@ -From b9565dc2fe0c4f7daaec91b7e83bc7313dee2f4a Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Mon, 13 Apr 2015 17:02:13 -0700 -Subject: [PATCH] Unset need_charset_alias when building for musl - -localcharset uses ac_cv_gnu_library_2_1 from glibc21.m4 -which actually shoudl be fixed in gnulib and then all downstream -projects will get it eventually. For now we apply the fix to -coreutils - -Upstream-Status: Pending - -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - lib/gnulib.mk | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/lib/gnulib.mk b/lib/gnulib.mk -index e1d74db..c0e92dd 100644 ---- a/lib/gnulib.mk -+++ b/lib/gnulib.mk -@@ -1882,7 +1882,7 @@ install-exec-localcharset: all-local - case '$(host_os)' in \ - darwin[56]*) \ - need_charset_alias=true ;; \ -- darwin* | cygwin* | mingw* | pw32* | cegcc*) \ -+ darwin* | cygwin* | mingw* | pw32* | cegcc* | linux-musl*) \ - need_charset_alias=false ;; \ - *) \ - need_charset_alias=true ;; \ --- -2.1.4 - diff --git a/poky/meta/recipes-devtools/bison/bison/0001-src-local.mk-fix-parallel-issue.patch b/poky/meta/recipes-devtools/bison/bison/0001-src-local.mk-fix-parallel-issue.patch deleted file mode 100644 index 1e86f5522..000000000 --- a/poky/meta/recipes-devtools/bison/bison/0001-src-local.mk-fix-parallel-issue.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 5b9204eee4b06b48d54ecc3ef3a0b56fc5cc84f8 Mon Sep 17 00:00:00 2001 -From: Robert Yang <liezhi.yang@windriver.com> -Date: Fri, 24 Apr 2015 00:38:32 -0700 -Subject: [PATCH] src/local.mk: fix parallel issue - -Fixed: -rm -f src/yacc src/yacc.tmp -echo '#! /bin/sh' >src/yacc.tmp -/bin/bash: src/yacc.tmp: No such file or directory -Makefile:6670: recipe for target 'src/yacc' failed - -Upstream-Status: Submitted [ http://lists.gnu.org/archive/html/bison-patches/2017-07/msg00000.html ] - -Signed-off-by: Robert Yang <liezhi.yang@windriver.com> -Signed-off-by: Dengke Du <dengke.du@windriver.com> ---- - src/local.mk | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/local.mk b/src/local.mk -index 573ad00..28bfae4 100644 ---- a/src/local.mk -+++ b/src/local.mk -@@ -119,6 +119,7 @@ MOSTLYCLEANFILES += src/yacc - - src/yacc: - $(AM_V_GEN)rm -f $@ $@.tmp -+ $(AM_V_at)$(MKDIR_P) src - $(AM_V_at)echo '#! /bin/sh' >$@.tmp - $(AM_V_at)echo "exec '$(bindir)/bison' -y "'"$$@"' >>$@.tmp - $(AM_V_at)chmod a+x $@.tmp --- -2.8.1 - diff --git a/poky/meta/recipes-devtools/bison/bison/gnulib.patch b/poky/meta/recipes-devtools/bison/bison/gnulib.patch deleted file mode 100644 index 7eaf0ce0f..000000000 --- a/poky/meta/recipes-devtools/bison/bison/gnulib.patch +++ /dev/null @@ -1,21 +0,0 @@ -Fix gnulib issues found with glibc 2.28 libio.h removal - -see -https://lists.gnu.org/r/bug-gnulib/2018-03/msg00000.html - -Upstream-Status: Pending -Signed-off-by: Khem Raj <raj.khem@gmail.com> - -Index: bison-3.0.4/lib/fseterr.c -=================================================================== ---- bison-3.0.4.orig/lib/fseterr.c -+++ bison-3.0.4/lib/fseterr.c -@@ -29,7 +29,7 @@ fseterr (FILE *fp) - /* Most systems provide FILE as a struct and the necessary bitmask in - <stdio.h>, because they need it for implementing getc() and putc() as - fast macros. */ --#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ -+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ - fp->_flags |= _IO_ERR_SEEN; - #elif defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin */ - fp_->_flags |= __SERR; diff --git a/poky/meta/recipes-devtools/bison/bison_3.0.4.bb b/poky/meta/recipes-devtools/bison/bison_3.1.bb index f1b05da41..a743bfdb8 100644 --- a/poky/meta/recipes-devtools/bison/bison_3.0.4.bb +++ b/poky/meta/recipes-devtools/bison/bison_3.1.bb @@ -10,18 +10,15 @@ SECTION = "devel" DEPENDS = "bison-native flex-native" SRC_URI = "${GNU_MIRROR}/bison/bison-${PV}.tar.xz \ - file://0001-Unset-need_charset_alias-when-building-for-musl.patch \ file://dont-depend-on-help2man.patch.patch \ - file://0001-src-local.mk-fix-parallel-issue.patch \ file://add-with-bisonlocaledir.patch \ - file://gnulib.patch \ " # No point in hardcoding path to m4, just use PATH EXTRA_OECONF += "M4=m4" -SRC_URI[md5sum] = "c342201de104cc9ce0a21e0ad10d4021" -SRC_URI[sha256sum] = "a72428c7917bdf9fa93cb8181c971b6e22834125848cf1d03ce10b1bb0716fe1" +SRC_URI[md5sum] = "db7e431785ad96870bfa570a15cab079" +SRC_URI[sha256sum] = "7c2464ad6cb7b513b2c350a092d919327e1f63d12ff024836acbb504475da5c6" inherit autotools gettext texinfo diff --git a/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_4.20.1.bb b/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_4.20.2.bb index 3647232dc..a1e730966 100644 --- a/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_4.20.1.bb +++ b/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_4.20.2.bb @@ -14,7 +14,7 @@ DEPENDS = "util-linux attr e2fsprogs lzo acl python3-setuptools-native" DEPENDS_append_class-target = " udev" RDEPENDS_${PN} = "libgcc" -SRCREV = "6c33832b8c7bf2d7b64d6aed023c0bda43a03311" +SRCREV = "5c748404b97035463c79ba4e5fd41b6858535509" SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/kdave/btrfs-progs.git \ file://0001-Add-LDFLAGS-when-building-libbtrfsutil.so.patch \ file://0001-Add-a-possibility-to-specify-where-python-modules-ar.patch \ diff --git a/poky/meta/recipes-devtools/ccache/ccache.inc b/poky/meta/recipes-devtools/ccache/ccache.inc index 7f800659a..a31acada5 100644 --- a/poky/meta/recipes-devtools/ccache/ccache.inc +++ b/poky/meta/recipes-devtools/ccache/ccache.inc @@ -9,7 +9,7 @@ LICENSE = "GPLv3+" DEPENDS = "zlib" -SRC_URI = "https://download.samba.org/pub/${BPN}/${BP}.tar.gz" +SRC_URI = "https://github.com/ccache/ccache/releases/download/v${PV}/${BP}.tar.gz" inherit autotools diff --git a/poky/meta/recipes-devtools/ccache/ccache_3.6.bb b/poky/meta/recipes-devtools/ccache/ccache_3.6.bb deleted file mode 100644 index 60807be0a..000000000 --- a/poky/meta/recipes-devtools/ccache/ccache_3.6.bb +++ /dev/null @@ -1,12 +0,0 @@ -require ccache.inc - -LICENSE = "GPLv3+" -LIC_FILES_CHKSUM = "file://LICENSE.adoc;md5=70762511f9c509cc2a4e4ba2ef687ae3" - -SRC_URI[md5sum] = "bd6fd69db28426baf22ec0acdd5c4b2a" -SRC_URI[sha256sum] = "a3f2b91a2353b65a863c5901251efe48060ecdebec46b5eaec8ea8e092b9e871" - -SRC_URI += " \ - file://0002-dev.mk.in-fix-file-name-too-long.patch \ - file://0003-Fix-Segmentation-fault-error-when-gcc-o-dev-null.patch \ -" diff --git a/poky/meta/recipes-devtools/ccache/ccache_3.7.1.bb b/poky/meta/recipes-devtools/ccache/ccache_3.7.1.bb new file mode 100644 index 000000000..1db7094b7 --- /dev/null +++ b/poky/meta/recipes-devtools/ccache/ccache_3.7.1.bb @@ -0,0 +1,7 @@ +require ccache.inc + +LICENSE = "GPLv3+" +LIC_FILES_CHKSUM = "file://LICENSE.adoc;md5=0094c59039cec66b8a4c905204333514" + +SRC_URI[md5sum] = "74339465ab87e0b406985ed69515f19b" +SRC_URI[sha256sum] = "e562fcdbe766406b6fe4bf97ce5c001d2be8a17465f33bcddefc9499bbb057d8" diff --git a/poky/meta/recipes-devtools/ccache/files/0002-dev.mk.in-fix-file-name-too-long.patch b/poky/meta/recipes-devtools/ccache/files/0002-dev.mk.in-fix-file-name-too-long.patch deleted file mode 100644 index 16a6e9d80..000000000 --- a/poky/meta/recipes-devtools/ccache/files/0002-dev.mk.in-fix-file-name-too-long.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 7dab2995ed8eeccd7b0acd79668bc28f3a2427d5 Mon Sep 17 00:00:00 2001 -From: Robert Yang <liezhi.yang@windriver.com> -Date: Wed, 16 Sep 2015 19:45:40 -0700 -Subject: [PATCH] dev.mk.in: fix file name too long error - -The all_cppflags changes path to filename which causes file name too long -error when the path is longer than NAME_MAX (usually 255). Strip srcdir -to fix the problem. - -Upstream-Status: Backport [https://github.com/ccache/ccache/commit/4d86e884d07ba1853a0c70507cc4d04107f57c29] - -Signed-off-by: Robert Yang <liezhi.yang@windriver.com> - ---- - dev.mk.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/dev.mk.in b/dev.mk.in -index 91b0a57..583ade0 100644 ---- a/dev.mk.in -+++ b/dev.mk.in -@@ -1,7 +1,7 @@ - # GNU make syntax reigns in this file. - - all_cflags += -Werror @more_warnings@ --all_cppflags += -MD -MP -MF .deps/$(subst .._,,$(subst /,_,$<)).d -+all_cppflags += -MD -MP -MF .deps/$(subst .._,,$(subst /,_,$(subst $(srcdir)/,,$<))).d - - A2X = a2x - ASCIIDOC = asciidoc diff --git a/poky/meta/recipes-devtools/ccache/files/0003-Fix-Segmentation-fault-error-when-gcc-o-dev-null.patch b/poky/meta/recipes-devtools/ccache/files/0003-Fix-Segmentation-fault-error-when-gcc-o-dev-null.patch deleted file mode 100644 index b3012b7e8..000000000 --- a/poky/meta/recipes-devtools/ccache/files/0003-Fix-Segmentation-fault-error-when-gcc-o-dev-null.patch +++ /dev/null @@ -1,79 +0,0 @@ -From c51b63758e95247e3c1e2f06e5f5bfb49849e66d Mon Sep 17 00:00:00 2001 -From: Robert Yang <liezhi.yang@windriver.com> -Date: Tue, 22 Jan 2019 16:30:52 +0800 -Subject: [PATCH] Fix Segmentation fault error when gcc -o /dev/null - -Fixed: -$ export CCACHE_DEBUG=1 -$ ccache gcc -c hello.c -o /dev/null - -Segmentation fault (core dumped) - -This is because failed to open /dev/null.foo (Permission denied), check file -stream before write to it can fix the problem. - -Upstream-Status: Backport [https://github.com/ccache/ccache/commit/4d86e884d07ba1853a0c70507cc4d04107f57c29] - -Signed-off-by: Robert Yang <liezhi.yang@windriver.com> ---- - src/ccache.c | 15 ++++++++++++--- - src/util.c | 8 ++++++-- - 2 files changed, 18 insertions(+), 5 deletions(-) - -diff --git a/src/ccache.c b/src/ccache.c -index b4cdb86..8c227df 100644 ---- a/src/ccache.c -+++ b/src/ccache.c -@@ -521,9 +521,13 @@ init_hash_debug(struct hash *hash, const char *obj_path, char type, - - char *path = format("%s.ccache-input-%c", obj_path, type); - FILE *debug_binary_file = fopen(path, "wb"); -- hash_enable_debug(hash, section_name, debug_binary_file, debug_text_file); -+ if (debug_binary_file) { -+ hash_enable_debug(hash, section_name, debug_binary_file, debug_text_file); -+ exitfn_add(fclose_exitfn, debug_binary_file); -+ } else { -+ cc_log("Failed to open %s: %s", path, strerror(errno)); -+ } - free(path); -- exitfn_add(fclose_exitfn, debug_binary_file); - } - - static enum guessed_compiler -@@ -3670,8 +3674,13 @@ ccache(int argc, char *argv[]) - if (conf->debug) { - char *path = format("%s.ccache-input-text", output_obj); - debug_text_file = fopen(path, "w"); -+ if (debug_text_file) { -+ exitfn_add(fclose_exitfn, debug_text_file); -+ } -+ else { -+ cc_log("Failed to open %s: %s", path, strerror(errno)); -+ } - free(path); -- exitfn_add(fclose_exitfn, debug_text_file); - } - - struct hash *common_hash = hash_init(); -diff --git a/src/util.c b/src/util.c -index e442cc4..a49fb4c 100644 ---- a/src/util.c -+++ b/src/util.c -@@ -219,8 +219,12 @@ void - cc_dump_log_buffer(const char *path) - { - FILE *file = fopen(path, "w"); -- (void) fwrite(logbuffer, 1, logsize, file); -- fclose(file); -+ if (file) { -+ (void) fwrite(logbuffer, 1, logsize, file); -+ fclose(file); -+ } else { -+ cc_log("Failed to open %s: %s", path, strerror(errno)); -+ } - } - - // Something went badly wrong! --- -2.7.4 - diff --git a/poky/meta/recipes-devtools/cmake/cmake-native_3.14.1.bb b/poky/meta/recipes-devtools/cmake/cmake-native_3.14.1.bb index fedcf3d4b..b2952ee5f 100644 --- a/poky/meta/recipes-devtools/cmake/cmake-native_3.14.1.bb +++ b/poky/meta/recipes-devtools/cmake/cmake-native_3.14.1.bb @@ -1,7 +1,7 @@ require cmake.inc inherit native -DEPENDS += "bzip2-replacement-native expat-native xz-native zlib-native curl-native" +DEPENDS += "bzip2-replacement-native expat-native xz-native zlib-native curl-native ncurses-native" SRC_URI += "file://OEToolchainConfig.cmake \ file://environment.d-cmake.sh \ @@ -13,10 +13,9 @@ SRC_URI += "file://OEToolchainConfig.cmake \ B = "${WORKDIR}/build" do_configure[cleandirs] = "${B}" -# Disable ccmake since we don't depend on ncurses CMAKE_EXTRACONF = "\ -DCMAKE_LIBRARY_PATH=${STAGING_LIBDIR_NATIVE} \ - -DBUILD_CursesDialog=0 \ + -DBUILD_CursesDialog=1 \ -DCMAKE_USE_SYSTEM_LIBRARIES=1 \ -DCMAKE_USE_SYSTEM_LIBRARY_JSONCPP=0 \ -DCMAKE_USE_SYSTEM_LIBRARY_LIBARCHIVE=0 \ diff --git a/poky/meta/recipes-devtools/createrepo-c/createrepo-c_git.bb b/poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.12.2.bb index 9aa8d2ae7..c70523dca 100644 --- a/poky/meta/recipes-devtools/createrepo-c/createrepo-c_git.bb +++ b/poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.12.2.bb @@ -8,8 +8,7 @@ SRC_URI = "git://github.com/rpm-software-management/createrepo_c \ file://0001-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch \ " -PV = "0.12.1" -SRCREV = "7744554ddef7c5be2cd7fbcac49c8b24ce60ef88" +SRCREV = "5b4c06f6af24633f667da37455281f24a4abd461" S = "${WORKDIR}/git" diff --git a/poky/meta/recipes-devtools/dnf/dnf_4.1.0.bb b/poky/meta/recipes-devtools/dnf/dnf_4.2.2.bb index d45023eb0..c77773332 100644 --- a/poky/meta/recipes-devtools/dnf/dnf_4.1.0.bb +++ b/poky/meta/recipes-devtools/dnf/dnf_4.2.2.bb @@ -12,7 +12,7 @@ SRC_URI = "git://github.com/rpm-software-management/dnf.git \ file://0030-Run-python-scripts-using-env.patch \ " -SRCREV = "ad9b2175517c896c898cf9c8660e9b9b688ac5c7" +SRCREV = "9947306a55271b8b7c9e2b6e3b7d582885b6045d" UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)" S = "${WORKDIR}/git" @@ -26,7 +26,7 @@ EXTRA_OECMAKE = " -DWITH_MAN=0 -DPYTHON_INSTALL_DIR=${PYTHON_SITEPACKAGES_DIR} - BBCLASSEXTEND = "native nativesdk" -RDEPENDS_${PN}_class-target += " \ +RDEPENDS_${PN} += " \ python3-core \ python3-codecs \ python3-netclient \ @@ -49,6 +49,8 @@ RDEPENDS_${PN}_class-target += " \ python3-gpg \ " +RDEPENDS_${PN}_class-native = "" + RRECOMMENDS_${PN}_class-target += "gnupg" # Create a symlink called 'dnf' as 'make install' does not do it, but @@ -66,6 +68,12 @@ do_install_append_class-native() { RPM_NO_CHROOT_FOR_SCRIPTS=1 } +do_install_append_class-nativesdk() { + create_wrapper ${D}/${bindir}/dnf \ + RPM_CONFIGDIR=${SDKPATHNATIVE}${libdir_nativesdk}/rpm \ + RPM_NO_CHROOT_FOR_SCRIPTS=1 +} + SYSTEMD_SERVICE_${PN} = "dnf-makecache.service dnf-makecache.timer \ dnf-automatic.service dnf-automatic.timer \ dnf-automatic-download.service dnf-automatic-download.timer \ diff --git a/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/run-ptest b/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/run-ptest index ef10b08bc..c97c0377e 100644 --- a/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/run-ptest +++ b/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/run-ptest @@ -1,7 +1,7 @@ #!/bin/sh cd ./test -./test_script | sed -u -e '/:[[:space:]]ok/s/^/PASS: /' -e '/:[[:space:]]failed/s/^/FAIL: /' -e '/:[[:space:]]skipped/s/^/SKIP: /' +SKIP_SLOW_TESTS=yes ./test_script | sed -u -e '/:[[:space:]]ok/s/^/PASS: /' -e '/:[[:space:]]failed/s/^/FAIL: /' -e '/:[[:space:]]skipped/s/^/SKIP: /' rm -rf /var/volatile/tmp/*e2fsprogs* rm -f tmp-* rm -f *.tmp diff --git a/poky/meta/recipes-devtools/elfutils/elfutils_0.176.bb b/poky/meta/recipes-devtools/elfutils/elfutils_0.176.bb index fd901c9c9..157551e6a 100644 --- a/poky/meta/recipes-devtools/elfutils/elfutils_0.176.bb +++ b/poky/meta/recipes-devtools/elfutils/elfutils_0.176.bb @@ -1,7 +1,7 @@ SUMMARY = "Utilities and libraries for handling compiled object files" HOMEPAGE = "https://sourceware.org/elfutils" SECTION = "base" -LICENSE = "(GPLv3 & Elfutils-Exception)" +LICENSE = "GPLv2 & LGPLv3+ & GPLv3+" LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" DEPENDS = "libtool bzip2 zlib virtual/libintl" DEPENDS_append_libc-musl = " argp-standalone fts " @@ -27,16 +27,26 @@ SRC_URI = "https://sourceware.org/elfutils/ftp/${PV}/${BP}.tar.bz2 \ file://debian/hurd_path.patch \ file://debian/ignore_strmerge.diff \ file://debian/disable_werror.patch \ + file://debian/testsuite-ignore-elflint.diff \ + file://0001-skip-the-test-when-gcc-not-deployed.patch \ + file://run-ptest \ + file://ptest.patch \ + file://musl.patch \ " -SRC_URI_append_libc-musl = " file://0008-build-Provide-alternatives-for-glibc-assumptions-hel.patch" +SRC_URI_append_libc-musl = " file://0008-build-Provide-alternatives-for-glibc-assumptions-hel.patch \ + file://0001-fix-err-variable-and-function-conflicts.patch \ +" SRC_URI[md5sum] = "077e4f49320cad82bf17a997068b1db9" SRC_URI[sha256sum] = "eb5747c371b0af0f71e86215a5ebb88728533c3a104a43d4231963f308cd1023" -inherit autotools gettext +inherit autotools gettext ptest EXTRA_OECONF = "--program-prefix=eu- --without-lzma" EXTRA_OECONF_append_class-native = " --without-bzlib" +RDEPENDS_${PN}-ptest = "libasm libelf bash make coreutils ${PN}-binutils ${PN}" + +EXTRA_OECONF_append_class-target += "--disable-tests-rpath" do_install_append() { if [ "${TARGET_ARCH}" != "x86_64" ] && [ -z `echo "${TARGET_ARCH}"|grep 'i.86'` ];then @@ -44,6 +54,22 @@ do_install_append() { fi } +do_compile_ptest() { + cd ${B}/tests + oe_runmake buildtest-TESTS oecheck +} + +do_install_ptest() { + if [ ${PTEST_ENABLED} = "1" ]; then + cp -r ${S}/tests/ ${D}${PTEST_PATH} + cp -r ${B}/tests/* ${D}${PTEST_PATH}/tests + cp -r ${B}/config.h ${D}${PTEST_PATH} + cp -r ${B}/backends ${D}${PTEST_PATH} + sed -i '/^Makefile:/c Makefile:' ${D}${PTEST_PATH}/tests/Makefile + find ${D}${PTEST_PATH} -type f -name *.[hoc] | xargs -i rm {} + fi +} + EXTRA_OEMAKE_class-native = "" EXTRA_OEMAKE_class-nativesdk = "" @@ -53,6 +79,18 @@ BBCLASSEXTEND = "native nativesdk" # Package utilities separately PACKAGES =+ "${PN}-binutils libelf libasm libdw" + +# shared libraries are licensed GPLv2 or GPLv3+, binaries GPLv3+ +# according to NEWS file: +# "The license is now GPLv2/LGPLv3+ for the libraries and GPLv3+ for stand-alone +# programs. There is now also a formal CONTRIBUTING document describing how to +# submit patches." +LICENSE_${PN}-binutils = "GPLv3+" +LICENSE_${PN} = "GPLv3+" +LICENSE_libelf = "GPLv2 | LGPLv3+" +LICENSE_libasm = "GPLv2 | LGPLv3+" +LICENSE_libdw = "GPLv2 | LGPLv3+" + FILES_${PN}-binutils = "\ ${bindir}/eu-addr2line \ ${bindir}/eu-ld \ diff --git a/poky/meta/recipes-devtools/elfutils/files/0001-fix-err-variable-and-function-conflicts.patch b/poky/meta/recipes-devtools/elfutils/files/0001-fix-err-variable-and-function-conflicts.patch new file mode 100644 index 000000000..433db133b --- /dev/null +++ b/poky/meta/recipes-devtools/elfutils/files/0001-fix-err-variable-and-function-conflicts.patch @@ -0,0 +1,91 @@ +From 2c50fe7068bd6911958c6d851aef88179e73bb21 Mon Sep 17 00:00:00 2001 +From: Mingli Yu <Mingli.Yu@windriver.com> +Date: Tue, 16 Apr 2019 15:30:38 +0800 +Subject: [PATCH] fix err variable and function conflicts + +There comes below build failure with musl when +ptest enabled. +| In file included from ../../elfutils-0.176/tests/dwfl-proc-attach.c:33: +| ../../elfutils-0.176/lib/system.h:63:35: error: called object 'err' is not a function or function pointer +| #define error(status, errno, ...) err(status, __VA_ARGS__) +| ^~~ +| ../../elfutils-0.176/tests/dwfl-proc-attach.c:92:5: note: in expansion of macro 'error' +| error (-1, 0, "dwfl_linux_proc_attach pid %d: %s", pid, +| ^~~~~ +| ../../elfutils-0.176/tests/dwfl-proc-attach.c:79:7: note: declared here +| int err; +| ^~~ + +It is because there is no error.h in musl and +the patch 0008-build-Provide-alternatives-for-glibc-assumptions-hel.patch +has updated to use err.h to replace error.h +and also added macro definiton as below when +use musl. + #define error(status, errno, ...) err(status, __VA_ARGS__) + +And in err.h, there is below logic: +_Noreturn void err(int, const char *, ...); + +But when ptest enabled, there comes below error +as there is both variable and function defined +to be err in tests/dwfl-proc-attach.c. +So change the err variable's name to workaround +the build failure with musl. + +Upstream-Status: Inappropriate [workaround in musl] + +Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com> +--- + tests/dwfl-proc-attach.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +Index: elfutils-0.176/tests/dwfl-proc-attach.c +=================================================================== +--- elfutils-0.176.orig/tests/dwfl-proc-attach.c ++++ elfutils-0.176/tests/dwfl-proc-attach.c +@@ -76,10 +76,10 @@ main (int argc __attribute__ ((unused)), + char **argv __attribute__ ((unused))) + { + /* Create two extra threads to iterate through. */ +- int err; +- if ((err = pthread_create (&thread1, NULL, sleeper, NULL)) != 0) ++ int err1; ++ if ((err1 = pthread_create (&thread1, NULL, sleeper, NULL)) != 0) + error (-1, err, "Couldn't create thread1"); +- if ((err = pthread_create (&thread2, NULL, sleeper, NULL)) != 0) ++ if ((err1 = pthread_create (&thread2, NULL, sleeper, NULL)) != 0) + error (-1, err, "Couldn't create thread2"); + + Dwfl *dwfl = dwfl_begin (&proc_callbacks); +Index: elfutils-0.176/tests/backtrace.c +=================================================================== +--- elfutils-0.176.orig/tests/backtrace.c ++++ elfutils-0.176/tests/backtrace.c +@@ -219,23 +219,23 @@ dump (Dwfl *dwfl) + { + ptrdiff_t ptrdiff = dwfl_getmodules (dwfl, dump_modules, NULL, 0); + assert (ptrdiff == 0); +- bool err = false; ++ bool err1 = false; + switch (dwfl_getthreads (dwfl, thread_callback, NULL)) + { + case 0: + break; + case DWARF_CB_ABORT: +- err = true; ++ err1 = true; + break; + case -1: + error (0, 0, "dwfl_getthreads: %s", dwfl_errmsg (-1)); +- err = true; ++ err1 = true; + break; + default: + abort (); + } + callback_verify (0, 0, 0, NULL, dwfl); +- if (err) ++ if (err1) + exit (EXIT_FAILURE); + } + diff --git a/poky/meta/recipes-devtools/elfutils/files/0001-skip-the-test-when-gcc-not-deployed.patch b/poky/meta/recipes-devtools/elfutils/files/0001-skip-the-test-when-gcc-not-deployed.patch new file mode 100644 index 000000000..67ca0e4c7 --- /dev/null +++ b/poky/meta/recipes-devtools/elfutils/files/0001-skip-the-test-when-gcc-not-deployed.patch @@ -0,0 +1,45 @@ +From 61939d2e552e7645ecd671fa01cf1c7a72caa82a Mon Sep 17 00:00:00 2001 +From: Mingli Yu <Mingli.Yu@windriver.com> +Date: Fri, 12 Apr 2019 16:29:58 +0800 +Subject: [PATCH] skip the test when gcc not deployed + +Skip the tests which depend on gcc when +gcc not deployed. + +Upstream-Status: Inappropriate [oe specific] + +Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com> +--- + tests/run-strip-g.sh | 2 ++ + tests/run-strip-nothing.sh | 2 ++ + 2 files changed, 4 insertions(+) + +diff --git a/tests/run-strip-g.sh b/tests/run-strip-g.sh +index 1303819..a943dec 100755 +--- a/tests/run-strip-g.sh ++++ b/tests/run-strip-g.sh +@@ -24,6 +24,8 @@ + + tempfiles a.out strip.out debug.out readelf.out + ++# skip the test if gcc deployed ++which gcc || exit 77 + echo Create debug a.out. + echo "int main() { return 1; }" | gcc -g -xc - + +diff --git a/tests/run-strip-nothing.sh b/tests/run-strip-nothing.sh +index 914fdfb..d03f734 100755 +--- a/tests/run-strip-nothing.sh ++++ b/tests/run-strip-nothing.sh +@@ -22,6 +22,8 @@ + + tempfiles a.out strip.out debug.out + ++# skip the case if no gcc deployed ++which gcc || exit 77 + # Create no-debug a.out. + echo "int main() { return 1; }" | gcc -s -xc - + +-- +2.7.4 + diff --git a/poky/meta/recipes-devtools/elfutils/files/0008-build-Provide-alternatives-for-glibc-assumptions-hel.patch b/poky/meta/recipes-devtools/elfutils/files/0008-build-Provide-alternatives-for-glibc-assumptions-hel.patch index a4f301d9d..10cdac646 100644 --- a/poky/meta/recipes-devtools/elfutils/files/0008-build-Provide-alternatives-for-glibc-assumptions-hel.patch +++ b/poky/meta/recipes-devtools/elfutils/files/0008-build-Provide-alternatives-for-glibc-assumptions-hel.patch @@ -64,18 +64,10 @@ index 292082b..308a762 100644 #include <stddef.h> #include <stdint.h> #include <sys/param.h> -@@ -51,6 +51,16 @@ +@@ -51,6 +51,8 @@ #else # error "Unknown byte order" #endif -+#ifndef TEMP_FAILURE_RETRY -+#define TEMP_FAILURE_RETRY(expression) \ -+ (__extension__ \ -+ ({ long int __result; \ -+ do __result = (long int) (expression); \ -+ while (__result == -1L && errno == EINTR); \ -+ __result; })) -+#endif + +#define error(status, errno, ...) err(status, __VA_ARGS__) @@ -141,26 +133,6 @@ index 56e6105..f4a0649 100644 #include "../libdw/libdwP.h" /* DWARF_E_* values are here. */ #include "../libelf/libelfP.h" #include "system.h" -diff --git a/libdwfl/libdwfl_crc32_file.c b/libdwfl/libdwfl_crc32_file.c -index f849128..6f0aca1 100644 ---- a/libdwfl/libdwfl_crc32_file.c -+++ b/libdwfl/libdwfl_crc32_file.c -@@ -29,6 +29,15 @@ - # include <config.h> - #endif - -+#ifndef TEMP_FAILURE_RETRY -+#define TEMP_FAILURE_RETRY(expression) \ -+ (__extension__ \ -+ ({ long int __result; \ -+ do __result = (long int) (expression); \ -+ while (__result == -1L && errno == EINTR); \ -+ __result; })) -+#endif -+ - #define crc32_file attribute_hidden __libdwfl_crc32_file - #define crc32 __libdwfl_crc32 - #include <libdwflP.h> diff --git a/libdwfl/linux-kernel-modules.c b/libdwfl/linux-kernel-modules.c index 360e4ee..b5aa397 100644 --- a/libdwfl/linux-kernel-modules.c diff --git a/poky/meta/recipes-devtools/elfutils/files/debian/testsuite-ignore-elflint.diff b/poky/meta/recipes-devtools/elfutils/files/debian/testsuite-ignore-elflint.diff new file mode 100644 index 000000000..c4ce20c8a --- /dev/null +++ b/poky/meta/recipes-devtools/elfutils/files/debian/testsuite-ignore-elflint.diff @@ -0,0 +1,52 @@ +From 03a343c6b1b72598fce654b8a638f106da44abfb Mon Sep 17 00:00:00 2001 +From: OpenEmbedded <oe.patch@oe> +Date: Fri, 12 Apr 2019 08:05:50 +0000 +Subject: [PATCH] On many architectures this test fails because binaries/libs + produced by binutils don't pass elflint. However elfutils shouldn't FTBFS + because of this. + +So we run the tests on all archs to see what breaks, but if it breaks we ignore +the result (exitcode 77 means: this test was skipped). + +Upstream-Status: Inappropriate [oe specific] + +Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com> +--- + tests/run-elflint-self.sh | 2 +- + tests/test-subr.sh | 15 +++++++++++++++ + 2 files changed, 16 insertions(+), 1 deletion(-) + +diff --git a/tests/run-elflint-self.sh b/tests/run-elflint-self.sh +index 58fa7d0..85d21a5 100755 +--- a/tests/run-elflint-self.sh ++++ b/tests/run-elflint-self.sh +@@ -18,5 +18,5 @@ + + . $srcdir/test-subr.sh + +-testrun_on_self ${abs_top_builddir}/src/elflint --quiet --gnu-ld ++testrun_on_self_skip ${abs_top_builddir}/src/elflint --quiet --gnu-ld + testrun_on_self_compressed ${abs_top_builddir}/src/elflint --quiet --gnu-ld +diff --git a/tests/test-subr.sh b/tests/test-subr.sh +index 09f428d..26f61f1 100644 +--- a/tests/test-subr.sh ++++ b/tests/test-subr.sh +@@ -201,3 +201,18 @@ testrun_on_self_quiet() + # Only exit if something failed + if test $exit_status != 0; then exit $exit_status; fi + } ++ ++# Same as testrun_on_self(), but skip on failure. ++testrun_on_self_skip() ++{ ++ exit_status=0 ++ ++ for file in $self_test_files; do ++ testrun $* $file \ ++ || { echo "*** failure in $* $file"; exit_status=77; } ++ done ++ ++ # Only exit if something failed ++ if test $exit_status != 0; then exit $exit_status; fi ++} ++ diff --git a/poky/meta/recipes-devtools/elfutils/files/musl.patch b/poky/meta/recipes-devtools/elfutils/files/musl.patch new file mode 100644 index 000000000..be35791b1 --- /dev/null +++ b/poky/meta/recipes-devtools/elfutils/files/musl.patch @@ -0,0 +1,29 @@ +Fix error on musl: + +| ../../elfutils-0.176/tests/elfstrmerge.c: In function 'main': +| ../../elfutils-0.176/tests/elfstrmerge.c:370:60: error: 'ALLPERMS' undeclared (first use in this function); did you mean 'EPERM'? +| fdnew = open (fnew, O_WRONLY | O_CREAT, st.st_mode & ALLPERMS); +| ^~~~~~~~ +| EPERM +| ../../elfutils-0.176/tests/elfstrmerge.c:370:60: note: each undeclared identifier is reported only once for each function it appears in + +Upstream-Status: Inappropriate [workaround in musl] + +Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> + +Index: elfutils-0.176/tests/elfstrmerge.c +=================================================================== +--- elfutils-0.176.orig/tests/elfstrmerge.c ++++ elfutils-0.176/tests/elfstrmerge.c +@@ -33,6 +33,11 @@ + #include ELFUTILS_HEADER(dwelf) + #include "elf-knowledge.h" + ++/* for musl */ ++#ifndef ALLPERMS ++# define ALLPERMS (S_ISUID|S_ISGID|S_ISVTX|S_IRWXU|S_IRWXG|S_IRWXO)/* 07777 */ ++#endif ++ + /* The original ELF file. */ + static int fd = -1; + static Elf *elf = NULL; diff --git a/poky/meta/recipes-devtools/elfutils/files/ptest.patch b/poky/meta/recipes-devtools/elfutils/files/ptest.patch new file mode 100644 index 000000000..35b23f43b --- /dev/null +++ b/poky/meta/recipes-devtools/elfutils/files/ptest.patch @@ -0,0 +1,76 @@ +Changes to allow ptest to run standalone on target: + +a) Run the tests serially +b) Use the standalone test mode which allows the tests to be run in their + 'installled' locations on target (but not any of the standalone build pieces) +c) We want to use the binaries from their installed locations so the run-subr + script needs tweaking to run them like that. The rpath conditional isn't + enough since we want the second entry in the case statement. +d) Add an oecheck make target which we can use to build the test binaries we need + +Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> + +Upstream-Status: Inappropriate [oe specific] + +Index: elfutils-0.176/configure.ac +=================================================================== +--- elfutils-0.176.orig/configure.ac ++++ elfutils-0.176/configure.ac +@@ -45,7 +45,7 @@ AC_COPYRIGHT([Copyright (C) 1996-2018 Th + AC_PREREQ(2.63) dnl Minimum Autoconf version required. + + dnl We use GNU make extensions; automake 1.10 defaults to -Wportability. +-AM_INIT_AUTOMAKE([gnits 1.11 -Wno-portability dist-bzip2 no-dist-gzip parallel-tests]) ++AM_INIT_AUTOMAKE([gnits 1.11 -Wno-portability dist-bzip2 no-dist-gzip serial-tests]) + AM_MAINTAINER_MODE + + AM_SILENT_RULES([yes]) +Index: elfutils-0.176/tests/Makefile.am +=================================================================== +--- elfutils-0.176.orig/tests/Makefile.am ++++ elfutils-0.176/tests/Makefile.am +@@ -445,10 +445,10 @@ installed_TESTS_ENVIRONMENT = libdir=$(D + installed_LOG_COMPILER = $(abs_srcdir)/test-wrapper.sh \ + installed $(tests_rpath) \ + '$(program_transform_name)' +-if STANDALONE ++if !STANDALONE + TESTS_ENVIRONMENT = $(installed_TESTS_ENVIRONMENT) + LOG_COMPILER = $(installed_LOG_COMPILER) +-else !STANDALONE ++else STANDALONE + TESTS_ENVIRONMENT = LC_ALL=C; LANG=C; VALGRIND_CMD=$(valgrind_cmd); \ + abs_srcdir=$(abs_srcdir); abs_builddir=$(abs_builddir); \ + abs_top_builddir=$(abs_top_builddir); \ +@@ -463,7 +463,7 @@ installcheck-local: + $(MAKE) $(AM_MAKEFLAGS) \ + TESTS_ENVIRONMENT="$(installed_TESTS_ENVIRONMENT)" \ + LOG_COMPILER="$(installed_LOG_COMPILER)" check-TESTS +-endif !STANDALONE ++endif STANDALONE + + if STANDALONE + libdw = -ldw +@@ -612,3 +612,5 @@ check: check-am coverage + coverage: + -$(srcdir)/coverage.sh + endif ++oecheck: ++ $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS) +Index: elfutils-0.176/tests/test-subr.sh +=================================================================== +--- elfutils-0.176.orig/tests/test-subr.sh ++++ elfutils-0.176/tests/test-subr.sh +@@ -91,12 +91,6 @@ installed_testrun() + program="$1" + shift + case "$program" in +- ${abs_builddir}/*) +- if [ "x$elfutils_tests_rpath" != xno ]; then +- echo >&2 installcheck not possible with --enable-tests-rpath +- exit 77 +- fi +- ;; + ${abs_top_builddir}/src/*) + program=${bindir}/`program_transform ${program##*/}` + ;; diff --git a/poky/meta/recipes-devtools/elfutils/files/run-ptest b/poky/meta/recipes-devtools/elfutils/files/run-ptest new file mode 100644 index 000000000..81b81f2f5 --- /dev/null +++ b/poky/meta/recipes-devtools/elfutils/files/run-ptest @@ -0,0 +1,6 @@ +#!/bin/sh +# +#This script is used to run elfutils test suites +cd tests + +make -k runtest-TESTS abs_srcdir=$PWD abs_builddir=$PWD srcdir=$PWD top_srcdir=$PWD/../ abs_top_builddir=$PWD/../ elfutils_testrun=installed elfutils_tests_rpath=no program_transform_name=s,^,eu-, diff --git a/poky/meta/recipes-devtools/file/file_5.36.bb b/poky/meta/recipes-devtools/file/file_5.36.bb index 1a81fde25..9a0e5bd22 100644 --- a/poky/meta/recipes-devtools/file/file_5.36.bb +++ b/poky/meta/recipes-devtools/file/file_5.36.bb @@ -27,8 +27,6 @@ ALTERNATIVE_LINK_NAME[file] = "${bindir}/file" EXTRA_OEMAKE_append_class-target = "-e FILE_COMPILE=${STAGING_BINDIR_NATIVE}/file-native/file" EXTRA_OEMAKE_append_class-nativesdk = "-e FILE_COMPILE=${STAGING_BINDIR_NATIVE}/file-native/file" -CFLAGS_append = " -std=c99" - FILES_${PN} += "${datadir}/misc/*.mgc" do_install_append_class-native() { diff --git a/poky/meta/recipes-devtools/flex/flex_2.6.0.bb b/poky/meta/recipes-devtools/flex/flex_2.6.0.bb index b89b7515b..b477cd8c7 100644 --- a/poky/meta/recipes-devtools/flex/flex_2.6.0.bb +++ b/poky/meta/recipes-devtools/flex/flex_2.6.0.bb @@ -48,7 +48,7 @@ PACKAGES =+ "${PN}-libfl" FILES_${PN}-libfl = "${libdir}/libfl.so.* ${libdir}/libfl_pic.so.*" RDEPENDS_${PN} += "m4" -RDEPENDS_${PN}-ptest += "bash gawk" +RDEPENDS_${PN}-ptest += "bash gawk make" do_compile_ptest() { oe_runmake -C ${B}/tests -f ${B}/tests/Makefile top_builddir=${B} INCLUDES=-I${S}/src buildtests diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3.inc b/poky/meta/recipes-devtools/gcc/gcc-8.3.inc index f7bf257fa..fe9c7c360 100644 --- a/poky/meta/recipes-devtools/gcc/gcc-8.3.inc +++ b/poky/meta/recipes-devtools/gcc/gcc-8.3.inc @@ -71,6 +71,7 @@ SRC_URI = "\ file://0038-Re-introduce-spe-commandline-options.patch \ file://0039-riscv-Disable-multilib-for-OE.patch \ file://0040-powerpc-powerpc64-Add-support-for-musl-ldso.patch \ + file://0041-Add-a-recursion-limit-to-libiberty-s-demangling-code.patch \ " SRC_URI[md5sum] = "65b210b4bfe7e060051f799e0f994896" SRC_URI[sha256sum] = "64baadfe6cc0f4947a84cb12d7f0dfaf45bb58b7e92461639596c21e02d97d2c" @@ -82,7 +83,6 @@ B = "${WORKDIR}/gcc-${PV}/build.${HOST_SYS}.${TARGET_SYS}" # Language Overrides FORTRAN = "" -JAVA = "" LTO = "--enable-lto" SSP ?= "--disable-libssp" diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0041-Add-a-recursion-limit-to-libiberty-s-demangling-code.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0041-Add-a-recursion-limit-to-libiberty-s-demangling-code.patch new file mode 100644 index 000000000..f3303b685 --- /dev/null +++ b/poky/meta/recipes-devtools/gcc/gcc-8.3/0041-Add-a-recursion-limit-to-libiberty-s-demangling-code.patch @@ -0,0 +1,325 @@ +From e1744e11b1c2b36f91a8847b61bafb8c5e7407ae Mon Sep 17 00:00:00 2001 +From: nickc <nickc@138bc75d-0d04-0410-961f-82ee72b054a4> +Date: Fri, 7 Dec 2018 10:33:30 +0000 +Subject: [PATCH] Add a recursion limit to libiberty's demangling code. The + limit is enabled by default, but can be disabled via a new demangling option. + +include * demangle.h (DMGL_NO_RECURSE_LIMIT): Define. + (DEMANGLE_RECURSION_LIMIT): Define + + PR 87681 + PR 87675 + PR 87636 + PR 87350 + PR 87335 +libiberty * cp-demangle.h (struct d_info): Add recursion_level field. + * cp-demangle.c (d_function_type): Add recursion counter. + If the recursion limit is reached and the check is not disabled, + then return with a failure result. + (cplus_demangle_init_info): Initialise the recursion_level field. + (d_demangle_callback): If the recursion limit is enabled, check + for a mangled string that is so long that there is not enough + stack space for the local arrays. + * cplus-dem.c (struct work): Add recursion_level field. + (squangle_mop_up): Set the numb and numk fields to zero. + (work_stuff_copy_to_from): Handle the case where a btypevec or + ktypevec field is NULL. + (demangle_nested_args): Add recursion counter. If + the recursion limit is not disabled and reached, return with a + failure result. + +git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@266886 138bc75d-0d04-0410-961f-82ee72b054a4 + +CVE: CVE-2018-18484 +Upstream-Status: Backport [https://github.com/gcc-mirror/gcc/commit/03e51746ed98d9106803f6009ebd71ea670ad3b9] +Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> +--- + include/ChangeLog | 5 +++++ + include/demangle.h | 11 +++++++++++ + libiberty/ChangeLog | 23 ++++++++++++++++++++++ + libiberty/cp-demangle.c | 51 ++++++++++++++++++++++++++++++++++++++----------- + libiberty/cp-demangle.h | 3 +++ + libiberty/cplus-dem.c | 37 +++++++++++++++++++++++++++++++++-- + 6 files changed, 117 insertions(+), 13 deletions(-) + +diff --git a/include/ChangeLog b/include/ChangeLog +index 02ab336..88b0648 100644 +--- a/include/ChangeLog ++++ b/include/ChangeLog +@@ -2,6 +2,11 @@ + + * GCC 8.3.0 released. + ++2018-12-07 Nick Clifton <nickc@redhat.com> ++ ++ * demangle.h (DMGL_NO_RECURSE_LIMIT): Define. ++ (DEMANGLE_RECURSION_LIMIT): Define ++ + 2018-07-26 Release Manager + + * GCC 8.2.0 released. +diff --git a/include/demangle.h b/include/demangle.h +index b8d57cf..9bb8a19 100644 +--- a/include/demangle.h ++++ b/include/demangle.h +@@ -68,6 +68,17 @@ extern "C" { + /* If none of these are set, use 'current_demangling_style' as the default. */ + #define DMGL_STYLE_MASK (DMGL_AUTO|DMGL_GNU|DMGL_LUCID|DMGL_ARM|DMGL_HP|DMGL_EDG|DMGL_GNU_V3|DMGL_JAVA|DMGL_GNAT|DMGL_DLANG|DMGL_RUST) + ++/* Disable a limit on the depth of recursion in mangled strings. ++ Note if this limit is disabled then stack exhaustion is possible when ++ demangling pathologically complicated strings. Bug reports about stack ++ exhaustion when the option is enabled will be rejected. */ ++#define DMGL_NO_RECURSE_LIMIT (1 << 18) ++ ++/* If DMGL_NO_RECURSE_LIMIT is not enabled, then this is the value used as ++ the maximum depth of recursion allowed. It should be enough for any ++ real-world mangled name. */ ++#define DEMANGLE_RECURSION_LIMIT 1024 ++ + /* Enumeration of possible demangling styles. + + Lucid and ARM styles are still kept logically distinct, even though +diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog +index 1dd05da..2f77038 100644 +--- a/libiberty/ChangeLog ++++ b/libiberty/ChangeLog +@@ -9,6 +9,29 @@ + (simple_object_copy_lto_debug_sections): Create file in binary + mode. + ++2018-12-07 Nick Clifton <nickc@redhat.com> ++ ++ PR 87681 ++ PR 87675 ++ PR 87636 ++ PR 87350 ++ PR 87335 ++ * cp-demangle.h (struct d_info): Add recursion_level field. ++ * cp-demangle.c (d_function_type): Add recursion counter. ++ If the recursion limit is reached and the check is not disabled, ++ then return with a failure result. ++ (cplus_demangle_init_info): Initialise the recursion_level field. ++ (d_demangle_callback): If the recursion limit is enabled, check ++ for a mangled string that is so long that there is not enough ++ stack space for the local arrays. ++ * cplus-dem.c (struct work): Add recursion_level field. ++ (squangle_mop_up): Set the numb and numk fields to zero. ++ (work_stuff_copy_to_from): Handle the case where a btypevec or ++ ktypevec field is NULL. ++ (demangle_nested_args): Add recursion counter. If ++ the recursion limit is not disabled and reached, return with a ++ failure result. ++ + 2018-07-26 Release Manager + + * GCC 8.2.0 released. +diff --git a/libiberty/cp-demangle.c b/libiberty/cp-demangle.c +index 3f2a097..c374e46 100644 +--- a/libiberty/cp-demangle.c ++++ b/libiberty/cp-demangle.c +@@ -2843,21 +2843,35 @@ d_ref_qualifier (struct d_info *di, struct demangle_component *sub) + static struct demangle_component * + d_function_type (struct d_info *di) + { +- struct demangle_component *ret; ++ struct demangle_component *ret = NULL; + +- if (! d_check_char (di, 'F')) +- return NULL; +- if (d_peek_char (di) == 'Y') ++ if ((di->options & DMGL_NO_RECURSE_LIMIT) == 0) + { +- /* Function has C linkage. We don't print this information. +- FIXME: We should print it in verbose mode. */ +- d_advance (di, 1); ++ if (di->recursion_level > DEMANGLE_RECURSION_LIMIT) ++ /* FIXME: There ought to be a way to report ++ that the recursion limit has been reached. */ ++ return NULL; ++ ++ di->recursion_level ++; + } +- ret = d_bare_function_type (di, 1); +- ret = d_ref_qualifier (di, ret); + +- if (! d_check_char (di, 'E')) +- return NULL; ++ if (d_check_char (di, 'F')) ++ { ++ if (d_peek_char (di) == 'Y') ++ { ++ /* Function has C linkage. We don't print this information. ++ FIXME: We should print it in verbose mode. */ ++ d_advance (di, 1); ++ } ++ ret = d_bare_function_type (di, 1); ++ ret = d_ref_qualifier (di, ret); ++ ++ if (! d_check_char (di, 'E')) ++ ret = NULL; ++ } ++ ++ if ((di->options & DMGL_NO_RECURSE_LIMIT) == 0) ++ di->recursion_level --; + return ret; + } + +@@ -6188,6 +6202,7 @@ cplus_demangle_init_info (const char *mangled, int options, size_t len, + di->expansion = 0; + di->is_expression = 0; + di->is_conversion = 0; ++ di->recursion_level = 0; + } + + /* Internal implementation for the demangler. If MANGLED is a g++ v3 ABI +@@ -6227,6 +6242,20 @@ d_demangle_callback (const char *mangled, int options, + + cplus_demangle_init_info (mangled, options, strlen (mangled), &di); + ++ /* PR 87675 - Check for a mangled string that is so long ++ that we do not have enough stack space to demangle it. */ ++ if (((options & DMGL_NO_RECURSE_LIMIT) == 0) ++ /* This check is a bit arbitrary, since what we really want to do is to ++ compare the sizes of the di.comps and di.subs arrays against the ++ amount of stack space remaining. But there is no portable way to do ++ this, so instead we use the recursion limit as a guide to the maximum ++ size of the arrays. */ ++ && (unsigned long) di.num_comps > DEMANGLE_RECURSION_LIMIT) ++ { ++ /* FIXME: We need a way to indicate that a stack limit has been reached. */ ++ return 0; ++ } ++ + { + #ifdef CP_DYNAMIC_ARRAYS + __extension__ struct demangle_component comps[di.num_comps]; +diff --git a/libiberty/cp-demangle.h b/libiberty/cp-demangle.h +index 51b8a24..d87a830 100644 +--- a/libiberty/cp-demangle.h ++++ b/libiberty/cp-demangle.h +@@ -122,6 +122,9 @@ struct d_info + /* Non-zero if we are parsing the type operand of a conversion + operator, but not when in an expression. */ + int is_conversion; ++ /* If DMGL_NO_RECURSE_LIMIT is not active then this is set to ++ the current recursion level. */ ++ unsigned int recursion_level; + }; + + /* To avoid running past the ending '\0', don't: +diff --git a/libiberty/cplus-dem.c b/libiberty/cplus-dem.c +index 6d58bd8..8b9646f 100644 +--- a/libiberty/cplus-dem.c ++++ b/libiberty/cplus-dem.c +@@ -146,6 +146,7 @@ struct work_stuff + int *proctypevec; /* Indices of currently processed remembered typevecs. */ + int proctypevec_size; + int nproctypes; ++ unsigned int recursion_level; + }; + + #define PRINT_ANSI_QUALIFIERS (work -> options & DMGL_ANSI) +@@ -1292,12 +1293,14 @@ squangle_mop_up (struct work_stuff *work) + free ((char *) work -> btypevec); + work->btypevec = NULL; + work->bsize = 0; ++ work->numb = 0; + } + if (work -> ktypevec != NULL) + { + free ((char *) work -> ktypevec); + work->ktypevec = NULL; + work->ksize = 0; ++ work->numk = 0; + } + } + +@@ -1331,8 +1334,15 @@ work_stuff_copy_to_from (struct work_stuff *to, struct work_stuff *from) + + for (i = 0; i < from->numk; i++) + { +- int len = strlen (from->ktypevec[i]) + 1; ++ int len; ++ ++ if (from->ktypevec[i] == NULL) ++ { ++ to->ktypevec[i] = NULL; ++ continue; ++ } + ++ len = strlen (from->ktypevec[i]) + 1; + to->ktypevec[i] = XNEWVEC (char, len); + memcpy (to->ktypevec[i], from->ktypevec[i], len); + } +@@ -1342,8 +1352,15 @@ work_stuff_copy_to_from (struct work_stuff *to, struct work_stuff *from) + + for (i = 0; i < from->numb; i++) + { +- int len = strlen (from->btypevec[i]) + 1; ++ int len; ++ ++ if (from->btypevec[i] == NULL) ++ { ++ to->btypevec[i] = NULL; ++ continue; ++ } + ++ len = strlen (from->btypevec[i]) + 1; + to->btypevec[i] = XNEWVEC (char , len); + memcpy (to->btypevec[i], from->btypevec[i], len); + } +@@ -1401,6 +1418,7 @@ delete_non_B_K_work_stuff (struct work_stuff *work) + + free ((char*) work->tmpl_argvec); + work->tmpl_argvec = NULL; ++ work->ntmpl_args = 0; + } + if (work->previous_argument) + { +@@ -4477,6 +4495,7 @@ remember_Btype (struct work_stuff *work, const char *start, + } + + /* Lose all the info related to B and K type codes. */ ++ + static void + forget_B_and_K_types (struct work_stuff *work) + { +@@ -4502,6 +4521,7 @@ forget_B_and_K_types (struct work_stuff *work) + } + } + } ++ + /* Forget the remembered types, but not the type vector itself. */ + + static void +@@ -4696,6 +4716,16 @@ demangle_nested_args (struct work_stuff *work, const char **mangled, + int result; + int saved_nrepeats; + ++ if ((work->options & DMGL_NO_RECURSE_LIMIT) == 0) ++ { ++ if (work->recursion_level > DEMANGLE_RECURSION_LIMIT) ++ /* FIXME: There ought to be a way to report ++ that the recursion limit has been reached. */ ++ return 0; ++ ++ work->recursion_level ++; ++ } ++ + /* The G++ name-mangling algorithm does not remember types on nested + argument lists, unless -fsquangling is used, and in that case the + type vector updated by remember_type is not used. So, we turn +@@ -4722,6 +4752,9 @@ demangle_nested_args (struct work_stuff *work, const char **mangled, + --work->forgetting_types; + work->nrepeats = saved_nrepeats; + ++ if ((work->options & DMGL_NO_RECURSE_LIMIT) == 0) ++ --work->recursion_level; ++ + return result; + } + +-- +2.7.4 + diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1.inc b/poky/meta/recipes-devtools/gcc/gcc-9.1.inc new file mode 100644 index 000000000..eb2538020 --- /dev/null +++ b/poky/meta/recipes-devtools/gcc/gcc-9.1.inc @@ -0,0 +1,118 @@ +require gcc-common.inc + +# Third digit in PV should be incremented after a minor release + +PV = "9.1.0" + +# BINV should be incremented to a revision after a minor gcc release + +BINV = "9.1.0" + +FILESEXTRAPATHS =. "${FILE_DIRNAME}/gcc-9.1:${FILE_DIRNAME}/gcc-9.1/backport:" + +DEPENDS =+ "mpfr gmp libmpc zlib flex-native" +NATIVEDEPS = "mpfr-native gmp-native libmpc-native zlib-native flex-native" + +LICENSE = "GPL-3.0-with-GCC-exception & GPLv3" + +LIC_FILES_CHKSUM = "\ + file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \ + file://COPYING3;md5=d32239bcb673463ab874e80d47fae504 \ + file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6 \ + file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1 \ + file://COPYING.RUNTIME;md5=fe60d87048567d4fe8c8a0ed2448bcc8 \ +" + +BASEURI ?= "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.xz" +#RELEASE ?= "5a5ca2d" +#BASEURI ?= "https://repo.or.cz/official-gcc.git/snapshot/${RELEASE}.tar.gz;downloadfilename=gcc-${RELEASE}.tar.gz" +SRC_URI = "\ + ${BASEURI} \ + file://0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch \ + file://0002-gcc-poison-system-directories.patch \ + file://0003-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch \ + file://0004-64-bit-multilib-hack.patch \ + file://0005-optional-libstdc.patch \ + file://0006-gcc-disable-MASK_RELAX_PIC_CALLS-bit.patch \ + file://0007-COLLECT_GCC_OPTIONS.patch \ + file://0008-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch \ + file://0009-fortran-cross-compile-hack.patch \ + file://0010-cpp-honor-sysroot.patch \ + file://0011-MIPS64-Default-to-N64-ABI.patch \ + file://0012-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch \ + file://0013-gcc-Fix-argument-list-too-long-error.patch \ + file://0014-Disable-sdt.patch \ + file://0015-libtool.patch \ + file://0016-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch \ + file://0017-Use-the-multilib-config-files-from-B-instead-of-usin.patch \ + file://0018-Avoid-using-libdir-from-.la-which-usually-points-to-.patch \ + file://0019-export-CPP.patch \ + file://0020-Ensure-target-gcc-headers-can-be-included.patch \ + file://0021-gcc-4.8-won-t-build-with-disable-dependency-tracking.patch \ + file://0022-Don-t-search-host-directory-during-relink-if-inst_pr.patch \ + file://0023-Use-SYSTEMLIBS_DIR-replacement-instead-of-hardcoding.patch \ + file://0024-aarch64-Add-support-for-musl-ldso.patch \ + file://0025-libcc1-fix-libcc1-s-install-path-and-rpath.patch \ + file://0026-handle-sysroot-support-for-nativesdk-gcc.patch \ + file://0027-Search-target-sysroot-gcc-version-specific-dirs-with.patch \ + file://0028-Fix-various-_FOR_BUILD-and-related-variables.patch \ + file://0029-nios2-Define-MUSL_DYNAMIC_LINKER.patch \ + file://0030-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch \ + file://0031-libgcc-Add-knob-to-use-ldbl-128-on-ppc.patch \ + file://0032-Link-libgcc-using-LDFLAGS-not-just-SHLIB_LDFLAGS.patch \ + file://0033-libgcc_s-Use-alias-for-__cpu_indicator_init-instead-.patch \ + file://0034-sync-gcc-stddef.h-with-musl.patch \ + file://0035-fix-segmentation-fault-in-precompiled-header-generat.patch \ + file://0036-Fix-for-testsuite-failure.patch \ + file://0037-Re-introduce-spe-commandline-options.patch \ +" +SRC_URI[md5sum] = "6069ae3737cf02bf2cb44a391ef0e937" +SRC_URI[sha256sum] = "79a66834e96a6050d8fe78db2c3b32fb285b230b855d0a66288235bc04b327a0" +S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/gcc-${PV}" +# For dev release snapshotting +#S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/official-gcc-${RELEASE}" +#B = "${WORKDIR}/gcc-${PV}/build.${HOST_SYS}.${TARGET_SYS}" + +# Language Overrides +FORTRAN = "" +JAVA = "" + +LTO = "--enable-lto" +SSP ?= "--disable-libssp" +SSP_mingw32 = "--enable-libssp" + +EXTRA_OECONF_BASE = "\ + ${LTO} \ + ${SSP} \ + --enable-libitm \ + --disable-bootstrap \ + --disable-libmudflap \ + --with-system-zlib \ + ${@'--with-linker-hash-style=${LINKER_HASH_STYLE}' if '${LINKER_HASH_STYLE}' else ''} \ + --enable-linker-build-id \ + --with-ppl=no \ + --with-cloog=no \ + --enable-checking=release \ + --enable-cheaders=c_global \ + --without-isl \ +" + +EXTRA_OECONF_INITIAL = "\ + --disable-libmudflap \ + --disable-libgomp \ + --disable-libitm \ + --disable-libquadmath \ + --with-system-zlib \ + --disable-lto \ + --disable-plugin \ + --enable-linker-build-id \ + --enable-decimal-float=no \ + --without-isl \ + --disable-libssp \ +" + +EXTRA_OECONF_PATHS = "\ + --with-gxx-include-dir=/not/exist{target_includedir}/c++/${BINV} \ + --with-sysroot=/not/exist \ + --with-build-sysroot=${STAGING_DIR_TARGET} \ +" diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch new file mode 100644 index 000000000..33c910cc5 --- /dev/null +++ b/poky/meta/recipes-devtools/gcc/gcc-9.1/0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch @@ -0,0 +1,42 @@ +From f1f6d84aadc4e3cde707b1ec8490f5dc46d4c8e0 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Fri, 29 Mar 2013 08:37:11 +0400 +Subject: [PATCH 01/37] gcc-4.3.1: ARCH_FLAGS_FOR_TARGET + +Signed-off-by: Khem Raj <raj.khem@gmail.com> + +Upstream-Status: Inappropriate [embedded specific] +--- + configure | 2 +- + configure.ac | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/configure b/configure +index adf4fda0f69..8a04eea4c71 100755 +--- a/configure ++++ b/configure +@@ -7602,7 +7602,7 @@ fi + # for target_alias and gcc doesn't manage it consistently. + target_configargs="--cache-file=./config.cache ${target_configargs}" + +-FLAGS_FOR_TARGET= ++FLAGS_FOR_TARGET="$ARCH_FLAGS_FOR_TARGET" + case " $target_configdirs " in + *" newlib "*) + case " $target_configargs " in +diff --git a/configure.ac b/configure.ac +index 87f2aee0500..01b46b8bed4 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -3118,7 +3118,7 @@ fi + # for target_alias and gcc doesn't manage it consistently. + target_configargs="--cache-file=./config.cache ${target_configargs}" + +-FLAGS_FOR_TARGET= ++FLAGS_FOR_TARGET="$ARCH_FLAGS_FOR_TARGET" + case " $target_configdirs " in + *" newlib "*) + case " $target_configargs " in +-- +2.20.1 + diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0002-gcc-poison-system-directories.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0002-gcc-poison-system-directories.patch new file mode 100644 index 000000000..123156741 --- /dev/null +++ b/poky/meta/recipes-devtools/gcc/gcc-9.1/0002-gcc-poison-system-directories.patch @@ -0,0 +1,203 @@ +From 733ca3372e4125170d4531bcd33e48eeb36bfec0 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Fri, 29 Mar 2013 08:59:00 +0400 +Subject: [PATCH 02/37] gcc: poison-system-directories + +Add /sw/include and /opt/include based on the original +zecke-no-host-includes.patch patch. The original patch checked for +/usr/include, /sw/include and /opt/include and then triggered a failure and +aborted. + +Instead, we add the two missing items to the current scan. If the user +wants this to be a failure, they can add "-Werror=poison-system-directories". + +Signed-off-by: Mark Hatle <mark.hatle@windriver.com> +Signed-off-by: Khem Raj <raj.khem@gmail.com> + +Upstream-Status: Pending +--- + gcc/common.opt | 4 ++++ + gcc/config.in | 6 ++++++ + gcc/configure | 16 ++++++++++++++++ + gcc/configure.ac | 10 ++++++++++ + gcc/doc/invoke.texi | 9 +++++++++ + gcc/gcc.c | 2 ++ + gcc/incpath.c | 21 +++++++++++++++++++++ + 7 files changed, 68 insertions(+) + +diff --git a/gcc/common.opt b/gcc/common.opt +index 9a5e9af06ca..211f2b2260e 100644 +--- a/gcc/common.opt ++++ b/gcc/common.opt +@@ -684,6 +684,10 @@ Wreturn-local-addr + Common Var(warn_return_local_addr) Init(1) Warning + Warn about returning a pointer/reference to a local or temporary variable. + ++Wpoison-system-directories ++Common Var(flag_poison_system_directories) Init(1) Warning ++Warn for -I and -L options using system directories if cross compiling ++ + Wshadow + Common Var(warn_shadow) Warning + Warn when one variable shadows another. Same as -Wshadow=global. +diff --git a/gcc/config.in b/gcc/config.in +index 48a533bf208..fc3043bbdfb 100644 +--- a/gcc/config.in ++++ b/gcc/config.in +@@ -200,6 +200,12 @@ + #endif + + ++/* Define to warn for use of native system header directories */ ++#ifndef USED_FOR_TARGET ++#undef ENABLE_POISON_SYSTEM_DIRECTORIES ++#endif ++ ++ + /* Define if you want all operations on RTL (the basic data structure of the + optimizer and back end) to be checked for dynamic type safety at runtime. + This is quite expensive. */ +diff --git a/gcc/configure b/gcc/configure +index d6a48ef76e7..2e08396622e 100755 +--- a/gcc/configure ++++ b/gcc/configure +@@ -995,6 +995,7 @@ with_system_zlib + enable_maintainer_mode + enable_link_mutex + enable_version_specific_runtime_libs ++enable_poison_system_directories + enable_plugin + enable_host_shared + enable_libquadmath_support +@@ -1748,6 +1749,8 @@ Optional Features: + --enable-version-specific-runtime-libs + specify that runtime libraries should be installed + in a compiler-specific directory ++ --enable-poison-system-directories ++ warn for use of native system header directories + --enable-plugin enable plugin support + --enable-host-shared build host code as shared libraries + --disable-libquadmath-support +@@ -29717,6 +29720,19 @@ if test "${enable_version_specific_runtime_libs+set}" = set; then : + fi + + ++# Check whether --enable-poison-system-directories was given. ++if test "${enable_poison_system_directories+set}" = set; then : ++ enableval=$enable_poison_system_directories; ++else ++ enable_poison_system_directories=no ++fi ++ ++if test "x${enable_poison_system_directories}" = "xyes"; then ++ ++$as_echo "#define ENABLE_POISON_SYSTEM_DIRECTORIES 1" >>confdefs.h ++ ++fi ++ + # Substitute configuration variables + + +diff --git a/gcc/configure.ac b/gcc/configure.ac +index 78370352938..7d34911573e 100644 +--- a/gcc/configure.ac ++++ b/gcc/configure.ac +@@ -6375,6 +6375,16 @@ AC_ARG_ENABLE(version-specific-runtime-libs, + [specify that runtime libraries should be + installed in a compiler-specific directory])]) + ++AC_ARG_ENABLE([poison-system-directories], ++ AS_HELP_STRING([--enable-poison-system-directories], ++ [warn for use of native system header directories]),, ++ [enable_poison_system_directories=no]) ++if test "x${enable_poison_system_directories}" = "xyes"; then ++ AC_DEFINE([ENABLE_POISON_SYSTEM_DIRECTORIES], ++ [1], ++ [Define to warn for use of native system header directories]) ++fi ++ + # Substitute configuration variables + AC_SUBST(subdirs) + AC_SUBST(srcdir) +diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi +index 99fd97404e1..001868e1509 100644 +--- a/gcc/doc/invoke.texi ++++ b/gcc/doc/invoke.texi +@@ -330,6 +330,7 @@ Objective-C and Objective-C++ Dialects}. + -Wpacked -Wpacked-bitfield-compat -Wpacked-not-aligned -Wpadded @gol + -Wparentheses -Wno-pedantic-ms-format @gol + -Wplacement-new -Wplacement-new=@var{n} @gol ++-Wno-poison-system-directories @gol + -Wpointer-arith -Wpointer-compare -Wno-pointer-to-int-cast @gol + -Wno-pragmas -Wno-prio-ctor-dtor -Wredundant-decls @gol + -Wrestrict -Wno-return-local-addr @gol +@@ -6254,6 +6255,14 @@ made up of data only and thus requires no special treatment. But, for + most targets, it is made up of code and thus requires the stack to be + made executable in order for the program to work properly. + ++@item -Wno-poison-system-directories ++@opindex Wno-poison-system-directories ++Do not warn for @option{-I} or @option{-L} options using system ++directories such as @file{/usr/include} when cross compiling. This ++option is intended for use in chroot environments when such ++directories contain the correct headers and libraries for the target ++system rather than the host. ++ + @item -Wfloat-equal + @opindex Wfloat-equal + @opindex Wno-float-equal +diff --git a/gcc/gcc.c b/gcc/gcc.c +index 797ed36616f..79c38d858d1 100644 +--- a/gcc/gcc.c ++++ b/gcc/gcc.c +@@ -1042,6 +1042,8 @@ proper position among the other output files. */ + "%{fuse-ld=*:-fuse-ld=%*} " LINK_COMPRESS_DEBUG_SPEC \ + "%X %{o*} %{e*} %{N} %{n} %{r}\ + %{s} %{t} %{u*} %{z} %{Z} %{!nostdlib:%{!r:%{!nostartfiles:%S}}} \ ++ %{Wno-poison-system-directories:--no-poison-system-directories} \ ++ %{Werror=poison-system-directories:--error-poison-system-directories} \ + %{static|no-pie|static-pie:} %@{L*} %(mfwrap) %(link_libgcc) " \ + VTABLE_VERIFICATION_SPEC " " SANITIZER_EARLY_SPEC " %o "" \ + %{fopenacc|fopenmp|%:gt(%{ftree-parallelize-loops=*:%*} 1):\ +diff --git a/gcc/incpath.c b/gcc/incpath.c +index bcbe2082905..5752298bbf2 100644 +--- a/gcc/incpath.c ++++ b/gcc/incpath.c +@@ -26,6 +26,7 @@ + #include "intl.h" + #include "incpath.h" + #include "cppdefault.h" ++#include "diagnostic-core.h" + + /* Microsoft Windows does not natively support inodes. + VMS has non-numeric inodes. */ +@@ -393,6 +394,26 @@ merge_include_chains (const char *sysroot, cpp_reader *pfile, int verbose) + } + fprintf (stderr, _("End of search list.\n")); + } ++ ++#ifdef ENABLE_POISON_SYSTEM_DIRECTORIES ++ if (flag_poison_system_directories) ++ { ++ struct cpp_dir *p; ++ ++ for (p = heads[INC_QUOTE]; p; p = p->next) ++ { ++ if ((!strncmp (p->name, "/usr/include", 12)) ++ || (!strncmp (p->name, "/usr/local/include", 18)) ++ || (!strncmp (p->name, "/usr/X11R6/include", 18)) ++ || (!strncmp (p->name, "/sw/include", 11)) ++ || (!strncmp (p->name, "/opt/include", 12))) ++ warning (OPT_Wpoison_system_directories, ++ "include location \"%s\" is unsafe for " ++ "cross-compilation", ++ p->name); ++ } ++ } ++#endif + } + + /* Use given -I paths for #include "..." but not #include <...>, and +-- +2.20.1 + diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0003-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0003-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch new file mode 100644 index 000000000..916c374e3 --- /dev/null +++ b/poky/meta/recipes-devtools/gcc/gcc-9.1/0003-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch @@ -0,0 +1,73 @@ +From 320352cc741c89f1a9b2ee7929193d255e65f27a Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Fri, 29 Mar 2013 09:08:31 +0400 +Subject: [PATCH 03/37] gcc-4.3.3: SYSROOT_CFLAGS_FOR_TARGET + +Before committing, I noticed that PR/32161 was marked as a dup of PR/32009, but my previous patch did not fix it. + +This alternative patch is better because it lets you just use CFLAGS_FOR_TARGET to set the compilation flags for libgcc. Since bootstrapped target libraries are never compiled with the native compiler, it makes little sense to use different flags for stage1 and later stages. And it also makes little sense to use a different variable than CFLAGS_FOR_TARGET. + +Other changes I had to do include: + +- moving the creation of default CFLAGS_FOR_TARGET from Makefile.am to configure.ac, because otherwise the BOOT_CFLAGS are substituted into CFLAGS_FOR_TARGET (which is "-O2 -g $(CFLAGS)") via $(CFLAGS). It is also cleaner this way though. + +- passing the right CFLAGS to configure scripts as exported environment variables + +I also stopped passing LIBCFLAGS to configure scripts since they are unused in the whole src tree. And I updated the documentation as H-P reminded me to do. + +Bootstrapped/regtested i686-pc-linux-gnu, will commit to 4.4 shortly. Ok for 4.3? + +Signed-off-by: Paolo Bonzini <bonzini@gnu.org> +Signed-off-by: Khem Raj <raj.khem@gmail.com> + +Upstream-Status: Pending +--- + configure | 32 ++++++++++++++++++++++++++++++++ + 1 file changed, 32 insertions(+) + +diff --git a/configure b/configure +index 8a04eea4c71..3b0eed74847 100755 +--- a/configure ++++ b/configure +@@ -6863,6 +6863,38 @@ fi + + + ++# During gcc bootstrap, if we use some random cc for stage1 then CFLAGS ++# might be empty or "-g". We don't require a C++ compiler, so CXXFLAGS ++# might also be empty (or "-g", if a non-GCC C++ compiler is in the path). ++# We want to ensure that TARGET libraries (which we know are built with ++# gcc) are built with "-O2 -g", so include those options when setting ++# CFLAGS_FOR_TARGET and CXXFLAGS_FOR_TARGET. ++if test "x$CFLAGS_FOR_TARGET" = x; then ++ CFLAGS_FOR_TARGET=$CFLAGS ++ case " $CFLAGS " in ++ *" -O2 "*) ;; ++ *) CFLAGS_FOR_TARGET="-O2 $CFLAGS" ;; ++ esac ++ case " $CFLAGS " in ++ *" -g "* | *" -g3 "*) ;; ++ *) CFLAGS_FOR_TARGET="-g $CFLAGS" ;; ++ esac ++fi ++ ++ ++if test "x$CXXFLAGS_FOR_TARGET" = x; then ++ CXXFLAGS_FOR_TARGET=$CXXFLAGS ++ case " $CXXFLAGS " in ++ *" -O2 "*) ;; ++ *) CXXFLAGS_FOR_TARGET="-O2 $CXXFLAGS" ;; ++ esac ++ case " $CXXFLAGS " in ++ *" -g "* | *" -g3 "*) ;; ++ *) CXXFLAGS_FOR_TARGET="-g $CXXFLAGS" ;; ++ esac ++fi ++ ++ + # Handle --with-headers=XXX. If the value is not "yes", the contents of + # the named directory are copied to $(tooldir)/sys-include. + if test x"${with_headers}" != x && test x"${with_headers}" != xno ; then +-- +2.20.1 + diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0004-64-bit-multilib-hack.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0004-64-bit-multilib-hack.patch new file mode 100644 index 000000000..137261b86 --- /dev/null +++ b/poky/meta/recipes-devtools/gcc/gcc-9.1/0004-64-bit-multilib-hack.patch @@ -0,0 +1,119 @@ +From 150d946082b3e21614d1cd0eb4752871495fe519 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Fri, 29 Mar 2013 09:10:06 +0400 +Subject: [PATCH 04/37] 64-bit multilib hack. + +GCC has internal multilib handling code but it assumes a very specific rigid directory +layout. The build system implementation of multilib layout is very generic and allows +complete customisation of the library directories. + +This patch is a partial solution to allow any custom directories to be passed into gcc +and handled correctly. It forces gcc to use the base_libdir (which is the current +directory, "."). We need to do this for each multilib that is configured as we don't +know which compiler options may be being passed into the compiler. Since we have a compiler +per mulitlib at this point that isn't an issue. + +The one problem is the target compiler is only going to work for the default multlilib at +this point. Ideally we'd figure out which multilibs were being enabled with which paths +and be able to patch these entries with a complete set of correct paths but this we +don't have such code at this point. This is something the target gcc recipe should do +and override these platform defaults in its build config. + +Do same for riscv64 and aarch64 + +RP 15/8/11 + +Upstream-Status: Inappropriate[OE-Specific] + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +Signed-off-by: Elvis Dowson <elvis.dowson@gmail.com> +Signed-off-by: Mark Hatle <mark.hatle@windriver.com> +--- + gcc/config/aarch64/t-aarch64-linux | 8 ++++---- + gcc/config/i386/t-linux64 | 6 ++---- + gcc/config/mips/t-linux64 | 10 +++------- + gcc/config/riscv/t-linux | 6 ++++-- + gcc/config/rs6000/t-linux64 | 5 ++--- + 5 files changed, 15 insertions(+), 20 deletions(-) + +diff --git a/gcc/config/aarch64/t-aarch64-linux b/gcc/config/aarch64/t-aarch64-linux +index 5ad670ba2ce..e26019e7157 100644 +--- a/gcc/config/aarch64/t-aarch64-linux ++++ b/gcc/config/aarch64/t-aarch64-linux +@@ -21,8 +21,8 @@ + LIB1ASMSRC = aarch64/lib1funcs.asm + LIB1ASMFUNCS = _aarch64_sync_cache_range + +-AARCH_BE = $(if $(findstring TARGET_BIG_ENDIAN_DEFAULT=1, $(tm_defines)),_be) +-MULTILIB_OSDIRNAMES = mabi.lp64=../lib64$(call if_multiarch,:aarch64$(AARCH_BE)-linux-gnu) +-MULTIARCH_DIRNAME = $(call if_multiarch,aarch64$(AARCH_BE)-linux-gnu) ++#AARCH_BE = $(if $(findstring TARGET_BIG_ENDIAN_DEFAULT=1, $(tm_defines)),_be) ++#MULTILIB_OSDIRNAMES = mabi.lp64=../lib64$(call if_multiarch,:aarch64$(AARCH_BE)-linux-gnu) ++#MULTIARCH_DIRNAME = $(call if_multiarch,aarch64$(AARCH_BE)-linux-gnu) + +-MULTILIB_OSDIRNAMES += mabi.ilp32=../libilp32$(call if_multiarch,:aarch64$(AARCH_BE)-linux-gnu_ilp32) ++#MULTILIB_OSDIRNAMES += mabi.ilp32=../libilp32$(call if_multiarch,:aarch64$(AARCH_BE)-linux-gnu_ilp32) +diff --git a/gcc/config/i386/t-linux64 b/gcc/config/i386/t-linux64 +index c686ab2f0d2..c82b60dadcd 100644 +--- a/gcc/config/i386/t-linux64 ++++ b/gcc/config/i386/t-linux64 +@@ -32,7 +32,5 @@ + # + comma=, + MULTILIB_OPTIONS = $(subst $(comma),/,$(TM_MULTILIB_CONFIG)) +-MULTILIB_DIRNAMES = $(patsubst m%, %, $(subst /, ,$(MULTILIB_OPTIONS))) +-MULTILIB_OSDIRNAMES = m64=../lib64$(call if_multiarch,:x86_64-linux-gnu) +-MULTILIB_OSDIRNAMES+= m32=$(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:i386-linux-gnu) +-MULTILIB_OSDIRNAMES+= mx32=../libx32$(call if_multiarch,:x86_64-linux-gnux32) ++MULTILIB_DIRNAMES = . . ++MULTILIB_OSDIRNAMES = ../$(shell basename $(base_libdir)) ../$(shell basename $(base_libdir)) +diff --git a/gcc/config/mips/t-linux64 b/gcc/config/mips/t-linux64 +index 3a2ff700d7d..13ef19576b5 100644 +--- a/gcc/config/mips/t-linux64 ++++ b/gcc/config/mips/t-linux64 +@@ -17,10 +17,6 @@ + # <http://www.gnu.org/licenses/>. + + MULTILIB_OPTIONS = mabi=n32/mabi=32/mabi=64 +-MULTILIB_DIRNAMES = n32 32 64 +-MIPS_EL = $(if $(filter %el, $(firstword $(subst -, ,$(target)))),el) +-MIPS_SOFT = $(if $(strip $(filter MASK_SOFT_FLOAT_ABI, $(target_cpu_default)) $(filter soft, $(with_float))),soft) +-MULTILIB_OSDIRNAMES = \ +- ../lib32$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabin32$(MIPS_SOFT)) \ +- ../lib$(call if_multiarch,:mips$(MIPS_EL)-linux-gnu$(MIPS_SOFT)) \ +- ../lib64$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabi64$(MIPS_SOFT)) ++MULTILIB_DIRNAMES = . . . ++MULTILIB_OSDIRNAMES = ../$(shell basename $(base_libdir)) ../$(shell basename $(base_libdir)) ../$(shell basename $(base_libdir)) ++ +diff --git a/gcc/config/riscv/t-linux b/gcc/config/riscv/t-linux +index 216d2776a18..e4d817621fc 100644 +--- a/gcc/config/riscv/t-linux ++++ b/gcc/config/riscv/t-linux +@@ -1,3 +1,5 @@ + # Only XLEN and ABI affect Linux multilib dir names, e.g. /lib32/ilp32d/ +-MULTILIB_DIRNAMES := $(patsubst rv32%,lib32,$(patsubst rv64%,lib64,$(MULTILIB_DIRNAMES))) +-MULTILIB_OSDIRNAMES := $(patsubst lib%,../lib%,$(MULTILIB_DIRNAMES)) ++#MULTILIB_DIRNAMES := $(patsubst rv32%,lib32,$(patsubst rv64%,lib64,$(MULTILIB_DIRNAMES))) ++MULTILIB_DIRNAMES := . . ++#MULTILIB_OSDIRNAMES := $(patsubst lib%,../lib%,$(MULTILIB_DIRNAMES)) ++MULTILIB_OSDIRNAMES := ../$(shell basename $(base_libdir)) ../$(shell basename $(base_libdir)) +diff --git a/gcc/config/rs6000/t-linux64 b/gcc/config/rs6000/t-linux64 +index f3c6e2be1d9..bd0393155fa 100644 +--- a/gcc/config/rs6000/t-linux64 ++++ b/gcc/config/rs6000/t-linux64 +@@ -26,10 +26,9 @@ + # MULTILIB_OSDIRNAMES according to what is found on the target. + + MULTILIB_OPTIONS := m64/m32 +-MULTILIB_DIRNAMES := 64 32 ++MULTILIB_DIRNAMES := . . + MULTILIB_EXTRA_OPTS := +-MULTILIB_OSDIRNAMES := m64=../lib64$(call if_multiarch,:powerpc64-linux-gnu) +-MULTILIB_OSDIRNAMES += m32=$(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:powerpc-linux-gnu) ++MULTILIB_OSDIRNAMES := ../$(shell basename $(base_libdir)) ../$(shell basename $(base_libdir)) + + rs6000-linux.o: $(srcdir)/config/rs6000/rs6000-linux.c + $(COMPILE) $< +-- +2.20.1 + diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0005-optional-libstdc.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0005-optional-libstdc.patch new file mode 100644 index 000000000..d8e970a1a --- /dev/null +++ b/poky/meta/recipes-devtools/gcc/gcc-9.1/0005-optional-libstdc.patch @@ -0,0 +1,125 @@ +From a3323ea74f0793b35af4a4cdbe5e99fe21e4816b Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Fri, 29 Mar 2013 09:12:56 +0400 +Subject: [PATCH 05/37] optional libstdc + +gcc-runtime builds libstdc++ separately from gcc-cross-*. Its configure tests using g++ +will not run correctly since by default the linker will try to link against libstdc++ +which shouldn't exist yet. We need an option to disable -lstdc++ +option whilst leaving -lc, -lgcc and other automatic library dependencies added by gcc +driver. This patch adds such an option which only disables the -lstdc++. + +A "standard" gcc build uses xgcc and hence avoids this. We should ask upstream how to +do this officially, the likely answer is don't build libstdc++ separately. + +RP 29/6/10 + +Signed-off-by: Khem Raj <raj.khem@gmail.com> + +Upstream-Status: Inappropriate [embedded specific] +--- + gcc/c-family/c.opt | 4 ++++ + gcc/cp/g++spec.c | 1 + + gcc/doc/invoke.texi | 32 +++++++++++++++++++++++++++++++- + gcc/gcc.c | 1 + + 4 files changed, 37 insertions(+), 1 deletion(-) + +diff --git a/gcc/c-family/c.opt b/gcc/c-family/c.opt +index 88c72c51c21..a7029592aa3 100644 +--- a/gcc/c-family/c.opt ++++ b/gcc/c-family/c.opt +@@ -1948,6 +1948,10 @@ nostdinc++ + C++ ObjC++ + Do not search standard system include directories for C++. + ++nostdlib++ ++Driver ++Do not link standard C++ runtime library ++ + o + C ObjC C++ ObjC++ Joined Separate + ; Documented in common.opt +diff --git a/gcc/cp/g++spec.c b/gcc/cp/g++spec.c +index 6c4574a837d..0e2657f00ee 100644 +--- a/gcc/cp/g++spec.c ++++ b/gcc/cp/g++spec.c +@@ -137,6 +137,7 @@ lang_specific_driver (struct cl_decoded_option **in_decoded_options, + switch (decoded_options[i].opt_index) + { + case OPT_nostdlib: ++ case OPT_nostdlib__: + case OPT_nodefaultlibs: + library = -1; + break; +diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi +index 001868e1509..4186c2616ab 100644 +--- a/gcc/doc/invoke.texi ++++ b/gcc/doc/invoke.texi +@@ -226,6 +226,9 @@ in the following sections. + -fno-weak -nostdinc++ @gol + -fvisibility-inlines-hidden @gol + -fvisibility-ms-compat @gol ++-fvtable-verify=@r{[}std@r{|}preinit@r{|}none@r{]} @gol ++-fvtv-counts -fvtv-debug @gol ++-nostdlib++ @gol + -fext-numeric-literals @gol + -Wabi=@var{n} -Wabi-tag -Wconversion-null -Wctor-dtor-privacy @gol + -Wdelete-non-virtual-dtor -Wdeprecated-copy -Wdeprecated-copy-dtor @gol +@@ -536,7 +539,7 @@ Objective-C and Objective-C++ Dialects}. + -pie -pthread -r -rdynamic @gol + -s -static -static-pie -static-libgcc -static-libstdc++ @gol + -static-libasan -static-libtsan -static-liblsan -static-libubsan @gol +--shared -shared-libgcc -symbolic @gol ++-shared -shared-libgcc -symbolic -nostdlib++ @gol + -T @var{script} -Wl,@var{option} -Xlinker @var{option} @gol + -u @var{symbol} -z @var{keyword}} + +@@ -13259,6 +13262,33 @@ Specify that the program entry point is @var{entry}. The argument is + interpreted by the linker; the GNU linker accepts either a symbol name + or an address. + ++@item -nostdlib++ ++@opindex nostdlib++ ++Do not use the standard system C++ runtime libraries when linking. ++Only the libraries you specify will be passed to the linker. ++ ++@cindex @option{-lgcc}, use with @option{-nostdlib} ++@cindex @option{-nostdlib} and unresolved references ++@cindex unresolved references and @option{-nostdlib} ++@cindex @option{-lgcc}, use with @option{-nodefaultlibs} ++@cindex @option{-nodefaultlibs} and unresolved references ++@cindex unresolved references and @option{-nodefaultlibs} ++One of the standard libraries bypassed by @option{-nostdlib} and ++@option{-nodefaultlibs} is @file{libgcc.a}, a library of internal subroutines ++which GCC uses to overcome shortcomings of particular machines, or special ++needs for some languages. ++(@xref{Interface,,Interfacing to GCC Output,gccint,GNU Compiler ++Collection (GCC) Internals}, ++for more discussion of @file{libgcc.a}.) ++In most cases, you need @file{libgcc.a} even when you want to avoid ++other standard libraries. In other words, when you specify @option{-nostdlib} ++or @option{-nodefaultlibs} you should usually specify @option{-lgcc} as well. ++This ensures that you have no unresolved references to internal GCC ++library subroutines. ++(An example of such an internal subroutine is @code{__main}, used to ensure C++ ++constructors are called; @pxref{Collect2,,@code{collect2}, gccint, ++GNU Compiler Collection (GCC) Internals}.) ++ + @item -pie + @opindex pie + Produce a dynamically linked position independent executable on targets +diff --git a/gcc/gcc.c b/gcc/gcc.c +index 79c38d858d1..308872aef5f 100644 +--- a/gcc/gcc.c ++++ b/gcc/gcc.c +@@ -1052,6 +1052,7 @@ proper position among the other output files. */ + %(mflib) " STACK_SPLIT_SPEC "\ + %{fprofile-arcs|fprofile-generate*|coverage:-lgcov} " SANITIZER_SPEC " \ + %{!nostdlib:%{!r:%{!nodefaultlibs:%(link_ssp) %(link_gcc_c_sequence)}}}\ ++ %{!nostdlib++:}\ + %{!nostdlib:%{!r:%{!nostartfiles:%E}}} %{T*} \n%(post_link) }}}}}}" + #endif + +-- +2.20.1 + diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0006-gcc-disable-MASK_RELAX_PIC_CALLS-bit.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0006-gcc-disable-MASK_RELAX_PIC_CALLS-bit.patch new file mode 100644 index 000000000..4a552d516 --- /dev/null +++ b/poky/meta/recipes-devtools/gcc/gcc-9.1/0006-gcc-disable-MASK_RELAX_PIC_CALLS-bit.patch @@ -0,0 +1,59 @@ +From ca3b3ac12d9b6e1065333dec89e7be2c733509d9 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Fri, 29 Mar 2013 09:14:20 +0400 +Subject: [PATCH 06/37] gcc: disable MASK_RELAX_PIC_CALLS bit + +The new feature added after 4.3.3 +"http://www.pubbs.net/200909/gcc/94048-patch-add-support-for-rmipsjalr.html" +will cause cc1plus eat up all the system memory when build webkit-gtk. +The function mips_get_pic_call_symbol keeps on recursively calling itself. +Disable this feature to walk aside the bug. + +Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com> +Signed-off-by: Khem Raj <raj.khem@gmail.com> + +Upstream-Status: Inappropriate [configuration] +--- + gcc/configure | 7 ------- + gcc/configure.ac | 7 ------- + 2 files changed, 14 deletions(-) + +diff --git a/gcc/configure b/gcc/configure +index 2e08396622e..d36cb51bc2c 100755 +--- a/gcc/configure ++++ b/gcc/configure +@@ -27509,13 +27509,6 @@ $as_echo_n "checking assembler and linker for explicit JALR relocation... " >&6; + rm -f conftest.* + fi + fi +- if test $gcc_cv_as_ld_jalr_reloc = yes; then +- if test x$target_cpu_default = x; then +- target_cpu_default=MASK_RELAX_PIC_CALLS +- else +- target_cpu_default="($target_cpu_default)|MASK_RELAX_PIC_CALLS" +- fi +- fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_as_ld_jalr_reloc" >&5 + $as_echo "$gcc_cv_as_ld_jalr_reloc" >&6; } + +diff --git a/gcc/configure.ac b/gcc/configure.ac +index 7d34911573e..dfa88c35f3f 100644 +--- a/gcc/configure.ac ++++ b/gcc/configure.ac +@@ -4816,13 +4816,6 @@ x: + rm -f conftest.* + fi + fi +- if test $gcc_cv_as_ld_jalr_reloc = yes; then +- if test x$target_cpu_default = x; then +- target_cpu_default=MASK_RELAX_PIC_CALLS +- else +- target_cpu_default="($target_cpu_default)|MASK_RELAX_PIC_CALLS" +- fi +- fi + AC_MSG_RESULT($gcc_cv_as_ld_jalr_reloc) + + AC_CACHE_CHECK([linker for .eh_frame personality relaxation], +-- +2.20.1 + diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0007-COLLECT_GCC_OPTIONS.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0007-COLLECT_GCC_OPTIONS.patch new file mode 100644 index 000000000..a522ada44 --- /dev/null +++ b/poky/meta/recipes-devtools/gcc/gcc-9.1/0007-COLLECT_GCC_OPTIONS.patch @@ -0,0 +1,38 @@ +From c7b8c2a6e81daaa50047c336c8ee90086aa4d4d5 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Fri, 29 Mar 2013 09:16:28 +0400 +Subject: [PATCH 07/37] COLLECT_GCC_OPTIONS + +This patch adds --sysroot into COLLECT_GCC_OPTIONS which is used to +invoke collect2. + +Signed-off-by: Khem Raj <raj.khem@gmail.com> + +Upstream-Status: Pending +--- + gcc/gcc.c | 9 +++++++++ + 1 file changed, 9 insertions(+) + +diff --git a/gcc/gcc.c b/gcc/gcc.c +index 308872aef5f..30845e5b125 100644 +--- a/gcc/gcc.c ++++ b/gcc/gcc.c +@@ -4804,6 +4804,15 @@ set_collect_gcc_options (void) + sizeof ("COLLECT_GCC_OPTIONS=") - 1); + + first_time = TRUE; ++#ifdef HAVE_LD_SYSROOT ++ if (target_system_root_changed && target_system_root) ++ { ++ obstack_grow (&collect_obstack, "'--sysroot=", sizeof("'--sysroot=")-1); ++ obstack_grow (&collect_obstack, target_system_root,strlen(target_system_root)); ++ obstack_grow (&collect_obstack, "'", 1); ++ first_time = FALSE; ++ } ++#endif + for (i = 0; (int) i < n_switches; i++) + { + const char *const *args; +-- +2.20.1 + diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0008-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0008-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch new file mode 100644 index 000000000..2ef94a0b8 --- /dev/null +++ b/poky/meta/recipes-devtools/gcc/gcc-9.1/0008-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch @@ -0,0 +1,96 @@ +From 2f65b8bbf9c7c4bc0b94bb7ba9f6a8eb8675c9ab Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Fri, 29 Mar 2013 09:17:25 +0400 +Subject: [PATCH 08/37] Use the defaults.h in ${B} instead of ${S}, and t-oe in + ${B} + +Use the defaults.h in ${B} instead of ${S}, and t-oe in ${B}, so that +the source can be shared between gcc-cross-initial, +gcc-cross-intermediate, gcc-cross, gcc-runtime, and also the sdk build. + +Signed-off-by: Khem Raj <raj.khem@gmail.com> + +Upstream-Status: Pending + +While compiling gcc-crosssdk-initial-x86_64 on some host, there is +occasionally failure that test the existance of default.h doesn't +work, the reason is tm_include_list='** defaults.h' rather than +tm_include_list='** ./defaults.h' + +So we add the test condition for this situation. +Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> +--- + gcc/Makefile.in | 2 +- + gcc/configure | 4 ++-- + gcc/configure.ac | 4 ++-- + gcc/mkconfig.sh | 4 ++-- + 4 files changed, 7 insertions(+), 7 deletions(-) + +diff --git a/gcc/Makefile.in b/gcc/Makefile.in +index 508c674cbdc..3ccff1614bb 100644 +--- a/gcc/Makefile.in ++++ b/gcc/Makefile.in +@@ -540,7 +540,7 @@ TARGET_SYSTEM_ROOT = @TARGET_SYSTEM_ROOT@ + TARGET_SYSTEM_ROOT_DEFINE = @TARGET_SYSTEM_ROOT_DEFINE@ + + xmake_file=@xmake_file@ +-tmake_file=@tmake_file@ ++tmake_file=@tmake_file@ ./t-oe + TM_ENDIAN_CONFIG=@TM_ENDIAN_CONFIG@ + TM_MULTILIB_CONFIG=@TM_MULTILIB_CONFIG@ + TM_MULTILIB_EXCEPTIONS_CONFIG=@TM_MULTILIB_EXCEPTIONS_CONFIG@ +diff --git a/gcc/configure b/gcc/configure +index d36cb51bc2c..7acc7e487b0 100755 +--- a/gcc/configure ++++ b/gcc/configure +@@ -12341,8 +12341,8 @@ for f in $tm_file; do + tm_include_list="${tm_include_list} $f" + ;; + defaults.h ) +- tm_file_list="${tm_file_list} \$(srcdir)/$f" +- tm_include_list="${tm_include_list} $f" ++ tm_file_list="${tm_file_list} ./$f" ++ tm_include_list="${tm_include_list} ./$f" + ;; + * ) + tm_file_list="${tm_file_list} \$(srcdir)/config/$f" +diff --git a/gcc/configure.ac b/gcc/configure.ac +index dfa88c35f3f..f5d5e5c16a8 100644 +--- a/gcc/configure.ac ++++ b/gcc/configure.ac +@@ -1968,8 +1968,8 @@ for f in $tm_file; do + tm_include_list="${tm_include_list} $f" + ;; + defaults.h ) +- tm_file_list="${tm_file_list} \$(srcdir)/$f" +- tm_include_list="${tm_include_list} $f" ++ tm_file_list="${tm_file_list} ./$f" ++ tm_include_list="${tm_include_list} ./$f" + ;; + * ) + tm_file_list="${tm_file_list} \$(srcdir)/config/$f" +diff --git a/gcc/mkconfig.sh b/gcc/mkconfig.sh +index 308b87d0cc1..19068cbc24a 100644 +--- a/gcc/mkconfig.sh ++++ b/gcc/mkconfig.sh +@@ -77,7 +77,7 @@ if [ -n "$HEADERS" ]; then + if [ $# -ge 1 ]; then + echo '#ifdef IN_GCC' >> ${output}T + for file in "$@"; do +- if test x"$file" = x"defaults.h"; then ++ if test x"$file" = x"./defaults.h" -o x"$file" = x"defaults.h"; then + postpone_defaults_h="yes" + else + echo "# include \"$file\"" >> ${output}T +@@ -106,7 +106,7 @@ esac + + # If we postponed including defaults.h, add the #include now. + if test x"$postpone_defaults_h" = x"yes"; then +- echo "# include \"defaults.h\"" >> ${output}T ++ echo "# include \"./defaults.h\"" >> ${output}T + fi + + # Add multiple inclusion protection guard, part two. +-- +2.20.1 + diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0009-fortran-cross-compile-hack.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0009-fortran-cross-compile-hack.patch new file mode 100644 index 000000000..795971463 --- /dev/null +++ b/poky/meta/recipes-devtools/gcc/gcc-9.1/0009-fortran-cross-compile-hack.patch @@ -0,0 +1,46 @@ +From eda94df7d2389b6c36428e5687d5f0722d3375c3 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Fri, 29 Mar 2013 09:20:01 +0400 +Subject: [PATCH 09/37] fortran cross-compile hack. + +* Fortran would have searched for arm-angstrom-gnueabi-gfortran but would have used +used gfortan. For gcc_4.2.2.bb we want to use the gfortran compiler from our cross +directory. + +Signed-off-by: Khem Raj <raj.khem@gmail.com> + +Upstream-Status: Inappropriate [embedded specific] +--- + libgfortran/configure | 2 +- + libgfortran/configure.ac | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/libgfortran/configure b/libgfortran/configure +index 487d8c090e2..a02b49293ac 100755 +--- a/libgfortran/configure ++++ b/libgfortran/configure +@@ -13056,7 +13056,7 @@ esac + + # We need gfortran to compile parts of the library + #AC_PROG_FC(gfortran) +-FC="$GFORTRAN" ++#FC="$GFORTRAN" + ac_ext=${ac_fc_srcext-f} + ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' + ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +diff --git a/libgfortran/configure.ac b/libgfortran/configure.ac +index c06db7b1a78..5b4b1b7f1f2 100644 +--- a/libgfortran/configure.ac ++++ b/libgfortran/configure.ac +@@ -250,7 +250,7 @@ AC_SUBST(enable_static) + + # We need gfortran to compile parts of the library + #AC_PROG_FC(gfortran) +-FC="$GFORTRAN" ++#FC="$GFORTRAN" + AC_PROG_FC(gfortran) + + # extra LD Flags which are required for targets +-- +2.20.1 + diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0010-cpp-honor-sysroot.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0010-cpp-honor-sysroot.patch new file mode 100644 index 000000000..b680e6fc3 --- /dev/null +++ b/poky/meta/recipes-devtools/gcc/gcc-9.1/0010-cpp-honor-sysroot.patch @@ -0,0 +1,54 @@ +From c2ec131f19d656fd916c45f51186633c789db6e9 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Fri, 29 Mar 2013 09:22:00 +0400 +Subject: [PATCH 10/37] cpp: honor sysroot. + +Currently, if the gcc toolchain is relocated and installed from sstate, then you try and compile +preprocessed source (.i or .ii files), the compiler will try and access the builtin sysroot location +rather than the --sysroot option specified on the commandline. If access to that directory is +permission denied (unreadable), gcc will error. + +This happens when ccache is in use due to the fact it uses preprocessed source files. + +The fix below adds %I to the cpp-output spec macro so the default substitutions for -iprefix, +-isystem, -isysroot happen and the correct sysroot is used. + +[YOCTO #2074] + +RP 2012/04/13 + +Signed-off-by: Khem Raj <raj.khem@gmail.com> + +Upstream-Status: Pending +--- + gcc/cp/lang-specs.h | 2 +- + gcc/gcc.c | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/gcc/cp/lang-specs.h b/gcc/cp/lang-specs.h +index c6e42eda283..e1ddf066467 100644 +--- a/gcc/cp/lang-specs.h ++++ b/gcc/cp/lang-specs.h +@@ -66,5 +66,5 @@ along with GCC; see the file COPYING3. If not see + {".ii", "@c++-cpp-output", 0, 0, 0}, + {"@c++-cpp-output", + "%{!E:%{!M:%{!MM:" +- " cc1plus -fpreprocessed %i %(cc1_options) %2" ++ " cc1plus -fpreprocessed %i %I %(cc1_options) %2" + " %{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0}, +diff --git a/gcc/gcc.c b/gcc/gcc.c +index 30845e5b125..cef26c454d7 100644 +--- a/gcc/gcc.c ++++ b/gcc/gcc.c +@@ -1349,7 +1349,7 @@ static const struct compiler default_compilers[] = + %W{o*:--output-pch=%*}}%V}}}}}}}", 0, 0, 0}, + {".i", "@cpp-output", 0, 0, 0}, + {"@cpp-output", +- "%{!M:%{!MM:%{!E:cc1 -fpreprocessed %i %(cc1_options) %{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0}, ++ "%{!M:%{!MM:%{!E:cc1 -fpreprocessed %i %I %(cc1_options) %{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0}, + {".s", "@assembler", 0, 0, 0}, + {"@assembler", + "%{!M:%{!MM:%{!E:%{!S:as %(asm_debug) %(asm_options) %i %A }}}}", 0, 0, 0}, +-- +2.20.1 + diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0011-MIPS64-Default-to-N64-ABI.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0011-MIPS64-Default-to-N64-ABI.patch new file mode 100644 index 000000000..d59a31be1 --- /dev/null +++ b/poky/meta/recipes-devtools/gcc/gcc-9.1/0011-MIPS64-Default-to-N64-ABI.patch @@ -0,0 +1,57 @@ +From 52b915732de89d8676868641af462df81211bb39 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Fri, 29 Mar 2013 09:23:08 +0400 +Subject: [PATCH 11/37] MIPS64: Default to N64 ABI + +MIPS64 defaults to n32 ABI, this patch makes it +so that it defaults to N64 ABI + +Signed-off-by: Khem Raj <raj.khem@gmail.com> + +Upstream-Status: Inappropriate [OE config specific] +--- + gcc/config.gcc | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/gcc/config.gcc b/gcc/config.gcc +index a189cb19f63..293ed8d585d 100644 +--- a/gcc/config.gcc ++++ b/gcc/config.gcc +@@ -2267,29 +2267,29 @@ mips*-*-linux*) # Linux MIPS, either endian. + default_mips_arch=mips32 + ;; + mips64el-st-linux-gnu) +- default_mips_abi=n32 ++ default_mips_abi=64 + tm_file="${tm_file} mips/st.h" + tmake_file="${tmake_file} mips/t-st" + enable_mips_multilibs="yes" + ;; + mips64octeon*-*-linux*) +- default_mips_abi=n32 ++ default_mips_abi=64 + tm_defines="${tm_defines} MIPS_CPU_STRING_DEFAULT=\\\"octeon\\\"" + target_cpu_default=MASK_SOFT_FLOAT_ABI + enable_mips_multilibs="yes" + ;; + mipsisa64r6*-*-linux*) +- default_mips_abi=n32 ++ default_mips_abi=64 + default_mips_arch=mips64r6 + enable_mips_multilibs="yes" + ;; + mipsisa64r2*-*-linux*) +- default_mips_abi=n32 ++ default_mips_abi=64 + default_mips_arch=mips64r2 + enable_mips_multilibs="yes" + ;; + mips64*-*-linux* | mipsisa64*-*-linux*) +- default_mips_abi=n32 ++ default_mips_abi=64 + enable_mips_multilibs="yes" + ;; + esac +-- +2.20.1 + diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0012-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0012-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch new file mode 100644 index 000000000..f23a314c1 --- /dev/null +++ b/poky/meta/recipes-devtools/gcc/gcc-9.1/0012-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch @@ -0,0 +1,232 @@ +From 492f008dce784749e39e1c396aeea6fa1d977374 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Fri, 29 Mar 2013 09:24:50 +0400 +Subject: [PATCH 12/37] Define GLIBC_DYNAMIC_LINKER and UCLIBC_DYNAMIC_LINKER + relative to SYSTEMLIBS_DIR + +This patch defines GLIBC_DYNAMIC_LINKER and UCLIBC_DYNAMIC_LINKER +relative to SYSTEMLIBS_DIR which can be set in generated headers +This breaks the assumption of hardcoded multilib in gcc +Change is only for the supported architectures in OE including +SH, sparc, alpha for possible future support (if any) + +Removes the do_headerfix task in metadata + +Signed-off-by: Khem Raj <raj.khem@gmail.com> + +Upstream-Status: Inappropriate [OE configuration] +--- + gcc/config/alpha/linux-elf.h | 4 ++-- + gcc/config/arm/linux-eabi.h | 4 ++-- + gcc/config/arm/linux-elf.h | 2 +- + gcc/config/i386/linux.h | 2 +- + gcc/config/i386/linux64.h | 6 +++--- + gcc/config/linux.h | 8 ++++---- + gcc/config/mips/linux.h | 12 ++++++------ + gcc/config/rs6000/linux64.h | 15 +++++---------- + gcc/config/sh/linux.h | 2 +- + gcc/config/sparc/linux.h | 2 +- + gcc/config/sparc/linux64.h | 4 ++-- + 11 files changed, 28 insertions(+), 33 deletions(-) + +diff --git a/gcc/config/alpha/linux-elf.h b/gcc/config/alpha/linux-elf.h +index 824861befec..6afacce3292 100644 +--- a/gcc/config/alpha/linux-elf.h ++++ b/gcc/config/alpha/linux-elf.h +@@ -23,8 +23,8 @@ along with GCC; see the file COPYING3. If not see + #define EXTRA_SPECS \ + { "elf_dynamic_linker", ELF_DYNAMIC_LINKER }, + +-#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2" +-#define UCLIBC_DYNAMIC_LINKER "/lib/ld-uClibc.so.0" ++#define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux.so.2" ++#define UCLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-uClibc.so.0" + #if DEFAULT_LIBC == LIBC_UCLIBC + #define CHOOSE_DYNAMIC_LINKER(G, U) "%{mglibc:" G ";:" U "}" + #elif DEFAULT_LIBC == LIBC_GLIBC +diff --git a/gcc/config/arm/linux-eabi.h b/gcc/config/arm/linux-eabi.h +index 66ec0ea3980..e4ade2e2ab0 100644 +--- a/gcc/config/arm/linux-eabi.h ++++ b/gcc/config/arm/linux-eabi.h +@@ -65,8 +65,8 @@ + GLIBC_DYNAMIC_LINKER_DEFAULT and TARGET_DEFAULT_FLOAT_ABI. */ + + #undef GLIBC_DYNAMIC_LINKER +-#define GLIBC_DYNAMIC_LINKER_SOFT_FLOAT "/lib/ld-linux.so.3" +-#define GLIBC_DYNAMIC_LINKER_HARD_FLOAT "/lib/ld-linux-armhf.so.3" ++#define GLIBC_DYNAMIC_LINKER_SOFT_FLOAT SYSTEMLIBS_DIR "ld-linux.so.3" ++#define GLIBC_DYNAMIC_LINKER_HARD_FLOAT SYSTEMLIBS_DIR "ld-linux-armhf.so.3" + #define GLIBC_DYNAMIC_LINKER_DEFAULT GLIBC_DYNAMIC_LINKER_SOFT_FLOAT + + #define GLIBC_DYNAMIC_LINKER \ +diff --git a/gcc/config/arm/linux-elf.h b/gcc/config/arm/linux-elf.h +index 9a360defd21..98f6e960b64 100644 +--- a/gcc/config/arm/linux-elf.h ++++ b/gcc/config/arm/linux-elf.h +@@ -60,7 +60,7 @@ + + #define LIBGCC_SPEC "%{mfloat-abi=soft*:-lfloat} -lgcc" + +-#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2" ++#define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux.so.2" + + #define LINUX_TARGET_LINK_SPEC "%{h*} \ + %{static:-Bstatic} \ +diff --git a/gcc/config/i386/linux.h b/gcc/config/i386/linux.h +index 9a6e2d99896..31efbb73016 100644 +--- a/gcc/config/i386/linux.h ++++ b/gcc/config/i386/linux.h +@@ -20,7 +20,7 @@ along with GCC; see the file COPYING3. If not see + <http://www.gnu.org/licenses/>. */ + + #define GNU_USER_LINK_EMULATION "elf_i386" +-#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2" ++#define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux.so.2" + + #undef MUSL_DYNAMIC_LINKER + #define MUSL_DYNAMIC_LINKER "/lib/ld-musl-i386.so.1" +diff --git a/gcc/config/i386/linux64.h b/gcc/config/i386/linux64.h +index c08221c4210..dbb474d792b 100644 +--- a/gcc/config/i386/linux64.h ++++ b/gcc/config/i386/linux64.h +@@ -27,9 +27,9 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + #define GNU_USER_LINK_EMULATION64 "elf_x86_64" + #define GNU_USER_LINK_EMULATIONX32 "elf32_x86_64" + +-#define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2" +-#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux-x86-64.so.2" +-#define GLIBC_DYNAMIC_LINKERX32 "/libx32/ld-linux-x32.so.2" ++#define GLIBC_DYNAMIC_LINKER32 SYSTEMLIBS_DIR "ld-linux.so.2" ++#define GLIBC_DYNAMIC_LINKER64 SYSTEMLIBS_DIR "ld-linux-x86-64.so.2" ++#define GLIBC_DYNAMIC_LINKERX32 SYSTEMLIBS_DIR "ld-linux-x32.so.2" + + #undef MUSL_DYNAMIC_LINKER32 + #define MUSL_DYNAMIC_LINKER32 "/lib/ld-musl-i386.so.1" +diff --git a/gcc/config/linux.h b/gcc/config/linux.h +index c3c4a219e67..4b05d8e93d1 100644 +--- a/gcc/config/linux.h ++++ b/gcc/config/linux.h +@@ -94,10 +94,10 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + GLIBC_DYNAMIC_LINKER must be defined for each target using them, or + GLIBC_DYNAMIC_LINKER32 and GLIBC_DYNAMIC_LINKER64 for targets + supporting both 32-bit and 64-bit compilation. */ +-#define UCLIBC_DYNAMIC_LINKER "/lib/ld-uClibc.so.0" +-#define UCLIBC_DYNAMIC_LINKER32 "/lib/ld-uClibc.so.0" +-#define UCLIBC_DYNAMIC_LINKER64 "/lib/ld64-uClibc.so.0" +-#define UCLIBC_DYNAMIC_LINKERX32 "/lib/ldx32-uClibc.so.0" ++#define UCLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-uClibc.so.0" ++#define UCLIBC_DYNAMIC_LINKER32 SYSTEMLIBS_DIR "ld-uClibc.so.0" ++#define UCLIBC_DYNAMIC_LINKER64 SYSTEMLIBS_DIR "ld64-uClibc.so.0" ++#define UCLIBC_DYNAMIC_LINKERX32 SYSTEMLIBS_DIR "ldx32-uClibc.so.0" + #define BIONIC_DYNAMIC_LINKER "/system/bin/linker" + #define BIONIC_DYNAMIC_LINKER32 "/system/bin/linker" + #define BIONIC_DYNAMIC_LINKER64 "/system/bin/linker64" +diff --git a/gcc/config/mips/linux.h b/gcc/config/mips/linux.h +index 6f79ac9c01a..25de96f9561 100644 +--- a/gcc/config/mips/linux.h ++++ b/gcc/config/mips/linux.h +@@ -22,20 +22,20 @@ along with GCC; see the file COPYING3. If not see + #define GNU_USER_LINK_EMULATIONN32 "elf32%{EB:b}%{EL:l}tsmipn32" + + #define GLIBC_DYNAMIC_LINKER32 \ +- "%{mnan=2008:/lib/ld-linux-mipsn8.so.1;:/lib/ld.so.1}" ++ "%{mnan=2008:" SYSTEMLIBS_DIR "ld-linux-mipsn8.so.1;:" SYSTEMLIBS_DIR "ld.so.1}" + #define GLIBC_DYNAMIC_LINKER64 \ +- "%{mnan=2008:/lib64/ld-linux-mipsn8.so.1;:/lib64/ld.so.1}" ++ "%{mnan=2008:" SYSTEMLIBS_DIR "ld-linux-mipsn8.so.1;:" SYSTEMLIBS_DIR "ld.so.1}" + #define GLIBC_DYNAMIC_LINKERN32 \ +- "%{mnan=2008:/lib32/ld-linux-mipsn8.so.1;:/lib32/ld.so.1}" ++ "%{mnan=2008:" SYSTEMLIBS_DIR "ld-linux-mipsn8.so.1;:" SYSTEMLIBS_DIR "ld.so.1}" + + #undef UCLIBC_DYNAMIC_LINKER32 + #define UCLIBC_DYNAMIC_LINKER32 \ +- "%{mnan=2008:/lib/ld-uClibc-mipsn8.so.0;:/lib/ld-uClibc.so.0}" ++ "%{mnan=2008:" SYSTEMLIBS_DIR "ld-uClibc-mipsn8.so.0;:" SYSTEMLIBS_DIR "ld-uClibc.so.0}" + #undef UCLIBC_DYNAMIC_LINKER64 + #define UCLIBC_DYNAMIC_LINKER64 \ +- "%{mnan=2008:/lib/ld64-uClibc-mipsn8.so.0;:/lib/ld64-uClibc.so.0}" ++ "%{mnan=2008:" SYSTEMLIBS_DIR "ld64-uClibc-mipsn8.so.0;:" SYSTEMLIBS_DIR "ld64-uClibc.so.0}" + #define UCLIBC_DYNAMIC_LINKERN32 \ +- "%{mnan=2008:/lib32/ld-uClibc-mipsn8.so.0;:/lib32/ld-uClibc.so.0}" ++ "%{mnan=2008:" SYSTEMLIBS_DIR "ld-uClibc-mipsn8.so.0;:" SYSTEMLIBS_DIR "ld-uClibc.so.0}" + + #undef MUSL_DYNAMIC_LINKER32 + #define MUSL_DYNAMIC_LINKER32 \ +diff --git a/gcc/config/rs6000/linux64.h b/gcc/config/rs6000/linux64.h +index bcc540b5ff2..982ca274621 100644 +--- a/gcc/config/rs6000/linux64.h ++++ b/gcc/config/rs6000/linux64.h +@@ -428,24 +428,19 @@ extern int dot_symbols; + #undef LINK_OS_DEFAULT_SPEC + #define LINK_OS_DEFAULT_SPEC "%(link_os_linux)" + +-#define GLIBC_DYNAMIC_LINKER32 "%(dynamic_linker_prefix)/lib/ld.so.1" +- ++#define GLIBC_DYNAMIC_LINKER32 SYSTEMLIBS_DIR "ld.so.1" + #ifdef LINUX64_DEFAULT_ABI_ELFv2 +-#define GLIBC_DYNAMIC_LINKER64 \ +-"%{mabi=elfv1:%(dynamic_linker_prefix)/lib64/ld64.so.1;" \ +-":%(dynamic_linker_prefix)/lib64/ld64.so.2}" ++#define GLIBC_DYNAMIC_LINKER64 "%{mabi=elfv1:" SYSTEMLIBS_DIR "ld64.so.1;:" SYSTEMLIBS_DIR "ld64.so.2}" + #else +-#define GLIBC_DYNAMIC_LINKER64 \ +-"%{mabi=elfv2:%(dynamic_linker_prefix)/lib64/ld64.so.2;" \ +-":%(dynamic_linker_prefix)/lib64/ld64.so.1}" ++#define GLIBC_DYNAMIC_LINKER64 "%{mabi=elfv2:" SYSTEMLIBS_DIR "ld64.so.2;:" SYSTEMLIBS_DIR "ld64.so.1}" + #endif + + #undef MUSL_DYNAMIC_LINKER32 + #define MUSL_DYNAMIC_LINKER32 \ +- "/lib/ld-musl-powerpc" MUSL_DYNAMIC_LINKER_E "%{msoft-float:-sf}.so.1" ++ SYSTEMLIBS_DIR "ld-musl-powerpc" MUSL_DYNAMIC_LINKER_E "%{msoft-float:-sf}.so.1" + #undef MUSL_DYNAMIC_LINKER64 + #define MUSL_DYNAMIC_LINKER64 \ +- "/lib/ld-musl-powerpc64" MUSL_DYNAMIC_LINKER_E "%{msoft-float:-sf}.so.1" ++ SYSTEMLIBS_DIR "ld-musl-powerpc64" MUSL_DYNAMIC_LINKER_E "%{msoft-float:-sf}.so.1" + + #undef DEFAULT_ASM_ENDIAN + #if (TARGET_DEFAULT & MASK_LITTLE_ENDIAN) +diff --git a/gcc/config/sh/linux.h b/gcc/config/sh/linux.h +index c9897b7aca5..82f275319cc 100644 +--- a/gcc/config/sh/linux.h ++++ b/gcc/config/sh/linux.h +@@ -64,7 +64,7 @@ along with GCC; see the file COPYING3. If not see + "/lib/ld-musl-sh" MUSL_DYNAMIC_LINKER_E MUSL_DYNAMIC_LINKER_FP \ + "%{mfdpic:-fdpic}.so.1" + +-#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2" ++#define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux.so.2" + + #undef SUBTARGET_LINK_EMUL_SUFFIX + #define SUBTARGET_LINK_EMUL_SUFFIX "%{mfdpic:_fd;:_linux}" +diff --git a/gcc/config/sparc/linux.h b/gcc/config/sparc/linux.h +index 2db9ea2172e..1979cfff5d3 100644 +--- a/gcc/config/sparc/linux.h ++++ b/gcc/config/sparc/linux.h +@@ -83,7 +83,7 @@ extern const char *host_detect_local_cpu (int argc, const char **argv); + When the -shared link option is used a final link is not being + done. */ + +-#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2" ++#define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux.so.2" + + #undef LINK_SPEC + #define LINK_SPEC "-m elf32_sparc %{shared:-shared} \ +diff --git a/gcc/config/sparc/linux64.h b/gcc/config/sparc/linux64.h +index 21e13001951..d39c38a531f 100644 +--- a/gcc/config/sparc/linux64.h ++++ b/gcc/config/sparc/linux64.h +@@ -84,8 +84,8 @@ along with GCC; see the file COPYING3. If not see + When the -shared link option is used a final link is not being + done. */ + +-#define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2" +-#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux.so.2" ++#define GLIBC_DYNAMIC_LINKER32 SYSTEMLIBS_DIR "ld-linux.so.2" ++#define GLIBC_DYNAMIC_LINKER64 SYSTEMLIBS_DIR "ld-linux.so.2" + + #ifdef SPARC_BI_ARCH + +-- +2.20.1 + diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0013-gcc-Fix-argument-list-too-long-error.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0013-gcc-Fix-argument-list-too-long-error.patch new file mode 100644 index 000000000..f853ff90d --- /dev/null +++ b/poky/meta/recipes-devtools/gcc/gcc-9.1/0013-gcc-Fix-argument-list-too-long-error.patch @@ -0,0 +1,40 @@ +From d8a24eca2d7a222d4910c8a508d75d0d1418e201 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Fri, 29 Mar 2013 09:26:37 +0400 +Subject: [PATCH 13/37] gcc: Fix argument list too long error. + +There would be an "Argument list too long" error when the +build directory is longer than 200, this is caused by: + +headers=`echo $(PLUGIN_HEADERS) | tr ' ' '\012' | sort -u` + +The PLUGIN_HEADERS is too long before sort, so the "echo" can't handle +it, use the $(sort list) of GNU make which can handle the too long list +would fix the problem, the header would be short enough after sorted. +The "tr ' ' '\012'" was used for translating the space to "\n", the +$(sort list) doesn't need this. + +Signed-off-by: Robert Yang <liezhi.yang@windriver.com> +Signed-off-by: Khem Raj <raj.khem@gmail.com> + +Upstream-Status: Pending +--- + gcc/Makefile.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/gcc/Makefile.in b/gcc/Makefile.in +index 3ccff1614bb..88b1aec732b 100644 +--- a/gcc/Makefile.in ++++ b/gcc/Makefile.in +@@ -3538,7 +3538,7 @@ install-plugin: installdirs lang.install-plugin s-header-vars install-gengtype + # We keep the directory structure for files in config or c-family and .def + # files. All other files are flattened to a single directory. + $(mkinstalldirs) $(DESTDIR)$(plugin_includedir) +- headers=`echo $(PLUGIN_HEADERS) $$(cd $(srcdir); echo *.h *.def) | tr ' ' '\012' | sort -u`; \ ++ headers="$(sort $(PLUGIN_HEADERS) $$(cd $(srcdir); echo *.h *.def))"; \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`; \ + for file in $$headers; do \ + if [ -f $$file ] ; then \ +-- +2.20.1 + diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0014-Disable-sdt.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0014-Disable-sdt.patch new file mode 100644 index 000000000..945cf8f8a --- /dev/null +++ b/poky/meta/recipes-devtools/gcc/gcc-9.1/0014-Disable-sdt.patch @@ -0,0 +1,113 @@ +From d5e52580314ef6056ca701fcc030c7c884cb1d7f Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Fri, 29 Mar 2013 09:28:10 +0400 +Subject: [PATCH 14/37] Disable sdt. + +We don't list dtrace in DEPENDS so we shouldn't be depending on this header. +It may or may not exist from preivous builds though. To be determinstic, disable +sdt.h usage always. This avoids build failures if the header is removed after configure +but before libgcc is compiled for example. + +RP 2012/8/7 + +Signed-off-by: Khem Raj <raj.khem@gmail.com> + +Disable sdt for libstdc++-v3. + +Signed-off-by: Robert Yang <liezhi.yang@windriver.com> + +Upstream-Status: Inappropriate [hack] +--- + gcc/configure | 12 ++++++------ + gcc/configure.ac | 18 +++++++++--------- + libstdc++-v3/configure | 6 +++--- + libstdc++-v3/configure.ac | 2 +- + 4 files changed, 19 insertions(+), 19 deletions(-) + +diff --git a/gcc/configure b/gcc/configure +index 7acc7e487b0..6a87ab693ea 100755 +--- a/gcc/configure ++++ b/gcc/configure +@@ -29292,12 +29292,12 @@ fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking sys/sdt.h in the target C library" >&5 + $as_echo_n "checking sys/sdt.h in the target C library... " >&6; } + have_sys_sdt_h=no +-if test -f $target_header_dir/sys/sdt.h; then +- have_sys_sdt_h=yes +- +-$as_echo "#define HAVE_SYS_SDT_H 1" >>confdefs.h +- +-fi ++#if test -f $target_header_dir/sys/sdt.h; then ++# have_sys_sdt_h=yes ++# ++#$as_echo "#define HAVE_SYS_SDT_H 1" >>confdefs.h ++# ++#fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_sys_sdt_h" >&5 + $as_echo "$have_sys_sdt_h" >&6; } + +diff --git a/gcc/configure.ac b/gcc/configure.ac +index f5d5e5c16a8..a50765171be 100644 +--- a/gcc/configure.ac ++++ b/gcc/configure.ac +@@ -5985,15 +5985,15 @@ fi + AC_SUBST([enable_default_ssp]) + + # Test for <sys/sdt.h> on the target. +-GCC_TARGET_TEMPLATE([HAVE_SYS_SDT_H]) +-AC_MSG_CHECKING(sys/sdt.h in the target C library) +-have_sys_sdt_h=no +-if test -f $target_header_dir/sys/sdt.h; then +- have_sys_sdt_h=yes +- AC_DEFINE(HAVE_SYS_SDT_H, 1, +- [Define if your target C library provides sys/sdt.h]) +-fi +-AC_MSG_RESULT($have_sys_sdt_h) ++#GCC_TARGET_TEMPLATE([HAVE_SYS_SDT_H]) ++#AC_MSG_CHECKING(sys/sdt.h in the target C library) ++#have_sys_sdt_h=no ++#if test -f $target_header_dir/sys/sdt.h; then ++# have_sys_sdt_h=yes ++# AC_DEFINE(HAVE_SYS_SDT_H, 1, ++# [Define if your target C library provides sys/sdt.h]) ++#fi ++#AC_MSG_RESULT($have_sys_sdt_h) + + # Check if TFmode long double should be used by default or not. + # Some glibc targets used DFmode long double, but with glibc 2.4 +diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure +index 15848e364ab..8d3da1cc526 100755 +--- a/libstdc++-v3/configure ++++ b/libstdc++-v3/configure +@@ -22084,11 +22084,11 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' + ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' + ac_compiler_gnu=$ac_cv_c_compiler_gnu + +- if test $glibcxx_cv_sys_sdt_h = yes; then ++# if test $glibcxx_cv_sys_sdt_h = yes; then + +-$as_echo "#define HAVE_SYS_SDT_H 1" >>confdefs.h ++#$as_echo "#define HAVE_SYS_SDT_H 1" >>confdefs.h + +- fi ++# fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_sys_sdt_h" >&5 + $as_echo "$glibcxx_cv_sys_sdt_h" >&6; } + +diff --git a/libstdc++-v3/configure.ac b/libstdc++-v3/configure.ac +index ad5b4117cfd..2341645ba6f 100644 +--- a/libstdc++-v3/configure.ac ++++ b/libstdc++-v3/configure.ac +@@ -230,7 +230,7 @@ GLIBCXX_CHECK_SC_NPROCESSORS_ONLN + GLIBCXX_CHECK_SC_NPROC_ONLN + GLIBCXX_CHECK_PTHREADS_NUM_PROCESSORS_NP + GLIBCXX_CHECK_SYSCTL_HW_NCPU +-GLIBCXX_CHECK_SDT_H ++#GLIBCXX_CHECK_SDT_H + + # Check for available headers. + AC_CHECK_HEADERS([endian.h execinfo.h float.h fp.h ieeefp.h inttypes.h \ +-- +2.20.1 + diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0015-libtool.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0015-libtool.patch new file mode 100644 index 000000000..764460b89 --- /dev/null +++ b/poky/meta/recipes-devtools/gcc/gcc-9.1/0015-libtool.patch @@ -0,0 +1,42 @@ +From d7c605d92094c75dc2717d9dd830e525b2c8b0ff Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Fri, 29 Mar 2013 09:29:11 +0400 +Subject: [PATCH 15/37] libtool + +libstdc++ from gcc-runtime gets created with -rpath=/usr/lib/../lib for qemux86-64 +when running on am x86_64 build host. + +This patch stops this speading to libdir in the libstdc++.la file within libtool. +Arguably, it shouldn't be passing this into libtool in the first place but +for now this resolves the nastiest problems this causes. + +func_normal_abspath would resolve an empty path to `pwd` so we need +to filter the zero case. + +RP 2012/8/24 + +Signed-off-by: Khem Raj <raj.khem@gmail.com> + +Upstream-Status: Pending +--- + ltmain.sh | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/ltmain.sh b/ltmain.sh +index 79f9ba89af5..8e222f7c16b 100644 +--- a/ltmain.sh ++++ b/ltmain.sh +@@ -6359,6 +6359,10 @@ func_mode_link () + func_warning "ignoring multiple \`-rpath's for a libtool library" + + install_libdir="$1" ++ if test -n "$install_libdir"; then ++ func_normal_abspath "$install_libdir" ++ install_libdir=$func_normal_abspath_result ++ fi + + oldlibs= + if test -z "$rpath"; then +-- +2.20.1 + diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0016-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0016-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch new file mode 100644 index 000000000..398074b5c --- /dev/null +++ b/poky/meta/recipes-devtools/gcc/gcc-9.1/0016-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch @@ -0,0 +1,43 @@ +From c3addf8bc41190d46d98eb7690ff4583eebd5943 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Fri, 29 Mar 2013 09:30:32 +0400 +Subject: [PATCH 16/37] gcc: armv4: pass fix-v4bx to linker to support EABI. + +The LINK_SPEC for linux gets overwritten by linux-eabi.h which +means the value of TARGET_FIX_V4BX_SPEC gets lost and as a result +the option is not passed to linker when chosing march=armv4 +This patch redefines this in linux-eabi.h and reinserts it +for eabi defaulting toolchains. + +We might want to send it upstream. + +Signed-off-by: Khem Raj <raj.khem@gmail.com> + +Upstream-Status: Pending +--- + gcc/config/arm/linux-eabi.h | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/gcc/config/arm/linux-eabi.h b/gcc/config/arm/linux-eabi.h +index e4ade2e2ab0..108863f69d2 100644 +--- a/gcc/config/arm/linux-eabi.h ++++ b/gcc/config/arm/linux-eabi.h +@@ -91,10 +91,14 @@ + #define MUSL_DYNAMIC_LINKER \ + "/lib/ld-musl-arm" MUSL_DYNAMIC_LINKER_E "%{mfloat-abi=hard:hf}.so.1" + ++/* For armv4 we pass --fix-v4bx to linker to support EABI */ ++#undef TARGET_FIX_V4BX_SPEC ++#define TARGET_FIX_V4BX_SPEC "%{mcpu=arm8|mcpu=arm810|mcpu=strongarm*|march=armv4: --fix-v4bx}" ++ + /* At this point, bpabi.h will have clobbered LINK_SPEC. We want to + use the GNU/Linux version, not the generic BPABI version. */ + #undef LINK_SPEC +-#define LINK_SPEC EABI_LINK_SPEC \ ++#define LINK_SPEC TARGET_FIX_V4BX_SPEC EABI_LINK_SPEC \ + LINUX_OR_ANDROID_LD (LINUX_TARGET_LINK_SPEC, \ + LINUX_TARGET_LINK_SPEC " " ANDROID_LINK_SPEC) + +-- +2.20.1 + diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0017-Use-the-multilib-config-files-from-B-instead-of-usin.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0017-Use-the-multilib-config-files-from-B-instead-of-usin.patch new file mode 100644 index 000000000..7d5c94a64 --- /dev/null +++ b/poky/meta/recipes-devtools/gcc/gcc-9.1/0017-Use-the-multilib-config-files-from-B-instead-of-usin.patch @@ -0,0 +1,102 @@ +From e1071f4e749586fcb3edcacf43d4dd44081d16ec Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Fri, 29 Mar 2013 09:33:04 +0400 +Subject: [PATCH 17/37] Use the multilib config files from ${B} instead of + using the ones from ${S} + +Use the multilib config files from ${B} instead of using the ones from ${S} +so that the source can be shared between gcc-cross-initial, +gcc-cross-intermediate, gcc-cross, gcc-runtime, and also the sdk build. + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +Signed-off-by: Constantin Musca <constantinx.musca@intel.com> + +Upstream-Status: Inappropriate [configuration] +--- + gcc/configure | 22 ++++++++++++++++++---- + gcc/configure.ac | 22 ++++++++++++++++++---- + 2 files changed, 36 insertions(+), 8 deletions(-) + +diff --git a/gcc/configure b/gcc/configure +index 6a87ab693ea..2e822caf66d 100755 +--- a/gcc/configure ++++ b/gcc/configure +@@ -12321,10 +12321,20 @@ done + tmake_file_= + for f in ${tmake_file} + do +- if test -f ${srcdir}/config/$f +- then +- tmake_file_="${tmake_file_} \$(srcdir)/config/$f" +- fi ++ case $f in ++ */t-linux64 ) ++ if test -f ./config/$f ++ then ++ tmake_file_="${tmake_file_} ./config/$f" ++ fi ++ ;; ++ * ) ++ if test -f ${srcdir}/config/$f ++ then ++ tmake_file_="${tmake_file_} \$(srcdir)/config/$f" ++ fi ++ ;; ++ esac + done + tmake_file="${tmake_file_}" + +@@ -12335,6 +12345,10 @@ tm_file_list="options.h" + tm_include_list="options.h insn-constants.h" + for f in $tm_file; do + case $f in ++ */linux64.h ) ++ tm_file_list="${tm_file_list} ./config/$f" ++ tm_include_list="${tm_include_list} ./config/$f" ++ ;; + ./* ) + f=`echo $f | sed 's/^..//'` + tm_file_list="${tm_file_list} $f" +diff --git a/gcc/configure.ac b/gcc/configure.ac +index a50765171be..70e7bac78c4 100644 +--- a/gcc/configure.ac ++++ b/gcc/configure.ac +@@ -1948,10 +1948,20 @@ done + tmake_file_= + for f in ${tmake_file} + do +- if test -f ${srcdir}/config/$f +- then +- tmake_file_="${tmake_file_} \$(srcdir)/config/$f" +- fi ++ case $f in ++ */t-linux64 ) ++ if test -f ./config/$f ++ then ++ tmake_file_="${tmake_file_} ./config/$f" ++ fi ++ ;; ++ * ) ++ if test -f ${srcdir}/config/$f ++ then ++ tmake_file_="${tmake_file_} \$(srcdir)/config/$f" ++ fi ++ ;; ++ esac + done + tmake_file="${tmake_file_}" + +@@ -1962,6 +1972,10 @@ tm_file_list="options.h" + tm_include_list="options.h insn-constants.h" + for f in $tm_file; do + case $f in ++ */linux64.h ) ++ tm_file_list="${tm_file_list} ./config/$f" ++ tm_include_list="${tm_include_list} ./config/$f" ++ ;; + ./* ) + f=`echo $f | sed 's/^..//'` + tm_file_list="${tm_file_list} $f" +-- +2.20.1 + diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0018-Avoid-using-libdir-from-.la-which-usually-points-to-.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0018-Avoid-using-libdir-from-.la-which-usually-points-to-.patch new file mode 100644 index 000000000..596337bc1 --- /dev/null +++ b/poky/meta/recipes-devtools/gcc/gcc-9.1/0018-Avoid-using-libdir-from-.la-which-usually-points-to-.patch @@ -0,0 +1,31 @@ +From 1ffbbb39c9848aa7a04da18fb79b1f0bd7731e00 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Fri, 20 Feb 2015 09:39:38 +0000 +Subject: [PATCH 18/37] Avoid using libdir from .la which usually points to a + host path + +Upstream-Status: Inappropriate [embedded specific] + +Signed-off-by: Jonathan Liu <net147@gmail.com> +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + ltmain.sh | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/ltmain.sh b/ltmain.sh +index 8e222f7c16b..0a93b4e5c3b 100644 +--- a/ltmain.sh ++++ b/ltmain.sh +@@ -5628,6 +5628,9 @@ func_mode_link () + absdir="$abs_ladir" + libdir="$abs_ladir" + else ++ # Instead of using libdir from .la which usually points to a host path, ++ # use the path the .la is contained in. ++ libdir="$abs_ladir" + dir="$libdir" + absdir="$libdir" + fi +-- +2.20.1 + diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0019-export-CPP.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0019-export-CPP.patch new file mode 100644 index 000000000..50d17dd96 --- /dev/null +++ b/poky/meta/recipes-devtools/gcc/gcc-9.1/0019-export-CPP.patch @@ -0,0 +1,53 @@ +From 5ece023b88eaba16d8744f8f2ff72345ec3b7f92 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Fri, 20 Feb 2015 09:40:59 +0000 +Subject: [PATCH 19/37] export CPP + +The OE environment sets and exports CPP as being the target gcc. When +building gcc-cross-canadian for a mingw targetted sdk, the following can be found +in build.x86_64-pokysdk-mingw32.i586-poky-linux/build-x86_64-linux/libiberty/config.log: + +configure:3641: checking for _FILE_OFFSET_BITS value needed for large files +configure:3666: gcc -c -isystem/media/build1/poky/build/tmp/sysroots/x86_64-linux/usr/include -O2 -pipe conftest.c >&5 +configure:3666: $? = 0 +configure:3698: result: no +configure:3786: checking how to run the C preprocessor +configure:3856: result: x86_64-pokysdk-mingw32-gcc -E --sysroot=/media/build1/poky/build/tmp/sysroots/x86_64-nativesdk-mingw32-pokysdk-mingw32 +configure:3876: x86_64-pokysdk-mingw32-gcc -E --sysroot=/media/build1/poky/build/tmp/sysroots/x86_64-nativesdk-mingw32-pokysdk-mingw32 conftest.c +configure:3876: $? = 0 + +Note this is a *build* target (in build-x86_64-linux) so it should be +using the host "gcc", not x86_64-pokysdk-mingw32-gcc. Since the mingw32 +headers are very different, using the wrong cpp is a real problem. It is leaking +into configure through the CPP variable. Ultimately this leads to build +failures related to not being able to include a process.h file for pem-unix.c. + +The fix is to ensure we export a sane CPP value into the build +environment when using build targets. We could define a CPP_FOR_BUILD value which may be +the version which needs to be upstreamed but for now, this fix is good enough to +avoid the problem. + +RP 22/08/2013 + +Upstream-Status: Pending + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + Makefile.in | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/Makefile.in b/Makefile.in +index 28539a45372..b21e0791f55 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -149,6 +149,7 @@ BUILD_EXPORTS = \ + AR="$(AR_FOR_BUILD)"; export AR; \ + AS="$(AS_FOR_BUILD)"; export AS; \ + CC="$(CC_FOR_BUILD)"; export CC; \ ++ CPP="$(CC_FOR_BUILD) -E"; export CPP; \ + CFLAGS="$(CFLAGS_FOR_BUILD)"; export CFLAGS; \ + CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ + CXX="$(CXX_FOR_BUILD)"; export CXX; \ +-- +2.20.1 + diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0020-Ensure-target-gcc-headers-can-be-included.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0020-Ensure-target-gcc-headers-can-be-included.patch new file mode 100644 index 000000000..f37c6f39a --- /dev/null +++ b/poky/meta/recipes-devtools/gcc/gcc-9.1/0020-Ensure-target-gcc-headers-can-be-included.patch @@ -0,0 +1,98 @@ +From 89f7a8e5c55b31bff011cd7466d78cd84d1eb307 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Fri, 20 Feb 2015 10:25:11 +0000 +Subject: [PATCH 20/37] Ensure target gcc headers can be included + +There are a few headers installed as part of the OpenEmbedded +gcc-runtime target (omp.h, ssp/*.h). Being installed from a recipe +built for the target architecture, these are within the target +sysroot and not cross/nativesdk; thus they weren't able to be +found by gcc with the existing search paths. Add support for +picking up these headers under the sysroot supplied on the gcc +command line in order to resolve this. + +Upstream-Status: Pending + +Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + gcc/Makefile.in | 2 ++ + gcc/cppdefault.c | 4 ++++ + gcc/defaults.h | 9 +++++++++ + gcc/gcc.c | 7 ------- + 4 files changed, 15 insertions(+), 7 deletions(-) + +diff --git a/gcc/Makefile.in b/gcc/Makefile.in +index 88b1aec732b..eb1dc304de2 100644 +--- a/gcc/Makefile.in ++++ b/gcc/Makefile.in +@@ -618,6 +618,7 @@ libexecdir = @libexecdir@ + + # Directory in which the compiler finds libraries etc. + libsubdir = $(libdir)/gcc/$(real_target_noncanonical)/$(version)$(accel_dir_suffix) ++libsubdir_target = gcc/$(target_noncanonical)/$(version) + # Directory in which the compiler finds executables + libexecsubdir = $(libexecdir)/gcc/$(real_target_noncanonical)/$(version)$(accel_dir_suffix) + # Directory in which all plugin resources are installed +@@ -2867,6 +2868,7 @@ CFLAGS-intl.o += -DLOCALEDIR=\"$(localedir)\" + + PREPROCESSOR_DEFINES = \ + -DGCC_INCLUDE_DIR=\"$(libsubdir)/include\" \ ++ -DGCC_INCLUDE_SUBDIR_TARGET=\"$(libsubdir_target)/include\" \ + -DFIXED_INCLUDE_DIR=\"$(libsubdir)/include-fixed\" \ + -DGPLUSPLUS_INCLUDE_DIR=\"$(gcc_gxx_include_dir)\" \ + -DGPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT=$(gcc_gxx_include_dir_add_sysroot) \ +diff --git a/gcc/cppdefault.c b/gcc/cppdefault.c +index c4796385643..980e2bd47a7 100644 +--- a/gcc/cppdefault.c ++++ b/gcc/cppdefault.c +@@ -59,6 +59,10 @@ const struct default_include cpp_include_defaults[] + /* This is the dir for gcc's private headers. */ + { GCC_INCLUDE_DIR, "GCC", 0, 0, 0, 0 }, + #endif ++#ifdef GCC_INCLUDE_SUBDIR_TARGET ++ /* This is the dir for gcc's private headers under the specified sysroot. */ ++ { STANDARD_STARTFILE_PREFIX_2 GCC_INCLUDE_SUBDIR_TARGET, "GCC", 0, 0, 1, 0 }, ++#endif + #ifdef LOCAL_INCLUDE_DIR + /* /usr/local/include comes before the fixincluded header files. */ + { LOCAL_INCLUDE_DIR, 0, 0, 1, 1, 2 }, +diff --git a/gcc/defaults.h b/gcc/defaults.h +index b7534256119..41ca579b267 100644 +--- a/gcc/defaults.h ++++ b/gcc/defaults.h +@@ -1459,4 +1459,13 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + #define DWARF_GNAT_ENCODINGS_DEFAULT DWARF_GNAT_ENCODINGS_GDB + #endif + ++/* Default prefixes to attach to command names. */ ++ ++#ifndef STANDARD_STARTFILE_PREFIX_1 ++#define STANDARD_STARTFILE_PREFIX_1 "/lib/" ++#endif ++#ifndef STANDARD_STARTFILE_PREFIX_2 ++#define STANDARD_STARTFILE_PREFIX_2 "/usr/lib/" ++#endif ++ + #endif /* ! GCC_DEFAULTS_H */ +diff --git a/gcc/gcc.c b/gcc/gcc.c +index cef26c454d7..14b1a6e8c44 100644 +--- a/gcc/gcc.c ++++ b/gcc/gcc.c +@@ -1470,13 +1470,6 @@ static const char *gcc_libexec_prefix; + + /* Default prefixes to attach to command names. */ + +-#ifndef STANDARD_STARTFILE_PREFIX_1 +-#define STANDARD_STARTFILE_PREFIX_1 "/lib/" +-#endif +-#ifndef STANDARD_STARTFILE_PREFIX_2 +-#define STANDARD_STARTFILE_PREFIX_2 "/usr/lib/" +-#endif +- + #ifdef CROSS_DIRECTORY_STRUCTURE /* Don't use these prefixes for a cross compiler. */ + #undef MD_EXEC_PREFIX + #undef MD_STARTFILE_PREFIX +-- +2.20.1 + diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0021-gcc-4.8-won-t-build-with-disable-dependency-tracking.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0021-gcc-4.8-won-t-build-with-disable-dependency-tracking.patch new file mode 100644 index 000000000..ef985727a --- /dev/null +++ b/poky/meta/recipes-devtools/gcc/gcc-9.1/0021-gcc-4.8-won-t-build-with-disable-dependency-tracking.patch @@ -0,0 +1,54 @@ +From 2a1895aca3d9020d0d5ac74975221727384ef8a6 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Fri, 20 Feb 2015 11:17:19 +0000 +Subject: [PATCH 21/37] gcc 4.8+ won't build with --disable-dependency-tracking + +since the *.Ppo files don't get created unless --enable-dependency-tracking is true. + +This patch ensures we only use those compiler options when its enabled. + +Upstream-Status: Submitted + +(Problem was already reported upstream, attached this patch there +http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55930) + +RP +2012/09/22 + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + libatomic/Makefile.am | 3 ++- + libatomic/Makefile.in | 3 ++- + 2 files changed, 4 insertions(+), 2 deletions(-) + +diff --git a/libatomic/Makefile.am b/libatomic/Makefile.am +index c1b7c73934a..ef43d62c07a 100644 +--- a/libatomic/Makefile.am ++++ b/libatomic/Makefile.am +@@ -101,7 +101,8 @@ PAT_S = $(word 3,$(PAT_SPLIT)) + IFUNC_DEF = -DIFUNC_ALT=$(PAT_S) + IFUNC_OPT = $(word $(PAT_S),$(IFUNC_OPTIONS)) + +-M_DEPS = -MT $@ -MD -MP -MF $(DEPDIR)/$(@F).Ppo ++@AMDEP_TRUE@M_DEPS = -MT $@ -MD -MP -MF $(DEPDIR)/$(@F).Ppo ++@AMDEP_FALSE@M_DEPS = + M_SIZE = -DN=$(PAT_N) + M_IFUNC = $(if $(PAT_S),$(IFUNC_DEF) $(IFUNC_OPT)) + M_FILE = $(PAT_BASE)_n.c +diff --git a/libatomic/Makefile.in b/libatomic/Makefile.in +index 29324e3e0ac..d5cdb4259ef 100644 +--- a/libatomic/Makefile.in ++++ b/libatomic/Makefile.in +@@ -414,7 +414,8 @@ PAT_N = $(word 2,$(PAT_SPLIT)) + PAT_S = $(word 3,$(PAT_SPLIT)) + IFUNC_DEF = -DIFUNC_ALT=$(PAT_S) + IFUNC_OPT = $(word $(PAT_S),$(IFUNC_OPTIONS)) +-M_DEPS = -MT $@ -MD -MP -MF $(DEPDIR)/$(@F).Ppo ++@AMDEP_TRUE@M_DEPS = -MT $@ -MD -MP -MF $(DEPDIR)/$(@F).Ppo ++@AMDEP_FALSE@M_DEPS = + M_SIZE = -DN=$(PAT_N) + M_IFUNC = $(if $(PAT_S),$(IFUNC_DEF) $(IFUNC_OPT)) + M_FILE = $(PAT_BASE)_n.c +-- +2.20.1 + diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0022-Don-t-search-host-directory-during-relink-if-inst_pr.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0022-Don-t-search-host-directory-during-relink-if-inst_pr.patch new file mode 100644 index 000000000..8316c4d81 --- /dev/null +++ b/poky/meta/recipes-devtools/gcc/gcc-9.1/0022-Don-t-search-host-directory-during-relink-if-inst_pr.patch @@ -0,0 +1,38 @@ +From 4b9f8cfbfb48a1a9781b7c3a9b867732ef37b7c5 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Tue, 3 Mar 2015 08:21:19 +0000 +Subject: [PATCH 22/37] Don't search host directory during "relink" if + $inst_prefix is provided + +http://lists.gnu.org/archive/html/libtool-patches/2011-01/msg00026.html + +Upstream-Status: Submitted + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + ltmain.sh | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/ltmain.sh b/ltmain.sh +index 0a93b4e5c3b..6de6ed2f9a0 100644 +--- a/ltmain.sh ++++ b/ltmain.sh +@@ -6004,12 +6004,13 @@ func_mode_link () + fi + else + # We cannot seem to hardcode it, guess we'll fake it. ++ # Default if $libdir is not relative to the prefix: + add_dir="-L$libdir" +- # Try looking first in the location we're being installed to. ++ + if test -n "$inst_prefix_dir"; then + case $libdir in + [\\/]*) +- add_dir="$add_dir -L$inst_prefix_dir$libdir" ++ add_dir="-L$inst_prefix_dir$libdir" + ;; + esac + fi +-- +2.20.1 + diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0023-Use-SYSTEMLIBS_DIR-replacement-instead-of-hardcoding.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0023-Use-SYSTEMLIBS_DIR-replacement-instead-of-hardcoding.patch new file mode 100644 index 000000000..fdea599ab --- /dev/null +++ b/poky/meta/recipes-devtools/gcc/gcc-9.1/0023-Use-SYSTEMLIBS_DIR-replacement-instead-of-hardcoding.patch @@ -0,0 +1,29 @@ +From 3a554b321250f6ddf1277e5559890ee977e78cb0 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Tue, 28 Apr 2015 23:15:27 -0700 +Subject: [PATCH 23/37] Use SYSTEMLIBS_DIR replacement instead of hardcoding + base_libdir + +Upstream-Status: Pending + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + gcc/config/aarch64/aarch64-linux.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/gcc/config/aarch64/aarch64-linux.h b/gcc/config/aarch64/aarch64-linux.h +index 9d0292d64f2..51661995fc7 100644 +--- a/gcc/config/aarch64/aarch64-linux.h ++++ b/gcc/config/aarch64/aarch64-linux.h +@@ -21,7 +21,7 @@ + #ifndef GCC_AARCH64_LINUX_H + #define GCC_AARCH64_LINUX_H + +-#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1" ++#define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1" + + #undef MUSL_DYNAMIC_LINKER + #define MUSL_DYNAMIC_LINKER "/lib/ld-musl-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1" +-- +2.20.1 + diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0024-aarch64-Add-support-for-musl-ldso.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0024-aarch64-Add-support-for-musl-ldso.patch new file mode 100644 index 000000000..f53c9949c --- /dev/null +++ b/poky/meta/recipes-devtools/gcc/gcc-9.1/0024-aarch64-Add-support-for-musl-ldso.patch @@ -0,0 +1,28 @@ +From b7001034f35e7e5090fa95cb9a622469300cd45d Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Tue, 28 Apr 2015 23:18:39 -0700 +Subject: [PATCH 24/37] aarch64: Add support for musl ldso + +Upstream-Status: Pending + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + gcc/config/aarch64/aarch64-linux.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/gcc/config/aarch64/aarch64-linux.h b/gcc/config/aarch64/aarch64-linux.h +index 51661995fc7..db687f753f6 100644 +--- a/gcc/config/aarch64/aarch64-linux.h ++++ b/gcc/config/aarch64/aarch64-linux.h +@@ -24,7 +24,7 @@ + #define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1" + + #undef MUSL_DYNAMIC_LINKER +-#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1" ++#define MUSL_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-musl-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1" + + #undef ASAN_CC1_SPEC + #define ASAN_CC1_SPEC "%{%:sanitize(address):-funwind-tables}" +-- +2.20.1 + diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0025-libcc1-fix-libcc1-s-install-path-and-rpath.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0025-libcc1-fix-libcc1-s-install-path-and-rpath.patch new file mode 100644 index 000000000..7b80655b6 --- /dev/null +++ b/poky/meta/recipes-devtools/gcc/gcc-9.1/0025-libcc1-fix-libcc1-s-install-path-and-rpath.patch @@ -0,0 +1,54 @@ +From 4d05ea7a12d1ba4515220c5c16f71ac650219db6 Mon Sep 17 00:00:00 2001 +From: Robert Yang <liezhi.yang@windriver.com> +Date: Sun, 5 Jul 2015 20:25:18 -0700 +Subject: [PATCH 25/37] libcc1: fix libcc1's install path and rpath + +* Install libcc1.so and libcc1plugin.so into + $(libexecdir)/gcc/$(target_noncanonical)/$(gcc_version), as what we + had done to lto-plugin. +* Fix bad RPATH iussue: + gcc-5.2.0: package gcc-plugins contains bad RPATH /patht/to/tmp/sysroots/qemux86-64/usr/lib64/../lib64 in file + /path/to/gcc/5.2.0-r0/packages-split/gcc-plugins/usr/lib64/gcc/x86_64-poky-linux/5.2.0/plugin/libcc1plugin.so.0.0.0 + [rpaths] + +Upstream-Status: Inappropriate [OE configuration] + +Signed-off-by: Robert Yang <liezhi.yang@windriver.com> +--- + libcc1/Makefile.am | 4 ++-- + libcc1/Makefile.in | 4 ++-- + 2 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/libcc1/Makefile.am b/libcc1/Makefile.am +index 72c6aead475..42a87740b31 100644 +--- a/libcc1/Makefile.am ++++ b/libcc1/Makefile.am +@@ -37,8 +37,8 @@ libiberty = $(if $(wildcard $(libiberty_noasan)),$(Wc)$(libiberty_noasan), \ + $(Wc)$(libiberty_normal))) + libiberty_dep = $(patsubst $(Wc)%,%,$(libiberty)) + +-plugindir = $(libdir)/gcc/$(target_noncanonical)/$(gcc_version)/plugin +-cc1libdir = $(libdir)/$(libsuffix) ++cc1libdir = $(libexecdir)/gcc/$(target_noncanonical)/$(gcc_version) ++plugindir = $(cc1libdir) + + if ENABLE_PLUGIN + plugin_LTLIBRARIES = libcc1plugin.la libcp1plugin.la +diff --git a/libcc1/Makefile.in b/libcc1/Makefile.in +index 7104b649026..2103c477468 100644 +--- a/libcc1/Makefile.in ++++ b/libcc1/Makefile.in +@@ -393,8 +393,8 @@ libiberty = $(if $(wildcard $(libiberty_noasan)),$(Wc)$(libiberty_noasan), \ + $(Wc)$(libiberty_normal))) + + libiberty_dep = $(patsubst $(Wc)%,%,$(libiberty)) +-plugindir = $(libdir)/gcc/$(target_noncanonical)/$(gcc_version)/plugin +-cc1libdir = $(libdir)/$(libsuffix) ++cc1libdir = $(libexecdir)/gcc/$(target_noncanonical)/$(gcc_version) ++plugindir = $(cc1libdir) + @ENABLE_PLUGIN_TRUE@plugin_LTLIBRARIES = libcc1plugin.la libcp1plugin.la + @ENABLE_PLUGIN_TRUE@cc1lib_LTLIBRARIES = libcc1.la + shared_source = callbacks.cc callbacks.hh connection.cc connection.hh \ +-- +2.20.1 + diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0026-handle-sysroot-support-for-nativesdk-gcc.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0026-handle-sysroot-support-for-nativesdk-gcc.patch new file mode 100644 index 000000000..7062c0319 --- /dev/null +++ b/poky/meta/recipes-devtools/gcc/gcc-9.1/0026-handle-sysroot-support-for-nativesdk-gcc.patch @@ -0,0 +1,213 @@ +From fe175ac845f1ac6965ede0240e9b763ae520614d Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Mon, 7 Dec 2015 23:39:54 +0000 +Subject: [PATCH 26/37] handle sysroot support for nativesdk-gcc + +Being able to build a nativesdk gcc is useful, particularly in cases +where the host compiler may be of an incompatible version (or a 32 +bit compiler is needed). + +Sadly, building nativesdk-gcc is not straight forward. We install +nativesdk-gcc into a relocatable location and this means that its +library locations can change. "Normal" sysroot support doesn't help +in this case since the values of paths like "libdir" change, not just +base root directory of the system. + +In order to handle this we do two things: + +a) Add %r into spec file markup which can be used for injected paths + such as SYSTEMLIBS_DIR (see gcc_multilib_setup()). +b) Add other paths which need relocation into a .gccrelocprefix section + which the relocation code will notice and adjust automatically. + +Upstream-Status: Inappropriate +RP 2015/7/28 + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + gcc/cppdefault.c | 50 +++++++++++++++++++++++++++++++++++------------- + gcc/cppdefault.h | 3 ++- + gcc/gcc.c | 20 +++++++++++++------ + 3 files changed, 53 insertions(+), 20 deletions(-) + +diff --git a/gcc/cppdefault.c b/gcc/cppdefault.c +index 980e2bd47a7..39b6059efdc 100644 +--- a/gcc/cppdefault.c ++++ b/gcc/cppdefault.c +@@ -35,6 +35,30 @@ + # undef CROSS_INCLUDE_DIR + #endif + ++static char GPLUSPLUS_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = GPLUSPLUS_INCLUDE_DIR; ++static char GCC_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = GCC_INCLUDE_DIR; ++static char GPLUSPLUS_TOOL_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = GPLUSPLUS_TOOL_INCLUDE_DIR; ++static char GPLUSPLUS_BACKWARD_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = GPLUSPLUS_BACKWARD_INCLUDE_DIR; ++static char STANDARD_STARTFILE_PREFIX_2VAR[4096] __attribute__ ((section (".gccrelocprefix"))) = STANDARD_STARTFILE_PREFIX_2 GCC_INCLUDE_SUBDIR_TARGET; ++#ifdef LOCAL_INCLUDE_DIR ++static char LOCAL_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = LOCAL_INCLUDE_DIR; ++#endif ++#ifdef PREFIX_INCLUDE_DIR ++static char PREFIX_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = PREFIX_INCLUDE_DIR; ++#endif ++#ifdef FIXED_INCLUDE_DIR ++static char FIXED_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = FIXED_INCLUDE_DIR; ++#endif ++#ifdef CROSS_INCLUDE_DIR ++static char CROSS_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = CROSS_INCLUDE_DIR; ++#endif ++#ifdef TOOL_INCLUDE_DIR ++static char TOOL_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = TOOL_INCLUDE_DIR; ++#endif ++#ifdef NATIVE_SYSTEM_HEADER_DIR ++static char NATIVE_SYSTEM_HEADER_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = NATIVE_SYSTEM_HEADER_DIR; ++#endif ++ + const struct default_include cpp_include_defaults[] + #ifdef INCLUDE_DEFAULTS + = INCLUDE_DEFAULTS; +@@ -42,38 +66,38 @@ const struct default_include cpp_include_defaults[] + = { + #ifdef GPLUSPLUS_INCLUDE_DIR + /* Pick up GNU C++ generic include files. */ +- { GPLUSPLUS_INCLUDE_DIR, "G++", 1, 1, ++ { GPLUSPLUS_INCLUDE_DIRVAR, "G++", 1, 1, + GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 0 }, + #endif + #ifdef GPLUSPLUS_TOOL_INCLUDE_DIR + /* Pick up GNU C++ target-dependent include files. */ +- { GPLUSPLUS_TOOL_INCLUDE_DIR, "G++", 1, 1, ++ { GPLUSPLUS_TOOL_INCLUDE_DIRVAR, "G++", 1, 1, + GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 1 }, + #endif + #ifdef GPLUSPLUS_BACKWARD_INCLUDE_DIR + /* Pick up GNU C++ backward and deprecated include files. */ +- { GPLUSPLUS_BACKWARD_INCLUDE_DIR, "G++", 1, 1, ++ { GPLUSPLUS_BACKWARD_INCLUDE_DIRVAR, "G++", 1, 1, + GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 0 }, + #endif + #ifdef GCC_INCLUDE_DIR + /* This is the dir for gcc's private headers. */ +- { GCC_INCLUDE_DIR, "GCC", 0, 0, 0, 0 }, ++ { GCC_INCLUDE_DIRVAR, "GCC", 0, 0, 0, 0 }, + #endif + #ifdef GCC_INCLUDE_SUBDIR_TARGET + /* This is the dir for gcc's private headers under the specified sysroot. */ +- { STANDARD_STARTFILE_PREFIX_2 GCC_INCLUDE_SUBDIR_TARGET, "GCC", 0, 0, 1, 0 }, ++ { STANDARD_STARTFILE_PREFIX_2VAR, "GCC", 0, 0, 1, 0 }, + #endif + #ifdef LOCAL_INCLUDE_DIR + /* /usr/local/include comes before the fixincluded header files. */ +- { LOCAL_INCLUDE_DIR, 0, 0, 1, 1, 2 }, +- { LOCAL_INCLUDE_DIR, 0, 0, 1, 1, 0 }, ++ { LOCAL_INCLUDE_DIRVAR, 0, 0, 1, 1, 2 }, ++ { LOCAL_INCLUDE_DIRVAR, 0, 0, 1, 1, 0 }, + #endif + #ifdef PREFIX_INCLUDE_DIR +- { PREFIX_INCLUDE_DIR, 0, 0, 1, 0, 0 }, ++ { PREFIX_INCLUDE_DIRVAR, 0, 0, 1, 0, 0 }, + #endif + #ifdef FIXED_INCLUDE_DIR + /* This is the dir for fixincludes. */ +- { FIXED_INCLUDE_DIR, "GCC", 0, 0, 0, ++ { FIXED_INCLUDE_DIRVAR, "GCC", 0, 0, 0, + /* A multilib suffix needs adding if different multilibs use + different headers. */ + #ifdef SYSROOT_HEADERS_SUFFIX_SPEC +@@ -85,16 +109,16 @@ const struct default_include cpp_include_defaults[] + #endif + #ifdef CROSS_INCLUDE_DIR + /* One place the target system's headers might be. */ +- { CROSS_INCLUDE_DIR, "GCC", 0, 0, 0, 0 }, ++ { CROSS_INCLUDE_DIRVAR, "GCC", 0, 0, 0, 0 }, + #endif + #ifdef TOOL_INCLUDE_DIR + /* Another place the target system's headers might be. */ +- { TOOL_INCLUDE_DIR, "BINUTILS", 0, 1, 0, 0 }, ++ { TOOL_INCLUDE_DIRVAR, "BINUTILS", 0, 1, 0, 0 }, + #endif + #ifdef NATIVE_SYSTEM_HEADER_DIR + /* /usr/include comes dead last. */ +- { NATIVE_SYSTEM_HEADER_DIR, NATIVE_SYSTEM_HEADER_COMPONENT, 0, 0, 1, 2 }, +- { NATIVE_SYSTEM_HEADER_DIR, NATIVE_SYSTEM_HEADER_COMPONENT, 0, 0, 1, 0 }, ++ { NATIVE_SYSTEM_HEADER_DIRVAR, NATIVE_SYSTEM_HEADER_COMPONENT, 0, 0, 1, 2 }, ++ { NATIVE_SYSTEM_HEADER_DIRVAR, NATIVE_SYSTEM_HEADER_COMPONENT, 0, 0, 1, 0 }, + #endif + { 0, 0, 0, 0, 0, 0 } + }; +diff --git a/gcc/cppdefault.h b/gcc/cppdefault.h +index e2d96f1e760..29fa5f815c8 100644 +--- a/gcc/cppdefault.h ++++ b/gcc/cppdefault.h +@@ -33,7 +33,8 @@ + + struct default_include + { +- const char *const fname; /* The name of the directory. */ ++ const char *fname; /* The name of the directory. */ ++ + const char *const component; /* The component containing the directory + (see update_path in prefix.c) */ + const char cplusplus; /* Only look here if we're compiling C++. */ +diff --git a/gcc/gcc.c b/gcc/gcc.c +index 14b1a6e8c44..857310092d9 100644 +--- a/gcc/gcc.c ++++ b/gcc/gcc.c +@@ -253,6 +253,8 @@ FILE *report_times_to_file = NULL; + #endif + static const char *target_system_root = DEFAULT_TARGET_SYSTEM_ROOT; + ++static char target_relocatable_prefix[4096] __attribute__ ((section (".gccrelocprefix"))) = SYSTEMLIBS_DIR; ++ + /* Nonzero means pass the updated target_system_root to the compiler. */ + + static int target_system_root_changed; +@@ -527,6 +529,7 @@ or with constant text in a single argument. + %G process LIBGCC_SPEC as a spec. + %R Output the concatenation of target_system_root and + target_sysroot_suffix. ++ %r Output the base path target_relocatable_prefix + %S process STARTFILE_SPEC as a spec. A capital S is actually used here. + %E process ENDFILE_SPEC as a spec. A capital E is actually used here. + %C process CPP_SPEC as a spec. +@@ -1493,10 +1496,10 @@ static const char *gcc_libexec_prefix; + gcc_exec_prefix is set because, in that case, we know where the + compiler has been installed, and use paths relative to that + location instead. */ +-static const char *const standard_exec_prefix = STANDARD_EXEC_PREFIX; +-static const char *const standard_libexec_prefix = STANDARD_LIBEXEC_PREFIX; +-static const char *const standard_bindir_prefix = STANDARD_BINDIR_PREFIX; +-static const char *const standard_startfile_prefix = STANDARD_STARTFILE_PREFIX; ++static char standard_exec_prefix[4096] __attribute__ ((section (".gccrelocprefix"))) = STANDARD_EXEC_PREFIX; ++static char standard_libexec_prefix[4096] __attribute__ ((section (".gccrelocprefix"))) = STANDARD_LIBEXEC_PREFIX; ++static char standard_bindir_prefix[4096] __attribute__ ((section (".gccrelocprefix"))) = STANDARD_BINDIR_PREFIX; ++static char *const standard_startfile_prefix = STANDARD_STARTFILE_PREFIX; + + /* For native compilers, these are well-known paths containing + components that may be provided by the system. For cross +@@ -1504,9 +1507,9 @@ static const char *const standard_startfile_prefix = STANDARD_STARTFILE_PREFIX; + static const char *md_exec_prefix = MD_EXEC_PREFIX; + static const char *md_startfile_prefix = MD_STARTFILE_PREFIX; + static const char *md_startfile_prefix_1 = MD_STARTFILE_PREFIX_1; +-static const char *const standard_startfile_prefix_1 ++static char standard_startfile_prefix_1[4096] __attribute__ ((section (".gccrelocprefix"))) + = STANDARD_STARTFILE_PREFIX_1; +-static const char *const standard_startfile_prefix_2 ++static char standard_startfile_prefix_2[4096] __attribute__ ((section (".gccrelocprefix"))) + = STANDARD_STARTFILE_PREFIX_2; + + /* A relative path to be used in finding the location of tools +@@ -5915,6 +5918,11 @@ do_spec_1 (const char *spec, int inswitch, const char *soft_matched_part) + } + break; + ++ case 'r': ++ obstack_grow (&obstack, target_relocatable_prefix, ++ strlen (target_relocatable_prefix)); ++ break; ++ + case 'S': + value = do_spec_1 (startfile_spec, 0, NULL); + if (value != 0) +-- +2.20.1 + diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0027-Search-target-sysroot-gcc-version-specific-dirs-with.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0027-Search-target-sysroot-gcc-version-specific-dirs-with.patch new file mode 100644 index 000000000..e3ec943bf --- /dev/null +++ b/poky/meta/recipes-devtools/gcc/gcc-9.1/0027-Search-target-sysroot-gcc-version-specific-dirs-with.patch @@ -0,0 +1,102 @@ +From bf07530706382c90fb89f7d8a727eb9aeb29a56a Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Mon, 7 Dec 2015 23:41:45 +0000 +Subject: [PATCH 27/37] Search target sysroot gcc version specific dirs with + multilib. + +We install the gcc libraries (such as crtbegin.p) into +<sysroot><libdir>/<target-sys>/5.2.0/ +which is a default search path for GCC (aka multi_suffix in the +code below). <target-sys> is 'machine' in gcc's terminology. We use +these directories so that multiple gcc versions could in theory +co-exist on target. + +We only want to build one gcc-cross-canadian per arch and have this work +for all multilibs. <target-sys> can be handled by mapping the multilib +<target-sys> to the one used by gcc-cross-canadian, e.g. +mips64-polkmllib32-linux +is symlinked to by mips64-poky-linux. + +The default gcc search path in the target sysroot for a "lib64" mutlilib +is: + +<sysroot>/lib32/mips64-poky-linux/5.2.0/ +<sysroot>/lib32/../lib64/ +<sysroot>/usr/lib32/mips64-poky-linux/5.2.0/ +<sysroot>/usr/lib32/../lib64/ +<sysroot>/lib32/ +<sysroot>/usr/lib32/ + +which means that the lib32 crtbegin.o will be found and the lib64 ones +will not which leads to compiler failures. + +This patch injects a multilib version of that path first so the lib64 +binaries can be found first. With this change the search path becomes: + +<sysroot>/lib32/../lib64/mips64-poky-linux/5.2.0/ +<sysroot>/lib32/mips64-poky-linux/5.2.0/ +<sysroot>/lib32/../lib64/ +<sysroot>/usr/lib32/../lib64/mips64-poky-linux/5.2.0/ +<sysroot>/usr/lib32/mips64-poky-linux/5.2.0/ +<sysroot>/usr/lib32/../lib64/ +<sysroot>/lib32/ +<sysroot>/usr/lib32/ + +Upstream-Status: Pending +RP 2015/7/31 + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + gcc/gcc.c | 29 ++++++++++++++++++++++++++++- + 1 file changed, 28 insertions(+), 1 deletion(-) + +diff --git a/gcc/gcc.c b/gcc/gcc.c +index 857310092d9..6363e63b8ff 100644 +--- a/gcc/gcc.c ++++ b/gcc/gcc.c +@@ -2610,7 +2610,7 @@ for_each_path (const struct path_prefix *paths, + if (path == NULL) + { + len = paths->max_len + extra_space + 1; +- len += MAX (MAX (suffix_len, multi_os_dir_len), multiarch_len); ++ len += MAX ((suffix_len + multi_os_dir_len), multiarch_len); + path = XNEWVEC (char, len); + } + +@@ -2622,6 +2622,33 @@ for_each_path (const struct path_prefix *paths, + /* Look first in MACHINE/VERSION subdirectory. */ + if (!skip_multi_dir) + { ++ if (!(pl->os_multilib ? skip_multi_os_dir : skip_multi_dir)) ++ { ++ const char *this_multi; ++ size_t this_multi_len; ++ ++ if (pl->os_multilib) ++ { ++ this_multi = multi_os_dir; ++ this_multi_len = multi_os_dir_len; ++ } ++ else ++ { ++ this_multi = multi_dir; ++ this_multi_len = multi_dir_len; ++ } ++ ++ /* Look in multilib MACHINE/VERSION subdirectory first */ ++ if (this_multi_len) ++ { ++ memcpy (path + len, this_multi, this_multi_len + 1); ++ memcpy (path + len + this_multi_len, multi_suffix, suffix_len + 1); ++ ret = callback (path, callback_info); ++ if (ret) ++ break; ++ } ++ } ++ + memcpy (path + len, multi_suffix, suffix_len + 1); + ret = callback (path, callback_info); + if (ret) +-- +2.20.1 + diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0028-Fix-various-_FOR_BUILD-and-related-variables.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0028-Fix-various-_FOR_BUILD-and-related-variables.patch new file mode 100644 index 000000000..bdcbd323c --- /dev/null +++ b/poky/meta/recipes-devtools/gcc/gcc-9.1/0028-Fix-various-_FOR_BUILD-and-related-variables.patch @@ -0,0 +1,137 @@ +From 16ab14b7221b3491cd43ab745f57b60ca83089df Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Mon, 7 Dec 2015 23:42:45 +0000 +Subject: [PATCH 28/37] Fix various _FOR_BUILD and related variables + +When doing a FOR_BUILD thing, you have to override CFLAGS with +CFLAGS_FOR_BUILD. And if you use C++, you also have to override +CXXFLAGS with CXXFLAGS_FOR_BUILD. +Without this, when building for mingw, you end up trying to use +the mingw headers for a host build. + +The same goes for other variables as well, such as CPPFLAGS, +CPP, and GMPINC. + +Upstream-Status: Pending + +Signed-off-by: Peter Seebach <peter.seebach@windriver.com> +Signed-off-by: Mark Hatle <mark.hatle@windriver.com> +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + Makefile.in | 6 ++++++ + Makefile.tpl | 5 +++++ + gcc/Makefile.in | 2 +- + gcc/configure | 2 +- + gcc/configure.ac | 2 +- + 5 files changed, 14 insertions(+), 3 deletions(-) + +diff --git a/Makefile.in b/Makefile.in +index b21e0791f55..0e573791202 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -152,6 +152,7 @@ BUILD_EXPORTS = \ + CPP="$(CC_FOR_BUILD) -E"; export CPP; \ + CFLAGS="$(CFLAGS_FOR_BUILD)"; export CFLAGS; \ + CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ ++ CPPFLAGS="$(CPPFLAGS_FOR_BUILD)"; export CPPFLAGS; \ + CXX="$(CXX_FOR_BUILD)"; export CXX; \ + CXXFLAGS="$(CXXFLAGS_FOR_BUILD)"; export CXXFLAGS; \ + GFORTRAN="$(GFORTRAN_FOR_BUILD)"; export GFORTRAN; \ +@@ -171,6 +172,9 @@ BUILD_EXPORTS = \ + # built for the build system to override those in BASE_FLAGS_TO_PASS. + EXTRA_BUILD_FLAGS = \ + CFLAGS="$(CFLAGS_FOR_BUILD)" \ ++ CXXFLAGS="$(CXXFLAGS_FOR_BUILD)" \ ++ CPP="$(CC_FOR_BUILD) -E" \ ++ CPPFLAGS="$(CPPFLAGS_FOR_BUILD)" \ + LDFLAGS="$(LDFLAGS_FOR_BUILD)" + + # This is the list of directories to built for the host system. +@@ -188,6 +192,7 @@ HOST_SUBDIR = @host_subdir@ + HOST_EXPORTS = \ + $(BASE_EXPORTS) \ + CC="$(CC)"; export CC; \ ++ CPP="$(CC) -E"; export CPP; \ + ADA_CFLAGS="$(ADA_CFLAGS)"; export ADA_CFLAGS; \ + CFLAGS="$(CFLAGS)"; export CFLAGS; \ + CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ +@@ -775,6 +780,7 @@ BASE_FLAGS_TO_PASS = \ + "CC_FOR_BUILD=$(CC_FOR_BUILD)" \ + "CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \ + "CXX_FOR_BUILD=$(CXX_FOR_BUILD)" \ ++ "CXXFLAGS_FOR_BUILD=$(CXXFLAGS_FOR_BUILD)" \ + "EXPECT=$(EXPECT)" \ + "FLEX=$(FLEX)" \ + "INSTALL=$(INSTALL)" \ +diff --git a/Makefile.tpl b/Makefile.tpl +index 126296fb49a..15fb236bcc0 100644 +--- a/Makefile.tpl ++++ b/Makefile.tpl +@@ -154,6 +154,7 @@ BUILD_EXPORTS = \ + CC="$(CC_FOR_BUILD)"; export CC; \ + CFLAGS="$(CFLAGS_FOR_BUILD)"; export CFLAGS; \ + CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ ++ CPPFLAGS="$(CPPFLAGS_FOR_BUILD)"; export CPPFLAGS; \ + CXX="$(CXX_FOR_BUILD)"; export CXX; \ + CXXFLAGS="$(CXXFLAGS_FOR_BUILD)"; export CXXFLAGS; \ + GFORTRAN="$(GFORTRAN_FOR_BUILD)"; export GFORTRAN; \ +@@ -173,6 +174,9 @@ BUILD_EXPORTS = \ + # built for the build system to override those in BASE_FLAGS_TO_PASS. + EXTRA_BUILD_FLAGS = \ + CFLAGS="$(CFLAGS_FOR_BUILD)" \ ++ CXXFLAGS="$(CXXFLAGS_FOR_BUILD)" \ ++ CPP="$(CC_FOR_BUILD) -E" \ ++ CPPFLAGS="$(CPPFLAGS_FOR_BUILD)" \ + LDFLAGS="$(LDFLAGS_FOR_BUILD)" + + # This is the list of directories to built for the host system. +@@ -190,6 +194,7 @@ HOST_SUBDIR = @host_subdir@ + HOST_EXPORTS = \ + $(BASE_EXPORTS) \ + CC="$(CC)"; export CC; \ ++ CPP="$(CC) -E"; export CPP; \ + ADA_CFLAGS="$(ADA_CFLAGS)"; export ADA_CFLAGS; \ + CFLAGS="$(CFLAGS)"; export CFLAGS; \ + CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ +diff --git a/gcc/Makefile.in b/gcc/Makefile.in +index eb1dc304de2..93a43146846 100644 +--- a/gcc/Makefile.in ++++ b/gcc/Makefile.in +@@ -805,7 +805,7 @@ BUILD_LDFLAGS=@BUILD_LDFLAGS@ + BUILD_NO_PIE_FLAG = @BUILD_NO_PIE_FLAG@ + BUILD_LDFLAGS += $(BUILD_NO_PIE_FLAG) + BUILD_CPPFLAGS= -I. -I$(@D) -I$(srcdir) -I$(srcdir)/$(@D) \ +- -I$(srcdir)/../include @INCINTL@ $(CPPINC) $(CPPFLAGS) ++ -I$(srcdir)/../include @INCINTL@ $(CPPINC) $(CPPFLAGS_FOR_BUILD) + + # Actual name to use when installing a native compiler. + GCC_INSTALL_NAME := $(shell echo gcc|sed '$(program_transform_name)') +diff --git a/gcc/configure b/gcc/configure +index 2e822caf66d..2c50676a2bf 100755 +--- a/gcc/configure ++++ b/gcc/configure +@@ -11965,7 +11965,7 @@ else + CC="${CC_FOR_BUILD}" CFLAGS="${CFLAGS_FOR_BUILD}" \ + CXX="${CXX_FOR_BUILD}" CXXFLAGS="${CXXFLAGS_FOR_BUILD}" \ + LD="${LD_FOR_BUILD}" LDFLAGS="${LDFLAGS_FOR_BUILD}" \ +- GMPINC="" CPPFLAGS="${CPPFLAGS} -DGENERATOR_FILE" \ ++ GMPINC="" CPPFLAGS="${CPPFLAGS_FOR_BUILD} -DGENERATOR_FILE" \ + ${realsrcdir}/configure \ + --enable-languages=${enable_languages-all} \ + --target=$target_alias --host=$build_alias --build=$build_alias +diff --git a/gcc/configure.ac b/gcc/configure.ac +index 70e7bac78c4..d29eb580429 100644 +--- a/gcc/configure.ac ++++ b/gcc/configure.ac +@@ -1743,7 +1743,7 @@ else + CC="${CC_FOR_BUILD}" CFLAGS="${CFLAGS_FOR_BUILD}" \ + CXX="${CXX_FOR_BUILD}" CXXFLAGS="${CXXFLAGS_FOR_BUILD}" \ + LD="${LD_FOR_BUILD}" LDFLAGS="${LDFLAGS_FOR_BUILD}" \ +- GMPINC="" CPPFLAGS="${CPPFLAGS} -DGENERATOR_FILE" \ ++ GMPINC="" CPPFLAGS="${CPPFLAGS_FOR_BUILD} -DGENERATOR_FILE" \ + ${realsrcdir}/configure \ + --enable-languages=${enable_languages-all} \ + --target=$target_alias --host=$build_alias --build=$build_alias +-- +2.20.1 + diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0029-nios2-Define-MUSL_DYNAMIC_LINKER.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0029-nios2-Define-MUSL_DYNAMIC_LINKER.patch new file mode 100644 index 000000000..08da1ab98 --- /dev/null +++ b/poky/meta/recipes-devtools/gcc/gcc-9.1/0029-nios2-Define-MUSL_DYNAMIC_LINKER.patch @@ -0,0 +1,28 @@ +From e293df9a5734b43cb60cc47a3f5ff9af50fee3aa Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Tue, 2 Feb 2016 10:26:10 -0800 +Subject: [PATCH 29/37] nios2: Define MUSL_DYNAMIC_LINKER + +Upstream-Status: Pending + +Signed-off-by: Marek Vasut <marex@denx.de> +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + gcc/config/nios2/linux.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/gcc/config/nios2/linux.h b/gcc/config/nios2/linux.h +index 698734add35..eeee60ecfea 100644 +--- a/gcc/config/nios2/linux.h ++++ b/gcc/config/nios2/linux.h +@@ -30,6 +30,7 @@ + #define CPP_SPEC "%{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}" + + #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-nios2.so.1" ++#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-nios2.so.1" + + #undef LINK_SPEC + #define LINK_SPEC LINK_SPEC_ENDIAN \ +-- +2.20.1 + diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0030-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0030-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch new file mode 100644 index 000000000..792e85261 --- /dev/null +++ b/poky/meta/recipes-devtools/gcc/gcc-9.1/0030-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch @@ -0,0 +1,87 @@ +From 6232013df7fd65c994869789fa4b93c8d2303d1c Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Tue, 27 Jun 2017 18:10:54 -0700 +Subject: [PATCH 30/37] Add ssp_nonshared to link commandline for musl targets + +when -fstack-protector options are enabled we need to +link with ssp_shared on musl since it does not provide +the __stack_chk_fail_local() so essentially it provides +libssp but not libssp_nonshared something like +TARGET_LIBC_PROVIDES_SSP_BUT_NOT_SSP_NONSHARED + where-as for glibc the needed symbols +are already present in libc_nonshared library therefore +we do not need any library helper on glibc based systems +but musl needs the libssp_noshared from gcc + +Upstream-Status: Pending + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + gcc/config/linux.h | 7 +++++++ + gcc/config/rs6000/linux.h | 10 ++++++++++ + gcc/config/rs6000/linux64.h | 10 ++++++++++ + 3 files changed, 27 insertions(+) + +diff --git a/gcc/config/linux.h b/gcc/config/linux.h +index 4b05d8e93d1..0ca117e2ed4 100644 +--- a/gcc/config/linux.h ++++ b/gcc/config/linux.h +@@ -195,6 +195,13 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + { GCC_INCLUDE_DIR, "GCC", 0, 1, 0, 0 }, \ + { 0, 0, 0, 0, 0, 0 } \ + } ++#ifdef TARGET_LIBC_PROVIDES_SSP ++#undef LINK_SSP_SPEC ++#define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all" \ ++ "|fstack-protector-strong|fstack-protector-explicit" \ ++ ":-lssp_nonshared}" ++#endif ++ + #endif + + #if (DEFAULT_LIBC == LIBC_UCLIBC) && defined (SINGLE_LIBC) /* uClinux */ +diff --git a/gcc/config/rs6000/linux.h b/gcc/config/rs6000/linux.h +index 96b97877989..0bbde54c844 100644 +--- a/gcc/config/rs6000/linux.h ++++ b/gcc/config/rs6000/linux.h +@@ -107,6 +107,16 @@ + " -m elf32ppclinux") + #endif + ++/* link libssp_nonshared.a with musl */ ++#if DEFAULT_LIBC == LIBC_MUSL ++#ifdef TARGET_LIBC_PROVIDES_SSP ++#undef LINK_SSP_SPEC ++#define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all" \ ++ "|fstack-protector-strong|fstack-protector-explicit" \ ++ ":-lssp_nonshared}" ++#endif ++#endif ++ + #undef LINK_OS_LINUX_SPEC + #define LINK_OS_LINUX_SPEC LINK_OS_LINUX_EMUL " %{!shared: %{!static: \ + %{!static-pie: \ +diff --git a/gcc/config/rs6000/linux64.h b/gcc/config/rs6000/linux64.h +index 982ca274621..83c07b275da 100644 +--- a/gcc/config/rs6000/linux64.h ++++ b/gcc/config/rs6000/linux64.h +@@ -461,6 +461,16 @@ extern int dot_symbols; + " -m elf64ppc") + #endif + ++/* link libssp_nonshared.a with musl */ ++#if DEFAULT_LIBC == LIBC_MUSL ++#ifdef TARGET_LIBC_PROVIDES_SSP ++#undef LINK_SSP_SPEC ++#define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all" \ ++ "|fstack-protector-strong|fstack-protector-explicit" \ ++ ":-lssp_nonshared}" ++#endif ++#endif ++ + #define LINK_OS_LINUX_SPEC32 LINK_OS_LINUX_EMUL32 " %{!shared: %{!static: \ + %{!static-pie: \ + %{rdynamic:-export-dynamic} \ +-- +2.20.1 + diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0031-libgcc-Add-knob-to-use-ldbl-128-on-ppc.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0031-libgcc-Add-knob-to-use-ldbl-128-on-ppc.patch new file mode 100644 index 000000000..efa40bec5 --- /dev/null +++ b/poky/meta/recipes-devtools/gcc/gcc-9.1/0031-libgcc-Add-knob-to-use-ldbl-128-on-ppc.patch @@ -0,0 +1,125 @@ +From 1877b2ee5835a3716e6544706fbccd8c656e0a32 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Fri, 29 Apr 2016 20:03:28 +0000 +Subject: [PATCH 31/37] libgcc: Add knob to use ldbl-128 on ppc + +musl does not support ldbl 128 so we can not assume +that linux as a whole supports ldbl-128 bits, instead +act upon configure option passed to gcc and assume no +on musl and yes otherwise if no option is passed since +default behaviour is to assume ldbl128 it does not +change the defaults + +Upstream-Status: Pending + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + libgcc/Makefile.in | 1 + + libgcc/config/rs6000/t-linux | 5 ++++- + libgcc/configure | 18 ++++++++++++++++++ + libgcc/configure.ac | 12 ++++++++++++ + 4 files changed, 35 insertions(+), 1 deletion(-) + mode change 100644 => 100755 libgcc/configure + +diff --git a/libgcc/Makefile.in b/libgcc/Makefile.in +index ea390a5bbea..114c7876304 100644 +--- a/libgcc/Makefile.in ++++ b/libgcc/Makefile.in +@@ -50,6 +50,7 @@ unwind_header = @unwind_header@ + md_unwind_header = @md_unwind_header@ + sfp_machine_header = @sfp_machine_header@ + thread_header = @thread_header@ ++with_ldbl128 = @with_ldbl128@ + + host_noncanonical = @host_noncanonical@ + real_host_noncanonical = @real_host_noncanonical@ +diff --git a/libgcc/config/rs6000/t-linux b/libgcc/config/rs6000/t-linux +index 4f6d4c4a4d2..c50dd94a2da 100644 +--- a/libgcc/config/rs6000/t-linux ++++ b/libgcc/config/rs6000/t-linux +@@ -1,3 +1,6 @@ + SHLIB_MAPFILES += $(srcdir)/config/rs6000/libgcc-glibc.ver + +-HOST_LIBGCC2_CFLAGS += -mlong-double-128 -mno-minimal-toc ++ifeq ($(with_ldbl128),yes) ++HOST_LIBGCC2_CFLAGS += -mlong-double-128 ++endif ++HOST_LIBGCC2_CFLAGS += -mno-minimal-toc +diff --git a/libgcc/configure b/libgcc/configure +old mode 100644 +new mode 100755 +index 36dbbc1f699..b5dd5c34e2a +--- a/libgcc/configure ++++ b/libgcc/configure +@@ -651,6 +651,7 @@ build_vendor + build_cpu + build + with_aix_soname ++with_ldbl128 + enable_vtable_verify + enable_gcov + enable_shared +@@ -702,6 +703,7 @@ with_ld + enable_shared + enable_gcov + enable_vtable_verify ++with_long_double_128 + with_aix_soname + enable_version_specific_runtime_libs + with_slibdir +@@ -1363,6 +1365,7 @@ Optional Packages: + --with-target-subdir=SUBDIR Configuring in a subdirectory for target + --with-cross-host=HOST Configuring with a cross compiler + --with-ld arrange to use the specified ld (full pathname) ++ --with-long-double-128 use 128-bit long double by default + --with-aix-soname=aix|svr4|both + shared library versioning (aka "SONAME") variant to + provide on AIX +@@ -2268,6 +2271,21 @@ fi + + + ++# Check whether --with-long-double-128 was given. ++if test "${with_long_double_128+set}" = set; then : ++ withval=$with_long_double_128; with_ldbl128="$with_long_double_128" ++else ++ case "${host}" in ++ power*-*-musl*) ++ with_ldbl128="no";; ++ *) with_ldbl128="yes";; ++ esac ++ ++fi ++ ++ ++ ++ + # Check whether --with-aix-soname was given. + if test "${with_aix_soname+set}" = set; then : + withval=$with_aix_soname; case "${host}:${enable_shared}" in +diff --git a/libgcc/configure.ac b/libgcc/configure.ac +index 8e96cafdf8b..9247856bf24 100644 +--- a/libgcc/configure.ac ++++ b/libgcc/configure.ac +@@ -82,6 +82,18 @@ AC_ARG_ENABLE(vtable-verify, + [enable_vtable_verify=no]) + AC_SUBST(enable_vtable_verify) + ++AC_ARG_WITH(long-double-128, ++[AS_HELP_STRING([--with-long-double-128], ++ [use 128-bit long double by default])], ++ with_ldbl128="$with_long_double_128", ++[case "${host}" in ++ power*-*-musl*) ++ with_ldbl128="no";; ++ *) with_ldbl128="yes";; ++ esac ++]) ++AC_SUBST(with_ldbl128) ++ + AC_ARG_WITH(aix-soname, + [AS_HELP_STRING([--with-aix-soname=aix|svr4|both], + [shared library versioning (aka "SONAME") variant to provide on AIX])], +-- +2.20.1 + diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0032-Link-libgcc-using-LDFLAGS-not-just-SHLIB_LDFLAGS.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0032-Link-libgcc-using-LDFLAGS-not-just-SHLIB_LDFLAGS.patch new file mode 100644 index 000000000..3de8345f9 --- /dev/null +++ b/poky/meta/recipes-devtools/gcc/gcc-9.1/0032-Link-libgcc-using-LDFLAGS-not-just-SHLIB_LDFLAGS.patch @@ -0,0 +1,29 @@ +From 9d76a765a12677597134953352b25dc16dea721e Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Wed, 4 May 2016 21:11:34 -0700 +Subject: [PATCH 32/37] Link libgcc using LDFLAGS, not just SHLIB_LDFLAGS + +Upstream-Status: Pending + +Signed-off-by: Christopher Larson <chris_larson@mentor.com> +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + libgcc/config/t-slibgcc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/libgcc/config/t-slibgcc b/libgcc/config/t-slibgcc +index 099bf23e62f..436b277a79f 100644 +--- a/libgcc/config/t-slibgcc ++++ b/libgcc/config/t-slibgcc +@@ -32,7 +32,7 @@ SHLIB_INSTALL_SOLINK = $(LN_S) $(SHLIB_SONAME) \ + $(DESTDIR)$(slibdir)$(SHLIB_SLIBDIR_QUAL)/$(SHLIB_SOLINK) + + SHLIB_LINK = $(CC) $(LIBGCC2_CFLAGS) -shared -nodefaultlibs \ +- $(SHLIB_LDFLAGS) \ ++ $(LDFLAGS) $(SHLIB_LDFLAGS) \ + -o $(SHLIB_DIR)/$(SHLIB_SONAME).tmp @multilib_flags@ \ + $(SHLIB_OBJS) $(SHLIB_LC) && \ + rm -f $(SHLIB_DIR)/$(SHLIB_SOLINK) && \ +-- +2.20.1 + diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0033-libgcc_s-Use-alias-for-__cpu_indicator_init-instead-.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0033-libgcc_s-Use-alias-for-__cpu_indicator_init-instead-.patch new file mode 100644 index 000000000..d8cc64321 --- /dev/null +++ b/poky/meta/recipes-devtools/gcc/gcc-9.1/0033-libgcc_s-Use-alias-for-__cpu_indicator_init-instead-.patch @@ -0,0 +1,86 @@ +From 6c001e08bcd0568367a4aa2f991ab7d85b43a43d Mon Sep 17 00:00:00 2001 +From: Szabolcs Nagy <nsz@port70.net> +Date: Sat, 24 Oct 2015 20:09:53 +0000 +Subject: [PATCH 33/37] libgcc_s: Use alias for __cpu_indicator_init instead of + symver + +Adapter from + +https://gcc.gnu.org/ml/gcc-patches/2015-05/msg00899.html + +This fix was debated but hasnt been applied gcc upstream since +they expect musl to support '@' in symbol versioning which is +a sun/gnu versioning extention. This patch however avoids the +need for the '@' symbols at all + +libgcc/Changelog: + +2015-05-11 Szabolcs Nagy <szabolcs.nagy@arm.com> + + * config/i386/cpuinfo.c (__cpu_indicator_init_local): Add. + (__cpu_indicator_init@GCC_4.8.0, __cpu_model@GCC_4.8.0): Remove. + + * config/i386/t-linux (HOST_LIBGCC2_CFLAGS): Remove -DUSE_ELF_SYMVER. + +gcc/Changelog: + +2015-05-11 Szabolcs Nagy <szabolcs.nagy@arm.com> + + * config/i386/i386.c (ix86_expand_builtin): Make __builtin_cpu_init + call __cpu_indicator_init_local instead of __cpu_indicator_init. + +Upstream-Status: Pending + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + gcc/config/i386/i386.c | 4 ++-- + libgcc/config/i386/cpuinfo.c | 6 +++--- + libgcc/config/i386/t-linux | 2 +- + 3 files changed, 6 insertions(+), 6 deletions(-) + +diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c +index 88557f26c44..839308e2799 100644 +--- a/gcc/config/i386/i386.c ++++ b/gcc/config/i386/i386.c +@@ -36577,10 +36577,10 @@ ix86_expand_builtin (tree exp, rtx target, rtx subtarget, + { + case IX86_BUILTIN_CPU_INIT: + { +- /* Make it call __cpu_indicator_init in libgcc. */ ++ /* Make it call __cpu_indicator_init_local in libgcc.a. */ + tree call_expr, fndecl, type; + type = build_function_type_list (integer_type_node, NULL_TREE); +- fndecl = build_fn_decl ("__cpu_indicator_init", type); ++ fndecl = build_fn_decl ("__cpu_indicator_init_local", type); + call_expr = build_call_expr (fndecl, 0); + return expand_expr (call_expr, target, mode, EXPAND_NORMAL); + } +diff --git a/libgcc/config/i386/cpuinfo.c b/libgcc/config/i386/cpuinfo.c +index d6cb2de6265..ce04ef78205 100644 +--- a/libgcc/config/i386/cpuinfo.c ++++ b/libgcc/config/i386/cpuinfo.c +@@ -504,7 +504,7 @@ __cpu_indicator_init (void) + return 0; + } + +-#if defined SHARED && defined USE_ELF_SYMVER +-__asm__ (".symver __cpu_indicator_init, __cpu_indicator_init@GCC_4.8.0"); +-__asm__ (".symver __cpu_model, __cpu_model@GCC_4.8.0"); ++#ifndef SHARED ++int __cpu_indicator_init_local (void) ++ __attribute__ ((weak, alias ("__cpu_indicator_init"))); + #endif +diff --git a/libgcc/config/i386/t-linux b/libgcc/config/i386/t-linux +index 8506a635790..564296f788e 100644 +--- a/libgcc/config/i386/t-linux ++++ b/libgcc/config/i386/t-linux +@@ -3,5 +3,5 @@ + # t-slibgcc-elf-ver and t-linux + SHLIB_MAPFILES = libgcc-std.ver $(srcdir)/config/i386/libgcc-glibc.ver + +-HOST_LIBGCC2_CFLAGS += -mlong-double-80 -DUSE_ELF_SYMVER $(CET_FLAGS) ++HOST_LIBGCC2_CFLAGS += -mlong-double-80 $(CET_FLAGS) + CRTSTUFF_T_CFLAGS += $(CET_FLAGS) +-- +2.20.1 + diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0034-sync-gcc-stddef.h-with-musl.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0034-sync-gcc-stddef.h-with-musl.patch new file mode 100644 index 000000000..a2c35ab53 --- /dev/null +++ b/poky/meta/recipes-devtools/gcc/gcc-9.1/0034-sync-gcc-stddef.h-with-musl.patch @@ -0,0 +1,91 @@ +From 83ba95929c5908ae0f51ce148a30f85b085a178a Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Fri, 3 Feb 2017 12:56:00 -0800 +Subject: [PATCH 34/37] sync gcc stddef.h with musl + +musl defines ptrdiff_t size_t and wchar_t +so dont define them here if musl is definining them + +Upstream-Status: Pending + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + gcc/ginclude/stddef.h | 9 +++++++++ + 1 file changed, 9 insertions(+) + +diff --git a/gcc/ginclude/stddef.h b/gcc/ginclude/stddef.h +index da692e1c01a..9a00c261adb 100644 +--- a/gcc/ginclude/stddef.h ++++ b/gcc/ginclude/stddef.h +@@ -128,6 +128,7 @@ _TYPE_wchar_t; + #ifndef ___int_ptrdiff_t_h + #ifndef _GCC_PTRDIFF_T + #ifndef _PTRDIFF_T_DECLARED /* DragonFly */ ++#ifndef __DEFINED_ptrdiff_t /* musl */ + #define _PTRDIFF_T + #define _T_PTRDIFF_ + #define _T_PTRDIFF +@@ -137,10 +138,12 @@ _TYPE_wchar_t; + #define ___int_ptrdiff_t_h + #define _GCC_PTRDIFF_T + #define _PTRDIFF_T_DECLARED ++#define __DEFINED_ptrdiff_t /* musl */ + #ifndef __PTRDIFF_TYPE__ + #define __PTRDIFF_TYPE__ long int + #endif + typedef __PTRDIFF_TYPE__ ptrdiff_t; ++#endif /* __DEFINED_ptrdiff_t */ + #endif /* _PTRDIFF_T_DECLARED */ + #endif /* _GCC_PTRDIFF_T */ + #endif /* ___int_ptrdiff_t_h */ +@@ -178,6 +181,7 @@ typedef __PTRDIFF_TYPE__ ptrdiff_t; + #ifndef _GCC_SIZE_T + #ifndef _SIZET_ + #ifndef __size_t ++#ifndef __DEFINED_size_t /* musl */ + #define __size_t__ /* BeOS */ + #define __SIZE_T__ /* Cray Unicos/Mk */ + #define _SIZE_T +@@ -194,6 +198,7 @@ typedef __PTRDIFF_TYPE__ ptrdiff_t; + #define ___int_size_t_h + #define _GCC_SIZE_T + #define _SIZET_ ++#define __DEFINED_size_t /* musl */ + #if defined (__FreeBSD__) \ + || defined(__DragonFly__) \ + || defined(__FreeBSD_kernel__) \ +@@ -228,6 +233,7 @@ typedef long ssize_t; + #endif /* _SIZE_T */ + #endif /* __SIZE_T__ */ + #endif /* __size_t__ */ ++#endif /* __DEFINED_size_t */ + #undef __need_size_t + #endif /* _STDDEF_H or __need_size_t. */ + +@@ -257,6 +263,7 @@ typedef long ssize_t; + #ifndef ___int_wchar_t_h + #ifndef __INT_WCHAR_T_H + #ifndef _GCC_WCHAR_T ++#ifndef __DEFINED_wchar_t /* musl */ + #define __wchar_t__ /* BeOS */ + #define __WCHAR_T__ /* Cray Unicos/Mk */ + #define _WCHAR_T +@@ -272,6 +279,7 @@ typedef long ssize_t; + #define __INT_WCHAR_T_H + #define _GCC_WCHAR_T + #define _WCHAR_T_DECLARED ++#define __DEFINED_wchar_t /* musl */ + + /* On BSD/386 1.1, at least, machine/ansi.h defines _BSD_WCHAR_T_ + instead of _WCHAR_T_, and _BSD_RUNE_T_ (which, unlike the other +@@ -337,6 +345,7 @@ typedef __WCHAR_TYPE__ wchar_t; + #endif + #endif /* __WCHAR_T__ */ + #endif /* __wchar_t__ */ ++#endif /* __DEFINED_wchar_t musl */ + #undef __need_wchar_t + #endif /* _STDDEF_H or __need_wchar_t. */ + +-- +2.20.1 + diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0035-fix-segmentation-fault-in-precompiled-header-generat.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0035-fix-segmentation-fault-in-precompiled-header-generat.patch new file mode 100644 index 000000000..ad1f6e7d1 --- /dev/null +++ b/poky/meta/recipes-devtools/gcc/gcc-9.1/0035-fix-segmentation-fault-in-precompiled-header-generat.patch @@ -0,0 +1,60 @@ +From c4f89e62c56975fee99304c9cbbe5be6e8bc9ed6 Mon Sep 17 00:00:00 2001 +From: Juro Bystricky <juro.bystricky@intel.com> +Date: Mon, 19 Mar 2018 22:31:20 -0700 +Subject: [PATCH 35/37] fix segmentation fault in precompiled header generation + +Prevent a segmentation fault which occurs when using incorrect +structure trying to access name of some named operators, such as +CPP_NOT, CPP_AND etc. "token->val.node.spelling" cannot be used in +those cases, as is may not be initialized at all. + +[YOCTO #11738] + +Upstream-Status: Pending + +Signed-off-by: Juro Bystricky <juro.bystricky@intel.com> +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + libcpp/lex.c | 26 +++++++++++++++++++++----- + 1 file changed, 21 insertions(+), 5 deletions(-) + +diff --git a/libcpp/lex.c b/libcpp/lex.c +index eedfcbb3146..15040a1b1f0 100644 +--- a/libcpp/lex.c ++++ b/libcpp/lex.c +@@ -3280,11 +3280,27 @@ cpp_spell_token (cpp_reader *pfile, const cpp_token *token, + spell_ident: + case SPELL_IDENT: + if (forstring) +- { +- memcpy (buffer, NODE_NAME (token->val.node.spelling), +- NODE_LEN (token->val.node.spelling)); +- buffer += NODE_LEN (token->val.node.spelling); +- } ++ { ++ if (token->type == CPP_NAME) ++ { ++ memcpy (buffer, NODE_NAME (token->val.node.spelling), ++ NODE_LEN (token->val.node.spelling)); ++ buffer += NODE_LEN (token->val.node.spelling); ++ break; ++ } ++ /* NAMED_OP, cannot use node.spelling */ ++ if (token->flags & NAMED_OP) ++ { ++ const char *str = cpp_named_operator2name (token->type); ++ if (str) ++ { ++ size_t len = strlen(str); ++ memcpy(buffer, str, len); ++ buffer += len; ++ } ++ break; ++ } ++ } + else + buffer = _cpp_spell_ident_ucns (buffer, token->val.node.node); + break; +-- +2.20.1 + diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0036-Fix-for-testsuite-failure.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0036-Fix-for-testsuite-failure.patch new file mode 100644 index 000000000..4fb0698af --- /dev/null +++ b/poky/meta/recipes-devtools/gcc/gcc-9.1/0036-Fix-for-testsuite-failure.patch @@ -0,0 +1,258 @@ +From 8d773b5ba6cf396ca76611963127ba2b516272b3 Mon Sep 17 00:00:00 2001 +From: RAGHUNATH LOLUR <raghunath.lolur@kpit.com> +Date: Wed, 6 Dec 2017 22:52:26 -0800 +Subject: [PATCH 36/37] Fix for testsuite failure + +2017-11-16 Raghunath Lolur <raghunath.lolur@kpit.com> + + * gcc.dg/pr56275.c: If SSE is disabled, ensure that + "-mfpmath" is not set to use SSE. Set "-mfpmath=387". + * gcc.dg/pr68306.c: Likewise + * gcc.dg/pr68306-2.c: Likewise + * gcc.dg/pr68306-3.c: Likewise + * gcc.dg/pr69634.c: Likewise + * gcc.target/i386/amd64-abi-1.c: Likewise + * gcc.target/i386/funcspec-6.c: Likewise + * gcc.target/i386/interrupt-387-err-1.c: Likewise + * gcc.target/i386/isa-14.c: Likewise + * gcc.target/i386/pr44948-2b.c: Likewise + * gcc.target/i386/pr53425-1.c: Likewise + * gcc.target/i386/pr53425-2.c: Likewise + * gcc.target/i386/pr55247.c: Likewise + * gcc.target/i386/pr59644.c: Likewise + * gcc.target/i386/pr62120.c: Likewise + * gcc.target/i386/pr70467-1.c: Likewise + * gcc.target/i386/warn-vect-op-1.c: Likewise + +If -Wall, -Werror are used during compilation various test cases fail +to compile. + +If SSE is disabled, be sure to -mfpmath=387 to resolve this. + +This patch removes the changes to Changelog from the original patch. +This will help us avoid conflicts. + +Upstream-Status: Pending + +Signed-off-by: Mark Hatle <mark.hatle@windriver.com> +--- + gcc/testsuite/gcc.dg/pr56275.c | 2 +- + gcc/testsuite/gcc.dg/pr68306-2.c | 2 +- + gcc/testsuite/gcc.dg/pr68306-3.c | 2 +- + gcc/testsuite/gcc.dg/pr68306.c | 2 +- + gcc/testsuite/gcc.dg/pr69634.c | 2 +- + gcc/testsuite/gcc.target/i386/amd64-abi-1.c | 2 +- + gcc/testsuite/gcc.target/i386/funcspec-6.c | 1 + + gcc/testsuite/gcc.target/i386/interrupt-387-err-1.c | 2 +- + gcc/testsuite/gcc.target/i386/isa-14.c | 2 +- + gcc/testsuite/gcc.target/i386/pr44948-2b.c | 2 +- + gcc/testsuite/gcc.target/i386/pr53425-1.c | 2 +- + gcc/testsuite/gcc.target/i386/pr53425-2.c | 2 +- + gcc/testsuite/gcc.target/i386/pr55247.c | 2 +- + gcc/testsuite/gcc.target/i386/pr59644.c | 2 +- + gcc/testsuite/gcc.target/i386/pr62120.c | 2 +- + gcc/testsuite/gcc.target/i386/pr70467-1.c | 2 +- + gcc/testsuite/gcc.target/i386/warn-vect-op-1.c | 2 +- + 17 files changed, 17 insertions(+), 16 deletions(-) + +diff --git a/gcc/testsuite/gcc.dg/pr56275.c b/gcc/testsuite/gcc.dg/pr56275.c +index b901bb2b199..a4f6c95e1a1 100644 +--- a/gcc/testsuite/gcc.dg/pr56275.c ++++ b/gcc/testsuite/gcc.dg/pr56275.c +@@ -1,6 +1,6 @@ + /* { dg-do compile } */ + /* { dg-options "-O2" } */ +-/* { dg-additional-options "-mno-sse" { target { i?86-*-* x86_64-*-* } } } */ ++/* { dg-additional-options "-mno-sse -mfpmath=387" { target { i?86-*-* x86_64-*-* } } } */ + + typedef long long v2tw __attribute__ ((vector_size (2 * sizeof (long long)))); + +diff --git a/gcc/testsuite/gcc.dg/pr68306-2.c b/gcc/testsuite/gcc.dg/pr68306-2.c +index 4672ebe7987..2a368c484b6 100644 +--- a/gcc/testsuite/gcc.dg/pr68306-2.c ++++ b/gcc/testsuite/gcc.dg/pr68306-2.c +@@ -1,6 +1,6 @@ + /* { dg-do compile } */ + /* { dg-options "-O3" } */ +-/* { dg-additional-options "-mno-sse -mno-mmx" { target i?86-*-* x86_64-*-* } } */ ++/* { dg-additional-options "-mno-sse -mno-mmx -mfpmath=387" { target i?86-*-* x86_64-*-* } } */ + + struct { + int tz_minuteswest; +diff --git a/gcc/testsuite/gcc.dg/pr68306-3.c b/gcc/testsuite/gcc.dg/pr68306-3.c +index f5a8c102cf8..df3390c64c2 100644 +--- a/gcc/testsuite/gcc.dg/pr68306-3.c ++++ b/gcc/testsuite/gcc.dg/pr68306-3.c +@@ -1,6 +1,6 @@ + /* { dg-do compile } */ + /* { dg-options "-O3" } */ +-/* { dg-additional-options "-mno-sse -mno-mmx" { target i?86-*-* x86_64-*-* } } */ ++/* { dg-additional-options "-mno-sse -mno-mmx -mfpmath=387" { target i?86-*-* x86_64-*-* } } */ + /* { dg-additional-options "-mno-altivec -mno-vsx" { target powerpc*-*-* } } */ + + extern void fn2(); +diff --git a/gcc/testsuite/gcc.dg/pr68306.c b/gcc/testsuite/gcc.dg/pr68306.c +index 54e5b40f221..0813389e2c1 100644 +--- a/gcc/testsuite/gcc.dg/pr68306.c ++++ b/gcc/testsuite/gcc.dg/pr68306.c +@@ -1,6 +1,6 @@ + /* { dg-do compile } */ + /* { dg-options "-O3" } */ +-/* { dg-additional-options "-mno-sse -mno-mmx" { target i?86-*-* x86_64-*-* } } */ ++/* { dg-additional-options "-mno-sse -mno-mmx -mfpmath=387" { target i?86-*-* x86_64-*-* } } */ + + enum powerpc_pmc_type { PPC_PMC_IBM }; + struct { +diff --git a/gcc/testsuite/gcc.dg/pr69634.c b/gcc/testsuite/gcc.dg/pr69634.c +index 60a56149463..bcc23f9ccd6 100644 +--- a/gcc/testsuite/gcc.dg/pr69634.c ++++ b/gcc/testsuite/gcc.dg/pr69634.c +@@ -1,6 +1,6 @@ + /* { dg-do compile } */ + /* { dg-options "-O2 -fno-dce -fschedule-insns -fno-tree-vrp -fcompare-debug -Wno-psabi" } */ +-/* { dg-additional-options "-mno-sse" { target i?86-*-* x86_64-*-* } } */ ++/* { dg-additional-options "-mno-sse -mfpmath=387" { target i?86-*-* x86_64-*-* } } */ + /* { dg-require-effective-target scheduling } */ + + typedef unsigned short u16; +diff --git a/gcc/testsuite/gcc.target/i386/amd64-abi-1.c b/gcc/testsuite/gcc.target/i386/amd64-abi-1.c +index 69fde57bf06..7f1f1c03edf 100644 +--- a/gcc/testsuite/gcc.target/i386/amd64-abi-1.c ++++ b/gcc/testsuite/gcc.target/i386/amd64-abi-1.c +@@ -1,5 +1,5 @@ + /* { dg-do compile { target { ! ia32 } } } */ +-/* { dg-options "-mno-sse" } */ ++/* { dg-options "-mno-sse -mfpmath=387" } */ + /* { dg-additional-options "-mabi=sysv" { target *-*-mingw* } } */ + + double foo(void) { return 0; } /* { dg-error "SSE disabled" } */ +diff --git a/gcc/testsuite/gcc.target/i386/funcspec-6.c b/gcc/testsuite/gcc.target/i386/funcspec-6.c +index ea896b7ebfd..bf15569b826 100644 +--- a/gcc/testsuite/gcc.target/i386/funcspec-6.c ++++ b/gcc/testsuite/gcc.target/i386/funcspec-6.c +@@ -1,6 +1,7 @@ + /* Test whether all of the 64-bit function specific options are accepted + without error. */ + /* { dg-do compile { target { ! ia32 } } } */ ++/* { dg-additional-options "-mfpmath=387" } */ + + #include "funcspec-56.inc" + +diff --git a/gcc/testsuite/gcc.target/i386/interrupt-387-err-1.c b/gcc/testsuite/gcc.target/i386/interrupt-387-err-1.c +index 3fbdc881dda..6b4d9d1252a 100644 +--- a/gcc/testsuite/gcc.target/i386/interrupt-387-err-1.c ++++ b/gcc/testsuite/gcc.target/i386/interrupt-387-err-1.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O2 -mgeneral-regs-only -mno-cld -mno-iamcu -m80387" } */ ++/* { dg-options "-O2 -mgeneral-regs-only -mno-cld -mno-iamcu -m80387 -mfpmath=387" } */ + + typedef unsigned int uword_t __attribute__ ((mode (__word__))); + +diff --git a/gcc/testsuite/gcc.target/i386/isa-14.c b/gcc/testsuite/gcc.target/i386/isa-14.c +index 5d49e6e77fe..1de2db92bdd 100644 +--- a/gcc/testsuite/gcc.target/i386/isa-14.c ++++ b/gcc/testsuite/gcc.target/i386/isa-14.c +@@ -1,5 +1,5 @@ + /* { dg-do run } */ +-/* { dg-options "-march=x86-64 -msse4a -mfma4 -mno-sse" } */ ++/* { dg-options "-march=x86-64 -msse4a -mfma4 -mno-sse -mfpmath=387" } */ + + extern void abort (void); + +diff --git a/gcc/testsuite/gcc.target/i386/pr44948-2b.c b/gcc/testsuite/gcc.target/i386/pr44948-2b.c +index fa1769b62fb..f79fb12726f 100644 +--- a/gcc/testsuite/gcc.target/i386/pr44948-2b.c ++++ b/gcc/testsuite/gcc.target/i386/pr44948-2b.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O -mno-sse -Wno-psabi -mtune=generic" } */ ++/* { dg-options "-O -mno-sse -Wno-psabi -mtune=generic -mfpmath=387" } */ + + struct A + { +diff --git a/gcc/testsuite/gcc.target/i386/pr53425-1.c b/gcc/testsuite/gcc.target/i386/pr53425-1.c +index 2e89ff7d81d..6339bf6b736 100644 +--- a/gcc/testsuite/gcc.target/i386/pr53425-1.c ++++ b/gcc/testsuite/gcc.target/i386/pr53425-1.c +@@ -1,6 +1,6 @@ + /* PR target/53425 */ + /* { dg-do compile { target { ! ia32 } } } */ +-/* { dg-options "-O2 -mno-sse" } */ ++/* { dg-options "-O2 -mno-sse -mfpmath=387" } */ + /* { dg-skip-if "no SSE vector" { x86_64-*-mingw* } } */ + + typedef double __v2df __attribute__ ((__vector_size__ (16))); +diff --git a/gcc/testsuite/gcc.target/i386/pr53425-2.c b/gcc/testsuite/gcc.target/i386/pr53425-2.c +index 61f6283dbe9..2c5a55f0ac3 100644 +--- a/gcc/testsuite/gcc.target/i386/pr53425-2.c ++++ b/gcc/testsuite/gcc.target/i386/pr53425-2.c +@@ -1,6 +1,6 @@ + /* PR target/53425 */ + /* { dg-do compile { target { ! ia32 } } } */ +-/* { dg-options "-O2 -mno-sse" } */ ++/* { dg-options "-O2 -mno-sse -mfpmath=387" } */ + /* { dg-skip-if "no SSE vector" { x86_64-*-mingw* } } */ + + typedef float __v2sf __attribute__ ((__vector_size__ (8))); +diff --git a/gcc/testsuite/gcc.target/i386/pr55247.c b/gcc/testsuite/gcc.target/i386/pr55247.c +index 23366d0909d..9810e3abb76 100644 +--- a/gcc/testsuite/gcc.target/i386/pr55247.c ++++ b/gcc/testsuite/gcc.target/i386/pr55247.c +@@ -1,6 +1,6 @@ + /* { dg-do compile { target { ! ia32 } } } */ + /* { dg-require-effective-target maybe_x32 } */ +-/* { dg-options "-O2 -mno-sse -mno-mmx -mx32 -maddress-mode=long" } */ ++/* { dg-options "-O2 -mno-sse -mno-mmx -mx32 -maddress-mode=long -mfpmath=387" } */ + + typedef unsigned int uint32_t; + typedef uint32_t Elf32_Word; +diff --git a/gcc/testsuite/gcc.target/i386/pr59644.c b/gcc/testsuite/gcc.target/i386/pr59644.c +index 96006b3e338..4287e4538bf 100644 +--- a/gcc/testsuite/gcc.target/i386/pr59644.c ++++ b/gcc/testsuite/gcc.target/i386/pr59644.c +@@ -1,6 +1,6 @@ + /* PR target/59644 */ + /* { dg-do run { target lp64 } } */ +-/* { dg-options "-O2 -ffreestanding -mno-sse -mpreferred-stack-boundary=3 -maccumulate-outgoing-args -mno-red-zone" } */ ++/* { dg-options "-O2 -ffreestanding -mno-sse -mpreferred-stack-boundary=3 -maccumulate-outgoing-args -mno-red-zone -mfpmath=387" } */ + + /* This test uses __builtin_trap () instead of e.g. abort, + because due to -mpreferred-stack-boundary=3 it should not call +diff --git a/gcc/testsuite/gcc.target/i386/pr62120.c b/gcc/testsuite/gcc.target/i386/pr62120.c +index bfb8c4703eb..ed04cf181f3 100644 +--- a/gcc/testsuite/gcc.target/i386/pr62120.c ++++ b/gcc/testsuite/gcc.target/i386/pr62120.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-mno-sse" } */ ++/* { dg-options "-mno-sse -mfpmath=387" } */ + + void foo () + { +diff --git a/gcc/testsuite/gcc.target/i386/pr70467-1.c b/gcc/testsuite/gcc.target/i386/pr70467-1.c +index 4e112c88d07..bcfb396a68d 100644 +--- a/gcc/testsuite/gcc.target/i386/pr70467-1.c ++++ b/gcc/testsuite/gcc.target/i386/pr70467-1.c +@@ -1,6 +1,6 @@ + /* PR rtl-optimization/70467 */ + /* { dg-do compile } */ +-/* { dg-options "-O2 -mno-sse" } */ ++/* { dg-options "-O2 -mno-sse -mfpmath=387" } */ + + void foo (unsigned long long *); + +diff --git a/gcc/testsuite/gcc.target/i386/warn-vect-op-1.c b/gcc/testsuite/gcc.target/i386/warn-vect-op-1.c +index 6cda1534311..26e37f5b8ba 100644 +--- a/gcc/testsuite/gcc.target/i386/warn-vect-op-1.c ++++ b/gcc/testsuite/gcc.target/i386/warn-vect-op-1.c +@@ -1,5 +1,5 @@ + /* { dg-do compile { target { ! ia32 } } } */ +-/* { dg-options "-mno-sse -Wvector-operation-performance" } */ ++/* { dg-options "-mno-sse -Wvector-operation-performance -mfpmath=387" } */ + #define vector(elcount, type) \ + __attribute__((vector_size((elcount)*sizeof(type)))) type + +-- +2.20.1 + diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0037-Re-introduce-spe-commandline-options.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0037-Re-introduce-spe-commandline-options.patch new file mode 100644 index 000000000..251097e13 --- /dev/null +++ b/poky/meta/recipes-devtools/gcc/gcc-9.1/0037-Re-introduce-spe-commandline-options.patch @@ -0,0 +1,41 @@ +From 49d3dbe240226206d09ff646499cd398cb60bd12 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Wed, 6 Jun 2018 12:10:22 -0700 +Subject: [PATCH 37/37] Re-introduce spe commandline options + +This should ensure that we keep accepting +spe options + +Upstream-Status: Inappropriate [SPE port is removed from rs600 port] + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + gcc/config/rs6000/rs6000.opt | 12 ++++++++++++ + 1 file changed, 12 insertions(+) + +diff --git a/gcc/config/rs6000/rs6000.opt b/gcc/config/rs6000/rs6000.opt +index 2e90bf37747..ebd297da46b 100644 +--- a/gcc/config/rs6000/rs6000.opt ++++ b/gcc/config/rs6000/rs6000.opt +@@ -345,6 +345,18 @@ mdebug= + Target RejectNegative Joined + -mdebug= Enable debug output. + ++mspe ++Target Var(rs6000_spe) Save ++Generate SPE SIMD instructions on E500. ++ ++mabi=spe ++Target RejectNegative Var(rs6000_spe_abi) Save ++Use the SPE ABI extensions. ++ ++mabi=no-spe ++Target RejectNegative Var(rs6000_spe_abi, 0) ++Do not use the SPE ABI extensions. ++ + mabi=altivec + Target RejectNegative Var(rs6000_altivec_abi) Save + Use the AltiVec ABI extensions. +-- +2.20.1 + diff --git a/poky/meta/recipes-devtools/gcc/gcc-configure-common.inc b/poky/meta/recipes-devtools/gcc/gcc-configure-common.inc index 375c5e90c..b6f2ca541 100644 --- a/poky/meta/recipes-devtools/gcc/gcc-configure-common.inc +++ b/poky/meta/recipes-devtools/gcc/gcc-configure-common.inc @@ -5,15 +5,9 @@ require gcc-shared-source.inc # # These can be overridden by the version specific .inc file. -# Java (gcj doesn't work on all architectures) -JAVA ?= ",java" -JAVA_arm ?= "" -JAVA_armeb ?= "" -JAVA_mipsel ?= "" -JAVA_sh3 ?= "" # gcc 3.x expects 'f77', 4.0 expects 'f95', 4.1 and 4.2 expect 'fortran' FORTRAN ?= ",f77" -LANGUAGES ?= "c,c++${FORTRAN}${JAVA}" +LANGUAGES ?= "c,c++${FORTRAN}" EXTRA_OECONF_BASE ?= "" EXTRA_OECONF_PATHS ?= "" diff --git a/poky/meta/recipes-devtools/gcc/gcc-cross-canadian.inc b/poky/meta/recipes-devtools/gcc/gcc-cross-canadian.inc index e7c08d3a6..807e47e0e 100644 --- a/poky/meta/recipes-devtools/gcc/gcc-cross-canadian.inc +++ b/poky/meta/recipes-devtools/gcc/gcc-cross-canadian.inc @@ -159,10 +159,9 @@ SYSTEMLIBS = "${target_base_libdir}/" SYSTEMLIBS1 = "${target_libdir}/" EXTRA_OECONF += "--enable-poison-system-directories" - -EXTRA_OECONF_append_libc-baremetal = " --without-headers" -EXTRA_OECONF_remove_libc-baremetal = "--with-sysroot=/not/exist" -EXTRA_OECONF_remove_libc-baremetal = "--with-build-sysroot=${STAGING_DIR_TARGET}" - +EXTRA_OECONF_remove_elf = "--with-sysroot=/not/exist" +EXTRA_OECONF_remove_eabi = "--with-sysroot=/not/exist" +EXTRA_OECONF_append_elf = "--without-headers --with-newlib" +EXTRA_OECONF_append_eabi = "--without-headers --with-newlib" # gcc 4.7 needs -isystem export ARCH_FLAGS_FOR_TARGET = "--sysroot=${STAGING_DIR_TARGET} -isystem=${target_includedir}" diff --git a/poky/meta/recipes-devtools/gcc/gcc-cross-canadian_9.1.bb b/poky/meta/recipes-devtools/gcc/gcc-cross-canadian_9.1.bb new file mode 100644 index 000000000..bf53c5cd7 --- /dev/null +++ b/poky/meta/recipes-devtools/gcc/gcc-cross-canadian_9.1.bb @@ -0,0 +1,5 @@ +require recipes-devtools/gcc/gcc-${PV}.inc +require gcc-cross-canadian.inc + + + diff --git a/poky/meta/recipes-devtools/gcc/gcc-cross_9.1.bb b/poky/meta/recipes-devtools/gcc/gcc-cross_9.1.bb new file mode 100644 index 000000000..b43cca0c5 --- /dev/null +++ b/poky/meta/recipes-devtools/gcc/gcc-cross_9.1.bb @@ -0,0 +1,3 @@ +require recipes-devtools/gcc/gcc-${PV}.inc +require gcc-cross.inc + diff --git a/poky/meta/recipes-devtools/gcc/gcc-crosssdk_9.1.bb b/poky/meta/recipes-devtools/gcc/gcc-crosssdk_9.1.bb new file mode 100644 index 000000000..40a6c4fef --- /dev/null +++ b/poky/meta/recipes-devtools/gcc/gcc-crosssdk_9.1.bb @@ -0,0 +1,2 @@ +require recipes-devtools/gcc/gcc-cross_${PV}.bb +require gcc-crosssdk.inc diff --git a/poky/meta/recipes-devtools/gcc/gcc-runtime_9.1.bb b/poky/meta/recipes-devtools/gcc/gcc-runtime_9.1.bb new file mode 100644 index 000000000..a1c7a76d0 --- /dev/null +++ b/poky/meta/recipes-devtools/gcc/gcc-runtime_9.1.bb @@ -0,0 +1,12 @@ +require recipes-devtools/gcc/gcc-${PV}.inc +require gcc-runtime.inc + +# Disable ifuncs for libatomic on arm conflicts -march/-mcpu +EXTRA_OECONF_append_arm = " libat_cv_have_ifunc=no " + +FILES_libgomp-dev += "\ + ${libdir}/gcc/${TARGET_SYS}/${BINV}/include/openacc.h \ +" + +# Building with thumb enabled on armv6t fails +ARM_INSTRUCTION_SET_armv6 = "arm" diff --git a/poky/meta/recipes-devtools/gcc/gcc-sanitizers.inc b/poky/meta/recipes-devtools/gcc/gcc-sanitizers.inc index e5e84526f..8b1d1c94b 100644 --- a/poky/meta/recipes-devtools/gcc/gcc-sanitizers.inc +++ b/poky/meta/recipes-devtools/gcc/gcc-sanitizers.inc @@ -45,6 +45,9 @@ INHIBIT_DEFAULT_DEPS = "1" ALLOW_EMPTY_${PN} = "1" DEPENDS = "gcc-runtime virtual/${TARGET_PREFIX}gcc" +# used to fix ../../../../../../../../../work-shared/gcc-8.3.0-r0/gcc-8.3.0/libsanitizer/libbacktrace/../../libbacktrace/elf.c:772:21: error: 'st.st_mode' may be used uninitialized in this function [-Werror=maybe-uninitialized] +DEBUG_OPTIMIZATION_append = " -Wno-error" + BBCLASSEXTEND = "nativesdk" PACKAGES = "${PN} ${PN}-dbg" diff --git a/poky/meta/recipes-devtools/gcc/gcc-sanitizers_9.1.bb b/poky/meta/recipes-devtools/gcc/gcc-sanitizers_9.1.bb new file mode 100644 index 000000000..f3c705811 --- /dev/null +++ b/poky/meta/recipes-devtools/gcc/gcc-sanitizers_9.1.bb @@ -0,0 +1,7 @@ +require recipes-devtools/gcc/gcc-${PV}.inc +require gcc-sanitizers.inc + +# Building with thumb enabled on armv4t armv5t fails with +# sanitizer_linux.s:5749: Error: lo register required -- `ldr ip,[sp],#8' +ARM_INSTRUCTION_SET_armv4 = "arm" +ARM_INSTRUCTION_SET_armv5 = "arm" diff --git a/poky/meta/recipes-devtools/gcc/gcc-source_9.1.bb b/poky/meta/recipes-devtools/gcc/gcc-source_9.1.bb new file mode 100644 index 000000000..b890fa33e --- /dev/null +++ b/poky/meta/recipes-devtools/gcc/gcc-source_9.1.bb @@ -0,0 +1,4 @@ +require recipes-devtools/gcc/gcc-${PV}.inc +require recipes-devtools/gcc/gcc-source.inc + +EXCLUDE_FROM_WORLD = "1" diff --git a/poky/meta/recipes-devtools/gcc/gcc-target.inc b/poky/meta/recipes-devtools/gcc/gcc-target.inc index 627005964..bdc6ff658 100644 --- a/poky/meta/recipes-devtools/gcc/gcc-target.inc +++ b/poky/meta/recipes-devtools/gcc/gcc-target.inc @@ -2,9 +2,7 @@ GCCMULTILIB = "--enable-multilib" require gcc-configure-common.inc EXTRA_OECONF_PATHS = "\ - --with-sysroot=/ \ --with-build-sysroot=${STAGING_DIR_TARGET} \ - --with-gxx-include-dir=${includedir}/c++/${BINV} \ " EXTRA_OECONF_append_linuxstdbase = " --enable-clocale=gnu" diff --git a/poky/meta/recipes-devtools/gcc/gcc_9.1.bb b/poky/meta/recipes-devtools/gcc/gcc_9.1.bb new file mode 100644 index 000000000..7d9359058 --- /dev/null +++ b/poky/meta/recipes-devtools/gcc/gcc_9.1.bb @@ -0,0 +1,14 @@ +require recipes-devtools/gcc/gcc-${PV}.inc +require gcc-target.inc + +# Building with thumb enabled on armv4t armv5t fails with +# | gcc-4.8.1-r0/gcc-4.8.1/gcc/cp/decl.c:7438:(.text.unlikely+0x2fa): relocation truncated to fit: R_ARM_THM_CALL against symbol `fancy_abort(char const*, int, char const*)' defined in .glue_7 section in linker stubs +# | gcc-4.8.1-r0/gcc-4.8.1/gcc/cp/decl.c:7442:(.text.unlikely+0x318): additional relocation overflows omitted from the output +ARM_INSTRUCTION_SET_armv4 = "arm" +ARM_INSTRUCTION_SET_armv5 = "arm" + +ARMFPARCHEXT_armv6 = "${@'+fp' if d.getVar('TARGET_FPU') == 'hard' else ''}" +ARMFPARCHEXT_armv7a = "${@'+fp' if d.getVar('TARGET_FPU') == 'hard' else ''}" +ARMFPARCHEXT_armv7ve = "${@'+fp' if d.getVar('TARGET_FPU') == 'hard' else ''}" + +BBCLASSEXTEND = "nativesdk" diff --git a/poky/meta/recipes-devtools/gcc/libgcc-initial_9.1.bb b/poky/meta/recipes-devtools/gcc/libgcc-initial_9.1.bb new file mode 100644 index 000000000..0c698c26e --- /dev/null +++ b/poky/meta/recipes-devtools/gcc/libgcc-initial_9.1.bb @@ -0,0 +1,5 @@ +require recipes-devtools/gcc/gcc-${PV}.inc +require libgcc-initial.inc + +# Building with thumb enabled on armv6t fails +ARM_INSTRUCTION_SET_armv6 = "arm" diff --git a/poky/meta/recipes-devtools/gcc/libgcc.inc b/poky/meta/recipes-devtools/gcc/libgcc.inc index e4e0c4800..e008d14f3 100644 --- a/poky/meta/recipes-devtools/gcc/libgcc.inc +++ b/poky/meta/recipes-devtools/gcc/libgcc.inc @@ -11,6 +11,13 @@ do_install_append_class-target () { esac ln -s ${TARGET_SYS} ${D}${libdir}/${TARGET_ARCH}${TARGET_VENDOR}-$extra_target_os fi + if [ -n "${@ bb.utils.contains('TUNE_CCARGS_MFLOAT', 'hard', 'hf', '', d)}" ]; then + case "${TARGET_OS}" in + "linux-musleabi") extra_target_os="linux-musleabihf";; + "linux-gnueabi") extra_target_os="linux-gnueabihf";; + esac + ln -s ${TARGET_SYS} ${D}${libdir}/${TARGET_ARCH}${TARGET_VENDOR}-$extra_target_os + fi } PACKAGES = "\ diff --git a/poky/meta/recipes-devtools/gcc/libgcc_9.1.bb b/poky/meta/recipes-devtools/gcc/libgcc_9.1.bb new file mode 100644 index 000000000..ea210a113 --- /dev/null +++ b/poky/meta/recipes-devtools/gcc/libgcc_9.1.bb @@ -0,0 +1,5 @@ +require recipes-devtools/gcc/gcc-${PV}.inc +require libgcc.inc + +# Building with thumb enabled on armv6t fails +ARM_INSTRUCTION_SET_armv6 = "arm" diff --git a/poky/meta/recipes-devtools/gcc/libgfortran.inc b/poky/meta/recipes-devtools/gcc/libgfortran.inc index 4b7b7b2ac..7543585e6 100644 --- a/poky/meta/recipes-devtools/gcc/libgfortran.inc +++ b/poky/meta/recipes-devtools/gcc/libgfortran.inc @@ -66,6 +66,7 @@ FILES_${PN}-dev = "\ ${libdir}/gcc/${TARGET_SYS}/${BINV}/libgfortranbegin.* \ ${libdir}/gcc/${TARGET_SYS}/${BINV}/libcaf_single* \ ${libdir}/gcc/${TARGET_SYS}/${BINV}/finclude/ \ + ${libdir}/gcc/${TARGET_SYS}/${BINV}/include/ \ " FILES_${PN}-staticdev = "${libdir}/libgfortran.a" diff --git a/poky/meta/recipes-devtools/gcc/libgfortran_9.1.bb b/poky/meta/recipes-devtools/gcc/libgfortran_9.1.bb new file mode 100644 index 000000000..71dd8b4bd --- /dev/null +++ b/poky/meta/recipes-devtools/gcc/libgfortran_9.1.bb @@ -0,0 +1,3 @@ +require recipes-devtools/gcc/gcc-${PV}.inc +require libgfortran.inc + diff --git a/poky/meta/recipes-devtools/gdb/gdb-8.2.1.inc b/poky/meta/recipes-devtools/gdb/gdb-8.2.1.inc index 1fc1ec0da..f28b57439 100644 --- a/poky/meta/recipes-devtools/gdb/gdb-8.2.1.inc +++ b/poky/meta/recipes-devtools/gdb/gdb-8.2.1.inc @@ -17,6 +17,8 @@ SRC_URI = "http://ftp.gnu.org/gnu/gdb/gdb-${PV}.tar.xz \ file://0011-Fix-invalid-sigprocmask-call.patch \ file://gdbserver-ctrl-c-handling.patch \ file://0001-Fix-build-with-latest-GCC-9.0-tree.patch \ + file://CVE-2017-9778.patch \ + file://0012-AArch64-Fix-the-gdb-build-with-musl-libc.patch \ " SRC_URI[md5sum] = "f8b2562e830a4098dd5b5ea9e9296c70" SRC_URI[sha256sum] = "0a6a432907a03c5c8eaad3c3cffd50c00a40c3a5e3c4039440624bae703f2202" diff --git a/poky/meta/recipes-devtools/gdb/gdb/0012-AArch64-Fix-the-gdb-build-with-musl-libc.patch b/poky/meta/recipes-devtools/gdb/gdb/0012-AArch64-Fix-the-gdb-build-with-musl-libc.patch new file mode 100644 index 000000000..f35033c12 --- /dev/null +++ b/poky/meta/recipes-devtools/gdb/gdb/0012-AArch64-Fix-the-gdb-build-with-musl-libc.patch @@ -0,0 +1,52 @@ +From cbbf1a8ba7f037ba3b83f090829edcbab542c285 Mon Sep 17 00:00:00 2001 +From: Szabolcs Nagy <szabolcs.nagy@arm.com> +Date: Thu, 13 Dec 2018 17:47:17 +0000 +Subject: [PATCH] AArch64: Fix the gdb build with musl libc + +Including asm/sigcontext.h together with libc headers is not valid. In +general linux headers may not work with libc headers, so mixing them +should be avoided, especially when the linux header defines types that +are also exposed in libc headers. + +In case of asm/sigcontext.h glibc happens to work because glibc signal.h +directly includes it, but e.g. in musl libc signal.h replicates the +sigcontext.h definitions in an abi compatible way which are in conflict +with the linux definitions when both headers are included. + +Since old linux headers or old libc headers may not have the necessary +definitions, gdb has to replicate the definitions it relies on anyway. +Which is fine since all definitions must be ABI stable. For linux apis +that are not available via libc headers, replicating the definitions in +gdb is the most reliable way to use them. + +Note: asm/ptrace.h includes asm/sigcontext.h in some versions of linux +headers, which is just as problematic and should be fixed in linux. + +gdb/ChangeLog: + + * nat/aarch64-sve-linux-ptrace.h: Include signal.h instead of + asm/sigcontext.h. + +[ChangeLog entry stripped so that patch applies cleanly] +Upstream-Status: Backport +Signed-off-by: Paul Barker <paul@betafive.co.uk> +--- + gdb/nat/aarch64-sve-linux-ptrace.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/gdb/nat/aarch64-sve-linux-ptrace.h b/gdb/nat/aarch64-sve-linux-ptrace.h +index 029e753ffe..172ae39432 100644 +--- a/gdb/nat/aarch64-sve-linux-ptrace.h ++++ b/gdb/nat/aarch64-sve-linux-ptrace.h +@@ -20,7 +20,7 @@ + #ifndef AARCH64_SVE_LINUX_PTRACE_H + #define AARCH64_SVE_LINUX_PTRACE_H + +-#include <asm/sigcontext.h> ++#include <signal.h> + #include <sys/utsname.h> + #include <sys/ptrace.h> + #include <asm/ptrace.h> +-- +2.17.1 + diff --git a/poky/meta/recipes-devtools/gdb/gdb/CVE-2017-9778.patch b/poky/meta/recipes-devtools/gdb/gdb/CVE-2017-9778.patch new file mode 100644 index 000000000..935f2661f --- /dev/null +++ b/poky/meta/recipes-devtools/gdb/gdb/CVE-2017-9778.patch @@ -0,0 +1,99 @@ +From a608b79f30ab3f670095e14ba3d3b5b24a19fe68 Mon Sep 17 00:00:00 2001 +From: Sandra Loosemore <sandra@codesourcery.com> +Date: Thu, 25 Apr 2019 07:27:02 -0700 +Subject: [PATCH] Detect invalid length field in debug frame FDE header. + +GDB was failing to catch cases where a corrupt ELF or core file +contained an invalid length value in a Dwarf debug frame FDE header. +It was checking for buffer overflow but not cases where the length was +negative or caused pointer wrap-around. + +In addition to the additional validity check, this patch cleans up the +multiple signed/unsigned conversions on the length field so that an +unsigned representation is used consistently throughout. + +This patch fixes CVE-2017-9778 and PR gdb/21600. + +2019-04-25 Sandra Loosemore <sandra@codesourcery.com> + Kang Li <kanglictf@gmail.com> + + PR gdb/21600 + + * dwarf2-frame.c (read_initial_length): Be consistent about using + unsigned representation of length. + (decode_frame_entry_1): Likewise. Check for wraparound of + end pointer as well as buffer overflow. + +Upstream-Status: Backport [https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=723adb650a31859d7cc45832cb8adca0206455ed] +CVE: CVE-2017-9778 +Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> +--- + gdb/ChangeLog | 11 +++++++++++ + gdb/dwarf2-frame.c | 14 +++++++------- + 2 files changed, 18 insertions(+), 7 deletions(-) + +diff --git a/gdb/ChangeLog b/gdb/ChangeLog +index 3711dc7..0a9720b 100644 +--- a/gdb/ChangeLog ++++ b/gdb/ChangeLog +@@ -1,3 +1,14 @@ ++2019-04-25 Sandra Loosemore <sandra@codesourcery.com> ++ Kang Li <kanglictf@gmail.com> ++ ++ PR gdb/21600 ++ ++ * dwarf2-frame.c (read_initial_length): Be consistent about using ++ unsigned representation of length. ++ (decode_frame_entry_1): Likewise. Check for wraparound of ++ end pointer as well as buffer overflow. ++ ++ + 2018-12-23 Joel Brobecker <brobecker@adacore.com> + + * version.in: Set GDB version number to 8.2.1. +diff --git a/gdb/dwarf2-frame.c b/gdb/dwarf2-frame.c +index 91e16cf..a7b99fd 100644 +--- a/gdb/dwarf2-frame.c ++++ b/gdb/dwarf2-frame.c +@@ -1477,7 +1477,7 @@ static ULONGEST + read_initial_length (bfd *abfd, const gdb_byte *buf, + unsigned int *bytes_read_ptr) + { +- LONGEST result; ++ ULONGEST result; + + result = bfd_get_32 (abfd, buf); + if (result == 0xffffffff) +@@ -1780,7 +1780,7 @@ decode_frame_entry_1 (struct comp_unit *unit, const gdb_byte *start, + { + struct gdbarch *gdbarch = get_objfile_arch (unit->objfile); + const gdb_byte *buf, *end; +- LONGEST length; ++ ULONGEST length; + unsigned int bytes_read; + int dwarf64_p; + ULONGEST cie_id; +@@ -1791,15 +1791,15 @@ decode_frame_entry_1 (struct comp_unit *unit, const gdb_byte *start, + buf = start; + length = read_initial_length (unit->abfd, buf, &bytes_read); + buf += bytes_read; +- end = buf + length; +- +- /* Are we still within the section? */ +- if (end > unit->dwarf_frame_buffer + unit->dwarf_frame_size) +- return NULL; ++ end = buf + (size_t) length; + + if (length == 0) + return end; + ++ /* Are we still within the section? */ ++ if (end <= buf || end > unit->dwarf_frame_buffer + unit->dwarf_frame_size) ++ return NULL; ++ + /* Distinguish between 32 and 64-bit encoded frame info. */ + dwarf64_p = (bytes_read == 12); + +-- +2.7.4 + diff --git a/poky/meta/recipes-devtools/git/git_2.20.1.bb b/poky/meta/recipes-devtools/git/git_2.20.1.bb deleted file mode 100644 index 877fb05e5..000000000 --- a/poky/meta/recipes-devtools/git/git_2.20.1.bb +++ /dev/null @@ -1,11 +0,0 @@ -require git.inc - -EXTRA_OECONF += "ac_cv_snprintf_returns_bogus=no \ - ac_cv_fread_reads_directories=${ac_cv_fread_reads_directories=yes} \ - " -EXTRA_OEMAKE += "NO_GETTEXT=1" - -SRC_URI[tarball.md5sum] = "7a7769e5c957364ed0aed89e6e67c254" -SRC_URI[tarball.sha256sum] = "edc3bc1495b69179ba4e272e97eff93334a20decb1d8db6ec3c19c16417738fd" -SRC_URI[manpages.md5sum] = "78c6e54a61a167dab5e8ae07036293ab" -SRC_URI[manpages.sha256sum] = "e9c123463abd05e142defe44a8060ce6e9853dfd8c83b2542e38b7deac4e6d4c" diff --git a/poky/meta/recipes-devtools/git/git_2.21.0.bb b/poky/meta/recipes-devtools/git/git_2.21.0.bb new file mode 100644 index 000000000..434ff8f3d --- /dev/null +++ b/poky/meta/recipes-devtools/git/git_2.21.0.bb @@ -0,0 +1,11 @@ +require git.inc + +EXTRA_OECONF += "ac_cv_snprintf_returns_bogus=no \ + ac_cv_fread_reads_directories=${ac_cv_fread_reads_directories=yes} \ + " +EXTRA_OEMAKE += "NO_GETTEXT=1" + +SRC_URI[tarball.md5sum] = "b8e00c2997774c5d4aaf26fd9d9aaf64" +SRC_URI[tarball.sha256sum] = "85eca51c7404da75e353eba587f87fea9481ba41e162206a6f70ad8118147bee" +SRC_URI[manpages.md5sum] = "8a168697b99a9a3f04f29f7d4bacd70b" +SRC_URI[manpages.sha256sum] = "14c76ebb4e31f9e55cf5338a04fd3a13bced0323cd51794ccf45fc74bd0c1080" diff --git a/poky/meta/recipes-devtools/help2man/help2man-native_1.47.6.bb b/poky/meta/recipes-devtools/help2man/help2man-native_1.47.10.bb index 794d308cb..5feaeea13 100644 --- a/poky/meta/recipes-devtools/help2man/help2man-native_1.47.6.bb +++ b/poky/meta/recipes-devtools/help2man/help2man-native_1.47.10.bb @@ -5,9 +5,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" DEPENDS = "autoconf-native automake-native" SRC_URI = "${GNU_MIRROR}/${BPN}/${BPN}-${PV}.tar.xz" - -SRC_URI[md5sum] = "7424901e6eca8af372d2ad62be5cf659" -SRC_URI[sha256sum] = "d91b0295b72a638e4a564f643e4e6d1928779131f628c00f356c13bf336de46f" +SRC_URI[md5sum] = "0d70833650a552e0af742882ba84f2ee" +SRC_URI[sha256sum] = "f371cbfd63f879065422b58fa6b81e21870cd791ef6e11d4528608204aa4dcfb" inherit autotools native diff --git a/poky/meta/recipes-devtools/libcomps/libcomps/0002-Set-library-installation-path-correctly.patch b/poky/meta/recipes-devtools/libcomps/libcomps/0002-Set-library-installation-path-correctly.patch deleted file mode 100644 index dc3d97635..000000000 --- a/poky/meta/recipes-devtools/libcomps/libcomps/0002-Set-library-installation-path-correctly.patch +++ /dev/null @@ -1,27 +0,0 @@ -From b1f61296e2f16c2b9a39c5501e4538628ff01ab4 Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin <alex.kanavin@gmail.com> -Date: Fri, 30 Dec 2016 18:26:00 +0200 -Subject: [PATCH 2/2] Set library installation path correctly - -Upstream-Status: Submitted [https://github.com/rpm-software-management/libcomps/pull/32] -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> ---- - libcomps/src/CMakeLists.txt | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/libcomps/src/CMakeLists.txt b/libcomps/src/CMakeLists.txt -index e553d77..e2eef9c 100644 ---- a/libcomps/src/CMakeLists.txt -+++ b/libcomps/src/CMakeLists.txt -@@ -52,7 +52,7 @@ add_dependencies(libcomps src-copy) - IF (CMAKE_SIZEOF_VOID_P MATCHES "8") - SET (LIB_SUFFIX "64") - ENDIF (CMAKE_SIZEOF_VOID_P MATCHES "8") --set (LIB_INST_DIR ${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}) -+set (LIB_INST_DIR ${CMAKE_INSTALL_LIBDIR}) - - - install (FILES ${libcomps_HEADERS} DESTINATION include/libcomps) --- -2.11.0 - diff --git a/poky/meta/recipes-devtools/libcomps/libcomps_git.bb b/poky/meta/recipes-devtools/libcomps/libcomps_git.bb index ff6820851..372c3c358 100644 --- a/poky/meta/recipes-devtools/libcomps/libcomps_git.bb +++ b/poky/meta/recipes-devtools/libcomps/libcomps_git.bb @@ -4,13 +4,12 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" SRC_URI = "git://github.com/rpm-software-management/libcomps.git \ file://0001-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch \ - file://0002-Set-library-installation-path-correctly.patch \ file://0001-Make-__comps_objmrtree_all-static-inline.patch \ file://0001-Add-crc32.c-to-sources-list.patch \ " -PV = "0.1.10" -SRCREV = "86a82fcd155c27092340d15a34f5c75c4da88243" +PV = "0.1.11" +SRCREV = "d868a79b76fb980d1371c28124ae07f00d2b63a9" S = "${WORKDIR}/git" diff --git a/poky/meta/recipes-devtools/libdnf/libdnf/0001-Add-WITH_TESTS-option.patch b/poky/meta/recipes-devtools/libdnf/libdnf/0001-Add-WITH_TESTS-option.patch index 7c8131b4b..3c87d4d8b 100644 --- a/poky/meta/recipes-devtools/libdnf/libdnf/0001-Add-WITH_TESTS-option.patch +++ b/poky/meta/recipes-devtools/libdnf/libdnf/0001-Add-WITH_TESTS-option.patch @@ -1,4 +1,4 @@ -From 0d0155c4dd6c0b3305ea2ab0e10b0f84d024a6e1 Mon Sep 17 00:00:00 2001 +From e5a50db749b2b02e9e0cff9f7b639020e8ac76da Mon Sep 17 00:00:00 2001 From: Alexander Kanavin <alex.kanavin@gmail.com> Date: Tue, 6 Nov 2018 13:54:43 +0100 Subject: [PATCH] Add WITH_TESTS option @@ -14,36 +14,36 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> 2 files changed, 5 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt -index b73a03d7..a9e0200f 100644 +index ce88b9e3..7a99320a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -36,6 +36,7 @@ OPTION(WITH_MAN "Enables hawkey man page generation" ON) - OPTION(WITH_HTML "Enables hawkey HTML generation" ON) +@@ -32,6 +32,7 @@ option(WITH_HTML "Enables hawkey HTML generation" ON) + option(WITH_MAN "Enables hawkey man page generation" ON) + option(ENABLE_RHSM_SUPPORT "Build with Red Hat Subscription Manager support?" OFF) + option(ENABLE_SOLV_URPMREORDER "Build with support for URPM-like solution reordering?" OFF) ++option(WITH_TESTS "Enables unit tests" ON) - OPTION(WITH_BINDINGS "Enables python/SWIG bindings" ON) -+OPTION(WITH_TESTS "Enables unit tests" ON) - OPTION (ENABLE_SOLV_URPMREORDER "Build with support for URPM-like solution reordering?" OFF) - option (ENABLE_RHSM_SUPPORT "Build with Red Hat Subscription Manager support?" OFF) -@@ -122,8 +123,10 @@ IF (WITH_BINDINGS) - # ADD_SUBDIRECTORY (bindings/perl) - ADD_SUBDIRECTORY (bindings/python) - ENDIF() + # load pkg-config first; it's required by other modules +@@ -158,8 +159,10 @@ endif() + + + # build tests +IF (WITH_TESTS) - ENABLE_TESTING() - ADD_SUBDIRECTORY (tests) + enable_testing() + add_subdirectory(tests) +ENDIF() - IF (WITH_BINDINGS) - ADD_SUBDIRECTORY (python/hawkey) - ADD_SUBDIRECTORY (docs/hawkey) + if(WITH_BINDINGS) + add_subdirectory(python/hawkey) + endif() diff --git a/python/hawkey/CMakeLists.txt b/python/hawkey/CMakeLists.txt -index 3c0b3c0c..31466ed9 100644 +index d9645346..84d17204 100644 --- a/python/hawkey/CMakeLists.txt +++ b/python/hawkey/CMakeLists.txt -@@ -49,4 +49,6 @@ TARGET_LINK_LIBRARIES(_hawkeymodule ${PYTHON_LIBRARY}) - INSTALL(FILES __init__.py DESTINATION ${PYTHON_INSTALL_DIR}/hawkey) - INSTALL(TARGETS _hawkeymodule LIBRARY DESTINATION ${PYTHON_INSTALL_DIR}/hawkey) +@@ -50,4 +50,6 @@ target_link_libraries(_hawkeymodule ${PYTHON_LIBRARY}) + install(FILES __init__.py DESTINATION ${PYTHON_INSTALL_DIR}/hawkey) + install(TARGETS _hawkeymodule LIBRARY DESTINATION ${PYTHON_INSTALL_DIR}/hawkey) +IF (WITH_TESTS) - ADD_SUBDIRECTORY(tests) + add_subdirectory(tests) +ENDIF() diff --git a/poky/meta/recipes-devtools/libdnf/libdnf/0001-Get-parameters-for-both-libsolv-and-libsolvext-libdn.patch b/poky/meta/recipes-devtools/libdnf/libdnf/0001-Get-parameters-for-both-libsolv-and-libsolvext-libdn.patch index 246db3415..10450defb 100644 --- a/poky/meta/recipes-devtools/libdnf/libdnf/0001-Get-parameters-for-both-libsolv-and-libsolvext-libdn.patch +++ b/poky/meta/recipes-devtools/libdnf/libdnf/0001-Get-parameters-for-both-libsolv-and-libsolvext-libdn.patch @@ -1,4 +1,4 @@ -From c139a6c929cff93dbb9b8279e97263fc9e055727 Mon Sep 17 00:00:00 2001 +From 9294cd19e5e3121fb8d37b44ee82dd7c4b3ab2c7 Mon Sep 17 00:00:00 2001 From: Alexander Kanavin <alex.kanavin@gmail.com> Date: Tue, 7 Feb 2017 12:16:03 +0200 Subject: [PATCH] Get parameters for both libsolv and libsolvext (libdnf is @@ -13,15 +13,15 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt -index cd91f08..6422534 100644 +index b722d4fb..ce88b9e3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -46,7 +46,7 @@ endif(APPLE) - PKG_CHECK_MODULES(GLIB gio-unix-2.0>=2.46.0 REQUIRED) - pkg_check_modules(SMARTCOLS REQUIRED smartcols) - FIND_LIBRARY (RPMDB_LIBRARY NAMES rpmdb) +@@ -45,7 +45,7 @@ endif() + + # build dependencies + find_package(Gpgme REQUIRED) -PKG_CHECK_MODULES (LIBSOLV REQUIRED libsolv) +PKG_CHECK_MODULES (LIBSOLV REQUIRED libsolv libsolvext) set(LIBSOLV_LIBRARY ${LIBSOLV_LIBRARIES}) - if (ENABLE_RHSM_SUPPORT) - pkg_check_modules (RHSM REQUIRED librhsm>=0.0.3) + find_package(OpenSSL REQUIRED) + diff --git a/poky/meta/recipes-devtools/libdnf/libdnf/0001-include-missing-string-and-errno.h-headers.patch b/poky/meta/recipes-devtools/libdnf/libdnf/0001-include-missing-string-and-errno.h-headers.patch deleted file mode 100644 index 62de78482..000000000 --- a/poky/meta/recipes-devtools/libdnf/libdnf/0001-include-missing-string-and-errno.h-headers.patch +++ /dev/null @@ -1,65 +0,0 @@ -From ccc89ff0c1f8e55a4a22444d051925408f265df1 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Wed, 30 Jan 2019 10:32:11 -0800 -Subject: [PATCH] include missing <string> and errno.h headers - -This is unearthed when compiling with clang/libc++ - -Upstream-Status: Submitted [https://github.com/rpm-software-management/libdnf/pull/677] - -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - libdnf/conf/ConfigParser.hpp | 1 + - libdnf/module/modulemd/ModuleProfile.hpp | 1 + - libdnf/sack/changelog.hpp | 1 + - libdnf/utils/smartcols/Cell.hpp | 1 + - 4 files changed, 4 insertions(+) - -diff --git a/libdnf/conf/ConfigParser.hpp b/libdnf/conf/ConfigParser.hpp -index 97f25500..2a3851fa 100644 ---- a/libdnf/conf/ConfigParser.hpp -+++ b/libdnf/conf/ConfigParser.hpp -@@ -23,6 +23,7 @@ - - #include <map> - #include <stdexcept> -+#include <string> - #include <utility> - - namespace libdnf { -diff --git a/libdnf/module/modulemd/ModuleProfile.hpp b/libdnf/module/modulemd/ModuleProfile.hpp -index ab018deb..8d996ff4 100644 ---- a/libdnf/module/modulemd/ModuleProfile.hpp -+++ b/libdnf/module/modulemd/ModuleProfile.hpp -@@ -23,6 +23,7 @@ - - - #include <memory> -+#include <string> - #include <vector> - - #include <modulemd/modulemd.h> -diff --git a/libdnf/sack/changelog.hpp b/libdnf/sack/changelog.hpp -index a3d3fc44..d830c414 100644 ---- a/libdnf/sack/changelog.hpp -+++ b/libdnf/sack/changelog.hpp -@@ -23,6 +23,7 @@ - #define __CHANGELOG_HPP - - #include <ctime> -+#include <string> - - namespace libdnf { - -diff --git a/libdnf/utils/smartcols/Cell.hpp b/libdnf/utils/smartcols/Cell.hpp -index 2e811dee..b90f0050 100644 ---- a/libdnf/utils/smartcols/Cell.hpp -+++ b/libdnf/utils/smartcols/Cell.hpp -@@ -22,6 +22,7 @@ - #define LIBDNF_CELL_HPP - - #include <libsmartcols/libsmartcols.h> -+#include <cerrno> - #include <string> - #include <stdexcept> - diff --git a/poky/meta/recipes-devtools/libdnf/libdnf/0004-Set-libsolv-variables-with-pkg-config-cmake-s-own-mo.patch b/poky/meta/recipes-devtools/libdnf/libdnf/0004-Set-libsolv-variables-with-pkg-config-cmake-s-own-mo.patch index 80b1ed7bf..475c8f120 100644 --- a/poky/meta/recipes-devtools/libdnf/libdnf/0004-Set-libsolv-variables-with-pkg-config-cmake-s-own-mo.patch +++ b/poky/meta/recipes-devtools/libdnf/libdnf/0004-Set-libsolv-variables-with-pkg-config-cmake-s-own-mo.patch @@ -1,4 +1,4 @@ -From 2bcd0b9f6310bacdc554e077e85319a5e90e5ce0 Mon Sep 17 00:00:00 2001 +From 18c2c06017784cd641cc8a3deee5fc472008f7f4 Mon Sep 17 00:00:00 2001 From: Alexander Kanavin <alex.kanavin@gmail.com> Date: Fri, 30 Dec 2016 18:24:50 +0200 Subject: [PATCH] Set libsolv variables with pkg-config (cmake's own module @@ -13,16 +13,16 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt -index 0b405cb..cd91f08 100644 +index 16b63308..b722d4fb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -46,7 +46,8 @@ endif(APPLE) - PKG_CHECK_MODULES(GLIB gio-unix-2.0>=2.46.0 REQUIRED) - pkg_check_modules(SMARTCOLS REQUIRED smartcols) - FIND_LIBRARY (RPMDB_LIBRARY NAMES rpmdb) --find_package (LibSolv 0.6.30 REQUIRED COMPONENTS ext) +@@ -45,7 +45,8 @@ endif() + + # build dependencies + find_package(Gpgme REQUIRED) +-find_package(LibSolv 0.6.30 REQUIRED COMPONENTS ext) +PKG_CHECK_MODULES (LIBSOLV REQUIRED libsolv) +set(LIBSOLV_LIBRARY ${LIBSOLV_LIBRARIES}) - if (ENABLE_RHSM_SUPPORT) - pkg_check_modules (RHSM REQUIRED librhsm>=0.0.3) - include_directories (${RHSM_INCLUDE_DIRS}) + find_package(OpenSSL REQUIRED) + + diff --git a/poky/meta/recipes-devtools/libdnf/libdnf_0.26.0.bb b/poky/meta/recipes-devtools/libdnf/libdnf_0.28.1.bb index 9c2247c23..4ff294c32 100644 --- a/poky/meta/recipes-devtools/libdnf/libdnf_0.26.0.bb +++ b/poky/meta/recipes-devtools/libdnf/libdnf_0.28.1.bb @@ -7,10 +7,9 @@ SRC_URI = "git://github.com/rpm-software-management/libdnf \ file://0004-Set-libsolv-variables-with-pkg-config-cmake-s-own-mo.patch \ file://0001-Get-parameters-for-both-libsolv-and-libsolvext-libdn.patch \ file://0001-Add-WITH_TESTS-option.patch \ - file://0001-include-missing-string-and-errno.h-headers.patch \ " -SRCREV = "bd23204aa83d10e3d293a9f2d496cba6070f6a4d" +SRCREV = "751f89045b80d58c0d05800f74357cf78cdf7e77" S = "${WORKDIR}/git" diff --git a/poky/meta/recipes-devtools/libmodulemd/libmodulemd_git.bb b/poky/meta/recipes-devtools/libmodulemd/libmodulemd_git.bb index 87e92114c..40715c06e 100644 --- a/poky/meta/recipes-devtools/libmodulemd/libmodulemd_git.bb +++ b/poky/meta/recipes-devtools/libmodulemd/libmodulemd_git.bb @@ -7,8 +7,8 @@ SRC_URI = "git://github.com/fedora-modularity/libmodulemd;protocol=https \ file://0002-modulemd-v1-meson.build-do-not-generate-gir-or-gtkdo.patch \ " -PV = "2.1.0" -SRCREV = "072e6ee791fe7822a6d423bdac7e4a5cbb118bce" +PV = "2.2.3" +SRCREV = "4c75c6f8b39ee57aebe8fd36ef84808e893048c0" S = "${WORKDIR}/git" @@ -20,11 +20,6 @@ DEPENDS += "glib-2.0 libyaml glib-2.0-native" BBCLASSEXTEND = "native nativesdk" -GI_ENABLE_FLAG = "-Dskip_introspection=false" -GI_DISABLE_FLAG = "-Dskip_introspection=true" - -EXTRA_OEMESON_append_class-nativesdk = " ${GI_DISABLE_FLAG}" -EXTRA_OEMESON_append_class-native = " ${GI_DISABLE_FLAG}" - -EXTRA_OEMESON_append_class-target = " ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '${GI_ENABLE_FLAG}', \ - '${GI_DISABLE_FLAG}', d)} " +GIR_MESON_OPTION = 'skip_introspection' +GIR_MESON_ENABLE_FLAG = 'false' +GIR_MESON_DISABLE_FLAG = 'true' diff --git a/poky/meta/recipes-devtools/librepo/librepo_1.9.4.bb b/poky/meta/recipes-devtools/librepo/librepo_1.9.6.bb index c4d6c163e..fecedc981 100644 --- a/poky/meta/recipes-devtools/librepo/librepo_1.9.4.bb +++ b/poky/meta/recipes-devtools/librepo/librepo_1.9.6.bb @@ -7,7 +7,7 @@ SRC_URI = "git://github.com/rpm-software-management/librepo.git \ file://0004-Set-gpgme-variables-with-pkg-config-not-with-cmake-m.patch \ " -SRCREV = "928c2d9c66f0d10477b8c9d1192785b88e2b1155" +SRCREV = "7d8acd45eb09809a5ab729c312744da4b2fe92bb" S = "${WORKDIR}/git" diff --git a/poky/meta/recipes-devtools/m4/m4-1.4.18.inc b/poky/meta/recipes-devtools/m4/m4-1.4.18.inc index a6cef6f32..af0ff4586 100644 --- a/poky/meta/recipes-devtools/m4/m4-1.4.18.inc +++ b/poky/meta/recipes-devtools/m4/m4-1.4.18.inc @@ -4,15 +4,18 @@ DESCRIPTION = "GNU m4 is an implementation of the traditional Unix macro process compatible although it has some extensions (for example, handling more than 9 positional parameters to macros). \ GNU M4 also has built-in functions for including files, running shell commands, doing arithmetic, etc." -inherit autotools texinfo +inherit autotools texinfo ptest SRC_URI = "${GNU_MIRROR}/m4/m4-${PV}.tar.gz \ file://ac_config_links.patch \ file://remove-gets.patch \ file://m4-1.4.18-glibc-change-work-around.patch \ " - -SRC_URI_append_class-target = " file://0001-Unset-need_charset_alias-when-building-for-musl.patch" +SRC_URI_append_class-target = " file://0001-Unset-need_charset_alias-when-building-for-musl.patch \ + file://run-ptest \ + file://serial-tests-config.patch \ + file://0001-test-getopt-posix-fix.patch \ + " SRC_URI[md5sum] = "a077779db287adf4e12a035029002d28" SRC_URI[sha256sum] = "ab2633921a5cd38e48797bf5521ad259bdc4b979078034a3b790d7fec5493fab" @@ -28,3 +31,33 @@ acpaths = "-I ./m4" EXTRA_OECONF += "--without-libsigsegv-prefix" EXTRA_OEMAKE += "'infodir=${infodir}'" + +do_compile_ptest() { + cd ${B}/tests + sed -i '/^buildtest-TESTS: /c buildtest-TESTS: $(TESTS) $(check_LIBRARIES) $(check_PROGRAMS)' Makefile + oe_runmake buildtest-TESTS +} + +do_install_ptest() { + cp -r ${B}/tests ${D}${PTEST_PATH} + cp -r ${S}/tests/* ${D}${PTEST_PATH}/tests/ + sed -i '/^Makefile:/c Makefile:' ${D}${PTEST_PATH}/tests/Makefile + sed -i -e "s;LOCALE_FR='fr_FR';LOCALE_FR='fr_FR.iso88591';g" \ + -e "s;LOCALE_FR_UTF8='none';LOCALE_FR_UTF8='fr_FR.utf8';g" ${D}${PTEST_PATH}/tests/Makefile + find ${D}${PTEST_PATH} -type f -name *.[hoc] | xargs -i rm {} + cp ${S}/build-aux/update-copyright ${D}${PTEST_PATH}/tests/ + sed -i 's;update-copyright;./update-copyright;g' ${D}${PTEST_PATH}/tests/test-update-copyright.sh + chmod 0755 ${D}${PTEST_PATH}/tests/test-mbrtowc-w32-1.sh ${D}${PTEST_PATH}/tests/test-spawn-pipe-main \ + ${D}${PTEST_PATH}/tests/test-spawn-pipe-child ${D}${PTEST_PATH}/tests/test-version-etc \ + ${D}${PTEST_PATH}/tests/test-xalloc-die +} + + +RDEPENDS_${PN}-ptest += "make" +RDEPENDS_${PN}-ptest_append_libc-glibc = "\ + locale-base-fr-fr.iso-8859-1 \ +" + +INSANE_SKIP_${PN}-ptest += "ldflags" +INSANE_SKIP_${PN}-ptest += "rpaths" + diff --git a/poky/meta/recipes-devtools/m4/m4/0001-test-getopt-posix-fix.patch b/poky/meta/recipes-devtools/m4/m4/0001-test-getopt-posix-fix.patch new file mode 100644 index 000000000..11508ee0e --- /dev/null +++ b/poky/meta/recipes-devtools/m4/m4/0001-test-getopt-posix-fix.patch @@ -0,0 +1,41 @@ +From 75bea7c72a919859674f493548653de88f96c798 Mon Sep 17 00:00:00 2001 +From: Changqing Li <changqing.li@windriver.com> +Date: Mon, 22 Apr 2019 10:36:13 +0800 +Subject: [PATCH] test-getopt-posix fix + +fix below problem: +test-getopt.h:754: assertion 'strcmp (argv[1], "donald") == 0' failed + +get this patch from +https://github.com/habitat-sh/core-plans/blob/master/m4/fix-test-getopt-posix-with-glibc-2.26.patch + +Upstream-Status: Pending + +have report this bug to m4-discuss@gnu.org + +Signed-off-by: Changqing Li <changqing.li@windriver.com> +--- + tests/test-getopt-posix.c | 7 +++++++ + 1 file changed, 7 insertions(+) + +diff --git a/tests/test-getopt-posix.c b/tests/test-getopt-posix.c +index 5532271..2a3d511 100644 +--- a/tests/test-getopt-posix.c ++++ b/tests/test-getopt-posix.c +@@ -22,6 +22,13 @@ + ftell link warning if we are not using the gnulib ftell module. */ + #define _GL_NO_LARGE_FILES + ++/* ++ * Glibc 2.26 does hard include bits/getopt_posix.h which causes the system ++ * to use glibc's getopt but the tests expect gnulib behavior. Until a better ++ * fix is available this avoids that mis-resolution. ++ */ ++#include <getopt.h> ++ + /* POSIX and glibc provide the getopt() function in <unistd.h>, see + http://pubs.opengroup.org/onlinepubs/9699919799/functions/getopt.html + https://www.gnu.org/software/libc/manual/html_node/Using-Getopt.html +-- +2.7.4 + diff --git a/poky/meta/recipes-devtools/m4/m4/m4-1.4.18-glibc-change-work-around.patch b/poky/meta/recipes-devtools/m4/m4/m4-1.4.18-glibc-change-work-around.patch index 72e7ae208..c10bcbf69 100644 --- a/poky/meta/recipes-devtools/m4/m4/m4-1.4.18-glibc-change-work-around.patch +++ b/poky/meta/recipes-devtools/m4/m4/m4-1.4.18-glibc-change-work-around.patch @@ -3,8 +3,9 @@ update for glibc libio.h removal in 2.28+ see https://src.fedoraproject.org/rpms/m4/c/814d592134fad36df757f9a61422d164ea2c6c9b?branch=master -Upstream-Status: Pending +Upstream-Status: Backport [https://git.savannah.gnu.org/cgit/gnulib.git/commit/?id=4af4a4a718] Signed-off-by: Khem Raj <raj.khem@gmail.com> + Index: m4-1.4.18/lib/fflush.c =================================================================== --- m4-1.4.18.orig/lib/fflush.c diff --git a/poky/meta/recipes-devtools/m4/m4/run-ptest b/poky/meta/recipes-devtools/m4/m4/run-ptest new file mode 100644 index 000000000..5c0fe9335 --- /dev/null +++ b/poky/meta/recipes-devtools/m4/m4/run-ptest @@ -0,0 +1,5 @@ +#!/bin/sh +# +#This script is used to run m4 test suites +cd tests +make -k runtest-TESTS top_srcdir=.. srcdir=. diff --git a/poky/meta/recipes-devtools/m4/m4/serial-tests-config.patch b/poky/meta/recipes-devtools/m4/m4/serial-tests-config.patch new file mode 100644 index 000000000..34e6ad801 --- /dev/null +++ b/poky/meta/recipes-devtools/m4/m4/serial-tests-config.patch @@ -0,0 +1,30 @@ +From ab8491111b4578db5b735c6466187775e1855f18 Mon Sep 17 00:00:00 2001 +From: Changqing Li <changqing.li@windriver.com> +Date: Tue, 23 Apr 2019 15:35:00 +0800 +Subject: [PATCH] add a patch to use serial-tests config needed by ptest + +Add serial-tests support, ptest need it. + +Upstream-Status: Inappropriate [oe specific] + +Signed-off-by: Changqing Li <changqing.li@windriver.com> +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 78b8788..931fa6f 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -22,7 +22,7 @@ AC_INIT([GNU M4], m4_esyscmd([build-aux/git-version-gen .tarball-version]), + [bug-m4@gnu.org]) + AC_CONFIG_AUX_DIR([build-aux]) + +-AM_INIT_AUTOMAKE([1.11.6 dist-bzip2 dist-xz color-tests parallel-tests ++AM_INIT_AUTOMAKE([1.11.6 dist-bzip2 dist-xz color-tests serial-tests + silent-rules subdir-objects gnu]) + AM_SILENT_RULES([yes]) # make --enable-silent-rules the default. + +-- +2.7.4 + diff --git a/poky/meta/recipes-devtools/meson/meson.inc b/poky/meta/recipes-devtools/meson/meson.inc index 2d18f72c0..6a723683c 100644 --- a/poky/meta/recipes-devtools/meson/meson.inc +++ b/poky/meta/recipes-devtools/meson/meson.inc @@ -7,18 +7,19 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=3b83ef96387f14655fc854ddc3c6bd57" SRC_URI = "https://github.com/mesonbuild/meson/releases/download/${PV}/meson-${PV}.tar.gz \ file://0001-gtkdoc-fix-issues-that-arise-when-cross-compiling.patch \ file://0002-gobject-introspection-determine-g-ir-scanner-and-g-i.patch \ - file://0001-Linker-rules-move-cross_args-in-front-of-output_args.patch \ file://0003-native_bindir.patch \ file://0001-python-module-do-not-manipulate-the-environment-when.patch \ file://disable-rpath-handling.patch \ - file://0001-modules-windows-split-WINDRES-env-variable.patch \ - file://0002-environment.py-detect-windows-also-if-the-system-str.patch \ file://cross-prop-default.patch \ - file://many-cross.patch \ - file://cross-libdir.patch \ + file://load-configs-generalise-search-path.patch \ + file://0007-mesonbuild-allow-multiple-cross-file-options.patch \ + file://0001-environment.py-detect-windows-also-if-the-system-str.patch \ + file://0001-mesonbuild-environment.py-do-not-determine-whether-a.patch \ + file://0001-mesonbuild-environment.py-check-environment-for-vari.patch \ + file://0001-modules-python.py-do-not-substitute-python-s-install.patch \ " -SRC_URI[sha256sum] = "ef9f14326ec1e30d3ba1a26df0f92826ede5a79255ad723af78a2691c37109fd" -SRC_URI[md5sum] = "0267b0871266056184c484792572c682" +SRC_URI[sha256sum] = "f68f56d60c80a77df8fc08fa1016bc5831605d4717b622c96212573271e14ecc" +SRC_URI[md5sum] = "24a6527796115828d2ebc75880e18d62" SRC_URI_append_class-native = " \ file://0001-Make-CPU-family-warnings-fatal.patch \ diff --git a/poky/meta/recipes-devtools/meson/meson/0001-Linker-rules-move-cross_args-in-front-of-output_args.patch b/poky/meta/recipes-devtools/meson/meson/0001-Linker-rules-move-cross_args-in-front-of-output_args.patch deleted file mode 100644 index 97778c32e..000000000 --- a/poky/meta/recipes-devtools/meson/meson/0001-Linker-rules-move-cross_args-in-front-of-output_args.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 4676224dbdff0f7107e8cbdbe0eab19c855f1454 Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin <alex.kanavin@gmail.com> -Date: Fri, 17 Nov 2017 13:18:28 +0200 -Subject: [PATCH] Linker rules: move {cross_args} in front of {output_args} - -The previous order was found to break linking in some cases -(e.g. when -no-pic -fno-PIC was present in {cross_args}. - -Upstream-Status: Pending -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> ---- - mesonbuild/backend/ninjabackend.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/mesonbuild/backend/ninjabackend.py b/mesonbuild/backend/ninjabackend.py -index bb281e1..969b70e 100644 ---- a/mesonbuild/backend/ninjabackend.py -+++ b/mesonbuild/backend/ninjabackend.py -@@ -1501,7 +1501,7 @@ int dummy; - rspfile_content = $ARGS {output_args} $in $LINK_ARGS {cross_args} $aliasing - ''' - else: -- command_template = ' command = {executable} $ARGS {output_args} $in $LINK_ARGS {cross_args} $aliasing\n' -+ command_template = ' command = {executable} $ARGS {cross_args} {output_args} $in $LINK_ARGS $aliasing\n' - command = command_template.format( - executable=' '.join(compiler.get_linker_exelist()), - cross_args=' '.join(cross_args), --- -2.15.0 - diff --git a/poky/meta/recipes-devtools/meson/meson/0001-Make-CPU-family-warnings-fatal.patch b/poky/meta/recipes-devtools/meson/meson/0001-Make-CPU-family-warnings-fatal.patch index fbc3f5ad8..adde1e271 100644 --- a/poky/meta/recipes-devtools/meson/meson/0001-Make-CPU-family-warnings-fatal.patch +++ b/poky/meta/recipes-devtools/meson/meson/0001-Make-CPU-family-warnings-fatal.patch @@ -1,4 +1,4 @@ -From 2db829d865bb6464ac15dbb4a58c9a675e296866 Mon Sep 17 00:00:00 2001 +From 4b4b3d4932d928f05dbd74d730a3c8a5ac371e1d Mon Sep 17 00:00:00 2001 From: Ross Burton <ross.burton@intel.com> Date: Tue, 3 Jul 2018 13:59:09 +0100 Subject: [PATCH] Make CPU family warnings fatal @@ -7,15 +7,29 @@ Upstream-Status: Inappropriate [OE specific] Signed-off-by: Ross Burton <ross.burton@intel.com> --- - mesonbuild/environment.py | 6 ++---- - 1 file changed, 2 insertions(+), 4 deletions(-) + mesonbuild/envconfig.py | 2 +- + mesonbuild/environment.py | 4 +--- + 2 files changed, 2 insertions(+), 4 deletions(-) +diff --git a/mesonbuild/envconfig.py b/mesonbuild/envconfig.py +index 5309ef4..3f0a399 100644 +--- a/mesonbuild/envconfig.py ++++ b/mesonbuild/envconfig.py +@@ -178,7 +178,7 @@ class MachineInfo: + + cpu_family = literal['cpu_family'] + if cpu_family not in known_cpu_families: +- mlog.warning('Unknown CPU family %s, please report this at https://github.com/mesonbuild/meson/issues/new' % cpu_family) ++ raise EnvironmentException('Unknown CPU family %s, see https://wiki.yoctoproject.org/wiki/Meson/UnknownCPU for directions.' % cpu_family) + + endian = literal['endian'] + if endian not in ('little', 'big'): diff --git a/mesonbuild/environment.py b/mesonbuild/environment.py -index 2ccd31e..5fcf9df 100644 +index 3031a82..ecd18d0 100644 --- a/mesonbuild/environment.py +++ b/mesonbuild/environment.py -@@ -265,9 +265,7 @@ def detect_cpu_family(compilers): - # below. +@@ -242,9 +242,7 @@ def detect_cpu_family(compilers): + trial = 'parisc' if trial not in known_cpu_families: - mlog.warning('Unknown CPU family {!r}, please report this at ' @@ -25,12 +39,3 @@ index 2ccd31e..5fcf9df 100644 return trial -@@ -1232,7 +1230,7 @@ class MachineInfo: - - cpu_family = literal['cpu_family'] - if cpu_family not in known_cpu_families: -- mlog.warning('Unknown CPU family %s, please report this at https://github.com/mesonbuild/meson/issues/new' % cpu_family) -+ raise EnvironmentException('Unknown CPU family %s, see https://wiki.yoctoproject.org/wiki/Meson/UnknownCPU for directions.' % cpu_family) - - endian = literal['endian'] - if endian not in ('little', 'big'): diff --git a/poky/meta/recipes-devtools/meson/meson/0002-environment.py-detect-windows-also-if-the-system-str.patch b/poky/meta/recipes-devtools/meson/meson/0001-environment.py-detect-windows-also-if-the-system-str.patch index 1be5d6632..f6043190a 100644 --- a/poky/meta/recipes-devtools/meson/meson/0002-environment.py-detect-windows-also-if-the-system-str.patch +++ b/poky/meta/recipes-devtools/meson/meson/0001-environment.py-detect-windows-also-if-the-system-str.patch @@ -1,20 +1,20 @@ -From 7bf4c2c02eb7fe1bf24b23e3ba2d7df36495e0aa Mon Sep 17 00:00:00 2001 +From 63b78b7990c5d60f7bc674a26f655caa0bec3c49 Mon Sep 17 00:00:00 2001 From: Alexander Kanavin <alex.kanavin@gmail.com> -Date: Wed, 13 Feb 2019 17:45:09 +0100 +Date: Mon, 25 Mar 2019 17:17:06 +0100 Subject: [PATCH] environment.py: detect windows also if the system string contains 'mingw' Upstream-Status: Pending Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> --- - mesonbuild/environment.py | 2 +- + mesonbuild/envconfig.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/mesonbuild/environment.py b/mesonbuild/environment.py -index b4fc0dc..845077e 100644 ---- a/mesonbuild/environment.py -+++ b/mesonbuild/environment.py -@@ -1247,7 +1247,7 @@ class MachineInfo: +diff --git a/mesonbuild/envconfig.py b/mesonbuild/envconfig.py +index f2510c1..5309ef4 100644 +--- a/mesonbuild/envconfig.py ++++ b/mesonbuild/envconfig.py +@@ -194,7 +194,7 @@ class MachineInfo: """ Machine is windows? """ diff --git a/poky/meta/recipes-devtools/meson/meson/0001-gtkdoc-fix-issues-that-arise-when-cross-compiling.patch b/poky/meta/recipes-devtools/meson/meson/0001-gtkdoc-fix-issues-that-arise-when-cross-compiling.patch index 11fd9ed3a..7c3238bf9 100644 --- a/poky/meta/recipes-devtools/meson/meson/0001-gtkdoc-fix-issues-that-arise-when-cross-compiling.patch +++ b/poky/meta/recipes-devtools/meson/meson/0001-gtkdoc-fix-issues-that-arise-when-cross-compiling.patch @@ -27,7 +27,7 @@ index bf49770..7c5a363 100644 '--mode=' + mode] if namespace: args.append('--namespace=' + namespace) -+ gtkdoc_exe_wrapper = state.environment.cross_info.config["properties"].get('gtkdoc_exe_wrapper', None) ++ gtkdoc_exe_wrapper = state.environment.properties.host.get('gtkdoc_exe_wrapper', None) + if gtkdoc_exe_wrapper is not None: + args.append('--run=' + gtkdoc_exe_wrapper) + diff --git a/poky/meta/recipes-devtools/meson/meson/0001-mesonbuild-environment.py-check-environment-for-vari.patch b/poky/meta/recipes-devtools/meson/meson/0001-mesonbuild-environment.py-check-environment-for-vari.patch new file mode 100644 index 000000000..fadb2734f --- /dev/null +++ b/poky/meta/recipes-devtools/meson/meson/0001-mesonbuild-environment.py-check-environment-for-vari.patch @@ -0,0 +1,28 @@ +From 63e79329b5dd00882f0cea56a6d907a831b94171 Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin <alex.kanavin@gmail.com> +Date: Mon, 25 Mar 2019 18:52:48 +0100 +Subject: [PATCH] mesonbuild/environment.py: check environment for various + binaries + +Upstream-Status: Inappropriate [oe-core specific] +Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> +--- + mesonbuild/environment.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/mesonbuild/environment.py b/mesonbuild/environment.py +index 6e5d689..bbfd87d 100644 +--- a/mesonbuild/environment.py ++++ b/mesonbuild/environment.py +@@ -398,7 +398,7 @@ class Environment: + config = MesonConfigFile.from_config_parser( + coredata.load_configs(self.coredata.cross_files, 'cross')) + self.properties.host = Properties(config.get('properties', {}), False) +- self.binaries.host = BinaryTable(config.get('binaries', {}), False) ++ self.binaries.host = BinaryTable(config.get('binaries', {}), True) + if 'host_machine' in config: + self.machines.host = MachineInfo.from_literal(config['host_machine']) + if 'target_machine' in config: +-- +2.17.1 + diff --git a/poky/meta/recipes-devtools/meson/meson/0001-mesonbuild-environment.py-do-not-determine-whether-a.patch b/poky/meta/recipes-devtools/meson/meson/0001-mesonbuild-environment.py-do-not-determine-whether-a.patch new file mode 100644 index 000000000..833471454 --- /dev/null +++ b/poky/meta/recipes-devtools/meson/meson/0001-mesonbuild-environment.py-do-not-determine-whether-a.patch @@ -0,0 +1,28 @@ +From d9da5e7a16a9397e22a8900fac4b60b40d7f00de Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin <alex.kanavin@gmail.com> +Date: Mon, 25 Mar 2019 18:18:33 +0100 +Subject: [PATCH] mesonbuild/environment.py: do not determine whether a build + is cross by comparing architectures + +This can, and does, go wrong when our host architecture is same as the target one(e.g. x86_64). + +Upstream-Status: Pending +Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> + +--- + mesonbuild/environment.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/mesonbuild/environment.py b/mesonbuild/environment.py +index d4f0630..c584fa4 100644 +--- a/mesonbuild/environment.py ++++ b/mesonbuild/environment.py +@@ -483,7 +483,7 @@ class Environment: + self.first_invocation = True + + def is_cross_build(self): +- return self.coredata.cross_file is not None ++ return self.need_exe_wrapper() + + def dump_coredata(self): + return coredata.save(self.coredata, self.get_build_dir()) diff --git a/poky/meta/recipes-devtools/meson/meson/0001-modules-python.py-do-not-substitute-python-s-install.patch b/poky/meta/recipes-devtools/meson/meson/0001-modules-python.py-do-not-substitute-python-s-install.patch new file mode 100644 index 000000000..a25c39227 --- /dev/null +++ b/poky/meta/recipes-devtools/meson/meson/0001-modules-python.py-do-not-substitute-python-s-install.patch @@ -0,0 +1,44 @@ +From 1d178fb2928d325e339b15972890ceced863d3ec Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin <alex.kanavin@gmail.com> +Date: Thu, 18 Apr 2019 17:36:11 +0200 +Subject: [PATCH] modules/python.py: do not substitute python's install prefix + with meson's + +Not sure why this is being done, but it +a) relies on Python's internal variable substitution which may break in the future +b) shouldn't be necessary as Python's prefix ought to be correct in the first place + +Upstream-Status: Pending +Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> +--- + mesonbuild/modules/python.py | 7 +++---- + 1 file changed, 3 insertions(+), 4 deletions(-) + +diff --git a/mesonbuild/modules/python.py b/mesonbuild/modules/python.py +index 6e2c63b..f5a37ac 100644 +--- a/mesonbuild/modules/python.py ++++ b/mesonbuild/modules/python.py +@@ -254,7 +254,7 @@ import sysconfig + import json + import sys + +-install_paths = sysconfig.get_paths(scheme='posix_prefix', vars={'base': '', 'platbase': '', 'installed_base': ''}) ++install_paths = sysconfig.get_paths(scheme='posix_prefix') + + def links_against_libpython(): + from distutils.core import Distribution, Extension +@@ -279,12 +279,11 @@ class PythonInstallation(ExternalProgramHolder): + ExternalProgramHolder.__init__(self, python) + self.interpreter = interpreter + self.subproject = self.interpreter.subproject +- prefix = self.interpreter.environment.coredata.get_builtin_option('prefix') + self.variables = info['variables'] + self.paths = info['paths'] + install_paths = info['install_paths'] +- self.platlib_install_path = os.path.join(prefix, install_paths['platlib'][1:]) +- self.purelib_install_path = os.path.join(prefix, install_paths['purelib'][1:]) ++ self.platlib_install_path = install_paths['platlib'] ++ self.purelib_install_path = install_paths['purelib'] + self.version = info['version'] + self.platform = info['platform'] + self.is_pypy = info['is_pypy'] diff --git a/poky/meta/recipes-devtools/meson/meson/0001-modules-windows-split-WINDRES-env-variable.patch b/poky/meta/recipes-devtools/meson/meson/0001-modules-windows-split-WINDRES-env-variable.patch deleted file mode 100644 index c334e6dd6..000000000 --- a/poky/meta/recipes-devtools/meson/meson/0001-modules-windows-split-WINDRES-env-variable.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 5293d0f5067b2aeefe9ce3c175c972de367589bc Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin <alex.kanavin@gmail.com> -Date: Wed, 13 Feb 2019 17:43:54 +0100 -Subject: [PATCH] modules/windows: split WINDRES env variable - -As it may contain not just the binary, but also the arguments to it. - -Upstream-Status: Pending -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> ---- - mesonbuild/modules/windows.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/mesonbuild/modules/windows.py b/mesonbuild/modules/windows.py -index d185d89..dbaeb9b 100644 ---- a/mesonbuild/modules/windows.py -+++ b/mesonbuild/modules/windows.py -@@ -56,7 +56,7 @@ class WindowsModule(ExtensionModule): - if 'WINDRES' in os.environ: - # Pick-up env var WINDRES if set. This is often used for - # specifying an arch-specific windres. -- rescomp = ExternalProgram('windres', command=os.environ.get('WINDRES'), silent=True) -+ rescomp = ExternalProgram('windres', command=os.environ.get('WINDRES').split(), silent=True) - - if not rescomp or not rescomp.found(): - # Take windres from the config file after the environment, which is diff --git a/poky/meta/recipes-devtools/meson/meson/0002-Support-building-allarch-recipes-again.patch b/poky/meta/recipes-devtools/meson/meson/0002-Support-building-allarch-recipes-again.patch index 81548cdfb..e47e55532 100644 --- a/poky/meta/recipes-devtools/meson/meson/0002-Support-building-allarch-recipes-again.patch +++ b/poky/meta/recipes-devtools/meson/meson/0002-Support-building-allarch-recipes-again.patch @@ -1,4 +1,4 @@ -From f8419d5f279f1fb9b5e7eead4f1579bce7cb0e4e Mon Sep 17 00:00:00 2001 +From 2164655328ec4e47335fc9033813274365491ad8 Mon Sep 17 00:00:00 2001 From: Peter Kjellerstedt <pkj@axis.com> Date: Thu, 26 Jul 2018 16:32:49 +0200 Subject: [PATCH] Support building allarch recipes again @@ -9,15 +9,15 @@ Upstream-Status: Inappropriate [OE specific] Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> --- - mesonbuild/environment.py | 1 + + mesonbuild/envconfig.py | 1 + 1 file changed, 1 insertion(+) -diff --git a/mesonbuild/environment.py b/mesonbuild/environment.py -index 5fcf9df..b4fc0dc 100644 ---- a/mesonbuild/environment.py -+++ b/mesonbuild/environment.py -@@ -72,6 +72,7 @@ from .compilers import ( - build_filename = 'meson.build' +diff --git a/mesonbuild/envconfig.py b/mesonbuild/envconfig.py +index 3f0a399..4509e09 100644 +--- a/mesonbuild/envconfig.py ++++ b/mesonbuild/envconfig.py +@@ -34,6 +34,7 @@ from . import mlog + known_cpu_families = ( + 'allarch', diff --git a/poky/meta/recipes-devtools/meson/meson/many-cross.patch b/poky/meta/recipes-devtools/meson/meson/0007-mesonbuild-allow-multiple-cross-file-options.patch index d04c28b8a..6c2949c0e 100644 --- a/poky/meta/recipes-devtools/meson/meson/many-cross.patch +++ b/poky/meta/recipes-devtools/meson/meson/0007-mesonbuild-allow-multiple-cross-file-options.patch @@ -1,4 +1,7 @@ -mesonbuild: allow multiple --cross-file options +From 07ae4f949b8402cff178dd12c210d9a726ffe2da Mon Sep 17 00:00:00 2001 +From: Ross Burton <ross.burton@intel.com> +Date: Mon, 18 Mar 2019 17:27:57 +0000 +Subject: [PATCH] mesonbuild: allow multiple --cross-file options Just like --native-file, allow multiple --cross-file options. This is mostly unifying the logic between cross_files and config_files. @@ -6,11 +9,30 @@ unifying the logic between cross_files and config_files. Upstream-Status: Backport [will be in 0.50.1] Signed-off-by: Ross Burton <ross.burton@intel.com> +--- + .../markdown/snippets/multiple-cross-files.md | 3 ++ + mesonbuild/backend/backends.py | 3 +- + mesonbuild/coredata.py | 52 +++---------------- + mesonbuild/environment.py | 5 +- + mesonbuild/msetup.py | 4 +- + mesonbuild/munstable_coredata.py | 5 +- + 6 files changed, 20 insertions(+), 52 deletions(-) + create mode 100644 docs/markdown/snippets/multiple-cross-files.md + +diff --git a/docs/markdown/snippets/multiple-cross-files.md b/docs/markdown/snippets/multiple-cross-files.md +new file mode 100644 +index 0000000..de229be +--- /dev/null ++++ b/docs/markdown/snippets/multiple-cross-files.md +@@ -0,0 +1,3 @@ ++## Multipe cross files can be specified ++ ++`--cross-file` can be passed multiple times, with the configuration files overlaying the same way as `--native-file`. diff --git a/mesonbuild/backend/backends.py b/mesonbuild/backend/backends.py -index 40402513..4b9bcb59 100644 +index 4d35d22..5b270d3 100644 --- a/mesonbuild/backend/backends.py +++ b/mesonbuild/backend/backends.py -@@ -726,8 +726,7 @@ class Backend: +@@ -788,8 +788,7 @@ class Backend: deps = [os.path.join(self.build_to_src, df) for df in self.interpreter.get_build_def_files()] if self.environment.is_cross_build(): @@ -21,39 +43,19 @@ index 40402513..4b9bcb59 100644 if os.path.exists(os.path.join(self.environment.get_source_dir(), 'meson_options.txt')): deps.append(os.path.join(self.build_to_src, 'meson_options.txt')) diff --git a/mesonbuild/coredata.py b/mesonbuild/coredata.py -index c3f5a745..ff810683 100644 +index 066ad30..d80e9a0 100644 --- a/mesonbuild/coredata.py +++ b/mesonbuild/coredata.py -@@ -201,8 +201,8 @@ class UserFeatureOption(UserComboOption): - return self.value == 'auto' - - --def load_configs(filenames): -- """Load native files.""" -+def load_configs(filenames, subdir): -+ """Load configuration files from a named subdirectory.""" - def gen(): - for f in filenames: - f = os.path.expanduser(os.path.expandvars(f)) -@@ -215,7 +215,7 @@ def load_configs(filenames): - os.environ.get('XDG_DATA_HOME', os.path.expanduser('~/.local/share')), - ] + os.environ.get('XDG_DATA_DIRS', '/usr/local/share:/usr/share').split(':') - for path in paths: -- path_to_try = os.path.join(path, 'meson', 'native', f) -+ path_to_try = os.path.join(path, 'meson', subdir, f) - if os.path.isfile(path_to_try): - yield path_to_try - break -@@ -291,7 +291,7 @@ class CoreData: - self.compiler_options = {} +@@ -265,7 +265,7 @@ class CoreData: + self.compiler_options = PerMachine({}, {}, {}) self.base_options = {} - self.external_preprocess_args = {} # CPPFLAGS only + self.external_preprocess_args = PerMachine({}, {}, {}) # CPPFLAGS only - self.cross_file = self.__load_cross_file(options.cross_file) + self.cross_files = self.__load_config_files(options.cross_file) self.compilers = OrderedDict() self.cross_compilers = OrderedDict() self.deps = OrderedDict() -@@ -301,52 +301,14 @@ class CoreData: +@@ -276,57 +276,19 @@ class CoreData: @staticmethod def __load_config_files(filenames): @@ -105,10 +107,16 @@ index c3f5a745..ff810683 100644 - - raise MesonException('Cannot find specified cross file: ' + filename) - + def libdir_cross_fixup(self): + # By default set libdir to "lib" when cross compiling since + # getting the "system default" is always wrong on multiarch + # platforms as it gets a value like lib/x86_64-linux-gnu. +- if self.cross_file is not None: ++ if self.cross_files: + self.builtins['libdir'].value = 'lib' + def sanitize_prefix(self, prefix): - if not os.path.isabs(prefix): - raise MesonException('prefix value {!r} must be an absolute path' -@@ -558,8 +520,8 @@ def read_cmd_line_file(build_dir, options): +@@ -642,8 +604,8 @@ def read_cmd_line_file(build_dir, options): options.cmd_line_options = d properties = config['properties'] @@ -119,7 +127,7 @@ index c3f5a745..ff810683 100644 if not options.native_file: # This will be a string in the form: "['first', 'second', ...]", use # literal_eval to get it into the list of strings. -@@ -570,7 +532,7 @@ def write_cmd_line_file(build_dir, options): +@@ -654,7 +616,7 @@ def write_cmd_line_file(build_dir, options): config = CmdLineFileParser() properties = {} @@ -129,50 +137,26 @@ index c3f5a745..ff810683 100644 if options.native_file: properties['native_file'] = options.native_file diff --git a/mesonbuild/environment.py b/mesonbuild/environment.py -index 6d86daf9..406ab8b8 100644 +index c25ef33..4c1c5ac 100644 --- a/mesonbuild/environment.py +++ b/mesonbuild/environment.py -@@ -355,8 +355,8 @@ class Environment: - self.machines = MachineInfos() - # Will be fully initialized later using compilers later. - self.machines.detect_build() -- if self.coredata.cross_file: -- self.cross_info = CrossBuildInfo(self.coredata.cross_file) -+ if self.coredata.cross_files: -+ self.cross_info = CrossBuildInfo(self.coredata.cross_files) - if 'exe_wrapper' in self.cross_info.config['binaries']: - from .dependencies import ExternalProgram - self.exe_wrapper = ExternalProgram.from_bin_list( -@@ -373,7 +373,7 @@ class Environment: +@@ -394,8 +394,9 @@ class Environment: + self.binaries.build = BinaryTable(config.get('binaries', {})) + self.paths.build = Directories(**config.get('paths', {})) - if self.coredata.config_files: - self.config_info = coredata.ConfigData( -- coredata.load_configs(self.coredata.config_files)) -+ coredata.load_configs(self.coredata.config_files, 'native')) - else: - self.config_info = coredata.ConfigData() - -@@ -1113,13 +1113,8 @@ class CrossBuildInfo: - def ok_type(self, i): - return isinstance(i, (str, int, bool)) - -- def parse_datafile(self, filename): -- config = configparser.ConfigParser() -- try: -- with open(filename, 'r') as f: -- config.read_file(f, filename) -- except FileNotFoundError: -- raise EnvironmentException('File not found: %s.' % filename) -+ def parse_datafile(self, filenames): -+ config = coredata.load_configs(filenames, 'cross') - # This is a bit hackish at the moment. - for s in config.sections(): - self.config[s] = {} +- if self.coredata.cross_file is not None: +- config = MesonConfigFile.parse_datafile(self.coredata.cross_file) ++ if self.coredata.cross_files: ++ config = MesonConfigFile.from_config_parser( ++ coredata.load_configs(self.coredata.cross_files, 'cross')) + self.properties.host = Properties(config.get('properties', {}), False) + self.binaries.host = BinaryTable(config.get('binaries', {}), False) + if 'host_machine' in config: diff --git a/mesonbuild/msetup.py b/mesonbuild/msetup.py -index 56a0e9a7..f0a1ae19 100644 +index 023afdb..6e8ca83 100644 --- a/mesonbuild/msetup.py +++ b/mesonbuild/msetup.py -@@ -27,7 +27,9 @@ from .mesonlib import MesonException +@@ -29,7 +29,9 @@ from .mesonlib import MesonException def add_arguments(parser): coredata.register_builtin_arguments(parser) @@ -183,25 +167,19 @@ index 56a0e9a7..f0a1ae19 100644 help='File describing cross compilation environment.') parser.add_argument('--native-file', default=[], -diff --git a/run_unittests.py b/run_unittests.py -index e6874b25..1d247291 100755 ---- a/run_unittests.py -+++ b/run_unittests.py -@@ -529,7 +529,7 @@ class InternalTests(unittest.TestCase): - config.write(configfile) - configfile.flush() - configfile.close() -- detected_value = mesonbuild.environment.CrossBuildInfo(configfile.name).need_exe_wrapper() -+ detected_value = mesonbuild.environment.CrossBuildInfo((configfile.name,)).need_exe_wrapper() - os.unlink(configfilename) - - desired_value = not detected_value -@@ -541,7 +541,7 @@ class InternalTests(unittest.TestCase): - configfilename = configfile.name - config.write(configfile) - configfile.close() -- forced_value = mesonbuild.environment.CrossBuildInfo(configfile.name).need_exe_wrapper() -+ forced_value = mesonbuild.environment.CrossBuildInfo((configfile.name,)).need_exe_wrapper() - os.unlink(configfilename) - - self.assertEqual(forced_value, desired_value) +diff --git a/mesonbuild/munstable_coredata.py b/mesonbuild/munstable_coredata.py +index 78f3f34..913f942 100644 +--- a/mesonbuild/munstable_coredata.py ++++ b/mesonbuild/munstable_coredata.py +@@ -81,8 +81,9 @@ def run(options): + print('Last seen PKGCONFIG enviroment variable value: ' + v) + elif k == 'version': + print('Meson version: ' + v) +- elif k == 'cross_file': +- print('Cross File: ' + (v or 'None')) ++ elif k == 'cross_files': ++ if v: ++ print('Cross File: ' + ' '.join(v)) + elif k == 'config_files': + if v: + print('Native File: ' + ' '.join(v)) diff --git a/poky/meta/recipes-devtools/meson/meson/cross-libdir.patch b/poky/meta/recipes-devtools/meson/meson/cross-libdir.patch deleted file mode 100644 index 7395fdbda..000000000 --- a/poky/meta/recipes-devtools/meson/meson/cross-libdir.patch +++ /dev/null @@ -1,35 +0,0 @@ -Upstream-Status: Backport -Signed-off-by: Ross Burton <ross.burton@intel.com> - -From ce24f0d6a9be22ba61d80cd254e0409de2eaffd7 Mon Sep 17 00:00:00 2001 -From: Jussi Pakkanen <jpakkane@gmail.com> -Date: Thu, 27 Dec 2018 23:43:35 +0200 -Subject: [PATCH] Default libdir is "lib" when cross compiling. Closes #2535. - ---- -diff --git a/mesonbuild/coredata.py b/mesonbuild/coredata.py -index ff810683..9ee23a69 100644 ---- a/mesonbuild/coredata.py -+++ b/mesonbuild/coredata.py -@@ -298,6 +298,7 @@ class CoreData: - # Only to print a warning if it changes between Meson invocations. - self.pkgconf_envvar = os.environ.get('PKG_CONFIG_PATH', '') - self.config_files = self.__load_config_files(options.native_file) -+ self.libdir_cross_fixup() - - @staticmethod - def __load_config_files(filenames): -@@ -309,6 +310,13 @@ class CoreData: - for f in filenames] - return filenames - -+ def libdir_cross_fixup(self): -+ # By default set libdir to "lib" when cross compiling since -+ # getting the "system default" is always wrong on multiarch -+ # platforms as it gets a value like lib/x86_64-linux-gnu. -+ if self.cross_files: -+ self.builtins['libdir'].value = 'lib' -+ - def sanitize_prefix(self, prefix): - if not os.path.isabs(prefix): - raise MesonException('prefix value {!r} must be an absolute path' diff --git a/poky/meta/recipes-devtools/meson/meson/load-configs-generalise-search-path.patch b/poky/meta/recipes-devtools/meson/meson/load-configs-generalise-search-path.patch new file mode 100644 index 000000000..2056763db --- /dev/null +++ b/poky/meta/recipes-devtools/meson/meson/load-configs-generalise-search-path.patch @@ -0,0 +1,53 @@ +From d57dd1092e84e08ee15d7063b6c56bd6d864f2e1 Mon Sep 17 00:00:00 2001 +From: Ross Burton <ross.burton@intel.com> +Date: Mon, 18 Mar 2019 16:16:56 +0000 +Subject: [PATCH] load_configs: generalise the search path + +Instead of hard-coding the fact that load_configs() searches for files under +meson/native, pass in the subdirectory allowing the cross-file code to use the +same logic. + +Upstream-Status: Backport +Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> +--- + mesonbuild/coredata.py | 6 +++--- + mesonbuild/environment.py | 2 +- + 2 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/mesonbuild/coredata.py b/mesonbuild/coredata.py +index fba90fa369..6e60917d10 100644 +--- a/mesonbuild/coredata.py ++++ b/mesonbuild/coredata.py +@@ -211,8 +211,8 @@ def is_auto(self): + return self.value == 'auto' + + +-def load_configs(filenames): +- """Load native files.""" ++def load_configs(filenames, subdir): ++ """Load configuration files from a named subdirectory.""" + def gen(): + for f in filenames: + f = os.path.expanduser(os.path.expandvars(f)) +@@ -225,7 +225,7 @@ def gen(): + os.environ.get('XDG_DATA_HOME', os.path.expanduser('~/.local/share')), + ] + os.environ.get('XDG_DATA_DIRS', '/usr/local/share:/usr/share').split(':') + for path in paths: +- path_to_try = os.path.join(path, 'meson', 'native', f) ++ path_to_try = os.path.join(path, 'meson', subdir, f) + if os.path.isfile(path_to_try): + yield path_to_try + break +diff --git a/mesonbuild/environment.py b/mesonbuild/environment.py +index 58adb06960..92a00dd7bf 100644 +--- a/mesonbuild/environment.py ++++ b/mesonbuild/environment.py +@@ -408,7 +408,7 @@ def __init__(self, source_dir, build_dir, options): + + if self.coredata.config_files is not None: + config = MesonConfigFile.from_config_parser( +- coredata.load_configs(self.coredata.config_files)) ++ coredata.load_configs(self.coredata.config_files, 'native')) + self.binaries.build = BinaryTable(config.get('binaries', {})) + self.paths.build = Directories(**config.get('paths', {})) + diff --git a/poky/meta/recipes-devtools/meson/meson_0.49.2.bb b/poky/meta/recipes-devtools/meson/meson_0.50.1.bb index de9b905c1..de9b905c1 100644 --- a/poky/meta/recipes-devtools/meson/meson_0.49.2.bb +++ b/poky/meta/recipes-devtools/meson/meson_0.50.1.bb diff --git a/poky/meta/recipes-devtools/meson/nativesdk-meson_0.49.2.bb b/poky/meta/recipes-devtools/meson/nativesdk-meson_0.50.1.bb index 1549357a5..1549357a5 100644 --- a/poky/meta/recipes-devtools/meson/nativesdk-meson_0.49.2.bb +++ b/poky/meta/recipes-devtools/meson/nativesdk-meson_0.50.1.bb diff --git a/poky/meta/recipes-devtools/mmc/mmc-utils/0001-lsmmc-replace-strncpy-with-memmove-on-overlapping-me.patch b/poky/meta/recipes-devtools/mmc/mmc-utils/0001-lsmmc-replace-strncpy-with-memmove-on-overlapping-me.patch deleted file mode 100644 index 62e25fde9..000000000 --- a/poky/meta/recipes-devtools/mmc/mmc-utils/0001-lsmmc-replace-strncpy-with-memmove-on-overlapping-me.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 175ac0f362bf6121c3537e2f1760ad41c8f81367 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Thu, 29 Mar 2018 01:04:57 -0700 -Subject: [PATCH] lsmmc: replace strncpy with memmove on overlapping memory - copy - -here source and destination addresses are overlapping so using memmove is -going to be more efficient. - -Additionally, the bounded size for copy is overflowing for first copy - -In function 'strncpy', - inlined from 'read_file' at lsmmc.c:356:3: -/mnt/a/oe/build/tmp/work/cortexa7t2hf-neon-vfpv4-bec-linux-gnueabi/mmc-utils/0.1-r0/recipe-sysroot/usr/include/bits/string_fortified.h:106:10: error: '__builtin_strncpy' accessing 4096 bytes at offsets 0 and 1 overlaps 4095 bytes at offset 1 [-Werror=restrict] - return __builtin___strncpy_chk (__dest, __src, __len, __bos (__dest)); - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- -Upstream-Status: Submitted [https://patchwork.kernel.org/patch/10314723/] - lsmmc.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/lsmmc.c b/lsmmc.c -index c4faa00..bcb854d 100644 ---- a/lsmmc.c -+++ b/lsmmc.c -@@ -353,7 +353,7 @@ char *read_file(char *name) - line[strlen(line) - 1] = '\0'; - - while (isspace(line[0])) -- strncpy(&line[0], &line[1], sizeof(line)); -+ memmove(&line[0], &line[1], sizeof(line)-1); - - return strdup(line); - } diff --git a/poky/meta/recipes-devtools/mmc/mmc-utils/0001-mmc_cmd.c-Use-extra-braces-when-initializing-subobje.patch b/poky/meta/recipes-devtools/mmc/mmc-utils/0001-mmc_cmd.c-Use-extra-braces-when-initializing-subobje.patch new file mode 100644 index 000000000..12707357b --- /dev/null +++ b/poky/meta/recipes-devtools/mmc/mmc-utils/0001-mmc_cmd.c-Use-extra-braces-when-initializing-subobje.patch @@ -0,0 +1,32 @@ +From 04fbe6ddb5f1e02efbcae3cdf5beb16757a98948 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Fri, 10 May 2019 12:58:01 -0700 +Subject: [PATCH] mmc_cmd.c: Use extra braces when initializing subobjects + +clang warns with -Werror,-Wmissing-braces, as following error +| mmc_cmds.c:1886:36: error: suggest braces around initialization of subobject [-Werror,-W +missing-braces] +| struct rpmb_frame frame_status = {0}; +| ^ +| {} + +Upstream-Status: Pending + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + mmc_cmds.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/mmc_cmds.c b/mmc_cmds.c +index 19a9da1..838e8c3 100644 +--- a/mmc_cmds.c ++++ b/mmc_cmds.c +@@ -1883,7 +1883,7 @@ static int do_rpmb_op(int fd, + u_int16_t rpmb_type; + struct mmc_ioc_multi_cmd *mioc; + struct mmc_ioc_cmd *ioc; +- struct rpmb_frame frame_status = {0}; ++ struct rpmb_frame frame_status = {{0}}; + + if (!frame_in || !frame_out || !out_cnt) + return -EINVAL; diff --git a/poky/meta/recipes-devtools/mmc/mmc-utils_git.bb b/poky/meta/recipes-devtools/mmc/mmc-utils_git.bb index 37a475523..0c401c86f 100644 --- a/poky/meta/recipes-devtools/mmc/mmc-utils_git.bb +++ b/poky/meta/recipes-devtools/mmc/mmc-utils_git.bb @@ -4,12 +4,12 @@ LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://mmc.c;beginline=1;endline=20;md5=fae32792e20f4d27ade1c5a762d16b7d" SRCBRANCH ?= "master" -SRCREV = "b4fe0c8c0e57a74c01755fa9362703b60d7ee49d" +SRCREV = "aef913e31b659462fe6b9320d241676cba97f67b" -PV = "0.1" +PV = "0.1+git${SRCPV}" SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc-utils.git;branch=${SRCBRANCH} \ - file://0001-lsmmc-replace-strncpy-with-memmove-on-overlapping-me.patch \ + file://0001-mmc_cmd.c-Use-extra-braces-when-initializing-subobje.patch \ " UPSTREAM_CHECK_COMMITS = "1" diff --git a/poky/meta/recipes-devtools/mtools/mtools/0001-Continue-even-if-fs-size-is-not-divisible-by-sectors.patch b/poky/meta/recipes-devtools/mtools/mtools/0001-Continue-even-if-fs-size-is-not-divisible-by-sectors.patch deleted file mode 100644 index 1f8f8351c..000000000 --- a/poky/meta/recipes-devtools/mtools/mtools/0001-Continue-even-if-fs-size-is-not-divisible-by-sectors.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 5cc8d1f96ab6d3459e13631d8356f87381562352 Mon Sep 17 00:00:00 2001 -From: Jussi Kukkonen <jussi.kukkonen@intel.com> -Date: Thu, 2 Jun 2016 09:49:44 +0300 -Subject: [PATCH] Continue even if fs size is not divisible by - sectors-per-track - -Filesystem with a size that is not divisible by sectors-per-track is -not broken or invalid: it might be unoptimized on media where -heads and cylinders actually matter but that should be it. - -Preserve the warning but make mtools continue even if fs size is not -divisible by sectors-per-track. - -Upstream-Status: Submitted [info-mtools@gnu.org] -Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> ---- - init.c | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/init.c b/init.c -index c9152e0..4e16a01 100644 ---- a/init.c -+++ b/init.c -@@ -338,7 +338,6 @@ Stream_t *fs_init(char drive, int mode, int *isRop) - fprintf(stderr, - "Add mtools_skip_check=1 to your .mtoolsrc file " - "to skip this test\n"); -- exit(1); - } - - /* full cylinder buffering */ --- -2.1.4 - diff --git a/poky/meta/recipes-devtools/mtools/mtools/0001-remove-LOCK_NB-to-use-blocking-request.patch b/poky/meta/recipes-devtools/mtools/mtools/0001-remove-LOCK_NB-to-use-blocking-request.patch deleted file mode 100644 index 47385a582..000000000 --- a/poky/meta/recipes-devtools/mtools/mtools/0001-remove-LOCK_NB-to-use-blocking-request.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 5bdbfe0a63fed48104b17412854b26ee2275869a Mon Sep 17 00:00:00 2001 -From: Hongxu Jia <hongxu.jia@windriver.com> -Date: Wed, 22 Aug 2018 16:54:39 +0800 -Subject: [PATCH] remove LOCK_NB to use blocking request - -While invoking mtools frequently, the unblocking request -caused race issue. Here is an example of syslinux -[snip] -dd if=/dev/zero of=floppy.img bs=1024 count=144 -losetup /dev/loop1 floppy.img -mkdosfs /dev/loop1 -syslinux -i /dev/loop1 -|plain floppy: device "/proc/6351/fd/3" busy (Resource temporarily unavailable): -|Cannot initialize 'S:' -|Bad target s:/ldlinux.sys -[snip] - -The idea is from: -https://bugzilla.redhat.com/show_bug.cgi?id=1235016 -https://groups.google.com/a/chromium.org/forum/#!msg/chromium-os-dev/bRPUCFHoBTQ/ZjB8kjjx1vUJ - -Upstream-Status: Pending - -Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> ---- - lockdev.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/lockdev.h b/lockdev.h -index 4467bc2..5a135ad 100644 ---- a/lockdev.h -+++ b/lockdev.h -@@ -43,7 +43,7 @@ int lock_dev(int fd, int mode, struct device *dev) - return 0; - - #if (defined(HAVE_FLOCK) && defined (LOCK_EX) && defined(LOCK_NB)) -- if (flock(fd, (mode ? LOCK_EX : LOCK_SH)|LOCK_NB) < 0) -+ if (flock(fd, (mode ? LOCK_EX : LOCK_SH)) < 0) - #else /* FLOCK */ - - #if (defined(HAVE_LOCKF) && defined(F_TLOCK)) --- -2.7.4 - diff --git a/poky/meta/recipes-devtools/mtools/mtools_4.0.19.bb b/poky/meta/recipes-devtools/mtools/mtools_4.0.23.bb index 7d59d93a8..2ae69797a 100644 --- a/poky/meta/recipes-devtools/mtools/mtools_4.0.19.bb +++ b/poky/meta/recipes-devtools/mtools/mtools_4.0.23.bb @@ -24,14 +24,12 @@ RRECOMMENDS_${PN}_libc-glibc = "\ glibc-gconv-ibm866 \ glibc-gconv-ibm869 \ " -SRC_URI[md5sum] = "f750246a65ee6f9d2e82d10b03a0aaaf" -SRC_URI[sha256sum] = "1bc197199ea1c2c317f597879486eeb817f3199b526d94cc6841624768d910df" +SRC_URI[md5sum] = "1d17b58c53a46b29c7f521d4a55ccef1" +SRC_URI[sha256sum] = "f188db26751aeb5692a79b2380b440ecc05fd1848a52f869d7ca1193f2ef8ee3" SRC_URI = "${GNU_MIRROR}/mtools/mtools-${PV}.tar.bz2 \ file://mtools-makeinfo.patch \ file://no-x11.gplv3.patch \ - file://0001-Continue-even-if-fs-size-is-not-divisible-by-sectors.patch \ - file://0001-remove-LOCK_NB-to-use-blocking-request.patch \ file://clang_UNUSED.patch \ " diff --git a/poky/meta/recipes-devtools/ninja/ninja/fix-musl.patch b/poky/meta/recipes-devtools/ninja/ninja/fix-musl.patch index 543d4f1c4..7fd779110 100644 --- a/poky/meta/recipes-devtools/ninja/ninja/fix-musl.patch +++ b/poky/meta/recipes-devtools/ninja/ninja/fix-musl.patch @@ -1,18 +1,22 @@ -2ff54ad7478a90bd75c91e434236a Mon Sep 17 00:00:00 2001 +From e92a915183f8bff268f74c8cd00d986301a2bbf8 Mon Sep 17 00:00:00 2001 From: makepost <makepost@firemail.cc> Date: Mon, 24 Dec 2018 03:13:16 +0200 Subject: [PATCH] Use st_mtim if st_mtime is macro, fix #1510 In POSIX.1-2008, sys_stat has a st_mtim member and a st_mtime backward compatibility macro. Should help avoid hardcoding platform detection. + +Signed-off-by: Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com> + +Upstream-Status: Pending --- src/disk_interface.cc | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/src/disk_interface.cc b/src/disk_interface.cc -index d4c2fb087..dc297c449 100644 ---- src/disk_interface.cc -+++ /src/disk_interface.cc +index d4c2fb0..dc297c4 100644 +--- a/src/disk_interface.cc ++++ b/src/disk_interface.cc @@ -202,19 +202,13 @@ TimeStamp RealDiskInterface::Stat(const string& path, string* err) const { // that it doesn't exist. if (st.st_mtime == 0) @@ -37,3 +41,6 @@ index d4c2fb087..dc297c449 100644 #else return (int64_t)st.st_mtime * 1000000000LL + st.st_mtimensec; #endif +-- +2.17.1 + diff --git a/poky/meta/recipes-devtools/opkg/opkg/0001-opkg-add-target-for-testsuite-installation.patch b/poky/meta/recipes-devtools/opkg/opkg/0001-opkg-add-target-for-testsuite-installation.patch new file mode 100644 index 000000000..951c18676 --- /dev/null +++ b/poky/meta/recipes-devtools/opkg/opkg/0001-opkg-add-target-for-testsuite-installation.patch @@ -0,0 +1,43 @@ +From 8fb0364bd0e19f35c20616dd1ab10aa00e08fa8f Mon Sep 17 00:00:00 2001 +From: Alejandro del Castillo <alejandro.delcastillo@ni.com> +Date: Wed, 10 Apr 2019 14:49:43 -0500 +Subject: [PATCH] opkg: add target for testsuite installation + +- Add target to install testsuite +- Add override of opkg binary used during test via OPKG_PATH environment +variable. + +Signed-off-by: Alejandro del Castillo <alejandro.delcastillo@ni.com> +--- +Upstream-Status: Submitted + + Makefile.am | 5 +++++ + tests/cfg.py | 2 +- + 2 files changed, 6 insertions(+), 1 deletion(-) + +diff --git a/Makefile.am b/Makefile.am +index 90cfcae..1f6a784 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -18,3 +18,8 @@ run-tests: + $(MAKE) -C tests DATADIR=@datadir@ SYSCONFDIR=@sysconfdir@ VARDIR=@localstatedir@ + + check: run-tests ++ ++install-ptest: ++ cp -r $(srcdir)/tests $(DESTDIR) ++ cp Makefile $(DESTDIR) ++ sed -e 's/^Makefile/_Makefile/' < Makefile > $(DESTDIR)/Makefile +diff --git a/tests/cfg.py b/tests/cfg.py +index 4efaff6..ca59d03 100644 +--- a/tests/cfg.py ++++ b/tests/cfg.py +@@ -2,4 +2,4 @@ import os + + opkdir = "/tmp/opk" + offline_root = "/tmp/opkg" +-opkgcl = os.path.realpath("../src/opkg") ++opkgcl = os.getenv('OPKG_PATH', os.path.realpath("../src/opkg")) +-- +2.20.1 + diff --git a/poky/meta/recipes-devtools/opkg/opkg/0001-regress-issue72.py-resolve-paths-before-comparision.patch b/poky/meta/recipes-devtools/opkg/opkg/0001-regress-issue72.py-resolve-paths-before-comparision.patch new file mode 100644 index 000000000..75ecb5fb4 --- /dev/null +++ b/poky/meta/recipes-devtools/opkg/opkg/0001-regress-issue72.py-resolve-paths-before-comparision.patch @@ -0,0 +1,31 @@ +From 5f005830eea7d03c02107a3a3fc58907b0a037bf Mon Sep 17 00:00:00 2001 +From: Alejandro del Castillo <alejandro.delcastillo@ni.com> +Date: Mon, 8 Apr 2019 11:14:56 -0500 +Subject: [PATCH] regress/issue72.py: resolve paths before comparision + +In systems that have a volatile /tmp, the test incorrectly fails since +it doesn't resolve the real path in all cases. + +Signed-off-by: Alejandro del Castillo <alejandro.delcastillo@ni.com> +--- +Upstream-Status: Submitted + + tests/regress/issue72.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/tests/regress/issue72.py b/tests/regress/issue72.py +index 1626877..2f24dec 100755 +--- a/tests/regress/issue72.py ++++ b/tests/regress/issue72.py +@@ -56,7 +56,7 @@ if not os.path.lexists("{}/{}".format(cfg.offline_root, long_filename2)): + "not created.") + + linky = os.path.realpath("{}/{}".format(cfg.offline_root, long_filename2)) +-linky_dst = "{}/{}".format(cfg.offline_root, long_filename) ++linky_dst = os.path.realpath("{}/{}".format(cfg.offline_root, long_filename)) + if linky != linky_dst: + opk.fail("symlink path truncated.") + +-- +2.20.1 + diff --git a/poky/meta/recipes-devtools/opkg/opkg/run-ptest b/poky/meta/recipes-devtools/opkg/opkg/run-ptest new file mode 100644 index 000000000..5fb7077ee --- /dev/null +++ b/poky/meta/recipes-devtools/opkg/opkg/run-ptest @@ -0,0 +1,5 @@ +#!/bin/sh + +OPKG_PATH=$(which opkg) + +make OPKG_PATH=$OPKG_PATH run-tests diff --git a/poky/meta/recipes-devtools/opkg/opkg_0.4.0.bb b/poky/meta/recipes-devtools/opkg/opkg_0.4.0.bb index a2329d3e7..e2305d096 100644 --- a/poky/meta/recipes-devtools/opkg/opkg_0.4.0.bb +++ b/poky/meta/recipes-devtools/opkg/opkg_0.4.0.bb @@ -15,12 +15,20 @@ SRC_URI = "http://downloads.yoctoproject.org/releases/${BPN}/${BPN}-${PV}.tar.gz file://opkg.conf \ file://0001-opkg_conf-create-opkg.lock-in-run-instead-of-var-run.patch \ file://0001-libopkg-add-add-ignore-recommends-option.patch \ + file://0001-regress-issue72.py-resolve-paths-before-comparision.patch \ + file://0001-opkg-add-target-for-testsuite-installation.patch \ + file://run-ptest \ " SRC_URI[md5sum] = "ae51d95fee599bb4dce08453529158f5" SRC_URI[sha256sum] = "f6c00515d8a2ad8f6742a8e73830315d1983ed0459cba77c4d656cfc9e7fe6fe" -inherit autotools pkgconfig systemd +# This needs to be before ptest inherit, otherwise all ptest files end packaged +# in libopkg package if OPKGLIBDIR == libdir, because default +# PTEST_PATH ?= "${libdir}/${BPN}/ptest" +PACKAGES =+ "libopkg" + +inherit autotools pkgconfig systemd ptest target_localstatedir := "${localstatedir}" OPKGLIBDIR = "${target_localstatedir}/lib" @@ -49,12 +57,11 @@ do_install_append () { RDEPENDS_${PN} = "${VIRTUAL-RUNTIME_update-alternatives} opkg-arch-config libarchive" RDEPENDS_${PN}_class-native = "" RDEPENDS_${PN}_class-nativesdk = "" +RDEPENDS_${PN}-ptest += "make binutils python3-core python3-compression" RREPLACES_${PN} = "opkg-nogpg opkg-collateral" RCONFLICTS_${PN} = "opkg-collateral" RPROVIDES_${PN} = "opkg-collateral" -PACKAGES =+ "libopkg" - FILES_libopkg = "${libdir}/*.so.* ${OPKGLIBDIR}/opkg/" BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/orc/orc_0.4.28.bb b/poky/meta/recipes-devtools/orc/orc_0.4.29.bb index 03cddad8b..8313576ab 100644 --- a/poky/meta/recipes-devtools/orc/orc_0.4.28.bb +++ b/poky/meta/recipes-devtools/orc/orc_0.4.29.bb @@ -4,9 +4,8 @@ LICENSE = "BSD-2-Clause & BSD-3-Clause" LIC_FILES_CHKSUM = "file://COPYING;md5=1400bd9d09e8af56b9ec982b3d85797e" SRC_URI = "http://gstreamer.freedesktop.org/src/orc/orc-${PV}.tar.xz" - -SRC_URI[md5sum] = "6b582ec4b3275c5efd51e3ae6406d445" -SRC_URI[sha256sum] = "bfcd7c6563b05672386c4eedfc4c0d4a0a12b4b4775b74ec6deb88fc2bcd83ce" +SRC_URI[md5sum] = "25799917c7d31a891d5e32b83ad08f6d" +SRC_URI[sha256sum] = "4f8901f9144b5ec17dffdb33548b5f4c7f8049b0d1023be3462cdd64ec5a3ab2" inherit autotools pkgconfig gtk-doc diff --git a/poky/meta/recipes-devtools/patchelf/patchelf/Increase-maxSize-to-64MB.patch b/poky/meta/recipes-devtools/patchelf/patchelf/Increase-maxSize-to-64MB.patch deleted file mode 100644 index 49050a18d..000000000 --- a/poky/meta/recipes-devtools/patchelf/patchelf/Increase-maxSize-to-64MB.patch +++ /dev/null @@ -1,46 +0,0 @@ -From e3658740ec100e4c8cf83295460b032979e1a99a Mon Sep 17 00:00:00 2001 -From: Fabio Berton <fabio.berton@ossystems.com.br> -Date: Fri, 9 Sep 2016 18:21:32 -0300 -Subject: [PATCH] Increase maxSize to 64MB -Organization: O.S. Systems Software LTDA. - -Fix error: - -/ -|ERROR: qemu-native-2.5.0-r1 do_populate_sysroot_setscene: '('patchelf-uninative', -|'--set-interpreter', '../build/tmp/sysroots-uninative/x86_64-linux/lib/ -|ld-linux-x86-64.so.2', '../build/tmp/work/x86_64-linux/qemu-native/2.5.0-r1/ -|sstate-install-populate_sysroot/x86_64-linux/usr/bin/qemu-mips64')' -|failed with exit code 1 and the following output: -|warning: working around a Linux kernel bug by creating a hole of 36032512 -|bytes in ‘../build/tmp/work/x86_64-linux/qemu-native/2.5.0-r1/ -|sstate-install-populate_sysroot/x86_64-linux/usr/bin/qemu-mips64’ -|maximum file size exceeded -\ - -Similar issue is discussed here: -https://github.com/NixOS/patchelf/issues/47 - -Upstream-Status: Inappropriate [embedded specific] - -Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br> ---- - src/patchelf.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/patchelf.cc b/src/patchelf.cc -index a59c12d..0fd7355 100644 ---- a/src/patchelf.cc -+++ b/src/patchelf.cc -@@ -279,7 +279,7 @@ static void readFile(string fileName) - struct stat st; - if (stat(fileName.c_str(), &st) != 0) error("stat"); - fileSize = st.st_size; -- maxSize = fileSize + 32 * 1024 * 1024; -+ maxSize = fileSize + 64 * 1024 * 1024; - - contents = (unsigned char *) malloc(fileSize + maxSize); - if (!contents) abort(); --- -2.1.4 - diff --git a/poky/meta/recipes-devtools/patchelf/patchelf/Skip-empty-section-fixes-66.patch b/poky/meta/recipes-devtools/patchelf/patchelf/Skip-empty-section-fixes-66.patch deleted file mode 100644 index 9ee8a554a..000000000 --- a/poky/meta/recipes-devtools/patchelf/patchelf/Skip-empty-section-fixes-66.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 73526cb546ae6b00ea6169e40b01fb7b5f0dbb50 Mon Sep 17 00:00:00 2001 -From: Fabio Berton <fabio.berton@ossystems.com.br> -Date: Thu, 28 Jul 2016 11:05:06 -0300 -Subject: [PATCH] Skip empty section (fixes #66) -Organization: O.S. Systems Software LTDA. - -Upstream-Status: Pending - -Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br> ---- - src/patchelf.cc | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/src/patchelf.cc b/src/patchelf.cc -index 136098f..2677a26 100644 ---- a/src/patchelf.cc -+++ b/src/patchelf.cc -@@ -684,6 +684,9 @@ void ElfFile<ElfFileParamNames>::rewriteSectionsExecutable() - for (unsigned int i = 1; i <= lastReplaced; ++i) { - Elf_Shdr & shdr(shdrs[i]); - string sectionName = getSectionName(shdr); -+ if (sectionName == "") { -+ continue; -+ } - debug("looking at section `%s'\n", sectionName.c_str()); - /* !!! Why do we stop after a .dynstr section? I can't - remember! */ --- -2.1.4 - diff --git a/poky/meta/recipes-devtools/patchelf/patchelf/avoidholes.patch b/poky/meta/recipes-devtools/patchelf/patchelf/avoidholes.patch deleted file mode 100644 index 0b45c39bd..000000000 --- a/poky/meta/recipes-devtools/patchelf/patchelf/avoidholes.patch +++ /dev/null @@ -1,163 +0,0 @@ -Different types of binaries create challenges for patchelf. In order to extend -sections they need to be moved within the binary. The current approach to -handling ET_DYN binaries is to move the INTERP section to the end of the file. -This means changing PT_PHDR to add an extra PT_LOAD section so that the new section -is mmaped into memory by the elf loader in the kernel. In order to extend PHDR, -this means moving it to the end of the file. - -Its documented in patchelf there is a kernel 'bug' which means that if you have holes -in memory between the base load address and the PT_LOAD segment that contains PHDR, -it will pass an incorrect PHDR address to ld.so and fail to load the binary, segfaulting. - -To avoid this, the code currently inserts space into the binary to ensure that when -loaded into memory there are no holes between the PT_LOAD sections. This inflates the -binaries by many MBs in some cases. Whilst we could make them sparse, there is a second -issue which is that strip can fail to process these binaries: - -$ strip fixincl -Not enough room for program headers, try linking with -N -[.note.ABI-tag]: Bad value - -This turns out to be due to libbfd not liking the relocated PHDR section either -(https://github.com/NixOS/patchelf/issues/10). - -Instead this patch implements a different approach, leaving PHDR where it is but extending -it in place to allow addition of a new PT_LOAD section. This overwrites sections in the -binary but those get moved to the end of the file in the new PT_LOAD section. - -This is based on patches linked from the above github issue, however whilst the idea -was good, the implementation wasn't correct and they've been rewritten here. - -RP -2017/3/7 - -Upstream-Status: Accepted - -Index: patchelf-0.9/src/patchelf.cc -=================================================================== ---- patchelf-0.9.orig/src/patchelf.cc -+++ patchelf-0.9/src/patchelf.cc -@@ -146,6 +146,8 @@ private: - string & replaceSection(const SectionName & sectionName, - unsigned int size); - -+ bool haveReplacedSection(const SectionName & sectionName); -+ - void writeReplacedSections(Elf_Off & curOff, - Elf_Addr startAddr, Elf_Off startOffset); - -@@ -497,6 +499,16 @@ unsigned int ElfFile<ElfFileParamNames>: - return 0; - } - -+template<ElfFileParams> -+bool ElfFile<ElfFileParamNames>::haveReplacedSection(const SectionName & sectionName) -+{ -+ ReplacedSections::iterator i = replacedSections.find(sectionName); -+ -+ if (i != replacedSections.end()) -+ return true; -+ return false; -+} -+ - - template<ElfFileParams> - string & ElfFile<ElfFileParamNames>::replaceSection(const SectionName & sectionName, -@@ -595,52 +607,52 @@ void ElfFile<ElfFileParamNames>::rewrite - - debug("last page is 0x%llx\n", (unsigned long long) startPage); - -+ /* Because we're adding a new section header, we're necessarily increasing -+ the size of the program header table. This can cause the first section -+ to overlap the program header table in memory; we need to shift the first -+ few segments to someplace else. */ -+ /* Some sections may already be replaced so account for that */ -+ unsigned int i = 1; -+ Elf_Addr pht_size = sizeof(Elf_Ehdr) + (phdrs.size() + 1)*sizeof(Elf_Phdr); -+ while( shdrs[i].sh_addr <= pht_size && i < rdi(hdr->e_shnum) ) { -+ if (not haveReplacedSection(getSectionName(shdrs[i]))) -+ replaceSection(getSectionName(shdrs[i]), shdrs[i].sh_size); -+ i++; -+ } - -- /* Compute the total space needed for the replaced sections and -- the program headers. */ -- off_t neededSpace = (phdrs.size() + 1) * sizeof(Elf_Phdr); -+ /* Compute the total space needed for the replaced sections */ -+ off_t neededSpace = 0; - for (ReplacedSections::iterator i = replacedSections.begin(); - i != replacedSections.end(); ++i) - neededSpace += roundUp(i->second.size(), sectionAlignment); - debug("needed space is %d\n", neededSpace); - -- - size_t startOffset = roundUp(fileSize, getPageSize()); - - growFile(startOffset + neededSpace); - -- - /* Even though this file is of type ET_DYN, it could actually be - an executable. For instance, Gold produces executables marked -- ET_DYN. In that case we can still hit the kernel bug that -- necessitated rewriteSectionsExecutable(). However, such -- executables also tend to start at virtual address 0, so -+ ET_DYN as does LD when linking with pie. If we move PT_PHDR, it -+ has to stay in the first PT_LOAD segment or any subsequent ones -+ if they're continuous in memory due to linux kernel constraints -+ (see BUGS). Since the end of the file would be after bss, we can't -+ move PHDR there, we therefore choose to leave PT_PHDR where it is but -+ move enough following sections such that we can add the extra PT_LOAD -+ section to it. This PT_LOAD segment ensures the sections at the end of -+ the file are mapped into memory for ld.so to process. -+ We can't use the approach in rewriteSectionsExecutable() -+ since DYN executables tend to start at virtual address 0, so - rewriteSectionsExecutable() won't work because it doesn't have -- any virtual address space to grow downwards into. As a -- workaround, make sure that the virtual address of our new -- PT_LOAD segment relative to the first PT_LOAD segment is equal -- to its offset; otherwise we hit the kernel bug. This may -- require creating a hole in the executable. The bigger the size -- of the uninitialised data segment, the bigger the hole. */ -+ any virtual address space to grow downwards into. */ - if (isExecutable) { - if (startOffset >= startPage) { - debug("shifting new PT_LOAD segment by %d bytes to work around a Linux kernel bug\n", startOffset - startPage); -- } else { -- size_t hole = startPage - startOffset; -- /* Print a warning, because the hole could be very big. */ -- fprintf(stderr, "warning: working around a Linux kernel bug by creating a hole of %zu bytes in ‘%s’\n", hole, fileName.c_str()); -- assert(hole % getPageSize() == 0); -- /* !!! We could create an actual hole in the file here, -- but it's probably not worth the effort. */ -- growFile(fileSize + hole); -- startOffset += hole; - } - startPage = startOffset; - } - -- -- /* Add a segment that maps the replaced sections and program -- headers into memory. */ -+ /* Add a segment that maps the replaced sections into memory. */ - phdrs.resize(rdi(hdr->e_phnum) + 1); - wri(hdr->e_phnum, rdi(hdr->e_phnum) + 1); - Elf_Phdr & phdr = phdrs[rdi(hdr->e_phnum) - 1]; -@@ -653,15 +665,12 @@ void ElfFile<ElfFileParamNames>::rewrite - - - /* Write out the replaced sections. */ -- Elf_Off curOff = startOffset + phdrs.size() * sizeof(Elf_Phdr); -+ Elf_Off curOff = startOffset; - writeReplacedSections(curOff, startPage, startOffset); - assert(curOff == startOffset + neededSpace); - -- -- /* Move the program header to the start of the new area. */ -- wri(hdr->e_phoff, startOffset); -- -- rewriteHeaders(startPage); -+ /* Write out the updated program and section headers */ -+ rewriteHeaders(hdr->e_phoff); - } - - diff --git a/poky/meta/recipes-devtools/patchelf/patchelf/fix-adjusting-startPage.patch b/poky/meta/recipes-devtools/patchelf/patchelf/fix-adjusting-startPage.patch index f64cbed5c..a0988423f 100644 --- a/poky/meta/recipes-devtools/patchelf/patchelf/fix-adjusting-startPage.patch +++ b/poky/meta/recipes-devtools/patchelf/patchelf/fix-adjusting-startPage.patch @@ -1,6 +1,9 @@ +From 1630d3f846c7721b1e7cd3b005bb2b34816e1d0f Mon Sep 17 00:00:00 2001 +From: Ed Bartosh <ed.bartosh@linux.intel.com> +Date: Fri, 21 Jul 2017 12:33:53 +0300 +Subject: [PATCH] patchelf: fix segfault for binaries linked by gold + commit 1cc234fea5600190d872329aca60e2365cefc39e -Author: Ed Bartosh <ed.bartosh@linux.intel.com> -Date: Fri Jul 21 12:33:53 2017 +0300 fix adjusting startPage @@ -19,11 +22,15 @@ Github PR: https://github.com/NixOS/patchelf/pull/127 Upstream-Status: Submitted +--- + src/patchelf.cc | 6 ++---- + 1 file changed, 2 insertions(+), 4 deletions(-) + diff --git a/src/patchelf.cc b/src/patchelf.cc -index cbd36c0..e9d7ea5 100644 +index a63e3a11c61f..2483d25d78f1 100644 --- a/src/patchelf.cc +++ b/src/patchelf.cc -@@ -720,10 +720,8 @@ void ElfFile<ElfFileParamNames>::rewriteSectionsLibrary() +@@ -756,10 +756,8 @@ void ElfFile<ElfFileParamNames>::rewriteSectionsLibrary() since DYN executables tend to start at virtual address 0, so rewriteSectionsExecutable() won't work because it doesn't have any virtual address space to grow downwards into. */ diff --git a/poky/meta/recipes-devtools/patchelf/patchelf/handle-read-only-files.patch b/poky/meta/recipes-devtools/patchelf/patchelf/handle-read-only-files.patch index 9fafec4b5..03b0d18a8 100644 --- a/poky/meta/recipes-devtools/patchelf/patchelf/handle-read-only-files.patch +++ b/poky/meta/recipes-devtools/patchelf/patchelf/handle-read-only-files.patch @@ -1,26 +1,26 @@ -From 2a603acb65993698c21f1c6eb7664f93ad830d52 Mon Sep 17 00:00:00 2001 +From 7f1fd10cfebd5ea2f3e1938abe1bd1c4828164a7 Mon Sep 17 00:00:00 2001 From: Fabio Berton <fabio.berton@ossystems.com.br> Date: Fri, 9 Sep 2016 16:00:42 -0300 Subject: [PATCH] handle read-only files -Organization: O.S. Systems Software LTDA. Patch from: https://github.com/darealshinji/patchelf/commit/40e66392bc4b96e9b4eda496827d26348a503509 -Upstream-Status: Pending +Upstream-Status: Denied [https://github.com/NixOS/patchelf/pull/89] Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br> + --- src/patchelf.cc | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/patchelf.cc b/src/patchelf.cc -index 136098f..aea360e 100644 +index 0b4965adff83..b5db2aef0e8a 100644 --- a/src/patchelf.cc +++ b/src/patchelf.cc -@@ -388,7 +388,17 @@ void ElfFile<ElfFileParamNames>::sortShdrs() +@@ -497,7 +497,17 @@ void ElfFile<ElfFileParamNames>::sortShdrs() - static void writeFile(string fileName) + static void writeFile(std::string fileName, FileContents contents) { - int fd = open(fileName.c_str(), O_TRUNC | O_WRONLY); + struct stat st; @@ -37,7 +37,7 @@ index 136098f..aea360e 100644 if (fd == -1) error("open"); -@@ -397,6 +407,10 @@ static void writeFile(string fileName) +@@ -511,6 +521,10 @@ static void writeFile(std::string fileName, FileContents contents) if (close(fd) != 0) error("close"); @@ -48,6 +48,3 @@ index 136098f..aea360e 100644 } --- -2.1.4 - diff --git a/poky/meta/recipes-devtools/patchelf/patchelf_0.9.bb b/poky/meta/recipes-devtools/patchelf/patchelf_0.10.bb index d70303963..580108e8b 100644 --- a/poky/meta/recipes-devtools/patchelf/patchelf_0.9.bb +++ b/poky/meta/recipes-devtools/patchelf/patchelf_0.10.bb @@ -1,16 +1,13 @@ SRC_URI = "http://nixos.org/releases/${BPN}/${BPN}-${PV}/${BPN}-${PV}.tar.bz2 \ - file://Skip-empty-section-fixes-66.patch \ file://handle-read-only-files.patch \ - file://Increase-maxSize-to-64MB.patch \ - file://avoidholes.patch \ file://fix-adjusting-startPage.patch \ -" + " LICENSE = "GPLv3" SUMMARY = "Tool to allow editing of RPATH and interpreter fields in ELF binaries" -SRC_URI[md5sum] = "d02687629c7e1698a486a93a0d607947" -SRC_URI[sha256sum] = "a0f65c1ba148890e9f2f7823f4bedf7ecad5417772f64f994004f59a39014f83" +SRC_URI[md5sum] = "6c3f3a06a95705870d129494a6880106" +SRC_URI[sha256sum] = "f670cd462ac7161588c28f45349bc20fb9bd842805e3f71387a320e7a9ddfcf3" LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" diff --git a/poky/meta/recipes-devtools/perl-sanity/perl_5.28.1.bb b/poky/meta/recipes-devtools/perl-sanity/perl_5.28.2.bb index f3948a5f8..12b220a4d 100644 --- a/poky/meta/recipes-devtools/perl-sanity/perl_5.28.1.bb +++ b/poky/meta/recipes-devtools/perl-sanity/perl_5.28.2.bb @@ -8,7 +8,7 @@ LIC_FILES_CHKSUM = "file://Copying;md5=5b122a36d0f6dc55279a0ebc69f3c60b \ SRC_URI = "https://www.cpan.org/src/5.0/perl-${PV}.tar.gz;name=perl \ - https://github.com/arsv/perl-cross/releases/download/1.2.2/perl-cross-1.2.2.tar.gz;name=perl-cross \ + https://github.com/arsv/perl-cross/releases/download/1.2.3/perl-cross-1.2.3.tar.gz;name=perl-cross \ file://perl-rdepends.txt \ file://0001-configure_tool.sh-do-not-quote-the-argument-to-comma.patch \ file://0001-ExtUtils-MakeMaker-add-LDFLAGS-when-linking-binary-m.patch \ @@ -23,10 +23,10 @@ SRC_URI_append_class-native = " \ file://perl-configpm-switch.patch \ " -SRC_URI[perl.md5sum] = "838198c43d4f39d7af797e2f59c2bee5" -SRC_URI[perl.sha256sum] = "3ebf85fe65df2ee165b22596540b7d5d42f84d4b72d84834f74e2e0b8956c347" -SRC_URI[perl-cross.md5sum] = "9a6c05497bdde9a3106e3be9246f4da1" -SRC_URI[perl-cross.sha256sum] = "e6987838f27d8cd3368ea68fc56a68cc52371505950927b8b7c5cb76e3a94caa" +SRC_URI[perl.md5sum] = "1323e7581fbedf3791d2843f4ccaec4b" +SRC_URI[perl.sha256sum] = "aa95456dddb3eb1cc5475fed4e08f91876bea71fb636fba6399054dfbabed6c7" +SRC_URI[perl-cross.md5sum] = "03d9eafd71161eb5d1f80434e8b49dbc" +SRC_URI[perl-cross.sha256sum] = "84583a1bb5f3a2c64d13d031386c114382e5c62955c6f84a27cec8318536627c" PR = "r1" diff --git a/poky/meta/recipes-devtools/perl/libtest-needs-perl_0.002005.bb b/poky/meta/recipes-devtools/perl/libtest-needs-perl_0.002006.bb index e5ab7a33c..3abb9aa8e 100644 --- a/poky/meta/recipes-devtools/perl/libtest-needs-perl_0.002005.bb +++ b/poky/meta/recipes-devtools/perl/libtest-needs-perl_0.002006.bb @@ -11,14 +11,14 @@ LICENSE = "Artistic-1.0 | GPL-1.0+" CPAN_NAME = "Test-Needs" CPAN_AUTHOR = "HAARG" -LIC_FILES_CHKSUM = "file://README;md5=3f3ccd21a0a48aa313db212cc3b1bc09;beginline=81;endline=82" +LIC_FILES_CHKSUM = "file://README;md5=3f3ccd21a0a48aa313db212cc3b1bc09;beginline=88;endline=89" DEPENDS += "perl" -SRC_URI = "http://www.cpan.org/authors/id/H/HA/${CPAN_AUTHOR}/${CPAN_NAME}-${PV}.tar.gz" +SRC_URI = "https://cpan.metacpan.org/authors/id/H/HA/${CPAN_AUTHOR}/${CPAN_NAME}-${PV}.tar.gz" -SRC_URI[md5sum] = "356634a56c99282e8059f290f5d534c8" -SRC_URI[sha256sum] = "5a4f33983586edacdbe00a3b429a9834190140190dab28d0f873c394eb7df399" +SRC_URI[md5sum] = "d5c96d51d8d5510f7c0b7f354c49af1c" +SRC_URI[sha256sum] = "77f9fff0c96c5e09f34d0416b3533c3319f7cd0bb1f7fe8f8072ad59f433f0e5" S = "${WORKDIR}/${CPAN_NAME}-${PV}" diff --git a/poky/meta/recipes-devtools/pseudo/pseudo_git.bb b/poky/meta/recipes-devtools/pseudo/pseudo_git.bb index 79e0b6bd2..51db84c4d 100644 --- a/poky/meta/recipes-devtools/pseudo/pseudo_git.bb +++ b/poky/meta/recipes-devtools/pseudo/pseudo_git.bb @@ -8,7 +8,7 @@ SRC_URI = "git://git.yoctoproject.org/pseudo \ file://toomanyfiles.patch \ " -SRCREV = "6294b344e5140f5467e6860f45a174440015304e" +SRCREV = "3fa7c853e0bcd6fe23f7524c2a3c9e3af90901c3" S = "${WORKDIR}/git" PV = "1.9.0+git${SRCPV}" diff --git a/poky/meta/recipes-devtools/python-numpy/files/0001-Don-t-search-usr-and-so-on-for-libraries-by-default-.patch b/poky/meta/recipes-devtools/python-numpy/files/0001-Don-t-search-usr-and-so-on-for-libraries-by-default-.patch index 516ccd7b9..8fe0d1a27 100644 --- a/poky/meta/recipes-devtools/python-numpy/files/0001-Don-t-search-usr-and-so-on-for-libraries-by-default-.patch +++ b/poky/meta/recipes-devtools/python-numpy/files/0001-Don-t-search-usr-and-so-on-for-libraries-by-default-.patch @@ -1,7 +1,8 @@ -From c8c6649b29a08f82e1d6761a6d62ce5f632313c5 Mon Sep 17 00:00:00 2001 +From c14554c7e2fff8dd559dfb41e7dd11392c6f85e3 Mon Sep 17 00:00:00 2001 From: Alexander Kanavin <alex.kanavin@gmail.com> Date: Thu, 10 Dec 2015 13:20:30 +0200 -Subject: [PATCH 1/3] Don't search /usr and so on for libraries by default to +Subject: [PATCH] Don't search /usr and so on for libraries by default to + avoid host contamination. Upstream-Status: Inappropriate (As the code stands, this is a hack) @@ -9,16 +10,16 @@ Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> --- - numpy/distutils/system_info.py | 50 +++++------------------------------------- + numpy/distutils/system_info.py | 50 ++++------------------------------ 1 file changed, 6 insertions(+), 44 deletions(-) diff --git a/numpy/distutils/system_info.py b/numpy/distutils/system_info.py -index bea120c..544e056 100644 +index 2424943..bf56a6d 100644 --- a/numpy/distutils/system_info.py +++ b/numpy/distutils/system_info.py -@@ -262,51 +262,13 @@ if sys.platform == 'win32': +@@ -274,51 +274,13 @@ if sys.platform == 'win32': add_system_root(os.path.join(conda_dir, 'Library')) - + else: - default_lib_dirs = libpaths(['/usr/local/lib', '/opt/lib', '/usr/lib', - '/opt/local/lib', '/sw/lib'], platform_bits) @@ -74,6 +75,3 @@ index bea120c..544e056 100644 if os.path.join(sys.prefix, 'lib') not in default_lib_dirs: default_lib_dirs.insert(0, os.path.join(sys.prefix, 'lib')) --- -2.16.1 - diff --git a/poky/meta/recipes-devtools/python-numpy/files/0001-npy_cpu-Add-riscv-support.patch b/poky/meta/recipes-devtools/python-numpy/files/0001-npy_cpu-Add-riscv-support.patch index 4f5c4f5f0..4decfe66e 100644 --- a/poky/meta/recipes-devtools/python-numpy/files/0001-npy_cpu-Add-riscv-support.patch +++ b/poky/meta/recipes-devtools/python-numpy/files/0001-npy_cpu-Add-riscv-support.patch @@ -1,21 +1,20 @@ -From 30fb1bf9244bb0789c02ec7c98a923acc7200206 Mon Sep 17 00:00:00 2001 +From 629891f67601275c9c4de0bb01afcf1a8c44fa3f Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Fri, 16 Mar 2018 19:55:21 -0700 Subject: [PATCH] npy_cpu: Add riscv support Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- Upstream-Status: Submitted [https://github.com/numpy/numpy/pull/10761] - +--- numpy/core/include/numpy/npy_cpu.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/numpy/core/include/numpy/npy_cpu.h b/numpy/core/include/numpy/npy_cpu.h -index 84653ea18..9e88db873 100644 +index 5edd8f4..e1e4796 100644 --- a/numpy/core/include/numpy/npy_cpu.h +++ b/numpy/core/include/numpy/npy_cpu.h -@@ -78,6 +78,8 @@ - #define NPY_CPU_AARCH64 +@@ -96,6 +96,8 @@ + #define NPY_CPU_OR1K #elif defined(__mc68000__) #define NPY_CPU_M68K +#elif defined(__riscv) @@ -23,6 +22,3 @@ index 84653ea18..9e88db873 100644 #elif defined(__arc__) && defined(__LITTLE_ENDIAN__) #define NPY_CPU_ARCEL #elif defined(__arc__) && defined(__BIG_ENDIAN__) --- -2.16.2 - diff --git a/poky/meta/recipes-devtools/python-numpy/files/fix_shebang_f2py.patch b/poky/meta/recipes-devtools/python-numpy/files/fix_shebang_f2py.patch deleted file mode 100644 index 8be6e4d21..000000000 --- a/poky/meta/recipes-devtools/python-numpy/files/fix_shebang_f2py.patch +++ /dev/null @@ -1,29 +0,0 @@ -Upstream-Status: Inappropriate [embedded specific] - -Avoids using python from the HOSTs native sysroot for f2py, -uses TARGET env python instead. - -Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com> - -Index: numpy-1.11.0/numpy/f2py/setup.py -=================================================================== ---- numpy-1.11.0.orig/numpy/f2py/setup.py -+++ numpy-1.11.0/numpy/f2py/setup.py -@@ -37,10 +37,13 @@ def _get_f2py_shebang(): - should be ``#!python`` rather than ``#!`` followed by the contents of - ``sys.executable``. - """ -- if set(('bdist_wheel', 'bdist_egg', 'bdist_wininst', -- 'bdist_rpm')).intersection(sys.argv): -- return '#!python' -- return '#!' + sys.executable -+ #if set(('bdist_wheel', 'bdist_egg', 'bdist_wininst', -+ # 'bdist_rpm')).intersection(sys.argv): -+ # return '#!python' -+ #return '#!' + sys.executable -+ -+ # On OE, we need to avoid using the HOSTs python-native, we return env python instead -+ return '#!/usr/bin/env python' - - - def configuration(parent_package='', top_path=None): diff --git a/poky/meta/recipes-devtools/python-numpy/python-numpy.inc b/poky/meta/recipes-devtools/python-numpy/python-numpy.inc index 1b51f7baa..43c3053cd 100644 --- a/poky/meta/recipes-devtools/python-numpy/python-numpy.inc +++ b/poky/meta/recipes-devtools/python-numpy/python-numpy.inc @@ -1,17 +1,17 @@ SUMMARY = "A sophisticated Numeric Processing Package for Python" SECTION = "devel/python" LICENSE = "BSD-3-Clause & BSD-2-Clause & PSF & Apache-2.0 & BSD" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=fc53b33304171d132128ebe82ea4a645" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=d26bde5432613cce2334b93985576231" SRCNAME = "numpy" SRC_URI = "https://github.com/${SRCNAME}/${SRCNAME}/releases/download/v${PV}/${SRCNAME}-${PV}.tar.gz \ file://0001-Don-t-search-usr-and-so-on-for-libraries-by-default-.patch \ - file://fix_shebang_f2py.patch \ file://0001-npy_cpu-Add-riscv-support.patch \ - ${CONFIGFILESURI} " -SRC_URI[md5sum] = "e3189ee851c3a0e2e6e4c6e80a711ec8" -SRC_URI[sha256sum] = "1b4a02758fb68a65ea986d808867f1d6383219c234aef553a8741818e795b529" + ${CONFIGFILESURI} \ + " +SRC_URI[md5sum] = "0886e5b5017f08f2b7a624c0b5931e61" +SRC_URI[sha256sum] = "adf063a3f87ab89393f5eea0eb903293b112fa0a308e8c594a75ffa585d81d4f" UPSTREAM_CHECK_URI = "https://github.com/numpy/numpy/releases" UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)\.tar" diff --git a/poky/meta/recipes-devtools/python-numpy/python-numpy_1.14.5.bb b/poky/meta/recipes-devtools/python-numpy/python-numpy_1.16.3.bb index 50137895c..50137895c 100644 --- a/poky/meta/recipes-devtools/python-numpy/python-numpy_1.14.5.bb +++ b/poky/meta/recipes-devtools/python-numpy/python-numpy_1.16.3.bb diff --git a/poky/meta/recipes-devtools/python-numpy/python3-numpy_1.14.5.bb b/poky/meta/recipes-devtools/python-numpy/python3-numpy_1.16.3.bb index 915e6f8c2..d388e88d2 100644 --- a/poky/meta/recipes-devtools/python-numpy/python3-numpy_1.14.5.bb +++ b/poky/meta/recipes-devtools/python-numpy/python3-numpy_1.16.3.bb @@ -1,2 +1,3 @@ inherit setuptools3 require python-numpy.inc + diff --git a/poky/meta/recipes-devtools/python/python-mako.inc b/poky/meta/recipes-devtools/python/python-mako.inc index e265bde85..97c624bbc 100644 --- a/poky/meta/recipes-devtools/python/python-mako.inc +++ b/poky/meta/recipes-devtools/python/python-mako.inc @@ -8,8 +8,8 @@ PYPI_PACKAGE = "Mako" inherit pypi -SRC_URI[md5sum] = "5836cc997b1b773ef389bf6629c30e65" -SRC_URI[sha256sum] = "4e02fde57bd4abb5ec400181e4c314f56ac3e49ba4fb8b0d50bba18cb27d25ae" +SRC_URI[md5sum] = "d739720f3f0d6a1cb6a96ea7a4760c3e" +SRC_URI[sha256sum] = "0728c404877cd4ca72c409c0ea372dc5f3b53fa1ad2bb434e1d216c0444ff1fd" RDEPENDS_${PN} = "${PYTHON_PN}-html \ ${PYTHON_PN}-netclient \ diff --git a/poky/meta/recipes-devtools/python/python-native_2.7.15.bb b/poky/meta/recipes-devtools/python/python-native_2.7.16.bb index 26d67df6b..b7442800d 100644 --- a/poky/meta/recipes-devtools/python/python-native_2.7.15.bb +++ b/poky/meta/recipes-devtools/python/python-native_2.7.16.bb @@ -1,7 +1,6 @@ require python.inc EXTRANATIVEPATH += "bzip2-native" DEPENDS = "openssl-native bzip2-replacement-native zlib-native readline-native sqlite3-native expat-native gdbm-native db-native" -PR = "${INC_PR}.1" SRC_URI += "\ file://05-enable-ctypes-cross-build.patch \ @@ -17,7 +16,6 @@ SRC_URI += "\ file://parallel-makeinst-create-bindir.patch \ file://revert_use_of_sysconfigdata.patch \ file://0001-python-native-fix-one-do_populate_sysroot-warning.patch \ - file://0001-2.7-bpo-34623-Use-XML_SetHashSalt-in-_elementtree-GH.patch \ " S = "${WORKDIR}/Python-${PV}" diff --git a/poky/meta/recipes-devtools/python/python-scons-native_3.0.1.bb b/poky/meta/recipes-devtools/python/python-scons-native_3.0.5.bb index 68b63c935..68b63c935 100644 --- a/poky/meta/recipes-devtools/python/python-scons-native_3.0.1.bb +++ b/poky/meta/recipes-devtools/python/python-scons-native_3.0.5.bb diff --git a/poky/meta/recipes-devtools/python/python-scons_3.0.1.bb b/poky/meta/recipes-devtools/python/python-scons_3.0.5.bb index d5084b2d1..939c15bcc 100644 --- a/poky/meta/recipes-devtools/python/python-scons_3.0.1.bb +++ b/poky/meta/recipes-devtools/python/python-scons_3.0.5.bb @@ -1,15 +1,18 @@ SUMMARY = "Software Construction tool (make/autotools replacement)" SECTION = "devel/python" LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=46ddf66004e5be5566367cb525a66fc6" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=37bb53a08e6beaea0c90e7821d731284" -SRC_URI[md5sum] = "b6a292e251b34b82c203b56cfa3968b3" -SRC_URI[sha256sum] = "24475e38d39c19683bc88054524df018fe6949d70fbd4c69e298d39a0269f173" +SRC_URI = "${SOURCEFORGE_MIRROR}/scons/scons-${PV}.tar.gz" +SRC_URI[md5sum] = "9f9c163e8bd48cf8cd92f03e85ca6395" +SRC_URI[sha256sum] = "df676f23dc6d4bfa384fc389d95dcd21ab907e6349d4c848958ba4befb73c73e" + +S = "${WORKDIR}/scons-${PV}" UPSTREAM_CHECK_URI = "http://scons.org/pages/download.html" UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)\.tar" -inherit pypi setuptools +inherit setuptools RDEPENDS_${PN} = "\ python-fcntl \ diff --git a/poky/meta/recipes-devtools/python/python-setuptools.inc b/poky/meta/recipes-devtools/python/python-setuptools.inc index 9092d7ad0..357aa0708 100644 --- a/poky/meta/recipes-devtools/python/python-setuptools.inc +++ b/poky/meta/recipes-devtools/python/python-setuptools.inc @@ -10,8 +10,8 @@ inherit pypi SRC_URI_append_class-native = " file://0001-conditionally-do-not-fetch-code-by-easy_install.patch" -SRC_URI[md5sum] = "712697a5bc975cf479d487cd68206c20" -SRC_URI[sha256sum] = "6e4eec90337e849ade7103723b9a99631c1f0d19990d6e8412dc42f5ae8b304d" +SRC_URI[md5sum] = "6404ca798bb9a9073aff3b91b2df35c8" +SRC_URI[sha256sum] = "a222d126f5471598053c9a77f4b5d4f26eaa1f150ad6e01dcf1a42e185d05613" DEPENDS += "${PYTHON_PN}" diff --git a/poky/meta/recipes-devtools/python/python-setuptools_40.8.0.bb b/poky/meta/recipes-devtools/python/python-setuptools_41.0.1.bb index cf9440495..cf9440495 100644 --- a/poky/meta/recipes-devtools/python/python-setuptools_40.8.0.bb +++ b/poky/meta/recipes-devtools/python/python-setuptools_41.0.1.bb diff --git a/poky/meta/recipes-devtools/python/python.inc b/poky/meta/recipes-devtools/python/python.inc index 66923678b..779df5352 100644 --- a/poky/meta/recipes-devtools/python/python.inc +++ b/poky/meta/recipes-devtools/python/python.inc @@ -5,18 +5,13 @@ SECTION = "devel/python" # bump this on every change in contrib/python/generate-manifest-2.7.py INC_PR = "r1" -LIC_FILES_CHKSUM = "file://LICENSE;md5=f257cc14f81685691652a3d3e1b5d754" +LIC_FILES_CHKSUM = "file://LICENSE;md5=e466242989bd33c1bd2b6a526a742498" SRC_URI = "http://www.python.org/ftp/python/${PV}/Python-${PV}.tar.xz \ - file://0001-bpo-33570-TLS-1.3-ciphers-for-OpenSSL-1.1.1-GH-6976-.patch \ - file://0002-bpo-34818-Add-missing-closing-wrapper-in-test_tls1_3.patch \ - file://0003-bpo-34834-Fix-test_ssl.test_options-to-account-for-O.patch \ - file://0004-bpo-34836-fix-test_default_ecdh_curve-needs-no-tlsv1.patch \ - file://0001-bpo-33354-Fix-test_ssl-when-a-filename-cannot-be-enc.patch \ " -SRC_URI[md5sum] = "a80ae3cc478460b922242f43a1b4094d" -SRC_URI[sha256sum] = "22d9b1ac5b26135ad2b8c2901a9413537e08749a753356ee913c84dbd2df5574" +SRC_URI[md5sum] = "30157d85a2c0479c09ea2cbe61f2aaf5" +SRC_URI[sha256sum] = "f222ef602647eecb6853681156d32de4450a2c39f4de93bd5b20235f2e660ed7" # python recipe is actually python 2.x # also, exclude pre-releases for both python 2.x and 3.x diff --git a/poky/meta/recipes-devtools/python/python/0001-2.7-bpo-34623-Use-XML_SetHashSalt-in-_elementtree-GH.patch b/poky/meta/recipes-devtools/python/python/0001-2.7-bpo-34623-Use-XML_SetHashSalt-in-_elementtree-GH.patch deleted file mode 100644 index 3c0d66229..000000000 --- a/poky/meta/recipes-devtools/python/python/0001-2.7-bpo-34623-Use-XML_SetHashSalt-in-_elementtree-GH.patch +++ /dev/null @@ -1,96 +0,0 @@ -From 3ffc80959f01f9fde548f1632694b9f950c2dd7c Mon Sep 17 00:00:00 2001 -From: Christian Heimes <christian@python.org> -Date: Tue, 18 Sep 2018 15:13:09 +0200 -Subject: [PATCH] [2.7] bpo-34623: Use XML_SetHashSalt in _elementtree - (GH-9146) (GH-9394) - -The C accelerated _elementtree module now initializes hash randomization -salt from _Py_HashSecret instead of libexpat's default CPRNG. - -Signed-off-by: Christian Heimes <christian@python.org> - -https://bugs.python.org/issue34623. -(cherry picked from commit cb5778f00ce48631c7140f33ba242496aaf7102b) - -Co-authored-by: Christian Heimes <christian@python.org> - - - -https://bugs.python.org/issue34623 - -Upstream-Status: Backport -CVE: CVE-2018-14647 -Signed-off-by: Chen Qi <Qi.Chen@windriver.com> ---- - Include/pyexpat.h | 4 +++- - Misc/NEWS.d/next/Security/2018-09-10-16-05-39.bpo-34623.Ua9jMv.rst | 2 ++ - Modules/_elementtree.c | 5 +++++ - Modules/pyexpat.c | 5 +++++ - 4 files changed, 15 insertions(+), 1 deletion(-) - create mode 100644 Misc/NEWS.d/next/Security/2018-09-10-16-05-39.bpo-34623.Ua9jMv.rst - -diff --git a/Include/pyexpat.h b/Include/pyexpat.h -index 5340ef5..3fc5fa5 100644 ---- a/Include/pyexpat.h -+++ b/Include/pyexpat.h -@@ -3,7 +3,7 @@ - - /* note: you must import expat.h before importing this module! */ - --#define PyExpat_CAPI_MAGIC "pyexpat.expat_CAPI 1.0" -+#define PyExpat_CAPI_MAGIC "pyexpat.expat_CAPI 1.1" - #define PyExpat_CAPSULE_NAME "pyexpat.expat_CAPI" - - struct PyExpat_CAPI -@@ -43,6 +43,8 @@ struct PyExpat_CAPI - XML_Parser parser, XML_UnknownEncodingHandler handler, - void *encodingHandlerData); - void (*SetUserData)(XML_Parser parser, void *userData); -+ /* might be none for expat < 2.1.0 */ -+ int (*SetHashSalt)(XML_Parser parser, unsigned long hash_salt); - /* always add new stuff to the end! */ - }; - -diff --git a/Misc/NEWS.d/next/Security/2018-09-10-16-05-39.bpo-34623.Ua9jMv.rst b/Misc/NEWS.d/next/Security/2018-09-10-16-05-39.bpo-34623.Ua9jMv.rst -new file mode 100644 -index 0000000..31ad92e ---- /dev/null -+++ b/Misc/NEWS.d/next/Security/2018-09-10-16-05-39.bpo-34623.Ua9jMv.rst -@@ -0,0 +1,2 @@ -+The C accelerated _elementtree module now initializes hash randomization -+salt from _Py_HashSecret instead of libexpat's default CSPRNG. -diff --git a/Modules/_elementtree.c b/Modules/_elementtree.c -index 1d316a1..a19cbf7 100644 ---- a/Modules/_elementtree.c -+++ b/Modules/_elementtree.c -@@ -2574,6 +2574,11 @@ xmlparser(PyObject* self_, PyObject* args, PyObject* kw) - PyErr_NoMemory(); - return NULL; - } -+ /* expat < 2.1.0 has no XML_SetHashSalt() */ -+ if (EXPAT(SetHashSalt) != NULL) { -+ EXPAT(SetHashSalt)(self->parser, -+ (unsigned long)_Py_HashSecret.prefix); -+ } - - ALLOC(sizeof(XMLParserObject), "create expatparser"); - -diff --git a/Modules/pyexpat.c b/Modules/pyexpat.c -index 2b4d312..1f8c0d7 100644 ---- a/Modules/pyexpat.c -+++ b/Modules/pyexpat.c -@@ -2042,6 +2042,11 @@ MODULE_INITFUNC(void) - capi.SetProcessingInstructionHandler = XML_SetProcessingInstructionHandler; - capi.SetUnknownEncodingHandler = XML_SetUnknownEncodingHandler; - capi.SetUserData = XML_SetUserData; -+#if XML_COMBINED_VERSION >= 20100 -+ capi.SetHashSalt = XML_SetHashSalt; -+#else -+ capi.SetHashSalt = NULL; -+#endif - - /* export using capsule */ - capi_object = PyCapsule_New(&capi, PyExpat_CAPSULE_NAME, NULL); --- -2.7.4 - diff --git a/poky/meta/recipes-devtools/python/python/0001-bpo-33354-Fix-test_ssl-when-a-filename-cannot-be-enc.patch b/poky/meta/recipes-devtools/python/python/0001-bpo-33354-Fix-test_ssl-when-a-filename-cannot-be-enc.patch deleted file mode 100644 index 4c0b3577b..000000000 --- a/poky/meta/recipes-devtools/python/python/0001-bpo-33354-Fix-test_ssl-when-a-filename-cannot-be-enc.patch +++ /dev/null @@ -1,55 +0,0 @@ -From 19f6bd06af3c7fc0db5f96878aaa68f5589ff13e Mon Sep 17 00:00:00 2001 -From: Pablo Galindo <Pablogsal@gmail.com> -Date: Thu, 24 May 2018 23:20:44 +0100 -Subject: [PATCH] bpo-33354: Fix test_ssl when a filename cannot be encoded - (GH-6613) - -Skip test_load_dh_params() of test_ssl when Python filesystem encoding -cannot encode the provided path. - -Upstream-Status: Backport [https://github.com/python/cpython/commit/19f6bd06af3c7fc0db5f96878aaa68f5589ff13e] -Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> ---- - Lib/test/test_ssl.py | 9 ++++++++- - .../next/Tests/2018-04-26-22-39-17.bpo-33354.g35-44.rst | 2 ++ - 2 files changed, 10 insertions(+), 1 deletion(-) - create mode 100644 Misc/NEWS.d/next/Tests/2018-04-26-22-39-17.bpo-33354.g35-44.rst - -diff --git a/Lib/test/test_ssl.py b/Lib/test/test_ssl.py -index b59fe73f04..7ced90fdf6 100644 ---- a/Lib/test/test_ssl.py -+++ b/Lib/test/test_ssl.py -@@ -989,6 +989,13 @@ class ContextTests(unittest.TestCase): - - - def test_load_dh_params(self): -+ filename = u'dhpäräm.pem' -+ fs_encoding = sys.getfilesystemencoding() -+ try: -+ filename.encode(fs_encoding) -+ except UnicodeEncodeError: -+ self.skipTest("filename %r cannot be encoded to the filesystem encoding %r" % (filename, fs_encoding)) -+ - ctx = ssl.SSLContext(ssl.PROTOCOL_TLSv1) - ctx.load_dh_params(DHFILE) - if os.name != 'nt': -@@ -1001,7 +1008,7 @@ class ContextTests(unittest.TestCase): - with self.assertRaises(ssl.SSLError) as cm: - ctx.load_dh_params(CERTFILE) - with support.temp_dir() as d: -- fname = os.path.join(d, u'dhpäräm.pem') -+ fname = os.path.join(d, filename) - shutil.copy(DHFILE, fname) - ctx.load_dh_params(fname) - -diff --git a/Misc/NEWS.d/next/Tests/2018-04-26-22-39-17.bpo-33354.g35-44.rst b/Misc/NEWS.d/next/Tests/2018-04-26-22-39-17.bpo-33354.g35-44.rst -new file mode 100644 -index 0000000000..c66cecac32 ---- /dev/null -+++ b/Misc/NEWS.d/next/Tests/2018-04-26-22-39-17.bpo-33354.g35-44.rst -@@ -0,0 +1,2 @@ -+Skip ``test_ssl.test_load_dh_params`` when Python filesystem encoding cannot encode the -+provided path. --- -2.17.1 - diff --git a/poky/meta/recipes-devtools/python/python/0001-bpo-33570-TLS-1.3-ciphers-for-OpenSSL-1.1.1-GH-6976-.patch b/poky/meta/recipes-devtools/python/python/0001-bpo-33570-TLS-1.3-ciphers-for-OpenSSL-1.1.1-GH-6976-.patch deleted file mode 100644 index 1f70562fc..000000000 --- a/poky/meta/recipes-devtools/python/python/0001-bpo-33570-TLS-1.3-ciphers-for-OpenSSL-1.1.1-GH-6976-.patch +++ /dev/null @@ -1,120 +0,0 @@ -From a333351592f097220fc862911b34d3a300f0985e Mon Sep 17 00:00:00 2001 -From: Christian Heimes <christian@python.org> -Date: Wed, 15 Aug 2018 09:07:28 +0200 -Subject: [PATCH 1/4] bpo-33570: TLS 1.3 ciphers for OpenSSL 1.1.1 (GH-6976) - (GH-8760) - -Change TLS 1.3 cipher suite settings for compatibility with OpenSSL -1.1.1-pre6 and newer. OpenSSL 1.1.1 will have TLS 1.3 cipers enabled by -default. - -Also update multissltests to test with latest OpenSSL. - -Signed-off-by: Christian Heimes <christian@python.org>. -(cherry picked from commit 3e630c541b35c96bfe5619165255e559f577ee71) - -Co-authored-by: Christian Heimes <christian@python.org> - -Upstream-Status: Accepted [https://github.com/python/cpython/pull/8771] - -Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> ---- - Doc/library/ssl.rst | 8 ++-- - Lib/test/test_ssl.py | 37 +++++++++++-------- - .../2018-05-18-21-50-47.bpo-33570.7CZy4t.rst | 3 ++ - 3 files changed, 27 insertions(+), 21 deletions(-) - create mode 100644 Misc/NEWS.d/next/Library/2018-05-18-21-50-47.bpo-33570.7CZy4t.rst - -diff --git a/Doc/library/ssl.rst b/Doc/library/ssl.rst -index 0421031772..7c7c85b833 100644 ---- a/Doc/library/ssl.rst -+++ b/Doc/library/ssl.rst -@@ -294,11 +294,6 @@ purposes. - - 3DES was dropped from the default cipher string. - -- .. versionchanged:: 2.7.15 -- -- TLS 1.3 cipher suites TLS_AES_128_GCM_SHA256, TLS_AES_256_GCM_SHA384, -- and TLS_CHACHA20_POLY1305_SHA256 were added to the default cipher string. -- - .. function:: _https_verify_certificates(enable=True) - - Specifies whether or not server certificates are verified when creating -@@ -1179,6 +1174,9 @@ to speed up repeated connections from the same clients. - when connected, the :meth:`SSLSocket.cipher` method of SSL sockets will - give the currently selected cipher. - -+ OpenSSL 1.1.1 has TLS 1.3 cipher suites enabled by default. The suites -+ cannot be disabled with :meth:`~SSLContext.set_ciphers`. -+ - .. method:: SSLContext.set_alpn_protocols(protocols) - - Specify which protocols the socket should advertise during the SSL/TLS -diff --git a/Lib/test/test_ssl.py b/Lib/test/test_ssl.py -index dc14e22ad1..f51572e319 100644 ---- a/Lib/test/test_ssl.py -+++ b/Lib/test/test_ssl.py -@@ -2772,19 +2772,24 @@ else: - sock.do_handshake() - self.assertEqual(cm.exception.errno, errno.ENOTCONN) - -- def test_default_ciphers(self): -- context = ssl.SSLContext(ssl.PROTOCOL_SSLv23) -- try: -- # Force a set of weak ciphers on our client context -- context.set_ciphers("DES") -- except ssl.SSLError: -- self.skipTest("no DES cipher available") -- with ThreadedEchoServer(CERTFILE, -- ssl_version=ssl.PROTOCOL_SSLv23, -- chatty=False) as server: -- with closing(context.wrap_socket(socket.socket())) as s: -- with self.assertRaises(ssl.SSLError): -- s.connect((HOST, server.port)) -+ def test_no_shared_ciphers(self): -+ server_context = ssl.SSLContext(ssl.PROTOCOL_SSLv23) -+ server_context.load_cert_chain(SIGNED_CERTFILE) -+ client_context = ssl.SSLContext(ssl.PROTOCOL_SSLv23) -+ client_context.verify_mode = ssl.CERT_REQUIRED -+ client_context.check_hostname = True -+ -+ # OpenSSL enables all TLS 1.3 ciphers, enforce TLS 1.2 for test -+ client_context.options |= ssl.OP_NO_TLSv1_3 -+ # Force different suites on client and master -+ client_context.set_ciphers("AES128") -+ server_context.set_ciphers("AES256") -+ with ThreadedEchoServer(context=server_context) as server: -+ s = client_context.wrap_socket( -+ socket.socket(), -+ server_hostname="localhost") -+ with self.assertRaises(ssl.SSLError): -+ s.connect((HOST, server.port)) - self.assertIn("no shared cipher", str(server.conn_errors[0])) - - def test_version_basic(self): -@@ -2815,9 +2820,9 @@ else: - with context.wrap_socket(socket.socket()) as s: - s.connect((HOST, server.port)) - self.assertIn(s.cipher()[0], [ -- 'TLS13-AES-256-GCM-SHA384', -- 'TLS13-CHACHA20-POLY1305-SHA256', -- 'TLS13-AES-128-GCM-SHA256', -+ 'TLS_AES_256_GCM_SHA384', -+ 'TLS_CHACHA20_POLY1305_SHA256', -+ 'TLS_AES_128_GCM_SHA256', - ]) - - @unittest.skipUnless(ssl.HAS_ECDH, "test requires ECDH-enabled OpenSSL") -diff --git a/Misc/NEWS.d/next/Library/2018-05-18-21-50-47.bpo-33570.7CZy4t.rst b/Misc/NEWS.d/next/Library/2018-05-18-21-50-47.bpo-33570.7CZy4t.rst -new file mode 100644 -index 0000000000..bd719a47e8 ---- /dev/null -+++ b/Misc/NEWS.d/next/Library/2018-05-18-21-50-47.bpo-33570.7CZy4t.rst -@@ -0,0 +1,3 @@ -+Change TLS 1.3 cipher suite settings for compatibility with OpenSSL -+1.1.1-pre6 and newer. OpenSSL 1.1.1 will have TLS 1.3 cipers enabled by -+default. --- -2.17.1 - diff --git a/poky/meta/recipes-devtools/python/python/0001-closes-bpo-34540-Convert-shutil._call_external_zip-t.patch b/poky/meta/recipes-devtools/python/python/0001-closes-bpo-34540-Convert-shutil._call_external_zip-t.patch deleted file mode 100644 index 125db8512..000000000 --- a/poky/meta/recipes-devtools/python/python/0001-closes-bpo-34540-Convert-shutil._call_external_zip-t.patch +++ /dev/null @@ -1,67 +0,0 @@ -From c7e692c61dc091d07dee573f5f424b6b427ff056 Mon Sep 17 00:00:00 2001 -From: Benjamin Peterson <benjamin@python.org> -Date: Wed, 29 Aug 2018 21:59:21 -0700 -Subject: [PATCH] closes bpo-34540: Convert shutil._call_external_zip to use - subprocess rather than distutils.spawn. (GH-8985) - -Upstream-Status: Backport -CVE: CVE-2018-1000802 -Signed-off-by: Chen Qi <Qi.Chen@windriver.com> ---- - Lib/shutil.py | 16 ++++++++++------ - .../Security/2018-08-28-22-11-54.bpo-34540.gfQ0TM.rst | 3 +++ - 2 files changed, 13 insertions(+), 6 deletions(-) - create mode 100644 Misc/NEWS.d/next/Security/2018-08-28-22-11-54.bpo-34540.gfQ0TM.rst - -diff --git a/Lib/shutil.py b/Lib/shutil.py -index 3462f7c..0ab1a06 100644 ---- a/Lib/shutil.py -+++ b/Lib/shutil.py -@@ -413,17 +413,21 @@ def _make_tarball(base_name, base_dir, compress="gzip", verbose=0, dry_run=0, - - return archive_name - --def _call_external_zip(base_dir, zip_filename, verbose=False, dry_run=False): -+def _call_external_zip(base_dir, zip_filename, verbose, dry_run, logger): - # XXX see if we want to keep an external call here - if verbose: - zipoptions = "-r" - else: - zipoptions = "-rq" -- from distutils.errors import DistutilsExecError -- from distutils.spawn import spawn -+ cmd = ["zip", zipoptions, zip_filename, base_dir] -+ if logger is not None: -+ logger.info(' '.join(cmd)) -+ if dry_run: -+ return -+ import subprocess - try: -- spawn(["zip", zipoptions, zip_filename, base_dir], dry_run=dry_run) -- except DistutilsExecError: -+ subprocess.check_call(cmd) -+ except subprocess.CalledProcessError: - # XXX really should distinguish between "couldn't find - # external 'zip' command" and "zip failed". - raise ExecError, \ -@@ -458,7 +462,7 @@ def _make_zipfile(base_name, base_dir, verbose=0, dry_run=0, logger=None): - zipfile = None - - if zipfile is None: -- _call_external_zip(base_dir, zip_filename, verbose, dry_run) -+ _call_external_zip(base_dir, zip_filename, verbose, dry_run, logger) - else: - if logger is not None: - logger.info("creating '%s' and adding '%s' to it", -diff --git a/Misc/NEWS.d/next/Security/2018-08-28-22-11-54.bpo-34540.gfQ0TM.rst b/Misc/NEWS.d/next/Security/2018-08-28-22-11-54.bpo-34540.gfQ0TM.rst -new file mode 100644 -index 0000000..4f68696 ---- /dev/null -+++ b/Misc/NEWS.d/next/Security/2018-08-28-22-11-54.bpo-34540.gfQ0TM.rst -@@ -0,0 +1,3 @@ -+When ``shutil.make_archive`` falls back to the external ``zip`` problem, it -+uses :mod:`subprocess` to invoke it rather than :mod:`distutils.spawn`. This -+closes a possible shell injection vector. --- -2.7.4 - diff --git a/poky/meta/recipes-devtools/python/python/0002-bpo-34818-Add-missing-closing-wrapper-in-test_tls1_3.patch b/poky/meta/recipes-devtools/python/python/0002-bpo-34818-Add-missing-closing-wrapper-in-test_tls1_3.patch deleted file mode 100644 index 96882712e..000000000 --- a/poky/meta/recipes-devtools/python/python/0002-bpo-34818-Add-missing-closing-wrapper-in-test_tls1_3.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 0e1f3856a7e1511fb64d99646c54ddf3897cd444 Mon Sep 17 00:00:00 2001 -From: Dimitri John Ledkov <xnox@ubuntu.com> -Date: Fri, 28 Sep 2018 14:15:52 +0100 -Subject: [PATCH 2/4] bpo-34818: Add missing closing() wrapper in test_tls1_3. - -Python 2.7 socket classes do not implement context manager protocol, -hence closing() is required around it. Resolves testcase error -traceback. - -Signed-off-by: Dimitri John Ledkov <xnox@ubuntu.com> - -https://bugs.python.org/issue34818 - -Patch taken from Ubuntu. - -Upstream-Status: Submitted [https://github.com/python/cpython/pull/9622] -Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> ---- - Lib/test/test_ssl.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Lib/test/test_ssl.py b/Lib/test/test_ssl.py -index f51572e319..7a14053cee 100644 ---- a/Lib/test/test_ssl.py -+++ b/Lib/test/test_ssl.py -@@ -2817,7 +2817,7 @@ else: - ssl.OP_NO_TLSv1 | ssl.OP_NO_TLSv1_1 | ssl.OP_NO_TLSv1_2 - ) - with ThreadedEchoServer(context=context) as server: -- with context.wrap_socket(socket.socket()) as s: -+ with closing(context.wrap_socket(socket.socket())) as s: - s.connect((HOST, server.port)) - self.assertIn(s.cipher()[0], [ - 'TLS_AES_256_GCM_SHA384', --- -2.17.1 - diff --git a/poky/meta/recipes-devtools/python/python/0003-bpo-34834-Fix-test_ssl.test_options-to-account-for-O.patch b/poky/meta/recipes-devtools/python/python/0003-bpo-34834-Fix-test_ssl.test_options-to-account-for-O.patch deleted file mode 100644 index 77016cb43..000000000 --- a/poky/meta/recipes-devtools/python/python/0003-bpo-34834-Fix-test_ssl.test_options-to-account-for-O.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 8b06d56d26eee289fec22b9b72ab4c7cc3d6c482 Mon Sep 17 00:00:00 2001 -From: Dimitri John Ledkov <xnox@ubuntu.com> -Date: Fri, 28 Sep 2018 16:34:16 +0100 -Subject: [PATCH 3/4] bpo-34834: Fix test_ssl.test_options to account for - OP_ENABLE_MIDDLEBOX_COMPAT. - -Signed-off-by: Dimitri John Ledkov <xnox@ubuntu.com> - -https://bugs.python.org/issue34834 - -Patch taken from Ubuntu. -Upstream-Status: Submitted [https://github.com/python/cpython/pull/9624] - -Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> ---- - Lib/test/test_ssl.py | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/Lib/test/test_ssl.py b/Lib/test/test_ssl.py -index 7a14053cee..efc906a5ba 100644 ---- a/Lib/test/test_ssl.py -+++ b/Lib/test/test_ssl.py -@@ -777,6 +777,11 @@ class ContextTests(unittest.TestCase): - default = (ssl.OP_ALL | ssl.OP_NO_SSLv2 | ssl.OP_NO_SSLv3) - if not IS_LIBRESSL and ssl.OPENSSL_VERSION_INFO >= (1, 1, 0): - default |= ssl.OP_NO_COMPRESSION -+ if not IS_LIBRESSL and ssl.OPENSSL_VERSION_INFO >= (1, 1, 1): -+ # define MIDDLEBOX constant, as python2.7 does not know about it -+ # but it is used by default. -+ OP_ENABLE_MIDDLEBOX_COMPAT = 1048576L -+ default |= OP_ENABLE_MIDDLEBOX_COMPAT - self.assertEqual(default, ctx.options) - ctx.options |= ssl.OP_NO_TLSv1 - self.assertEqual(default | ssl.OP_NO_TLSv1, ctx.options) --- -2.17.1 - diff --git a/poky/meta/recipes-devtools/python/python/0004-bpo-34836-fix-test_default_ecdh_curve-needs-no-tlsv1.patch b/poky/meta/recipes-devtools/python/python/0004-bpo-34836-fix-test_default_ecdh_curve-needs-no-tlsv1.patch deleted file mode 100644 index 39e1bcfc8..000000000 --- a/poky/meta/recipes-devtools/python/python/0004-bpo-34836-fix-test_default_ecdh_curve-needs-no-tlsv1.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 946a7969345c6697697effd226ec396d3fea05b7 Mon Sep 17 00:00:00 2001 -From: Dimitri John Ledkov <xnox@ubuntu.com> -Date: Fri, 28 Sep 2018 17:30:19 +0100 -Subject: [PATCH 4/4] bpo-34836: fix test_default_ecdh_curve, needs no tlsv1.3. - -Signed-off-by: Dimitri John Ledkov <xnox@ubuntu.com> - -https://bugs.python.org/issue34836 - -Patch taken from Ubuntu. -Upstream-Status: Submitted [https://github.com/python/cpython/pull/9626] - -Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> ---- - Lib/test/test_ssl.py | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/Lib/test/test_ssl.py b/Lib/test/test_ssl.py -index efc906a5ba..4a3286cd5f 100644 ---- a/Lib/test/test_ssl.py -+++ b/Lib/test/test_ssl.py -@@ -2836,6 +2836,9 @@ else: - # should be enabled by default on SSL contexts. - context = ssl.SSLContext(ssl.PROTOCOL_SSLv23) - context.load_cert_chain(CERTFILE) -+ # TLSv1.3 defaults to PFS key agreement and no longer has KEA in -+ # cipher name. -+ context.options |= ssl.OP_NO_TLSv1_3 - # Prior to OpenSSL 1.0.0, ECDH ciphers have to be enabled - # explicitly using the 'ECCdraft' cipher alias. Otherwise, - # our default cipher list should prefer ECDH-based ciphers --- -2.17.1 - diff --git a/poky/meta/recipes-devtools/python/python/run-ptest b/poky/meta/recipes-devtools/python/python/run-ptest index 13dfc99ef..c7002a456 100644 --- a/poky/meta/recipes-devtools/python/python/run-ptest +++ b/poky/meta/recipes-devtools/python/python/run-ptest @@ -1,3 +1,3 @@ #!/bin/sh -python -mtest -W | sed -e '/\.\.\. ok/ s/^/PASS: /g' -e '/\.\.\. [ERROR|FAIL]/ s/^/FAIL: /g' -e '/\.\.\. skipped/ s/^/SKIP: /g' -e 's/ \.\.\. ok//g' -e 's/ \.\.\. ERROR//g' -e 's/ \.\.\. FAIL//g' -e 's/ \.\.\. skipped//g' +python -mtest -W | sed -u -e '/\.\.\. ok/ s/^/PASS: /g' -e '/\.\.\. [ERROR|FAIL]/ s/^/FAIL: /g' -e '/\.\.\. skipped/ s/^/SKIP: /g' -e 's/ \.\.\. ok//g' -e 's/ \.\.\. ERROR//g' -e 's/ \.\.\. FAIL//g' -e 's/ \.\.\. skipped//g' diff --git a/poky/meta/recipes-devtools/python/python3-mako_1.0.7.bb b/poky/meta/recipes-devtools/python/python3-mako_1.0.9.bb index 22ceeeb39..17803f1b0 100644 --- a/poky/meta/recipes-devtools/python/python3-mako_1.0.7.bb +++ b/poky/meta/recipes-devtools/python/python3-mako_1.0.9.bb @@ -1,2 +1,3 @@ inherit setuptools3 require python-mako.inc + diff --git a/poky/meta/recipes-devtools/python/python3-pbr_5.1.2.bb b/poky/meta/recipes-devtools/python/python3-pbr_5.1.2.bb deleted file mode 100644 index 7ba1d0353..000000000 --- a/poky/meta/recipes-devtools/python/python3-pbr_5.1.2.bb +++ /dev/null @@ -1,5 +0,0 @@ -inherit setuptools3 -require python-pbr.inc -SRC_URI[md5sum] = "bea55678345bd77b4ff5b2ebb729fd6d" -SRC_URI[sha256sum] = "d717573351cfe09f49df61906cd272abaa759b3e91744396b804965ff7bff38b" - diff --git a/poky/meta/recipes-devtools/python/python3-pbr_5.1.3.bb b/poky/meta/recipes-devtools/python/python3-pbr_5.1.3.bb new file mode 100644 index 000000000..d9b6ce74a --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-pbr_5.1.3.bb @@ -0,0 +1,5 @@ +inherit setuptools3 +require python-pbr.inc +SRC_URI[md5sum] = "08972dca5fd2a959f27842090973edd6" +SRC_URI[sha256sum] = "8c361cc353d988e4f5b998555c88098b9d5964c2e11acf7b0d21925a66bb5824" + diff --git a/poky/meta/recipes-devtools/python/python3-pip_19.0.2.bb b/poky/meta/recipes-devtools/python/python3-pip_19.0.3.bb index d81a60caa..4fdc7ee24 100644 --- a/poky/meta/recipes-devtools/python/python3-pip_19.0.2.bb +++ b/poky/meta/recipes-devtools/python/python3-pip_19.0.3.bb @@ -6,8 +6,8 @@ LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=8ba06d529c955048e5ddd7c45459eb2e" DEPENDS += "python3 python3-setuptools-native" -SRC_URI[md5sum] = "526fd9ec1e6ea956b3571ebfb42cf83c" -SRC_URI[sha256sum] = "f851133f8b58283fa50d8c78675eb88d4ff4cde29b6c41205cd938b06338e0e5" +SRC_URI[md5sum] = "1c5edb0924a0d7d79f3a2e3df05009b4" +SRC_URI[sha256sum] = "6e6f197a1abfb45118dbb878b5c859a0edbdd33fd250100bc015b67fded4b9f2" inherit pypi distutils3 diff --git a/poky/meta/recipes-devtools/python/python3-pycairo_1.15.6.bb b/poky/meta/recipes-devtools/python/python3-pycairo_1.18.1.bb index 5c3e1e6f0..5aaa01a00 100644 --- a/poky/meta/recipes-devtools/python/python3-pycairo_1.15.6.bb +++ b/poky/meta/recipes-devtools/python/python3-pycairo_1.18.1.bb @@ -8,24 +8,20 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=f2e071ab72978431b294a0d696327421 \ file://COPYING-MPL-1.1;md5=bfe1f75d606912a4111c90743d6c7325" # cairo >= 1.14 -DEPENDS = "cairo" +DEPENDS = "cairo python3" SRC_URI = "https://github.com/pygobject/pycairo/releases/download/v${PV}/pycairo-${PV}.tar.gz" UPSTREAM_CHECK_URI = "https://github.com/pygobject/pycairo/releases/" -SRC_URI[md5sum] = "3ff210c34e7b052590e15fd0fb147766" -SRC_URI[sha256sum] = "ad150ea637860836b66705e0513b8e59494538f0b80497ad3462051368755016" +SRC_URI[md5sum] = "7610da8a40a7bed548991aa3416431d1" +SRC_URI[sha256sum] = "70172e58b6bad7572a3518c26729b074acdde15e6fee6cbab6d3528ad552b786" S = "${WORKDIR}/pycairo-${PV}" -inherit setuptools3 pkgconfig +inherit meson pkgconfig CFLAGS += "-fPIC" BBCLASSEXTEND = "native" -do_install_append() { - install -d ${D}${includedir}/pycairo/ - install -m 0644 ${D}${datadir}/include/pycairo/py3cairo.h ${D}${includedir}/pycairo/ -} -FILES_${PN} += "${datadir}/include/pycairo/py3cairo.h" +FILES_${PN} = "${PYTHON_SITEPACKAGES_DIR}/*" diff --git a/poky/meta/recipes-devtools/python/python3-pygobject/0001-Do-not-build-tests.patch b/poky/meta/recipes-devtools/python/python3-pygobject/0001-Do-not-build-tests.patch new file mode 100644 index 000000000..0f2465bb5 --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-pygobject/0001-Do-not-build-tests.patch @@ -0,0 +1,30 @@ +From c125a806de951359ab7e302b0584f7c92fa451ad Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin <alex.kanavin@gmail.com> +Date: Fri, 12 Apr 2019 16:25:58 +0200 +Subject: [PATCH] Do not build tests + +They require installing tests from g-i, which we do not do. + +Upstream-Status: Inappropriate [oe-core specific] +Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> +--- + meson.build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/meson.build b/meson.build +index 278fa16f..aacbd4a2 100644 +--- a/meson.build ++++ b/meson.build +@@ -175,6 +175,6 @@ configure_file(input : 'PKG-INFO.in', + subdir('gi') + subdir('pygtkcompat') + with_tests = get_option('tests') +-if with_tests +-subdir('tests') +-endif ++#if with_tests ++#subdir('tests') ++#endif +-- +2.17.1 + diff --git a/poky/meta/recipes-devtools/python/python3-pygobject_3.28.3.bb b/poky/meta/recipes-devtools/python/python3-pygobject_3.32.1.bb index 313af227b..8eda06e9e 100644 --- a/poky/meta/recipes-devtools/python/python3-pygobject_3.28.3.bb +++ b/poky/meta/recipes-devtools/python/python3-pygobject_3.32.1.bb @@ -3,6 +3,7 @@ SECTION = "devel/python" LICENSE = "LGPLv2.1" LIC_FILES_CHKSUM = "file://COPYING;md5=a916467b91076e631dd8edb7424769c7" +GNOMEBASEBUILDCLASS = "meson" inherit gnomebase distutils3-base gobject-introspection upstream-version-is-even DEPENDS += "python3 glib-2.0" @@ -10,10 +11,13 @@ DEPENDS += "python3 glib-2.0" SRCNAME="pygobject" SRC_URI = " \ http://ftp.gnome.org/pub/GNOME/sources/${SRCNAME}/${@gnome_verdir("${PV}")}/${SRCNAME}-${PV}.tar.xz \ + file://0001-Do-not-build-tests.patch \ " -SRC_URI[md5sum] = "3bac63c86bb963aa401f97859464aa90" -SRC_URI[sha256sum] = "3dd3e21015d06e00482ea665fc1733b77e754a6ab656a5db5d7f7bfaf31ad0b0" +UNKNOWN_CONFIGURE_WHITELIST = "introspection" + +SRC_URI[md5sum] = "9d5dbca10162dd9b0d03fed0c6cf865d" +SRC_URI[sha256sum] = "32c99def94b8dea5ce9e4bc99576ef87591ea779b4db77cfdca7af81b76d04d8" S = "${WORKDIR}/${SRCNAME}-${PV}" @@ -21,7 +25,7 @@ PACKAGECONFIG ??= "${@bb.utils.contains_any('DISTRO_FEATURES', [ 'directfb', 'wa # python3-pycairo is checked on configuration -> DEPENDS # we don't link against python3-pycairo -> RDEPENDS -PACKAGECONFIG[cairo] = "--enable-cairo,--disable-cairo,cairo python3-pycairo, python3-pycairo" +PACKAGECONFIG[cairo] = "-Dpycairo=true,-Dpycairo=false, cairo python3-pycairo, python3-pycairo" RDEPENDS_${PN} += "python3-setuptools" diff --git a/poky/meta/recipes-devtools/python/python3-setuptools_40.8.0.bb b/poky/meta/recipes-devtools/python/python3-setuptools_41.0.1.bb index 0dc1ed862..0dc1ed862 100644 --- a/poky/meta/recipes-devtools/python/python3-setuptools_40.8.0.bb +++ b/poky/meta/recipes-devtools/python/python3-setuptools_41.0.1.bb diff --git a/poky/meta/recipes-devtools/python/python3/0001-Lib-sysconfig.py-fix-another-place-where-lib-is-hard.patch b/poky/meta/recipes-devtools/python/python3/0001-Lib-sysconfig.py-fix-another-place-where-lib-is-hard.patch new file mode 100644 index 000000000..b97583682 --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3/0001-Lib-sysconfig.py-fix-another-place-where-lib-is-hard.patch @@ -0,0 +1,31 @@ +From a21f4f8fa5e5c0601898740b4ac08ec84f41e190 Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin <alex.kanavin@gmail.com> +Date: Thu, 18 Apr 2019 17:11:06 +0200 +Subject: [PATCH] Lib/sysconfig.py: fix another place where 'lib' is hardcoded + as the library path + +Upstream-Status: Inappropriate [oe-core specific] +Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> +--- + Lib/sysconfig.py | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/Lib/sysconfig.py b/Lib/sysconfig.py +index d15cec8..87fa5e6 100644 +--- a/Lib/sysconfig.py ++++ b/Lib/sysconfig.py +@@ -20,10 +20,10 @@ __all__ = [ + + _INSTALL_SCHEMES = { + 'posix_prefix': { +- 'stdlib': '{installed_base}/lib/python{py_version_short}', +- 'platstdlib': '{platbase}/lib/python{py_version_short}', +- 'purelib': '{base}/lib/python{py_version_short}/site-packages', +- 'platlib': '{platbase}/lib/python{py_version_short}/site-packages', ++ 'stdlib': '{LIBDEST}', ++ 'platstdlib': '{LIBDEST}', ++ 'purelib': '{LIBDEST}/site-packages', ++ 'platlib': '{LIBDEST}/site-packages', + 'include': + '{installed_base}/include/python{py_version_short}{abiflags}', + 'platinclude': diff --git a/poky/meta/recipes-devtools/python/python3/0001-Makefile-fix-Issue36464-parallel-build-race-problem.patch b/poky/meta/recipes-devtools/python/python3/0001-Makefile-fix-Issue36464-parallel-build-race-problem.patch new file mode 100644 index 000000000..237645bc6 --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3/0001-Makefile-fix-Issue36464-parallel-build-race-problem.patch @@ -0,0 +1,34 @@ +From 840fda32c82550259d02a7a56a78a9c05162b1a1 Mon Sep 17 00:00:00 2001 +From: Changqing Li <changqing.li@windriver.com> +Date: Wed, 8 May 2019 16:10:29 +0800 +Subject: [PATCH] Makefile: fix Issue36464 (parallel build race problem) + +When using make -j with the 'install' target, it's possible for altbininstall +(which normally creates BINDIR) and libainstall (which doesn't, though it +installs python-config there) to race, resulting in a failure due to +attempting to install python-config into a nonexistent BINDIR. Ensure it also +exists in the libainstall target. + +Upstream-Status: Submitted [https://github.com/python/cpython/pull/13186] + +Signed-off-by: Changqing Li <changqing.li@windriver.com> +--- + Makefile.pre.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile.pre.in b/Makefile.pre.in +index 15f3687..7e9f173 100644 +--- a/Makefile.pre.in ++++ b/Makefile.pre.in +@@ -1456,7 +1456,7 @@ LIBPL= @LIBPL@ + LIBPC= $(LIBDIR)/pkgconfig + + libainstall: @DEF_MAKE_RULE@ python-config +- @for i in $(LIBDIR) $(LIBPL) $(LIBPC); \ ++ @for i in $(LIBDIR) $(LIBPL) $(LIBPC) $(BINDIR); \ + do \ + if test ! -d $(DESTDIR)$$i; then \ + echo "Creating directory $$i"; \ +-- +2.7.4 + diff --git a/poky/meta/recipes-devtools/python/python3/0001-distutils-sysconfig-append-STAGING_LIBDIR-python-sys.patch b/poky/meta/recipes-devtools/python/python3/0001-distutils-sysconfig-append-STAGING_LIBDIR-python-sys.patch index 8083345a4..1741f5753 100644 --- a/poky/meta/recipes-devtools/python/python3/0001-distutils-sysconfig-append-STAGING_LIBDIR-python-sys.patch +++ b/poky/meta/recipes-devtools/python/python3/0001-distutils-sysconfig-append-STAGING_LIBDIR-python-sys.patch @@ -1,4 +1,4 @@ -From 4865615a2bc2b78c739e4c33f536712c7f9af061 Mon Sep 17 00:00:00 2001 +From 17796e353acf08acd604610f34840a4a9d2f4b54 Mon Sep 17 00:00:00 2001 From: Alexander Kanavin <alex.kanavin@gmail.com> Date: Thu, 31 Jan 2019 16:46:30 +0100 Subject: [PATCH] distutils/sysconfig: append diff --git a/poky/meta/recipes-devtools/python/python3/0001-main.c-if-OEPYTHON3HOME-is-set-use-instead-of-PYTHON.patch b/poky/meta/recipes-devtools/python/python3/0001-main.c-if-OEPYTHON3HOME-is-set-use-instead-of-PYTHON.patch new file mode 100644 index 000000000..a0ed7cc83 --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3/0001-main.c-if-OEPYTHON3HOME-is-set-use-instead-of-PYTHON.patch @@ -0,0 +1,49 @@ +From ffe7797637f08cd6ee4c82e2d67462c5e194d30a Mon Sep 17 00:00:00 2001 +From: Jaewon Lee <jaewon.lee@xilinx.com> +Date: Thu, 25 Apr 2019 15:34:26 -0700 +Subject: [PATCH] main.c: if OEPYTHON3HOME is set use instead of PYTHONHOME + +There is one variable PYTHONHOME to determine where libraries are coming +from for both python2 and python3. This becomes an issue if only one has +libraries in the specified PYTHONHOME path, but they are using the same +PYTHONHOME. Creating another variable OEPYTHON3HOME to allow for a way +to set a different path for python3 + +Signed-off-by: Jaewon Lee <jaewon.lee@xilinx.com> + +Upstream-Status: Inappropriate [OE specific configuration] +--- + Modules/main.c | 17 +++++++++++++---- + 1 file changed, 13 insertions(+), 4 deletions(-) + +diff --git a/Modules/main.c b/Modules/main.c +index a745381..b553e30 100644 +--- a/Modules/main.c ++++ b/Modules/main.c +@@ -1855,10 +1855,19 @@ config_init_home(_PyCoreConfig *config) + } + return _Py_INIT_OK(); + } +- +- int res = config_get_env_var_dup(&home, L"PYTHONHOME", "PYTHONHOME"); +- if (res < 0) { +- return DECODE_LOCALE_ERR("PYTHONHOME", res); ++ int res; ++ const char *oepython3home = config_get_env_var("OEPYTHON3HOME"); ++ if (oepython3home) { ++ res = config_get_env_var_dup(&home, L"OEPYTHON3HOME", "OEPYTHON3HOME"); ++ if (res < 0) { ++ return DECODE_LOCALE_ERR("OEPYTHON3HOME", res); ++ } ++ } ++ else { ++ res = config_get_env_var_dup(&home, L"PYTHONHOME", "PYTHONHOME"); ++ if (res < 0) { ++ return DECODE_LOCALE_ERR("PYTHONHOME", res); ++ } + } + config->home = home; + return _Py_INIT_OK(); +-- +2.7.4 + diff --git a/poky/meta/recipes-devtools/python/python3/12-distutils-prefix-is-inside-staging-area.patch b/poky/meta/recipes-devtools/python/python3/12-distutils-prefix-is-inside-staging-area.patch index dcc0932c7..35213171b 100644 --- a/poky/meta/recipes-devtools/python/python3/12-distutils-prefix-is-inside-staging-area.patch +++ b/poky/meta/recipes-devtools/python/python3/12-distutils-prefix-is-inside-staging-area.patch @@ -1,4 +1,4 @@ -From 1397979ee445ff6826aa5469511e003539f77bb2 Mon Sep 17 00:00:00 2001 +From 12900d498bb77bcc990868a80eaf0ab257b88fff Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Tue, 14 May 2013 15:00:26 -0700 Subject: [PATCH] python3: Add target and native recipes diff --git a/poky/meta/recipes-devtools/python/python3/python3-manifest.json b/poky/meta/recipes-devtools/python/python3/python3-manifest.json index 0a4ab2cbe..0803ac003 100644 --- a/poky/meta/recipes-devtools/python/python3/python3-manifest.json +++ b/poky/meta/recipes-devtools/python/python3/python3-manifest.json @@ -281,6 +281,7 @@ "${libdir}/python${PYTHON_MAJMIN}/linecache.py", "${libdir}/python${PYTHON_MAJMIN}/locale.py", "${libdir}/python${PYTHON_MAJMIN}/new.py", + "${libdir}/python${PYTHON_MAJMIN}/ntpath.py", "${libdir}/python${PYTHON_MAJMIN}/opcode.py", "${libdir}/python${PYTHON_MAJMIN}/operator.py", "${libdir}/python${PYTHON_MAJMIN}/optparse.py", diff --git a/poky/meta/recipes-devtools/python/python3/run-ptest b/poky/meta/recipes-devtools/python/python3/run-ptest index 20c9274df..3e45d3918 100644 --- a/poky/meta/recipes-devtools/python/python3/run-ptest +++ b/poky/meta/recipes-devtools/python/python3/run-ptest @@ -1,3 +1,3 @@ #!/bin/sh -python3 -m test -W | sed -e '/\.\.\. ok/ s/^/PASS: /g' -e '/\.\.\. [ERROR|FAIL]/ s/^/FAIL: /g' -e '/\.\.\. skipped/ s/^/SKIP: /g' -e 's/ \.\.\. ok//g' -e 's/ \.\.\. ERROR//g' -e 's/ \.\.\. FAIL//g' -e 's/ \.\.\. skipped//g' +python3 -m test -v | sed -u -e '/\.\.\. ok/ s/^/PASS: /g' -e '/\.\.\. [ERROR|FAIL]/ s/^/FAIL: /g' -e '/\.\.\. skipped/ s/^/SKIP: /g' -e 's/ \.\.\. ok//g' -e 's/ \.\.\. ERROR//g' -e 's/ \.\.\. FAIL//g' -e 's/ \.\.\. skipped//g' diff --git a/poky/meta/recipes-devtools/python/python3_3.7.2.bb b/poky/meta/recipes-devtools/python/python3_3.7.3.bb index 5c64bc8aa..413d35ae1 100644 --- a/poky/meta/recipes-devtools/python/python3_3.7.2.bb +++ b/poky/meta/recipes-devtools/python/python3_3.7.3.bb @@ -3,7 +3,7 @@ HOMEPAGE = "http://www.python.org" LICENSE = "PSFv2" SECTION = "devel/python" -LIC_FILES_CHKSUM = "file://LICENSE;md5=f257cc14f81685691652a3d3e1b5d754" +LIC_FILES_CHKSUM = "file://LICENSE;md5=e466242989bd33c1bd2b6a526a742498" SRC_URI = "http://www.python.org/ftp/python/${PV}/Python-${PV}.tar.xz \ file://run-ptest \ @@ -21,15 +21,20 @@ SRC_URI = "http://www.python.org/ftp/python/${PV}/Python-${PV}.tar.xz \ file://0001-python3-use-cc_basename-to-replace-CC-for-checking-c.patch \ file://0002-Don-t-do-runtime-test-to-get-float-byte-order.patch \ file://0003-setup.py-pass-missing-libraries-to-Extension-for-mul.patch \ + file://0001-Lib-sysconfig.py-fix-another-place-where-lib-is-hard.patch \ + file://0001-Makefile-fix-Issue36464-parallel-build-race-problem.patch \ " SRC_URI_append_class-native = " \ file://0001-distutils-sysconfig-append-STAGING_LIBDIR-python-sys.patch \ file://12-distutils-prefix-is-inside-staging-area.patch \ " +SRC_URI_append_class-nativesdk = " \ + file://0001-main.c-if-OEPYTHON3HOME-is-set-use-instead-of-PYTHON.patch \ + " -SRC_URI[md5sum] = "df6ec36011808205beda239c72f947cb" -SRC_URI[sha256sum] = "d83fe8ce51b1bb48bbcf0550fd265b9a75cdfdfa93f916f9e700aef8444bf1bb" +SRC_URI[md5sum] = "93df27aec0cd18d6d42173e601ffbbfd" +SRC_URI[sha256sum] = "da60b54064d4cfcd9c26576f6df2690e62085123826cff2e667e72a91952d318" # exclude pre-releases for both python 2.x and 3.x UPSTREAM_CHECK_REGEX = "[Pp]ython-(?P<pver>\d+(\.\d+)+).tar" @@ -130,6 +135,10 @@ do_install_append() { ${D}${libdir}/python-sysconfigdata/_sysconfigdata.py } +do_install_append_class-nativesdk () { + create_wrapper ${D}${bindir}/python${PYTHON_MAJMIN} OEPYTHON3HOME='${prefix}' TERMINFO_DIRS='${sysconfdir}/terminfo:/etc/terminfo:/usr/share/terminfo:/usr/share/misc/terminfo:/lib/terminfo' PYTHONNOUSERSITE='1' +} + SSTATE_SCAN_FILES += "Makefile _sysconfigdata.py" PACKAGE_PREPROCESS_FUNCS += "py_package_preprocess" @@ -284,7 +293,8 @@ FILES_${PN}-misc = "${libdir}/python${PYTHON_MAJMIN} ${libdir}/python${PYTHON_MA PACKAGES += "${PN}-man" FILES_${PN}-man = "${datadir}/man" -RDEPENDS_${PN}-ptest = "${PN}-modules ${PN}-tests unzip bzip2 libgcc tzdata-europe coreutils" +RDEPENDS_${PN}-ptest = "${PN}-modules ${PN}-tests unzip bzip2 libgcc tzdata-europe coreutils sed" +RDEPENDS_${PN}-ptest_append_libc-glibc = " locale-base-tr-tr.iso-8859-9" RDEPENDS_${PN}-tkinter += "${@bb.utils.contains('PACKAGECONFIG', 'tk', 'tk', '', d)}" RDEPENDS_${PN}-dev = "" diff --git a/poky/meta/recipes-devtools/python/python_2.7.15.bb b/poky/meta/recipes-devtools/python/python_2.7.16.bb index c459af06f..0e7dd2b3f 100644 --- a/poky/meta/recipes-devtools/python/python_2.7.15.bb +++ b/poky/meta/recipes-devtools/python/python_2.7.16.bb @@ -3,38 +3,34 @@ require python.inc DEPENDS = "python-native libffi bzip2 gdbm openssl \ readline sqlite3 zlib virtual/crypt" -PR = "${INC_PR}" - DISTRO_SRC_URI ?= "file://sitecustomize.py" DISTRO_SRC_URI_linuxstdbase = "" -SRC_URI += "\ - file://01-use-proper-tools-for-cross-build.patch \ - file://03-fix-tkinter-detection.patch \ - file://06-avoid_usr_lib_termcap_path_in_linking.patch \ - ${DISTRO_SRC_URI} \ - file://multilib.patch \ - file://cgi_py.patch \ - file://setup_py_skip_cross_import_check.patch \ - file://add-md5module-support.patch \ - file://host_include_contamination.patch \ - file://fix_for_using_different_libdir.patch \ - file://setuptweaks.patch \ - file://check-if-target-is-64b-not-host.patch \ - file://search_db_h_in_inc_dirs_and_avoid_warning.patch \ - ${@bb.utils.contains('PACKAGECONFIG', 'tk', '', 'file://avoid_warning_about_tkinter.patch', d)} \ - file://avoid_warning_for_sunos_specific_module.patch \ - file://python-2.7.3-remove-bsdb-rpath.patch \ - file://run-ptest \ - file://parallel-makeinst-create-bindir.patch \ - file://use_sysroot_ncurses_instead_of_host.patch \ - file://add-CROSSPYTHONPATH-for-PYTHON_FOR_BUILD.patch \ - file://pass-missing-libraries-to-Extension-for-mul.patch \ - file://support_SOURCE_DATE_EPOCH_in_py_compile_2.7.patch \ - file://float-endian.patch \ - file://0001-closes-bpo-34540-Convert-shutil._call_external_zip-t.patch \ - file://0001-2.7-bpo-34623-Use-XML_SetHashSalt-in-_elementtree-GH.patch \ - file://0001-python2-use-cc_basename-to-replace-CC-for-checking-c.patch \ -" +SRC_URI += " \ + file://01-use-proper-tools-for-cross-build.patch \ + file://03-fix-tkinter-detection.patch \ + file://06-avoid_usr_lib_termcap_path_in_linking.patch \ + ${DISTRO_SRC_URI} \ + file://multilib.patch \ + file://cgi_py.patch \ + file://setup_py_skip_cross_import_check.patch \ + file://add-md5module-support.patch \ + file://host_include_contamination.patch \ + file://fix_for_using_different_libdir.patch \ + file://setuptweaks.patch \ + file://check-if-target-is-64b-not-host.patch \ + file://search_db_h_in_inc_dirs_and_avoid_warning.patch \ + ${@bb.utils.contains('PACKAGECONFIG', 'tk', '', 'file://avoid_warning_about_tkinter.patch', d)} \ + file://avoid_warning_for_sunos_specific_module.patch \ + file://python-2.7.3-remove-bsdb-rpath.patch \ + file://run-ptest \ + file://parallel-makeinst-create-bindir.patch \ + file://use_sysroot_ncurses_instead_of_host.patch \ + file://add-CROSSPYTHONPATH-for-PYTHON_FOR_BUILD.patch \ + file://pass-missing-libraries-to-Extension-for-mul.patch \ + file://support_SOURCE_DATE_EPOCH_in_py_compile_2.7.patch \ + file://float-endian.patch \ + file://0001-python2-use-cc_basename-to-replace-CC-for-checking-c.patch \ + " S = "${WORKDIR}/Python-${PV}" @@ -176,7 +172,7 @@ FILES_${PN}-misc = "${libdir}/python${PYTHON_MAJMIN}" RDEPENDS_${PN}-modules += "${PN}-misc" # ptest -RDEPENDS_${PN}-ptest = "${PN}-modules ${PN}-tests unzip tzdata-europe coreutils" +RDEPENDS_${PN}-ptest = "${PN}-modules ${PN}-tests unzip tzdata-europe coreutils sed" RDEPENDS_${PN}-tkinter += "${@bb.utils.contains('PACKAGECONFIG', 'tk', 'tk', '', d)}" # catch manpage PACKAGES += "${PN}-man" diff --git a/poky/meta/recipes-devtools/qemu/nativesdk-qemu-helper_1.0.bb b/poky/meta/recipes-devtools/qemu/nativesdk-qemu-helper_1.0.bb index cdc2f51c2..ca1ad964d 100644 --- a/poky/meta/recipes-devtools/qemu/nativesdk-qemu-helper_1.0.bb +++ b/poky/meta/recipes-devtools/qemu/nativesdk-qemu-helper_1.0.bb @@ -7,7 +7,7 @@ RDEPENDS_${PN} = "nativesdk-qemu \ PR = "r9" LIC_FILES_CHKSUM = "file://${WORKDIR}/tunctl.c;endline=4;md5=ff3a09996bc5fff6bc5d4e0b4c28f999 \ - file://${COREBASE}/scripts/runqemu;endline=19;md5=a8ad1905c709a2deaa057608ebaf705a" + file://${COREBASE}/scripts/runqemu;beginline=5;endline=10;md5=ac2b489a58739c7628a2604698db5e7f" SRC_URI = "file://${COREBASE}/scripts/runqemu \ diff --git a/poky/meta/recipes-devtools/qemu/qemu-native.inc b/poky/meta/recipes-devtools/qemu/qemu-native.inc index 4373ad9e6..34ab8e640 100644 --- a/poky/meta/recipes-devtools/qemu/qemu-native.inc +++ b/poky/meta/recipes-devtools/qemu/qemu-native.inc @@ -3,8 +3,8 @@ inherit native require qemu.inc SRC_URI_append = " \ - file://0012-fix-libcap-header-issue-on-some-distro.patch \ - file://0013-cpus.c-Add-error-messages-when-qemi_cpu_kick_thread-.patch \ + file://0011-fix-libcap-header-issue-on-some-distro.patch \ + file://0012-cpus.c-Add-error-messages-when-qemi_cpu_kick_thread-.patch \ " EXTRA_OECONF_append = " --python=python2.7" diff --git a/poky/meta/recipes-devtools/qemu/qemu-native_3.1.0.bb b/poky/meta/recipes-devtools/qemu/qemu-native_4.0.0.bb index c8acff8e1..c8acff8e1 100644 --- a/poky/meta/recipes-devtools/qemu/qemu-native_3.1.0.bb +++ b/poky/meta/recipes-devtools/qemu/qemu-native_4.0.0.bb diff --git a/poky/meta/recipes-devtools/qemu/qemu-system-native_3.1.0.bb b/poky/meta/recipes-devtools/qemu/qemu-system-native_4.0.0.bb index 5bf528bec..820883df6 100644 --- a/poky/meta/recipes-devtools/qemu/qemu-system-native_3.1.0.bb +++ b/poky/meta/recipes-devtools/qemu/qemu-system-native_4.0.0.bb @@ -20,4 +20,5 @@ do_install_append() { # The following is also installed by qemu-native rm -f ${D}${datadir}/qemu/trace-events-all rm -rf ${D}${datadir}/qemu/keymaps + rm -rf ${D}${datadir}/icons/ } diff --git a/poky/meta/recipes-devtools/qemu/qemu.inc b/poky/meta/recipes-devtools/qemu/qemu.inc index e503aa866..f7b41412a 100644 --- a/poky/meta/recipes-devtools/qemu/qemu.inc +++ b/poky/meta/recipes-devtools/qemu/qemu.inc @@ -5,36 +5,27 @@ LICENSE = "GPLv2 & LGPLv2.1" RDEPENDS_${PN}-ptest = "bash make" LIC_FILES_CHKSUM = "file://COPYING;md5=441c28d2cf86e15a37fa47e15a72fbac \ - file://COPYING.LIB;endline=24;md5=c04def7ae38850e7d3ef548588159913" + file://COPYING.LIB;endline=24;md5=8c5efda6cf1e1b03dcfd0e6c0d271c7f" SRC_URI = "https://download.qemu.org/${BPN}-${PV}.tar.xz \ file://powerpc_rom.bin \ - file://0001-sdl.c-allow-user-to-disable-pointer-grabs.patch \ - file://0002-qemu-Add-missing-wacom-HID-descriptor.patch \ - file://0003-Add-subpackage-ptest-which-runs-all-unit-test-cases-.patch \ file://run-ptest \ - file://0004-qemu-Add-addition-environment-space-to-boot-loader-q.patch \ - file://0005-qemu-disable-Valgrind.patch \ - file://0006-qemu-Limit-paths-searched-during-user-mode-emulation.patch \ - file://0007-qemu-native-set-ld.bfd-fix-cflags-and-set-some-envir.patch \ - file://0008-chardev-connect-socket-to-a-spawned-command.patch \ - file://0009-apic-fixup-fallthrough-to-PIC.patch \ - file://0010-linux-user-Fix-webkitgtk-hangs-on-32-bit-x86-target.patch \ - file://0011-Revert-linux-user-fix-mmap-munmap-mprotect-mremap-sh.patch \ - file://0001-Add-a-missing-X11-include.patch \ - file://0001-egl-headless-add-egl_create_context.patch \ - file://0014-fix-CVE-2018-16872.patch \ - file://0015-fix-CVE-2018-20124.patch \ - file://0016-fix-CVE-2018-20125.patch \ - file://0017-fix-CVE-2018-20126.patch \ - file://0018-fix-CVE-2018-20191.patch \ - file://0019-fix-CVE-2018-20216.patch \ - file://CVE-2019-3812.patch \ + file://0001-qemu-Add-missing-wacom-HID-descriptor.patch \ + file://0002-Add-subpackage-ptest-which-runs-all-unit-test-cases-.patch \ + file://0003-qemu-Add-addition-environment-space-to-boot-loader-q.patch \ + file://0004-qemu-disable-Valgrind.patch \ + file://0005-qemu-Limit-paths-searched-during-user-mode-emulation.patch \ + file://0006-qemu-native-set-ld.bfd-fix-cflags-and-set-some-envir.patch \ + file://0007-chardev-connect-socket-to-a-spawned-command.patch \ + file://0008-apic-fixup-fallthrough-to-PIC.patch \ + file://0009-linux-user-Fix-webkitgtk-hangs-on-32-bit-x86-target.patch \ + file://0010-Revert-linux-user-fix-mmap-munmap-mprotect-mremap-sh.patch \ + file://0013-Revert-target-arm-Use-vector-operations-for-saturati.patch \ " UPSTREAM_CHECK_REGEX = "qemu-(?P<pver>\d+(\.\d+)+)\.tar" -SRC_URI[md5sum] = "fb687ce0b02d3bf4327e36d3b99427a8" -SRC_URI[sha256sum] = "6a0508df079a0a33c2487ca936a56c12122f105b8a96a44374704bef6c69abfc" +SRC_URI[md5sum] = "0afeca336fd57ae3d3086ec07f59d708" +SRC_URI[sha256sum] = "13a93dfe75b86734326f8d5b475fde82ec692d5b5a338b4262aeeb6b0fa4e469" COMPATIBLE_HOST_mipsarchn32 = "null" COMPATIBLE_HOST_mipsarchn64 = "null" @@ -133,7 +124,7 @@ make_qemu_wrapper() { PACKAGECONFIG_remove_darwin = "kvm virglrenderer glx gtk+" PACKAGECONFIG_remove_mingw32 = "kvm virglrenderer glx gtk+" -PACKAGECONFIG[sdl] = "--enable-sdl --with-sdlabi=2.0,--disable-sdl,libsdl2" +PACKAGECONFIG[sdl] = "--enable-sdl,--disable-sdl,libsdl2" PACKAGECONFIG[virtfs] = "--enable-virtfs --enable-attr,--disable-virtfs,libcap attr," PACKAGECONFIG[aio] = "--enable-linux-aio,--disable-linux-aio,libaio," PACKAGECONFIG[xfs] = "--enable-xfsctl,--disable-xfsctl,xfsprogs," @@ -144,7 +135,8 @@ PACKAGECONFIG[vnc-png] = "--enable-vnc --enable-vnc-png,--disable-vnc-png,libpng PACKAGECONFIG[libcurl] = "--enable-curl,--disable-curl,libcurl," PACKAGECONFIG[nss] = "--enable-smartcard,--disable-smartcard,nss," PACKAGECONFIG[curses] = "--enable-curses,--disable-curses,ncurses," -PACKAGECONFIG[gtk+] = "--enable-gtk --enable-vte,--disable-gtk --disable-vte,gtk+3 vte gettext-native" +PACKAGECONFIG[gtk+] = "--enable-gtk,--disable-gtk,gtk+3 gettext-native" +PACKAGECONFIG[vte] = "--enable-vte,--disable-vte,vte gettext-native" PACKAGECONFIG[libcap-ng] = "--enable-cap-ng,--disable-cap-ng,libcap-ng," PACKAGECONFIG[ssh2] = "--enable-libssh2,--disable-libssh2,libssh2," PACKAGECONFIG[gcrypt] = "--enable-gcrypt,--disable-gcrypt,libgcrypt," @@ -165,5 +157,8 @@ PACKAGECONFIG[virglrenderer] = "--enable-virglrenderer,--disable-virglrenderer,v PACKAGECONFIG[spice] = "--enable-spice,--disable-spice,spice" # usbredir will be in meta-networking layer PACKAGECONFIG[usb-redir] = "--enable-usb-redir,--disable-usb-redir,usbredir" +PACKAGECONFIG[snappy] = "--enable-snappy,--disable-snappy,snappy" INSANE_SKIP_${PN} = "arch" + +FILES_${PN} += "${datadir}/icons" diff --git a/poky/meta/recipes-devtools/qemu/qemu/0001-Add-a-missing-X11-include.patch b/poky/meta/recipes-devtools/qemu/qemu/0001-Add-a-missing-X11-include.patch deleted file mode 100644 index 192936e1e..000000000 --- a/poky/meta/recipes-devtools/qemu/qemu/0001-Add-a-missing-X11-include.patch +++ /dev/null @@ -1,65 +0,0 @@ -From eb1a215a4f86dde4493c3e22ad9f6d698850915e Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin <alex.kanavin@gmail.com> -Date: Thu, 20 Dec 2018 18:06:29 +0100 -Subject: [PATCH] egl-helpers.h: do not depend on X11 Window type, use - EGLNativeWindowType - -It was assumed that mesa provides the necessary X11 includes, -but it is not always the case, as it can be configured without x11 support. - -Upstream-Status: Submitted [http://lists.nongnu.org/archive/html/qemu-devel/2019-01/msg03706.html] -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> - ---- - include/ui/egl-helpers.h | 2 +- - ui/egl-helpers.c | 4 ++-- - ui/gtk-egl.c | 2 +- - 3 files changed, 4 insertions(+), 4 deletions(-) - -diff --git a/include/ui/egl-helpers.h b/include/ui/egl-helpers.h -index 9db7293b..3fc656a7 100644 ---- a/include/ui/egl-helpers.h -+++ b/include/ui/egl-helpers.h -@@ -43,7 +43,7 @@ void egl_dmabuf_release_texture(QemuDmaBuf *dmabuf); - - #endif - --EGLSurface qemu_egl_init_surface_x11(EGLContext ectx, Window win); -+EGLSurface qemu_egl_init_surface_x11(EGLContext ectx, EGLNativeWindowType win); - - int qemu_egl_init_dpy_x11(EGLNativeDisplayType dpy, DisplayGLMode mode); - int qemu_egl_init_dpy_mesa(EGLNativeDisplayType dpy, DisplayGLMode mode); -diff --git a/ui/egl-helpers.c b/ui/egl-helpers.c -index 4f475142..5e115b3f 100644 ---- a/ui/egl-helpers.c -+++ b/ui/egl-helpers.c -@@ -273,14 +273,14 @@ void egl_dmabuf_release_texture(QemuDmaBuf *dmabuf) - - /* ---------------------------------------------------------------------- */ - --EGLSurface qemu_egl_init_surface_x11(EGLContext ectx, Window win) -+EGLSurface qemu_egl_init_surface_x11(EGLContext ectx, EGLNativeWindowType win) - { - EGLSurface esurface; - EGLBoolean b; - - esurface = eglCreateWindowSurface(qemu_egl_display, - qemu_egl_config, -- (EGLNativeWindowType)win, NULL); -+ win, NULL); - if (esurface == EGL_NO_SURFACE) { - error_report("egl: eglCreateWindowSurface failed"); - return NULL; -diff --git a/ui/gtk-egl.c b/ui/gtk-egl.c -index 5420c236..1f941162 100644 ---- a/ui/gtk-egl.c -+++ b/ui/gtk-egl.c -@@ -54,7 +54,7 @@ void gd_egl_init(VirtualConsole *vc) - } - - vc->gfx.ectx = qemu_egl_init_ctx(); -- vc->gfx.esurface = qemu_egl_init_surface_x11(vc->gfx.ectx, x11_window); -+ vc->gfx.esurface = qemu_egl_init_surface_x11(vc->gfx.ectx, (EGLNativeWindowType)x11_window); - - assert(vc->gfx.esurface); - } diff --git a/poky/meta/recipes-devtools/qemu/qemu/0001-egl-headless-add-egl_create_context.patch b/poky/meta/recipes-devtools/qemu/qemu/0001-egl-headless-add-egl_create_context.patch deleted file mode 100644 index d9326c017..000000000 --- a/poky/meta/recipes-devtools/qemu/qemu/0001-egl-headless-add-egl_create_context.patch +++ /dev/null @@ -1,50 +0,0 @@ -From 952e5d584f5aabe41298c278065fe628f3f7aa7a Mon Sep 17 00:00:00 2001 -From: Gerd Hoffmann <kraxel@redhat.com> -Date: Thu, 29 Nov 2018 13:35:02 +0100 -Subject: [PATCH] egl-headless: add egl_create_context - -We must set the correct context (via eglMakeCurrent) before -calling qemu_egl_create_context, so we need a thin wrapper and can't -hook qemu_egl_create_context directly as ->dpy_gl_ctx_create callback. - -Reported-by: Frederik Carlier <frederik.carlier@quamotion.mobi> -Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> -Message-id: 20181129123502.30129-1-kraxel@redhat.com - -Upstream-Status: Backport [https://git.qemu.org/?p=qemu.git;a=commit;h=952e5d584f5aabe41298c278065fe628f3f7aa7a] -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> ---- - ui/egl-headless.c | 10 +++++++++- - 1 file changed, 9 insertions(+), 1 deletion(-) - -diff --git a/ui/egl-headless.c b/ui/egl-headless.c -index 4cf3bbc0e4..519e7bad32 100644 ---- a/ui/egl-headless.c -+++ b/ui/egl-headless.c -@@ -38,6 +38,14 @@ static void egl_gfx_switch(DisplayChangeListener *dcl, - edpy->ds = new_surface; - } - -+static QEMUGLContext egl_create_context(DisplayChangeListener *dcl, -+ QEMUGLParams *params) -+{ -+ eglMakeCurrent(qemu_egl_display, EGL_NO_SURFACE, EGL_NO_SURFACE, -+ qemu_egl_rn_ctx); -+ return qemu_egl_create_context(dcl, params); -+} -+ - static void egl_scanout_disable(DisplayChangeListener *dcl) - { - egl_dpy *edpy = container_of(dcl, egl_dpy, dcl); -@@ -150,7 +158,7 @@ static const DisplayChangeListenerOps egl_ops = { - .dpy_gfx_update = egl_gfx_update, - .dpy_gfx_switch = egl_gfx_switch, - -- .dpy_gl_ctx_create = qemu_egl_create_context, -+ .dpy_gl_ctx_create = egl_create_context, - .dpy_gl_ctx_destroy = qemu_egl_destroy_context, - .dpy_gl_ctx_make_current = qemu_egl_make_context_current, - .dpy_gl_ctx_get_current = qemu_egl_get_current_context, --- -2.17.1 - diff --git a/poky/meta/recipes-devtools/qemu/qemu/0002-qemu-Add-missing-wacom-HID-descriptor.patch b/poky/meta/recipes-devtools/qemu/qemu/0001-qemu-Add-missing-wacom-HID-descriptor.patch index 4de268883..5373915ff 100644 --- a/poky/meta/recipes-devtools/qemu/qemu/0002-qemu-Add-missing-wacom-HID-descriptor.patch +++ b/poky/meta/recipes-devtools/qemu/qemu/0001-qemu-Add-missing-wacom-HID-descriptor.patch @@ -1,4 +1,4 @@ -From 7ac3c84f28866491c58cc0f52a25a706949c8ef3 Mon Sep 17 00:00:00 2001 +From 1cb804cf0e47116202011f3386b4739af668224a Mon Sep 17 00:00:00 2001 From: Richard Purdie <richard.purdie@linuxfoundation.org> Date: Thu, 27 Nov 2014 14:04:29 +0000 Subject: [PATCH] qemu: Add missing wacom HID descriptor diff --git a/poky/meta/recipes-devtools/qemu/qemu/0001-sdl.c-allow-user-to-disable-pointer-grabs.patch b/poky/meta/recipes-devtools/qemu/qemu/0001-sdl.c-allow-user-to-disable-pointer-grabs.patch deleted file mode 100644 index 5b9a1f911..000000000 --- a/poky/meta/recipes-devtools/qemu/qemu/0001-sdl.c-allow-user-to-disable-pointer-grabs.patch +++ /dev/null @@ -1,72 +0,0 @@ -From c53ddb5acbee56db6423f369b9f9a9b62501b4af Mon Sep 17 00:00:00 2001 -From: Ross Burton <ross.burton@intel.com> -Date: Wed, 18 Sep 2013 14:04:54 +0100 -Subject: [PATCH] sdl.c: allow user to disable pointer grabs -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -When the pointer enters the Qemu window it calls SDL_WM_GrabInput, which calls -XGrabPointer in a busyloop until it returns GrabSuccess. However if there's already -a pointer grab (screen is locked, a menu is open) then qemu will hang until the -grab can be taken. In the specific case of a headless X server on an autobuilder, once -the screensaver has kicked in any qemu instance that appears underneath the -pointer will hang. - -I'm not entirely sure why pointer grabs are required (the documentation -explicitly says it doesn't do grabs when using a tablet, which we are) so wrap -them in a conditional that can be set by the autobuilder environment, preserving -the current grabbing behaviour for everyone else. - -Upstream-Status: Pending -Signed-off-by: Ross Burton <ross.burton@intel.com> -Signed-off-by: Eric Bénard <eric@eukrea.com> - ---- - ui/sdl.c | 13 +++++++++++-- - 1 file changed, 11 insertions(+), 2 deletions(-) - -diff --git a/ui/sdl.c b/ui/sdl.c -index 190b16f5..aa89471d 100644 ---- a/ui/sdl.c -+++ b/ui/sdl.c -@@ -69,6 +69,11 @@ static int idle_counter; - static const guint16 *keycode_map; - static size_t keycode_maplen; - -+#ifndef True -+#define True 1 -+#endif -+static doing_grabs = True; -+ - #define SDL_REFRESH_INTERVAL_BUSY 10 - #define SDL_MAX_IDLE_COUNT (2 * GUI_REFRESH_INTERVAL_DEFAULT \ - / SDL_REFRESH_INTERVAL_BUSY + 1) -@@ -399,14 +404,16 @@ static void sdl_grab_start(void) - } - } else - sdl_hide_cursor(); -- SDL_WM_GrabInput(SDL_GRAB_ON); -+ if (doing_grabs) -+ SDL_WM_GrabInput(SDL_GRAB_ON); - gui_grab = 1; - sdl_update_caption(); - } - - static void sdl_grab_end(void) - { -- SDL_WM_GrabInput(SDL_GRAB_OFF); -+ if (doing_grabs) -+ SDL_WM_GrabInput(SDL_GRAB_OFF); - gui_grab = 0; - sdl_show_cursor(); - sdl_update_caption(); -@@ -945,6 +952,8 @@ static void sdl1_display_init(DisplayState *ds, DisplayOptions *o) - * This requires SDL >= 1.2.14. */ - setenv("SDL_DISABLE_LOCK_KEYS", "1", 1); - -+ doing_grabs = (getenv("QEMU_DONT_GRAB") == NULL); -+ - flags = SDL_INIT_VIDEO | SDL_INIT_NOPARACHUTE; - if (SDL_Init (flags)) { - fprintf(stderr, "Could not initialize SDL(%s) - exiting\n", diff --git a/poky/meta/recipes-devtools/qemu/qemu/0003-Add-subpackage-ptest-which-runs-all-unit-test-cases-.patch b/poky/meta/recipes-devtools/qemu/qemu/0002-Add-subpackage-ptest-which-runs-all-unit-test-cases-.patch index 668fc4680..7b7c5d71a 100644 --- a/poky/meta/recipes-devtools/qemu/qemu/0003-Add-subpackage-ptest-which-runs-all-unit-test-cases-.patch +++ b/poky/meta/recipes-devtools/qemu/qemu/0002-Add-subpackage-ptest-which-runs-all-unit-test-cases-.patch @@ -1,4 +1,4 @@ -From aac8834bfd5b79e724f2593895847b50968a1223 Mon Sep 17 00:00:00 2001 +From 281116b31981b0b9e174bda8abe00f4eaa33c2ae Mon Sep 17 00:00:00 2001 From: Juro Bystricky <juro.bystricky@intel.com> Date: Thu, 31 Aug 2017 11:06:56 -0700 Subject: [PATCH] Add subpackage -ptest which runs all unit test cases for @@ -15,10 +15,10 @@ Signed-off-by: Juro Bystricky <juro.bystricky@intel.com> 1 file changed, 8 insertions(+) diff --git a/tests/Makefile.include b/tests/Makefile.include -index fb0b449c..afedabd4 100644 +index 36fc73fe..01fecd4d 100644 --- a/tests/Makefile.include +++ b/tests/Makefile.include -@@ -967,4 +967,12 @@ all: $(QEMU_IOTESTS_HELPERS-y) +@@ -1184,4 +1184,12 @@ all: $(QEMU_IOTESTS_HELPERS-y) -include $(wildcard tests/*.d) -include $(wildcard tests/libqos/*.d) diff --git a/poky/meta/recipes-devtools/qemu/qemu/0004-qemu-Add-addition-environment-space-to-boot-loader-q.patch b/poky/meta/recipes-devtools/qemu/qemu/0003-qemu-Add-addition-environment-space-to-boot-loader-q.patch index b4d4c587b..9a18ca18e 100644 --- a/poky/meta/recipes-devtools/qemu/qemu/0004-qemu-Add-addition-environment-space-to-boot-loader-q.patch +++ b/poky/meta/recipes-devtools/qemu/qemu/0003-qemu-Add-addition-environment-space-to-boot-loader-q.patch @@ -1,4 +1,4 @@ -From 3de7a5635093c31dcb960ce9dff27da629b85d4d Mon Sep 17 00:00:00 2001 +From bf04acef9ec31ddcc18ddbb4ac5b7b1e7368bf7d Mon Sep 17 00:00:00 2001 From: Jason Wessel <jason.wessel@windriver.com> Date: Fri, 28 Mar 2014 17:42:43 +0800 Subject: [PATCH] qemu: Add addition environment space to boot loader @@ -19,10 +19,10 @@ Signed-off-by: Roy Li <rongqing.li@windriver.com> 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/mips/mips_malta.c b/hw/mips/mips_malta.c -index c1cf0fe1..decffd2f 100644 +index 439665ab..285c78ef 100644 --- a/hw/mips/mips_malta.c +++ b/hw/mips/mips_malta.c -@@ -62,7 +62,7 @@ +@@ -60,7 +60,7 @@ #define ENVP_ADDR 0x80002000l #define ENVP_NB_ENTRIES 16 diff --git a/poky/meta/recipes-devtools/qemu/qemu/0005-qemu-disable-Valgrind.patch b/poky/meta/recipes-devtools/qemu/qemu/0004-qemu-disable-Valgrind.patch index f0cf8148e..9e326081f 100644 --- a/poky/meta/recipes-devtools/qemu/qemu/0005-qemu-disable-Valgrind.patch +++ b/poky/meta/recipes-devtools/qemu/qemu/0004-qemu-disable-Valgrind.patch @@ -1,4 +1,4 @@ -From 32e8a94b6ae664d9b5689e19d495e304c0f41954 Mon Sep 17 00:00:00 2001 +From e40f797548bc3ff06c71b6cbe042a46406894d18 Mon Sep 17 00:00:00 2001 From: Ross Burton <ross.burton@intel.com> Date: Tue, 20 Oct 2015 22:19:08 +0100 Subject: [PATCH] qemu: disable Valgrind @@ -13,10 +13,10 @@ Signed-off-by: Ross Burton <ross.burton@intel.com> 1 file changed, 9 deletions(-) diff --git a/configure b/configure -index 0a3c6a72..069e0daa 100755 +index 1c563a70..eaf9bb5e 100755 --- a/configure +++ b/configure -@@ -5044,15 +5044,6 @@ fi +@@ -5311,15 +5311,6 @@ fi # check if we have valgrind/valgrind.h valgrind_h=no diff --git a/poky/meta/recipes-devtools/qemu/qemu/0006-qemu-Limit-paths-searched-during-user-mode-emulation.patch b/poky/meta/recipes-devtools/qemu/qemu/0005-qemu-Limit-paths-searched-during-user-mode-emulation.patch index 4b2f0137e..819720a3f 100644 --- a/poky/meta/recipes-devtools/qemu/qemu/0006-qemu-Limit-paths-searched-during-user-mode-emulation.patch +++ b/poky/meta/recipes-devtools/qemu/qemu/0005-qemu-Limit-paths-searched-during-user-mode-emulation.patch @@ -1,4 +1,4 @@ -From 02f80ee81681b6307a8032128a07686183662270 Mon Sep 17 00:00:00 2001 +From 547c3710a1493d2fd6bb56b819cf162db433756a Mon Sep 17 00:00:00 2001 From: Richard Purdie <richard.purdie@linuxfoundation.org> Date: Wed, 9 Mar 2016 22:49:02 +0000 Subject: [PATCH] qemu: Limit paths searched during user mode emulation diff --git a/poky/meta/recipes-devtools/qemu/qemu/0007-qemu-native-set-ld.bfd-fix-cflags-and-set-some-envir.patch b/poky/meta/recipes-devtools/qemu/qemu/0006-qemu-native-set-ld.bfd-fix-cflags-and-set-some-envir.patch index 4163e5188..b62a588c6 100644 --- a/poky/meta/recipes-devtools/qemu/qemu/0007-qemu-native-set-ld.bfd-fix-cflags-and-set-some-envir.patch +++ b/poky/meta/recipes-devtools/qemu/qemu/0006-qemu-native-set-ld.bfd-fix-cflags-and-set-some-envir.patch @@ -1,4 +1,4 @@ -From 74bce35b71f4733c13e96f96e25956ff943fae20 Mon Sep 17 00:00:00 2001 +From 107fd860529a3c1319d54c3c225758457b0d9394 Mon Sep 17 00:00:00 2001 From: Stephen Arnold <sarnold@vctlabs.com> Date: Sun, 12 Jun 2016 18:09:56 -0700 Subject: [PATCH] qemu-native: set ld.bfd, fix cflags, and set some environment @@ -10,10 +10,10 @@ Upstream-Status: Pending 1 file changed, 4 deletions(-) diff --git a/configure b/configure -index 069e0daa..5b97f3c1 100755 +index eaf9bb5e..de2933d1 100755 --- a/configure +++ b/configure -@@ -5622,10 +5622,6 @@ write_c_skeleton +@@ -5928,10 +5928,6 @@ write_c_skeleton if test "$gcov" = "yes" ; then CFLAGS="-fprofile-arcs -ftest-coverage -g $CFLAGS" LDFLAGS="-fprofile-arcs -ftest-coverage $LDFLAGS" diff --git a/poky/meta/recipes-devtools/qemu/qemu/0008-chardev-connect-socket-to-a-spawned-command.patch b/poky/meta/recipes-devtools/qemu/qemu/0007-chardev-connect-socket-to-a-spawned-command.patch index e5a2d4abc..f3f3dc3f5 100644 --- a/poky/meta/recipes-devtools/qemu/qemu/0008-chardev-connect-socket-to-a-spawned-command.patch +++ b/poky/meta/recipes-devtools/qemu/qemu/0007-chardev-connect-socket-to-a-spawned-command.patch @@ -1,4 +1,4 @@ -From 9c1e976290e87a83ab1bfe38eb7ff3521ff0d684 Mon Sep 17 00:00:00 2001 +From 136e159482a1bc8676cbe6e767055d0c3fb20065 Mon Sep 17 00:00:00 2001 From: Alistair Francis <alistair.francis@xilinx.com> Date: Thu, 21 Dec 2017 11:35:16 -0800 Subject: [PATCH] chardev: connect socket to a spawned command @@ -46,17 +46,17 @@ Upstream-Status: Inappropriate [embedded specific] Signed-off-by: Patrick Ohly <patrick.ohly@intel.com> --- - chardev/char-socket.c | 102 ++++++++++++++++++++++++++++++++++++++++++ + chardev/char-socket.c | 101 ++++++++++++++++++++++++++++++++++++++++++ chardev/char.c | 3 ++ qapi/char.json | 5 +++ - 3 files changed, 110 insertions(+) + 3 files changed, 109 insertions(+) diff --git a/chardev/char-socket.c b/chardev/char-socket.c -index eaa8e8b6..959ed183 100644 +index 3916505d..a8e9dce8 100644 --- a/chardev/char-socket.c +++ b/chardev/char-socket.c -@@ -987,6 +987,68 @@ static gboolean socket_reconnect_timeout(gpointer opaque) - return false; +@@ -1273,6 +1273,67 @@ static bool qmp_chardev_validate_socket(ChardevSocket *sock, + return true; } +#ifndef _WIN32 @@ -120,11 +120,10 @@ index eaa8e8b6..959ed183 100644 + } +} +#endif -+ + static void qmp_chardev_open_socket(Chardev *chr, ChardevBackend *backend, - bool *be_opened, -@@ -994,6 +1056,9 @@ static void qmp_chardev_open_socket(Chardev *chr, +@@ -1281,6 +1342,9 @@ static void qmp_chardev_open_socket(Chardev *chr, { SocketChardev *s = SOCKET_CHARDEV(chr); ChardevSocket *sock = backend->u.socket.data; @@ -134,9 +133,9 @@ index eaa8e8b6..959ed183 100644 bool do_nodelay = sock->has_nodelay ? sock->nodelay : false; bool is_listen = sock->has_server ? sock->server : true; bool is_telnet = sock->has_telnet ? sock->telnet : false; -@@ -1072,6 +1137,14 @@ static void qmp_chardev_open_socket(Chardev *chr, - s->reconnect_time = reconnect; - } +@@ -1346,6 +1410,14 @@ static void qmp_chardev_open_socket(Chardev *chr, + + update_disconnected_filename(s); +#ifndef _WIN32 + if (cmd) { @@ -146,13 +145,13 @@ index eaa8e8b6..959ed183 100644 + *be_opened = true; + } else +#endif - if (s->reconnect_time) { - tcp_chr_connect_async(chr); - } else { -@@ -1131,9 +1204,26 @@ static void qemu_chr_parse_socket(QemuOpts *opts, ChardevBackend *backend, + if (s->is_listen) { + if (qmp_chardev_open_socket_server(chr, is_telnet || is_tn3270, + is_waitconnect, errp) < 0) { +@@ -1365,9 +1437,26 @@ static void qemu_chr_parse_socket(QemuOpts *opts, ChardevBackend *backend, + const char *host = qemu_opt_get(opts, "host"); const char *port = qemu_opt_get(opts, "port"); const char *fd = qemu_opt_get(opts, "fd"); - const char *tls_creds = qemu_opt_get(opts, "tls-creds"); +#ifndef _WIN32 + const char *cmd = qemu_opt_get(opts, "cmd"); +#endif @@ -166,7 +165,7 @@ index eaa8e8b6..959ed183 100644 + * spawning a command, otherwise unmodified code that doesn't know about + * command spawning (like socket_reconnect_timeout()) might get called. + */ -+ if (path || is_listen || is_telnet || is_tn3270 || reconnect || host || port || tls_creds) { ++ if (path || sock->server || sock->has_telnet || sock->has_tn3270 || sock->reconnect || host || port || sock->tls_creds) { + error_setg(errp, "chardev: socket: cmd does not support any additional options"); + return; + } @@ -176,14 +175,14 @@ index eaa8e8b6..959ed183 100644 if ((!!path + !!fd + !!host) != 1) { error_setg(errp, "Exactly one of 'path', 'fd' or 'host' required"); -@@ -1180,12 +1270,24 @@ static void qemu_chr_parse_socket(QemuOpts *opts, ChardevBackend *backend, - sock->reconnect = reconnect; - sock->tls_creds = g_strdup(tls_creds); +@@ -1410,12 +1499,24 @@ static void qemu_chr_parse_socket(QemuOpts *opts, ChardevBackend *backend, + sock->has_tls_authz = qemu_opt_get(opts, "tls-authz"); + sock->tls_authz = g_strdup(qemu_opt_get(opts, "tls-authz")); +#ifndef _WIN32 + sock->cmd = g_strdup(cmd); +#endif -+ ++ addr = g_new0(SocketAddressLegacy, 1); +#ifndef _WIN32 + if (path || cmd) { @@ -202,10 +201,10 @@ index eaa8e8b6..959ed183 100644 addr->type = SOCKET_ADDRESS_LEGACY_KIND_INET; addr->u.inet.data = g_new(InetSocketAddress, 1); diff --git a/chardev/char.c b/chardev/char.c -index 152dde53..62d5b578 100644 +index 514cd6b0..36a40d67 100644 --- a/chardev/char.c +++ b/chardev/char.c -@@ -818,6 +818,9 @@ QemuOptsList qemu_chardev_opts = { +@@ -835,6 +835,9 @@ QemuOptsList qemu_chardev_opts = { },{ .name = "path", .type = QEMU_OPT_STRING, @@ -216,10 +215,10 @@ index 152dde53..62d5b578 100644 .name = "host", .type = QEMU_OPT_STRING, diff --git a/qapi/char.json b/qapi/char.json -index 79bac598..97bd161a 100644 +index a6e81ac7..517962c6 100644 --- a/qapi/char.json +++ b/qapi/char.json -@@ -242,6 +242,10 @@ +@@ -247,6 +247,10 @@ # # @addr: socket address to listen on (server=true) # or connect to (server=false) @@ -228,13 +227,13 @@ index 79bac598..97bd161a 100644 +# is used by the chardev. Either an addr or a cmd can +# be specified, but not both. # @tls-creds: the ID of the TLS credentials object (since 2.6) - # @server: create server socket (default: true) - # @wait: wait for incoming connection on server -@@ -261,6 +265,7 @@ - # Since: 1.4 + # @tls-authz: the ID of the QAuthZ authorization object against which + # the client's x509 distinguished name will be validated. This +@@ -272,6 +276,7 @@ ## - { 'struct': 'ChardevSocket', 'data': { 'addr' : 'SocketAddressLegacy', -+ '*cmd' : 'str', - '*tls-creds' : 'str', - '*server' : 'bool', - '*wait' : 'bool', + { 'struct': 'ChardevSocket', + 'data': { 'addr': 'SocketAddressLegacy', ++ '*cmd': 'str', + '*tls-creds': 'str', + '*tls-authz' : 'str', + '*server': 'bool', diff --git a/poky/meta/recipes-devtools/qemu/qemu/0009-apic-fixup-fallthrough-to-PIC.patch b/poky/meta/recipes-devtools/qemu/qemu/0008-apic-fixup-fallthrough-to-PIC.patch index 1d3a2b5b2..13037f33f 100644 --- a/poky/meta/recipes-devtools/qemu/qemu/0009-apic-fixup-fallthrough-to-PIC.patch +++ b/poky/meta/recipes-devtools/qemu/qemu/0008-apic-fixup-fallthrough-to-PIC.patch @@ -1,4 +1,4 @@ -From 4829da131996548dc86775b8b97a29c436f3d130 Mon Sep 17 00:00:00 2001 +From 1b3f264e2ba18caf658fae27293c426c8366c6a3 Mon Sep 17 00:00:00 2001 From: Mark Asselstine <mark.asselstine@windriver.com> Date: Tue, 26 Feb 2013 11:43:28 -0500 Subject: [PATCH] apic: fixup fallthrough to PIC @@ -30,10 +30,10 @@ Signed-off-by: He Zhe <zhe.he@windriver.com> 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/intc/apic.c b/hw/intc/apic.c -index 97ffdd82..ef23430e 100644 +index 6ea619c3..f892811e 100644 --- a/hw/intc/apic.c +++ b/hw/intc/apic.c -@@ -603,7 +603,7 @@ int apic_accept_pic_intr(DeviceState *dev) +@@ -604,7 +604,7 @@ int apic_accept_pic_intr(DeviceState *dev) APICCommonState *s = APIC(dev); uint32_t lvt0; diff --git a/poky/meta/recipes-devtools/qemu/qemu/0010-linux-user-Fix-webkitgtk-hangs-on-32-bit-x86-target.patch b/poky/meta/recipes-devtools/qemu/qemu/0009-linux-user-Fix-webkitgtk-hangs-on-32-bit-x86-target.patch index c0d7914be..c572ff94d 100644 --- a/poky/meta/recipes-devtools/qemu/qemu/0010-linux-user-Fix-webkitgtk-hangs-on-32-bit-x86-target.patch +++ b/poky/meta/recipes-devtools/qemu/qemu/0009-linux-user-Fix-webkitgtk-hangs-on-32-bit-x86-target.patch @@ -1,4 +1,4 @@ -From bce25c9cda73569963615ffd31ed949cbe3a3781 Mon Sep 17 00:00:00 2001 +From a33ae91504ea4d254b5ace64a84791d3c96c9773 Mon Sep 17 00:00:00 2001 From: Alistair Francis <alistair.francis@xilinx.com> Date: Wed, 17 Jan 2018 10:51:49 -0800 Subject: [PATCH] linux-user: Fix webkitgtk hangs on 32-bit x86 target @@ -19,7 +19,7 @@ Signed-off-by: Alistair Francis <alistair.francis@xilinx.com> 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/linux-user/main.c b/linux-user/main.c -index 923cbb75..fe0b9ff4 100644 +index a0aba9cb..34c54924 100644 --- a/linux-user/main.c +++ b/linux-user/main.c @@ -69,7 +69,7 @@ int have_guest_base; diff --git a/poky/meta/recipes-devtools/qemu/qemu/0011-Revert-linux-user-fix-mmap-munmap-mprotect-mremap-sh.patch b/poky/meta/recipes-devtools/qemu/qemu/0010-Revert-linux-user-fix-mmap-munmap-mprotect-mremap-sh.patch index 066ea7865..3418eb7c6 100644 --- a/poky/meta/recipes-devtools/qemu/qemu/0011-Revert-linux-user-fix-mmap-munmap-mprotect-mremap-sh.patch +++ b/poky/meta/recipes-devtools/qemu/qemu/0010-Revert-linux-user-fix-mmap-munmap-mprotect-mremap-sh.patch @@ -1,4 +1,4 @@ -From 496231774f8bc17ecfaf543a6603e3cad3f3f74e Mon Sep 17 00:00:00 2001 +From 2a66bd95c856de6950fbd802c5b99075207c1d76 Mon Sep 17 00:00:00 2001 From: Martin Jansa <martin.jansa@lge.com> Date: Fri, 1 Jun 2018 08:41:07 +0000 Subject: [PATCH] Revert "linux-user: fix mmap/munmap/mprotect/mremap/shmat" @@ -23,7 +23,7 @@ Upstream-Status: Pending 4 files changed, 15 insertions(+), 29 deletions(-) diff --git a/include/exec/cpu-all.h b/include/exec/cpu-all.h -index 117d2fbb..90558c14 100644 +index b16c9ec5..612db6a0 100644 --- a/include/exec/cpu-all.h +++ b/include/exec/cpu-all.h @@ -163,12 +163,8 @@ extern unsigned long guest_base; @@ -41,7 +41,7 @@ index 117d2fbb..90558c14 100644 #include "exec/hwaddr.h" diff --git a/include/exec/cpu_ldst.h b/include/exec/cpu_ldst.h -index 95906849..ed17b3f6 100644 +index d78041d7..845639f7 100644 --- a/include/exec/cpu_ldst.h +++ b/include/exec/cpu_ldst.h @@ -62,13 +62,15 @@ typedef uint64_t abi_ptr; @@ -68,7 +68,7 @@ index 95906849..ed17b3f6 100644 #define h2g_nocheck(x) ({ \ unsigned long __ret = (unsigned long)(x) - guest_base; \ diff --git a/linux-user/mmap.c b/linux-user/mmap.c -index 41e0983c..d0ee1c53 100644 +index e0249efe..cfe34b35 100644 --- a/linux-user/mmap.c +++ b/linux-user/mmap.c @@ -79,7 +79,7 @@ int target_mprotect(abi_ulong start, abi_ulong len, int prot) @@ -81,9 +81,9 @@ index 41e0983c..d0ee1c53 100644 } prot &= PROT_READ | PROT_WRITE | PROT_EXEC; @@ -490,8 +490,8 @@ abi_long target_mmap(abi_ulong start, abi_ulong len, int prot, - * It can fail only on 64-bit host with 32-bit target. - * On any other target/host host mmap() handles this error correctly. - */ + * It can fail only on 64-bit host with 32-bit target. + * On any other target/host host mmap() handles this error correctly. + */ - if (!guest_range_valid(start, len)) { - errno = ENOMEM; + if ((unsigned long)start + len - 1 > (abi_ulong) -1) { @@ -118,10 +118,10 @@ index 41e0983c..d0ee1c53 100644 if (flags & MREMAP_FIXED) { diff --git a/linux-user/syscall.c b/linux-user/syscall.c -index 280137da..efdd0006 100644 +index 96cd4bf8..e6754772 100644 --- a/linux-user/syscall.c +++ b/linux-user/syscall.c -@@ -3818,9 +3818,6 @@ static inline abi_ulong do_shmat(CPUArchState *cpu_env, +@@ -3860,9 +3860,6 @@ static inline abi_ulong do_shmat(CPUArchState *cpu_env, return -TARGET_EINVAL; } } @@ -131,7 +131,7 @@ index 280137da..efdd0006 100644 mmap_lock(); -@@ -6582,7 +6579,7 @@ static int open_self_maps(void *cpu_env, int fd) +@@ -6633,7 +6630,7 @@ static int open_self_maps(void *cpu_env, int fd) } if (h2g_valid(min)) { int flags = page_get_flags(h2g(min)); diff --git a/poky/meta/recipes-devtools/qemu/qemu/0012-fix-libcap-header-issue-on-some-distro.patch b/poky/meta/recipes-devtools/qemu/qemu/0011-fix-libcap-header-issue-on-some-distro.patch index 9cbe83881..3a7d7bbd3 100644 --- a/poky/meta/recipes-devtools/qemu/qemu/0012-fix-libcap-header-issue-on-some-distro.patch +++ b/poky/meta/recipes-devtools/qemu/qemu/0011-fix-libcap-header-issue-on-some-distro.patch @@ -1,4 +1,4 @@ -From d3e0b8dac7c2eb20d7fcff747bc98b981f4398ef Mon Sep 17 00:00:00 2001 +From 9125afb733d8c96416bb83c5adad39bb8d0803a1 Mon Sep 17 00:00:00 2001 From: Hongxu Jia <hongxu.jia@windriver.com> Date: Tue, 12 Mar 2013 09:54:06 +0800 Subject: [PATCH] fix libcap header issue on some distro diff --git a/poky/meta/recipes-devtools/qemu/qemu/0013-cpus.c-Add-error-messages-when-qemi_cpu_kick_thread-.patch b/poky/meta/recipes-devtools/qemu/qemu/0012-cpus.c-Add-error-messages-when-qemi_cpu_kick_thread-.patch index 27e508c5a..04664195d 100644 --- a/poky/meta/recipes-devtools/qemu/qemu/0013-cpus.c-Add-error-messages-when-qemi_cpu_kick_thread-.patch +++ b/poky/meta/recipes-devtools/qemu/qemu/0012-cpus.c-Add-error-messages-when-qemi_cpu_kick_thread-.patch @@ -1,4 +1,4 @@ -From 861c522df7791d7e93743d5641f3ef2a5a3c4632 Mon Sep 17 00:00:00 2001 +From 0a53e906510cce1f32bc04a11e81ea40f834dac4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?An=C3=ADbal=20Lim=C3=B3n?= <anibal.limon@linux.intel.com> Date: Wed, 12 Aug 2015 15:11:30 -0500 Subject: [PATCH] cpus.c: Add error messages when qemi_cpu_kick_thread fails. @@ -20,10 +20,10 @@ Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> create mode 100644 custom_debug.h diff --git a/cpus.c b/cpus.c -index 0ddeeefc..4f3a5624 100644 +index e83f72b4..e6e2576e 100644 --- a/cpus.c +++ b/cpus.c -@@ -1768,6 +1768,8 @@ static void *qemu_tcg_cpu_thread_fn(void *arg) +@@ -1769,6 +1769,8 @@ static void *qemu_tcg_cpu_thread_fn(void *arg) return NULL; } @@ -32,9 +32,9 @@ index 0ddeeefc..4f3a5624 100644 static void qemu_cpu_kick_thread(CPUState *cpu) { #ifndef _WIN32 -@@ -1780,6 +1782,9 @@ static void qemu_cpu_kick_thread(CPUState *cpu) +@@ -1781,6 +1783,9 @@ static void qemu_cpu_kick_thread(CPUState *cpu) err = pthread_kill(cpu->thread->thread, SIG_IPI); - if (err) { + if (err && err != ESRCH) { fprintf(stderr, "qemu:%s: %s", __func__, strerror(err)); + fprintf(stderr, "CPU #%d:\n", cpu->cpu_index); + cpu_dump_state(cpu, stderr, fprintf, 0); diff --git a/poky/meta/recipes-devtools/qemu/qemu/0013-Revert-target-arm-Use-vector-operations-for-saturati.patch b/poky/meta/recipes-devtools/qemu/qemu/0013-Revert-target-arm-Use-vector-operations-for-saturati.patch new file mode 100644 index 000000000..3d018a74d --- /dev/null +++ b/poky/meta/recipes-devtools/qemu/qemu/0013-Revert-target-arm-Use-vector-operations-for-saturati.patch @@ -0,0 +1,493 @@ +From b46cdcdeb762c1f0eef68dc4a7d90f8176152e07 Mon Sep 17 00:00:00 2001 +From: Alistair Francis <alistair.francis@wdc.com> +Date: Wed, 1 May 2019 19:51:27 -0700 +Subject: [PATCH] Revert "target/arm: Use vector operations for saturation" + +This reverts commit 89e68b575e138d0af1435f11a8ffcd8779c237bd. + +This fixes QEMU aborts when running the qemuarm machine. + +Signed-off-by: Alistair Francis <alistair.francis@wdc.com> +Upstream-Status: Pending +--- + target/arm/helper.h | 33 ------- + target/arm/translate-a64.c | 36 ++++---- + target/arm/translate.c | 172 ++++++------------------------------- + target/arm/translate.h | 4 - + target/arm/vec_helper.c | 130 ---------------------------- + 5 files changed, 44 insertions(+), 331 deletions(-) + +diff --git a/target/arm/helper.h b/target/arm/helper.h +index 50cb036378..b2669f140f 100644 +--- a/target/arm/helper.h ++++ b/target/arm/helper.h +@@ -646,39 +646,6 @@ DEF_HELPER_FLAGS_6(gvec_fmla_idx_s, TCG_CALL_NO_RWG, + DEF_HELPER_FLAGS_6(gvec_fmla_idx_d, TCG_CALL_NO_RWG, + void, ptr, ptr, ptr, ptr, ptr, i32) + +-DEF_HELPER_FLAGS_5(gvec_uqadd_b, TCG_CALL_NO_RWG, +- void, ptr, ptr, ptr, ptr, i32) +-DEF_HELPER_FLAGS_5(gvec_uqadd_h, TCG_CALL_NO_RWG, +- void, ptr, ptr, ptr, ptr, i32) +-DEF_HELPER_FLAGS_5(gvec_uqadd_s, TCG_CALL_NO_RWG, +- void, ptr, ptr, ptr, ptr, i32) +-DEF_HELPER_FLAGS_5(gvec_uqadd_d, TCG_CALL_NO_RWG, +- void, ptr, ptr, ptr, ptr, i32) +-DEF_HELPER_FLAGS_5(gvec_sqadd_b, TCG_CALL_NO_RWG, +- void, ptr, ptr, ptr, ptr, i32) +-DEF_HELPER_FLAGS_5(gvec_sqadd_h, TCG_CALL_NO_RWG, +- void, ptr, ptr, ptr, ptr, i32) +-DEF_HELPER_FLAGS_5(gvec_sqadd_s, TCG_CALL_NO_RWG, +- void, ptr, ptr, ptr, ptr, i32) +-DEF_HELPER_FLAGS_5(gvec_sqadd_d, TCG_CALL_NO_RWG, +- void, ptr, ptr, ptr, ptr, i32) +-DEF_HELPER_FLAGS_5(gvec_uqsub_b, TCG_CALL_NO_RWG, +- void, ptr, ptr, ptr, ptr, i32) +-DEF_HELPER_FLAGS_5(gvec_uqsub_h, TCG_CALL_NO_RWG, +- void, ptr, ptr, ptr, ptr, i32) +-DEF_HELPER_FLAGS_5(gvec_uqsub_s, TCG_CALL_NO_RWG, +- void, ptr, ptr, ptr, ptr, i32) +-DEF_HELPER_FLAGS_5(gvec_uqsub_d, TCG_CALL_NO_RWG, +- void, ptr, ptr, ptr, ptr, i32) +-DEF_HELPER_FLAGS_5(gvec_sqsub_b, TCG_CALL_NO_RWG, +- void, ptr, ptr, ptr, ptr, i32) +-DEF_HELPER_FLAGS_5(gvec_sqsub_h, TCG_CALL_NO_RWG, +- void, ptr, ptr, ptr, ptr, i32) +-DEF_HELPER_FLAGS_5(gvec_sqsub_s, TCG_CALL_NO_RWG, +- void, ptr, ptr, ptr, ptr, i32) +-DEF_HELPER_FLAGS_5(gvec_sqsub_d, TCG_CALL_NO_RWG, +- void, ptr, ptr, ptr, ptr, i32) +- + DEF_HELPER_FLAGS_5(gvec_fmlal_a32, TCG_CALL_NO_RWG, + void, ptr, ptr, ptr, ptr, i32) + DEF_HELPER_FLAGS_5(gvec_fmlal_a64, TCG_CALL_NO_RWG, +diff --git a/target/arm/translate-a64.c b/target/arm/translate-a64.c +index 9dcc5ff3a3..428211f92f 100644 +--- a/target/arm/translate-a64.c ++++ b/target/arm/translate-a64.c +@@ -11230,22 +11230,6 @@ static void disas_simd_3same_int(DisasContext *s, uint32_t insn) + } + + switch (opcode) { +- case 0x01: /* SQADD, UQADD */ +- tcg_gen_gvec_4(vec_full_reg_offset(s, rd), +- offsetof(CPUARMState, vfp.qc), +- vec_full_reg_offset(s, rn), +- vec_full_reg_offset(s, rm), +- is_q ? 16 : 8, vec_full_reg_size(s), +- (u ? uqadd_op : sqadd_op) + size); +- return; +- case 0x05: /* SQSUB, UQSUB */ +- tcg_gen_gvec_4(vec_full_reg_offset(s, rd), +- offsetof(CPUARMState, vfp.qc), +- vec_full_reg_offset(s, rn), +- vec_full_reg_offset(s, rm), +- is_q ? 16 : 8, vec_full_reg_size(s), +- (u ? uqsub_op : sqsub_op) + size); +- return; + case 0x0c: /* SMAX, UMAX */ + if (u) { + gen_gvec_fn3(s, is_q, rd, rn, rm, tcg_gen_gvec_umax, size); +@@ -11341,6 +11325,16 @@ static void disas_simd_3same_int(DisasContext *s, uint32_t insn) + genfn = fns[size][u]; + break; + } ++ case 0x1: /* SQADD, UQADD */ ++ { ++ static NeonGenTwoOpEnvFn * const fns[3][2] = { ++ { gen_helper_neon_qadd_s8, gen_helper_neon_qadd_u8 }, ++ { gen_helper_neon_qadd_s16, gen_helper_neon_qadd_u16 }, ++ { gen_helper_neon_qadd_s32, gen_helper_neon_qadd_u32 }, ++ }; ++ genenvfn = fns[size][u]; ++ break; ++ } + case 0x2: /* SRHADD, URHADD */ + { + static NeonGenTwoOpFn * const fns[3][2] = { +@@ -11361,6 +11355,16 @@ static void disas_simd_3same_int(DisasContext *s, uint32_t insn) + genfn = fns[size][u]; + break; + } ++ case 0x5: /* SQSUB, UQSUB */ ++ { ++ static NeonGenTwoOpEnvFn * const fns[3][2] = { ++ { gen_helper_neon_qsub_s8, gen_helper_neon_qsub_u8 }, ++ { gen_helper_neon_qsub_s16, gen_helper_neon_qsub_u16 }, ++ { gen_helper_neon_qsub_s32, gen_helper_neon_qsub_u32 }, ++ }; ++ genenvfn = fns[size][u]; ++ break; ++ } + case 0x8: /* SSHL, USHL */ + { + static NeonGenTwoOpFn * const fns[3][2] = { +diff --git a/target/arm/translate.c b/target/arm/translate.c +index 10bc53f91c..cf675cef3f 100644 +--- a/target/arm/translate.c ++++ b/target/arm/translate.c +@@ -6242,142 +6242,6 @@ const GVecGen3 cmtst_op[4] = { + .vece = MO_64 }, + }; + +-static void gen_uqadd_vec(unsigned vece, TCGv_vec t, TCGv_vec sat, +- TCGv_vec a, TCGv_vec b) +-{ +- TCGv_vec x = tcg_temp_new_vec_matching(t); +- tcg_gen_add_vec(vece, x, a, b); +- tcg_gen_usadd_vec(vece, t, a, b); +- tcg_gen_cmp_vec(TCG_COND_NE, vece, x, x, t); +- tcg_gen_or_vec(vece, sat, sat, x); +- tcg_temp_free_vec(x); +-} +- +-const GVecGen4 uqadd_op[4] = { +- { .fniv = gen_uqadd_vec, +- .fno = gen_helper_gvec_uqadd_b, +- .opc = INDEX_op_usadd_vec, +- .write_aofs = true, +- .vece = MO_8 }, +- { .fniv = gen_uqadd_vec, +- .fno = gen_helper_gvec_uqadd_h, +- .opc = INDEX_op_usadd_vec, +- .write_aofs = true, +- .vece = MO_16 }, +- { .fniv = gen_uqadd_vec, +- .fno = gen_helper_gvec_uqadd_s, +- .opc = INDEX_op_usadd_vec, +- .write_aofs = true, +- .vece = MO_32 }, +- { .fniv = gen_uqadd_vec, +- .fno = gen_helper_gvec_uqadd_d, +- .opc = INDEX_op_usadd_vec, +- .write_aofs = true, +- .vece = MO_64 }, +-}; +- +-static void gen_sqadd_vec(unsigned vece, TCGv_vec t, TCGv_vec sat, +- TCGv_vec a, TCGv_vec b) +-{ +- TCGv_vec x = tcg_temp_new_vec_matching(t); +- tcg_gen_add_vec(vece, x, a, b); +- tcg_gen_ssadd_vec(vece, t, a, b); +- tcg_gen_cmp_vec(TCG_COND_NE, vece, x, x, t); +- tcg_gen_or_vec(vece, sat, sat, x); +- tcg_temp_free_vec(x); +-} +- +-const GVecGen4 sqadd_op[4] = { +- { .fniv = gen_sqadd_vec, +- .fno = gen_helper_gvec_sqadd_b, +- .opc = INDEX_op_ssadd_vec, +- .write_aofs = true, +- .vece = MO_8 }, +- { .fniv = gen_sqadd_vec, +- .fno = gen_helper_gvec_sqadd_h, +- .opc = INDEX_op_ssadd_vec, +- .write_aofs = true, +- .vece = MO_16 }, +- { .fniv = gen_sqadd_vec, +- .fno = gen_helper_gvec_sqadd_s, +- .opc = INDEX_op_ssadd_vec, +- .write_aofs = true, +- .vece = MO_32 }, +- { .fniv = gen_sqadd_vec, +- .fno = gen_helper_gvec_sqadd_d, +- .opc = INDEX_op_ssadd_vec, +- .write_aofs = true, +- .vece = MO_64 }, +-}; +- +-static void gen_uqsub_vec(unsigned vece, TCGv_vec t, TCGv_vec sat, +- TCGv_vec a, TCGv_vec b) +-{ +- TCGv_vec x = tcg_temp_new_vec_matching(t); +- tcg_gen_sub_vec(vece, x, a, b); +- tcg_gen_ussub_vec(vece, t, a, b); +- tcg_gen_cmp_vec(TCG_COND_NE, vece, x, x, t); +- tcg_gen_or_vec(vece, sat, sat, x); +- tcg_temp_free_vec(x); +-} +- +-const GVecGen4 uqsub_op[4] = { +- { .fniv = gen_uqsub_vec, +- .fno = gen_helper_gvec_uqsub_b, +- .opc = INDEX_op_ussub_vec, +- .write_aofs = true, +- .vece = MO_8 }, +- { .fniv = gen_uqsub_vec, +- .fno = gen_helper_gvec_uqsub_h, +- .opc = INDEX_op_ussub_vec, +- .write_aofs = true, +- .vece = MO_16 }, +- { .fniv = gen_uqsub_vec, +- .fno = gen_helper_gvec_uqsub_s, +- .opc = INDEX_op_ussub_vec, +- .write_aofs = true, +- .vece = MO_32 }, +- { .fniv = gen_uqsub_vec, +- .fno = gen_helper_gvec_uqsub_d, +- .opc = INDEX_op_ussub_vec, +- .write_aofs = true, +- .vece = MO_64 }, +-}; +- +-static void gen_sqsub_vec(unsigned vece, TCGv_vec t, TCGv_vec sat, +- TCGv_vec a, TCGv_vec b) +-{ +- TCGv_vec x = tcg_temp_new_vec_matching(t); +- tcg_gen_sub_vec(vece, x, a, b); +- tcg_gen_sssub_vec(vece, t, a, b); +- tcg_gen_cmp_vec(TCG_COND_NE, vece, x, x, t); +- tcg_gen_or_vec(vece, sat, sat, x); +- tcg_temp_free_vec(x); +-} +- +-const GVecGen4 sqsub_op[4] = { +- { .fniv = gen_sqsub_vec, +- .fno = gen_helper_gvec_sqsub_b, +- .opc = INDEX_op_sssub_vec, +- .write_aofs = true, +- .vece = MO_8 }, +- { .fniv = gen_sqsub_vec, +- .fno = gen_helper_gvec_sqsub_h, +- .opc = INDEX_op_sssub_vec, +- .write_aofs = true, +- .vece = MO_16 }, +- { .fniv = gen_sqsub_vec, +- .fno = gen_helper_gvec_sqsub_s, +- .opc = INDEX_op_sssub_vec, +- .write_aofs = true, +- .vece = MO_32 }, +- { .fniv = gen_sqsub_vec, +- .fno = gen_helper_gvec_sqsub_d, +- .opc = INDEX_op_sssub_vec, +- .write_aofs = true, +- .vece = MO_64 }, +-}; +- + /* Translate a NEON data processing instruction. Return nonzero if the + instruction is invalid. + We process data in a mixture of 32-bit and 64-bit chunks. +@@ -6561,18 +6425,6 @@ static int disas_neon_data_insn(DisasContext *s, uint32_t insn) + } + return 0; + +- case NEON_3R_VQADD: +- tcg_gen_gvec_4(rd_ofs, offsetof(CPUARMState, vfp.qc), +- rn_ofs, rm_ofs, vec_size, vec_size, +- (u ? uqadd_op : sqadd_op) + size); +- break; +- +- case NEON_3R_VQSUB: +- tcg_gen_gvec_4(rd_ofs, offsetof(CPUARMState, vfp.qc), +- rn_ofs, rm_ofs, vec_size, vec_size, +- (u ? uqsub_op : sqsub_op) + size); +- break; +- + case NEON_3R_VMUL: /* VMUL */ + if (u) { + /* Polynomial case allows only P8 and is handled below. */ +@@ -6637,6 +6489,24 @@ static int disas_neon_data_insn(DisasContext *s, uint32_t insn) + neon_load_reg64(cpu_V0, rn + pass); + neon_load_reg64(cpu_V1, rm + pass); + switch (op) { ++ case NEON_3R_VQADD: ++ if (u) { ++ gen_helper_neon_qadd_u64(cpu_V0, cpu_env, ++ cpu_V0, cpu_V1); ++ } else { ++ gen_helper_neon_qadd_s64(cpu_V0, cpu_env, ++ cpu_V0, cpu_V1); ++ } ++ break; ++ case NEON_3R_VQSUB: ++ if (u) { ++ gen_helper_neon_qsub_u64(cpu_V0, cpu_env, ++ cpu_V0, cpu_V1); ++ } else { ++ gen_helper_neon_qsub_s64(cpu_V0, cpu_env, ++ cpu_V0, cpu_V1); ++ } ++ break; + case NEON_3R_VSHL: + if (u) { + gen_helper_neon_shl_u64(cpu_V0, cpu_V1, cpu_V0); +@@ -6752,12 +6622,18 @@ static int disas_neon_data_insn(DisasContext *s, uint32_t insn) + case NEON_3R_VHADD: + GEN_NEON_INTEGER_OP(hadd); + break; ++ case NEON_3R_VQADD: ++ GEN_NEON_INTEGER_OP_ENV(qadd); ++ break; + case NEON_3R_VRHADD: + GEN_NEON_INTEGER_OP(rhadd); + break; + case NEON_3R_VHSUB: + GEN_NEON_INTEGER_OP(hsub); + break; ++ case NEON_3R_VQSUB: ++ GEN_NEON_INTEGER_OP_ENV(qsub); ++ break; + case NEON_3R_VSHL: + GEN_NEON_INTEGER_OP(shl); + break; +diff --git a/target/arm/translate.h b/target/arm/translate.h +index c2348def0d..07055c9449 100644 +--- a/target/arm/translate.h ++++ b/target/arm/translate.h +@@ -248,10 +248,6 @@ extern const GVecGen2i ssra_op[4]; + extern const GVecGen2i usra_op[4]; + extern const GVecGen2i sri_op[4]; + extern const GVecGen2i sli_op[4]; +-extern const GVecGen4 uqadd_op[4]; +-extern const GVecGen4 sqadd_op[4]; +-extern const GVecGen4 uqsub_op[4]; +-extern const GVecGen4 sqsub_op[4]; + void gen_cmtst_i64(TCGv_i64 d, TCGv_i64 a, TCGv_i64 b); + + /* +diff --git a/target/arm/vec_helper.c b/target/arm/vec_helper.c +index dedef62403..be3271659f 100644 +--- a/target/arm/vec_helper.c ++++ b/target/arm/vec_helper.c +@@ -769,136 +769,6 @@ DO_FMLA_IDX(gvec_fmla_idx_d, float64, ) + + #undef DO_FMLA_IDX + +-#define DO_SAT(NAME, WTYPE, TYPEN, TYPEM, OP, MIN, MAX) \ +-void HELPER(NAME)(void *vd, void *vq, void *vn, void *vm, uint32_t desc) \ +-{ \ +- intptr_t i, oprsz = simd_oprsz(desc); \ +- TYPEN *d = vd, *n = vn; TYPEM *m = vm; \ +- bool q = false; \ +- for (i = 0; i < oprsz / sizeof(TYPEN); i++) { \ +- WTYPE dd = (WTYPE)n[i] OP m[i]; \ +- if (dd < MIN) { \ +- dd = MIN; \ +- q = true; \ +- } else if (dd > MAX) { \ +- dd = MAX; \ +- q = true; \ +- } \ +- d[i] = dd; \ +- } \ +- if (q) { \ +- uint32_t *qc = vq; \ +- qc[0] = 1; \ +- } \ +- clear_tail(d, oprsz, simd_maxsz(desc)); \ +-} +- +-DO_SAT(gvec_uqadd_b, int, uint8_t, uint8_t, +, 0, UINT8_MAX) +-DO_SAT(gvec_uqadd_h, int, uint16_t, uint16_t, +, 0, UINT16_MAX) +-DO_SAT(gvec_uqadd_s, int64_t, uint32_t, uint32_t, +, 0, UINT32_MAX) +- +-DO_SAT(gvec_sqadd_b, int, int8_t, int8_t, +, INT8_MIN, INT8_MAX) +-DO_SAT(gvec_sqadd_h, int, int16_t, int16_t, +, INT16_MIN, INT16_MAX) +-DO_SAT(gvec_sqadd_s, int64_t, int32_t, int32_t, +, INT32_MIN, INT32_MAX) +- +-DO_SAT(gvec_uqsub_b, int, uint8_t, uint8_t, -, 0, UINT8_MAX) +-DO_SAT(gvec_uqsub_h, int, uint16_t, uint16_t, -, 0, UINT16_MAX) +-DO_SAT(gvec_uqsub_s, int64_t, uint32_t, uint32_t, -, 0, UINT32_MAX) +- +-DO_SAT(gvec_sqsub_b, int, int8_t, int8_t, -, INT8_MIN, INT8_MAX) +-DO_SAT(gvec_sqsub_h, int, int16_t, int16_t, -, INT16_MIN, INT16_MAX) +-DO_SAT(gvec_sqsub_s, int64_t, int32_t, int32_t, -, INT32_MIN, INT32_MAX) +- +-#undef DO_SAT +- +-void HELPER(gvec_uqadd_d)(void *vd, void *vq, void *vn, +- void *vm, uint32_t desc) +-{ +- intptr_t i, oprsz = simd_oprsz(desc); +- uint64_t *d = vd, *n = vn, *m = vm; +- bool q = false; +- +- for (i = 0; i < oprsz / 8; i++) { +- uint64_t nn = n[i], mm = m[i], dd = nn + mm; +- if (dd < nn) { +- dd = UINT64_MAX; +- q = true; +- } +- d[i] = dd; +- } +- if (q) { +- uint32_t *qc = vq; +- qc[0] = 1; +- } +- clear_tail(d, oprsz, simd_maxsz(desc)); +-} +- +-void HELPER(gvec_uqsub_d)(void *vd, void *vq, void *vn, +- void *vm, uint32_t desc) +-{ +- intptr_t i, oprsz = simd_oprsz(desc); +- uint64_t *d = vd, *n = vn, *m = vm; +- bool q = false; +- +- for (i = 0; i < oprsz / 8; i++) { +- uint64_t nn = n[i], mm = m[i], dd = nn - mm; +- if (nn < mm) { +- dd = 0; +- q = true; +- } +- d[i] = dd; +- } +- if (q) { +- uint32_t *qc = vq; +- qc[0] = 1; +- } +- clear_tail(d, oprsz, simd_maxsz(desc)); +-} +- +-void HELPER(gvec_sqadd_d)(void *vd, void *vq, void *vn, +- void *vm, uint32_t desc) +-{ +- intptr_t i, oprsz = simd_oprsz(desc); +- int64_t *d = vd, *n = vn, *m = vm; +- bool q = false; +- +- for (i = 0; i < oprsz / 8; i++) { +- int64_t nn = n[i], mm = m[i], dd = nn + mm; +- if (((dd ^ nn) & ~(nn ^ mm)) & INT64_MIN) { +- dd = (nn >> 63) ^ ~INT64_MIN; +- q = true; +- } +- d[i] = dd; +- } +- if (q) { +- uint32_t *qc = vq; +- qc[0] = 1; +- } +- clear_tail(d, oprsz, simd_maxsz(desc)); +-} +- +-void HELPER(gvec_sqsub_d)(void *vd, void *vq, void *vn, +- void *vm, uint32_t desc) +-{ +- intptr_t i, oprsz = simd_oprsz(desc); +- int64_t *d = vd, *n = vn, *m = vm; +- bool q = false; +- +- for (i = 0; i < oprsz / 8; i++) { +- int64_t nn = n[i], mm = m[i], dd = nn - mm; +- if (((dd ^ nn) & (nn ^ mm)) & INT64_MIN) { +- dd = (nn >> 63) ^ ~INT64_MIN; +- q = true; +- } +- d[i] = dd; +- } +- if (q) { +- uint32_t *qc = vq; +- qc[0] = 1; +- } +- clear_tail(d, oprsz, simd_maxsz(desc)); +-} +- + /* + * Convert float16 to float32, raising no exceptions and + * preserving exceptional values, including SNaN. +-- +2.21.0 + diff --git a/poky/meta/recipes-devtools/qemu/qemu/0014-fix-CVE-2018-16872.patch b/poky/meta/recipes-devtools/qemu/qemu/0014-fix-CVE-2018-16872.patch deleted file mode 100644 index 412aa1604..000000000 --- a/poky/meta/recipes-devtools/qemu/qemu/0014-fix-CVE-2018-16872.patch +++ /dev/null @@ -1,85 +0,0 @@ -CVE: CVE-2018-16872 -Upstream-Status: Backport [https://git.qemu.org/?p=qemu.git;a=commit;h=bab9df35] - -Signed-off-by: Kai Kang <kai.kang@windriver.com> - -From bab9df35ce73d1c8e19a37e2737717ea1c984dc1 Mon Sep 17 00:00:00 2001 -From: Gerd Hoffmann <kraxel@redhat.com> -Date: Thu, 13 Dec 2018 13:25:11 +0100 -Subject: [PATCH] usb-mtp: use O_NOFOLLOW and O_CLOEXEC. - -Open files and directories with O_NOFOLLOW to avoid symlinks attacks. -While being at it also add O_CLOEXEC. - -usb-mtp only handles regular files and directories and ignores -everything else, so users should not see a difference. - -Because qemu ignores symlinks, carrying out a successful symlink attack -requires swapping an existing file or directory below rootdir for a -symlink and winning the race against the inotify notification to qemu. - -Fixes: CVE-2018-16872 -Cc: Prasad J Pandit <ppandit@redhat.com> -Cc: Bandan Das <bsd@redhat.com> -Reported-by: Michael Hanselmann <public@hansmi.ch> -Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> -Reviewed-by: Michael Hanselmann <public@hansmi.ch> -Message-id: 20181213122511.13853-1-kraxel@redhat.com ---- - hw/usb/dev-mtp.c | 13 +++++++++---- - 1 file changed, 9 insertions(+), 4 deletions(-) - -diff --git a/hw/usb/dev-mtp.c b/hw/usb/dev-mtp.c -index 100b7171f4..36c43b8c20 100644 ---- a/hw/usb/dev-mtp.c -+++ b/hw/usb/dev-mtp.c -@@ -653,13 +653,18 @@ static void usb_mtp_object_readdir(MTPState *s, MTPObject *o) - { - struct dirent *entry; - DIR *dir; -+ int fd; - - if (o->have_children) { - return; - } - o->have_children = true; - -- dir = opendir(o->path); -+ fd = open(o->path, O_DIRECTORY | O_CLOEXEC | O_NOFOLLOW); -+ if (fd < 0) { -+ return; -+ } -+ dir = fdopendir(fd); - if (!dir) { - return; - } -@@ -1007,7 +1012,7 @@ static MTPData *usb_mtp_get_object(MTPState *s, MTPControl *c, - - trace_usb_mtp_op_get_object(s->dev.addr, o->handle, o->path); - -- d->fd = open(o->path, O_RDONLY); -+ d->fd = open(o->path, O_RDONLY | O_CLOEXEC | O_NOFOLLOW); - if (d->fd == -1) { - usb_mtp_data_free(d); - return NULL; -@@ -1031,7 +1036,7 @@ static MTPData *usb_mtp_get_partial_object(MTPState *s, MTPControl *c, - c->argv[1], c->argv[2]); - - d = usb_mtp_data_alloc(c); -- d->fd = open(o->path, O_RDONLY); -+ d->fd = open(o->path, O_RDONLY | O_CLOEXEC | O_NOFOLLOW); - if (d->fd == -1) { - usb_mtp_data_free(d); - return NULL; -@@ -1658,7 +1663,7 @@ static void usb_mtp_write_data(MTPState *s) - 0, 0, 0, 0); - goto done; - } -- d->fd = open(path, O_CREAT | O_WRONLY, mask); -+ d->fd = open(path, O_CREAT | O_WRONLY | O_CLOEXEC | O_NOFOLLOW, mask); - if (d->fd == -1) { - usb_mtp_queue_result(s, RES_STORE_FULL, d->trans, - 0, 0, 0, 0); --- -2.20.1 - diff --git a/poky/meta/recipes-devtools/qemu/qemu/0015-fix-CVE-2018-20124.patch b/poky/meta/recipes-devtools/qemu/qemu/0015-fix-CVE-2018-20124.patch deleted file mode 100644 index 985b81940..000000000 --- a/poky/meta/recipes-devtools/qemu/qemu/0015-fix-CVE-2018-20124.patch +++ /dev/null @@ -1,60 +0,0 @@ -CVE: CVE-2018-20124 -Upstream-Status: Backport [https://git.qemu.org/?p=qemu.git;a=commit;h=0e68373] - -Backport patch to fix CVE-2018-20124. Update context and stay with current -function comp_handler() which has been replaced with complete_work() in latest -git repo. - -Signed-off-by: Kai Kang <kai.kang@windriver.com> - -From 0e68373cc2b3a063ce067bc0cc3edaf370752890 Mon Sep 17 00:00:00 2001 -From: Prasad J Pandit <pjp@fedoraproject.org> -Date: Thu, 13 Dec 2018 01:00:34 +0530 -Subject: [PATCH] rdma: check num_sge does not exceed MAX_SGE - -rdma back-end has scatter/gather array ibv_sge[MAX_SGE=4] set -to have 4 elements. A guest could send a 'PvrdmaSqWqe' ring element -with 'num_sge' set to > MAX_SGE, which may lead to OOB access issue. -Add check to avoid it. - -Reported-by: Saar Amar <saaramar5@gmail.com> -Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org> -Reviewed-by: Yuval Shaia <yuval.shaia@oracle.com> -Signed-off-by: Marcel Apfelbaum <marcel.apfelbaum@gmail.com> ---- - hw/rdma/rdma_backend.c | 12 ++++++------ - 1 file changed, 6 insertions(+), 6 deletions(-) - -diff --git a/hw/rdma/rdma_backend.c b/hw/rdma/rdma_backend.c -index d7a4bbd9..7f8028f8 100644 ---- a/hw/rdma/rdma_backend.c -+++ b/hw/rdma/rdma_backend.c -@@ -311,9 +311,9 @@ void rdma_backend_post_send(RdmaBackendDev *backend_dev, - } - - pr_dbg("num_sge=%d\n", num_sge); -- if (!num_sge) { -- pr_dbg("num_sge=0\n"); -- comp_handler(IBV_WC_GENERAL_ERR, VENDOR_ERR_NO_SGE, ctx); -+ if (!num_sge || num_sge > MAX_SGE) { -+ pr_dbg("invalid num_sge=%d\n", num_sge); -+ comp_handler(IBV_WC_GENERAL_ERR, VENDOR_ERR_NO_SGE, ctx); - return; - } - -@@ -390,9 +390,9 @@ void rdma_backend_post_recv(RdmaBackendDev *backend_dev, - } - - pr_dbg("num_sge=%d\n", num_sge); -- if (!num_sge) { -- pr_dbg("num_sge=0\n"); -- comp_handler(IBV_WC_GENERAL_ERR, VENDOR_ERR_NO_SGE, ctx); -+ if (!num_sge || num_sge > MAX_SGE) { -+ pr_dbg("invalid num_sge=%d\n", num_sge); -+ comp_handler(IBV_WC_GENERAL_ERR, VENDOR_ERR_NO_SGE, ctx); - return; - } - --- -2.20.1 - diff --git a/poky/meta/recipes-devtools/qemu/qemu/0016-fix-CVE-2018-20125.patch b/poky/meta/recipes-devtools/qemu/qemu/0016-fix-CVE-2018-20125.patch deleted file mode 100644 index 56559c838..000000000 --- a/poky/meta/recipes-devtools/qemu/qemu/0016-fix-CVE-2018-20125.patch +++ /dev/null @@ -1,54 +0,0 @@ -CVE: CVE-2018-20125 -Upstream-Status: Backport [https://git.qemu.org/?p=qemu.git;a=commit;h=2c858ce] - -Signed-off-by: Kai Kang <kai.kang@windriver.com> - -From 2c858ce5da8ae6689c75182b73bc455a291cad41 Mon Sep 17 00:00:00 2001 -From: Prasad J Pandit <pjp@fedoraproject.org> -Date: Thu, 13 Dec 2018 01:00:36 +0530 -Subject: [PATCH] pvrdma: check number of pages when creating rings - -When creating CQ/QP rings, an object can have up to -PVRDMA_MAX_FAST_REG_PAGES 8 pages. Check 'npages' parameter -to avoid excessive memory allocation or a null dereference. - -Reported-by: Li Qiang <liq3ea@163.com> -Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org> -Reviewed-by: Yuval Shaia <yuval.shaia@oracle.com> -Signed-off-by: Marcel Apfelbaum <marcel.apfelbaum@gmail.com> ---- - hw/rdma/vmw/pvrdma_cmd.c | 11 +++++++++++ - 1 file changed, 11 insertions(+) - -diff --git a/hw/rdma/vmw/pvrdma_cmd.c b/hw/rdma/vmw/pvrdma_cmd.c -index 3b94545761..f236ac4795 100644 ---- a/hw/rdma/vmw/pvrdma_cmd.c -+++ b/hw/rdma/vmw/pvrdma_cmd.c -@@ -259,6 +259,11 @@ static int create_cq_ring(PCIDevice *pci_dev , PvrdmaRing **ring, - int rc = -EINVAL; - char ring_name[MAX_RING_NAME_SZ]; - -+ if (!nchunks || nchunks > PVRDMA_MAX_FAST_REG_PAGES) { -+ pr_dbg("invalid nchunks: %d\n", nchunks); -+ return rc; -+ } -+ - pr_dbg("pdir_dma=0x%llx\n", (long long unsigned int)pdir_dma); - dir = rdma_pci_dma_map(pci_dev, pdir_dma, TARGET_PAGE_SIZE); - if (!dir) { -@@ -372,6 +377,12 @@ static int create_qp_rings(PCIDevice *pci_dev, uint64_t pdir_dma, - char ring_name[MAX_RING_NAME_SZ]; - uint32_t wqe_sz; - -+ if (!spages || spages > PVRDMA_MAX_FAST_REG_PAGES -+ || !rpages || rpages > PVRDMA_MAX_FAST_REG_PAGES) { -+ pr_dbg("invalid pages: %d, %d\n", spages, rpages); -+ return rc; -+ } -+ - pr_dbg("pdir_dma=0x%llx\n", (long long unsigned int)pdir_dma); - dir = rdma_pci_dma_map(pci_dev, pdir_dma, TARGET_PAGE_SIZE); - if (!dir) { --- -2.20.1 - diff --git a/poky/meta/recipes-devtools/qemu/qemu/0017-fix-CVE-2018-20126.patch b/poky/meta/recipes-devtools/qemu/qemu/0017-fix-CVE-2018-20126.patch deleted file mode 100644 index 8329f2cfd..000000000 --- a/poky/meta/recipes-devtools/qemu/qemu/0017-fix-CVE-2018-20126.patch +++ /dev/null @@ -1,113 +0,0 @@ -CVE: CVE-2018-20126 -Upstream-Status: Backport [https://git.qemu.org/?p=qemu.git;a=commit;h=509f57c] - -Backport and rebase patch to fix CVE-2018-20126. - -Signed-off-by: Kai Kang <kai.kang@windriver.com> - -From 509f57c98e7536905bb4902363d0cba66ce7e089 Mon Sep 17 00:00:00 2001 -From: Prasad J Pandit <pjp@fedoraproject.org> -Date: Thu, 13 Dec 2018 01:00:37 +0530 -Subject: [PATCH] pvrdma: release ring object in case of an error - -create_cq and create_qp routines allocate ring object, but it's -not released in case of an error, leading to memory leakage. - -Reported-by: Li Qiang <liq3ea@163.com> -Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org> -Reviewed-by: Yuval Shaia <yuval.shaia@oracle.com> -Signed-off-by: Marcel Apfelbaum <marcel.apfelbaum@gmail.com> ---- - hw/rdma/vmw/pvrdma_cmd.c | 41 ++++++++++++++++++++++++++++++----------- - 1 file changed, 30 insertions(+), 11 deletions(-) - -diff --git a/hw/rdma/vmw/pvrdma_cmd.c b/hw/rdma/vmw/pvrdma_cmd.c -index 4faeb21..9b6796f 100644 ---- a/hw/rdma/vmw/pvrdma_cmd.c -+++ b/hw/rdma/vmw/pvrdma_cmd.c -@@ -310,6 +310,14 @@ out: - return rc; - } - -+static void destroy_cq_ring(PvrdmaRing *ring) -+{ -+ pvrdma_ring_free(ring); -+ /* ring_state was in slot 1, not 0 so need to jump back */ -+ rdma_pci_dma_unmap(ring->dev, --ring->ring_state, TARGET_PAGE_SIZE); -+ g_free(ring); -+} -+ - static int create_cq(PVRDMADev *dev, union pvrdma_cmd_req *req, - union pvrdma_cmd_resp *rsp) - { -@@ -333,6 +341,10 @@ static int create_cq(PVRDMADev *dev, union pvrdma_cmd_req *req, - - resp->hdr.err = rdma_rm_alloc_cq(&dev->rdma_dev_res, &dev->backend_dev, - cmd->cqe, &resp->cq_handle, ring); -+ if (resp->hdr.err) { -+ destroy_cq_ring(ring); -+ } -+ - resp->cqe = cmd->cqe; - - out: -@@ -356,10 +368,7 @@ static int destroy_cq(PVRDMADev *dev, union pvrdma_cmd_req *req, - } - - ring = (PvrdmaRing *)cq->opaque; -- pvrdma_ring_free(ring); -- /* ring_state was in slot 1, not 0 so need to jump back */ -- rdma_pci_dma_unmap(PCI_DEVICE(dev), --ring->ring_state, TARGET_PAGE_SIZE); -- g_free(ring); -+ destroy_cq_ring(ring); - - rdma_rm_dealloc_cq(&dev->rdma_dev_res, cmd->cq_handle); - -@@ -451,6 +460,17 @@ out: - return rc; - } - -+static void destroy_qp_rings(PvrdmaRing *ring) -+{ -+ pr_dbg("sring=%p\n", &ring[0]); -+ pvrdma_ring_free(&ring[0]); -+ pr_dbg("rring=%p\n", &ring[1]); -+ pvrdma_ring_free(&ring[1]); -+ -+ rdma_pci_dma_unmap(ring->dev, ring->ring_state, TARGET_PAGE_SIZE); -+ g_free(ring); -+} -+ - static int create_qp(PVRDMADev *dev, union pvrdma_cmd_req *req, - union pvrdma_cmd_resp *rsp) - { -@@ -482,6 +502,11 @@ static int create_qp(PVRDMADev *dev, union pvrdma_cmd_req *req, - cmd->max_recv_wr, cmd->max_recv_sge, - cmd->recv_cq_handle, rings, &resp->qpn); - -+ if (resp->hdr.err) { -+ destroy_qp_rings(rings); -+ return resp->hdr.err; -+ } -+ - resp->max_send_wr = cmd->max_send_wr; - resp->max_recv_wr = cmd->max_recv_wr; - resp->max_send_sge = cmd->max_send_sge; -@@ -555,13 +580,7 @@ static int destroy_qp(PVRDMADev *dev, union pvrdma_cmd_req *req, - rdma_rm_dealloc_qp(&dev->rdma_dev_res, cmd->qp_handle); - - ring = (PvrdmaRing *)qp->opaque; -- pr_dbg("sring=%p\n", &ring[0]); -- pvrdma_ring_free(&ring[0]); -- pr_dbg("rring=%p\n", &ring[1]); -- pvrdma_ring_free(&ring[1]); -- -- rdma_pci_dma_unmap(PCI_DEVICE(dev), ring->ring_state, TARGET_PAGE_SIZE); -- g_free(ring); -+ destroy_qp_rings(ring); - - return 0; - } --- -2.20.1 - diff --git a/poky/meta/recipes-devtools/qemu/qemu/0018-fix-CVE-2018-20191.patch b/poky/meta/recipes-devtools/qemu/qemu/0018-fix-CVE-2018-20191.patch deleted file mode 100644 index 8f8ff0567..000000000 --- a/poky/meta/recipes-devtools/qemu/qemu/0018-fix-CVE-2018-20191.patch +++ /dev/null @@ -1,47 +0,0 @@ -CVE: CVE-2018-20191 -Upstream-Status: Backport [https://git.qemu.org/?p=qemu.git;a=commit;h=2aa8645] - -Signed-off-by: Kai Kang <kai.kang@windriver.com> - -From 2aa86456fb938a11f2b7bd57c8643c213218681c Mon Sep 17 00:00:00 2001 -From: Prasad J Pandit <pjp@fedoraproject.org> -Date: Thu, 13 Dec 2018 01:00:35 +0530 -Subject: [PATCH] pvrdma: add uar_read routine - -Define skeleton 'uar_read' routine. Avoid NULL dereference. - -Reported-by: Li Qiang <liq3ea@163.com> -Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org> -Reviewed-by: Marcel Apfelbaum <marcel.apfelbaum@gmail.com> -Signed-off-by: Marcel Apfelbaum <marcel.apfelbaum@gmail.com> ---- - hw/rdma/vmw/pvrdma_main.c | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/hw/rdma/vmw/pvrdma_main.c b/hw/rdma/vmw/pvrdma_main.c -index 64de16fb52..838ad8a949 100644 ---- a/hw/rdma/vmw/pvrdma_main.c -+++ b/hw/rdma/vmw/pvrdma_main.c -@@ -448,6 +448,11 @@ static const MemoryRegionOps regs_ops = { - }, - }; - -+static uint64_t uar_read(void *opaque, hwaddr addr, unsigned size) -+{ -+ return 0xffffffff; -+} -+ - static void uar_write(void *opaque, hwaddr addr, uint64_t val, unsigned size) - { - PVRDMADev *dev = opaque; -@@ -489,6 +494,7 @@ static void uar_write(void *opaque, hwaddr addr, uint64_t val, unsigned size) - } - - static const MemoryRegionOps uar_ops = { -+ .read = uar_read, - .write = uar_write, - .endianness = DEVICE_LITTLE_ENDIAN, - .impl = { --- -2.20.1 - diff --git a/poky/meta/recipes-devtools/qemu/qemu/0019-fix-CVE-2018-20216.patch b/poky/meta/recipes-devtools/qemu/qemu/0019-fix-CVE-2018-20216.patch deleted file mode 100644 index c02bad3bb..000000000 --- a/poky/meta/recipes-devtools/qemu/qemu/0019-fix-CVE-2018-20216.patch +++ /dev/null @@ -1,85 +0,0 @@ -CVE: CVE-2018-20216 -Upstream-Status: Backport [https://git.qemu.org/?p=qemu.git;a=commit;h=f1e2e38] - -Signed-off-by: Kai Kang <kai.kang@windriver.com> - -From f1e2e38ee0136b7710a2caa347049818afd57a1b Mon Sep 17 00:00:00 2001 -From: Prasad J Pandit <pjp@fedoraproject.org> -Date: Thu, 13 Dec 2018 01:00:39 +0530 -Subject: [PATCH] pvrdma: check return value from pvrdma_idx_ring_has_ routines - -pvrdma_idx_ring_has_[data/space] routines also return invalid -index PVRDMA_INVALID_IDX[=-1], if ring has no data/space. Check -return value from these routines to avoid plausible infinite loops. - -Reported-by: Li Qiang <liq3ea@163.com> -Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org> -Reviewed-by: Yuval Shaia <yuval.shaia@oracle.com> -Signed-off-by: Marcel Apfelbaum <marcel.apfelbaum@gmail.com> ---- - hw/rdma/vmw/pvrdma_dev_ring.c | 29 +++++++++++------------------ - 1 file changed, 11 insertions(+), 18 deletions(-) - -diff --git a/hw/rdma/vmw/pvrdma_dev_ring.c b/hw/rdma/vmw/pvrdma_dev_ring.c -index 01247fc041..e8e5b502f6 100644 ---- a/hw/rdma/vmw/pvrdma_dev_ring.c -+++ b/hw/rdma/vmw/pvrdma_dev_ring.c -@@ -73,23 +73,16 @@ out: - - void *pvrdma_ring_next_elem_read(PvrdmaRing *ring) - { -+ int e; - unsigned int idx = 0, offset; - -- /* -- pr_dbg("%s: t=%d, h=%d\n", ring->name, ring->ring_state->prod_tail, -- ring->ring_state->cons_head); -- */ -- -- if (!pvrdma_idx_ring_has_data(ring->ring_state, ring->max_elems, &idx)) { -+ e = pvrdma_idx_ring_has_data(ring->ring_state, ring->max_elems, &idx); -+ if (e <= 0) { - pr_dbg("No more data in ring\n"); - return NULL; - } - - offset = idx * ring->elem_sz; -- /* -- pr_dbg("idx=%d\n", idx); -- pr_dbg("offset=%d\n", offset); -- */ - return ring->pages[offset / TARGET_PAGE_SIZE] + (offset % TARGET_PAGE_SIZE); - } - -@@ -105,20 +98,20 @@ void pvrdma_ring_read_inc(PvrdmaRing *ring) - - void *pvrdma_ring_next_elem_write(PvrdmaRing *ring) - { -- unsigned int idx, offset, tail; -+ int idx; -+ unsigned int offset, tail; - -- /* -- pr_dbg("%s: t=%d, h=%d\n", ring->name, ring->ring_state->prod_tail, -- ring->ring_state->cons_head); -- */ -- -- if (!pvrdma_idx_ring_has_space(ring->ring_state, ring->max_elems, &tail)) { -+ idx = pvrdma_idx_ring_has_space(ring->ring_state, ring->max_elems, &tail); -+ if (idx <= 0) { - pr_dbg("CQ is full\n"); - return NULL; - } - - idx = pvrdma_idx(&ring->ring_state->prod_tail, ring->max_elems); -- /* TODO: tail == idx */ -+ if (idx < 0 || tail != idx) { -+ pr_dbg("invalid idx\n"); -+ return NULL; -+ } - - offset = idx * ring->elem_sz; - return ring->pages[offset / TARGET_PAGE_SIZE] + (offset % TARGET_PAGE_SIZE); --- -2.20.1 - diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2019-3812.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2019-3812.patch deleted file mode 100644 index 7de5882b3..000000000 --- a/poky/meta/recipes-devtools/qemu/qemu/CVE-2019-3812.patch +++ /dev/null @@ -1,39 +0,0 @@ -QEMU, through version 2.10 and through version 3.1.0, is vulnerable to an -out-of-bounds read of up to 128 bytes in the hw/i2c/i2c-ddc.c:i2c_ddc() -function. A local attacker with permission to execute i2c commands could exploit -this to read stack memory of the qemu process on the host. - -CVE: CVE-2019-3812 -Upstream-Status: Backport -Signed-off-by: Ross Burton <ross.burton@intel.com> - -From b05b267840515730dbf6753495d5b7bd8b04ad1c Mon Sep 17 00:00:00 2001 -From: Gerd Hoffmann <kraxel@redhat.com> -Date: Tue, 8 Jan 2019 11:23:01 +0100 -Subject: [PATCH] i2c-ddc: fix oob read -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Suggested-by: Michael Hanselmann <public@hansmi.ch> -Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> -Reviewed-by: Michael Hanselmann <public@hansmi.ch> -Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> -Message-id: 20190108102301.1957-1-kraxel@redhat.com ---- - hw/i2c/i2c-ddc.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/hw/i2c/i2c-ddc.c b/hw/i2c/i2c-ddc.c -index be34fe072cf..0a0367ff38f 100644 ---- a/hw/i2c/i2c-ddc.c -+++ b/hw/i2c/i2c-ddc.c -@@ -56,7 +56,7 @@ static int i2c_ddc_rx(I2CSlave *i2c) - I2CDDCState *s = I2CDDC(i2c); - - int value; -- value = s->edid_blob[s->reg]; -+ value = s->edid_blob[s->reg % sizeof(s->edid_blob)]; - s->reg++; - return value; - } diff --git a/poky/meta/recipes-devtools/qemu/qemu_3.1.0.bb b/poky/meta/recipes-devtools/qemu/qemu_4.0.0.bb index 04d8bee99..247e0311e 100644 --- a/poky/meta/recipes-devtools/qemu/qemu_3.1.0.bb +++ b/poky/meta/recipes-devtools/qemu/qemu_4.0.0.bb @@ -18,5 +18,3 @@ PACKAGECONFIG ??= " \ ${@bb.utils.filter('DISTRO_FEATURES', 'alsa xen', d)} \ " PACKAGECONFIG_class-nativesdk ??= "fdt sdl kvm" - - diff --git a/poky/meta/recipes-devtools/ruby/ruby.inc b/poky/meta/recipes-devtools/ruby/ruby.inc index eaf5d13ac..1ecd087d7 100644 --- a/poky/meta/recipes-devtools/ruby/ruby.inc +++ b/poky/meta/recipes-devtools/ruby/ruby.inc @@ -14,7 +14,7 @@ LIC_FILES_CHKSUM = "\ file://LEGAL;md5=23a79bb4c1a40f6cc9bcb6f4e7c39799 \ " -DEPENDS = "ruby-native zlib openssl tcl libyaml gdbm readline" +DEPENDS = "ruby-native zlib openssl tcl libyaml gdbm readline libffi" DEPENDS_class-native = "openssl-native libyaml-native readline-native" SHRT_VER = "${@oe.utils.trim_version("${PV}", 2)}" @@ -24,7 +24,7 @@ SRC_URI = "http://cache.ruby-lang.org/pub/ruby/${SHRT_VER}/ruby-${PV}.tar.gz \ " UPSTREAM_CHECK_URI = "https://www.ruby-lang.org/en/downloads/" -inherit autotools +inherit autotools ptest # This snippet lets compiled extensions which rely on external libraries, diff --git a/poky/meta/recipes-devtools/ruby/ruby/run-ptest b/poky/meta/recipes-devtools/ruby/ruby/run-ptest new file mode 100644 index 000000000..de7c415ab --- /dev/null +++ b/poky/meta/recipes-devtools/ruby/ruby/run-ptest @@ -0,0 +1,13 @@ +#!/bin/sh + +test_fullname=`find test -name test_*.rb` + +for i in ${test_fullname}; do + ruby ./test/runner.rb ${i} 2>&1 > /dev/null + ret=$? + if [ $ret != 0 ]; then + echo "FAIL: ${i}" + else + echo "PASS: ${i}" + fi +done diff --git a/poky/meta/recipes-devtools/ruby/ruby_2.5.3.bb b/poky/meta/recipes-devtools/ruby/ruby_2.5.3.bb index 3fb427e90..519daf294 100644 --- a/poky/meta/recipes-devtools/ruby/ruby_2.5.3.bb +++ b/poky/meta/recipes-devtools/ruby/ruby_2.5.3.bb @@ -3,6 +3,7 @@ require ruby.inc SRC_URI += " \ file://ruby-CVE-2017-9226.patch \ file://ruby-CVE-2017-9228.patch \ + file://run-ptest \ " SRC_URI[md5sum] = "20c85b67846d49622ef3b24230803fef" @@ -28,6 +29,7 @@ EXTRA_OECONF = "\ --disable-dtrace \ --enable-shared \ --enable-load-relative \ + --with-pkg-config=pkg-config \ " do_install() { @@ -54,6 +56,13 @@ do_install_append_class-target () { } +do_install_ptest () { + cp -rf ${S}/test ${D}${PTEST_PATH}/ + cp -r ${S}/include ${D}/${libdir}/ruby/ + test_case_rb=`grep rubygems/test_case.rb ${B}/.installed.list` + sed -i -e 's:../../../test/:../../../ptest/test/:g' ${D}/$test_case_rb +} + PACKAGES =+ "${PN}-ri-docs ${PN}-rdoc" SUMMARY_${PN}-ri-docs = "ri (Ruby Interactive) documentation for the Ruby standard library" @@ -66,4 +75,6 @@ FILES_${PN}-rdoc += "${libdir}/ruby/*/rdoc ${bindir}/rdoc" FILES_${PN} += "${datadir}/rubygems" +FILES_${PN}-ptest_append_class-target += "${libdir}/ruby/include" + BBCLASSEXTEND = "native" diff --git a/poky/meta/recipes-devtools/run-postinsts/run-postinsts/run-postinsts b/poky/meta/recipes-devtools/run-postinsts/run-postinsts/run-postinsts index 95eff04e1..f84a7e18c 100755 --- a/poky/meta/recipes-devtools/run-postinsts/run-postinsts/run-postinsts +++ b/poky/meta/recipes-devtools/run-postinsts/run-postinsts/run-postinsts @@ -67,7 +67,7 @@ exec_postinst_scriptlets() { echo "Running postinst $i..." [ "$POSTINST_LOGGING" = "1" ] && eval echo "Running postinst $i..." $append_log if [ -x $i ]; then - eval sh -c $i $append_log + (sh -c $i $append_log) rm $i else echo "ERROR: postinst $i failed." diff --git a/poky/meta/recipes-devtools/squashfs-tools/squashfs-tools_git.bb b/poky/meta/recipes-devtools/squashfs-tools/squashfs-tools_git.bb index e871f1cbf..5a8b5f77b 100644 --- a/poky/meta/recipes-devtools/squashfs-tools/squashfs-tools_git.bb +++ b/poky/meta/recipes-devtools/squashfs-tools/squashfs-tools_git.bb @@ -44,3 +44,5 @@ ARM_INSTRUCTION_SET_armv5 = "arm" ARM_INSTRUCTION_SET_armv6 = "arm" BBCLASSEXTEND = "native nativesdk" + +CVE_PRODUCT = "squashfs" diff --git a/poky/meta/recipes-devtools/subversion/subversion/disable_macos.patch b/poky/meta/recipes-devtools/subversion/subversion/disable_macos.patch index ec3be496f..8d2d63599 100644 --- a/poky/meta/recipes-devtools/subversion/subversion/disable_macos.patch +++ b/poky/meta/recipes-devtools/subversion/subversion/disable_macos.patch @@ -1,15 +1,25 @@ -These tests don't work in cross compiling, just disable them for now, we don't -build subversion on OS-X at this time. +From 9c350c037ca3489dbeece6ecc2d7e2e5dbb177e9 Mon Sep 17 00:00:00 2001 +From: Hongxu Jia <hongxu.jia@windriver.com> +Date: Sat, 11 May 2019 15:21:46 +0800 +Subject: [PATCH] These tests don't work in cross compiling, just disable them + for now, we don't build subversion on OS-X at this time. RP 1014/7/16 Upstream-Status: Pending [needs a rewrite to support a cache value] -Index: subversion-1.8.9/build/ac-macros/macosx.m4 -=================================================================== ---- subversion-1.8.9.orig/build/ac-macros/macosx.m4 2012-11-26 03:04:27.000000000 +0000 -+++ subversion-1.8.9/build/ac-macros/macosx.m4 2014-07-16 12:28:58.357300403 +0000 -@@ -24,21 +24,7 @@ +Rebase to 1.12.0 + +Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> +--- + build/ac-macros/macosx.m4 | 31 +------------------------------ + 1 file changed, 1 insertion(+), 30 deletions(-) + +diff --git a/build/ac-macros/macosx.m4 b/build/ac-macros/macosx.m4 +index 92fa58e..a568e1c 100644 +--- a/build/ac-macros/macosx.m4 ++++ b/build/ac-macros/macosx.m4 +@@ -24,21 +24,7 @@ dnl Check for _dyld_image_name and _dyld_image_header availability AC_DEFUN(SVN_LIB_MACHO_ITERATE, [ AC_MSG_CHECKING([for Mach-O dynamic module iteration functions]) @@ -31,7 +41,7 @@ Index: subversion-1.8.9/build/ac-macros/macosx.m4 ]) dnl SVN_LIB_MACOS_PLIST -@@ -46,34 +32,7 @@ +@@ -46,23 +32,8 @@ dnl Assign variables for Mac OS property list support AC_DEFUN(SVN_LIB_MACOS_PLIST, [ AC_MSG_CHECKING([for Mac OS property list utilities]) @@ -44,25 +54,18 @@ Index: subversion-1.8.9/build/ac-macros/macosx.m4 - #error ProperyList API unavailable. - #endif - ]],[[]])],[ -- dnl ### Hack. We should only need to pass the -framework options when -- dnl linking libsvn_subr, since it is the only library that uses Keychain. -- dnl -- dnl Unfortunately, libtool 1.5.x doesn't track transitive dependencies for -- dnl OS X frameworks like it does for normal libraries, so we need to -- dnl explicitly pass the option to all the users of libsvn_subr to allow -- dnl static builds to link successfully. -- dnl -- dnl This does mean that all executables we link will be linked directly -- dnl to these frameworks - even when building shared libraries - but that -- dnl shouldn't cause any problems. -- -- LIBS="$LIBS -framework CoreFoundation" +- SVN_MACOS_PLIST_LIBS="-framework CoreFoundation" +- AC_SUBST(SVN_MACOS_PLIST_LIBS) - AC_DEFINE([SVN_HAVE_MACOS_PLIST], [1], - [Is Mac OS property list API available?]) - AC_MSG_RESULT([yes]) - ],[ ++ AC_SUBST([SVN_MACOS_PLIST_LIBS], [""]) AC_MSG_RESULT([no]) - ]) ]) dnl SVN_LIB_MACOS_KEYCHAIN +-- +2.7.4 + diff --git a/poky/meta/recipes-devtools/subversion/subversion/serfmacro.patch b/poky/meta/recipes-devtools/subversion/subversion/serfmacro.patch index 9a45cb9a0..507de0f08 100644 --- a/poky/meta/recipes-devtools/subversion/subversion/serfmacro.patch +++ b/poky/meta/recipes-devtools/subversion/subversion/serfmacro.patch @@ -1,22 +1,31 @@ -The existing sed expression can match expressions like ---sysroot=/some/path/xxx-linux/ which clearly isn't intended and -injects incorrect paths into LDFLAGS. +The existing sed expression can match expressions like +--sysroot=/some/path/xxx-linux/ which clearly isn't intended and injects +incorrect paths into LDFLAGS. Fix this in the same way we address the problem in CFLAGS. RP 2016/12/7 Upstream-Status: Pending -Index: subversion-1.9.4/build/ac-macros/serf.m4 -=================================================================== ---- subversion-1.9.4.orig/build/ac-macros/serf.m4 -+++ subversion-1.9.4/build/ac-macros/serf.m4 +Rebase 1.12.0 +Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> +--- + build/ac-macros/serf.m4 | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/build/ac-macros/serf.m4 b/build/ac-macros/serf.m4 +index 0a549b3..3a069ac 100644 +--- a/build/ac-macros/serf.m4 ++++ b/build/ac-macros/serf.m4 @@ -171,7 +171,7 @@ AC_DEFUN(SVN_SERF_PKG_CONFIG, - SVN_SERF_INCLUDES=[`$PKG_CONFIG $serf_pc_arg --cflags | $SED -e 's/ -D[^ ]*//g' -e 's/^-D[^ ]*//g'`] - SVN_SERF_LIBS=`$PKG_CONFIG $serf_pc_arg --libs-only-l` + SVN_SERF_INCLUDES=[`$PKG_CONFIG $serf_pc_arg --cflags-only-I`] + SVN_SERF_LIBS=[`$PKG_CONFIG $serf_pc_arg --libs-only-l`] dnl don't use --libs-only-L because then we might miss some options - LDFLAGS=["$LDFLAGS `$PKG_CONFIG $serf_pc_arg --libs | $SED -e 's/-l[^ ]*//g'`"] + LDFLAGS=["$LDFLAGS `$PKG_CONFIG $serf_pc_arg --libs | $SED -e 's/ -l[^ ]*//g' -e 's/^-l[^ ]*//g'`"] break else AC_MSG_RESULT([no]) +-- +2.7.4 + diff --git a/poky/meta/recipes-devtools/subversion/subversion/subversion-1.12.0-apr_1.7.0_fix-1.patch b/poky/meta/recipes-devtools/subversion/subversion/subversion-1.12.0-apr_1.7.0_fix-1.patch new file mode 100644 index 000000000..f0edd5fe8 --- /dev/null +++ b/poky/meta/recipes-devtools/subversion/subversion/subversion-1.12.0-apr_1.7.0_fix-1.patch @@ -0,0 +1,107 @@ +From b147803553237654f8268e831dee8fed4989ad3b Mon Sep 17 00:00:00 2001 +From: Hongxu Jia <hongxu.jia@windriver.com> +Date: Sat, 11 May 2019 14:46:39 +0800 +Subject: [PATCH] Submitted By: Pierre Labastie (pierre dot labastie at neuf + dot fr) Date: 2019-04-17 Initial Package Version: 1.11.1 Origin: Upstream + revision 1857391 Upstream Status: Committed Description: Get rid of + apr_int64_t format string check in swig py configure. + +This check relied on APR implementation details and broke with APR 1.7.0. +Rather than trying to guess a perfect format string to use, just use the +largest possible format and cast the argument accordingly. + +Should fix build against APR 1.7.0 and later. + +Suggested by: brane + +* build/ac-macros/swig.m4: Remove code related to SVN_APR_INT64_T_PYCFMT. + +* subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c + (svn_swig_py_client_blame_receiver_func): Stop relying on the + SVN_APR_INT64_T_PYCFMT constant from configure. Use "L" and + acast to PY_LONG_LONG instead. + +Upstream-Status: Backport [www.linuxfromscratch.org/patches/blfs/svn/subversion-1.12.0-apr_1.7.0_fix-1.patch] + +Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> +--- + build/ac-macros/swig.m4 | 35 ---------------------- + .../swig/python/libsvn_swig_py/swigutil_py.c | 9 +++--- + 2 files changed, 4 insertions(+), 40 deletions(-) + +diff --git a/build/ac-macros/swig.m4 b/build/ac-macros/swig.m4 +index 55501fb..2963872 100644 +--- a/build/ac-macros/swig.m4 ++++ b/build/ac-macros/swig.m4 +@@ -128,41 +128,6 @@ AC_DEFUN(SVN_FIND_SWIG, + ac_cv_python_libs="`$PYTHON ${abs_srcdir}/build/get-py-info.py --libs`" + ]) + SWIG_PY_LIBS="`SVN_REMOVE_STANDARD_LIB_DIRS($ac_cv_python_libs)`" +- +- dnl Sun Forte adds an extra space before substituting APR_INT64_T_FMT +- dnl gcc-2.95 adds an extra space after substituting APR_INT64_T_FMT +- dnl thus the egrep patterns have a + in them. +- SVN_PYCFMT_SAVE_CPPFLAGS="$CPPFLAGS" +- CPPFLAGS="$CPPFLAGS $SVN_APR_INCLUDES" +- AC_CACHE_CHECK([for apr_int64_t Python/C API format string], +- [svn_cv_pycfmt_apr_int64_t], [ +- if test "x$svn_cv_pycfmt_apr_int64_t" = "x"; then +- AC_EGREP_CPP([MaTcHtHiS +\"lld\" +EnDeNd], +- [#include <apr.h> +- MaTcHtHiS APR_INT64_T_FMT EnDeNd], +- [svn_cv_pycfmt_apr_int64_t="L"]) +- fi +- if test "x$svn_cv_pycfmt_apr_int64_t" = "x"; then +- AC_EGREP_CPP([MaTcHtHiS +\"ld\" +EnDeNd],r +- [#include <apr.h> +- MaTcHtHiS APR_INT64_T_FMT EnDeNd], +- [svn_cv_pycfmt_apr_int64_t="l"]) +- fi +- if test "x$svn_cv_pycfmt_apr_int64_t" = "x"; then +- AC_EGREP_CPP([MaTcHtHiS +\"d\" +EnDeNd], +- [#include <apr.h> +- MaTcHtHiS APR_INT64_T_FMT EnDeNd], +- [svn_cv_pycfmt_apr_int64_t="i"]) +- fi +- ]) +- CPPFLAGS="$SVN_PYCFMT_SAVE_CPPFLAGS" +- if test "x$svn_cv_pycfmt_apr_int64_t" = "x"; then +- AC_MSG_ERROR([failed to recognize APR_INT64_T_FMT on this platform]) +- fi +- AC_DEFINE_UNQUOTED([SVN_APR_INT64_T_PYCFMT], +- ["$svn_cv_pycfmt_apr_int64_t"], +- [Define to the Python/C API format character suitable] +- [ for apr_int64_t]) + fi + + if test "$PERL" != "none"; then +diff --git a/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c b/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c +index 2c90a6a..abe5a2a 100644 +--- a/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c ++++ b/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c +@@ -46,7 +46,7 @@ + #include "svn_mergeinfo.h" + #include "svn_types.h" + +-#include "svn_private_config.h" /* for SVN_APR_INT64_T_PYCFMT */ ++#include "svn_private_config.h" + + #include "swig_python_external_runtime.swg" + #include "swigutil_py.h" +@@ -3394,10 +3394,9 @@ svn_error_t *svn_swig_py_client_blame_receiver_func(void *baton, + svn_swig_py_acquire_py_lock(); + + if ((result = PyObject_CallFunction(receiver, +- (char *) +- (SVN_APR_INT64_T_PYCFMT "lsssO&"), +- line_no, revision, author, date, line, +- make_ob_pool, pool)) == NULL) ++ (char *)"LlsssO&", ++ (PY_LONG_LONG)line_no, revision, author, ++ date, line, make_ob_pool, pool)) == NULL) + { + err = callback_exception_error(); + } +-- +2.7.4 + diff --git a/poky/meta/recipes-devtools/subversion/subversion_1.11.1.bb b/poky/meta/recipes-devtools/subversion/subversion_1.12.0.bb index 8abac7408..f059ff9ff 100644 --- a/poky/meta/recipes-devtools/subversion/subversion_1.11.1.bb +++ b/poky/meta/recipes-devtools/subversion/subversion_1.12.0.bb @@ -2,7 +2,7 @@ SUMMARY = "Subversion (svn) version control system client" HOMEPAGE = "http://subversion.apache.org" SECTION = "console/network" LICENSE = "Apache-2 & MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=83206f39819e7a4dfca2ff7c190f6ce0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=6487ae7094d359fa90fb9c4096e52e2b" DEPENDS = "apr-util serf sqlite3 file lz4" DEPENDS_append_class-native = " file-replacement-native" @@ -11,10 +11,11 @@ SRC_URI = "${APACHE_MIRROR}/${BPN}/${BPN}-${PV}.tar.bz2 \ file://disable_macos.patch \ file://0001-Fix-libtool-name-in-configure.ac.patch \ file://serfmacro.patch \ + file://subversion-1.12.0-apr_1.7.0_fix-1.patch \ " -SRC_URI[md5sum] = "5797bf701d2d868fa964c7bbc4931267" -SRC_URI[sha256sum] = "9efd2750ca4d72ec903431a24b9c732b6cbb84aad9b7563f59dd96dea5be60bb" +SRC_URI[md5sum] = "be4f5c0b1b38a5d82bd6d16a16ff1346" +SRC_URI[sha256sum] = "7fae7c73d8a007c107c0ae5eb372bc0bb013dbfe966fcd5c59cd5a195a5e2edf" inherit autotools pkgconfig gettext diff --git a/poky/meta/recipes-devtools/vala/vala.inc b/poky/meta/recipes-devtools/vala/vala.inc index f680640ca..703ed1aa8 100644 --- a/poky/meta/recipes-devtools/vala/vala.inc +++ b/poky/meta/recipes-devtools/vala/vala.inc @@ -37,7 +37,7 @@ EOF chmod +x ${B}/vapigen-wrapper } -EXTRA_OECONF += " --disable-graphviz" +EXTRA_OECONF += " --disable-valadoc" # Vapigen wrapper needs to be available system-wide, because it will be used # to build vapi files from all other packages with vala support diff --git a/poky/meta/recipes-devtools/vala/vala/0001-Disable-valadoc.patch b/poky/meta/recipes-devtools/vala/vala/0001-Disable-valadoc.patch deleted file mode 100644 index 9b27b7fd1..000000000 --- a/poky/meta/recipes-devtools/vala/vala/0001-Disable-valadoc.patch +++ /dev/null @@ -1,32 +0,0 @@ -From b6ca3876e233c724fd460c1579abc4ab63c8d01e Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin <alex.kanavin@gmail.com> -Date: Wed, 4 Oct 2017 15:23:08 +0300 -Subject: [PATCH] Disable valadoc - -Valadoc is a documentation generator for Vala sources, which was -recently merged into the main vala source tree. Unsurprisingly, -it's broken in cross-compile environment in multiple ways, -so let's fix it some other time. - -Upstream-Status: Inappropriate [oe-core specific] -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> ---- - Makefile.am | 2 -- - 1 file changed, 2 deletions(-) - -diff --git a/Makefile.am b/Makefile.am -index e5dc0cc..813b3fc 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -13,8 +13,6 @@ SUBDIRS = \ - doc \ - gobject-introspection \ - vapigen \ -- libvaladoc \ -- valadoc \ - $(NULL) - - if ENABLE_UNVERSIONED --- -2.14.1 - diff --git a/poky/meta/recipes-devtools/vala/vala/disable-graphviz.patch b/poky/meta/recipes-devtools/vala/vala/disable-graphviz.patch deleted file mode 100644 index e521bc854..000000000 --- a/poky/meta/recipes-devtools/vala/vala/disable-graphviz.patch +++ /dev/null @@ -1,226 +0,0 @@ -From b2723ff18b70c67c8a7fab5375a7f3c442d49790 Mon Sep 17 00:00:00 2001 -From: Rico Tzschichholz <ricotz@ubuntu.com> -Date: Wed, 6 Sep 2017 18:52:55 +0200 -Subject: [PATCH] libvaladoc: Allow disabling the graphviz dependency of - - valadoc - -https://bugzilla.gnome.org/show_bug.cgi?id=787375 -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> -Upstream-Status: Submitted [bugzilla link above] - ---- - configure.ac | 60 ++++++++++++++------------- - libvaladoc/Makefile.am | 25 ++++++++--- - libvaladoc/html/basicdoclet.vala | 8 ++++ - libvaladoc/html/htmlmarkupwriter.vala | 4 ++ - 4 files changed, 63 insertions(+), 34 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 730c72d..af81986 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -119,34 +119,38 @@ PKG_CHECK_MODULES(GMODULE, gmodule-2.0 >= $GLIB_REQUIRED) - AC_SUBST(GMODULE_CFLAGS) - AC_SUBST(GMODULE_LIBS) - --PKG_CHECK_MODULES(LIBGVC, libgvc >= $LIBGVC_REQUIRED) --AC_MSG_CHECKING([for CGRAPH]) --cgraph_tmp_LIBADD="$LIBADD" --cgraph_tmp_CFLAGS="$CFLAGS" --LIBADD="$LIBADD $LIBGVC_LIBS" --CFLAGS="$CFLAGS $LIBGVC_CFLAGS" --AC_RUN_IFELSE( -- [AC_LANG_SOURCE([ -- #include <gvc.h> -- -- int main(void) { -- #ifdef WITH_CGRAPH -- return 0; -- #else -- return -1; -- #endif -- } -- ])], [ -- AC_MSG_RESULT([yes]) -- VALAFLAGS="$VALAFLAGS -D WITH_CGRAPH" -- have_cgraph=yes -- ], [ -- AC_MSG_RESULT([no]) -- have_cgraph=no -- ] --) --LIBADD="$cgraph_tmp_LIBADD" --CFLAGS="$cgraph_tmp_CFLAGS" -+AC_ARG_ENABLE(graphviz, AS_HELP_STRING([--disable-graphviz], [Disable graphviz usage for valadoc]), enable_graphviz=$enableval, enable_graphviz=yes) -+if test x$enable_graphviz = xyes; then -+ PKG_CHECK_MODULES(LIBGVC, libgvc >= $LIBGVC_REQUIRED) -+ AC_MSG_CHECKING([for CGRAPH]) -+ VALAFLAGS="$VALAFLAGS -D HAVE_GRAPHVIZ" -+ cgraph_tmp_LIBADD="$LIBADD" -+ cgraph_tmp_CFLAGS="$CFLAGS" -+ LIBADD="$LIBADD $LIBGVC_LIBS" -+ CFLAGS="$CFLAGS $LIBGVC_CFLAGS" -+ AC_RUN_IFELSE( -+ [AC_LANG_SOURCE([ -+ #include <gvc.h> -+ int main(void) { -+ #ifdef WITH_CGRAPH -+ return 0; -+ #else -+ return -1; -+ #endif -+ } -+ ])], [ -+ AC_MSG_RESULT([yes]) -+ VALAFLAGS="$VALAFLAGS -D WITH_CGRAPH" -+ have_cgraph=yes -+ ], [ -+ AC_MSG_RESULT([no]) -+ have_cgraph=no -+ ] -+ ) -+ LIBADD="$cgraph_tmp_LIBADD" -+ CFLAGS="$cgraph_tmp_CFLAGS" -+fi -+AM_CONDITIONAL(ENABLE_GRAPHVIZ, test x$enable_graphviz = xyes) - AM_CONDITIONAL(HAVE_CGRAPH, test "$have_cgraph" = "yes") - - AC_PATH_PROG([XSLTPROC], [xsltproc], :) -diff --git a/libvaladoc/Makefile.am b/libvaladoc/Makefile.am -index f3f790e..3c5dc4c 100644 ---- a/libvaladoc/Makefile.am -+++ b/libvaladoc/Makefile.am -@@ -128,10 +128,6 @@ libvaladoc_la_VALASOURCES = \ - content/tablerow.vala \ - content/taglet.vala \ - content/text.vala \ -- charts/chart.vala \ -- charts/chartfactory.vala \ -- charts/hierarchychart.vala \ -- charts/simplechartfactory.vala \ - parser/manyrule.vala \ - parser/oneofrule.vala \ - parser/optionalrule.vala \ -@@ -158,13 +154,24 @@ libvaladoc_la_VALASOURCES = \ - highlighter/codetoken.vala \ - highlighter/highlighter.vala \ - html/basicdoclet.vala \ -- html/htmlchartfactory.vala \ - html/linkhelper.vala \ - html/cssclassresolver.vala \ - html/htmlmarkupwriter.vala \ - html/htmlrenderer.vala \ - $(NULL) - -+if ENABLE_GRAPHVIZ -+libvaladoc_la_VALASOURCES += \ -+ charts/chart.vala \ -+ charts/chartfactory.vala \ -+ charts/hierarchychart.vala \ -+ charts/simplechartfactory.vala \ -+ html/htmlchartfactory.vala \ -+ $(NULL) -+ -+LIBGVC_PKG = --vapidir $(top_srcdir)/vapi --pkg libgvc -+endif -+ - libvaladoc@PACKAGE_SUFFIX@_la_SOURCES = \ - libvaladoc.vala.stamp \ - $(libvaladoc_la_VALASOURCES:.vala=.c) \ -@@ -184,11 +191,11 @@ libvaladoc.vala.stamp: $(libvaladoc_la_VALASOURCES) - --library valadoc \ - --vapi valadoc@PACKAGE_SUFFIX@.vapi \ - --vapidir $(top_srcdir)/vapi --pkg gmodule-2.0 \ -- --vapidir $(top_srcdir)/vapi --pkg libgvc \ - --vapidir $(top_srcdir)/gee --pkg gee \ - --vapidir $(top_srcdir)/vala --pkg vala \ - --vapidir $(top_srcdir)/ccode --pkg ccode \ - --vapidir $(top_srcdir)/codegen --pkg codegen \ -+ $(LIBGVC_PKG) \ - --pkg config \ - $(filter %.vala %.c,$^) - touch $@ -@@ -217,6 +224,9 @@ nodist_pkgconfig_DATA = valadoc@PACKAGE_SUFFIX@.pc - - valadoc@PACKAGE_SUFFIX@.pc: valadoc.pc - cp $< $@ -+if !ENABLE_GRAPHVIZ -+ sed -i "s/libgvc //g" $@ -+endif - - vapidir = $(datadir)/vala/vapi - dist_vapi_DATA = valadoc@PACKAGE_SUFFIX@.vapi -@@ -224,6 +234,9 @@ nodist_vapi_DATA = valadoc@PACKAGE_SUFFIX@.deps - - valadoc@PACKAGE_SUFFIX@.deps: valadoc.deps - cp $< $@ -+if !ENABLE_GRAPHVIZ -+ sed -i "s/libgvc//g" $@ -+endif - - EXTRA_DIST = \ - $(libvaladoc_la_VALASOURCES) \ -diff --git a/libvaladoc/html/basicdoclet.vala b/libvaladoc/html/basicdoclet.vala -index 192e488..ec09602 100644 ---- a/libvaladoc/html/basicdoclet.vala -+++ b/libvaladoc/html/basicdoclet.vala -@@ -46,7 +46,11 @@ public abstract class Valadoc.Html.BasicDoclet : Api.Visitor, Doclet { - protected HtmlRenderer _renderer; - protected Html.MarkupWriter writer; - protected Html.CssClassResolver cssresolver; -+#if HAVE_GRAPHVIZ - protected Charts.Factory image_factory; -+#else -+ protected void* image_factory; -+#endif - protected ErrorReporter reporter; - protected string package_list_link = "../index.html"; - -@@ -120,7 +124,9 @@ public abstract class Valadoc.Html.BasicDoclet : Api.Visitor, Doclet { - this.linker = new LinkHelper (); - - _renderer = new HtmlRenderer (settings, this.linker, this.cssresolver); -+#if HAVE_GRAPHVIZ - this.image_factory = new SimpleChartFactory (settings, linker); -+#endif - } - - -@@ -1026,6 +1032,7 @@ public abstract class Valadoc.Html.BasicDoclet : Api.Visitor, Doclet { - } - - protected void write_image_block (Api.Node element) { -+#if HAVE_GRAPHVIZ - if (element is Class || element is Interface || element is Struct) { - unowned string format = (settings.use_svg_images ? "svg" : "png"); - var chart = new Charts.Hierarchy (image_factory, element); -@@ -1045,6 +1052,7 @@ public abstract class Valadoc.Html.BasicDoclet : Api.Visitor, Doclet { - this.get_img_path_html (element, format)}); - writer.add_usemap (chart); - } -+#endif - } - - public void write_namespace_content (Namespace node, Api.Node? parent) { -diff --git a/libvaladoc/html/htmlmarkupwriter.vala b/libvaladoc/html/htmlmarkupwriter.vala -index 5aa4afd..e79b0b8 100644 ---- a/libvaladoc/html/htmlmarkupwriter.vala -+++ b/libvaladoc/html/htmlmarkupwriter.vala -@@ -51,12 +51,16 @@ public class Valadoc.Html.MarkupWriter : Valadoc.MarkupWriter { - } - } - -+#if HAVE_GRAPHVIZ - public unowned MarkupWriter add_usemap (Charts.Chart chart) { - string? buf = (string?) chart.write_buffer ("cmapx"); - if (buf != null) { - raw_text ("\n"); - raw_text ((!) buf); - } -+#else -+ public unowned MarkupWriter add_usemap (void* chart) { -+#endif - - return this; - } diff --git a/poky/meta/recipes-devtools/vala/vala_0.42.5.bb b/poky/meta/recipes-devtools/vala/vala_0.42.5.bb deleted file mode 100644 index eea176616..000000000 --- a/poky/meta/recipes-devtools/vala/vala_0.42.5.bb +++ /dev/null @@ -1,10 +0,0 @@ -require ${BPN}.inc - -SRC_URI += " file://0001-git-version-gen-don-t-append-dirty-if-we-re-not-in-g.patch \ - file://0001-vapigen.m4-use-PKG_CONFIG_SYSROOT_DIR.patch \ - file://disable-graphviz.patch \ - file://0001-Disable-valadoc.patch \ -" - -SRC_URI[md5sum] = "d204eb4fa210995e731e2a9a01c8c772" -SRC_URI[sha256sum] = "8c33b4abc0573d364781bbfe54a1668ed34956902e471191a31cf05dc87c6e12" diff --git a/poky/meta/recipes-devtools/vala/vala_0.44.3.bb b/poky/meta/recipes-devtools/vala/vala_0.44.3.bb new file mode 100644 index 000000000..fe6a5fcdc --- /dev/null +++ b/poky/meta/recipes-devtools/vala/vala_0.44.3.bb @@ -0,0 +1,8 @@ +require ${BPN}.inc + +SRC_URI += "file://0001-git-version-gen-don-t-append-dirty-if-we-re-not-in-g.patch \ + file://0001-vapigen.m4-use-PKG_CONFIG_SYSROOT_DIR.patch \ + " + +SRC_URI[md5sum] = "25f97c1b46ae0b60b5cc49cbc044eca2" +SRC_URI[sha256sum] = "8553b422484af88be1685d8b47f7b0df36ae4477c3e77e89ab22276ffed1eae9" diff --git a/poky/meta/recipes-devtools/valgrind/valgrind/0001-Fix-dependencies-between-libcoregrind-.a-and-m_main..patch b/poky/meta/recipes-devtools/valgrind/valgrind/0001-Fix-dependencies-between-libcoregrind-.a-and-m_main..patch deleted file mode 100644 index bedf1c127..000000000 --- a/poky/meta/recipes-devtools/valgrind/valgrind/0001-Fix-dependencies-between-libcoregrind-.a-and-m_main..patch +++ /dev/null @@ -1,45 +0,0 @@ -From 7820fc268fae4353118b6355f1d4b9e1b7eeebec Mon Sep 17 00:00:00 2001 -From: Philippe Waroquiers <philippe.waroquiers@skynet.be> -Date: Sun, 28 Oct 2018 18:35:11 +0100 -Subject: [PATCH] Fix dependencies between libcoregrind*.a and - *m_main.o/*m_libcsetjmp.o - -The primary and secondary coregrind libraries must be updated -when m_main.c or m_libcsetjmp.c are changed. - -A dependency was missing between libcoregrind*.a and libnolto_coregrind*.a, -and so tools were not relinked when m_main.c or m_libcsetjmp.c were -changed. - -Upstream-Status: Backport[git://sourceware.org/git/valgrind.git 7820fc268fae4353118b6355f1d4b9e1b7eeebec] - -Signed-off-by: Robert Yang <liezhi.yang@windriver.com> ---- - coregrind/Makefile.am | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/coregrind/Makefile.am b/coregrind/Makefile.am -index 914a270..8de1996 100644 ---- a/coregrind/Makefile.am -+++ b/coregrind/Makefile.am -@@ -511,6 +511,8 @@ libcoregrind_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a_CFLAGS += \ - endif - libcoregrind_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a_LIBADD = \ - $(libnolto_coregrind_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a_OBJECTS) -+libcoregrind_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a_DEPENDENCIES = \ -+ libnolto_coregrind-@VGCONF_ARCH_PRI@-@VGCONF_OS@.a - - if VGCONF_HAVE_PLATFORM_SEC - libcoregrind_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a_SOURCES = \ -@@ -531,6 +533,8 @@ libcoregrind_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a_CFLAGS += \ - endif - libcoregrind_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a_LIBADD = \ - $(libnolto_coregrind_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a_OBJECTS) -+libcoregrind_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a_DEPENDENCIES = \ -+ libnolto_coregrind-@VGCONF_ARCH_SEC@-@VGCONF_OS@.a - endif - - #---------------------------------------------------------------------------- --- -2.10.2 - diff --git a/poky/meta/recipes-devtools/valgrind/valgrind/0001-Return-a-valid-exit_code-from-vg_regtest.patch b/poky/meta/recipes-devtools/valgrind/valgrind/0001-Return-a-valid-exit_code-from-vg_regtest.patch new file mode 100644 index 000000000..e7af5efec --- /dev/null +++ b/poky/meta/recipes-devtools/valgrind/valgrind/0001-Return-a-valid-exit_code-from-vg_regtest.patch @@ -0,0 +1,27 @@ +From 5eebdefd2251803e7d21081745018fcb16b2ba71 Mon Sep 17 00:00:00 2001 +From: Randy MacLeod <Randy.MacLeod@windriver.com> +Date: Wed, 8 May 2019 20:16:52 -0400 +Subject: [PATCH] Return a valid exit_code from vg_regtest + +Upstream-Status: Pending + +Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com> +--- + tests/vg_regtest.in | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/tests/vg_regtest.in b/tests/vg_regtest.in +index 909af3be8..f2799c4e3 100755 +--- a/tests/vg_regtest.in ++++ b/tests/vg_regtest.in +@@ -403,6 +403,7 @@ sub mysystem($) + exit 1; + } + } ++ return $exit_code; + } + # if $keepunfiltered, copies $1 to $1.unfiltered.out + # renames $0 tp $1 +-- +2.17.0 + diff --git a/poky/meta/recipes-devtools/valgrind/valgrind/0001-tests-amd64-Do-not-clobber-rsp-register.patch b/poky/meta/recipes-devtools/valgrind/valgrind/0001-tests-amd64-Do-not-clobber-rsp-register.patch deleted file mode 100644 index 657f80335..000000000 --- a/poky/meta/recipes-devtools/valgrind/valgrind/0001-tests-amd64-Do-not-clobber-rsp-register.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 8c1ebb564f5eca2baeedc27a703200786d1abb0b Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Sat, 22 Dec 2018 15:28:40 -0800 -Subject: [PATCH] tests/amd64: Do not clobber %rsp register - -This is seen with gcc-9.0 compiler now which is fix that gcc community -did recently -https://gcc.gnu.org/bugzilla/show_bug.cgi?id=52813 - -Upstream-Status: Submitted [https://bugs.kde.org/show_bug.cgi?id=402480] - -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - none/tests/amd64-linux/bug345887.c | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -diff --git a/none/tests/amd64-linux/bug345887.c b/none/tests/amd64-linux/bug345887.c -index 0f9237d..4b07fe1 100644 ---- a/none/tests/amd64-linux/bug345887.c -+++ b/none/tests/amd64-linux/bug345887.c -@@ -20,13 +20,14 @@ static void inner(void) - "movq $0x10d, %%r14\n" - "movq $0x10e, %%r15\n" - // not %rbp as mdb is then not able to reconstruct stack trace -- "movq $0x10f, %%rsp\n" -+ // not %rsp since gcc ignores it and since gcc >= 9.0 errors about it -+ // see https://gcc.gnu.org/bugzilla/show_bug.cgi?id=52813 - "movq $0x1234, (%%rax)\n" // should cause SEGV here - "ud2" // should never get here - : // no output registers - : // no input registers - : "memory", "%rax", "%rbx", "%rcx", "%rdx", "%rsi", "%rdi", -- "%r8", "%r9", "%r10", "%r11", "%r12", "%r13", "%r14", "%r15", "%rsp"); -+ "%r8", "%r9", "%r10", "%r11", "%r12", "%r13", "%r14", "%r15"); - } - - __attribute__((noinline)) diff --git a/poky/meta/recipes-devtools/valgrind/valgrind/0001-valgrind-filter_xml_frames-do-not-filter-usr.patch b/poky/meta/recipes-devtools/valgrind/valgrind/0001-valgrind-filter_xml_frames-do-not-filter-usr.patch new file mode 100644 index 000000000..bf0f0ded2 --- /dev/null +++ b/poky/meta/recipes-devtools/valgrind/valgrind/0001-valgrind-filter_xml_frames-do-not-filter-usr.patch @@ -0,0 +1,39 @@ +From d1dea3c2bcf1e22baab39e2c0b8ca59db8a5bc37 Mon Sep 17 00:00:00 2001 +From: Randy MacLeod <Randy.MacLeod@windriver.com> +Date: Mon, 13 May 2019 17:12:21 -0400 +Subject: [PATCH 1/2] valgrind: filter_xml_frames: do not filter /usr + +filter_xml_frames is intended to filter system paths under +'/usr' that vary from platform to platform. In the ptest case +for Yocto's valgrind, the ptest executables are placed under: + /usr/lib/valgrind/ptest +and if these frames are filtered out, then the 'drd' tests fail +the comparision between exepected and actual output. + +Changing this filter allows the comparison to succeed without +any negative impact. + +Upstream-Status: Inappropriate [Yocto specific] + +Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com> +--- + tests/filter_xml_frames | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/tests/filter_xml_frames b/tests/filter_xml_frames +index f1fa3f070..04fbc82de 100755 +--- a/tests/filter_xml_frames ++++ b/tests/filter_xml_frames +@@ -47,7 +47,8 @@ while (my $line = <>) + $has_function_name = 1 if ($line =~ /<fn>/); + # This may require tweaking; currently /lib and /usr/lib are matched + $has_system_obj = 1 if ($line =~ /<obj>\/lib/); +- $has_system_obj = 1 if ($line =~ /<obj>\/usr\/lib/); ++# for Yocto, skip /usr since tests are under /usr/lib/... ++# $has_system_obj = 1 if ($line =~ /<obj>\/usr\/lib/); + } + } + +-- +2.17.0 + diff --git a/poky/meta/recipes-devtools/valgrind/valgrind/0002-valgrind-adjust-std_list-expected-output.patch b/poky/meta/recipes-devtools/valgrind/valgrind/0002-valgrind-adjust-std_list-expected-output.patch new file mode 100644 index 000000000..a82972ec1 --- /dev/null +++ b/poky/meta/recipes-devtools/valgrind/valgrind/0002-valgrind-adjust-std_list-expected-output.patch @@ -0,0 +1,32 @@ +From 6e1e9265b03cf51d09c028d657fe826d7156a783 Mon Sep 17 00:00:00 2001 +From: Randy MacLeod <Randy.MacLeod@windriver.com> +Date: Mon, 13 May 2019 17:26:26 -0400 +Subject: [PATCH 2/2] valgrind: adjust std_list expected output + +The run-ptest script uses a custom --yocto-ptest option +to change the summary statistics that valgrind issues +to a format that matches what ptest-runner expects. + +Only this std_list test which checks that strcpy() works +properly on Ubuntu-12.04 and later is affected by this change. +It's normal output when called with --yocto-ptest is a blank +line so adjust the expected output. + +Upstream-Status: Inappropriate [Yocto specific] + +Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com> +--- + drd/tests/std_list.stderr.exp | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/drd/tests/std_list.stderr.exp b/drd/tests/std_list.stderr.exp +index d18786f80..8b1378917 100644 +--- a/drd/tests/std_list.stderr.exp ++++ b/drd/tests/std_list.stderr.exp +@@ -1,3 +1 @@ + +- +-ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) +-- +2.17.0 + diff --git a/poky/meta/recipes-devtools/valgrind/valgrind_3.14.0.bb b/poky/meta/recipes-devtools/valgrind/valgrind_3.15.0.bb index db1bd9fc5..ae3498f55 100644 --- a/poky/meta/recipes-devtools/valgrind/valgrind_3.14.0.bb +++ b/poky/meta/recipes-devtools/valgrind/valgrind_3.15.0.bb @@ -12,7 +12,7 @@ DEPENDS = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', '${X11DEPENDS}', '', d ${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'boost', '', d)} \ " -SRC_URI = "http://www.valgrind.org/downloads/valgrind-${PV}.tar.bz2 \ +SRC_URI = "https://sourceware.org/pub/valgrind/valgrind-${PV}.tar.bz2 \ file://fixed-perl-path.patch \ file://Added-support-for-PPC-instructions-mfatbu-mfatbl.patch \ file://run-ptest \ @@ -36,11 +36,12 @@ SRC_URI = "http://www.valgrind.org/downloads/valgrind-${PV}.tar.bz2 \ file://0001-fix-opcode-not-supported-on-mips32-linux.patch \ file://0001-Guard-against-__GLIBC_PREREQ-for-musl-libc.patch \ file://0001-Make-local-functions-static-to-avoid-assembler-error.patch \ - file://0001-tests-amd64-Do-not-clobber-rsp-register.patch \ - file://0001-Fix-dependencies-between-libcoregrind-.a-and-m_main..patch \ + file://0001-Return-a-valid-exit_code-from-vg_regtest.patch \ + file://0001-valgrind-filter_xml_frames-do-not-filter-usr.patch \ + file://0002-valgrind-adjust-std_list-expected-output.patch \ " -SRC_URI[md5sum] = "74175426afa280184b62591b58c671b3" -SRC_URI[sha256sum] = "037c11bfefd477cc6e9ebe8f193bb237fe397f7ce791b4a4ce3fa1c6a520baa5" +SRC_URI[md5sum] = "46e5fbdcbc3502a5976a317a0860a975" +SRC_URI[sha256sum] = "417c7a9da8f60dd05698b3a7bc6002e4ef996f14c13f0ff96679a16873e78ab1" UPSTREAM_CHECK_REGEX = "valgrind-(?P<pver>\d+(\.\d+)+)\.tar" COMPATIBLE_HOST = '(i.86|x86_64|arm|aarch64|mips|powerpc|powerpc64).*-linux' @@ -109,12 +110,13 @@ RDEPENDS_${PN} += "perl" # redirect functions like strlen. RRECOMMENDS_${PN} += "${TCLIBC}-dbg" -RDEPENDS_${PN}-ptest += " sed perl perl-module-file-glob" +RDEPENDS_${PN}-ptest += " sed perl perl-module-file-glob ${PN}-dbg" RDEPENDS_${PN}-ptest_append_libc-glibc = " glibc-utils" # One of the tests contains a bogus interpreter path on purpose. # Skip file dependency check SKIP_FILEDEPS_${PN}-ptest = '1' +INSANE_SKIP_${PN}-ptest = "debug-deps" do_compile_ptest() { oe_runmake check @@ -136,7 +138,17 @@ do_install_ptest() { # exclude shell or the package won't install rm -rf none/tests/shell* 2>/dev/null - subdirs="tests cachegrind/tests callgrind/tests drd/tests helgrind/tests massif/tests memcheck/tests none/tests" + subdirs=" \ + cachegrind/tests \ + callgrind/tests \ + drd/tests \ + gdbserver_tests \ + helgrind/tests \ + massif/tests \ + memcheck/tests \ + none/tests \ + tests \ + " # Get the vg test scripts, filters, and expected files for dir in $subdirs ; do @@ -145,6 +157,8 @@ do_install_ptest() { cd $saved_dir done + # Hide then restore a.c that is used by ann[12].vgtest in call/cachegrind + mv ${D}${PTEST_PATH}/cachegrind/tests/a.c ${D}${PTEST_PATH}/cachegrind/tests/a_c # clean out build artifacts before building the rpm find ${D}${PTEST_PATH} \ \( -name "Makefile*" \ @@ -153,6 +167,14 @@ do_install_ptest() { -o -name "*.S" \ -o -name "*.h" \) \ -exec rm {} \; + mv ${D}${PTEST_PATH}/cachegrind/tests/a_c ${D}${PTEST_PATH}/cachegrind/tests/a.c + + # find *_annotate in ${bindir} for yocto build + sed -i s:\.\./\.\./cachegrind/cg_annotate:${bindir}/cg_annotate: ${D}${PTEST_PATH}/cachegrind/tests/ann1.vgtest + sed -i s:\.\./\.\./cachegrind/cg_annotate:${bindir}/cg_annotate: ${D}${PTEST_PATH}/cachegrind/tests/ann2.vgtest + + sed -i s:\.\./\.\./callgrind/callgrind_annotate:${bindir}/callgrind_annotate: ${D}${PTEST_PATH}/callgrind/tests/ann1.vgtest + sed -i s:\.\./\.\./callgrind/callgrind_annotate:${bindir}/callgrind_annotate: ${D}${PTEST_PATH}/callgrind/tests/ann2.vgtest # needed by massif tests cp ${B}/massif/ms_print ${D}${PTEST_PATH}/massif/ms_print diff --git a/poky/meta/recipes-extended/acpica/acpica_20180508.bb b/poky/meta/recipes-extended/acpica/acpica_20190405.bb index b5c89fafc..25ad7ce31 100644 --- a/poky/meta/recipes-extended/acpica/acpica_20180508.bb +++ b/poky/meta/recipes-extended/acpica/acpica_20190405.bb @@ -16,12 +16,9 @@ COMPATIBLE_HOST = "(i.86|x86_64|arm|aarch64).*-linux" DEPENDS = "bison flex bison-native" -SRC_URI = "https://acpica.org/sites/acpica/files/acpica-unix2-${PV}.tar.gz \ - file://rename-yy_scan_string-manually.patch \ - file://manipulate-fds-instead-of-FILE.patch \ - " -SRC_URI[md5sum] = "31691e2eb82b2064f78536a3423c18d6" -SRC_URI[sha256sum] = "5d8fc9d9db9e04830d40bec9add04b21c05d466e0187d354815006fdd823cf15" +SRC_URI = "https://acpica.org/sites/acpica/files/acpica-unix2-${PV}.tar.gz" +SRC_URI[md5sum] = "9ee30c8ff3012e213bc3b21a9d632215" +SRC_URI[sha256sum] = "7e144fd011c23a0a10be0b0d7448c527a4c0f621f1f835a271636e448bc96643" UPSTREAM_CHECK_URI = "https://acpica.org/downloads" S = "${WORKDIR}/acpica-unix2-${PV}" @@ -29,18 +26,18 @@ S = "${WORKDIR}/acpica-unix2-${PV}" inherit update-alternatives ALTERNATIVE_PRIORITY = "100" -ALTERNATIVE_${PN} = "acpixtract" +ALTERNATIVE_${PN} = "acpixtract acpidump" -EXTRA_OEMAKE = "CC='${CC}' 'OPT_CFLAGS=-Wall'" +EXTRA_OEMAKE = "CC='${CC}' \ + OPT_CFLAGS=-Wall \ + DESTDIR=${D} \ + PREFIX=${prefix} \ + INSTALLDIR=${bindir} \ + INSTALLFLAGS= \ + " do_install() { - install -D -p -m0755 generate/unix/bin*/iasl ${D}${bindir}/iasl - install -D -p -m0755 generate/unix/bin*/acpibin ${D}${bindir}/acpibin - install -D -p -m0755 generate/unix/bin*/acpiexec ${D}${bindir}/acpiexec - install -D -p -m0755 generate/unix/bin*/acpihelp ${D}${bindir}/acpihelp - install -D -p -m0755 generate/unix/bin*/acpinames ${D}${bindir}/acpinames - install -D -p -m0755 generate/unix/bin*/acpisrc ${D}${bindir}/acpisrc - install -D -p -m0755 generate/unix/bin*/acpixtract ${D}${bindir}/acpixtract + oe_runmake install } # iasl*.bb is a subset of this recipe, so RREPLACE it diff --git a/poky/meta/recipes-extended/acpica/files/manipulate-fds-instead-of-FILE.patch b/poky/meta/recipes-extended/acpica/files/manipulate-fds-instead-of-FILE.patch deleted file mode 100644 index d8b5f9aa8..000000000 --- a/poky/meta/recipes-extended/acpica/files/manipulate-fds-instead-of-FILE.patch +++ /dev/null @@ -1,71 +0,0 @@ -From 540d80469e6a7dce6baf7214df90e86daffc5175 Mon Sep 17 00:00:00 2001 -From: Fan Xin <fan.xin@jp.fujitsu.com> -Date: Mon, 5 Jun 2017 13:26:38 +0900 -Subject: [PATCH] aslfiles.c: manipulate fds instead of FILE - -Copying what stdout/stderr point to is not portable and fails with -musl because FILE is an undefined struct. - -Instead, use lower-level Unix functions to modify the file that stderr -writes into. This works on the platforms that Yocto targets. - -Upstream-Status: Inappropriate [embedded specific] - -Signed-off-by: Patrick Ohly <patrick.ohly@intel.com> - -Rebase on acpica 20170303 - -Signed-off-by: Fan Xin <fan.xin@jp.fujitsu.com> - ---- - source/compiler/aslfiles.c | 15 ++++++++++++--- - 1 file changed, 12 insertions(+), 3 deletions(-) - -diff --git a/source/compiler/aslfiles.c b/source/compiler/aslfiles.c -index 82865db..cc072dc 100644 ---- a/source/compiler/aslfiles.c -+++ b/source/compiler/aslfiles.c -@@ -43,6 +43,11 @@ - - #include "aslcompiler.h" - #include "acapps.h" -+#include "dtcompiler.h" -+#include <sys/types.h> -+#include <sys/stat.h> -+#include <fcntl.h> -+#include <unistd.h> - - #define _COMPONENT ACPI_COMPILER - ACPI_MODULE_NAME ("aslfiles") -@@ -606,6 +611,8 @@ FlOpenMiscOutputFiles ( - - if (Gbl_DebugFlag) - { -+ int fd; -+ - Filename = FlGenerateFilename (FilenamePrefix, FILE_SUFFIX_DEBUG); - if (!Filename) - { -@@ -617,10 +624,10 @@ FlOpenMiscOutputFiles ( - /* Open the debug file as STDERR, text mode */ - - Gbl_Files[ASL_FILE_DEBUG_OUTPUT].Filename = Filename; -- Gbl_Files[ASL_FILE_DEBUG_OUTPUT].Handle = -- freopen (Filename, "w+t", stderr); - -- if (!Gbl_Files[ASL_FILE_DEBUG_OUTPUT].Handle) -+ fd = open(Filename, O_CREAT|O_TRUNC, S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH); -+ if (fd < 0 || -+ dup2(fd, fileno(stderr))) - { - /* - * A problem with freopen is that on error, we no longer -@@ -634,6 +641,8 @@ FlOpenMiscOutputFiles ( - exit (1); - } - -+ Gbl_Files[ASL_FILE_DEBUG_OUTPUT].Handle = stderr; -+ - AslCompilerSignon (ASL_FILE_DEBUG_OUTPUT); - AslCompilerFileHeader (ASL_FILE_DEBUG_OUTPUT); - } diff --git a/poky/meta/recipes-extended/acpica/files/rename-yy_scan_string-manually.patch b/poky/meta/recipes-extended/acpica/files/rename-yy_scan_string-manually.patch deleted file mode 100644 index b62ca25ba..000000000 --- a/poky/meta/recipes-extended/acpica/files/rename-yy_scan_string-manually.patch +++ /dev/null @@ -1,64 +0,0 @@ -From 2ab61e6ad5a9cfcde838379bc36babfaaa61afb8 Mon Sep 17 00:00:00 2001 -From: Patrick Ohly <patrick.ohly@intel.com> -Date: Fri, 20 Jan 2017 13:50:17 +0100 -Subject: [PATCH] rename yy_scan_string manually - -flex 2.6.0 used to generate code where yy_scan_string was mapped -to <custom prefix>_scan_string directly in the generated .c code. - -For example, generate/unix/iasl/obj/prparserlex.c: - -int -PrInitLexer ( - char *String) -{ - - LexBuffer = PrParser_scan_string (String); - return (LexBuffer == NULL); -} - -flex 2.6.3 no longer does that, leading to a compiler warning -and link error about yy_scan_string(). - -Both versions generate a preamble in the beginning of prparserlex.c -that maps several yy_* names, but yy_scan_string is not among those: - -... -... - -Upstream-Status: Inappropriate [workaround for https://github.com/westes/flex/issues/164] -Signed-off-by: Patrick Ohly <patrick.ohly@intel.com> ---- - source/compiler/dtparser.l | 2 +- - source/compiler/prparser.l | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/source/compiler/dtparser.l b/source/compiler/dtparser.l -index 3f4c2f3..eaa43ff 100644 ---- a/source/compiler/dtparser.l -+++ b/source/compiler/dtparser.l -@@ -120,7 +120,7 @@ DtInitLexer ( - char *String) - { - -- LexBuffer = yy_scan_string (String); -+ LexBuffer = DtParser_scan_string (String); - return (LexBuffer == NULL); - } - -diff --git a/source/compiler/prparser.l b/source/compiler/prparser.l -index 10bd130..9cb3573 100644 ---- a/source/compiler/prparser.l -+++ b/source/compiler/prparser.l -@@ -127,7 +127,7 @@ PrInitLexer ( - char *String) - { - -- LexBuffer = yy_scan_string (String); -+ LexBuffer = PrParser_scan_string (String); - return (LexBuffer == NULL); - } - --- -2.11.0 - diff --git a/poky/meta/recipes-extended/bash/bash/0001-help-fix-printf-format-security-warning.patch b/poky/meta/recipes-extended/bash/bash/0001-help-fix-printf-format-security-warning.patch deleted file mode 100644 index 5405c84c7..000000000 --- a/poky/meta/recipes-extended/bash/bash/0001-help-fix-printf-format-security-warning.patch +++ /dev/null @@ -1,35 +0,0 @@ -From e5837a42f8f48a6a721805ff8f7fcd32861d09ca Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Andr=C3=A9=20Draszik?= <adraszik@tycoint.com> -Date: Tue, 26 Jul 2016 13:09:47 +0100 -Subject: [PATCH] help: fix printf() format security warning -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -| ../../bash-4.3.30/builtins/../../bash-4.3.30/builtins/help.def: In function 'help_builtin': -| ../../bash-4.3.30/builtins/../../bash-4.3.30/builtins/help.def:130:7: error: format not a string literal and no format arguments [-Werror=format-security] -| printf (ngettext ("Shell commands matching keyword `", "Shell commands matching keywords `", (list->next ? 2 : 1))); -| ^~~~~~ - -Signed-off-by: André Draszik <adraszik@tycoint.com> ---- -Upstream-Status: Pending - builtins/help.def | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/builtins/help.def b/builtins/help.def -index 1894f17..cf624c6 100644 ---- a/builtins/help.def -+++ b/builtins/help.def -@@ -127,7 +127,7 @@ help_builtin (list) - - if (glob_pattern_p (list->word->word)) - { -- printf (ngettext ("Shell commands matching keyword `", "Shell commands matching keywords `", (list->next ? 2 : 1))); -+ printf ("%s", ngettext ("Shell commands matching keyword `", "Shell commands matching keywords `", (list->next ? 2 : 1))); - print_word_list (list, ", "); - printf ("'\n\n"); - } --- -2.8.1 - diff --git a/poky/meta/recipes-extended/bash/bash/build-tests.patch b/poky/meta/recipes-extended/bash/bash/build-tests.patch index 73a81b60d..5f2dae94a 100644 --- a/poky/meta/recipes-extended/bash/bash/build-tests.patch +++ b/poky/meta/recipes-extended/bash/bash/build-tests.patch @@ -2,15 +2,18 @@ Add 'ptest' target to Makefile, to run tests without checking dependencies. Upstream-Status: Pending Signed-off-by: Anders Roxell <anders.roxell@enea.com> + +Rebase to 5.0 Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> --- Makefile.in | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/Makefile.in b/Makefile.in +index 5fcb44b..de1c255 100644 --- a/Makefile.in +++ b/Makefile.in -@@ -848,20 +848,34 @@ maybe-clean: +@@ -932,20 +932,34 @@ maybe-clean: fi recho$(EXEEXT): $(SUPPORT_SRC)recho.c @@ -51,5 +54,5 @@ diff --git a/Makefile.in b/Makefile.in PATH=$(BUILD_DIR)/tests:$$PATH THIS_SH=$(THIS_SH) $(SHELL) ${TESTSCRIPT} ) -- -1.8.1.2 +2.7.4 diff --git a/poky/meta/recipes-extended/bash/bash/execute_cmd.patch b/poky/meta/recipes-extended/bash/bash/execute_cmd.patch index 9970b4d8f..7a9e9a902 100644 --- a/poky/meta/recipes-extended/bash/bash/execute_cmd.patch +++ b/poky/meta/recipes-extended/bash/bash/execute_cmd.patch @@ -1,10 +1,16 @@ Upstream-Status: Inappropriate [embedded specific] -Index: execute_cmd.c -=================================================================== ---- execute_cmd.c.orig -+++ execute_cmd.c -@@ -2459,7 +2459,11 @@ execute_pipeline (command, asynchronous, +Rebase to 5.0 +Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> +--- + execute_cmd.c | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/execute_cmd.c b/execute_cmd.c +index f1d74bf..31674b4 100644 +--- a/execute_cmd.c ++++ b/execute_cmd.c +@@ -2567,7 +2567,11 @@ execute_pipeline (command, asynchronous, pipe_in, pipe_out, fds_to_close) /* If the `lastpipe' option is set with shopt, and job control is not enabled, execute the last element of non-async pipelines in the current shell environment. */ @@ -17,3 +23,6 @@ Index: execute_cmd.c { lstdin = move_to_high_fd (0, 1, -1); if (lstdin > 0) +-- +2.7.4 + diff --git a/poky/meta/recipes-extended/bash/bash/pathexp-dep.patch b/poky/meta/recipes-extended/bash/bash/pathexp-dep.patch deleted file mode 100644 index e05bbda31..000000000 --- a/poky/meta/recipes-extended/bash/bash/pathexp-dep.patch +++ /dev/null @@ -1,13 +0,0 @@ -pathexp includes libintl.h but doesn't depend on it, thus a build race can occur. - -Upstream-Status: Submitted (https://savannah.gnu.org/patch/index.php?9503) -Signed-off-by: Ross Burton <ross.burton@intel.com> - -diff --git a/Makefile.in b/Makefile.in -index c7b62bc0..241cbf12 100644 ---- a/Makefile.in -+++ b/Makefile.in -@@ -1281,2 +1281,3 @@ nojobs.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h - y.tab.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h -+pathexp.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h - pcomplete.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h diff --git a/poky/meta/recipes-extended/bash/bash_4.4.18.bb b/poky/meta/recipes-extended/bash/bash_4.4.18.bb deleted file mode 100644 index 8fa0978d4..000000000 --- a/poky/meta/recipes-extended/bash/bash_4.4.18.bb +++ /dev/null @@ -1,41 +0,0 @@ -require bash.inc - -# GPLv2+ (< 4.0), GPLv3+ (>= 4.0) -LICENSE = "GPLv3+" -LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" - -SRC_URI = "${GNU_MIRROR}/bash/${BP}.tar.gz;name=tarball \ - ${GNU_MIRROR}/bash/bash-4.4-patches/bash44-019;apply=yes;striplevel=0;name=patch019 \ - ${GNU_MIRROR}/bash/bash-4.4-patches/bash44-020;apply=yes;striplevel=0;name=patch020 \ - ${GNU_MIRROR}/bash/bash-4.4-patches/bash44-021;apply=yes;striplevel=0;name=patch021 \ - ${GNU_MIRROR}/bash/bash-4.4-patches/bash44-022;apply=yes;striplevel=0;name=patch022 \ - ${GNU_MIRROR}/bash/bash-4.4-patches/bash44-023;apply=yes;striplevel=0;name=patch023 \ - file://execute_cmd.patch;striplevel=0 \ - file://mkbuiltins_have_stringize.patch \ - file://build-tests.patch \ - file://test-output.patch \ - file://fix-run-coproc-run-heredoc-run-execscript-run-test-f.patch \ - file://run-ptest \ - file://fix-run-builtins.patch \ - file://0001-help-fix-printf-format-security-warning.patch \ - file://pathexp-dep.patch \ - " - -SRC_URI[tarball.md5sum] = "518e2c187cc11a17040f0915dddce54e" -SRC_URI[tarball.sha256sum] = "604d9eec5e4ed5fd2180ee44dd756ddca92e0b6aa4217bbab2b6227380317f23" - -SRC_URI[patch019.md5sum] = "8f43e1d277b02f3319a34c1cd4a4ff3e" -SRC_URI[patch019.sha256sum] = "27170d6edfe8819835407fdc08b401d2e161b1400fe9d0c5317a51104c89c11e" -SRC_URI[patch020.md5sum] = "5217ff08c444446ec306dce60437c288" -SRC_URI[patch020.sha256sum] = "1840e2cbf26ba822913662f74037594ed562361485390c52813b38156c99522c" -SRC_URI[patch021.md5sum] = "282c7d9b38da8005d25b4f816328a2f4" -SRC_URI[patch021.sha256sum] = "bd8f59054a763ec1c64179ad5cb607f558708a317c2bdb22b814e3da456374c1" -SRC_URI[patch022.md5sum] = "0b709c9d7f8e6cf267a8b863efb899f7" -SRC_URI[patch022.sha256sum] = "45331f0936e36ab91bfe44b936e33ed8a1b1848fa896e8a1d0f2ef74f297cb79" -SRC_URI[patch023.md5sum] = "fe2e0ca4cf9409ff0e9428e1236f983e" -SRC_URI[patch023.sha256sum] = "4fec236f3fbd3d0c47b893fdfa9122142a474f6ef66c20ffb6c0f4864dd591b6" - -DEBUG_OPTIMIZATION_append_armv4 = " ${@bb.utils.contains('TUNE_CCARGS', '-mthumb', '-fomit-frame-pointer', '', d)}" -DEBUG_OPTIMIZATION_append_armv5 = " ${@bb.utils.contains('TUNE_CCARGS', '-mthumb', '-fomit-frame-pointer', '', d)}" - -BBCLASSEXTEND = "nativesdk" diff --git a/poky/meta/recipes-extended/bash/bash_5.0.bb b/poky/meta/recipes-extended/bash/bash_5.0.bb new file mode 100644 index 000000000..e60e5304a --- /dev/null +++ b/poky/meta/recipes-extended/bash/bash_5.0.bb @@ -0,0 +1,45 @@ +require bash.inc + +# GPLv2+ (< 4.0), GPLv3+ (>= 4.0) +LICENSE = "GPLv3+" +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" + +SRC_URI = "${GNU_MIRROR}/bash/${BP}.tar.gz;name=tarball \ + ${GNU_MIRROR}/bash/bash-${PV}-patches/bash50-001;apply=yes;striplevel=0;name=patch001 \ + ${GNU_MIRROR}/bash/bash-${PV}-patches/bash50-002;apply=yes;striplevel=0;name=patch002 \ + ${GNU_MIRROR}/bash/bash-${PV}-patches/bash50-003;apply=yes;striplevel=0;name=patch003 \ + ${GNU_MIRROR}/bash/bash-${PV}-patches/bash50-004;apply=yes;striplevel=0;name=patch004 \ + ${GNU_MIRROR}/bash/bash-${PV}-patches/bash50-005;apply=yes;striplevel=0;name=patch005 \ + ${GNU_MIRROR}/bash/bash-${PV}-patches/bash50-006;apply=yes;striplevel=0;name=patch006 \ + ${GNU_MIRROR}/bash/bash-${PV}-patches/bash50-007;apply=yes;striplevel=0;name=patch007 \ + file://execute_cmd.patch \ + file://mkbuiltins_have_stringize.patch \ + file://build-tests.patch \ + file://test-output.patch \ + file://fix-run-coproc-run-heredoc-run-execscript-run-test-f.patch \ + file://run-ptest \ + file://fix-run-builtins.patch \ + " + +SRC_URI[tarball.md5sum] = "2b44b47b905be16f45709648f671820b" +SRC_URI[tarball.sha256sum] = "b4a80f2ac66170b2913efbfb9f2594f1f76c7b1afd11f799e22035d63077fb4d" + +SRC_URI[patch001.md5sum] = "b026862ab596a5883bb4f0d1077a3819" +SRC_URI[patch001.sha256sum] = "f2fe9e1f0faddf14ab9bfa88d450a75e5d028fedafad23b88716bd657c737289" +SRC_URI[patch002.md5sum] = "2f4a7787365790ae57f36b311701ea7e" +SRC_URI[patch002.sha256sum] = "87e87d3542e598799adb3e7e01c8165bc743e136a400ed0de015845f7ff68707" +SRC_URI[patch003.md5sum] = "af7f2dd93fd5429fb5e9a642ff74f87d" +SRC_URI[patch003.sha256sum] = "4eebcdc37b13793a232c5f2f498a5fcbf7da0ecb3da2059391c096db620ec85b" +SRC_URI[patch004.md5sum] = "b60545b273bfa4e00a760f2c648bed9c" +SRC_URI[patch004.sha256sum] = "14447ad832add8ecfafdce5384badd933697b559c4688d6b9e3d36ff36c62f08" +SRC_URI[patch005.md5sum] = "875a0bedf48b74e453e3997c84b5d8a4" +SRC_URI[patch005.sha256sum] = "5bf54dd9bd2c211d2bfb34a49e2c741f2ed5e338767e9ce9f4d41254bf9f8276" +SRC_URI[patch006.md5sum] = "4a8ee95adb72c3aba03d9e8c9f96ece6" +SRC_URI[patch006.sha256sum] = "d68529a6ff201b6ff5915318ab12fc16b8a0ebb77fda3308303fcc1e13398420" +SRC_URI[patch007.md5sum] = "411560d81fde2dc5b17b83c3f3b58c6f" +SRC_URI[patch007.sha256sum] = "17b41e7ee3673d8887dd25992417a398677533ab8827938aa41fad70df19af9b" + +DEBUG_OPTIMIZATION_append_armv4 = " ${@bb.utils.contains('TUNE_CCARGS', '-mthumb', '-fomit-frame-pointer', '', d)}" +DEBUG_OPTIMIZATION_append_armv5 = " ${@bb.utils.contains('TUNE_CCARGS', '-mthumb', '-fomit-frame-pointer', '', d)}" + +BBCLASSEXTEND = "nativesdk" diff --git a/poky/meta/recipes-extended/bzip2/bzip2_1.0.6.bb b/poky/meta/recipes-extended/bzip2/bzip2_1.0.6.bb index 7d04e30d5..15a8e5155 100644 --- a/poky/meta/recipes-extended/bzip2/bzip2_1.0.6.bb +++ b/poky/meta/recipes-extended/bzip2/bzip2_1.0.6.bb @@ -40,6 +40,8 @@ do_install_ptest () { FILES_libbz2 = "${libdir}/lib*${SOLIBS}" +RDEPENDS_${PN}-ptest += "make" + PROVIDES_append_class-native = " bzip2-replacement-native" BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-extended/cpio/cpio_2.12.bb b/poky/meta/recipes-extended/cpio/cpio_2.12.bb index cb845c307..3713bf0b1 100644 --- a/poky/meta/recipes-extended/cpio/cpio_2.12.bb +++ b/poky/meta/recipes-extended/cpio/cpio_2.12.bb @@ -18,7 +18,7 @@ SRC_URI[sha256sum] = "08a35e92deb3c85d269a0059a27d4140a9667a6369459299d08c17f713 inherit autotools gettext texinfo -EXTRA_OECONF += "DEFAULT_RMT_DIR=${base_sbindir}" +EXTRA_OECONF += "DEFAULT_RMT_DIR=${sbindir}" do_install () { autotools_do_install @@ -34,7 +34,7 @@ do_install () { PACKAGES =+ "${PN}-rmt" -FILES_${PN}-rmt = "${base_sbindir}/rmt*" +FILES_${PN}-rmt = "${sbindir}/rmt*" inherit update-alternatives @@ -46,6 +46,6 @@ ALTERNATIVE_${PN}-rmt = "rmt" ALTERNATIVE_LINK_NAME[cpio] = "${base_bindir}/cpio" ALTERNATIVE_PRIORITY[rmt] = "50" -ALTERNATIVE_LINK_NAME[rmt] = "${base_sbindir}/rmt" +ALTERNATIVE_LINK_NAME[rmt] = "${sbindir}/rmt" BBCLASSEXTEND = "native" diff --git a/poky/meta/recipes-extended/cronie/cronie/crond_pam_config.patch b/poky/meta/recipes-extended/cronie/cronie/crond_pam_config.patch index 6c928165c..c374790d1 100644 --- a/poky/meta/recipes-extended/cronie/cronie/crond_pam_config.patch +++ b/poky/meta/recipes-extended/cronie/cronie/crond_pam_config.patch @@ -4,19 +4,19 @@ configure files instead. Upstream-Status: Pending Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com> -Index: cronie-1.5.1/pam/crond -=================================================================== ---- cronie-1.5.1.orig/pam/crond -+++ cronie-1.5.1/pam/crond +diff --git a/pam/crond b/pam/crond +index 560529d..95a6457 100644 +--- a/pam/crond ++++ b/pam/crond @@ -4,8 +4,8 @@ # # Although no PAM authentication is called, auth modules # are used for credential setting --auth include password-auth +-auth include system-auth +auth include common-auth account required pam_access.so --account include password-auth -+account include common-account +-account include system-auth ++account include common-auth session required pam_loginuid.so --session include password-auth +-session include system-auth +session include common-session-noninteractive diff --git a/poky/meta/recipes-extended/cronie/cronie_1.5.2.bb b/poky/meta/recipes-extended/cronie/cronie_1.5.4.bb index 3abca7f92..d35c6672c 100644 --- a/poky/meta/recipes-extended/cronie/cronie_1.5.2.bb +++ b/poky/meta/recipes-extended/cronie/cronie_1.5.4.bb @@ -16,7 +16,7 @@ SECTION = "utils" UPSTREAM_CHECK_URI = "https://github.com/cronie-crond/${BPN}/releases/" -SRC_URI = "https://github.com/cronie-crond/cronie/releases/download/cronie-${PV}/cronie-${PV}.tar.gz \ +SRC_URI = "https://github.com/cronie-crond/cronie/releases/download/cronie-${PV}-final/cronie-${PV}.tar.gz \ file://crond.init \ file://crontab \ file://crond.service \ @@ -25,8 +25,8 @@ SRC_URI = "https://github.com/cronie-crond/cronie/releases/download/cronie-${PV} PAM_SRC_URI = "file://crond_pam_config.patch" PAM_DEPS = "libpam libpam-runtime pam-plugin-access pam-plugin-loginuid" -SRC_URI[md5sum] = "703314f58a49ea136e9966d3937d9bf4" -SRC_URI[sha256sum] = "370bf34641691489330e708bd4cdbd779267296a030668a12f77b7e36872fd75" +SRC_URI[md5sum] = "20233b96997e17a142e1fbe0d7ce8223" +SRC_URI[sha256sum] = "af8970559cad4262f8ffd7ec72abf682d2dcce04fdfb8f206a71d96566aba882" inherit autotools update-rc.d useradd systemd diff --git a/poky/meta/recipes-extended/cups/cups_2.2.10.bb b/poky/meta/recipes-extended/cups/cups_2.2.10.bb deleted file mode 100644 index 490c84e2f..000000000 --- a/poky/meta/recipes-extended/cups/cups_2.2.10.bb +++ /dev/null @@ -1,6 +0,0 @@ -require cups.inc - -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=f212b4338db0da8cb892e94bf2949460" - -SRC_URI[md5sum] = "3d22d747403ec5dcd0b66d1332564816" -SRC_URI[sha256sum] = "77c8b2b3bb7fe8b5fbfffc307f2c817b2d7ec67b657f261a1dd1c61ab81205bb" diff --git a/poky/meta/recipes-extended/cups/cups_2.2.11.bb b/poky/meta/recipes-extended/cups/cups_2.2.11.bb new file mode 100644 index 000000000..aeb2e14e3 --- /dev/null +++ b/poky/meta/recipes-extended/cups/cups_2.2.11.bb @@ -0,0 +1,6 @@ +require cups.inc + +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=f212b4338db0da8cb892e94bf2949460" + +SRC_URI[md5sum] = "7afbbcd2497e7d742583c492f6de40cd" +SRC_URI[sha256sum] = "f58010813fd6903f690cdb0c0b91e4d1bc9e5b9570c28734229ba3ed2908b76c" diff --git a/poky/meta/recipes-extended/ethtool/ethtool/avoid_parallel_tests.patch b/poky/meta/recipes-extended/ethtool/ethtool/avoid_parallel_tests.patch index beae5f98c..b145188d7 100644 --- a/poky/meta/recipes-extended/ethtool/ethtool/avoid_parallel_tests.patch +++ b/poky/meta/recipes-extended/ethtool/ethtool/avoid_parallel_tests.patch @@ -19,7 +19,7 @@ index e891d91..600f8a8 100644 --- a/configure.ac +++ b/configure.ac @@ -2,7 +2,7 @@ dnl Process this file with autoconf to produce a configure script. - AC_INIT(ethtool, 4.19, netdev@vger.kernel.org) + AC_INIT(ethtool, 5.0, netdev@vger.kernel.org) AC_PREREQ(2.52) AC_CONFIG_SRCDIR([ethtool.c]) -AM_INIT_AUTOMAKE([gnu]) diff --git a/poky/meta/recipes-extended/ethtool/ethtool_4.19.bb b/poky/meta/recipes-extended/ethtool/ethtool_5.0.bb index 74e255c24..76cdf9c4e 100644 --- a/poky/meta/recipes-extended/ethtool/ethtool_4.19.bb +++ b/poky/meta/recipes-extended/ethtool/ethtool_5.0.bb @@ -11,8 +11,8 @@ SRC_URI = "${KERNELORG_MIRROR}/software/network/ethtool/ethtool-${PV}.tar.gz \ file://avoid_parallel_tests.patch \ " -SRC_URI[md5sum] = "a533db1d202724822c4ef297643fac12" -SRC_URI[sha256sum] = "e8e88f5a79c78e542cd84fee60b67dbf29cee63e4760e8d61544fea74c761ad1" +SRC_URI[md5sum] = "8998c9eb7e491b0aec420a807ce52ba6" +SRC_URI[sha256sum] = "cc53a6d4d5643f8993ef20d6b638f88d9035529a9e777e222073c3a5b9237178" inherit autotools ptest RDEPENDS_${PN}-ptest += "make" diff --git a/poky/meta/recipes-extended/ghostscript/ghostscript/ghostscript-9.02-genarch.patch b/poky/meta/recipes-extended/ghostscript/ghostscript/ghostscript-9.02-genarch.patch index fc144f625..7b70bb8e2 100644 --- a/poky/meta/recipes-extended/ghostscript/ghostscript/ghostscript-9.02-genarch.patch +++ b/poky/meta/recipes-extended/ghostscript/ghostscript/ghostscript-9.02-genarch.patch @@ -1,7 +1,7 @@ -From 94850954b88440df6c41d2dd133c422ffc84d9aa Mon Sep 17 00:00:00 2001 +From c076d0fc970f190f723018258790c79b59daba2e Mon Sep 17 00:00:00 2001 From: Hongxu Jia <hongxu.jia@windriver.com> -Date: Thu, 29 Mar 2018 16:12:48 +0800 -Subject: [PATCH 07/10] not generate objarch.h at compile time +Date: Sat, 11 May 2019 21:20:27 +0800 +Subject: [PATCH] not generate objarch.h at compile time Import patch from windriver linux for cross compilation, and split patches into oe way under different directories such as i586, powerpc etc @@ -12,19 +12,19 @@ Upstream-Status: Pending Signed-off-by: Kang Kai <kai.kang@windriver.com> Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com> -Rebase to 9.23 +Rebase to 9.27 Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> --- base/lib.mak | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/base/lib.mak b/base/lib.mak -index 0036d1e..302877e 100644 +index 3ed088a..5af2b43 100644 --- a/base/lib.mak +++ b/base/lib.mak @@ -87,8 +87,8 @@ arch_h=$(GLGEN)arch.h stdpre_h=$(GLSRC)stdpre.h - stdint__h=$(GLSRC)stdint_.h $(std_h) + stdint__h=$(GLSRC)stdint_.h -$(GLGEN)arch.h : $(GENARCH_XE) - $(EXP)$(GENARCH_XE) $(GLGEN)arch.h $(TARGET_ARCH_FILE) @@ -34,5 +34,5 @@ index 0036d1e..302877e 100644 # Platform interfaces -- -1.8.3.1 +2.7.4 diff --git a/poky/meta/recipes-extended/ghostscript/ghostscript_9.26.bb b/poky/meta/recipes-extended/ghostscript/ghostscript_9.27.bb index 5ca978f86..fcc9e0099 100644 --- a/poky/meta/recipes-extended/ghostscript/ghostscript_9.26.bb +++ b/poky/meta/recipes-extended/ghostscript/ghostscript_9.27.bb @@ -19,7 +19,7 @@ DEPENDS_class-native = "libpng-native" UPSTREAM_CHECK_URI = "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases" UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)\.tar" -SRC_URI_BASE = "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs926/${BPN}-${PV}.tar.gz \ +SRC_URI_BASE = "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs927/${BPN}-${PV}.tar.gz \ file://ghostscript-9.15-parallel-make.patch \ file://ghostscript-9.16-Werror-return-type.patch \ file://do-not-check-local-libpng-source.patch \ @@ -39,8 +39,8 @@ SRC_URI_class-native = "${SRC_URI_BASE} \ file://base-genht.c-add-a-preprocessor-define-to-allow-fope.patch \ " -SRC_URI[md5sum] = "806bc2dedbc7f69b003f536658e08d4a" -SRC_URI[sha256sum] = "831fc019bd477f7cc2d481dc5395ebfa4a593a95eb2fe1eb231a97e450d7540d" +SRC_URI[md5sum] = "c3990a504a3a23b9babe9de00ed6597d" +SRC_URI[sha256sum] = "9760e8bdd07a08dbd445188a6557cb70e60ccb6a5601f7dbfba0d225e28ce285" # Put something like # @@ -123,3 +123,6 @@ BBCLASSEXTEND = "native" # ghostscript does not supports "arc" COMPATIBLE_HOST = "^(?!arc).*" + +# some entries in NVD uses gpl_ghostscript +CVE_PRODUCT = "ghostscript gpl_ghostscript" diff --git a/poky/meta/recipes-extended/groff/files/0001-fix-shebang-for-taget.patch b/poky/meta/recipes-extended/groff/files/0001-fix-shebang-for-taget.patch new file mode 100644 index 000000000..1b94e8a93 --- /dev/null +++ b/poky/meta/recipes-extended/groff/files/0001-fix-shebang-for-taget.patch @@ -0,0 +1,31 @@ +From 54c795c8a3c7356294007b5a4eed1dd47ed6411d Mon Sep 17 00:00:00 2001 +From: Hongxu Jia <hongxu.jia@windriver.com> +Date: Sat, 11 May 2019 19:19:27 +0800 +Subject: [PATCH] fix shebang for target + +... +|ERROR: groff-1.22.4-r0 do_package_qa: QA Issue: /usr/bin/gdiffmk contained in +package groff requires tmp-glibc/hosttools/bash, but no providers found in +RDEPENDS_groff? [file-rdeps] +... + +Upstream-Status: Inappropriate [oe-core specific] + +Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> +--- + contrib/gdiffmk/gdiffmk.sh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/contrib/gdiffmk/gdiffmk.sh b/contrib/gdiffmk/gdiffmk.sh +index 5ce931e..10f2300 100644 +--- a/contrib/gdiffmk/gdiffmk.sh ++++ b/contrib/gdiffmk/gdiffmk.sh +@@ -1,4 +1,4 @@ +-#!@BASH_PROG@ ++#!/bin/sh + # Copyright (C) 2004-2018 Free Software Foundation, Inc. + # Written by Mike Bianchi <MBianchi@Foveal.com <mailto:MBianchi@Foveal.com>> + # Thanks to Peter Bray for debugging. +-- +2.7.4 + diff --git a/poky/meta/recipes-extended/groff/groff-1.22.3/0001-replace-perl-w-with-use-warnings.patch b/poky/meta/recipes-extended/groff/files/0001-replace-perl-w-with-use-warnings.patch index f1db5b065..eda6a40f5 100644 --- a/poky/meta/recipes-extended/groff/groff-1.22.3/0001-replace-perl-w-with-use-warnings.patch +++ b/poky/meta/recipes-extended/groff/files/0001-replace-perl-w-with-use-warnings.patch @@ -1,7 +1,7 @@ -From 5b574542070db286c89b3827e8f15ed4b3b39034 Mon Sep 17 00:00:00 2001 +From 6821a23e6cf34df37c351b45be413a8da9115f9f Mon Sep 17 00:00:00 2001 From: Robert Yang <liezhi.yang@windriver.com> -Date: Thu, 6 Apr 2017 01:46:00 -0700 -Subject: [PATCH] replace "perl -w" with "use warnings" +Date: Sat, 11 May 2019 17:03:03 +0800 +Subject: [PATCH 1/2] replace "perl -w" with "use warnings" The shebang's max length is usually 128 as defined in /usr/include/linux/binfmts.h: @@ -18,6 +18,10 @@ So replace "perl -w" with "use warnings" to make it work. Upstream-Status: Pending Signed-off-by: Robert Yang <liezhi.yang@windriver.com> + +Rebase to 1.22.4. + +Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> --- font/devpdf/util/BuildFoundries.pl | 3 ++- src/devices/gropdf/gropdf.pl | 3 ++- @@ -26,7 +30,7 @@ Signed-off-by: Robert Yang <liezhi.yang@windriver.com> 4 files changed, 8 insertions(+), 4 deletions(-) diff --git a/font/devpdf/util/BuildFoundries.pl b/font/devpdf/util/BuildFoundries.pl -index 39f2f0d..a2bfd8e 100644 +index f8af826..9584e28 100644 --- a/font/devpdf/util/BuildFoundries.pl +++ b/font/devpdf/util/BuildFoundries.pl @@ -1,4 +1,4 @@ @@ -36,15 +40,15 @@ index 39f2f0d..a2bfd8e 100644 # BuildFoundries : Given a Foundry file generate groff and download files # Deri James : Monday 07 Feb 2011 @@ -22,6 +22,7 @@ - # along with this program. If not, see <http://www.gnu.org/licenses/>. + # along with this program. If not, see <http://www.gnu.org/licenses/>. use strict; +use warnings; + (my $progname = $0) =~s @.*/@@; my $where=shift||''; - my $devps=shift||'../devps'; diff --git a/src/devices/gropdf/gropdf.pl b/src/devices/gropdf/gropdf.pl -index 035d123..b933b32 100644 +index 2ec52d0..ce5a06f 100644 --- a/src/devices/gropdf/gropdf.pl +++ b/src/devices/gropdf/gropdf.pl @@ -1,4 +1,4 @@ @@ -59,10 +63,10 @@ index 035d123..b933b32 100644 use strict; +use warnings; use Getopt::Long qw(:config bundling); - use Compress::Zlib; + use constant diff --git a/src/devices/gropdf/pdfmom.pl b/src/devices/gropdf/pdfmom.pl -index beec820..4b46ea4 100644 +index c9b08b2..61124f3 100644 --- a/src/devices/gropdf/pdfmom.pl +++ b/src/devices/gropdf/pdfmom.pl @@ -1,4 +1,4 @@ @@ -71,8 +75,8 @@ index beec820..4b46ea4 100644 # # pdfmom : Frontend to run groff -mom to produce PDFs # Deri James : Friday 16 Mar 2012 -@@ -24,6 +24,7 @@ - # along with this program. If not, see <http://www.gnu.org/licenses/>. +@@ -23,6 +23,7 @@ + # along with this program. If not, see <http://www.gnu.org/licenses/>. use strict; +use warnings; @@ -80,17 +84,17 @@ index beec820..4b46ea4 100644 my @cmd; my $dev='pdf'; diff --git a/src/utils/afmtodit/afmtodit.pl b/src/utils/afmtodit/afmtodit.pl -index 4f2ce83..5c078ff 100644 +index 954c58e..81a6c97 100644 --- a/src/utils/afmtodit/afmtodit.pl +++ b/src/utils/afmtodit/afmtodit.pl @@ -1,4 +1,4 @@ -#! /usr/bin/perl -w +#! /usr/bin/perl # -*- Perl -*- - # Copyright (C) 1989-2014 Free Software Foundation, Inc. + # Copyright (C) 1989-2018 Free Software Foundation, Inc. # Written by James Clark (jjc@jclark.com) @@ -19,6 +19,7 @@ - # along with this program. If not, see <http://www.gnu.org/licenses/>. + # along with this program. If not, see <http://www.gnu.org/licenses/>. use strict; +use warnings; @@ -98,5 +102,5 @@ index 4f2ce83..5c078ff 100644 @afmtodit.tables@ -- -2.10.2 +2.7.4 diff --git a/poky/meta/recipes-extended/groff/files/0001-support-musl.patch b/poky/meta/recipes-extended/groff/files/0001-support-musl.patch new file mode 100644 index 000000000..a837b11b1 --- /dev/null +++ b/poky/meta/recipes-extended/groff/files/0001-support-musl.patch @@ -0,0 +1,41 @@ +From 695965c27be74acb5968f19d51af86065c4b71a9 Mon Sep 17 00:00:00 2001 +From: Hongxu Jia <hongxu.jia@windriver.com> +Date: Mon, 13 May 2019 09:48:14 +0800 +Subject: [PATCH] support musl + +... +|./lib/math.h:2877:1: error: 'int signbit(float)' conflicts with a previous declaration +| _GL_MATH_CXX_REAL_FLOATING_DECL_2 (signbit) +| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +|In file included from recipe-sysroot/usr/include/c++/8.3.0/math.h:36, +| from ./lib/math.h:27, +| from ./src/include/driver.h:27, +| from src/devices/grodvi/dvi.cpp:20: +|recipe-sysroot/usr/include/c++/8.3.0/cmath:661:3: note: previous declaration 'constexpr bool std::signbit(float)' +| signbit(float __x) +| ^~~~~~~ +... + +Upstream-Status: Backport [http://git.savannah.gnu.org/gitweb/?p=gnulib.git;a=commit;h=453ff940449bbbde9ec00f0bbf82a359c5598fc7] + +Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> +--- + gnulib_m4/signbit.m4 | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/gnulib_m4/signbit.m4 b/gnulib_m4/signbit.m4 +index 9e7884d..8b9c70c 100644 +--- a/gnulib_m4/signbit.m4 ++++ b/gnulib_m4/signbit.m4 +@@ -31,6 +31,8 @@ AC_DEFUN([gl_SIGNBIT], + [case "$host_os" in + # Guess yes on glibc systems. + *-gnu* | gnu*) gl_cv_func_signbit="guessing yes" ;; ++ # Guess yes on musl systems. ++ *-musl*) gl_cv_func_signbit="guessing yes" ;; + # Guess yes on native Windows. + mingw*) gl_cv_func_signbit="guessing yes" ;; + # If we don't know, assume the worst. +-- +2.7.4 + diff --git a/poky/meta/recipes-extended/groff/files/groff-not-search-fonts-on-build-host.patch b/poky/meta/recipes-extended/groff/files/groff-not-search-fonts-on-build-host.patch new file mode 100644 index 000000000..c80a2a5c3 --- /dev/null +++ b/poky/meta/recipes-extended/groff/files/groff-not-search-fonts-on-build-host.patch @@ -0,0 +1,32 @@ +From 75761ae7adc88412de4379d1cf5484b055cd5f18 Mon Sep 17 00:00:00 2001 +From: Hongxu Jia <hongxu.jia@windriver.com> +Date: Sat, 11 May 2019 17:06:29 +0800 +Subject: [PATCH 2/2] groff searchs fonts which are provided by ghostscript on + build host. It causes non-determinism issue. So not search font dirs on host. + +Upstream-Status: Inappropriate [cross build specific] + +Signed-off-by: Kai Kang <kai.kang@windriver.com> + +Rebase to 1.22.4 +Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> +--- + font/devpdf/Foundry.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/font/devpdf/Foundry.in b/font/devpdf/Foundry.in +index 93e9b66..235b23b 100644 +--- a/font/devpdf/Foundry.in ++++ b/font/devpdf/Foundry.in +@@ -65,7 +65,7 @@ ZD|Y||||Dingbats!d050000l.pfb + #====================================================================== + + #Foundry|Name|Searchpath +-foundry|U|(gs):@urwfontsdir@ :/usr/share/fonts/type1/gsfonts :/opt/local/share/fonts/urw-fonts # the URW fonts delivered with ghostscript (may be different) ++foundry|U|(gs) # the URW fonts delivered with ghostscript (may be different) + #Define Flags for afmtodit + + r=-i 0 -m +-- +2.7.4 + diff --git a/poky/meta/recipes-extended/groff/groff-1.22.3/0001-Unset-need_charset_alias-when-building-for-musl.patch b/poky/meta/recipes-extended/groff/groff-1.22.3/0001-Unset-need_charset_alias-when-building-for-musl.patch deleted file mode 100644 index b61b43281..000000000 --- a/poky/meta/recipes-extended/groff/groff-1.22.3/0001-Unset-need_charset_alias-when-building-for-musl.patch +++ /dev/null @@ -1,30 +0,0 @@ -From b9565dc2fe0c4f7daaec91b7e83bc7313dee2f4a Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Mon, 13 Apr 2015 17:02:13 -0700 -Subject: [PATCH] Unset need_charset_alias when building for musl - -localcharset uses ac_cv_gnu_library_2_1 from glibc21.m4 -which actually shoudl be fixed in gnulib and then all downstream -projects will get it eventually. For now we apply the fix to -coreutils - -Upstream-Status: Pending - -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - lib/gnulib.mk | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -Index: groff-1.22.3/src/libs/gnulib/lib/Makefile.am -=================================================================== ---- groff-1.22.3.orig/src/libs/gnulib/lib/Makefile.am -+++ groff-1.22.3/src/libs/gnulib/lib/Makefile.am -@@ -113,7 +113,7 @@ install-exec-localcharset: all-local - case '$(host_os)' in \ - darwin[56]*) \ - need_charset_alias=true ;; \ -- darwin* | cygwin* | mingw* | pw32* | cegcc*) \ -+ darwin* | cygwin* | mingw* | pw32* | cegcc* | linux-musl*) \ - need_charset_alias=false ;; \ - *) \ - need_charset_alias=true ;; \ diff --git a/poky/meta/recipes-extended/groff/groff-1.22.3/groff-1.22.2-correct-man.local-install-path.patch b/poky/meta/recipes-extended/groff/groff-1.22.3/groff-1.22.2-correct-man.local-install-path.patch deleted file mode 100644 index c73328a18..000000000 --- a/poky/meta/recipes-extended/groff/groff-1.22.3/groff-1.22.2-correct-man.local-install-path.patch +++ /dev/null @@ -1,34 +0,0 @@ -Correct the install path of man.local to fix following error: - /yocto/build/tmp/sysroots/x86_64-linux/usr/share/groff/1.22.2/tmac/an-old.tmac:690: warning: can't find macro file `man.local' - -Signed-off-by: Zhenhua Luo <zhenhua.luo@freescale.com> -Upstream-Status: Pending - -diff --git a/tmac/Makefile.sub b/tmac/Makefile.sub -index 1506232..f1468c5 100644 ---- a/tmac/Makefile.sub -+++ b/tmac/Makefile.sub -@@ -121,9 +121,9 @@ install_data: $(NORMALFILES) $(SPECIALFILES) man.local \ - $(RM) $(DESTDIR)$(mdocdir)/$$f; \ - $(INSTALL_DATA) $$f-s $(DESTDIR)$(mdocdir)/$$f; \ - done -- -test -f $(DESTDIR)$(localtmacdir)/man.local \ -+ -test -f $(DESTDIR)$(tmacdir)/man.local \ - || $(INSTALL_DATA) $(srcdir)/man.local \ -- $(DESTDIR)$(localtmacdir)/man.local -+ $(DESTDIR)$(tmacdir)/man.local - -test -f $(DESTDIR)$(localtmacdir)/mdoc.local \ - || $(INSTALL_DATA) mdoc.local-s $(DESTDIR)$(localtmacdir)/mdoc.local - -@@ -164,9 +164,9 @@ uninstall_sub: - $(RM) $(DESTDIR)$(tmacdir)/$(tmac_s_prefix)s.tmac - $(RM) $(DESTDIR)$(tmacdir)/$(tmac_an_prefix)an.tmac - $(RM) $(DESTDIR)$(tmacdir)/www.tmac -- -if cmp -s $(DESTDIR)$(localtmacdir)/man.local \ -+ -if cmp -s $(DESTDIR)$(tmacdir)/man.local \ - $(srcdir)/man.local; then \ -- $(RM) $(DESTDIR)$(localtmacdir)/man.local; \ -+ $(RM) $(DESTDIR)$(tmacdir)/man.local; \ - fi - -if cmp -s $(DESTDIR)$(localtmacdir)/mdoc.local \ - $(srcdir)/mdoc.local; then \ diff --git a/poky/meta/recipes-extended/groff/groff-1.22.3/groff-not-search-fonts-on-build-host.patch b/poky/meta/recipes-extended/groff/groff-1.22.3/groff-not-search-fonts-on-build-host.patch deleted file mode 100644 index ff8f32059..000000000 --- a/poky/meta/recipes-extended/groff/groff-1.22.3/groff-not-search-fonts-on-build-host.patch +++ /dev/null @@ -1,20 +0,0 @@ -groff searchs fonts which are provided by ghostscript on build host. -It causes non-determinism issue. So not search font dirs on host. - -Upstream-Status: Inappropriate [cross build specific] - -Signed-off-by: Kai Kang <kai.kang@windriver.com> - -diff --git a/font/devpdf/Foundry.in b/font/devpdf/Foundry.in -index a6e968f..8094642 100644 ---- a/font/devpdf/Foundry.in -+++ b/font/devpdf/Foundry.in -@@ -65,7 +65,7 @@ ZD|Y||||Dingbats!d050000l.pfb - #====================================================================== - - #Foundry|Name|Searchpath --foundry|U|(gs):/usr/share/fonts/type1/gsfonts :/opt/local/share/fonts/urw-fonts # the URW fonts delivered with ghostscript (may be different) -+foundry|U|(gs) # the URW fonts delivered with ghostscript (may be different) - #Define Flags for afmtodit - - r=-i 0 -m diff --git a/poky/meta/recipes-extended/groff/groff_1.22.3.bb b/poky/meta/recipes-extended/groff/groff_1.22.4.bb index ba90cadd8..37eee9a6c 100644 --- a/poky/meta/recipes-extended/groff/groff_1.22.3.bb +++ b/poky/meta/recipes-extended/groff/groff_1.22.4.bb @@ -8,49 +8,27 @@ LICENSE = "GPLv3" LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" SRC_URI = "${GNU_MIRROR}/groff/groff-${PV}.tar.gz \ - file://groff-1.22.2-correct-man.local-install-path.patch \ - file://0001-Unset-need_charset_alias-when-building-for-musl.patch \ file://0001-replace-perl-w-with-use-warnings.patch \ file://groff-not-search-fonts-on-build-host.patch \ + file://0001-fix-shebang-for-taget.patch \ + file://0001-support-musl.patch \ " -SRC_URI[md5sum] = "cc825fa64bc7306a885f2fb2268d3ec5" -SRC_URI[sha256sum] = "3a48a9d6c97750bfbd535feeb5be0111db6406ddb7bb79fc680809cda6d828a5" +SRC_URI[md5sum] = "08fb04335e2f5e73f23ea4c3adbf0c5f" +SRC_URI[sha256sum] = "e78e7b4cb7dec310849004fa88847c44701e8d133b5d4c13057d876c1bad0293" -DEPENDS = "groff-native" -DEPENDS_class-native = "" +DEPENDS = "bison-native" RDEPENDS_${PN} += "perl sed" -inherit autotools texinfo multilib_script +inherit autotools-brokensep texinfo multilib_script pkgconfig MULTILIB_SCRIPTS = "${PN}:${bindir}/gpinyin ${PN}:${bindir}/groffer ${PN}:${bindir}/grog" -EXTRA_OECONF = "--without-x" +EXTRA_OECONF = "--without-x --without-doc" PARALLEL_MAKE = "" CACHED_CONFIGUREVARS += "ac_cv_path_PERL='/usr/bin/env perl'" -do_configure_prepend() { - if [ "${BUILD_SYS}" != "${HOST_SYS}" ]; then - sed -i \ - -e '/^GROFFBIN=/s:=.*:=${STAGING_BINDIR_NATIVE}/groff:' \ - -e '/^TROFFBIN=/s:=.*:=${STAGING_BINDIR_NATIVE}/troff:' \ - -e '/^GROFF_BIN_PATH=/s:=.*:=${STAGING_BINDIR_NATIVE}:' \ - -e '/^GROFF_BIN_DIR=/s:=.*:=${STAGING_BINDIR_NATIVE}:' \ - ${S}/contrib/*/Makefile.sub \ - ${S}/doc/Makefile.in \ - ${S}/doc/Makefile.sub - fi -} - -do_configure_append() { - # generate gnulib configure script - olddir=`pwd` - cd ${S}/src/libs/gnulib/ - ACLOCAL="$ACLOCAL" autoreconf -Wcross --verbose --install --force ${EXTRA_AUTORECONF} $acpaths || die "autoreconf execution failed." - cd ${olddir} -} - do_install_append() { # Some distros have both /bin/perl and /usr/bin/perl, but we set perl location # for target as /usr/bin/perl, so fix it to /usr/bin/perl. diff --git a/poky/meta/recipes-extended/gzip/gzip_1.10.bb b/poky/meta/recipes-extended/gzip/gzip_1.10.bb index 75de97063..6a5b2459e 100644 --- a/poky/meta/recipes-extended/gzip/gzip_1.10.bb +++ b/poky/meta/recipes-extended/gzip/gzip_1.10.bb @@ -12,6 +12,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \ PROVIDES_append_class-native = " gzip-replacement-native" +RDEPENDS_${PN}-ptest += "make" + BBCLASSEXTEND = "native" inherit ptest diff --git a/poky/meta/recipes-extended/iptables/iptables/0003-extensions-format-security-fixes-in-libipt_icmp.patch b/poky/meta/recipes-extended/iptables/iptables/0003-extensions-format-security-fixes-in-libipt_icmp.patch new file mode 100644 index 000000000..e26594d19 --- /dev/null +++ b/poky/meta/recipes-extended/iptables/iptables/0003-extensions-format-security-fixes-in-libipt_icmp.patch @@ -0,0 +1,61 @@ +From 907e429d7548157016cd51aba4adc5d0c7d9f816 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Adam=20Go=C5=82=C4=99biowski?= <adamg@pld-linux.org> +Date: Wed, 14 Nov 2018 07:35:28 +0100 +Subject: extensions: format-security fixes in libip[6]t_icmp +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +commit 61d6c3834de3 ("xtables: add 'printf' attribute to xlate_add") +introduced support for gcc feature to check format string against passed +argument. This commit adds missing bits to extenstions's libipt_icmp.c +and libip6t_icmp6.c that were causing build to fail. + +Fixes: 61d6c3834de3 ("xtables: add 'printf' attribute to xlate_add") +Signed-off-by: Adam Gołębiowski <adamg@pld-linux.org> +Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org> + +Upstream-Status: Backport +--- + extensions/libip6t_icmp6.c | 4 ++-- + extensions/libipt_icmp.c | 2 +- + 2 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/extensions/libip6t_icmp6.c b/extensions/libip6t_icmp6.c +index 45a71875..cc7bfaeb 100644 +--- a/extensions/libip6t_icmp6.c ++++ b/extensions/libip6t_icmp6.c +@@ -230,7 +230,7 @@ static unsigned int type_xlate_print(struct xt_xlate *xl, unsigned int icmptype, + type_name = icmp6_type_xlate(icmptype); + + if (type_name) { +- xt_xlate_add(xl, type_name); ++ xt_xlate_add(xl, "%s", type_name); + } else { + for (i = 0; i < ARRAY_SIZE(icmpv6_codes); ++i) + if (icmpv6_codes[i].type == icmptype && +@@ -239,7 +239,7 @@ static unsigned int type_xlate_print(struct xt_xlate *xl, unsigned int icmptype, + break; + + if (i != ARRAY_SIZE(icmpv6_codes)) +- xt_xlate_add(xl, icmpv6_codes[i].name); ++ xt_xlate_add(xl, "%s", icmpv6_codes[i].name); + else + return 0; + } +diff --git a/extensions/libipt_icmp.c b/extensions/libipt_icmp.c +index 54189976..e76257c5 100644 +--- a/extensions/libipt_icmp.c ++++ b/extensions/libipt_icmp.c +@@ -236,7 +236,7 @@ static unsigned int type_xlate_print(struct xt_xlate *xl, unsigned int icmptype, + if (icmp_codes[i].type == icmptype && + icmp_codes[i].code_min == code_min && + icmp_codes[i].code_max == code_max) { +- xt_xlate_add(xl, icmp_codes[i].name); ++ xt_xlate_add(xl, "%s", icmp_codes[i].name); + return 1; + } + } +-- +cgit v1.2.1 + diff --git a/poky/meta/recipes-extended/iptables/iptables_1.6.2.bb b/poky/meta/recipes-extended/iptables/iptables_1.8.2.bb index a57cac34e..ad2c1a6f8 100644 --- a/poky/meta/recipes-extended/iptables/iptables_1.6.2.bb +++ b/poky/meta/recipes-extended/iptables/iptables_1.8.2.bb @@ -10,10 +10,11 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263\ SRC_URI = "http://netfilter.org/projects/iptables/files/iptables-${PV}.tar.bz2 \ file://0001-configure-Add-option-to-enable-disable-libnfnetlink.patch \ file://0002-configure.ac-only-check-conntrack-when-libnfnetlink-enabled.patch \ + file://0003-extensions-format-security-fixes-in-libipt_icmp.patch \ " -SRC_URI[md5sum] = "7d2b7847e4aa8832a18437b8a4c1873d" -SRC_URI[sha256sum] = "55d02dfa46263343a401f297d44190f2a3e5113c8933946f094ed40237053733" +SRC_URI[md5sum] = "944558e88ddcc3b9b0d9550070fa3599" +SRC_URI[sha256sum] = "a3778b50ed1a3256f9ca975de82c2204e508001fc2471238c8c97f3d1c4c12af" inherit autotools pkgconfig diff --git a/poky/meta/recipes-extended/libsolv/libsolv/0001-solver_solve-only-disfavor-recommends-if-there-are-a.patch b/poky/meta/recipes-extended/libsolv/libsolv/0001-solver_solve-only-disfavor-recommends-if-there-are-a.patch deleted file mode 100644 index 139613a0a..000000000 --- a/poky/meta/recipes-extended/libsolv/libsolv/0001-solver_solve-only-disfavor-recommends-if-there-are-a.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 19d7cc87adba92d31d5fafdf7db00920d24a96a6 Mon Sep 17 00:00:00 2001 -From: Alejandro del Castillo <alejandro.delcastillo@ni.com> -Date: Wed, 6 Feb 2019 13:24:04 -0600 -Subject: [PATCH] solver_solve: only disfavor recommends if there are any - -In a repo that have pkg 'a' and 'b' available, and 'b' is disfavored, -but 'a' doesn't recommend 'b', libsolv segfaults on -solver_addrecommendsrules, since solv->recommendsruleq is null. Only -call solver_addrecommendsrules if there are recommends rules. - -Signed-off-by: Alejandro del Castillo <alejandro.delcastillo@ni.com> - -Upstream-Status: Accepted ---- - src/solver.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/solver.c b/src/solver.c -index a80090d19..ad78327a8 100644 ---- a/src/solver.c -+++ b/src/solver.c -@@ -3920,7 +3920,7 @@ solver_solve(Solver *solv, Queue *job) - else - solv->yumobsrules = solv->yumobsrules_end = solv->nrules; - -- if (solv->havedisfavored && solv->strongrecommends) -+ if (solv->havedisfavored && solv->strongrecommends && solv->recommendsruleq) - solver_addrecommendsrules(solv); - else - solv->recommendsrules = solv->recommendsrules_end = solv->nrules; --- -2.20.1 - diff --git a/poky/meta/recipes-extended/libsolv/libsolv_0.7.3.bb b/poky/meta/recipes-extended/libsolv/libsolv_0.7.4.bb index 70c8dbc2e..b8653adc0 100644 --- a/poky/meta/recipes-extended/libsolv/libsolv_0.7.3.bb +++ b/poky/meta/recipes-extended/libsolv/libsolv_0.7.4.bb @@ -8,11 +8,11 @@ LIC_FILES_CHKSUM = "file://LICENSE.BSD;md5=62272bd11c97396d4aaf1c41bc11f7d8" DEPENDS = "expat zlib" SRC_URI = "git://github.com/openSUSE/libsolv.git \ - file://0001-solver_solve-only-disfavor-recommends-if-there-are-a.patch \ file://0001-build-use-GNUInstallDirs.patch \ " -SRCREV = "dc7d0f1c3113f2c8217563166906bef3eb5d1ee1" +SRCREV = "51fc3b1214aa9677e972712fa1ce6916e438751f" + UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)" S = "${WORKDIR}/git" diff --git a/poky/meta/recipes-extended/libtirpc/libtirpc/libtirpc-1.0.4-rc1.patch b/poky/meta/recipes-extended/libtirpc/libtirpc/libtirpc-1.0.4-rc1.patch deleted file mode 100644 index 6d40d3cce..000000000 --- a/poky/meta/recipes-extended/libtirpc/libtirpc/libtirpc-1.0.4-rc1.patch +++ /dev/null @@ -1,103 +0,0 @@ -Patch from Fedora https://src.fedoraproject.org/rpms/libtirpc/raw/master/f/libtirpc-1.0.4-rc1.patch - -Upstream-Status: Backport -Signed-off-by: Khem Raj <raj.khem@gmail.com> - -diff --git a/src/clnt_generic.c b/src/clnt_generic.c -index e5a314f..3f3dabf 100644 ---- a/src/clnt_generic.c -+++ b/src/clnt_generic.c -@@ -47,7 +47,6 @@ - - extern bool_t __rpc_is_local_host(const char *); - int __rpc_raise_fd(int); --extern int __binddynport(int fd); - - #ifndef NETIDLEN - #define NETIDLEN 32 -@@ -341,8 +340,7 @@ clnt_tli_create(int fd, const struct netconfig *nconf, - servtype = nconf->nc_semantics; - if (!__rpc_fd2sockinfo(fd, &si)) - goto err; -- if (__binddynport(fd) == -1) -- goto err; -+ bindresvport(fd, NULL); - } else { - if (!__rpc_fd2sockinfo(fd, &si)) - goto err; -diff --git a/src/rpc_soc.c b/src/rpc_soc.c -index af6c482..5a6eeb7 100644 ---- a/src/rpc_soc.c -+++ b/src/rpc_soc.c -@@ -67,8 +67,6 @@ - - extern mutex_t rpcsoc_lock; - --extern int __binddynport(int fd); -- - static CLIENT *clnt_com_create(struct sockaddr_in *, rpcprog_t, rpcvers_t, - int *, u_int, u_int, char *, int); - static SVCXPRT *svc_com_create(int, u_int, u_int, char *); -@@ -147,8 +145,7 @@ clnt_com_create(raddr, prog, vers, sockp, sendsz, recvsz, tp, flags) - bindaddr.maxlen = bindaddr.len = sizeof (struct sockaddr_in); - bindaddr.buf = raddr; - -- if (__binddynport(fd) == -1) -- goto err; -+ bindresvport(fd, NULL); - cl = clnt_tli_create(fd, nconf, &bindaddr, prog, vers, - sendsz, recvsz); - if (cl) { -diff --git a/src/rpcb_clnt.c b/src/rpcb_clnt.c -index a94fc73..4b44364 100644 ---- a/src/rpcb_clnt.c -+++ b/src/rpcb_clnt.c -@@ -752,7 +752,7 @@ __try_protocol_version_2(program, version, nconf, host, tp) - - client = getpmaphandle(nconf, host, &parms.r_addr); - if (client == NULL) -- return (NULL); -+ goto error; - - /* - * Set retry timeout. -@@ -771,11 +771,11 @@ __try_protocol_version_2(program, version, nconf, host, tp) - if (clnt_st != RPC_SUCCESS) { - rpc_createerr.cf_stat = RPC_PMAPFAILURE; - clnt_geterr(client, &rpc_createerr.cf_error); -- return (NULL); -+ goto error; - } else if (port == 0) { - pmapaddress = NULL; - rpc_createerr.cf_stat = RPC_PROGNOTREGISTERED; -- return (NULL); -+ goto error; - } - port = htons(port); - CLNT_CONTROL(client, CLGET_SVC_ADDR, (char *)&remote); -@@ -789,14 +789,24 @@ __try_protocol_version_2(program, version, nconf, host, tp) - free(pmapaddress); - pmapaddress = NULL; - } -- return (NULL); -+ goto error; - } - memcpy(pmapaddress->buf, remote.buf, remote.len); - memcpy(&((char *)pmapaddress->buf)[sizeof (short)], - (char *)(void *)&port, sizeof (short)); - pmapaddress->len = pmapaddress->maxlen = remote.len; - -+ CLNT_DESTROY(client); - return pmapaddress; -+ -+error: -+ if (client) { -+ CLNT_DESTROY(client); -+ client = NULL; -+ -+ } -+ return (NULL); -+ - } - #endif - diff --git a/poky/meta/recipes-extended/libtirpc/libtirpc_1.0.3.bb b/poky/meta/recipes-extended/libtirpc/libtirpc_1.1.4.bb index f978c8c8a..9c480b825 100644 --- a/poky/meta/recipes-extended/libtirpc/libtirpc_1.0.3.bb +++ b/poky/meta/recipes-extended/libtirpc/libtirpc_1.1.4.bb @@ -10,13 +10,12 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=f835cce8852481e4b2bbbdd23b5e47f3 \ PROVIDES = "virtual/librpc" SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.bz2 \ - file://libtirpc-1.0.4-rc1.patch \ file://musl.patch \ " UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/libtirpc/files/libtirpc/" UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)/" -SRC_URI[md5sum] = "f8403a10695348854e71d525c4db5931" -SRC_URI[sha256sum] = "86c3a78fc1bddefa96111dd233124c703b22a78884203c55c3e06b3be6a0fd5e" +SRC_URI[md5sum] = "f5d2a623e9dfbd818d2f3f3a4a878e3a" +SRC_URI[sha256sum] = "2ca529f02292e10c158562295a1ffd95d2ce8af97820e3534fe1b0e3aec7561d" inherit autotools pkgconfig diff --git a/poky/meta/recipes-extended/ltp/ltp/0001-syscalls-setrlimit03.c-read-proc-sys-fs-nr_open-for-.patch b/poky/meta/recipes-extended/ltp/ltp/0001-syscalls-setrlimit03.c-read-proc-sys-fs-nr_open-for-.patch new file mode 100644 index 000000000..39623c37d --- /dev/null +++ b/poky/meta/recipes-extended/ltp/ltp/0001-syscalls-setrlimit03.c-read-proc-sys-fs-nr_open-for-.patch @@ -0,0 +1,70 @@ +From db57ddc1497e72947da2b14f471ab521478ef99d Mon Sep 17 00:00:00 2001 +From: Tommi Rantala <tommi.t.rantala@nokia.com> +Date: Thu, 31 Jan 2019 19:49:00 +0200 +Subject: [PATCH] syscalls/setrlimit03.c: read /proc/sys/fs/nr_open for + RLIMIT_NOFILE limit + +Since kernel v2.6.25 RLIMIT_NOFILE limit is no longer hardcoded to +NR_OPEN, but can be set via /proc/sys/fs/nr_open, see kernel commit +9cfe015aa424b3c003baba3841a60dd9b5ad319b ("get rid of NR_OPEN and +introduce a sysctl_nr_open"). + +nr_open default value is 1024*1024, so setrlimit03 has been passing fine +on new kernels, only "unexpectedly succeeding" if nr_open is set to some +larger value. + +Signed-off-by: Tommi Rantala <tommi.t.rantala@nokia.com> +Reviewed-by: Cyril Hrubis <chrubis@suse.cz> + +Upstream-Status: Backport [db57ddc1497e ("syscalls/setrlimit03.c: read /proc/sys/fs/nr_open for RLIMIT_NOFILE limit")] + +Signed-off-by: He Zhe <zhe.he@windriver.com> +--- + testcases/kernel/syscalls/setrlimit/setrlimit03.c | 13 +++++++++++-- + 1 file changed, 11 insertions(+), 2 deletions(-) + +diff --git a/testcases/kernel/syscalls/setrlimit/setrlimit03.c b/testcases/kernel/syscalls/setrlimit/setrlimit03.c +index 29b52aa..12455fe 100644 +--- a/testcases/kernel/syscalls/setrlimit/setrlimit03.c ++++ b/testcases/kernel/syscalls/setrlimit/setrlimit03.c +@@ -35,7 +35,10 @@ + # define NR_OPEN (1024*1024) + #endif + ++#define NR_OPEN_PATH "/proc/sys/fs/nr_open" ++ + static struct rlimit rlim1, rlim2; ++static unsigned int nr_open = NR_OPEN; + + static struct tcase { + struct rlimit *rlimt; +@@ -51,7 +54,10 @@ static void verify_setrlimit(unsigned int n) + + TEST(setrlimit(RLIMIT_NOFILE, tc->rlimt)); + if (TST_RET != -1) { +- tst_res(TFAIL, "call succeeded unexpectedly"); ++ tst_res(TFAIL, "call succeeded unexpectedly " ++ "(nr_open=%u rlim_cur=%lu rlim_max=%lu)", nr_open, ++ (unsigned long)(tc->rlimt->rlim_cur), ++ (unsigned long)(tc->rlimt->rlim_max)); + return; + } + +@@ -65,10 +71,13 @@ static void verify_setrlimit(unsigned int n) + + static void setup(void) + { ++ if (!access(NR_OPEN_PATH, F_OK)) ++ SAFE_FILE_SCANF(NR_OPEN_PATH, "%u", &nr_open); ++ + SAFE_GETRLIMIT(RLIMIT_NOFILE, &rlim1); + rlim2.rlim_max = rlim1.rlim_cur; + rlim2.rlim_cur = rlim1.rlim_max + 1; +- rlim1.rlim_max = NR_OPEN + 1; ++ rlim1.rlim_max = nr_open + 1; + } + + static struct tst_test test = { +-- +2.7.4 + diff --git a/poky/meta/recipes-extended/ltp/ltp_20190115.bb b/poky/meta/recipes-extended/ltp/ltp_20190115.bb index ddf97e26c..1d0c00b64 100644 --- a/poky/meta/recipes-extended/ltp/ltp_20190115.bb +++ b/poky/meta/recipes-extended/ltp/ltp_20190115.bb @@ -49,6 +49,7 @@ SRC_URI = "git://github.com/linux-test-project/ltp.git \ file://0001-open_posix_testsuite-mmap24-2-Relax-condition-a-bit.patch \ file://define-sigrtmin-and-sigrtmax-for-musl.patch \ file://setregid01-security-string-formatting.patch \ + file://0001-syscalls-setrlimit03.c-read-proc-sys-fs-nr_open-for-.patch \ " S = "${WORKDIR}/git" diff --git a/poky/meta/recipes-extended/man-db/man-db_2.8.4.bb b/poky/meta/recipes-extended/man-db/man-db_2.8.5.bb index aa364659e..441e2f411 100644 --- a/poky/meta/recipes-extended/man-db/man-db_2.8.4.bb +++ b/poky/meta/recipes-extended/man-db/man-db_2.8.5.bb @@ -7,8 +7,8 @@ LIC_FILES_CHKSUM = "file://docs/COPYING.LIB;md5=a6f89e2100d9b6cdffcea4f398e37343 SRC_URI = "${SAVANNAH_NONGNU_MIRROR}/man-db/man-db-${PV}.tar.xz \ file://99_mandb \ file://man_db.conf-avoid-multilib-install-file-conflict.patch" -SRC_URI[md5sum] = "ab41db551f500e4a595b11203b86c67a" -SRC_URI[sha256sum] = "103c185f9d8269b9ee3b8a4cb27912b3aa393e952731ef96fedc880723472bc3" +SRC_URI[md5sum] = "c5c6c3434be14a5527d43b5ad0f09a13" +SRC_URI[sha256sum] = "b64d52747534f1fe873b2876eb7f01319985309d5d7da319d2bc52ba1e73f6c1" DEPENDS = "libpipeline gdbm groff-native base-passwd" RDEPENDS_${PN} += "base-passwd" @@ -16,7 +16,7 @@ RDEPENDS_${PN} += "base-passwd" # | /usr/src/debug/man-db/2.8.0-r0/man-db-2.8.0/src/whatis.c:939: undefined reference to `_nl_msg_cat_cntr' USE_NLS_libc-musl = "no" -inherit gettext pkgconfig autotools +inherit gettext pkgconfig autotools systemd EXTRA_OECONF = "--with-pager=less" EXTRA_AUTORECONF += "-I ${S}/gl/m4" @@ -54,3 +54,6 @@ def compress_pkg(d): return "" RDEPENDS_${PN} += "${@compress_pkg(d)}" + +SYSTEMD_SERVICE_${PN} = "man-db.timer man-db.service" +SYSTEMD_AUTO_ENABLE ?= "disable" diff --git a/poky/meta/recipes-extended/man-pages/man-pages_4.16.bb b/poky/meta/recipes-extended/man-pages/man-pages_5.01.bb index 1f14c891b..28525f4ba 100644 --- a/poky/meta/recipes-extended/man-pages/man-pages_4.16.bb +++ b/poky/meta/recipes-extended/man-pages/man-pages_5.01.bb @@ -7,8 +7,8 @@ LICENSE = "GPLv2+" LIC_FILES_CHKSUM = "file://README;md5=794f701617cc03fe50c53257660d8ec4" SRC_URI = "${KERNELORG_MIRROR}/linux/docs/${BPN}/Archive/${BP}.tar.gz" -SRC_URI[md5sum] = "d1fb8ba312a1c15e0bfda911a98c5544" -SRC_URI[sha256sum] = "d38b0460bf3f35c95faf7f8cf52dac1216d86a47866f5e5f2fda88c61da04960" +SRC_URI[md5sum] = "38abead776a506109e128ab96bcbbe58" +SRC_URI[sha256sum] = "070bef794c6826b3fb3965d1a2efdb46c25cb37c06c715987f88a50906cd5b6f" inherit manpages diff --git a/poky/meta/recipes-extended/mdadm/files/0001-mdadm-gcc8-maybe-uninitialized-format-overflow-warni.patch b/poky/meta/recipes-extended/mdadm/files/0001-mdadm-gcc8-maybe-uninitialized-format-overflow-warni.patch deleted file mode 100644 index 237f83a87..000000000 --- a/poky/meta/recipes-extended/mdadm/files/0001-mdadm-gcc8-maybe-uninitialized-format-overflow-warni.patch +++ /dev/null @@ -1,60 +0,0 @@ -From bf457a83834932ba06de3528b8779a023e73fa7b Mon Sep 17 00:00:00 2001 -From: Changqing Li <changqing.li@windriver.com> -Date: Tue, 12 Mar 2019 16:17:29 +0800 -Subject: [PATCH] mdadm: gcc8 maybe-uninitialized/format-overflow warning - -while compiled with -Werror=maybe-uninitialized/-Werror=format-overflow=, -it failed - -[snip] -| Incremental.c: In function 'Incremental_container': -| Incremental.c:1593:3: error: 'mdfd' may be used uninitialized in this function [-Werror=maybe-uninitialized] -| close(mdfd); -| ^~~~~~~~~~~ - -[snip] -super-intel.c: In function 'apply_takeover_update': -| super-intel.c:9615:15: error: '%d' directive writing between 1 and 11 bytes into a region of size 7 [-Werror=format-overflow=] -| " MISSING_%d", du->index); -| ^~ - -Upstream-Status: Submitted [https://github.com/neilbrown/mdadm/pull/36] - -Signed-off-by: Changqing Li <changqing.li@windriver.com> ---- - Incremental.c | 2 +- - super-intel.c | 4 ++-- - 2 files changed, 3 insertions(+), 3 deletions(-) - -diff --git a/Incremental.c b/Incremental.c -index a4ff7d4..b667868 100644 ---- a/Incremental.c -+++ b/Incremental.c -@@ -1500,7 +1500,7 @@ static int Incremental_container(struct supertype *st, char *devname, - return 0; - } - for (ra = list ; ra ; ra = ra->next) { -- int mdfd; -+ int mdfd = 0; - char chosen_name[1024]; - struct map_ent *mp; - struct mddev_ident *match = NULL; -diff --git a/super-intel.c b/super-intel.c -index 10d7218..c3741ea 100644 ---- a/super-intel.c -+++ b/super-intel.c -@@ -9612,9 +9612,9 @@ static int apply_takeover_update(struct imsm_update_takeover *u, - du->major = 0; - du->index = (i * 2) + 1; - sprintf((char *)du->disk.serial, -- " MISSING_%d", du->index); -+ " MISSING_%hu", du->index); - sprintf((char *)du->serial, -- "MISSING_%d", du->index); -+ "MISSING_%hu", du->index); - du->next = super->missing; - super->missing = du; - } --- -2.7.4 - diff --git a/poky/meta/recipes-extended/mdadm/files/debian-no-Werror.patch b/poky/meta/recipes-extended/mdadm/files/debian-no-Werror.patch new file mode 100644 index 000000000..e66a15cd7 --- /dev/null +++ b/poky/meta/recipes-extended/mdadm/files/debian-no-Werror.patch @@ -0,0 +1,25 @@ +From: martin f. krafft <madduck@debian.org> +Subject: Remove -Werror from compiler flags + +-Werror seems like a bad idea on released/packaged code because a toolchain +update (introducing new warnings) could break the build. We'll let upstream +use it to beautify the code, but remove it for out builds. + +Signed-off-by: martin f. krafft <madduck@debian.org> + +Upstream-Status: Pending +--- + Makefile | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +--- a/Makefile ++++ b/Makefile +@@ -48,7 +48,7 @@ endif + + CC ?= $(CROSS_COMPILE)gcc + CXFLAGS ?= -ggdb +-CWFLAGS = -Wall -Werror -Wstrict-prototypes -Wextra -Wno-unused-parameter ++CWFLAGS = -Wall -Wstrict-prototypes -Wextra -Wno-unused-parameter + ifdef WARN_UNUSED + CWFLAGS += -Wp,-D_FORTIFY_SOURCE=2 -O3 + endif diff --git a/poky/meta/recipes-extended/mdadm/mdadm_4.1.bb b/poky/meta/recipes-extended/mdadm/mdadm_4.1.bb index 9862a38dc..597faf787 100644 --- a/poky/meta/recipes-extended/mdadm/mdadm_4.1.bb +++ b/poky/meta/recipes-extended/mdadm/mdadm_4.1.bb @@ -17,9 +17,9 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/utils/raid/mdadm/${BPN}-${PV}.tar.xz \ file://0001-Use-CC-to-check-for-implicit-fallthrough-warning-sup.patch \ file://0001-Compute-abs-diff-in-a-standard-compliant-way.patch \ file://0001-fix-gcc-8-format-truncation-warning.patch \ + file://debian-no-Werror.patch \ file://mdadm.init \ file://mdmonitor.service \ - file://0001-mdadm-gcc8-maybe-uninitialized-format-overflow-warni.patch \ " SRC_URI[md5sum] = "51bf3651bd73a06c413a2f964f299598" SRC_URI[sha256sum] = "ab7688842908d3583a704d491956f31324c3a5fc9f6a04653cb75d19f1934f4a" @@ -57,13 +57,15 @@ do_install() { do_install_append() { install -d ${D}/${sysconfdir}/ install -m 644 ${S}/mdadm.conf-example ${D}${sysconfdir}/mdadm.conf - install -d ${D}/${systemd_unitdir}/system - install -m 644 ${WORKDIR}/mdmonitor.service ${D}/${systemd_unitdir}/system - install -m 644 ${S}/systemd/mdmon@.service ${D}/${systemd_unitdir}/system install -d ${D}/${sysconfdir}/init.d install -m 755 ${WORKDIR}/mdadm.init ${D}${sysconfdir}/init.d/mdmonitor } +do_install_append() { + oe_runmake install-systemd DESTDIR=${D} +} + + do_compile_ptest() { oe_runmake test } @@ -90,3 +92,5 @@ RRECOMMENDS_${PN}-ptest += " \ kernel-module-raid10 \ kernel-module-raid456 \ " + +FILES_${PN} += "/lib/systemd/*" diff --git a/poky/meta/recipes-extended/msmtp/msmtp_1.6.6.bb b/poky/meta/recipes-extended/msmtp/msmtp_1.8.4.bb index e1721936c..888c1bbb5 100644 --- a/poky/meta/recipes-extended/msmtp/msmtp_1.6.6.bb +++ b/poky/meta/recipes-extended/msmtp/msmtp_1.8.4.bb @@ -1,19 +1,18 @@ SUMMARY = "msmtp is an SMTP client" DESCRIPTION = "A sendmail replacement for use in MTAs like mutt" -HOMEPAGE = "http://msmtp.sourceforge.net/" +HOMEPAGE = "https://marlam.de/msmtp/" SECTION = "console/network" LICENSE = "GPLv3" DEPENDS = "zlib gnutls" -#COPYING or Licence LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" -SRC_URI = "http://sourceforge.net/projects/msmtp/files/msmtp/${PV}/${BPN}-${PV}.tar.xz \ - " +UPSTREAM_CHECK_URI = "https://marlam.de/msmtp/download/" -SRC_URI[md5sum] = "82b0520b57db4b2cf05333d11fb5974d" -SRC_URI[sha256sum] = "da15db1f62bd0201fce5310adb89c86188be91cd745b7cb3b62b81a501e7fb5e" +SRC_URI = "https://marlam.de/${BPN}/releases/${BP}.tar.xz" +SRC_URI[md5sum] = "abfabb92f0461137f3c09cd16d98fc9b" +SRC_URI[sha256sum] = "e5dd7fe95bc8e2f5eea3e4894ec9628252f30bd700a7fd1a568b10efa91129f7" inherit gettext autotools update-alternatives pkgconfig diff --git a/poky/meta/recipes-extended/packagegroups/packagegroup-core-full-cmdline.bb b/poky/meta/recipes-extended/packagegroups/packagegroup-core-full-cmdline.bb index ffa838877..ec67f8d12 100644 --- a/poky/meta/recipes-extended/packagegroups/packagegroup-core-full-cmdline.bb +++ b/poky/meta/recipes-extended/packagegroups/packagegroup-core-full-cmdline.bb @@ -94,7 +94,6 @@ RDEPENDS_packagegroup-core-full-cmdline-utils = "\ tar \ time \ util-linux \ - zlib \ " RDEPENDS_packagegroup-core-full-cmdline-extended = "\ diff --git a/poky/meta/recipes-extended/parted/parted_3.2.bb b/poky/meta/recipes-extended/parted/parted_3.2.bb index 6189fd224..ceac52892 100644 --- a/poky/meta/recipes-extended/parted/parted_3.2.bb +++ b/poky/meta/recipes-extended/parted/parted_3.2.bb @@ -47,7 +47,7 @@ do_install_ptest() { sed -e 's| ../parted||' -i $t/tests/*.sh } -RDEPENDS_${PN}-ptest = "bash coreutils perl util-linux-losetup python3" +RDEPENDS_${PN}-ptest = "bash coreutils perl util-linux-losetup python3 make" inherit update-alternatives diff --git a/poky/meta/recipes-extended/procps/procps/sysctl.conf b/poky/meta/recipes-extended/procps/procps/sysctl.conf index 34e7488bf..253f3701b 100644 --- a/poky/meta/recipes-extended/procps/procps/sysctl.conf +++ b/poky/meta/recipes-extended/procps/procps/sysctl.conf @@ -1,64 +1,67 @@ -# This configuration file is taken from Debian. +# This configuration taken from procps v3.3.15 +# Commented out kernel/pid_max=10000 line # # /etc/sysctl.conf - Configuration file for setting system variables # See sysctl.conf (5) for information. -# -#kernel.domainname = example.com +# you can have the CD-ROM close when you use it, and open +# when you are done. +#dev.cdrom.autoeject = 1 +#dev.cdrom.autoclose = 1 -# Uncomment the following to stop low-level messages on console -#kernel.printk = 4 4 1 7 +# protection from the SYN flood attack +net/ipv4/tcp_syncookies=1 -##############################################################3 -# Functions previously found in netbase -# +# see the evil packets in your log files +net/ipv4/conf/all/log_martians=1 -# Uncomment the next two lines to enable Spoof protection (reverse-path filter) -# Turn on Source Address Verification in all interfaces to -# prevent some spoofing attacks -net.ipv4.conf.default.rp_filter=1 -net.ipv4.conf.all.rp_filter=1 +# makes you vulnerable or not :-) +net/ipv4/conf/all/accept_redirects=0 +net/ipv4/conf/all/accept_source_route=0 +net/ipv4/icmp_echo_ignore_broadcasts =1 -# Uncomment the next line to enable TCP/IP SYN cookies -#net.ipv4.tcp_syncookies=1 +# needed for routing, including masquerading or NAT +#net/ipv4/ip_forward=1 -# Uncomment the next line to enable packet forwarding for IPv4 -#net.ipv4.ip_forward=1 +# sets the port range used for outgoing connections +#net.ipv4.ip_local_port_range = 32768 61000 -# Uncomment the next line to enable packet forwarding for IPv6 -#net.ipv6.conf.all.forwarding=1 +# Broken routers and obsolete firewalls will corrupt the window scaling +# and ECN. Set these values to 0 to disable window scaling and ECN. +# This may, rarely, cause some performance loss when running high-speed +# TCP/IP over huge distances or running TCP/IP over connections with high +# packet loss and modern routers. This sure beats dropped connections. +#net.ipv4.tcp_ecn = 0 +# Swapping too much or not enough? Disks spinning up when you'd +# rather they didn't? Tweak these. +#vm.vfs_cache_pressure = 100 +#vm.laptop_mode = 0 +#vm.swappiness = 60 -################################################################### -# Additional settings - these settings can improve the network -# security of the host and prevent against some network attacks -# including spoofing attacks and man in the middle attacks through -# redirection. Some network environments, however, require that these -# settings are disabled so review and enable them as needed. -# -# Ignore ICMP broadcasts -#net.ipv4.icmp_echo_ignore_broadcasts = 1 -# -# Ignore bogus ICMP errors -#net.ipv4.icmp_ignore_bogus_error_responses = 1 -# -# Do not accept ICMP redirects (prevent MITM attacks) -#net.ipv4.conf.all.accept_redirects = 0 -#net.ipv6.conf.all.accept_redirects = 0 -# _or_ -# Accept ICMP redirects only for gateways listed in our default -# gateway list (enabled by default) -# net.ipv4.conf.all.secure_redirects = 1 -# -# Do not send ICMP redirects (we are not a router) -#net.ipv4.conf.all.send_redirects = 0 -# -# Do not accept IP source route packets (we are not a router) -#net.ipv4.conf.all.accept_source_route = 0 -#net.ipv6.conf.all.accept_source_route = 0 -# -# Log Martian Packets -#net.ipv4.conf.all.log_martians = 1 -# +#kernel.printk_ratelimit_burst = 10 +#kernel.printk_ratelimit = 5 +#kernel.panic_on_oops = 0 + +# Reboot 600 seconds after a panic +#kernel.panic = 600 + +# enable SysRq key (note: console security issues) +#kernel.sysrq = 1 + +# Change name of core file to start with the command name +# so you get things like: emacs.core mozilla-bin.core X.core +#kernel.core_pattern = %e.core + +# NIS/YP domain (not always equal to DNS domain) +#kernel.domainname = example.com +#kernel.hostname = darkstar + +# This limits PID values to 4 digits, which allows tools like ps +# to save screen space. +#kernel/pid_max=10000 -#kernel.shmmax = 141762560 +# Protects against creating or following links under certain conditions +# See https://www.kernel.org/doc/Documentation/sysctl/fs.txt +#fs.protected_hardlinks = 1 +#fs.protected_symlinks = 1 diff --git a/poky/meta/recipes-extended/quota/quota/fcntl.patch b/poky/meta/recipes-extended/quota/quota/fcntl.patch index 2d3797132..51a770ce6 100644 --- a/poky/meta/recipes-extended/quota/quota/fcntl.patch +++ b/poky/meta/recipes-extended/quota/quota/fcntl.patch @@ -9,13 +9,11 @@ Upstream-Status: Pending Signed-off-by: Khem Raj <raj.khem@gmail.com> -ndex: quota-tools/quota.h -=================================================================== -Index: quota-tools/quota.h -=================================================================== ---- quota-tools.orig/quota.h -+++ quota-tools/quota.h -@@ -165,6 +165,6 @@ enum { +diff --git a/quota.h b/quota.h +index 4c21411..d20c217 100644 +--- a/quota.h ++++ b/quota.h +@@ -182,6 +182,6 @@ enum { #endif #endif @@ -23,10 +21,10 @@ Index: quota-tools/quota.h +long quotactl (int, const char *, qid_t, caddr_t); #endif /* _QUOTA_ */ -Index: quota-tools/quotacheck.c -=================================================================== ---- quota-tools.orig/quotacheck.c -+++ quota-tools/quotacheck.c +diff --git a/quotacheck.c b/quotacheck.c +index 2cdf475..07c18a7 100644 +--- a/quotacheck.c ++++ b/quotacheck.c @@ -19,6 +19,7 @@ #include <unistd.h> #include <stdlib.h> @@ -35,10 +33,10 @@ Index: quota-tools/quotacheck.c #include <sys/stat.h> #include <sys/types.h> -Index: quota-tools/quotaio.c -=================================================================== ---- quota-tools.orig/quotaio.c -+++ quota-tools/quotaio.c +diff --git a/quotaio.c b/quotaio.c +index 94ae458..d57fc1a 100644 +--- a/quotaio.c ++++ b/quotaio.c @@ -12,6 +12,7 @@ #include <string.h> #include <unistd.h> @@ -47,22 +45,10 @@ Index: quota-tools/quotaio.c #include <sys/types.h> #include <sys/stat.h> #include <sys/file.h> -Index: quota-tools/dqblk_v2.h -=================================================================== ---- quota-tools.orig/dqblk_v2.h -+++ quota-tools/dqblk_v2.h -@@ -7,6 +7,7 @@ - #ifndef GUARD_DQBLK_V2_H - #define GUARD_DQBLK_V2_H - -+#include <fcntl.h> - #include <sys/types.h> - #include "quota_tree.h" - -Index: quota-tools/rquota_client.c -=================================================================== ---- quota-tools.orig/rquota_client.c -+++ quota-tools/rquota_client.c +diff --git a/rquota_client.c b/rquota_client.c +index a3a4ae3..0ffe7a9 100644 +--- a/rquota_client.c ++++ b/rquota_client.c @@ -19,7 +19,9 @@ #include "config.h" diff --git a/poky/meta/recipes-extended/quota/quota/remove_non_posix_types.patch b/poky/meta/recipes-extended/quota/quota/remove_non_posix_types.patch deleted file mode 100644 index 06ff13cb9..000000000 --- a/poky/meta/recipes-extended/quota/quota/remove_non_posix_types.patch +++ /dev/null @@ -1,198 +0,0 @@ -Use proper C99 integer types - -Upstream-Status: Pending - -Signed-off-by: Khem Raj <raj.khem@gmail.com> - -Index: quota-tools/bylabel.c -=================================================================== ---- quota-tools.orig/bylabel.c -+++ quota-tools/bylabel.c -@@ -20,6 +20,7 @@ - #include <ctype.h> - #include <fcntl.h> - #include <unistd.h> -+#include <stdint.h> - - #include "bylabel.h" - #include "common.h" -@@ -37,32 +38,32 @@ static struct uuidCache_s { - - #define EXT2_SUPER_MAGIC 0xEF53 - struct ext2_super_block { -- u_char s_dummy1[56]; -- u_char s_magic[2]; -- u_char s_dummy2[46]; -- u_char s_uuid[16]; -- u_char s_volume_name[16]; -+ uint8_t s_dummy1[56]; -+ uint8_t s_magic[2]; -+ uint8_t s_dummy2[46]; -+ uint8_t s_uuid[16]; -+ uint8_t s_volume_name[16]; - }; - --#define ext2magic(s) ((uint) s.s_magic[0] + (((uint) s.s_magic[1]) << 8)) -+#define ext2magic(s) ((uint32_t) s.s_magic[0] + (((uint32_t) s.s_magic[1]) << 8)) - - #define XFS_SUPER_MAGIC "XFSB" - #define XFS_SUPER_MAGIC2 "BSFX" - struct xfs_super_block { -- u_char s_magic[4]; -- u_char s_dummy[28]; -- u_char s_uuid[16]; -- u_char s_dummy2[60]; -- u_char s_fsname[12]; -+ uint8_t s_magic[4]; -+ uint8_t s_dummy[28]; -+ uint8_t s_uuid[16]; -+ uint8_t s_dummy2[60]; -+ uint8_t s_fsname[12]; - }; - - #define REISER_SUPER_MAGIC "ReIsEr2Fs" - struct reiserfs_super_block { -- u_char s_dummy1[52]; -- u_char s_magic[10]; -- u_char s_dummy2[22]; -- u_char s_uuid[16]; -- u_char s_volume_name[16]; -+ uint8_t s_dummy1[52]; -+ uint8_t s_magic[10]; -+ uint8_t s_dummy2[22]; -+ uint8_t s_uuid[16]; -+ uint8_t s_volume_name[16]; - }; - - static inline unsigned short swapped(unsigned short a) -@@ -222,7 +223,7 @@ static char *get_spec_by_x(int n, const - return NULL; - } - --static u_char fromhex(char c) -+static uint8_t fromhex(char c) - { - if (isdigit(c)) - return (c - '0'); -@@ -234,7 +235,7 @@ static u_char fromhex(char c) - - static char *get_spec_by_uuid(const char *s) - { -- u_char uuid[16]; -+ uint8_t uuid[16]; - int i; - - if (strlen(s) != 36 || s[8] != '-' || s[13] != '-' || s[18] != '-' || s[23] != '-') -Index: quota-tools/quot.c -=================================================================== ---- quota-tools.orig/quot.c -+++ quota-tools/quot.c -@@ -47,6 +47,7 @@ - #include <utmp.h> - #include <pwd.h> - #include <grp.h> -+#include <stdint.h> - - #include "pot.h" - #include "quot.h" -@@ -56,8 +57,8 @@ - #include "quotasys.h" - - #define TSIZE 500 --static __uint64_t sizes[TSIZE]; --static __uint64_t overflow; -+static uint64_t sizes[TSIZE]; -+static uint64_t overflow; - - static int aflag; - static int cflag; -@@ -72,7 +73,7 @@ static time_t now; - char *progname; - - static void mounttable(void); --static char *idname(__uint32_t, int); -+static char *idname(uint32_t, int); - static void report(const char *, const char *, int); - static void creport(const char *, const char *); - -@@ -173,7 +174,7 @@ static int qcmp(du_t * p1, du_t * p2) - static void creport(const char *file, const char *fsdir) - { - int i; -- __uint64_t t = 0; -+ uint64_t t = 0; - - printf(_("%s (%s):\n"), file, fsdir); - for (i = 0; i < TSIZE - 1; i++) -@@ -219,7 +220,7 @@ static void report(const char *file, con - } - } - --static idcache_t *getnextent(int type, __uint32_t id, int byid) -+static idcache_t *getnextent(int type, uint32_t id, int byid) - { - struct passwd *pw; - struct group *gr; -@@ -240,7 +241,7 @@ static idcache_t *getnextent(int type, _ - return &idc; - } - --static char *idname(__uint32_t id, int type) -+static char *idname(uint32_t id, int type) - { - idcache_t *ncp, *idp; - static idcache_t nc[2][NID]; -@@ -286,8 +287,8 @@ static void acctXFS(xfs_bstat_t *p) - { - register du_t *dp; - du_t **hp; -- __uint64_t size; -- __uint32_t i, id; -+ uint64_t size; -+ uint32_t i, id; - - if ((p->bs_mode & S_IFMT) == 0) - return; -Index: quota-tools/quot.h -=================================================================== ---- quota-tools.orig/quot.h -+++ quota-tools/quot.h -@@ -35,18 +35,18 @@ - #define SEC24HR (60*60*24) /* seconds per day */ - - typedef struct { -- __uint32_t id; -+ uint32_t id; - char name[UT_NAMESIZE + 1]; - } idcache_t; - - typedef struct du { - struct du *next; -- __uint64_t blocks; -- __uint64_t blocks30; -- __uint64_t blocks60; -- __uint64_t blocks90; -- __uint64_t nfiles; -- __uint32_t id; -+ uint64_t blocks; -+ uint64_t blocks30; -+ uint64_t blocks60; -+ uint64_t blocks90; -+ uint64_t nfiles; -+ uint32_t id; - } du_t; - - #define NDU 60000 -Index: quota-tools/rquota_server.c -=================================================================== ---- quota-tools.orig/rquota_server.c -+++ quota-tools/rquota_server.c -@@ -60,7 +60,7 @@ extern char nfs_pseudoroot[PATH_MAX]; - */ - extern struct authunix_parms *unix_cred; - --int in_group(gid_t * gids, u_int len, gid_t gid) -+int in_group(gid_t * gids, uint32_t len, gid_t gid) - { - gid_t *gidsp = gids + len; - diff --git a/poky/meta/recipes-extended/quota/quota/replace_getrpcbynumber_r.patch b/poky/meta/recipes-extended/quota/quota/replace_getrpcbynumber_r.patch deleted file mode 100644 index 4687ca06f..000000000 --- a/poky/meta/recipes-extended/quota/quota/replace_getrpcbynumber_r.patch +++ /dev/null @@ -1,32 +0,0 @@ -From a3808fd165847298d025971eb3c7be7d11caba9d Mon Sep 17 00:00:00 2001 -From: "Maxin B. John" <maxin.john@intel.com> -Date: Wed, 8 Nov 2017 11:56:55 +0200 -Subject: [PATCH] Replace getrpcbynumber_r with getrpcbynumber - -musl and uclibc dont implement it - -Upstream-Status: Pending - -Signed-off-by: Khem Raj <raj.khem@gmail.com> -Signed-off-by: Maxin B. John <maxin.john@intel.com> ---- - svc_socket.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/svc_socket.c b/svc_socket.c -index 8a44604..5bdaaa0 100644 ---- a/svc_socket.c -+++ b/svc_socket.c -@@ -36,7 +36,8 @@ static int get_service_port(u_long number, const char *proto) - struct servent servbuf, *servp = NULL; - int ret; - -- ret = getrpcbynumber_r(number, &rpcbuf, rpcdata, sizeof(rpcdata), &rpcp); -+ rpcp = getrpcbynumber(number); -+ ret = 0; - if (ret == 0 && rpcp != NULL) { - /* First try name */ - ret = getservbyname_r(rpcp->r_name, proto, &servbuf, servdata, --- -2.4.0 - diff --git a/poky/meta/recipes-extended/quota/quota_4.04.bb b/poky/meta/recipes-extended/quota/quota_4.05.bb index 93f376286..c5da1e71e 100644 --- a/poky/meta/recipes-extended/quota/quota_4.04.bb +++ b/poky/meta/recipes-extended/quota/quota_4.05.bb @@ -3,18 +3,14 @@ SECTION = "base" HOMEPAGE = "http://sourceforge.net/projects/linuxquota/" BUGTRACKER = "http://sourceforge.net/tracker/?group_id=18136&atid=118136" LICENSE = "BSD & GPLv2+ & LGPLv2.1+" -LIC_FILES_CHKSUM = "file://quota.c;beginline=1;endline=33;md5=331c7d77744bfe0ad24027f0651028ec \ - file://rquota_server.c;beginline=1;endline=20;md5=fe7e0d7e11c6f820f8fa62a5af71230f \ +LIC_FILES_CHKSUM = "file://rquota_server.c;beginline=1;endline=20;md5=fe7e0d7e11c6f820f8fa62a5af71230f \ file://svc_socket.c;beginline=1;endline=17;md5=24d5a8792da45910786eeac750be8ceb" SRC_URI = "${SOURCEFORGE_MIRROR}/project/linuxquota/quota-tools/${PV}/quota-${PV}.tar.gz \ file://fcntl.patch \ - file://remove_non_posix_types.patch \ " -SRC_URI_append_libc-musl = " file://replace_getrpcbynumber_r.patch" - -SRC_URI[md5sum] = "f46f3b0b5141f032f25684005dac49d3" -SRC_URI[sha256sum] = "735be1887e7f51f54165e778ae43fc859c04e44d88834ecb2f470e91d4ef8edf" +SRC_URI[md5sum] = "1c1dbd2cd3d680ccac661239b067e147" +SRC_URI[sha256sum] = "ef3b5b5d1014ed1344b46c1826145e20cbef8db967b522403c9a060761cf7ab9" CVE_PRODUCT = "linux_diskquota" diff --git a/poky/meta/recipes-extended/shadow/files/0001-Make-the-sp_lstchg-shadow-field-reproducible-re.-71.patch b/poky/meta/recipes-extended/shadow/files/0001-Make-the-sp_lstchg-shadow-field-reproducible-re.-71.patch new file mode 100644 index 000000000..de0ba3ebb --- /dev/null +++ b/poky/meta/recipes-extended/shadow/files/0001-Make-the-sp_lstchg-shadow-field-reproducible-re.-71.patch @@ -0,0 +1,89 @@ +From fe34a2a0e44bc80ff213bfd185046a5f10c94997 Mon Sep 17 00:00:00 2001 +From: Chris Lamb <chris@chris-lamb.co.uk> +Date: Wed, 2 Jan 2019 18:06:16 +0000 +Subject: [PATCH 1/2] Make the sp_lstchg shadow field reproducible (re. #71) + +From <https://github.com/shadow-maint/shadow/pull/71>: + +``` +The third field in the /etc/shadow file (sp_lstchg) contains the date of +the last password change expressed as the number of days since Jan 1, 1970. +As this is a relative time, creating a user today will result in: + +username:17238:0:99999:7::: +whilst creating the same user tomorrow will result in: + +username:17239:0:99999:7::: +This has an impact for the Reproducible Builds[0] project where we aim to +be independent of as many elements the build environment as possible, +including the current date. + +This patch changes the behaviour to use the SOURCE_DATE_EPOCH[1] +environment variable (instead of Jan 1, 1970) if valid. +``` + +This updated PR adds some missing calls to gettime (). This was originally +filed by Johannes Schauer in Debian as #917773 [2]. + +[0] https://reproducible-builds.org/ +[1] https://reproducible-builds.org/specs/source-date-epoch/ +[2] https://bugs.debian.org/917773 + +Upstream-Status: Backport +Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> +--- + libmisc/pwd2spwd.c | 3 +-- + src/pwck.c | 2 +- + src/pwconv.c | 2 +- + 3 files changed, 3 insertions(+), 4 deletions(-) + +diff --git a/libmisc/pwd2spwd.c b/libmisc/pwd2spwd.c +index c1b9b29ac873..6799dd50d490 100644 +--- a/libmisc/pwd2spwd.c ++++ b/libmisc/pwd2spwd.c +@@ -40,7 +40,6 @@ + #include "prototypes.h" + #include "defines.h" + #include <pwd.h> +-extern time_t time (time_t *); + + /* + * pwd_to_spwd - create entries for new spwd structure +@@ -66,7 +65,7 @@ struct spwd *pwd_to_spwd (const struct passwd *pw) + */ + sp.sp_min = 0; + sp.sp_max = (10000L * DAY) / SCALE; +- sp.sp_lstchg = (long) time ((time_t *) 0) / SCALE; ++ sp.sp_lstchg = (long) gettime () / SCALE; + if (0 == sp.sp_lstchg) { + /* Better disable aging than requiring a password + * change */ +diff --git a/src/pwck.c b/src/pwck.c +index 0ffb711efb13..f70071b12500 100644 +--- a/src/pwck.c ++++ b/src/pwck.c +@@ -609,7 +609,7 @@ static void check_pw_file (int *errors, bool *changed) + sp.sp_inact = -1; + sp.sp_expire = -1; + sp.sp_flag = SHADOW_SP_FLAG_UNSET; +- sp.sp_lstchg = (long) time ((time_t *) 0) / SCALE; ++ sp.sp_lstchg = (long) gettime () / SCALE; + if (0 == sp.sp_lstchg) { + /* Better disable aging than + * requiring a password change +diff --git a/src/pwconv.c b/src/pwconv.c +index 9c69fa131d8e..f932f266c59c 100644 +--- a/src/pwconv.c ++++ b/src/pwconv.c +@@ -267,7 +267,7 @@ int main (int argc, char **argv) + spent.sp_flag = SHADOW_SP_FLAG_UNSET; + } + spent.sp_pwdp = pw->pw_passwd; +- spent.sp_lstchg = (long) time ((time_t *) 0) / SCALE; ++ spent.sp_lstchg = (long) gettime () / SCALE; + if (0 == spent.sp_lstchg) { + /* Better disable aging than requiring a password + * change */ +-- +2.17.1 + diff --git a/poky/meta/recipes-extended/shadow/files/0002-gettime-Use-secure_getenv-over-getenv.patch b/poky/meta/recipes-extended/shadow/files/0002-gettime-Use-secure_getenv-over-getenv.patch new file mode 100644 index 000000000..8c8234d03 --- /dev/null +++ b/poky/meta/recipes-extended/shadow/files/0002-gettime-Use-secure_getenv-over-getenv.patch @@ -0,0 +1,71 @@ +From 3d921155e0a761f61c8f1ec37328724aee1e2eda Mon Sep 17 00:00:00 2001 +From: Chris Lamb <chris@chris-lamb.co.uk> +Date: Sun, 31 Mar 2019 15:59:45 +0100 +Subject: [PATCH 2/2] gettime: Use secure_getenv over getenv. + +Upstream-Status: Backport +Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> +--- + README | 1 + + configure.ac | 3 +++ + lib/defines.h | 6 ++++++ + libmisc/gettime.c | 2 +- + 4 files changed, 11 insertions(+), 1 deletion(-) + +diff --git a/README b/README +index 952ac5787f06..26cfff1e8fa8 100644 +--- a/README ++++ b/README +@@ -51,6 +51,7 @@ Brian R. Gaeke <brg@dgate.org> + Calle Karlsson <ckn@kash.se> + Chip Rosenthal <chip@unicom.com> + Chris Evans <lady0110@sable.ox.ac.uk> ++Chris Lamb <chris@chris-lamb.co.uk> + Cristian Gafton <gafton@sorosis.ro> + Dan Walsh <dwalsh@redhat.com> + Darcy Boese <possum@chardonnay.niagara.com> +diff --git a/configure.ac b/configure.ac +index da236722766b..a738ad662cc3 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -110,6 +110,9 @@ AC_REPLACE_FUNCS(sgetgrent sgetpwent sgetspent) + AC_REPLACE_FUNCS(snprintf strcasecmp strdup strerror strstr) + + AC_CHECK_FUNC(setpgrp) ++AC_CHECK_FUNC(secure_getenv, [AC_DEFINE(HAS_SECURE_GETENV, ++ 1, ++ [Defined to 1 if you have the declaration of 'secure_getenv'])]) + + if test "$ac_cv_header_shadow_h" = "yes"; then + AC_CACHE_CHECK(for working shadow group support, +diff --git a/lib/defines.h b/lib/defines.h +index cded1417fd12..2fb1b56eca6b 100644 +--- a/lib/defines.h ++++ b/lib/defines.h +@@ -382,4 +382,10 @@ extern char *strerror (); + # endif + #endif + ++#ifdef HAVE_SECURE_GETENV ++# define shadow_getenv(name) secure_getenv(name) ++# else ++# define shadow_getenv(name) getenv(name) ++#endif ++ + #endif /* _DEFINES_H_ */ +diff --git a/libmisc/gettime.c b/libmisc/gettime.c +index 53eaf51670bb..0e25a4b75061 100644 +--- a/libmisc/gettime.c ++++ b/libmisc/gettime.c +@@ -52,7 +52,7 @@ + unsigned long long epoch; + + fallback = time (NULL); +- source_date_epoch = getenv ("SOURCE_DATE_EPOCH"); ++ source_date_epoch = shadow_getenv ("SOURCE_DATE_EPOCH"); + + if (!source_date_epoch) + return fallback; +-- +2.17.1 + diff --git a/poky/meta/recipes-extended/shadow/shadow.inc b/poky/meta/recipes-extended/shadow/shadow.inc index 4de21acb7..831751d6d 100644 --- a/poky/meta/recipes-extended/shadow/shadow.inc +++ b/poky/meta/recipes-extended/shadow/shadow.inc @@ -11,6 +11,8 @@ DEPENDS = "virtual/crypt" UPSTREAM_CHECK_URI = "https://github.com/shadow-maint/shadow/releases" SRC_URI = "https://github.com/shadow-maint/shadow/releases/download/${PV}/${BP}.tar.gz \ file://shadow-4.1.3-dots-in-usernames.patch \ + file://0001-Make-the-sp_lstchg-shadow-field-reproducible-re.-71.patch \ + file://0002-gettime-Use-secure_getenv-over-getenv.patch \ ${@bb.utils.contains('PACKAGECONFIG', 'pam', '${PAM_SRC_URI}', '', d)} \ " diff --git a/poky/meta/recipes-extended/slang/slang_2.3.2.bb b/poky/meta/recipes-extended/slang/slang_2.3.2.bb index e53c4321b..e32931093 100644 --- a/poky/meta/recipes-extended/slang/slang_2.3.2.bb +++ b/poky/meta/recipes-extended/slang/slang_2.3.2.bb @@ -75,6 +75,8 @@ do_install_ptest() { FILES_${PN} += "${libdir}/${BPN}/v2/modules/ ${datadir}/slsh/" +RDEPENDS_${PN}-ptest += "make" + PARALLEL_MAKE = "" PARALLEL_MAKEINST = "" diff --git a/poky/meta/recipes-extended/sysstat/sysstat.inc b/poky/meta/recipes-extended/sysstat/sysstat.inc index 0bc7e14d3..7f4749f57 100644 --- a/poky/meta/recipes-extended/sysstat/sysstat.inc +++ b/poky/meta/recipes-extended/sysstat/sysstat.inc @@ -10,15 +10,15 @@ SRC_URI = "http://pagesperso-orange.fr/sebastien.godard/sysstat-${PV}.tar.xz \ " UPSTREAM_CHECK_URI = "http://sebastien.godard.pagesperso-orange.fr/download.html" -UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)\.tar" DEPENDS += "base-passwd" # autotools-brokensep as this package doesn't use automake -inherit autotools-brokensep gettext systemd +inherit autotools-brokensep gettext systemd upstream-version-is-even PACKAGECONFIG ??= "" PACKAGECONFIG[lm-sensors] = "--enable-sensors,--disable-sensors,lmsensors,lmsensors-libsensors" +PACKAGECONFIG[cron] = "--enable-install-cron --enable-copy-only,--disable-install-cron --disable-copy-only" EXTRA_OECONF += "--disable-stripping" @@ -59,7 +59,6 @@ pkg_postinst_${PN} () { fi } - -FILES_${PN} += "${libdir}/sa" +FILES_${PN} += "${libdir}/sa ${systemd_system_unitdir}" TARGET_CC_ARCH += "${LDFLAGS}" diff --git a/poky/meta/recipes-extended/tar/tar_1.31.bb b/poky/meta/recipes-extended/tar/tar_1.32.bb index a78504261..7240fdb7e 100644 --- a/poky/meta/recipes-extended/tar/tar_1.31.bb +++ b/poky/meta/recipes-extended/tar/tar_1.32.bb @@ -11,8 +11,8 @@ SRC_URI = "${GNU_MIRROR}/tar/tar-${PV}.tar.bz2 \ file://musl_dirent.patch \ " -SRC_URI[md5sum] = "77afa35b696c8d760331fa0e12c2fac9" -SRC_URI[sha256sum] = "577bd4463eea103bdfc662fc385789e2228dbeb399a1d0b98571ed9ce044f763" +SRC_URI[md5sum] = "17917356fff5cb4bd3cd5a6c3e727b05" +SRC_URI[sha256sum] = "e4bb9e08e12e7fa9f11fef544efc85e59ba34538593d9ad38148c7ca2bfbb566" inherit autotools gettext texinfo @@ -21,7 +21,7 @@ PACKAGECONFIG_append_class-target = " ${@bb.utils.filter('DISTRO_FEATURES', 'acl PACKAGECONFIG[acl] = "--with-posix-acls,--without-posix-acls,acl" -EXTRA_OECONF += "DEFAULT_RMT_DIR=${base_sbindir}" +EXTRA_OECONF += "DEFAULT_RMT_DIR=${sbindir}" # Let aclocal use the relative path for the m4 file rather than the # absolute since tar has a lot of m4 files, otherwise there might @@ -45,7 +45,7 @@ do_install_append_class-target() { PACKAGES =+ "${PN}-rmt" -FILES_${PN}-rmt = "${base_sbindir}/rmt*" +FILES_${PN}-rmt = "${sbindir}/rmt*" inherit update-alternatives @@ -57,7 +57,7 @@ ALTERNATIVE_${PN}_class-nativesdk = "" ALTERNATIVE_${PN}-rmt_class-nativesdk = "" ALTERNATIVE_LINK_NAME[tar] = "${base_bindir}/tar" -ALTERNATIVE_LINK_NAME[rmt] = "${base_sbindir}/rmt" +ALTERNATIVE_LINK_NAME[rmt] = "${sbindir}/rmt" PROVIDES_append_class-native = " tar-replacement-native" NATIVE_PACKAGE_PATH_SUFFIX = "/${PN}" diff --git a/poky/meta/recipes-extended/wget/wget_1.20.1.bb b/poky/meta/recipes-extended/wget/wget_1.20.1.bb deleted file mode 100644 index d176bd0ac..000000000 --- a/poky/meta/recipes-extended/wget/wget_1.20.1.bb +++ /dev/null @@ -1,8 +0,0 @@ -SRC_URI = "${GNU_MIRROR}/wget/wget-${PV}.tar.gz \ - file://0002-improve-reproducibility.patch \ - " - -SRC_URI[md5sum] = "f6ebe9c7b375fc9832fb1b2028271fb7" -SRC_URI[sha256sum] = "b783b390cb571c837b392857945f5a1f00ec6b043177cc42abb8ee1b542ee1b3" - -require wget.inc diff --git a/poky/meta/recipes-extended/wget/wget_1.20.3.bb b/poky/meta/recipes-extended/wget/wget_1.20.3.bb new file mode 100644 index 000000000..4fa273d09 --- /dev/null +++ b/poky/meta/recipes-extended/wget/wget_1.20.3.bb @@ -0,0 +1,8 @@ +SRC_URI = "${GNU_MIRROR}/wget/wget-${PV}.tar.gz \ + file://0002-improve-reproducibility.patch \ + " + +SRC_URI[md5sum] = "db4e6dc7977cbddcd543b240079a4899" +SRC_URI[sha256sum] = "31cccfc6630528db1c8e3a06f6decf2a370060b982841cfab2b8677400a5092e" + +require wget.inc diff --git a/poky/meta/recipes-gnome/epiphany/epiphany_3.30.3.bb b/poky/meta/recipes-gnome/epiphany/epiphany_3.32.1.2.bb index a64c82f48..49631d92d 100644 --- a/poky/meta/recipes-gnome/epiphany/epiphany_3.30.3.bb +++ b/poky/meta/recipes-gnome/epiphany/epiphany_3.32.1.2.bb @@ -12,11 +12,10 @@ REQUIRED_DISTRO_FEATURES = "x11 opengl" SRC_URI = "${GNOME_MIRROR}/${GNOMEBN}/${@gnome_verdir("${PV}")}/${GNOMEBN}-${PV}.tar.${GNOME_COMPRESS_TYPE};name=archive \ file://0002-help-meson.build-disable-the-use-of-yelp.patch \ + file://0001-web-app-utils-Clean-up-ephy_web_application_create.patch \ " -SRC_URI[archive.md5sum] = "fd05702b1c9bcb6a0633de54c4a6ccd2" -SRC_URI[archive.sha256sum] = "76cdb8db6af2da8c3371a73e2dfd5ba64867b5f1e65fa9621f35348a42ff0d17" - -EXTRA_OEMESON += " -Ddistributor_name=${DISTRO}" +SRC_URI[archive.md5sum] = "93faec353e9f62519859e6164350fd5d" +SRC_URI[archive.sha256sum] = "a8284fb9bbc8b7914a154a8eac1598c8b59ae421e0d685146fb48198427926be" FILES_${PN} += "${datadir}/dbus-1 ${datadir}/gnome-shell/search-providers ${datadir}/metainfo" RDEPENDS_${PN} = "iso-codes adwaita-icon-theme gsettings-desktop-schemas" diff --git a/poky/meta/recipes-gnome/epiphany/files/0001-web-app-utils-Clean-up-ephy_web_application_create.patch b/poky/meta/recipes-gnome/epiphany/files/0001-web-app-utils-Clean-up-ephy_web_application_create.patch new file mode 100644 index 000000000..ea644fb98 --- /dev/null +++ b/poky/meta/recipes-gnome/epiphany/files/0001-web-app-utils-Clean-up-ephy_web_application_create.patch @@ -0,0 +1,79 @@ +From 49f435217873e679b142f64d3e7def919fb642bb Mon Sep 17 00:00:00 2001 +From: Michael Catanzaro <mcatanzaro@igalia.com> +Date: Wed, 8 May 2019 15:58:32 +0000 +Subject: [PATCH] web-app-utils: Clean up ephy_web_application_create() + +Fixes #764 + +(cherry picked from commit 4e998d45e4cc549a7ca561a33895b0fbcf7ba6bb) +Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/epiphany/commit/a6a022c9c498ad5dcf7f2220644a7520df74ca31] + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + lib/ephy-web-app-utils.c | 24 ++++++++++-------------- + 1 file changed, 10 insertions(+), 14 deletions(-) + +diff --git a/lib/ephy-web-app-utils.c b/lib/ephy-web-app-utils.c +index 97f3f24..fc68a96 100644 +--- a/lib/ephy-web-app-utils.c ++++ b/lib/ephy-web-app-utils.c +@@ -374,46 +374,42 @@ ephy_web_application_create (const char *id, + const char *name, + GdkPixbuf *icon) + { +- char *profile_dir; +- char *desktop_file_path = NULL; ++ g_autofree char *app_file = NULL; ++ g_autofree char *profile_dir = NULL; ++ g_autofree char *desktop_file_path = NULL; + + /* If there's already a WebApp profile for the contents of this + * view, do nothing. */ + profile_dir = ephy_web_application_get_profile_directory (id); + if (g_file_test (profile_dir, G_FILE_TEST_IS_DIR)) { + g_warning ("Profile directory %s already exists", profile_dir); +- goto out; ++ return NULL; + } + + /* Create the profile directory, populate it. */ + if (g_mkdir_with_parents (profile_dir, 488) == -1) { + g_warning ("Failed to create directory %s", profile_dir); +- goto out; ++ return NULL; + } + + /* Skip migration for new web apps. */ + ephy_profile_utils_set_migration_version_for_profile_dir (EPHY_PROFILE_MIGRATION_VERSION, profile_dir); + + /* Create an .app file. */ +- g_autofree char *app_file = g_build_filename (profile_dir, ".app", NULL); ++ app_file = g_build_filename (profile_dir, ".app", NULL); + int fd = g_open (app_file, O_WRONLY|O_CREAT|O_TRUNC, 0644); + if (fd < 0) { +- LOG ("Failed to create .app file: %s", g_strerror (errno)); +- goto out; +- } else { +- close (fd); ++ g_warning ("Failed to create .app file: %s", g_strerror (errno)); ++ return NULL; + } ++ close (fd); + + /* Create the deskop file. */ + desktop_file_path = create_desktop_file (id, name, address, profile_dir, icon); + if (desktop_file_path) + ephy_web_application_initialize_settings (profile_dir); + +- out: +- if (profile_dir) +- g_free (profile_dir); +- +- return desktop_file_path; ++ return g_steal_pointer (&desktop_file_path); + } + + char * +-- +2.21.0 + diff --git a/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.38.0.bb b/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.38.0.bb index c5de7a92a..7fef697f3 100644 --- a/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.38.0.bb +++ b/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.38.0.bb @@ -34,19 +34,7 @@ SRC_URI[sha256sum] = "dd50973c7757bcde15de6bcd3a6d462a445efd552604ae6435a0532fbb inherit meson pkgconfig gettext pixbufcache ptest-gnome upstream-version-is-even gobject-introspection gtk-doc lib_package -GTKDOC_ENABLE_FLAG = "-Ddocs=true" -GTKDOC_DISABLE_FLAG = "-Ddocs=false" - -GI_ENABLE_FLAG = "-Dgir=true" -GI_DISABLE_FLAG = "-Dgir=false" - -EXTRA_OEMESON_append_class-nativesdk = " ${GI_DISABLE_FLAG}" - -EXTRA_OEMESON_append_class-target = " ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '${GI_ENABLE_FLAG}', \ - '${GI_DISABLE_FLAG}', d)} " - -EXTRA_OEMESON_append_class-target = " ${@bb.utils.contains('GTKDOC_ENABLED', 'True', '${GTKDOC_ENABLE_FLAG}', \ - '${GTKDOC_DISABLE_FLAG}', d)} " +GIR_MESON_OPTION = 'gir' EXTRA_OEMESON_append = " ${@bb.utils.contains('PTEST_ENABLED', '1', '-Dinstalled_tests=true', '-Dinstalled_tests=false', d)}" diff --git a/poky/meta/recipes-gnome/gnome/gnome-doc-utils/0001-glib-gettext.m4-Update-AM_GLIB_GNU_GETTEXT-to-match-.patch b/poky/meta/recipes-gnome/gnome/gnome-doc-utils/0001-glib-gettext.m4-Update-AM_GLIB_GNU_GETTEXT-to-match-.patch deleted file mode 100644 index 4cfcabd38..000000000 --- a/poky/meta/recipes-gnome/gnome/gnome-doc-utils/0001-glib-gettext.m4-Update-AM_GLIB_GNU_GETTEXT-to-match-.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 426e38468463a4abb495cf6a269b9635b2107519 Mon Sep 17 00:00:00 2001 -From: Jussi Kukkonen <jussi.kukkonen@intel.com> -Date: Tue, 17 May 2016 13:51:24 +0300 -Subject: [PATCH] glib-gettext.m4: Update AM_GLIB_GNU_GETTEXT to match glib - -This avoids - error: m4_copy: won't overwrite defined macro: glib_DEFUN - -Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> -Upstream-Status: Inappropriate [No upstream] ---- - m4/glib-gettext.m4 | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -diff --git a/m4/glib-gettext.m4 b/m4/glib-gettext.m4 -index 81f8fd2..e2b142b 100644 ---- a/m4/glib-gettext.m4 -+++ b/m4/glib-gettext.m4 -@@ -310,7 +310,7 @@ msgstr "" - # on various variables needed by the Makefile.in.in installed by - # glib-gettextize. - dnl --glib_DEFUN([GLIB_GNU_GETTEXT], -+AU_DEFUN([GLIB_GNU_GETTEXT], - [AC_REQUIRE([AC_PROG_CC])dnl - AC_REQUIRE([AC_HEADER_STDC])dnl - -@@ -381,7 +381,8 @@ glib_DEFUN([GLIB_GNU_GETTEXT], - rm -f po/POTFILES - sed -e "/^#/d" -e "/^\$/d" -e "s,.*, $posrcprefix& \\\\," -e "\$s/\(.*\) \\\\/\1/" \ - < $srcdir/po/POTFILES.in > po/POTFILES -- ]) -+ ] -+ [[$0: This macro is deprecated. You should use upstream gettext instead.]]) - - # AX_GLIB_DEFINE_LOCALEDIR(VARIABLE) - # ------------------------------- --- -2.1.4 - diff --git a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Port-cross-compilation-support-to-meson.patch b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Port-cross-compilation-support-to-meson.patch index 80c9e71ad..5747d61c1 100644 --- a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Port-cross-compilation-support-to-meson.patch +++ b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Port-cross-compilation-support-to-meson.patch @@ -1,4 +1,4 @@ -From ea25a5a755bc839d5b504aac207f860ae68109bc Mon Sep 17 00:00:00 2001 +From 2b3bce1526b538dc2c7fa223eaf9808858aa1b06 Mon Sep 17 00:00:00 2001 From: Alexander Kanavin <alex.kanavin@gmail.com> Date: Thu, 15 Nov 2018 15:10:05 +0100 Subject: [PATCH] Port cross-compilation support to meson @@ -7,16 +7,16 @@ Upstream-Status: Pending Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> --- - gir/meson.build | 59 ++++++++++++++++++++++++++++++++++------------- - meson.build | 4 +++- - meson_options.txt | 20 ++++++++++++++++ - 3 files changed, 66 insertions(+), 17 deletions(-) + gir/meson.build | 62 ++++++++++++++++++++++++++++++++++------------- + meson.build | 4 ++- + meson_options.txt | 20 +++++++++++++++ + 3 files changed, 68 insertions(+), 18 deletions(-) diff --git a/gir/meson.build b/gir/meson.build -index 1cb514a..f873068 100644 +index 85ae575..327c134 100644 --- a/gir/meson.build +++ b/gir/meson.build -@@ -36,15 +36,27 @@ gir_files = [ +@@ -36,16 +36,29 @@ gir_files = [ typelibdir = join_paths(get_option('libdir'), 'girepository-1.0') install_data(gir_files, install_dir: girdir) @@ -25,6 +25,7 @@ index 1cb514a..f873068 100644 - girscanner, - '--output=@OUTPUT@', - '--no-libtool', +- '--quiet', - '--reparse-validate', - '--add-include-path', join_paths(meson.current_build_dir()), - '--add-include-path', join_paths(meson.current_source_dir()), @@ -34,6 +35,7 @@ index 1cb514a..f873068 100644 + 'g-ir-scanner', + '--output=@OUTPUT@', + '--no-libtool', ++ '--quiet', + '--reparse-validate', + '--add-include-path', join_paths(meson.current_build_dir()), + '--add-include-path', join_paths(meson.current_source_dir()), @@ -44,6 +46,7 @@ index 1cb514a..f873068 100644 + girscanner, + '--output=@OUTPUT@', + '--no-libtool', ++ '--quiet', + '--reparse-validate', + '--add-include-path', join_paths(meson.current_build_dir()), + '--add-include-path', join_paths(meson.current_source_dir()), @@ -53,7 +56,7 @@ index 1cb514a..f873068 100644 dep_type = glib_dep.type_name() if dep_type == 'internal' -@@ -57,6 +69,12 @@ if dep_type == 'internal' +@@ -58,6 +71,12 @@ if dep_type == 'internal' '--extra-library=glib-2.0', '--extra-library=gobject-2.0'] endif @@ -66,7 +69,7 @@ index 1cb514a..f873068 100644 # Take a glob and print to newlines globber = ''' from glob import glob -@@ -83,8 +101,8 @@ glib_command = scanner_command + [ +@@ -84,8 +103,8 @@ glib_command = scanner_command + [ if dep_type == 'pkgconfig' glib_command += ['--external-library', '--pkg=glib-2.0'] @@ -77,7 +80,7 @@ index 1cb514a..f873068 100644 glib_libincdir = join_paths(glib_libdir, 'glib-2.0', 'include') glib_files += join_paths(glib_incdir, 'gobject', 'glib-types.h') glib_files += join_paths(glib_libincdir, 'glibconfig.h') -@@ -338,7 +356,7 @@ endforeach +@@ -339,7 +358,7 @@ endforeach if giounix_dep.found() if dep_type == 'pkgconfig' gio_command += ['--pkg=gio-unix-2.0'] @@ -86,10 +89,10 @@ index 1cb514a..f873068 100644 # Get the installed gio-unix header list ret = run_command(python, '-c', globber.format(join_paths(giounix_includedir, 'gio', '*.h'))) if ret.returncode() != 0 -@@ -416,15 +434,24 @@ gir_files += custom_target('gir-girepository', - ] +@@ -422,15 +441,24 @@ gir_files += custom_target('gir-girepository', ) + typelibs = [] +if get_option('enable-gi-cross-wrapper') != '' + gircompiler_command = [get_option('enable-gi-cross-wrapper'), gircompiler.full_path(), '-o', '@OUTPUT@', '@INPUT@', + '--includedir', meson.current_build_dir(), @@ -103,7 +106,7 @@ index 1cb514a..f873068 100644 +endif + foreach gir : gir_files - custom_target('generate-typelib-@0@'.format(gir).underscorify(), + typelibs += custom_target('generate-typelib-@0@'.format(gir).underscorify(), input: gir, output: '@BASENAME@.typelib', depends: [gobject_gir, ], @@ -116,10 +119,10 @@ index 1cb514a..f873068 100644 install_dir: typelibdir, ) diff --git a/meson.build b/meson.build -index 17acd82..e0bb495 100644 +index 95bbd2b..f7baefd 100644 --- a/meson.build +++ b/meson.build -@@ -81,7 +81,9 @@ libffi_dep = dependency('libffi', +@@ -163,7 +163,9 @@ endif subdir('girepository') subdir('tools') subdir('giscanner') @@ -131,11 +134,11 @@ index 17acd82..e0bb495 100644 subdir('docs') subdir('tests') diff --git a/meson_options.txt b/meson_options.txt -index ee6958d..b168142 100644 +index 445a68a..a325511 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -25,3 +25,23 @@ option('python', type: 'string', value: 'python3', - option('gir-dir-prefix', type: 'string', + option('gir_dir_prefix', type: 'string', description: 'Intermediate prefix for gir installation under ${prefix}' ) + diff --git a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Relocate-the-repository-directory-for-native-builds.patch b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Relocate-the-repository-directory-for-native-builds.patch index a91d22afa..a4f45a142 100644 --- a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Relocate-the-repository-directory-for-native-builds.patch +++ b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Relocate-the-repository-directory-for-native-builds.patch @@ -1,4 +1,4 @@ -From 7ea8c83d84a05f686128e652a5447fb5f6fb68be Mon Sep 17 00:00:00 2001 +From 8f01066e935a7323ff6e53f27ed1b5fb74fa11eb Mon Sep 17 00:00:00 2001 From: Sascha Silbe <x-yo17@se-silbe.de> Date: Fri, 8 Jun 2018 13:55:10 +0200 Subject: [PATCH] Relocate the repository directory for native builds @@ -21,7 +21,7 @@ Signed-off-by: Sascha Silbe <x-yo17@se-silbe.de> 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/girepository/girepository.c b/girepository/girepository.c -index c1fa3d3..efa557e 100644 +index ca5dc2b..7a4d17f 100644 --- a/girepository/girepository.c +++ b/girepository/girepository.c @@ -21,6 +21,8 @@ @@ -42,7 +42,7 @@ index c1fa3d3..efa557e 100644 /** * SECTION:girepository * @short_description: GObject Introspection repository manager -@@ -188,9 +192,16 @@ init_globals (void) +@@ -212,9 +216,16 @@ init_globals (void) g_free (custom_dirs); } @@ -62,12 +62,12 @@ index c1fa3d3..efa557e 100644 typelib_search_path = g_slist_prepend (typelib_search_path, typelib_dir); diff --git a/girepository/meson.build b/girepository/meson.build -index 6a8c5b5..8892f2a 100644 +index 0261e1a..4cb646f 100644 --- a/girepository/meson.build +++ b/girepository/meson.build -@@ -27,7 +27,7 @@ girepo_internals_lib = static_library('girepository-internals', +@@ -36,7 +36,7 @@ girepo_internals_lib = static_library('girepository-internals', ], - c_args: gi_hidden_visibility_cflags, + c_args: gi_hidden_visibility_cflags + custom_c_args, include_directories : configinc, - dependencies: [girepo_gthash_dep, libffi_dep], + dependencies: [girepo_gthash_dep, libffi_dep, cc.find_library('dl')], diff --git a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Revert-an-incomplete-upstream-attempt-at-cross-compi.patch b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Revert-an-incomplete-upstream-attempt-at-cross-compi.patch index 86cd4ead2..d1fdc068c 100644 --- a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Revert-an-incomplete-upstream-attempt-at-cross-compi.patch +++ b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Revert-an-incomplete-upstream-attempt-at-cross-compi.patch @@ -1,4 +1,4 @@ -From ca0fb17e268c176ac89df081b1efa4a42989f014 Mon Sep 17 00:00:00 2001 +From 8a57aa0ac6c2f00b9b7a7fc177431f7643399e70 Mon Sep 17 00:00:00 2001 From: Alexander Kanavin <alex.kanavin@gmail.com> Date: Wed, 23 Mar 2016 17:07:28 +0200 Subject: [PATCH] Revert an incomplete upstream attempt at cross-compile @@ -13,7 +13,7 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> 2 files changed, 10 deletions(-) diff --git a/common.mk b/common.mk -index b778f7a..e26c637 100644 +index 64fb02f..77e819d 100644 --- a/common.mk +++ b/common.mk @@ -24,12 +24,8 @@ INTROSPECTION_SCANNER_ARGS = \ @@ -30,10 +30,10 @@ index b778f7a..e26c637 100644 INTROSPECTION_COMPILER_ARGS = \ diff --git a/giscanner/gdumpparser.py b/giscanner/gdumpparser.py -index cd9d94d..b41772c 100644 +index 1730fee..26bab84 100644 --- a/giscanner/gdumpparser.py +++ b/giscanner/gdumpparser.py -@@ -161,12 +161,6 @@ blob containing data gleaned from GObject's primitive introspection.""" +@@ -156,12 +156,6 @@ blob containing data gleaned from GObject's primitive introspection.""" out_path = os.path.join(self._binary.tmpdir, 'dump.xml') args = [] diff --git a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-configure.ac-make-GIR_DIR-configurable.patch b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-configure.ac-make-GIR_DIR-configurable.patch deleted file mode 100644 index e0402f8f4..000000000 --- a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-configure.ac-make-GIR_DIR-configurable.patch +++ /dev/null @@ -1,68 +0,0 @@ -configure.ac: make GIR_DIR configurable - -Some .gir files such as GLib-2.0.gir are arch related which contain such -as lengths of pointers that they are different for 64 and 32 bit target. -It causes install file conflicts for multilib when intall -gobject-introspection and lib32-gobject-introspection both. - -Add configure option 'with-gir-dir-prefix' for autotools to make .gir -could be installed to a configured path such as ${libdir}. And update -girdir in .pc files as well. - -Upstream-Status: Accepted [https://gitlab.gnome.org/GNOME/gobject-introspection/commit/3301c7e] - -Signed-off-by: Kai Kang <kai.kang@windriver.com> ---- - configure.ac | 7 +++++-- - gobject-introspection-1.0.pc.in | 2 +- - gobject-introspection-no-export-1.0.pc.in | 2 +- - 3 files changed, 7 insertions(+), 4 deletions(-) - -diff --git a/configure.ac b/configure.ac -index b4294c57..60506947 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -114,9 +114,12 @@ GIR_SUFFIX="gir-1.0" - AC_SUBST(GIR_SUFFIX) - AC_DEFINE_UNQUOTED(GIR_SUFFIX, "$GIR_SUFFIX", [Name of the gir directory]) - --GIR_DIR="$EXPANDED_DATADIR/$GIR_SUFFIX" -+AC_ARG_WITH([gir-dir-prefix], -+ [AS_HELP_STRING([--with-gir-dir-prefix], [Directory prefix for gir installation])], -+ [GIR_DIR_PREFIX="$withval"], [GIR_DIR_PREFIX="$EXPANDED_DATADIR"]) -+GIR_DIR="$GIR_DIR_PREFIX/$GIR_SUFFIX" - AC_SUBST(GIR_DIR) --AC_DEFINE_UNQUOTED(GIR_DIR, "$GIR_DIR", [Director prefix for gir installation]) -+AC_DEFINE_UNQUOTED(GIR_DIR, "$GIR_DIR", [Directory prefix for gir installation]) - - PKG_CHECK_MODULES(GLIB, [glib-2.0 >= 2.58.0]) - -diff --git a/gobject-introspection-1.0.pc.in b/gobject-introspection-1.0.pc.in -index a08b5d27..3409856c 100644 ---- a/gobject-introspection-1.0.pc.in -+++ b/gobject-introspection-1.0.pc.in -@@ -10,7 +10,7 @@ g_ir_scanner=${bindir}/g-ir-scanner - g_ir_compiler=${bindir}/g-ir-compiler@EXEEXT@ - g_ir_generate=${bindir}/g-ir-generate@EXEEXT@ - gidatadir=${datadir}/gobject-introspection-1.0 --girdir=${datadir}/gir-1.0 -+girdir=@GIR_DIR@ - typelibdir=${libdir}/girepository-1.0 - - Cflags: -I${includedir}/gobject-introspection-1.0 @FFI_PC_CFLAGS@ -diff --git a/gobject-introspection-no-export-1.0.pc.in b/gobject-introspection-no-export-1.0.pc.in -index d214d22d..745aaade 100644 ---- a/gobject-introspection-no-export-1.0.pc.in -+++ b/gobject-introspection-no-export-1.0.pc.in -@@ -9,7 +9,7 @@ includedir=@includedir@ - g_ir_scanner=${bindir}/g-ir-scanner - g_ir_compiler=${bindir}/g-ir-compiler@EXEEXT@ - g_ir_generate=${bindir}/g-ir-generate@EXEEXT@ --girdir=${datadir}/gir-1.0 -+girdir=@GIR_DIR@ - typelibdir=${libdir}/girepository-1.0 - - Cflags: -I${includedir}/gobject-introspection-1.0 @FFI_PC_CFLAGS@ --- -2.17.0 - diff --git a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-giscanner-add-a-lib-dirs-envvar-option.patch b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-giscanner-add-a-lib-dirs-envvar-option.patch index e9338e92e..ddd955354 100644 --- a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-giscanner-add-a-lib-dirs-envvar-option.patch +++ b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-giscanner-add-a-lib-dirs-envvar-option.patch @@ -1,4 +1,4 @@ -From 3fea5e83803f4cfef21b2e06e37a6ba56f2bb914 Mon Sep 17 00:00:00 2001 +From 6653c28f0b76aad86e26c512b03efcec6d9d9e95 Mon Sep 17 00:00:00 2001 From: Alexander Kanavin <alex.kanavin@gmail.com> Date: Wed, 3 Jan 2018 17:02:01 +0200 Subject: [PATCH] giscanner: add a --lib-dirs-envvar option @@ -19,10 +19,10 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/giscanner/ccompiler.py b/giscanner/ccompiler.py -index c003828..8a8ba2b 100644 +index 32c9296..3fb262b 100644 --- a/giscanner/ccompiler.py +++ b/giscanner/ccompiler.py -@@ -109,7 +109,7 @@ class CCompiler(object): +@@ -174,7 +174,7 @@ class CCompiler(object): self._cflags_no_deprecation_warnings = "-Wno-deprecated-declarations" @@ -31,7 +31,7 @@ index c003828..8a8ba2b 100644 # An "internal" link is where the library to be introspected # is being built in the current directory. -@@ -119,7 +119,7 @@ class CCompiler(object): +@@ -184,7 +184,7 @@ class CCompiler(object): if os.name == 'nt': runtime_path_envvar = ['LIB', 'PATH'] else: @@ -41,10 +41,10 @@ index c003828..8a8ba2b 100644 # (This flag is not supported nor needed for Visual C++) args.append('-L.') diff --git a/giscanner/dumper.py b/giscanner/dumper.py -index 2c668f5..2e515a0 100644 +index 2b851a5..10a7c39 100644 --- a/giscanner/dumper.py +++ b/giscanner/dumper.py -@@ -249,7 +249,8 @@ class DumpCompiler(object): +@@ -244,7 +244,8 @@ class DumpCompiler(object): libtool, self._options.libraries, self._options.extra_libraries, @@ -55,10 +55,10 @@ index 2c668f5..2e515a0 100644 else: diff --git a/giscanner/scannermain.py b/giscanner/scannermain.py -index 5cb793e..87227e2 100644 +index 9013562..9c9fe12 100644 --- a/giscanner/scannermain.py +++ b/giscanner/scannermain.py -@@ -132,6 +132,9 @@ def _get_option_parser(): +@@ -126,6 +126,9 @@ def _get_option_parser(): parser.add_option("", "--use-ldd-wrapper", action="store", dest="ldd_wrapper", default=None, help="wrapper to use instead of ldd (useful when cross-compiling)") diff --git a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-giscanner-ignore-error-return-codes-from-ldd-wrapper.patch b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-giscanner-ignore-error-return-codes-from-ldd-wrapper.patch index 9167f042e..b484b5e9e 100644 --- a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-giscanner-ignore-error-return-codes-from-ldd-wrapper.patch +++ b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-giscanner-ignore-error-return-codes-from-ldd-wrapper.patch @@ -1,4 +1,4 @@ -From f128cbeead687bfc6532cc1f2cc3e2dc5a2b5b30 Mon Sep 17 00:00:00 2001 +From f742da8b3913f4818d3f419117076afe62f4dbf4 Mon Sep 17 00:00:00 2001 From: Alexander Kanavin <alex.kanavin@gmail.com> Date: Wed, 5 Sep 2018 16:46:52 +0200 Subject: [PATCH] giscanner: ignore error return codes from ldd-wrapper @@ -8,15 +8,16 @@ It is not an error per se, but it breaks subprocess.check_output(). Upstream-Status: Inappropriate [oe-core specific] Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> + --- giscanner/shlibs.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/giscanner/shlibs.py b/giscanner/shlibs.py -index 01d21a3..3bd3250 100644 +index d67df95..80352a6 100644 --- a/giscanner/shlibs.py +++ b/giscanner/shlibs.py -@@ -108,7 +108,7 @@ def _resolve_non_libtool(options, binary, libraries): +@@ -102,7 +102,7 @@ def _resolve_non_libtool(options, binary, libraries): args.extend(['otool', '-L', binary.args[0]]) else: args.extend(['ldd', binary.args[0]]) diff --git a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-meson.build-disable-tests-when-cross-compiling.patch b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-meson.build-disable-tests-when-cross-compiling.patch new file mode 100644 index 000000000..c4951b22b --- /dev/null +++ b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-meson.build-disable-tests-when-cross-compiling.patch @@ -0,0 +1,26 @@ +From 2c384187cc22113c0c9b1cd233948118f7c085ef Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin <alex.kanavin@gmail.com> +Date: Mon, 25 Mar 2019 13:28:48 +0100 +Subject: [PATCH] meson.build: disable tests when cross-compiling + +Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/gobject-introspection/merge_requests/64] +Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> +--- + meson.build | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/meson.build b/meson.build +index 2544ff3..4c16fe5 100644 +--- a/meson.build ++++ b/meson.build +@@ -168,7 +168,9 @@ if get_option('enable-introspection-data') == true + endif + subdir('examples') + subdir('docs') +-subdir('tests') ++if not meson.is_cross_build() ++ subdir('tests') ++endif + + install_data('Makefile.introspection', install_dir: join_paths(get_option('datadir'), 'gobject-introspection-1.0')) + install_data('m4/introspection.m4', install_dir: join_paths(get_option('datadir'), 'aclocal')) diff --git a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0002-configure.ac-add-host-gi-gi-cross-wrapper-gi-ldd-wra.patch b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0002-configure.ac-add-host-gi-gi-cross-wrapper-gi-ldd-wra.patch index 03ef2b005..e4fffcf61 100644 --- a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0002-configure.ac-add-host-gi-gi-cross-wrapper-gi-ldd-wra.patch +++ b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0002-configure.ac-add-host-gi-gi-cross-wrapper-gi-ldd-wra.patch @@ -1,4 +1,4 @@ -From a28cc8413b68bec5b4cf2ee5f37b40a8965490a5 Mon Sep 17 00:00:00 2001 +From 2335d22e4c64db3d5dfc16ac65468b9dd66db8ac Mon Sep 17 00:00:00 2001 From: Alexander Kanavin <alex.kanavin@gmail.com> Date: Mon, 19 Oct 2015 18:29:21 +0300 Subject: [PATCH] configure.ac: add host-gi, gi-cross-wrapper, gi-ldd-wrapper @@ -34,7 +34,7 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> 4 files changed, 87 insertions(+), 1 deletion(-) diff --git a/Makefile.am b/Makefile.am -index 44ed115..2a1fa56 100644 +index 952bf71..797a3bd 100644 --- a/Makefile.am +++ b/Makefile.am @@ -21,7 +21,9 @@ include Makefile-cmph.am @@ -48,7 +48,7 @@ index 44ed115..2a1fa56 100644 ## Process this file with automake to produce Makefile.in diff --git a/common.mk b/common.mk -index e26c637..9f3a65f 100644 +index 77e819d..379ab53 100644 --- a/common.mk +++ b/common.mk @@ -6,6 +6,15 @@ @@ -132,10 +132,10 @@ index e26c637..9f3a65f 100644 INTROSPECTION_DOCTOOL_ARGS = \ --add-include-path=$(srcdir) \ diff --git a/configure.ac b/configure.ac -index d48e6c3..ed5f8a2 100644 +index 885da70..cd8108b 100644 --- a/configure.ac +++ b/configure.ac -@@ -367,6 +367,48 @@ dnl +@@ -383,6 +383,48 @@ dnl AM_CONDITIONAL(MSVC_BASE_NO_TOOLSET_SET, [test x$MSVC_BASE_TOOLSET = x]) AM_CONDITIONAL(MSVC_NO_TOOLSET_SET, [test x$MSVC_TOOLSET = x]) diff --git a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0002-g-ir-tools-respect-gir_dir_prefix.patch b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0002-g-ir-tools-respect-gir_dir_prefix.patch deleted file mode 100644 index 5e4176725..000000000 --- a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0002-g-ir-tools-respect-gir_dir_prefix.patch +++ /dev/null @@ -1,76 +0,0 @@ -g-ir-tools: respect gir_dir_prefix - -Configure option gir_dir_prefix is used to configure install dir for -.gir files, so add its value to include file search paths. - -Upstream-Status: Accepted [https://gitlab.gnome.org/GNOME/gobject-introspection/commit/3fe995a] - -Signed-off-by: Kai Kang <kai.kang@windriver.com> ---- - Makefile-tools.am | 2 +- - giscanner/transformer.py | 1 + - tests/warn/warningtester.py | 1 + - tools/g-ir-tool-template.in | 10 ++++++++++ - 6 files changed, 15 insertions(+), 2 deletions(-) - -diff --git a/Makefile-tools.am b/Makefile-tools.am -index c70d9850..fcaf1e01 100644 ---- a/Makefile-tools.am -+++ b/Makefile-tools.am -@@ -9,7 +9,7 @@ EXTRA_DIST += \ - tools/g-ir-tool-template.in \ - tools/meson.build - --TOOL_SUBSTITUTIONS = -e s,@libdir\@,$(libdir), -e s,@datarootdir\@,$(datarootdir), -e s,@PYTHON_CMD\@,\/usr\/bin\/env\ $(PYTHON), -+TOOL_SUBSTITUTIONS = -e s,@libdir\@,$(libdir), -e s,@datarootdir\@,$(datarootdir), -e s,@PYTHON_CMD\@,\/usr\/bin\/env\ $(PYTHON), -e s,@GIR_DIR\@,$(GIR_DIR),g - - g-ir-scanner: tools/g-ir-tool-template.in _giscanner.la Makefile - $(AM_V_GEN) sed $(TOOL_SUBSTITUTIONS) -e s,@TOOL_MODULE\@,scannermain, -e s,@TOOL_FUNCTION\@,scanner_main, $< > $@.tmp && mv $@.tmp $@ -diff --git a/giscanner/transformer.py b/giscanner/transformer.py -index 335e229f..2c412339 100644 ---- a/giscanner/transformer.py -+++ b/giscanner/transformer.py -@@ -184,6 +184,7 @@ None.""" - def _get_gi_data_dirs(self): - data_dirs = utils.get_system_data_dirs() - data_dirs.append(DATADIR) -+ data_dirs.append(GIRDIR) - if os.name != 'nt': - # For backwards compatibility, was always unconditionally added to the list. - data_dirs.append('/usr/share') -diff --git a/tests/warn/warningtester.py b/tests/warn/warningtester.py -index f17c8889..be5aec13 100644 ---- a/tests/warn/warningtester.py -+++ b/tests/warn/warningtester.py -@@ -18,6 +18,7 @@ sys.path.insert(0, path) - - # Not correct, but enough to get the tests going uninstalled - builtins.__dict__['DATADIR'] = path -+builtins.__dict__['GIRDIR'] = '' - - from giscanner.annotationparser import GtkDocCommentBlockParser - from giscanner.ast import Include, Namespace -diff --git a/tools/g-ir-tool-template.in b/tools/g-ir-tool-template.in -index ed33d16b..b9cf0911 100755 ---- a/tools/g-ir-tool-template.in -+++ b/tools/g-ir-tool-template.in -@@ -60,6 +60,16 @@ if not os.path.isdir(os.path.join(datadir, 'gir-1.0')): - - builtins.__dict__['DATADIR'] = datadir - -+# Respect gir_dir_prefix for meson and autotools -+girdir = '' -+# for meson -+if '@gir_dir_prefix@' and not '@gir_dir_prefix@'.startswith('@'): -+ girdir = os.path.abspath(os.path.join(filedir, '..', '@gir_dir_prefix@')) -+# for autotools -+elif '@GIR_DIR@' and not '@GIR_DIR@'.startswith('@'): -+ girdir = os.path.dirname(os.path.abspath('@GIR_DIR@')) -+builtins.__dict__['GIRDIR'] = girdir -+ - # Again, relative paths first so that the installation prefix is relocatable - pylibdir = os.path.abspath(os.path.join(filedir, '..', 'lib', 'gobject-introspection')) - --- -2.17.0 - diff --git a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0003-giscanner-add-use-binary-wrapper-option.patch b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0003-giscanner-add-use-binary-wrapper-option.patch index 45fe27ad6..b954dcebd 100644 --- a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0003-giscanner-add-use-binary-wrapper-option.patch +++ b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0003-giscanner-add-use-binary-wrapper-option.patch @@ -1,4 +1,4 @@ -From 46dbe963aa6435591c87e788cdb54bc0daeac42e Mon Sep 17 00:00:00 2001 +From 5f985fd8a24764ccb38af6335d4584d7e33fc3a1 Mon Sep 17 00:00:00 2001 From: Alexander Kanavin <alex.kanavin@gmail.com> Date: Mon, 19 Oct 2015 18:26:40 +0300 Subject: [PATCH] giscanner: add --use-binary-wrapper option @@ -16,10 +16,10 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> 1 file changed, 14 insertions(+) diff --git a/giscanner/scannermain.py b/giscanner/scannermain.py -index ccb14e9..061def0 100644 +index c004fb1..0b6a2d2 100644 --- a/giscanner/scannermain.py +++ b/giscanner/scannermain.py -@@ -126,6 +126,9 @@ def _get_option_parser(): +@@ -120,6 +120,9 @@ def _get_option_parser(): parser.add_option("", "--program", action="store", dest="program", default=None, help="program to execute") @@ -29,7 +29,7 @@ index ccb14e9..061def0 100644 parser.add_option("", "--program-arg", action="append", dest="program_args", default=[], help="extra arguments to program") -@@ -418,6 +421,17 @@ def create_binary(transformer, options, args): +@@ -417,6 +420,17 @@ def create_binary(transformer, options, args): gdump_parser.get_error_quark_functions()) shlibs = resolve_shlibs(options, binary, options.libraries) diff --git a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0004-giscanner-add-a-use-ldd-wrapper-option.patch b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0004-giscanner-add-a-use-ldd-wrapper-option.patch index 2e36b64ba..79264ed08 100644 --- a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0004-giscanner-add-a-use-ldd-wrapper-option.patch +++ b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0004-giscanner-add-a-use-ldd-wrapper-option.patch @@ -1,4 +1,4 @@ -From eba2b999e81d81b5f43bb1f0ab33881786bebdec Mon Sep 17 00:00:00 2001 +From cba7807888a4a1f1d630d16c51c89859209334b3 Mon Sep 17 00:00:00 2001 From: Alexander Kanavin <alex.kanavin@gmail.com> Date: Fri, 30 Oct 2015 16:28:46 +0200 Subject: [PATCH] giscanner: add a --use-ldd-wrapper option @@ -15,10 +15,10 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/giscanner/scannermain.py b/giscanner/scannermain.py -index 061def0..5cb793e 100644 +index 0b6a2d2..9013562 100644 --- a/giscanner/scannermain.py +++ b/giscanner/scannermain.py -@@ -129,6 +129,9 @@ def _get_option_parser(): +@@ -123,6 +123,9 @@ def _get_option_parser(): parser.add_option("", "--use-binary-wrapper", action="store", dest="wrapper", default=None, help="wrapper to use for running programs (useful when cross-compiling)") @@ -29,10 +29,10 @@ index 061def0..5cb793e 100644 action="append", dest="program_args", default=[], help="extra arguments to program") diff --git a/giscanner/shlibs.py b/giscanner/shlibs.py -index 7b7b2d0..01d21a3 100644 +index 2c61f2f..d67df95 100644 --- a/giscanner/shlibs.py +++ b/giscanner/shlibs.py -@@ -102,7 +102,9 @@ def _resolve_non_libtool(options, binary, libraries): +@@ -96,7 +96,9 @@ def _resolve_non_libtool(options, binary, libraries): args.extend(libtool) args.append('--mode=execute') platform_system = platform.system() diff --git a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0005-Prefix-pkg-config-paths-with-PKG_CONFIG_SYSROOT_DIR-.patch b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0005-Prefix-pkg-config-paths-with-PKG_CONFIG_SYSROOT_DIR-.patch index 2a31117b1..74622680d 100644 --- a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0005-Prefix-pkg-config-paths-with-PKG_CONFIG_SYSROOT_DIR-.patch +++ b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0005-Prefix-pkg-config-paths-with-PKG_CONFIG_SYSROOT_DIR-.patch @@ -1,4 +1,4 @@ -From a97d060933932e478c03f1de9513b69bc459eefc Mon Sep 17 00:00:00 2001 +From 74dab0fb6104ab6b715a24b783f8e8dfa5f83617 Mon Sep 17 00:00:00 2001 From: Alexander Kanavin <alex.kanavin@gmail.com> Date: Thu, 8 Oct 2015 18:30:35 +0300 Subject: [PATCH] Prefix pkg-config paths with PKG_CONFIG_SYSROOT_DIR @@ -16,7 +16,7 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/Makefile-gir.am b/Makefile-gir.am -index 2cd7358..eaf0afd 100644 +index b59b0a6..24a50c2 100644 --- a/Makefile-gir.am +++ b/Makefile-gir.am @@ -58,8 +58,8 @@ else @@ -41,7 +41,7 @@ index 2cd7358..eaf0afd 100644 GOBJECT_LIBRARY=gobject-2.0 -@@ -123,8 +123,8 @@ GObject_2_0_gir_FILES = \ +@@ -124,8 +124,8 @@ GObject_2_0_gir_FILES = \ BUILT_GIRSOURCES += GObject-2.0.gir # gmodule @@ -52,7 +52,7 @@ index 2cd7358..eaf0afd 100644 GMODULE_LIBRARY=gmodule-2.0 -@@ -149,13 +149,13 @@ GModule_2_0_gir_FILES = $(GLIB_INCLUDEDIR)/gmodule.h \ +@@ -150,13 +150,13 @@ GModule_2_0_gir_FILES = $(GLIB_INCLUDEDIR)/gmodule.h \ BUILT_GIRSOURCES += GModule-2.0.gir # gio @@ -66,7 +66,7 @@ index 2cd7358..eaf0afd 100644 if HAVE_GIO_UNIX -GIO_UNIX_INCLUDEDIR = $(shell "${PKG_CONFIG}" --variable=includedir gio-unix-2.0)/gio-unix-2.0 +GIO_UNIX_INCLUDEDIR = $(PKG_CONFIG_SYSROOT_DIR)$(shell "${PKG_CONFIG}" --variable=includedir gio-unix-2.0)/gio-unix-2.0 - GIO_UNIX_HDRS = $(GIO_UNIX_INCLUDEDIR)/gio/*.h + GIO_UNIX_HDRS = $(wildcard $(GIO_UNIX_INCLUDEDIR)/gio/*.h) GIO_UNIX_PACKAGES = gio-unix-2.0 else diff --git a/m4/introspection.m4 b/m4/introspection.m4 diff --git a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0010-meson-add-option-gir-dir-prefix.patch b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0010-meson-add-option-gir-dir-prefix.patch deleted file mode 100644 index 8eec5f867..000000000 --- a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0010-meson-add-option-gir-dir-prefix.patch +++ /dev/null @@ -1,66 +0,0 @@ -From bbc34f00fd30a13eafc607a956de60d822260355 Mon Sep 17 00:00:00 2001 -From: Kai Kang <kai.kang@windriver.com> -Date: Fri, 14 Sep 2018 01:26:38 -0700 -Subject: [PATCH] meson: add option 'gir-dir-prefix' - -Add option 'gir-dir-prefix' for meson to make the installation path of -.gir files could be configured which has been done for autoconf. - -Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/gobject-introspection/commit/3938b86f5289c2b28a5ec42965b8da4b509445c4] -Signed-off-by: Kai Kang <kai.kang@windriver.com> ---- - gir/meson.build | 1 - - meson.build | 8 +++++++- - meson_options.txt | 4 ++++ - 3 files changed, 11 insertions(+), 2 deletions(-) - -diff --git a/gir/meson.build b/gir/meson.build -index 607bbc4..1cb514a 100644 ---- a/gir/meson.build -+++ b/gir/meson.build -@@ -34,7 +34,6 @@ gir_files = [ - ] - - typelibdir = join_paths(get_option('libdir'), 'girepository-1.0') --girdir = join_paths(get_option('datadir'), 'gir-1.0') - install_data(gir_files, install_dir: girdir) - - scanner_command = [ -diff --git a/meson.build b/meson.build -index a1432f7..17acd82 100644 ---- a/meson.build -+++ b/meson.build -@@ -18,7 +18,12 @@ python = pymod.find_installation(get_option('python')) - cc = meson.get_compiler('c') - config = configuration_data() - config.set_quoted('GIR_SUFFIX', 'gir-1.0') --config.set_quoted('GIR_DIR', join_paths(get_option('prefix'), get_option('datadir'), 'gir-1.0')) -+gir_dir_prefix = get_option('gir-dir-prefix') -+if gir_dir_prefix == '' -+ gir_dir_prefix = get_option('datadir') -+endif -+girdir = join_paths(get_option('prefix'), gir_dir_prefix, 'gir-1.0') -+config.set_quoted('GIR_DIR', girdir) - config.set_quoted('GOBJECT_INTROSPECTION_LIBDIR', join_paths(get_option('prefix'), get_option('libdir'))) - - foreach type : ['char', 'short', 'int', 'long'] -@@ -93,6 +98,7 @@ pkgconfig_conf.set('libdir', join_paths('${prefix}', get_option('libdir'))) - pkgconfig_conf.set('datarootdir', join_paths('${prefix}', get_option('datadir'))) - pkgconfig_conf.set('datadir', '${datarootdir}') - pkgconfig_conf.set('includedir', join_paths('${prefix}', get_option('includedir'))) -+pkgconfig_conf.set('GIR_DIR', join_paths('${prefix}', gir_dir_prefix, 'gir-1.0')) - if host_system == 'windows' or host_system == 'cygwin' - pkgconfig_conf.set('EXEEXT', '.exe') - else -diff --git a/meson_options.txt b/meson_options.txt -index 49726be..ee6958d 100644 ---- a/meson_options.txt -+++ b/meson_options.txt -@@ -21,3 +21,7 @@ option('cairo-libname', type: 'string', - option('python', type: 'string', value: 'python3', - description: 'Path or name of the Python interpreter to build for' - ) -+ -+option('gir-dir-prefix', type: 'string', -+ description: 'Intermediate prefix for gir installation under ${prefix}' -+) diff --git a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.58.3.bb b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.60.1.bb index 4ff9b7bf4..40beab0c4 100644 --- a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.58.3.bb +++ b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.60.1.bb @@ -17,19 +17,19 @@ SRC_URI = "${GNOME_MIRROR}/${BPN}/${@oe.utils.trim_version("${PV}", 2)}/${BPN}-$ file://0005-Prefix-pkg-config-paths-with-PKG_CONFIG_SYSROOT_DIR-.patch \ file://0001-giscanner-add-a-lib-dirs-envvar-option.patch \ file://0001-giscanner-ignore-error-return-codes-from-ldd-wrapper.patch \ - file://0001-configure.ac-make-GIR_DIR-configurable.patch \ - file://0002-g-ir-tools-respect-gir_dir_prefix.patch \ - file://0010-meson-add-option-gir-dir-prefix.patch \ file://0001-Port-cross-compilation-support-to-meson.patch \ + file://0001-meson.build-disable-tests-when-cross-compiling.patch \ " -SRC_URI[md5sum] = "182432c1f33886be8f4da073218b597d" -SRC_URI[sha256sum] = "025b632bbd944dcf11fc50d19a0ca086b83baf92b3e34936d008180d28cdc3c8" +SRC_URI[md5sum] = "46fc8a98f6563e64947ac3d574632525" +SRC_URI[sha256sum] = "d844d1499ecd36f3ec8a3573616186d36626ec0c9a7981939e99aa02e9c824b3" SRC_URI_append_class-native = " file://0001-Relocate-the-repository-directory-for-native-builds.patch" inherit meson pkgconfig gtk-doc python3native qemu gobject-introspection-data upstream-version-is-even multilib_script +GTKDOC_MESON_OPTION = "gtk_doc" + MULTILIB_SCRIPTS = "${PN}:${bindir}/g-ir-annotation-tool ${PN}:${bindir}/g-ir-scanner" DEPENDS_append = " libffi zlib glib-2.0 python3 flex-native bison-native autoconf-archive" @@ -56,7 +56,7 @@ EXTRA_OEMESON_class-target = " \ -Denable-gi-ldd-wrapper=${B}/g-ir-scanner-lddwrapper \ -Dpkgconfig-sysroot-path=${PKG_CONFIG_SYSROOT_DIR} \ ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-Denable-introspection-data=true', '-Denable-introspection-data=false', d)} \ - ${@'-Dgir-dir-prefix=${libdir}' if d.getVar('MULTILIBS') else ''} \ + ${@'-Dgir_dir_prefix=${libdir}' if d.getVar('MULTILIBS') else ''} \ " # Need to ensure ld.so.conf exists so prelink-native works diff --git a/poky/meta/recipes-gnome/json-glib/json-glib_1.4.4.bb b/poky/meta/recipes-gnome/json-glib/json-glib_1.4.4.bb index 95f90569d..1c663f93e 100644 --- a/poky/meta/recipes-gnome/json-glib/json-glib_1.4.4.bb +++ b/poky/meta/recipes-gnome/json-glib/json-glib_1.4.4.bb @@ -19,18 +19,6 @@ SRC_URI[archive.sha256sum] = "720c5f4379513dc11fd97dc75336eb0c0d3338c53128044d9f PACKAGECONFIG[manpages] = "-Dman=true,-Dman=false,libxslt-native xmlto-native" -# This builds both API docs (via gtk-doc) -GTKDOC_ENABLE_FLAG = "-Ddocs=true" -GTKDOC_DISABLE_FLAG = "-Ddocs=false" - -GI_ENABLE_FLAG = "-Dintrospection=true" -GI_DISABLE_FLAG = "-Dintrospection=false" - -EXTRA_OEMESON_append_class-target = " ${@bb.utils.contains('GTKDOC_ENABLED', 'True', '${GTKDOC_ENABLE_FLAG}', \ - '${GTKDOC_DISABLE_FLAG}', d)} " -EXTRA_OEMESON_append_class-target = " ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '${GI_ENABLE_FLAG}', \ - '${GI_DISABLE_FLAG}', d)} " - do_install_append() { if ! ${@bb.utils.contains('PTEST_ENABLED', '1', 'true', 'false', d)}; then rm -rf ${D}${datadir}/installed-tests ${D}${libexecdir} diff --git a/poky/meta/recipes-gnome/libdazzle/libdazzle/0001-Add-a-define-so-that-gir-compilation-succeeds.patch b/poky/meta/recipes-gnome/libdazzle/libdazzle/0001-Add-a-define-so-that-gir-compilation-succeeds.patch deleted file mode 100644 index c959d4397..000000000 --- a/poky/meta/recipes-gnome/libdazzle/libdazzle/0001-Add-a-define-so-that-gir-compilation-succeeds.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 546d53c3515e8a488a204763437d1fa0917097e5 Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin <alex.kanavin@gmail.com> -Date: Tue, 11 Dec 2018 12:39:30 +0100 -Subject: [PATCH] Add a define so that gir compilation succeeds - -For some reason meson 0.49.0 does not anymore pass global arguments to gir compiler. - -Upstream-Status: Pending -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> ---- - src/meson.build | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/meson.build b/src/meson.build -index 6ff8a6a..f0b2887 100644 ---- a/src/meson.build -+++ b/src/meson.build -@@ -132,7 +132,7 @@ if get_option('with_introspection') - install_dir_gir: girdir, - install_dir_typelib: typelibdir, - export_packages: libdazzle_package, -- extra_args: [ '--c-include=dazzle.h', '--quiet' ], -+ extra_args: [ '--c-include=dazzle.h', '--quiet', '-DDAZZLE_COMPILATION' ], - ) - - if get_option('with_vapi') diff --git a/poky/meta/recipes-gnome/libdazzle/libdazzle_3.30.2.bb b/poky/meta/recipes-gnome/libdazzle/libdazzle_3.30.2.bb deleted file mode 100644 index 3779b15af..000000000 --- a/poky/meta/recipes-gnome/libdazzle/libdazzle_3.30.2.bb +++ /dev/null @@ -1,20 +0,0 @@ -SUMMARY = "The libdazzle library is a companion library to GObject and Gtk+." -LICENSE = "GPLv3+" -LIC_FILES_CHKSUM = "file://COPYING;md5=8f0e2cd40e05189ec81232da84bd6e1a" - -GNOMEBASEBUILDCLASS = "meson" -inherit gnomebase upstream-version-is-even vala distro_features_check gobject-introspection - -DEPENDS = "glib-2.0-native glib-2.0 gtk+3" - -SRC_URI += " file://0001-Add-a-define-so-that-gir-compilation-succeeds.patch" -SRC_URI[archive.md5sum] = "24e2e1b914a34f5b8868a9507d1f3c4c" -SRC_URI[archive.sha256sum] = "78770eae9fa15ac5acb9c733d29459330b2540affbf72933119e36dbd90b36d5" - -GI_ENABLE_FLAG = "-Dwith_introspection=true" -GI_DISABLE_FLAG = "-Dwith_introspection=false" - -ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" - -EXTRA_OEMESON_append_class-target = " ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '${GI_ENABLE_FLAG}', \ - '${GI_DISABLE_FLAG}', d)} " diff --git a/poky/meta/recipes-gnome/libdazzle/libdazzle_3.32.1.bb b/poky/meta/recipes-gnome/libdazzle/libdazzle_3.32.1.bb new file mode 100644 index 000000000..dac59f86b --- /dev/null +++ b/poky/meta/recipes-gnome/libdazzle/libdazzle_3.32.1.bb @@ -0,0 +1,15 @@ +SUMMARY = "The libdazzle library is a companion library to GObject and Gtk+." +LICENSE = "GPLv3+" +LIC_FILES_CHKSUM = "file://COPYING;md5=8f0e2cd40e05189ec81232da84bd6e1a" + +GNOMEBASEBUILDCLASS = "meson" +inherit gnomebase upstream-version-is-even vala distro_features_check gobject-introspection + +DEPENDS = "glib-2.0-native glib-2.0 gtk+3" + +SRC_URI[archive.md5sum] = "5f6455ebc47e86f63b9579997137f391" +SRC_URI[archive.sha256sum] = "238da19fdcc3ae9bb0c2d781d099fb8c6ec70c4dd3dffad80d230344ecc3f972" + +GIR_MESON_OPTION = 'with_introspection' + +ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" diff --git a/poky/meta/recipes-gnome/libnotify/libnotify_0.7.7.bb b/poky/meta/recipes-gnome/libnotify/libnotify_0.7.8.bb index 6c299bc17..82c137ca3 100644 --- a/poky/meta/recipes-gnome/libnotify/libnotify_0.7.7.bb +++ b/poky/meta/recipes-gnome/libnotify/libnotify_0.7.8.bb @@ -10,8 +10,8 @@ inherit gnomebase gtk-doc distro_features_check gobject-introspection # depends on gtk+3 ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" -SRC_URI[archive.md5sum] = "e9d911f6a22435e0b922f2fe71212b59" -SRC_URI[archive.sha256sum] = "9cb4ce315b2655860c524d46b56010874214ec27e854086c1a1d0260137efc04" +SRC_URI[archive.md5sum] = "babb4b07b5f21bef42a386d3d7019599" +SRC_URI[archive.sha256sum] = "69209e0b663776a00c7b6c0e560302a8dbf66b2551d55616304f240bba66e18c" # there were times, we had two versions of libnotify (oe-core libnotify:0.6.x / # meta-gnome libnotify3: 0.7.x) diff --git a/poky/meta/recipes-gnome/libsecret/libsecret_0.18.7.bb b/poky/meta/recipes-gnome/libsecret/libsecret_0.18.8.bb index ba38d107f..4af47fede 100644 --- a/poky/meta/recipes-gnome/libsecret/libsecret_0.18.7.bb +++ b/poky/meta/recipes-gnome/libsecret/libsecret_0.18.8.bb @@ -8,8 +8,8 @@ DEPENDS += "glib-2.0 libgcrypt gettext-native" PACKAGECONFIG[manpages] = "--enable-manpages, --disable-manpages, libxslt-native xmlto-native" -SRC_URI[archive.md5sum] = "376153ece17081eb5410870e0dc5c031" -SRC_URI[archive.sha256sum] = "0d66fe1fc4561b3e046ee281d7c5a703a9baac88a8c4fb42ebc739d31dabd487" +SRC_URI[archive.md5sum] = "fee403988442f497f3c1dfe7b128869c" +SRC_URI[archive.sha256sum] = "3bfa889d260e0dbabcf5b9967f2aae12edcd2ddc9adc365de7a5cc840c311d15" # http://errors.yoctoproject.org/Errors/Details/20228/ ARM_INSTRUCTION_SET_armv4 = "arm" diff --git a/poky/meta/recipes-graphics/clutter/clutter-gtk-1.0.inc b/poky/meta/recipes-graphics/clutter/clutter-gtk-1.0.inc index 4e82f5660..11826a6f0 100644 --- a/poky/meta/recipes-graphics/clutter/clutter-gtk-1.0.inc +++ b/poky/meta/recipes-graphics/clutter/clutter-gtk-1.0.inc @@ -13,19 +13,6 @@ ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" DEPENDS = "clutter-1.0 gtk+3" PACKAGES =+ "${PN}-examples" -GTKDOC_ENABLE_FLAG = "-Denable_docs=true" -GTKDOC_DISABLE_FLAG = "-Denable_docs=false" - -GI_ENABLE_FLAG = "-Denable_gi=true" -GI_DISABLE_FLAG = "-Denable_gi=false" - -EXTRA_OEMESON_append_class-nativesdk = " ${GI_DISABLE_FLAG}" - -EXTRA_OEMESON_append_class-target = " ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '${GI_ENABLE_FLAG}', \ - '${GI_DISABLE_FLAG}', d)} " - -EXTRA_OEMESON_append_class-target = " ${@bb.utils.contains('GTKDOC_ENABLED', 'True', '${GTKDOC_ENABLE_FLAG}', \ - '${GTKDOC_DISABLE_FLAG}', d)} " - - +GTKDOC_MESON_OPTION = "enable_docs" +GIR_MESON_OPTION = 'enable_gi' diff --git a/poky/meta/recipes-graphics/cogl/cogl-1.0.inc b/poky/meta/recipes-graphics/cogl/cogl-1.0.inc index 7a79aa789..3e392fa5e 100644 --- a/poky/meta/recipes-graphics/cogl/cogl-1.0.inc +++ b/poky/meta/recipes-graphics/cogl/cogl-1.0.inc @@ -31,6 +31,7 @@ EXTRA_OECONF += "--enable-examples-install \ --disable-gles1 \ --disable-cairo \ " +DEBUG_OPTIMIZATION_append = " -Wno-error=maybe-uninitialized" # OpenGL/GLX PACKAGECONFIG[glx] = "--enable-gl --enable-glx,--disable-gl --disable-glx,${EDEPENDS_GL} ${EDEPENDS_X11},${ERDEPENDS_GL}" diff --git a/poky/meta/recipes-graphics/cogl/cogl-1.0/0001-Fix-an-incorrect-preprocessor-conditional.patch b/poky/meta/recipes-graphics/cogl/cogl-1.0/0001-Fix-an-incorrect-preprocessor-conditional.patch deleted file mode 100644 index 2a9d8f829..000000000 --- a/poky/meta/recipes-graphics/cogl/cogl-1.0/0001-Fix-an-incorrect-preprocessor-conditional.patch +++ /dev/null @@ -1,32 +0,0 @@ -Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> -Upstream-Status: Backport - - -Original upstream commit follows: - -From b583e21d8698dbd58013320cfb47739102efdea7 Mon Sep 17 00:00:00 2001 -From: Kalev Lember <klember@redhat.com> -Date: Wed, 19 Oct 2016 23:38:28 +0200 -Subject: [PATCH] Fix an incorrect preprocessor conditional - -This fixes the build with wayland wayland egl server support disabled. ---- - cogl/winsys/cogl-winsys-egl.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/cogl/winsys/cogl-winsys-egl.c b/cogl/winsys/cogl-winsys-egl.c -index 39bfd884..4a9f3aa6 100644 ---- a/cogl/winsys/cogl-winsys-egl.c -+++ b/cogl/winsys/cogl-winsys-egl.c -@@ -1029,7 +1029,7 @@ _cogl_egl_create_image (CoglContext *ctx, - egl_ctx = EGL_NO_CONTEXT; - else - #endif --#if COGL_HAS_WAYLAND_EGL_SERVER_SUPPORT -+#ifdef COGL_HAS_WAYLAND_EGL_SERVER_SUPPORT - /* The WL_bind_wayland_display spec states that EGL_NO_CONTEXT is to be used - * in conjunction with the EGL_WAYLAND_BUFFER_WL target */ - if (target == EGL_WAYLAND_BUFFER_WL) --- -2.11.0 - diff --git a/poky/meta/recipes-graphics/cogl/cogl-1.0/test-backface-culling.c-fix-may-be-used-uninitialize.patch b/poky/meta/recipes-graphics/cogl/cogl-1.0/test-backface-culling.c-fix-may-be-used-uninitialize.patch deleted file mode 100644 index 479a0ff4b..000000000 --- a/poky/meta/recipes-graphics/cogl/cogl-1.0/test-backface-culling.c-fix-may-be-used-uninitialize.patch +++ /dev/null @@ -1,35 +0,0 @@ -From a51f61d675a0e7d6649182c6a1325ceab8342df2 Mon Sep 17 00:00:00 2001 -From: Robert Yang <liezhi.yang@windriver.com> -Date: Mon, 4 Jan 2016 22:47:29 -0800 -Subject: [PATCH] test-backface-culling.c: fix may be used uninitialized error - -Fixed when gcc -O: -test-backface-culling.c:206:7: error: 'cull_front' may be used uninitialized in this function [-Werror=maybe-uninitialized] -| validate_part (framebuffer, -| ^ -| cc1: some warnings being treated as errors - -Upstream-Status: Pending - -Signed-off-by: Robert Yang <liezhi.yang@windriver.com> ---- - tests/conform/test-backface-culling.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/tests/conform/test-backface-culling.c b/tests/conform/test-backface-culling.c -index e90c2f5..7c45592 100644 ---- a/tests/conform/test-backface-culling.c -+++ b/tests/conform/test-backface-culling.c -@@ -164,7 +164,8 @@ validate_result (CoglFramebuffer *framebuffer, int y_offset) - - for (draw_num = 0; draw_num < 16; draw_num++) - { -- CoglBool cull_front, cull_back; -+ CoglBool cull_front = FALSE; -+ CoglBool cull_back = FALSE; - CoglPipelineCullFaceMode cull_mode; - - if (USE_LEGACY_STATE (draw_num)) --- -1.7.9.5 - diff --git a/poky/meta/recipes-graphics/cogl/cogl-1.0_1.22.2.bb b/poky/meta/recipes-graphics/cogl/cogl-1.0_1.22.2.bb deleted file mode 100644 index 5901062a4..000000000 --- a/poky/meta/recipes-graphics/cogl/cogl-1.0_1.22.2.bb +++ /dev/null @@ -1,8 +0,0 @@ -require cogl-1.0.inc - -SRC_URI += "file://test-backface-culling.c-fix-may-be-used-uninitialize.patch \ - file://0001-Fix-an-incorrect-preprocessor-conditional.patch" -SRC_URI[archive.md5sum] = "d53b708ca7c4af03d7254e46945d6b33" -SRC_URI[archive.sha256sum] = "39a718cdb64ea45225a7e94f88dddec1869ab37a21b339ad058a9d898782c00d" - -LIC_FILES_CHKSUM = "file://COPYING;md5=1b1a508d91d25ca607c83f92f3e31c84" diff --git a/poky/meta/recipes-graphics/cogl/cogl-1.0_1.22.4.bb b/poky/meta/recipes-graphics/cogl/cogl-1.0_1.22.4.bb new file mode 100644 index 000000000..8e61c19f5 --- /dev/null +++ b/poky/meta/recipes-graphics/cogl/cogl-1.0_1.22.4.bb @@ -0,0 +1,6 @@ +require cogl-1.0.inc + +SRC_URI[archive.md5sum] = "31755015a865c4af51ac84f6e53af8ab" +SRC_URI[archive.sha256sum] = "5217bf94cbca3df63268a3b79d017725382b9e592b891d1e7dc6212590ce0de0" + +LIC_FILES_CHKSUM = "file://COPYING;md5=1b1a508d91d25ca607c83f92f3e31c84" diff --git a/poky/meta/recipes-graphics/drm/libdrm_2.4.97.bb b/poky/meta/recipes-graphics/drm/libdrm_2.4.98.bb index bbe9a33ba..bed542ba0 100644 --- a/poky/meta/recipes-graphics/drm/libdrm_2.4.97.bb +++ b/poky/meta/recipes-graphics/drm/libdrm_2.4.98.bb @@ -12,8 +12,8 @@ DEPENDS = "libpthread-stubs" SRC_URI = "http://dri.freedesktop.org/libdrm/${BP}.tar.bz2 \ file://musl-ioctl.patch" -SRC_URI[md5sum] = "acef22d0c62c89692348c2dd5591393e" -SRC_URI[sha256sum] = "77d0ccda3e10d6593398edb70b1566bfe1a23a39bd3da98ace2147692eadd123" +SRC_URI[md5sum] = "1320b43c4bdb8846c308ec2610b62b64" +SRC_URI[sha256sum] = "8be0edccaca3abde8b6bb1431b46354c7fab46e9b91cc6946ba65b51f56f1894" inherit meson pkgconfig manpages diff --git a/poky/meta/recipes-graphics/fontconfig/fontconfig/0001-src-fccache.c-Fix-define-for-HAVE_POSIX_FADVISE.patch b/poky/meta/recipes-graphics/fontconfig/fontconfig/0001-src-fccache.c-Fix-define-for-HAVE_POSIX_FADVISE.patch deleted file mode 100644 index d9bce212f..000000000 --- a/poky/meta/recipes-graphics/fontconfig/fontconfig/0001-src-fccache.c-Fix-define-for-HAVE_POSIX_FADVISE.patch +++ /dev/null @@ -1,33 +0,0 @@ -From ab9522177a8396a51812fdbebb6387df451a8499 Mon Sep 17 00:00:00 2001 -From: Robert Yang <liezhi.yang@windriver.com> -Date: Mon, 24 Dec 2018 11:03:58 +0800 -Subject: [PATCH] src/fccache.c: Fix define for HAVE_POSIX_FADVISE - -Otherwise, there would be build errors in the following 2 cases: -* define HAVE_POSIX_FADVISE -Or: -* undef HAVE_POSIX_FADVISE - -Upstream-Status: Backport [https://gitlab.freedesktop.org/fontconfig/fontconfig/commit/586e35450e9ca7c1dc647ceb9d75ac8ed08c5c16] - -Signed-off-by: Robert Yang <liezhi.yang@windriver.com> ---- - fccache.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/fccache.c b/src/fccache.c -index 6f3c68a..85cc4b4 100644 ---- a/src/fccache.c -+++ b/src/fccache.c -@@ -700,7 +700,7 @@ FcDirCacheMapFd (FcConfig *config, int fd, struct stat *fd_stat, struct stat *di - { - #if defined(HAVE_MMAP) || defined(__CYGWIN__) - cache = mmap (0, fd_stat->st_size, PROT_READ, MAP_SHARED, fd, 0); --#if (HAVE_POSIX_FADVISE) && defined(POSIX_FADV_WILLNEED) -+#if defined(HAVE_POSIX_FADVISE) && defined(POSIX_FADV_WILLNEED) - posix_fadvise (fd, 0, fd_stat->st_size, POSIX_FADV_WILLNEED); - #endif - if (cache == MAP_FAILED) --- -2.7.4 - diff --git a/poky/meta/recipes-graphics/fontconfig/fontconfig/0001-src-fcxml.c-avoid-double-free-of-filename.patch b/poky/meta/recipes-graphics/fontconfig/fontconfig/0001-src-fcxml.c-avoid-double-free-of-filename.patch deleted file mode 100644 index 3ca9fde96..000000000 --- a/poky/meta/recipes-graphics/fontconfig/fontconfig/0001-src-fcxml.c-avoid-double-free-of-filename.patch +++ /dev/null @@ -1,28 +0,0 @@ -From a163c81ac430cdc292add200f3e6a0c048be4d7e Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin <alex.kanavin@gmail.com> -Date: Wed, 11 Oct 2017 17:40:09 +0300 -Subject: [PATCH] src/fcxml.c: avoid double free() of filename - -It's also freed after bail1, so no need to do it here. - -Upstream-Status: Submitted [https://bugs.freedesktop.org/show_bug.cgi?id=103221] -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> ---- - src/fcxml.c | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/src/fcxml.c b/src/fcxml.c -index 19ce96a..edb6054 100644 ---- a/src/fcxml.c -+++ b/src/fcxml.c -@@ -3398,7 +3398,6 @@ FcConfigParseAndLoad (FcConfig *config, - - fd = FcOpen ((char *) filename, O_RDONLY); - if (fd == -1) { -- FcStrFree (filename); - goto bail1; - } - --- -2.14.1 - diff --git a/poky/meta/recipes-graphics/fontconfig/fontconfig/revert-static-pkgconfig.patch b/poky/meta/recipes-graphics/fontconfig/fontconfig/revert-static-pkgconfig.patch index fca1e6594..30d642303 100644 --- a/poky/meta/recipes-graphics/fontconfig/fontconfig/revert-static-pkgconfig.patch +++ b/poky/meta/recipes-graphics/fontconfig/fontconfig/revert-static-pkgconfig.patch @@ -8,13 +8,13 @@ gently refuses and rightly so. Upstream-Status: Inappropriate [OE-Specific] Signed-off-by: Khem Raj <raj.khem@gmail.com> -Index: fontconfig-2.11.93/fontconfig.pc.in -=================================================================== ---- fontconfig-2.11.93.orig/fontconfig.pc.in -+++ fontconfig-2.11.93/fontconfig.pc.in +diff --git a/fontconfig.pc.in b/fontconfig.pc.in +index 61b35fb..5bc9bab 100644 +--- a/fontconfig.pc.in ++++ b/fontconfig.pc.in @@ -15,4 +15,4 @@ Requires: @PKGCONFIG_REQUIRES@ Requires.private: @PKGCONFIG_REQUIRES_PRIVATELY@ Libs: -L${libdir} -lfontconfig - Libs.private: @EXPAT_LIBS@ @FREETYPE_LIBS@ @ICONV_LIBS@ @LIBXML2_LIBS@ --Cflags: -I${includedir} @EXPAT_CFLAGS@ @FREETYPE_CFLAGS@ @ICONV_CFLAGS@ @LIBXML2_CFLAGS@ + Libs.private: @ICONV_LIBS@ @PKG_EXPAT_LIBS@ +-Cflags: -I${includedir} @ICONV_CFLAGS@ @PKG_EXPAT_CFLAGS@ +Cflags: -I${includedir} diff --git a/poky/meta/recipes-graphics/fontconfig/fontconfig_2.12.6.bb b/poky/meta/recipes-graphics/fontconfig/fontconfig_2.13.1.bb index 8fa739de2..d0da419ce 100644 --- a/poky/meta/recipes-graphics/fontconfig/fontconfig_2.12.6.bb +++ b/poky/meta/recipes-graphics/fontconfig/fontconfig_2.13.1.bb @@ -14,20 +14,18 @@ BUGTRACKER = "https://bugs.freedesktop.org/enter_bug.cgi?product=fontconfig" LICENSE = "MIT-style & MIT & PD" LIC_FILES_CHKSUM = "file://COPYING;md5=7a0449e9bc5370402a94c00204beca3d \ file://src/fcfreetype.c;endline=45;md5=5d9513e3196a1fbfdfa94051c09dfc84 \ - file://src/fccache.c;beginline=1367;endline=1382;md5=0326cfeb4a7333dd4dd25fbbc4b9f27f" + file://src/fccache.c;beginline=1671;endline=1686;md5=0326cfeb4a7333dd4dd25fbbc4b9f27f" SECTION = "libs" -DEPENDS = "expat freetype zlib gperf-native" +DEPENDS = "expat freetype zlib gperf-native util-linux" SRC_URI = "http://fontconfig.org/release/fontconfig-${PV}.tar.gz \ file://revert-static-pkgconfig.patch \ - file://0001-src-fcxml.c-avoid-double-free-of-filename.patch \ - file://0001-src-fccache.c-Fix-define-for-HAVE_POSIX_FADVISE.patch \ " -SRC_URI[md5sum] = "00e748c67fad11e7057a71ed385e8bdb" -SRC_URI[sha256sum] = "064b9ebf060c9e77011733ac9dc0e2ce92870b574cca2405e11f5353a683c334" +SRC_URI[md5sum] = "690c6cb840a92fa8908cdf462d19ec66" +SRC_URI[sha256sum] = "9f0d852b39d75fc655f9f53850eb32555394f36104a044bb2b2fc9e66dbbfa7f" UPSTREAM_CHECK_REGEX = "fontconfig-(?P<pver>\d+\.\d+\.(?!9\d+)\d+)" @@ -50,6 +48,7 @@ do_install_append_class-nativesdk() { PACKAGES =+ "fontconfig-utils" FILES_${PN} =+ "${datadir}/xml/*" +FILES_${PN}-dev += "${datadir}/gettext/*" FILES_fontconfig-utils = "${bindir}/* ${libexecdir}/*" # Work around past breakage in debian.bbclass @@ -58,7 +57,7 @@ RREPLACES_fontconfig-utils = "libfontconfig-utils" RCONFLICTS_fontconfig-utils = "libfontconfig-utils" DEBIAN_NOAUTONAME_fontconfig-utils = "1" -inherit autotools pkgconfig relative_symlinks +inherit autotools pkgconfig relative_symlinks gettext FONTCONFIG_CACHE_DIR ?= "${localstatedir}/cache/fontconfig" diff --git a/poky/meta/recipes-graphics/harfbuzz/harfbuzz_2.3.1.bb b/poky/meta/recipes-graphics/harfbuzz/harfbuzz_2.4.0.bb index 4b292d8ea..4691d16df 100644 --- a/poky/meta/recipes-graphics/harfbuzz/harfbuzz_2.3.1.bb +++ b/poky/meta/recipes-graphics/harfbuzz/harfbuzz_2.4.0.bb @@ -11,8 +11,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=e021dd6dda6ff1e6b1044002fc662b9b \ DEPENDS = "glib-2.0 cairo fontconfig freetype" SRC_URI = "http://www.freedesktop.org/software/harfbuzz/release/${BP}.tar.bz2" -SRC_URI[md5sum] = "531de9df7c8a5405dd9c6a873fcee8c2" -SRC_URI[sha256sum] = "f205699d5b91374008d6f8e36c59e419ae2d9a7bb8c5d9f34041b9a5abcae468" +SRC_URI[md5sum] = "49f111f9b52ae3d9b31c1a3631a320bd" +SRC_URI[sha256sum] = "b470eff9dd5b596edf078596b46a1f83c179449f051a469430afc15869db336f" inherit autotools pkgconfig lib_package gtk-doc diff --git a/poky/meta/recipes-graphics/kmscube/kmscube_git.bb b/poky/meta/recipes-graphics/kmscube/kmscube_git.bb index b2dd6b30b..513148f9e 100644 --- a/poky/meta/recipes-graphics/kmscube/kmscube_git.bb +++ b/poky/meta/recipes-graphics/kmscube/kmscube_git.bb @@ -6,7 +6,7 @@ DEPENDS = "virtual/libgles2 virtual/egl libdrm" LIC_FILES_CHKSUM = "file://kmscube.c;beginline=1;endline=23;md5=8b309d4ee67b7315ff7381270dd631fb" -SRCREV = "d8da3dcfdfe33ee525cf562e928a5266ac69843c" +SRCREV = "485b385e966a63cecc143765d112d267b299ffe5" SRC_URI = "git://anongit.freedesktop.org/mesa/kmscube;branch=master;protocol=git \ file://detect-gst_bo_map-_unmap-and-use-it-or-avoid-it.patch" UPSTREAM_CHECK_COMMITS = "1" diff --git a/poky/meta/recipes-graphics/libsdl/libsdl_1.2.15.bb b/poky/meta/recipes-graphics/libsdl/libsdl_1.2.15.bb index 3680ea9d8..7718d1191 100644 --- a/poky/meta/recipes-graphics/libsdl/libsdl_1.2.15.bb +++ b/poky/meta/recipes-graphics/libsdl/libsdl_1.2.15.bb @@ -31,6 +31,8 @@ BINCONFIG = "${bindir}/sdl-config" inherit autotools lib_package binconfig-disabled pkgconfig +CVE_PRODUCT = "simple_directmedia_layer sdl" + EXTRA_OECONF = "--disable-static --enable-cdrom --enable-threads --enable-timers \ --enable-file --disable-oss --disable-esd --disable-arts \ --disable-diskaudio --disable-nas \ diff --git a/poky/meta/recipes-graphics/libsdl2/libsdl2_2.0.9.bb b/poky/meta/recipes-graphics/libsdl2/libsdl2_2.0.9.bb index c741cfb24..bac91d373 100644 --- a/poky/meta/recipes-graphics/libsdl2/libsdl2_2.0.9.bb +++ b/poky/meta/recipes-graphics/libsdl2/libsdl2_2.0.9.bb @@ -23,6 +23,8 @@ SRC_URI[sha256sum] = "255186dc676ecd0c1dbf10ec8a2cc5d6869b5079d8a38194c2aecdff54 inherit autotools lib_package binconfig pkgconfig +CVE_PRODUCT = "simple_directmedia_layer sdl" + EXTRA_OECONF = "--disable-oss --disable-esd --disable-arts \ --disable-diskaudio --disable-nas --disable-esd-shared --disable-esdtest \ --disable-video-dummy \ diff --git a/poky/meta/recipes-graphics/mesa/files/0001-Simplify-wayland-scanner-lookup.patch b/poky/meta/recipes-graphics/mesa/files/0001-Simplify-wayland-scanner-lookup.patch deleted file mode 100644 index d065e2285..000000000 --- a/poky/meta/recipes-graphics/mesa/files/0001-Simplify-wayland-scanner-lookup.patch +++ /dev/null @@ -1,44 +0,0 @@ -From e53837ad7b01364f34a533b95f4817c1795789de Mon Sep 17 00:00:00 2001 -From: Fabio Berton <fabio.berton@ossystems.com.br> -Date: Wed, 20 Feb 2019 16:17:00 -0300 -Subject: [PATCH 1/4] Simplify wayland-scanner lookup -Organization: O.S. Systems Software LTDA. - -Don't use pkg-config to lookup the path of a binary that's in the path. - -Alternatively we'd have to prefix the path returned by pkg-config with -PKG_CONFIG_SYSROOT_DIR. - -Upstream-Status: Pending -Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> -Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> -Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br> ---- - configure.ac | 7 +------ - 1 file changed, 1 insertion(+), 6 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 1ef68fe68e6..1816a4cd475 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -1854,16 +1854,11 @@ for plat in $platforms; do - fi - WAYLAND_PROTOCOLS_DATADIR=`$PKG_CONFIG --variable=pkgdatadir wayland-protocols` - -- PKG_CHECK_MODULES([WAYLAND_SCANNER], [wayland-scanner], -- WAYLAND_SCANNER=`$PKG_CONFIG --variable=wayland_scanner wayland-scanner`, -- WAYLAND_SCANNER='') - PKG_CHECK_EXISTS([wayland-scanner >= 1.15], - AC_SUBST(SCANNER_ARG, 'private-code'), - AC_SUBST(SCANNER_ARG, 'code')) - -- if test "x$WAYLAND_SCANNER" = x; then -- AC_PATH_PROG([WAYLAND_SCANNER], [wayland-scanner], [:]) -- fi -+ AC_PATH_PROG([WAYLAND_SCANNER], [wayland-scanner], [:]) - - if test "x$WAYLAND_SCANNER" = "x:"; then - AC_MSG_ERROR([wayland-scanner is needed to compile the wayland platform]) --- -2.21.0 - diff --git a/poky/meta/recipes-graphics/mesa/files/0001-meson.build-check-for-all-linux-host_os-combinations.patch b/poky/meta/recipes-graphics/mesa/files/0001-meson.build-check-for-all-linux-host_os-combinations.patch new file mode 100644 index 000000000..61e24c6e9 --- /dev/null +++ b/poky/meta/recipes-graphics/mesa/files/0001-meson.build-check-for-all-linux-host_os-combinations.patch @@ -0,0 +1,51 @@ +From 498f230c9446fc7a1b4dc77ff6b84ee1a3b53bf4 Mon Sep 17 00:00:00 2001 +From: Fabio Berton <fabio.berton@ossystems.com.br> +Date: Wed, 24 Apr 2019 17:01:24 -0300 +Subject: [PATCH] meson.build: check for all linux host_os combinations +Organization: O.S. Systems Software LTDA. + +Make sure that we are also looking for our host_os combinations like +linux-musl etc. when assuming support for DRM/KMS. + +Also delete a duplicate line. + +Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> +Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br> +--- + meson.build | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/meson.build b/meson.build +index 53d02e31097..c41f6b4e402 100644 +--- a/meson.build ++++ b/meson.build +@@ -34,6 +34,8 @@ cpp = meson.get_compiler('cpp') + + null_dep = dependency('', required : false) + ++system_has_kms_drm = ['openbsd', 'netbsd', 'freebsd', 'dragonfly'].contains(host_machine.system()) or host_machine.system().startswith('linux') ++ + # Arguments for the preprocessor, put these in a separate array from the C and + # C++ (cpp in meson terminology) arguments since they need to be added to the + # default arguments for both C and C++. +@@ -89,8 +91,6 @@ if (with_gles1 or with_gles2) and not with_opengl + error('building OpenGL ES without OpenGL is not supported.') + endif + +-system_has_kms_drm = ['openbsd', 'netbsd', 'freebsd', 'dragonfly', 'linux'].contains(host_machine.system()) +- + _drivers = get_option('dri-drivers') + if _drivers.contains('auto') + if system_has_kms_drm +@@ -792,7 +792,7 @@ if cc.compiles('int foo(void) __attribute__((__noreturn__));', + endif + + # TODO: this is very incomplete +-if ['linux', 'cygwin', 'gnu'].contains(host_machine.system()) ++if ['cygwin', 'gnu'].contains(host_machine.system()) or host_machine.system().startswith('linux') + pre_args += '-D_GNU_SOURCE' + endif + +-- +2.21.0 + diff --git a/poky/meta/recipes-graphics/mesa/files/0001-meson.build-make-TLS-GLX-optional-again.patch b/poky/meta/recipes-graphics/mesa/files/0001-meson.build-make-TLS-GLX-optional-again.patch new file mode 100644 index 000000000..8fabafcb3 --- /dev/null +++ b/poky/meta/recipes-graphics/mesa/files/0001-meson.build-make-TLS-GLX-optional-again.patch @@ -0,0 +1,44 @@ +From 48318f1a5c9042a8e1bb4456c2584362b25c4a59 Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin <alex.kanavin@gmail.com> +Date: Wed, 15 May 2019 17:21:51 +0200 +Subject: [PATCH] meson.build: make TLS GLX optional again + +This was optional with autotools, and needs to be disabled +when using musl C library, for instance. + +Upstream-Status: Pending +Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> +--- + meson.build | 4 +++- + meson_options.txt | 6 ++++++ + 2 files changed, 9 insertions(+), 1 deletion(-) + +diff --git a/meson.build b/meson.build +index c41f6b4..8843f3c 100644 +--- a/meson.build ++++ b/meson.build +@@ -336,7 +336,9 @@ if with_egl and not (with_platform_drm or with_platform_surfaceless) + endif + endif + +-pre_args += '-DGLX_USE_TLS' ++if get_option('glx-tls') ++ pre_args += '-DGLX_USE_TLS' ++endif + if with_glx != 'disabled' + if not (with_platform_x11 and with_any_opengl) + error('Cannot build GLX support without X11 platform support and at least one OpenGL API') +diff --git a/meson_options.txt b/meson_options.txt +index ccf7065..0f1e800 100644 +--- a/meson_options.txt ++++ b/meson_options.txt +@@ -324,3 +324,9 @@ option( + value : true, + description : 'Enable direct rendering in GLX and EGL for DRI', + ) ++option( ++ 'glx-tls', ++ type : 'boolean', ++ value : true, ++ description : 'Enable TLS support in GLX', ++) diff --git a/poky/meta/recipes-graphics/mesa/files/0002-winsys-svga-drm-Include-sys-types.h.patch b/poky/meta/recipes-graphics/mesa/files/0002-winsys-svga-drm-Include-sys-types.h.patch deleted file mode 100644 index aaeb0f11b..000000000 --- a/poky/meta/recipes-graphics/mesa/files/0002-winsys-svga-drm-Include-sys-types.h.patch +++ /dev/null @@ -1,35 +0,0 @@ -From f212b6bed4bf265aec069c21cdc4b7c2d9cb32df Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Wed, 16 Aug 2017 18:58:20 -0700 -Subject: [PATCH 2/4] winsys/svga/drm: Include sys/types.h -Organization: O.S. Systems Software LTDA. - -vmw_screen.h uses dev_t which is defines in sys/types.h -this header is required to be included for getting dev_t -definition. This issue happens on musl C library, it is hidden -on glibc since sys/types.h is included through another -system headers - -Signed-off-by: Khem Raj <raj.khem@gmail.com> -Upstream-Status: Backport [7dfdfbf8c37e52e7b9b09f7d1d434edad3ebc864] -Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> -Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br> ---- - src/gallium/winsys/svga/drm/vmw_screen.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/gallium/winsys/svga/drm/vmw_screen.h b/src/gallium/winsys/svga/drm/vmw_screen.h -index a87c087d9c5..cb34fec48e7 100644 ---- a/src/gallium/winsys/svga/drm/vmw_screen.h -+++ b/src/gallium/winsys/svga/drm/vmw_screen.h -@@ -41,6 +41,7 @@ - #include "svga_winsys.h" - #include "pipebuffer/pb_buffer_fenced.h" - #include <os/os_thread.h> -+#include <sys/types.h> - - #define VMW_GMR_POOL_SIZE (16*1024*1024) - #define VMW_QUERY_POOL_SIZE (8192) --- -2.21.0 - diff --git a/poky/meta/recipes-graphics/mesa/files/0003-Properly-get-LLVM-version-when-using-LLVM-Git-releas.patch b/poky/meta/recipes-graphics/mesa/files/0003-Properly-get-LLVM-version-when-using-LLVM-Git-releas.patch deleted file mode 100644 index 96edc2172..000000000 --- a/poky/meta/recipes-graphics/mesa/files/0003-Properly-get-LLVM-version-when-using-LLVM-Git-releas.patch +++ /dev/null @@ -1,45 +0,0 @@ -From ce7b9ff6517fda089f296b2af2c1c49604872514 Mon Sep 17 00:00:00 2001 -From: Otavio Salvador <otavio@ossystems.com.br> -Date: Tue, 5 Jun 2018 11:11:10 -0300 -Subject: [PATCH 3/4] Properly get LLVM version when using LLVM Git releases -Organization: O.S. Systems Software LTDA. - -$ llvm-config-host --version -5.0.0git-9a5c333388c - -We need to ignore everything after 5.0.0 which is what the cut cmd is -doing - -Upstream-Status: Pending -Signed-off-by: Khem Raj <raj.khem@gmail.com> -Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> -Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br> ---- - configure.ac | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 1816a4cd475..13fed9daf59 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -1124,7 +1124,7 @@ strip_unwanted_llvm_flags() { - - llvm_set_environment_variables() { - if test "x$LLVM_CONFIG" != xno; then -- LLVM_VERSION=`$LLVM_CONFIG --version | egrep -o '^[[0-9.]]+'` -+ LLVM_VERSION=`$LLVM_CONFIG --version | cut -c1-5` - LLVM_CPPFLAGS=`strip_unwanted_llvm_flags "$LLVM_CONFIG --cppflags"` - LLVM_INCLUDEDIR=`$LLVM_CONFIG --includedir` - LLVM_LIBDIR=`$LLVM_CONFIG --libdir` -@@ -2870,7 +2870,7 @@ detect_old_buggy_llvm() { - dnl ourselves. - dnl (See https://llvm.org/bugs/show_bug.cgi?id=6823) - dnl We can't use $LLVM_VERSION because it has 'svn' stripped out, -- LLVM_SO_NAME=LLVM-`$LLVM_CONFIG --version` -+ LLVM_SO_NAME=LLVM-`$LLVM_CONFIG --version | cut -c1-5` - AS_IF([test -f "$LLVM_LIBDIR/lib$LLVM_SO_NAME.$IMP_LIB_EXT"], [llvm_have_one_so=yes]) - - if test "x$llvm_have_one_so" = xyes; then --- -2.21.0 - diff --git a/poky/meta/recipes-graphics/mesa/files/0004-use-PKG_CHECK_VAR-for-defining-WAYLAND_PROTOCOLS_DAT.patch b/poky/meta/recipes-graphics/mesa/files/0004-use-PKG_CHECK_VAR-for-defining-WAYLAND_PROTOCOLS_DAT.patch deleted file mode 100644 index 45bcd466a..000000000 --- a/poky/meta/recipes-graphics/mesa/files/0004-use-PKG_CHECK_VAR-for-defining-WAYLAND_PROTOCOLS_DAT.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 5489e1d22e18740a1924628c5c97096d48dcfbf8 Mon Sep 17 00:00:00 2001 -From: Fabio Berton <fabio.berton@ossystems.com.br> -Date: Fri, 15 Feb 2019 10:57:06 -0200 -Subject: [PATCH 4/4] use PKG_CHECK_VAR for defining WAYLAND_PROTOCOLS_DATADIR -Organization: O.S. Systems Software LTDA. - -This allows to override the wayland-protocols pkgdatadir with the -WAYLAND_PROTOCOLS_DATADIR from environment. - -pkgconfig would return an absolute path in -/usr/share/wayland-protocols -for the pkgdatadir value, which is not suitable for cross-compiling. - -Upstream-Status: Pending - -Signed-off-by: Khem Raj <raj.khem@gmail.com> -Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> -Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br> ---- - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index 13fed9daf59..6cff8afb7cf 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -1852,7 +1852,7 @@ for plat in $platforms; do - if test "x$enable_egl" = xyes; then - PKG_CHECK_MODULES([WAYLAND_EGL], [wayland-egl-backend >= $WAYLAND_EGL_BACKEND_REQUIRED]) - fi -- WAYLAND_PROTOCOLS_DATADIR=`$PKG_CONFIG --variable=pkgdatadir wayland-protocols` -+ PKG_CHECK_VAR([WAYLAND_PROTOCOLS_DATADIR], [wayland-protocols >= $WAYLAND_PROTOCOLS_REQUIRED], pkgdatadir) - - PKG_CHECK_EXISTS([wayland-scanner >= 1.15], - AC_SUBST(SCANNER_ARG, 'private-code'), --- -2.21.0 - diff --git a/poky/meta/recipes-graphics/mesa/mesa-gl_19.0.1.bb b/poky/meta/recipes-graphics/mesa/mesa-gl_19.0.3.bb index d4b1c1c45..d4b1c1c45 100644 --- a/poky/meta/recipes-graphics/mesa/mesa-gl_19.0.1.bb +++ b/poky/meta/recipes-graphics/mesa/mesa-gl_19.0.3.bb diff --git a/poky/meta/recipes-graphics/mesa/mesa.inc b/poky/meta/recipes-graphics/mesa/mesa.inc index ece74974b..cd3ddfd82 100644 --- a/poky/meta/recipes-graphics/mesa/mesa.inc +++ b/poky/meta/recipes-graphics/mesa/mesa.inc @@ -14,7 +14,7 @@ LIC_FILES_CHKSUM = "file://docs/license.html;md5=725f991a1cc322aa7a0cd3a2016621c PE = "2" -DEPENDS = "expat makedepend-native flex-native bison-native libxml2-native zlib chrpath-replacement-native" +DEPENDS = "expat makedepend-native flex-native bison-native libxml2-native zlib chrpath-replacement-native python3-mako-native gettext-native" EXTRANATIVEPATH += "chrpath-native" PROVIDES = " \ ${@bb.utils.contains('PACKAGECONFIG', 'opengl', 'virtual/libgl', '', d)} \ @@ -24,7 +24,7 @@ PROVIDES = " \ virtual/mesa \ " -inherit autotools pkgconfig python3native gettext distro_features_check +inherit meson pkgconfig python3native gettext distro_features_check BBCLASSEXTEND = "native nativesdk" @@ -34,64 +34,66 @@ PLATFORMS ??= "${@bb.utils.filter('PACKAGECONFIG', 'x11 wayland', d)} \ ${@bb.utils.contains('PACKAGECONFIG', 'gbm', 'drm', '', d)} \ surfaceless" -export LLVM_CONFIG = "${STAGING_BINDIR_NATIVE}/llvm-config${MESA_LLVM_RELEASE}" export YOCTO_ALTERNATE_EXE_PATH = "${STAGING_LIBDIR}/llvm${MESA_LLVM_RELEASE}/llvm-config" export YOCTO_ALTERNATE_MULTILIB_NAME = "${base_libdir}" -EXTRA_OECONF = "--enable-shared-glapi \ - --disable-opencl \ - --enable-glx-read-only-text \ - PYTHON2=python2 \ - --with-llvm-prefix=${STAGING_LIBDIR}/llvm${MESA_LLVM_RELEASE} \ - --with-platforms='${PLATFORMS}' \ - --enable-autotools \ + +EXTRA_OEMESON = " \ + -Dshared-glapi=true \ + -Dgallium-opencl=disabled \ + -Dglx-read-only-text=true \ + -Dplatforms='${@",".join("${PLATFORMS}".split())}' \ " PACKAGECONFIG_class-target ??= "${@bb.utils.filter('DISTRO_FEATURES', 'wayland vulkan', d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'opengl egl gles gbm dri gallium', '', d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'x11 dri3', '', d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'x11 vulkan', 'dri3', '', d)} \ + glx-tls \ " PACKAGECONFIG_class-native ?= "gbm dri egl opengl" PACKAGECONFIG_class-nativesdk ?= "gbm dri egl opengl" +PACKAGECONFIG_remove_libc-musl = "glx-tls" + # "gbm" requires "dri", "opengl" -PACKAGECONFIG[gbm] = "--enable-gbm,--disable-gbm" +PACKAGECONFIG[gbm] = "-Dgbm=true,-Dgbm=false" X11_DEPS = "xorgproto virtual/libx11 libxext libxxf86vm libxdamage libxfixes xrandr" # "x11" requires "opengl" -PACKAGECONFIG[x11] = "--enable-glx-tls,--disable-glx,${X11_DEPS}" -PACKAGECONFIG[xvmc] = "--enable-xvmc,--disable-xvmc,libxvmc" +PACKAGECONFIG[x11] = ",-Dglx=disabled,${X11_DEPS}" +PACKAGECONFIG[glx-tls] = "-Dglx-tls=true, -Dglx-tls=false" +PACKAGECONFIG[xvmc] = "-Dgallium-xvmc=true,-Dgallium-xvmc=false,libxvmc" PACKAGECONFIG[wayland] = ",,wayland-native wayland libdrm wayland-protocols" DRIDRIVERS_class-native = "swrast" DRIDRIVERS_class-nativesdk = "swrast" -DRIDRIVERS_append_x86_class-target = ",radeon,r200,nouveau,i965,i915" -DRIDRIVERS_append_x86-64_class-target = ",radeon,r200,nouveau,i965,i915" +DRIDRIVERS_append_x86_class-target = ",r100,r200,nouveau,i965,i915" +DRIDRIVERS_append_x86-64_class-target = ",r100,r200,nouveau,i965,i915" # "dri" requires "opengl" -PACKAGECONFIG[dri] = "--enable-dri --with-dri-drivers=${DRIDRIVERS}, --disable-dri, xorgproto libdrm" -PACKAGECONFIG[dri3] = "--enable-dri3, --disable-dri3, xorgproto libxshmfence" +PACKAGECONFIG[dri] = "-Ddri-drivers=${DRIDRIVERS}, -Ddri-drivers='', xorgproto libdrm" +PACKAGECONFIG[dri3] = "-Ddri3=true, -Ddri3=false, xorgproto libxshmfence" # Vulkan drivers need dri3 enabled # radeon could be enabled as well but requires gallium-llvm with llvm >= 3.9 VULKAN_DRIVERS = "" VULKAN_DRIVERS_append_x86_class-target = ",intel" VULKAN_DRIVERS_append_x86-64_class-target = ",intel" -PACKAGECONFIG[vulkan] = "--with-vulkan-drivers=${VULKAN_DRIVERS}, --without-vulkan-drivers, python3-mako-native" +PACKAGECONFIG[vulkan] = "-Dvulkan-drivers=${VULKAN_DRIVERS}, -Dvulkan-drivers=''," -PACKAGECONFIG[opengl] = "--enable-opengl, --disable-opengl" +PACKAGECONFIG[opengl] = "-Dopengl=true, -Dopengl=false" # "gles" requires "opengl" -PACKAGECONFIG[gles] = "--enable-gles1 --enable-gles2, --disable-gles1 --disable-gles2" +PACKAGECONFIG[gles] = "-Dgles1=true -Dgles2=true, -Dgles1=false -Dgles2=false" # "egl" requires "dri", "opengl" -PACKAGECONFIG[egl] = "--enable-egl, --disable-egl" +PACKAGECONFIG[egl] = "-Degl=true, -Degl=false" PACKAGECONFIG[etnaviv] = "" -PACKAGECONFIG[imx] = "" +PACKAGECONFIG[kmsro] = "" GALLIUMDRIVERS = "swrast" GALLIUMDRIVERS_append ="${@bb.utils.contains('PACKAGECONFIG', 'etnaviv', ',etnaviv', '', d)}" -GALLIUMDRIVERS_append ="${@bb.utils.contains('PACKAGECONFIG', 'imx', ',imx', '', d)}" +GALLIUMDRIVERS_append ="${@bb.utils.contains('PACKAGECONFIG', 'kmsro', ',kmsro', '', d)}" # radeonsi requires LLVM GALLIUMDRIVERS_LLVM33 = "${@bb.utils.contains('PACKAGECONFIG', 'r600', ',radeonsi', '', d)}" @@ -104,28 +106,25 @@ GALLIUMDRIVERS_append = "${@bb.utils.contains('PACKAGECONFIG', 'gallium-llvm', ' GALLIUMDRIVERS_append = "${@bb.utils.contains('PACKAGECONFIG', 'r600', ',r600', '', d)}" GALLIUMDRIVERS_append = ",virgl" -# keep --with-gallium-drivers separate, because when only one of gallium versions is enabled, other 2 were adding --without-gallium-drivers -PACKAGECONFIG[gallium] = "--with-gallium-drivers=${GALLIUMDRIVERS}, --without-gallium-drivers" +PACKAGECONFIG[gallium] = "-Dgallium-drivers=${GALLIUMDRIVERS}, -Dgallium-drivers=''" MESA_LLVM_RELEASE ?= "8.0.0" -PACKAGECONFIG[gallium-llvm] = "--enable-llvm --enable-llvm-shared-libs, --disable-llvm, llvm${MESA_LLVM_RELEASE} llvm-native \ +PACKAGECONFIG[gallium-llvm] = "-Dllvm=true -Dshared-llvm=true, -Dllvm=false, llvm${MESA_LLVM_RELEASE} llvm-native \ ${@'elfutils' if ${GALLIUMDRIVERS_LLVM33_ENABLED} else ''}" export WANT_LLVM_RELEASE = "${MESA_LLVM_RELEASE}" -PACKAGECONFIG[xa] = "--enable-xa, --disable-xa" +PACKAGECONFIG[xa] = "-Dgallium-xa=true, -Dgallium-xa=false" -OSMESA = "${@bb.utils.contains('PACKAGECONFIG', 'gallium', 'gallium-osmesa', 'osmesa', d)}" -PACKAGECONFIG[osmesa] = "--enable-${OSMESA},--disable-${OSMESA}" +OSMESA = "${@bb.utils.contains('PACKAGECONFIG', 'gallium', 'gallium', 'classic', d)}" +PACKAGECONFIG[osmesa] = "-Dosmesa=${OSMESA},-Dosmesa=none" -PACKAGECONFIG[unwind] = "--enable-libunwind,--disable-libunwind,libunwind" +PACKAGECONFIG[unwind] = "-Dlibunwind=true,-Dlibunwind=false,libunwind" -EXTRA_OECONF_remove_libc-musl = "--enable-glx-tls" -EXTRA_OECONF_append_libc-musl = " --disable-glx-tls" -EXTRA_OECONF_append_libc-musl_x86 = " --disable-asm" +# mesa tries to run cross-built gen_matypes on build machine to get struct size information +EXTRA_OEMESON_append = " -Dasm=false" # llvmpipe is slow if compiled with -fomit-frame-pointer (e.g. -O2) FULL_OPTIMIZATION_append = " -fno-omit-frame-pointer" CFLAGS_append_armv5 = " -DMISSING_64BIT_ATOMICS" -EXTRA_OEMAKE += "WAYLAND_PROTOCOLS_DATADIR=${STAGING_DATADIR}/wayland-protocols" # Remove the mesa dependency on mesa-dev, as mesa is empty RDEPENDS_${PN}-dev = "" @@ -158,7 +157,6 @@ do_install_append () { # libwayland-egl has been moved to wayland 1.15+ rm -f ${D}${libdir}/libwayland-egl* rm -f ${D}${libdir}/pkgconfig/wayland-egl.pc - rmdir --ignore-fail-on-non-empty ${D}${libdir}/pkgconfig } # For the packages that make up the OpenGL interfaces, inject variables so that diff --git a/poky/meta/recipes-graphics/mesa/mesa_19.0.1.bb b/poky/meta/recipes-graphics/mesa/mesa_19.0.3.bb index d90be8a07..36faa4a99 100644 --- a/poky/meta/recipes-graphics/mesa/mesa_19.0.1.bb +++ b/poky/meta/recipes-graphics/mesa/mesa_19.0.3.bb @@ -1,14 +1,12 @@ require ${BPN}.inc SRC_URI = "https://mesa.freedesktop.org/archive/mesa-${PV}.tar.xz \ - file://0001-Simplify-wayland-scanner-lookup.patch \ - file://0002-winsys-svga-drm-Include-sys-types.h.patch \ - file://0003-Properly-get-LLVM-version-when-using-LLVM-Git-releas.patch \ - file://0004-use-PKG_CHECK_VAR-for-defining-WAYLAND_PROTOCOLS_DAT.patch \ -" + file://0001-meson.build-check-for-all-linux-host_os-combinations.patch \ + file://0001-meson.build-make-TLS-GLX-optional-again.patch \ + " -SRC_URI[md5sum] = "19636bb3da35c21f43040d31e575d5ce" -SRC_URI[sha256sum] = "6884163c0ea9e4c98378ab8fecd72fe7b5f437713a14471beda378df247999d4" +SRC_URI[md5sum] = "d03bf14e42c0e54ebae5730712ccc408" +SRC_URI[sha256sum] = "f027244e38dc309a4c12db45ef79be81ab62c797a50a88d566e4edb6159fc4d5" #because we cannot rely on the fact that all apps will use pkgconfig, #make eglplatform.h independent of MESA_EGL_NO_X11_HEADER diff --git a/poky/meta/recipes-graphics/pango/pango_1.42.4.bb b/poky/meta/recipes-graphics/pango/pango_1.42.4.bb index d3357f82d..58e1f41be 100644 --- a/poky/meta/recipes-graphics/pango/pango_1.42.4.bb +++ b/poky/meta/recipes-graphics/pango/pango_1.42.4.bb @@ -26,19 +26,8 @@ DEPENDS = "glib-2.0 glib-2.0-native fontconfig freetype virtual/libiconv cairo h PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}" PACKAGECONFIG[x11] = ",,virtual/libx11 libxft" -GTKDOC_ENABLE_FLAG = "-Denable_docs=true" -GTKDOC_DISABLE_FLAG = "-Denable_docs=false" - -GI_ENABLE_FLAG = "-Dgir=true" -GI_DISABLE_FLAG = "-Dgir=false" - -EXTRA_OEMESON_append_class-nativesdk = " ${GI_DISABLE_FLAG}" - -EXTRA_OEMESON_append_class-target = " ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '${GI_ENABLE_FLAG}', \ - '${GI_DISABLE_FLAG}', d)} " - -EXTRA_OEMESON_append_class-target = " ${@bb.utils.contains('GTKDOC_ENABLED', 'True', '${GTKDOC_ENABLE_FLAG}', \ - '${GTKDOC_DISABLE_FLAG}', d)} " +GTKDOC_MESON_OPTION = "enable_docs" +GIR_MESON_OPTION = 'gir' LEAD_SONAME = "libpango-1.0*" LIBV = "1.8.0" diff --git a/poky/meta/recipes-graphics/piglit/piglit_git.bb b/poky/meta/recipes-graphics/piglit/piglit_git.bb index 59d134801..b6542a191 100644 --- a/poky/meta/recipes-graphics/piglit/piglit_git.bb +++ b/poky/meta/recipes-graphics/piglit/piglit_git.bb @@ -17,11 +17,12 @@ PV = "1.0+gitr${SRCPV}" S = "${WORKDIR}/git" -DEPENDS = "libpng virtual/libx11 libxkbcommon libxrender waffle virtual/libgl libglu python3-mako-native python3-numpy-native python3-six-native virtual/egl" +X11_DEPS = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'virtual/libx11 libxrender libglu', '', d)}" +X11_RDEPS = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'mesa-demos', '', d)}" + +DEPENDS = "libpng waffle libxkbcommon virtual/libgl python3-mako-native python3-numpy-native python3-six-native virtual/egl" inherit cmake pkgconfig python3native distro_features_check bash-completion -# depends on virtual/libx11 -REQUIRED_DISTRO_FEATURES = "x11" # depends on virtual/libgl REQUIRED_DISTRO_FEATURES += "opengl" @@ -32,8 +33,10 @@ REQUIRED_DISTRO_FEATURES += "opengl" export TEMP = "${B}/temp/" do_compile[dirs] =+ "${B}/temp/" -PACKAGECONFIG ??= "" +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}" PACKAGECONFIG[freeglut] = "-DPIGLIT_USE_GLUT=1,-DPIGLIT_USE_GLUT=0,freeglut," +PACKAGECONFIG[x11] = "-DPIGLIT_BUILD_GL_TESTS=ON,-DPIGLIT_BUILD_GL_TESTS=OFF,${X11_DEPS}, ${X11_RDEPS}" + do_configure_prepend() { if [ "${@bb.utils.contains('PACKAGECONFIG', 'freeglut', 'yes', 'no', d)}" = "no" ]; then @@ -48,7 +51,7 @@ RDEPENDS_${PN} = "waffle waffle-bin python3 python3-mako python3-json \ python3-misc \ python3-unixadmin python3-xml python3-multiprocessing \ python3-six python3-shell python3-io \ - python3-netserver mesa-demos bash \ + python3-netserver bash \ " INSANE_SKIP_${PN} += "dev-so already-stripped" diff --git a/poky/meta/recipes-graphics/waffle/waffle_1.5.2.bb b/poky/meta/recipes-graphics/waffle/waffle_1.5.2.bb index 43c3edc05..31572f25f 100644 --- a/poky/meta/recipes-graphics/waffle/waffle_1.5.2.bb +++ b/poky/meta/recipes-graphics/waffle/waffle_1.5.2.bb @@ -15,10 +15,9 @@ inherit cmake distro_features_check lib_package # This should be overridden per-machine to reflect the capabilities of the GL # stack. -PACKAGECONFIG ??= "glx" - -# libx11 requires x11 in DISTRO_FEATURES. -REQUIRED_DISTRO_FEATURES = "${@bb.utils.contains('PACKAGECONFIG', 'glx', 'x11', '', d)}" +PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'glx x11-egl', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', '', d)} \ + gbm" # virtual/libgl requires opengl in DISTRO_FEATURES. REQUIRED_DISTRO_FEATURES += "${@bb.utils.contains('DEPENDS', 'virtual/${MLPREFIX}libgl', 'opengl', '', d)}" diff --git a/poky/meta/recipes-graphics/wayland/libinput_1.12.6.bb b/poky/meta/recipes-graphics/wayland/libinput_1.13.2.bb index 46366b751..049674c09 100644 --- a/poky/meta/recipes-graphics/wayland/libinput_1.12.6.bb +++ b/poky/meta/recipes-graphics/wayland/libinput_1.13.2.bb @@ -7,12 +7,12 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=1f2ea9ebff3a2c6d458faf58492efb63" DEPENDS = "libevdev udev mtdev" -SRC_URI = "http://www.freedesktop.org/software/${BPN}/${BP}.tar.xz \ - " -SRC_URI[md5sum] = "8cf10cc0fdfab865b105dd28283fa0fd" -SRC_URI[sha256sum] = "12b4023a3fc683d3d8127db573bdf925a2ef366615042f69c87e57c32a50f45d" +SRC_URI = "http://www.freedesktop.org/software/${BPN}/${BP}.tar.xz" +SRC_URI[md5sum] = "8b745894f5d1b2e883bfc686aebadcfe" +SRC_URI[sha256sum] = "1d9fa0698348dea46f75321d98788f8ac7181c069b70c4d10736910a12bb6a6d" UPSTREAM_CHECK_REGEX = "libinput-(?P<pver>\d+\.\d+\.(?!9\d+)\d+)" + inherit meson pkgconfig lib_package PACKAGECONFIG ??= "" diff --git a/poky/meta/recipes-graphics/wayland/weston-init/weston-start b/poky/meta/recipes-graphics/wayland/weston-init/weston-start index e72fbaaac..ccc709342 100755 --- a/poky/meta/recipes-graphics/wayland/weston-init/weston-start +++ b/poky/meta/recipes-graphics/wayland/weston-init/weston-start @@ -5,8 +5,8 @@ export PATH="/sbin:/usr/sbin:/bin:/usr/bin" usage() { - cat <<EOF - $0 [<openvt arguments>] [-- <weston options>] + cat <<EOF + $0 [<openvt arguments>] [-- <weston options>] EOF } @@ -27,10 +27,19 @@ if [ -n "$WAYLAND_DISPLAY" ]; then echo "ERROR: A Wayland compositor is already running, nested Weston instance is not supported yet." exit 1 fi + +if [ -n "$WESTON_USER" ]; then + if [ -z "$WESTON_TTY" ]; then + echo "ERROR: If you have WESTON_USER variable set, you also need WESTON_TTY." + exit 1 + fi + weston_args_user="-u $WESTON_USER -t $WESTON_TTY" +fi + if [ -n "$DISPLAY" ]; then launcher="weston" else - launcher="weston-launch --" + launcher="weston-launch $weston_args_user --" fi openvt_args="-s" @@ -59,11 +68,15 @@ if [ -d "$modules_dir" ]; then fi if test -z "$XDG_RUNTIME_DIR"; then - export XDG_RUNTIME_DIR=/run/user/`id -u` - if ! test -d "$XDG_RUNTIME_DIR"; then - mkdir --parents $XDG_RUNTIME_DIR - chmod 0700 $XDG_RUNTIME_DIR - fi + export XDG_RUNTIME_DIR=/run/user/`id -u ${WESTON_USER}` + if ! test -d "$XDG_RUNTIME_DIR"; then + mkdir --parents $XDG_RUNTIME_DIR + chmod 0700 $XDG_RUNTIME_DIR + fi + if [ -n "$WESTON_USER" ] + then + chown $WESTON_USER:$WESTON_USER $XDG_RUNTIME_DIR + fi fi exec openvt $openvt_args -- $launcher $weston_args --log=@LOCALSTATEDIR@/log/weston.log diff --git a/poky/meta/recipes-graphics/wayland/weston/0001-make-error-portable.patch b/poky/meta/recipes-graphics/wayland/weston/0001-make-error-portable.patch index 09ec1559e..0eb3d95a6 100644 --- a/poky/meta/recipes-graphics/wayland/weston/0001-make-error-portable.patch +++ b/poky/meta/recipes-graphics/wayland/weston/0001-make-error-portable.patch @@ -1,4 +1,4 @@ -From ad1d2161c811cff25d1684c33611f300adb753bc Mon Sep 17 00:00:00 2001 +From c4677e155736062e75687f1a655732c8902e912b Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Fri, 29 May 2015 20:56:00 -0700 Subject: [PATCH] make error() portable @@ -18,12 +18,12 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> create mode 100644 libweston/weston-error.h diff --git a/configure.ac b/configure.ac -index 7aebbdb..dc9c802 100644 +index c05ad01..6da6e04 100644 --- a/configure.ac +++ b/configure.ac -@@ -109,6 +109,8 @@ AC_CHECK_DECL(CLOCK_MONOTONIC,[], +@@ -126,6 +126,8 @@ AC_CHECK_DECL(CLOCK_MONOTONIC,[], + [AC_MSG_ERROR("CLOCK_MONOTONIC is needed to compile weston")], [[#include <time.h>]]) - AC_CHECK_HEADERS([execinfo.h]) +AC_CHECK_HEADERS([error.h]) + @@ -57,7 +57,7 @@ index 0000000..2089d02 +#endif + diff --git a/libweston/weston-launch.c b/libweston/weston-launch.c -index 1adcf21..166bf3b 100644 +index bf73e0d..9064439 100644 --- a/libweston/weston-launch.c +++ b/libweston/weston-launch.c @@ -33,7 +33,6 @@ diff --git a/poky/meta/recipes-graphics/wayland/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch b/poky/meta/recipes-graphics/wayland/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch index d648538b8..a2f61bfdd 100644 --- a/poky/meta/recipes-graphics/wayland/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch +++ b/poky/meta/recipes-graphics/wayland/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch @@ -1,7 +1,8 @@ -From b98b9dbda902225cdd972b5bff6a641c36cc7e90 Mon Sep 17 00:00:00 2001 +From 7d2fea61a95e9498b5a19c8cffcb2ab5631d5685 Mon Sep 17 00:00:00 2001 From: Tom Hochstein <tom.hochstein@nxp.com> Date: Wed, 22 Feb 2017 15:53:30 +0200 -Subject: [PATCH] weston-launch: Provide a default version that doesn't require PAM +Subject: [PATCH] weston-launch: Provide a default version that doesn't require + PAM weston-launch requires PAM for starting weston as a non-root user. @@ -21,10 +22,10 @@ Signed-off-by: Denys Dmytriyenko <denys@ti.com> 2 files changed, 27 insertions(+), 2 deletions(-) diff --git a/configure.ac b/configure.ac -index dc9c802..48cf5cb 100644 +index 6da6e04..681f7c8 100644 --- a/configure.ac +++ b/configure.ac -@@ -451,13 +451,17 @@ AC_ARG_ENABLE(resize-optimization, +@@ -515,13 +515,17 @@ AC_ARG_ENABLE(resize-optimization, AS_IF([test "x$enable_resize_optimization" = "xyes"], [AC_DEFINE([USE_RESIZE_POOL], [1], [Use resize memory pool as a performance optimization])]) @@ -44,7 +45,7 @@ index dc9c802..48cf5cb 100644 fi AM_CONDITIONAL(HAVE_PANGO, test "x$have_pango" = "xyes") -@@ -702,6 +706,7 @@ AC_MSG_RESULT([ +@@ -767,6 +771,7 @@ AC_MSG_RESULT([ Enable developer documentation ${enable_devdocs} weston-launch utility ${enable_weston_launch} @@ -53,7 +54,7 @@ index dc9c802..48cf5cb 100644 systemd notify support ${enable_systemd_notify} diff --git a/libweston/weston-launch.c b/libweston/weston-launch.c -index 166bf3b..6fb9232 100644 +index 9064439..c6abe92 100644 --- a/libweston/weston-launch.c +++ b/libweston/weston-launch.c @@ -51,7 +51,9 @@ @@ -77,7 +78,7 @@ index 166bf3b..6fb9232 100644 int tty; int ttynr; int sock[2]; -@@ -189,6 +193,7 @@ weston_launch_allowed(struct weston_launch *wl) +@@ -191,6 +195,7 @@ weston_launch_allowed(struct weston_launch *wl) return false; } @@ -85,7 +86,7 @@ index 166bf3b..6fb9232 100644 static int pam_conversation_fn(int msg_count, const struct pam_message **messages, -@@ -229,6 +234,7 @@ setup_pam(struct weston_launch *wl) +@@ -231,6 +236,7 @@ setup_pam(struct weston_launch *wl) return 0; } @@ -93,7 +94,7 @@ index 166bf3b..6fb9232 100644 static int setup_launcher_socket(struct weston_launch *wl) -@@ -422,6 +428,7 @@ quit(struct weston_launch *wl, int status) +@@ -424,6 +430,7 @@ quit(struct weston_launch *wl, int status) close(wl->signalfd); close(wl->sock[0]); @@ -101,7 +102,7 @@ index 166bf3b..6fb9232 100644 if (wl->new_user) { err = pam_close_session(wl->ph, 0); if (err) -@@ -429,6 +436,7 @@ quit(struct weston_launch *wl, int status) +@@ -431,6 +438,7 @@ quit(struct weston_launch *wl, int status) err, pam_strerror(wl->ph, err)); pam_end(wl->ph, err); } @@ -109,7 +110,7 @@ index 166bf3b..6fb9232 100644 if (ioctl(wl->tty, KDSKBMUTE, 0) && ioctl(wl->tty, KDSKBMODE, wl->kb_mode)) -@@ -608,6 +616,7 @@ setup_session(struct weston_launch *wl, char **child_argv) +@@ -610,6 +618,7 @@ setup_session(struct weston_launch *wl, char **child_argv) setenv("HOME", wl->pw->pw_dir, 1); setenv("SHELL", wl->pw->pw_shell, 1); @@ -117,7 +118,7 @@ index 166bf3b..6fb9232 100644 env = pam_getenvlist(wl->ph); if (env) { for (i = 0; env[i]; ++i) { -@@ -616,6 +625,7 @@ setup_session(struct weston_launch *wl, char **child_argv) +@@ -618,6 +627,7 @@ setup_session(struct weston_launch *wl, char **child_argv) } free(env); } @@ -125,7 +126,7 @@ index 166bf3b..6fb9232 100644 /* * We open a new session, so it makes sense -@@ -683,8 +693,10 @@ static void +@@ -685,8 +695,10 @@ static void help(const char *name) { fprintf(stderr, "Usage: %s [args...] [-- [weston args..]]\n", name); @@ -136,7 +137,7 @@ index 166bf3b..6fb9232 100644 fprintf(stderr, " -t, --tty Start session on alternative tty,\n" " e.g. -t /dev/tty4, requires -u option.\n"); fprintf(stderr, " -v, --verbose Be verbose\n"); -@@ -698,7 +710,9 @@ main(int argc, char *argv[]) +@@ -700,7 +712,9 @@ main(int argc, char *argv[]) int i, c; char *tty = NULL; struct option opts[] = { @@ -146,7 +147,7 @@ index 166bf3b..6fb9232 100644 { "tty", required_argument, NULL, 't' }, { "verbose", no_argument, NULL, 'v' }, { "help", no_argument, NULL, 'h' }, -@@ -710,9 +724,13 @@ main(int argc, char *argv[]) +@@ -712,9 +726,13 @@ main(int argc, char *argv[]) while ((c = getopt_long(argc, argv, "u:t:vh", opts, &i)) != -1) { switch (c) { case 'u': @@ -160,7 +161,7 @@ index 166bf3b..6fb9232 100644 break; case 't': tty = optarg; -@@ -753,8 +771,10 @@ main(int argc, char *argv[]) +@@ -755,8 +773,10 @@ main(int argc, char *argv[]) if (setup_tty(&wl, tty) < 0) exit(EXIT_FAILURE); diff --git a/poky/meta/recipes-graphics/wayland/weston_5.0.0.bb b/poky/meta/recipes-graphics/wayland/weston_6.0.0.bb index e51710928..fa08dac91 100644 --- a/poky/meta/recipes-graphics/wayland/weston_5.0.0.bb +++ b/poky/meta/recipes-graphics/wayland/weston_6.0.0.bb @@ -12,8 +12,8 @@ SRC_URI = "https://wayland.freedesktop.org/releases/${BPN}-${PV}.tar.xz \ file://xwayland.weston-start \ file://0001-weston-launch-Provide-a-default-version-that-doesn-t.patch \ " -SRC_URI[md5sum] = "752a04ce3c65af4884cfac4e57231bdb" -SRC_URI[sha256sum] = "15a23423bcfa45e31e1dedc0cd524ba71e2930df174fde9c99b71a537c4e4caf" +SRC_URI[md5sum] = "7c634e262f8a464a076c97fd50ad36b3" +SRC_URI[sha256sum] = "546323a90607b3bd7f48809ea9d76e64cd09718102f2deca6d95aa59a882e612" UPSTREAM_CHECK_URI = "https://wayland.freedesktop.org/releases.html" @@ -28,6 +28,7 @@ WESTON_MAJOR_VERSION = "${@'.'.join(d.getVar('PV').split('.')[0:1])}" EXTRA_OECONF = "--enable-setuid-install \ --disable-rdp-compositor \ + --enable-autotools \ " PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'kms fbdev wayland egl', '', d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'x11 wayland', 'xwayland', '', d)} \ diff --git a/poky/meta/recipes-graphics/xorg-app/x11perf_1.6.0.bb b/poky/meta/recipes-graphics/xorg-app/x11perf_1.6.1.bb index a06aa269b..33c0c8a95 100644 --- a/poky/meta/recipes-graphics/xorg-app/x11perf_1.6.0.bb +++ b/poky/meta/recipes-graphics/xorg-app/x11perf_1.6.1.bb @@ -19,5 +19,5 @@ do_install_append_class-target () { FILES_${PN} += "${libdir}/X11/x11perfcomp/*" -SRC_URI[md5sum] = "f0b24e4d8beb622a419e8431e1c03cd7" -SRC_URI[sha256sum] = "e87098dec1947572d70c62697a7b70bde1ab5668237d4660080eade6bc096751" +SRC_URI[md5sum] = "e96b56756990c56c24d2d02c2964456b" +SRC_URI[sha256sum] = "1c7e0b8ffc2794b4ccf11e04d551823abe0ea47b4f7db0637390db6fbe817c34" diff --git a/poky/meta/recipes-graphics/xorg-driver/xf86-video-vesa/0001-Refuse-to-run-on-UEFI-machines.patch b/poky/meta/recipes-graphics/xorg-driver/xf86-video-vesa/0001-Refuse-to-run-on-UEFI-machines.patch new file mode 100644 index 000000000..9e0177066 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-driver/xf86-video-vesa/0001-Refuse-to-run-on-UEFI-machines.patch @@ -0,0 +1,52 @@ +From 2645e0aa9c17c2c966a0533e52ad00510311483e Mon Sep 17 00:00:00 2001 +From: Adam Jackson <ajax@redhat.com> +Date: Wed, 29 Aug 2018 11:04:23 -0400 +Subject: [PATCH] Refuse to run on UEFI machines + +No possible good can come of this. + +v2: Check for .../efi-framebuffer.0 ("is there an EFI framebuffer") +instead of /sys/firmware/efi ("is this an EFI machine"). Suggested by +Peter Jones. + +Upstream-Status: Backport [https://gitlab.freedesktop.org/xorg/driver/xf86-video-vesa] + +Reviewed-by: Peter Jones <pjones@redhat.com> +Signed-off-by: Adam Jackson <ajax@redhat.com> +Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com> +--- + src/vesa.c | 11 +++++++++-- + 1 file changed, 9 insertions(+), 2 deletions(-) + +diff --git a/src/vesa.c b/src/vesa.c +index 9b65b9b..af750e2 100644 +--- a/src/vesa.c ++++ b/src/vesa.c +@@ -43,7 +43,7 @@ + #endif + + #include <string.h> +- ++#include <unistd.h> + #include "vesa.h" + + /* All drivers initialising the SW cursor need this */ +@@ -450,7 +450,14 @@ VESAPciProbe(DriverPtr drv, int entity_num, struct pci_device *dev, + intptr_t match_data) + { + ScrnInfoPtr pScrn; +- ++ ++#ifdef __linux__ ++ if (access("/sys/devices/platform/efi-framebuffer.0", F_OK) == 0) { ++ ErrorF("vesa: Refusing to run on UEFI\n"); ++ return FALSE; ++ } ++#endif ++ + pScrn = xf86ConfigPciEntity(NULL, 0, entity_num, NULL, + NULL, NULL, NULL, NULL, NULL); + if (pScrn != NULL) { +-- +2.20.1 + diff --git a/poky/meta/recipes-graphics/xorg-driver/xf86-video-vesa_2.4.0.bb b/poky/meta/recipes-graphics/xorg-driver/xf86-video-vesa_2.4.0.bb index 9a110148d..f6aa54456 100644 --- a/poky/meta/recipes-graphics/xorg-driver/xf86-video-vesa_2.4.0.bb +++ b/poky/meta/recipes-graphics/xorg-driver/xf86-video-vesa_2.4.0.bb @@ -17,3 +17,7 @@ RRECOMMENDS_${PN} += "xserver-xorg-module-libint10" SRC_URI[md5sum] = "8134201beaf6f77150c7809c3cc802e6" SRC_URI[sha256sum] = "bf443c94d7bf6cd4e248f8a3147f4647be04dc4c80250d9405006263bbdee38c" + +SRC_URI += " \ + file://0001-Refuse-to-run-on-UEFI-machines.patch \ + " diff --git a/poky/meta/recipes-graphics/xorg-lib/libxcb/gcc-mips-pr68302-mips-workaround.patch b/poky/meta/recipes-graphics/xorg-lib/libxcb/gcc-mips-pr68302-mips-workaround.patch deleted file mode 100644 index 698d038f9..000000000 --- a/poky/meta/recipes-graphics/xorg-lib/libxcb/gcc-mips-pr68302-mips-workaround.patch +++ /dev/null @@ -1,22 +0,0 @@ -Reduce debug info for xcb.c since on mips we run into a gcc5 bug - -https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68302 - -This patch is a workaround to get past the gcc bug until its resolved. -it should have minimal impact on libxcb while make it work. - -Upstream-Status: Inappropriate [OE-Specific] -Signed-off-by: Khem Raj <raj.khem@gmail.com> - -Index: libxcb-1.11.1/src/Makefile.am -=================================================================== ---- libxcb-1.11.1.orig/src/Makefile.am -+++ libxcb-1.11.1/src/Makefile.am -@@ -188,6 +188,7 @@ EXTSOURCES += xkb.c - if BUILD_XKB - lib_LTLIBRARIES += libxcb-xkb.la - libxcb_xkb_la_LDFLAGS = -version-info 1:0:0 -no-undefined -+CFLAGS += -g1 - libxcb_xkb_la_LIBADD = $(XCB_LIBS) - nodist_libxcb_xkb_la_SOURCES = xkb.c xkb.h - endif diff --git a/poky/meta/recipes-graphics/xorg-lib/libxcb_1.13.1.bb b/poky/meta/recipes-graphics/xorg-lib/libxcb_1.13.1.bb index 84303e624..b0afc01df 100644 --- a/poky/meta/recipes-graphics/xorg-lib/libxcb_1.13.1.bb +++ b/poky/meta/recipes-graphics/xorg-lib/libxcb_1.13.1.bb @@ -12,7 +12,6 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d763b081cb10c223435b01e00dc0aba7" SRC_URI = "http://xcb.freedesktop.org/dist/libxcb-${PV}.tar.bz2 \ file://xcbincludedir.patch \ file://disable-check.patch \ - file://gcc-mips-pr68302-mips-workaround.patch \ " SRC_URI[md5sum] = "f33cdfc67346f7217a9326c0d8679975" @@ -30,7 +29,6 @@ inherit autotools pkgconfig distro_features_check # The libxau and others requires x11 in DISTRO_FEATURES REQUIRED_DISTRO_FEATURES = "x11" -REQUIRED_DISTRO_FEATURES_class-native = "" export PYTHON = "python3" diff --git a/poky/meta/recipes-graphics/xorg-lib/libxdmcp_1.1.2.bb b/poky/meta/recipes-graphics/xorg-lib/libxdmcp_1.1.3.bb index 466f3491f..d43a146fd 100644 --- a/poky/meta/recipes-graphics/xorg-lib/libxdmcp_1.1.2.bb +++ b/poky/meta/recipes-graphics/xorg-lib/libxdmcp_1.1.3.bb @@ -22,8 +22,8 @@ XORG_PN = "libXdmcp" BBCLASSEXTEND = "native nativesdk" -SRC_URI[md5sum] = "18aa5c1279b01f9d18e3299969665b2e" -SRC_URI[sha256sum] = "81fe09867918fff258296e1e1e159f0dc639cb30d201c53519f25ab73af4e4e2" +SRC_URI[md5sum] = "115c5c12ecce0e749cd91d999a5fd160" +SRC_URI[sha256sum] = "20523b44aaa513e17c009e873ad7bbc301507a3224c232610ce2e099011c6529" PACKAGECONFIG ??= "" PACKAGECONFIG[arc4] = "ac_cv_lib_bsd_arc4random_buf=yes,ac_cv_lib_bsd_arc4random_buf=no,libbsd" diff --git a/poky/meta/recipes-graphics/xorg-lib/libxext_1.3.3.bb b/poky/meta/recipes-graphics/xorg-lib/libxext_1.3.4.bb index aae8f2af6..9493111a6 100644 --- a/poky/meta/recipes-graphics/xorg-lib/libxext_1.3.3.bb +++ b/poky/meta/recipes-graphics/xorg-lib/libxext_1.3.4.bb @@ -22,5 +22,5 @@ XORG_PN = "libXext" BBCLASSEXTEND = "native nativesdk" -SRC_URI[md5sum] = "52df7c4c1f0badd9f82ab124fb32eb97" -SRC_URI[sha256sum] = "b518d4d332231f313371fdefac59e3776f4f0823bcb23cf7c7305bfb57b16e35" +SRC_URI[md5sum] = "f5b48bb76ba327cd2a8dc7a383532a95" +SRC_URI[sha256sum] = "59ad6fcce98deaecc14d39a672cf218ca37aba617c9a0f691cac3bcd28edf82b" diff --git a/poky/meta/recipes-graphics/xorg-lib/libxft_2.3.2.bb b/poky/meta/recipes-graphics/xorg-lib/libxft_2.3.3.bb index 4565ae262..65bd9ae49 100644 --- a/poky/meta/recipes-graphics/xorg-lib/libxft_2.3.2.bb +++ b/poky/meta/recipes-graphics/xorg-lib/libxft_2.3.3.bb @@ -20,8 +20,8 @@ PROVIDES = "xft" PE = "1" -SRC_URI[md5sum] = "331b3a2a3a1a78b5b44cfbd43f86fcfe" -SRC_URI[sha256sum] = "f5a3c824761df351ca91827ac221090943ef28b248573486050de89f4bfcdc4c" +SRC_URI[md5sum] = "4a433c24627b4ff60a4dd403a0990796" +SRC_URI[sha256sum] = "225c68e616dd29dbb27809e45e9eadf18e4d74c50be43020ef20015274529216" XORG_PN = "libXft" diff --git a/poky/meta/recipes-graphics/xorg-lib/libxkbfile_1.0.9.bb b/poky/meta/recipes-graphics/xorg-lib/libxkbfile_1.1.0.bb index f5c18607a..3a6c50ca2 100644 --- a/poky/meta/recipes-graphics/xorg-lib/libxkbfile_1.0.9.bb +++ b/poky/meta/recipes-graphics/xorg-lib/libxkbfile_1.1.0.bb @@ -14,5 +14,5 @@ PE = "1" BBCLASSEXTEND = "native" -SRC_URI[md5sum] = "4a4cfeaf24dab1b991903455d6d7d404" -SRC_URI[sha256sum] = "51817e0530961975d9513b773960b4edd275f7d5c72293d5a151ed4f42aeb16a" +SRC_URI[md5sum] = "dd7e1e946def674e78c0efbc5c7d5b3b" +SRC_URI[sha256sum] = "758dbdaa20add2db4902df0b1b7c936564b7376c02a0acd1f2a331bd334b38c7" diff --git a/poky/meta/recipes-graphics/xorg-lib/libxmu_1.1.2.bb b/poky/meta/recipes-graphics/xorg-lib/libxmu_1.1.3.bb index 4740c1573..dc3179f53 100644 --- a/poky/meta/recipes-graphics/xorg-lib/libxmu_1.1.2.bb +++ b/poky/meta/recipes-graphics/xorg-lib/libxmu_1.1.3.bb @@ -7,7 +7,6 @@ Widgets. A subset of the functions that do not rely on the Athena \ Widgets (libXaw) or X Toolkit Instrinsics (libXt) are provided in a \ second library, libXmuu." - require xorg-lib-common.inc LICENSE = "MIT & MIT-style" @@ -28,8 +27,8 @@ FILES_libxmuu = "${libdir}/libXmuu.so.*" BBCLASSEXTEND = "native" -SRC_URI[md5sum] = "41d92ab627dfa06568076043f3e089e4" -SRC_URI[sha256sum] = "756edc7c383254eef8b4e1b733c3bf1dc061b523c9f9833ac7058378b8349d0b" +SRC_URI[md5sum] = "ac774cff8b493f566088a255dbf91201" +SRC_URI[sha256sum] = "9c343225e7c3dc0904f2122b562278da5fed639b1b5e880d25111561bac5b731" PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}" PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," diff --git a/poky/meta/recipes-graphics/xorg-lib/libxrandr_1.5.1.bb b/poky/meta/recipes-graphics/xorg-lib/libxrandr_1.5.2.bb index b90ebc623..53a8335d6 100644 --- a/poky/meta/recipes-graphics/xorg-lib/libxrandr_1.5.1.bb +++ b/poky/meta/recipes-graphics/xorg-lib/libxrandr_1.5.2.bb @@ -19,5 +19,5 @@ XORG_PN = "libXrandr" BBCLASSEXTEND = "native nativesdk" -SRC_URI[md5sum] = "28e486f1d491b757173dd85ba34ee884" -SRC_URI[sha256sum] = "1ff9e7fa0e4adea912b16a5f0cfa7c1d35b0dcda0e216831f7715c8a3abcf51a" +SRC_URI[md5sum] = "18f3b20d522f45e4dadd34afb5bea048" +SRC_URI[sha256sum] = "8aea0ebe403d62330bb741ed595b53741acf45033d3bda1792f1d4cc3daee023" diff --git a/poky/meta/recipes-graphics/xorg-lib/libxvmc_1.0.10.bb b/poky/meta/recipes-graphics/xorg-lib/libxvmc_1.0.11.bb index 7e49a98dd..d95f809ed 100644 --- a/poky/meta/recipes-graphics/xorg-lib/libxvmc_1.0.10.bb +++ b/poky/meta/recipes-graphics/xorg-lib/libxvmc_1.0.11.bb @@ -15,5 +15,5 @@ PE = "1" XORG_PN = "libXvMC" -SRC_URI[md5sum] = "4cbe1c1def7a5e1b0ed5fce8e512f4c6" -SRC_URI[sha256sum] = "e501a079b5dfaef0897c56152770c77e05e362065cec58910289aa567277ee2e" +SRC_URI[md5sum] = "707175185a2e0490b8173686c657324f" +SRC_URI[sha256sum] = "4a2e34d444a683a7c010b01b23cefe2b8043a063ce4dc6a9b855836b5262622d" diff --git a/poky/meta/recipes-graphics/xorg-lib/libxxf86dga_1.1.4.bb b/poky/meta/recipes-graphics/xorg-lib/libxxf86dga_1.1.5.bb index 626199e09..e1cb34565 100644 --- a/poky/meta/recipes-graphics/xorg-lib/libxxf86dga_1.1.4.bb +++ b/poky/meta/recipes-graphics/xorg-lib/libxxf86dga_1.1.5.bb @@ -13,7 +13,7 @@ DEPENDS += "libxext" PE = "1" -SRC_URI[md5sum] = "d7dd9b9df336b7dd4028b6b56542ff2c" -SRC_URI[sha256sum] = "8eecd4b6c1df9a3704c04733c2f4fa93ef469b55028af5510b25818e2456c77e" +SRC_URI[md5sum] = "0ddeafc13b33086357cfa96fae41ee8e" +SRC_URI[sha256sum] = "2b98bc5f506c6140d4eddd3990842d30f5dae733b64f198a504f07461bdb7203" XORG_PN = "libXxf86dga" diff --git a/poky/meta/recipes-graphics/xorg-lib/pixman_0.38.0.bb b/poky/meta/recipes-graphics/xorg-lib/pixman_0.38.4.bb index 49c3d6234..82c2e73e5 100644 --- a/poky/meta/recipes-graphics/xorg-lib/pixman_0.38.0.bb +++ b/poky/meta/recipes-graphics/xorg-lib/pixman_0.38.4.bb @@ -34,7 +34,7 @@ SRC_URI += "\ file://0001-test-utils-Check-for-FE_INVALID-definition-before-us.patch \ " -SRC_URI[md5sum] = "04ecad28edcc14e7eb5f7ed6df29c7a0" -SRC_URI[sha256sum] = "b768e3f7895ddebdc0f07478729d9cec4fe0a9d2201f828c900d67b0e5b436a8" +SRC_URI[md5sum] = "16a350a8a40116ddf67632a1d2623711" +SRC_URI[sha256sum] = "84abb7fa2541af24d9c3b34bf75d6ac60cc94ac4410061bbb295b66a29221550" REQUIRED_DISTRO_FEATURES = "" diff --git a/poky/meta/recipes-graphics/xorg-lib/xorg-lib-common.inc b/poky/meta/recipes-graphics/xorg-lib/xorg-lib-common.inc index 6f4e44454..09df0109c 100644 --- a/poky/meta/recipes-graphics/xorg-lib/xorg-lib-common.inc +++ b/poky/meta/recipes-graphics/xorg-lib/xorg-lib-common.inc @@ -24,4 +24,3 @@ UNKNOWN_CONFIGURE_WHITELIST += "--enable-malloc0returnsnull --disable-malloc0ret " REQUIRED_DISTRO_FEATURES ?= "x11" -REQUIRED_DISTRO_FEATURES_class-native = "" diff --git a/poky/meta/recipes-graphics/xorg-lib/xtrans_1.3.5.bb b/poky/meta/recipes-graphics/xorg-lib/xtrans_1.4.0.bb index 200716fb0..5bf134b5f 100644 --- a/poky/meta/recipes-graphics/xorg-lib/xtrans_1.3.5.bb +++ b/poky/meta/recipes-graphics/xorg-lib/xtrans_1.4.0.bb @@ -22,5 +22,5 @@ inherit gettext BBCLASSEXTEND = "native nativesdk" -SRC_URI[md5sum] = "c5ba432dd1514d858053ffe9f4737dd8" -SRC_URI[sha256sum] = "adbd3b36932ce4c062cd10f57d78a156ba98d618bdb6f50664da327502bc8301" +SRC_URI[md5sum] = "ce2fb8100c6647ee81451ebe388b17ad" +SRC_URI[sha256sum] = "377c4491593c417946efcd2c7600d1e62639f7a8bbca391887e2c4679807d773" diff --git a/poky/meta/recipes-graphics/xorg-util/makedepend_1.0.5.bb b/poky/meta/recipes-graphics/xorg-util/makedepend_1.0.6.bb index 727ab5496..2760edd17 100644 --- a/poky/meta/recipes-graphics/xorg-util/makedepend_1.0.5.bb +++ b/poky/meta/recipes-graphics/xorg-util/makedepend_1.0.6.bb @@ -17,5 +17,5 @@ BBCLASSEXTEND = "native" LIC_FILES_CHKSUM = "file://COPYING;md5=43a6eda34b48ee821b3b66f4f753ce4f" -SRC_URI[md5sum] = "efb2d7c7e22840947863efaedc175747" -SRC_URI[sha256sum] = "503903d41fb5badb73cb70d7b3740c8b30fe1cc68c504d3b6a85e6644c4e5004" +SRC_URI[md5sum] = "8a583055c84914060c35b6c2f963fc07" +SRC_URI[sha256sum] = "845f6708fc850bf53f5b1d0fb4352c4feab3949f140b26f71b22faba354c3365" diff --git a/poky/meta/recipes-kernel/cryptodev/cryptodev.inc b/poky/meta/recipes-kernel/cryptodev/cryptodev.inc index 252d39d23..9d8ba4405 100644 --- a/poky/meta/recipes-kernel/cryptodev/cryptodev.inc +++ b/poky/meta/recipes-kernel/cryptodev/cryptodev.inc @@ -3,7 +3,9 @@ HOMEPAGE = "http://cryptodev-linux.org/" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" -SRC_URI = "git://github.com/cryptodev-linux/cryptodev-linux" +SRC_URI = "git://github.com/cryptodev-linux/cryptodev-linux \ + file://0001-Fix-module-loading-with-Linux-v5.0-rc5.patch \ + " SRCREV = "fd8b15ef1c8398a69a37932ee48c74ab40329a29" S = "${WORKDIR}/git" diff --git a/poky/meta/recipes-kernel/cryptodev/files/0001-Fix-module-loading-with-Linux-v5.0-rc5.patch b/poky/meta/recipes-kernel/cryptodev/files/0001-Fix-module-loading-with-Linux-v5.0-rc5.patch new file mode 100644 index 000000000..34ec87272 --- /dev/null +++ b/poky/meta/recipes-kernel/cryptodev/files/0001-Fix-module-loading-with-Linux-v5.0-rc5.patch @@ -0,0 +1,59 @@ +Upstream-Status: Backport [https://github.com/cryptodev-linux/cryptodev-linux/commit/f971e0c] + +Backport patch from upstream to fix module cryptodev loading error. + +Signed-off-by: Kai Kang <kai.kang@windriver.com> + +From f971e0cd4a0ebe59fb2e8e17240399bf6901b09b Mon Sep 17 00:00:00 2001 +From: "Derald D. Woods" <woods.technical@gmail.com> +Date: Sun, 10 Feb 2019 13:22:19 -0600 +Subject: [PATCH] Fix module loading with Linux v5.0-rc5 + +This commit fixes this module load error: +[...] +[ 29.112091] cryptodev: loading out-of-tree module taints kernel. +[ 29.128906] cryptodev: Unknown symbol crypto_givcipher_type (err -2) +[ 29.188842] cryptodev: Unknown symbol crypto_givcipher_type (err -2) +modprobe: can't load module cryptodev (extra/cryptodev.ko): unknown symbol in module, or unknown parameter +[...] + +Upstream Linux support for unused GIVCIPHER, and others, was dropped here: + +c79b411eaa72 (crypto: skcipher - remove remnants of internal IV generators) + +Signed-off-by: Derald D. Woods <woods.technical@gmail.com> +--- + cryptlib.c | 9 +++++++-- + 1 file changed, 7 insertions(+), 2 deletions(-) + +diff --git a/cryptlib.c b/cryptlib.c +index 6e66698..4a87037 100644 +--- a/cryptlib.c ++++ b/cryptlib.c +@@ -38,7 +38,9 @@ + #include "cryptodev_int.h" + #include "cipherapi.h" + ++#if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 0, 0)) + extern const struct crypto_type crypto_givcipher_type; ++#endif + + static void cryptodev_complete(struct crypto_async_request *req, int err) + { +@@ -157,8 +159,11 @@ int cryptodev_cipher_init(struct cipher_data *out, const char *alg_name, + + #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0)) + tfm = crypto_skcipher_tfm(out->async.s); +- if ((tfm->__crt_alg->cra_type == &crypto_ablkcipher_type) || +- (tfm->__crt_alg->cra_type == &crypto_givcipher_type)) { ++ if ((tfm->__crt_alg->cra_type == &crypto_ablkcipher_type) ++#if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 0, 0)) ++ || (tfm->__crt_alg->cra_type == &crypto_givcipher_type) ++#endif ++ ) { + struct ablkcipher_alg *alg; + + alg = &tfm->__crt_alg->cra_ablkcipher; +-- +2.20.0 + diff --git a/poky/meta/recipes-kernel/dtc/dtc.inc b/poky/meta/recipes-kernel/dtc/dtc.inc index 7a923bf52..0650e3c82 100644 --- a/poky/meta/recipes-kernel/dtc/dtc.inc +++ b/poky/meta/recipes-kernel/dtc/dtc.inc @@ -12,6 +12,8 @@ UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)" EXTRA_OEMAKE='NO_PYTHON=1 PREFIX="${prefix}" LIBDIR="${libdir}" DESTDIR="${D}"' +inherit pkgconfig + S = "${WORKDIR}/git" do_install () { diff --git a/poky/meta/recipes-kernel/dtc/dtc_1.4.7.bb b/poky/meta/recipes-kernel/dtc/dtc_1.5.0.bb index 6ce462a7f..a9c131706 100644 --- a/poky/meta/recipes-kernel/dtc/dtc_1.4.7.bb +++ b/poky/meta/recipes-kernel/dtc/dtc_1.5.0.bb @@ -3,7 +3,7 @@ require dtc.inc LIC_FILES_CHKSUM = "file://GPL;md5=94d55d512a9ba36caa9b7df079bae19f \ file://libfdt/libfdt.h;beginline=3;endline=52;md5=fb360963151f8ec2d6c06b055bcbb68c" -SRCREV = "88f18909db731a627456f26d779445f84e449536" +SRCREV = "d37f6b20107e952064e3f77e9d6915a9c09d10a6" S = "${WORKDIR}/git" diff --git a/poky/meta/recipes-kernel/kexec/kexec-tools/0002-powerpc-change-the-memory-size-limit.patch b/poky/meta/recipes-kernel/kexec/kexec-tools/0001-powerpc-change-the-memory-size-limit.patch index dc97d930e..029650f35 100644 --- a/poky/meta/recipes-kernel/kexec/kexec-tools/0002-powerpc-change-the-memory-size-limit.patch +++ b/poky/meta/recipes-kernel/kexec/kexec-tools/0001-powerpc-change-the-memory-size-limit.patch @@ -1,4 +1,4 @@ -From b19b68eab567aa534cf8dec79fe18e3dc0e14043 Mon Sep 17 00:00:00 2001 +From 211cae4b6a02a4d9d37bfcd76f3702696e095fc3 Mon Sep 17 00:00:00 2001 From: Quanyang Wang <quanyang.wang@windriver.com> Date: Tue, 16 Jun 2015 12:59:57 +0800 Subject: [PATCH] powerpc: change the memory size limit @@ -20,11 +20,11 @@ Signed-off-by: Quanyang Wang <quanyang.wang@windriver.com> kexec/arch/ppc/kexec-ppc.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -Index: kexec-tools-2.0.10/kexec/arch/ppc/kexec-ppc.h -=================================================================== ---- kexec-tools-2.0.10.orig/kexec/arch/ppc/kexec-ppc.h -+++ kexec-tools-2.0.10/kexec/arch/ppc/kexec-ppc.h -@@ -42,7 +42,7 @@ void dol_ppc_usage(void); +diff --git a/kexec/arch/ppc/kexec-ppc.h b/kexec/arch/ppc/kexec-ppc.h +index 04e728e..6bae9ec 100644 +--- a/kexec/arch/ppc/kexec-ppc.h ++++ b/kexec/arch/ppc/kexec-ppc.h +@@ -44,7 +44,7 @@ void dol_ppc_usage(void); * During inital setup the kernel does not map the whole memory but a part of * it. On Book-E that is 64MiB, 601 24MiB or 256MiB (if possible). */ diff --git a/poky/meta/recipes-kernel/kexec/kexec-tools/0001-purgatory-Pass-r-directly-to-linker.patch b/poky/meta/recipes-kernel/kexec/kexec-tools/0002-purgatory-Pass-r-directly-to-linker.patch index bfd077daf..363d5da4a 100644 --- a/poky/meta/recipes-kernel/kexec/kexec-tools/0001-purgatory-Pass-r-directly-to-linker.patch +++ b/poky/meta/recipes-kernel/kexec/kexec-tools/0002-purgatory-Pass-r-directly-to-linker.patch @@ -1,4 +1,4 @@ -From a1135b3170963ba956f2364c1283864c35541295 Mon Sep 17 00:00:00 2001 +From a04bcf8f683c1a5a7d015920124457ad56fb7cf0 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Mon, 7 Sep 2015 07:59:45 +0000 Subject: [PATCH] purgatory: Pass -r directly to linker @@ -8,17 +8,17 @@ where as gcc knows how to deal with it and passes it down to linker unfiltered Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- -Upstream-Status: Pending +Upstream-Status: Pending +--- purgatory/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/purgatory/Makefile b/purgatory/Makefile -index 2b5c061..b251353 100644 +index 2dd6c47..416e6b9 100644 --- a/purgatory/Makefile +++ b/purgatory/Makefile -@@ -61,7 +61,7 @@ $(PURGATORY): CPPFLAGS=$($(ARCH)_PURGATORY_EXTRA_CFLAGS) \ +@@ -60,7 +60,7 @@ $(PURGATORY): CPPFLAGS=$($(ARCH)_PURGATORY_EXTRA_CFLAGS) \ -I$(shell $(CC) -print-file-name=include) $(PURGATORY): LDFLAGS=$($(ARCH)_PURGATORY_EXTRA_CFLAGS)\ -Wl,--no-undefined -nostartfiles -nostdlib \ @@ -27,6 +27,3 @@ index 2b5c061..b251353 100644 -Wl,-Map=$(PURGATORY_MAP) $(PURGATORY): $(PURGATORY_OBJS) --- -2.5.1 - diff --git a/poky/meta/recipes-kernel/kexec/kexec-tools/0010-kexec-ARM-Fix-add_buffer_phys_virt-align-issue.patch b/poky/meta/recipes-kernel/kexec/kexec-tools/0003-kexec-ARM-Fix-add_buffer_phys_virt-align-issue.patch index 6c6c66d88..832fe6771 100644 --- a/poky/meta/recipes-kernel/kexec/kexec-tools/0010-kexec-ARM-Fix-add_buffer_phys_virt-align-issue.patch +++ b/poky/meta/recipes-kernel/kexec/kexec-tools/0003-kexec-ARM-Fix-add_buffer_phys_virt-align-issue.patch @@ -1,4 +1,4 @@ -From 78e497fb69950665e639cfab8f4fb50cc404a1eb Mon Sep 17 00:00:00 2001 +From 55e583d20651e829afbbc8dba0f8ec3017cda2d5 Mon Sep 17 00:00:00 2001 From: Haiqing Bai <Haiqing.Bai@windriver.com> Date: Mon, 9 Jan 2017 15:26:29 +0800 Subject: [PATCH] kexec: ARM: Fix add_buffer_phys_virt() align issue @@ -17,7 +17,7 @@ Signed-off-by: Haiqing Bai <Haiqing.Bai@windriver.com> 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/kexec/arch/arm/crashdump-arm.c b/kexec/arch/arm/crashdump-arm.c -index 245c21a..12139c3 100644 +index daa4788..3f72b38 100644 --- a/kexec/arch/arm/crashdump-arm.c +++ b/kexec/arch/arm/crashdump-arm.c @@ -240,6 +240,7 @@ int load_crashdump_segments(struct kexec_info *info, char *mod_cmdline) @@ -47,6 +47,3 @@ index 245c21a..12139c3 100644 crash_kernel_mem.start, crash_kernel_mem.end, -1, 0); --- -1.9.1 - diff --git a/poky/meta/recipes-kernel/kexec/kexec-tools/kexec-x32.patch b/poky/meta/recipes-kernel/kexec/kexec-tools/0004-x86_64-Add-support-to-build-kexec-tools-with-x32-ABI.patch index 26d18eb6f..a809d5ba8 100644 --- a/poky/meta/recipes-kernel/kexec/kexec-tools/kexec-x32.patch +++ b/poky/meta/recipes-kernel/kexec/kexec-tools/0004-x86_64-Add-support-to-build-kexec-tools-with-x32-ABI.patch @@ -1,4 +1,10 @@ -x86_64: Add support to build kexec-tools with x32 ABI +From 8c9a5076543eb3d497e016b3d7707e93d6311883 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?An=C3=ADbal=20Lim=C3=B3n?= <anibal.limon@linux.intel.com> +Date: Mon, 15 Jul 2013 23:32:36 -0700 +Subject: [PATCH] x86_64: Add support to build kexec-tools with x32 ABI +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit Summary of changes, @@ -13,7 +19,6 @@ Upstream-Status: Submitted Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com> - --- configure.ac | 9 +++++++++ kexec/arch/x86_64/kexec-elf-rel-x86_64.c | 4 ++++ @@ -21,11 +26,11 @@ Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com> purgatory/arch/x86_64/Makefile | 4 +++- 4 files changed, 20 insertions(+), 1 deletion(-) -Index: kexec-tools-2.0.10/configure.ac -=================================================================== ---- kexec-tools-2.0.10.orig/configure.ac -+++ kexec-tools-2.0.10/configure.ac -@@ -56,6 +56,15 @@ case $target_cpu in +diff --git a/configure.ac b/configure.ac +index c2b0c68..60882b8 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -54,6 +54,15 @@ case $target_cpu in ;; ia64|x86_64|alpha|m68k ) ARCH="$target_cpu" @@ -41,11 +46,11 @@ Index: kexec-tools-2.0.10/configure.ac ;; * ) AC_MSG_ERROR([unsupported architecture $target_cpu]) -Index: kexec-tools-2.0.10/kexec/arch/x86_64/kexec-elf-rel-x86_64.c -=================================================================== ---- kexec-tools-2.0.10.orig/kexec/arch/x86_64/kexec-elf-rel-x86_64.c -+++ kexec-tools-2.0.10/kexec/arch/x86_64/kexec-elf-rel-x86_64.c -@@ -8,7 +8,11 @@ int machine_verify_elf_rel(struct mem_eh +diff --git a/kexec/arch/x86_64/kexec-elf-rel-x86_64.c b/kexec/arch/x86_64/kexec-elf-rel-x86_64.c +index db85b44..0ce1172 100644 +--- a/kexec/arch/x86_64/kexec-elf-rel-x86_64.c ++++ b/kexec/arch/x86_64/kexec-elf-rel-x86_64.c +@@ -8,7 +8,11 @@ int machine_verify_elf_rel(struct mem_ehdr *ehdr) if (ehdr->ei_data != ELFDATA2LSB) { return 0; } @@ -57,10 +62,10 @@ Index: kexec-tools-2.0.10/kexec/arch/x86_64/kexec-elf-rel-x86_64.c return 0; } if (ehdr->e_machine != EM_X86_64) { -Index: kexec-tools-2.0.10/kexec/kexec-syscall.h -=================================================================== ---- kexec-tools-2.0.10.orig/kexec/kexec-syscall.h -+++ kexec-tools-2.0.10/kexec/kexec-syscall.h +diff --git a/kexec/kexec-syscall.h b/kexec/kexec-syscall.h +index dac1c1f..e9479b7 100644 +--- a/kexec/kexec-syscall.h ++++ b/kexec/kexec-syscall.h @@ -31,8 +31,12 @@ #define __NR_kexec_load 268 #endif @@ -74,11 +79,11 @@ Index: kexec-tools-2.0.10/kexec/kexec-syscall.h #ifdef __s390x__ #define __NR_kexec_load 277 #endif -Index: kexec-tools-2.0.10/purgatory/arch/x86_64/Makefile -=================================================================== ---- kexec-tools-2.0.10.orig/purgatory/arch/x86_64/Makefile -+++ kexec-tools-2.0.10/purgatory/arch/x86_64/Makefile -@@ -23,4 +23,6 @@ x86_64_PURGATORY_SRCS += purgatory/arch/ +diff --git a/purgatory/arch/x86_64/Makefile b/purgatory/arch/x86_64/Makefile +index 7300937..4af11e4 100644 +--- a/purgatory/arch/x86_64/Makefile ++++ b/purgatory/arch/x86_64/Makefile +@@ -23,4 +23,6 @@ x86_64_PURGATORY_SRCS += purgatory/arch/i386/console-x86.c x86_64_PURGATORY_SRCS += purgatory/arch/i386/vga.c x86_64_PURGATORY_SRCS += purgatory/arch/i386/pic.c diff --git a/poky/meta/recipes-kernel/kexec/kexec-tools/0001-Disable-PIE-during-link.patch b/poky/meta/recipes-kernel/kexec/kexec-tools/0005-Disable-PIE-during-link.patch index 3f2f85e33..7a4b8548c 100644 --- a/poky/meta/recipes-kernel/kexec/kexec-tools/0001-Disable-PIE-during-link.patch +++ b/poky/meta/recipes-kernel/kexec/kexec-tools/0005-Disable-PIE-during-link.patch @@ -1,4 +1,4 @@ -From ea7be6d71b85880e8e8a2c8a4f49a696c5f31ae4 Mon Sep 17 00:00:00 2001 +From c54488ad5fd657e0f154d76d7456d9080be24836 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Sat, 10 Jun 2017 11:18:49 -0700 Subject: [PATCH] Disable PIE during link @@ -14,7 +14,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/purgatory/Makefile b/purgatory/Makefile -index 564bdb7..a08e41f 100644 +index 416e6b9..f00edb4 100644 --- a/purgatory/Makefile +++ b/purgatory/Makefile @@ -59,7 +59,7 @@ $(PURGATORY): CPPFLAGS=$($(ARCH)_PURGATORY_EXTRA_CFLAGS) \ @@ -26,6 +26,3 @@ index 564bdb7..a08e41f 100644 -nodefaultlibs -e purgatory_start -Wl,-r \ -Wl,-Map=$(PURGATORY_MAP) --- -2.13.1 - diff --git a/poky/meta/recipes-kernel/kexec/kexec-tools_2.0.19.bb b/poky/meta/recipes-kernel/kexec/kexec-tools_2.0.19.bb index f65cd9f10..343989907 100644 --- a/poky/meta/recipes-kernel/kexec/kexec-tools_2.0.19.bb +++ b/poky/meta/recipes-kernel/kexec/kexec-tools_2.0.19.bb @@ -10,15 +10,15 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=ea5bed2f60d357618ca161ad539f7c0a \ DEPENDS = "zlib xz" SRC_URI = "${KERNELORG_MIRROR}/linux/utils/kernel/kexec/kexec-tools-${PV}.tar.gz \ - file://kdump \ - file://kdump.conf \ - file://kdump.service \ - file://0002-powerpc-change-the-memory-size-limit.patch \ - file://0001-purgatory-Pass-r-directly-to-linker.patch \ - file://0010-kexec-ARM-Fix-add_buffer_phys_virt-align-issue.patch \ - file://kexec-x32.patch \ - file://0001-Disable-PIE-during-link.patch \ - " + file://kdump \ + file://kdump.conf \ + file://kdump.service \ + file://0001-powerpc-change-the-memory-size-limit.patch \ + file://0002-purgatory-Pass-r-directly-to-linker.patch \ + file://0003-kexec-ARM-Fix-add_buffer_phys_virt-align-issue.patch \ + file://0004-x86_64-Add-support-to-build-kexec-tools-with-x32-ABI.patch \ + file://0005-Disable-PIE-during-link.patch \ +" SRC_URI[md5sum] = "052458f0a35c2a3b0d2302caa3318e9f" SRC_URI[sha256sum] = "913c8dee918e5855a4ba60d609371390978144b4c8d15d6446ca0057b7bc5e58" diff --git a/poky/meta/recipes-kernel/linux/kernel-devsrc.bb b/poky/meta/recipes-kernel/linux/kernel-devsrc.bb index 69a8eaef8..5ec592973 100644 --- a/poky/meta/recipes-kernel/linux/kernel-devsrc.bb +++ b/poky/meta/recipes-kernel/linux/kernel-devsrc.bb @@ -228,6 +228,9 @@ do_install() { # required to build scripts/selinux/genheaders/genheaders cp -a --parents security/selinux/include/* $kerneldir/build/ + + # copy any localversion files + cp -a localversion* $kerneldir/build/ 2>/dev/null || : ) # Make sure the Makefile and version.h have a matching timestamp so that diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-rt_4.18.bb b/poky/meta/recipes-kernel/linux/linux-yocto-rt_4.18.bb deleted file mode 100644 index 9b8609b42..000000000 --- a/poky/meta/recipes-kernel/linux/linux-yocto-rt_4.18.bb +++ /dev/null @@ -1,43 +0,0 @@ -KBRANCH ?= "v4.18/standard/preempt-rt/base" - -require recipes-kernel/linux/linux-yocto.inc - -# Skip processing of this recipe if it is not explicitly specified as the -# PREFERRED_PROVIDER for virtual/kernel. This avoids errors when trying -# to build multiple virtual/kernel providers, e.g. as dependency of -# core-image-rt-sdk, core-image-rt. -python () { - if d.getVar("KERNEL_PACKAGE_NAME") == "kernel" and d.getVar("PREFERRED_PROVIDER_virtual/kernel") != "linux-yocto-rt": - raise bb.parse.SkipRecipe("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it") -} - -SRCREV_machine ?= "917ee880b11f569d7a1118dc3575fd24d8ff349b" -SRCREV_meta ?= "9e348b6f9db185cb60a34d18fd14a18b5def2c31" - -SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine \ - git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.18;destsuffix=${KMETA}" - -LINUX_VERSION ?= "4.18.27" - -LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814" - -DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}" -DEPENDS += "openssl-native util-linux-native" - -PV = "${LINUX_VERSION}+git${SRCPV}" - -KMETA = "kernel-meta" -KCONF_BSP_AUDIT_LEVEL = "2" - -LINUX_KERNEL_TYPE = "preempt-rt" - -COMPATIBLE_MACHINE = "(qemux86|qemux86-64|qemuarm|qemuarm64|qemuppc|qemumips)" - -KERNEL_DEVICETREE_qemuarm = "versatile-pb.dtb" - -# Functionality flags -KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc features/taskstats/taskstats.scc" -KERNEL_FEATURES_append = " ${KERNEL_EXTRA_FEATURES}" -KERNEL_FEATURES_append_qemuall=" cfg/virtio.scc" -KERNEL_FEATURES_append_qemux86=" cfg/sound.scc cfg/paravirt_kvm.scc" -KERNEL_FEATURES_append_qemux86-64=" cfg/sound.scc cfg/paravirt_kvm.scc" diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-rt_4.19.bb b/poky/meta/recipes-kernel/linux/linux-yocto-rt_4.19.bb index 7f1640d43..834b8fc03 100644 --- a/poky/meta/recipes-kernel/linux/linux-yocto-rt_4.19.bb +++ b/poky/meta/recipes-kernel/linux/linux-yocto-rt_4.19.bb @@ -11,13 +11,13 @@ python () { raise bb.parse.SkipRecipe("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it") } -SRCREV_machine ?= "2c6e44e476bd297d65d5cb1b5f5538d303fc05a0" -SRCREV_meta ?= "d85f07e03c980eca5ffd5ba058985d6ed3a83801" +SRCREV_machine ?= "c279a81f1e654023c4cc78afa9f14350ee5f836f" +SRCREV_meta ?= "9bda6190bfc9e7858c2f7588109a0ec966f37a09" SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine \ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.19;destsuffix=${KMETA}" -LINUX_VERSION ?= "4.19.30" +LINUX_VERSION ?= "4.19.34" LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814" diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.0.bb b/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.0.bb index 65c369849..54f86dac9 100644 --- a/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.0.bb +++ b/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.0.bb @@ -11,13 +11,13 @@ python () { raise bb.parse.SkipRecipe("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it") } -SRCREV_machine ?= "06e1ff79ea9efef052404ee1989cae038b28e954" -SRCREV_meta ?= "705457837e7ddd27e4e2ecf6d3dbd255b1aaf848" +SRCREV_machine ?= "494384666b623a23e19cbbc54574d08e31496a03" +SRCREV_meta ?= "d26eec23cf1057a715c05777a18f395678fcbf38" SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine \ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.0;destsuffix=${KMETA}" -LINUX_VERSION ?= "5.0.3" +LINUX_VERSION ?= "5.0.7" LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814" diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_4.18.bb b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_4.18.bb deleted file mode 100644 index 0be7f0889..000000000 --- a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_4.18.bb +++ /dev/null @@ -1,32 +0,0 @@ -KBRANCH ?= "v4.18/standard/tiny/base" -KBRANCH_qemuarm ?= "v4.15/standard/tiny/arm-versatile-926ejs" - -LINUX_KERNEL_TYPE = "tiny" -KCONFIG_MODE = "--allnoconfig" - -require recipes-kernel/linux/linux-yocto.inc - -LINUX_VERSION ?= "4.18.27" -LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814" - -DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}" -DEPENDS += "openssl-native util-linux-native" - -KMETA = "kernel-meta" -KCONF_BSP_AUDIT_LEVEL = "2" - -SRCREV_machine_qemuarm ?= "8f59516428463985f2a636b024b6c3f1b2178855" -SRCREV_machine ?= "62f0a3acffffd555f68ed97d5e4faade2b28f3c0" -SRCREV_meta ?= "9e348b6f9db185cb60a34d18fd14a18b5def2c31" - -PV = "${LINUX_VERSION}+git${SRCPV}" - -SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine \ - git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.18;destsuffix=${KMETA}" - -COMPATIBLE_MACHINE = "qemux86|qemux86-64|qemuarm" - -# Functionality flags -KERNEL_FEATURES = "" - -KERNEL_DEVICETREE_qemuarm = "versatile-pb.dtb" diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_4.19.bb b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_4.19.bb index 8e132caae..dea7f2bf5 100644 --- a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_4.19.bb +++ b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_4.19.bb @@ -6,7 +6,7 @@ KCONFIG_MODE = "--allnoconfig" require recipes-kernel/linux/linux-yocto.inc -LINUX_VERSION ?= "4.19.30" +LINUX_VERSION ?= "4.19.34" LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814" DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}" @@ -15,9 +15,9 @@ DEPENDS += "openssl-native util-linux-native" KMETA = "kernel-meta" KCONF_BSP_AUDIT_LEVEL = "2" -SRCREV_machine_qemuarm ?= "03eb6106990498e86298646c682fce9fc61f2131" -SRCREV_machine ?= "253c39a252f25843111b7be0c8247eb4bd6c328d" -SRCREV_meta ?= "d85f07e03c980eca5ffd5ba058985d6ed3a83801" +SRCREV_machine_qemuarm ?= "6fbb768bd43d85b2cfd905e431101e214c580634" +SRCREV_machine ?= "1afd139db231e38e8e0f5ea03dcb77f9537ba2e0" +SRCREV_meta ?= "9bda6190bfc9e7858c2f7588109a0ec966f37a09" PV = "${LINUX_VERSION}+git${SRCPV}" diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.0.bb b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.0.bb index dc60548c6..720192152 100644 --- a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.0.bb +++ b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.0.bb @@ -6,7 +6,7 @@ KCONFIG_MODE = "--allnoconfig" require recipes-kernel/linux/linux-yocto.inc -LINUX_VERSION ?= "5.0.3" +LINUX_VERSION ?= "5.0.7" LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814" DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}" @@ -15,9 +15,9 @@ DEPENDS += "openssl-native util-linux-native" KMETA = "kernel-meta" KCONF_BSP_AUDIT_LEVEL = "2" -SRCREV_machine_qemuarm ?= "b0477279877bb2b5cca6ec49c64e931901ff2022" -SRCREV_machine ?= "3df4aae6074e94e794e27fe7f17451d9353cdf3d" -SRCREV_meta ?= "705457837e7ddd27e4e2ecf6d3dbd255b1aaf848" +SRCREV_machine_qemuarm ?= "f07da0a13d6f503b72594776b5e8a9795da6d6a0" +SRCREV_machine ?= "891531d68e5101bf64be1cc1cb31e3d1255cf382" +SRCREV_meta ?= "d26eec23cf1057a715c05777a18f395678fcbf38" PV = "${LINUX_VERSION}+git${SRCPV}" diff --git a/poky/meta/recipes-kernel/linux/linux-yocto_4.18.bb b/poky/meta/recipes-kernel/linux/linux-yocto_4.18.bb deleted file mode 100644 index 4a9febc06..000000000 --- a/poky/meta/recipes-kernel/linux/linux-yocto_4.18.bb +++ /dev/null @@ -1,48 +0,0 @@ -KBRANCH ?= "v4.18/standard/base" - -require recipes-kernel/linux/linux-yocto.inc - -# board specific branches -KBRANCH_qemuarm ?= "v4.18/standard/arm-versatile-926ejs" -KBRANCH_qemuarm64 ?= "v4.18/standard/qemuarm64" -KBRANCH_qemumips ?= "v4.18/standard/mti-malta32" -KBRANCH_qemuppc ?= "v4.18/standard/qemuppc" -KBRANCH_qemux86 ?= "v4.18/standard/base" -KBRANCH_qemux86-64 ?= "v4.18/standard/base" -KBRANCH_qemumips64 ?= "v4.18/standard/mti-malta64" - -SRCREV_machine_qemuarm ?= "e66e05d38c1a0eda0db1f34090ecf7155226fa4c" -SRCREV_machine_qemuarm64 ?= "62f0a3acffffd555f68ed97d5e4faade2b28f3c0" -SRCREV_machine_qemumips ?= "5fb9275fdd72ccd5f61cbbce5fef842fbcf3c957" -SRCREV_machine_qemuppc ?= "62f0a3acffffd555f68ed97d5e4faade2b28f3c0" -SRCREV_machine_qemux86 ?= "62f0a3acffffd555f68ed97d5e4faade2b28f3c0" -SRCREV_machine_qemux86-64 ?= "62f0a3acffffd555f68ed97d5e4faade2b28f3c0" -SRCREV_machine_qemumips64 ?= "19cccc092a7fe2337153c65045bded55ae4d5e4b" -SRCREV_machine ?= "62f0a3acffffd555f68ed97d5e4faade2b28f3c0" -SRCREV_meta ?= "9e348b6f9db185cb60a34d18fd14a18b5def2c31" - -SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;name=machine;branch=${KBRANCH}; \ - git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.18;destsuffix=${KMETA}" - -LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814" -LINUX_VERSION ?= "4.18.27" - -DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}" -DEPENDS += "openssl-native util-linux-native" - -PV = "${LINUX_VERSION}+git${SRCPV}" - -KMETA = "kernel-meta" -KCONF_BSP_AUDIT_LEVEL = "2" - -KERNEL_DEVICETREE_qemuarm = "versatile-pb.dtb" - -COMPATIBLE_MACHINE = "qemuarm|qemuarm64|qemux86|qemuppc|qemumips|qemumips64|qemux86-64" - -# Functionality flags -KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc" -KERNEL_FEATURES_append = " ${KERNEL_EXTRA_FEATURES}" -KERNEL_FEATURES_append_qemuall=" cfg/virtio.scc" -KERNEL_FEATURES_append_qemux86=" cfg/sound.scc cfg/paravirt_kvm.scc" -KERNEL_FEATURES_append_qemux86-64=" cfg/sound.scc cfg/paravirt_kvm.scc" -KERNEL_FEATURES_append = " ${@bb.utils.contains("TUNE_FEATURES", "mx32", " cfg/x32.scc", "" ,d)}" diff --git a/poky/meta/recipes-kernel/linux/linux-yocto_4.19.bb b/poky/meta/recipes-kernel/linux/linux-yocto_4.19.bb index 0217daa24..de4ae9287 100644 --- a/poky/meta/recipes-kernel/linux/linux-yocto_4.19.bb +++ b/poky/meta/recipes-kernel/linux/linux-yocto_4.19.bb @@ -11,22 +11,22 @@ KBRANCH_qemux86 ?= "v4.19/standard/base" KBRANCH_qemux86-64 ?= "v4.19/standard/base" KBRANCH_qemumips64 ?= "v4.19/standard/mti-malta64" -SRCREV_machine_qemuarm ?= "3df49db2ea9b8e800cb30d5d695d4d2a2f8c1bed" -SRCREV_machine_qemuarm64 ?= "253c39a252f25843111b7be0c8247eb4bd6c328d" -SRCREV_machine_qemumips ?= "5dc975d0e586edd5d33bce62560f998f9a246be6" -SRCREV_machine_qemuppc ?= "253c39a252f25843111b7be0c8247eb4bd6c328d" -SRCREV_machine_qemux86 ?= "253c39a252f25843111b7be0c8247eb4bd6c328d" -SRCREV_machine_qemux86-64 ?= "253c39a252f25843111b7be0c8247eb4bd6c328d" -SRCREV_machine_qemumips64 ?= "bb7ae8a8cbe76c9ce2804f651936f059f9f621a2" -SRCREV_machine ?= "253c39a252f25843111b7be0c8247eb4bd6c328d" -SRCREV_meta ?= "d85f07e03c980eca5ffd5ba058985d6ed3a83801" +SRCREV_machine_qemuarm ?= "b266576aa10e76afeded8e13ffce93c4638b8ddb" +SRCREV_machine_qemuarm64 ?= "1afd139db231e38e8e0f5ea03dcb77f9537ba2e0" +SRCREV_machine_qemumips ?= "f6ef1a5233db0a1f569d7d6638fa803ebe5c867b" +SRCREV_machine_qemuppc ?= "1afd139db231e38e8e0f5ea03dcb77f9537ba2e0" +SRCREV_machine_qemux86 ?= "1afd139db231e38e8e0f5ea03dcb77f9537ba2e0" +SRCREV_machine_qemux86-64 ?= "1afd139db231e38e8e0f5ea03dcb77f9537ba2e0" +SRCREV_machine_qemumips64 ?= "f5b26e4d7a0eee36298d970590c50c26a800b84d" +SRCREV_machine ?= "1afd139db231e38e8e0f5ea03dcb77f9537ba2e0" +SRCREV_meta ?= "9bda6190bfc9e7858c2f7588109a0ec966f37a09" SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;name=machine;branch=${KBRANCH}; \ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.19;destsuffix=${KMETA} \ " LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814" -LINUX_VERSION ?= "4.19.30" +LINUX_VERSION ?= "4.19.34" DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}" DEPENDS += "openssl-native util-linux-native" diff --git a/poky/meta/recipes-kernel/linux/linux-yocto_5.0.bb b/poky/meta/recipes-kernel/linux/linux-yocto_5.0.bb index be5dbaedc..ae8f643e9 100644 --- a/poky/meta/recipes-kernel/linux/linux-yocto_5.0.bb +++ b/poky/meta/recipes-kernel/linux/linux-yocto_5.0.bb @@ -11,15 +11,15 @@ KBRANCH_qemux86 ?= "v5.0/standard/base" KBRANCH_qemux86-64 ?= "v5.0/standard/base" KBRANCH_qemumips64 ?= "v5.0/standard/mti-malta64" -SRCREV_machine_qemuarm ?= "18a5ffa0e90184c8503ff1df45e4e5e501b1bab3" -SRCREV_machine_qemuarm64 ?= "3df4aae6074e94e794e27fe7f17451d9353cdf3d" -SRCREV_machine_qemumips ?= "c4d3cd6437329407e2cc7e3e4615769452d426b1" -SRCREV_machine_qemuppc ?= "3df4aae6074e94e794e27fe7f17451d9353cdf3d" -SRCREV_machine_qemux86 ?= "3df4aae6074e94e794e27fe7f17451d9353cdf3d" -SRCREV_machine_qemux86-64 ?= "3df4aae6074e94e794e27fe7f17451d9353cdf3d" -SRCREV_machine_qemumips64 ?= "2468c20c15477ebe5ecd73c0e0162d7432149318" -SRCREV_machine ?= "3df4aae6074e94e794e27fe7f17451d9353cdf3d" -SRCREV_meta ?= "705457837e7ddd27e4e2ecf6d3dbd255b1aaf848" +SRCREV_machine_qemuarm ?= "99f3821bdc8718af3ef6e96d594b593d644ab2e4" +SRCREV_machine_qemuarm64 ?= "891531d68e5101bf64be1cc1cb31e3d1255cf382" +SRCREV_machine_qemumips ?= "1128cfe6c7915535c4066b75342c952640e65d72" +SRCREV_machine_qemuppc ?= "891531d68e5101bf64be1cc1cb31e3d1255cf382" +SRCREV_machine_qemux86 ?= "891531d68e5101bf64be1cc1cb31e3d1255cf382" +SRCREV_machine_qemux86-64 ?= "891531d68e5101bf64be1cc1cb31e3d1255cf382" +SRCREV_machine_qemumips64 ?= "55e385d52db438df1ff7ad3845c9076b2bb221eb" +SRCREV_machine ?= "891531d68e5101bf64be1cc1cb31e3d1255cf382" +SRCREV_meta ?= "d26eec23cf1057a715c05777a18f395678fcbf38" # remap qemuarm to qemuarma15 for the 5.0 kernel # KMACHINE_qemuarm ?= "qemuarma15" @@ -28,7 +28,7 @@ SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;name=machine;branch=${KBRA git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.0;destsuffix=${KMETA}" LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814" -LINUX_VERSION ?= "5.0.3" +LINUX_VERSION ?= "5.0.7" DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}" DEPENDS += "openssl-native util-linux-native" @@ -39,6 +39,7 @@ KMETA = "kernel-meta" KCONF_BSP_AUDIT_LEVEL = "2" KERNEL_DEVICETREE_qemuarm = "versatile-pb.dtb" +KERNEL_DEVICETREE_qemuarmv5 = "versatile-pb.dtb" COMPATIBLE_MACHINE = "qemuarm|qemuarmv5|qemuarm64|qemux86|qemuppc|qemumips|qemumips64|qemux86-64" diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0001-Fix-signal-Distinguish-between-kernel_siginfo-and-si.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0001-Fix-signal-Distinguish-between-kernel_siginfo-and-si.patch deleted file mode 100644 index 351184dab..000000000 --- a/poky/meta/recipes-kernel/lttng/lttng-modules/0001-Fix-signal-Distinguish-between-kernel_siginfo-and-si.patch +++ /dev/null @@ -1,133 +0,0 @@ -From 0a0d736ec89dffdbc83e7181166a99d5563acfe8 Mon Sep 17 00:00:00 2001 -From: Michael Jeanson <mjeanson@efficios.com> -Date: Mon, 5 Nov 2018 11:35:52 -0500 -Subject: [PATCH 1/9] Fix: signal: Distinguish between kernel_siginfo and - siginfo (v4.20) - -See upstream commit : - - commit ae7795bc6187a15ec51cf258abae656a625f9980 - Author: Eric W. Biederman <ebiederm@xmission.com> - Date: Tue Sep 25 11:27:20 2018 +0200 - - signal: Distinguish between kernel_siginfo and siginfo - - Linus recently observed that if we did not worry about the padding - member in struct siginfo it is only about 48 bytes, and 48 bytes is - much nicer than 128 bytes for allocating on the stack and copying - around in the kernel. - - The obvious thing of only adding the padding when userspace is - including siginfo.h won't work as there are sigframe definitions in - the kernel that embed struct siginfo. - - So split siginfo in two; kernel_siginfo and siginfo. Keeping the - traditional name for the userspace definition. While the version that - is used internally to the kernel and ultimately will not be padded to - 128 bytes is called kernel_siginfo. - - The definition of struct kernel_siginfo I have put in include/signal_types.h - - A set of buildtime checks has been added to verify the two structures have - the same field offsets. - - To make it easy to verify the change kernel_siginfo retains the same - size as siginfo. The reduction in size comes in a following change. - -Signed-off-by: Michael Jeanson <mjeanson@efficios.com> -Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> - -Upstream-Status: backport https://github.com/lttng/lttng-modules/commit/0a0d736ec89dffdbc83e7181166a99d5563acfe8 - -Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> ---- - instrumentation/events/lttng-module/signal.h | 41 ++++++++++++++++++-- - 1 file changed, 37 insertions(+), 4 deletions(-) - -diff --git a/instrumentation/events/lttng-module/signal.h b/instrumentation/events/lttng-module/signal.h -index b3c9126..8783b52 100644 ---- a/instrumentation/events/lttng-module/signal.h -+++ b/instrumentation/events/lttng-module/signal.h -@@ -35,21 +35,24 @@ - * SEND_SIG_NOINFO means that si_code is SI_USER, and SEND_SIG_PRIV - * means that si_code is SI_KERNEL. - */ --#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,4,0)) -+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,20,0)) - LTTNG_TRACEPOINT_EVENT(signal_generate, - -- TP_PROTO(int sig, struct siginfo *info, struct task_struct *task), -+ TP_PROTO(int sig, struct kernel_siginfo *info, struct task_struct *task, -+ int group, int result), - -- TP_ARGS(sig, info, task), -+ TP_ARGS(sig, info, task, group, result), - - TP_FIELDS( - ctf_integer(int, sig, sig) - LTTNG_FIELDS_SIGINFO(info) - ctf_array_text(char, comm, task->comm, TASK_COMM_LEN) - ctf_integer(pid_t, pid, task->pid) -+ ctf_integer(int, group, group) -+ ctf_integer(int, result, result) - ) - ) --#else -+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,4,0)) - LTTNG_TRACEPOINT_EVENT(signal_generate, - - TP_PROTO(int sig, struct siginfo *info, struct task_struct *task, -@@ -66,6 +69,20 @@ LTTNG_TRACEPOINT_EVENT(signal_generate, - ctf_integer(int, result, result) - ) - ) -+#else -+LTTNG_TRACEPOINT_EVENT(signal_generate, -+ -+ TP_PROTO(int sig, struct siginfo *info, struct task_struct *task), -+ -+ TP_ARGS(sig, info, task), -+ -+ TP_FIELDS( -+ ctf_integer(int, sig, sig) -+ LTTNG_FIELDS_SIGINFO(info) -+ ctf_array_text(char, comm, task->comm, TASK_COMM_LEN) -+ ctf_integer(pid_t, pid, task->pid) -+ ) -+) - #endif - - /** -@@ -82,6 +99,21 @@ LTTNG_TRACEPOINT_EVENT(signal_generate, - * This means, this can show which signals are actually delivered, but - * matching generated signals and delivered signals may not be correct. - */ -+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,20,0)) -+LTTNG_TRACEPOINT_EVENT(signal_deliver, -+ -+ TP_PROTO(int sig, struct kernel_siginfo *info, struct k_sigaction *ka), -+ -+ TP_ARGS(sig, info, ka), -+ -+ TP_FIELDS( -+ ctf_integer(int, sig, sig) -+ LTTNG_FIELDS_SIGINFO(info) -+ ctf_integer(unsigned long, sa_handler, (unsigned long) ka->sa.sa_handler) -+ ctf_integer(unsigned long, sa_flags, ka->sa.sa_flags) -+ ) -+) -+#else - LTTNG_TRACEPOINT_EVENT(signal_deliver, - - TP_PROTO(int sig, struct siginfo *info, struct k_sigaction *ka), -@@ -95,6 +127,7 @@ LTTNG_TRACEPOINT_EVENT(signal_deliver, - ctf_integer(unsigned long, sa_flags, ka->sa.sa_flags) - ) - ) -+#endif - - #if (LINUX_VERSION_CODE < KERNEL_VERSION(3,4,0)) - LTTNG_TRACEPOINT_EVENT_CLASS(signal_queue_overflow, --- -2.19.1 - diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0002-Fix-signal-Remove-SEND_SIG_FORCED-v4.20.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0002-Fix-signal-Remove-SEND_SIG_FORCED-v4.20.patch deleted file mode 100644 index 905b68165..000000000 --- a/poky/meta/recipes-kernel/lttng/lttng-modules/0002-Fix-signal-Remove-SEND_SIG_FORCED-v4.20.patch +++ /dev/null @@ -1,67 +0,0 @@ -From 26bc064a4d4c85e6000393aadb38659f99b59162 Mon Sep 17 00:00:00 2001 -From: Michael Jeanson <mjeanson@efficios.com> -Date: Mon, 5 Nov 2018 11:35:53 -0500 -Subject: [PATCH 2/9] Fix: signal: Remove SEND_SIG_FORCED (v4.20) - -See upstream commit : - - commit 4ff4c31a6e85f4c49fbeebeaa28018d002884b5a - Author: Eric W. Biederman <ebiederm@xmission.com> - Date: Mon Sep 3 10:39:04 2018 +0200 - - signal: Remove SEND_SIG_FORCED - - There are no more users of SEND_SIG_FORCED so it may be safely removed. - - Remove the definition of SEND_SIG_FORCED, it's use in is_si_special, - it's use in TP_STORE_SIGINFO, and it's use in __send_signal as without - any users the uses of SEND_SIG_FORCED are now unncessary. - - This makes the code simpler, easier to understand and use. Users of - signal sending functions now no longer need to ask themselves do I - need to use SEND_SIG_FORCED. - -Signed-off-by: Michael Jeanson <mjeanson@efficios.com> -Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> - -Upstream-Status: backport https://github.com/lttng/lttng-modules/commit/26bc064a4d4c85e6000393aadb38659f99b59162 - -Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> - ---- - instrumentation/events/lttng-module/signal.h | 12 ++++++++++++ - 1 file changed, 12 insertions(+) - -diff --git a/instrumentation/events/lttng-module/signal.h b/instrumentation/events/lttng-module/signal.h -index 8783b52..ad8fe69 100644 ---- a/instrumentation/events/lttng-module/signal.h -+++ b/instrumentation/events/lttng-module/signal.h -@@ -12,6 +12,17 @@ - #include <linux/signal.h> - #include <linux/sched.h> - #undef LTTNG_FIELDS_SIGINFO -+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,20,0)) -+#define LTTNG_FIELDS_SIGINFO(info) \ -+ ctf_integer(int, errno, \ -+ (info == SEND_SIG_NOINFO || info == SEND_SIG_PRIV) ? \ -+ 0 : \ -+ info->si_errno) \ -+ ctf_integer(int, code, \ -+ (info == SEND_SIG_NOINFO) ? \ -+ SI_USER : \ -+ ((info == SEND_SIG_PRIV) ? SI_KERNEL : info->si_code)) -+#else /* LINUX_VERSION_CODE >= KERNEL_VERSION(4,20,0) */ - #define LTTNG_FIELDS_SIGINFO(info) \ - ctf_integer(int, errno, \ - (info == SEND_SIG_NOINFO || info == SEND_SIG_FORCED || info == SEND_SIG_PRIV) ? \ -@@ -21,6 +32,7 @@ - (info == SEND_SIG_NOINFO || info == SEND_SIG_FORCED) ? \ - SI_USER : \ - ((info == SEND_SIG_PRIV) ? SI_KERNEL : info->si_code)) -+#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(4,20,0) */ - #endif /* _TRACE_SIGNAL_DEF */ - - /** --- -2.19.1 - diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0003-Fix-ext4-adjust-reserved-cluster-count-when-removing.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0003-Fix-ext4-adjust-reserved-cluster-count-when-removing.patch deleted file mode 100644 index 7edffee54..000000000 --- a/poky/meta/recipes-kernel/lttng/lttng-modules/0003-Fix-ext4-adjust-reserved-cluster-count-when-removing.patch +++ /dev/null @@ -1,149 +0,0 @@ -From cb9f1a821bcf55cecf3813195fd6d4eff8070927 Mon Sep 17 00:00:00 2001 -From: Michael Jeanson <mjeanson@efficios.com> -Date: Mon, 5 Nov 2018 11:35:54 -0500 -Subject: [PATCH 3/9] Fix: ext4: adjust reserved cluster count when removing - extents (v4.20) - -See upstream commit : - - commit 9fe671496b6c286f9033aedfc1718d67721da0ae - Author: Eric Whitney <enwlinux@gmail.com> - Date: Mon Oct 1 14:25:08 2018 -0400 - - ext4: adjust reserved cluster count when removing extents - - Modify ext4_ext_remove_space() and the code it calls to correct the - reserved cluster count for pending reservations (delayed allocated - clusters shared with allocated blocks) when a block range is removed - from the extent tree. Pending reservations may be found for the clusters - at the ends of written or unwritten extents when a block range is removed. - If a physical cluster at the end of an extent is freed, it's necessary - to increment the reserved cluster count to maintain correct accounting - if the corresponding logical cluster is shared with at least one - delayed and unwritten extent as found in the extents status tree. - - Add a new function, ext4_rereserve_cluster(), to reapply a reservation - on a delayed allocated cluster sharing blocks with a freed allocated - cluster. To avoid ENOSPC on reservation, a flag is applied to - ext4_free_blocks() to briefly defer updating the freeclusters counter - when an allocated cluster is freed. This prevents another thread - from allocating the freed block before the reservation can be reapplied. - - Redefine the partial cluster object as a struct to carry more state - information and to clarify the code using it. - - Adjust the conditional code structure in ext4_ext_remove_space to - reduce the indentation level in the main body of the code to improve - readability. - -Signed-off-by: Michael Jeanson <mjeanson@efficios.com> -Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> - -Upstream-Status: backport https://github.com/lttng/lttng-modules/commit/cb9f1a821bcf55cecf3813195fd6d4eff8070927 - -Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> - ---- - instrumentation/events/lttng-module/ext4.h | 72 +++++++++++++++++++++- - 1 file changed, 69 insertions(+), 3 deletions(-) - -diff --git a/instrumentation/events/lttng-module/ext4.h b/instrumentation/events/lttng-module/ext4.h -index fe6f802..83a80ba 100644 ---- a/instrumentation/events/lttng-module/ext4.h -+++ b/instrumentation/events/lttng-module/ext4.h -@@ -1602,7 +1602,30 @@ LTTNG_TRACEPOINT_EVENT(ext4_ext_show_extent, - ) - ) - --#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,11,0)) -+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,20,0)) -+ -+LTTNG_TRACEPOINT_EVENT(ext4_remove_blocks, -+ TP_PROTO(struct inode *inode, struct ext4_extent *ex, -+ ext4_lblk_t from, ext4_fsblk_t to, -+ struct partial_cluster *pc), -+ -+ TP_ARGS(inode, ex, from, to, pc), -+ -+ TP_FIELDS( -+ ctf_integer(dev_t, dev, inode->i_sb->s_dev) -+ ctf_integer(ino_t, ino, inode->i_ino) -+ ctf_integer(ext4_lblk_t, from, from) -+ ctf_integer(ext4_lblk_t, to, to) -+ ctf_integer(ext4_fsblk_t, ee_pblk, ext4_ext_pblock(ex)) -+ ctf_integer(ext4_lblk_t, ee_lblk, le32_to_cpu(ex->ee_block)) -+ ctf_integer(unsigned short, ee_len, ext4_ext_get_actual_len(ex)) -+ ctf_integer(ext4_fsblk_t, pc_pclu, pc->pclu) -+ ctf_integer(ext4_lblk_t, pc_lblk, pc->lblk) -+ ctf_integer(int, pc_state, pc->state) -+ ) -+) -+ -+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,11,0)) - - LTTNG_TRACEPOINT_EVENT(ext4_remove_blocks, - TP_PROTO(struct inode *inode, struct ext4_extent *ex, -@@ -1646,7 +1669,29 @@ LTTNG_TRACEPOINT_EVENT(ext4_remove_blocks, - - #endif - --#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,11,0)) -+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,20,0)) -+ -+LTTNG_TRACEPOINT_EVENT(ext4_ext_rm_leaf, -+ TP_PROTO(struct inode *inode, ext4_lblk_t start, -+ struct ext4_extent *ex, -+ struct partial_cluster *pc), -+ -+ TP_ARGS(inode, start, ex, pc), -+ -+ TP_FIELDS( -+ ctf_integer(dev_t, dev, inode->i_sb->s_dev) -+ ctf_integer(ino_t, ino, inode->i_ino) -+ ctf_integer(ext4_lblk_t, start, start) -+ ctf_integer(ext4_lblk_t, ee_lblk, le32_to_cpu(ex->ee_block)) -+ ctf_integer(ext4_fsblk_t, ee_pblk, ext4_ext_pblock(ex)) -+ ctf_integer(short, ee_len, ext4_ext_get_actual_len(ex)) -+ ctf_integer(ext4_fsblk_t, pc_pclu, pc->pclu) -+ ctf_integer(ext4_lblk_t, pc_lblk, pc->lblk) -+ ctf_integer(int, pc_state, pc->state) -+ ) -+) -+ -+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,11,0)) - - LTTNG_TRACEPOINT_EVENT(ext4_ext_rm_leaf, - TP_PROTO(struct inode *inode, ext4_lblk_t start, -@@ -1733,7 +1778,28 @@ LTTNG_TRACEPOINT_EVENT(ext4_ext_remove_space, - - #endif - --#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,11,0)) -+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,20,0)) -+ -+LTTNG_TRACEPOINT_EVENT(ext4_ext_remove_space_done, -+ TP_PROTO(struct inode *inode, ext4_lblk_t start, ext4_lblk_t end, -+ int depth, struct partial_cluster *pc, __le16 eh_entries), -+ -+ TP_ARGS(inode, start, end, depth, pc, eh_entries), -+ -+ TP_FIELDS( -+ ctf_integer(dev_t, dev, inode->i_sb->s_dev) -+ ctf_integer(ino_t, ino, inode->i_ino) -+ ctf_integer(ext4_lblk_t, start, start) -+ ctf_integer(ext4_lblk_t, end, end) -+ ctf_integer(int, depth, depth) -+ ctf_integer(unsigned short, eh_entries, le16_to_cpu(eh_entries)) -+ ctf_integer(ext4_fsblk_t, pc_pclu, pc->pclu) -+ ctf_integer(ext4_lblk_t, pc_lblk, pc->lblk) -+ ctf_integer(int, pc_state, pc->state) -+ ) -+) -+ -+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,11,0)) - - LTTNG_TRACEPOINT_EVENT(ext4_ext_remove_space_done, - TP_PROTO(struct inode *inode, ext4_lblk_t start, ext4_lblk_t end, --- -2.19.1 - diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0004-Fix-timer-instrumentation-for-RHEL-7.6.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0004-Fix-timer-instrumentation-for-RHEL-7.6.patch deleted file mode 100644 index b5d50dba1..000000000 --- a/poky/meta/recipes-kernel/lttng/lttng-modules/0004-Fix-timer-instrumentation-for-RHEL-7.6.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 4eaeb54a27fbf701c2a4908a6e90a978b93deb06 Mon Sep 17 00:00:00 2001 -From: Michael Jeanson <mjeanson@efficios.com> -Date: Thu, 6 Dec 2018 11:31:51 -0500 -Subject: [PATCH 4/9] Fix: timer instrumentation for RHEL 7.6 - -Signed-off-by: Michael Jeanson <mjeanson@efficios.com> -Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> - -Upstream-Status: backport https://github.com/lttng/lttng-modules/commit/4eaeb54a27fbf701c2a4908a6e90a978b93deb06 - -Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> ---- - instrumentation/events/lttng-module/timer.h | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/instrumentation/events/lttng-module/timer.h b/instrumentation/events/lttng-module/timer.h -index 6f0cb7f..8807ad5 100644 ---- a/instrumentation/events/lttng-module/timer.h -+++ b/instrumentation/events/lttng-module/timer.h -@@ -44,7 +44,8 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(timer_class, timer_init, - TP_ARGS(timer) - ) - --#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,2,0)) -+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,2,0) || \ -+ LTTNG_RHEL_KERNEL_RANGE(3,10,0,957,0,0, 3,11,0,0,0,0)) - /** - * timer_start - called when the timer is started - * @timer: pointer to struct timer_list --- -2.19.1 - diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0005-Fix-Remove-type-argument-from-access_ok-function-v5..patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0005-Fix-Remove-type-argument-from-access_ok-function-v5..patch deleted file mode 100644 index 2266bbd9e..000000000 --- a/poky/meta/recipes-kernel/lttng/lttng-modules/0005-Fix-Remove-type-argument-from-access_ok-function-v5..patch +++ /dev/null @@ -1,204 +0,0 @@ -From 0039dbe9891cfdf2c0d04691f83c2f342993dfd7 Mon Sep 17 00:00:00 2001 -From: Michael Jeanson <mjeanson@efficios.com> -Date: Wed, 9 Jan 2019 14:59:15 -0500 -Subject: [PATCH 5/9] Fix: Remove 'type' argument from access_ok() function - (v5.0) - -See upstream commit : - - commit 96d4f267e40f9509e8a66e2b39e8b95655617693 - Author: Linus Torvalds <torvalds@linux-foundation.org> - Date: Thu Jan 3 18:57:57 2019 -0800 - - Remove 'type' argument from access_ok() function - - Nobody has actually used the type (VERIFY_READ vs VERIFY_WRITE) argument - of the user address range verification function since we got rid of the - old racy i386-only code to walk page tables by hand. - - It existed because the original 80386 would not honor the write protect - bit when in kernel mode, so you had to do COW by hand before doing any - user access. But we haven't supported that in a long time, and these - days the 'type' argument is a purely historical artifact. - - A discussion about extending 'user_access_begin()' to do the range - checking resulted this patch, because there is no way we're going to - move the old VERIFY_xyz interface to that model. And it's best done at - the end of the merge window when I've done most of my merges, so let's - just get this done once and for all. - - This patch was mostly done with a sed-script, with manual fix-ups for - the cases that weren't of the trivial 'access_ok(VERIFY_xyz' form. - - There were a couple of notable cases: - - - csky still had the old "verify_area()" name as an alias. - - - the iter_iov code had magical hardcoded knowledge of the actual - values of VERIFY_{READ,WRITE} (not that they mattered, since nothing - really used it) - - - microblaze used the type argument for a debug printout - - but other than those oddities this should be a total no-op patch. - - I tried to fix up all architectures, did fairly extensive grepping for - access_ok() uses, and the changes are trivial, but I may have missed - something. Any missed conversion should be trivially fixable, though. - -Signed-off-by: Michael Jeanson <mjeanson@efficios.com> -Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> - -Upstream-Status: backport https://github.com/lttng/lttng-modules/commit/0039dbe9891cfdf2c0d04691f83c2f342993dfd7 - -Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> ---- - lib/ringbuffer/backend.h | 8 ++++---- - lib/ringbuffer/ring_buffer_iterator.c | 3 ++- - lttng-filter-interpreter.c | 4 ++-- - probes/lttng-probe-user.c | 3 ++- - wrapper/uaccess.h | 28 +++++++++++++++++++++++++++ - 5 files changed, 38 insertions(+), 8 deletions(-) - create mode 100644 wrapper/uaccess.h - -diff --git a/lib/ringbuffer/backend.h b/lib/ringbuffer/backend.h -index 0b75de8..3f8c108 100644 ---- a/lib/ringbuffer/backend.h -+++ b/lib/ringbuffer/backend.h -@@ -34,7 +34,7 @@ - #include <linux/list.h> - #include <linux/fs.h> - #include <linux/mm.h> --#include <linux/uaccess.h> -+#include <wrapper/uaccess.h> - - /* Internal helpers */ - #include <wrapper/ringbuffer/backend_internal.h> -@@ -302,7 +302,7 @@ void lib_ring_buffer_copy_from_user_inatomic(const struct lib_ring_buffer_config - - set_fs(KERNEL_DS); - pagefault_disable(); -- if (unlikely(!access_ok(VERIFY_READ, src, len))) -+ if (unlikely(!lttng_access_ok(VERIFY_READ, src, len))) - goto fill_buffer; - - if (likely(pagecpy == len)) { -@@ -372,7 +372,7 @@ void lib_ring_buffer_strcpy_from_user_inatomic(const struct lib_ring_buffer_conf - - set_fs(KERNEL_DS); - pagefault_disable(); -- if (unlikely(!access_ok(VERIFY_READ, src, len))) -+ if (unlikely(!lttng_access_ok(VERIFY_READ, src, len))) - goto fill_buffer; - - if (likely(pagecpy == len)) { -@@ -462,7 +462,7 @@ unsigned long lib_ring_buffer_copy_from_user_check_nofault(void *dest, - unsigned long ret; - mm_segment_t old_fs; - -- if (!access_ok(VERIFY_READ, src, len)) -+ if (!lttng_access_ok(VERIFY_READ, src, len)) - return 1; - old_fs = get_fs(); - set_fs(KERNEL_DS); -diff --git a/lib/ringbuffer/ring_buffer_iterator.c b/lib/ringbuffer/ring_buffer_iterator.c -index 61eaa5b..9645946 100644 ---- a/lib/ringbuffer/ring_buffer_iterator.c -+++ b/lib/ringbuffer/ring_buffer_iterator.c -@@ -27,6 +27,7 @@ - - #include <wrapper/ringbuffer/iterator.h> - #include <wrapper/file.h> -+#include <wrapper/uaccess.h> - #include <linux/jiffies.h> - #include <linux/delay.h> - #include <linux/module.h> -@@ -621,7 +622,7 @@ ssize_t channel_ring_buffer_file_read(struct file *filp, - ssize_t len; - - might_sleep(); -- if (!access_ok(VERIFY_WRITE, user_buf, count)) -+ if (!lttng_access_ok(VERIFY_WRITE, user_buf, count)) - return -EFAULT; - - /* Finish copy of previous record */ -diff --git a/lttng-filter-interpreter.c b/lttng-filter-interpreter.c -index e131462..bee2918 100644 ---- a/lttng-filter-interpreter.c -+++ b/lttng-filter-interpreter.c -@@ -24,7 +24,7 @@ - * SOFTWARE. - */ - --#include <linux/uaccess.h> -+#include <wrapper/uaccess.h> - #include <wrapper/frame.h> - #include <wrapper/types.h> - -@@ -46,7 +46,7 @@ char get_char(struct estack_entry *reg, size_t offset) - char c; - - /* Handle invalid access as end of string. */ -- if (unlikely(!access_ok(VERIFY_READ, -+ if (unlikely(!lttng_access_ok(VERIFY_READ, - reg->u.s.user_str + offset, - sizeof(c)))) - return '\0'; -diff --git a/probes/lttng-probe-user.c b/probes/lttng-probe-user.c -index 099a66b..ed566dd 100644 ---- a/probes/lttng-probe-user.c -+++ b/probes/lttng-probe-user.c -@@ -20,6 +20,7 @@ - - #include <linux/uaccess.h> - #include <linux/module.h> -+#include <wrapper/uaccess.h> - #include <probes/lttng-probe-user.h> - - /* -@@ -43,7 +44,7 @@ long lttng_strlen_user_inatomic(const char *addr) - char v; - unsigned long ret; - -- if (unlikely(!access_ok(VERIFY_READ, -+ if (unlikely(!lttng_access_ok(VERIFY_READ, - (__force const char __user *) addr, - sizeof(v)))) - break; -diff --git a/wrapper/uaccess.h b/wrapper/uaccess.h -new file mode 100644 -index 0000000..c56427c ---- /dev/null -+++ b/wrapper/uaccess.h -@@ -0,0 +1,28 @@ -+/* SPDX-License-Identifier: (GPL-2.0 or LGPL-2.1) -+ * -+ * wrapper/uaccess.h -+ * -+ * wrapper around linux/uaccess.h. -+ * -+ * Copyright (C) 2019 Michael Jeanson <mjeanson@efficios.com> -+ */ -+ -+#ifndef _LTTNG_WRAPPER_UACCESS_H -+#define _LTTNG_WRAPPER_UACCESS_H -+ -+#include <linux/uaccess.h> -+#include <lttng-kernel-version.h> -+ -+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,0,0)) -+ -+#define VERIFY_READ 0 -+#define VERIFY_WRITE 1 -+#define lttng_access_ok(type, addr, size) access_ok(addr, size) -+ -+#else /* LINUX_VERSION_CODE >= KERNEL_VERSION(5,0,0) */ -+ -+#define lttng_access_ok(type, addr, size) access_ok(type, addr, size) -+ -+#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(5,0,0) */ -+ -+#endif /* _LTTNG_WRAPPER_UACCESS_H */ --- -2.19.1 - diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0006-Fix-Replace-pointer-values-with-task-tk_pid-and-rpc_.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0006-Fix-Replace-pointer-values-with-task-tk_pid-and-rpc_.patch deleted file mode 100644 index 089486f51..000000000 --- a/poky/meta/recipes-kernel/lttng/lttng-modules/0006-Fix-Replace-pointer-values-with-task-tk_pid-and-rpc_.patch +++ /dev/null @@ -1,186 +0,0 @@ -From 89f0be35e1baf411df6852014013ac64ad1bbcf8 Mon Sep 17 00:00:00 2001 -From: Michael Jeanson <mjeanson@efficios.com> -Date: Wed, 9 Jan 2019 14:59:16 -0500 -Subject: [PATCH 6/9] Fix: Replace pointer values with task->tk_pid and - rpc_clnt->cl_clid - -Introduced in v3.12. - -See upstream commit : - - commit 92cb6c5be8134db6f7c38f25f6afd13e444cebaf - Author: Trond Myklebust <Trond.Myklebust@netapp.com> - Date: Wed Sep 4 22:09:50 2013 -0400 - - SUNRPC: Replace pointer values with task->tk_pid and rpc_clnt->cl_clid - - Instead of the pointer values, use the task and client identifier values - for tracing purposes. - -Signed-off-by: Michael Jeanson <mjeanson@efficios.com> -Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> - -Upstream-Status: backport https://github.com/lttng/lttng-modules/commit/89f0be35e1baf411df6852014013ac64ad1bbcf8 - -Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> ---- - instrumentation/events/lttng-module/rpc.h | 108 ++++++++++++++++++++-- - 1 file changed, 102 insertions(+), 6 deletions(-) - -diff --git a/instrumentation/events/lttng-module/rpc.h b/instrumentation/events/lttng-module/rpc.h -index b9e45fe..a4ac557 100644 ---- a/instrumentation/events/lttng-module/rpc.h -+++ b/instrumentation/events/lttng-module/rpc.h -@@ -8,6 +8,20 @@ - #include <linux/sunrpc/sched.h> - #include <linux/sunrpc/clnt.h> - -+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0)) -+LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_status, -+ -+ TP_PROTO(struct rpc_task *task), -+ -+ TP_ARGS(task), -+ -+ TP_FIELDS( -+ ctf_integer(unsigned int, task_id, task->tk_pid) -+ ctf_integer(unsigned int, client_id, task->tk_client->cl_clid) -+ ctf_integer(int, status, task->tk_status) -+ ) -+) -+#else - LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_status, - - TP_PROTO(struct rpc_task *task), -@@ -20,6 +34,7 @@ LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_status, - ctf_integer(int, status, task->tk_status) - ) - ) -+#endif - - LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_status, rpc_call_status, - TP_PROTO(struct rpc_task *task), -@@ -40,8 +55,8 @@ LTTNG_TRACEPOINT_EVENT(rpc_connect_status, - TP_ARGS(task), - - TP_FIELDS( -- ctf_integer_hex(const struct rpc_task *, task, task) -- ctf_integer_hex(const struct rpc_clnt *, clnt, task->tk_client) -+ ctf_integer(unsigned int, task_id, task->tk_pid) -+ ctf_integer(unsigned int, client_id, task->tk_client->cl_clid) - ctf_integer(int, status, task->tk_status) - ) - ) -@@ -53,8 +68,8 @@ LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_running, - TP_ARGS(task, action), - - TP_FIELDS( -- ctf_integer_hex(const struct rpc_clnt *, clnt, task->tk_client) -- ctf_integer_hex(const struct rpc_task *, task, task) -+ ctf_integer(unsigned int, task_id, task->tk_pid) -+ ctf_integer(unsigned int, client_id, task->tk_client->cl_clid) - ctf_integer_hex(const void *, action, action) - ctf_integer(unsigned long, runstate, task->tk_runstate) - ctf_integer(int, status, task->tk_status) -@@ -90,8 +105,8 @@ LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_queued, - TP_ARGS(task, q), - - TP_FIELDS( -- ctf_integer_hex(const struct rpc_clnt *, clnt, task->tk_client) -- ctf_integer_hex(const struct rpc_task *, task, task) -+ ctf_integer(unsigned int, task_id, task->tk_pid) -+ ctf_integer(unsigned int, client_id, task->tk_client->cl_clid) - ctf_integer(unsigned long, timeout, task->tk_timeout) - ctf_integer(unsigned long, runstate, task->tk_runstate) - ctf_integer(int, status, task->tk_status) -@@ -114,6 +129,87 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_queued, rpc_task_wakeup, - TP_ARGS(task, q) - ) - -+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0)) -+LTTNG_TRACEPOINT_EVENT(rpc_connect_status, -+ TP_PROTO(struct rpc_task *task, int status), -+ -+ TP_ARGS(task, status), -+ -+ TP_FIELDS( -+ ctf_integer(unsigned int, task_id, task->tk_pid) -+ ctf_integer(unsigned int, client_id, task->tk_client->cl_clid) -+ ctf_integer(int, status, status) -+ ) -+) -+ -+LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_running, -+ -+ TP_PROTO(const struct rpc_clnt *clnt, const struct rpc_task *task, const void *action), -+ -+ TP_ARGS(clnt, task, action), -+ -+ TP_FIELDS( -+ ctf_integer(unsigned int, task_id, task->tk_pid) -+ ctf_integer(unsigned int, client_id, task->tk_client->cl_clid) -+ ctf_integer_hex(const void *, action, action) -+ ctf_integer(unsigned long, runstate, task->tk_runstate) -+ ctf_integer(int, status, task->tk_status) -+ ctf_integer(unsigned short, flags, task->tk_flags) -+ ) -+) -+ -+LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_running, rpc_task_begin, -+ -+ TP_PROTO(const struct rpc_clnt *clnt, const struct rpc_task *task, const void *action), -+ -+ TP_ARGS(clnt, task, action) -+) -+ -+LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_running, rpc_task_run_action, -+ -+ TP_PROTO(const struct rpc_clnt *clnt, const struct rpc_task *task, const void *action), -+ -+ TP_ARGS(clnt, task, action) -+) -+ -+LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_running, rpc_task_complete, -+ -+ TP_PROTO(const struct rpc_clnt *clnt, const struct rpc_task *task, const void *action), -+ -+ TP_ARGS(clnt, task, action) -+) -+ -+LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_queued, -+ -+ TP_PROTO(const struct rpc_clnt *clnt, const struct rpc_task *task, const struct rpc_wait_queue *q), -+ -+ TP_ARGS(clnt, task, q), -+ -+ TP_FIELDS( -+ ctf_integer(unsigned int, task_id, task->tk_pid) -+ ctf_integer(unsigned int, client_id, task->tk_client->cl_clid) -+ ctf_integer(unsigned long, timeout, task->tk_timeout) -+ ctf_integer(unsigned long, runstate, task->tk_runstate) -+ ctf_integer(int, status, task->tk_status) -+ ctf_integer(unsigned short, flags, task->tk_flags) -+ ctf_string(q_name, rpc_qname(q)) -+ ) -+) -+ -+LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_queued, rpc_task_sleep, -+ -+ TP_PROTO(const struct rpc_clnt *clnt, const struct rpc_task *task, const struct rpc_wait_queue *q), -+ -+ TP_ARGS(clnt, task, q) -+) -+ -+LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_queued, rpc_task_wakeup, -+ -+ TP_PROTO(const struct rpc_clnt *clnt, const struct rpc_task *task, const struct rpc_wait_queue *q), -+ -+ TP_ARGS(clnt, task, q) -+) -+ - #else - LTTNG_TRACEPOINT_EVENT(rpc_connect_status, - TP_PROTO(struct rpc_task *task, int status), --- -2.19.1 - diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0007-Fix-SUNRPC-Simplify-defining-common-RPC-trace-events.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0007-Fix-SUNRPC-Simplify-defining-common-RPC-trace-events.patch deleted file mode 100644 index f3673301d..000000000 --- a/poky/meta/recipes-kernel/lttng/lttng-modules/0007-Fix-SUNRPC-Simplify-defining-common-RPC-trace-events.patch +++ /dev/null @@ -1,183 +0,0 @@ -From d11b568681f87c2df6ecb0516d3f16d153f24bd2 Mon Sep 17 00:00:00 2001 -From: Michael Jeanson <mjeanson@efficios.com> -Date: Wed, 9 Jan 2019 14:59:17 -0500 -Subject: [PATCH 7/9] Fix: SUNRPC: Simplify defining common RPC trace events - (v5.0) - -See upstream commit : - - commit dc5820bd21d84ee34770b0a1e2fca9378f8f7456 - Author: Chuck Lever <chuck.lever@oracle.com> - Date: Wed Dec 19 11:00:16 2018 -0500 - - SUNRPC: Simplify defining common RPC trace events - - Clean up, no functional change is expected. - -Signed-off-by: Michael Jeanson <mjeanson@efficios.com> -Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> - -Upstream-Status: backport https://github.com/lttng/lttng-modules/commit/d11b568681f87c2df6ecb0516d3f16d153f24bd2 - -Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> ---- - instrumentation/events/lttng-module/rpc.h | 99 ++++++++++++++++------- - 1 file changed, 72 insertions(+), 27 deletions(-) - -diff --git a/instrumentation/events/lttng-module/rpc.h b/instrumentation/events/lttng-module/rpc.h -index a4ac557..4239280 100644 ---- a/instrumentation/events/lttng-module/rpc.h -+++ b/instrumentation/events/lttng-module/rpc.h -@@ -8,7 +8,32 @@ - #include <linux/sunrpc/sched.h> - #include <linux/sunrpc/clnt.h> - --#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0)) -+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,0,0)) -+LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_status, -+ -+ TP_PROTO(const struct rpc_task *task), -+ -+ TP_ARGS(task), -+ -+ TP_FIELDS( -+ ctf_integer(unsigned int, task_id, task->tk_pid) -+ ctf_integer(unsigned int, client_id, task->tk_client->cl_clid) -+ ctf_integer(int, status, task->tk_status) -+ ) -+) -+ -+LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_status, rpc_call_status, -+ TP_PROTO(const struct rpc_task *task), -+ -+ TP_ARGS(task) -+) -+ -+LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_status, rpc_bind_status, -+ TP_PROTO(const struct rpc_task *task), -+ -+ TP_ARGS(task) -+) -+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0)) - LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_status, - - TP_PROTO(struct rpc_task *task), -@@ -21,6 +46,18 @@ LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_status, - ctf_integer(int, status, task->tk_status) - ) - ) -+ -+LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_status, rpc_call_status, -+ TP_PROTO(struct rpc_task *task), -+ -+ TP_ARGS(task) -+) -+ -+LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_status, rpc_bind_status, -+ TP_PROTO(struct rpc_task *task), -+ -+ TP_ARGS(task) -+) - #else - LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_status, - -@@ -34,7 +71,6 @@ LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_status, - ctf_integer(int, status, task->tk_status) - ) - ) --#endif - - LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_status, rpc_call_status, - TP_PROTO(struct rpc_task *task), -@@ -47,8 +83,15 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_status, rpc_bind_status, - - TP_ARGS(task) - ) -+#endif - --#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,17,0)) -+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,0,0)) -+LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_status, rpc_connect_status, -+ TP_PROTO(const struct rpc_task *task), -+ -+ TP_ARGS(task) -+) -+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,17,0)) - LTTNG_TRACEPOINT_EVENT(rpc_connect_status, - TP_PROTO(const struct rpc_task *task), - -@@ -60,7 +103,33 @@ LTTNG_TRACEPOINT_EVENT(rpc_connect_status, - ctf_integer(int, status, task->tk_status) - ) - ) -+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0)) -+LTTNG_TRACEPOINT_EVENT(rpc_connect_status, -+ TP_PROTO(struct rpc_task *task, int status), -+ -+ TP_ARGS(task, status), -+ -+ TP_FIELDS( -+ ctf_integer(unsigned int, task_id, task->tk_pid) -+ ctf_integer(unsigned int, client_id, task->tk_client->cl_clid) -+ ctf_integer(int, status, status) -+ ) -+) -+#else -+LTTNG_TRACEPOINT_EVENT(rpc_connect_status, -+ TP_PROTO(struct rpc_task *task, int status), -+ -+ TP_ARGS(task, status), -+ -+ TP_FIELDS( -+ ctf_integer_hex(const struct rpc_task *, task, task) -+ ctf_integer_hex(const struct rpc_clnt *, clnt, task->tk_client) -+ ctf_integer(int, status, status) -+ ) -+) -+#endif - -+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,17,0)) - LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_running, - - TP_PROTO(const struct rpc_task *task, const void *action), -@@ -130,18 +199,6 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_queued, rpc_task_wakeup, - ) - - #elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0)) --LTTNG_TRACEPOINT_EVENT(rpc_connect_status, -- TP_PROTO(struct rpc_task *task, int status), -- -- TP_ARGS(task, status), -- -- TP_FIELDS( -- ctf_integer(unsigned int, task_id, task->tk_pid) -- ctf_integer(unsigned int, client_id, task->tk_client->cl_clid) -- ctf_integer(int, status, status) -- ) --) -- - LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_running, - - TP_PROTO(const struct rpc_clnt *clnt, const struct rpc_task *task, const void *action), -@@ -211,18 +268,6 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_queued, rpc_task_wakeup, - ) - - #else --LTTNG_TRACEPOINT_EVENT(rpc_connect_status, -- TP_PROTO(struct rpc_task *task, int status), -- -- TP_ARGS(task, status), -- -- TP_FIELDS( -- ctf_integer_hex(const struct rpc_task *, task, task) -- ctf_integer_hex(const struct rpc_clnt *, clnt, task->tk_client) -- ctf_integer(int, status, status) -- ) --) -- - LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_running, - - TP_PROTO(const struct rpc_clnt *clnt, const struct rpc_task *task, const void *action), --- -2.19.1 - diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0008-Fix-btrfs-Remove-fsid-metadata_fsid-fields-from-btrf.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0008-Fix-btrfs-Remove-fsid-metadata_fsid-fields-from-btrf.patch deleted file mode 100644 index 5f1298995..000000000 --- a/poky/meta/recipes-kernel/lttng/lttng-modules/0008-Fix-btrfs-Remove-fsid-metadata_fsid-fields-from-btrf.patch +++ /dev/null @@ -1,341 +0,0 @@ -From 8af8245f6f86370d01cc4acaabafb90de45e143f Mon Sep 17 00:00:00 2001 -From: Michael Jeanson <mjeanson@efficios.com> -Date: Thu, 10 Jan 2019 14:56:15 -0500 -Subject: [PATCH 8/9] Fix: btrfs: Remove fsid/metadata_fsid fields from - btrfs_info - -Introduced in v5.0. - -See upstream commit : - - commit de37aa513105f864d3c21105bf5542d498f21ca2 - Author: Nikolay Borisov <nborisov@suse.com> - Date: Tue Oct 30 16:43:24 2018 +0200 - - btrfs: Remove fsid/metadata_fsid fields from btrfs_info - - Currently btrfs_fs_info structure contains a copy of the - fsid/metadata_uuid fields. Same values are also contained in the - btrfs_fs_devices structure which fs_info has a reference to. Let's - reduce duplication by removing the fields from fs_info and always refer - to the ones in fs_devices. No functional changes. - -Signed-off-by: Michael Jeanson <mjeanson@efficios.com> -Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> - -Upstream-Status: backport https://github.com/lttng/lttng-modules/commit/8af8245f6f86370d01cc4acaabafb90de45e143f - -Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> ---- - instrumentation/events/lttng-module/btrfs.h | 100 +++++++++++--------- - 1 file changed, 53 insertions(+), 47 deletions(-) - -diff --git a/instrumentation/events/lttng-module/btrfs.h b/instrumentation/events/lttng-module/btrfs.h -index 4dfbf5b..ec45a1e 100644 ---- a/instrumentation/events/lttng-module/btrfs.h -+++ b/instrumentation/events/lttng-module/btrfs.h -@@ -32,6 +32,12 @@ struct extent_state; - - #define BTRFS_UUID_SIZE 16 - -+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,0,0)) -+#define lttng_fs_info_fsid fs_info->fs_devices->fsid -+#else -+#define lttng_fs_info_fsid fs_info->fsid -+#endif -+ - #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,14,0) || \ - LTTNG_SLE_KERNEL_RANGE(4,4,73,5,0,0, 4,4,73,6,0,0) || \ - LTTNG_SLE_KERNEL_RANGE(4,4,82,6,0,0, 4,4,82,7,0,0) || \ -@@ -629,7 +635,7 @@ LTTNG_TRACEPOINT_EVENT(btrfs_add_block_group, - TP_ARGS(fs_info, block_group, create), - - TP_FIELDS( -- ctf_array(u8, fsid, fs_info->fsid, BTRFS_UUID_SIZE) -+ ctf_array(u8, fsid, lttng_fs_info_fsid, BTRFS_UUID_SIZE) - ctf_integer(u64, offset, block_group->key.objectid) - ctf_integer(u64, size, block_group->key.offset) - ctf_integer(u64, flags, block_group->flags) -@@ -647,7 +653,7 @@ LTTNG_TRACEPOINT_EVENT(btrfs_add_block_group, - TP_ARGS(fs_info, block_group, create), - - TP_FIELDS( -- ctf_array(u8, fsid, fs_info->fsid, BTRFS_UUID_SIZE) -+ ctf_array(u8, fsid, lttng_fs_info_fsid, BTRFS_UUID_SIZE) - ctf_integer(u64, offset, block_group->key.objectid) - ctf_integer(u64, size, block_group->key.offset) - ctf_integer(u64, flags, block_group->flags) -@@ -1015,18 +1021,18 @@ LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__chunk, - - LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__chunk, btrfs_chunk_alloc, - -- TP_PROTO(const struct btrfs_fs_info *info, const struct map_lookup *map, -+ TP_PROTO(const struct btrfs_fs_info *fs_info, const struct map_lookup *map, - u64 offset, u64 size), - -- TP_ARGS(info, map, offset, size) -+ TP_ARGS(fs_info, map, offset, size) - ) - - LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__chunk, btrfs_chunk_free, - -- TP_PROTO(const struct btrfs_fs_info *info, const struct map_lookup *map, -+ TP_PROTO(const struct btrfs_fs_info *fs_info, const struct map_lookup *map, - u64 offset, u64 size), - -- TP_ARGS(info, map, offset, size) -+ TP_ARGS(fs_info, map, offset, size) - ) - - #elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,10,0)) -@@ -1050,18 +1056,18 @@ LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__chunk, - - LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__chunk, btrfs_chunk_alloc, - -- TP_PROTO(struct btrfs_fs_info *info, struct map_lookup *map, -+ TP_PROTO(struct btrfs_fs_info *fs_info, struct map_lookup *map, - u64 offset, u64 size), - -- TP_ARGS(info, map, offset, size) -+ TP_ARGS(fs_info, map, offset, size) - ) - - LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__chunk, btrfs_chunk_free, - -- TP_PROTO(struct btrfs_fs_info *info, struct map_lookup *map, -+ TP_PROTO(struct btrfs_fs_info *fs_info, struct map_lookup *map, - u64 offset, u64 size), - -- TP_ARGS(info, map, offset, size) -+ TP_ARGS(fs_info, map, offset, size) - ) - - #elif (LTTNG_SLE_KERNEL_RANGE(4,4,73,5,0,0, 4,4,73,6,0,0) || \ -@@ -1192,7 +1198,7 @@ LTTNG_TRACEPOINT_EVENT(btrfs_space_reservation, - TP_ARGS(fs_info, type, val, bytes, reserve), - - TP_FIELDS( -- ctf_array(u8, fsid, fs_info->fsid, BTRFS_UUID_SIZE) -+ ctf_array(u8, fsid, lttng_fs_info_fsid, BTRFS_UUID_SIZE) - ctf_string(type, type) - ctf_integer(u64, val, val) - ctf_integer(u64, bytes, bytes) -@@ -1208,7 +1214,7 @@ LTTNG_TRACEPOINT_EVENT(btrfs_space_reservation, - TP_ARGS(fs_info, type, val, bytes, reserve), - - TP_FIELDS( -- ctf_array(u8, fsid, fs_info->fsid, BTRFS_UUID_SIZE) -+ ctf_array(u8, fsid, lttng_fs_info_fsid, BTRFS_UUID_SIZE) - ctf_string(type, type) - ctf_integer(u64, val, val) - ctf_integer(u64, bytes, bytes) -@@ -1221,9 +1227,9 @@ LTTNG_TRACEPOINT_EVENT(btrfs_space_reservation, - - LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserved_extent, - -- TP_PROTO(const struct btrfs_fs_info *info, u64 start, u64 len), -+ TP_PROTO(const struct btrfs_fs_info *fs_info, u64 start, u64 len), - -- TP_ARGS(info, start, len), -+ TP_ARGS(fs_info, start, len), - - TP_FIELDS( - ctf_integer(u64, start, start) -@@ -1233,25 +1239,25 @@ LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserved_extent, - - LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserved_extent, btrfs_reserved_extent_alloc, - -- TP_PROTO(const struct btrfs_fs_info *info, u64 start, u64 len), -+ TP_PROTO(const struct btrfs_fs_info *fs_info, u64 start, u64 len), - -- TP_ARGS(info, start, len) -+ TP_ARGS(fs_info, start, len) - ) - - LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserved_extent, btrfs_reserved_extent_free, - -- TP_PROTO(const struct btrfs_fs_info *info, u64 start, u64 len), -+ TP_PROTO(const struct btrfs_fs_info *fs_info, u64 start, u64 len), - -- TP_ARGS(info, start, len) -+ TP_ARGS(fs_info, start, len) - ) - - #elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,10,0)) - - LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserved_extent, - -- TP_PROTO(struct btrfs_fs_info *info, u64 start, u64 len), -+ TP_PROTO(struct btrfs_fs_info *fs_info, u64 start, u64 len), - -- TP_ARGS(info, start, len), -+ TP_ARGS(fs_info, start, len), - - TP_FIELDS( - ctf_integer(u64, start, start) -@@ -1261,16 +1267,16 @@ LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserved_extent, - - LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserved_extent, btrfs_reserved_extent_alloc, - -- TP_PROTO(struct btrfs_fs_info *info, u64 start, u64 len), -+ TP_PROTO(struct btrfs_fs_info *fs_info, u64 start, u64 len), - -- TP_ARGS(info, start, len) -+ TP_ARGS(fs_info, start, len) - ) - - LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserved_extent, btrfs_reserved_extent_free, - -- TP_PROTO(struct btrfs_fs_info *info, u64 start, u64 len), -+ TP_PROTO(struct btrfs_fs_info *fs_info, u64 start, u64 len), - -- TP_ARGS(info, start, len) -+ TP_ARGS(fs_info, start, len) - ) - - #elif (LTTNG_SLE_KERNEL_RANGE(4,4,73,5,0,0, 4,4,73,6,0,0) || \ -@@ -1341,13 +1347,13 @@ LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent, - - btrfs_find_free_extent, - -- TP_PROTO(const struct btrfs_fs_info *info, u64 num_bytes, u64 empty_size, -+ TP_PROTO(const struct btrfs_fs_info *fs_info, u64 num_bytes, u64 empty_size, - u64 data), - -- TP_ARGS(info, num_bytes, empty_size, data), -+ TP_ARGS(fs_info, num_bytes, empty_size, data), - - TP_FIELDS( -- ctf_array(u8, fsid, info->fsid, BTRFS_UUID_SIZE) -+ ctf_array(u8, fsid, lttng_fs_info_fsid, BTRFS_UUID_SIZE) - ctf_integer(u64, num_bytes, num_bytes) - ctf_integer(u64, empty_size, empty_size) - ctf_integer(u64, data, data) -@@ -1362,7 +1368,7 @@ LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserve_extent, - TP_ARGS(block_group, start, len), - - TP_FIELDS( -- ctf_array(u8, fsid, block_group->fs_info->fsid, BTRFS_UUID_SIZE) -+ ctf_array(u8, fsid, block_group->lttng_fs_info_fsid, BTRFS_UUID_SIZE) - ctf_integer(u64, bg_objectid, block_group->key.objectid) - ctf_integer(u64, flags, block_group->flags) - ctf_integer(u64, start, start) -@@ -1391,13 +1397,13 @@ LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent, - - btrfs_find_free_extent, - -- TP_PROTO(const struct btrfs_fs_info *info, u64 num_bytes, u64 empty_size, -+ TP_PROTO(const struct btrfs_fs_info *fs_info, u64 num_bytes, u64 empty_size, - u64 data), - -- TP_ARGS(info, num_bytes, empty_size, data), -+ TP_ARGS(fs_info, num_bytes, empty_size, data), - - TP_FIELDS( -- ctf_array(u8, fsid, info->fsid, BTRFS_UUID_SIZE) -+ ctf_array(u8, fsid, lttng_fs_info_fsid, BTRFS_UUID_SIZE) - ctf_integer(u64, num_bytes, num_bytes) - ctf_integer(u64, empty_size, empty_size) - ctf_integer(u64, data, data) -@@ -1406,14 +1412,14 @@ LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent, - - LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserve_extent, - -- TP_PROTO(const struct btrfs_fs_info *info, -+ TP_PROTO(const struct btrfs_fs_info *fs_info, - const struct btrfs_block_group_cache *block_group, u64 start, - u64 len), - -- TP_ARGS(info, block_group, start, len), -+ TP_ARGS(fs_info, block_group, start, len), - - TP_FIELDS( -- ctf_array(u8, fsid, info->fsid, BTRFS_UUID_SIZE) -+ ctf_array(u8, fsid, lttng_fs_info_fsid, BTRFS_UUID_SIZE) - ctf_integer(u64, bg_objectid, block_group->key.objectid) - ctf_integer(u64, flags, block_group->flags) - ctf_integer(u64, start, start) -@@ -1423,20 +1429,20 @@ LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserve_extent, - - LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserve_extent, btrfs_reserve_extent, - -- TP_PROTO(const struct btrfs_fs_info *info, -+ TP_PROTO(const struct btrfs_fs_info *fs_info, - const struct btrfs_block_group_cache *block_group, u64 start, - u64 len), - -- TP_ARGS(info, block_group, start, len) -+ TP_ARGS(fs_info, block_group, start, len) - ) - - LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserve_extent, btrfs_reserve_extent_cluster, - -- TP_PROTO(const struct btrfs_fs_info *info, -+ TP_PROTO(const struct btrfs_fs_info *fs_info, - const struct btrfs_block_group_cache *block_group, u64 start, - u64 len), - -- TP_ARGS(info, block_group, start, len) -+ TP_ARGS(fs_info, block_group, start, len) - ) - - #elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,10,0)) -@@ -1445,13 +1451,13 @@ LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent, - - btrfs_find_free_extent, - -- TP_PROTO(struct btrfs_fs_info *info, u64 num_bytes, u64 empty_size, -+ TP_PROTO(struct btrfs_fs_info *fs_info, u64 num_bytes, u64 empty_size, - u64 data), - -- TP_ARGS(info, num_bytes, empty_size, data), -+ TP_ARGS(fs_info, num_bytes, empty_size, data), - - TP_FIELDS( -- ctf_array(u8, fsid, info->fsid, BTRFS_UUID_SIZE) -+ ctf_array(u8, fsid, lttng_fs_info_fsid, BTRFS_UUID_SIZE) - ctf_integer(u64, num_bytes, num_bytes) - ctf_integer(u64, empty_size, empty_size) - ctf_integer(u64, data, data) -@@ -1460,11 +1466,11 @@ LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent, - - LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserve_extent, - -- TP_PROTO(struct btrfs_fs_info *info, -+ TP_PROTO(struct btrfs_fs_info *fs_info, - struct btrfs_block_group_cache *block_group, u64 start, - u64 len), - -- TP_ARGS(info, block_group, start, len), -+ TP_ARGS(fs_info, block_group, start, len), - - TP_FIELDS( - ctf_integer(u64, bg_objectid, block_group->key.objectid) -@@ -1476,20 +1482,20 @@ LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserve_extent, - - LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserve_extent, btrfs_reserve_extent, - -- TP_PROTO(struct btrfs_fs_info *info, -+ TP_PROTO(struct btrfs_fs_info *fs_info, - struct btrfs_block_group_cache *block_group, u64 start, - u64 len), - -- TP_ARGS(info, block_group, start, len) -+ TP_ARGS(fs_info, block_group, start, len) - ) - - LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserve_extent, btrfs_reserve_extent_cluster, - -- TP_PROTO(struct btrfs_fs_info *info, -+ TP_PROTO(struct btrfs_fs_info *fs_info, - struct btrfs_block_group_cache *block_group, u64 start, - u64 len), - -- TP_ARGS(info, block_group, start, len) -+ TP_ARGS(fs_info, block_group, start, len) - ) - #elif (LTTNG_SLE_KERNEL_RANGE(4,4,73,5,0,0, 4,4,73,6,0,0) || \ - LTTNG_SLE_KERNEL_RANGE(4,4,82,6,0,0, 4,4,82,7,0,0) || \ --- -2.19.1 - diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0009-Cleanup-tp-mempool-Remove-logically-dead-code.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0009-Cleanup-tp-mempool-Remove-logically-dead-code.patch deleted file mode 100644 index 4ffe48867..000000000 --- a/poky/meta/recipes-kernel/lttng/lttng-modules/0009-Cleanup-tp-mempool-Remove-logically-dead-code.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 416cee8707053a9015dfec8332e12f8c263098e3 Mon Sep 17 00:00:00 2001 -From: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> -Date: Thu, 14 Feb 2019 11:40:50 -0500 -Subject: [PATCH 9/9] Cleanup: tp mempool: Remove logically dead code - -Found by Coverity: -CID 1391045 (#1 of 1): Logically dead code (DEADCODE) - -Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> - -Upstream-Status: backport https://github.com/lttng/lttng-modules/commit/416cee8707053a9015dfec8332e12f8c263098e3 - -Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> ---- - lttng-tp-mempool.c | 11 ++--------- - 1 file changed, 2 insertions(+), 9 deletions(-) - -diff --git a/lttng-tp-mempool.c b/lttng-tp-mempool.c -index d984bd4..21e8376 100644 ---- a/lttng-tp-mempool.c -+++ b/lttng-tp-mempool.c -@@ -151,19 +151,12 @@ void lttng_tp_mempool_free(void *ptr) - struct lttng_tp_buf_entry *entry; - struct per_cpu_buf *cpu_buf; - -- if (!ptr) { -+ if (!ptr) - goto end; -- } -- - entry = container_of(ptr, struct lttng_tp_buf_entry, buf); -- if (!entry) { -- goto end; -- } -- - cpu_buf = per_cpu_ptr(pool, entry->cpu); -- if (!cpu_buf) { -+ if (!cpu_buf) - goto end; -- } - /* Add it to the free list. */ - list_add_tail(&entry->list, &cpu_buf->free_list); - --- -2.19.1 - diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules_2.10.8.bb b/poky/meta/recipes-kernel/lttng/lttng-modules_2.10.9.bb index 15e75e51c..70a684326 100644 --- a/poky/meta/recipes-kernel/lttng/lttng-modules_2.10.8.bb +++ b/poky/meta/recipes-kernel/lttng/lttng-modules_2.10.9.bb @@ -15,19 +15,10 @@ COMPATIBLE_HOST = '(x86_64|i.86|powerpc|aarch64|mips|nios2|arm|riscv).*-linux' SRC_URI = "https://lttng.org/files/${BPN}/${BPN}-${PV}.tar.bz2 \ file://Makefile-Do-not-fail-if-CONFIG_TRACEPOINTS-is-not-en.patch \ file://BUILD_RUNTIME_BUG_ON-vs-gcc7.patch \ - file://0001-Fix-signal-Distinguish-between-kernel_siginfo-and-si.patch \ - file://0002-Fix-signal-Remove-SEND_SIG_FORCED-v4.20.patch \ - file://0003-Fix-ext4-adjust-reserved-cluster-count-when-removing.patch \ - file://0004-Fix-timer-instrumentation-for-RHEL-7.6.patch \ - file://0005-Fix-Remove-type-argument-from-access_ok-function-v5..patch \ - file://0006-Fix-Replace-pointer-values-with-task-tk_pid-and-rpc_.patch \ - file://0007-Fix-SUNRPC-Simplify-defining-common-RPC-trace-events.patch \ - file://0008-Fix-btrfs-Remove-fsid-metadata_fsid-fields-from-btrf.patch \ - file://0009-Cleanup-tp-mempool-Remove-logically-dead-code.patch \ " -SRC_URI[md5sum] = "54bd9fca61487bbec1b3fca2f2213c98" -SRC_URI[sha256sum] = "fe1d269bca723e8948af871c322c37d3900e647cdc5eb3efbe821e434beee44c" +SRC_URI[md5sum] = "09df0ac2e8f245740a2f32411d10c0d1" +SRC_URI[sha256sum] = "a1855bbd02d0f71ebd180e9872309862036624f012442ab9cc5852eb60340145" export INSTALL_MOD_DIR="kernel/lttng-modules" diff --git a/poky/meta/recipes-kernel/lttng/lttng-tools/0006-Tests-check-for-lttng-modules-presence.patch b/poky/meta/recipes-kernel/lttng/lttng-tools/0006-Tests-check-for-lttng-modules-presence.patch index e07c227f4..30aa66b2c 100644 --- a/poky/meta/recipes-kernel/lttng/lttng-tools/0006-Tests-check-for-lttng-modules-presence.patch +++ b/poky/meta/recipes-kernel/lttng/lttng-tools/0006-Tests-check-for-lttng-modules-presence.patch @@ -3,7 +3,7 @@ From: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com> Date: Mon, 25 Mar 2019 14:24:51 -0400 Subject: [2/2] tests: check for lttng-modules presence -Upstream-status: Accepted [5da3fc8579a9f93ea4767729a107784bf2d034ae] +Upstream-Status: Accepted [5da3fc8579a9f93ea4767729a107784bf2d034ae] Backported to 2.11 and 2.10 Signed-off-by: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com> diff --git a/poky/meta/recipes-kernel/lttng/lttng-tools/0007-Fix-getgrnam-is-not-MT-Safe-use-getgrnam_r.patch b/poky/meta/recipes-kernel/lttng/lttng-tools/0007-Fix-getgrnam-is-not-MT-Safe-use-getgrnam_r.patch index 5437de26e..a3362ea24 100644 --- a/poky/meta/recipes-kernel/lttng/lttng-tools/0007-Fix-getgrnam-is-not-MT-Safe-use-getgrnam_r.patch +++ b/poky/meta/recipes-kernel/lttng/lttng-tools/0007-Fix-getgrnam-is-not-MT-Safe-use-getgrnam_r.patch @@ -55,6 +55,8 @@ want to move the warning elsewhere in the future. For now, pass a bool if we need to warn or not. Signed-off-by: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com> + +Upstream-Status: Submitted [https://patchwork.lttng.org/patch/2314703] --- src/bin/lttng-consumerd/health-consumerd.c | 10 ++- src/bin/lttng-relayd/health-relayd.c | 20 ++++-- diff --git a/poky/meta/recipes-kernel/perf/perf.bb b/poky/meta/recipes-kernel/perf/perf.bb index 5acdcfb9f..4e603f1a3 100644 --- a/poky/meta/recipes-kernel/perf/perf.bb +++ b/poky/meta/recipes-kernel/perf/perf.bb @@ -238,7 +238,7 @@ do_configure_prepend () { # unistd.h can be out of sync between libc-headers and the captured version in the perf source # so we copy it from the sysroot unistd.h to the perf unistd.h - cp ${STAGING_INCDIR}/asm-generic/unistd.h ${S}/tools/include/uapi/asm-generic/unistd.h + install -D -m0644 ${STAGING_INCDIR}/asm-generic/unistd.h ${S}/tools/include/uapi/asm-generic/unistd.h } python do_package_prepend() { @@ -271,3 +271,4 @@ FILES_${PN}-perl = "${libexecdir}/perf-core/scripts/perl" INHIBIT_PACKAGE_DEBUG_SPLIT="1" +DEBUG_OPTIMIZATION_append = " -Wno-error=maybe-uninitialized" diff --git a/poky/meta/recipes-kernel/sysprof/sysprof_3.30.2.bb b/poky/meta/recipes-kernel/sysprof/sysprof_3.32.0.bb index 24e49cb0d..b92933806 100644 --- a/poky/meta/recipes-kernel/sysprof/sysprof_3.30.2.bb +++ b/poky/meta/recipes-kernel/sysprof/sysprof_3.32.0.bb @@ -9,8 +9,8 @@ inherit gnomebase gettext systemd upstream-version-is-even gsettings DEPENDS = "glib-2.0 libxml2-native glib-2.0-native" -SRC_URI[archive.md5sum] = "80cb47906eced2e7b9976bf00deec323" -SRC_URI[archive.sha256sum] = "e90878e5a509bd79d170a7a51d47cc5508ab1363afaf0d97654373dfd9c8ba0b" +SRC_URI[archive.md5sum] = "d1fa9ad216419d722770ca36713ad3af" +SRC_URI[archive.sha256sum] = "fc22a69e468701c5ec9036e960c6273afa1ed6a89df1f889fed49417add5554d" SRC_URI += " \ file://define-NT_GNU_BUILD_ID.patch \ file://0001-Do-not-build-anything-in-help-as-it-requires-itstool.patch \ diff --git a/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.1.1.bb b/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.1.3.bb index 749b3d0dd..994a792de 100644 --- a/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.1.1.bb +++ b/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.1.3.bb @@ -26,8 +26,8 @@ LIC_FILES_CHKSUM = "file://COPYING.GPLv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ SRC_URI = "https://www.ffmpeg.org/releases/${BP}.tar.xz \ file://mips64_cpu_detection.patch \ " -SRC_URI[md5sum] = "720fc84617a2c38aeae79aff3689a567" -SRC_URI[sha256sum] = "373749824dfd334d84e55dff406729edfd1606575ee44dd485d97d45ea4d2d86" +SRC_URI[md5sum] = "dcc20dd2682ea01c678b7b8324339d43" +SRC_URI[sha256sum] = "0c3020452880581a8face91595b239198078645e7d7184273b8bcc7758beb63d" # Build fails when thumb is enabled: https://bugzilla.yoctoproject.org/show_bug.cgi?id=7717 ARM_INSTRUCTION_SET_armv4 = "arm" diff --git a/poky/meta/recipes-multimedia/flac/flac_1.3.2.bb b/poky/meta/recipes-multimedia/flac/flac_1.3.2.bb index 92ef8973e..e8599f6ba 100644 --- a/poky/meta/recipes-multimedia/flac/flac_1.3.2.bb +++ b/poky/meta/recipes-multimedia/flac/flac_1.3.2.bb @@ -21,7 +21,7 @@ SRC_URI = "http://downloads.xiph.org/releases/flac/${BP}.tar.xz \ SRC_URI[md5sum] = "454f1bfa3f93cc708098d7890d0499bd" SRC_URI[sha256sum] = "91cfc3ed61dc40f47f050a109b08610667d73477af6ef36dcad31c31a4a8d53f" -CVE_PRODUCT = "libflac" +CVE_PRODUCT = "libflac flac" inherit autotools gettext diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.14.4.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.14.4.bb index 4987be865..23d093d47 100644 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.14.4.bb +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.14.4.bb @@ -20,7 +20,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=73a5855a8119deb017f5f13cf327095d \ DEPENDS += "gstreamer1.0-plugins-base" -inherit gettext bluetooth +inherit gettext bluetooth gobject-introspection PACKAGECONFIG ??= " \ ${GSTREAMER_ORC} \ diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.14.4.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.14.4.bb index 12c9bbce9..f3e6daf56 100644 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.14.4.bb +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.14.4.bb @@ -28,7 +28,7 @@ S = "${WORKDIR}/gst-plugins-base-${PV}" DEPENDS += "iso-codes util-linux" -inherit gettext +inherit gettext gobject-introspection PACKAGES_DYNAMIC =+ "^libgst.*" diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins.inc b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins.inc index 5906e4ad3..bc24b05fe 100644 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins.inc +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins.inc @@ -7,7 +7,7 @@ DEPENDS = "gstreamer1.0 glib-2.0-native" SRC_URI_append = " file://gtk-doc-tweaks.patch" -inherit autotools pkgconfig upstream-version-is-even gobject-introspection gtk-doc +inherit autotools pkgconfig upstream-version-is-even gtk-doc acpaths = "-I ${S}/common/m4 -I ${S}/m4" diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.14.4.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.14.4.bb index 8d45ca266..048aaf441 100644 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.14.4.bb +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.14.4.bb @@ -16,7 +16,11 @@ PNREAL = "gst-python" S = "${WORKDIR}/${PNREAL}-${PV}" -inherit autotools pkgconfig distutils3-base upstream-version-is-even gobject-introspection +# gobject-introspection is mandatory and cannot be configured +REQUIRED_DISTRO_FEATURES = "gobject-introspection-data" +UNKNOWN_CONFIGURE_WHITELIST_append = " --enable-introspection --disable-introspection" + +inherit autotools pkgconfig distutils3-base upstream-version-is-even gobject-introspection distro_features_check do_install_append() { # gstpythonplugin hardcodes the location of the libpython from the build diff --git a/poky/meta/recipes-multimedia/libpng/libpng/CVE-2019-7317.patch b/poky/meta/recipes-multimedia/libpng/libpng/CVE-2019-7317.patch deleted file mode 100644 index 6ee1f8da3..000000000 --- a/poky/meta/recipes-multimedia/libpng/libpng/CVE-2019-7317.patch +++ /dev/null @@ -1,20 +0,0 @@ -Use-after-free detected with static analysis. - -CVE: CVE-2019-7317 -Upstream-Status: Submitted [https://github.com/glennrp/libpng/issues/275] -Signed-off-by: Ross Burton <ross.burton@intel.com> - -diff --git a/png.c b/png.c -index 9d9926f638..efd1aecfbd 100644 ---- a/png.c -+++ b/png.c -@@ -4588,8 +4588,7 @@ png_image_free(png_imagep image) - if (image != NULL && image->opaque != NULL && - image->opaque->error_buf == NULL) - { -- /* Ignore errors here: */ -- (void)png_safe_execute(image, png_image_free_function, image); -+ png_image_free_function(image); - image->opaque = NULL; - } - } diff --git a/poky/meta/recipes-multimedia/libpng/libpng_1.6.36.bb b/poky/meta/recipes-multimedia/libpng/libpng_1.6.37.bb index a58623788..66af2f3d6 100644 --- a/poky/meta/recipes-multimedia/libpng/libpng_1.6.36.bb +++ b/poky/meta/recipes-multimedia/libpng/libpng_1.6.37.bb @@ -2,17 +2,16 @@ SUMMARY = "PNG image format decoding library" HOMEPAGE = "http://www.libpng.org/" SECTION = "libs" LICENSE = "Libpng" -LIC_FILES_CHKSUM = "file://LICENSE;md5=12b4ec50384c800bc568f519671b120c \ - file://png.h;endline=144;md5=15ae15f53376306868259924a9db4e05 \ +LIC_FILES_CHKSUM = "file://LICENSE;md5=b0085051bf265bac2bfc38bc89f50000\ + file://png.h;endline=144;md5=8acd23d544623816b097e07be0139509\ " DEPENDS = "zlib" LIBV = "16" -SRC_URI = "${SOURCEFORGE_MIRROR}/project/${BPN}/${BPN}${LIBV}/${PV}/${BP}.tar.xz \ - file://CVE-2019-7317.patch" -SRC_URI[md5sum] = "df2be2d29c40937fe1f5349b16bc2826" -SRC_URI[sha256sum] = "eceb924c1fa6b79172fdfd008d335f0e59172a86a66481e09d4089df872aa319" +SRC_URI = "${SOURCEFORGE_MIRROR}/project/${BPN}/${BPN}${LIBV}/${PV}/${BP}.tar.xz" +SRC_URI[md5sum] = "015e8e15db1eecde5f2eb9eb5b6e59e9" +SRC_URI[sha256sum] = "505e70834d35383537b6491e7ae8641f1a4bed1876dbfe361201fc80868d88ca" MIRRORS += "${SOURCEFORGE_MIRROR}/project/${BPN}/${BPN}${LIBV}/${PV}/ ${SOURCEFORGE_MIRROR}/project/${BPN}/${BPN}${LIBV}/older-releases/${PV}/" diff --git a/poky/meta/recipes-multimedia/mpg123/mpg123/sdl2.patch b/poky/meta/recipes-multimedia/mpg123/mpg123/sdl2.patch new file mode 100644 index 000000000..9dc9b923d --- /dev/null +++ b/poky/meta/recipes-multimedia/mpg123/mpg123/sdl2.patch @@ -0,0 +1,14 @@ +Use libsdl2 instead of libsdl 1.2, which is dead upstream. + +Luckily the API that mpg123 use didn't change so this is a trivial change. + +Upstream-Status: Submitted [https://sourceforge.net/p/mpg123/bugs/268/] +Signed-off-by: Ross Burton <ross.burton@intel.com> + +diff --git a/configure.ac b/configure.ac +index 6216d4f..b8d3344 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1694 +1694 @@ do +- PKG_CHECK_MODULES(SDL, sdl, output_modules="$output_modules sdl" HAVE_SDL="yes", HAVE_SDL="no" check_failed=yes) ++ PKG_CHECK_MODULES(SDL, sdl2, output_modules="$output_modules sdl" HAVE_SDL="yes", HAVE_SDL="no" check_failed=yes) diff --git a/poky/meta/recipes-multimedia/mpg123/mpg123_1.25.10.bb b/poky/meta/recipes-multimedia/mpg123/mpg123_1.25.10.bb index ff2b7d893..dfb10bb1c 100644 --- a/poky/meta/recipes-multimedia/mpg123/mpg123_1.25.10.bb +++ b/poky/meta/recipes-multimedia/mpg123/mpg123_1.25.10.bb @@ -9,7 +9,8 @@ SECTION = "multimedia" LICENSE = "LGPLv2.1" LIC_FILES_CHKSUM = "file://COPYING;md5=1e86753638d3cf2512528b99079bc4f3" -SRC_URI = "https://www.mpg123.de/download/${BP}.tar.bz2" +SRC_URI = "https://www.mpg123.de/download/${BP}.tar.bz2 \ + file://sdl2.patch" SRC_URI[md5sum] = "ea32caa61d41d8be797f0b04a1b43ad9" SRC_URI[sha256sum] = "6c1337aee2e4bf993299851c70b7db11faec785303cfca3a5c3eb5f329ba7023" @@ -27,7 +28,7 @@ PACKAGECONFIG[jack] = ",,jack" PACKAGECONFIG[openal] = ",,openal-soft" PACKAGECONFIG[portaudio] = ",,portaudio-v19" PACKAGECONFIG[pulseaudio] = "--with-default-audio=pulse,,pulseaudio" -PACKAGECONFIG[sdl] = ",,libsdl" +PACKAGECONFIG[sdl] = ",,libsdl2" # Following are possible sound output modules: # alsa arts coreaudio dummy esd jack nas openal os2 oss portaudio pulse sdl sndio sun tinyalsa win32 win32_wasapi diff --git a/poky/meta/recipes-rt/images/core-image-rt-sdk.bb b/poky/meta/recipes-rt/images/core-image-rt-sdk.bb index 0f7f09168..624b7d943 100644 --- a/poky/meta/recipes-rt/images/core-image-rt-sdk.bb +++ b/poky/meta/recipes-rt/images/core-image-rt-sdk.bb @@ -11,7 +11,7 @@ python () { DESCRIPTION = "Small image capable of booting a device with a test suite and \ tools for real-time use. It includes the full meta-toolchain, development \ headers and libraries to form a standalone SDK." -DEPENDS = "linux-yocto-rt" +DEPENDS += "linux-yocto-rt" IMAGE_FEATURES += "dev-pkgs tools-sdk tools-debug eclipse-debug tools-profile tools-testapps debug-tweaks" diff --git a/poky/meta/recipes-rt/images/core-image-rt.bb b/poky/meta/recipes-rt/images/core-image-rt.bb index 9cb93b3de..053d23219 100644 --- a/poky/meta/recipes-rt/images/core-image-rt.bb +++ b/poky/meta/recipes-rt/images/core-image-rt.bb @@ -10,7 +10,7 @@ python () { DESCRIPTION = "A small image just capable of allowing a device to boot plus a \ real-time test suite and tools appropriate for real-time use." -DEPENDS = "linux-yocto-rt" +DEPENDS += "linux-yocto-rt" IMAGE_INSTALL += "rt-tests hwlatdetect" diff --git a/poky/meta/recipes-sato/images/core-image-sato-ptest-fast.bb b/poky/meta/recipes-sato/images/core-image-sato-ptest-fast.bb new file mode 100644 index 000000000..b794a7dc9 --- /dev/null +++ b/poky/meta/recipes-sato/images/core-image-sato-ptest-fast.bb @@ -0,0 +1,16 @@ +require core-image-sato-sdk.bb +require conf/distro/include/ptest-packagelists.inc + +IMAGE_INSTALL += "${PTESTS_FAST}" + +DESCRIPTION += "Also includes ptest packages with fast execution times to allow for more automated QA." + +# This image is sufficiently large (~1.8GB) that it can't actually fit in a live +# image (which has a 4GB limit), so nullify the overhead factor (1.3x out of the +# box) and explicitly add just 1500MB. +# strace-ptest in particular needs more than 500MB +IMAGE_OVERHEAD_FACTOR = "1.0" +IMAGE_ROOTFS_EXTRA_SPACE = "1524288" + +# ptests need more memory than standard to avoid the OOM killer +QB_MEM = "-m 1024" diff --git a/poky/meta/recipes-sato/images/core-image-sato-sdk-ptest.bb b/poky/meta/recipes-sato/images/core-image-sato-sdk-ptest.bb index 1027ec03b..e84beda6c 100644 --- a/poky/meta/recipes-sato/images/core-image-sato-sdk-ptest.bb +++ b/poky/meta/recipes-sato/images/core-image-sato-sdk-ptest.bb @@ -1,15 +1,21 @@ require core-image-sato-sdk.bb +require conf/distro/include/ptest-packagelists.inc DESCRIPTION += "Also includes ptest packages." IMAGE_FEATURES += "ptest-pkgs" +PROVIDES += "core-image-sato-ptest" + +# Also include ptests which may not otherwise be included in a sato image +IMAGE_INSTALL += "${PTESTS_FAST} ${PTESTS_SLOW}" + # This image is sufficiently large (~1.8GB) that we need to be careful that it fits in a live # image (which has a 4GB limit), so nullify the overhead factor (1.3x out of the -# box) and explicitly add just 1500MB. +# box) and explicitly add just 1200MB. # strace-ptest in particular needs more than 500MB IMAGE_OVERHEAD_FACTOR = "1.0" -IMAGE_ROOTFS_EXTRA_SPACE = "1524288" +IMAGE_ROOTFS_EXTRA_SPACE = "1224288" # ptests need more memory than standard to avoid the OOM killer QB_MEM = "-m 1024" diff --git a/poky/meta/recipes-sato/webkit/webkitgtk/0001-Fix-build-with-musl.patch b/poky/meta/recipes-sato/webkit/webkitgtk/0001-Fix-build-with-musl.patch index d9a18e0ce..0c145c7eb 100644 --- a/poky/meta/recipes-sato/webkit/webkitgtk/0001-Fix-build-with-musl.patch +++ b/poky/meta/recipes-sato/webkit/webkitgtk/0001-Fix-build-with-musl.patch @@ -1,4 +1,4 @@ -From 322966273a8e085829261a397af37de0fbf51aad Mon Sep 17 00:00:00 2001 +From c4d4d9f1aa74addefdad40294cf16d9e0b3dd6ec Mon Sep 17 00:00:00 2001 From: Alexander Kanavin <alex.kanavin@gmail.com> Date: Fri, 6 Oct 2017 17:00:08 +0300 Subject: [PATCH] Fix build with musl @@ -12,7 +12,7 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Source/JavaScriptCore/runtime/MachineContext.h b/Source/JavaScriptCore/runtime/MachineContext.h -index 836d755..7665d25 100644 +index 823964c2..00841146 100644 --- a/Source/JavaScriptCore/runtime/MachineContext.h +++ b/Source/JavaScriptCore/runtime/MachineContext.h @@ -188,7 +188,7 @@ static inline void*& stackPointerImpl(mcontext_t& machineContext) @@ -61,12 +61,12 @@ index 836d755..7665d25 100644 // The following sequence depends on glibc's sys/ucontext.h. #if CPU(X86) diff --git a/Source/WTF/wtf/Platform.h b/Source/WTF/wtf/Platform.h -index a841946..1e5c7dd 100644 +index 34f7cb14..32ad9150 100644 --- a/Source/WTF/wtf/Platform.h +++ b/Source/WTF/wtf/Platform.h -@@ -701,7 +701,7 @@ - #define HAVE_CFNETWORK_STORAGE_PARTITIONING 1 - #endif +@@ -714,7 +714,7 @@ + + #endif /* OS(DARWIN) */ -#if OS(DARWIN) || OS(FUCHSIA) || ((OS(FREEBSD) || defined(__GLIBC__) || defined(__BIONIC__)) && (CPU(X86) || CPU(X86_64) || CPU(ARM) || CPU(ARM64) || CPU(MIPS))) +#if OS(DARWIN) || OS(FUCHSIA) || ((OS(FREEBSD) || defined(__linux__) || defined(__BIONIC__)) && (CPU(X86) || CPU(X86_64) || CPU(ARM) || CPU(ARM64) || CPU(MIPS))) diff --git a/poky/meta/recipes-sato/webkit/webkitgtk/0001-Tweak-gtkdoc-settings-so-that-gtkdoc-generation-work.patch b/poky/meta/recipes-sato/webkit/webkitgtk/0001-Tweak-gtkdoc-settings-so-that-gtkdoc-generation-work.patch index 83fd5129a..664cea9c7 100644 --- a/poky/meta/recipes-sato/webkit/webkitgtk/0001-Tweak-gtkdoc-settings-so-that-gtkdoc-generation-work.patch +++ b/poky/meta/recipes-sato/webkit/webkitgtk/0001-Tweak-gtkdoc-settings-so-that-gtkdoc-generation-work.patch @@ -1,8 +1,8 @@ -From 9b09974003097c9a408bbeea568996768efe705b Mon Sep 17 00:00:00 2001 +From d3796ad1a19233ee5d3492a5560d7ede882f89cf Mon Sep 17 00:00:00 2001 From: Alexander Kanavin <alex.kanavin@gmail.com> Date: Thu, 11 Aug 2016 17:13:51 +0300 -Subject: [PATCH 05/10] Tweak gtkdoc settings so that gtkdoc generation works - under OpenEmbedded build system +Subject: [PATCH] Tweak gtkdoc settings so that gtkdoc generation works under + OpenEmbedded build system This requires setting a few environment variables so that the transient binary is build and linked correctly, and disabling the tweaks to RUN @@ -12,28 +12,28 @@ Upstream-Status: Inappropriate [oe-specific] Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> --- - Source/PlatformGTK.cmake | 2 +- - Tools/gtk/gtkdoc.py | 4 ++-- + Source/cmake/GtkDoc.cmake | 2 +- + Tools/gtkdoc/gtkdoc.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) -diff --git a/Source/PlatformGTK.cmake b/Source/PlatformGTK.cmake -index 50b5393..7a31db5 100644 ---- a/Source/PlatformGTK.cmake -+++ b/Source/PlatformGTK.cmake -@@ -24,7 +24,7 @@ macro(ADD_GTKDOC_GENERATOR _stamp_name _extra_args) +diff --git a/Source/cmake/GtkDoc.cmake b/Source/cmake/GtkDoc.cmake +index 2ee05550..6cb6313d 100644 +--- a/Source/cmake/GtkDoc.cmake ++++ b/Source/cmake/GtkDoc.cmake +@@ -4,7 +4,7 @@ macro(ADD_GTKDOC_GENERATOR _stamp_name _extra_args) add_custom_command( OUTPUT "${CMAKE_BINARY_DIR}/${_stamp_name}" DEPENDS ${DocumentationDependencies} -- COMMAND ${CMAKE_COMMAND} -E env "CC=${CMAKE_C_COMPILER}" "CFLAGS=${CMAKE_C_FLAGS} -Wno-unused-parameter" ${CMAKE_SOURCE_DIR}/Tools/gtk/generate-gtkdoc ${_extra_args} -+ COMMAND ${CMAKE_COMMAND} -E env "CC=${CMAKE_C_COMPILER}" "CFLAGS=${CMAKE_C_FLAGS} -Wno-unused-parameter" "LD=${CMAKE_C_COMPILER}" "LDFLAGS=${CMAKE_C_LINK_FLAGS}" "RUN=${CMAKE_BINARY_DIR}/gtkdoc-qemuwrapper" ${CMAKE_SOURCE_DIR}/Tools/gtk/generate-gtkdoc -v ${_extra_args} +- COMMAND ${CMAKE_COMMAND} -E env "CC=${CMAKE_C_COMPILER}" "CFLAGS=${CMAKE_C_FLAGS} -Wno-unused-parameter" ${CMAKE_SOURCE_DIR}/Tools/gtkdoc/generate-gtkdoc ${_extra_args} ++ COMMAND ${CMAKE_COMMAND} -E env "CC=${CMAKE_C_COMPILER}" "CFLAGS=${CMAKE_C_FLAGS} -Wno-unused-parameter" "LD=${CMAKE_C_COMPILER}" "LDFLAGS=${CMAKE_C_LINK_FLAGS}" "RUN=${CMAKE_BINARY_DIR}/gtkdoc-qemuwrapper" ${CMAKE_SOURCE_DIR}/Tools/gtkdoc/generate-gtkdoc ${_extra_args} COMMAND touch ${_stamp_name} WORKING_DIRECTORY "${CMAKE_BINARY_DIR}" VERBATIM -diff --git a/Tools/gtk/gtkdoc.py b/Tools/gtk/gtkdoc.py -index 03c8e8e..34fbaff 100644 ---- a/Tools/gtk/gtkdoc.py -+++ b/Tools/gtk/gtkdoc.py -@@ -318,9 +318,9 @@ class GTKDoc(object): +diff --git a/Tools/gtkdoc/gtkdoc.py b/Tools/gtkdoc/gtkdoc.py +index 81ee8cdc..3e11c2f0 100644 +--- a/Tools/gtkdoc/gtkdoc.py ++++ b/Tools/gtkdoc/gtkdoc.py +@@ -317,9 +317,9 @@ class GTKDoc(object): additional_ldflags = '%s %s' % (additional_ldflags, arg) ldflags = ' "-L%s" %s ' % (self.library_path, additional_ldflags) + ldflags current_ld_library_path = env.get('LD_LIBRARY_PATH') @@ -45,6 +45,3 @@ index 03c8e8e..34fbaff 100644 env['LD_LIBRARY_PATH'] = self.library_path if ldflags: --- -2.15.1 - diff --git a/poky/meta/recipes-sato/webkit/webkitgtk/0001-WebKitMacros-Append-to-I-and-not-to-isystem.patch b/poky/meta/recipes-sato/webkit/webkitgtk/0001-WebKitMacros-Append-to-I-and-not-to-isystem.patch index b31026448..e71905d26 100644 --- a/poky/meta/recipes-sato/webkit/webkitgtk/0001-WebKitMacros-Append-to-I-and-not-to-isystem.patch +++ b/poky/meta/recipes-sato/webkit/webkitgtk/0001-WebKitMacros-Append-to-I-and-not-to-isystem.patch @@ -1,4 +1,4 @@ -From e1c6540f7984bd48e1e2d80d965fa82c70de3c20 Mon Sep 17 00:00:00 2001 +From d1634e56a2589ec62325011bf77d480a67123b52 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Sun, 17 Apr 2016 12:35:41 -0700 Subject: [PATCH] WebKitMacros: Append to -I and not to -isystem @@ -28,10 +28,10 @@ Upstream-Status: Pending 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/Source/JavaScriptCore/shell/CMakeLists.txt b/Source/JavaScriptCore/shell/CMakeLists.txt -index b3c7e0b..88446de 100644 +index 87153e35..cd0beed4 100644 --- a/Source/JavaScriptCore/shell/CMakeLists.txt +++ b/Source/JavaScriptCore/shell/CMakeLists.txt -@@ -35,7 +35,7 @@ WEBKIT_INCLUDE_CONFIG_FILES_IF_EXISTS() +@@ -36,7 +36,7 @@ WEBKIT_INCLUDE_CONFIG_FILES_IF_EXISTS() WEBKIT_WRAP_SOURCELIST(${JSC_SOURCES}) WEBKIT_WRAP_SOURCELIST(${TESTAPI_SOURCES}) include_directories(./ ${JavaScriptCore_INCLUDE_DIRECTORIES} ${JavaScriptCore_PRIVATE_INCLUDE_DIRECTORIES}) @@ -41,10 +41,10 @@ index b3c7e0b..88446de 100644 target_link_libraries(jsc ${JSC_LIBRARIES}) diff --git a/Source/WebCore/PlatformGTK.cmake b/Source/WebCore/PlatformGTK.cmake -index f7d8d70a..3c27b8bc 100644 +index e0dd9cd9..a2997f3e 100644 --- a/Source/WebCore/PlatformGTK.cmake +++ b/Source/WebCore/PlatformGTK.cmake -@@ -157,7 +157,7 @@ if (ENABLE_PLUGIN_PROCESS_GTK2) +@@ -164,7 +164,7 @@ if (ENABLE_PLUGIN_PROCESS_GTK2) target_include_directories(WebCorePlatformGTK2 PRIVATE ${WebCore_INCLUDE_DIRECTORIES} ) @@ -53,7 +53,7 @@ index f7d8d70a..3c27b8bc 100644 ${WebCore_SYSTEM_INCLUDE_DIRECTORIES} ${GTK2_INCLUDE_DIRS} ${GDK2_INCLUDE_DIRS} -@@ -183,7 +183,7 @@ add_dependencies(WebCorePlatformGTK WebCore) +@@ -190,7 +190,7 @@ add_dependencies(WebCorePlatformGTK WebCore) target_include_directories(WebCorePlatformGTK PRIVATE ${WebCore_INCLUDE_DIRECTORIES} ) @@ -62,7 +62,7 @@ index f7d8d70a..3c27b8bc 100644 ${WebCore_SYSTEM_INCLUDE_DIRECTORIES} ${GTK_INCLUDE_DIRS} ${GDK_INCLUDE_DIRS} -@@ -199,7 +199,7 @@ include_directories( +@@ -206,7 +206,7 @@ include_directories( "${WEBCORE_DIR}/bindings/gobject/" ) @@ -72,10 +72,10 @@ index f7d8d70a..3c27b8bc 100644 ) diff --git a/Source/WebKit/PlatformGTK.cmake b/Source/WebKit/PlatformGTK.cmake -index 8c6ebb5..772c243 100644 +index 693bbdfe..20e3802f 100644 --- a/Source/WebKit/PlatformGTK.cmake +++ b/Source/WebKit/PlatformGTK.cmake -@@ -655,7 +655,7 @@ if (ENABLE_PLUGIN_PROCESS_GTK2) +@@ -664,7 +664,7 @@ if (ENABLE_PLUGIN_PROCESS_GTK2) target_include_directories(WebKitPluginProcess2 PRIVATE ${WebKitCommonIncludeDirectories} ) @@ -85,10 +85,10 @@ index 8c6ebb5..772c243 100644 ${GTK2_INCLUDE_DIRS} ${GDK2_INCLUDE_DIRS} diff --git a/Source/cmake/WebKitMacros.cmake b/Source/cmake/WebKitMacros.cmake -index a1e7e8f..ce24274 100644 +index 6d58d57e..976e2362 100644 --- a/Source/cmake/WebKitMacros.cmake +++ b/Source/cmake/WebKitMacros.cmake -@@ -134,7 +134,7 @@ macro(WEBKIT_FRAMEWORK _target) +@@ -152,7 +152,7 @@ macro(WEBKIT_FRAMEWORK _target) ${${_target}_SOURCES} ) target_include_directories(${_target} PUBLIC "$<BUILD_INTERFACE:${${_target}_INCLUDE_DIRECTORIES}>") @@ -98,10 +98,10 @@ index a1e7e8f..ce24274 100644 target_link_libraries(${_target} ${${_target}_LIBRARIES}) set_target_properties(${_target} PROPERTIES COMPILE_DEFINITIONS "BUILDING_${_target}") diff --git a/Tools/MiniBrowser/gtk/CMakeLists.txt b/Tools/MiniBrowser/gtk/CMakeLists.txt -index dc2b61e..0128dca 100644 +index a0d32059..f259ade2 100644 --- a/Tools/MiniBrowser/gtk/CMakeLists.txt +++ b/Tools/MiniBrowser/gtk/CMakeLists.txt -@@ -57,7 +57,7 @@ endif () +@@ -59,7 +59,7 @@ endif () add_definitions(-DGDK_VERSION_MIN_REQUIRED=GDK_VERSION_3_6) include_directories(${MiniBrowser_INCLUDE_DIRECTORIES}) @@ -111,10 +111,10 @@ index dc2b61e..0128dca 100644 target_link_libraries(MiniBrowser ${MiniBrowser_LIBRARIES}) diff --git a/Tools/TestWebKitAPI/PlatformGTK.cmake b/Tools/TestWebKitAPI/PlatformGTK.cmake -index 4aef695..a14b163 100644 +index 8dd0e146..d037fc35 100644 --- a/Tools/TestWebKitAPI/PlatformGTK.cmake +++ b/Tools/TestWebKitAPI/PlatformGTK.cmake -@@ -20,7 +20,7 @@ include_directories( +@@ -22,7 +22,7 @@ include_directories( ${WEBKIT_DIR}/UIProcess/API/gtk ) @@ -122,4 +122,4 @@ index 4aef695..a14b163 100644 +include_directories( ${GDK3_INCLUDE_DIRS} ${GLIB_INCLUDE_DIRS} - ${GTK3_INCLUDE_DIRS} + ${GSTREAMER_INCLUDE_DIRS} diff --git a/poky/meta/recipes-sato/webkit/webkitgtk/bad_optional_access.patch b/poky/meta/recipes-sato/webkit/webkitgtk/bad_optional_access.patch deleted file mode 100644 index 9d0d50b79..000000000 --- a/poky/meta/recipes-sato/webkit/webkitgtk/bad_optional_access.patch +++ /dev/null @@ -1,35 +0,0 @@ -unbreak build with libc++ 7 - -based on -https://svnweb.freebsd.org/ports/head/www/webkit2-gtk3/files/patch-Source_WTF_wtf_Optional.h?view=markup&pathrev=477812 - -Fixes - -/usr/include/c++/v1/optional:171:29: error: redefinition of 'bad_optional_access' -class _LIBCPP_EXCEPTION_ABI bad_optional_access - ^ -DerivedSources/ForwardingHeaders/wtf/Optional.h:295:7: note: previous definition is here -class bad_optional_access : public std::logic_error { - ^ - -Upstream-Status: Pending -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- a/Source/WTF/wtf/Optional.h -+++ b/Source/WTF/wtf/Optional.h -@@ -276,14 +276,14 @@ struct nullopt_t - }; - constexpr nullopt_t nullopt{nullopt_t::init()}; - -- -+# if !defined(_LIBCPP_VERSION) || _LIBCPP_VERSION < 7000 - // 20.5.8, class bad_optional_access - class bad_optional_access : public std::logic_error { - public: - explicit bad_optional_access(const std::string& what_arg) : std::logic_error{what_arg} {} - explicit bad_optional_access(const char* what_arg) : std::logic_error{what_arg} {} - }; -- -+# endif // _LIBCPP_VERSION < 7000 - - template <class T> - union storage_t diff --git a/poky/meta/recipes-sato/webkit/webkitgtk/include_array.patch b/poky/meta/recipes-sato/webkit/webkitgtk/include_array.patch new file mode 100644 index 000000000..7268b04bf --- /dev/null +++ b/poky/meta/recipes-sato/webkit/webkitgtk/include_array.patch @@ -0,0 +1,15 @@ +Added missing include for std::array + +Upstream-Status: Submitted [https://bugs.webkit.org/show_bug.cgi?id=197085] +Signed-off-by: Khem Raj <raj.khem@gmail.com> + +--- webkitgtk-2.24.0/Source/JavaScriptCore/assembler/PerfLog.cpp.org 2019-04-18 18:03:50.226231691 -0700 ++++ webkitgtk-2.24.0/Source/JavaScriptCore/assembler/PerfLog.cpp 2019-04-18 18:07:28.569153989 -0700 +@@ -31,6 +31,7 @@ + #include <elf.h> + #include <fcntl.h> + #include <mutex> ++#include <array> + #include <sys/mman.h> + #include <sys/stat.h> + #include <sys/syscall.h> diff --git a/poky/meta/recipes-sato/webkit/webkitgtk/narrowing.patch b/poky/meta/recipes-sato/webkit/webkitgtk/narrowing.patch new file mode 100644 index 000000000..598b6b5df --- /dev/null +++ b/poky/meta/recipes-sato/webkit/webkitgtk/narrowing.patch @@ -0,0 +1,31 @@ +Fix build with clang on arm where char is unsigned + +Upstream-Status: Submitted [https://bugs.webkit.org/show_bug.cgi?id=197087] +Signed-off-by: Khem Raj <raj.khem@gmail.com> + +--- a/Source/WebCore/contentextensions/DFACombiner.cpp ++++ b/Source/WebCore/contentextensions/DFACombiner.cpp +@@ -37,7 +37,7 @@ namespace WebCore { + namespace ContentExtensions { + + class DFAMerger { +- typedef MutableRangeList<char, uint64_t, 128> CombinedTransitionsMutableRangeList; ++ typedef MutableRangeList<signed char, uint64_t, 128> CombinedTransitionsMutableRangeList; + + enum class WhichDFA { + A, +--- a/Source/WebCore/contentextensions/NFAToDFA.cpp ++++ b/Source/WebCore/contentextensions/NFAToDFA.cpp +@@ -41,9 +41,9 @@ namespace WebCore { + + namespace ContentExtensions { + +-typedef MutableRange<char, NFANodeIndexSet> NFANodeRange; +-typedef MutableRangeList<char, NFANodeIndexSet> NFANodeRangeList; +-typedef MutableRangeList<char, NFANodeIndexSet, 128> PreallocatedNFANodeRangeList; ++typedef MutableRange<signed char, NFANodeIndexSet> NFANodeRange; ++typedef MutableRangeList<signed char, NFANodeIndexSet> NFANodeRangeList; ++typedef MutableRangeList<signed char, NFANodeIndexSet, 128> PreallocatedNFANodeRangeList; + typedef Vector<uint32_t, 0, ContentExtensionsOverflowHandler> UniqueNodeList; + typedef Vector<UniqueNodeList, 0, ContentExtensionsOverflowHandler> NFANodeClosures; + diff --git a/poky/meta/recipes-sato/webkit/webkitgtk/snprintf.patch b/poky/meta/recipes-sato/webkit/webkitgtk/snprintf.patch new file mode 100644 index 000000000..b1481d78e --- /dev/null +++ b/poky/meta/recipes-sato/webkit/webkitgtk/snprintf.patch @@ -0,0 +1,15 @@ +include missing header for snprintf definition + +Upstream-Status: Submitted [https://bugs.webkit.org/show_bug.cgi?id=197088] +Signed-off-by: Khem Raj <raj.khem@gmail.com> + +--- a/Source/WebCore/platform/text/TextCodec.cpp ++++ b/Source/WebCore/platform/text/TextCodec.cpp +@@ -28,6 +28,7 @@ + #include "TextCodec.h" + + #include <array> ++#include <cstdio> + + namespace WebCore { + diff --git a/poky/meta/recipes-sato/webkit/webkitgtk_2.22.7.bb b/poky/meta/recipes-sato/webkit/webkitgtk_2.24.0.bb index 301bf10ce..96ac5ac18 100644 --- a/poky/meta/recipes-sato/webkit/webkitgtk_2.22.7.bb +++ b/poky/meta/recipes-sato/webkit/webkitgtk_2.24.0.bb @@ -20,16 +20,20 @@ SRC_URI = "http://www.webkitgtk.org/releases/${BPN}-${PV}.tar.xz \ file://0001-WebKitMacros-Append-to-I-and-not-to-isystem.patch \ file://0001-Fix-build-with-musl.patch \ file://detect-gstreamer-gl.patch \ - file://bad_optional_access.patch \ + file://include_array.patch \ + file://narrowing.patch \ + file://snprintf.patch \ " -SRC_URI[md5sum] = "47386c10a9c3975f933c85404f35ff3b" -SRC_URI[sha256sum] = "4be6f7d605cd0a690fd26e8aa83b089a33ad9d419148eafcfb60580dd2af30ff" +SRC_URI[md5sum] = "576d69c598b3e36c73441052d02466de" +SRC_URI[sha256sum] = "2e4ad1503fe482ceb5a83cf70ac9cd42f37eb718555a4d6844fe4c59a9214407" inherit cmake pkgconfig gobject-introspection perlnative distro_features_check upstream-version-is-even gtk-doc REQUIRED_DISTRO_FEATURES = "x11 opengl" +CVE_PRODUCT = "webkitgtk webkitgtk\+" + DEPENDS = "zlib libsoup-2.4 curl libxml2 cairo libxslt libxt libidn libgcrypt \ gtk+3 gstreamer1.0 gstreamer1.0-plugins-base flex-native gperf-native sqlite3 \ pango icu bison-native gawk intltool-native libwebp \ @@ -56,6 +60,7 @@ PACKAGECONFIG[libsecret] = "-DUSE_LIBSECRET=ON,-DUSE_LIBSECRET=OFF,libsecret" PACKAGECONFIG[libhyphen] = "-DUSE_LIBHYPHEN=ON,-DUSE_LIBHYPHEN=OFF,libhyphen" # Source is at https://github.com/google/woff2 PACKAGECONFIG[woff2] = "-DUSE_WOFF2=ON,-DUSE_WOFF2=OFF,woff2" +PACKAGECONFIG[openjpeg] = "-DUSE_OPENJPEG=ON,-DUSE_OPENJPEG=OFF,openjpeg" EXTRA_OECMAKE = " \ -DPORT=GTK \ @@ -92,8 +97,6 @@ EXTRA_OECMAKE_append_aarch64 = " -DUSE_LD_GOLD=OFF " EXTRA_OECMAKE_append_mipsarch = " -DUSE_LD_GOLD=OFF " EXTRA_OECMAKE_append_powerpc = " -DUSE_LD_GOLD=OFF " -EXTRA_OECMAKE_append_aarch64 = " -DWTF_CPU_ARM64_CORTEXA53=ON" - # JIT not supported on MIPS either EXTRA_OECMAKE_append_mipsarch = " -DENABLE_JIT=OFF " diff --git a/poky/meta/recipes-support/apr/apr-util_1.6.1.bb b/poky/meta/recipes-support/apr/apr-util_1.6.1.bb index 0c90f8d25..1f9fea25d 100644 --- a/poky/meta/recipes-support/apr/apr-util_1.6.1.bb +++ b/poky/meta/recipes-support/apr/apr-util_1.6.1.bb @@ -79,6 +79,7 @@ INSANE_SKIP_${PN} += "dev-so" inherit ptest RDEPENDS_${PN}-ptest_append_libc-glibc = " glibc-gconv-iso8859-1 glibc-gconv-iso8859-2 glibc-gconv-utf-7" +RDEPENDS_${PN}-ptest += "libgcc" do_compile_ptest() { cd ${B}/test diff --git a/poky/meta/recipes-support/apr/apr/0006-apr-fix-off_t-size-doesn-t-match-in-glibc-when-cross.patch b/poky/meta/recipes-support/apr/apr/0006-apr-fix-off_t-size-doesn-t-match-in-glibc-when-cross.patch index 5f5e7eac3..d1a2ebe88 100644 --- a/poky/meta/recipes-support/apr/apr/0006-apr-fix-off_t-size-doesn-t-match-in-glibc-when-cross.patch +++ b/poky/meta/recipes-support/apr/apr/0006-apr-fix-off_t-size-doesn-t-match-in-glibc-when-cross.patch @@ -1,7 +1,7 @@ -From f4d6e45ed5d2ccffd1af4c2ccdf7099ba0dce137 Mon Sep 17 00:00:00 2001 +From 49661ea3858cf8494926cccf57d3e8c6dcb47117 Mon Sep 17 00:00:00 2001 From: Dengke Du <dengke.du@windriver.com> Date: Wed, 14 Dec 2016 18:13:08 +0800 -Subject: [PATCH 6/7] apr: fix off_t size doesn't match in glibc when cross +Subject: [PATCH] apr: fix off_t size doesn't match in glibc when cross compiling In configure.in, it contains the following: @@ -29,15 +29,16 @@ Change the above correspondingly. Signed-off-by: Dengke Du <dengke.du@windriver.com> Upstream-Status: Pending + --- configure.in | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/configure.in b/configure.in -index 3b10422..a227e72 100644 +index 27b8539..fb408d1 100644 --- a/configure.in +++ b/configure.in -@@ -1769,7 +1769,7 @@ else +@@ -1801,7 +1801,7 @@ else socklen_t_value="int" fi @@ -46,25 +47,25 @@ index 3b10422..a227e72 100644 if test "$ac_cv_sizeof_pid_t" = "$ac_cv_sizeof_short"; then pid_t_fmt='#define APR_PID_T_FMT "hd"' -@@ -1838,7 +1838,7 @@ APR_CHECK_TYPES_COMPATIBLE(ssize_t, long, [ssize_t_fmt="ld"]) - APR_CHECK_TYPES_COMPATIBLE(size_t, unsigned int, [size_t_fmt="u"]) - APR_CHECK_TYPES_COMPATIBLE(size_t, unsigned long, [size_t_fmt="lu"]) +@@ -1873,7 +1873,7 @@ APR_CHECK_TYPES_FMT_COMPATIBLE(size_t, unsigned long, lu, [size_t_fmt="lu"], [ + APR_CHECK_TYPES_FMT_COMPATIBLE(size_t, unsigned int, u, [size_t_fmt="u"]) + ]) -APR_CHECK_SIZEOF_EXTENDED([#include <sys/types.h>], ssize_t, 8) +AC_CHECK_SIZEOF(ssize_t) + dnl the else cases below should no longer occur; AC_MSG_CHECKING([which format to use for apr_ssize_t]) - if test -n "$ssize_t_fmt"; then -@@ -1855,7 +1855,7 @@ fi +@@ -1891,7 +1891,7 @@ fi ssize_t_fmt="#define APR_SSIZE_T_FMT \"$ssize_t_fmt\"" -APR_CHECK_SIZEOF_EXTENDED([#include <stddef.h>], size_t, 8) +AC_CHECK_SIZEOF(size_t) + # else cases below should no longer occur; AC_MSG_CHECKING([which format to use for apr_size_t]) - if test -n "$size_t_fmt"; then -@@ -1872,7 +1872,7 @@ fi +@@ -1909,7 +1909,7 @@ fi size_t_fmt="#define APR_SIZE_T_FMT \"$size_t_fmt\"" @@ -73,6 +74,3 @@ index 3b10422..a227e72 100644 if test "${ac_cv_sizeof_off_t}${apr_cv_use_lfs64}" = "4yes"; then # Enable LFS --- -1.8.3.1 - diff --git a/poky/meta/recipes-support/apr/apr_1.6.5.bb b/poky/meta/recipes-support/apr/apr_1.7.0.bb index 432e4ed74..09a65bfdd 100644 --- a/poky/meta/recipes-support/apr/apr_1.6.5.bb +++ b/poky/meta/recipes-support/apr/apr_1.7.0.bb @@ -20,8 +20,8 @@ SRC_URI = "${APACHE_MIRROR}/apr/${BPN}-${PV}.tar.bz2 \ file://0007-explicitly-link-libapr-against-phtread-to-make-gold-.patch \ " -SRC_URI[md5sum] = "ad4add8efdfe87330b88e5e788241775" -SRC_URI[sha256sum] = "a67ca9fcf9c4ff59bce7f428a323c8b5e18667fdea7b0ebad47d194371b0a105" +SRC_URI[md5sum] = "7a14a83d664e87599ea25ff4432e48a7" +SRC_URI[sha256sum] = "e2e148f0b2e99b8e5c6caa09f6d4fb4dd3e83f744aa72a952f94f5a14436f7ea" inherit autotools-brokensep lib_package binconfig multilib_header ptest @@ -53,6 +53,8 @@ do_configure_prepend() { FILES_${PN}-dev += "${libdir}/apr.exp ${datadir}/build-1/*" RDEPENDS_${PN}-dev += "bash" +RDEPENDS_${PN}-ptest += "libgcc" + #for some reason, build/libtool.m4 handled by buildconf still be overwritten #when autoconf, so handle it again. do_configure_append() { diff --git a/poky/meta/recipes-support/atk/at-spi2-core/meson-0.50-fix.patch b/poky/meta/recipes-support/atk/at-spi2-core/meson-0.50-fix.patch new file mode 100644 index 000000000..fbdf7d0e2 --- /dev/null +++ b/poky/meta/recipes-support/atk/at-spi2-core/meson-0.50-fix.patch @@ -0,0 +1,31 @@ +From 44a812ea51223d82f21a098a2d45fcc5c329ce7a Mon Sep 17 00:00:00 2001 +From: Tobias Stoeckmann <tobias@stoeckmann.org> +Date: Tue, 12 Mar 2019 11:46:24 +0100 +Subject: [PATCH] Fix meson.build for meson 0.50.0. + +Since meson 0.50.0 it is not possible anymore to specify an +absolute directory for subdir. To keep current functionality, +use install_dir instead. + +atspi/meson.build:60:0: ERROR: Subdir keyword must not be an absolute path. + +Upstream-Status: Backport +Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> +Signed-off-by: Tobias Stoeckmann <tobias@stoeckmann.org> +--- + atspi/meson.build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/atspi/meson.build b/atspi/meson.build +index b7a9357..2a6915d 100644 +--- a/atspi/meson.build ++++ b/atspi/meson.build +@@ -57,7 +57,7 @@ atspi_headers = [ + + atspi_includedir = join_paths(get_option('prefix'), get_option('includedir'), 'at-spi-2.0', 'atspi') + +-install_headers(atspi_headers, subdir: atspi_includedir) ++install_headers(atspi_headers, install_dir: atspi_includedir) + + atspi_enums = gnome.mkenums('atspi-enum-types', + sources: [ 'atspi-constants.h', 'atspi-types.h' ], diff --git a/poky/meta/recipes-support/atk/at-spi2-core_2.30.0.bb b/poky/meta/recipes-support/atk/at-spi2-core_2.30.0.bb index d0b567a5e..cfe0ddeef 100644 --- a/poky/meta/recipes-support/atk/at-spi2-core_2.30.0.bb +++ b/poky/meta/recipes-support/atk/at-spi2-core_2.30.0.bb @@ -6,6 +6,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=e9f288ba982d60518f375b5898283886" MAJ_VER = "${@oe.utils.trim_version("${PV}", 2)}" SRC_URI = "${GNOME_MIRROR}/${BPN}/${MAJ_VER}/${BPN}-${PV}.tar.xz \ + file://meson-0.50-fix.patch \ " SRC_URI[md5sum] = "d4f22c66b3210ffe6b10d01c04e008b5" @@ -21,17 +22,11 @@ inherit meson gtk-doc gettext systemd pkgconfig upstream-version-is-even gobject EXTRA_OEMESON = " -Dsystemd_user_dir=${systemd_user_unitdir} \ -Ddbus_daemon=${bindir}/dbus-daemon" -GTKDOC_ENABLE_FLAG = "-Denable_docs=true" -GTKDOC_DISABLE_FLAG = "-Denable_docs=false" +GTKDOC_MESON_OPTION = "enable_docs" -GI_ENABLE_FLAG = "-Denable-introspection=yes" -GI_DISABLE_FLAG = "-Denable-introspection=no" - -EXTRA_OEMESON_append_class-target = " ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '${GI_ENABLE_FLAG}', \ - '${GI_DISABLE_FLAG}', d)} " - -EXTRA_OEMESON_append_class-target = " ${@bb.utils.contains('GTKDOC_ENABLED', 'True', '${GTKDOC_ENABLE_FLAG}', \ - '${GTKDOC_DISABLE_FLAG}', d)} " +GIR_MESON_OPTION = 'enable-introspection' +GIR_MESON_ENABLE_FLAG = 'yes' +GIR_MESON_DISABLE_FLAG = 'no' FILES_${PN} += "${datadir}/dbus-1/services/*.service \ ${datadir}/dbus-1/accessibility-services/*.service \ diff --git a/poky/meta/recipes-support/atk/atk_2.30.0.bb b/poky/meta/recipes-support/atk/atk_2.30.0.bb index 4e2dacbc4..4e22b3f81 100644 --- a/poky/meta/recipes-support/atk/atk_2.30.0.bb +++ b/poky/meta/recipes-support/atk/atk_2.30.0.bb @@ -14,20 +14,6 @@ DEPENDS = "gettext-native glib-2.0" GNOMEBASEBUILDCLASS = "meson" inherit gnomebase gtk-doc gettext upstream-version-is-even gobject-introspection -GTKDOC_ENABLE_FLAG = "-Ddocs=true" -GTKDOC_DISABLE_FLAG = "-Ddocs=false" - -GI_ENABLE_FLAG = "-Dintrospection=true" -GI_DISABLE_FLAG = "-Dintrospection=false" - -EXTRA_OEMESON_append_class-nativesdk = " ${GI_DISABLE_FLAG}" - -EXTRA_OEMESON_append_class-target = " ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '${GI_ENABLE_FLAG}', \ - '${GI_DISABLE_FLAG}', d)} " - -EXTRA_OEMESON_append_class-target = " ${@bb.utils.contains('GTKDOC_ENABLED', 'True', '${GTKDOC_ENABLE_FLAG}', \ - '${GTKDOC_DISABLE_FLAG}', d)} " - SRC_URI_append = " \ file://0001-meson.build-enable-introspection-for-cross-compile.patch \ file://0001-Switch-from-filename-to-basename.patch \ diff --git a/poky/meta/recipes-support/attr/attr.inc b/poky/meta/recipes-support/attr/attr.inc index cfa38a719..1a29eb339 100644 --- a/poky/meta/recipes-support/attr/attr.inc +++ b/poky/meta/recipes-support/attr/attr.inc @@ -41,6 +41,6 @@ do_install_ptest() { sed -e 's|; @echo|; echo|' -i ${D}${PTEST_PATH}/test/Makefile } -RDEPENDS_${PN}-ptest = "attr coreutils perl-module-filehandle perl-module-getopt-std perl-module-posix" +RDEPENDS_${PN}-ptest = "attr coreutils perl-module-filehandle perl-module-getopt-std perl-module-posix make" BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-support/curl/curl_7.64.0.bb b/poky/meta/recipes-support/curl/curl_7.64.1.bb index a1b5e7d57..47c28beff 100644 --- a/poky/meta/recipes-support/curl/curl_7.64.0.bb +++ b/poky/meta/recipes-support/curl/curl_7.64.1.bb @@ -9,8 +9,8 @@ SRC_URI = "http://curl.haxx.se/download/curl-${PV}.tar.bz2 \ file://0001-replace-krb5-config-with-pkg-config.patch \ " -SRC_URI[md5sum] = "d0bcc586873cfef08b4b9594e5395a33" -SRC_URI[sha256sum] = "d573ba1c2d1cf9d8533fadcce480d778417964e8d04ccddcc76e591d544cf2eb" +SRC_URI[md5sum] = "790c101927845208a9d7e8c429ddd1b2" +SRC_URI[sha256sum] = "4cc7c738b35250d0680f29e93e0820c4cb40035f43514ea3ec8d60322d41a45d" CVE_PRODUCT = "curl libcurl" inherit autotools pkgconfig binconfig multilib_header diff --git a/poky/meta/recipes-support/gnupg/gnupg/0001-Woverride-init-is-not-needed-with-gcc-9.patch b/poky/meta/recipes-support/gnupg/gnupg/0001-Woverride-init-is-not-needed-with-gcc-9.patch index 4a280f9d5..83195b5bd 100644 --- a/poky/meta/recipes-support/gnupg/gnupg/0001-Woverride-init-is-not-needed-with-gcc-9.patch +++ b/poky/meta/recipes-support/gnupg/gnupg/0001-Woverride-init-is-not-needed-with-gcc-9.patch @@ -1,4 +1,4 @@ -From 0df5800cc2e720aad883a517f7d24a9722fe5845 Mon Sep 17 00:00:00 2001 +From e3adc816d2d56dd929016073937ba24e01e03cb8 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Thu, 20 Dec 2018 17:37:48 -0800 Subject: [PATCH] Woverride-init is not needed with gcc 9 @@ -17,15 +17,18 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dirmngr/dns.h b/dirmngr/dns.h -index 30d0b45..98fe412 100644 +index 024d6dcc8..c6e141e16 100644 --- a/dirmngr/dns.h +++ b/dirmngr/dns.h -@@ -154,7 +154,7 @@ DNS_PUBLIC int *dns_debug_p(void); +@@ -139,7 +139,7 @@ DNS_PUBLIC int *dns_debug_p(void); + #define DNS_PRAGMA_QUIET _Pragma("clang diagnostic ignored \"-Winitializer-overrides\"") + #define DNS_PRAGMA_POP _Pragma("clang diagnostic pop") - #define dns_quietinit(...) \ - DNS_PRAGMA_PUSH DNS_PRAGMA_QUIET __VA_ARGS__ DNS_PRAGMA_POP -#elif (__GNUC__ == 4 && __GNUC_MINOR__ >= 6) || __GNUC__ > 4 +#elif (__GNUC__ == 4 && __GNUC_MINOR__ >= 6) || (__GNUC__ > 4 && __GNUC__ < 9) #define DNS_PRAGMA_PUSH _Pragma("GCC diagnostic push") #define DNS_PRAGMA_QUIET _Pragma("GCC diagnostic ignored \"-Woverride-init\"") #define DNS_PRAGMA_POP _Pragma("GCC diagnostic pop") +-- +2.17.1 + diff --git a/poky/meta/recipes-support/gnupg/gnupg_2.2.13.bb b/poky/meta/recipes-support/gnupg/gnupg_2.2.15.bb index 3ce2a38c0..06a257333 100644 --- a/poky/meta/recipes-support/gnupg/gnupg_2.2.13.bb +++ b/poky/meta/recipes-support/gnupg/gnupg_2.2.15.bb @@ -20,8 +20,8 @@ SRC_URI_append_class-native = " file://0001-configure.ac-use-a-custom-value-for- file://relocate.patch" -SRC_URI[md5sum] = "563b959d0c3856e34526e9ca51c80d7b" -SRC_URI[sha256sum] = "76c787a955f9e6e0ead47c9be700bfb9d454f955a7b7c7e697aa719bac7b11d8" +SRC_URI[md5sum] = "3ab87e377aa0af2f463649515bf66508" +SRC_URI[sha256sum] = "cb8ce298d7b36558ffc48aec961b14c830ff1783eef7a623411188b5e0f5d454" EXTRA_OECONF = "--disable-ldap \ --disable-ccid-driver \ diff --git a/poky/meta/recipes-support/gnutls/gnutls_3.6.5.bb b/poky/meta/recipes-support/gnutls/gnutls_3.6.7.bb index dfc35079d..e05dc2b57 100644 --- a/poky/meta/recipes-support/gnutls/gnutls_3.6.5.bb +++ b/poky/meta/recipes-support/gnutls/gnutls_3.6.7.bb @@ -9,7 +9,7 @@ LICENSE_${PN}-bin = "GPLv3+" LICENSE_${PN}-openssl = "GPLv3+" LIC_FILES_CHKSUM = "file://LICENSE;md5=71391c8e0c1cfe68077e7fce3b586283 \ - file://doc/COPYING;md5=d32239bcb673463ab874e80d47fae504 \ + file://doc/COPYING;md5=c678957b0c8e964aa6c70fd77641a71e \ file://doc/COPYING.LESSER;md5=a6f89e2100d9b6cdffcea4f398e37343" DEPENDS = "nettle gmp virtual/libiconv libunistring" @@ -21,8 +21,8 @@ SRC_URI = "https://www.gnupg.org/ftp/gcrypt/gnutls/v${SHRT_VER}/gnutls-${PV}.tar file://arm_eabi.patch \ " -SRC_URI[md5sum] = "3474849e1bbd4d16403b82ab2579000b" -SRC_URI[sha256sum] = "073eced3acef49a3883e69ffd5f0f0b5f46e2760ad86eddc6c0866df4e7abb35" +SRC_URI[md5sum] = "c4ac669c500df939d4fbfea722367929" +SRC_URI[sha256sum] = "5b3409ad5aaf239808730d1ee12fdcd148c0be00262c7edf157af655a8a188e2" inherit autotools texinfo pkgconfig gettext lib_package gtk-doc @@ -44,7 +44,6 @@ EXTRA_OECONF = " \ --enable-local-libopts \ --enable-openssl-compatibility \ --with-libpthread-prefix=${STAGING_DIR_HOST}${prefix} \ - --without-libunistring-prefix \ " LDFLAGS_append_libc-musl = " -largp" diff --git a/poky/meta/recipes-support/gpgme/gpgme/0001-Revert-build-Make-gpgme.m4-use-gpgrt-config-with-.pc.patch b/poky/meta/recipes-support/gpgme/gpgme/0001-Revert-build-Make-gpgme.m4-use-gpgrt-config-with-.pc.patch new file mode 100644 index 000000000..0ed4eb681 --- /dev/null +++ b/poky/meta/recipes-support/gpgme/gpgme/0001-Revert-build-Make-gpgme.m4-use-gpgrt-config-with-.pc.patch @@ -0,0 +1,134 @@ +From a001b3c23bf80fd752044615b9bba6b926ff9666 Mon Sep 17 00:00:00 2001 +From: Hongxu Jia <hongxu.jia@windriver.com> +Date: Fri, 10 May 2019 14:18:04 +0800 +Subject: [PATCH] Revert "build: Make gpgme.m4 use gpgrt-config with *.pc." + +This reverts commit 60828a505a1c74fd34476c181df2a588ea6f9c83. + +The oe-core does not support gpgrt-config, so revert it + +Upstream-Status: Inappropriate [oe-core specific] + +Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> +--- + src/gpgme.m4 | 58 ++++++++++------------------------------------------------ + 1 file changed, 10 insertions(+), 48 deletions(-) + +diff --git a/src/gpgme.m4 b/src/gpgme.m4 +index 2a72f18..6c2be44 100644 +--- a/src/gpgme.m4 ++++ b/src/gpgme.m4 +@@ -1,5 +1,5 @@ + # gpgme.m4 - autoconf macro to detect GPGME. +-# Copyright (C) 2002, 2003, 2004, 2014, 2018 g10 Code GmbH ++# Copyright (C) 2002, 2003, 2004, 2014 g10 Code GmbH + # + # This file is free software; as a special exception the author gives + # unlimited permission to copy and/or distribute it, with or without +@@ -9,7 +9,7 @@ + # WITHOUT ANY WARRANTY, to the extent permitted by law; without even the + # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + # +-# Last-changed: 2018-11-12 ++# Last-changed: 2014-10-02 + + + AC_DEFUN([_AM_PATH_GPGME_CONFIG], +@@ -36,24 +36,10 @@ AC_DEFUN([_AM_PATH_GPGME_CONFIG], + fi + fi + +- use_gpgrt_config="" +- if test x"${GPGME_CONFIG}" = x -a x"$GPGRT_CONFIG" != x -a "$GPGRT_CONFIG" != "no"; then +- if $GPGRT_CONFIG gpgme --exists; then +- GPGME_CONFIG="$GPGRT_CONFIG gpgme" +- AC_MSG_NOTICE([Use gpgrt-config as gpgme-config]) +- use_gpgrt_config=yes +- fi +- fi +- if test -z "$use_gpgrt_config"; then +- AC_PATH_PROG(GPGME_CONFIG, gpgme-config, no) +- fi ++ AC_PATH_PROG(GPGME_CONFIG, gpgme-config, no) + + if test "$GPGME_CONFIG" != "no" ; then +- if test -z "$use_gpgrt_config"; then +- gpgme_version=`$GPGME_CONFIG --version` +- else +- gpgme_version=`$GPGME_CONFIG --modversion` +- fi ++ gpgme_version=`$GPGME_CONFIG --version` + fi + gpgme_version_major=`echo $gpgme_version | \ + sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\1/'` +@@ -66,16 +52,12 @@ AC_DEFUN([_AM_PATH_GPGME_CONFIG], + + AC_DEFUN([_AM_PATH_GPGME_CONFIG_HOST_CHECK], + [ +- if test -z "$use_gpgrt_config"; then +- gpgme_config_host=`$GPGME_CONFIG --host 2>/dev/null || echo none` +- else +- gpgme_config_host=`$GPGME_CONFIG --variable=host 2>/dev/null || echo none` +- fi ++ gpgme_config_host=`$GPGME_CONFIG --host 2>/dev/null || echo none` + if test x"$gpgme_config_host" != xnone ; then + if test x"$gpgme_config_host" != x"$host" ; then + AC_MSG_WARN([[ + *** +-*** The config script "$GPGME_CONFIG" was ++*** The config script $GPGME_CONFIG was + *** built for $gpgme_config_host and thus may not match the + *** used host $host. + *** You may want to use the configure option --with-gpgme-prefix +@@ -136,11 +118,7 @@ AC_DEFUN([AM_PATH_GPGME], + # If we have a recent GPGME, we should also check that the + # API is compatible. + if test "$req_gpgme_api" -gt 0 ; then +- if test -z "$use_gpgrt_config"; then +- tmp=`$GPGME_CONFIG --api-version 2>/dev/null || echo 0` +- else +- tmp=`$GPGME_CONFIG --variable=api_version 2>/dev/null || echo 0` +- fi ++ tmp=`$GPGME_CONFIG --api-version 2>/dev/null || echo 0` + if test "$tmp" -gt 0 ; then + if test "$req_gpgme_api" -ne "$tmp" ; then + ok=no +@@ -280,11 +258,7 @@ AC_DEFUN([AM_PATH_GPGME_GLIB], + # If we have a recent GPGME, we should also check that the + # API is compatible. + if test "$req_gpgme_api" -gt 0 ; then +- if test -z "$use_gpgrt_config"; then +- tmp=`$GPGME_CONFIG --api-version 2>/dev/null || echo 0` +- else +- tmp=`$GPGME_CONFIG --variable=api_version 2>/dev/null || echo 0` +- fi ++ tmp=`$GPGME_CONFIG --api-version 2>/dev/null || echo 0` + if test "$tmp" -gt 0 ; then + if test "$req_gpgme_api" -ne "$tmp" ; then + ok=no +@@ -293,20 +267,8 @@ AC_DEFUN([AM_PATH_GPGME_GLIB], + fi + fi + if test $ok = yes; then +- if test -z "$use_gpgrt_config"; then +- GPGME_GLIB_CFLAGS=`$GPGME_CONFIG --glib --cflags` +- GPGME_GLIB_LIBS=`$GPGME_CONFIG --glib --libs` +- else +- if $GPGRT_CONFIG gpgme-glib --exists; then +- GPGME_CONFIG="$GPGRT_CONFIG gpgme-glib" +- GPGME_GLIB_CFLAGS=`$GPGME_CONFIG --cflags` +- GPGME_GLIB_LIBS=`$GPGME_CONFIG --libs` +- else +- ok = no +- fi +- fi +- fi +- if test $ok = yes; then ++ GPGME_GLIB_CFLAGS=`$GPGME_CONFIG --glib --cflags` ++ GPGME_GLIB_LIBS=`$GPGME_CONFIG --glib --libs` + AC_MSG_RESULT(yes) + ifelse([$2], , :, [$2]) + _AM_PATH_GPGME_CONFIG_HOST_CHECK +-- +2.7.4 + diff --git a/poky/meta/recipes-support/gpgme/gpgme/0001-pkgconfig.patch b/poky/meta/recipes-support/gpgme/gpgme/0001-pkgconfig.patch index 176723cd1..827d95a15 100644 --- a/poky/meta/recipes-support/gpgme/gpgme/0001-pkgconfig.patch +++ b/poky/meta/recipes-support/gpgme/gpgme/0001-pkgconfig.patch @@ -1,7 +1,7 @@ -From 6492c952d61bb93a8bf8200c093d7e491456aa5a Mon Sep 17 00:00:00 2001 +From 98ce65902b197faa8f660564613ca2e504c2f8f8 Mon Sep 17 00:00:00 2001 From: Richard Purdie <richard.purdie@linuxfoundation.org> -Date: Fri, 29 Jun 2018 14:35:41 +0800 -Subject: [PATCH 1/7] pkgconfig +Date: Fri, 10 May 2019 14:23:55 +0800 +Subject: [PATCH] pkgconfig Update gpgme to use pkgconfig instead of -config files since its simpler and less error prone when cross compiling. @@ -11,7 +11,7 @@ RP 2015/4/17 Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> -Rebase to 1.11.1 +Rebase to 1.13.0 Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> --- @@ -19,43 +19,40 @@ Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> src/Makefile.am | 4 +- src/gpgme-pthread.pc.in | 15 +++++++ src/gpgme.m4 | 114 ++++-------------------------------------------- - src/gpgme.pc.in | 15 +++++++ - 5 files changed, 42 insertions(+), 107 deletions(-) + src/gpgme.pc.in | 4 +- + 5 files changed, 28 insertions(+), 110 deletions(-) create mode 100644 src/gpgme-pthread.pc.in - create mode 100644 src/gpgme.pc.in diff --git a/configure.ac b/configure.ac -index af569ac..865bd10 100644 +index 25184f4..1c0a386 100644 --- a/configure.ac +++ b/configure.ac -@@ -895,6 +895,7 @@ AC_CONFIG_FILES(Makefile src/Makefile - src/versioninfo.rc +@@ -899,6 +899,7 @@ AC_CONFIG_FILES(Makefile src/Makefile + src/gpgme-glib.pc src/gpgme.h) AC_CONFIG_FILES(src/gpgme-config, chmod +x src/gpgme-config) -+AC_CONFIG_FILES(src/gpgme.pc src/gpgme-pthread.pc) ++AC_CONFIG_FILES(src/gpgme-pthread.pc) AC_CONFIG_FILES(lang/cpp/Makefile lang/cpp/src/Makefile) + AC_CONFIG_FILES(lang/cpp/tests/Makefile) AC_CONFIG_FILES(lang/cpp/src/GpgmeppConfig-w32.cmake.in) - AC_CONFIG_FILES(lang/cpp/src/GpgmeppConfig.cmake.in) diff --git a/src/Makefile.am b/src/Makefile.am -index 1394c02..8451c3a 100644 +index d85a85c..d942f3e 100644 --- a/src/Makefile.am +++ b/src/Makefile.am -@@ -19,12 +19,14 @@ +@@ -20,11 +20,11 @@ ## Process this file with automake to produce Makefile.in + pkgconfigdir = $(libdir)/pkgconfig +-pkgconfig_DATA = gpgme.pc gpgme-glib.pc ++pkgconfig_DATA = gpgme.pc gpgme-glib.pc gpgme-pthread.pc + EXTRA_DIST = gpgme-config.in gpgme.m4 libgpgme.vers ChangeLog-2011 \ -- gpgme.h.in versioninfo.rc.in gpgme.def -+ gpgme.h.in versioninfo.rc.in gpgme.def gpgme.pc.in gpgme-pthread.pc.in + gpgme.h.in versioninfo.rc.in gpgme.def \ +- gpgme.pc.in gpgme-glib.pc.in ++ gpgme.pc.in gpgme-glib.pc.in gpgme-pthread.pc.in bin_SCRIPTS = gpgme-config m4datadir = $(datadir)/aclocal - m4data_DATA = gpgme.m4 - nodist_include_HEADERS = gpgme.h -+pkgconfigdir = $(libdir)/pkgconfig -+pkgconfig_DATA = gpgme.pc gpgme-pthread.pc - - bin_PROGRAMS = gpgme-tool gpgme-json - diff --git a/src/gpgme-pthread.pc.in b/src/gpgme-pthread.pc.in new file mode 100644 index 0000000..074bbf6 @@ -277,27 +274,18 @@ index 6c2be44..d8a75cb 100644 - AC_SUBST(GPGME_GLIB_LIBS) ]) diff --git a/src/gpgme.pc.in b/src/gpgme.pc.in -new file mode 100644 -index 0000000..b69539f ---- /dev/null +index be288b8..16f56ac 100644 +--- a/src/gpgme.pc.in +++ b/src/gpgme.pc.in -@@ -0,0 +1,15 @@ -+prefix=@prefix@ -+exec_prefix=@exec_prefix@ -+libdir=@libdir@ -+includedir=@includedir@ -+ -+# API info -+api_version=@GPGME_CONFIG_API_VERSION@ -+host=@GPGME_CONFIG_HOST@ -+ -+Name: gpgme -+Description: GnuPG Made Easy (GPGME) is a C language library that allows to addsupport for cryptography to a program. -+Version: @VERSION@ -+Libs: -L${libdir} -lgpgme +@@ -9,6 +9,6 @@ Name: gpgme + Description: GnuPG Made Easy to access GnuPG + Requires: gpg-error, libassuan + Version: @PACKAGE_VERSION@ +-Cflags: @GPGME_CONFIG_CFLAGS@ +-Libs: @GPGME_CONFIG_LIBS@ +Cflags: -I${includedir} -+Requires: libassuan gpg-error -\ No newline at end of file ++Libs: -L${libdir} -lgpgme + URL: https://www.gnupg.org/software/gpgme/index.html -- 2.7.4 diff --git a/poky/meta/recipes-support/gpgme/gpgme/0002-gpgme-lang-python-gpg-error-config-should-not-be-use.patch b/poky/meta/recipes-support/gpgme/gpgme/0002-gpgme-lang-python-gpg-error-config-should-not-be-use.patch index 0d0d0c67b..ecd1793ab 100644 --- a/poky/meta/recipes-support/gpgme/gpgme/0002-gpgme-lang-python-gpg-error-config-should-not-be-use.patch +++ b/poky/meta/recipes-support/gpgme/gpgme/0002-gpgme-lang-python-gpg-error-config-should-not-be-use.patch @@ -1,6 +1,6 @@ -From 03819ad1270a279223219c0e70ba631bfe517714 Mon Sep 17 00:00:00 2001 +From 52f8fd2010b900c7d382a7c4e6c1a317d8160585 Mon Sep 17 00:00:00 2001 From: Hongxu Jia <hongxu.jia@windriver.com> -Date: Wed, 17 Oct 2018 23:32:19 +0800 +Date: Fri, 10 May 2019 14:30:36 +0800 Subject: [PATCH 2/7] gpgme/lang/python: gpg-error-config should not be used gpg-error-config was modified by OE to always return an error. @@ -11,39 +11,38 @@ Upstream-Status: Inappropriate [changes are specific to OE] Signed-off-by: Mark Hatle <mark.hatle@windriver.com> -Rebase to 1.12.0 +Rebase to 1.13.0 Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> --- - lang/python/setup.py.in | 11 +---------- - 1 file changed, 1 insertion(+), 10 deletions(-) + lang/python/setup.py.in | 9 +-------- + 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/lang/python/setup.py.in b/lang/python/setup.py.in -index 65a4be0..11b8413 100755 +index 9785a28..006216d 100755 --- a/lang/python/setup.py.in +++ b/lang/python/setup.py.in @@ -30,7 +30,6 @@ import subprocess import sys # Out-of-tree build of the gpg bindings. --gpg_error_config = ["gpg-error-config"] - gpgme_config_flags = ["--thread=pthread"] - gpgme_config = ["gpgme-config"] + gpgme_config_flags - gpgme_h = "" -@@ -181,16 +180,8 @@ class BuildExtFirstHack(build): - shutil.copy2(source_name, sink_name) +-gpg_error_config = ['gpg-error-config'] + gpgme_config_flags = ['--thread=pthread'] + gpgme_config = ['gpgme-config'] + gpgme_config_flags + gpgme_h = '' +@@ -182,15 +181,9 @@ class BuildExtFirstHack(build): def _generate_errors_i(self): -- + - try: - subprocess.check_call( - gpg_error_config + ['--version'], stdout=devnull) - except: -- sys.exit("Could not find gpg-error-config. " + -- "Please install the libgpg-error development package.") -- +- sys.exit('Could not find gpg-error-config. ' + +- 'Please install the libgpg-error development package.') + gpg_error_content = self._read_header( -- "gpg-error.h", getconfig("cflags", config=gpg_error_config)) +- 'gpg-error.h', getconfig('cflags', config=gpg_error_config)) + "gpg-error.h", os.environ.get('CFLAGS').split()) filter_re = re.compile(r'GPG_ERR_[^ ]* =') diff --git a/poky/meta/recipes-support/gpgme/gpgme/0008-do-not-auto-check-var-PYTHON.patch b/poky/meta/recipes-support/gpgme/gpgme/0008-do-not-auto-check-var-PYTHON.patch new file mode 100644 index 000000000..3afbfc863 --- /dev/null +++ b/poky/meta/recipes-support/gpgme/gpgme/0008-do-not-auto-check-var-PYTHON.patch @@ -0,0 +1,36 @@ +From fc3d9cc218e60582fd158d21a1cd537a3dc1b007 Mon Sep 17 00:00:00 2001 +From: Hongxu Jia <hongxu.jia@windriver.com> +Date: Fri, 10 May 2019 16:19:54 +0800 +Subject: [PATCH] do not auto check var-PYTHON + +Upstream auto check the version of python rather than specify option +[ff6ff61 python: Auto-check for all installed python versions.] + +In oe-core, don't check var-PYTHON, use the setting from recipe, +only check specific python 2.7 and 3.7 + +Upstream-Status: Inappropriate [oe-core specific] + +Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> +--- + configure.ac | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/configure.ac b/configure.ac +index cb2f073..7d74a6d 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -423,8 +423,8 @@ if test "$found_py" = "1"; then + if test "$found_py" = "1" -o "$found_py3" = "1"; then + # Reset everything, so that we can look for another Python. + m4_foreach([mym4pythonver], +- [[2.7],[3.4],[3.5],[3.6],[3.7],[3.8],[all]], +- [unset PYTHON ++ [[2.7],[3.7]], ++ [ + unset PYTHON_VERSION + unset PYTHON_CPPFLAGS + unset PYTHON_LDFLAGS +-- +2.7.4 + diff --git a/poky/meta/recipes-support/gpgme/gpgme_1.12.0.bb b/poky/meta/recipes-support/gpgme/gpgme_1.13.0.bb index b46c5fc27..cbd37da30 100644 --- a/poky/meta/recipes-support/gpgme/gpgme_1.12.0.bb +++ b/poky/meta/recipes-support/gpgme/gpgme_1.13.0.bb @@ -6,11 +6,12 @@ BUGTRACKER = "https://bugs.g10code.com/gnupg/index" LICENSE = "GPLv2+ & LGPLv2.1+" LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ file://COPYING.LESSER;md5=bbb461211a33b134d42ed5ee802b37ff \ - file://src/gpgme.h.in;endline=23;md5=4d6319e587fd944adfe61a41a8f15b36 \ + file://src/gpgme.h.in;endline=23;md5=2f0bf06d1c7dcb28532a9d0f94a7ca1d \ file://src/engine.h;endline=22;md5=4b6d8ba313d9b564cc4d4cfb1640af9d" UPSTREAM_CHECK_URI = "https://gnupg.org/download/index.html" SRC_URI = "${GNUPG_MIRROR}/gpgme/${BP}.tar.bz2 \ + file://0001-Revert-build-Make-gpgme.m4-use-gpgrt-config-with-.pc.patch \ file://0001-pkgconfig.patch \ file://0002-gpgme-lang-python-gpg-error-config-should-not-be-use.patch \ file://0003-Correctly-install-python-modules.patch \ @@ -18,10 +19,11 @@ SRC_URI = "${GNUPG_MIRROR}/gpgme/${BP}.tar.bz2 \ file://0005-gpgme-config-skip-all-lib-or-usr-lib-directories-in-.patch \ file://0006-fix-build-path-issue.patch \ file://0007-python-Add-variables-to-tests.patch \ + file://0008-do-not-auto-check-var-PYTHON.patch \ " -SRC_URI[md5sum] = "902fca3a94907efe4e929b2ade545a7c" -SRC_URI[sha256sum] = "b4dc951c3743a60e2e120a77892e9e864fb936b2e58e7c77e8581f4d050e8cd8" +SRC_URI[md5sum] = "e511a0d95c507ab87e713140c82fc7d0" +SRC_URI[sha256sum] = "d4b23e47a9e784a63e029338cce0464a82ce0ae4af852886afda410f9e39c630" DEPENDS = "libgpg-error libassuan" RDEPENDS_${PN}-cpp += "libstdc++" @@ -44,9 +46,7 @@ PACKAGECONFIG[python3] = ",,python3 swig-native," # support. Since these bindings are currently not needed, we can disable them. DEFAULT_LANGUAGES = "" DEFAULT_LANGUAGES_class-target = "cpp" -LANGUAGES ?= "${DEFAULT_LANGUAGES}" -LANGUAGES .= "${@bb.utils.contains('PACKAGECONFIG', 'python2', ' python2', '', d)}" -LANGUAGES .= "${@bb.utils.contains('PACKAGECONFIG', 'python3', ' python3', '', d)}" +LANGUAGES ?= "${DEFAULT_LANGUAGES} python" PYTHON_INHERIT = "${@bb.utils.contains('PACKAGECONFIG', 'python2', 'pythonnative', '', d)}" PYTHON_INHERIT .= "${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3native', '', d)}" diff --git a/poky/meta/recipes-support/icu/icu/0001-Fix-big-endian-build.patch b/poky/meta/recipes-support/icu/icu/0001-Fix-big-endian-build.patch new file mode 100644 index 000000000..efb27ae4e --- /dev/null +++ b/poky/meta/recipes-support/icu/icu/0001-Fix-big-endian-build.patch @@ -0,0 +1,28 @@ +From 9be0b489a94b57419202c552022f25cb95bfac51 Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin <alex.kanavin@gmail.com> +Date: Wed, 17 Apr 2019 16:41:58 +0200 +Subject: [PATCH] Fix big-endian build + +Bug-report: https://unicode-org.atlassian.net/browse/ICU-20533 +Patch taken from: https://bugs.gentoo.org/682170 + +Upstream-Status: Pending +Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> +--- + data/Makefile.in | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/source/data/Makefile.in b/source/data/Makefile.in +index 778b6c7..67203e7 100644 +--- a/data/Makefile.in ++++ b/data/Makefile.in +@@ -148,7 +148,8 @@ ICUDATA_ARCHIVE = $(firstword $(wildcard $(srcdir)/in/$(ICUDATA_BASENAME_VERSION + # and convert it to the current type. + ifneq ($(ICUDATA_ARCHIVE),) + ICUDATA_SOURCE_ARCHIVE = $(OUTDIR)/$(ICUDATA_PLATFORM_NAME).dat +-$(ICUDATA_SOURCE_ARCHIVE): $(ICUDATA_ARCHIVE) $(OUTDIR) ++$(ICUDATA_SOURCE_ARCHIVE): $(ICUDATA_ARCHIVE) ++ $(MKINSTALLDIRS) $(OUTDIR) + $(INVOKE) $(TOOLBINDIR)/icupkg -t$(ICUDATA_CHAR) $(ICUDATA_ARCHIVE) $(ICUDATA_SOURCE_ARCHIVE) + endif + else diff --git a/poky/meta/recipes-support/icu/icu/0001-icu-Added-armeb-support.patch b/poky/meta/recipes-support/icu/icu/0001-icu-Added-armeb-support.patch new file mode 100644 index 000000000..299689d95 --- /dev/null +++ b/poky/meta/recipes-support/icu/icu/0001-icu-Added-armeb-support.patch @@ -0,0 +1,30 @@ +From 500321387ceca48934bb0f323779117cd518bab6 Mon Sep 17 00:00:00 2001 +From: Lei Maohui <leimaohui@cn.fujitsu.com> +Date: Wed, 8 May 2019 14:42:30 +0900 +Subject: [PATCH] icu: Added armeb support. + +Make icu support arm32 BE. + +Upstream-Status: Pending + +Signed-off-by: Lei Maohui <leimaohui@cn.fujitsu.com> +--- + i18n/double-conversion-utils.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/i18n/double-conversion-utils.h b/i18n/double-conversion-utils.h +index 1e44fca..e4f2a8b 100644 +--- a/i18n/double-conversion-utils.h ++++ b/i18n/double-conversion-utils.h +@@ -92,7 +92,7 @@ int main(int argc, char** argv) { + // + // If it prints "correct" then the architecture should be here, in the "correct" section. + #if defined(_M_X64) || defined(__x86_64__) || \ +- defined(__ARMEL__) || defined(__avr32__) || defined(_M_ARM) || defined(_M_ARM64) || \ ++ defined(__arm__) || defined(__avr32__) || defined(_M_ARM) || defined(_M_ARM64) || \ + defined(__hppa__) || defined(__ia64__) || \ + defined(__mips__) || \ + defined(__powerpc__) || defined(__ppc__) || defined(__ppc64__) || \ +-- +2.7.4 + diff --git a/poky/meta/recipes-support/icu/icu/0002-Add-ARC-support.patch b/poky/meta/recipes-support/icu/icu/0002-Add-ARC-support.patch deleted file mode 100644 index 20e3d8356..000000000 --- a/poky/meta/recipes-support/icu/icu/0002-Add-ARC-support.patch +++ /dev/null @@ -1,27 +0,0 @@ -From fcfd57105b4bdb30d906df152ef01748fa95daff Mon Sep 17 00:00:00 2001 -From: Alexey Brodkin <abrodkin@synopsys.com> -Date: Thu, 13 Sep 2018 17:13:20 +0300 -Subject: [PATCH] icu: Add ARC support - -Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com> - -Upstream-Status: Submitted [ https://github.com/unicode-org/icu/pull/149 ] ---- - i18n/double-conversion-utils.h | 2 +- - 1 files changed, 1 insertions(+), 1 deletions(-) - -diff --git a/i18n/double-conversion-utils.h b/i18n/double-conversion-utils.h -index 57fc49b231a3..0bd3e8340673 100644 ---- a/i18n/double-conversion-utils.h -+++ b/i18n/double-conversion-utils.h -@@ -86,7 +86,7 @@ inline void abort_noreturn() { abort(); } - defined(__SH4__) || defined(__alpha__) || \ - defined(_MIPS_ARCH_MIPS32R2) || \ - defined(__AARCH64EL__) || defined(__aarch64__) || \ -- defined(__riscv) -+ defined(__riscv) || defined(__arc__) - #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1 - #elif defined(__mc68000__) - #undef DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS -2.17.1 - diff --git a/poky/meta/recipes-support/icu/icu/CVE-2018-18928.patch b/poky/meta/recipes-support/icu/icu/CVE-2018-18928.patch deleted file mode 100644 index 19c50e4e7..000000000 --- a/poky/meta/recipes-support/icu/icu/CVE-2018-18928.patch +++ /dev/null @@ -1,63 +0,0 @@ -CVE: CVE-2018-18928 -Upstream-Status: Backport -Signed-off-by: Ross Burton <ross.burton@intel.com> - -From 53d8c8f3d181d87a6aa925b449b51c4a2c922a51 Mon Sep 17 00:00:00 2001 -From: Shane Carr <shane@unicode.org> -Date: Mon, 29 Oct 2018 23:52:44 -0700 -Subject: [PATCH] ICU-20246 Fixing another integer overflow in number parsing. - ---- - i18n/fmtable.cpp | 2 +- - i18n/number_decimalquantity.cpp | 5 ++++- - test/intltest/numfmtst.cpp | 8 ++++++++ - 6 files changed, 31 insertions(+), 4 deletions(-) - -diff --git a/i18n/fmtable.cpp b/i18n/fmtable.cpp -index 45c7024fc29..8601d95f4a6 100644 ---- a/i18n/fmtable.cpp -+++ b/i18n/fmtable.cpp -@@ -734,7 +734,7 @@ CharString *Formattable::internalGetCharString(UErrorCode &status) { - // not print scientific notation for magnitudes greater than -5 and smaller than some amount (+5?). - if (fDecimalQuantity->isZero()) { - fDecimalStr->append("0", -1, status); -- } else if (std::abs(fDecimalQuantity->getMagnitude()) < 5) { -+ } else if (fDecimalQuantity->getMagnitude() != INT32_MIN && std::abs(fDecimalQuantity->getMagnitude()) < 5) { - fDecimalStr->appendInvariantChars(fDecimalQuantity->toPlainString(), status); - } else { - fDecimalStr->appendInvariantChars(fDecimalQuantity->toScientificString(), status); -diff --git a/i18n/number_decimalquantity.cpp b/i18n/number_decimalquantity.cpp -index 47b930a564b..d5dd7ae694c 100644 ---- a/i18n/number_decimalquantity.cpp -+++ b/i18n/number_decimalquantity.cpp -@@ -898,7 +898,10 @@ UnicodeString DecimalQuantity::toScientificString() const { - } - result.append(u'E'); - int32_t _scale = upperPos + scale; -- if (_scale < 0) { -+ if (_scale == INT32_MIN) { -+ result.append({u"-2147483648", -1}); -+ return result; -+ } else if (_scale < 0) { - _scale *= -1; - result.append(u'-'); - } else { -diff --git a/test/intltest/numfmtst.cpp b/test/intltest/numfmtst.cpp -index 34355939113..8d52dc122bf 100644 ---- a/test/intltest/numfmtst.cpp -+++ b/test/intltest/numfmtst.cpp -@@ -9226,6 +9226,14 @@ void NumberFormatTest::Test20037_ScientificIntegerOverflow() { - assertEquals(u"Should not overflow and should parse only the first exponent", - u"1E-2147483647", - {sp.data(), sp.length(), US_INV}); -+ -+ // Test edge case overflow of exponent -+ result = Formattable(); -+ nf->parse(u".0003e-2147483644", result, status); -+ sp = result.getDecimalNumber(status); -+ assertEquals(u"Should not overflow", -+ u"3E-2147483648", -+ {sp.data(), sp.length(), US_INV}); - } - - void NumberFormatTest::Test13840_ParseLongStringCrash() { diff --git a/poky/meta/recipes-support/icu/icu_63.1.bb b/poky/meta/recipes-support/icu/icu_64.2.bb index 961f022ad..10bac7aac 100644 --- a/poky/meta/recipes-support/icu/icu_63.1.bb +++ b/poky/meta/recipes-support/icu/icu_64.2.bb @@ -1,6 +1,6 @@ require icu.inc -LIC_FILES_CHKSUM = "file://../LICENSE;md5=63752c57bd0b365c9af9f427ef79c819" +LIC_FILES_CHKSUM = "file://../LICENSE;md5=8bc5d32052a96f214cbdd1e53dfc935d" def icu_download_version(d): pvsplit = d.getVar('PV').split('.') @@ -16,15 +16,15 @@ BASE_SRC_URI = "http://download.icu-project.org/files/icu4c/${PV}/icu4c-${ICU_PV SRC_URI = "${BASE_SRC_URI} \ file://icu-pkgdata-large-cmd.patch \ file://fix-install-manx.patch \ - file://0002-Add-ARC-support.patch \ - file://CVE-2018-18928.patch \ + file://0001-Fix-big-endian-build.patch \ + file://0001-icu-Added-armeb-support.patch \ " SRC_URI_append_class-target = "\ file://0001-Disable-LDFLAGSICUDT-for-Linux.patch \ " -SRC_URI[md5sum] = "9e40f6055294284df958200e308bce50" -SRC_URI[sha256sum] = "05c490b69454fce5860b7e8e2821231674af0a11d7ef2febea9a32512998cb9d" +SRC_URI[md5sum] = "a3d18213beec454e3cdec9a3116d6b05" +SRC_URI[sha256sum] = "627d5d8478e6d96fc8c90fed4851239079a561a6a8b9e48b0892f24e82d31d6c" UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)/" UPSTREAM_CHECK_URI = "http://download.icu-project.org/files/icu4c/" diff --git a/poky/meta/recipes-support/libatomic-ops/libatomic-ops_7.6.8.bb b/poky/meta/recipes-support/libatomic-ops/libatomic-ops_7.6.10.bb index 8292c3b31..7628eedb1 100644 --- a/poky/meta/recipes-support/libatomic-ops/libatomic-ops_7.6.8.bb +++ b/poky/meta/recipes-support/libatomic-ops/libatomic-ops_7.6.10.bb @@ -10,8 +10,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ SRC_URI = "https://github.com/ivmai/libatomic_ops/releases/download/v${PV}/libatomic_ops-${PV}.tar.gz" UPSTREAM_CHECK_URI = "https://github.com/ivmai/libatomic_ops/releases" -SRC_URI[md5sum] = "99128f05e3e3f4e0cd39aa23f23bbe0c" -SRC_URI[sha256sum] = "1d6a279edf81767e74d2ad2c9fce09459bc65f12c6525a40b0cb3e53c089f665" +SRC_URI[md5sum] = "90a78a84d9c28ce11f331c25289bfbd0" +SRC_URI[sha256sum] = "587edf60817f56daf1e1ab38a4b3c729b8e846ff67b4f62a6157183708f099af" S = "${WORKDIR}/libatomic_ops-${PV}" diff --git a/poky/meta/recipes-support/libcap/libcap_2.26.bb b/poky/meta/recipes-support/libcap/libcap_2.27.bb index 14841de4a..4f3bac849 100644 --- a/poky/meta/recipes-support/libcap/libcap_2.26.bb +++ b/poky/meta/recipes-support/libcap/libcap_2.27.bb @@ -10,8 +10,8 @@ DEPENDS = "hostperl-runtime-native gperf-native" SRC_URI = "${KERNELORG_MIRROR}/linux/libs/security/linux-privs/${BPN}2/${BPN}-${PV}.tar.xz \ file://0001-ensure-the-XATTR_NAME_CAPS-is-defined-when-it-is-use.patch \ " -SRC_URI[md5sum] = "968ac4d42a1a71754313527be2ab5df3" -SRC_URI[sha256sum] = "b630b7c484271b3ba867680d6a14b10a86cfa67247a14631b14c06731d5a458b" +SRC_URI[md5sum] = "2e8f9fab32eb5ccb37969fe317fd17aa" +SRC_URI[sha256sum] = "dac1792d0118bee6aae6ba7fb93ff1602c6a9bda812fd63916eee1435b9c486a" inherit lib_package diff --git a/poky/meta/recipes-support/libcroco/libcroco/CVE-2017-7960.patch b/poky/meta/recipes-support/libcroco/libcroco/CVE-2017-7960.patch deleted file mode 100644 index f6f43c3d2..000000000 --- a/poky/meta/recipes-support/libcroco/libcroco/CVE-2017-7960.patch +++ /dev/null @@ -1,56 +0,0 @@ -input: check end of input before reading a byte - -When reading bytes we weren't check that the index wasn't -out of bound and this could produce an invalid read which -could deal to a security bug. - -Upstream-Status: Backport[https://gitlab.gnome.org/GNOME/libcroco/ - commit/898e3a8c8c0314d2e6b106809a8e3e93cf9d4394] - -CVE: CVE-2017-7960 - -Signed-off-by: Changqing Li <changqing.li@windriver.com> - -diff --git a/src/cr-input.c b/src/cr-input.c -index 49000b1f5f07fe057135f1b8fc69bdcf9613e300..3b63a88ee3b1c56778e58172d147d958951bf099 100644 ---- a/src/cr-input.c -+++ b/src/cr-input.c -@@ -256,7 +256,7 @@ cr_input_new_from_uri (const gchar * a_file_uri, enum CREncoding a_enc) - *we should free buf here because it's own by CRInput. - *(see the last parameter of cr_input_new_from_buf(). - */ -- buf = NULL ; -+ buf = NULL; - } - - cleanup: -@@ -404,6 +404,8 @@ cr_input_get_nb_bytes_left (CRInput const * a_this) - enum CRStatus - cr_input_read_byte (CRInput * a_this, guchar * a_byte) - { -+ gulong nb_bytes_left = 0; -+ - g_return_val_if_fail (a_this && PRIVATE (a_this) - && a_byte, CR_BAD_PARAM_ERROR); - -@@ -413,6 +415,12 @@ cr_input_read_byte (CRInput * a_this, guchar * a_byte) - if (PRIVATE (a_this)->end_of_input == TRUE) - return CR_END_OF_INPUT_ERROR; - -+ nb_bytes_left = cr_input_get_nb_bytes_left (a_this); -+ -+ if (nb_bytes_left < 1) { -+ return CR_END_OF_INPUT_ERROR; -+ } -+ - *a_byte = PRIVATE (a_this)->in_buf[PRIVATE (a_this)->next_byte_index]; - - if (PRIVATE (a_this)->nb_bytes - -@@ -477,7 +485,6 @@ cr_input_read_char (CRInput * a_this, guint32 * a_char) - if (*a_char == '\n') { - PRIVATE (a_this)->end_of_line = TRUE; - } -- - } - - return status; diff --git a/poky/meta/recipes-support/libcroco/libcroco/CVE-2017-7961.patch b/poky/meta/recipes-support/libcroco/libcroco/CVE-2017-7961.patch deleted file mode 100644 index 35471ec7e..000000000 --- a/poky/meta/recipes-support/libcroco/libcroco/CVE-2017-7961.patch +++ /dev/null @@ -1,45 +0,0 @@ -CVE: CVE-2017-7961 -Upstream-Status: Backport -Signed-off-by: Ross Burton <ross.burton@intel.com> - -From 9ad72875e9f08e4c519ef63d44cdbd94aa9504f7 Mon Sep 17 00:00:00 2001 -From: Ignacio Casal Quinteiro <qignacio@amazon.com> -Date: Sun, 16 Apr 2017 13:56:09 +0200 -Subject: [PATCH] tknzr: support only max long rgb values - -This fixes a possible out of bound when reading rgbs which -are longer than the support MAXLONG ---- - src/cr-tknzr.c | 10 ++++++++++ - 1 file changed, 10 insertions(+) - -diff --git a/src/cr-tknzr.c b/src/cr-tknzr.c -index 1a7cfeb..1548c35 100644 ---- a/src/cr-tknzr.c -+++ b/src/cr-tknzr.c -@@ -1279,6 +1279,11 @@ cr_tknzr_parse_rgb (CRTknzr * a_this, CRRgb ** a_rgb) - status = cr_tknzr_parse_num (a_this, &num); - ENSURE_PARSING_COND ((status == CR_OK) && (num != NULL)); - -+ if (num->val > G_MAXLONG) { -+ status = CR_PARSING_ERROR; -+ goto error; -+ } -+ - red = num->val; - cr_num_destroy (num); - num = NULL; -@@ -1298,6 +1303,11 @@ cr_tknzr_parse_rgb (CRTknzr * a_this, CRRgb ** a_rgb) - status = cr_tknzr_parse_num (a_this, &num); - ENSURE_PARSING_COND ((status == CR_OK) && (num != NULL)); - -+ if (num->val > G_MAXLONG) { -+ status = CR_PARSING_ERROR; -+ goto error; -+ } -+ - PEEK_BYTE (a_this, 1, &next_bytes[0]); - if (next_bytes[0] == '%') { - SKIP_CHARS (a_this, 1); --- -2.18.1 diff --git a/poky/meta/recipes-support/libcroco/libcroco_0.6.12.bb b/poky/meta/recipes-support/libcroco/libcroco_0.6.13.bb index f95a58313..9171a9de5 100644 --- a/poky/meta/recipes-support/libcroco/libcroco_0.6.12.bb +++ b/poky/meta/recipes-support/libcroco/libcroco_0.6.13.bb @@ -16,9 +16,5 @@ BINCONFIG = "${bindir}/croco-0.6-config" inherit gnomebase gtk-doc binconfig-disabled -SRC_URI += "file://CVE-2017-7960.patch \ - file://CVE-2017-7961.patch \ - " - -SRC_URI[archive.md5sum] = "bc0984fce078ba2ce29f9500c6b9ddce" -SRC_URI[archive.sha256sum] = "ddc4b5546c9fb4280a5017e2707fbd4839034ed1aba5b7d4372212f34f84f860" +SRC_URI[archive.md5sum] = "c80c5a8385011a0260dce6bd0da93dce" +SRC_URI[archive.sha256sum] = "767ec234ae7aa684695b3a735548224888132e063f92db585759b422570621d4" diff --git a/poky/meta/recipes-support/libgpg-error/libgpg-error_1.35.bb b/poky/meta/recipes-support/libgpg-error/libgpg-error_1.36.bb index 57ac143fd..2db544a12 100644 --- a/poky/meta/recipes-support/libgpg-error/libgpg-error_1.35.bb +++ b/poky/meta/recipes-support/libgpg-error/libgpg-error_1.36.bb @@ -16,8 +16,8 @@ SRC_URI = "${GNUPG_MIRROR}/libgpg-error/libgpg-error-${PV}.tar.bz2 \ file://pkgconfig.patch \ " -SRC_URI[md5sum] = "2808a9e044f883f7554c5ba6a380b711" -SRC_URI[sha256sum] = "cbd5ee62a8a8c88d48c158fff4fc9ead4132aacd1b4a56eb791f9f997d07e067" +SRC_URI[md5sum] = "eff437f397e858a9127b76c0d87fa5ed" +SRC_URI[sha256sum] = "babd98437208c163175c29453f8681094bcaf92968a15cafb1a276076b33c97c" BINCONFIG = "${bindir}/gpg-error-config" diff --git a/poky/meta/recipes-support/libpsl/libpsl_0.20.2.bb b/poky/meta/recipes-support/libpsl/libpsl_0.21.0.bb index 5cb20d46b..f545ba076 100644 --- a/poky/meta/recipes-support/libpsl/libpsl_0.20.2.bb +++ b/poky/meta/recipes-support/libpsl/libpsl_0.21.0.bb @@ -5,8 +5,8 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=5437030d9e4fbe7267ced058ddb8a7f5 \ file://COPYING;md5=f41d10997a12da5ee3c24ceeb0148d18" SRC_URI = "https://github.com/rockdaboot/${BPN}/releases/download/${BP}/${BP}.tar.gz" -SRC_URI[md5sum] = "f604f7d30d64bc673870ecf84b860a1e" -SRC_URI[sha256sum] = "f8fd0aeb66252dfcc638f14d9be1e2362fdaf2ca86bde0444ff4d5cc961b560f" +SRC_URI[md5sum] = "171e96d887709e36a57f4ee627bf82d2" +SRC_URI[sha256sum] = "41bd1c75a375b85c337b59783f5deb93dbb443fb0a52d257f403df7bd653ee12" UPSTREAM_CHECK_URI = "https://github.com/rockdaboot/libpsl/releases" diff --git a/poky/meta/recipes-support/libsoup/libsoup-2.4/0001-Do-not-enforce-no-introspection-when-cross-building.patch b/poky/meta/recipes-support/libsoup/libsoup-2.4/0001-Do-not-enforce-no-introspection-when-cross-building.patch index 72b029a80..cd6de853e 100644 --- a/poky/meta/recipes-support/libsoup/libsoup-2.4/0001-Do-not-enforce-no-introspection-when-cross-building.patch +++ b/poky/meta/recipes-support/libsoup/libsoup-2.4/0001-Do-not-enforce-no-introspection-when-cross-building.patch @@ -1,24 +1,28 @@ -From 921888affe66953c92a08ae440e911b016b124be Mon Sep 17 00:00:00 2001 +From 85f7b74fc602214297928afe09347c31d696173d Mon Sep 17 00:00:00 2001 From: Alexander Kanavin <alex.kanavin@gmail.com> Date: Fri, 15 Feb 2019 14:21:06 +0100 Subject: [PATCH] Do not enforce no-introspection when cross-building Upstream-Status: Pending Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> +Signed-off-by: Alistair Francis <alistair@alistair23.me> --- meson.build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meson.build b/meson.build -index 5a92cda..cfb3520 100644 +index 25887f9..6261a7c 100644 --- a/meson.build +++ b/meson.build -@@ -262,7 +262,7 @@ enable_gnome = get_option('gnome') and host_machine.system() != 'windows' - ######################### - # GObject introspection # - ######################### --enable_introspection = get_option('introspection') and find_program('g-ir-scanner', required: false).found() and not meson.is_cross_build() -+enable_introspection = get_option('introspection') and find_program('g-ir-scanner', required: false).found() +@@ -281,7 +281,7 @@ enable_gnome = get_option('gnome') and host_machine.system() != 'windows' + # FIXME: once we start to require meson 0.49.0+ and gnome-introspection 1.58.1+ + # the we can enable the introspection even for the static build. See + # https://github.com/mesonbuild/meson/pull/4478. +-enable_introspection = get_option('introspection') and find_program('g-ir-scanner', required: false).found() and not meson.is_cross_build() and not is_static_library ++enable_introspection = get_option('introspection') and find_program('g-ir-scanner', required: false).found() and not is_static_library ############ # Vala API # +-- +2.20.1 + diff --git a/poky/meta/recipes-support/libsoup/libsoup-2.4_2.64.2.bb b/poky/meta/recipes-support/libsoup/libsoup-2.4_2.66.1.bb index ae7c1a686..f0043f80b 100644 --- a/poky/meta/recipes-support/libsoup/libsoup-2.4_2.64.2.bb +++ b/poky/meta/recipes-support/libsoup/libsoup-2.4_2.66.1.bb @@ -12,8 +12,8 @@ SHRT_VER = "${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}" SRC_URI = "${GNOME_MIRROR}/libsoup/${SHRT_VER}/libsoup-${PV}.tar.xz \ file://0001-Do-not-enforce-no-introspection-when-cross-building.patch \ " -SRC_URI[md5sum] = "cac755dc6c6acd6e0c70007f547548f5" -SRC_URI[sha256sum] = "75ddc194a5b1d6f25033bb9d355f04bfe5c03e0e1c71ed0774104457b3a786c6" +SRC_URI[md5sum] = "5f04c09a06f6dbe4c4d3f003992145ce" +SRC_URI[sha256sum] = "4a2cb6c1174540af13661636035992c2b179dfcb39f4d3fa7bee3c7e355c43ff" S = "${WORKDIR}/libsoup-${PV}" @@ -26,20 +26,7 @@ PACKAGECONFIG[gssapi] = "-Dgssapi=true,-Dgssapi=false,krb5" EXTRA_OEMESON_append = " -Dvapi=false" -GTKDOC_ENABLE_FLAG = "-Ddoc=true" -GTKDOC_DISABLE_FLAG = "-Ddoc=false" - -GI_ENABLE_FLAG = "-Dintrospection=true" -GI_DISABLE_FLAG = "-Dintrospection=false" - -EXTRA_OEMESON_append_class-nativesdk = " ${GI_DISABLE_FLAG}" - -EXTRA_OEMESON_append_class-target = " ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '${GI_ENABLE_FLAG}', \ - '${GI_DISABLE_FLAG}', d)} " - -EXTRA_OEMESON_append_class-target = " ${@bb.utils.contains('GTKDOC_ENABLED', 'True', '${GTKDOC_ENABLE_FLAG}', \ - '${GTKDOC_DISABLE_FLAG}', d)} " - +GTKDOC_MESON_OPTION = "doc" # When built without gnome support, libsoup-2.4 will contain only one shared lib # and will therefore become subject to renaming by debian.bbclass. Prevent diff --git a/poky/meta/recipes-support/libyaml/libyaml_0.2.1.bb b/poky/meta/recipes-support/libyaml/libyaml_0.2.2.bb index d77891825..fbd199205 100644 --- a/poky/meta/recipes-support/libyaml/libyaml_0.2.1.bb +++ b/poky/meta/recipes-support/libyaml/libyaml_0.2.2.bb @@ -5,11 +5,11 @@ HOMEPAGE = "http://pyyaml.org/wiki/LibYAML" SECTION = "libs/devel" LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=5591701d32590f9fa94f3bfee820b634" +LIC_FILES_CHKSUM = "file://LICENSE;md5=a76b4c69bfcf82313bbdc0393b04438a" SRC_URI = "http://pyyaml.org/download/libyaml/yaml-${PV}.tar.gz" -SRC_URI[md5sum] = "72724b9736923c517e5a8fc6757ef03d" -SRC_URI[sha256sum] = "78281145641a080fb32d6e7a87b9c0664d611dcb4d542e90baf731f51cbb59cd" +SRC_URI[md5sum] = "54bf11ccb8bc488b5b3bec931f5b70dc" +SRC_URI[sha256sum] = "4a9100ab61047fd9bd395bcef3ce5403365cafd55c1e0d0299cde14958e47be9" S = "${WORKDIR}/yaml-${PV}" diff --git a/poky/meta/recipes-support/lz4/lz4_1.8.3.bb b/poky/meta/recipes-support/lz4/lz4_1.9.0.bb index 125836f7b..744a1bf47 100644 --- a/poky/meta/recipes-support/lz4/lz4_1.8.3.bb +++ b/poky/meta/recipes-support/lz4/lz4_1.9.0.bb @@ -9,7 +9,7 @@ LIC_FILES_CHKSUM = "file://lib/LICENSE;md5=ebc2ea4814a64de7708f1571904b32cc \ PE = "1" -SRCREV = "641b453d9db536ee020851bfcb1dc39f61006f0a" +SRCREV = "131896ab9d4fc9b8c606616327ed223d5d86472b" SRC_URI = "git://github.com/lz4/lz4.git \ file://run-ptest \ diff --git a/poky/meta/recipes-support/nettle/nettle-3.4.1/dlopen-test.patch b/poky/meta/recipes-support/nettle/nettle-3.4.1/dlopen-test.patch index c4f0b7ea1..fea577420 100644 --- a/poky/meta/recipes-support/nettle/nettle-3.4.1/dlopen-test.patch +++ b/poky/meta/recipes-support/nettle/nettle-3.4.1/dlopen-test.patch @@ -1,4 +1,4 @@ -Replace relative path of libnettle.so with absolute path so the test +Remove the relative path for libnettle.so so the test program can find it. Relative paths are not suitable, as the folder strucure for ptest is different from the one expected by the nettle testsuite. @@ -6,6 +6,7 @@ is different from the one expected by the nettle testsuite. Upstream-Status: Inappropriate [embedded specific] Signed-off-by: Juro Bystricky <juro.bystricky@intel.com> +Signed-off-by: Mingli Yu <mingli.yu@windriver.com> --- a/testsuite/dlopen-test.c 2016-10-01 00:28:38.000000000 -0700 +++ b/testsuite/dlopen-test.c 2017-10-13 11:08:57.227572860 -0700 @@ -14,7 +15,7 @@ Signed-off-by: Juro Bystricky <juro.bystricky@intel.com> { #if HAVE_LIBDL - void *handle = dlopen ("../libnettle.so", RTLD_NOW); -+ void *handle = dlopen ("/usr/lib/libnettle.so", RTLD_NOW); ++ void *handle = dlopen ("libnettle.so", RTLD_NOW); int (*get_version)(void); if (!handle) { diff --git a/poky/meta/recipes-support/nettle/nettle_3.4.1.bb b/poky/meta/recipes-support/nettle/nettle_3.4.1.bb index dd49c30c8..cd8024f79 100644 --- a/poky/meta/recipes-support/nettle/nettle_3.4.1.bb +++ b/poky/meta/recipes-support/nettle/nettle_3.4.1.bb @@ -30,7 +30,7 @@ inherit autotools ptest multilib_header EXTRA_AUTORECONF += "--exclude=aclocal" EXTRA_OECONF = "--disable-openssl" -CFLAGS_append = " -std=c99" +CFLAGS_append = " -std=gnu99" do_compile_ptest() { oe_runmake buildtest @@ -49,4 +49,7 @@ do_install_ptest() { install ${B}/testsuite/*-test ${D}${PTEST_PATH}/testsuite/ } +RDEPENDS_${PN}-ptest += "${PN}-dev" +INSANE_SKIP_${PN}-ptest += "dev-deps" + BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-support/nss/nss_3.42.1.bb b/poky/meta/recipes-support/nss/nss_3.43.bb index b6bbd800f..f8cf5a46a 100644 --- a/poky/meta/recipes-support/nss/nss_3.42.1.bb +++ b/poky/meta/recipes-support/nss/nss_3.43.bb @@ -8,6 +8,9 @@ v3 certificates, and other security standards." HOMEPAGE = "http://www.mozilla.org/projects/security/pki/nss/" SECTION = "libs" +DEPENDS = "sqlite3 nspr zlib nss-native" +DEPENDS_class-native = "sqlite3-native nspr-native zlib-native" + LICENSE = "MPL-2.0 | (MPL-2.0 & GPL-2.0+) | (MPL-2.0 & LGPL-2.1+)" LIC_FILES_CHKSUM = "file://nss/COPYING;md5=3b1e88e1b9c0b5a4b2881d46cce06a18 \ @@ -30,18 +33,14 @@ SRC_URI = "http://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/${VERSIO file://system-pkcs11.txt \ " -SRC_URI[md5sum] = "1f6cc6c702379478a3a72298caaef0a7" -SRC_URI[sha256sum] = "087db37d38fd49dfd584dd2a8b5baa7fc88de7c9bd97c0c2d5be4abcafc61fc6" +SRC_URI[md5sum] = "67c8fa282c32cb56117fdd530dd77001" +SRC_URI[sha256sum] = "f30bc1b7330887b75de9fec37dbc173001758dc43fb095ffbc45dac4093fe2ca" UPSTREAM_CHECK_URI = "https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/NSS_Releases" UPSTREAM_CHECK_REGEX = "NSS_(?P<pver>.+)_release_notes" inherit siteinfo -DEPENDS = "sqlite3 nspr zlib nss-native" -DEPENDS_class-native = "sqlite3-native nspr-native zlib-native" -RDEPENDS_${PN}-smime = "perl" - TD = "${S}/tentative-dist" TDS = "${S}/tentative-dist-staging" @@ -118,8 +117,8 @@ do_compile() { OS_TEST=${OS_TEST} \ RPATH="${RPATH}" } -do_compile[vardepsexclude] += "SITEINFO_BITS" +do_compile[vardepsexclude] += "SITEINFO_BITS" do_install_prepend_class-nativesdk() { export LDFLAGS="" @@ -195,6 +194,7 @@ do_install() { install -m 755 -t ${D}/${bindir} $binary done } + do_install[vardepsexclude] += "SITEINFO_BITS" do_install_append() { @@ -248,17 +248,20 @@ PACKAGES =+ "${PN}-smime" FILES_${PN}-smime = "\ ${bindir}/smime \ " + FILES_${PN} = "\ ${sysconfdir} \ ${bindir} \ ${libdir}/lib*.chk \ ${libdir}/lib*.so \ " + FILES_${PN}-dev = "\ ${libdir}/nss \ ${libdir}/pkgconfig/* \ ${includedir}/* \ " -BBCLASSEXTEND = "native nativesdk" +RDEPENDS_${PN}-smime = "perl" +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-support/ptest-runner/ptest-runner/0001-utils-Ensure-stdout-stderr-are-flushed.patch b/poky/meta/recipes-support/ptest-runner/ptest-runner/0001-utils-Ensure-stdout-stderr-are-flushed.patch new file mode 100644 index 000000000..c9a9dd7cf --- /dev/null +++ b/poky/meta/recipes-support/ptest-runner/ptest-runner/0001-utils-Ensure-stdout-stderr-are-flushed.patch @@ -0,0 +1,45 @@ +From 9b36993794c1de733c521b2477370c874c07b617 Mon Sep 17 00:00:00 2001 +From: Richard Purdie <richard.purdie@linuxfoundation.org> +Date: Thu, 4 Apr 2019 14:18:55 +0100 +Subject: [PATCH 1/3] utils: Ensure stdout/stderr are flushed + +There is no guarantee that the data written with fwrite will be flushed to the +buffer. If stdout and stderr are the same thing, this could lead to interleaved +writes. The common case is stdout output so flush the output pipes when writing to +stderr. Also flush stdout before the function returns. + +Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> +Upstream-Status: Pending [code being tested] +--- + utils.c | 7 +++++-- + 1 file changed, 5 insertions(+), 2 deletions(-) + +diff --git a/utils.c b/utils.c +index 504df0b..3ceb342 100644 +--- a/utils.c ++++ b/utils.c +@@ -295,8 +295,11 @@ wait_child(const char *ptest_dir, const char *run_ptest, pid_t pid, + } + + if (pfds[1].revents != 0) { +- while ((n = read(fds[1], buf, WAIT_CHILD_BUF_MAX_SIZE)) > 0) ++ while ((n = read(fds[1], buf, WAIT_CHILD_BUF_MAX_SIZE)) > 0) { ++ fflush(fps[0]); + fwrite(buf, n, 1, fps[1]); ++ fflush(fps[1]); ++ } + } + + clock_gettime(clock, &sentinel); +@@ -315,7 +318,7 @@ wait_child(const char *ptest_dir, const char *run_ptest, pid_t pid, + break; + } + +- ++ fflush(fps[0]); + return status; + } + +-- +2.17.1 + diff --git a/poky/meta/recipes-support/ptest-runner/ptest-runner/0002-use-process-groups-when-spawning.patch b/poky/meta/recipes-support/ptest-runner/ptest-runner/0002-use-process-groups-when-spawning.patch new file mode 100644 index 000000000..5436a3340 --- /dev/null +++ b/poky/meta/recipes-support/ptest-runner/ptest-runner/0002-use-process-groups-when-spawning.patch @@ -0,0 +1,35 @@ +From f0c42a65633341ad048718c7a6dbd035818e9eaf Mon Sep 17 00:00:00 2001 +From: Richard Purdie <richard.purdie@linuxfoundation.org> +Date: Thu, 4 Apr 2019 14:20:31 +0100 +Subject: [PATCH 2/3] use process groups when spawning + +Rather than just killing the process we've swawned, set the process group +for spawned children and then kill the group of processes. + +Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> +Upstream-Status: Pending [code being tested] +--- + utils.c | 9 +++++---- + 1 file changed, 5 insertions(+), 4 deletions(-) + +diff --git a/utils.c b/utils.c +index 3ceb342..c5b3b8d 100644 +--- a/utils.c ++++ b/utils.c +@@ -309,7 +309,7 @@ wait_child(const char *ptest_dir, const char *run_ptest, pid_t pid, + clock_gettime(clock, &time); + if ((time.tv_sec - sentinel.tv_sec) > timeout) { + *timeouted = 1; +- kill(pid, SIGKILL); ++ kill(-pid, SIGKILL); + waitflags = 0; + } + } +@@ -371,6 +371,7 @@ run_ptests(struct ptest_list *head, const struct ptest_options opts, + rc = -1; + break; + } else if (child == 0) { ++ setsid(); + run_child(p->run_ptest, pipefd_stdout[1], pipefd_stderr[1]); + } else { + int status; diff --git a/poky/meta/recipes-support/ptest-runner/ptest-runner/0003-utils-Ensure-pipes-are-read-after-exit.patch b/poky/meta/recipes-support/ptest-runner/ptest-runner/0003-utils-Ensure-pipes-are-read-after-exit.patch new file mode 100644 index 000000000..f7c3ebe6f --- /dev/null +++ b/poky/meta/recipes-support/ptest-runner/ptest-runner/0003-utils-Ensure-pipes-are-read-after-exit.patch @@ -0,0 +1,76 @@ +From e58e4e1a7f854953f823dc5135d35f728f253f31 Mon Sep 17 00:00:00 2001 +From: Richard Purdie <richard.purdie@linuxfoundation.org> +Date: Thu, 4 Apr 2019 14:24:14 +0100 +Subject: [PATCH 3/3] utils: Ensure pipes are read after exit + +There was a race in the code where the pipes may not be read after the process has exited +and data may be left behind in them. This change to ordering ensures the pipes are read +after the exit code has been read meaning no data can be left behind and the logs should +be complete. + +Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> +Upstream-Status: Pending [code being tested] +--- + utils.c | 29 ++++++++++++++++------------- + 1 file changed, 16 insertions(+), 13 deletions(-) + +diff --git a/utils.c b/utils.c +index c5b3b8d..37e88ab 100644 +--- a/utils.c ++++ b/utils.c +@@ -264,6 +264,7 @@ wait_child(const char *ptest_dir, const char *run_ptest, pid_t pid, pid_t group, + struct pollfd pfds[2]; + struct timespec sentinel; + clockid_t clock = CLOCK_MONOTONIC; ++ int looping = 1; + int r; + + int status; +@@ -281,9 +282,23 @@ wait_child(const char *ptest_dir, const char *run_ptest, pid_t pid, pid_t group, + + *timeouted = 0; + +- while (1) { ++ while (looping) { + waitflags = WNOHANG; + ++ if (timeout >= 0) { ++ struct timespec time; ++ ++ clock_gettime(clock, &time); ++ if ((time.tv_sec - sentinel.tv_sec) > timeout) { ++ *timeouted = 1; ++ kill(-pid, SIGKILL); ++ waitflags = 0; ++ } ++ } ++ ++ if (waitpid(pid, &status, waitflags) == pid) ++ looping = 0; ++ + r = poll(pfds, 2, WAIT_CHILD_POLL_TIMEOUT_MS); + if (r > 0) { + char buf[WAIT_CHILD_BUF_MAX_SIZE]; +@@ -303,19 +318,7 @@ wait_child(const char *ptest_dir, const char *run_ptest, pid_t pid, pid_t group, + } + + clock_gettime(clock, &sentinel); +- } else if (timeout >= 0) { +- struct timespec time; +- +- clock_gettime(clock, &time); +- if ((time.tv_sec - sentinel.tv_sec) > timeout) { +- *timeouted = 1; +- kill(-pid, SIGKILL); +- waitflags = 0; +- } + } +- +- if (waitpid(pid, &status, waitflags) == pid) +- break; + } + + fflush(fps[0]); +-- +2.17.1 + diff --git a/poky/meta/recipes-support/ptest-runner/ptest-runner_2.3.1.bb b/poky/meta/recipes-support/ptest-runner/ptest-runner_2.3.1.bb index 4b7992bf2..e2eb258d0 100644 --- a/poky/meta/recipes-support/ptest-runner/ptest-runner_2.3.1.bb +++ b/poky/meta/recipes-support/ptest-runner/ptest-runner_2.3.1.bb @@ -10,7 +10,11 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=751419260aa954499f7abaabaa882bbe" SRCREV = "05b112bda7ac2adba8e9b0f088d6e5843b148a38" PV = "2.3.1+git${SRCPV}" -SRC_URI = "git://git.yoctoproject.org/ptest-runner2" +SRC_URI = "git://git.yoctoproject.org/ptest-runner2 \ + file://0001-utils-Ensure-stdout-stderr-are-flushed.patch \ + file://0002-use-process-groups-when-spawning.patch \ + file://0003-utils-Ensure-pipes-are-read-after-exit.patch" + S = "${WORKDIR}/git" FILES_${PN} = "${bindir}/ptest-runner" diff --git a/poky/meta/recipes-support/sqlite/sqlite3/CVE-2019-9936.patch b/poky/meta/recipes-support/sqlite/sqlite3/CVE-2019-9936.patch deleted file mode 100644 index 1b907b9d4..000000000 --- a/poky/meta/recipes-support/sqlite/sqlite3/CVE-2019-9936.patch +++ /dev/null @@ -1,28 +0,0 @@ -Running fts5 prefix queries inside a transaction could trigger a heap-based -buffer over-read in fts5HashEntrySort in sqlite3.c, which may lead to an -information leak. - -CVE: CVE-2019-9936 -Upstream-Status: Backport [https://sqlite.org/src/vpatch?from=45c73deb440496e8&to=b3fa58dd7403dbd4] -Signed-off-by: Ross Burton <ross.burton@intel.com> ---- - sqlite3.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/sqlite3.c b/sqlite3.c -index 4729f45..65527d8 100644 ---- a/sqlite3.c -+++ b/sqlite3.c -@@ -207759,7 +207759,9 @@ static int fts5HashEntrySort( - for(iSlot=0; iSlot<pHash->nSlot; iSlot++){ - Fts5HashEntry *pIter; - for(pIter=pHash->aSlot[iSlot]; pIter; pIter=pIter->pHashNext){ -- if( pTerm==0 || 0==memcmp(fts5EntryKey(pIter), pTerm, nTerm) ){ -+ if( pTerm==0 -+ || (pIter->nKey+1>=nTerm && 0==memcmp(fts5EntryKey(pIter), pTerm, nTerm)) -+ ){ - Fts5HashEntry *pEntry = pIter; - pEntry->pScanNext = 0; - for(i=0; ap[i]; i++){ --- -2.20.1 diff --git a/poky/meta/recipes-support/sqlite/sqlite3/CVE-2019-9937.patch b/poky/meta/recipes-support/sqlite/sqlite3/CVE-2019-9937.patch deleted file mode 100644 index baa5666dd..000000000 --- a/poky/meta/recipes-support/sqlite/sqlite3/CVE-2019-9937.patch +++ /dev/null @@ -1,187 +0,0 @@ -Interleaving reads and writes in a single transaction with an fts5 virtual table -will lead to a NULL Pointer Dereference in fts5ChunkIterate in sqlite3.c. - -CVE: CVE-2019-9937 -Upstream-Status: Backport [https://sqlite.org/src/vpatch?from=c2f50aa4e7bad882&to=45c73deb440496e8] -Signed-off-by: Ross Burton <ross.burton@intel.com> - ---- - sqlite3.c | 83 ++++++++++++++++++++++++++++++++++++++----------------- - 1 file changed, 57 insertions(+), 26 deletions(-) - -diff --git a/sqlite3.c b/sqlite3.c -index 65527d8..b1a8799 100644 ---- a/sqlite3.c -+++ b/sqlite3.c -@@ -200668,8 +200668,9 @@ static void sqlite3Fts5HashClear(Fts5Hash*); - - static int sqlite3Fts5HashQuery( - Fts5Hash*, /* Hash table to query */ -+ int nPre, - const char *pTerm, int nTerm, /* Query term */ -- const u8 **ppDoclist, /* OUT: Pointer to doclist for pTerm */ -+ void **ppObj, /* OUT: Pointer to doclist for pTerm */ - int *pnDoclist /* OUT: Size of doclist in bytes */ - ); - -@@ -207501,19 +207502,25 @@ static int fts5HashResize(Fts5Hash *pHash){ - return SQLITE_OK; - } - --static void fts5HashAddPoslistSize(Fts5Hash *pHash, Fts5HashEntry *p){ -+static int fts5HashAddPoslistSize( -+ Fts5Hash *pHash, -+ Fts5HashEntry *p, -+ Fts5HashEntry *p2 -+){ -+ int nRet = 0; - if( p->iSzPoslist ){ -- u8 *pPtr = (u8*)p; -+ u8 *pPtr = p2 ? (u8*)p2 : (u8*)p; -+ int nData = p->nData; - if( pHash->eDetail==FTS5_DETAIL_NONE ){ -- assert( p->nData==p->iSzPoslist ); -+ assert( nData==p->iSzPosList ); - if( p->bDel ){ -- pPtr[p->nData++] = 0x00; -+ pPtr[nData++] = 0x00; - if( p->bContent ){ -- pPtr[p->nData++] = 0x00; -+ pPtr[nData++] = 0x00; - } - } - }else{ -- int nSz = (p->nData - p->iSzPoslist - 1); /* Size in bytes */ -+ int nSz = (nData - p->iSzPoslist - 1); /* Size in bytes */ - int nPos = nSz*2 + p->bDel; /* Value of nPos field */ - - assert( p->bDel==0 || p->bDel==1 ); -@@ -207523,14 +207530,19 @@ static void fts5HashAddPoslistSize(Fts5Hash *pHash, Fts5HashEntry *p){ - int nByte = sqlite3Fts5GetVarintLen((u32)nPos); - memmove(&pPtr[p->iSzPoslist + nByte], &pPtr[p->iSzPoslist + 1], nSz); - sqlite3Fts5PutVarint(&pPtr[p->iSzPoslist], nPos); -- p->nData += (nByte-1); -+ nData += (nByte-1); - } - } - -- p->iSzPoslist = 0; -- p->bDel = 0; -- p->bContent = 0; -+ nRet = nData - p->nData; -+ if( p2 == 0 ){ -+ p->iSzPoslist = 0; -+ p->bDel = 0; -+ p->bContent = 0; -+ p->nData = nData; -+ } - } -+ return nRet; - } - - /* -@@ -207642,7 +207654,7 @@ static int sqlite3Fts5HashWrite( - /* If this is a new rowid, append the 4-byte size field for the previous - ** entry, and the new rowid for this entry. */ - if( iRowid!=p->iRowid ){ -- fts5HashAddPoslistSize(pHash, p); -+ fts5HashAddPoslistSize(pHash, p, 0); - p->nData += sqlite3Fts5PutVarint(&pPtr[p->nData], iRowid - p->iRowid); - p->iRowid = iRowid; - bNew = 1; -@@ -207789,8 +207801,9 @@ static int fts5HashEntrySort( - */ - static int sqlite3Fts5HashQuery( - Fts5Hash *pHash, /* Hash table to query */ -+ int nPre, - const char *pTerm, int nTerm, /* Query term */ -- const u8 **ppDoclist, /* OUT: Pointer to doclist for pTerm */ -+ void **ppOut, /* OUT: Pointer to new object */ - int *pnDoclist /* OUT: Size of doclist in bytes */ - ){ - unsigned int iHash = fts5HashKey(pHash->nSlot, (const u8*)pTerm, nTerm); -@@ -207804,11 +207817,20 @@ static int sqlite3Fts5HashQuery( - } - - if( p ){ -- fts5HashAddPoslistSize(pHash, p); -- *ppDoclist = (const u8*)&zKey[nTerm+1]; -- *pnDoclist = p->nData - (sizeof(Fts5HashEntry) + nTerm + 1); -+ int nHashPre = sizeof(Fts5HashEntry) + nTerm + 1; -+ int nList = p->nData - nHashPre; -+ u8 *pRet = (u8*)(*ppOut = sqlite3_malloc64(nPre + nList + 10)); -+ if ( pRet ){ -+ Fts5HashEntry *pFaux = (Fts5HashEntry*)&pRet[nPre-nHashPre]; -+ memcpy(&pRet[nPre], &((u8*)p)[nHashPre], nList); -+ nList += fts5HashAddPoslistSize(pHash, p, pFaux); -+ *pnDoclist = nList; -+ }else{ -+ *pnDoclist = 0; -+ return SQLITE_NOMEM; -+ } - }else{ -- *ppDoclist = 0; -+ *ppOut = 0; - *pnDoclist = 0; - } - -@@ -207841,7 +207863,7 @@ static void sqlite3Fts5HashScanEntry( - if( (p = pHash->pScan) ){ - char *zKey = fts5EntryKey(p); - int nTerm = (int)strlen(zKey); -- fts5HashAddPoslistSize(pHash, p); -+ fts5HashAddPoslistSize(pHash, p, 0); - *pzTerm = zKey; - *ppDoclist = (const u8*)&zKey[nTerm+1]; - *pnDoclist = p->nData - (sizeof(Fts5HashEntry) + nTerm + 1); -@@ -210311,31 +210333,40 @@ static void fts5SegIterHashInit( - int flags, /* Mask of FTS5INDEX_XXX flags */ - Fts5SegIter *pIter /* Object to populate */ - ){ -- const u8 *pList = 0; - int nList = 0; - const u8 *z = 0; - int n = 0; -+ Fts5Data *pLeaf = 0; - - assert( p->pHash ); - assert( p->rc==SQLITE_OK ); - - if( pTerm==0 || (flags & FTS5INDEX_QUERY_SCAN) ){ -+ const u8 *pList = 0; -+ - p->rc = sqlite3Fts5HashScanInit(p->pHash, (const char*)pTerm, nTerm); - sqlite3Fts5HashScanEntry(p->pHash, (const char**)&z, &pList, &nList); - n = (z ? (int)strlen((const char*)z) : 0); -+ if ( pList ){ -+ pLeaf = fts5IdxMalloc(p, sizeof(Fts5Data)); -+ if ( pLeaf ){ -+ pLeaf->p = pList; -+ } -+ } - }else{ -- pIter->flags |= FTS5_SEGITER_ONETERM; -- sqlite3Fts5HashQuery(p->pHash, (const char*)pTerm, nTerm, &pList, &nList); -+ p->rc = sqlite3Fts5HashQuery(p->pHash, sizeof(Fts5Data), -+ (const char*)pTerm, nTerm, (void**)&pLeaf, &nList -+ ); -+ if( pLeaf ){ -+ pLeaf->p = (u8*)&pLeaf[1]; -+ } - z = pTerm; - n = nTerm; -+ pIter->flags |= FTS5_SEGITER_ONETERM; - } - -- if( pList ){ -- Fts5Data *pLeaf; -+ if( pLeaf ){ - sqlite3Fts5BufferSet(&p->rc, &pIter->term, n, z); -- pLeaf = fts5IdxMalloc(p, sizeof(Fts5Data)); -- if( pLeaf==0 ) return; -- pLeaf->p = (u8*)pList; - pLeaf->nn = pLeaf->szLeaf = nList; - pIter->pLeaf = pLeaf; - pIter->iLeafOffset = fts5GetVarint(pLeaf->p, (u64*)&pIter->iRowid); --- -2.20.1 diff --git a/poky/meta/recipes-support/sqlite/sqlite3_3.27.2.bb b/poky/meta/recipes-support/sqlite/sqlite3_3.27.2.bb deleted file mode 100644 index 4bdb04f4d..000000000 --- a/poky/meta/recipes-support/sqlite/sqlite3_3.27.2.bb +++ /dev/null @@ -1,13 +0,0 @@ -require sqlite3.inc - -LICENSE = "PD" -LIC_FILES_CHKSUM = "file://sqlite3.h;endline=11;md5=786d3dc581eff03f4fd9e4a77ed00c66" - -SRC_URI = "\ - http://www.sqlite.org/2019/sqlite-autoconf-${SQLITE_PV}.tar.gz \ - file://CVE-2019-9936.patch \ - file://CVE-2019-9937.patch \ - " - -SRC_URI[md5sum] = "1f72631ce6e8efa5b4a6e55a43b3bdc0" -SRC_URI[sha256sum] = "50c39e85ea28b5ecfdb3f9e860afe9ba606381e21836b2849efca6a0bfe6ef6e" diff --git a/poky/meta/recipes-support/sqlite/sqlite3_3.28.0.bb b/poky/meta/recipes-support/sqlite/sqlite3_3.28.0.bb new file mode 100644 index 000000000..438a4ea47 --- /dev/null +++ b/poky/meta/recipes-support/sqlite/sqlite3_3.28.0.bb @@ -0,0 +1,8 @@ +require sqlite3.inc + +LICENSE = "PD" +LIC_FILES_CHKSUM = "file://sqlite3.h;endline=11;md5=786d3dc581eff03f4fd9e4a77ed00c66" + +SRC_URI = "http://www.sqlite.org/2019/sqlite-autoconf-${SQLITE_PV}.tar.gz" +SRC_URI[md5sum] = "3c68eb400f8354605736cd55400e1572" +SRC_URI[sha256sum] = "d61b5286f062adfce5125eaf544d495300656908e61fca143517afcc0a89b7c3" diff --git a/poky/meta/recipes-support/vim/vim-tiny_8.1.1017.bb b/poky/meta/recipes-support/vim/vim-tiny_8.1.1240.bb index 8b1fb7b11..74464833a 100644 --- a/poky/meta/recipes-support/vim/vim-tiny_8.1.1017.bb +++ b/poky/meta/recipes-support/vim/vim-tiny_8.1.1240.bb @@ -8,7 +8,7 @@ ALTERNATIVE_${PN}_remove = "xxd" PACKAGECONFIG += "tiny" do_install() { - install -D -m 0755 ${S}/vim ${D}/${bindir}/vim.tiny + install -D -m 0755 ${S}/src/vim ${D}/${bindir}/vim.tiny } ALTERNATIVE_PRIORITY = "90" diff --git a/poky/meta/recipes-support/vim/vim_8.1.1017.bb b/poky/meta/recipes-support/vim/vim_8.1.1240.bb index 7627d2844..f5c74684b 100644 --- a/poky/meta/recipes-support/vim/vim_8.1.1017.bb +++ b/poky/meta/recipes-support/vim/vim_8.1.1240.bb @@ -6,16 +6,16 @@ DEPENDS = "ncurses gettext-native" # vimdiff doesn't like busybox diff RSUGGESTS_${PN} = "diffutils" LICENSE = "vim" -LIC_FILES_CHKSUM = "file://../runtime/doc/uganda.txt;endline=287;md5=f1f82b42360005c70b8c19b0ef493f72" +LIC_FILES_CHKSUM = "file://runtime/doc/uganda.txt;endline=287;md5=f1f82b42360005c70b8c19b0ef493f72" SRC_URI = "git://github.com/vim/vim.git \ - file://disable_acl_header_check.patch;patchdir=.. \ - file://vim-add-knob-whether-elf.h-are-checked.patch;patchdir=.. \ - file://0001-src-Makefile-improve-reproducibility.patch;patchdir=.. \ + file://disable_acl_header_check.patch \ + file://vim-add-knob-whether-elf.h-are-checked.patch \ + file://0001-src-Makefile-improve-reproducibility.patch \ " -SRCREV = "493fbe4abee660d30b4f2aef87b754b0a720213c" +SRCREV = "d96dbd6f95ea22f609042cc9c6272f14a21ff1a5" -S = "${WORKDIR}/git/src" +S = "${WORKDIR}/git" VIMDIR = "vim${@d.getVar('PV').split('.')[0]}${@d.getVar('PV').split('.')[1]}" @@ -25,13 +25,25 @@ CLEANBROKEN = "1" # vim configure.in contains functions which got 'dropped' by autotools.bbclass do_configure () { + cd src rm -f auto/* touch auto/config.mk aclocal autoconf + cd .. oe_runconf - touch auto/configure - touch auto/config.mk auto/config.h + touch src/auto/configure + touch src/auto/config.mk src/auto/config.h +} + +do_compile() { + # We do not support fully / correctly the following locales. Attempting + # to use these with msgfmt in order to update the ".desktop" files exposes + # this problem and leads to the compile failing. + for LOCALE in cs fr ko pl sk zh_CN zh_TW;do + echo -n > src/po/${LOCALE}.po + done + autotools_do_compile } #Available PACKAGECONFIG options are gtkgui, acl, x11, tiny @@ -76,7 +88,7 @@ do_install() { chmod -x ${D}${datadir}/${BPN}/${VIMDIR}/tools/*.py # Install example vimrc from runtime files - install -m 0644 ../runtime/vimrc_example.vim ${D}/${datadir}/${BPN}/vimrc + install -m 0644 runtime/vimrc_example.vim ${D}/${datadir}/${BPN}/vimrc # we use --with-features=big as default mv ${D}${bindir}/${BPN} ${D}${bindir}/${BPN}.${BPN} diff --git a/poky/meta/recipes-support/vte/vte/0001-Add-W_EXITCODE-macro-for-non-glibc-systems.patch b/poky/meta/recipes-support/vte/vte/0001-Add-W_EXITCODE-macro-for-non-glibc-systems.patch new file mode 100644 index 000000000..0ffd92b4b --- /dev/null +++ b/poky/meta/recipes-support/vte/vte/0001-Add-W_EXITCODE-macro-for-non-glibc-systems.patch @@ -0,0 +1,59 @@ +From f78988d3bb5929c857e788a86c7919d6a4ffacc9 Mon Sep 17 00:00:00 2001 +From: Danilo Spinella <danyspin97@protonmail.com> +Date: Thu, 21 Mar 2019 14:19:26 +0100 +Subject: [PATCH] Add W_EXITCODE macro for non-glibc systems + +Upstream-Status: Submitted [1] + +Signed-off-by: Andreas Müller <schnitzeltony@gmail.com> + +[1] https://gitlab.gnome.org/GNOME/vte/issues/72 + +--- + src/missing.hh | 21 +++++++++++++++++++++ + src/widget.cc | 1 + + 2 files changed, 22 insertions(+) + create mode 100644 src/missing.hh + +diff --git a/src/missing.hh b/src/missing.hh +new file mode 100644 +index 00000000..1baa993d +--- /dev/null ++++ b/src/missing.hh +@@ -0,0 +1,21 @@ ++/* Copyright 2019 Danilo Spinella ++ * ++ * This library is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU Lesser General Public ++ * License as published by the Free Software Foundation; either ++ * version 3 of the License, or (at your option) any later version. ++ * ++ * This library is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ * Lesser General Public License for more details. ++ * ++ * You should have received a copy of the GNU Lesser General Public ++ * License along with this library; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA ++ */ ++ ++#ifndef W_EXITCODE ++#define W_EXITCODE(ret, sig) ((ret) << 8 | (sig)) ++#endif ++ +diff --git a/src/widget.cc b/src/widget.cc +index 331ddba9..555a4adf 100644 +--- a/src/widget.cc ++++ b/src/widget.cc +@@ -21,6 +21,7 @@ + #include "widget.hh" + + #include <sys/wait.h> // for W_EXITCODE ++#include "missing.hh" // for W_EXITCODE on non-glibc systems + + #include <new> + #include <string> +-- +2.21.0 + diff --git a/poky/meta/recipes-support/vte/vte_0.52.2.bb b/poky/meta/recipes-support/vte/vte_0.56.1.bb index 272ae66f1..3585e9ce5 100644 --- a/poky/meta/recipes-support/vte/vte_0.52.2.bb +++ b/poky/meta/recipes-support/vte/vte_0.56.1.bb @@ -1,9 +1,15 @@ SUMMARY = "Virtual terminal emulator GTK+ widget library" BUGTRACKER = "https://bugzilla.gnome.org/buglist.cgi?product=vte" -LICENSE = "LGPLv2.1+" -DEPENDS = "glib-2.0 gtk+3 libpcre2 intltool-native libxml2-native gperf-native" +LICENSE = "GPLv3 & LGPLv2.1+" +LICENSE_libvte = "LGPLv2.1+" + +LIC_FILES_CHKSUM = " \ + file://COPYING.GPL3;md5=2f31b266d3440dd7ee50f92cf67d8e6c \ + file://COPYING.LGPL2;md5=4fbd65380cdd255951079008b364516c \ + file://COPYING.LGPL3;md5=b52f2d57d10c4f7ee67a7eb9615d5d24 \ +" -LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" +DEPENDS = "glib-2.0 gtk+3 libpcre2 intltool-native libxml2-native gperf-native" inherit gnomebase gtk-doc distro_features_check upstream-version-is-even gobject-introspection @@ -11,9 +17,10 @@ inherit gnomebase gtk-doc distro_features_check upstream-version-is-even gobject SRC_URI += "file://0001-Don-t-enable-stack-protection-by-default.patch \ ${@bb.utils.contains('PACKAGECONFIG', 'vala', '', 'file://0001-Add-m4-vapigen.m4.patch', d) } \ file://0001-app.cc-use-old-school-asignment-to-avoid-gcc-4.8-err.patch \ + file://0001-Add-W_EXITCODE-macro-for-non-glibc-systems.patch \ " -SRC_URI[archive.md5sum] = "de8181350dccb010e915e366bdd06d18" -SRC_URI[archive.sha256sum] = "0f2657cef52accbfe56feede553155552d7c1984b1291838af3cb8cfc19b26af" +SRC_URI[archive.md5sum] = "a8984cd5a101dbff0b0c875d1de3f692" +SRC_URI[archive.sha256sum] = "02fa8ecc02a9332e47f486795494527b5687b3bd448e73e6b67285f2f326dc7c" ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" @@ -27,7 +34,7 @@ export XDG_DATA_DIRS = "${STAGING_DATADIR}" # Help g-ir-scanner find the .so for linking do_compile_prepend() { - export GIR_EXTRA_LIBS_PATH="${B}/src/.libs" + export GIR_EXTRA_LIBS_PATH="${B}/src/.libs" } # Package additional files @@ -43,7 +50,8 @@ CFLAGS += "-D_GNU_SOURCE" # Use libtool-cross (which has a hack to prevent that) instead. EXTRA_OEMAKE_class-target = "LIBTOOL=${STAGING_BINDIR_CROSS}/${HOST_SYS}-libtool" -PACKAGES =+ "libvte" +PACKAGES =+ "libvte ${PN}-prompt" FILES_libvte = "${libdir}/*.so.* ${libdir}/girepository-1.0/*" +FILES_${PN}-prompt = "${sysconfdir}/profile.d" BBCLASSEXTEND = "native nativesdk" diff --git a/poky/oe-init-build-env b/poky/oe-init-build-env index 9e8495827..5a5213fe3 100755 --- a/poky/oe-init-build-env +++ b/poky/oe-init-build-env @@ -4,19 +4,8 @@ # # Copyright (C) 2006-2011 Linux Foundation # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. +# SPDX-License-Identifier: GPL-2.0-or-later # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # # Normally this is called as '. ./oe-init-build-env <builddir>' diff --git a/poky/scripts/autobuilder-worker-prereq-tests b/poky/scripts/autobuilder-worker-prereq-tests index 358dd2bee..5d7e6e260 100755 --- a/poky/scripts/autobuilder-worker-prereq-tests +++ b/poky/scripts/autobuilder-worker-prereq-tests @@ -3,7 +3,7 @@ # Script which can be run on new autobuilder workers to check all needed configuration is present. # Designed to be run in a repo where bitbake/oe-core are already present. # - +# SPDX-License-Identifier: GPL-2.0-only # # Todo # Add testtools/subunit import test diff --git a/poky/scripts/bitbake-prserv-tool b/poky/scripts/bitbake-prserv-tool index fa31b5258..e55d98c72 100755 --- a/poky/scripts/bitbake-prserv-tool +++ b/poky/scripts/bitbake-prserv-tool @@ -1,4 +1,7 @@ #!/usr/bin/env bash +# +# SPDX-License-Identifier: GPL-2.0-only +# help () { diff --git a/poky/scripts/bitbake-whatchanged b/poky/scripts/bitbake-whatchanged index 0207777e6..3095dafa4 100755 --- a/poky/scripts/bitbake-whatchanged +++ b/poky/scripts/bitbake-whatchanged @@ -4,18 +4,8 @@ # Copyright (c) 2013 Wind River Systems, Inc. # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# See the GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA import os import sys diff --git a/poky/scripts/buildhistory-collect-srcrevs b/poky/scripts/buildhistory-collect-srcrevs index d375b045d..c4d203ff4 100755 --- a/poky/scripts/buildhistory-collect-srcrevs +++ b/poky/scripts/buildhistory-collect-srcrevs @@ -5,18 +5,8 @@ # Copyright 2013 Intel Corporation # Authored-by: Paul Eggleton <paul.eggleton@intel.com> # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. import collections import os diff --git a/poky/scripts/buildhistory-diff b/poky/scripts/buildhistory-diff index 70805b067..833f7c33a 100755 --- a/poky/scripts/buildhistory-diff +++ b/poky/scripts/buildhistory-diff @@ -4,6 +4,9 @@ # # Copyright (C) 2013 Intel Corporation # Author: Paul Eggleton <paul.eggleton@linux.intel.com> +# +# SPDX-License-Identifier: GPL-2.0-only +# import sys import os diff --git a/poky/scripts/buildstats-diff b/poky/scripts/buildstats-diff index a128dd324..c179c9352 100755 --- a/poky/scripts/buildstats-diff +++ b/poky/scripts/buildstats-diff @@ -4,15 +4,9 @@ # # Copyright (c) 2016, Intel Corporation. # -# This program is free software; you can redistribute it and/or modify it -# under the terms and conditions of the GNU General Public License, -# version 2, as published by the Free Software Foundation. -# -# This program is distributed in the hope it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for -# more details. +# SPDX-License-Identifier: GPL-2.0-only # + import argparse import glob import logging diff --git a/poky/scripts/combo-layer b/poky/scripts/combo-layer index dc40e7240..9b50e9873 100755 --- a/poky/scripts/combo-layer +++ b/poky/scripts/combo-layer @@ -7,18 +7,8 @@ # Paul Eggleton <paul.eggleton@intel.com> # Richard Purdie <richard.purdie@intel.com> # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. import fnmatch import os, sys diff --git a/poky/scripts/combo-layer-hook-default.sh b/poky/scripts/combo-layer-hook-default.sh index 1e3a3b9bc..11547a982 100755 --- a/poky/scripts/combo-layer-hook-default.sh +++ b/poky/scripts/combo-layer-hook-default.sh @@ -1,4 +1,7 @@ #!/bin/sh +# +# SPDX-License-Identifier: GPL-2.0-only +# # Hook to add source component/revision info to commit message # Parameter: # $1 patch-file diff --git a/poky/scripts/contrib/bb-perf/bb-matrix-plot.sh b/poky/scripts/contrib/bb-perf/bb-matrix-plot.sh index 136a25570..e7bd129e9 100755 --- a/poky/scripts/contrib/bb-perf/bb-matrix-plot.sh +++ b/poky/scripts/contrib/bb-perf/bb-matrix-plot.sh @@ -1,21 +1,8 @@ #!/bin/bash # # Copyright (c) 2011, Intel Corporation. -# All rights reserved. # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# SPDX-License-Identifier: GPL-2.0-or-later # # DESCRIPTION # This script operates on the .dat file generated by bb-matrix.sh. It tolerates diff --git a/poky/scripts/contrib/bb-perf/bb-matrix.sh b/poky/scripts/contrib/bb-perf/bb-matrix.sh index 106456584..b1fff0f34 100755 --- a/poky/scripts/contrib/bb-perf/bb-matrix.sh +++ b/poky/scripts/contrib/bb-perf/bb-matrix.sh @@ -1,21 +1,8 @@ #!/bin/bash # # Copyright (c) 2011, Intel Corporation. -# All rights reserved. # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# SPDX-License-Identifier: GPL-2.0-or-later # # DESCRIPTION # This script runs BB_CMD (typically building core-image-sato) for all diff --git a/poky/scripts/contrib/bb-perf/buildstats-plot.sh b/poky/scripts/contrib/bb-perf/buildstats-plot.sh index 7e8ae0410..898834e5a 100755 --- a/poky/scripts/contrib/bb-perf/buildstats-plot.sh +++ b/poky/scripts/contrib/bb-perf/buildstats-plot.sh @@ -1,21 +1,8 @@ #!/usr/bin/env bash # # Copyright (c) 2011, Intel Corporation. -# All rights reserved. # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# SPDX-License-Identifier: GPL-2.0-or-later # # DESCRIPTION # diff --git a/poky/scripts/contrib/bb-perf/buildstats.sh b/poky/scripts/contrib/bb-perf/buildstats.sh index 8d7e2488f..e9ec2d476 100755 --- a/poky/scripts/contrib/bb-perf/buildstats.sh +++ b/poky/scripts/contrib/bb-perf/buildstats.sh @@ -1,21 +1,8 @@ #!/bin/bash # # Copyright (c) 2011, Intel Corporation. -# All rights reserved. # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# SPDX-License-Identifier: GPL-2.0-or-later # # DESCRIPTION # Given 'buildstats' data (generate by bitbake when setting diff --git a/poky/scripts/contrib/bbvars.py b/poky/scripts/contrib/bbvars.py index 286b5a940..090133600 100755 --- a/poky/scripts/contrib/bbvars.py +++ b/poky/scripts/contrib/bbvars.py @@ -1,18 +1,6 @@ #!/usr/bin/env python3 - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. # -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# SPDX-License-Identifier: GPL-2.0-or-later # # Copyright (C) Darren Hart <dvhart@linux.intel.com>, 2010 diff --git a/poky/scripts/contrib/build-perf-test-wrapper.sh b/poky/scripts/contrib/build-perf-test-wrapper.sh index 7cbb5d794..fa71d4a2e 100755 --- a/poky/scripts/contrib/build-perf-test-wrapper.sh +++ b/poky/scripts/contrib/build-perf-test-wrapper.sh @@ -4,15 +4,7 @@ # # Copyright (c) 2016, Intel Corporation. # -# This program is free software; you can redistribute it and/or modify it -# under the terms and conditions of the GNU General Public License, -# version 2, as published by the Free Software Foundation. -# -# This program is distributed in the hope it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for -# more details. -# +# SPDX-License-Identifier: GPL-2.0-only # # This script is a simple wrapper around the actual build performance tester # script. This script initializes the build environment, runs diff --git a/poky/scripts/contrib/ddimage b/poky/scripts/contrib/ddimage index ab929957a..b577d1ca2 100755 --- a/poky/scripts/contrib/ddimage +++ b/poky/scripts/contrib/ddimage @@ -1,4 +1,7 @@ #!/bin/sh +# +# SPDX-License-Identifier: GPL-2.0-only +# # Default to avoiding the first two disks on typical Linux and Mac OS installs # Better safe than sorry :-) diff --git a/poky/scripts/contrib/devtool-stress.py b/poky/scripts/contrib/devtool-stress.py index d555c51a6..81046ecf4 100755 --- a/poky/scripts/contrib/devtool-stress.py +++ b/poky/scripts/contrib/devtool-stress.py @@ -6,18 +6,7 @@ # # Copyright 2015 Intel Corporation # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +# SPDX-License-Identifier: GPL-2.0-only # import sys diff --git a/poky/scripts/contrib/dialog-power-control b/poky/scripts/contrib/dialog-power-control index 7550ea53b..ad6070c36 100755 --- a/poky/scripts/contrib/dialog-power-control +++ b/poky/scripts/contrib/dialog-power-control @@ -1,5 +1,7 @@ #!/bin/sh # +# SPDX-License-Identifier: GPL-2.0-only +# # Simple script to show a manual power prompt for when you want to use # automated hardware testing with testimage.bbclass but you don't have a # web-enabled power strip or similar to do the power on/off/cycle. diff --git a/poky/scripts/contrib/documentation-audit.sh b/poky/scripts/contrib/documentation-audit.sh index 2144aac93..1191f57a8 100755 --- a/poky/scripts/contrib/documentation-audit.sh +++ b/poky/scripts/contrib/documentation-audit.sh @@ -1,5 +1,7 @@ #!/bin/bash # +# SPDX-License-Identifier: GPL-2.0-only +# # Perform an audit of which packages provide documentation and which # are missing -doc packages. # @@ -7,7 +9,6 @@ # this script after source'ing the build environment script, so you're # running it from build/ directory. # -# Maintainer: Scott Garman <scott.a.garman@intel.com> REPORT_DOC_SIMPLE="documentation_exists.txt" REPORT_DOC_DETAIL="documentation_exists_detail.txt" diff --git a/poky/scripts/contrib/graph-tool b/poky/scripts/contrib/graph-tool index 1df5b8c34..6d2e68b82 100755 --- a/poky/scripts/contrib/graph-tool +++ b/poky/scripts/contrib/graph-tool @@ -7,18 +7,7 @@ # # Copyright 2013 Intel Corporation # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +# SPDX-License-Identifier: GPL-2.0-only # import sys diff --git a/poky/scripts/contrib/list-packageconfig-flags.py b/poky/scripts/contrib/list-packageconfig-flags.py index 7ce718624..b1d6c852d 100755 --- a/poky/scripts/contrib/list-packageconfig-flags.py +++ b/poky/scripts/contrib/list-packageconfig-flags.py @@ -1,21 +1,10 @@ #!/usr/bin/env python3 -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software Foundation. -# # Copyright (C) 2013 Wind River Systems, Inc. # Copyright (C) 2014 Intel Corporation # +# SPDX-License-Identifier: GPL-2.0-or-later +# # - list available recipes which have PACKAGECONFIG flags # - list available PACKAGECONFIG flags and all affected recipes # - list all recipes and PACKAGECONFIG information diff --git a/poky/scripts/contrib/oe-build-perf-report-email.py b/poky/scripts/contrib/oe-build-perf-report-email.py index 913847bbe..de3862c89 100755 --- a/poky/scripts/contrib/oe-build-perf-report-email.py +++ b/poky/scripts/contrib/oe-build-perf-report-email.py @@ -4,15 +4,9 @@ # # Copyright (c) 2017, Intel Corporation. # -# This program is free software; you can redistribute it and/or modify it -# under the terms and conditions of the GNU General Public License, -# version 2, as published by the Free Software Foundation. -# -# This program is distributed in the hope it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for -# more details. +# SPDX-License-Identifier: GPL-2.0-only # + import argparse import base64 import logging diff --git a/poky/scripts/contrib/patchreview.py b/poky/scripts/contrib/patchreview.py index 072166504..62c509f51 100755 --- a/poky/scripts/contrib/patchreview.py +++ b/poky/scripts/contrib/patchreview.py @@ -1,4 +1,7 @@ #! /usr/bin/env python3 +# +# SPDX-License-Identifier: GPL-2.0-only +# # TODO # - option to just list all broken files diff --git a/poky/scripts/contrib/patchtest.sh b/poky/scripts/contrib/patchtest.sh index 7fe566666..b1e1ea334 100755 --- a/poky/scripts/contrib/patchtest.sh +++ b/poky/scripts/contrib/patchtest.sh @@ -1,26 +1,12 @@ #!/bin/bash -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- # # patchtest: Run patchtest on commits starting at master # # Copyright (c) 2017, Intel Corporation. -# All rights reserved. # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# SPDX-License-Identifier: GPL-2.0-or-later # + set -o errexit # Default values diff --git a/poky/scripts/contrib/serdevtry b/poky/scripts/contrib/serdevtry index 74bd7b716..9144730e7 100755 --- a/poky/scripts/contrib/serdevtry +++ b/poky/scripts/contrib/serdevtry @@ -2,7 +2,8 @@ # Copyright (C) 2014 Intel Corporation # -# Released under the MIT license (see COPYING.MIT) +# SPDX-License-Identifier: MIT +# if [ "$1" = "" -o "$1" = "--help" ] ; then echo "Usage: $0 <serial terminal command>" diff --git a/poky/scripts/contrib/test_build_time.sh b/poky/scripts/contrib/test_build_time.sh index 9e5725ae5..23f238adf 100755 --- a/poky/scripts/contrib/test_build_time.sh +++ b/poky/scripts/contrib/test_build_time.sh @@ -3,22 +3,8 @@ # Build performance regression test script # # Copyright 2011 Intel Corporation -# All rights reserved. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # +# SPDX-License-Identifier: GPL-2.0-or-later # # DESCRIPTION # This script is intended to be used in conjunction with "git bisect run" diff --git a/poky/scripts/contrib/test_build_time_worker.sh b/poky/scripts/contrib/test_build_time_worker.sh index 8e20a9ea7..478e8b0d0 100755 --- a/poky/scripts/contrib/test_build_time_worker.sh +++ b/poky/scripts/contrib/test_build_time_worker.sh @@ -1,5 +1,7 @@ #!/bin/bash - +# +# SPDX-License-Identifier: GPL-2.0-only +# # This is an example script to be used in conjunction with test_build_time.sh if [ "$TEST_BUILDDIR" = "" ] ; then diff --git a/poky/scripts/contrib/uncovered b/poky/scripts/contrib/uncovered index a8399ad17..f16128cb7 100755 --- a/poky/scripts/contrib/uncovered +++ b/poky/scripts/contrib/uncovered @@ -1,23 +1,10 @@ #!/bin/bash -eur -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- # # Find python modules uncovered by oe-seltest # # Copyright (c) 2016, Intel Corporation # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +# SPDX-License-Identifier: GPL-2.0-only # # Author: Ed Bartosh <ed.bartosh@linux.intel.com> # diff --git a/poky/scripts/contrib/verify-homepage.py b/poky/scripts/contrib/verify-homepage.py index cc6e797d8..7bffa78e2 100755 --- a/poky/scripts/contrib/verify-homepage.py +++ b/poky/scripts/contrib/verify-homepage.py @@ -1,5 +1,7 @@ #!/usr/bin/env python3 - +# +# SPDX-License-Identifier: GPL-2.0-only +# # This script can be used to verify HOMEPAGE values for all recipes in # the current configuration. # The result is influenced by network environment, since the timeout of connect url is 5 seconds as default. diff --git a/poky/scripts/cp-noerror b/poky/scripts/cp-noerror index 35eb211be..ab617c5d3 100755 --- a/poky/scripts/cp-noerror +++ b/poky/scripts/cp-noerror @@ -1,5 +1,7 @@ #!/usr/bin/env python3 # +# SPDX-License-Identifier: GPL-2.0-only +# # Allow copying of $1 to $2 but if files in $1 disappear during the copy operation, # don't error. # Also don't error if $1 disappears. diff --git a/poky/scripts/create-pull-request b/poky/scripts/create-pull-request index 280880b3f..3ce03d6c1 100755 --- a/poky/scripts/create-pull-request +++ b/poky/scripts/create-pull-request @@ -1,21 +1,8 @@ #!/bin/sh # # Copyright (c) 2010-2013, Intel Corporation. -# All Rights Reserved -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See -# the GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# SPDX-License-Identifier: GPL-2.0-or-later # # diff --git a/poky/scripts/crosstap b/poky/scripts/crosstap index e33fa4ad4..40856bc20 100755 --- a/poky/scripts/crosstap +++ b/poky/scripts/crosstap @@ -17,20 +17,9 @@ # related to kernel. # # Copyright (c) 2018, Cisco Systems. -# All rights reserved. # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# See the GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA import sys import re diff --git a/poky/scripts/devtool b/poky/scripts/devtool index 0e578c0de..8a4f41bc3 100755 --- a/poky/scripts/devtool +++ b/poky/scripts/devtool @@ -4,18 +4,8 @@ # # Copyright (C) 2014-2015 Intel Corporation # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. import sys import os diff --git a/poky/scripts/gen-lockedsig-cache b/poky/scripts/gen-lockedsig-cache index 6765891d1..e3076e11a 100755 --- a/poky/scripts/gen-lockedsig-cache +++ b/poky/scripts/gen-lockedsig-cache @@ -1,4 +1,7 @@ #!/usr/bin/env python3 +# +# SPDX-License-Identifier: GPL-2.0-only +# import os import sys diff --git a/poky/scripts/gen-site-config b/poky/scripts/gen-site-config index 7da7a0bd8..727b809c0 100755 --- a/poky/scripts/gen-site-config +++ b/poky/scripts/gen-site-config @@ -1,18 +1,8 @@ #! /bin/sh # Copyright (c) 2005-2008 Wind River Systems, Inc. # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# See the GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA cat << EOF AC_PREREQ(2.57) diff --git a/poky/scripts/lib/argparse_oe.py b/poky/scripts/lib/argparse_oe.py index 9bdfc1cec..94a4ac501 100644 --- a/poky/scripts/lib/argparse_oe.py +++ b/poky/scripts/lib/argparse_oe.py @@ -1,3 +1,7 @@ +# +# SPDX-License-Identifier: GPL-2.0-only +# + import sys import argparse from collections import defaultdict, OrderedDict diff --git a/poky/scripts/lib/build_perf/__init__.py b/poky/scripts/lib/build_perf/__init__.py index 1f8b72907..dcbb78042 100644 --- a/poky/scripts/lib/build_perf/__init__.py +++ b/poky/scripts/lib/build_perf/__init__.py @@ -1,14 +1,7 @@ # # Copyright (c) 2017, Intel Corporation. # -# This program is free software; you can redistribute it and/or modify it -# under the terms and conditions of the GNU General Public License, -# version 2, as published by the Free Software Foundation. -# -# This program is distributed in the hope it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for -# more details. +# SPDX-License-Identifier: GPL-2.0-only # """Build performance test library functions""" diff --git a/poky/scripts/lib/build_perf/html.py b/poky/scripts/lib/build_perf/html.py index 578bb162e..d1273c9c5 100644 --- a/poky/scripts/lib/build_perf/html.py +++ b/poky/scripts/lib/build_perf/html.py @@ -1,14 +1,7 @@ # # Copyright (c) 2017, Intel Corporation. # -# This program is free software; you can redistribute it and/or modify it -# under the terms and conditions of the GNU General Public License, -# version 2, as published by the Free Software Foundation. -# -# This program is distributed in the hope it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for -# more details. +# SPDX-License-Identifier: GPL-2.0-only # """Helper module for HTML reporting""" from jinja2 import Environment, PackageLoader diff --git a/poky/scripts/lib/build_perf/report.py b/poky/scripts/lib/build_perf/report.py index d99a36797..4e8e2a8a9 100644 --- a/poky/scripts/lib/build_perf/report.py +++ b/poky/scripts/lib/build_perf/report.py @@ -1,14 +1,7 @@ # # Copyright (c) 2017, Intel Corporation. # -# This program is free software; you can redistribute it and/or modify it -# under the terms and conditions of the GNU General Public License, -# version 2, as published by the Free Software Foundation. -# -# This program is distributed in the hope it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for -# more details. +# SPDX-License-Identifier: GPL-2.0-only # """Handling of build perf test reports""" from collections import OrderedDict, Mapping, namedtuple diff --git a/poky/scripts/lib/buildstats.py b/poky/scripts/lib/buildstats.py index f7db3eaf9..1adab06ed 100644 --- a/poky/scripts/lib/buildstats.py +++ b/poky/scripts/lib/buildstats.py @@ -1,14 +1,7 @@ # # Copyright (c) 2017, Intel Corporation. # -# This program is free software; you can redistribute it and/or modify it -# under the terms and conditions of the GNU General Public License, -# version 2, as published by the Free Software Foundation. -# -# This program is distributed in the hope it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for -# more details. +# SPDX-License-Identifier: GPL-2.0-only # """Functionality for analyzing buildstats""" import json diff --git a/poky/scripts/lib/checklayer/__init__.py b/poky/scripts/lib/checklayer/__init__.py index 670f0eea3..8244cf072 100644 --- a/poky/scripts/lib/checklayer/__init__.py +++ b/poky/scripts/lib/checklayer/__init__.py @@ -1,7 +1,9 @@ # Yocto Project layer check tool # # Copyright (C) 2017 Intel Corporation -# Released under the MIT license (see COPYING.MIT) +# +# SPDX-License-Identifier: MIT +# import os import re diff --git a/poky/scripts/lib/checklayer/case.py b/poky/scripts/lib/checklayer/case.py index 9dd00412e..fa9dee384 100644 --- a/poky/scripts/lib/checklayer/case.py +++ b/poky/scripts/lib/checklayer/case.py @@ -1,5 +1,7 @@ # Copyright (C) 2017 Intel Corporation -# Released under the MIT license (see COPYING.MIT) +# +# SPDX-License-Identifier: MIT +# from oeqa.core.case import OETestCase diff --git a/poky/scripts/lib/checklayer/cases/bsp.py b/poky/scripts/lib/checklayer/cases/bsp.py index b6b611be7..7fd56f5d3 100644 --- a/poky/scripts/lib/checklayer/cases/bsp.py +++ b/poky/scripts/lib/checklayer/cases/bsp.py @@ -1,5 +1,7 @@ # Copyright (C) 2017 Intel Corporation -# Released under the MIT license (see COPYING.MIT) +# +# SPDX-License-Identifier: MIT +# import unittest diff --git a/poky/scripts/lib/checklayer/cases/common.py b/poky/scripts/lib/checklayer/cases/common.py index 1bef61b04..8ffe028b3 100644 --- a/poky/scripts/lib/checklayer/cases/common.py +++ b/poky/scripts/lib/checklayer/cases/common.py @@ -1,5 +1,7 @@ # Copyright (C) 2017 Intel Corporation -# Released under the MIT license (see COPYING.MIT) +# +# SPDX-License-Identifier: MIT +# import glob import os diff --git a/poky/scripts/lib/checklayer/cases/distro.py b/poky/scripts/lib/checklayer/cases/distro.py index df1b3035e..f0bee5493 100644 --- a/poky/scripts/lib/checklayer/cases/distro.py +++ b/poky/scripts/lib/checklayer/cases/distro.py @@ -1,5 +1,7 @@ # Copyright (C) 2017 Intel Corporation -# Released under the MIT license (see COPYING.MIT) +# +# SPDX-License-Identifier: MIT +# import unittest diff --git a/poky/scripts/lib/checklayer/context.py b/poky/scripts/lib/checklayer/context.py index 1bec2c410..4de8f668f 100644 --- a/poky/scripts/lib/checklayer/context.py +++ b/poky/scripts/lib/checklayer/context.py @@ -1,5 +1,7 @@ # Copyright (C) 2017 Intel Corporation -# Released under the MIT license (see COPYING.MIT) +# +# SPDX-License-Identifier: MIT +# import os import sys diff --git a/poky/scripts/lib/devtool/__init__.py b/poky/scripts/lib/devtool/__init__.py index 8fc7fffcd..d39c474fb 100644 --- a/poky/scripts/lib/devtool/__init__.py +++ b/poky/scripts/lib/devtool/__init__.py @@ -4,18 +4,8 @@ # # Copyright (C) 2014 Intel Corporation # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. """Devtool plugins module""" import os diff --git a/poky/scripts/lib/devtool/build.py b/poky/scripts/lib/devtool/build.py index ba9593f1a..7543398d9 100644 --- a/poky/scripts/lib/devtool/build.py +++ b/poky/scripts/lib/devtool/build.py @@ -2,18 +2,8 @@ # # Copyright (C) 2014-2015 Intel Corporation # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. """Devtool build plugin""" import os diff --git a/poky/scripts/lib/devtool/build_image.py b/poky/scripts/lib/devtool/build_image.py index e5810389b..9388abbac 100644 --- a/poky/scripts/lib/devtool/build_image.py +++ b/poky/scripts/lib/devtool/build_image.py @@ -2,18 +2,8 @@ # # Copyright (C) 2015 Intel Corporation # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. """Devtool plugin containing the build-image subcommand.""" diff --git a/poky/scripts/lib/devtool/build_sdk.py b/poky/scripts/lib/devtool/build_sdk.py index b89d65b0c..6fe02fff2 100644 --- a/poky/scripts/lib/devtool/build_sdk.py +++ b/poky/scripts/lib/devtool/build_sdk.py @@ -2,18 +2,8 @@ # # Copyright (C) 2015-2016 Intel Corporation # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. import os import subprocess diff --git a/poky/scripts/lib/devtool/deploy.py b/poky/scripts/lib/devtool/deploy.py index f345f31b7..d1ce2309f 100644 --- a/poky/scripts/lib/devtool/deploy.py +++ b/poky/scripts/lib/devtool/deploy.py @@ -2,18 +2,8 @@ # # Copyright (C) 2014-2016 Intel Corporation # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. """Devtool plugin containing the deploy subcommands""" import logging diff --git a/poky/scripts/lib/devtool/export.py b/poky/scripts/lib/devtool/export.py index 35349e2cd..01174edae 100644 --- a/poky/scripts/lib/devtool/export.py +++ b/poky/scripts/lib/devtool/export.py @@ -2,18 +2,8 @@ # # Copyright (C) 2014-2017 Intel Corporation # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. """Devtool export plugin""" import os diff --git a/poky/scripts/lib/devtool/import.py b/poky/scripts/lib/devtool/import.py index 4264b7d82..682985166 100644 --- a/poky/scripts/lib/devtool/import.py +++ b/poky/scripts/lib/devtool/import.py @@ -2,18 +2,8 @@ # # Copyright (C) 2014-2017 Intel Corporation # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. """Devtool import plugin""" import os diff --git a/poky/scripts/lib/devtool/package.py b/poky/scripts/lib/devtool/package.py index af9e8f15f..c2367342c 100644 --- a/poky/scripts/lib/devtool/package.py +++ b/poky/scripts/lib/devtool/package.py @@ -2,18 +2,8 @@ # # Copyright (C) 2014-2015 Intel Corporation # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. """Devtool plugin containing the package subcommands""" import os diff --git a/poky/scripts/lib/devtool/runqemu.py b/poky/scripts/lib/devtool/runqemu.py index e26cf28c2..ead978aab 100644 --- a/poky/scripts/lib/devtool/runqemu.py +++ b/poky/scripts/lib/devtool/runqemu.py @@ -2,18 +2,8 @@ # # Copyright (C) 2015 Intel Corporation # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. """Devtool runqemu plugin""" diff --git a/poky/scripts/lib/devtool/sdk.py b/poky/scripts/lib/devtool/sdk.py index 461675379..3aa42a146 100644 --- a/poky/scripts/lib/devtool/sdk.py +++ b/poky/scripts/lib/devtool/sdk.py @@ -2,18 +2,8 @@ # # Copyright (C) 2015-2016 Intel Corporation # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. import os import subprocess diff --git a/poky/scripts/lib/devtool/search.py b/poky/scripts/lib/devtool/search.py index b4f209b7e..d24040df3 100644 --- a/poky/scripts/lib/devtool/search.py +++ b/poky/scripts/lib/devtool/search.py @@ -2,18 +2,8 @@ # # Copyright (C) 2015 Intel Corporation # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. """Devtool search plugin""" diff --git a/poky/scripts/lib/devtool/standard.py b/poky/scripts/lib/devtool/standard.py index ea09bbff3..aca74b1fc 100644 --- a/poky/scripts/lib/devtool/standard.py +++ b/poky/scripts/lib/devtool/standard.py @@ -2,18 +2,8 @@ # # Copyright (C) 2014-2017 Intel Corporation # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. """Devtool standard plugins""" import os @@ -1328,6 +1318,20 @@ def _export_local_files(srctree, rd, destdir, srctreebase): if os.path.exists(os.path.join(local_files_dir, fragment_fn)): os.unlink(os.path.join(local_files_dir, fragment_fn)) + # Special handling for cml1, ccmake, etc bbclasses that generated + # configuration fragment files that are consumed as source files + for frag_class, frag_name in [("cml1", "fragment.cfg"), ("ccmake", "site-file.cmake")]: + if bb.data.inherits_class(frag_class, rd): + srcpath = os.path.join(rd.getVar('WORKDIR'), frag_name) + if os.path.exists(srcpath): + if frag_name not in new_set: + new_set.append(frag_name) + # copy fragment into destdir + shutil.copy2(srcpath, destdir) + # copy fragment into local files if exists + if os.path.isdir(local_files_dir): + shutil.copy2(srcpath, local_files_dir) + if new_set is not None: for fname in new_set: if fname in existing_files: diff --git a/poky/scripts/lib/devtool/upgrade.py b/poky/scripts/lib/devtool/upgrade.py index 75e765e01..62ec2f94c 100644 --- a/poky/scripts/lib/devtool/upgrade.py +++ b/poky/scripts/lib/devtool/upgrade.py @@ -2,18 +2,7 @@ # # Copyright (C) 2014-2017 Intel Corporation # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +# SPDX-License-Identifier: GPL-2.0-only # """Devtool upgrade plugin""" diff --git a/poky/scripts/lib/devtool/utilcmds.py b/poky/scripts/lib/devtool/utilcmds.py index 7cd139fb8..964817766 100644 --- a/poky/scripts/lib/devtool/utilcmds.py +++ b/poky/scripts/lib/devtool/utilcmds.py @@ -2,18 +2,8 @@ # # Copyright (C) 2015-2016 Intel Corporation # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. """Devtool utility plugins""" diff --git a/poky/scripts/lib/recipetool/append.py b/poky/scripts/lib/recipetool/append.py index 3f2c134ad..e9d52bb67 100644 --- a/poky/scripts/lib/recipetool/append.py +++ b/poky/scripts/lib/recipetool/append.py @@ -2,18 +2,8 @@ # # Copyright (C) 2015 Intel Corporation # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. import sys import os diff --git a/poky/scripts/lib/recipetool/create.py b/poky/scripts/lib/recipetool/create.py index 1810c70ae..98277f74c 100644 --- a/poky/scripts/lib/recipetool/create.py +++ b/poky/scripts/lib/recipetool/create.py @@ -2,18 +2,8 @@ # # Copyright (C) 2014-2017 Intel Corporation # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. import sys import os @@ -704,7 +694,7 @@ def create_recipe(args): if not args.autorev and srcrev == '${AUTOREV}': if os.path.exists(os.path.join(srctree, '.git')): (stdout, _) = bb.process.run('git rev-parse HEAD', cwd=srctree) - srcrev = stdout.rstrip() + srcrev = stdout.rstrip() lines_before.append('SRCREV = "%s"' % srcrev) if args.provides: lines_before.append('PROVIDES = "%s"' % args.provides) diff --git a/poky/scripts/lib/recipetool/create_buildsys.py b/poky/scripts/lib/recipetool/create_buildsys.py index 4743c740c..3cb02766c 100644 --- a/poky/scripts/lib/recipetool/create_buildsys.py +++ b/poky/scripts/lib/recipetool/create_buildsys.py @@ -2,18 +2,8 @@ # # Copyright (C) 2014-2016 Intel Corporation # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. import re import logging diff --git a/poky/scripts/lib/recipetool/create_buildsys_python.py b/poky/scripts/lib/recipetool/create_buildsys_python.py index 5bd2aa337..1a38bd0b1 100644 --- a/poky/scripts/lib/recipetool/create_buildsys_python.py +++ b/poky/scripts/lib/recipetool/create_buildsys_python.py @@ -2,18 +2,8 @@ # # Copyright (C) 2015 Mentor Graphics Corporation # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. import ast import codecs diff --git a/poky/scripts/lib/recipetool/create_kernel.py b/poky/scripts/lib/recipetool/create_kernel.py index ca4996c7a..5740589a6 100644 --- a/poky/scripts/lib/recipetool/create_kernel.py +++ b/poky/scripts/lib/recipetool/create_kernel.py @@ -2,18 +2,8 @@ # # Copyright (C) 2016 Intel Corporation # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. import re import logging diff --git a/poky/scripts/lib/recipetool/create_kmod.py b/poky/scripts/lib/recipetool/create_kmod.py index 3982537a4..85b5c48e5 100644 --- a/poky/scripts/lib/recipetool/create_kmod.py +++ b/poky/scripts/lib/recipetool/create_kmod.py @@ -2,18 +2,8 @@ # # Copyright (C) 2016 Intel Corporation # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. import re import logging diff --git a/poky/scripts/lib/recipetool/create_npm.py b/poky/scripts/lib/recipetool/create_npm.py index 03667887f..39429ebad 100644 --- a/poky/scripts/lib/recipetool/create_npm.py +++ b/poky/scripts/lib/recipetool/create_npm.py @@ -2,20 +2,11 @@ # # Copyright (C) 2016 Intel Corporation # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. import os +import sys import logging import subprocess import tempfile diff --git a/poky/scripts/lib/recipetool/edit.py b/poky/scripts/lib/recipetool/edit.py index c4789a999..94bdf7bca 100644 --- a/poky/scripts/lib/recipetool/edit.py +++ b/poky/scripts/lib/recipetool/edit.py @@ -6,18 +6,8 @@ # # Copyright (C) 2018 Mentor Graphics Corporation # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. import argparse import errno diff --git a/poky/scripts/lib/recipetool/newappend.py b/poky/scripts/lib/recipetool/newappend.py index 76707b4c9..08e2474dc 100644 --- a/poky/scripts/lib/recipetool/newappend.py +++ b/poky/scripts/lib/recipetool/newappend.py @@ -7,18 +7,8 @@ # # Copyright (C) 2015 Christopher Larson <kergoth@gmail.com> # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. import argparse import errno diff --git a/poky/scripts/lib/recipetool/setvar.py b/poky/scripts/lib/recipetool/setvar.py index 9de315a0e..f8e2ee75f 100644 --- a/poky/scripts/lib/recipetool/setvar.py +++ b/poky/scripts/lib/recipetool/setvar.py @@ -2,18 +2,8 @@ # # Copyright (C) 2015 Intel Corporation # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. import sys import os diff --git a/poky/scripts/lib/resulttool/log.py b/poky/scripts/lib/resulttool/log.py new file mode 100644 index 000000000..25c339671 --- /dev/null +++ b/poky/scripts/lib/resulttool/log.py @@ -0,0 +1,71 @@ +# resulttool - Show logs +# +# Copyright (c) 2019 Garmin International +# +# SPDX-License-Identifier: GPL-2.0-only +# +import os +import resulttool.resultutils as resultutils + +def show_ptest(result, ptest, logger): + if 'ptestresult.sections' in result: + if ptest in result['ptestresult.sections'] and 'log' in result['ptestresult.sections'][ptest]: + print(result['ptestresult.sections'][ptest]['log']) + return 0 + + print("ptest '%s' not found" % ptest) + return 1 + +def log(args, logger): + results = resultutils.load_resultsdata(args.source) + + ptest_count = sum(1 for _, _, _, r in resultutils.test_run_results(results) if 'ptestresult.sections' in r) + if ptest_count > 1 and not args.prepend_run: + print("%i ptest sections found. '--prepend-run' is required" % ptest_count) + return 1 + + for _, run_name, _, r in resultutils.test_run_results(results): + if args.dump_ptest: + if 'ptestresult.sections' in r: + for name, ptest in r['ptestresult.sections'].items(): + if 'log' in ptest: + dest_dir = args.dump_ptest + if args.prepend_run: + dest_dir = os.path.join(dest_dir, run_name) + + os.makedirs(dest_dir, exist_ok=True) + + dest = os.path.join(dest_dir, '%s.log' % name) + print(dest) + with open(dest, 'w') as f: + f.write(ptest['log']) + + if args.raw: + if 'ptestresult.rawlogs' in r: + print(r['ptestresult.rawlogs']['log']) + else: + print('Raw logs not found') + return 1 + + for ptest in args.ptest: + if not show_ptest(r, ptest, logger): + return 1 + +def register_commands(subparsers): + """Register subcommands from this plugin""" + parser = subparsers.add_parser('log', help='show logs', + description='show the logs from test results', + group='analysis') + parser.set_defaults(func=log) + parser.add_argument('source', + help='the results file/directory/URL to import') + parser.add_argument('--ptest', action='append', default=[], + help='show logs for a ptest') + parser.add_argument('--dump-ptest', metavar='DIR', + help='Dump all ptest log files to the specified directory.') + parser.add_argument('--prepend-run', action='store_true', + help='''Dump ptest results to a subdirectory named after the test run when using --dump-ptest. + Required if more than one test run is present in the result file''') + parser.add_argument('--raw', action='store_true', + help='show raw logs') + diff --git a/poky/scripts/lib/resulttool/manualexecution.py b/poky/scripts/lib/resulttool/manualexecution.py index c94f98126..df28e1d21 100755 --- a/poky/scripts/lib/resulttool/manualexecution.py +++ b/poky/scripts/lib/resulttool/manualexecution.py @@ -2,33 +2,32 @@ # # Copyright (c) 2018, Intel Corporation. # -# This program is free software; you can redistribute it and/or modify it -# under the terms and conditions of the GNU General Public License, -# version 2, as published by the Free Software Foundation. -# -# This program is distributed in the hope it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for -# more details. +# SPDX-License-Identifier: GPL-2.0-only # + import argparse import json import os import sys import datetime import re +import copy from oeqa.core.runner import OETestResultJSONHelper -def load_json_file(file): - with open(file, "r") as f: - return json.load(f) +def load_json_file(f): + with open(f, "r") as filedata: + return json.load(filedata) + +def write_json_file(f, json_data): + os.makedirs(os.path.dirname(f), exist_ok=True) + with open(f, 'w') as filedata: + filedata.write(json.dumps(json_data, sort_keys=True, indent=4)) class ManualTestRunner(object): - def _get_testcases(self, file): - self.jdata = load_json_file(file) - self.test_module = self.jdata[0]['test']['@alias'].split('.', 2)[0] + def _get_test_module(self, case_file): + return os.path.basename(case_file).split('.')[0] def _get_input(self, config): while True: @@ -38,42 +37,63 @@ class ManualTestRunner(object): print('Only lowercase alphanumeric, hyphen and dot are allowed. Please try again') return output - def _create_config(self): + def _get_available_config_options(self, config_options, test_module, target_config): + avail_config_options = None + if test_module in config_options: + avail_config_options = config_options[test_module].get(target_config) + return avail_config_options + + def _choose_config_option(self, options): + while True: + output = input('{} = '.format('Option index number')) + if output in options: + break + print('Only integer index inputs from above available configuration options are allowed. Please try again.') + return options[output] + + def _get_config(self, config_options, test_module): from oeqa.utils.metadata import get_layers from oeqa.utils.commands import get_bb_var from resulttool.resultutils import store_map layers = get_layers(get_bb_var('BBLAYERS')) - self.configuration = {} - self.configuration['LAYERS'] = layers - current_datetime = datetime.datetime.now() - self.starttime = current_datetime.strftime('%Y%m%d%H%M%S') - self.configuration['STARTTIME'] = self.starttime - self.configuration['TEST_TYPE'] = 'manual' - self.configuration['TEST_MODULE'] = self.test_module - - extra_config = set(store_map['manual']) - set(self.configuration) - for config in sorted(extra_config): - print('---------------------------------------------') - print('This is configuration #%s. Please provide configuration value(use "None" if not applicable).' % config) - print('---------------------------------------------') - value_conf = self._get_input('Configuration Value') - print('---------------------------------------------\n') - self.configuration[config] = value_conf + configurations = {} + configurations['LAYERS'] = layers + configurations['STARTTIME'] = datetime.datetime.now().strftime('%Y%m%d%H%M%S') + configurations['TEST_TYPE'] = 'manual' + configurations['TEST_MODULE'] = test_module - def _create_result_id(self): - self.result_id = 'manual_%s_%s' % (self.test_module, self.starttime) + extra_config = set(store_map['manual']) - set(configurations) + for config in sorted(extra_config): + avail_config_options = self._get_available_config_options(config_options, test_module, config) + if avail_config_options: + print('---------------------------------------------') + print('These are available configuration #%s options:' % config) + print('---------------------------------------------') + for option, _ in sorted(avail_config_options.items(), key=lambda x: int(x[0])): + print('%s: %s' % (option, avail_config_options[option])) + print('Please select configuration option, enter the integer index number.') + value_conf = self._choose_config_option(avail_config_options) + print('---------------------------------------------\n') + else: + print('---------------------------------------------') + print('This is configuration #%s. Please provide configuration value(use "None" if not applicable).' % config) + print('---------------------------------------------') + value_conf = self._get_input('Configuration Value') + print('---------------------------------------------\n') + configurations[config] = value_conf + return configurations - def _execute_test_steps(self, test): + def _execute_test_steps(self, case): test_result = {} print('------------------------------------------------------------------------') - print('Executing test case: %s' % test['test']['@alias']) + print('Executing test case: %s' % case['test']['@alias']) print('------------------------------------------------------------------------') - print('You have total %s test steps to be executed.' % len(test['test']['execution'])) + print('You have total %s test steps to be executed.' % len(case['test']['execution'])) print('------------------------------------------------------------------------\n') - for step, _ in sorted(test['test']['execution'].items(), key=lambda x: int(x[0])): - print('Step %s: %s' % (step, test['test']['execution'][step]['action'])) - expected_output = test['test']['execution'][step]['expected_results'] + for step, _ in sorted(case['test']['execution'].items(), key=lambda x: int(x[0])): + print('Step %s: %s' % (step, case['test']['execution'][step]['action'])) + expected_output = case['test']['execution'][step]['expected_results'] if expected_output: print('Expected output: %s' % expected_output) while True: @@ -88,34 +108,87 @@ class ManualTestRunner(object): res = result_types[r] if res == 'FAILED': log_input = input('\nPlease enter the error and the description of the log: (Ex:log:211 Error Bitbake)\n') - test_result.update({test['test']['@alias']: {'status': '%s' % res, 'log': '%s' % log_input}}) + test_result.update({case['test']['@alias']: {'status': '%s' % res, 'log': '%s' % log_input}}) else: - test_result.update({test['test']['@alias']: {'status': '%s' % res}}) + test_result.update({case['test']['@alias']: {'status': '%s' % res}}) break print('Invalid input!') return test_result - def _create_write_dir(self): - basepath = os.environ['BUILDDIR'] - self.write_dir = basepath + '/tmp/log/manual/' + def _get_write_dir(self): + return os.environ['BUILDDIR'] + '/tmp/log/manual/' - def run_test(self, file): - self._get_testcases(file) - self._create_config() - self._create_result_id() - self._create_write_dir() + def run_test(self, case_file, config_options_file, testcase_config_file): + test_module = self._get_test_module(case_file) + cases = load_json_file(case_file) + config_options = {} + if config_options_file: + config_options = load_json_file(config_options_file) + configurations = self._get_config(config_options, test_module) + result_id = 'manual_%s_%s' % (test_module, configurations['STARTTIME']) test_results = {} - print('\nTotal number of test cases in this test suite: %s\n' % len(self.jdata)) - for t in self.jdata: - test_result = self._execute_test_steps(t) + if testcase_config_file: + test_case_config = load_json_file(testcase_config_file) + test_case_to_execute = test_case_config['testcases'] + for case in copy.deepcopy(cases) : + if case['test']['@alias'] not in test_case_to_execute: + cases.remove(case) + + print('\nTotal number of test cases in this test suite: %s\n' % len(cases)) + for c in cases: + test_result = self._execute_test_steps(c) test_results.update(test_result) - return self.configuration, self.result_id, self.write_dir, test_results + return configurations, result_id, self._get_write_dir(), test_results + + def _get_true_false_input(self, input_message): + yes_list = ['Y', 'YES'] + no_list = ['N', 'NO'] + while True: + more_config_option = input(input_message).upper() + if more_config_option in yes_list or more_config_option in no_list: + break + print('Invalid input!') + if more_config_option in no_list: + return False + return True + + def make_config_option_file(self, logger, case_file, config_options_file): + config_options = {} + if config_options_file: + config_options = load_json_file(config_options_file) + new_test_module = self._get_test_module(case_file) + print('Creating configuration options file for test module: %s' % new_test_module) + new_config_options = {} + + while True: + config_name = input('\nPlease provide test configuration to create:\n').upper() + new_config_options[config_name] = {} + while True: + config_value = self._get_input('Configuration possible option value') + config_option_index = len(new_config_options[config_name]) + 1 + new_config_options[config_name][config_option_index] = config_value + more_config_option = self._get_true_false_input('\nIs there more configuration option input: (Y)es/(N)o\n') + if not more_config_option: + break + more_config = self._get_true_false_input('\nIs there more configuration to create: (Y)es/(N)o\n') + if not more_config: + break + + if new_config_options: + config_options[new_test_module] = new_config_options + if not config_options_file: + config_options_file = os.path.join(self._get_write_dir(), 'manual_config_options.json') + write_json_file(config_options_file, config_options) + logger.info('Configuration option file created at %s' % config_options_file) def manualexecution(args, logger): testrunner = ManualTestRunner() - get_configuration, get_result_id, get_write_dir, get_test_results = testrunner.run_test(args.file) + if args.make_config_options_file: + testrunner.make_config_option_file(logger, args.file, args.config_options_file) + return 0 + configurations, result_id, write_dir, test_results = testrunner.run_test(args.file, args.config_options_file, args.testcase_config_file) resultjsonhelper = OETestResultJSONHelper() - resultjsonhelper.dump_testresult_file(get_write_dir, get_configuration, get_result_id, get_test_results) + resultjsonhelper.dump_testresult_file(write_dir, configurations, result_id, test_results) return 0 def register_commands(subparsers): @@ -125,3 +198,9 @@ def register_commands(subparsers): group='manualexecution') parser_build.set_defaults(func=manualexecution) parser_build.add_argument('file', help='specify path to manual test case JSON file.Note: Please use \"\" to encapsulate the file path.') + parser_build.add_argument('-c', '--config-options-file', default='', + help='the config options file to import and used as available configuration option selection or make config option file') + parser_build.add_argument('-m', '--make-config-options-file', action='store_true', + help='make the configuration options file based on provided inputs') + parser_build.add_argument('-t', '--testcase-config-file', default='', + help='the testcase configuration file to enable user to run a selected set of test case')
\ No newline at end of file diff --git a/poky/scripts/lib/resulttool/merge.py b/poky/scripts/lib/resulttool/merge.py index 3e4b7a38a..70d23a48f 100644 --- a/poky/scripts/lib/resulttool/merge.py +++ b/poky/scripts/lib/resulttool/merge.py @@ -3,21 +3,15 @@ # Copyright (c) 2019, Intel Corporation. # Copyright (c) 2019, Linux Foundation # -# This program is free software; you can redistribute it and/or modify it -# under the terms and conditions of the GNU General Public License, -# version 2, as published by the Free Software Foundation. -# -# This program is distributed in the hope it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for -# more details. +# SPDX-License-Identifier: GPL-2.0-only # + import os import json import resulttool.resultutils as resultutils def merge(args, logger): - if os.path.isdir(args.target_results): + if resultutils.is_url(args.target_results) or os.path.isdir(args.target_results): results = resultutils.load_resultsdata(args.target_results, configmap=resultutils.store_map) resultutils.append_resultsdata(results, args.base_results, configmap=resultutils.store_map) resultutils.save_resultsdata(results, args.target_results) @@ -31,12 +25,12 @@ def merge(args, logger): def register_commands(subparsers): """Register subcommands from this plugin""" - parser_build = subparsers.add_parser('merge', help='merge test result files/directories', - description='merge the results from multiple files/directories into the target file or directory', + parser_build = subparsers.add_parser('merge', help='merge test result files/directories/URLs', + description='merge the results from multiple files/directories/URLs into the target file or directory', group='setup') parser_build.set_defaults(func=merge) parser_build.add_argument('base_results', - help='the results file/directory to import') + help='the results file/directory/URL to import') parser_build.add_argument('target_results', help='the target file or directory to merge the base_results with') diff --git a/poky/scripts/lib/resulttool/regression.py b/poky/scripts/lib/resulttool/regression.py index bdf531ded..9f952951b 100644 --- a/poky/scripts/lib/resulttool/regression.py +++ b/poky/scripts/lib/resulttool/regression.py @@ -3,15 +3,9 @@ # Copyright (c) 2019, Intel Corporation. # Copyright (c) 2019, Linux Foundation # -# This program is free software; you can redistribute it and/or modify it -# under the terms and conditions of the GNU General Public License, -# version 2, as published by the Free Software Foundation. -# -# This program is distributed in the hope it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for -# more details. +# SPDX-License-Identifier: GPL-2.0-only # + import resulttool.resultutils as resultutils import json @@ -64,7 +58,7 @@ def regression_common(args, logger, base_results, target_results): if a in target_results: base = list(base_results[a].keys()) target = list(target_results[a].keys()) - # We may have multiple base/targets which are for different configurations. Start by + # We may have multiple base/targets which are for different configurations. Start by # removing any pairs which match for c in base.copy(): for b in target.copy(): @@ -161,9 +155,9 @@ def register_commands(subparsers): group='analysis') parser_build.set_defaults(func=regression) parser_build.add_argument('base_result', - help='base result file/directory for the comparison') + help='base result file/directory/URL for the comparison') parser_build.add_argument('target_result', - help='target result file/directory to compare with') + help='target result file/directory/URL to compare with') parser_build.add_argument('-b', '--base-result-id', default='', help='(optional) filter the base results to this result ID') parser_build.add_argument('-t', '--target-result-id', default='', diff --git a/poky/scripts/lib/resulttool/report.py b/poky/scripts/lib/resulttool/report.py index 90086209e..cb6b1cf94 100644 --- a/poky/scripts/lib/resulttool/report.py +++ b/poky/scripts/lib/resulttool/report.py @@ -3,15 +3,9 @@ # Copyright (c) 2019, Intel Corporation. # Copyright (c) 2019, Linux Foundation # -# This program is free software; you can redistribute it and/or modify it -# under the terms and conditions of the GNU General Public License, -# version 2, as published by the Free Software Foundation. -# -# This program is distributed in the hope it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for -# more details. +# SPDX-License-Identifier: GPL-2.0-only # + import os import glob import json @@ -23,6 +17,8 @@ import oeqa.utils.gitarchive as gitarchive class ResultsTextReport(object): def __init__(self): self.ptests = {} + self.ltptests = {} + self.ltpposixtests = {} self.result_types = {'passed': ['PASSED', 'passed'], 'failed': ['FAILED', 'failed', 'ERROR', 'error', 'UNKNOWN'], 'skipped': ['SKIPPED', 'skipped']} @@ -57,6 +53,69 @@ class ResultsTextReport(object): if status in self.result_types[tk]: self.ptests[suite][tk] += 1 + def handle_ltptest_result(self, k, status, result): + if k == 'ltpresult.sections': + # Ensure tests without any test results still show up on the report + for suite in result['ltpresult.sections']: + if suite not in self.ltptests: + self.ltptests[suite] = {'passed': 0, 'failed': 0, 'skipped': 0, 'duration' : '-', 'failed_testcases': []} + if 'duration' in result['ltpresult.sections'][suite]: + self.ltptests[suite]['duration'] = result['ltpresult.sections'][suite]['duration'] + if 'timeout' in result['ltpresult.sections'][suite]: + self.ltptests[suite]['duration'] += " T" + return + try: + _, suite, test = k.split(".", 2) + except ValueError: + return + # Handle 'glib-2.0' + if 'ltpresult.sections' in result and suite not in result['ltpresult.sections']: + try: + _, suite, suite1, test = k.split(".", 3) + print("split2: %s %s %s" % (suite, suite1, test)) + if suite + "." + suite1 in result['ltpresult.sections']: + suite = suite + "." + suite1 + except ValueError: + pass + if suite not in self.ltptests: + self.ltptests[suite] = {'passed': 0, 'failed': 0, 'skipped': 0, 'duration' : '-', 'failed_testcases': []} + for tk in self.result_types: + if status in self.result_types[tk]: + self.ltptests[suite][tk] += 1 + + def handle_ltpposixtest_result(self, k, status, result): + if k == 'ltpposixresult.sections': + # Ensure tests without any test results still show up on the report + for suite in result['ltpposixresult.sections']: + if suite not in self.ltpposixtests: + self.ltpposixtests[suite] = {'passed': 0, 'failed': 0, 'skipped': 0, 'duration' : '-', 'failed_testcases': []} + if 'duration' in result['ltpposixresult.sections'][suite]: + self.ltpposixtests[suite]['duration'] = result['ltpposixresult.sections'][suite]['duration'] + return + try: + _, suite, test = k.split(".", 2) + except ValueError: + return + # Handle 'glib-2.0' + if 'ltpposixresult.sections' in result and suite not in result['ltpposixresult.sections']: + try: + _, suite, suite1, test = k.split(".", 3) + if suite + "." + suite1 in result['ltpposixresult.sections']: + suite = suite + "." + suite1 + except ValueError: + pass + if suite not in self.ltpposixtests: + self.ltpposixtests[suite] = {'passed': 0, 'failed': 0, 'skipped': 0, 'duration' : '-', 'failed_testcases': []} + for tk in self.result_types: + if status in self.result_types[tk]: + self.ltpposixtests[suite][tk] += 1 + + def get_aggregated_test_result(self, logger, testresult): + test_count_report = {'passed': 0, 'failed': 0, 'skipped': 0, 'failed_testcases': []} + def get_aggregated_test_result(self, logger, testresult): + test_count_report = {'passed': 0, 'failed': 0, 'skipped': 0, 'failed_testcases': []} + def get_aggregated_test_result(self, logger, testresult): + test_count_report = {'passed': 0, 'failed': 0, 'skipped': 0, 'failed_testcases': []} def get_aggregated_test_result(self, logger, testresult): test_count_report = {'passed': 0, 'failed': 0, 'skipped': 0, 'failed_testcases': []} result = testresult.get('result', []) @@ -69,6 +128,10 @@ class ResultsTextReport(object): test_count_report['failed_testcases'].append(k) if k.startswith("ptestresult."): self.handle_ptest_result(k, test_status, result) + if k.startswith("ltpresult."): + self.handle_ltptest_result(k, test_status, result) + if k.startswith("ltpposixresult."): + self.handle_ltpposixtest_result(k, test_status, result) return test_count_report def print_test_report(self, template_file_name, test_count_reports): @@ -79,9 +142,11 @@ class ResultsTextReport(object): template = env.get_template(template_file_name) havefailed = False haveptest = bool(self.ptests) + haveltp = bool(self.ltptests) + haveltpposix = bool(self.ltpposixtests) reportvalues = [] cols = ['passed', 'failed', 'skipped'] - maxlen = {'passed' : 0, 'failed' : 0, 'skipped' : 0, 'result_id': 0, 'testseries' : 0, 'ptest' : 0 } + maxlen = {'passed' : 0, 'failed' : 0, 'skipped' : 0, 'result_id': 0, 'testseries' : 0, 'ptest' : 0 ,'ltptest': 0, 'ltpposixtest': 0} for line in test_count_reports: total_tested = line['passed'] + line['failed'] + line['skipped'] vals = {} @@ -100,10 +165,20 @@ class ResultsTextReport(object): for ptest in self.ptests: if len(ptest) > maxlen['ptest']: maxlen['ptest'] = len(ptest) + for ltptest in self.ltptests: + if len(ltptest) > maxlen['ltptest']: + maxlen['ltptest'] = len(ltptest) + for ltpposixtest in self.ltpposixtests: + if len(ltpposixtest) > maxlen['ltpposixtest']: + maxlen['ltpposixtest'] = len(ltpposixtest) output = template.render(reportvalues=reportvalues, havefailed=havefailed, haveptest=haveptest, ptests=self.ptests, + haveltp=haveltp, + haveltpposix=haveltpposix, + ltptests=self.ltptests, + ltpposixtests=self.ltpposixtests, maxlen=maxlen) print(output) @@ -143,7 +218,7 @@ def register_commands(subparsers): group='analysis') parser_build.set_defaults(func=report) parser_build.add_argument('source_dir', - help='source file/directory that contain the test result files to summarise') + help='source file/directory/URL that contain the test result files to summarise') parser_build.add_argument('--branch', '-B', default='master', help="Branch to find commit in") parser_build.add_argument('--commit', help="Revision to report") parser_build.add_argument('-t', '--tag', default='', diff --git a/poky/scripts/lib/resulttool/resultutils.py b/poky/scripts/lib/resulttool/resultutils.py index ad40ac849..ea4ab42d9 100644 --- a/poky/scripts/lib/resulttool/resultutils.py +++ b/poky/scripts/lib/resulttool/resultutils.py @@ -3,19 +3,15 @@ # Copyright (c) 2019, Intel Corporation. # Copyright (c) 2019, Linux Foundation # -# This program is free software; you can redistribute it and/or modify it -# under the terms and conditions of the GNU General Public License, -# version 2, as published by the Free Software Foundation. -# -# This program is distributed in the hope it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for -# more details. +# SPDX-License-Identifier: GPL-2.0-only # + import os import json import scriptpath import copy +import urllib.request +import posixpath scriptpath.add_oe_lib_path() flatten_map = { @@ -40,20 +36,33 @@ store_map = { "manual": ['TEST_TYPE', 'TEST_MODULE', 'MACHINE', 'IMAGE_BASENAME'] } +def is_url(p): + """ + Helper for determining if the given path is a URL + """ + return p.startswith('http://') or p.startswith('https://') + # # Load the json file and append the results data into the provided results dict # def append_resultsdata(results, f, configmap=store_map): if type(f) is str: - with open(f, "r") as filedata: - data = json.load(filedata) + if is_url(f): + with urllib.request.urlopen(f) as response: + data = json.loads(response.read().decode('utf-8')) + url = urllib.parse.urlparse(f) + testseries = posixpath.basename(posixpath.dirname(url.path)) + else: + with open(f, "r") as filedata: + data = json.load(filedata) + testseries = os.path.basename(os.path.dirname(f)) else: data = f for res in data: if "configuration" not in data[res] or "result" not in data[res]: raise ValueError("Test results data without configuration or result section?") if "TESTSERIES" not in data[res]["configuration"]: - data[res]["configuration"]["TESTSERIES"] = os.path.basename(os.path.dirname(f)) + data[res]["configuration"]["TESTSERIES"] = testseries testtype = data[res]["configuration"].get("TEST_TYPE") if testtype not in configmap: raise ValueError("Unknown test type %s" % testtype) @@ -69,7 +78,7 @@ def append_resultsdata(results, f, configmap=store_map): # def load_resultsdata(source, configmap=store_map): results = {} - if os.path.isfile(source): + if is_url(source) or os.path.isfile(source): append_resultsdata(results, source, configmap) return results for root, dirs, files in os.walk(source): @@ -152,3 +161,19 @@ def git_get_result(repo, tags): append_resultsdata(results, obj) return results + +def test_run_results(results): + """ + Convenient generator function that iterates over all test runs that have a + result section. + + Generates a tuple of: + (result json file path, test run name, test run (dict), test run "results" (dict)) + for each test run that has a "result" section + """ + for path in results: + for run_name, test_run in results[path].items(): + if not 'result' in test_run: + continue + yield path, run_name, test_run, test_run['result'] + diff --git a/poky/scripts/lib/resulttool/store.py b/poky/scripts/lib/resulttool/store.py index e4a080752..06505aecc 100644 --- a/poky/scripts/lib/resulttool/store.py +++ b/poky/scripts/lib/resulttool/store.py @@ -3,15 +3,9 @@ # Copyright (c) 2019, Intel Corporation. # Copyright (c) 2019, Linux Foundation # -# This program is free software; you can redistribute it and/or modify it -# under the terms and conditions of the GNU General Public License, -# version 2, as published by the Free Software Foundation. -# -# This program is distributed in the hope it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for -# more details. +# SPDX-License-Identifier: GPL-2.0-only # + import tempfile import os import subprocess @@ -29,7 +23,7 @@ def store(args, logger): try: results = {} logger.info('Reading files from %s' % args.source) - if os.path.isfile(args.source): + if resultutils.is_url(args.source) or os.path.isfile(args.source): resultutils.append_resultsdata(results, args.source) else: for root, dirs, files in os.walk(args.source): @@ -92,7 +86,7 @@ def register_commands(subparsers): group='setup') parser_build.set_defaults(func=store) parser_build.add_argument('source', - help='source file or directory that contain the test result files to be stored') + help='source file/directory/URL that contain the test result files to be stored') parser_build.add_argument('git_dir', help='the location of the git repository to store the results in') parser_build.add_argument('-a', '--all', action='store_true', diff --git a/poky/scripts/lib/resulttool/template/test_report_full_text.txt b/poky/scripts/lib/resulttool/template/test_report_full_text.txt index 590f35c7d..d2725b8d0 100644 --- a/poky/scripts/lib/resulttool/template/test_report_full_text.txt +++ b/poky/scripts/lib/resulttool/template/test_report_full_text.txt @@ -25,6 +25,40 @@ PTest Result Summary There was no ptest data {% endif %} +{% if haveltp %} +============================================================================================================== +Ltp Test Result Summary +============================================================================================================== +-------------------------------------------------------------------------------------------------------------- +{{ 'Recipe'.ljust(maxlen['ltptest']) }} | {{ 'Passed'.ljust(maxlen['passed']) }} | {{ 'Failed'.ljust(maxlen['failed']) }} | {{ 'Skipped'.ljust(maxlen['skipped']) }} | {{ 'Time(s)'.ljust(10) }} +-------------------------------------------------------------------------------------------------------------- +{% for ltptest in ltptests |sort %} +{{ ltptest.ljust(maxlen['ltptest']) }} | {{ (ltptests[ltptest]['passed']|string).ljust(maxlen['passed']) }} | {{ (ltptests[ltptest]['failed']|string).ljust(maxlen['failed']) }} | {{ (ltptests[ltptest]['skipped']|string).ljust(maxlen['skipped']) }} | {{ (ltptests[ltptest]['duration']|string) }} +{% endfor %} +-------------------------------------------------------------------------------------------------------------- + +{% else %} +There was no LTP Test data +{% endif %} + +{% if haveltpposix %} +============================================================================================================== +Ltp Posix Result Summary +============================================================================================================== +-------------------------------------------------------------------------------------------------------------- +{{ 'Recipe'.ljust(maxlen['ltpposixtest']) }} | {{ 'Passed'.ljust(maxlen['passed']) }} | {{ 'Failed'.ljust(maxlen['failed']) }} | {{ 'Skipped'.ljust(maxlen['skipped']) }} | {{ 'Time(s)'.ljust(10) }} +-------------------------------------------------------------------------------------------------------------- +{% for ltpposixtest in ltpposixtests |sort %} +{{ ltpposixtest.ljust(maxlen['ltpposixtest']) }} | {{ (ltpposixtests[ltpposixtest]['passed']|string).ljust(maxlen['passed']) }} | {{ (ltpposixtests[ltpposixtest]['failed']|string).ljust(maxlen['failed']) }} | {{ (ltpposixtests[ltpposixtest]['skipped']|string).ljust(maxlen['skipped']) }} | {{ (ltpposixtests[ltpposixtest]['duration']|string) }} +{% endfor %} +-------------------------------------------------------------------------------------------------------------- + +{% else %} +There was no LTP Posix Test data +{% endif %} + + + ============================================================================================================== Failed test cases (sorted by testseries, ID) ============================================================================================================== diff --git a/poky/scripts/lib/scriptpath.py b/poky/scripts/lib/scriptpath.py index d00317e18..f32326db3 100644 --- a/poky/scripts/lib/scriptpath.py +++ b/poky/scripts/lib/scriptpath.py @@ -3,18 +3,8 @@ # Copyright (C) 2012-2014 Intel Corporation # Copyright (C) 2011 Mentor Graphics Corporation # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. import sys import os diff --git a/poky/scripts/lib/scriptutils.py b/poky/scripts/lib/scriptutils.py index 0633c7066..e7e7021c2 100644 --- a/poky/scripts/lib/scriptutils.py +++ b/poky/scripts/lib/scriptutils.py @@ -2,18 +2,8 @@ # # Copyright (C) 2014 Intel Corporation # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. import argparse import glob diff --git a/poky/scripts/lib/wic/__init__.py b/poky/scripts/lib/wic/__init__.py index 85876b138..ba2d61406 100644 --- a/poky/scripts/lib/wic/__init__.py +++ b/poky/scripts/lib/wic/__init__.py @@ -3,18 +3,8 @@ # Copyright (c) 2007 Red Hat, Inc. # Copyright (c) 2011 Intel, Inc. # -# This program is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by the Free -# Software Foundation; version 2 of the License +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., 59 -# Temple Place - Suite 330, Boston, MA 02111-1307, USA. class WicError(Exception): pass diff --git a/poky/scripts/lib/wic/engine.py b/poky/scripts/lib/wic/engine.py index ab33fa604..42e93c3eb 100644 --- a/poky/scripts/lib/wic/engine.py +++ b/poky/scripts/lib/wic/engine.py @@ -1,21 +1,7 @@ -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- # # Copyright (c) 2013, Intel Corporation. -# All rights reserved. # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +# SPDX-License-Identifier: GPL-2.0-only # # DESCRIPTION diff --git a/poky/scripts/lib/wic/filemap.py b/poky/scripts/lib/wic/filemap.py index abbf958b8..244c07a71 100644 --- a/poky/scripts/lib/wic/filemap.py +++ b/poky/scripts/lib/wic/filemap.py @@ -1,13 +1,8 @@ +# # Copyright (c) 2012 Intel, Inc. # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License, version 2, -# as published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. """ This module implements python implements a way to get file block. Two methods diff --git a/poky/scripts/lib/wic/help.py b/poky/scripts/lib/wic/help.py index 64f08052c..3a40fc0ea 100644 --- a/poky/scripts/lib/wic/help.py +++ b/poky/scripts/lib/wic/help.py @@ -1,21 +1,6 @@ -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- -# # Copyright (c) 2013, Intel Corporation. -# All rights reserved. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. # -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +# SPDX-License-Identifier: GPL-2.0-only # # DESCRIPTION # This module implements some basic help invocation functions along diff --git a/poky/scripts/lib/wic/ksparser.py b/poky/scripts/lib/wic/ksparser.py index 08baf7612..62048213b 100644 --- a/poky/scripts/lib/wic/ksparser.py +++ b/poky/scripts/lib/wic/ksparser.py @@ -1,21 +1,8 @@ #!/usr/bin/env python -tt -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- # # Copyright (c) 2016 Intel, Inc. # -# This program is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by the Free -# Software Foundation; version 2 of the License -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., 59 -# Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# SPDX-License-Identifier: GPL-2.0-only # # DESCRIPTION # This module provides parser for kickstart format diff --git a/poky/scripts/lib/wic/misc.py b/poky/scripts/lib/wic/misc.py index ee888b478..1f199b9f2 100644 --- a/poky/scripts/lib/wic/misc.py +++ b/poky/scripts/lib/wic/misc.py @@ -1,21 +1,7 @@ -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- # # Copyright (c) 2013, Intel Corporation. -# All rights reserved. # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +# SPDX-License-Identifier: GPL-2.0-only # # DESCRIPTION # This module provides a place to collect various wic-related utils diff --git a/poky/scripts/lib/wic/partition.py b/poky/scripts/lib/wic/partition.py index ca206ece0..01466b258 100644 --- a/poky/scripts/lib/wic/partition.py +++ b/poky/scripts/lib/wic/partition.py @@ -1,21 +1,7 @@ -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- # # Copyright (c) 2013-2016 Intel Corporation. -# All rights reserved. # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +# SPDX-License-Identifier: GPL-2.0-only # # DESCRIPTION # This module provides the OpenEmbedded partition object definitions. @@ -322,7 +308,7 @@ class Partition(): dosfs_cmd = "mkdosfs %s -i %s %s %s -C %s %d" % \ (label_str, self.fsuuid, size_str, extraopts, rootfs, - max(8250, rootfs_size)) + rootfs_size) exec_native_cmd(dosfs_cmd, native_sysroot) mcopy_cmd = "mcopy -i %s -s %s/* ::/" % (rootfs, rootfs_dir) diff --git a/poky/scripts/lib/wic/pluginbase.py b/poky/scripts/lib/wic/pluginbase.py index 686d2fee3..bfb73ca61 100644 --- a/poky/scripts/lib/wic/pluginbase.py +++ b/poky/scripts/lib/wic/pluginbase.py @@ -2,18 +2,8 @@ # # Copyright (c) 2011 Intel, Inc. # -# This program is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by the Free -# Software Foundation; version 2 of the License +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., 59 -# Temple Place - Suite 330, Boston, MA 02111-1307, USA. __all__ = ['ImagerPlugin', 'SourcePlugin'] diff --git a/poky/scripts/lib/wic/plugins/imager/direct.py b/poky/scripts/lib/wic/plugins/imager/direct.py index bb14a334b..67addeff3 100644 --- a/poky/scripts/lib/wic/plugins/imager/direct.py +++ b/poky/scripts/lib/wic/plugins/imager/direct.py @@ -1,21 +1,7 @@ -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- # # Copyright (c) 2013, Intel Corporation. -# All rights reserved. # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +# SPDX-License-Identifier: GPL-2.0-only # # DESCRIPTION # This implements the 'direct' imager plugin class for 'wic' diff --git a/poky/scripts/lib/wic/plugins/source/bootimg-efi.py b/poky/scripts/lib/wic/plugins/source/bootimg-efi.py index 83a7e189e..652323fa7 100644 --- a/poky/scripts/lib/wic/plugins/source/bootimg-efi.py +++ b/poky/scripts/lib/wic/plugins/source/bootimg-efi.py @@ -1,21 +1,7 @@ -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- # # Copyright (c) 2014, Intel Corporation. -# All rights reserved. # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +# SPDX-License-Identifier: GPL-2.0-only # # DESCRIPTION # This implements the 'bootimg-efi' source plugin class for 'wic' @@ -258,8 +244,10 @@ class BootimgEFIPlugin(SourcePlugin): # dosfs image, created by mkdosfs bootimg = "%s/boot.img" % cr_workdir - dosfs_cmd = "mkdosfs -n efi -i %s -C %s %d" % \ - (part.fsuuid, bootimg, blocks) + label = part.label if part.label else "ESP" + + dosfs_cmd = "mkdosfs -n %s -i %s -C %s %d" % \ + (label, part.fsuuid, bootimg, blocks) exec_native_cmd(dosfs_cmd, native_sysroot) mcopy_cmd = "mcopy -i %s -s %s/* ::/" % (bootimg, hdddir) diff --git a/poky/scripts/lib/wic/plugins/source/bootimg-partition.py b/poky/scripts/lib/wic/plugins/source/bootimg-partition.py index ddc880be3..138986a71 100644 --- a/poky/scripts/lib/wic/plugins/source/bootimg-partition.py +++ b/poky/scripts/lib/wic/plugins/source/bootimg-partition.py @@ -1,18 +1,5 @@ -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +# SPDX-License-Identifier: GPL-2.0-only # # DESCRIPTION # This implements the 'bootimg-partition' source plugin class for diff --git a/poky/scripts/lib/wic/plugins/source/bootimg-pcbios.py b/poky/scripts/lib/wic/plugins/source/bootimg-pcbios.py index 9347aa7fc..6c9f54a89 100644 --- a/poky/scripts/lib/wic/plugins/source/bootimg-pcbios.py +++ b/poky/scripts/lib/wic/plugins/source/bootimg-pcbios.py @@ -1,21 +1,7 @@ -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- # # Copyright (c) 2014, Intel Corporation. -# All rights reserved. # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +# SPDX-License-Identifier: GPL-2.0-only # # DESCRIPTION # This implements the 'bootimg-pcbios' source plugin class for 'wic' diff --git a/poky/scripts/lib/wic/plugins/source/isoimage-isohybrid.py b/poky/scripts/lib/wic/plugins/source/isoimage-isohybrid.py index 170077c22..96d07ff62 100644 --- a/poky/scripts/lib/wic/plugins/source/isoimage-isohybrid.py +++ b/poky/scripts/lib/wic/plugins/source/isoimage-isohybrid.py @@ -1,18 +1,5 @@ -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. # -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +# SPDX-License-Identifier: GPL-2.0-only # # DESCRIPTION # This implements the 'isoimage-isohybrid' source plugin class for 'wic' diff --git a/poky/scripts/lib/wic/plugins/source/rawcopy.py b/poky/scripts/lib/wic/plugins/source/rawcopy.py index e86398ac8..df86d6729 100644 --- a/poky/scripts/lib/wic/plugins/source/rawcopy.py +++ b/poky/scripts/lib/wic/plugins/source/rawcopy.py @@ -1,18 +1,5 @@ -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +# SPDX-License-Identifier: GPL-2.0-only # import logging diff --git a/poky/scripts/lib/wic/plugins/source/rootfs.py b/poky/scripts/lib/wic/plugins/source/rootfs.py index aec720fb2..e26e95b99 100644 --- a/poky/scripts/lib/wic/plugins/source/rootfs.py +++ b/poky/scripts/lib/wic/plugins/source/rootfs.py @@ -1,21 +1,7 @@ -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- # # Copyright (c) 2014, Intel Corporation. -# All rights reserved. # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +# SPDX-License-Identifier: GPL-2.0-only # # DESCRIPTION # This implements the 'rootfs' source plugin class for 'wic' diff --git a/poky/scripts/lnr b/poky/scripts/lnr index 5fed780eb..a2ac4fec0 100755 --- a/poky/scripts/lnr +++ b/poky/scripts/lnr @@ -1,4 +1,7 @@ #! /usr/bin/env python3 +# +# SPDX-License-Identifier: GPL-2.0-only +# # Create a *relative* symlink, just like ln --relative does but without needing # coreutils 8.16. diff --git a/poky/scripts/multilib_header_wrapper.h b/poky/scripts/multilib_header_wrapper.h index 482479078..c81e7ee5e 100644 --- a/poky/scripts/multilib_header_wrapper.h +++ b/poky/scripts/multilib_header_wrapper.h @@ -1,23 +1,7 @@ /* * Copyright (C) 2005-2011 by Wind River Systems, Inc. * - * 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. + * SPDX-License-Identifier: MIT * */ diff --git a/poky/scripts/native-intercept/chown b/poky/scripts/native-intercept/chown index 4f43271c2..399c979f9 100755 --- a/poky/scripts/native-intercept/chown +++ b/poky/scripts/native-intercept/chown @@ -1,2 +1,5 @@ #! /bin/sh +# +# SPDX-License-Identifier: GPL-2.0-only +# echo "Intercept $0: $@ -- do nothing" diff --git a/poky/scripts/oe-build-perf-report b/poky/scripts/oe-build-perf-report index f6fb458c2..21bde7e15 100755 --- a/poky/scripts/oe-build-perf-report +++ b/poky/scripts/oe-build-perf-report @@ -4,15 +4,9 @@ # # Copyright (c) 2017, Intel Corporation. # -# This program is free software; you can redistribute it and/or modify it -# under the terms and conditions of the GNU General Public License, -# version 2, as published by the Free Software Foundation. -# -# This program is distributed in the hope it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for -# more details. +# SPDX-License-Identifier: GPL-2.0-only # + import argparse import json import logging diff --git a/poky/scripts/oe-build-perf-test b/poky/scripts/oe-build-perf-test index 669470fa9..0b13f2488 100755 --- a/poky/scripts/oe-build-perf-test +++ b/poky/scripts/oe-build-perf-test @@ -4,16 +4,9 @@ # # Copyright (c) 2016, Intel Corporation. # -# This program is free software; you can redistribute it and/or modify it -# under the terms and conditions of the GNU General Public License, -# version 2, as published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for -# more details. -# -"""Build performance test script""" + import argparse import errno import fcntl diff --git a/poky/scripts/oe-buildenv-internal b/poky/scripts/oe-buildenv-internal index 52ce32987..96bb0c3dc 100755 --- a/poky/scripts/oe-buildenv-internal +++ b/poky/scripts/oe-buildenv-internal @@ -4,19 +4,8 @@ # # Copyright (C) 2006-2011 Linux Foundation # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. +# SPDX-License-Identifier: GPL-2.0-or-later # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA if ! $(return >/dev/null 2>&1) ; then echo 'oe-buildenv-internal: error: this script must be sourced' diff --git a/poky/scripts/oe-check-sstate b/poky/scripts/oe-check-sstate index d06efe436..ca249ca67 100755 --- a/poky/scripts/oe-check-sstate +++ b/poky/scripts/oe-check-sstate @@ -5,18 +5,8 @@ # Copyright 2016 Intel Corporation # Authored-by: Paul Eggleton <paul.eggleton@intel.com> # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. import sys import os diff --git a/poky/scripts/oe-depends-dot b/poky/scripts/oe-depends-dot index 6c7e9d338..5eb3e1276 100755 --- a/poky/scripts/oe-depends-dot +++ b/poky/scripts/oe-depends-dot @@ -2,18 +2,8 @@ # # Copyright (C) 2018 Wind River Systems, Inc. # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# See the GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA import os import sys diff --git a/poky/scripts/oe-find-native-sysroot b/poky/scripts/oe-find-native-sysroot index cc146b3fd..5146bbf99 100755 --- a/poky/scripts/oe-find-native-sysroot +++ b/poky/scripts/oe-find-native-sysroot @@ -17,18 +17,8 @@ # # Copyright (c) 2010 Linux Foundation # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. if [ "$1" = '--help' -o "$1" = '-h' -o $# -ne 1 ] ; then echo 'Usage: oe-find-native-sysroot <recipe> [-h|--help]' diff --git a/poky/scripts/oe-git-archive b/poky/scripts/oe-git-archive index ab1c2b9ad..9305ed0b0 100755 --- a/poky/scripts/oe-git-archive +++ b/poky/scripts/oe-git-archive @@ -4,15 +4,9 @@ # # Copyright (c) 2017, Intel Corporation. # -# This program is free software; you can redistribute it and/or modify it -# under the terms and conditions of the GNU General Public License, -# version 2, as published by the Free Software Foundation. -# -# This program is distributed in the hope it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for -# more details. +# SPDX-License-Identifier: GPL-2.0-only # + import argparse import logging import os diff --git a/poky/scripts/oe-git-proxy b/poky/scripts/oe-git-proxy index 1800942f3..bb2ed2a46 100755 --- a/poky/scripts/oe-git-proxy +++ b/poky/scripts/oe-git-proxy @@ -13,7 +13,8 @@ # ALL_PROXY=https://proxy.example.com:8080 # # Copyright (c) 2013, Intel Corporation. -# All rights reserved. +# +# SPDX-License-Identifier: GPL-2.0-only # # AUTHORS # Darren Hart <dvhart@linux.intel.com> diff --git a/poky/scripts/oe-gnome-terminal-phonehome b/poky/scripts/oe-gnome-terminal-phonehome index e02354883..b6b9a3867 100755 --- a/poky/scripts/oe-gnome-terminal-phonehome +++ b/poky/scripts/oe-gnome-terminal-phonehome @@ -1,5 +1,7 @@ #!/bin/sh # +# SPDX-License-Identifier: GPL-2.0-only +# # Gnome terminal won't tell us which PID a given command is run as # or allow a single instance so we can't tell when it completes. # This allows us to figure out the PID of the target so we can tell diff --git a/poky/scripts/oe-pkgdata-util b/poky/scripts/oe-pkgdata-util index 53739b0bf..9cc78d110 100755 --- a/poky/scripts/oe-pkgdata-util +++ b/poky/scripts/oe-pkgdata-util @@ -6,18 +6,7 @@ # # Copyright 2012-2015 Intel Corporation # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +# SPDX-License-Identifier: GPL-2.0-only # import sys diff --git a/poky/scripts/oe-publish-sdk b/poky/scripts/oe-publish-sdk index ee33acf90..4b70f436b 100755 --- a/poky/scripts/oe-publish-sdk +++ b/poky/scripts/oe-publish-sdk @@ -1,21 +1,11 @@ #!/usr/bin/env python3 - +# # OpenEmbedded SDK publishing tool - -# Copyright (C) 2015-2016 Intel Corporation # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# Copyright (C) 2015-2016 Intel Corporation # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. +# SPDX-License-Identifier: GPL-2.0-only # -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. import sys import os diff --git a/poky/scripts/oe-pylint b/poky/scripts/oe-pylint index 74ff4b884..7cc1ccb01 100755 --- a/poky/scripts/oe-pylint +++ b/poky/scripts/oe-pylint @@ -1,5 +1,7 @@ #!/bin/bash # +# SPDX-License-Identifier: GPL-2.0-only +# # Run the pylint3 against our common python module spaces and print a report of potential issues # this_dir=$(dirname $(readlink -f $0)) diff --git a/poky/scripts/oe-run-native b/poky/scripts/oe-run-native index a29e99438..bea5d696d 100755 --- a/poky/scripts/oe-run-native +++ b/poky/scripts/oe-run-native @@ -1,20 +1,8 @@ #!/bin/bash # # Copyright (c) 2016, Intel Corporation. -# All Rights Reserved # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See -# the GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, see <http://www.gnu.org/licenses/> +# SPDX-License-Identifier: GPL-2.0-or-later # # diff --git a/poky/scripts/oe-selftest b/poky/scripts/oe-selftest index 1bf860a41..57662b2f7 100755 --- a/poky/scripts/oe-selftest +++ b/poky/scripts/oe-selftest @@ -2,18 +2,8 @@ # Copyright (c) 2013-2017 Intel Corporation # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. # DESCRIPTION # This script runs tests defined in meta/lib/oeqa/selftest/ diff --git a/poky/scripts/oe-setup-builddir b/poky/scripts/oe-setup-builddir index 55d73ca1e..30eaa8efb 100755 --- a/poky/scripts/oe-setup-builddir +++ b/poky/scripts/oe-setup-builddir @@ -4,19 +4,8 @@ # # Copyright (C) 2006-2011 Linux Foundation # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. +# SPDX-License-Identifier: GPL-2.0-or-later # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA if [ -z "$BUILDDIR" ]; then echo >&2 "Error: The build directory (BUILDDIR) must be set!" diff --git a/poky/scripts/oe-test b/poky/scripts/oe-test index 34d9012d1..55985b0b2 100755 --- a/poky/scripts/oe-test +++ b/poky/scripts/oe-test @@ -3,7 +3,9 @@ # OpenEmbedded test tool # # Copyright (C) 2016 Intel Corporation -# Released under the MIT license (see COPYING.MIT) +# +# SPDX-License-Identifier: MIT +# import os import sys diff --git a/poky/scripts/oe-trim-schemas b/poky/scripts/oe-trim-schemas index 7c199ef1d..bf77c8cf6 100755 --- a/poky/scripts/oe-trim-schemas +++ b/poky/scripts/oe-trim-schemas @@ -1,4 +1,7 @@ #! /usr/bin/env python3 +# +# SPDX-License-Identifier: GPL-2.0-only +# import sys try: diff --git a/poky/scripts/oepydevshell-internal.py b/poky/scripts/oepydevshell-internal.py index 2f7d5d433..96c078ef3 100755 --- a/poky/scripts/oepydevshell-internal.py +++ b/poky/scripts/oepydevshell-internal.py @@ -1,4 +1,7 @@ #!/usr/bin/env python3 +# +# SPDX-License-Identifier: GPL-2.0-only +# import os import sys diff --git a/poky/scripts/opkg-query-helper.py b/poky/scripts/opkg-query-helper.py index ce89491f6..bc3ab4382 100755 --- a/poky/scripts/opkg-query-helper.py +++ b/poky/scripts/opkg-query-helper.py @@ -6,21 +6,8 @@ # # Copyright 2012 Intel Corporation # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -# -# - import sys import fileinput diff --git a/poky/scripts/postinst-intercepts/delay_to_first_boot b/poky/scripts/postinst-intercepts/delay_to_first_boot index ecdbef95d..fa8e1caaf 100644 --- a/poky/scripts/postinst-intercepts/delay_to_first_boot +++ b/poky/scripts/postinst-intercepts/delay_to_first_boot @@ -1,2 +1,6 @@ #!/bin/sh +# +# SPDX-License-Identifier: MIT +# + exit 1 diff --git a/poky/scripts/postinst-intercepts/postinst_intercept b/poky/scripts/postinst-intercepts/postinst_intercept index b18e806d4..b91974c88 100755 --- a/poky/scripts/postinst-intercepts/postinst_intercept +++ b/poky/scripts/postinst-intercepts/postinst_intercept @@ -1,5 +1,7 @@ #!/bin/sh # +# SPDX-License-Identifier: MIT +# # This script is called from inside postinstall scriptlets at do_rootfs time. It # actually adds, at the end, the list of packages for which the intercept script # is valid. Also, if one wants to pass any variables to the intercept script from diff --git a/poky/scripts/postinst-intercepts/update_font_cache b/poky/scripts/postinst-intercepts/update_font_cache index e0ec47196..3053c7065 100644 --- a/poky/scripts/postinst-intercepts/update_font_cache +++ b/poky/scripts/postinst-intercepts/update_font_cache @@ -1,4 +1,7 @@ #!/bin/sh +# +# SPDX-License-Identifier: MIT +# set -e diff --git a/poky/scripts/postinst-intercepts/update_gio_module_cache b/poky/scripts/postinst-intercepts/update_gio_module_cache index d1f014094..c87fa85db 100644 --- a/poky/scripts/postinst-intercepts/update_gio_module_cache +++ b/poky/scripts/postinst-intercepts/update_gio_module_cache @@ -1,4 +1,7 @@ #!/bin/sh +# +# SPDX-License-Identifier: MIT +# set -e diff --git a/poky/scripts/postinst-intercepts/update_gtk_immodules_cache b/poky/scripts/postinst-intercepts/update_gtk_immodules_cache index 395516971..9f07ccca6 100644 --- a/poky/scripts/postinst-intercepts/update_gtk_immodules_cache +++ b/poky/scripts/postinst-intercepts/update_gtk_immodules_cache @@ -1,4 +1,7 @@ #!/bin/sh +# +# SPDX-License-Identifier: MIT +# set -e diff --git a/poky/scripts/postinst-intercepts/update_icon_cache b/poky/scripts/postinst-intercepts/update_icon_cache index 9cf2a72a0..212209a9d 100644 --- a/poky/scripts/postinst-intercepts/update_icon_cache +++ b/poky/scripts/postinst-intercepts/update_icon_cache @@ -1,4 +1,7 @@ #!/bin/sh +# +# SPDX-License-Identifier: MIT +# set -e diff --git a/poky/scripts/postinst-intercepts/update_pixbuf_cache b/poky/scripts/postinst-intercepts/update_pixbuf_cache index ebea07c35..ea1281447 100644 --- a/poky/scripts/postinst-intercepts/update_pixbuf_cache +++ b/poky/scripts/postinst-intercepts/update_pixbuf_cache @@ -1,4 +1,7 @@ #!/bin/sh +# +# SPDX-License-Identifier: MIT +# set -e diff --git a/poky/scripts/postinst-intercepts/update_udev_hwdb b/poky/scripts/postinst-intercepts/update_udev_hwdb index b5cce0a09..c4fb2bffc 100644 --- a/poky/scripts/postinst-intercepts/update_udev_hwdb +++ b/poky/scripts/postinst-intercepts/update_udev_hwdb @@ -1,4 +1,7 @@ #!/bin/sh +# +# SPDX-License-Identifier: MIT +# set -e diff --git a/poky/scripts/pybootchartgui/pybootchartgui.py b/poky/scripts/pybootchartgui/pybootchartgui.py index 7ce1a5be4..1c4062b42 100755 --- a/poky/scripts/pybootchartgui/pybootchartgui.py +++ b/poky/scripts/pybootchartgui/pybootchartgui.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 # # This file is part of pybootchartgui. diff --git a/poky/scripts/pybootchartgui/pybootchartgui/draw.py b/poky/scripts/pybootchartgui/pybootchartgui/draw.py index 201ce4577..add5c5388 100644 --- a/poky/scripts/pybootchartgui/pybootchartgui/draw.py +++ b/poky/scripts/pybootchartgui/pybootchartgui/draw.py @@ -19,22 +19,23 @@ import math import re import random import colorsys +import functools from operator import itemgetter class RenderOptions: - def __init__(self, app_options): - # should we render a cumulative CPU time chart - self.cumulative = True - self.charts = True - self.kernel_only = False - self.app_options = app_options + def __init__(self, app_options): + # should we render a cumulative CPU time chart + self.cumulative = True + self.charts = True + self.kernel_only = False + self.app_options = app_options - def proc_tree (self, trace): - if self.kernel_only: - return trace.kernel_tree - else: - return trace.proc_tree + def proc_tree (self, trace): + if self.kernel_only: + return trace.kernel_tree + else: + return trace.proc_tree # Process tree background color. BACK_COLOR = (1.0, 1.0, 1.0, 1.0) @@ -136,11 +137,11 @@ TASK_COLOR_PACKAGE_WRITE = (0.0, 0.50, 0.50, 1.0) # Distinct colors used for different disk volumnes. # If we have more volumns, colors get re-used. VOLUME_COLORS = [ - (1.0, 1.0, 0.00, 1.0), - (0.0, 1.00, 0.00, 1.0), - (1.0, 0.00, 1.00, 1.0), - (0.0, 0.00, 1.00, 1.0), - (0.0, 1.00, 1.00, 1.0), + (1.0, 1.0, 0.00, 1.0), + (0.0, 1.00, 0.00, 1.0), + (1.0, 0.00, 1.00, 1.0), + (0.0, 0.00, 1.00, 1.0), + (0.0, 1.00, 1.00, 1.0), ] # Process states @@ -152,7 +153,7 @@ STATE_STOPPED = 4 STATE_ZOMBIE = 5 STATE_COLORS = [(0, 0, 0, 0), PROC_COLOR_R, PROC_COLOR_S, PROC_COLOR_D, \ - PROC_COLOR_T, PROC_COLOR_Z, PROC_COLOR_X, PROC_COLOR_W] + PROC_COLOR_T, PROC_COLOR_Z, PROC_COLOR_X, PROC_COLOR_W] # CumulativeStats Types STAT_TYPE_CPU = 0 @@ -160,80 +161,80 @@ STAT_TYPE_IO = 1 # Convert ps process state to an int def get_proc_state(flag): - return "RSDTZXW".find(flag) + 1 + return "RSDTZXW".find(flag) + 1 def draw_text(ctx, text, color, x, y): - ctx.set_source_rgba(*color) - ctx.move_to(x, y) - ctx.show_text(text) + ctx.set_source_rgba(*color) + ctx.move_to(x, y) + ctx.show_text(text) def draw_fill_rect(ctx, color, rect): - ctx.set_source_rgba(*color) - ctx.rectangle(*rect) - ctx.fill() + ctx.set_source_rgba(*color) + ctx.rectangle(*rect) + ctx.fill() def draw_rect(ctx, color, rect): - ctx.set_source_rgba(*color) - ctx.rectangle(*rect) - ctx.stroke() + ctx.set_source_rgba(*color) + ctx.rectangle(*rect) + ctx.stroke() def draw_legend_box(ctx, label, fill_color, x, y, s): - draw_fill_rect(ctx, fill_color, (x, y - s, s, s)) - draw_rect(ctx, PROC_BORDER_COLOR, (x, y - s, s, s)) - draw_text(ctx, label, TEXT_COLOR, x + s + 5, y) + draw_fill_rect(ctx, fill_color, (x, y - s, s, s)) + draw_rect(ctx, PROC_BORDER_COLOR, (x, y - s, s, s)) + draw_text(ctx, label, TEXT_COLOR, x + s + 5, y) def draw_legend_line(ctx, label, fill_color, x, y, s): - draw_fill_rect(ctx, fill_color, (x, y - s/2, s + 1, 3)) - ctx.arc(x + (s + 1)/2.0, y - (s - 3)/2.0, 2.5, 0, 2.0 * math.pi) - ctx.fill() - draw_text(ctx, label, TEXT_COLOR, x + s + 5, y) + draw_fill_rect(ctx, fill_color, (x, y - s/2, s + 1, 3)) + ctx.arc(x + (s + 1)/2.0, y - (s - 3)/2.0, 2.5, 0, 2.0 * math.pi) + ctx.fill() + draw_text(ctx, label, TEXT_COLOR, x + s + 5, y) def draw_label_in_box(ctx, color, label, x, y, w, maxx): - label_w = ctx.text_extents(label)[2] - label_x = x + w / 2 - label_w / 2 - if label_w + 10 > w: - label_x = x + w + 5 - if label_x + label_w > maxx: - label_x = x - label_w - 5 - draw_text(ctx, label, color, label_x, y) + label_w = ctx.text_extents(label)[2] + label_x = x + w / 2 - label_w / 2 + if label_w + 10 > w: + label_x = x + w + 5 + if label_x + label_w > maxx: + label_x = x - label_w - 5 + draw_text(ctx, label, color, label_x, y) def draw_sec_labels(ctx, options, rect, sec_w, nsecs): - ctx.set_font_size(AXIS_FONT_SIZE) - prev_x = 0 - for i in range(0, rect[2] + 1, sec_w): - if ((i / sec_w) % nsecs == 0) : - if options.app_options.as_minutes : - label = "%.1f" % (i / sec_w / 60.0) - else : - label = "%d" % (i / sec_w) - label_w = ctx.text_extents(label)[2] - x = rect[0] + i - label_w/2 - if x >= prev_x: - draw_text(ctx, label, TEXT_COLOR, x, rect[1] - 2) - prev_x = x + label_w + ctx.set_font_size(AXIS_FONT_SIZE) + prev_x = 0 + for i in range(0, rect[2] + 1, sec_w): + if ((i / sec_w) % nsecs == 0) : + if options.app_options.as_minutes : + label = "%.1f" % (i / sec_w / 60.0) + else : + label = "%d" % (i / sec_w) + label_w = ctx.text_extents(label)[2] + x = rect[0] + i - label_w/2 + if x >= prev_x: + draw_text(ctx, label, TEXT_COLOR, x, rect[1] - 2) + prev_x = x + label_w def draw_box_ticks(ctx, rect, sec_w): - draw_rect(ctx, BORDER_COLOR, tuple(rect)) - - ctx.set_line_cap(cairo.LINE_CAP_SQUARE) - - for i in range(sec_w, rect[2] + 1, sec_w): - if ((i / sec_w) % 10 == 0) : - ctx.set_line_width(1.5) - elif sec_w < 5 : - continue - else : - ctx.set_line_width(1.0) - if ((i / sec_w) % 30 == 0) : - ctx.set_source_rgba(*TICK_COLOR_BOLD) - else : - ctx.set_source_rgba(*TICK_COLOR) - ctx.move_to(rect[0] + i, rect[1] + 1) - ctx.line_to(rect[0] + i, rect[1] + rect[3] - 1) - ctx.stroke() - ctx.set_line_width(1.0) - - ctx.set_line_cap(cairo.LINE_CAP_BUTT) + draw_rect(ctx, BORDER_COLOR, tuple(rect)) + + ctx.set_line_cap(cairo.LINE_CAP_SQUARE) + + for i in range(sec_w, rect[2] + 1, sec_w): + if ((i / sec_w) % 10 == 0) : + ctx.set_line_width(1.5) + elif sec_w < 5 : + continue + else : + ctx.set_line_width(1.0) + if ((i / sec_w) % 30 == 0) : + ctx.set_source_rgba(*TICK_COLOR_BOLD) + else : + ctx.set_source_rgba(*TICK_COLOR) + ctx.move_to(rect[0] + i, rect[1] + 1) + ctx.line_to(rect[0] + i, rect[1] + rect[3] - 1) + ctx.stroke() + ctx.set_line_width(1.0) + + ctx.set_line_cap(cairo.LINE_CAP_BUTT) def draw_annotations(ctx, proc_tree, times, rect): ctx.set_line_cap(cairo.LINE_CAP_SQUARE) @@ -252,51 +253,51 @@ def draw_annotations(ctx, proc_tree, times, rect): ctx.set_dash([]) def draw_chart(ctx, color, fill, chart_bounds, data, proc_tree, data_range): - ctx.set_line_width(0.5) - x_shift = proc_tree.start_time - - def transform_point_coords(point, x_base, y_base, \ - xscale, yscale, x_trans, y_trans): - x = (point[0] - x_base) * xscale + x_trans - y = (point[1] - y_base) * -yscale + y_trans + chart_bounds[3] - return x, y - - max_x = max (x for (x, y) in data) - max_y = max (y for (x, y) in data) - # avoid divide by zero - if max_y == 0: - max_y = 1.0 - xscale = float (chart_bounds[2]) / (max_x - x_shift) - # If data_range is given, scale the chart so that the value range in - # data_range matches the chart bounds exactly. - # Otherwise, scale so that the actual data matches the chart bounds. - if data_range: - yscale = float(chart_bounds[3]) / (data_range[1] - data_range[0]) - ybase = data_range[0] - else: - yscale = float(chart_bounds[3]) / max_y - ybase = 0 - - first = transform_point_coords (data[0], x_shift, ybase, xscale, yscale, \ - chart_bounds[0], chart_bounds[1]) - last = transform_point_coords (data[-1], x_shift, ybase, xscale, yscale, \ - chart_bounds[0], chart_bounds[1]) - - ctx.set_source_rgba(*color) - ctx.move_to(*first) - for point in data: - x, y = transform_point_coords (point, x_shift, ybase, xscale, yscale, \ - chart_bounds[0], chart_bounds[1]) - ctx.line_to(x, y) - if fill: - ctx.stroke_preserve() - ctx.line_to(last[0], chart_bounds[1]+chart_bounds[3]) - ctx.line_to(first[0], chart_bounds[1]+chart_bounds[3]) - ctx.line_to(first[0], first[1]) - ctx.fill() - else: - ctx.stroke() - ctx.set_line_width(1.0) + ctx.set_line_width(0.5) + x_shift = proc_tree.start_time + + def transform_point_coords(point, x_base, y_base, \ + xscale, yscale, x_trans, y_trans): + x = (point[0] - x_base) * xscale + x_trans + y = (point[1] - y_base) * -yscale + y_trans + chart_bounds[3] + return x, y + + max_x = max (x for (x, y) in data) + max_y = max (y for (x, y) in data) + # avoid divide by zero + if max_y == 0: + max_y = 1.0 + xscale = float (chart_bounds[2]) / (max_x - x_shift) + # If data_range is given, scale the chart so that the value range in + # data_range matches the chart bounds exactly. + # Otherwise, scale so that the actual data matches the chart bounds. + if data_range: + yscale = float(chart_bounds[3]) / (data_range[1] - data_range[0]) + ybase = data_range[0] + else: + yscale = float(chart_bounds[3]) / max_y + ybase = 0 + + first = transform_point_coords (data[0], x_shift, ybase, xscale, yscale, \ + chart_bounds[0], chart_bounds[1]) + last = transform_point_coords (data[-1], x_shift, ybase, xscale, yscale, \ + chart_bounds[0], chart_bounds[1]) + + ctx.set_source_rgba(*color) + ctx.move_to(*first) + for point in data: + x, y = transform_point_coords (point, x_shift, ybase, xscale, yscale, \ + chart_bounds[0], chart_bounds[1]) + ctx.line_to(x, y) + if fill: + ctx.stroke_preserve() + ctx.line_to(last[0], chart_bounds[1]+chart_bounds[3]) + ctx.line_to(first[0], chart_bounds[1]+chart_bounds[3]) + ctx.line_to(first[0], first[1]) + ctx.fill() + else: + ctx.stroke() + ctx.set_line_width(1.0) bar_h = 55 meminfo_bar_h = 2 * bar_h @@ -311,338 +312,344 @@ CUML_HEIGHT = 2000 # Increased value to accomodate CPU and I/O Graphs OPTIONS = None def extents(options, xscale, trace): - start = min(trace.start.keys()) - end = start - - processes = 0 - for proc in trace.processes: - if not options.app_options.show_all and \ - trace.processes[proc][1] - trace.processes[proc][0] < options.app_options.mintime: - continue - - if trace.processes[proc][1] > end: - end = trace.processes[proc][1] - processes += 1 - - if trace.min is not None and trace.max is not None: - start = trace.min - end = trace.max - - w = int ((end - start) * sec_w_base * xscale) + 2 * off_x - h = proc_h * processes + header_h + 2 * off_y - - if options.charts: - if trace.cpu_stats: - h += 30 + bar_h - if trace.disk_stats: - h += 30 + bar_h - if trace.monitor_disk: - h += 30 + bar_h - if trace.mem_stats: - h += meminfo_bar_h - - return (w, h) + start = min(trace.start.keys()) + end = start + + processes = 0 + for proc in trace.processes: + if not options.app_options.show_all and \ + trace.processes[proc][1] - trace.processes[proc][0] < options.app_options.mintime: + continue + + if trace.processes[proc][1] > end: + end = trace.processes[proc][1] + processes += 1 + + if trace.min is not None and trace.max is not None: + start = trace.min + end = trace.max + + w = int ((end - start) * sec_w_base * xscale) + 2 * off_x + h = proc_h * processes + header_h + 2 * off_y + + if options.charts: + if trace.cpu_stats: + h += 30 + bar_h + if trace.disk_stats: + h += 30 + bar_h + if trace.monitor_disk: + h += 30 + bar_h + if trace.mem_stats: + h += meminfo_bar_h + + # Allow for width of process legend and offset + if w < (720 + off_x): + w = 720 + off_x + + return (w, h) def clip_visible(clip, rect): - xmax = max (clip[0], rect[0]) - ymax = max (clip[1], rect[1]) - xmin = min (clip[0] + clip[2], rect[0] + rect[2]) - ymin = min (clip[1] + clip[3], rect[1] + rect[3]) - return (xmin > xmax and ymin > ymax) + xmax = max (clip[0], rect[0]) + ymax = max (clip[1], rect[1]) + xmin = min (clip[0] + clip[2], rect[0] + rect[2]) + ymin = min (clip[1] + clip[3], rect[1] + rect[3]) + return (xmin > xmax and ymin > ymax) def render_charts(ctx, options, clip, trace, curr_y, w, h, sec_w): - proc_tree = options.proc_tree(trace) - - # render bar legend - if trace.cpu_stats: - ctx.set_font_size(LEGEND_FONT_SIZE) - - draw_legend_box(ctx, "CPU (user+sys)", CPU_COLOR, off_x, curr_y+20, leg_s) - draw_legend_box(ctx, "I/O (wait)", IO_COLOR, off_x + 120, curr_y+20, leg_s) - - # render I/O wait - chart_rect = (off_x, curr_y+30, w, bar_h) - if clip_visible (clip, chart_rect): - draw_box_ticks (ctx, chart_rect, sec_w) - draw_annotations (ctx, proc_tree, trace.times, chart_rect) - draw_chart (ctx, IO_COLOR, True, chart_rect, \ - [(sample.time, sample.user + sample.sys + sample.io) for sample in trace.cpu_stats], \ - proc_tree, None) - # render CPU load - draw_chart (ctx, CPU_COLOR, True, chart_rect, \ - [(sample.time, sample.user + sample.sys) for sample in trace.cpu_stats], \ - proc_tree, None) - - curr_y = curr_y + 30 + bar_h - - # render second chart - if trace.disk_stats: - draw_legend_line(ctx, "Disk throughput", DISK_TPUT_COLOR, off_x, curr_y+20, leg_s) - draw_legend_box(ctx, "Disk utilization", IO_COLOR, off_x + 120, curr_y+20, leg_s) - - # render I/O utilization - chart_rect = (off_x, curr_y+30, w, bar_h) - if clip_visible (clip, chart_rect): - draw_box_ticks (ctx, chart_rect, sec_w) - draw_annotations (ctx, proc_tree, trace.times, chart_rect) - draw_chart (ctx, IO_COLOR, True, chart_rect, \ - [(sample.time, sample.util) for sample in trace.disk_stats], \ - proc_tree, None) - - # render disk throughput - max_sample = max (trace.disk_stats, key = lambda s: s.tput) - if clip_visible (clip, chart_rect): - draw_chart (ctx, DISK_TPUT_COLOR, False, chart_rect, \ - [(sample.time, sample.tput) for sample in trace.disk_stats], \ - proc_tree, None) - - pos_x = off_x + ((max_sample.time - proc_tree.start_time) * w / proc_tree.duration) - - shift_x, shift_y = -20, 20 - if (pos_x < off_x + 245): - shift_x, shift_y = 5, 40 - - label = "%dMB/s" % round ((max_sample.tput) / 1024.0) - draw_text (ctx, label, DISK_TPUT_COLOR, pos_x + shift_x, curr_y + shift_y) - - curr_y = curr_y + 30 + bar_h - - # render disk space usage - # - # Draws the amount of disk space used on each volume relative to the - # lowest recorded amount. The graphs for each volume are stacked above - # each other so that total disk usage is visible. - if trace.monitor_disk: - ctx.set_font_size(LEGEND_FONT_SIZE) - # Determine set of volumes for which we have - # information and the minimal amount of used disk - # space for each. Currently samples are allowed to - # not have a values for all volumes; drawing could be - # made more efficient if that wasn't the case. - volumes = set() - min_used = {} - for sample in trace.monitor_disk: - for volume, used in sample.records.items(): - volumes.add(volume) - if volume not in min_used or min_used[volume] > used: - min_used[volume] = used - volumes = sorted(list(volumes)) - disk_scale = 0 - for i, volume in enumerate(volumes): - volume_scale = max([sample.records[volume] - min_used[volume] - for sample in trace.monitor_disk - if volume in sample.records]) - # Does not take length of volume name into account, but fixed offset - # works okay in practice. - draw_legend_box(ctx, '%s (max: %u MiB)' % (volume, volume_scale / 1024 / 1024), - VOLUME_COLORS[i % len(VOLUME_COLORS)], - off_x + i * 250, curr_y+20, leg_s) - disk_scale += volume_scale - - # render used amount of disk space - chart_rect = (off_x, curr_y+30, w, bar_h) - if clip_visible (clip, chart_rect): - draw_box_ticks (ctx, chart_rect, sec_w) - draw_annotations (ctx, proc_tree, trace.times, chart_rect) - for i in range(len(volumes), 0, -1): - draw_chart (ctx, VOLUME_COLORS[(i - 1) % len(VOLUME_COLORS)], True, chart_rect, \ - [(sample.time, - # Sum up used space of all volumes including the current one - # so that the graphs appear as stacked on top of each other. - reduce(lambda x,y: x+y, - [sample.records[volume] - min_used[volume] - for volume in volumes[0:i] - if volume in sample.records], - 0)) - for sample in trace.monitor_disk], \ - proc_tree, [0, disk_scale]) - - curr_y = curr_y + 30 + bar_h - - # render mem usage - chart_rect = (off_x, curr_y+30, w, meminfo_bar_h) - mem_stats = trace.mem_stats - if mem_stats and clip_visible (clip, chart_rect): - mem_scale = max(sample.buffers for sample in mem_stats) - draw_legend_box(ctx, "Mem cached (scale: %u MiB)" % (float(mem_scale) / 1024), MEM_CACHED_COLOR, off_x, curr_y+20, leg_s) - draw_legend_box(ctx, "Used", MEM_USED_COLOR, off_x + 240, curr_y+20, leg_s) - draw_legend_box(ctx, "Buffers", MEM_BUFFERS_COLOR, off_x + 360, curr_y+20, leg_s) - draw_legend_line(ctx, "Swap (scale: %u MiB)" % max([(sample.swap)/1024 for sample in mem_stats]), \ - MEM_SWAP_COLOR, off_x + 480, curr_y+20, leg_s) - draw_box_ticks(ctx, chart_rect, sec_w) - draw_annotations(ctx, proc_tree, trace.times, chart_rect) - draw_chart(ctx, MEM_BUFFERS_COLOR, True, chart_rect, \ - [(sample.time, sample.buffers) for sample in trace.mem_stats], \ - proc_tree, [0, mem_scale]) - draw_chart(ctx, MEM_USED_COLOR, True, chart_rect, \ - [(sample.time, sample.used) for sample in mem_stats], \ - proc_tree, [0, mem_scale]) - draw_chart(ctx, MEM_CACHED_COLOR, True, chart_rect, \ - [(sample.time, sample.cached) for sample in mem_stats], \ - proc_tree, [0, mem_scale]) - draw_chart(ctx, MEM_SWAP_COLOR, False, chart_rect, \ - [(sample.time, float(sample.swap)) for sample in mem_stats], \ - proc_tree, None) - - curr_y = curr_y + meminfo_bar_h - - return curr_y + proc_tree = options.proc_tree(trace) + + # render bar legend + if trace.cpu_stats: + ctx.set_font_size(LEGEND_FONT_SIZE) + + draw_legend_box(ctx, "CPU (user+sys)", CPU_COLOR, off_x, curr_y+20, leg_s) + draw_legend_box(ctx, "I/O (wait)", IO_COLOR, off_x + 120, curr_y+20, leg_s) + + # render I/O wait + chart_rect = (off_x, curr_y+30, w, bar_h) + if clip_visible (clip, chart_rect): + draw_box_ticks (ctx, chart_rect, sec_w) + draw_annotations (ctx, proc_tree, trace.times, chart_rect) + draw_chart (ctx, IO_COLOR, True, chart_rect, \ + [(sample.time, sample.user + sample.sys + sample.io) for sample in trace.cpu_stats], \ + proc_tree, None) + # render CPU load + draw_chart (ctx, CPU_COLOR, True, chart_rect, \ + [(sample.time, sample.user + sample.sys) for sample in trace.cpu_stats], \ + proc_tree, None) + + curr_y = curr_y + 30 + bar_h + + # render second chart + if trace.disk_stats: + draw_legend_line(ctx, "Disk throughput", DISK_TPUT_COLOR, off_x, curr_y+20, leg_s) + draw_legend_box(ctx, "Disk utilization", IO_COLOR, off_x + 120, curr_y+20, leg_s) + + # render I/O utilization + chart_rect = (off_x, curr_y+30, w, bar_h) + if clip_visible (clip, chart_rect): + draw_box_ticks (ctx, chart_rect, sec_w) + draw_annotations (ctx, proc_tree, trace.times, chart_rect) + draw_chart (ctx, IO_COLOR, True, chart_rect, \ + [(sample.time, sample.util) for sample in trace.disk_stats], \ + proc_tree, None) + + # render disk throughput + max_sample = max (trace.disk_stats, key = lambda s: s.tput) + if clip_visible (clip, chart_rect): + draw_chart (ctx, DISK_TPUT_COLOR, False, chart_rect, \ + [(sample.time, sample.tput) for sample in trace.disk_stats], \ + proc_tree, None) + + pos_x = off_x + ((max_sample.time - proc_tree.start_time) * w / proc_tree.duration) + + shift_x, shift_y = -20, 20 + if (pos_x < off_x + 245): + shift_x, shift_y = 5, 40 + + label = "%dMB/s" % round ((max_sample.tput) / 1024.0) + draw_text (ctx, label, DISK_TPUT_COLOR, pos_x + shift_x, curr_y + shift_y) + + curr_y = curr_y + 30 + bar_h + + # render disk space usage + # + # Draws the amount of disk space used on each volume relative to the + # lowest recorded amount. The graphs for each volume are stacked above + # each other so that total disk usage is visible. + if trace.monitor_disk: + ctx.set_font_size(LEGEND_FONT_SIZE) + # Determine set of volumes for which we have + # information and the minimal amount of used disk + # space for each. Currently samples are allowed to + # not have a values for all volumes; drawing could be + # made more efficient if that wasn't the case. + volumes = set() + min_used = {} + for sample in trace.monitor_disk: + for volume, used in sample.records.items(): + volumes.add(volume) + if volume not in min_used or min_used[volume] > used: + min_used[volume] = used + volumes = sorted(list(volumes)) + disk_scale = 0 + for i, volume in enumerate(volumes): + volume_scale = max([sample.records[volume] - min_used[volume] + for sample in trace.monitor_disk + if volume in sample.records]) + # Does not take length of volume name into account, but fixed offset + # works okay in practice. + draw_legend_box(ctx, '%s (max: %u MiB)' % (volume, volume_scale / 1024 / 1024), + VOLUME_COLORS[i % len(VOLUME_COLORS)], + off_x + i * 250, curr_y+20, leg_s) + disk_scale += volume_scale + + # render used amount of disk space + chart_rect = (off_x, curr_y+30, w, bar_h) + if clip_visible (clip, chart_rect): + draw_box_ticks (ctx, chart_rect, sec_w) + draw_annotations (ctx, proc_tree, trace.times, chart_rect) + for i in range(len(volumes), 0, -1): + draw_chart (ctx, VOLUME_COLORS[(i - 1) % len(VOLUME_COLORS)], True, chart_rect, \ + [(sample.time, + # Sum up used space of all volumes including the current one + # so that the graphs appear as stacked on top of each other. + functools.reduce(lambda x,y: x+y, + [sample.records[volume] - min_used[volume] + for volume in volumes[0:i] + if volume in sample.records], + 0)) + for sample in trace.monitor_disk], \ + proc_tree, [0, disk_scale]) + + curr_y = curr_y + 30 + bar_h + + # render mem usage + chart_rect = (off_x, curr_y+30, w, meminfo_bar_h) + mem_stats = trace.mem_stats + if mem_stats and clip_visible (clip, chart_rect): + mem_scale = max(sample.buffers for sample in mem_stats) + draw_legend_box(ctx, "Mem cached (scale: %u MiB)" % (float(mem_scale) / 1024), MEM_CACHED_COLOR, off_x, curr_y+20, leg_s) + draw_legend_box(ctx, "Used", MEM_USED_COLOR, off_x + 240, curr_y+20, leg_s) + draw_legend_box(ctx, "Buffers", MEM_BUFFERS_COLOR, off_x + 360, curr_y+20, leg_s) + draw_legend_line(ctx, "Swap (scale: %u MiB)" % max([(sample.swap)/1024 for sample in mem_stats]), \ + MEM_SWAP_COLOR, off_x + 480, curr_y+20, leg_s) + draw_box_ticks(ctx, chart_rect, sec_w) + draw_annotations(ctx, proc_tree, trace.times, chart_rect) + draw_chart(ctx, MEM_BUFFERS_COLOR, True, chart_rect, \ + [(sample.time, sample.buffers) for sample in trace.mem_stats], \ + proc_tree, [0, mem_scale]) + draw_chart(ctx, MEM_USED_COLOR, True, chart_rect, \ + [(sample.time, sample.used) for sample in mem_stats], \ + proc_tree, [0, mem_scale]) + draw_chart(ctx, MEM_CACHED_COLOR, True, chart_rect, \ + [(sample.time, sample.cached) for sample in mem_stats], \ + proc_tree, [0, mem_scale]) + draw_chart(ctx, MEM_SWAP_COLOR, False, chart_rect, \ + [(sample.time, float(sample.swap)) for sample in mem_stats], \ + proc_tree, None) + + curr_y = curr_y + meminfo_bar_h + + return curr_y def render_processes_chart(ctx, options, trace, curr_y, w, h, sec_w): - chart_rect = [off_x, curr_y+header_h, w, h - 2 * off_y - header_h - leg_s + proc_h] - - draw_legend_box (ctx, "Configure", \ - TASK_COLOR_CONFIGURE, off_x , curr_y + 45, leg_s) - draw_legend_box (ctx, "Compile", \ - TASK_COLOR_COMPILE, off_x+120, curr_y + 45, leg_s) - draw_legend_box (ctx, "Install", \ - TASK_COLOR_INSTALL, off_x+240, curr_y + 45, leg_s) - draw_legend_box (ctx, "Populate Sysroot", \ - TASK_COLOR_SYSROOT, off_x+360, curr_y + 45, leg_s) - draw_legend_box (ctx, "Package", \ - TASK_COLOR_PACKAGE, off_x+480, curr_y + 45, leg_s) - draw_legend_box (ctx, "Package Write", - TASK_COLOR_PACKAGE_WRITE, off_x+600, curr_y + 45, leg_s) - - ctx.set_font_size(PROC_TEXT_FONT_SIZE) - - draw_box_ticks(ctx, chart_rect, sec_w) - draw_sec_labels(ctx, options, chart_rect, sec_w, 30) - - y = curr_y+header_h - - offset = trace.min or min(trace.start.keys()) - for s in sorted(trace.start.keys()): - for val in sorted(trace.start[s]): - if not options.app_options.show_all and \ - trace.processes[val][1] - s < options.app_options.mintime: - continue - task = val.split(":")[1] - #print val - #print trace.processes[val][1] - #print s - x = chart_rect[0] + (s - offset) * sec_w - w = ((trace.processes[val][1] - s) * sec_w) - - #print "proc at %s %s %s %s" % (x, y, w, proc_h) - col = None - if task == "do_compile": - col = TASK_COLOR_COMPILE - elif task == "do_configure": - col = TASK_COLOR_CONFIGURE - elif task == "do_install": - col = TASK_COLOR_INSTALL - elif task == "do_populate_sysroot": - col = TASK_COLOR_SYSROOT - elif task == "do_package": - col = TASK_COLOR_PACKAGE - elif task == "do_package_write_rpm" or \ + chart_rect = [off_x, curr_y+header_h, w, h - curr_y - 1 * off_y - header_h ] + + draw_legend_box (ctx, "Configure", \ + TASK_COLOR_CONFIGURE, off_x , curr_y + 45, leg_s) + draw_legend_box (ctx, "Compile", \ + TASK_COLOR_COMPILE, off_x+120, curr_y + 45, leg_s) + draw_legend_box (ctx, "Install", \ + TASK_COLOR_INSTALL, off_x+240, curr_y + 45, leg_s) + draw_legend_box (ctx, "Populate Sysroot", \ + TASK_COLOR_SYSROOT, off_x+360, curr_y + 45, leg_s) + draw_legend_box (ctx, "Package", \ + TASK_COLOR_PACKAGE, off_x+480, curr_y + 45, leg_s) + draw_legend_box (ctx, "Package Write", \ + TASK_COLOR_PACKAGE_WRITE, off_x+600, curr_y + 45, leg_s) + + ctx.set_font_size(PROC_TEXT_FONT_SIZE) + + draw_box_ticks(ctx, chart_rect, sec_w) + draw_sec_labels(ctx, options, chart_rect, sec_w, 30) + + y = curr_y+header_h + + offset = trace.min or min(trace.start.keys()) + for start in sorted(trace.start.keys()): + for process in sorted(trace.start[start]): + if not options.app_options.show_all and \ + trace.processes[process][1] - start < options.app_options.mintime: + continue + task = process.split(":")[1] + + #print(process) + #print(trace.processes[process][1]) + #print(s) + + x = chart_rect[0] + (start - offset) * sec_w + w = ((trace.processes[process][1] - start) * sec_w) + + #print("proc at %s %s %s %s" % (x, y, w, proc_h)) + col = None + if task == "do_compile": + col = TASK_COLOR_COMPILE + elif task == "do_configure": + col = TASK_COLOR_CONFIGURE + elif task == "do_install": + col = TASK_COLOR_INSTALL + elif task == "do_populate_sysroot": + col = TASK_COLOR_SYSROOT + elif task == "do_package": + col = TASK_COLOR_PACKAGE + elif task == "do_package_write_rpm" or \ task == "do_package_write_deb" or \ task == "do_package_write_ipk": - col = TASK_COLOR_PACKAGE_WRITE - else: - col = WHITE + col = TASK_COLOR_PACKAGE_WRITE + else: + col = WHITE - if col: - draw_fill_rect(ctx, col, (x, y, w, proc_h)) - draw_rect(ctx, PROC_BORDER_COLOR, (x, y, w, proc_h)) + if col: + draw_fill_rect(ctx, col, (x, y, w, proc_h)) + draw_rect(ctx, PROC_BORDER_COLOR, (x, y, w, proc_h)) - draw_label_in_box(ctx, PROC_TEXT_COLOR, val, x, y + proc_h - 4, w, proc_h) - y = y + proc_h + draw_label_in_box(ctx, PROC_TEXT_COLOR, process, x, y + proc_h - 4, w, proc_h) + y = y + proc_h - return curr_y + return curr_y # # Render the chart. # def render(ctx, options, xscale, trace): - (w, h) = extents (options, xscale, trace) - global OPTIONS - OPTIONS = options.app_options + (w, h) = extents (options, xscale, trace) + global OPTIONS + OPTIONS = options.app_options - # x, y, w, h - clip = ctx.clip_extents() + # x, y, w, h + clip = ctx.clip_extents() - sec_w = int (xscale * sec_w_base) - ctx.set_line_width(1.0) - ctx.select_font_face(FONT_NAME) - draw_fill_rect(ctx, WHITE, (0, 0, max(w, MIN_IMG_W), h)) - w -= 2*off_x - curr_y = off_y; + sec_w = int (xscale * sec_w_base) + ctx.set_line_width(1.0) + ctx.select_font_face(FONT_NAME) + draw_fill_rect(ctx, WHITE, (0, 0, max(w, MIN_IMG_W), h)) + w -= 2*off_x + curr_y = off_y; - if options.charts: - curr_y = render_charts (ctx, options, clip, trace, curr_y, w, h, sec_w) + if options.charts: + curr_y = render_charts (ctx, options, clip, trace, curr_y, w, h, sec_w) - curr_y = render_processes_chart (ctx, options, trace, curr_y, w, h, sec_w) + curr_y = render_processes_chart (ctx, options, trace, curr_y, w, h, sec_w) - return + return - proc_tree = options.proc_tree (trace) + proc_tree = options.proc_tree (trace) - # draw the title and headers - if proc_tree.idle: - duration = proc_tree.idle - else: - duration = proc_tree.duration + # draw the title and headers + if proc_tree.idle: + duration = proc_tree.idle + else: + duration = proc_tree.duration - if not options.kernel_only: - curr_y = draw_header (ctx, trace.headers, duration) - else: - curr_y = off_y; + if not options.kernel_only: + curr_y = draw_header (ctx, trace.headers, duration) + else: + curr_y = off_y; - # draw process boxes - proc_height = h - if proc_tree.taskstats and options.cumulative: - proc_height -= CUML_HEIGHT + # draw process boxes + proc_height = h + if proc_tree.taskstats and options.cumulative: + proc_height -= CUML_HEIGHT - draw_process_bar_chart(ctx, clip, options, proc_tree, trace.times, - curr_y, w, proc_height, sec_w) + draw_process_bar_chart(ctx, clip, options, proc_tree, trace.times, + curr_y, w, proc_height, sec_w) - curr_y = proc_height - ctx.set_font_size(SIG_FONT_SIZE) - draw_text(ctx, SIGNATURE, SIG_COLOR, off_x + 5, proc_height - 8) + curr_y = proc_height + ctx.set_font_size(SIG_FONT_SIZE) + draw_text(ctx, SIGNATURE, SIG_COLOR, off_x + 5, proc_height - 8) - # draw a cumulative CPU-time-per-process graph - if proc_tree.taskstats and options.cumulative: - cuml_rect = (off_x, curr_y + off_y, w, CUML_HEIGHT/2 - off_y * 2) - if clip_visible (clip, cuml_rect): - draw_cuml_graph(ctx, proc_tree, cuml_rect, duration, sec_w, STAT_TYPE_CPU) + # draw a cumulative CPU-time-per-process graph + if proc_tree.taskstats and options.cumulative: + cuml_rect = (off_x, curr_y + off_y, w, CUML_HEIGHT/2 - off_y * 2) + if clip_visible (clip, cuml_rect): + draw_cuml_graph(ctx, proc_tree, cuml_rect, duration, sec_w, STAT_TYPE_CPU) - # draw a cumulative I/O-time-per-process graph - if proc_tree.taskstats and options.cumulative: - cuml_rect = (off_x, curr_y + off_y * 100, w, CUML_HEIGHT/2 - off_y * 2) - if clip_visible (clip, cuml_rect): - draw_cuml_graph(ctx, proc_tree, cuml_rect, duration, sec_w, STAT_TYPE_IO) + # draw a cumulative I/O-time-per-process graph + if proc_tree.taskstats and options.cumulative: + cuml_rect = (off_x, curr_y + off_y * 100, w, CUML_HEIGHT/2 - off_y * 2) + if clip_visible (clip, cuml_rect): + draw_cuml_graph(ctx, proc_tree, cuml_rect, duration, sec_w, STAT_TYPE_IO) def draw_process_bar_chart(ctx, clip, options, proc_tree, times, curr_y, w, h, sec_w): - header_size = 0 - if not options.kernel_only: - draw_legend_box (ctx, "Running (%cpu)", - PROC_COLOR_R, off_x , curr_y + 45, leg_s) - draw_legend_box (ctx, "Unint.sleep (I/O)", - PROC_COLOR_D, off_x+120, curr_y + 45, leg_s) - draw_legend_box (ctx, "Sleeping", - PROC_COLOR_S, off_x+240, curr_y + 45, leg_s) - draw_legend_box (ctx, "Zombie", - PROC_COLOR_Z, off_x+360, curr_y + 45, leg_s) - header_size = 45 - - chart_rect = [off_x, curr_y + header_size + 15, - w, h - 2 * off_y - (curr_y + header_size + 15) + proc_h] - ctx.set_font_size (PROC_TEXT_FONT_SIZE) - - draw_box_ticks (ctx, chart_rect, sec_w) - if sec_w > 100: - nsec = 1 - else: - nsec = 5 - draw_sec_labels (ctx, options, chart_rect, sec_w, nsec) - draw_annotations (ctx, proc_tree, times, chart_rect) - - y = curr_y + 60 - for root in proc_tree.process_tree: - draw_processes_recursively(ctx, root, proc_tree, y, proc_h, chart_rect, clip) - y = y + proc_h * proc_tree.num_nodes([root]) + header_size = 0 + if not options.kernel_only: + draw_legend_box (ctx, "Running (%cpu)", + PROC_COLOR_R, off_x , curr_y + 45, leg_s) + draw_legend_box (ctx, "Unint.sleep (I/O)", + PROC_COLOR_D, off_x+120, curr_y + 45, leg_s) + draw_legend_box (ctx, "Sleeping", + PROC_COLOR_S, off_x+240, curr_y + 45, leg_s) + draw_legend_box (ctx, "Zombie", + PROC_COLOR_Z, off_x+360, curr_y + 45, leg_s) + header_size = 45 + + chart_rect = [off_x, curr_y + header_size + 15, + w, h - 2 * off_y - (curr_y + header_size + 15) + proc_h] + ctx.set_font_size (PROC_TEXT_FONT_SIZE) + + draw_box_ticks (ctx, chart_rect, sec_w) + if sec_w > 100: + nsec = 1 + else: + nsec = 5 + draw_sec_labels (ctx, options, chart_rect, sec_w, nsec) + draw_annotations (ctx, proc_tree, times, chart_rect) + + y = curr_y + 60 + for root in proc_tree.process_tree: + draw_processes_recursively(ctx, root, proc_tree, y, proc_h, chart_rect, clip) + y = y + proc_h * proc_tree.num_nodes([root]) def draw_header (ctx, headers, duration): @@ -678,291 +685,291 @@ def draw_header (ctx, headers, duration): return header_y def draw_processes_recursively(ctx, proc, proc_tree, y, proc_h, rect, clip) : - x = rect[0] + ((proc.start_time - proc_tree.start_time) * rect[2] / proc_tree.duration) - w = ((proc.duration) * rect[2] / proc_tree.duration) - - draw_process_activity_colors(ctx, proc, proc_tree, x, y, w, proc_h, rect, clip) - draw_rect(ctx, PROC_BORDER_COLOR, (x, y, w, proc_h)) - ipid = int(proc.pid) - if not OPTIONS.show_all: - cmdString = proc.cmd - else: - cmdString = '' - if (OPTIONS.show_pid or OPTIONS.show_all) and ipid is not 0: - cmdString = cmdString + " [" + str(ipid // 1000) + "]" - if OPTIONS.show_all: - if proc.args: - cmdString = cmdString + " '" + "' '".join(proc.args) + "'" - else: - cmdString = cmdString + " " + proc.exe - - draw_label_in_box(ctx, PROC_TEXT_COLOR, cmdString, x, y + proc_h - 4, w, rect[0] + rect[2]) - - next_y = y + proc_h - for child in proc.child_list: - if next_y > clip[1] + clip[3]: - break - child_x, child_y = draw_processes_recursively(ctx, child, proc_tree, next_y, proc_h, rect, clip) - draw_process_connecting_lines(ctx, x, y, child_x, child_y, proc_h) - next_y = next_y + proc_h * proc_tree.num_nodes([child]) - - return x, y + x = rect[0] + ((proc.start_time - proc_tree.start_time) * rect[2] / proc_tree.duration) + w = ((proc.duration) * rect[2] / proc_tree.duration) + + draw_process_activity_colors(ctx, proc, proc_tree, x, y, w, proc_h, rect, clip) + draw_rect(ctx, PROC_BORDER_COLOR, (x, y, w, proc_h)) + ipid = int(proc.pid) + if not OPTIONS.show_all: + cmdString = proc.cmd + else: + cmdString = '' + if (OPTIONS.show_pid or OPTIONS.show_all) and ipid is not 0: + cmdString = cmdString + " [" + str(ipid // 1000) + "]" + if OPTIONS.show_all: + if proc.args: + cmdString = cmdString + " '" + "' '".join(proc.args) + "'" + else: + cmdString = cmdString + " " + proc.exe + + draw_label_in_box(ctx, PROC_TEXT_COLOR, cmdString, x, y + proc_h - 4, w, rect[0] + rect[2]) + + next_y = y + proc_h + for child in proc.child_list: + if next_y > clip[1] + clip[3]: + break + child_x, child_y = draw_processes_recursively(ctx, child, proc_tree, next_y, proc_h, rect, clip) + draw_process_connecting_lines(ctx, x, y, child_x, child_y, proc_h) + next_y = next_y + proc_h * proc_tree.num_nodes([child]) + + return x, y def draw_process_activity_colors(ctx, proc, proc_tree, x, y, w, proc_h, rect, clip): - if y > clip[1] + clip[3] or y + proc_h + 2 < clip[1]: - return + if y > clip[1] + clip[3] or y + proc_h + 2 < clip[1]: + return - draw_fill_rect(ctx, PROC_COLOR_S, (x, y, w, proc_h)) + draw_fill_rect(ctx, PROC_COLOR_S, (x, y, w, proc_h)) - last_tx = -1 - for sample in proc.samples : - tx = rect[0] + round(((sample.time - proc_tree.start_time) * rect[2] / proc_tree.duration)) + last_tx = -1 + for sample in proc.samples : + tx = rect[0] + round(((sample.time - proc_tree.start_time) * rect[2] / proc_tree.duration)) - # samples are sorted chronologically - if tx < clip[0]: - continue - if tx > clip[0] + clip[2]: - break + # samples are sorted chronologically + if tx < clip[0]: + continue + if tx > clip[0] + clip[2]: + break - tw = round(proc_tree.sample_period * rect[2] / float(proc_tree.duration)) - if last_tx != -1 and abs(last_tx - tx) <= tw: - tw -= last_tx - tx - tx = last_tx - tw = max (tw, 1) # nice to see at least something + tw = round(proc_tree.sample_period * rect[2] / float(proc_tree.duration)) + if last_tx != -1 and abs(last_tx - tx) <= tw: + tw -= last_tx - tx + tx = last_tx + tw = max (tw, 1) # nice to see at least something - last_tx = tx + tw - state = get_proc_state( sample.state ) + last_tx = tx + tw + state = get_proc_state( sample.state ) - color = STATE_COLORS[state] - if state == STATE_RUNNING: - alpha = min (sample.cpu_sample.user + sample.cpu_sample.sys, 1.0) - color = tuple(list(PROC_COLOR_R[0:3]) + [alpha]) -# print "render time %d [ tx %d tw %d ], sample state %s color %s alpha %g" % (sample.time, tx, tw, state, color, alpha) - elif state == STATE_SLEEPING: - continue + color = STATE_COLORS[state] + if state == STATE_RUNNING: + alpha = min (sample.cpu_sample.user + sample.cpu_sample.sys, 1.0) + color = tuple(list(PROC_COLOR_R[0:3]) + [alpha]) +# print "render time %d [ tx %d tw %d ], sample state %s color %s alpha %g" % (sample.time, tx, tw, state, color, alpha) + elif state == STATE_SLEEPING: + continue - draw_fill_rect(ctx, color, (tx, y, tw, proc_h)) + draw_fill_rect(ctx, color, (tx, y, tw, proc_h)) def draw_process_connecting_lines(ctx, px, py, x, y, proc_h): - ctx.set_source_rgba(*DEP_COLOR) - ctx.set_dash([2, 2]) - if abs(px - x) < 3: - dep_off_x = 3 - dep_off_y = proc_h / 4 - ctx.move_to(x, y + proc_h / 2) - ctx.line_to(px - dep_off_x, y + proc_h / 2) - ctx.line_to(px - dep_off_x, py - dep_off_y) - ctx.line_to(px, py - dep_off_y) - else: - ctx.move_to(x, y + proc_h / 2) - ctx.line_to(px, y + proc_h / 2) - ctx.line_to(px, py) - ctx.stroke() - ctx.set_dash([]) + ctx.set_source_rgba(*DEP_COLOR) + ctx.set_dash([2, 2]) + if abs(px - x) < 3: + dep_off_x = 3 + dep_off_y = proc_h / 4 + ctx.move_to(x, y + proc_h / 2) + ctx.line_to(px - dep_off_x, y + proc_h / 2) + ctx.line_to(px - dep_off_x, py - dep_off_y) + ctx.line_to(px, py - dep_off_y) + else: + ctx.move_to(x, y + proc_h / 2) + ctx.line_to(px, y + proc_h / 2) + ctx.line_to(px, py) + ctx.stroke() + ctx.set_dash([]) # elide the bootchart collector - it is quite distorting def elide_bootchart(proc): - return proc.cmd == 'bootchartd' or proc.cmd == 'bootchart-colle' + return proc.cmd == 'bootchartd' or proc.cmd == 'bootchart-colle' class CumlSample: - def __init__(self, proc): - self.cmd = proc.cmd - self.samples = [] - self.merge_samples (proc) - self.color = None - - def merge_samples(self, proc): - self.samples.extend (proc.samples) - self.samples.sort (key = lambda p: p.time) - - def next(self): - global palette_idx - palette_idx += HSV_STEP - return palette_idx - - def get_color(self): - if self.color is None: - i = self.next() % HSV_MAX_MOD - h = 0.0 - if i is not 0: - h = (1.0 * i) / HSV_MAX_MOD - s = 0.5 - v = 1.0 - c = colorsys.hsv_to_rgb (h, s, v) - self.color = (c[0], c[1], c[2], 1.0) - return self.color + def __init__(self, proc): + self.cmd = proc.cmd + self.samples = [] + self.merge_samples (proc) + self.color = None + + def merge_samples(self, proc): + self.samples.extend (proc.samples) + self.samples.sort (key = lambda p: p.time) + + def next(self): + global palette_idx + palette_idx += HSV_STEP + return palette_idx + + def get_color(self): + if self.color is None: + i = self.next() % HSV_MAX_MOD + h = 0.0 + if i is not 0: + h = (1.0 * i) / HSV_MAX_MOD + s = 0.5 + v = 1.0 + c = colorsys.hsv_to_rgb (h, s, v) + self.color = (c[0], c[1], c[2], 1.0) + return self.color def draw_cuml_graph(ctx, proc_tree, chart_bounds, duration, sec_w, stat_type): - global palette_idx - palette_idx = 0 - - time_hash = {} - total_time = 0.0 - m_proc_list = {} - - if stat_type is STAT_TYPE_CPU: - sample_value = 'cpu' - else: - sample_value = 'io' - for proc in proc_tree.process_list: - if elide_bootchart(proc): - continue - - for sample in proc.samples: - total_time += getattr(sample.cpu_sample, sample_value) - if not sample.time in time_hash: - time_hash[sample.time] = 1 - - # merge pids with the same cmd - if not proc.cmd in m_proc_list: - m_proc_list[proc.cmd] = CumlSample (proc) - continue - s = m_proc_list[proc.cmd] - s.merge_samples (proc) - - # all the sample times - times = sorted(time_hash) - if len (times) < 2: - print("degenerate boot chart") - return - - pix_per_ns = chart_bounds[3] / total_time -# print "total time: %g pix-per-ns %g" % (total_time, pix_per_ns) - - # FIXME: we have duplicates in the process list too [!] - why !? - - # Render bottom up, left to right - below = {} - for time in times: - below[time] = chart_bounds[1] + chart_bounds[3] - - # same colors each time we render - random.seed (0) - - ctx.set_line_width(1) - - legends = [] - labels = [] - - # render each pid in order - for cs in m_proc_list.values(): - row = {} - cuml = 0.0 - - # print "pid : %s -> %g samples %d" % (proc.cmd, cuml, len (cs.samples)) - for sample in cs.samples: - cuml += getattr(sample.cpu_sample, sample_value) - row[sample.time] = cuml - - process_total_time = cuml - - # hide really tiny processes - if cuml * pix_per_ns <= 2: - continue - - last_time = times[0] - y = last_below = below[last_time] - last_cuml = cuml = 0.0 - - ctx.set_source_rgba(*cs.get_color()) - for time in times: - render_seg = False - - # did the underlying trend increase ? - if below[time] != last_below: - last_below = below[last_time] - last_cuml = cuml - render_seg = True - - # did we move up a pixel increase ? - if time in row: - nc = round (row[time] * pix_per_ns) - if nc != cuml: - last_cuml = cuml - cuml = nc - render_seg = True - -# if last_cuml > cuml: -# assert fail ... - un-sorted process samples - - # draw the trailing rectangle from the last time to - # before now, at the height of the last segment. - if render_seg: - w = math.ceil ((time - last_time) * chart_bounds[2] / proc_tree.duration) + 1 - x = chart_bounds[0] + round((last_time - proc_tree.start_time) * chart_bounds[2] / proc_tree.duration) - ctx.rectangle (x, below[last_time] - last_cuml, w, last_cuml) - ctx.fill() -# ctx.stroke() - last_time = time - y = below [time] - cuml - - row[time] = y - - # render the last segment - x = chart_bounds[0] + round((last_time - proc_tree.start_time) * chart_bounds[2] / proc_tree.duration) - y = below[last_time] - cuml - ctx.rectangle (x, y, chart_bounds[2] - x, cuml) - ctx.fill() -# ctx.stroke() - - # render legend if it will fit - if cuml > 8: - label = cs.cmd - extnts = ctx.text_extents(label) - label_w = extnts[2] - label_h = extnts[3] -# print "Text extents %g by %g" % (label_w, label_h) - labels.append((label, - chart_bounds[0] + chart_bounds[2] - label_w - off_x * 2, - y + (cuml + label_h) / 2)) - if cs in legends: - print("ARGH - duplicate process in list !") - - legends.append ((cs, process_total_time)) - - below = row - - # render grid-lines over the top - draw_box_ticks(ctx, chart_bounds, sec_w) - - # render labels - for l in labels: - draw_text(ctx, l[0], TEXT_COLOR, l[1], l[2]) - - # Render legends - font_height = 20 - label_width = 300 - LEGENDS_PER_COL = 15 - LEGENDS_TOTAL = 45 - ctx.set_font_size (TITLE_FONT_SIZE) - dur_secs = duration / 100 - cpu_secs = total_time / 1000000000 - - # misleading - with multiple CPUs ... -# idle = ((dur_secs - cpu_secs) / dur_secs) * 100.0 - if stat_type is STAT_TYPE_CPU: - label = "Cumulative CPU usage, by process; total CPU: " \ - " %.5g(s) time: %.3g(s)" % (cpu_secs, dur_secs) - else: - label = "Cumulative I/O usage, by process; total I/O: " \ - " %.5g(s) time: %.3g(s)" % (cpu_secs, dur_secs) - - draw_text(ctx, label, TEXT_COLOR, chart_bounds[0] + off_x, - chart_bounds[1] + font_height) - - i = 0 - legends = sorted(legends, key=itemgetter(1), reverse=True) - ctx.set_font_size(TEXT_FONT_SIZE) - for t in legends: - cs = t[0] - time = t[1] - x = chart_bounds[0] + off_x + int (i/LEGENDS_PER_COL) * label_width - y = chart_bounds[1] + font_height * ((i % LEGENDS_PER_COL) + 2) - str = "%s - %.0f(ms) (%2.2f%%)" % (cs.cmd, time/1000000, (time/total_time) * 100.0) - draw_legend_box(ctx, str, cs.color, x, y, leg_s) - i = i + 1 - if i >= LEGENDS_TOTAL: - break + global palette_idx + palette_idx = 0 + + time_hash = {} + total_time = 0.0 + m_proc_list = {} + + if stat_type is STAT_TYPE_CPU: + sample_value = 'cpu' + else: + sample_value = 'io' + for proc in proc_tree.process_list: + if elide_bootchart(proc): + continue + + for sample in proc.samples: + total_time += getattr(sample.cpu_sample, sample_value) + if not sample.time in time_hash: + time_hash[sample.time] = 1 + + # merge pids with the same cmd + if not proc.cmd in m_proc_list: + m_proc_list[proc.cmd] = CumlSample (proc) + continue + s = m_proc_list[proc.cmd] + s.merge_samples (proc) + + # all the sample times + times = sorted(time_hash) + if len (times) < 2: + print("degenerate boot chart") + return + + pix_per_ns = chart_bounds[3] / total_time +# print "total time: %g pix-per-ns %g" % (total_time, pix_per_ns) + + # FIXME: we have duplicates in the process list too [!] - why !? + + # Render bottom up, left to right + below = {} + for time in times: + below[time] = chart_bounds[1] + chart_bounds[3] + + # same colors each time we render + random.seed (0) + + ctx.set_line_width(1) + + legends = [] + labels = [] + + # render each pid in order + for cs in m_proc_list.values(): + row = {} + cuml = 0.0 + + # print "pid : %s -> %g samples %d" % (proc.cmd, cuml, len (cs.samples)) + for sample in cs.samples: + cuml += getattr(sample.cpu_sample, sample_value) + row[sample.time] = cuml + + process_total_time = cuml + + # hide really tiny processes + if cuml * pix_per_ns <= 2: + continue + + last_time = times[0] + y = last_below = below[last_time] + last_cuml = cuml = 0.0 + + ctx.set_source_rgba(*cs.get_color()) + for time in times: + render_seg = False + + # did the underlying trend increase ? + if below[time] != last_below: + last_below = below[last_time] + last_cuml = cuml + render_seg = True + + # did we move up a pixel increase ? + if time in row: + nc = round (row[time] * pix_per_ns) + if nc != cuml: + last_cuml = cuml + cuml = nc + render_seg = True + +# if last_cuml > cuml: +# assert fail ... - un-sorted process samples + + # draw the trailing rectangle from the last time to + # before now, at the height of the last segment. + if render_seg: + w = math.ceil ((time - last_time) * chart_bounds[2] / proc_tree.duration) + 1 + x = chart_bounds[0] + round((last_time - proc_tree.start_time) * chart_bounds[2] / proc_tree.duration) + ctx.rectangle (x, below[last_time] - last_cuml, w, last_cuml) + ctx.fill() +# ctx.stroke() + last_time = time + y = below [time] - cuml + + row[time] = y + + # render the last segment + x = chart_bounds[0] + round((last_time - proc_tree.start_time) * chart_bounds[2] / proc_tree.duration) + y = below[last_time] - cuml + ctx.rectangle (x, y, chart_bounds[2] - x, cuml) + ctx.fill() +# ctx.stroke() + + # render legend if it will fit + if cuml > 8: + label = cs.cmd + extnts = ctx.text_extents(label) + label_w = extnts[2] + label_h = extnts[3] +# print "Text extents %g by %g" % (label_w, label_h) + labels.append((label, + chart_bounds[0] + chart_bounds[2] - label_w - off_x * 2, + y + (cuml + label_h) / 2)) + if cs in legends: + print("ARGH - duplicate process in list !") + + legends.append ((cs, process_total_time)) + + below = row + + # render grid-lines over the top + draw_box_ticks(ctx, chart_bounds, sec_w) + + # render labels + for l in labels: + draw_text(ctx, l[0], TEXT_COLOR, l[1], l[2]) + + # Render legends + font_height = 20 + label_width = 300 + LEGENDS_PER_COL = 15 + LEGENDS_TOTAL = 45 + ctx.set_font_size (TITLE_FONT_SIZE) + dur_secs = duration / 100 + cpu_secs = total_time / 1000000000 + + # misleading - with multiple CPUs ... +# idle = ((dur_secs - cpu_secs) / dur_secs) * 100.0 + if stat_type is STAT_TYPE_CPU: + label = "Cumulative CPU usage, by process; total CPU: " \ + " %.5g(s) time: %.3g(s)" % (cpu_secs, dur_secs) + else: + label = "Cumulative I/O usage, by process; total I/O: " \ + " %.5g(s) time: %.3g(s)" % (cpu_secs, dur_secs) + + draw_text(ctx, label, TEXT_COLOR, chart_bounds[0] + off_x, + chart_bounds[1] + font_height) + + i = 0 + legends = sorted(legends, key=itemgetter(1), reverse=True) + ctx.set_font_size(TEXT_FONT_SIZE) + for t in legends: + cs = t[0] + time = t[1] + x = chart_bounds[0] + off_x + int (i/LEGENDS_PER_COL) * label_width + y = chart_bounds[1] + font_height * ((i % LEGENDS_PER_COL) + 2) + str = "%s - %.0f(ms) (%2.2f%%)" % (cs.cmd, time/1000000, (time/total_time) * 100.0) + draw_legend_box(ctx, str, cs.color, x, y, leg_s) + i = i + 1 + if i >= LEGENDS_TOTAL: + break diff --git a/poky/scripts/pybootchartgui/pybootchartgui/gui.py b/poky/scripts/pybootchartgui/pybootchartgui/gui.py index 7fedd232d..e1fe91556 100644 --- a/poky/scripts/pybootchartgui/pybootchartgui/gui.py +++ b/poky/scripts/pybootchartgui/pybootchartgui/gui.py @@ -13,64 +13,83 @@ # You should have received a copy of the GNU General Public License # along with pybootchartgui. If not, see <http://www.gnu.org/licenses/>. -import gobject -import gtk -import gtk.gdk -import gtk.keysyms +import gi +gi.require_version('Gtk', '3.0') +from gi.repository import Gtk as gtk +from gi.repository import Gtk +from gi.repository import Gdk +from gi.repository import GObject as gobject +from gi.repository import GObject + from . import draw from .draw import RenderOptions -class PyBootchartWidget(gtk.DrawingArea): +class PyBootchartWidget(gtk.DrawingArea, gtk.Scrollable): __gsignals__ = { - 'expose-event': 'override', - 'clicked' : (gobject.SIGNAL_RUN_LAST, gobject.TYPE_NONE, (gobject.TYPE_STRING, gtk.gdk.Event)), + 'clicked' : (gobject.SIGNAL_RUN_LAST, gobject.TYPE_NONE, (gobject.TYPE_STRING, Gdk.Event)), 'position-changed' : (gobject.SIGNAL_RUN_LAST, gobject.TYPE_NONE, (gobject.TYPE_INT, gobject.TYPE_INT)), 'set-scroll-adjustments' : (gobject.SIGNAL_RUN_LAST, gobject.TYPE_NONE, (gtk.Adjustment, gtk.Adjustment)) } + hadjustment = GObject.property(type=Gtk.Adjustment, + default=Gtk.Adjustment(), + flags=GObject.PARAM_READWRITE) + hscroll_policy = GObject.property(type=Gtk.ScrollablePolicy, + default=Gtk.ScrollablePolicy.MINIMUM, + flags=GObject.PARAM_READWRITE) + vadjustment = GObject.property(type=Gtk.Adjustment, + default=Gtk.Adjustment(), + flags=GObject.PARAM_READWRITE) + vscroll_policy = GObject.property(type=Gtk.ScrollablePolicy, + default=Gtk.ScrollablePolicy.MINIMUM, + flags=GObject.PARAM_READWRITE) + def __init__(self, trace, options, xscale): gtk.DrawingArea.__init__(self) self.trace = trace self.options = options - self.set_flags(gtk.CAN_FOCUS) + self.set_can_focus(True) - self.add_events(gtk.gdk.BUTTON_PRESS_MASK | gtk.gdk.BUTTON_RELEASE_MASK) + self.add_events(Gdk.EventMask.BUTTON_PRESS_MASK | Gdk.EventMask.BUTTON_RELEASE_MASK) self.connect("button-press-event", self.on_area_button_press) self.connect("button-release-event", self.on_area_button_release) - self.add_events(gtk.gdk.POINTER_MOTION_MASK | gtk.gdk.POINTER_MOTION_HINT_MASK | gtk.gdk.BUTTON_RELEASE_MASK) + self.add_events(Gdk.EventMask.POINTER_MOTION_MASK | Gdk.EventMask.POINTER_MOTION_HINT_MASK | Gdk.EventMask.BUTTON_RELEASE_MASK) self.connect("motion-notify-event", self.on_area_motion_notify) self.connect("scroll-event", self.on_area_scroll_event) self.connect('key-press-event', self.on_key_press_event) - self.connect('set-scroll-adjustments', self.on_set_scroll_adjustments) self.connect("size-allocate", self.on_allocation_size_changed) self.connect("position-changed", self.on_position_changed) + self.connect("draw", self.on_draw) + self.zoom_ratio = 1.0 self.xscale = xscale self.x, self.y = 0.0, 0.0 self.chart_width, self.chart_height = draw.extents(self.options, self.xscale, self.trace) - self.hadj = None - self.vadj = None - self.hadj_changed_signal_id = None - self.vadj_changed_signal_id = None - - def do_expose_event(self, event): - cr = self.window.cairo_create() - - # set a clip region for the expose event - cr.rectangle( - event.area.x, event.area.y, - event.area.width, event.area.height - ) - cr.clip() - self.draw(cr, self.get_allocation()) - return False - - def draw(self, cr, rect): + self.our_width, self.our_height = self.chart_width, self.chart_height + + self.hadj = gtk.Adjustment(0.0, 0.0, 0.0, 0.0, 0.0, 0.0) + self.vadj = gtk.Adjustment(0.0, 0.0, 0.0, 0.0, 0.0, 0.0) + self.vadj.connect('value-changed', self.on_adjustments_changed) + self.hadj.connect('value-changed', self.on_adjustments_changed) + + def bound_vals(self): + self.x = max(0, self.x) + self.y = max(0, self.y) + self.x = min(self.chart_width - self.our_width, self.x) + self.y = min(self.chart_height - self.our_height, self.y) + + def on_draw(self, darea, cr): + # set a clip region + #cr.rectangle( + # self.x, self.y, + # self.chart_width, self.chart_height + #) + #cr.clip() cr.set_source_rgba(1.0, 1.0, 1.0, 1.0) cr.paint() cr.scale(self.zoom_ratio, self.zoom_ratio) @@ -84,7 +103,7 @@ class PyBootchartWidget(gtk.DrawingArea): def zoom_image (self, zoom_ratio): self.zoom_ratio = zoom_ratio - self._set_scroll_adjustments (self.hadj, self.vadj) + self._set_scroll_adjustments() self.queue_draw() def zoom_to_rect (self, rect): @@ -122,126 +141,101 @@ class PyBootchartWidget(gtk.DrawingArea): def show_toggled(self, button): self.options.app_options.show_all = button.get_property ('active') self.chart_width, self.chart_height = draw.extents(self.options, self.xscale, self.trace) - self._set_scroll_adjustments(self.hadj, self.vadj) + self._set_scroll_adjustments() self.queue_draw() POS_INCREMENT = 100 def on_key_press_event(self, widget, event): - if event.keyval == gtk.keysyms.Left: + if event.keyval == Gdk.keyval_from_name("Left"): self.x -= self.POS_INCREMENT/self.zoom_ratio - elif event.keyval == gtk.keysyms.Right: + elif event.keyval == Gdk.keyval_from_name("Right"): self.x += self.POS_INCREMENT/self.zoom_ratio - elif event.keyval == gtk.keysyms.Up: + elif event.keyval == Gdk.keyval_from_name("Up"): self.y -= self.POS_INCREMENT/self.zoom_ratio - elif event.keyval == gtk.keysyms.Down: + elif event.keyval == Gdk.keyval_from_name("Down"): self.y += self.POS_INCREMENT/self.zoom_ratio else: return False + self.bound_vals() self.queue_draw() self.position_changed() return True def on_area_button_press(self, area, event): if event.button == 2 or event.button == 1: - area.window.set_cursor(gtk.gdk.Cursor(gtk.gdk.FLEUR)) + window = self.get_window() + window.set_cursor(Gdk.Cursor(Gdk.CursorType.FLEUR)) self.prevmousex = event.x self.prevmousey = event.y - if event.type not in (gtk.gdk.BUTTON_PRESS, gtk.gdk.BUTTON_RELEASE): + if event.type not in (Gdk.EventType.BUTTON_PRESS, Gdk.EventType.BUTTON_RELEASE): return False return False def on_area_button_release(self, area, event): if event.button == 2 or event.button == 1: - area.window.set_cursor(gtk.gdk.Cursor(gtk.gdk.ARROW)) + window = self.get_window() + window.set_cursor(Gdk.Cursor(Gdk.CursorType.ARROW)) self.prevmousex = None self.prevmousey = None return True return False def on_area_scroll_event(self, area, event): - if event.state & gtk.gdk.CONTROL_MASK: - if event.direction == gtk.gdk.SCROLL_UP: + if event.state & Gdk.CONTROL_MASK: + if event.direction == Gdk.SCROLL_UP: self.zoom_image(self.zoom_ratio * self.ZOOM_INCREMENT) return True - if event.direction == gtk.gdk.SCROLL_DOWN: + if event.direction == Gdk.SCROLL_DOWN: self.zoom_image(self.zoom_ratio / self.ZOOM_INCREMENT) return True return False def on_area_motion_notify(self, area, event): state = event.state - if state & gtk.gdk.BUTTON2_MASK or state & gtk.gdk.BUTTON1_MASK: + if state & Gdk.ModifierType.BUTTON2_MASK or state & Gdk.ModifierType.BUTTON1_MASK: x, y = int(event.x), int(event.y) # pan the image self.x += (self.prevmousex - x)/self.zoom_ratio self.y += (self.prevmousey - y)/self.zoom_ratio + self.bound_vals() self.queue_draw() self.prevmousex = x self.prevmousey = y self.position_changed() return True - def on_set_scroll_adjustments(self, area, hadj, vadj): - self._set_scroll_adjustments (hadj, vadj) - def on_allocation_size_changed(self, widget, allocation): self.hadj.page_size = allocation.width self.hadj.page_increment = allocation.width * 0.9 self.vadj.page_size = allocation.height self.vadj.page_increment = allocation.height * 0.9 + self.our_width = allocation.width + if self.chart_width < self.our_width: + self.our_width = self.chart_width + self.our_height = allocation.height + if self.chart_height < self.our_height: + self.our_height = self.chart_height + self._set_scroll_adjustments() def _set_adj_upper(self, adj, upper): - changed = False - value_changed = False - - if adj.upper != upper: - adj.upper = upper - changed = True - - max_value = max(0.0, upper - adj.page_size) - if adj.value > max_value: - adj.value = max_value - value_changed = True - - if changed: - adj.changed() - if value_changed: - adj.value_changed() - - def _set_scroll_adjustments(self, hadj, vadj): - if hadj == None: - hadj = gtk.Adjustment(0.0, 0.0, 0.0, 0.0, 0.0, 0.0) - if vadj == None: - vadj = gtk.Adjustment(0.0, 0.0, 0.0, 0.0, 0.0, 0.0) - - if self.hadj_changed_signal_id != None and \ - self.hadj != None and hadj != self.hadj: - self.hadj.disconnect (self.hadj_changed_signal_id) - if self.vadj_changed_signal_id != None and \ - self.vadj != None and vadj != self.vadj: - self.vadj.disconnect (self.vadj_changed_signal_id) - - if hadj != None: - self.hadj = hadj - self._set_adj_upper (self.hadj, self.zoom_ratio * self.chart_width) - self.hadj_changed_signal_id = self.hadj.connect('value-changed', self.on_adjustments_changed) - - if vadj != None: - self.vadj = vadj - self._set_adj_upper (self.vadj, self.zoom_ratio * self.chart_height) - self.vadj_changed_signal_id = self.vadj.connect('value-changed', self.on_adjustments_changed) + + if adj.get_upper() != upper: + adj.set_upper(upper) + + def _set_scroll_adjustments(self): + self._set_adj_upper (self.hadj, self.zoom_ratio * (self.chart_width - self.our_width)) + self._set_adj_upper (self.vadj, self.zoom_ratio * (self.chart_height - self.our_height)) def on_adjustments_changed(self, adj): - self.x = self.hadj.value / self.zoom_ratio - self.y = self.vadj.value / self.zoom_ratio + self.x = self.hadj.get_value() / self.zoom_ratio + self.y = self.vadj.get_value() / self.zoom_ratio self.queue_draw() def on_position_changed(self, widget, x, y): - self.hadj.value = x * self.zoom_ratio - self.vadj.value = y * self.zoom_ratio - -PyBootchartWidget.set_set_scroll_adjustments_signal('set-scroll-adjustments') + self.hadj.set_value(x * self.zoom_ratio) + #self.hadj.value_changed() + self.vadj.set_value(y * self.zoom_ratio) class PyBootchartShell(gtk.VBox): ui = ''' @@ -260,7 +254,7 @@ class PyBootchartShell(gtk.VBox): def __init__(self, window, trace, options, xscale): gtk.VBox.__init__(self) - self.widget = PyBootchartWidget(trace, options, xscale) + self.widget2 = PyBootchartWidget(trace, options, xscale) # Create a UIManager instance uimanager = self.uimanager = gtk.UIManager() @@ -275,12 +269,12 @@ class PyBootchartShell(gtk.VBox): # Create actions actiongroup.add_actions(( - ('Expand', gtk.STOCK_ADD, None, None, None, self.widget.on_expand), - ('Contract', gtk.STOCK_REMOVE, None, None, None, self.widget.on_contract), - ('ZoomIn', gtk.STOCK_ZOOM_IN, None, None, None, self.widget.on_zoom_in), - ('ZoomOut', gtk.STOCK_ZOOM_OUT, None, None, None, self.widget.on_zoom_out), - ('ZoomFit', gtk.STOCK_ZOOM_FIT, 'Fit Width', None, None, self.widget.on_zoom_fit), - ('Zoom100', gtk.STOCK_ZOOM_100, None, None, None, self.widget.on_zoom_100), + ('Expand', gtk.STOCK_ADD, None, None, None, self.widget2.on_expand), + ('Contract', gtk.STOCK_REMOVE, None, None, None, self.widget2.on_contract), + ('ZoomIn', gtk.STOCK_ZOOM_IN, None, None, None, self.widget2.on_zoom_in), + ('ZoomOut', gtk.STOCK_ZOOM_OUT, None, None, None, self.widget2.on_zoom_out), + ('ZoomFit', gtk.STOCK_ZOOM_FIT, 'Fit Width', None, None, self.widget2.on_zoom_fit), + ('Zoom100', gtk.STOCK_ZOOM_100, None, None, None, self.widget2.on_zoom_100), )) # Add the actiongroup to the uimanager @@ -290,29 +284,33 @@ class PyBootchartShell(gtk.VBox): uimanager.add_ui_from_string(self.ui) # Scrolled window - scrolled = gtk.ScrolledWindow() - scrolled.add(self.widget) + scrolled = gtk.ScrolledWindow(self.widget2.hadj, self.widget2.vadj) + scrolled.add(self.widget2) + + #scrolled.set_hadjustment() + #scrolled.set_vadjustment(self.widget2.vadj) + scrolled.set_policy(gtk.PolicyType.ALWAYS, gtk.PolicyType.ALWAYS) # toolbar / h-box hbox = gtk.HBox(False, 8) # Create a Toolbar toolbar = uimanager.get_widget('/ToolBar') - hbox.pack_start(toolbar, True, True) + hbox.pack_start(toolbar, True, True, 0) if not options.kernel_only: # Misc. options button = gtk.CheckButton("Show more") - button.connect ('toggled', self.widget.show_toggled) + button.connect ('toggled', self.widget2.show_toggled) button.set_active(options.app_options.show_all) - hbox.pack_start (button, False, True) + hbox.pack_start (button, False, True, 0) - self.pack_start(hbox, False) - self.pack_start(scrolled) + self.pack_start(hbox, False, True, 0) + self.pack_start(scrolled, True, True, 0) self.show_all() def grab_focus(self, window): - window.set_focus(self.widget) + window.set_focus(self.widget2) class PyBootchartWindow(gtk.Window): diff --git a/poky/scripts/pybootchartgui/pybootchartgui/parsing.py b/poky/scripts/pybootchartgui/pybootchartgui/parsing.py index bcfb2da56..ef2d3d309 100644 --- a/poky/scripts/pybootchartgui/pybootchartgui/parsing.py +++ b/poky/scripts/pybootchartgui/pybootchartgui/parsing.py @@ -267,7 +267,7 @@ def _parse_headers(file): value = line.strip() headers[last] += value return headers, last - return reduce(parse, file.read().decode('utf-8').split('\n'), (defaultdict(str),''))[0] + return reduce(parse, file.read().split('\n'), (defaultdict(str),''))[0] def _parse_timed_blocks(file): """Parses (ie., splits) a file into so-called timed-blocks. A @@ -281,7 +281,7 @@ def _parse_timed_blocks(file): return (int(lines[0]), lines[1:]) except ValueError: raise ParseError("expected a timed-block, but timestamp '%s' is not an integer" % lines[0]) - blocks = file.read().decode('utf-8').split('\n\n') + blocks = file.read().split('\n\n') return [parse(block) for block in blocks if block.strip() and not block.endswith(' not running\n')] def _parse_proc_ps_log(writer, file): @@ -577,7 +577,7 @@ def _parse_dmesg(writer, file): processMap['k-boot'] = kernel base_ts = False max_ts = 0 - for line in file.read().decode('utf-8').split('\n'): + for line in file.read().split('\n'): t = timestamp_re.match (line) if t is None: # print "duff timestamp " + line @@ -665,7 +665,7 @@ def _parse_pacct(writer, file): def _parse_paternity_log(writer, file): parent_map = {} parent_map[0] = 0 - for line in file.read().decode('utf-8').split('\n'): + for line in file.read().split('\n'): if not line: continue elems = line.split(' ') # <Child> <Parent> @@ -678,7 +678,7 @@ def _parse_paternity_log(writer, file): def _parse_cmdline_log(writer, file): cmdLines = {} - for block in file.read().decode('utf-8').split('\n\n'): + for block in file.read().split('\n\n'): lines = block.split('\n') if len (lines) >= 3: # print "Lines '%s'" % (lines[0]) @@ -751,7 +751,7 @@ def parse_file(writer, state, filename): if state.filename is None: state.filename = filename basename = os.path.basename(filename) - with open(filename, "rb") as file: + with open(filename, "r") as file: return _do_parse(writer, state, filename, file) def parse_paths(writer, state, paths): diff --git a/poky/scripts/pythondeps b/poky/scripts/pythondeps index 3e13a587e..be21dd84e 100755 --- a/poky/scripts/pythondeps +++ b/poky/scripts/pythondeps @@ -1,5 +1,7 @@ #!/usr/bin/env python3 # +# SPDX-License-Identifier: GPL-2.0-only +# # Determine dependencies of python scripts or available python modules in a search path. # # Given the -d argument and a filename/filenames, returns the modules imported by those files. diff --git a/poky/scripts/recipetool b/poky/scripts/recipetool index 3a3c9b744..e2d585d2c 100755 --- a/poky/scripts/recipetool +++ b/poky/scripts/recipetool @@ -4,18 +4,8 @@ # # Copyright (C) 2014 Intel Corporation # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. import sys import os diff --git a/poky/scripts/relocate_sdk.py b/poky/scripts/relocate_sdk.py index c752fa2c6..8c0fdb986 100755 --- a/poky/scripts/relocate_sdk.py +++ b/poky/scripts/relocate_sdk.py @@ -2,18 +2,7 @@ # # Copyright (c) 2012 Intel Corporation # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# See the GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# SPDX-License-Identifier: GPL-2.0-only # # DESCRIPTION # This script is called by the SDK installer script. It replaces the dynamic diff --git a/poky/scripts/resulttool b/poky/scripts/resulttool index 18ac10192..fc282bda6 100755 --- a/poky/scripts/resulttool +++ b/poky/scripts/resulttool @@ -25,14 +25,7 @@ # # Copyright (c) 2019, Intel Corporation. # -# This program is free software; you can redistribute it and/or modify it -# under the terms and conditions of the GNU General Public License, -# version 2, as published by the Free Software Foundation. -# -# This program is distributed in the hope it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for -# more details. +# SPDX-License-Identifier: GPL-2.0-only # import os @@ -49,6 +42,7 @@ import resulttool.store import resulttool.regression import resulttool.report import resulttool.manualexecution +import resulttool.log logger = scriptutils.logger_create('resulttool') def main(): @@ -66,6 +60,7 @@ def main(): subparsers.add_subparser_group('analysis', 'analysis', 100) resulttool.regression.register_commands(subparsers) resulttool.report.register_commands(subparsers) + resulttool.log.register_commands(subparsers) args = parser.parse_args() if args.debug: diff --git a/poky/scripts/rpm2cpio.sh b/poky/scripts/rpm2cpio.sh index cf23472ba..876c53c5d 100755 --- a/poky/scripts/rpm2cpio.sh +++ b/poky/scripts/rpm2cpio.sh @@ -1,5 +1,4 @@ #!/bin/sh -efu - # This file comes from rpm 4.x distribution fatal() { diff --git a/poky/scripts/runqemu b/poky/scripts/runqemu index c0e569c44..39bed038d 100755 --- a/poky/scripts/runqemu +++ b/poky/scripts/runqemu @@ -5,18 +5,8 @@ # Copyright (C) 2006-2011 Linux Foundation # Copyright (c) 2016 Wind River Systems, Inc. # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. import os import sys @@ -1329,7 +1319,8 @@ def main(): logger.info("SIGTERM received") os.kill(config.qemupid, signal.SIGTERM) config.cleanup() - subprocess.check_call(["tput", "smam"]) + # Deliberately ignore the return code of 'tput smam'. + subprocess.call(["tput", "smam"]) signal.signal(signal.SIGTERM, sigterm_handler) config.check_args() @@ -1351,7 +1342,8 @@ def main(): return 1 finally: config.cleanup() - subprocess.check_call(["tput", "smam"]) + # Deliberately ignore the return code of 'tput smam'. + subprocess.call(["tput", "smam"]) if __name__ == "__main__": sys.exit(main()) diff --git a/poky/scripts/runqemu-addptable2image b/poky/scripts/runqemu-addptable2image index f0195ad8a..ca2942725 100755 --- a/poky/scripts/runqemu-addptable2image +++ b/poky/scripts/runqemu-addptable2image @@ -4,20 +4,8 @@ # # Copyright (C) 2006-2007 OpenedHand Ltd. # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. +# SPDX-License-Identifier: GPL-2.0-or-later # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - IMAGE=$1 IMAGEOUT=$2 diff --git a/poky/scripts/runqemu-export-rootfs b/poky/scripts/runqemu-export-rootfs index 70cdcdbb1..384c09171 100755 --- a/poky/scripts/runqemu-export-rootfs +++ b/poky/scripts/runqemu-export-rootfs @@ -2,18 +2,8 @@ # # Copyright (c) 2005-2009 Wind River Systems, Inc. # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# See the GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA usage() { echo "Usage: $0 {start|stop|restart} <nfs-export-dir>" diff --git a/poky/scripts/runqemu-extract-sdk b/poky/scripts/runqemu-extract-sdk index 4da3eb10a..8a4ee90a1 100755 --- a/poky/scripts/runqemu-extract-sdk +++ b/poky/scripts/runqemu-extract-sdk @@ -7,18 +7,8 @@ # # Copyright (c) 2010 Intel Corp. # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# See the GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA function usage() { echo "Usage: $0 <image-tarball> <extract-dir>" diff --git a/poky/scripts/runqemu-gen-tapdevs b/poky/scripts/runqemu-gen-tapdevs index 869fee261..a6ee4517d 100755 --- a/poky/scripts/runqemu-gen-tapdevs +++ b/poky/scripts/runqemu-gen-tapdevs @@ -9,18 +9,8 @@ # # Copyright (C) 2010 Intel Corp. # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. uid=`id -u` gid=`id -g` diff --git a/poky/scripts/runqemu-ifdown b/poky/scripts/runqemu-ifdown index 248696858..a104c37bf 100755 --- a/poky/scripts/runqemu-ifdown +++ b/poky/scripts/runqemu-ifdown @@ -13,18 +13,8 @@ # # Copyright (c) 2006-2011 Linux Foundation # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. usage() { echo "sudo $(basename $0) <tap-dev> <native-sysroot-basedir>" diff --git a/poky/scripts/runqemu-ifup b/poky/scripts/runqemu-ifup index 59a15eaa2..bb661740c 100755 --- a/poky/scripts/runqemu-ifup +++ b/poky/scripts/runqemu-ifup @@ -20,18 +20,8 @@ # # Copyright (c) 2006-2011 Linux Foundation # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# SPDX-License-Identifier: GPL-2.0-only # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. usage() { echo "sudo $(basename $0) <uid> <gid> <native-sysroot-basedir>" diff --git a/poky/scripts/send-error-report b/poky/scripts/send-error-report index 0ed7cc905..cfbcaa52c 100755 --- a/poky/scripts/send-error-report +++ b/poky/scripts/send-error-report @@ -6,6 +6,9 @@ # Copyright (C) 2013 Intel Corporation # Author: Andreea Proca <andreea.b.proca@intel.com> # Author: Michael Wood <michael.g.wood@intel.com> +# +# SPDX-License-Identifier: GPL-2.0-only +# import urllib.request, urllib.error import sys diff --git a/poky/scripts/send-pull-request b/poky/scripts/send-pull-request index 883deacb0..70b5a5cfb 100755 --- a/poky/scripts/send-pull-request +++ b/poky/scripts/send-pull-request @@ -1,21 +1,8 @@ #!/bin/bash # # Copyright (c) 2010-2011, Intel Corporation. -# All Rights Reserved -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See -# the GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# SPDX-License-Identifier: GPL-2.0-or-later # # diff --git a/poky/scripts/sstate-cache-management.sh b/poky/scripts/sstate-cache-management.sh index 2ab450ab5..f1706a222 100755 --- a/poky/scripts/sstate-cache-management.sh +++ b/poky/scripts/sstate-cache-management.sh @@ -2,18 +2,7 @@ # Copyright (c) 2012 Wind River Systems, Inc. # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# See the GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# SPDX-License-Identifier: GPL-2.0-only # # Global vars diff --git a/poky/scripts/sstate-diff-machines.sh b/poky/scripts/sstate-diff-machines.sh index 27c6a3300..1d721eb87 100755 --- a/poky/scripts/sstate-diff-machines.sh +++ b/poky/scripts/sstate-diff-machines.sh @@ -1,5 +1,7 @@ #!/bin/bash - +# +# SPDX-License-Identifier: GPL-2.0-only +# # Used to compare sstate checksums between MACHINES. # Execute script and compare generated list.M files. # Using bash to have PIPESTATUS variable. diff --git a/poky/scripts/sstate-sysroot-cruft.sh b/poky/scripts/sstate-sysroot-cruft.sh index d9917f515..fbf1ca3c4 100755 --- a/poky/scripts/sstate-sysroot-cruft.sh +++ b/poky/scripts/sstate-sysroot-cruft.sh @@ -1,5 +1,7 @@ #!/bin/sh - +# +# SPDX-License-Identifier: GPL-2.0-only +# # Used to find files installed in sysroot which are not tracked by sstate manifest # Global vars diff --git a/poky/scripts/sysroot-relativelinks.py b/poky/scripts/sysroot-relativelinks.py index ffe254728..56e36f3ad 100755 --- a/poky/scripts/sysroot-relativelinks.py +++ b/poky/scripts/sysroot-relativelinks.py @@ -1,4 +1,8 @@ #!/usr/bin/env python3 +# +# SPDX-License-Identifier: GPL-2.0-only +# + import sys import os diff --git a/poky/scripts/task-time b/poky/scripts/task-time index e58040a9b..bcd1e2581 100755 --- a/poky/scripts/task-time +++ b/poky/scripts/task-time @@ -1,4 +1,7 @@ #!/usr/bin/env python3 +# +# SPDX-License-Identifier: GPL-2.0-only +# import argparse import os diff --git a/poky/scripts/test-reexec b/poky/scripts/test-reexec index 30e792c7d..fccdac4da 100755 --- a/poky/scripts/test-reexec +++ b/poky/scripts/test-reexec @@ -3,21 +3,8 @@ # Test Script for task re-execution # # Copyright 2012 Intel Corporation -# All rights reserved. # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# SPDX-License-Identifier: GPL-2.0-or-later # # DESCRIPTION # This script is intended to address issues for re-execution of diff --git a/poky/scripts/test-remote-image b/poky/scripts/test-remote-image index 27b1cae38..d209d2285 100755 --- a/poky/scripts/test-remote-image +++ b/poky/scripts/test-remote-image @@ -1,19 +1,9 @@ #!/usr/bin/env python3 - -# Copyright (c) 2014 Intel Corporation # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. +# Copyright (c) 2014 Intel Corporation # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. +# SPDX-License-Identifier: GPL-2.0-only # -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. # DESCRIPTION # This script is used to test public autobuilder images on remote hardware. diff --git a/poky/scripts/tiny/dirsize.py b/poky/scripts/tiny/dirsize.py index ddccc5a8c..501516b0d 100755 --- a/poky/scripts/tiny/dirsize.py +++ b/poky/scripts/tiny/dirsize.py @@ -1,22 +1,8 @@ #!/usr/bin/env python3 # # Copyright (c) 2011, Intel Corporation. -# All rights reserved. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # +# SPDX-License-Identifier: GPL-2.0-or-later # # Display details of the root filesystem size, broken up by directory. # Allows for limiting by size to focus on the larger files. diff --git a/poky/scripts/tiny/ksize.py b/poky/scripts/tiny/ksize.py index ea1ca7ff2..bc11919f4 100755 --- a/poky/scripts/tiny/ksize.py +++ b/poky/scripts/tiny/ksize.py @@ -1,22 +1,8 @@ #!/usr/bin/env python3 # # Copyright (c) 2011, Intel Corporation. -# All rights reserved. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # +# SPDX-License-Identifier: GPL-2.0-or-later # # Display details of the kernel build size, broken up by built-in.o. Sort # the objects by size. Run from the top level kernel build directory. diff --git a/poky/scripts/tiny/ksum.py b/poky/scripts/tiny/ksum.py index d4f389215..f38ae055d 100755 --- a/poky/scripts/tiny/ksum.py +++ b/poky/scripts/tiny/ksum.py @@ -1,22 +1,8 @@ #!/usr/bin/env python -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- # # Copyright (c) 2016, Intel Corporation. -# All rights reserved. # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +# SPDX-License-Identifier: GPL-2.0-only # # DESCRIPTION 'ksum.py' generates a combined summary of vmlinux and # module sizes for a built kernel, as a quick tool for comparing the diff --git a/poky/scripts/verify-bashisms b/poky/scripts/verify-bashisms index a979bd296..fb0cc719e 100755 --- a/poky/scripts/verify-bashisms +++ b/poky/scripts/verify-bashisms @@ -1,4 +1,7 @@ #!/usr/bin/env python3 +# +# SPDX-License-Identifier: GPL-2.0-only +# import sys, os, subprocess, re, shutil diff --git a/poky/scripts/wic b/poky/scripts/wic index b4b7212cf..1d89fb2ed 100755 --- a/poky/scripts/wic +++ b/poky/scripts/wic @@ -1,22 +1,8 @@ #!/usr/bin/env python3 -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- # # Copyright (c) 2013, Intel Corporation. -# All rights reserved. # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +# SPDX-License-Identifier: GPL-2.0-only # # DESCRIPTION 'wic' is the OpenEmbedded Image Creator that users can # use to generate bootable images. Invoking it without any arguments @@ -426,7 +412,7 @@ def expandtype(rules): if rules == 'auto': return {} result = {} - for rule in rules.split('-'): + for rule in rules.split(','): try: part, size = rule.split(':') except ValueError: @@ -501,6 +487,9 @@ subcommands = { def init_parser(parser): parser.add_argument("--version", action="version", version="%(prog)s {version}".format(version=__version__)) + parser.add_argument("-D", "--debug", dest="debug", action="store_true", + default=False, help="output debug information") + subparsers = parser.add_subparsers(dest='command', help=hlp.wic_usage) for subcmd in subcommands: subparser = subparsers.add_parser(subcmd, help=subcommands[subcmd][2]) @@ -514,6 +503,8 @@ def main(argv): init_parser(parser) args = parser.parse_args(argv) + if args.debug: + logger.setLevel(logging.DEBUG) if "command" in vars(args): if args.command == "help": diff --git a/poky/scripts/yocto-check-layer b/poky/scripts/yocto-check-layer index 106c95525..010830f84 100755 --- a/poky/scripts/yocto-check-layer +++ b/poky/scripts/yocto-check-layer @@ -3,7 +3,9 @@ # Yocto Project layer checking tool # # Copyright (C) 2017 Intel Corporation -# Released under the MIT license (see COPYING.MIT) +# +# SPDX-License-Identifier: MIT +# import os import sys diff --git a/poky/scripts/yocto-check-layer-wrapper b/poky/scripts/yocto-check-layer-wrapper index b5df9ce98..2e3b69903 100755 --- a/poky/scripts/yocto-check-layer-wrapper +++ b/poky/scripts/yocto-check-layer-wrapper @@ -6,7 +6,9 @@ # script to avoid a contaminated environment. # # Copyright (C) 2017 Intel Corporation -# Released under the MIT license (see COPYING.MIT) +# +# SPDX-License-Identifier: MIT +# if [ -z "$BUILDDIR" ]; then echo "Please source oe-init-build-env before run this script." |