diff options
Diffstat (limited to 'meta-oe')
822 files changed, 19381 insertions, 9907 deletions
diff --git a/meta-oe/classes/breakpad.bbclass b/meta-oe/classes/breakpad.bbclass index e4d6808a60..b3abf278d6 100644 --- a/meta-oe/classes/breakpad.bbclass +++ b/meta-oe/classes/breakpad.bbclass @@ -24,7 +24,7 @@ python () { PACKAGE_PREPROCESS_FUNCS += "breakpad_package_preprocess" breakpad_package_preprocess () { mkdir -p ${PKGD}/usr/share/breakpad-syms - find ${D} -name ${BREAKPAD_BIN} -exec sh -c "dump_syms {} > ${PKGD}/usr/share/breakpad-syms/${BREAKPAD_BIN}.syms" \; + find ${D} -name ${BREAKPAD_BIN} -exec sh -c "dump_syms {} > ${PKGD}/usr/share/breakpad-syms/${BREAKPAD_BIN}.sym" \; } PACKAGES =+ "${PN}-breakpad" diff --git a/meta-oe/classes/gpe.bbclass b/meta-oe/classes/gpe.bbclass index 2adbd48419..9fc136590a 100644 --- a/meta-oe/classes/gpe.bbclass +++ b/meta-oe/classes/gpe.bbclass @@ -1,6 +1,6 @@ DEPENDS_prepend = "virtual/libintl intltool-native " GPE_TARBALL_SUFFIX ?= "gz" -SRC_URI = "${GPE_MIRROR}/${PN}-${PV}.tar.${GPE_TARBALL_SUFFIX}" +SRC_URI = "${GPE_MIRROR}/${BP}.tar.${GPE_TARBALL_SUFFIX}" FILES_${PN} += "${datadir}/gpe ${datadir}/application-registry" SECTION ?= "gpe" diff --git a/meta-oe/conf/layer.conf b/meta-oe/conf/layer.conf index 2a5a4286a2..e2a89cdae9 100644 --- a/meta-oe/conf/layer.conf +++ b/meta-oe/conf/layer.conf @@ -23,6 +23,12 @@ BBFILE_PATTERN_openembedded-layer := "^${LAYERDIR}/" BBFILE_PRIORITY_openembedded-layer = "6" +# This should only be incremented on significant changes that will +# cause compatibility issues with other layers +LAYERVERSION_openembedded-layer = "1" + +LAYERDEPENDS_openembedded-layer = "core" + LICENSE_PATH += "${LAYERDIR}/licenses" SIGGEN_EXCLUDERECIPES_ABISAFE += " \ diff --git a/meta-oe/licenses/BSD-0-Clause b/meta-oe/licenses/BSD-0-Clause new file mode 100644 index 0000000000..328bdd6aee --- /dev/null +++ b/meta-oe/licenses/BSD-0-Clause @@ -0,0 +1,12 @@ +Copyright (C) <YEAR> by <OWNER> + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/meta-oe/licenses/GPL-2.0-with-lmbench-restriction b/meta-oe/licenses/GPL-2.0-with-lmbench-restriction new file mode 100644 index 0000000000..3e1f7cc6d3 --- /dev/null +++ b/meta-oe/licenses/GPL-2.0-with-lmbench-restriction @@ -0,0 +1,108 @@ +%M% %I% %E% + +The set of programs and documentation known as "lmbench" are distributed +under the Free Software Foundation's General Public License with the +following additional restrictions (which override any conflicting +restrictions in the GPL): + +1. You may not distribute results in any public forum, in any publication, + or in any other way if you have modified the benchmarks. + +2. You may not distribute the results for a fee of any kind. This includes + web sites which generate revenue from advertising. + +If you have modifications or enhancements that you wish included in +future versions, please mail those to me, Larry McVoy, at lm@bitmover.com. + +========================================================================= + +Rationale for the publication restrictions: + +In summary: + + a) LMbench is designed to measure enough of an OS that if you do well in + all catagories, you've covered latency and bandwidth in networking, + disks, file systems, VM systems, and memory systems. + b) Multiple times in the past people have wanted to report partial results. + Without exception, they were doing so to show a skewed view of whatever + it was they were measuring (for example, one OS fit small processes into + segments and used the segment register to switch them, getting good + results, but did not want to report large process context switches + because those didn't look as good). + c) We insist that if you formally report LMbench results, you have to + report all of them and make the raw results file easily available. + Reporting all of them means in that same publication, a pointer + does not count. Formally, in this context, means in a paper, + on a web site, etc., but does not mean the exchange of results + between OS developers who are tuning a particular subsystem. + +We have a lot of history with benchmarking and feel strongly that there +is little to be gained and a lot to be lost if we allowed the results +to be published in isolation, without the complete story being told. + +There has been a lot of discussion about this, with people not liking this +restriction, more or less on the freedom principle as far as I can tell. +We're not swayed by that, our position is that we are doing the right +thing for the OS community and will stick to our guns on this one. + +It would be a different matter if there were 3 other competing +benchmarking systems out there that did what LMbench does and didn't have +the same reporting rules. There aren't and as long as that is the case, +I see no reason to change my mind and lots of reasons not to do so. I'm +sorry if I'm a pain in the ass on this topic, but I'm doing the right +thing for you and the sooner people realize that the sooner we can get on +to real work. + +Operating system design is a largely an art of balancing tradeoffs. +In many cases improving one part of the system has negative effects +on other parts of the system. The art is choosing which parts to +optimize and which to not optimize. Just like in computer architecture, +you can optimize the common instructions (RISC) or the uncommon +instructions (CISC), but in either case there is usually a cost to +pay (in RISC uncommon instructions are more expensive than common +instructions, and in CISC common instructions are more expensive +than required). The art lies in knowing which operations are +important and optmizing those while minimizing the impact on the +rest of the system. + +Since lmbench gives a good overview of many important system features, +users may see the performance of the system as a whole, and can +see where tradeoffs may have been made. This is the driving force +behind the publication restriction: any idiot can optimize certain +subsystems while completely destroying overall system performance. +If said idiot publishes *only* the numbers relating to the optimized +subsystem, then the costs of the optimization are hidden and readers +will mistakenly believe that the optimization is a good idea. By +including the publication restriction readers would be able to +detect that the optimization improved the subsystem performance +while damaging the rest of the system performance and would be able +to make an informed decision as to the merits of the optimization. + +Note that these restrictions only apply to *publications*. We +intend and encourage lmbench's use during design, development, +and tweaking of systems and applications. If you are tuning the +linux or BSD TCP stack, then by all means, use the networking +benchmarks to evaluate the performance effects of various +modifications; Swap results with other developers; use the +networking numbers in isolation. The restrictions only kick +in when you go to *publish* the results. If you sped up the +TCP stack by a factor of 2 and want to publish a paper with the +various tweaks or algorithms used to accomplish this goal, then +you can publish the networking numbers to show the improvement. +However, the paper *must* also include the rest of the standard +lmbench numbers to show how your tweaks may (or may not) have +impacted the rest of the system. The full set of numbers may +be included in an appendix, but they *must* be included in the +paper. + +This helps protect the community from adopting flawed technologies +based on incomplete data. It also helps protect the community from +misleading marketing which tries to sell systems based on partial +(skewed) lmbench performance results. + +We have seen many cases in the past where partial or misleading +benchmark results have caused great harm to the community, and +we want to ensure that our benchmark is not used to perpetrate +further harm and support false or misleading claims. + + diff --git a/meta-oe/licenses/OML b/meta-oe/licenses/OML new file mode 100644 index 0000000000..7e6bdfded7 --- /dev/null +++ b/meta-oe/licenses/OML @@ -0,0 +1,28 @@ +This FastCGI application library source and object code (the +"Software") and its documentation (the "Documentation") are +copyrighted by Open Market, Inc ("Open Market"). The following terms +apply to all files associated with the Software and Documentation +unless explicitly disclaimed in individual files. + +Open Market permits you to use, copy, modify, distribute, and license +this Software and the Documentation for any purpose, provided that +existing copyright notices are retained in all copies and that this +notice is included verbatim in any distributions. No written +agreement, license, or royalty fee is required for any of the +authorized uses. Modifications to this Software and Documentation may +be copyrighted by their authors and need not follow the licensing +terms described here. If modifications to this Software and +Documentation have new licensing terms, the new terms must be clearly +indicated on the first page of each file where they apply. + +OPEN MARKET MAKES NO EXPRESS OR IMPLIED WARRANTY WITH RESPECT TO THE +SOFTWARE OR THE DOCUMENTATION, INCLUDING WITHOUT LIMITATION ANY +WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. IN +NO EVENT SHALL OPEN MARKET BE LIABLE TO YOU OR ANY THIRD PARTY FOR ANY +DAMAGES ARISING FROM OR RELATING TO THIS SOFTWARE OR THE +DOCUMENTATION, INCLUDING, WITHOUT LIMITATION, ANY INDIRECT, SPECIAL OR +CONSEQUENTIAL DAMAGES OR SIMILAR DAMAGES, INCLUDING LOST PROFITS OR +LOST DATA, EVEN IF OPEN MARKET HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. THE SOFTWARE AND DOCUMENTATION ARE PROVIDED "AS IS". +OPEN MARKET HAS NO LIABILITY IN CONTRACT, TORT, NEGLIGENCE OR +OTHERWISE ARISING OUT OF THIS SOFTWARE OR THE DOCUMENTATION. diff --git a/meta-oe/licenses/OpenLDAP b/meta-oe/licenses/OpenLDAP new file mode 100644 index 0000000000..05ad7571e4 --- /dev/null +++ b/meta-oe/licenses/OpenLDAP @@ -0,0 +1,47 @@ +The OpenLDAP Public License + Version 2.8, 17 August 2003 + +Redistribution and use of this software and associated documentation +("Software"), with or without modification, are permitted provided +that the following conditions are met: + +1. Redistributions in source form must retain copyright statements + and notices, + +2. Redistributions in binary form must reproduce applicable copyright + statements and notices, this list of conditions, and the following + disclaimer in the documentation and/or other materials provided + with the distribution, and + +3. Redistributions must contain a verbatim copy of this document. + +The OpenLDAP Foundation may revise this license from time to time. +Each revision is distinguished by a version number. You may use +this Software under terms of this license revision or under the +terms of any subsequent revision of the license. + +THIS SOFTWARE IS PROVIDED BY THE OPENLDAP FOUNDATION AND ITS +CONTRIBUTORS ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, +INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT +SHALL THE OPENLDAP FOUNDATION, ITS CONTRIBUTORS, OR THE AUTHOR(S) +OR OWNER(S) OF THE SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + +The names of the authors and copyright holders must not be used in +advertising or otherwise to promote the sale, use or other dealing +in this Software without specific, written prior permission. Title +to copyright in this Software shall at all times remain with copyright +holders. + +OpenLDAP is a registered trademark of the OpenLDAP Foundation. + +Copyright 1999-2003 The OpenLDAP Foundation, Redwood City, +California, USA. All Rights Reserved. Permission to copy and +distribute verbatim copies of this document is granted. diff --git a/meta-oe/licenses/SMAIL_GPL b/meta-oe/licenses/SMAIL_GPL deleted file mode 100644 index dfc3fd16cf..0000000000 --- a/meta-oe/licenses/SMAIL_GPL +++ /dev/null @@ -1,164 +0,0 @@ -This is the Debian GNU/Linux package debianutils. - -It is an original Debian package. Programs in it were maintained by -Guy Maor <maor@debian.org>, and are now maintained by Clint Adams -<schizo@debian.org>. - -All its programs except readlink, savelog, and which may be -redistributed under the terms of the GNU GPL, Version 2 or later, -found on Debian systems in the file /usr/share/common-licenses/GPL. - -which is in the public domain. - -readlink is Copyright (c) 1997 Kenneth Stailey, and may also be -distributed under the terms of the BSD copyright. - -savelog may be redistributed under the following terms: (The rest of -this file consists of savelog's distribution terms.) - -#ident "@(#)smail:RELEASE-3_2:COPYING,v 1.2 1996/06/14 18:59:10 woods Exp" - - SMAIL GENERAL PUBLIC LICENSE - (Clarified 11 Feb 1988) - - Copyright (C) 1988 Landon Curt Noll & Ronald S. Karr - Copyright (C) 1992 Ronald S. Karr - Copyleft (GNU) 1988 Landon Curt Noll & Ronald S. Karr - - Everyone is permitted to copy and distribute verbatim copies - of this license, but changing it is not allowed. You can also - use this wording to make the terms for other programs. - - The license agreements of most software companies keep you at the -mercy of those companies. By contrast, our general public license is -intended to give everyone the right to share SMAIL. To make sure that -you get the rights we want you to have, we need to make restrictions -that forbid anyone to deny you these rights or to ask you to surrender -the rights. Hence this license agreement. - - Specifically, we want to make sure that you have the right to give -away copies of SMAIL, that you receive source code or else can get it -if you want it, that you can change SMAIL or use pieces of it in new -free programs, and that you know you can do these things. - - To make sure that everyone has such rights, we have to forbid you to -deprive anyone else of these rights. For example, if you distribute -copies of SMAIL, you must give the recipients all the rights that you -have. You must make sure that they, too, receive or can get the -source code. And you must tell them their rights. - - Also, for our own protection, we must make certain that everyone -finds out that there is no warranty for SMAIL. If SMAIL is modified by -someone else and passed on, we want its recipients to know that what -they have is not what we distributed, so that any problems introduced -by others will not reflect on our reputation. - - Therefore we (Landon Curt Noll and Ronald S. Karr) make the following -terms which say what you must do to be allowed to distribute or change -SMAIL. - - - COPYING POLICIES - - 1. You may copy and distribute verbatim copies of SMAIL source code -as you receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy a valid copyright notice "Copyright -(C) 1988 Landon Curt Noll & Ronald S. Karr" (or with whatever year is -appropriate); keep intact the notices on all files that refer to this -License Agreement and to the absence of any warranty; and give any -other recipients of the SMAIL program a copy of this License -Agreement along with the program. You may charge a distribution fee -for the physical act of transferring a copy. - - 2. You may modify your copy or copies of SMAIL or any portion of it, -and copy and distribute such modifications under the terms of -Paragraph 1 above, provided that you also do the following: - - a) cause the modified files to carry prominent notices stating - that you changed the files and the date of any change; and - - b) cause the whole of any work that you distribute or publish, - that in whole or in part contains or is a derivative of SMAIL or - any part thereof, to be licensed at no charge to all third - parties on terms identical to those contained in this License - Agreement (except that you may choose to grant more extensive - warranty protection to some or all third parties, at your option). - - c) You may charge a distribution fee for the physical act of - transferring a copy, and you may at your option offer warranty - protection in exchange for a fee. - -Mere aggregation of another unrelated program with this program (or its -derivative) on a volume of a storage or distribution medium does not bring -the other program under the scope of these terms. - - 3. You may copy and distribute SMAIL (or a portion or derivative of it, -under Paragraph 2) in object code or executable form under the terms of -Paragraphs 1 and 2 above provided that you also do one of the following: - - a) accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of - Paragraphs 1 and 2 above; or, - - b) accompany it with a written offer, valid for at least three - years, to give any third party free (except for a nominal - shipping charge) a complete machine-readable copy of the - corresponding source code, to be distributed under the terms of - Paragraphs 1 and 2 above; or, - - c) accompany it with the information you received as to where the - corresponding source code may be obtained. (This alternative is - allowed only for non-commercial distribution and only if you - received the program in object code or executable form alone.) - -For an executable file, complete source code means all the source code for -all modules it contains; but, as a special exception, it need not include -source code for modules which are standard libraries that accompany the -operating system on which the executable file runs. - - 4. You may not copy, sublicense, distribute or transfer SMAIL -except as expressly provided under this License Agreement. Any attempt -otherwise to copy, sublicense, distribute or transfer SMAIL is void and -your rights to use the program under this License agreement shall be -automatically terminated. However, parties who have received computer -software programs from you with this License Agreement will not have -their licenses terminated so long as such parties remain in full compliance. - - 5. If you wish to incorporate parts of SMAIL into other free -programs whose distribution conditions are different, write to Landon -Curt Noll & Ronald S. Karr via the Free Software Foundation at 51 -Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. We have not yet -worked out a simple rule that can be stated here, but we will often -permit this. We will be guided by the two goals of preserving the -free status of all derivatives of our free software and of promoting -the sharing and reuse of software. - -Your comments and suggestions about our licensing policies and our -software are welcome! This contract was based on the contract made by -the Free Software Foundation. Please contact the Free Software -Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, -USA, or call (617) 542-5942 for details on copylefted material in -general. - - NO WARRANTY - - BECAUSE SMAIL IS LICENSED FREE OF CHARGE, WE PROVIDE ABSOLUTELY NO -WARRANTY, TO THE EXTENT PERMITTED BY APPLICABLE STATE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING, LANDON CURT NOLL & RONALD S. KARR AND/OR -OTHER PARTIES PROVIDE SMAIL "AS IS" WITHOUT WARRANTY OF ANY KIND, -EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. -THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF SMAIL IS WITH -YOU. SHOULD SMAIL PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL -NECESSARY SERVICING, REPAIR OR CORRECTION. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW WILL LANDON CURT NOLL & -RONALD S. KARR AND/OR ANY OTHER PARTY WHO MAY MODIFY AND REDISTRIBUTE -SMAIL AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -LOST PROFITS, LOST MONIES, OR OTHER SPECIAL, INCIDENTAL OR -CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE -(INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED -INACCURATE OR LOSSES SUSTAINED BY THIRD PARTIES OR A FAILURE OF THE -PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS) SMAIL, EVEN IF YOU HAVE -BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES, OR FOR ANY CLAIM BY -ANY OTHER PARTY. diff --git a/meta-oe/licenses/nbench-byte b/meta-oe/licenses/nbench-byte new file mode 100644 index 0000000000..7e47ba62b4 --- /dev/null +++ b/meta-oe/licenses/nbench-byte @@ -0,0 +1,10 @@ +THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/meta-oe/recipes-benchmark/bonnie/bonnie++_1.03e.bb b/meta-oe/recipes-benchmark/bonnie/bonnie++_1.03e.bb index f8a23d73b0..2c1217e347 100644 --- a/meta-oe/recipes-benchmark/bonnie/bonnie++_1.03e.bb +++ b/meta-oe/recipes-benchmark/bonnie/bonnie++_1.03e.bb @@ -28,3 +28,5 @@ PACKAGES =+ "bonnie-scripts" FILES_${PN} = "${sbindir}" FILES_bonnie-scripts = "${bindir}" + +RDEPENDS_bonnie-scripts += "perl" diff --git a/meta-oe/recipes-benchmark/cpuburn/cpuburn-neon_20120610.bb b/meta-oe/recipes-benchmark/cpuburn/cpuburn-neon_20140626.bb index 8ec5e95451..14e3fc4f38 100644 --- a/meta-oe/recipes-benchmark/cpuburn/cpuburn-neon_20120610.bb +++ b/meta-oe/recipes-benchmark/cpuburn/cpuburn-neon_20140626.bb @@ -8,17 +8,18 @@ DL_DIR_append = "/${PN}-${PV}" COMPATIBLE_MACHINE = "(${@bb.utils.contains("TUNE_FEATURES", "neon", "${MACHINE}", "Invalid!", d)})" SRC_URI = "http://hardwarebug.org/files/burn.S;name=mru \ - http://github.com/downloads/ssvb/ssvb.github.com/ssvb-cpuburn-a8.S;name=ssvb" + https://raw.githubusercontent.com/ssvb/cpuburn-arm/dd5c5ba58d2b0b23cfab4a286f9d3f5510000f20/cpuburn-a8.S;name=ssvb" + SRC_URI[mru.md5sum] = "823abc72c2cd448e87df9bc5355a4456" SRC_URI[mru.sha256sum] = "01d9fc04f83740c513c25401dcc89c11b2a5a6013e70bfca42b7b02129f88cd2" -SRC_URI[ssvb.md5sum] = "0acc570d943c41c7f8602b9ff6fa111d" -SRC_URI[ssvb.sha256sum] = "bfddd3226a499ffdf71bb58c05ccdc6dac5bb2c2c3bdb10ac610ee0b60aac087" +SRC_URI[ssvb.md5sum] = "ba0ef2939a3b3b487523448c67544e94" +SRC_URI[ssvb.sha256sum] = "ce42ebdc71c876a33d9f7534355ef76cefa0d00ddb19ad69cf05a266c861d08d" S = "${WORKDIR}" do_compile() { ${CC} ${CFLAGS} ${LDFLAGS} burn.S -o burn - ${CC} ${CFLAGS} ${LDFLAGS} ssvb-cpuburn-a8.S -o burn-neona8 + ${CC} ${CFLAGS} ${LDFLAGS} cpuburn-a8.S -o burn-neona8 } do_install() { diff --git a/meta-oe/recipes-benchmark/glmark2/glmark2_2014.03.bb b/meta-oe/recipes-benchmark/glmark2/glmark2_2014.03.bb index 3ff0449bd6..708b6d2ea7 100644 --- a/meta-oe/recipes-benchmark/glmark2/glmark2_2014.03.bb +++ b/meta-oe/recipes-benchmark/glmark2/glmark2_2014.03.bb @@ -8,14 +8,17 @@ LICENSE = "GPLv3+ & SGIv1" LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \ file://COPYING.SGI;beginline=5;md5=269cdab4af6748677acce51d9aa13552" -DEPENDS = "libpng12 jpeg" +DEPENDS = "libpng12 jpeg virtual/libx11" + +# depends on virtual/libx11 +REQUIRED_DISTRO_FEATURES = "x11" SRC_URI = "https://launchpad.net/${BPN}/trunk/${PV}/+download/${BP}.tar.gz" SRC_URI[md5sum] = "739859cf57d4c8a23452c43e84f66e56" SRC_URI[sha256sum] = "bded41aaf918ce062d9b81e42cc5be943e6a80bc4ff9d046983b96102c3df6b5" -inherit waf pkgconfig +inherit waf pkgconfig distro_features_check PACKAGECONFIG ?= "gl gles2" diff --git a/meta-oe/recipes-benchmark/iperf/iperf-2.0.5/0001-fix-out-of-tree-config.patch b/meta-oe/recipes-benchmark/iperf/iperf-2.0.5/0001-fix-out-of-tree-config.patch new file mode 100644 index 0000000000..e8a029790b --- /dev/null +++ b/meta-oe/recipes-benchmark/iperf/iperf-2.0.5/0001-fix-out-of-tree-config.patch @@ -0,0 +1,52 @@ +iperf: fix out of tree configuration + +The configure step uses a package header to check for support of types/declares, +this package header encapsulates all the required system header for providing +the needed resources. When configured from an out of tree directory the package +header is not found due to the hard path. +We now make the path for package header relative to our 'srcdir' so it is +found appropriately. + +Signed-off-by: Awais Belal <awais_belal@mentor.com> +--- +diff --git a/configure.ac b/configure.ac +index 2b3fd20..d420f9e 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -176,8 +176,8 @@ dnl Check for system services + + dnl check for multicast + if test "$ac_cv_multicast" != no; then +- AC_CHECK_TYPES(struct ip_mreq,,,[#include "compat/headers_slim.h"]) +- AC_CHECK_DECLS(IP_ADD_MEMBERSHIP,,,[#include "compat/headers_slim.h"]) ++ AC_CHECK_TYPES(struct ip_mreq,,,[#include "${srcdir}/compat/headers_slim.h"]) ++ AC_CHECK_DECLS(IP_ADD_MEMBERSHIP,,,[#include "${srcdir}/compat/headers_slim.h"]) + AC_MSG_CHECKING(for multicast support) + ac_cv_multicast=no + if test "$ac_cv_have_decl_IP_ADD_MEMBERSHIP" = yes; then +@@ -193,9 +193,9 @@ fi + + dnl check for IPv6 + if test "$ac_cv_have_ipv6" != no; then +- AC_CHECK_TYPES(struct sockaddr_storage,,,[#include "compat/headers_slim.h"]) +- AC_CHECK_TYPES(struct sockaddr_in6,,,[#include "compat/headers_slim.h"]) +- AC_CHECK_DECLS(AF_INET6,,,[#include "compat/headers_slim.h"]) ++ AC_CHECK_TYPES(struct sockaddr_storage,,,[#include "${srcdir}/compat/headers_slim.h"]) ++ AC_CHECK_TYPES(struct sockaddr_in6,,,[#include "${srcdir}/compat/headers_slim.h"]) ++ AC_CHECK_DECLS(AF_INET6,,,[#include "${srcdir}/compat/headers_slim.h"]) + AC_MSG_CHECKING(for IPv6 headers and structures) + ac_cv_have_ipv6=no + if test "$ac_cv_type_struct_sockaddr_storage" = yes; then +@@ -211,9 +211,9 @@ fi + + if test "$ac_cv_have_ipv6" = yes; then + if test "$ac_cv_multicast" = yes; then +- AC_CHECK_TYPES(struct ipv6_mreq,,,[#include "compat/headers_slim.h"]) +- AC_CHECK_DECLS(IPV6_ADD_MEMBERSHIP,,,[#include "compat/headers_slim.h"]) +- AC_CHECK_DECLS(IPV6_MULTICAST_HOPS,,,[#include "compat/headers_slim.h"]) ++ AC_CHECK_TYPES(struct ipv6_mreq,,,[#include "${srcdir}/compat/headers_slim.h"]) ++ AC_CHECK_DECLS(IPV6_ADD_MEMBERSHIP,,,[#include "${srcdir}/compat/headers_slim.h"]) ++ AC_CHECK_DECLS(IPV6_MULTICAST_HOPS,,,[#include "${srcdir}/compat/headers_slim.h"]) + AC_MSG_CHECKING(for IPv6 multicast support) + ac_cv_have_ipv6_multicast=no + if test "$ac_cv_type_struct_ipv6_mreq" = yes; then diff --git a/meta-oe/recipes-benchmark/iperf/iperf_2.0.5.bb b/meta-oe/recipes-benchmark/iperf/iperf_2.0.5.bb index a2077162d0..20adc0db93 100644 --- a/meta-oe/recipes-benchmark/iperf/iperf_2.0.5.bb +++ b/meta-oe/recipes-benchmark/iperf/iperf_2.0.5.bb @@ -4,8 +4,9 @@ SECTION = "console/network" LICENSE = "BSD-2-Clause" LIC_FILES_CHKSUM = "file://COPYING;md5=e8478eae9f479e39bc34975193360298" -SRC_URI = " ${SOURCEFORGE_MIRROR}/iperf/${PN}-${PV}.tar.gz \ +SRC_URI = " ${SOURCEFORGE_MIRROR}/iperf/${BP}.tar.gz \ file://iperf-2.0.5_ManPage.patch \ + file://0001-fix-out-of-tree-config.patch \ " SRC_URI[md5sum] = "44b5536b67719f4250faed632a3cd016" diff --git a/meta-oe/recipes-benchmark/iperf3/iperf3/automake-foreign.patch b/meta-oe/recipes-benchmark/iperf3/iperf3/automake-foreign.patch new file mode 100644 index 0000000000..a27b61e01f --- /dev/null +++ b/meta-oe/recipes-benchmark/iperf3/iperf3/automake-foreign.patch @@ -0,0 +1,19 @@ +Pass the 'foreign' option to automake to enable iperf3 to build. + +Upstream-Status: Inappropriate [configuration] + +Signed-off-by: Ben Shelton <ben.shelton@ni.com> +--- + +diff -rupN iperf-3.0.10.old/configure.ac iperf-3.0.10/configure.ac +--- iperf-3.0.10.old/configure.ac 2014-12-16 13:39:58.000000000 -0600 ++++ iperf-3.0.10/configure.ac 2014-12-29 15:09:27.534992643 -0600 +@@ -32,7 +32,7 @@ AC_CONFIG_AUX_DIR(config) + + + # Initialize the automake system +-AM_INIT_AUTOMAKE ++AM_INIT_AUTOMAKE([foreign]) + + AM_MAINTAINER_MODE + AM_CONFIG_HEADER(src/config.h) diff --git a/meta-oe/recipes-benchmark/iperf3/iperf3/fix-examples.patch b/meta-oe/recipes-benchmark/iperf3/iperf3/fix-examples.patch new file mode 100644 index 0000000000..445570dd4c --- /dev/null +++ b/meta-oe/recipes-benchmark/iperf3/iperf3/fix-examples.patch @@ -0,0 +1,107 @@ +The Makefiles for the examples only work properly when the build is +done in the same directory as the source. Fix this in Makefile.am and +run bootstrap.sh to regenerate Makefile.in. + +Upstream-Status: Pending [iperf-dev@googlegroups.com] + +Signed-off-by: Ben Shelton <ben.shelton@ni.com> +--- + +diff -rupN iperf-3.0.10.old/examples/Makefile.am iperf-3.0.10/examples/Makefile.am +--- iperf-3.0.10.old/examples/Makefile.am 2014-12-16 13:39:58.000000000 -0600 ++++ iperf-3.0.10/examples/Makefile.am 2014-12-29 17:12:02.238979626 -0600 +@@ -2,11 +2,13 @@ noinst_PROGRAMS = mic mis # Build, but + + mic_SOURCES = mic.c + mic_CFLAGS = -g +-mic_LDADD = ../src/libiperf.la ++mic_LDADD = $(top_builddir)/src/libiperf.la + mic_LDFLAGS = -g ++mic_CPPFLAGS = -I$(top_srcdir)/src + + mis_SOURCES = mis.c + mis_CFLAGS = -g +-mis_LDADD = ../src/libiperf.la ++mis_LDADD = $(top_builddir)/src/libiperf.la + mis_LDFLAGS = -g ++mis_CPPFLAGS = -I$(top_srcdir)/src + +diff -rupN iperf-3.0.10.old/examples/Makefile.in iperf-3.0.10/examples/Makefile.in +--- iperf-3.0.10.old/examples/Makefile.in 2014-12-16 13:39:58.000000000 -0600 ++++ iperf-3.0.10/examples/Makefile.in 2014-12-29 17:12:07.518979616 -0600 +@@ -94,7 +94,7 @@ CONFIG_CLEAN_VPATH_FILES = + PROGRAMS = $(noinst_PROGRAMS) + am_mic_OBJECTS = mic-mic.$(OBJEXT) + mic_OBJECTS = $(am_mic_OBJECTS) +-mic_DEPENDENCIES = ../src/libiperf.la ++mic_DEPENDENCIES = $(top_builddir)/src/libiperf.la + AM_V_lt = $(am__v_lt_@AM_V@) + am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) + am__v_lt_0 = --silent +@@ -104,7 +104,7 @@ mic_LINK = $(LIBTOOL) $(AM_V_lt) --tag=C + $(mic_LDFLAGS) $(LDFLAGS) -o $@ + am_mis_OBJECTS = mis-mis.$(OBJEXT) + mis_OBJECTS = $(am_mis_OBJECTS) +-mis_DEPENDENCIES = ../src/libiperf.la ++mis_DEPENDENCIES = $(top_builddir)/src/libiperf.la + mis_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(mis_CFLAGS) $(CFLAGS) \ + $(mis_LDFLAGS) $(LDFLAGS) -o $@ +@@ -286,12 +286,14 @@ top_builddir = @top_builddir@ + top_srcdir = @top_srcdir@ + mic_SOURCES = mic.c + mic_CFLAGS = -g +-mic_LDADD = ../src/libiperf.la ++mic_LDADD = $(top_builddir)/src/libiperf.la + mic_LDFLAGS = -g ++mic_CPPFLAGS = -I$(top_srcdir)/src + mis_SOURCES = mis.c + mis_CFLAGS = -g +-mis_LDADD = ../src/libiperf.la ++mis_LDADD = $(top_builddir)/src/libiperf.la + mis_LDFLAGS = -g ++mis_CPPFLAGS = -I$(top_srcdir)/src + all: all-am + + .SUFFIXES: +@@ -375,32 +377,32 @@ distclean-compile: + @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< + + mic-mic.o: mic.c +-@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mic_CFLAGS) $(CFLAGS) -MT mic-mic.o -MD -MP -MF $(DEPDIR)/mic-mic.Tpo -c -o mic-mic.o `test -f 'mic.c' || echo '$(srcdir)/'`mic.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mic_CPPFLAGS) $(CPPFLAGS) $(mic_CFLAGS) $(CFLAGS) -MT mic-mic.o -MD -MP -MF $(DEPDIR)/mic-mic.Tpo -c -o mic-mic.o `test -f 'mic.c' || echo '$(srcdir)/'`mic.c + @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/mic-mic.Tpo $(DEPDIR)/mic-mic.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mic.c' object='mic-mic.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mic_CFLAGS) $(CFLAGS) -c -o mic-mic.o `test -f 'mic.c' || echo '$(srcdir)/'`mic.c ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mic_CPPFLAGS) $(CPPFLAGS) $(mic_CFLAGS) $(CFLAGS) -c -o mic-mic.o `test -f 'mic.c' || echo '$(srcdir)/'`mic.c + + mic-mic.obj: mic.c +-@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mic_CFLAGS) $(CFLAGS) -MT mic-mic.obj -MD -MP -MF $(DEPDIR)/mic-mic.Tpo -c -o mic-mic.obj `if test -f 'mic.c'; then $(CYGPATH_W) 'mic.c'; else $(CYGPATH_W) '$(srcdir)/mic.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mic_CPPFLAGS) $(CPPFLAGS) $(mic_CFLAGS) $(CFLAGS) -MT mic-mic.obj -MD -MP -MF $(DEPDIR)/mic-mic.Tpo -c -o mic-mic.obj `if test -f 'mic.c'; then $(CYGPATH_W) 'mic.c'; else $(CYGPATH_W) '$(srcdir)/mic.c'; fi` + @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/mic-mic.Tpo $(DEPDIR)/mic-mic.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mic.c' object='mic-mic.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mic_CFLAGS) $(CFLAGS) -c -o mic-mic.obj `if test -f 'mic.c'; then $(CYGPATH_W) 'mic.c'; else $(CYGPATH_W) '$(srcdir)/mic.c'; fi` ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mic_CPPFLAGS) $(CPPFLAGS) $(mic_CFLAGS) $(CFLAGS) -c -o mic-mic.obj `if test -f 'mic.c'; then $(CYGPATH_W) 'mic.c'; else $(CYGPATH_W) '$(srcdir)/mic.c'; fi` + + mis-mis.o: mis.c +-@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mis_CFLAGS) $(CFLAGS) -MT mis-mis.o -MD -MP -MF $(DEPDIR)/mis-mis.Tpo -c -o mis-mis.o `test -f 'mis.c' || echo '$(srcdir)/'`mis.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mis_CPPFLAGS) $(CPPFLAGS) $(mis_CFLAGS) $(CFLAGS) -MT mis-mis.o -MD -MP -MF $(DEPDIR)/mis-mis.Tpo -c -o mis-mis.o `test -f 'mis.c' || echo '$(srcdir)/'`mis.c + @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/mis-mis.Tpo $(DEPDIR)/mis-mis.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mis.c' object='mis-mis.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mis_CFLAGS) $(CFLAGS) -c -o mis-mis.o `test -f 'mis.c' || echo '$(srcdir)/'`mis.c ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mis_CPPFLAGS) $(CPPFLAGS) $(mis_CFLAGS) $(CFLAGS) -c -o mis-mis.o `test -f 'mis.c' || echo '$(srcdir)/'`mis.c + + mis-mis.obj: mis.c +-@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mis_CFLAGS) $(CFLAGS) -MT mis-mis.obj -MD -MP -MF $(DEPDIR)/mis-mis.Tpo -c -o mis-mis.obj `if test -f 'mis.c'; then $(CYGPATH_W) 'mis.c'; else $(CYGPATH_W) '$(srcdir)/mis.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mis_CPPFLAGS) $(CPPFLAGS) $(mis_CFLAGS) $(CFLAGS) -MT mis-mis.obj -MD -MP -MF $(DEPDIR)/mis-mis.Tpo -c -o mis-mis.obj `if test -f 'mis.c'; then $(CYGPATH_W) 'mis.c'; else $(CYGPATH_W) '$(srcdir)/mis.c'; fi` + @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/mis-mis.Tpo $(DEPDIR)/mis-mis.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mis.c' object='mis-mis.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mis_CFLAGS) $(CFLAGS) -c -o mis-mis.obj `if test -f 'mis.c'; then $(CYGPATH_W) 'mis.c'; else $(CYGPATH_W) '$(srcdir)/mis.c'; fi` ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mis_CPPFLAGS) $(CPPFLAGS) $(mis_CFLAGS) $(CFLAGS) -c -o mis-mis.obj `if test -f 'mis.c'; then $(CYGPATH_W) 'mis.c'; else $(CYGPATH_W) '$(srcdir)/mis.c'; fi` + + mostlyclean-libtool: + -rm -f *.lo diff --git a/meta-oe/recipes-benchmark/iperf3/iperf3_git.bb b/meta-oe/recipes-benchmark/iperf3/iperf3_git.bb new file mode 100644 index 0000000000..b4d2b6193d --- /dev/null +++ b/meta-oe/recipes-benchmark/iperf3/iperf3_git.bb @@ -0,0 +1,26 @@ +SUMMARY = "Network benchmark tool" +DESCRIPTION = "\ +iperf is a tool for active measurements of the maximum achievable bandwidth \ +on IP networks. It supports tuning of various parameters related to timing, \ +protocols, and buffers. For each test it reports the bandwidth, loss, and \ +other parameters." +HOMEPAGE = "http://software.es.net/iperf/" +SECTION = "console/network" +BUGTRACKER = "https://github.com/esnet/iperf/issues" +AUTHOR = "ESNET <info@es.net>, Lawrence Berkeley National Laboratory <websupport@lbl.gov>" +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://LICENSE;md5=ab59a0c3a4bc3954d1ece68ea19d77a4" + +SRC_URI = "\ + git://github.com/esnet/iperf.git;branch=3.0-STABLE \ + file://automake-foreign.patch \ + file://fix-examples.patch \ +" + +PV = "3.0.10+gitr${SRCPV}" +SRCREV = "de420cc741dd8967ebc57f80b7712556442de81b" + +S = "${WORKDIR}/git" + +inherit autotools +BBCLASSEXTEND = "native" diff --git a/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-Extend-arm32-support-to-include-BE-variants.patch b/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-Extend-arm32-support-to-include-BE-variants.patch new file mode 100644 index 0000000000..f6147cbf35 --- /dev/null +++ b/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-Extend-arm32-support-to-include-BE-variants.patch @@ -0,0 +1,38 @@ +From 5af6dec8764375ca4f13bd9fed96af090228351a Mon Sep 17 00:00:00 2001 +From: "Gary S. Robertson" <gary.robertson@linaro.org> +Date: Mon, 11 Aug 2014 11:06:04 -0500 +Subject: [libhugetlbfs][PATCH] Extend arm32 support to include BE variants + +This patch applies the same technique used by Koen Kool in the following patch +which was accepted by the libhugetlbfs project: + +[0a4f6] Add aarch64_be_support 2014-03-31 10:52:37 + +It modifies the libhugetlbfs Makefile to mark all 32-bit arm architectures +as supported by the libhugetlbfs build. Builds and successful functional +tests have been performed for armv7a LE and BE runtime platforms. + +This patch replaces and renders obsolete the following patch: +arm32-support.patch submitted by: Chunrong Guo <B40290@freescale.com> + +Signed-off-by: Gary S. Robertson <gary.robertson@linaro.org> +--- + Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index 91502e1..ba79607 100644 +--- a/Makefile ++++ b/Makefile +@@ -59,7 +59,7 @@ ELF32 = elf32ppclinux + TMPLIB32 = lib + CPPFLAGS += -DPPC_NO_SEGMENTS + else +-ifeq ($(ARCH),armv7l) ++ifneq (,$(findstring arm,$(ARCH))) + CC32 = $(CC) + TMPLIB32 = lib + ELF32 += armelf_linux_eabi +-- +1.7.9.5 + diff --git a/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-Makefile-Recognize-all-ix86-arches.patch b/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-Makefile-Recognize-all-ix86-arches.patch new file mode 100644 index 0000000000..2718275112 --- /dev/null +++ b/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-Makefile-Recognize-all-ix86-arches.patch @@ -0,0 +1,32 @@ +From a0166583ba5f7b6a6d2de434f633126fb12c9d29 Mon Sep 17 00:00:00 2001 +From: "Gary S. Robertson" <gary.robertson@linaro.org> +Date: Wed, 24 Sep 2014 15:27:31 -0500 +Subject: [PATCH] Makefile: Recognize all ix86 arches + +In a non-native build scenario, the makefile +only recognized i386 or x86_64 arches. Added support +to recognize i486, i586, i686. + +Upstream Status: Accepted by libhugetlbfs project + +Signed-off-by: Gary S. Robertson <gary.robertson@linaro.org> +--- + Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index 91502e1..0bfaee8 100644 +--- a/Makefile ++++ b/Makefile +@@ -71,7 +71,7 @@ ELF64 = aarch64elf + TMPLIB64 = lib64 + CUSTOM_LDSCRIPTS = no + else +-ifeq ($(ARCH),i386) ++ifneq (,$(filter i386 i486 i586 i686,$(ARCH))) + CC32 = $(CC) + ELF32 = elf_i386 + TMPLIB32 = lib +-- +1.7.9.5 + diff --git a/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-aarch64-fix-page-size-not-properly-computed.patch b/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-aarch64-fix-page-size-not-properly-computed.patch deleted file mode 100644 index da60ba0aee..0000000000 --- a/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-aarch64-fix-page-size-not-properly-computed.patch +++ /dev/null @@ -1,32 +0,0 @@ -Subject: [PATCH] aarch64: fix page size not properly computed - -There's 2 issues fixed: -* typo on MB variable (MB -> $MB) -* some linker variants are missing (linux and big endian) - - aarch64elfb - - aarch64linux - - aarch64linuxb - -Signed-off-by: Fathi Boudra <fathi.boudra@linaro.org> - -Upstream-Status: Submitted ---- - ld.hugetlbfs | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/ld.hugetlbfs b/ld.hugetlbfs -index df446dd..6553547 100755 ---- a/ld.hugetlbfs -+++ b/ld.hugetlbfs -@@ -87,7 +87,7 @@ elf32ppclinux|elf64ppc) HPAGE_SIZE=$((16*$MB)) SLICE_SIZE=$((256*$MB)) ;; - elf64lppc) HPAGE_SIZE=$((16*$MB)) SLICE_SIZE=$((256*$MB)) ;; - elf_i386|elf_x86_64) HPAGE_SIZE=$((4*$MB)) SLICE_SIZE=$HPAGE_SIZE ;; - elf_s390|elf64_s390) HPAGE_SIZE=$((1*$MB)) SLICE_SIZE=$HPAGE_SIZE ;; --armelf_linux_eabi|aarch64elf) HPAGE_SIZE=$((2*MB)) SLICE_SIZE=$HPAGE_SIZE ;; -+armelf_linux_eabi|aarch64elf*|aarch64linux*) HPAGE_SIZE=$((2*$MB)) SLICE_SIZE=$HPAGE_SIZE ;; - esac - - if [ "$HTLB_ALIGN" == "slice" ]; then --- -1.9.2 - diff --git a/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-ld.hugetlbfs-arm-arches-fix-page-size-and-text-offse.patch b/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-ld.hugetlbfs-arm-arches-fix-page-size-and-text-offse.patch new file mode 100644 index 0000000000..4e5b7bbbbc --- /dev/null +++ b/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-ld.hugetlbfs-arm-arches-fix-page-size-and-text-offse.patch @@ -0,0 +1,57 @@ +From 1ab6f7f9b34fc745451140fc21db6763dffc5785 Mon Sep 17 00:00:00 2001 +From: "Gary S. Robertson" <gary.robertson@linaro.org> +Date: Thu, 25 Sep 2014 14:57:06 -0500 +Subject: [PATCH] ld.hugetlbfs: arm arches - fix page size and text offset + setup + +There's 3 issues fixed: +* typo on MB variable (MB -> $MB) +* some linker variants are missing (linux and big endian) + - armelfb_linux_eabi + - aarch64elfb + - aarch64linux + - aarch64linuxb +* text segment offset was not specified for armv7 BE + +NOTE: This patch replaces and makes obsolete the following previously + submitted patch: + + aarch64: fix page size not properly computed + by: Fathi Boudra <fathi.boudra@linaro.org> + +Upstream Status: Accepted at libhugetlbfs project + +Signed-off-by: Gary S. Robertson <gary.robertson@linaro.org> +--- + ld.hugetlbfs | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/ld.hugetlbfs b/ld.hugetlbfs +index df446dd..4417442 100755 +--- a/ld.hugetlbfs ++++ b/ld.hugetlbfs +@@ -87,7 +87,7 @@ elf32ppclinux|elf64ppc) HPAGE_SIZE=$((16*$MB)) SLICE_SIZE=$((256*$MB)) ;; + elf64lppc) HPAGE_SIZE=$((16*$MB)) SLICE_SIZE=$((256*$MB)) ;; + elf_i386|elf_x86_64) HPAGE_SIZE=$((4*$MB)) SLICE_SIZE=$HPAGE_SIZE ;; + elf_s390|elf64_s390) HPAGE_SIZE=$((1*$MB)) SLICE_SIZE=$HPAGE_SIZE ;; +-armelf_linux_eabi|aarch64elf) HPAGE_SIZE=$((2*MB)) SLICE_SIZE=$HPAGE_SIZE ;; ++armelf*_linux_eabi|aarch64elf*|aarch64linux*) HPAGE_SIZE=$((2*$MB)) SLICE_SIZE=$HPAGE_SIZE ;; + esac + + if [ "$HTLB_ALIGN" == "slice" ]; then +@@ -96,9 +96,9 @@ if [ "$HTLB_ALIGN" == "slice" ]; then + + # targeting the ARM platform one needs to explicitly set the text segment offset + # otherwise it will be NULL. +- if [ "$EMU" == "armelf_linux_eabi" ]; then +- HTLBOPTS="$HTLBOPTS -Ttext-segment=$SLICE_SIZE" +- fi ++ case "$EMU" in ++ armelf*_linux_eabi) HTLBOPTS="$HTLBOPTS -Ttext-segment=$SLICE_SIZE" ;; ++ esac + fi + + ${LD} "${args[@]}" ${HTLBOPTS} +-- +1.7.9.5 + diff --git a/meta-oe/recipes-benchmark/libhugetlbfs/libhugetlbfs_git.bb b/meta-oe/recipes-benchmark/libhugetlbfs/libhugetlbfs_git.bb index 5645add6b8..4ce6a1901e 100644 --- a/meta-oe/recipes-benchmark/libhugetlbfs/libhugetlbfs_git.bb +++ b/meta-oe/recipes-benchmark/libhugetlbfs/libhugetlbfs_git.bb @@ -3,7 +3,11 @@ LICENSE = "LGPLv2.1" LIC_FILES_CHKSUM = "file://LGPL-2.1;md5=2d5025d4aa3495befef8f17206a5b0a1" DEPENDS = "sysfsutils perl" -RDEPENDS_${PN} += "python python-io python-lang python-subprocess python-resource" +RDEPENDS_${PN} += "bash perl python python-io python-lang python-subprocess python-resource" +RDEPENDS_${PN}-tests += "bash" + +PV = "2.18" +PE = "1" SRCREV = "ea3f6b273f535aab38cefae30030774457bbbfe6" SRC_URI = "git://git.code.sf.net/p/libhugetlbfs/code \ @@ -12,16 +16,22 @@ SRC_URI = "git://git.code.sf.net/p/libhugetlbfs/code \ file://tests-Makefile-install-static-4G-edge-testcases.patch \ file://0001-run_test.py-not-use-hard-coded-path-.-obj-hugeadm.patch \ file://0001-aarch64-fix-cross-compilation.patch \ - file://0001-aarch64-fix-page-size-not-properly-computed.patch \ + file://0001-ld.hugetlbfs-arm-arches-fix-page-size-and-text-offse.patch \ file://0001-replace-lib-lib64-hardcoded-values-by-LIBDIR32-LIBDI.patch \ + file://0001-Extend-arm32-support-to-include-BE-variants.patch \ + file://0001-Makefile-Recognize-all-ix86-arches.patch \ " S = "${WORKDIR}/git" -COMPATIBLE_HOST = "(x86_64|powerpc|powerpc64|aarch64).*-linux*" +COMPATIBLE_HOST = "(x86_64|powerpc|powerpc64|aarch64|arm).*-linux*" LIBARGS = "LIB32=${baselib} LIB64=${baselib}" -EXTRA_OEMAKE = "'ARCH=${TARGET_ARCH}' 'OPT=${CFLAGS}' 'CC=${CC}' ${LIBARGS} V=1" +LIBHUGETLBFS_ARCH = "${TARGET_ARCH}" +LIBHUGETLBFS_ARCH_powerpc = "ppc" +LIBHUGETLBFS_ARCH_powerpc64 = "ppc64" +EXTRA_OEMAKE = "'ARCH=${LIBHUGETLBFS_ARCH}' 'OPT=${CFLAGS}' 'CC=${CC}' ${LIBARGS} BUILDTYPE=NATIVEONLY V=2" +PARALLEL_MAKE = "" CFLAGS += "-fexpensive-optimizations -frename-registers -fomit-frame-pointer -g0" TARGET_CC_ARCH += "${LDFLAGS}" @@ -43,12 +53,15 @@ do_install() { install-tests } -PARALLEL_MAKE_pn-${PN} = "" PACKAGES =+ "${PN}-perl ${PN}-tests " +FILES_${PN} += "${libdir}/*.so" +FILES_${PN}-dev = "${includedir}" FILES_${PN}-dbg += "${libdir}/libhugetlbfs/tests/obj32/.debug ${libdir}/libhugetlbfs/tests/obj64/.debug" FILES_${PN}-perl = "${libdir}/perl" FILES_${PN}-tests += "${libdir}/libhugetlbfs/tests" +INSANE_SKIP_${PN} = "dev-so" + INHIBIT_PACKAGE_STRIP = "1" INHIBIT_PACKAGE_DEBUG_SPLIT = "1" diff --git a/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/fix-lmbench-memory-check-failure.patch b/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/fix-lmbench-memory-check-failure.patch new file mode 100644 index 0000000000..549a114d13 --- /dev/null +++ b/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/fix-lmbench-memory-check-failure.patch @@ -0,0 +1,206 @@ +lmbench: Can't proceed on some targets + +lmbench can't proceed on some targets. The memory check fails because the +memory latency of each page is longer then 10us, which is a time limit set +in the original memsize.c. + +The memory latency is very different on different targets due to the +hardware and current system load. The targets with slower memory +chips or heavy system load need much longer time to read or write +the memory. + +This fix changes the fixed time limit of 10us to a specific value calculated +from the runtime target. + +Also set an upper limit of memory size used for lmbench testing. The memory +check sometimes fails if the target has a large amount of memory, for +example more than 4G. + +Signed-off-by: Qingming Su <qingming.su@windriver.com> +Signed-off-by: Fupan Li <fupan.li@windriver.com> + +Add and reword above comments + +Upstream-status: inappropriate [ configuration ] + +Signed-off-by: Mark Hatle <mark.hatle@windriver.com> + +diff --git a/scripts/config-run b/scripts/config-run +index e1f7b6d..31b9256 100755 +--- a/scripts/config-run ++++ b/scripts/config-run +@@ -214,6 +214,12 @@ The bigger the range, the more accurate the results, but larger sizes + take somewhat longer to run the benchmark. + + EOF ++ ++# By default, use 512M memory as the upper limit for lmbench test ++if [ $MB -gt 512 ];then ++MB=512 ++fi ++ + echo $ECHON "MB [default $MB]: $ECHOC" + #read TMP + TMP="" +@@ -718,10 +724,10 @@ case $MAIL in + ;; + esac + +-INFO=`../scripts/info` ++INFO=`../scripts/hostinfo` + if [ $MAIL = yes ] + then if [ ! -f $INFO ] +- then cp ../scripts/info-template $INFO ++ then cp ../scripts/hostinfo-template $INFO + chmod +w $INFO + REUSE=no + else +@@ -765,7 +771,7 @@ EOF + then EDITOR=$TMP + fi + if [ X$EDITOR != "none" ] +- then $EDITOR `../scripts/info` ++ then $EDITOR `../scripts/hostinfo` + fi + fi + fi +diff --git a/src/Makefile b/src/Makefile +index d1f0dc6..5098998 100644 +--- a/src/Makefile ++++ b/src/Makefile +@@ -49,7 +49,7 @@ TARGET=`../scripts/target` + BINDIR=../bin/$(OS) + CONFIG=../bin/$(OS)/`../scripts/config` + UTILS=../scripts/target ../scripts/os ../scripts/gnu-os ../scripts/compiler \ +- ../scripts/info ../scripts/info-template ../scripts/version \ ++ ../scripts/hostinfo ../scripts/hostinfo-template ../scripts/version \ + ../scripts/config ../scripts/config-run ../scripts/results \ + ../scripts/lmbench ../scripts/make ../scripts/build + INSTALL=cp +@@ -240,7 +240,7 @@ $O/getopt.o : getopt.c $(INCS) + $(COMPILE) -c getopt.c -o $O/getopt.o + + $(UTILS) : +- -cd ../scripts; make get ++ -cd ../scripts; cp info hostinfo; cp info-template hostinfo-template + + # Do not remove the next line, $(MAKE) depend needs it + # MAKEDEPEND follows +diff --git a/src/memsize.c b/src/memsize.c +index eb25a09..cf9fe0c 100644 +--- a/src/memsize.c ++++ b/src/memsize.c +@@ -14,9 +14,12 @@ char *id = "$Id$\n"; + + #define CHK(x) if ((x) == -1) { perror("x"); exit(1); } + +-#ifndef TOO_LONG +-#define TOO_LONG 10 /* usecs */ +-#endif ++//#ifndef TOO_LONG ++//#define TOO_LONG 10 /* usecs */ ++//#endif ++ ++#define MEMORY_SIZE_1MB (1024 * 1024) ++#define MEMORY_SIZE_8MB (8 * 1024 * 1024) + + int alarm_triggered = 0; + +@@ -35,10 +38,10 @@ main(int ac, char **av) + size_t delta; + + if (ac == 2) { +- max = size = bytes(av[1]) * 1024 * 1024; ++ max = size = bytes(av[1]) * MEMORY_SIZE_1MB; + } +- if (max < 1024 * 1024) { +- max = size = 1024 * 1024 * 1024; ++ if (max < MEMORY_SIZE_1MB) { ++ max = size = 1024 * MEMORY_SIZE_1MB; + } + /* + * Binary search down and then binary search up +@@ -48,7 +51,7 @@ main(int ac, char **av) + } + /* delta = size / (2 * 1024 * 1024) */ + for (delta = (size >> 21); delta > 0; delta >>= 1) { +- uint64 sz = (uint64)size + (uint64)delta * 1024 * 1024; ++ uint64 sz = (uint64)size + (uint64)delta * MEMORY_SIZE_1MB; + size_t check = sz; + if (max < sz) continue; + if (check < sz || !test_malloc(sz)) break; +@@ -66,41 +69,58 @@ timeit(char *where, size_t size) + { + int sum = 0; + size_t n; +- size_t s_prev; ++ size_t s_prev = MEMORY_SIZE_8MB; + size_t range; +- size_t incr = 1024 * 1024; ++ size_t incr = MEMORY_SIZE_1MB; + size_t pagesize = getpagesize(); +- unsigned long long s; +- +- if (size < 1024*1024 - 16*1024) { +- fprintf(stderr, "Bad size\n"); +- return; +- } ++ size_t time_each_page = 0; ++ size_t too_long = 0; ++ unsigned long long s; ++ ++ if (pagesize < MEMORY_SIZE_1MB) ++ range = MEMORY_SIZE_1MB; ++ else ++ range = MEMORY_SIZE_8MB; ++ ++ incr = MEMORY_SIZE_1MB; ++ ++ if (size < range) { ++ fprintf(stderr, "Bad size\n"); ++ return; ++ } ++ ++ //Touch range of memory, get the average time (usec) of operating each memory page on this system ++ start(0); ++ touchRange(where, range, pagesize); ++ sum = stop(0, 0); ++ ++ if ((time_each_page = sum * pagesize / range) < 1) ++ time_each_page = 1; ++ //Set the uper limit of time spending on one page ++ too_long = 10 * time_each_page; + +- range = 1024 * 1024; +- incr = 1024 * 1024; +- touchRange(where, range, pagesize); + for (range += incr; range <= size; range += incr) { + n = range / pagesize; +- set_alarm(n * TOO_LONG); ++ set_alarm(n * too_long); + touchRange(where + range - incr, incr, pagesize); + clear_alarm(); +- set_alarm(n * TOO_LONG); ++ set_alarm(n * too_long); + start(0); + touchRange(where, range, pagesize); + sum = stop(0, 0); + clear_alarm(); +- if ((sum / n) > TOO_LONG || alarm_triggered) { ++ if ((sum / n) > too_long || alarm_triggered) { + size = range - incr; ++ fprintf(stderr, "Error! Memory testing timeout! Touch one page of memory needs more than %d (usecs)\n ", too_long); + break; + } +- for (s = 8 * 1024 * 1024; s <= range; s_prev = s, s *= 2) ++ for (s = s_prev; s <= range; s_prev = s, s *= 2) + if (s < s_prev) break; + incr = s / 8; + if (range < size && size < range + incr) { + incr = size - range; + } +- fprintf(stderr, "%dMB OK\r", (int)(range/(1024*1024))); ++ fprintf(stderr, "%dMB OK\r", (int)(range/MEMORY_SIZE_1MB)); + } + fprintf(stderr, "\n"); + printf("%d\n", (int)(size>>20)); diff --git a/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/lmbench_result_html_report.patch b/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/lmbench_result_html_report.patch new file mode 100644 index 0000000000..cda2f0c6d1 --- /dev/null +++ b/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/lmbench_result_html_report.patch @@ -0,0 +1,61 @@ +lmbench: Fix "make html" graph failure + +The html-list perl script cannot parse the first line of the result +files about the lmbench version. + +Additional fixes are to make the result's html pages easier to understand. + +Signed-off-by: Lin Yu <lin.yu@windriver.com> +Signed-off-by: Fupan Li <fupan.li@windriver.com> + +Reworded patch description. + +Upstream-status: inappropriate [ configuration ] + +Signed-off-by: Mark Hatle <mark.hatle@windriver.com> + +diff --git a/results/Makefile b/results/Makefile +index 0935376..1ef9a15 100644 +--- a/results/Makefile ++++ b/results/Makefile +@@ -186,6 +186,7 @@ paper: + # scratch makes you want a Ghz machine. + html: dirs + -make clean ++ make ps + #$(SCRIPTS)bghtml $(BG) + $(SCRIPTS)html-list $(LIST) + $(MK) LIST="$(LIST)" summary > HTML/summary.out 2> HTML/summary.errs +diff --git a/scripts/html-list b/scripts/html-list +index 9850461..6383115 100755 +--- a/scripts/html-list ++++ b/scripts/html-list +@@ -14,7 +14,7 @@ open(H, ">HTML/specific.html"); + print H <<EOF; + <title>LMBENCH System Results</title> + <h1>LMBENCH System Results</h1> +-<h2><a href=summary>Summary of results</a></h2> ++<h2><a href=summary.out>Summary of results</a></h2> + <hr> + EOF + +@@ -47,7 +47,7 @@ foreach $os (@os) { + open(F, $file); + $_ = <F>; + close(F); +- next unless /lmbench1.[01]/; ++ next unless /lmbench[0-9]+.[01]/; + chop; + $title = $_; + #s/.lmbench1.? results for //; +@@ -103,10 +103,7 @@ EOF + if $i < $#os; + print S<<EOF; + <h4>$title</h4> +-<a href=../$doc{$what}>Information on this benchmark</a> (Not up to date) + <p><IMG SRC="${what}${scale}$N.gif">\n<p> +-<a href=../lmbench.html> +-<img align=middle src="../gifs/arrows/b_arrow.gif">LMBENCH table of contents</a> + <a href=specific.html> + <img align=middle src=\"../gifs/graph.gif\">System results table of contents</a> + <p> diff --git a/meta-oe/recipes-benchmark/lmbench/lmbench_3.0-a9.bb b/meta-oe/recipes-benchmark/lmbench/lmbench_3.0-a9.bb index 41db15000e..24cd0b0eaf 100644 --- a/meta-oe/recipes-benchmark/lmbench/lmbench_3.0-a9.bb +++ b/meta-oe/recipes-benchmark/lmbench/lmbench_3.0-a9.bb @@ -1,7 +1,7 @@ SUMMARY = "Tools for performance analysis" HOMEPAGE = "http://lmbench.sourceforge.net/" SECTION = "console/utils" -LICENSE = "GPLv2" +LICENSE = "GPLv2 & GPL-2.0-with-lmbench-restriction" LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b \ file://COPYING-2;md5=8e9aee2ccc75d61d107e43794a25cdf9" @@ -14,8 +14,10 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/lmbench/lmbench-${PV}.tgz \ file://rename-line-binary.patch \ file://update-results-script.patch \ file://obey-ranlib.patch \ - file://update-config-script.patch \ - file://use-base_libdir-instead-of-hardcoded-lib.patch \ + file://update-config-script.patch \ + file://use-base_libdir-instead-of-hardcoded-lib.patch \ + file://lmbench_result_html_report.patch \ + file://fix-lmbench-memory-check-failure.patch \ " SRC_URI[md5sum] = "b3351a3294db66a72e2864a199d37cbf" SRC_URI[sha256sum] = "cbd5777d15f44eab7666dcac418054c3c09df99826961a397d9acf43d8a2a551" @@ -50,12 +52,12 @@ do_install () { > ${D}${sysconfdir}/tmpfiles.d/lmbench.conf fi - oe_runmake 'BASE=${D}${prefix}' \ + oe_runmake BASE="${D}${prefix}" MANDIR="${D}${mandir}" \ -C src install mv ${D}${bindir}/line ${D}${bindir}/lm_line install -m 0755 ${WORKDIR}/lmbench-run ${D}${bindir}/ - sed -i -e 's,^SHAREDIR=.*$,SHAREDIR=${datadir}/${PN},;' \ - -e 's,^BINDIR=.*$,BINDIR=${libdir}/${PN},;' \ + sed -i -e 's,^SHAREDIR=.*$,SHAREDIR=${datadir}/${BPN},;' \ + -e 's,^BINDIR=.*$,BINDIR=${libdir}/${BPN},;' \ -e 's,^CONFIG=.*$,CONFIG=`$SCRIPTSDIR/config`,;' \ ${D}${bindir}/lmbench-run install -m 0755 ${S}/scripts/lmbench ${D}${bindir} @@ -72,5 +74,5 @@ pkg_postinst_${PN} () { fi } -RDEPENDS_${PN} = "debianutils" +RDEPENDS_${PN} = "perl" FILES_${PN} += "${datadir}/lmbench ${libdir}/lmbench" diff --git a/meta-oe/recipes-benchmark/nbench-byte/nbench-byte/Makefile-add-more-dependencies-to-pointer.h.patch b/meta-oe/recipes-benchmark/nbench-byte/nbench-byte/Makefile-add-more-dependencies-to-pointer.h.patch new file mode 100644 index 0000000000..abdb4344bd --- /dev/null +++ b/meta-oe/recipes-benchmark/nbench-byte/nbench-byte/Makefile-add-more-dependencies-to-pointer.h.patch @@ -0,0 +1,23 @@ +Makefile: add more dependencies to pointer.h + +Upstream-Status: Inappropriate [no upstream] + +Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> +--- + Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index 915866d..edd9ea2 100644 +--- a/Makefile ++++ b/Makefile +@@ -122,7 +122,7 @@ emfloat.o: emfloat.h emfloat.c nmglobal.h pointer.h Makefile + pointer.h: Makefile + touch pointer.h ; + +-misc.o: misc.h misc.c Makefile ++misc.o: misc.h misc.c nmglobal.h pointer.h Makefile + $(CC) $(MACHINE) $(DEFINES) $(CFLAGS)\ + -c misc.c + + diff --git a/meta-oe/recipes-benchmark/nbench-byte/nbench-byte_2.2.3.bb b/meta-oe/recipes-benchmark/nbench-byte/nbench-byte_2.2.3.bb index 37f3e46a7e..2eedd7e313 100644 --- a/meta-oe/recipes-benchmark/nbench-byte/nbench-byte_2.2.3.bb +++ b/meta-oe/recipes-benchmark/nbench-byte/nbench-byte_2.2.3.bb @@ -2,12 +2,13 @@ DESCRIPTION = "BYTE Magazine's native benchmarks (also called BYTEmark) \ designed to expose the capabilities of a system's CPU, FPU, \ and memory system." HOMEPAGE = "http://www.tux.org/~mayer/linux/" -LICENSE = "freely distributable" +LICENSE = "nbench-byte" LIC_FILES_CHKSUM = "file://README;beginline=57;endline=66;md5=020ef579f8fa5746b7e307a54707834f" SECTION = "console/utils" -SRC_URI = "http://www.tux.org/~mayer/linux/${PN}-${PV}.tar.gz \ - file://nbench_32bits.patch" +SRC_URI = "http://www.tux.org/~mayer/linux/${BP}.tar.gz \ + file://nbench_32bits.patch \ + file://Makefile-add-more-dependencies-to-pointer.h.patch" SRC_URI[md5sum] = "285dfab361080759d477ea1fe7d3093a" SRC_URI[sha256sum] = "723dd073f80e9969639eb577d2af4b540fc29716b6eafdac488d8f5aed9101ac" diff --git a/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_5.2.1.bb b/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_5.2.1.bb new file mode 100644 index 0000000000..ef9f7352d5 --- /dev/null +++ b/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_5.2.1.bb @@ -0,0 +1,24 @@ +SUMMARY = "Phoronix Test Suite" +DESCRIPTION = "The Phoronix Test Suite is designed to carry out both qualitative \ +and quantitative benchmarks in a clean, reproducible, and easy-to-use manner." +LICENSE = "GPLv3" +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" +SECTION = "console/tests" + +SRC_URI = "http://www.phoronix-test-suite.com/releases/${BP}.tar.gz" +SRC_URI[md5sum] = "51e52d883710dc516c5494bd1c377219" +SRC_URI[sha256sum] = "1186f460691e2fe7a07df5edb8d8ed1ac0c65327512e646da2b2e3a60dda6cd9" +S = "${WORKDIR}/phoronix-test-suite" + +do_install() { + DESTDIR=${D} ./install-sh ${exec_prefix} +} + +RDEPENDS_${PN} = "php-cli" +FILES_${PN} += " \ + ${datadir}/phoronix-test-suite \ + ${datadir}/appdata/phoronix-test-suite.appdata.xml \ + ${datadir}/icons/hicolor/48x48/apps/phoronix-test-suite.png \ + ${datadir}/icons/hicolor/64x64/mimetypes/application-x-openbenchmarking.png \ + ${datadir}/mime/packages/openbenchmarking-mime.xml \ +" diff --git a/meta-oe/recipes-benchmark/tiobench/tiobench_0.3.3.bb b/meta-oe/recipes-benchmark/tiobench/tiobench_0.3.3.bb index af6c53c377..3267de2a05 100644 --- a/meta-oe/recipes-benchmark/tiobench/tiobench_0.3.3.bb +++ b/meta-oe/recipes-benchmark/tiobench/tiobench_0.3.3.bb @@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=c93c0550bd3173f4504b2cbd8991e50b" PR = "r1" SRC_URI = "\ - http://sourceforge.net/projects/tiobench/files/tiobench/${PV}/${P}.tar.gz \ + http://sourceforge.net/projects/tiobench/files/tiobench/${PV}/${BP}.tar.gz \ file://tiobench-makefile.patch \ file://avoid-glibc-clashes.patch \ " diff --git a/meta-oe/recipes-connectivity/daq/daq_2.0.2.bb b/meta-oe/recipes-connectivity/daq/daq_2.0.2.bb index 4e85194362..4cf3f1ceb5 100644 --- a/meta-oe/recipes-connectivity/daq/daq_2.0.2.bb +++ b/meta-oe/recipes-connectivity/daq/daq_2.0.2.bb @@ -5,7 +5,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=f9ce51a65dd738dc1ae631d8b21c40e0" PARALLEL_MAKE = "" -DEPENDS = "libpcap libpcre" +DEPENDS = "libpcap libpcre libdnet" SRC_URI = "http://fossies.org/linux/misc/daq-${PV}.tar.gz \ file://disable-run-test-program-while-cross-compiling.patch " @@ -13,7 +13,11 @@ SRC_URI = "http://fossies.org/linux/misc/daq-${PV}.tar.gz \ # these 2 create undeclared dependency on libdnet and libnetfilter-queue from meta-networking # this error from test-dependencies script: # daq/daq/latest lost dependency on libdnet libmnl libnetfilter-queue libnfnetlink -EXTRA_OECONF += "--disable-nfq-module --disable-ipq-module" +# +# never look to /usr/local lib while cross compiling + +EXTRA_OECONF = "--disable-nfq-module --disable-ipq-module --includedir=${includedir} \ + --with-libpcap-includes=${STAGING_INCDIR} --with-dnet-includes=${STAGING_LIBDIR}" SRC_URI[md5sum] = "865bf9b750a2a2ca632591a3c70b0ea0" SRC_URI[sha256sum] = "d65d1e67c4994e02c3142c49a648642e780b7e3d942b4a51f605309beac269a8" diff --git a/meta-oe/recipes-connectivity/gammu/gammu_1.32.0.bb b/meta-oe/recipes-connectivity/gammu/gammu_1.32.0.bb index 714aa50bd9..0dac7cba33 100644 --- a/meta-oe/recipes-connectivity/gammu/gammu_1.32.0.bb +++ b/meta-oe/recipes-connectivity/gammu/gammu_1.32.0.bb @@ -1,11 +1,11 @@ SUMMARY = "GNU All Mobile Managment Utilities" SECTION = "console/network" -DEPENDS = "cmake-native virtual/libiconv libdbi mysql5" +DEPENDS = "cmake-native virtual/libiconv libdbi mysql5 glib-2.0 udev" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=a17cb0a873d252440acfdf9b3d0e7fbf" HOMEPAGE = "http://www.gammu.org/" -SRC_URI = "${SOURCEFORGE_MIRROR}/${PN}/${PN}/${PV}/${PN}-${PV}.tar.bz2 \ +SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}/${PV}/${BP}.tar.bz2 \ file://gammurc \ file://gammu-smsdrc \ " diff --git a/meta-oe/recipes-connectivity/gnokii/gnokii_0.6.31.bb b/meta-oe/recipes-connectivity/gnokii/gnokii_0.6.31.bb index 356d5bdfe3..4826452866 100644 --- a/meta-oe/recipes-connectivity/gnokii/gnokii_0.6.31.bb +++ b/meta-oe/recipes-connectivity/gnokii/gnokii_0.6.31.bb @@ -9,6 +9,11 @@ DEPENDS = "glib-2.0" X11DEPENDS = " libxpm gtk+" PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}" +PACKAGECONFIG[bluez] = "--enable-bluetooth,--disable-bluetooth,bluez4" +PACKAGECONFIG[libical] = "--enable-libical,--disable-libical,libical" +PACKAGECONFIG[pcsc-lite] = "--enable-libpcsclite,--disable-libpcsclite,pcsc-lite" +PACKAGECONFIG[readline] = "--with-readline,--without-readline,readline" +PACKAGECONFIG[usb] = "--enable-libusb,--disable-libusb,virtual/libusb0" PACKAGECONFIG[x11] = ",--without-x,${X11DEPENDS}" inherit autotools pkgconfig diff --git a/meta-oe/recipes-connectivity/hostapd/hostap-daemon-1.0/init b/meta-oe/recipes-connectivity/hostapd/hostap-daemon-1.0/init deleted file mode 100644 index 79f74b681e..0000000000 --- a/meta-oe/recipes-connectivity/hostapd/hostap-daemon-1.0/init +++ /dev/null @@ -1,37 +0,0 @@ -#!/bin/sh -DAEMON=/usr/sbin/hostapd -NAME=hostapd -DESC="HOSTAP Daemon" -ARGS="/etc/hostapd.conf -B" - -test -f $DAEMON || exit 0 - -set -e - -case "$1" in - start) - echo -n "Starting $DESC: " - start-stop-daemon -S -x $DAEMON -- $ARGS - echo "$NAME." - ;; - stop) - echo -n "Stopping $DESC: " - start-stop-daemon -K -x $DAEMON - echo "$NAME." - ;; - restart) - $0 stop - $0 start - ;; - reload) - echo -n "Reloading $DESC: " - killall -HUP $(basename ${DAEMON}) - echo "$NAME." - ;; - *) - echo "Usage: $0 {start|stop|restart|reload}" - exit 1 - ;; -esac - -exit 0 diff --git a/meta-oe/recipes-connectivity/hostapd/hostap-daemon-1.0/defconfig b/meta-oe/recipes-connectivity/hostapd/hostapd-2.2/defconfig index 2789640170..2789640170 100644 --- a/meta-oe/recipes-connectivity/hostapd/hostap-daemon-1.0/defconfig +++ b/meta-oe/recipes-connectivity/hostapd/hostapd-2.2/defconfig diff --git a/meta-oe/recipes-connectivity/hostapd/hostapd-2.2/hostapd.service b/meta-oe/recipes-connectivity/hostapd/hostapd-2.2/hostapd.service new file mode 100644 index 0000000000..151c0504fc --- /dev/null +++ b/meta-oe/recipes-connectivity/hostapd/hostapd-2.2/hostapd.service @@ -0,0 +1,11 @@ +[Unit] +Description=Hostapd IEEE 802.11 AP, IEEE 802.1X/WPA/WPA2/EAP/RADIUS Authenticator +After=network.target + +[Service] +Type=forking +PIDFile=/run/hostapd.pid +ExecStart=@SBINDIR@/hostapd @SYSCONFDIR@/hostapd.conf -P /run/hostapd.pid -B + +[Install] +WantedBy=multi-user.target diff --git a/meta-oe/recipes-connectivity/hostapd/hostapd-2.2/init b/meta-oe/recipes-connectivity/hostapd/hostapd-2.2/init new file mode 100644 index 0000000000..8ba4e07940 --- /dev/null +++ b/meta-oe/recipes-connectivity/hostapd/hostapd-2.2/init @@ -0,0 +1,58 @@ +#!/bin/sh +DAEMON=/usr/sbin/hostapd +NAME=hostapd +DESC="HOSTAP Daemon" +ARGS="/etc/hostapd.conf -B" + +test -f $DAEMON || exit 0 + +set -e + +# source function library +. /etc/init.d/functions + +delay_stop() { + count=0 + while [ $count -lt 9 ] ; do + if pidof $DAEMON >/dev/null; then + sleep 1 + else + return 0 + fi + count=`expr $count + 1` + done + echo "Failed to stop $DESC." + return 1 +} + +case "$1" in + start) + echo -n "Starting $DESC: " + start-stop-daemon -S -x $DAEMON -- $ARGS + echo "$NAME." + ;; + stop) + echo -n "Stopping $DESC: " + start-stop-daemon -K --oknodo -x $DAEMON + echo "$NAME." + ;; + restart) + $0 stop + delay_stop && $0 start + ;; + reload) + echo -n "Reloading $DESC: " + killall -HUP $(basename ${DAEMON}) + echo "$NAME." + ;; + status) + status $DAEMON + exit $? + ;; + *) + echo "Usage: $0 {start|stop|restart|reload|status}" + exit 1 + ;; +esac + +exit 0 diff --git a/meta-oe/recipes-connectivity/hostapd/hostap-daemon_1.0.bb b/meta-oe/recipes-connectivity/hostapd/hostapd_2.2.bb index 1699103bfc..b75f2b9a7e 100644 --- a/meta-oe/recipes-connectivity/hostapd/hostap-daemon_1.0.bb +++ b/meta-oe/recipes-connectivity/hostapd/hostapd_2.2.bb @@ -1,13 +1,15 @@ HOMEPAGE = "http://hostap.epitest.fi" SECTION = "kernel/userland" LICENSE = "GPLv2 | BSD" -LIC_FILES_CHKSUM = "file://README;md5=4d709ce0f9c84b87d148e16731f647e1" +LIC_FILES_CHKSUM = "file://README;md5=0854a4da34ac3990770794d771fac7fd" DEPENDS = "libnl openssl" SUMMARY = "User space daemon for extended IEEE 802.11 management" -inherit update-rc.d +inherit update-rc.d systemd INITSCRIPT_NAME = "hostapd" +SYSTEMD_SERVICE_${PN} = "hostapd.service" +SYSTEMD_AUTO_ENABLE_${PN} = "disable" DEFAULT_PREFERENCE = "-1" @@ -15,6 +17,7 @@ SRC_URI = " \ http://hostap.epitest.fi/releases/hostapd-${PV}.tar.gz \ file://defconfig \ file://init \ + file://hostapd.service \ " S = "${WORKDIR}/hostapd-${PV}/hostapd" @@ -30,14 +33,16 @@ do_compile() { } do_install() { - install -d ${D}${sbindir} ${D}${sysconfdir}/init.d + install -d ${D}${sbindir} ${D}${sysconfdir}/init.d ${D}${systemd_unitdir}/system/ install -m 0644 ${S}/hostapd.conf ${D}${sysconfdir} install -m 0755 ${S}/hostapd ${D}${sbindir} install -m 0755 ${S}/hostapd_cli ${D}${sbindir} install -m 755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/hostapd + install -m 0644 ${WORKDIR}/hostapd.service ${D}${systemd_unitdir}/system/ + sed -i -e 's,@SBINDIR@,${sbindir},g' -e 's,@SYSCONFDIR@,${sysconfdir},g' ${D}${systemd_unitdir}/system/hostapd.service } CONFFILES_${PN} += "${sysconfdir}/hostapd.conf" -SRC_URI[md5sum] = "236247a7bbd4f60d5fa3e99849d1ffc9" -SRC_URI[sha256sum] = "002e9dcb7e46cf82b5900a2fcf92b30fc8cdfd32a72d7fd4488588f1c013dfcc" +SRC_URI[md5sum] = "23c1f78a693c3288802d516adb7fd289" +SRC_URI[sha256sum] = "f15b6bcb434378860ea5b88dffed7f54d8cb71fff2146de0f006977a5e25a882" diff --git a/meta-oe/recipes-connectivity/irssi/irssi_0.8.16-rc1.bb b/meta-oe/recipes-connectivity/irssi/irssi_0.8.16-rc1.bb index 7880a06f0b..54d881d1c9 100644 --- a/meta-oe/recipes-connectivity/irssi/irssi_0.8.16-rc1.bb +++ b/meta-oe/recipes-connectivity/irssi/irssi_0.8.16-rc1.bb @@ -15,7 +15,8 @@ SRC_URI[sha256sum] = "bb6c0125db30b697f80837941c17372b7484c64d57a6920b8bfa7ee3de S = "${WORKDIR}/irssi-${REALPV}" -inherit autotools - -EXTRA_OECONF = "--enable-ssl" +inherit autotools pkgconfig +EXTRA_OECONF = "--enable-ssl \ + --with-ncurses=${STAGING_EXECPREFIXDIR} \ +" diff --git a/meta-oe/recipes-connectivity/iw/iw/0001-iw-version.sh-don-t-use-git-describe-for-versioning.patch b/meta-oe/recipes-connectivity/iw/iw/0001-iw-version.sh-don-t-use-git-describe-for-versioning.patch index 97c00cd2d2..e64dd0ad91 100644 --- a/meta-oe/recipes-connectivity/iw/iw/0001-iw-version.sh-don-t-use-git-describe-for-versioning.patch +++ b/meta-oe/recipes-connectivity/iw/iw/0001-iw-version.sh-don-t-use-git-describe-for-versioning.patch @@ -9,18 +9,18 @@ Upstream-Status: Unknown Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> --- - version.sh | 16 +--------------- - 1 files changed, 1 insertions(+), 15 deletions(-) + version.sh | 16 +--------------- + 1 file changed, 1 insertion(+), 15 deletions(-) diff --git a/version.sh b/version.sh -index 3fb9f6d..e4a56cb 100755 +index 11d124b..5d423c4 100755 --- a/version.sh +++ b/version.sh @@ -3,21 +3,7 @@ - VERSION="3.2" + VERSION="3.15" OUT="$1" --if head=`git rev-parse --verify HEAD 2>/dev/null`; then +-if [ -d .git ] && head=`git rev-parse --verify HEAD 2>/dev/null`; then - git update-index --refresh --unmerged > /dev/null - descr=$(git describe) - @@ -41,4 +41,3 @@ index 3fb9f6d..e4a56cb 100755 echo "const char iw_version[] = \"$v\";" >> "$OUT" -- 1.7.7.3 - diff --git a/meta-oe/recipes-connectivity/iw/iw_3.11.bb b/meta-oe/recipes-connectivity/iw/iw_3.15.bb index d72a1401c0..7800e905ee 100644 --- a/meta-oe/recipes-connectivity/iw/iw_3.11.bb +++ b/meta-oe/recipes-connectivity/iw/iw_3.15.bb @@ -9,12 +9,12 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=878618a5c4af25e9b93ef0be1a93f774" DEPENDS = "libnl pkgconfig" -SRC_URI = "http://www.kernel.org/pub/software/network/iw/${BP}.tar.bz2 \ +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 \ " -SRC_URI[md5sum] = "e633cf7c875c7d8b547abafc0d95f6c4" -SRC_URI[sha256sum] = "09348d4f7371fad00c07cfb67b9e34f24403cbd9361f9634cfb4dff9cdd40139" +SRC_URI[md5sum] = "ebb16e6c29b075e3a58b99552583fd79" +SRC_URI[sha256sum] = "1223ebab68dc337f16ed80c45af37b78f112ea091e919eafe96a4cbd63942081" EXTRA_OEMAKE = "" diff --git a/meta-oe/recipes-connectivity/krb5/krb5/0001-Return-only-new-keys-in-randkey-CVE-2014-5351.patch b/meta-oe/recipes-connectivity/krb5/krb5/0001-Return-only-new-keys-in-randkey-CVE-2014-5351.patch new file mode 100644 index 0000000000..08526610aa --- /dev/null +++ b/meta-oe/recipes-connectivity/krb5/krb5/0001-Return-only-new-keys-in-randkey-CVE-2014-5351.patch @@ -0,0 +1,92 @@ +From af0ed4df4dfae762ab5fb605f5a0c8f59cb4f6ca Mon Sep 17 00:00:00 2001 +From: Greg Hudson <ghudson@mit.edu> +Date: Thu, 21 Aug 2014 13:52:07 -0400 +Subject: [PATCH] Return only new keys in randkey [CVE-2014-5351] + +In kadmind's randkey operation, if a client specifies the keepold +flag, do not include the preserved old keys in the response. + +CVE-2014-5351: + +An authenticated remote attacker can retrieve the current keys for a +service principal when generating a new set of keys for that +principal. The attacker needs to be authenticated as a user who has +the elevated privilege for randomizing the keys of other principals. + +Normally, when a Kerberos administrator randomizes the keys of a +service principal, kadmind returns only the new keys. This prevents +an administrator who lacks legitimate privileged access to a service +from forging tickets to authenticate to that service. If the +"keepold" flag to the kadmin randkey RPC operation is true, kadmind +retains the old keys in the KDC database as intended, but also +unexpectedly returns the old keys to the client, which exposes the +service to ticket forgery attacks from the administrator. + +A mitigating factor is that legitimate clients of the affected service +will start failing to authenticate to the service once they begin to +receive service tickets encrypted in the new keys. The affected +service will be unable to decrypt the newly issued tickets, possibly +alerting the legitimate administrator of the affected service. + +CVSSv2: AV:N/AC:H/Au:S/C:P/I:N/A:N/E:POC/RL:OF/RC:C + +[tlyu@mit.edu: CVE description and CVSS score] + +ticket: 8018 (new) +target_version: 1.13 +tags: pullup + +Upstream-Status: Backport +--- + src/lib/kadm5/srv/svr_principal.c | 21 ++++++++++++++++++--- + 1 files changed, 18 insertions(+), 3 deletions(-) + +diff --git a/lib/kadm5/srv/svr_principal.c b/lib/kadm5/srv/svr_principal.c +index 5d358bd..d4e74cc 100644 +--- a/lib/kadm5/srv/svr_principal.c ++++ b/lib/kadm5/srv/svr_principal.c +@@ -344,6 +344,20 @@ check_1_6_dummy(kadm5_principal_ent_t entry, long mask, + *passptr = NULL; + } + ++/* Return the number of keys with the newest kvno. Assumes that all key data ++ * with the newest kvno are at the front of the key data array. */ ++static int ++count_new_keys(int n_key_data, krb5_key_data *key_data) ++{ ++ int n; ++ ++ for (n = 1; n < n_key_data; n++) { ++ if (key_data[n - 1].key_data_kvno != key_data[n].key_data_kvno) ++ return n; ++ } ++ return n_key_data; ++} ++ + kadm5_ret_t + kadm5_create_principal(void *server_handle, + kadm5_principal_ent_t entry, long mask, +@@ -1593,7 +1607,7 @@ kadm5_randkey_principal_3(void *server_handle, + osa_princ_ent_rec adb; + krb5_int32 now; + kadm5_policy_ent_rec pol; +- int ret, last_pwd; ++ int ret, last_pwd, n_new_keys; + krb5_boolean have_pol = FALSE; + kadm5_server_handle_t handle = server_handle; + krb5_keyblock *act_mkey; +@@ -1686,8 +1700,9 @@ kadm5_randkey_principal_3(void *server_handle, + kdb->fail_auth_count = 0; + + if (keyblocks) { +- ret = decrypt_key_data(handle->context, +- kdb->n_key_data, kdb->key_data, ++ /* Return only the new keys added by krb5_dbe_crk. */ ++ n_new_keys = count_new_keys(kdb->n_key_data, kdb->key_data); ++ ret = decrypt_key_data(handle->context, n_new_keys, kdb->key_data, + keyblocks, n_keys); + if (ret) + goto done; +-- +1.7.4.1 + diff --git a/meta-oe/recipes-connectivity/krb5/krb5/crosscompile_nm.patch b/meta-oe/recipes-connectivity/krb5/krb5/crosscompile_nm.patch new file mode 100644 index 0000000000..d3e6937515 --- /dev/null +++ b/meta-oe/recipes-connectivity/krb5/krb5/crosscompile_nm.patch @@ -0,0 +1,29 @@ +Modifies export-check.pl to use look for $ENV{'NM'} before +defaulting to using 'nm' + +Upstream-Status: Pending + +Signed-off-by: Amy Fong <amy.fong@windriver.com> +--- + + export-check.pl | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +Index: src/util/export-check.pl +=================================================================== +--- src.orig/util/export-check.pl ++++ src/util/export-check.pl +@@ -38,7 +38,12 @@ + my($exfile, $libfile) = @ARGV; + + @missing = (); +-open NM, "nm -Dg --defined-only $libfile |" || die "can't run nm on $libfile: $!"; ++if (defined($ENV{'NM'})) { ++ $nm = $ENV{'NM'}; ++} else { ++ $nm = "nm"; ++} ++open NM, "$nm -Dg --defined-only $libfile |" || die "can't run nm on $libfile: $!"; + open EXPORT, "< $exfile" || die "can't read $exfile: $!"; + + @export = <EXPORT>; diff --git a/meta-oe/recipes-connectivity/krb5/krb5/debian-suppress-usr-lib-in-krb5-config.patch b/meta-oe/recipes-connectivity/krb5/krb5/debian-suppress-usr-lib-in-krb5-config.patch new file mode 100644 index 0000000000..f0182ee5db --- /dev/null +++ b/meta-oe/recipes-connectivity/krb5/krb5/debian-suppress-usr-lib-in-krb5-config.patch @@ -0,0 +1,48 @@ +Subject: [PATCH] debian: suppress /usr/lib in krb5-config + +Upstream-Status: Pending + +Handel multi-arch suppressions + +The patch is from debian. + +Signed-off-by: Jackie Huang <jackie.huang@windriver.com> +--- + src/build-tools/krb5-config.in | 14 +++++++++----- + 1 files changed, 9 insertions(+), 5 deletions(-) + +diff --git a/src/build-tools/krb5-config.in b/src/build-tools/krb5-config.in +index f6184da..637bad7 100755 +--- a/src/build-tools/krb5-config.in ++++ b/src/build-tools/krb5-config.in +@@ -138,6 +138,7 @@ if test -n "$do_help"; then + echo " [--defktname] Show built-in default keytab name" + echo " [--defcktname] Show built-in default client keytab name" + echo " [--cflags] Compile time CFLAGS" ++ echo " [--deps] Include dependent libraries" + echo " [--libs] List libraries required to link [LIBRARIES]" + echo "Libraries:" + echo " krb5 Kerberos 5 application" +@@ -209,11 +210,14 @@ fi + + if test -n "$do_libs"; then + # Assumes /usr/lib is the standard library directory everywhere... +- if test "$libdir" = /usr/lib; then +- libdirarg= +- else +- libdirarg="-L$libdir" +- fi ++ case $libdir in ++ /usr/lib*) ++ libdirarg= ++ ;; ++ *) ++ libdirarg="-L$libdir" ++ ;; ++ esac + # Ugly gross hack for our build tree + lib_flags=`echo $CC_LINK | sed -e 's/\$(CC)//' \ + -e 's/\$(PURE)//' \ +-- +1.7.1 + diff --git a/meta-oe/recipes-connectivity/krb5/krb5/etc/default/krb5-admin-server b/meta-oe/recipes-connectivity/krb5/krb5/etc/default/krb5-admin-server new file mode 100644 index 0000000000..2835929139 --- /dev/null +++ b/meta-oe/recipes-connectivity/krb5/krb5/etc/default/krb5-admin-server @@ -0,0 +1,6 @@ +# Automatically generated. If you change anything in this file other than the +# values of RUN_KADMIND or DAEMON_ARGS, first run dpkg-reconfigure +# krb5-admin-server and disable managing the kadmin configuration with +# debconf. Otherwise, changes will be overwritten. + +RUN_KADMIND=true diff --git a/meta-oe/recipes-connectivity/krb5/krb5/etc/default/krb5-kdc b/meta-oe/recipes-connectivity/krb5/krb5/etc/default/krb5-kdc new file mode 100644 index 0000000000..310bfcf8ad --- /dev/null +++ b/meta-oe/recipes-connectivity/krb5/krb5/etc/default/krb5-kdc @@ -0,0 +1,5 @@ +# Automatically generated. Only the value of DAEMON_ARGS will be preserved. +# If you change anything in this file other than DAEMON_ARGS, first run +# dpkg-reconfigure krb5-kdc and disable managing the KDC configuration with +# debconf. Otherwise, changes will be overwritten. + diff --git a/meta-oe/recipes-connectivity/krb5/krb5/etc/init.d/krb5-admin-server b/meta-oe/recipes-connectivity/krb5/krb5/etc/init.d/krb5-admin-server new file mode 100755 index 0000000000..79238d4f40 --- /dev/null +++ b/meta-oe/recipes-connectivity/krb5/krb5/etc/init.d/krb5-admin-server @@ -0,0 +1,140 @@ +#! /bin/sh +### BEGIN INIT INFO +# Provides: krb5-admin-server +# Required-Start: $local_fs $remote_fs $network $syslog +# Required-Stop: $local_fs $remote_fs $network $syslog +# Should-Start: krb5-kdc +# Should-Stop: krb5-kdc +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: MIT Kerberos KDC administrative daemon +# Description: Starts, stops, or restarts the MIT Kerberos KDC +# administrative daemon (kadmind). This daemon answers +# requests from kadmin clients and allows administrators +# to create, delete, and modify principals in the KDC +# database. +### END INIT INFO + +# Author: Sam Hartman <hartmans@mit.edu> +# Author: Russ Allbery <rra@debian.org> +# +# Based on the /etc/init.d/skeleton template as found in initscripts version +# 2.86.ds1-15. + +# June, 2012: Adopted for yocto <amy.fong@windriver.com> + +PATH=/usr/sbin:/usr/bin:/sbin:/bin +DESC="Kerberos administrative servers" +NAME=kadmind +DAEMON=/usr/sbin/$NAME +DAEMON_ARGS="" +SCRIPTNAME=/etc/init.d/krb5-admin-server +DEFAULT=/etc/default/krb5-admin-server + +# Exit if the package is not installed. +[ -x "$DAEMON" ] || exit 0 + +# Read configuration if it is present. +[ -r "$DEFAULT" ] && . "$DEFAULT" + +# Get the setting of VERBOSE and other rcS variables. +[ -f /etc/default/rcS ] && . /etc/default/rcS + +. /etc/init.d/functions + +ADMIN_SERVER_LOG=/var/log/kadmind.log +[ -f $ADMIN_SERVER_LOG ] && (test ! -x /sbin/restorecon \ + || /sbin/restorecon -F $ADMIN_SERVER_LOG) + +# Return +# 0 if daemon has been started +# 1 if daemon was already running +# 2 if daemon could not be started +do_start() +{ + start-stop-daemon --start --quiet --startas $DAEMON --name $NAME --test \ + > /dev/null || return 1 + start-stop-daemon --start --quiet --startas $DAEMON --name $NAME \ + -- $DAEMON_ARGS || return 2 +} + +# Return +# 0 if daemon has been stopped +# 1 if daemon was already stopped +# 2 if daemon could not be stopped +# other if a failure occurred +do_stop() +{ + start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --name $NAME + RETVAL="$?" + [ "$RETVAL" = 2 ] && return 2 + return "$RETVAL" +} + + +case "$1" in + start) + if [ "$RUN_KADMIND" = false ] ; then + if [ "$VERBOSE" != no ] ; then + echo "Not starting $DESC per configuration" + fi + exit 0 + fi + [ "$VERBOSE" != no ] && echo "Starting $DESC" "$NAME" + do_start + case "$?" in + 0|1) [ "$VERBOSE" != no ] && echo 0 ;; + 2) [ "$VERBOSE" != no ] && echo 1 ;; + esac + ;; + + stop) + [ "$VERBOSE" != no ] && echo "Stopping $DESC" "$NAME" + do_stop + case "$?" in + 0|1) [ "$VERBOSE" != no ] && echo 0 ;; + 2) [ "$VERBOSE" != no ] && echo 1 ;; + esac + ;; + + restart|force-reload) + if [ "$RUN_KADMIND" = false ] ; then + if [ "$VERBOSE" != no ] ; then + echo "Not restarting $DESC per configuration" + fi + exit 0 + fi + echo "Restarting $DESC" "$NAME" + do_stop + case "$?" in + 0|1) + do_start + case "$?" in + 0) [ "$VERBOSE" != no ] && echo 0 ;; + *) [ "$VERBOSE" != no ] && echo 1 ;; + esac + ;; + *) + echo 1 + ;; + esac + ;; + + status) + pidofproc "$DAEMON" >/dev/null + status=$? + if [ $status -eq 0 ]; then + echo "$NAME is running." + else + echo "$NAME is not running." + fi + exit $status + ;; + + *) + echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload|status}" >&2 + exit 3 + ;; +esac + +: diff --git a/meta-oe/recipes-connectivity/krb5/krb5/etc/init.d/krb5-kdc b/meta-oe/recipes-connectivity/krb5/krb5/etc/init.d/krb5-kdc new file mode 100755 index 0000000000..865d1b9703 --- /dev/null +++ b/meta-oe/recipes-connectivity/krb5/krb5/etc/init.d/krb5-kdc @@ -0,0 +1,133 @@ +#! /bin/sh +### BEGIN INIT INFO +# Provides: krb5-kdc +# Required-Start: $local_fs $remote_fs $network $syslog +# Required-Stop: $local_fs $remote_fs $network $syslog +# X-Start-Before: $x-display-manager +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: MIT Kerberos KDC +# Description: Starts, stops, or restarts the MIT Kerberos KDC. This +# daemon responds to ticket requests from Kerberos +# clients. +### END INIT INFO + +# Author: Sam Hartman <hartmans@mit.edu> +# Author: Russ Allbery <rra@debian.org> +# +# Based on the /etc/init.d/skeleton template as found in initscripts version +# 2.86.ds1-15. + +# June, 2012: Adopted for yocto <amy.fong@windriver.com> + +PATH=/usr/sbin:/usr/bin:/sbin:/bin +DESC="Kerberos KDC" +NAME=krb5kdc +DAEMON=/usr/sbin/$NAME +DAEMON_ARGS="" +SCRIPTNAME=/etc/init.d/krb5-kdc + +# Exit if the package is not installed. +[ -x "$DAEMON" ] || exit 0 + +# Read configuration if it is present. +[ -r /etc/default/krb5-kdc ] && . /etc/default/krb5-kdc + +# Get the setting of VERBOSE and other rcS variables. +[ -f /etc/default/rcS ] && . /etc/default/rcS + +. /etc/init.d/functions + +# Return +# 0 if daemon has been started +# 1 if daemon was already running +# 2 if daemon could not be started +do_start_kdc() +{ + start-stop-daemon --start --quiet --startas $DAEMON --name $NAME --test \ + > /dev/null || return 1 + start-stop-daemon --start --quiet --startas $DAEMON --name $NAME \ + -- $DAEMON_ARGS || return 2 +} + + +# Return +# 0 if daemon has been stopped +# 1 if daemon was already stopped +# 2 if daemon could not be stopped +# other if a failure occurred +do_stop_kdc() +{ + start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --name $NAME + RETVAL="$?" + [ "$RETVAL" = 2 ] && return 2 + return "$RETVAL" +} + + +case "$1" in + start) + [ "$VERBOSE" != no ] && echo "Starting $DESC" "$NAME" + do_start_kdc + case "$?" in + 0|1) + [ "$VERBOSE" != no ] && echo 0 + ;; + 2) + [ "$VERBOSE" != no ] && echo 1 + ;; + esac + ;; + + stop) + [ "$VERBOSE" != no ] && echo "Stopping $DESC" "$NAME" + do_stop_kdc + case "$?" in + 0|1) + [ "$VERBOSE" != no ] && echo "krb524d" + ;; + 2) + [ "$VERBOSE" != no ] && echo 1 + ;; + esac + ;; + + restart|force-reload) + echo "Restarting $DESC" "$NAME" + do_stop_kdc + case "$?" in + 0|1) + do_start_kdc + case "$?" in + 0) + echo 0 + ;; + 1|2) + echo 1 + ;; + esac + ;; + *) + echo 1 + ;; + esac + ;; + + status) + pidofproc "$DAEMON" >/dev/null + status=$? + if [ $status -eq 0 ]; then + echo "$NAME is running." + else + echo "$NAME is not running." + fi + exit $status + ;; + + *) + echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload|status}" >&2 + exit 3 + ;; +esac + +: diff --git a/meta-oe/recipes-connectivity/krb5/krb5_1.11.3.bb b/meta-oe/recipes-connectivity/krb5/krb5_1.11.3.bb deleted file mode 100644 index 5d255278dd..0000000000 --- a/meta-oe/recipes-connectivity/krb5/krb5_1.11.3.bb +++ /dev/null @@ -1,50 +0,0 @@ -SUMMARY = "A network authentication protocol" -HOMEPAGE = "http://web.mit.edu/Kerberos/" -SECTION = "console/network" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://${S}/../NOTICE;md5=1d9c8180d79838c02eb5eb1a3b184eb9" -DEPENDS = "ncurses util-linux e2fsprogs e2fsprogs-native" - -inherit autotools binconfig perlnative - -SHRT_VER = "${@oe.utils.trim_version("${PV}", 2)}" -SRC_URI = "http://web.mit.edu/kerberos/dist/${PN}/${SHRT_VER}/${P}-signed.tar \ - file://0001-aclocal-Add-parameter-to-disable-keyutils-detection.patch \ -" -SRC_URI[md5sum] = "56f0ae274b285320b8a597cb89442449" -SRC_URI[sha256sum] = "9abd94bb94a70996da0f8d90408957154bb543271b097e86c63eb33e5f5751b5" - -S = "${WORKDIR}/${P}/src/" - -PACKAGECONFIG ??= "openssl" -PACKAGECONFIG[libedit] = "--with-libedit,--without-libedit,libedit" -PACKAGECONFIG[openssl] = "--with-pkinit-crypto-impl=openssl,,openssl" -PACKAGECONFIG[keyutils] = "--enable-keyutils,--disable-keyutils,keyutils" - -EXTRA_OECONF += " --without-tcl --with-system-et --disable-rpath" -CACHED_CONFIGUREVARS += "krb5_cv_attr_constructor_destructor=yes ac_cv_func_regcomp=yes \ - ac_cv_printf_positional=yes ac_cv_file__etc_environment=yes \ - ac_cv_file__etc_TIMEZONE=no" - -CFLAGS_append += "-DDESTRUCTOR_ATTR_WORKS=1 -I${STAGING_INCDIR}/et" -LDFLAGS_append += "-lpthread" - -FILES_${PN}-doc += "${datadir}/examples" -FILES_${PN} += "${datadir}/gnats" -FILES_${PN}-dbg += "${libdir}/krb5/plugins/*/.debug" - -krb5_do_unpack() { - # ${P}-signed.tar contains ${P}.tar.gz.asc and ${P}.tar.gz - tar xzf ${WORKDIR}/${P}.tar.gz -C ${WORKDIR}/ -} - -python do_unpack() { - bb.build.exec_func('base_do_unpack', d) - bb.build.exec_func('krb5_do_unpack', d) -} - -do_configure() { - gnu-configize --force - autoreconf - oe_runconf -} diff --git a/meta-oe/recipes-connectivity/krb5/krb5_1.12.2.bb b/meta-oe/recipes-connectivity/krb5/krb5_1.12.2.bb new file mode 100644 index 0000000000..c492496b64 --- /dev/null +++ b/meta-oe/recipes-connectivity/krb5/krb5_1.12.2.bb @@ -0,0 +1,80 @@ +SUMMARY = "A network authentication protocol" +DESCRIPTION = "Kerberos is a system for authenticating users and services on a network. \ + Kerberos is a trusted third-party service. That means that there is a \ + third party (the Kerberos server) that is trusted by all the entities on \ + the network (users and services, usually called "principals"). \ + . \ + This is the MIT reference implementation of Kerberos V5. \ + . \ + This package contains the Kerberos key server (KDC). The KDC manages all \ + authentication credentials for a Kerberos realm, holds the master keys \ + for the realm, and responds to authentication requests. This package \ + should be installed on both master and slave KDCs." + +HOMEPAGE = "http://web.mit.edu/Kerberos/" +SECTION = "console/network" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${S}/../NOTICE;md5=450c80c6258ce03387bd09df37638ebc" +DEPENDS = "ncurses util-linux e2fsprogs e2fsprogs-native" + +inherit autotools-brokensep binconfig perlnative + +SHRT_VER = "${@oe.utils.trim_version("${PV}", 2)}" +SRC_URI = "http://web.mit.edu/kerberos/dist/${BPN}/${SHRT_VER}/${BP}-signed.tar \ + file://0001-aclocal-Add-parameter-to-disable-keyutils-detection.patch \ + file://0001-Return-only-new-keys-in-randkey-CVE-2014-5351.patch \ + file://debian-suppress-usr-lib-in-krb5-config.patch;striplevel=2 \ + file://crosscompile_nm.patch \ + file://etc/init.d/krb5-kdc \ + file://etc/init.d/krb5-admin-server \ + file://etc/default/krb5-kdc \ + file://etc/default/krb5-admin-server \ +" +SRC_URI[md5sum] = "357f1312b7720a0a591e22db0f7829fe" +SRC_URI[sha256sum] = "09bd180107b5c2b3b7378c57c023fb02a103d4cac39d6f2dd600275d7a4f3744" + +S = "${WORKDIR}/${BP}/src/" + +PACKAGECONFIG ??= "openssl" +PACKAGECONFIG[libedit] = "--with-libedit,--without-libedit,libedit" +PACKAGECONFIG[openssl] = "--with-pkinit-crypto-impl=openssl,,openssl" +PACKAGECONFIG[keyutils] = "--enable-keyutils,--disable-keyutils,keyutils" +PACKAGECONFIG[ldap] = "--with-ldap,--without-ldap,openldap" +PACKAGECONFIG[readline] = "--with-readline,--without-readline,readline" + +EXTRA_OECONF += " --without-tcl --with-system-et --disable-rpath" +CACHED_CONFIGUREVARS += "krb5_cv_attr_constructor_destructor=yes ac_cv_func_regcomp=yes \ + ac_cv_printf_positional=yes ac_cv_file__etc_environment=yes \ + ac_cv_file__etc_TIMEZONE=no" + +CFLAGS_append += "-DDESTRUCTOR_ATTR_WORKS=1 -I${STAGING_INCDIR}/et" +LDFLAGS_append += "-lpthread" + +FILES_${PN} += "${datadir}/gnats" +FILES_${PN}-doc += "${datadir}/examples" +FILES_${PN}-dbg += "${libdir}/krb5/plugins/*/.debug" + +# As this recipe doesn't inherit update-rc.d, we need to add this dependency here +RDEPENDS_${PN} += "initscripts-functions" + +krb5_do_unpack() { + # ${P}-signed.tar contains ${P}.tar.gz.asc and ${P}.tar.gz + tar xzf ${WORKDIR}/${BP}.tar.gz -C ${WORKDIR}/ +} + +python do_unpack() { + bb.build.exec_func('base_do_unpack', d) + bb.build.exec_func('krb5_do_unpack', d) +} + +do_configure() { + gnu-configize --force + autoreconf + oe_runconf +} + +do_install_append() { + mkdir -p ${D}/etc/init.d ${D}/etc/default + install -m 0755 ${WORKDIR}/etc/init.d/* ${D}/etc/init.d + install -m 0644 ${WORKDIR}/etc/default/* ${D}/etc/default +} diff --git a/meta-oe/recipes-connectivity/libimobiledevice/libimobiledevice_1.1.4.bb b/meta-oe/recipes-connectivity/libimobiledevice/libimobiledevice_1.1.4.bb index 9f2cc49708..5256ce0d29 100644 --- a/meta-oe/recipes-connectivity/libimobiledevice/libimobiledevice_1.1.4.bb +++ b/meta-oe/recipes-connectivity/libimobiledevice/libimobiledevice_1.1.4.bb @@ -8,7 +8,7 @@ LIC_FILES_CHKSUM = "\ #| configure:17888: checking for native large file support #| configure:17891: error: in `/home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/work/core2-64-oe-linux/libimobiledevice/1.1.4-r0/libimobiledevice-1.1.4': #| configure:17893: error: cannot run test program while cross compiling -PNBLACKLIST[libimobiledevice] = "cannot run test program while cross compiling" +PNBLACKLIST[libimobiledevice] ?= "cannot run test program while cross compiling" HOMEPAGE ="http://www.libimobiledevice.org/" diff --git a/meta-oe/recipes-connectivity/libmtp/libmtp-1.1.5/glibc-2.20.patch b/meta-oe/recipes-connectivity/libmtp/libmtp-1.1.5/glibc-2.20.patch new file mode 100644 index 0000000000..38b45c2a93 --- /dev/null +++ b/meta-oe/recipes-connectivity/libmtp/libmtp-1.1.5/glibc-2.20.patch @@ -0,0 +1,36 @@ + +Include config.h so we get the defines available for subsequent +include files + +Fixes errors like + +| In file included from /home/ubuntu/work/upstream/openembedded-core/build/tmp-glibc/sysroots/beaglebone/usr/include/string.h:634:0, +| from /home/ubuntu/work/upstream/openembedded-core/build/tmp-glibc/work/cortexa8t2hf-vfp-neon-oe-linux-gnueabi/libmtp/1.1.5-r0/libmtp-1.1.5/src/util.c:36: +| /home/ubuntu/work/upstream/openembedded-core/build/tmp-glibc/work/cortexa8t2hf-vfp-neon-oe-linux-gnueabi/libmtp/1.1.5-r0/libmtp-1.1.5/src/util.h:29:7: error: expected identifier or '(' before '__extension +__' +| char *strndup (const char *s, size_t n); +| ^ +| /home/ubuntu/work/upstream/openembedded-core/build/tmp-glibc/work/cortexa8t2hf-vfp-neon-oe-linux-gnueabi/libmtp/1.1.5-r0/libmtp-1.1.5/src/util.c:111:7: error: expected identifier or '(' before '__extensio +n__' +| char *strndup (const char *s, size_t n) +| ^ +| make[2]: *** [libmtp_la-util.lo] Error 1 + + +Signed-off-by: Khem Raj <raj.khem@gmail.com> + +Upstream-Status: Pending + +Index: libmtp-1.1.5/src/util.c +=================================================================== +--- libmtp-1.1.5.orig/src/util.c 2011-01-10 05:37:21.000000000 -0800 ++++ libmtp-1.1.5/src/util.c 2014-09-03 23:50:44.703563888 -0700 +@@ -22,6 +22,8 @@ + * Boston, MA 02111-1307, USA. + */ + ++#include "config.h" ++ + /* MSVC does not have these */ + #ifndef _MSC_VER + #include <sys/time.h> diff --git a/meta-oe/recipes-connectivity/libmtp/libmtp_1.1.5.bb b/meta-oe/recipes-connectivity/libmtp/libmtp_1.1.5.bb index 0c92ff9694..de63c72f52 100644 --- a/meta-oe/recipes-connectivity/libmtp/libmtp_1.1.5.bb +++ b/meta-oe/recipes-connectivity/libmtp/libmtp_1.1.5.bb @@ -13,12 +13,13 @@ LIC_FILES_CHKSUM = "\ file://examples/albums.c;beginline=5;endline=21;md5=84f4e55dfec49e898b7f68a828c15620 \ " -DEPENDS += "libusb1" +DEPENDS += "libusb1 gettext-native" SCM_URI = "git://git.code.sf.net/p/libmtp/code" SRC_URI = "\ ${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz \ file://69-libmtp.rules \ + file://glibc-2.20.patch \ " SRC_URI[md5sum] = "f80e45c0e6e5798c434bb1c26a7b602d" SRC_URI[sha256sum] = "787679171baf8b3cf2fcc03196c705ab4d7cbc969bd71f9d3696be1ce7f1c63a" diff --git a/meta-oe/recipes-connectivity/libnet/libnet-1.1.6/fix-endianess-test.patch b/meta-oe/recipes-connectivity/libnet/libnet-1.1.6/fix-endianess-test.patch deleted file mode 100644 index 4f9d5a4315..0000000000 --- a/meta-oe/recipes-connectivity/libnet/libnet-1.1.6/fix-endianess-test.patch +++ /dev/null @@ -1,40 +0,0 @@ -Use autoconf's endian check instead of the locally defined check -so that we can determine the endianess without having to compile -a program. - -Idea from http://www.security-lists.org/lists/libnet/2003/03/00001.html - -Also remove the old test from aclocal.m4. - -Rebased for libnet-1.1.6 - -diff --git a/configure.in b/configure.in -index e54c688..e2e768e 100644 ---- a/configure.in -+++ b/configure.in -@@ -4,6 +4,7 @@ dnl All rights reserved. - dnl - dnl Process this file with autoconf to produce a configure script. - -+AC_PREREQ(2.52) - AC_INIT(libnet, 1.1.6) - AC_MSG_RESULT(beginning autoconfiguration process for libnet-${PACKAGE_VERSION} ...) - AC_CANONICAL_SYSTEM -@@ -38,7 +39,16 @@ dnl - dnl And some custom things - dnl - --AC_LIBNET_ENDIAN_CHECK -+AC_C_BIGENDIAN([ -+ AC_DEFINE(LIBNET_BIG_ENDIAN) -+ ENDIANESS="LIBNET_BIG_ENDIAN" -+ LIBNET_CONFIG_DEFINES="$LIBNET_CONFIG_DEFINES -DLIBNET_BIG_ENDIAN" -+],[ -+ AC_DEFINE(LIBNET_LIL_ENDIAN) -+ ENDIANESS="LIBNET_LIL_ENDIAN" -+ LIBNET_CONFIG_DEFINES="$LIBNET_CONFIG_DEFINES -DLIBNET_LIL_ENDIAN" -+], AC_MSG_WARN(cannot detect endianess. try setting ac_cv_c_bigendian to yes or no)) -+ - dnl AC_LBL_LIBRARY_NET - - AC_SUBST(ENDIANESS) diff --git a/meta-oe/recipes-connectivity/libnet/libnet_1.1.6.bb b/meta-oe/recipes-connectivity/libnet/libnet_1.1.6.bb deleted file mode 100644 index 0db074b1d3..0000000000 --- a/meta-oe/recipes-connectivity/libnet/libnet_1.1.6.bb +++ /dev/null @@ -1,23 +0,0 @@ -SUMMARY = "A packet dissection and creation library" -# libnet at packetfactory.net is dead -HOMEPAGE = "https://github.com/sam-github/libnet" -SECTION = "libs" -LICENSE = "BSD" -LIC_FILES_CHKSUM = "file://doc/COPYING;md5=fb43d5727b2d3d1238545f75ce456ec3" -DEPENDS = "libpcap" -# There are major API changes beween libnet v1.0 and libnet v1.1 -PROVIDES = "libnet-1.1" - -SRC_URI = "${SOURCEFORGE_MIRROR}/libnet-dev/${BPN}-${PV}.tar.gz \ - file://fix-endianess-test.patch" - -SRC_URI[md5sum] = "710296fe424a49344e5fcc0d09e53317" -SRC_URI[sha256sum] = "d392bb5825c4b6b672fc93a0268433c86dc964e1500c279dc6d0711ea6ec467a" - -S = "${WORKDIR}/${BPN}-${PV}" - -inherit autotools binconfig - -do_configure_prepend() { - rm -f aclocal.m4 Makefile.am ltmain.sh -} diff --git a/meta-oe/recipes-connectivity/libnet/libnet_1.2-rc3.bb b/meta-oe/recipes-connectivity/libnet/libnet_1.2-rc3.bb new file mode 100644 index 0000000000..a558e8096c --- /dev/null +++ b/meta-oe/recipes-connectivity/libnet/libnet_1.2-rc3.bb @@ -0,0 +1,19 @@ +SUMMARY = "A packet dissection and creation library" +# libnet at packetfactory.net is dead +HOMEPAGE = "https://github.com/sam-github/libnet" +SECTION = "libs" +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://doc/COPYING;md5=3ec839e00408b484d33b472a86b7c266" +DEPENDS = "libpcap" +# There are major API changes beween libnet v1.0 and libnet v1.1 +PROVIDES = "libnet-1.2rc2" + +SRC_URI = "${SOURCEFORGE_MIRROR}/libnet-dev/${BPN}-${PV}.tar.gz" + +SRC_URI[md5sum] = "f051e6e5bdecddb90f77c701c2ca1804" +SRC_URI[sha256sum] = "72c380785ad44183005e654b47cc12485ee0228d7fa6b0a87109ff7614be4a63" + +S = "${WORKDIR}/${BPN}-${PV}" + +inherit autotools binconfig + diff --git a/meta-oe/recipes-connectivity/libtorrent/libtorrent_0.13.3.bb b/meta-oe/recipes-connectivity/libtorrent/libtorrent_0.13.3.bb index a7f81e66fe..4af3a6a6a6 100644 --- a/meta-oe/recipes-connectivity/libtorrent/libtorrent_0.13.3.bb +++ b/meta-oe/recipes-connectivity/libtorrent/libtorrent_0.13.3.bb @@ -6,12 +6,12 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=393a5ca445f6965873eca0259a17f833" DEPENDS = "libsigc++-2.0 openssl cppunit" -SRC_URI = "http://libtorrent.rakshasa.no/downloads/${PN}-${PV}.tar.gz \ +SRC_URI = "http://libtorrent.rakshasa.no/downloads/${BP}.tar.gz \ file://don-t-run-code-while-configuring-package.patch \ " SRC_URI[md5sum] = "e94f6c590bb02aaf4d58618f738a85f2" SRC_URI[sha256sum] = "34317d6783b7f8d0805274c9467475b5432a246c0de8e28fc16e3b0b43f35677" -inherit autotools +inherit autotools pkgconfig diff --git a/meta-oe/recipes-connectivity/linuxptp/linuxptp/build-Allow-CC-and-prefix-to-be-overriden.patch b/meta-oe/recipes-connectivity/linuxptp/linuxptp/build-Allow-CC-and-prefix-to-be-overriden.patch new file mode 100644 index 0000000000..b1d96ae5a7 --- /dev/null +++ b/meta-oe/recipes-connectivity/linuxptp/linuxptp/build-Allow-CC-and-prefix-to-be-overriden.patch @@ -0,0 +1,37 @@ +From af485c638c61fa883212ea424e676fbf90bee594 Mon Sep 17 00:00:00 2001 +From: Otavio Salvador <otavio@ossystems.com.br> +Date: Tue, 1 Jul 2014 17:37:31 -0300 +Subject: [PATCH] build: Allow CC and prefix to be overriden + +Upstream-Status: Pending + +Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> +--- + makefile | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/makefile b/makefile +index 22e7d0d..809cc8f 100644 +--- a/makefile ++++ b/makefile +@@ -18,7 +18,7 @@ + KBUILD_OUTPUT = + + DEBUG = +-CC = $(CROSS_COMPILE)gcc ++CC ?= $(CROSS_COMPILE)gcc + VER = -DVER=$(version) + CFLAGS = -Wall $(VER) $(incdefs) $(DEBUG) $(EXTRA_CFLAGS) + LDLIBS = -lm -lrt $(EXTRA_LDFLAGS) +@@ -35,7 +35,7 @@ incdefs := $(shell $(srcdir)/incdefs.sh) + version := $(shell $(srcdir)/version.sh $(srcdir)) + VPATH = $(srcdir) + +-prefix = /usr/local ++prefix ?= /usr/local + sbindir = $(prefix)/sbin + mandir = $(prefix)/man + man8dir = $(mandir)/man8 +-- +1.7.10.4 + diff --git a/meta-oe/recipes-connectivity/linuxptp/linuxptp_1.4.bb b/meta-oe/recipes-connectivity/linuxptp/linuxptp_1.4.bb index 10d674405f..4ee0c8873b 100644 --- a/meta-oe/recipes-connectivity/linuxptp/linuxptp_1.4.bb +++ b/meta-oe/recipes-connectivity/linuxptp/linuxptp_1.4.bb @@ -2,13 +2,14 @@ DESCRIPTION = "Precision Time Protocol (PTP) according to IEEE standard 1588 for LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" -SRC_URI = "http://sourceforge.net/projects/linuxptp/files/v${PV}/linuxptp-${PV}.tgz" +SRC_URI = "http://sourceforge.net/projects/linuxptp/files/v${PV}/linuxptp-${PV}.tgz \ + file://build-Allow-CC-and-prefix-to-be-overriden.patch" SRC_URI[md5sum] = "a37ad2b2ef7d1ebc4d64a66d3fe55cdf" SRC_URI[sha256sum] = "6cfd5291fb7394cc9f25458927874a203971b66b76d1c9d6568e007d0cbd81f2" -EXTRA_OEMAKE = "CROSS_COMPILE=${TARGET_PREFIX} ARCH=${TARGET_ARCH} \ - EXTRA_CFLAGS='-D_GNU_SOURCE -DHAVE_CLOCK_ADJTIME -DHAVE_ONESTEP_SYNC'" +EXTRA_OEMAKE = "ARCH=${TARGET_ARCH} \ + EXTRA_CFLAGS='-D_GNU_SOURCE -DHAVE_CLOCK_ADJTIME -DHAVE_ONESTEP_SYNC ${CFLAGS}'" do_install () { install -d ${D}/${bindir} diff --git a/meta-oe/recipes-connectivity/loudmouth/loudmouth_1.4.3.bb b/meta-oe/recipes-connectivity/loudmouth/loudmouth_1.4.3.bb index c8642768db..e512419095 100644 --- a/meta-oe/recipes-connectivity/loudmouth/loudmouth_1.4.3.bb +++ b/meta-oe/recipes-connectivity/loudmouth/loudmouth_1.4.3.bb @@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=c4f38aef94828f6b280e00d1173be689" DEPENDS = "glib-2.0 libcheck openssl libidn" -inherit gnomebase +inherit gnomebase gtk-doc PR = "r2" diff --git a/meta-oe/recipes-connectivity/networkmanager/modemmanager_0.6.0.0.bb b/meta-oe/recipes-connectivity/networkmanager/modemmanager_0.6.0.0.bb index 759c86e8ec..5ff18da057 100644 --- a/meta-oe/recipes-connectivity/networkmanager/modemmanager_0.6.0.0.bb +++ b/meta-oe/recipes-connectivity/networkmanager/modemmanager_0.6.0.0.bb @@ -1,4 +1,4 @@ -DEPENDS = "ppp udev glib-2.0" +DEPENDS = "ppp udev glib-2.0 dbus-glib" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" diff --git a/meta-oe/recipes-connectivity/networkmanager/networkmanager/0002-NetworkManager.service-remove-reference-to-NetworkMa.patch b/meta-oe/recipes-connectivity/networkmanager/networkmanager/0002-NetworkManager.service-remove-reference-to-NetworkMa.patch deleted file mode 100644 index bbcd021c13..0000000000 --- a/meta-oe/recipes-connectivity/networkmanager/networkmanager/0002-NetworkManager.service-remove-reference-to-NetworkMa.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 1137846f778dc9f3be0c89cb2df18d3a37f844d7 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com> -Date: Fri, 19 Apr 2013 18:34:09 +0200 -Subject: [PATCH] NetworkManager.service: remove reference to - NetworkManager-wait-online.service -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -* NetworkManager-wait-online.service crashes -* NetworkManager works fine without NetworkManager-wait-online - -Upstream-Status: Inappropriate [config] - -Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com> ---- - data/NetworkManager.service.in | 1 - - 1 files changed, 0 insertions(+), 1 deletions(-) - -diff --git a/data/NetworkManager.service.in b/data/NetworkManager.service.in -index 16b53b6..a2e913c 100644 ---- a/data/NetworkManager.service.in -+++ b/data/NetworkManager.service.in -@@ -18,5 +18,4 @@ KillMode=process - [Install] - WantedBy=multi-user.target - Alias=dbus-org.freedesktop.NetworkManager.service --Also=NetworkManager-wait-online.service - --- -1.7.4.4 - diff --git a/meta-oe/recipes-connectivity/networkmanager/networkmanager_0.9.8.0.bb b/meta-oe/recipes-connectivity/networkmanager/networkmanager_0.9.8.10.bb index 3c7944dcc2..8d37c980e0 100644 --- a/meta-oe/recipes-connectivity/networkmanager/networkmanager_0.9.8.0.bb +++ b/meta-oe/recipes-connectivity/networkmanager/networkmanager_0.9.8.10.bb @@ -4,18 +4,17 @@ SECTION = "net/misc" LICENSE = "GPLv2+" LIC_FILES_CHKSUM = "file://COPYING;md5=cbbffd568227ada506640fe950a4823b" -DEPENDS = "libnl dbus dbus-glib udev wireless-tools gnutls util-linux ppp" +DEPENDS = "libnl dbus dbus-glib udev wireless-tools nss util-linux ppp" inherit gnome gettext systemd SRC_URI = " \ ${GNOME_MIRROR}/NetworkManager/${@gnome_verdir("${PV}")}/NetworkManager-${PV}.tar.xz \ file://0001-don-t-try-to-run-sbin-dhclient-to-get-the-version-nu.patch \ - file://0002-NetworkManager.service-remove-reference-to-NetworkMa.patch \ file://0001-configure.ac-Check-only-for-libsystemd-not-libsystem.patch \ " -SRC_URI[md5sum] = "38d28f6bd9220d85dfff47210706195c" -SRC_URI[sha256sum] = "c366bcded6354d8186ad93c05d26d6a20bc550aa0391f974704e7a60e9f6096b" +SRC_URI[md5sum] = "aad2558887e25417c52eb2deaade2f85" +SRC_URI[sha256sum] = "064d27223d3824859df12e1fb25b787fec1c68bbc864dc52a0289b9211c4c972" S = "${WORKDIR}/NetworkManager-${PV}" @@ -26,11 +25,12 @@ EXTRA_OECONF = " \ --disable-ifnet \ --disable-ifcfg-suse \ --with-netconfig \ - --with-crypto=gnutls \ + --with-crypto=nss \ --disable-more-warnings \ --with-dhclient=${base_sbindir}/dhclient \ --with-iptables=${sbindir}/iptables \ --with-tests \ + --with-dnsmasq=${bindir}/dnsmasq \ " PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES','systemd','systemd','consolekit',d)}" @@ -55,7 +55,7 @@ do_install_append () { install -d ${D}${sysconfdir}/dbus-1/event.d # Additional test binaries install -d ${D}${bindir} - install -m 0755 ${S}/test/.libs/libnm* ${D}${bindir} + install -m 0755 ${B}/test/.libs/libnm* ${D}${bindir} # Install an empty VPN folder as nm-connection-editor will happily segfault without it :o. # With or without VPN support built in ;). @@ -81,7 +81,7 @@ FILES_${PN} += " \ ${systemd_unitdir}/system/NetworkManager-wait-online.service \ " -RRECOMMENDS_${PN} += "iptables" +RRECOMMENDS_${PN} += "iptables dnsmasq" RCONFLICTS_${PN} = "connman" RDEPENDS_${PN} = " \ wpa-supplicant \ diff --git a/meta-oe/recipes-connectivity/obex/obex-data-server_0.4.6.bb b/meta-oe/recipes-connectivity/obex/obex-data-server_0.4.6.bb index f12941e103..afe6106890 100644 --- a/meta-oe/recipes-connectivity/obex/obex-data-server_0.4.6.bb +++ b/meta-oe/recipes-connectivity/obex/obex-data-server_0.4.6.bb @@ -3,12 +3,13 @@ LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" DEPENDS = "gtk+ bluez4 dbus-glib imagemagick openobex" +RCONFLICTS_${PN} = "bluez5" SRC_URI = "http://tadas.dailyda.com/software/obex-data-server-${PV}.tar.gz" SRC_URI[md5sum] = "961ca5db6fe9c97024e133cc6203cc4d" SRC_URI[sha256sum] = "b399465ddbd6d0217abedd9411d9d74a820effa0a6a142adc448268d3920094f" -inherit autotools-brokensep +inherit autotools-brokensep pkgconfig FILES_${PN} += "${datadir}/dbus-1/" diff --git a/meta-oe/recipes-connectivity/obex/openobex-1.5/separate_builddir.patch b/meta-oe/recipes-connectivity/obex/openobex-1.5/separate_builddir.patch new file mode 100644 index 0000000000..8abf8ae242 --- /dev/null +++ b/meta-oe/recipes-connectivity/obex/openobex-1.5/separate_builddir.patch @@ -0,0 +1,16 @@ +Fix detection of IrDA failing with B!=S + +Upstream-Status: Pending + +Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> + +--- a/acinclude.m4 2014-05-24 14:05:41.757796816 +0100 ++++ b/acinclude.m4 2014-05-24 14:03:06.556795536 +0100 +@@ -54,6 +54,7 @@ + ]) + + AC_DEFUN([AC_PATH_IRDA_LINUX], [ ++ CPPFLAGS="${CPPFLAGS} -I${srcdir}" + AC_CACHE_CHECK([for IrDA support], irda_found, [ + AC_TRY_COMPILE([ + #include <sys/socket.h> diff --git a/meta-oe/recipes-connectivity/obex/openobex_1.5.bb b/meta-oe/recipes-connectivity/obex/openobex_1.5.bb index 0d5cfef0c7..b07779dd56 100644 --- a/meta-oe/recipes-connectivity/obex/openobex_1.5.bb +++ b/meta-oe/recipes-connectivity/obex/openobex_1.5.bb @@ -10,15 +10,15 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a \ SRC_URI = "http://www.kernel.org/pub/linux/bluetooth/openobex-${PV}.tar.gz \ file://disable-cable-test.patch \ - file://libusb_crosscompile_check.patch" + file://libusb_crosscompile_check.patch \ + file://separate_builddir.patch" SRC_URI[md5sum] = "0d83dc86445a46a1b9750107ba7ab65c" SRC_URI[sha256sum] = "e602047570799a47ecb028420bda8f2cef41310e5a99d084de10aa9422935e65" inherit autotools binconfig pkgconfig -EXTRA_OECONF = "--enable-apps --enable-syslog \ - --with-usb=${STAGING_LIBDIR}/.. --with-bluez=${STAGING_LIBDIR}/.." +EXTRA_OECONF = "--enable-apps --enable-syslog" do_install_append() { install -d ${D}${datadir}/aclocal diff --git a/meta-oe/recipes-connectivity/phonet-utils/phonet-utils_git.bb b/meta-oe/recipes-connectivity/phonet-utils/phonet-utils_git.bb index 206023e4f5..5589963913 100644 --- a/meta-oe/recipes-connectivity/phonet-utils/phonet-utils_git.bb +++ b/meta-oe/recipes-connectivity/phonet-utils/phonet-utils_git.bb @@ -8,6 +8,6 @@ S = "${WORKDIR}/git" SRCREV = "4acfa720fd37d178a048fc2be17180137d4a70ea" PV = "0.0.0+gitr${SRCPV}" -inherit autotools +inherit autotools-brokensep FILES_${PN} += "${base_libdir}/udev/rules.d/85-phonet-utils.rules" diff --git a/meta-oe/recipes-connectivity/rabbitmq-c/rabbitmq-c_0.5.2.bb b/meta-oe/recipes-connectivity/rabbitmq-c/rabbitmq-c_0.5.2.bb new file mode 100644 index 0000000000..762ecd6279 --- /dev/null +++ b/meta-oe/recipes-connectivity/rabbitmq-c/rabbitmq-c_0.5.2.bb @@ -0,0 +1,17 @@ +DESCRIPTION = "A C-language AMQP client library for use with v2.0+ of the RabbitMQ broker" +HOMEPAGE = "https://github.com/alanxz/rabbitmq-c" +LIC_FILES_CHKSUM = "file://LICENSE-MIT;md5=6b7424f9db80cfb11fdd5c980b583f53" +LICENSE = "MIT" + +SRC_URI = "https://github.com/alanxz/${BPN}/releases/download/v${PV}/${BP}.tar.gz" +SRC_URI[md5sum] = "aa8d4d0b949f508c0da25a9c20bd7da7" +SRC_URI[sha256sum] = "1ec3c1141593b91c57bf1051657a1d64fb87da38760c7128a9622b107990f2f2" + +DEPENDS = "popt openssl" + +EXTRA_OECONF = "--disable-examples --enable-tools --disable-docs" + +inherit autotools pkgconfig + +PACKAGE_BEFORE_PN += "${PN}-tools" +FILES_${PN}-tools = "${bindir}" diff --git a/meta-oe/recipes-connectivity/rfkill/rfkill_0.4.bb b/meta-oe/recipes-connectivity/rfkill/rfkill_0.5.bb index 62634c2293..3e644760ce 100644 --- a/meta-oe/recipes-connectivity/rfkill/rfkill_0.4.bb +++ b/meta-oe/recipes-connectivity/rfkill/rfkill_0.5.bb @@ -1,20 +1,20 @@ -SUMMARY = "rfkill CLI utility" +SUMMARY = "Radio enable/disable command line utility" HOMEPAGE = "http://linuxwireless.org/en/users/Documentation/rfkill" SECTION = "base" LICENSE = "BSD" LIC_FILES_CHKSUM = "file://COPYING;md5=c6036d0eb7edbfced28c4160e5d3fa94" -PR = "r1" -SRC_URI = "http://wireless.kernel.org/download/${PN}/${P}.tar.bz2 \ +SRC_URI = "http://www.kernel.org/pub/software/network/${BPN}/${BP}.tar.bz2 \ file://0001-rfkill-makefile-don-t-use-t-the-OE-install-wrapper-d.patch \ file://dont.call.git.rev-parse.on.parent.dir.patch" -SRC_URI[md5sum] = "727892c0fb35c80ee3849fbe89b45350" -SRC_URI[sha256sum] = "ca10e4827a5f0a36e093aee6ad81b5febf81f8097d7d858889ac51ff364168c1" +SRC_URI[md5sum] = "b957713a6cfbcd8ac0e94420aeddcf1a" +SRC_URI[sha256sum] = "3e160cca504a53679f2b3254f31c53a4fb38a021bc50fed8eb57a436d33dfa07" do_compile() { oe_runmake } + do_install() { oe_runmake DESTDIR=${D} install } diff --git a/meta-oe/recipes-connectivity/rtorrent/rtorrent_0.9.3.bb b/meta-oe/recipes-connectivity/rtorrent/rtorrent_0.9.3.bb index adc112fefe..eb0a39af5c 100644 --- a/meta-oe/recipes-connectivity/rtorrent/rtorrent_0.9.3.bb +++ b/meta-oe/recipes-connectivity/rtorrent/rtorrent_0.9.3.bb @@ -3,14 +3,13 @@ HOMEPAGE = "http://libtorrent.rakshasa.no/" LICENSE = "GPL-2.0" LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" -DEPENDS = "libsigc++-2.0 curl cppunit libtorrent" +DEPENDS = "libsigc++-2.0 curl cppunit libtorrent ncurses" -SRC_URI = "http://libtorrent.rakshasa.no/downloads/${PN}-${PV}.tar.gz \ +SRC_URI = "http://libtorrent.rakshasa.no/downloads/${BP}.tar.gz \ file://don-t-run-code-while-configuring-package.patch \ " SRC_URI[md5sum] = "0bf2f262faa8c8c8d3b11ce286ea2bf2" SRC_URI[sha256sum] = "9e93ca41beb1afe74ad7ad8013e0d53ae3586c9b0e97263d722f721535cc7310" -inherit autotools - +inherit autotools pkgconfig diff --git a/meta-oe/recipes-connectivity/samba/samba-3.6.8/bug_221618_precise-64bit-prototype.patch b/meta-oe/recipes-connectivity/samba/samba-3.6.24/bug_221618_precise-64bit-prototype.patch index 31108f2e89..31108f2e89 100644 --- a/meta-oe/recipes-connectivity/samba/samba-3.6.8/bug_221618_precise-64bit-prototype.patch +++ b/meta-oe/recipes-connectivity/samba/samba-3.6.24/bug_221618_precise-64bit-prototype.patch diff --git a/meta-oe/recipes-connectivity/samba/samba-3.6.8/bug_387266_upstream_4104_mention-kerberos-in-smbspool-manpage.patch b/meta-oe/recipes-connectivity/samba/samba-3.6.24/bug_387266_upstream_4104_mention-kerberos-in-smbspool-manpage.patch index ea499a6eb3..d9cc633d48 100644 --- a/meta-oe/recipes-connectivity/samba/samba-3.6.8/bug_387266_upstream_4104_mention-kerberos-in-smbspool-manpage.patch +++ b/meta-oe/recipes-connectivity/samba/samba-3.6.24/bug_387266_upstream_4104_mention-kerberos-in-smbspool-manpage.patch @@ -27,8 +27,8 @@ Index: samba/docs/manpages/smbspool.8 .sp -1 .IP \(bu 2.3 .\} --The user argument (argv[2]) contains the print user\'s name and is presently not used by smbspool\&. -+The user argument (argv[2]) contains the print user\'s name and is presently not used by smbspool except in Kerberos environments to access the user\'s ticket cache\&. +-The user argument (argv[2]) contains the print user\*(Aqs name and is presently not used by smbspool\&. ++The user argument (argv[2]) contains the print user\*(Aqs name and is presently not used by smbspool except in Kerberos environments to access the user\'s ticket cache\&. .RE .sp .RS 4 diff --git a/meta-oe/recipes-connectivity/samba/samba-3.6.8/bug_598313_upstream_7499-nss_wins-dont-clobber-daemons-logs.patch b/meta-oe/recipes-connectivity/samba/samba-3.6.24/bug_598313_upstream_7499-nss_wins-dont-clobber-daemons-logs.patch index dcd94e425e..dcd94e425e 100644 --- a/meta-oe/recipes-connectivity/samba/samba-3.6.8/bug_598313_upstream_7499-nss_wins-dont-clobber-daemons-logs.patch +++ b/meta-oe/recipes-connectivity/samba/samba-3.6.24/bug_598313_upstream_7499-nss_wins-dont-clobber-daemons-logs.patch diff --git a/meta-oe/recipes-connectivity/samba/samba-3.6.8/bug_601406_fix-perl-path-in-example.patch b/meta-oe/recipes-connectivity/samba/samba-3.6.24/bug_601406_fix-perl-path-in-example.patch index ba8b1f4255..ba8b1f4255 100644 --- a/meta-oe/recipes-connectivity/samba/samba-3.6.8/bug_601406_fix-perl-path-in-example.patch +++ b/meta-oe/recipes-connectivity/samba/samba-3.6.24/bug_601406_fix-perl-path-in-example.patch diff --git a/meta-oe/recipes-connectivity/samba/samba-3.6.8/bug_604768_upstream_7826_drop-using-samba-link.patch b/meta-oe/recipes-connectivity/samba/samba-3.6.24/bug_604768_upstream_7826_drop-using-samba-link.patch index 0c54b6b0b7..0c54b6b0b7 100644 --- a/meta-oe/recipes-connectivity/samba/samba-3.6.8/bug_604768_upstream_7826_drop-using-samba-link.patch +++ b/meta-oe/recipes-connectivity/samba/samba-3.6.24/bug_604768_upstream_7826_drop-using-samba-link.patch diff --git a/meta-oe/recipes-connectivity/samba/samba-3.6.8/bug_604768_upstream_7826_fix-WHATSNEW-link.patch b/meta-oe/recipes-connectivity/samba/samba-3.6.24/bug_604768_upstream_7826_fix-WHATSNEW-link.patch index c7dd043fbe..c7dd043fbe 100644 --- a/meta-oe/recipes-connectivity/samba/samba-3.6.8/bug_604768_upstream_7826_fix-WHATSNEW-link.patch +++ b/meta-oe/recipes-connectivity/samba/samba-3.6.24/bug_604768_upstream_7826_fix-WHATSNEW-link.patch diff --git a/meta-oe/recipes-connectivity/samba/samba-3.6.8/configure-disable-core_pattern-cross-check.patch b/meta-oe/recipes-connectivity/samba/samba-3.6.24/configure-disable-core_pattern-cross-check.patch index 2d96189732..2d96189732 100644 --- a/meta-oe/recipes-connectivity/samba/samba-3.6.8/configure-disable-core_pattern-cross-check.patch +++ b/meta-oe/recipes-connectivity/samba/samba-3.6.24/configure-disable-core_pattern-cross-check.patch diff --git a/meta-oe/recipes-connectivity/samba/samba-3.6.8/configure-disable-getaddrinfo-cross.patch b/meta-oe/recipes-connectivity/samba/samba-3.6.24/configure-disable-getaddrinfo-cross.patch index 84ecd498f5..84ecd498f5 100644 --- a/meta-oe/recipes-connectivity/samba/samba-3.6.8/configure-disable-getaddrinfo-cross.patch +++ b/meta-oe/recipes-connectivity/samba/samba-3.6.24/configure-disable-getaddrinfo-cross.patch diff --git a/meta-oe/recipes-connectivity/samba/samba-3.6.8/configure-libunwind.patch b/meta-oe/recipes-connectivity/samba/samba-3.6.24/configure-libunwind.patch index 9a2cb00eba..9a2cb00eba 100644 --- a/meta-oe/recipes-connectivity/samba/samba-3.6.8/configure-libunwind.patch +++ b/meta-oe/recipes-connectivity/samba/samba-3.6.24/configure-libunwind.patch diff --git a/meta-oe/recipes-connectivity/samba/samba-3.6.8/documentation.patch b/meta-oe/recipes-connectivity/samba/samba-3.6.24/documentation.patch index 46ace234e9..73111fed72 100644 --- a/meta-oe/recipes-connectivity/samba/samba-3.6.8/documentation.patch +++ b/meta-oe/recipes-connectivity/samba/samba-3.6.24/documentation.patch @@ -6,7 +6,7 @@ Index: experimental/docs/manpages/swat.8 =================================================================== --- experimental.orig/docs/manpages/swat.8 +++ experimental/docs/manpages/swat.8 -@@ -111,86 +111,6 @@ +@@ -120,86 +120,6 @@ .RS 4 Print a summary of command line options\&. .RE @@ -73,7 +73,7 @@ Index: experimental/docs/manpages/swat.8 -/etc/services -file\&. -.PP --the choice of port number isn\'t really important except that it should be less than 1024 and not currently used (using a number above 1024 presents an obscure security hole depending on the implementation details of your +-the choice of port number isn\*(Aqt really important except that it should be less than 1024 and not currently used (using a number above 1024 presents an obscure security hole depending on the implementation details of your -inetd -daemon)\&. -.PP @@ -93,7 +93,7 @@ Index: experimental/docs/manpages/swat.8 .SH "LAUNCHING" .PP To launch SWAT just run your favorite web browser and point it at "http://localhost:901/"\&. -@@ -208,14 +128,11 @@ +@@ -217,14 +137,11 @@ This file must contain a mapping of service name (e\&.g\&., swat) to service port (e\&.g\&., 901) and protocol type (e\&.g\&., tcp)\&. .RE .PP @@ -260,20 +260,20 @@ Index: experimental/docs/manpages/winbindd.8 =================================================================== --- experimental.orig/docs/manpages/winbindd.8 +++ experimental/docs/manpages/winbindd.8 -@@ -550,16 +550,16 @@ +@@ -539,16 +539,16 @@ file are owned by root\&. .RE .PP -$LOCKDIR/winbindd_privileged/pipe +/var/run/samba/winbindd_privileged/pipe .RS 4 - The UNIX pipe over which \'privileged\' clients communicate with the + The UNIX pipe over which \*(Aqprivileged\*(Aq clients communicate with the winbindd program\&. For security reasons, access to some winbindd functions \- like those needed by the ntlm_auth --utility \- is restricted\&. By default, only users in the \'root\' group will get this access, however the administrator may change the group permissions on $LOCKDIR/winbindd_privileged to allow programs like \'squid\' to use ntlm_auth\&. Note that the winbind client will only attempt to connect to the winbindd daemon if both the +-utility \- is restricted\&. By default, only users in the \*(Aqroot\*(Aq group will get this access, however the administrator may change the group permissions on $LOCKDIR/winbindd_privileged to allow programs like \*(Aqsquid\*(Aq to use ntlm_auth\&. Note that the winbind client will only attempt to connect to the winbindd daemon if both the -$LOCKDIR/winbindd_privileged -+utility \- is restricted\&. By default, only users in the \'root\' group will get this access, however the administrator may change the group permissions on /var/run/samba/winbindd_privileged to allow programs like \'squid\' to use ntlm_auth\&. Note that the winbind client will only attempt to connect to the winbindd daemon if both the ++utility \- is restricted\&. By default, only users in the \'root\' group will get this access, however the administrator may change the group permissions on /var/run/samba/winbindd_privileged to allow programs like \'squid\' to use ntlm_auth\&. Note that the winbind client will only attempt to connect to the winbindd daemon if both the +/var/run/samba/winbindd_privileged directory and -$LOCKDIR/winbindd_privileged/pipe @@ -281,7 +281,7 @@ Index: experimental/docs/manpages/winbindd.8 file are owned by root\&. .RE .PP -@@ -568,15 +568,12 @@ +@@ -557,15 +557,12 @@ Implementation of name service switch library\&. .RE .PP diff --git a/meta-oe/recipes-connectivity/samba/samba-3.6.8/documentation2.patch b/meta-oe/recipes-connectivity/samba/samba-3.6.24/documentation2.patch index 902e8e2308..af8da32d50 100644 --- a/meta-oe/recipes-connectivity/samba/samba-3.6.8/documentation2.patch +++ b/meta-oe/recipes-connectivity/samba/samba-3.6.24/documentation2.patch @@ -212,8 +212,8 @@ Index: samba/docs/manpages/nmbd.8 \fBsmb.conf\fR(5), \fBsmbclient\fR(1), -\fBtestparm\fR(1), --\fBtestprns\fR(1), and the Internet RFC\'s -+\fBtestparm\fR(1), and the Internet RFC\'s +-\fBtestprns\fR(1), and the Internet RFC\*(Aqs ++\fBtestparm\fR(1), and the Internet RFC\*(Aqs rfc1001\&.txt, rfc1002\&.txt\&. In addition the CIFS (formerly SMB) specification is available as a link from the Web page http://samba\&.org/cifs/\&. @@ -269,8 +269,8 @@ Index: samba/docs/manpages/smbd.8 \fBsmb.conf\fR(5), \fBsmbclient\fR(1), -\fBtestparm\fR(1), --\fBtestprns\fR(1), and the Internet RFC\'s -+\fBtestparm\fR(1), and the Internet RFC\'s +-\fBtestprns\fR(1), and the Internet RFC\*(Aqs ++\fBtestparm\fR(1), and the Internet RFC\*(Aqs rfc1001\&.txt, rfc1002\&.txt\&. In addition the CIFS (formerly SMB) specification is available as a link from the Web page http://samba\&.org/cifs/\&. diff --git a/meta-oe/recipes-connectivity/samba/samba-3.6.8/dont-build-VFS-examples.patch b/meta-oe/recipes-connectivity/samba/samba-3.6.24/dont-build-VFS-examples.patch index beff7db676..beff7db676 100644 --- a/meta-oe/recipes-connectivity/samba/samba-3.6.8/dont-build-VFS-examples.patch +++ b/meta-oe/recipes-connectivity/samba/samba-3.6.24/dont-build-VFS-examples.patch diff --git a/meta-oe/recipes-connectivity/samba/samba-3.6.8/fhs-filespaths.patch b/meta-oe/recipes-connectivity/samba/samba-3.6.24/fhs-filespaths.patch index e7c6b9995e..e7c6b9995e 100644 --- a/meta-oe/recipes-connectivity/samba/samba-3.6.8/fhs-filespaths.patch +++ b/meta-oe/recipes-connectivity/samba/samba-3.6.24/fhs-filespaths.patch diff --git a/meta-oe/recipes-connectivity/samba/samba-3.6.8/installswat.sh.patch b/meta-oe/recipes-connectivity/samba/samba-3.6.24/installswat.sh.patch index 3f08e493ad..3f08e493ad 100644 --- a/meta-oe/recipes-connectivity/samba/samba-3.6.8/installswat.sh.patch +++ b/meta-oe/recipes-connectivity/samba/samba-3.6.24/installswat.sh.patch diff --git a/meta-oe/recipes-connectivity/samba/samba-3.6.8/libutil_drop_AI_ADDRCONFIG.patch b/meta-oe/recipes-connectivity/samba/samba-3.6.24/libutil_drop_AI_ADDRCONFIG.patch index d3473ea402..d3473ea402 100644 --- a/meta-oe/recipes-connectivity/samba/samba-3.6.8/libutil_drop_AI_ADDRCONFIG.patch +++ b/meta-oe/recipes-connectivity/samba/samba-3.6.24/libutil_drop_AI_ADDRCONFIG.patch diff --git a/meta-oe/recipes-connectivity/samba/samba-3.6.8/only_export_public_symbols.patch b/meta-oe/recipes-connectivity/samba/samba-3.6.24/only_export_public_symbols.patch index f4fbd56a15..f4fbd56a15 100644 --- a/meta-oe/recipes-connectivity/samba/samba-3.6.8/only_export_public_symbols.patch +++ b/meta-oe/recipes-connectivity/samba/samba-3.6.24/only_export_public_symbols.patch diff --git a/meta-oe/recipes-connectivity/samba/samba-3.6.8/pam-examples.patch b/meta-oe/recipes-connectivity/samba/samba-3.6.24/pam-examples.patch index 9b36e14e3c..9b36e14e3c 100644 --- a/meta-oe/recipes-connectivity/samba/samba-3.6.8/pam-examples.patch +++ b/meta-oe/recipes-connectivity/samba/samba-3.6.24/pam-examples.patch diff --git a/meta-oe/recipes-connectivity/samba/samba-3.6.8/shadow_copy2_backport.patch b/meta-oe/recipes-connectivity/samba/samba-3.6.24/shadow_copy2_backport.patch index dbd10489fa..dbd10489fa 100644 --- a/meta-oe/recipes-connectivity/samba/samba-3.6.8/shadow_copy2_backport.patch +++ b/meta-oe/recipes-connectivity/samba/samba-3.6.24/shadow_copy2_backport.patch diff --git a/meta-oe/recipes-connectivity/samba/samba-3.6.8/smbclient-pager.patch b/meta-oe/recipes-connectivity/samba/samba-3.6.24/smbclient-pager.patch index 429f2cec46..429f2cec46 100644 --- a/meta-oe/recipes-connectivity/samba/samba-3.6.8/smbclient-pager.patch +++ b/meta-oe/recipes-connectivity/samba/samba-3.6.24/smbclient-pager.patch diff --git a/meta-oe/recipes-connectivity/samba/samba-3.6.8/smbtar-bashism.patch b/meta-oe/recipes-connectivity/samba/samba-3.6.24/smbtar-bashism.patch index 27a47cb51c..27a47cb51c 100644 --- a/meta-oe/recipes-connectivity/samba/samba-3.6.8/smbtar-bashism.patch +++ b/meta-oe/recipes-connectivity/samba/samba-3.6.24/smbtar-bashism.patch diff --git a/meta-oe/recipes-connectivity/samba/samba-3.6.8/smbtorture-manpage.patch b/meta-oe/recipes-connectivity/samba/samba-3.6.24/smbtorture-manpage.patch index 59930b5e5f..59930b5e5f 100644 --- a/meta-oe/recipes-connectivity/samba/samba-3.6.8/smbtorture-manpage.patch +++ b/meta-oe/recipes-connectivity/samba/samba-3.6.24/smbtorture-manpage.patch diff --git a/meta-oe/recipes-connectivity/samba/samba-3.6.8/undefined-symbols.patch b/meta-oe/recipes-connectivity/samba/samba-3.6.24/undefined-symbols.patch index 3ab0027eeb..5babc1e384 100644 --- a/meta-oe/recipes-connectivity/samba/samba-3.6.8/undefined-symbols.patch +++ b/meta-oe/recipes-connectivity/samba/samba-3.6.24/undefined-symbols.patch @@ -13,12 +13,12 @@ Index: experimental/source3/Makefile.in =================================================================== --- experimental.orig/source3/Makefile.in +++ experimental/source3/Makefile.in -@@ -2281,7 +2281,7 @@ +@@ -2594,7 +2594,7 @@ - $(LIBSMBCLIENT_SHARED_TARGET_SONAME): $(BINARY_PREREQS) $(LIBSMBCLIENT_OBJ) $(LIBSMBCLIENT_THREAD_OBJ) $(LIBSMBCLIENT_SYMS) $(LIBTALLOC) $(LIBTDB) $(LIBWBCLIENT) + $(LIBSMBCLIENT_SHARED_TARGET_SONAME): $(BINARY_PREREQS) $(LIBSMBCLIENT_OBJ) $(LIBSMBCLIENT_THREAD_OBJ) $(LIBSMBCLIENT_SYMS) $(LIBTALLOC) $(LIBTEVENT) $(LIBTDB) $(LIBWBCLIENT) @echo Linking shared library $@ - @$(SHLD_DSO) $(LIBSMBCLIENT_OBJ) $(LIBSMBCLIENT_THREAD_OBJ) \ + @$(SHLD_DSO) -Wl,-z,defs $(LIBSMBCLIENT_OBJ) $(LIBSMBCLIENT_THREAD_OBJ) \ - $(LIBTALLOC_LIBS) $(LIBTDB_LIBS) $(LIBWBCLIENT_LIBS) $(LIBS) \ + $(LIBTALLOC_LIBS) $(LIBTEVENT_LIBS) $(LIBTDB_LIBS) $(LIBWBCLIENT_LIBS) $(LIBS) \ $(KRB5LIBS) $(LDAP_LIBS) $(NSCD_LIBS) $(ZLIB_LIBS) $(PTHREAD_LDFLAGS) \ @SONAMEFLAG@`basename $@` diff --git a/meta-oe/recipes-connectivity/samba/samba-3.6.8/usershare.patch b/meta-oe/recipes-connectivity/samba/samba-3.6.24/usershare.patch index 3673db751a..3673db751a 100644 --- a/meta-oe/recipes-connectivity/samba/samba-3.6.8/usershare.patch +++ b/meta-oe/recipes-connectivity/samba/samba-3.6.24/usershare.patch diff --git a/meta-oe/recipes-connectivity/samba/samba-3.6.8/waf-as-source.patch b/meta-oe/recipes-connectivity/samba/samba-3.6.24/waf-as-source.patch index 985ed5af1f..985ed5af1f 100644 --- a/meta-oe/recipes-connectivity/samba/samba-3.6.8/waf-as-source.patch +++ b/meta-oe/recipes-connectivity/samba/samba-3.6.24/waf-as-source.patch diff --git a/meta-oe/recipes-connectivity/samba/samba-basic.inc b/meta-oe/recipes-connectivity/samba/samba-basic.inc index d0fa8e603e..e9f891f8c3 100644 --- a/meta-oe/recipes-connectivity/samba/samba-basic.inc +++ b/meta-oe/recipes-connectivity/samba/samba-basic.inc @@ -40,6 +40,7 @@ FILES_winbind = "${sbindir}/winbindd \ ${bindir}/wbinfo \ ${bindir}/ntlm_auth \ ${sysconfdir}/init.d/winbind \ + ${systemd_unitdir}/system/winbind.service \ " FILES_libwinbind = "${libdir}/idmap/*.so \ ${libdir}/pdb \ diff --git a/meta-oe/recipes-connectivity/samba/samba.inc b/meta-oe/recipes-connectivity/samba/samba.inc index 39fc8143f0..b04a9dda44 100644 --- a/meta-oe/recipes-connectivity/samba/samba.inc +++ b/meta-oe/recipes-connectivity/samba/samba.inc @@ -8,11 +8,20 @@ SRC_URI = "http://samba.org/samba/ftp/stable/samba-${PV}.tar.gz \ file://init.samba \ file://init.winbind \ file://tdb.pc \ + file://nmb.service \ + file://smb.service \ + file://winbind.service \ " S = "${WORKDIR}/samba-${PV}/source" -inherit autotools-brokensep update-rc.d +inherit autotools-brokensep update-rc.d systemd + +SYSTEMD_PACKAGES = "${PN} winbind" +SYSTEMD_SERVICE_${PN} = "nmb.service smb.service" +SYSTEMD_SERVICE_winbind = "winbind.service" +SYSTEMD_AUTO_ENABLE_${PN} = "disable" +SYSTEMD_AUTO_ENABLE_winbind = "disable" SAMBAMMAP = "no" SAMBAMMAP_libc-glibc = "yes" @@ -28,7 +37,7 @@ EXTRA_OECONF='--disable-cups \ --with-privatedir=${sysconfdir}/samba/private \ --with-lockdir=${localstatedir}/lock \ --with-piddir=${localstatedir}/run \ - --with-logfilebase=${localstatedir}/log \ + --with-logfilebase=${localstatedir}/log/samba \ --libdir=${libdir} \ --with-mandir=${mandir} \ --with-swatdir=${datadir}/swat \ @@ -43,7 +52,9 @@ EXTRA_OECONF='--disable-cups \ PACKAGECONFIG = "${@base_contains('DISTRO_FEATURES', 'pam', 'pam', '', d)}" PACKAGECONFIG[pam] = "--with-pam,--without-pam,libpam" PACKAGECONFIG[fam] = "--enable-fam,--disable-fam,gamin" -PACKAGECONFIG[talloc] = "--with-libtalloc,--without-libtalloc,talloc" +PACKAGECONFIG[talloc] = "--enable-external-libtalloc --with-libtalloc, --disable-external-libtalloc --without-libtalloc, talloc" +PACKAGECONFIG[valgrind] = "ac_cv_header_valgrind_valgrind_h=yes ac_cv_header_valgrind_memcheck_h=yes, \ + ac_cv_header_valgrind_valgrind_h=no ac_cv_header_valgrind_memcheck_h=no, valgrind" INITSCRIPT_PACKAGES = "samba winbind" INITSCRIPT_NAME_samba = "samba" @@ -103,6 +114,35 @@ do_install_append() { # usershare mount place mkdir -p ${D}${localstatedir}/lib/samba/usershares + + # Remove sysinit script if sysvinit is not in DISTRO_FEATURES + if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'false', 'true', d)}; then + rm -rf ${D}${sysconfdir}/init.d/ + fi + + install -d ${D}${systemd_unitdir}/system + for i in nmb smb winbind; do + install -m 0644 ${WORKDIR}/$i.service ${D}${systemd_unitdir}/system + done + sed -e 's,@BASE_BINDIR@,${base_bindir},g' \ + -e 's,@SBINDIR@,${sbindir},g' \ + -i ${D}${systemd_unitdir}/system/*.service + + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then + install -d ${D}${sysconfdir}/tmpfiles.d + echo "d ${localstatedir}/log/samba 0755 root root -" \ + > ${D}${sysconfdir}/tmpfiles.d/99-${BPN}.conf + fi +} + +DEPENDS_append = " ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd-systemctl-native', '', d)}" +pkg_postinst_${PN} () { + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd sysvinit', 'true', 'false', d)}; then + if [ -n "$D" ]; then + OPTS="--root=$D" + fi + systemctl $OPTS mask samba.service + fi } pkg_postinst_libnss-winbind () { diff --git a/meta-oe/recipes-connectivity/samba/samba/0001-PIDL-fix-parsing-linemarkers-in-preprocessor-output.patch b/meta-oe/recipes-connectivity/samba/samba/0001-PIDL-fix-parsing-linemarkers-in-preprocessor-output.patch new file mode 100644 index 0000000000..586867d8fd --- /dev/null +++ b/meta-oe/recipes-connectivity/samba/samba/0001-PIDL-fix-parsing-linemarkers-in-preprocessor-output.patch @@ -0,0 +1,68 @@ +Upstream-Status: Backport + +From b07ade6e6fcc8b844cf1fb8b6038617281c4c2d0 Mon Sep 17 00:00:00 2001 +From: Alexander Bokovoy <ab@samba.org> +Date: Wed, 6 Feb 2013 10:17:57 +0200 +Subject: [PATCH] PIDL: fix parsing linemarkers in preprocessor output + +Commit b07ade6e6fcc8b844cf1fb8b6038617281c4c2d0 v3-6-stable + +When PIDL calls out to C preprocessor to expand IDL files +and parse the output, it filters out linemarkers and line control +information as described in http://gcc.gnu.org/onlinedocs/cpp/Preprocessor-Output.html +and http://gcc.gnu.org/onlinedocs/cpp/Line-Control.html#Line-Control + +With gcc 4.8 stdc-predef.h is included automatically and linemarker for the +file has extended flags that PIDL couldn't parse ('system header that needs to +be extern "C" protected for C++') + +Thanks to Jakub Jelinek <jakub@redhat.com> for explanation of the linemarker format. + +Fixes https://bugzilla.redhat.com/show_bug.cgi?id=906517 + +Reviewed-by: Andreas Schneider <asn@samba.org> +(cherry picked from commit 6ba7ab5c14801aecae96373d5a9db7ab82957526) + +Signed-off-by: Andreas Schneider <asn@samba.org> + +Fix bug #9636 - pidl can't parse new linemarkers in preprocessor output. +(cherry picked from commit 643571470f2e4cd2f58bd60ac7189abb826d33cc) +(cherry picked from commit b5a8afd6550e9091d169d3010751913bb483fc4b) +--- + pidl/idl.yp | 4 +++- + pidl/lib/Parse/Pidl/IDL.pm | 4 +++- + 2 files changed, 6 insertions(+), 2 deletions(-) + +diff --git a/pidl/idl.yp b/pidl/idl.yp +index b5c5185..c8a65f6 100644 +--- a/pidl/idl.yp ++++ b/pidl/idl.yp +@@ -610,7 +610,9 @@ again: + + for ($parser->YYData->{INPUT}) { + if (/^\#/) { +- if (s/^\# (\d+) \"(.*?)\"( \d+|)//) { ++ # Linemarker format is described at ++ # http://gcc.gnu.org/onlinedocs/cpp/Preprocessor-Output.html ++ if (s/^\# (\d+) \"(.*?)\"(( \d+){1,4}|)//) { + $parser->YYData->{LINE} = $1-1; + $parser->YYData->{FILE} = $2; + goto again; +diff --git a/pidl/lib/Parse/Pidl/IDL.pm b/pidl/lib/Parse/Pidl/IDL.pm +index d4820ff..6927c89 100644 +--- a/pidl/lib/Parse/Pidl/IDL.pm ++++ b/pidl/lib/Parse/Pidl/IDL.pm +@@ -2576,7 +2576,9 @@ again: + + for ($parser->YYData->{INPUT}) { + if (/^\#/) { +- if (s/^\# (\d+) \"(.*?)\"( \d+|)//) { ++ # Linemarker format is described at ++ # http://gcc.gnu.org/onlinedocs/cpp/Preprocessor-Output.html ++ if (s/^\# (\d+) \"(.*?)\"(( \d+){1,4}|)//) { + $parser->YYData->{LINE} = $1-1; + $parser->YYData->{FILE} = $2; + goto again; +-- +1.7.5.4 + diff --git a/meta-oe/recipes-connectivity/samba/samba/init.samba b/meta-oe/recipes-connectivity/samba/samba/init.samba index cb57b17de4..6a44ac468e 100644 --- a/meta-oe/recipes-connectivity/samba/samba/init.samba +++ b/meta-oe/recipes-connectivity/samba/samba/init.samba @@ -55,4 +55,4 @@ case "$1" in exit 1 esac -exit 0
\ No newline at end of file +exit 0 diff --git a/meta-oe/recipes-connectivity/samba/samba/nmb.service b/meta-oe/recipes-connectivity/samba/samba/nmb.service new file mode 100644 index 0000000000..91b997533d --- /dev/null +++ b/meta-oe/recipes-connectivity/samba/samba/nmb.service @@ -0,0 +1,12 @@ +[Unit] +Description=Samba NMB Daemon +After=syslog.target network.target + +[Service] +Type=forking +PIDFile=/var/run/nmbd.pid +ExecStart=@SBINDIR@/nmbd +ExecReload=@BASE_BINDIR@/kill -HUP $MAINPID + +[Install] +WantedBy=multi-user.target diff --git a/meta-oe/recipes-connectivity/samba/samba/smb.service b/meta-oe/recipes-connectivity/samba/samba/smb.service new file mode 100644 index 0000000000..bc0707a343 --- /dev/null +++ b/meta-oe/recipes-connectivity/samba/samba/smb.service @@ -0,0 +1,13 @@ +[Unit] +Description=Samba SMB Daemon +After=syslog.target network.target nmb.service winbind.service + +[Service] +Type=forking +PIDFile=/var/run/smbd.pid +LimitNOFILE=16384 +ExecStart=@SBINDIR@/smbd +ExecReload=@BASE_BINDIR@/kill -HUP $MAINPID + +[Install] +WantedBy=multi-user.target diff --git a/meta-oe/recipes-connectivity/samba/samba/winbind.service b/meta-oe/recipes-connectivity/samba/samba/winbind.service new file mode 100644 index 0000000000..bff6fb8e19 --- /dev/null +++ b/meta-oe/recipes-connectivity/samba/samba/winbind.service @@ -0,0 +1,12 @@ +i[Unit] +Description=Samba Winbind Daemon +After=syslog.target network.target nmb.service + +[Service] +Type=forking +PIDFile=/var/run/winbindd.pid +ExecStart=@SBINDIR@/winbindd +ExecReload=@BASE_BINDIR@/kill -HUP $MAINPID + +[Install] +WantedBy=multi-user.target diff --git a/meta-oe/recipes-connectivity/samba/samba_3.6.8.bb b/meta-oe/recipes-connectivity/samba/samba_3.6.24.bb index 20b609de5f..8860da0889 100644 --- a/meta-oe/recipes-connectivity/samba/samba_3.6.8.bb +++ b/meta-oe/recipes-connectivity/samba/samba_3.6.24.bb @@ -3,8 +3,6 @@ require samba-basic.inc LICENSE = "GPLv3" LIC_FILES_CHKSUM = "file://../COPYING;md5=d32239bcb673463ab874e80d47fae504" -PR = "r8" - SRC_URI += "\ file://config-h.patch \ file://documentation.patch;patchdir=.. \ @@ -31,8 +29,8 @@ SRC_URI += "\ file://configure-disable-core_pattern-cross-check.patch;patchdir=.. \ file://configure-libunwind.patch;patchdir=.. \ " -SRC_URI[md5sum] = "fbb245863eeef2fffe172df779a217be" -SRC_URI[sha256sum] = "4f5a171a8d902c6b4f822ed875c51eb8339196d9ccf0ecd7f6521c966b3514de" +SRC_URI[md5sum] = "d98425c0c2b73e08f048d31ffc727fb0" +SRC_URI[sha256sum] = "11d0bd04b734731970259efc6692b8e749ff671a9b56d8cc5fa98c192ab234a7" S = "${WORKDIR}/samba-${PV}/source3" diff --git a/meta-oe/recipes-connectivity/ser2net/ser2net_2.9.1.bb b/meta-oe/recipes-connectivity/ser2net/ser2net_2.9.1.bb index 987719003b..8fe6a6f9c8 100644 --- a/meta-oe/recipes-connectivity/ser2net/ser2net_2.9.1.bb +++ b/meta-oe/recipes-connectivity/ser2net/ser2net_2.9.1.bb @@ -3,7 +3,7 @@ SECTION = "console/network" HOMEPAGE = "http://sourceforge.net/projects/ser2net/" LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://INSTALL;md5=0659eb117294c490ae3853facd7a6ddd" +LIC_FILES_CHKSUM = "file://COPYING;md5=bae3019b4c6dc4138c217864bd04331f" SRC_URI = "${SOURCEFORGE_MIRROR}/project/ser2net/ser2net/ser2net-${PV}.tar.gz" diff --git a/meta-oe/recipes-connectivity/soft66/soft66_git.bb b/meta-oe/recipes-connectivity/soft66/soft66_git.bb index 3255152041..b6495267c9 100644 --- a/meta-oe/recipes-connectivity/soft66/soft66_git.bb +++ b/meta-oe/recipes-connectivity/soft66/soft66_git.bb @@ -1,8 +1,10 @@ SUMMARY = "Library and tools for Soft66ADD and related SDR radio receivers" -LICENSE = "GPLv3 LGPLv3+" +LICENSE = "GPLv3 & LGPLv3+" LIC_FILES_CHKSUM = "file://COPYING;md5=f27defe1e96c2e1ecd4e0c9be8967949 \ file://COPYING.LESSER;md5=e6a600fd5e1d9cbde2d983680233ad02 " +PNBLACKLIST[soft66] ?= "BROKEN: depends on broken libftdi" + DEPENDS = "libftdi" PV = "0.1.3+gitr${SRCPV}" diff --git a/meta-oe/recipes-connectivity/telepathy/libtelepathy/doublefix.patch b/meta-oe/recipes-connectivity/telepathy/libtelepathy/doublefix.patch new file mode 100644 index 0000000000..a7737fbf03 --- /dev/null +++ b/meta-oe/recipes-connectivity/telepathy/libtelepathy/doublefix.patch @@ -0,0 +1,18 @@ +Fix double reference to this file to work with recent autoconf+automake + +RP 1/2/10 + +Upstream-Status: Inappropriate [configuration] + +Index: libtelepathy-0.3.3/src/Makefile.am +=================================================================== +--- libtelepathy-0.3.3.orig/src/Makefile.am 2010-02-01 13:13:50.869038984 +0000 ++++ libtelepathy-0.3.3/src/Makefile.am 2010-02-01 13:14:23.267789456 +0000 +@@ -27,7 +27,6 @@ + tp-chan-type-text-gen.h \ + tp-chan-type-tubes-gen.h \ + tp-conn-iface-aliasing-gen.h \ +- tp-conn-iface-avatars-gen.h \ + tp-conn-iface-capabilities-gen.h \ + tp-conn-iface-contact-info-gen.h \ + tp-conn-iface-forwarding-gen.h \ diff --git a/meta-oe/recipes-connectivity/telepathy/libtelepathy/prefer_python_2.5.patch b/meta-oe/recipes-connectivity/telepathy/libtelepathy/prefer_python_2.5.patch new file mode 100644 index 0000000000..37679ab761 --- /dev/null +++ b/meta-oe/recipes-connectivity/telepathy/libtelepathy/prefer_python_2.5.patch @@ -0,0 +1,15 @@ +Upstream-Status: Inappropriate [configuration] + +Index: libtelepathy-0.3.1/configure.ac +=================================================================== +--- libtelepathy-0.3.1.orig/configure.ac 2007-11-22 19:05:56.000000000 +0000 ++++ libtelepathy-0.3.1/configure.ac 2008-01-04 12:07:28.000000000 +0000 +@@ -51,7 +51,7 @@ + AC_MSG_ERROR([xsltproc (from the libxslt source package) is required]) + fi + +-AC_CHECK_PROGS([PYTHON], [python2.3 python2.4 python2.5 python]) ++AC_CHECK_PROGS([PYTHON], [python2.5 python2.4 python2.3 python]) + if test -z "$PYTHON"; then + AC_MSG_ERROR([Python is required to compile this package]) + fi diff --git a/meta-oe/recipes-connectivity/telepathy/libtelepathy_0.3.3.bb b/meta-oe/recipes-connectivity/telepathy/libtelepathy_0.3.3.bb new file mode 100644 index 0000000000..f13e7093c8 --- /dev/null +++ b/meta-oe/recipes-connectivity/telepathy/libtelepathy_0.3.3.bb @@ -0,0 +1,23 @@ +SUMMARY = "Telepathy framework" +DESCRIPTION = "Telepathy is a D-Bus framework for unifying real time \ +communication, including instant messaging, voice calls and video calls. It \ +abstracts differences between protocols to provide a unified interface for \ +applications." +HOMEPAGE = "http://telepathy.freedesktop.org/wiki/" +DEPENDS = "glib-2.0 dbus dbus-glib telepathy-glib libxslt-native" +LICENSE = "LGPLv2.1+" +LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \ + file://src/tp-conn.c;beginline=1;endline=19;md5=4c58069f77d601cc59200bce5396c7cb" +PR = "r5" + +SRC_URI = "http://telepathy.freedesktop.org/releases/libtelepathy/libtelepathy-${PV}.tar.gz \ + file://prefer_python_2.5.patch \ + file://doublefix.patch" + +SRC_URI[md5sum] = "490ca1a0c614d4466394b72d43bf7370" +SRC_URI[sha256sum] = "e0d230be855125163579743418203c6f6be2f10f98c4f065735c1dc9ed115878" + +inherit autotools pkgconfig pythonnative + +FILES_${PN} += "${datadir}/telepathy \ + ${datadir}/dbus-1" diff --git a/meta-oe/recipes-connectivity/telepathy/telepathy-glib_0.24.0.bb b/meta-oe/recipes-connectivity/telepathy/telepathy-glib_0.24.0.bb new file mode 100644 index 0000000000..6b8c20c381 --- /dev/null +++ b/meta-oe/recipes-connectivity/telepathy/telepathy-glib_0.24.0.bb @@ -0,0 +1,16 @@ +SUMMARY = "Telepathy Framework glib-base helper library" +DESCRIPTION = "Telepathy Framework: GLib-based helper library for connection managers" +HOMEPAGE = "http://telepathy.freedesktop.org/wiki/" +DEPENDS = "glib-2.0 dbus python-native-runtime dbus-native dbus-glib libxslt-native" +LICENSE = "LGPLv2.1+" + +SRC_URI = "http://telepathy.freedesktop.org/releases/telepathy-glib/${BP}.tar.gz" +SRC_URI[md5sum] = "93c429e37750b25dcf8de86bb514664f" +SRC_URI[sha256sum] = "ae0002134991217f42e503c43dea7817853afc18863b913744d51ffa029818cf" + +LIC_FILES_CHKSUM = "file://COPYING;md5=e413d83db6ee8f2c8e6055719096a48e" + +inherit autotools pkgconfig gettext + +FILES_${PN} += "${datadir}/telepathy \ + ${datadir}/dbus-1" diff --git a/meta-oe/recipes-connectivity/telepathy/telepathy-idle/fix-svc-gtk-doc.h-target.patch b/meta-oe/recipes-connectivity/telepathy/telepathy-idle/fix-svc-gtk-doc.h-target.patch new file mode 100644 index 0000000000..2cd2c78c31 --- /dev/null +++ b/meta-oe/recipes-connectivity/telepathy/telepathy-idle/fix-svc-gtk-doc.h-target.patch @@ -0,0 +1,15 @@ +Upstream-Status: Pending + +Signed-off-by: Constantin Musca <constantinx.musca@intel.com> +--- a/extensions/Makefile.am ++++ b/extensions/Makefile.am +@@ -37,8 +37,8 @@ _gen/all.xml: all.xml $(wildcard $(srcdi + --xinclude $(tools_dir)/identity.xsl \ + $< > $@ + +-extensions.html: _gen/all.xml $(tools_dir)/doc-generator.xsl ++extensions.html _gen/svc-gtk-doc.h: _gen/all.xml $(tools_dir)/doc-generator.xsl + $(AM_V_GEN)$(XSLTPROC) $(XSLTPROCFLAGS) \ + $(tools_dir)/doc-generator.xsl \ + $< > $@ + diff --git a/meta-oe/recipes-connectivity/telepathy/telepathy-idle_0.2.0.bb b/meta-oe/recipes-connectivity/telepathy/telepathy-idle_0.2.0.bb new file mode 100644 index 0000000000..ca09f6daf3 --- /dev/null +++ b/meta-oe/recipes-connectivity/telepathy/telepathy-idle_0.2.0.bb @@ -0,0 +1,17 @@ +SUMMARY = "Telepathy IRC connection manager" +DESCRIPTION = "Telepathy implementation of the Internet Relay Chat protocols." +HOMEPAGE = "http://telepathy.freedesktop.org/wiki/" +DEPENDS = "glib-2.0 dbus telepathy-glib openssl libxslt-native" +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1 \ + file://src/idle.c;beginline=1;endline=19;md5=b06b1e2594423111a1a7910b0eefc7f9" + +SRC_URI = "http://telepathy.freedesktop.org/releases/${BPN}/${BPN}-${PV}.tar.gz \ + file://fix-svc-gtk-doc.h-target.patch" +SRC_URI[md5sum] = "92a2de5198284cbd3c430b0d1a971a86" +SRC_URI[sha256sum] = "3013ad4b38d14ee630b8cc8ada5e95ccaa849b9a6fe15d2eaf6d0717d76f2fab" + +inherit autotools pkgconfig pythonnative + +FILES_${PN} += "${datadir}/telepathy \ + ${datadir}/dbus-1" diff --git a/meta-oe/recipes-connectivity/telepathy/telepathy-mission-control/tmc-Makefile-fix-race.patch b/meta-oe/recipes-connectivity/telepathy/telepathy-mission-control/tmc-Makefile-fix-race.patch new file mode 100644 index 0000000000..ece1da6bc3 --- /dev/null +++ b/meta-oe/recipes-connectivity/telepathy/telepathy-mission-control/tmc-Makefile-fix-race.patch @@ -0,0 +1,76 @@ +From: Robert Yang <liezhi.yang@windriver.com> +Date: Sun, 22 Sep 2013 23:21:01 -0400 +Subject: [PATCH] src/Makefile.am: fix race issue for _gen/gtypes.h and _gen/gtypes-body.h + +There might be an error when parallel build: + +[snip] +Traceback (most recent call last): + File "/path/to/tools/glib-gtypes-generator.py", line 304, in <module> + GTypesGenerator(dom, argv[1], argv[2])() + File "/path/to/tools/glib-gtypes-generator.py", line 295, in __call__ + file_set_contents(self.output + '.h', ''.join(self.header)) + File "/path/to/tools/libtpcodegen.py", line 42, in file_set_contents + os.rename(filename + '.tmp', filename) +OSError: [Errno 2] No such file or directory +[snip] + +This is a race issue, the _gen/gtypes.h and _gen/gtypes-body.h may +write(remove/rename) _gen/gtypes.tmp at the same time, then there would +be the error. + +There was a similar bug in telepathy-glib which was already fixed, we use the +similar patch to fix it. + +Upstream-Status: Pending + +Signed-off-by: Robert Yang <liezhi.yang@windriver.com> +--- + src/Makefile.am | 18 +++++++++++++++--- + 1 file changed, 15 insertions(+), 3 deletions(-) + +diff --git a/src/Makefile.am b/src/Makefile.am +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -288,7 +288,11 @@ _gen/interfaces-body.h: _gen/mcd.xml \ + $(tools_dir)/glib-interfaces-body-generator.xsl \ + $< > $@ + +-_gen/gtypes.h _gen/gtypes-body.h: _gen/mcd.xml \ ++# do nothing, output as a side-effect ++_gen/gtypes.h: _gen/gtypes-body.h ++ @: ++ ++_gen/gtypes-body.h: _gen/mcd.xml \ + $(top_srcdir)/tools/glib-gtypes-generator.py + $(AM_V_GEN)$(PYTHON) $(top_srcdir)/tools/glib-gtypes-generator.py \ + $< _gen/gtypes mc +@@ -309,7 +313,11 @@ _gen/%.xml: %.xml $(wildcard $(top_srcdir)/xml/*.xml) Makefile.am + $(AM_V_GEN)$(XSLTPROC) $(XSLTPROCFLAGS) --xinclude $(tools_dir)/identity.xsl \ + $< > $@ + +-_gen/cli-%-body.h _gen/cli-%.h: _gen/%.xml \ ++# do nothing, output as a side-effect ++_gen/cli-%.h: _gen/cli-%-body.h ++ @: ++ ++_gen/cli-%-body.h: _gen/%.xml \ + $(tools_dir)/glib-client-gen.py Makefile.am + $(AM_V_GEN)$(PYTHON) $(tools_dir)/glib-client-gen.py \ + --group=`echo $* | tr x- x_` \ +@@ -317,7 +325,11 @@ _gen/cli-%-body.h _gen/cli-%.h: _gen/%.xml \ + --tp-proxy-api=0.7.6 \ + $< Mc_Cli _gen/cli-$* + +-_gen/svc-%.c _gen/svc-%.h: _gen/%.xml \ ++# do nothing, output as a side-effect ++_gen/svc-%.h: _gen/svc-%.c ++ @: ++ ++_gen/svc-%.c: _gen/%.xml \ + $(tools_dir)/glib-ginterface-gen.py Makefile.am + $(AM_V_GEN)$(PYTHON) $(tools_dir)/glib-ginterface-gen.py \ + --filename=_gen/svc-$* \ +-- +1.7.10.4 + diff --git a/meta-oe/recipes-connectivity/telepathy/telepathy-mission-control_5.16.1.bb b/meta-oe/recipes-connectivity/telepathy/telepathy-mission-control_5.16.1.bb new file mode 100644 index 0000000000..9ae68ddea9 --- /dev/null +++ b/meta-oe/recipes-connectivity/telepathy/telepathy-mission-control_5.16.1.bb @@ -0,0 +1,51 @@ +SUMMARY = "Central control for Telepathy IM connection managers" +HOMEPAGE = "http://telepathy.freedesktop.org/wiki/Mission_Control/" +LICENSE = "LGPLv2.1+" +LIC_FILES_CHKSUM = "file://COPYING;md5=d8045f3b8f929c1cb29a1e3fd737b499 \ + file://src/request.h;beginline=1;endline=21;md5=f80534d9af1c33291b3b79609f196eb2" +SECTION = "libs" +DEPENDS = "libtelepathy dbus-glib gconf libxslt-native" + +SRC_URI = "http://telepathy.freedesktop.org/releases/telepathy-mission-control/${BP}.tar.gz \ + file://tmc-Makefile-fix-race.patch \ + " +SRC_URI[md5sum] = "421115a35b9e427807326877f86e7f43" +SRC_URI[sha256sum] = "14ceb7d53535b43d44b8271ad11319d1d0fe6d193d154636b9e62b42799b9723" + +inherit autotools-brokensep pkgconfig pythonnative + +PACKAGECONFIG ??= "" +PACKAGECONFIG[upower] = "--enable-upower,--disable-upower,upower" + +# to select connman or nm you need to use "connectivity" and "connman" or "nm", default is to disable both +PACKAGECONFIG[connectivity] = ",--with-connectivity=no" +PACKAGECONFIG[connman] = "--with-connectivity=connman,,connman" +PACKAGECONFIG[nm] = "--with-connectivity=nm,,networkmanager" + +PACKAGES =+ " \ + libmissioncontrol \ + libmissioncontrol-config \ + libmissioncontrol-server \ + libmissioncontrol-dev \ + libmissioncontrol-config-dev \ + libmissioncontrol-server-dev \ + libmissioncontrol-dbg \ + libmissioncontrol-config-dbg \ + libmissioncontrol-server-dbg \ +" + +FILES_${PN} += "${datadir}/dbus* ${datadir}/glib-2.0/schemas" + +FILES_libmissioncontrol = "${libdir}/libmissioncontrol.so.*" +FILES_libmissioncontrol-config = "${libdir}/libmissioncontrol-config.so.*" +FILES_libmissioncontrol-server = "${libdir}/libmissioncontrol-server.so.*" + +FILES_libmissioncontrol-dev = "${libdir}/libmissioncontrol.* \ + ${includedir}/libmissioncontrol/ \ + ${libdir}/pkgconfig/libmissioncontrol.pc" +FILES_libmissioncontrol-config-dev = "${libdir}/libmissioncontrol-config.*" +FILES_libmissioncontrol-server-dev = "${libdir}/libmissioncontrol-server.*" + +FILES_libmissioncontrol-dbg = "${libdir}/.debug/libmissioncontrol.so.*" +FILES_libmissioncontrol-config-dbg = "${libdir}/.debug/libmissioncontrol-config.so.*" +FILES_libmissioncontrol-server-dbg = "${libdir}/.debug/libmissioncontrol-server.so.*" diff --git a/meta-oe/recipes-connectivity/telepathy/telepathy-python-0.15.19/parallel_make.patch b/meta-oe/recipes-connectivity/telepathy/telepathy-python-0.15.19/parallel_make.patch new file mode 100644 index 0000000000..248824606e --- /dev/null +++ b/meta-oe/recipes-connectivity/telepathy/telepathy-python-0.15.19/parallel_make.patch @@ -0,0 +1,43 @@ +Add dependency of __init__.py + +Tasks must be done after exec of __init__, which creates the +src/_generated directory that tasks are based on. + +Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com> + +Upstream-Status: Submitted +(However it seems that this project is out of maintanence.) + +diff -ruN telepathy-python-0.15.19-orig/src/Makefile.am telepathy-python-0.15.19/src/Makefile.am +--- telepathy-python-0.15.19-orig/src/Makefile.am 2011-03-10 08:51:49.000000000 +0800 ++++ telepathy-python-0.15.19/src/Makefile.am 2011-03-10 08:54:45.000000000 +0800 +@@ -39,17 +39,17 @@ + XSLTPROC_OPTS = --nonet --novalid --xinclude + tools_dir = $(top_srcdir)/tools + +-_generated/interfaces.py: $(tools_dir)/python-interfaces-generator.xsl $(wildcard $(spec_dir)/*.xml) ++_generated/interfaces.py: _generated/__init__.py $(tools_dir)/python-interfaces-generator.xsl $(wildcard $(spec_dir)/*.xml) + $(AM_V_GEN)$(XSLTPROC) $(XSLTPROC_OPTS) -o $@ \ + $(tools_dir)/python-interfaces-generator.xsl \ + $(spec_dir)/all.xml + +-_generated/constants.py: $(tools_dir)/python-constants-generator.xsl $(wildcard $(spec_dir)/*.xml) ++_generated/constants.py: _generated/__init__.py $(tools_dir)/python-constants-generator.xsl $(wildcard $(spec_dir)/*.xml) + $(AM_V_GEN)$(XSLTPROC) $(XSLTPROC_OPTS) -o $@ \ + $(tools_dir)/python-constants-generator.xsl \ + $(spec_dir)/all.xml + +-_generated/errors.py: $(tools_dir)/python-errors-generator.xsl $(wildcard $(spec_dir)/*.xml) ++_generated/errors.py: _generated/__init__.py $(tools_dir)/python-errors-generator.xsl $(wildcard $(spec_dir)/*.xml) + $(AM_V_GEN)$(XSLTPROC) $(XSLTPROC_OPTS) -o $@ \ + $(tools_dir)/python-errors-generator.xsl \ + $(spec_dir)/all.xml +@@ -58,7 +58,7 @@ + $(AM_V_GEN)$(mkdir_p) $(dir $@) + @echo "# Placeholder for package" > $@ + +-_generated/%.py: $(tools_dir)/spec-to-python.xsl $(spec_dir)/%.xml ++_generated/%.py: _generated/__init__.py $(tools_dir)/spec-to-python.xsl $(spec_dir)/%.xml + $(AM_V_GEN)$(XSLTPROC) $(XSLTPROC_OPTS) -o $@ \ + $(tools_dir)/spec-to-python.xsl \ + $(spec_dir)/$*.xml diff --git a/meta-oe/recipes-connectivity/telepathy/telepathy-python-0.15.19/remove_duplicate_install.patch b/meta-oe/recipes-connectivity/telepathy/telepathy-python-0.15.19/remove_duplicate_install.patch new file mode 100644 index 0000000000..df95a4c138 --- /dev/null +++ b/meta-oe/recipes-connectivity/telepathy/telepathy-python-0.15.19/remove_duplicate_install.patch @@ -0,0 +1,26 @@ +commit f6c67662145de889055a86a6b3b12c70a45fc8d5 +Author: Dongxiao Xu <dongxiao.xu@intel.com> +Date: Wed Sep 7 16:02:20 2011 +0800 + + Avoid duplicated installation of errors.py + + newer version of autotools don't seem to like listing files to install + twice. Remove one errors.py from the installation list. + + Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com> + + Upstream-Status: Inappropirate [upstream inactive] + +diff --git a/src/Makefile.am b/src/Makefile.am +index 5c27dfe..7536e43 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -11,7 +11,7 @@ telepathy_PYTHON = \ + + # telepathy._generated.* auto-generated modules + spec_dir = $(top_srcdir)/spec +-spec_files := $(patsubst $(spec_dir)%.xml,_generated%.py,$(wildcard $(spec_dir)/*.xml)) ++spec_files := $(filter-out _generated/errors.py, $(patsubst $(spec_dir)%.xml,_generated%.py,$(wildcard $(spec_dir)/*.xml))) + + BUILT_SOURCES = \ + _generated/interfaces.py \ diff --git a/meta-oe/recipes-connectivity/telepathy/telepathy-python-0.15.19/telepathy-python_fix_for_automake_1.12.patch b/meta-oe/recipes-connectivity/telepathy/telepathy-python-0.15.19/telepathy-python_fix_for_automake_1.12.patch new file mode 100644 index 0000000000..f613fdce4d --- /dev/null +++ b/meta-oe/recipes-connectivity/telepathy/telepathy-python-0.15.19/telepathy-python_fix_for_automake_1.12.patch @@ -0,0 +1,26 @@ +Upstream-Status: Pending + +automake 1.12 has deprecated use of mkdir_p, and it recommends +use of MKDIR_P instead. Changed the code to avoid these kind +of warning-errors. + +| make[1]: _generated/: Command not found +| make[1]: *** [_generated/__init__.py] Error 127 +| make[1]: Leaving directory `/srv/home/nitin/builds2/build0/tmp/work/i586-poky-linux/telepathy-python-0.15.19-r4/telepathy-python-0.15.19/src' +| make: *** [all-recursive] Error 1 + +Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com> +2012/07/10 +Index: telepathy-python-0.15.19/src/Makefile.am +=================================================================== +--- telepathy-python-0.15.19.orig/src/Makefile.am ++++ telepathy-python-0.15.19/src/Makefile.am +@@ -55,7 +55,7 @@ _generated/errors.py: _generated/__init_ + $(spec_dir)/all.xml + + _generated/__init__.py: +- $(AM_V_GEN)$(mkdir_p) $(dir $@) ++ $(AM_V_GEN)$(MKDIR_P) $(dir $@) + @echo "# Placeholder for package" > $@ + + _generated/%.py: _generated/__init__.py $(tools_dir)/spec-to-python.xsl $(spec_dir)/%.xml diff --git a/meta-oe/recipes-connectivity/telepathy/telepathy-python_0.15.19.bb b/meta-oe/recipes-connectivity/telepathy/telepathy-python_0.15.19.bb new file mode 100644 index 0000000000..b7aea24a79 --- /dev/null +++ b/meta-oe/recipes-connectivity/telepathy/telepathy-python_0.15.19.bb @@ -0,0 +1,32 @@ +SUMMARY = "Telepathy IM framework - Python package" +HOMEPAGE = "http://telepathy.freedesktop.org/wiki/" +LICENSE = "LGPLv2.1+" +LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1 \ + file://src/utils.py;beginline=1;endline=17;md5=9a07d1a9791a7429a14e7b25c6c86822" + +DEPENDS = "libxslt-native" +RDEPENDS_${PN} += "python-dbus" + +SRC_URI = "http://telepathy.freedesktop.org/releases/${BPN}/${BPN}-${PV}.tar.gz \ + file://parallel_make.patch \ + file://remove_duplicate_install.patch \ + file://telepathy-python_fix_for_automake_1.12.patch" + +PR = "r6" + +inherit autotools pythonnative + +SRC_URI[md5sum] = "f7ca25ab3c88874015b7e9728f7f3017" +SRC_URI[sha256sum] = "244c0e1bf4bbd78ae298ea659fe10bf3a73738db550156767cc2477aedf72376" + +FILES_${PN} += "\ + ${libdir}/python*/site-packages/telepathy/*.py \ + ${libdir}/python*/site-packages/telepathy/*/*.py \ +" + +do_install_append () { + rm -f ${D}${libdir}/python*/site-packages/telepathy/*.pyc + rm -f ${D}${libdir}/python*/site-packages/telepathy/*.pyo + rm -f ${D}${libdir}/python*/site-packages/telepathy/*/*.pyc + rm -f ${D}${libdir}/python*/site-packages/telepathy/*/*.pyo +} diff --git a/meta-oe/recipes-connectivity/umip/umip_1.0.bb b/meta-oe/recipes-connectivity/umip/umip_1.0.bb new file mode 100644 index 0000000000..76901abf70 --- /dev/null +++ b/meta-oe/recipes-connectivity/umip/umip_1.0.bb @@ -0,0 +1,18 @@ +SUMMARY = "Mobile IPv6 and NEMO for Linux" +DESCRIPTION = "UMIP is an open source implementation of Mobile IPv6 and NEMO \ +Basic Support for Linux. It is released under the GPLv2 license. It supports \ +the following IETF RFC: RFC6275 (Mobile IPv6), RFC3963 (NEMO), RFC3776 and \ +RFC4877 (IPsec and IKEv2)." +HOMEPAGE = "http://umip.org/" +SECTION = "System Environment/Base" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=073dc31ccb2ebed70db54f1e8aeb4c33" +DEPENDS = "rpm indent-native" + +SRC_URI = "git://git.umip.org/umip.git" +SRCREV = "428974c2d0d8e75a2750a3ab0488708c5dfdd8e3" + +S = "${WORKDIR}/git" +EXTRA_OE_CONF = "--enable-vt" + +inherit autotools-brokensep diff --git a/meta-oe/recipes-connectivity/wvdial/wvdial_1.61.bb b/meta-oe/recipes-connectivity/wvdial/wvdial_1.61.bb index af1ebf3024..f7adf4c9f4 100644 --- a/meta-oe/recipes-connectivity/wvdial/wvdial_1.61.bb +++ b/meta-oe/recipes-connectivity/wvdial/wvdial_1.61.bb @@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=55ca817ccb7d5b5b66355690e9abc605" DEPENDS = "wvstreams" RDEPENDS_${PN} = "ppp" -SRC_URI = "http://${PN}.googlecode.com/files/${PN}-${PV}.tar.bz2 \ +SRC_URI = "http://${BPN}.googlecode.com/files/${BP}.tar.bz2 \ file://typo_pon.wvdial.1.patch \ " diff --git a/meta-oe/recipes-connectivity/wvdial/wvstreams_4.6.1.bb b/meta-oe/recipes-connectivity/wvdial/wvstreams_4.6.1.bb index 00df2b8800..8a77b5bec4 100644 --- a/meta-oe/recipes-connectivity/wvdial/wvstreams_4.6.1.bb +++ b/meta-oe/recipes-connectivity/wvdial/wvstreams_4.6.1.bb @@ -4,9 +4,9 @@ SUMMARY = "WvStreams is a network programming library in C++" LICENSE = "LGPLv2" LIC_FILES_CHKSUM = "file://LICENSE;md5=55ca817ccb7d5b5b66355690e9abc605" -DEPENDS = "zlib openssl (>= 0.9.8)" +DEPENDS = "zlib openssl (>= 0.9.8) dbus readline" -SRC_URI = "http://${PN}.googlecode.com/files/${PN}-${PV}.tar.gz \ +SRC_URI = "http://${BPN}.googlecode.com/files/${BP}.tar.gz \ file://04_signed_request.diff \ file://05_gcc.diff \ file://06_gcc-4.7.diff \ @@ -16,7 +16,7 @@ SRC_URI = "http://${PN}.googlecode.com/files/${PN}-${PV}.tar.gz \ SRC_URI[md5sum] = "2760dac31a43d452a19a3147bfde571c" SRC_URI[sha256sum] = "8403f5fbf83aa9ac0c6ce15d97fd85607488152aa84e007b7d0621b8ebc07633" -inherit autotools pkgconfig +inherit autotools-brokensep pkgconfig PARALLEL_MAKE = "" diff --git a/meta-oe/recipes-connectivity/zeroc-ice/zeroc-ice-3.5.1/0002-Modify-Makefile-for-cross-compile.patch b/meta-oe/recipes-connectivity/zeroc-ice/zeroc-ice-3.5.1/0002-Modify-Makefile-for-cross-compile.patch new file mode 100644 index 0000000000..43096d2bce --- /dev/null +++ b/meta-oe/recipes-connectivity/zeroc-ice/zeroc-ice-3.5.1/0002-Modify-Makefile-for-cross-compile.patch @@ -0,0 +1,292 @@ +Upstream-Status: Inappropriate + +This patch lets you build Ice with OpenEmbedded. I doubt you could do +a regular build after applying this patch. + +From bc622ce74fa03a935278d21736a5a251466e1798 Mon Sep 17 00:00:00 2001 +From: Tom Rondeau <tom@trondeau.com> +Date: Wed, 16 Apr 2014 14:34:51 -0400 +Subject: [PATCH] Modify Makefiles for cross compile + +--- + config/Make.common.rules | 20 +++++++------ + cpp/Makefile | 9 +++--- + cpp/config/Make.rules | 32 ++++++++++++-------- + cpp/config/Make.rules.Linux | 18 ++--------- + cpp/src/IceStorm/FreezeDB/Makefile | 2 +- + py/config/Make.rules | 58 +++++++++++++++++++----------------- + 6 files changed, 70 insertions(+), 69 deletions(-) + +diff --git a/config/Make.common.rules b/config/Make.common.rules +index d7b1d59..a3fb17e 100644 +--- a/config/Make.common.rules ++++ b/config/Make.common.rules +@@ -65,9 +65,9 @@ ifeq ($(UNAME),Linux) + # + # Some Linux distributions like Debian/Ubuntu don't use /usr/lib64. + # +- ifeq ($(shell test -d /usr/lib64 && echo 0),0) +- lp64suffix = 64 +- endif ++ #ifeq ($(shell test -d /usr/lib64 && echo 0),0) ++ # lp64suffix = 64 ++ #endif + ifeq ($(LP64),) + LP64 = yes + endif +@@ -244,12 +244,13 @@ else + slicedir = $(ice_dir)/slice + endif + +-ifeq ($(prefix), /usr) +- install_slicedir = /usr/share/Ice-$(VERSION)/slice +-else +- install_slicedir = $(prefix)/slice +-endif ++#ifeq ($(prefix), /usr) ++# install_slicedir = /usr/share/Ice-$(VERSION)/slice ++#else ++# install_slicedir = $(prefix)/slice ++#endif + ++install_slicedir = $(prefix)/slice + # + # Set environment variables for the Slice translator. + # +@@ -265,7 +266,8 @@ ifneq ($(ice_dir), /usr) + endif + + ifeq ($(UNAME),Linux) +- export LD_LIBRARY_PATH := $(ice_lib_dir):$(LD_LIBRARY_PATH) ++ #export LD_LIBRARY_PATH := $(ice_lib_dir):$(LD_LIBRARY_PATH) ++ export LD_LIBRARY_PATH := $(ICE_HOME)/lib:$(LD_LIBRARY_PATH) + endif + + ifeq ($(UNAME),SunOS) +diff --git a/cpp/Makefile b/cpp/Makefile +index a68f113..1f44f57 100644 +--- a/cpp/Makefile ++++ b/cpp/Makefile +@@ -11,11 +11,12 @@ top_srcdir = . + + include $(top_srcdir)/config/Make.rules + +-SUBDIRS = config src include test ++#SUBDIRS = config src include test ++SUBDIRS = config src include + +-ifeq ($(shell uname | grep MINGW),) +-SUBDIRS := $(SUBDIRS) demo +-endif ++#ifeq ($(shell uname | grep MINGW),) ++#SUBDIRS := $(SUBDIRS) demo ++#endif + + INSTALL_SUBDIRS = $(install_bindir) $(install_libdir) $(install_includedir) \ + $(install_configdir) $(install_mandir) +diff --git a/cpp/config/Make.rules b/cpp/config/Make.rules +index 37461ae..197c5e8 100644 +--- a/cpp/config/Make.rules ++++ b/cpp/config/Make.rules +@@ -175,11 +175,12 @@ headerdir = $(top_srcdir)/include + # includedir is not handled the same as bindir and libdir + # because it is used in the .depend files + # +-ifdef ice_src_dist +- includedir = $(top_srcdir)/include +-else +- includedir = $(ice_dir)/include +-endif ++#ifdef ice_src_dist ++# includedir = $(top_srcdir)/include ++#else ++# includedir = $(ice_dir)/include ++#endif ++includedir = $(top_srcdir)/include + + # + # Platform specific definitions +@@ -277,14 +278,17 @@ ICECPPFLAGS = -I$(slicedir) + SLICE2CPPFLAGS = $(ICECPPFLAGS) + + ifeq ($(ice_dir), /usr) +- LDFLAGS = $(LDPLATFORMFLAGS) $(CXXFLAGS) ++ LDFLAGS += $(LDPLATFORMFLAGS) $(CXXFLAGS) + else + CPPFLAGS += -I$(includedir) +- ifdef ice_src_dist +- LDFLAGS = $(LDPLATFORMFLAGS) $(CXXFLAGS) -L$(libdir) +- else +- LDFLAGS = $(LDPLATFORMFLAGS) $(CXXFLAGS) -L$(ice_dir)/$(libsubdir)$(cpp11suffix) +- endif ++# We must always build using the libraries in the source tree, the host's are obviously ++# not what we want for the target ++ LDFLAGS += $(LDPLATFORMFLAGS) $(CXXFLAGS) -L$(libdir) $(call rpathlink,$(libdir)) ++# ifdef ice_src_dist ++# LDFLAGS = $(LDPLATFORMFLAGS) $(CXXFLAGS) -L$(libdir) ++# else ++# LDFLAGS = $(LDPLATFORMFLAGS) $(CXXFLAGS) -L$(ice_dir)/$(libsubdir)$(cpp11suffix) ++# endif + endif + + ifeq ($(FLEX_NOLINE),yes) +@@ -313,8 +317,10 @@ endif + + ifdef ice_src_dist + SLICEPARSERLIB = $(libdir)/$(call mklibfilename,Slice,$(VERSION)) +- SLICE2CPP = $(bindir)/slice2cpp +- SLICE2FREEZE = $(bindir)/slice2freeze ++# SLICE2CPP = $(bindir)/slice2cpp ++# SLICE2FREEZE = $(bindir)/slice2freeze ++ SLICE2CPP = $(ICE_HOME)/bin/slice2cpp ++ SLICE2FREEZE = $(ICE_HOME)/bin/slice2freeze + else + SLICEPARSERLIB = $(ice_dir)/$(libsubdir)$(cpp11suffix)/$(call mklibfilename,Slice,$(VERSION)) + SLICE2CPP = $(ice_dir)/$(binsubdir)$(cpp11suffix)/slice2cpp +diff --git a/cpp/config/Make.rules.Linux b/cpp/config/Make.rules.Linux +index 5d5717c..8363c6e 100644 +--- a/cpp/config/Make.rules.Linux ++++ b/cpp/config/Make.rules.Linux +@@ -31,7 +31,7 @@ ifeq ($(CXX),c++) + CXX = g++ + endif + +-ifeq ($(CXX),g++) ++#ifeq ($(CXX),g++) + + ifneq ($(SUSE_i586),) + CXXARCHFLAGS += -march=i586 +@@ -71,14 +71,6 @@ ifeq ($(CXX),g++) + CXXARCHFLAGS += -mtune=v8 -pipe -Wno-deprecated -DICE_USE_MUTEX_SHARED + endif + +- ifeq ($(MACHINE),x86_64) +- ifeq ($(LP64),yes) +- CXXARCHFLAGS += -m64 +- else +- CXXARCHFLAGS += -m32 +- endif +- endif +- + CXXFLAGS = $(CXXARCHFLAGS) -Wall -Werror -pthread + + ifneq ($(GENPIC),no) +@@ -102,15 +94,11 @@ ifeq ($(CXX),g++) + + rpathlink = -Wl,-rpath-link,$(1) + +- ifneq ($(embedded_runpath_prefix),) +- LDPLATFORMFLAGS = -Wl,--enable-new-dtags -Wl,-rpath,$(runpath_libdir) +- else +- LDPLATFORMFLAGS = -Wl,--enable-new-dtags +- endif ++ LDPLATFORMFLAGS = -Wl,--enable-new-dtags -Wl,-rpath,../../../lib + + LDPLATFORMFLAGS += -rdynamic + +-endif ++#endif + + ifeq ($(CXX),icpc) + $(warning ===================================================================) +diff --git a/cpp/src/IceStorm/FreezeDB/Makefile b/cpp/src/IceStorm/FreezeDB/Makefile +index 7c844b7..cf15cb1 100644 +--- a/cpp/src/IceStorm/FreezeDB/Makefile ++++ b/cpp/src/IceStorm/FreezeDB/Makefile +@@ -66,7 +66,7 @@ $(libdir)/$(LIBNAME): $(libdir)/$(SONAME) + + $(MIGRATE): $(MOBJS) + rm -f $@ +- $(CXX) $(LDFLAGS) -o $@ $(MOBJS) $(DB_RPATH_LINK) -lIceStormService -lIceStorm -lFreeze $(LIBS) ++ $(CXX) $(LDFLAGS) -o $@ $(MOBJS) $(DB_RPATH_LINK) -lIceStormService -lIceStorm -lFreeze $(LIBS) -ldb_cxx + + # The slice2freeze rules are structured like this to avoid issues with + # parallel make. +diff --git a/py/config/Make.rules b/py/config/Make.rules +index 43ce01b..1349342 100644 +--- a/py/config/Make.rules ++++ b/py/config/Make.rules +@@ -92,21 +92,23 @@ ifeq ($(shell test -f $(top_srcdir)/config/Make.rules.$(UNAME) && echo 0),0) + include $(top_srcdir)/config/Make.rules.$(UNAME) + else + include $(top_srcdir)/../cpp/config/Make.rules.$(UNAME) +-endif ++endif + + libdir = $(top_srcdir)/python +-ifneq ($(prefix), /usr) +-install_pythondir = $(prefix)/python +-install_libdir = $(prefix)/python +-else +- ifeq ($(shell test -d $(prefix)/$(libsubdir)/$(PYTHON_VERSION)/dist-packages && echo 0),0) +- install_pythondir = $(prefix)/$(libsubdir)/$(PYTHON_VERSION)/dist-packages +- install_libdir = $(prefix)/$(libsubdir)/$(PYTHON_VERSION)/dist-packages +- else +- install_pythondir = $(prefix)/$(libsubdir)/$(PYTHON_VERSION)/site-packages +- install_libdir = $(prefix)/$(libsubdir)/$(PYTHON_VERSION)/site-packages +- endif +-endif ++#ifneq ($(prefix), /usr) ++#install_pythondir = $(prefix)/python ++#install_libdir = $(prefix)/python ++#else ++# ifeq ($(shell test -d $(prefix)/$(libsubdir)/$(PYTHON_VERSION)/dist-packages && echo 0),0) ++# install_pythondir = $(prefix)/$(libsubdir)/$(PYTHON_VERSION)/dist-packages ++# install_libdir = $(prefix)/$(libsubdir)/$(PYTHON_VERSION)/dist-packages ++# else ++# install_pythondir = $(prefix)/$(libsubdir)/$(PYTHON_VERSION)/site-packages ++# install_libdir = $(prefix)/$(libsubdir)/$(PYTHON_VERSION)/site-packages ++# endif ++#endif ++install_pythondir = $(prefix)/$(libsubdir)/$(PYTHON_VERSION)/site-packages ++install_libdir = $(prefix)/$(libsubdir)/$(PYTHON_VERSION)/site-packages + + ifeq ($(UNAME),SunOS) + ifeq ($(LP64),yes) +@@ -115,19 +117,21 @@ ifeq ($(UNAME),SunOS) + endif + endif + +-ifdef ice_src_dist +- ifeq ($(ice_cpp_dir), $(ice_dir)/cpp) +- ICE_LIB_DIR = -L$(ice_cpp_dir)/lib +- else +- ICE_LIB_DIR = -L$(ice_cpp_dir)/$(libsubdir) +- endif +- ICE_LIB_DIR = -L$(ice_cpp_dir)/lib +- ICE_FLAGS = -I$(ice_cpp_dir)/include +-endif +-ifdef ice_bin_dist +- ICE_LIB_DIR = -L$(ice_dir)/$(libsubdir) +- ICE_FLAGS = -I$(ice_dir)/include +-endif ++#ifdef ice_src_dist ++# ifeq ($(ice_cpp_dir), $(ice_dir)/cpp) ++# ICE_LIB_DIR = -L$(ice_cpp_dir)/lib ++# else ++# ICE_LIB_DIR = -L$(ice_cpp_dir)/$(libsubdir) ++# endif ++# ICE_LIB_DIR = -L$(ice_cpp_dir)/lib ++# ICE_FLAGS = -I$(ice_cpp_dir)/include ++#endif ++#ifdef ice_bin_dist ++# ICE_LIB_DIR = -L$(ice_dir)/$(libsubdir) ++# ICE_FLAGS = -I$(ice_dir)/include ++#endif ++ICE_LIB_DIR = -L$(top_srcdir)/../cpp/lib ++ICE_FLAGS = -I$(ice_cpp_dir)/include + ICE_LIBS = $(ICE_LIB_DIR) -lIce -lSlice -lIceUtil + + ifneq ($(embedded_runpath_prefix),) +@@ -137,7 +141,7 @@ endif + CPPFLAGS = + ICECPPFLAGS = -I$(slicedir) + SLICE2PYFLAGS = $(ICECPPFLAGS) +-LDFLAGS = $(LDPLATFORMFLAGS) $(CXXFLAGS) -L$(libdir) ++LDFLAGS += $(LDPLATFORMFLAGS) $(CXXFLAGS) -L$(libdir) + + ifdef ice_src_dist + ifeq ($(ice_cpp_dir), $(ice_dir)/cpp) +-- +1.7.9.5 + diff --git a/meta-oe/recipes-connectivity/zeroc-ice/zeroc-ice_3.5.1.bb b/meta-oe/recipes-connectivity/zeroc-ice/zeroc-ice_3.5.1.bb new file mode 100644 index 0000000000..2b6f56ed4f --- /dev/null +++ b/meta-oe/recipes-connectivity/zeroc-ice/zeroc-ice_3.5.1.bb @@ -0,0 +1,87 @@ +DESCRIPTION = "The Internet Communications Engine" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://ICE_LICENSE;md5=3dc3037023cc2ae6b2c5b995da529515" +DEPENDS = "bzip2 expat openssl python db mcpp" +DEPENDS_prepend_class-target = "zeroc-ice-native " + +SRC_URI = "http://www.zeroc.com/download/Ice/3.5/Ice-${PV}.tar.gz \ + file://0002-Modify-Makefile-for-cross-compile.patch \ + " +SRC_URI[md5sum] = "f00c59983cc904bca977133c0a9b3e80" +SRC_URI[sha256sum] = "989e51194c6adadbd156da3288e37bad847b93b3b876502e83033b70493af392" + +#| MapDb.cpp: In constructor 'Freeze::MapDb::MapDb(const ConnectionIPtr&, const string&, const string&, const string&, const KeyCompareBasePtr&, const std::vector<IceUtil::Handle<Freeze::MapIndexBase> >&, bool)': +#| MapDb.cpp:138:46: error: call of overloaded 'set_bt_compare(int (*)(DB*, const DBT*, const DBT*))' is ambiguous +#| MapDb.cpp:138:46: note: candidates are: +#| /home/jenkins/oe/world/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/include/db_cxx.h:272:14: note: virtual int Db::set_bt_compare(bt_compare_fcn_type) <near match> +#| /home/jenkins/oe/world/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/include/db_cxx.h:272:14: note: no known conversion for argument 1 from 'int (*)(DB*, const DBT*, const DBT*) {aka int (*)(__db*, const __db_dbt*, const __db_dbt*)}' to 'bt_compare_fcn_type {aka int (*)(__db*, const __db_dbt*, const __db_dbt*, long unsigned int*)}' +#| /home/jenkins/oe/world/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/include/db_cxx.h:273:14: note: virtual int Db::set_bt_compare(int (*)(Db*, const Dbt*, const Dbt*, size_t*)) <near match> +#| /home/jenkins/oe/world/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/include/db_cxx.h:273:14: note: no known conversion for argument 1 from 'int (*)(DB*, const DBT*, const DBT*) {aka int (*)(__db*, const __db_dbt*, const __db_dbt*)}' to 'int (*)(Db*, const Dbt*, const Dbt*, size_t*) {aka int (*)(Db*, const Dbt*, const Dbt*, long unsigned int*)}' +#| make[3]: *** [MapDb.o] Error 1 +PNBLACKLIST[zeroc-ice] ?= "BROKEN: not compatible with default db version" + +S = "${WORKDIR}/Ice-${PV}" + +inherit python-dir pkgconfig + +export PYTHON_VERSION = "python2.7" + +do_configure() { + : +} + +do_compile_prepend_class-target () { + export PYTHON_INCLUDE_DIR="${STAGING_INCDIR}/${PYTHON_DIR}" + export PYTHON_LIB_DIR="${STAGING_LIBDIR}/${PYTHON_DIR}" + export ICE_HOME="${STAGING_DIR_NATIVE}/usr" +} + +do_compile_prepend_class-nativesdk () { + export PYTHON_INCLUDE_DIR="${STAGING_INCDIR}/${PYTHON_DIR}" + export PYTHON_LIB_DIR="${STAGING_LIBDIR}/${PYTHON_DIR}" + export ICE_HOME="${STAGING_DIR_NATIVE}/usr" +} + +do_compile_prepend_class-native () { + export PYTHON_INCLUDE_DIR="${STAGING_INCDIR}/${PYTHON_DIR}" + export PYTHON_LIB_DIR="${STAGING_LIBDIR}/${PYTHON_DIR}" + export ICE_HOME="${S}/cpp" +} + +do_compile() { + oe_runmake -C ${S} cpp + oe_runmake -C ${S} py +} + +do_install_prepend_class-target () { + export PYTHON_INCLUDE_DIR="${STAGING_INCDIR}/${PYTHON_DIR}" + export PYTHON_LIB_DIR="${STAGING_LIBDIR}/${PYTHON_DIR}" + export ICE_HOME="${STAGING_DIR_NATIVE}/usr" +} + +do_install_prepend_class-nativesdk () { + export PYTHON_INCLUDE_DIR="${STAGING_INCDIR}/${PYTHON_DIR}" + export PYTHON_LIB_DIR="${STAGING_LIBDIR}/${PYTHON_DIR}" + export ICE_HOME="${STAGING_DIR_NATIVE}/usr" +} + +do_install_prepend_class-native () { + export ICE_HOME="${S}/cpp" +} + +do_install() { + oe_runmake -C ${S}/cpp prefix=${D}${prefix} install install-common + oe_runmake -C ${S}/py prefix=${D}${prefix} install +} + +PACKAGES += "${PN}-python ${PN}-python-dev ${PN}-python-dbg" + +FILES_${PN}-doc += "${prefix}/man/man1" +FILES_${PN} += "${prefix}/*LICENSE ${libdir}/ImportKey.class ${prefix}/RELEASE_NOTES ${prefix}/CHANGES" +FILES_${PN}-dev += "${includedir} ${prefix}/slice ${prefix}/config" +FILES_${PN}-python-dev = "${PYTHON_SITEPACKAGES_DIR}/IcePy.so" +FILES_${PN}-python = "${PYTHON_SITEPACKAGES_DIR}/*.py ${PYTHON_SITEPACKAGES_DIR}/IcePy.so.* ${PYTHON_SITEPACKAGES_DIR}/Ice*/*.py" +FILES_${PN}-python-dbg = "${PYTHON_SITEPACKAGES_DIR}/.debug" +FILES_${PN}-dev += "${bindir}/slice* ${datadir}/Ice-${PV}/slice/*" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-oe/recipes-connectivity/zeromq/cppzmq_git.bb b/meta-oe/recipes-connectivity/zeromq/cppzmq_git.bb new file mode 100644 index 0000000000..34099766c7 --- /dev/null +++ b/meta-oe/recipes-connectivity/zeromq/cppzmq_git.bb @@ -0,0 +1,19 @@ +DESCRIPTION = "C++ bindings for ZeroMQ" +HOMEPAGE = "http://www.zeromq.org" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=db174eaf7b55a34a7c89551197f66e94" +DEPENDS = "zeromq" +SRCREV = "ee47ae4cddc304741526c9bb2035f98c3274e0ec" + +SRC_URI = "git://github.com/zeromq/cppzmq.git" + +S = "${WORKDIR}/git" + +do_install () { + install -d ${D}/usr/include + install -m 0755 ${S}/zmq.hpp ${D}/usr/include/ +} + +PACKAGES = "${PN}-dev" + +RDEPENDS_${PN}-dev = "zeromq-dev" diff --git a/meta-oe/recipes-connectivity/zeromq/files/run-ptest b/meta-oe/recipes-connectivity/zeromq/files/run-ptest new file mode 100755 index 0000000000..48b9cd9fc5 --- /dev/null +++ b/meta-oe/recipes-connectivity/zeromq/files/run-ptest @@ -0,0 +1,10 @@ +#!/bin/sh + +cd tests +for i in `ls *`; do + if [ ./$i ] ; then + echo "PASS: $i" + else + echo "FAIL: $i" + fi +done diff --git a/meta-oe/recipes-connectivity/zeromq/zeromq_4.0.4.bb b/meta-oe/recipes-connectivity/zeromq/zeromq_4.0.4.bb new file mode 100644 index 0000000000..80907fa7c0 --- /dev/null +++ b/meta-oe/recipes-connectivity/zeromq/zeromq_4.0.4.bb @@ -0,0 +1,24 @@ +DESCRIPTION = "ZeroMQ looks like an embeddable networking library but acts like a concurrency framework" +HOMEPAGE = "http://www.zeromq.org" +LICENSE = "LGPLv3+" +LIC_FILES_CHKSUM = "file://COPYING.LESSER;md5=d5311495d952062e0e4fbba39cbf3de1" + +SRC_URI = "http://download.zeromq.org/zeromq-${PV}.tar.gz \ + file://run-ptest \ + " +SRC_URI[md5sum] = "f3c3defbb5ef6cc000ca65e529fdab3b" +SRC_URI[sha256sum] = "1ef71d46e94f33e27dd5a1661ed626cd39be4d2d6967792a275040e34457d399" + +S = "${WORKDIR}/zeromq-${PV}" + +#Uncomment to choose polling system manually. valid values are kqueue, epoll, devpoll, poll or select +#EXTRA_OECONF += "--with-poller=kqueue" +#CFLAGS_append += "-O0" +#CXXFLAGS_append += "-O0" + +inherit autotools ptest + +do_install_ptest () { + install -d ${D}${PTEST_PATH}/tests + install -m 0755 ${B}/tests/.libs/* ${D}${PTEST_PATH}/tests +} diff --git a/meta-oe/recipes-core/eggdbus/eggdbus/gtk-doc.patch b/meta-oe/recipes-core/eggdbus/eggdbus/gtk-doc.patch new file mode 100644 index 0000000000..abd7ff4166 --- /dev/null +++ b/meta-oe/recipes-core/eggdbus/eggdbus/gtk-doc.patch @@ -0,0 +1,34 @@ +Upstream-Status: Inappropriate [configuration] + +Index: eggdbus-0.6/docs/eggdbus/Makefile.am +=================================================================== +--- eggdbus-0.6.orig/docs/eggdbus/Makefile.am ++++ eggdbus-0.6/docs/eggdbus/Makefile.am +@@ -87,11 +87,7 @@ HTML_IMAGES = \ + # Extra options to supply to gtkdoc-fixref + FIXXREF_OPTIONS= + +-if ENABLE_GTK_DOC +-include $(top_srcdir)/gtk-doc.make +-else + CLEANFILES = +-endif + + CLEANFILES += *~ \ + eggdbus-scan.* \ +Index: eggdbus-0.6/docs/tests/Makefile.am +=================================================================== +--- eggdbus-0.6.orig/docs/tests/Makefile.am ++++ eggdbus-0.6/docs/tests/Makefile.am +@@ -65,11 +65,7 @@ HTML_IMAGES = \ + # Extra options to supply to gtkdoc-fixref + FIXXREF_OPTIONS= + +-if ENABLE_GTK_DOC +-include $(top_srcdir)/gtk-doc.make +-else + CLEANFILES = +-endif + + CLEANFILES += *~ \ + tests-scan.* \ diff --git a/meta-oe/recipes-core/eggdbus/eggdbus/marshal.patch b/meta-oe/recipes-core/eggdbus/eggdbus/marshal.patch new file mode 100644 index 0000000000..a605a34c8e --- /dev/null +++ b/meta-oe/recipes-core/eggdbus/eggdbus/marshal.patch @@ -0,0 +1,28 @@ +Upstream-Status: Inappropriate [configuration] + +Index: eggdbus-0.6/src/eggdbus/Makefile.am +=================================================================== +--- eggdbus-0.6.orig/src/eggdbus/Makefile.am ++++ eggdbus-0.6/src/eggdbus/Makefile.am +@@ -130,7 +130,7 @@ BUILT_SOURCES = \ + $(NULL) + + eggdbus-built-sources.stamp : eggdbus-binding-tool Makefile.am org.freedesktop.DBus.xml org.freedesktop.DBus.Peer.xml org.freedesktop.DBus.Properties.xml org.freedesktop.DBus.Introspectable.xml eggdbus-glib-genmarshal +- EGG_DBUS_GENMARSHAL=$(top_builddir)/src/eggdbus/eggdbus-glib-genmarshal $(top_builddir)/src/eggdbus/eggdbus-binding-tool \ ++ EGG_DBUS_GENMARSHAL=eggdbus-glib-genmarshal eggdbus-binding-tool \ + --namespace EggDBus \ + --dbus-namespace org.freedesktop.DBus \ + --interfaces-only \ +Index: eggdbus-0.6/src/tests/Makefile.am +=================================================================== +--- eggdbus-0.6.orig/src/tests/Makefile.am ++++ eggdbus-0.6/src/tests/Makefile.am +@@ -25,7 +25,7 @@ BUILT_SOURCES = \ + $(NULL) + + test-built-sources.stamp : Makefile.am $(top_builddir)/src/eggdbus/eggdbus-binding-tool com.example.Frob.xml com.example.Tweak.xml com.example.Twiddle.xml +- EGG_DBUS_GENMARSHAL=$(top_builddir)/src/eggdbus/eggdbus-glib-genmarshal $(top_builddir)/src/eggdbus/eggdbus-binding-tool \ ++ EGG_DBUS_GENMARSHAL=eggdbus-glib-genmarshal eggdbus-binding-tool \ + --namespace "Test" \ + --dbus-namespace "com.example" \ + --include-header testtypes.h \ diff --git a/meta-oe/recipes-core/eggdbus/eggdbus_0.6.bb b/meta-oe/recipes-core/eggdbus/eggdbus_0.6.bb new file mode 100644 index 0000000000..cc28ec77cd --- /dev/null +++ b/meta-oe/recipes-core/eggdbus/eggdbus_0.6.bb @@ -0,0 +1,33 @@ +SUMMARY = "An alternative to dbug-glib." +DESCRIPTION = "An alternative to dbus-glib. It is designed specifically to \ +make it comfortable to work with very large and potentially \ +complex D-Bus services like e.g. DeviceKit-disks" + +HOMEPAGE = "http://cgit.freedesktop.org/~david/eggdbus" +LICENSE = "LGPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=155db86cdbafa7532b41f390409283eb \ + file://src/eggdbus/eggdbus.h;md5=6b312aef57ed8d738b3f131ad037d6c2" + +DEPENDS = "dbus glib-2.0 dbus-glib eggdbus-native" +DEPENDS_class-native = "dbus-native glib-2.0-native dbus-glib-native" + +SRC_URI = "http://cgit.freedesktop.org/~david/${BPN}/snapshot/${BPN}-${PV}.tar.bz2 \ + file://gtk-doc.patch \ +" +SRC_URI_append_class-target = "file://marshal.patch" +SRC_URI[md5sum] = "0a111faa54dfba2cf432c2c8e8a76e06" +SRC_URI[sha256sum] = "3ad26e271c1a879bafcd181e065fe0ed53b542299a773c3188c9edb25b895ed1" + +inherit autotools gtk-doc + +EXTRA_OECONF = " --disable-man-pages " + +BBCLASSEXTEND = "native" + +PARALLEL_MAKE = "" + +do_configure_prepend() { + # Create ChangeLog to walk around automake error. + # " Makefile.am: error: required file './ChangeLog' not found " + touch ${S}/ChangeLog +} diff --git a/meta-oe/recipes-core/glib-2.0/glibmm_2.36.2.bb b/meta-oe/recipes-core/glib-2.0/glibmm_2.36.2.bb index e68eb50a18..71daf9dea1 100644 --- a/meta-oe/recipes-core/glib-2.0/glibmm_2.36.2.bb +++ b/meta-oe/recipes-core/glib-2.0/glibmm_2.36.2.bb @@ -27,3 +27,5 @@ do_install_append() { FILES_${PN} = "${libdir}/lib*.so.*" FILES_${PN}-dev += "${datadir}/glibmm-* ${libdir}/glibmm-2.4/include/ ${libdir}/glibmm-2.4/proc/ ${libdir}/giomm-2.4/include/" + +RDEPENDS_${PN}-dev = "perl" diff --git a/meta-oe/recipes-core/jpeg/libjpeg-turbo_8d+1.3.1.bb b/meta-oe/recipes-core/jpeg/libjpeg-turbo_8d+1.4.0.bb index 6a09fdac45..8e214c969d 100644 --- a/meta-oe/recipes-core/jpeg/libjpeg-turbo_8d+1.3.1.bb +++ b/meta-oe/recipes-core/jpeg/libjpeg-turbo_8d+1.4.0.bb @@ -2,16 +2,16 @@ DESCRIPTION = "libjpeg-turbo is a derivative of libjpeg that uses SIMD instructi HOMEPAGE = "http://libjpeg-turbo.org/" LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://cdjpeg.h;endline=12;md5=78fa8dbac547bb5b2a0e6457a6cfe21d \ - file://jpeglib.h;endline=14;md5=a08bb0a80f782a9f8da313cc4015ed6f \ - file://djpeg.c;endline=9;md5=7629c51aed78174711c20a40194a8f1b \ +LIC_FILES_CHKSUM = "file://cdjpeg.h;endline=12;md5=cad955d15145c3fdceec6855e078e953 \ + file://jpeglib.h;endline=14;md5=dfc803dc51ae21178d1376ec73c4454d \ + file://djpeg.c;endline=9;md5=e93a8f2061e8a0ac71c7a485c10489e2 \ " BASEPV = "${@d.getVar('PV',True).split('+')[1]}" SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${BASEPV}.tar.gz" -SRC_URI[md5sum] = "2c3a68129dac443a72815ff5bb374b05" -SRC_URI[sha256sum] = "c132907417ddc40ed552fe53d6b91d5fecbb14a356a60ddc7ea50d6be9666fb9" +SRC_URI[md5sum] = "039153dabe61e1ac8d9323b5522b56b0" +SRC_URI[sha256sum] = "d93ad8546b510244f863b39b4c0da0fa4c0d53a77b61a8a3880f258c232bbbee" S = "${WORKDIR}/${BPN}-${BASEPV}" diff --git a/meta-oe/recipes-core/libxml/libxml++-2.37.1/libxml++_ptest.patch b/meta-oe/recipes-core/libxml/libxml++-2.37.1/libxml++_ptest.patch index a18822f724..82960f1120 100644 --- a/meta-oe/recipes-core/libxml/libxml++-2.37.1/libxml++_ptest.patch +++ b/meta-oe/recipes-core/libxml/libxml++-2.37.1/libxml++_ptest.patch @@ -12,10 +12,19 @@ index d4aadb1..0e36756 100644 # Optional: auto-generate the ChangeLog file from the git log on make dist include $(top_srcdir)/macros/dist-changelog.am diff --git a/examples/Makefile.am b/examples/Makefile.am -index d9541ca..c28b49c 100644 +index d9541ca..c27e088 100644 --- a/examples/Makefile.am +++ b/examples/Makefile.am -@@ -36,6 +36,23 @@ check_PROGRAMS = \ +@@ -19,6 +19,8 @@ AM_CPPFLAGS = -I$(top_builddir) -I$(top_srcdir) -I. $(LIBXMLXX_CFLAGS) + AM_CXXFLAGS = $(LIBXMLXX_WXXFLAGS) + LDADD = $(top_builddir)/libxml++/libxml++-$(LIBXMLXX_API_VERSION).la $(LIBXMLXX_LIBS) + ++LOG_DRIVER = $(SHELL) ../macros/test-driver ++ + check_PROGRAMS = \ + dom_build/dom_build \ + dom_parse_entities/dom_parse_entities \ +@@ -36,6 +38,23 @@ check_PROGRAMS = \ schemavalidation/schemavalidation \ textreader/textreader @@ -39,20 +48,20 @@ index d9541ca..c28b49c 100644 # Shell scripts that call the example programs. check_SCRIPTS = \ dom_build/make_check.sh \ -@@ -147,10 +164,10 @@ dist_noinst_DATA = \ +@@ -147,10 +166,10 @@ dist_noinst_DATA = \ # file are located in different directories. dom_read_write/make_check.sh: Makefile echo '# Generated and used by "make check"' >$@ - echo 'dom_read_write/dom_read_write "$(srcdir)/dom_read_write/example.xml" dom_read_write/example_output.xml >/dev/null' >>$@ -+ echo 'dom_read_write/.libs/dom_read_write "$(srcdir)/dom_read_write/example.xml" dom_read_write/example_output.xml >/dev/null' >>$@ ++ echo 'cd dom_read_write && .libs/dom_read_write "example.xml" example_output.xml >/dev/null' >>$@ chmod +x $@ -script_template = cd "$(srcdir)/<!progname!>" && "$(abs_builddir)/<!progname!>/<!progname!>" >/dev/null -+script_template = cd "$(srcdir)/<!progname!>" && ".libs/<!progname!>" >/dev/null ++script_template = cd "<!progname!>" && ".libs/<!progname!>" >/dev/null standard_scripts = $(filter-out dom_read_write/make_check.sh,$(check_SCRIPTS)) # All other script files are generated like so: -@@ -162,3 +179,18 @@ $(standard_scripts): Makefile +@@ -162,3 +181,18 @@ $(standard_scripts): Makefile CLEANFILES = \ dom_read_write/example_output.xml \ $(check_SCRIPTS) @@ -65,9 +74,9 @@ index d9541ca..c28b49c 100644 + $(MKDIR_P) $(DESTDIR)/examples + cp --parents $(check_DOTLIBS) $(DESTDIR)/examples + cp --parents $(check_SCRIPTS) $(DESTDIR)/examples -+ cp --parents $(dist_noinst_DATA) $(DESTDIR)/examples ++ cd $(srcdir) && cp --parents $(dist_noinst_DATA) $(DESTDIR)/examples + cp Makefile $(DESTDIR)/examples + $(MKDIR_P) $(DESTDIR)/macros -+ cp ../macros/test-driver $(DESTDIR)/macros ++ cp $(srcdir)/../macros/test-driver $(DESTDIR)/macros + sed -i -e 's|^Makefile:|_Makefile:|' $(DESTDIR)/examples/Makefile + diff --git a/meta-oe/recipes-core/llvm/llvm.inc b/meta-oe/recipes-core/llvm/llvm.inc index 525dd3caca..26bac33105 100644 --- a/meta-oe/recipes-core/llvm/llvm.inc +++ b/meta-oe/recipes-core/llvm/llvm.inc @@ -25,13 +25,90 @@ HOMEPAGE = "http://llvm.org" LICENSE = "NCSA" LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=d0a3ef0d3e0e8f5cf59e5ffc273ab1f8" -# 2.* inherits also cmake -# 3.* inherits also automake -inherit perlnative pythonnative +DEPENDS = "libffi libxml2-native llvm-common" + +inherit perlnative pythonnative autotools LLVM_RELEASE = "${PV}" LLVM_DIR = "llvm${LLVM_RELEASE}" +SRC_URI = "http://llvm.org/releases/${PV}/llvm-${PV}.src.tar.gz" +S = "${WORKDIR}/llvm-${PV}.src" + +LLVM_BUILD_DIR = "${WORKDIR}/llvm-${PV}.build" +LLVM_INSTALL_DIR = "${WORKDIR}/llvm-install" + +EXTRA_OECONF += "--disable-assertions \ + --enable-debug-runtime \ + --disable-expensive-checks \ + --enable-bindings=none \ + --enable-keep-symbols \ + --enable-libffi \ + --enable-optimized \ + --enable-shared \ + --enable-targets=host-only" +EXTRA_OEMAKE += "REQUIRES_RTTI=1 VERBOSE=1" + +do_configure_prepend() { + # Remove RPATHs + sed -i 's:$(RPATH) -Wl,$(\(ToolDir\|LibDir\|ExmplDir\))::g' ${S}/Makefile.rules + + # Drop "svn" suffix from version string + sed -i 's/${PV}svn/${PV}/g' ${S}/configure + + # Fix paths in llvm-config + sed -i "s|sys::path::parent_path(CurrentPath))\.str()|sys::path::parent_path(sys::path::parent_path(CurrentPath))).str()|g" ${S}/tools/llvm-config/llvm-config.cpp + sed -ri "s#/(bin|include|lib)(/?\")#/\1/${LLVM_DIR}\2#g" ${S}/tools/llvm-config/llvm-config.cpp + + # Fails to build unless using separate directory from source + mkdir -p ${LLVM_BUILD_DIR} + cd ${LLVM_BUILD_DIR} +} + +do_compile() { + cd ${LLVM_BUILD_DIR} + oe_runmake \ + AR="${BUILD_AR}" \ + CC="${BUILD_CC}" \ + CFLAGS="${BUILD_CFLAGS}" \ + CXX="${BUILD_CXX}" \ + CXXFLAGS="${BUILD_CXXFLAGS}" \ + CPP="${BUILD_CPP}" \ + CPPFLAGS="${BUILD_CPPFLAGS}" \ + NM="${BUILD_NM}" \ + RANLIB="${BUILD_RANLIB}" \ + PATH="${STAGING_BINDIR_NATIVE}:$PATH" \ + cross-compile-build-tools + oe_runmake +} + +do_install() { + cd ${LLVM_BUILD_DIR} + oe_runmake DESTDIR=${LLVM_INSTALL_DIR} install + + mv ${LLVM_INSTALL_DIR}${bindir}/${HOST_SYS}-llvm-config-host ${LLVM_INSTALL_DIR}/llvm-config-host + + install -d ${D}${bindir}/${LLVM_DIR} + mv ${LLVM_INSTALL_DIR}${bindir}/* ${D}${bindir}/${LLVM_DIR}/ + + install -d ${D}${includedir}/${LLVM_DIR} + mv ${LLVM_INSTALL_DIR}${includedir}/* ${D}${includedir}/${LLVM_DIR}/ + + install -d ${D}${libdir}/${LLVM_DIR} + mv ${LLVM_INSTALL_DIR}${libdir}/* ${D}${libdir}/${LLVM_DIR}/ + ln -s ${LLVM_DIR}/libLLVM-${PV}.so ${D}${libdir}/libLLVM-${PV}.so + + install -d ${D}${docdir}/${LLVM_DIR} + mv ${LLVM_INSTALL_DIR}${prefix}/docs/llvm/* ${D}${docdir}/${LLVM_DIR} +} + +SYSROOT_PREPROCESS_FUNCS += "llvm_sysroot_preprocess" + +llvm_sysroot_preprocess() { + install -d ${SYSROOT_DESTDIR}${bindir_crossscripts} + mv ${LLVM_INSTALL_DIR}/llvm-config-host ${SYSROOT_DESTDIR}${bindir_crossscripts}/llvm-config${PV} +} + ALLOW_EMPTY_${PN} = "1" ALLOW_EMPTY_${PN}-staticdev = "1" FILES_${PN} = "" @@ -50,6 +127,8 @@ FILES_${PN}-dev = "${bindir}/${LLVM_DIR} \ PACKAGES_DYNAMIC = "^libllvm-.*$" +INSANE_SKIP_libllvm${LLVM_RELEASE}-llvm-${LLVM_RELEASE} += "dev-so" + python llvm_populate_packages() { libdir = bb.data.expand('${libdir}', d) libllvm_libdir = bb.data.expand('${libdir}/${LLVM_DIR}', d) @@ -58,8 +137,6 @@ python llvm_populate_packages() { split_staticdev_packages = do_split_packages(d, libllvm_libdir, '^lib(.*)\.a$', 'libllvm${LLVM_RELEASE}-%s-staticdev', 'Split staticdev package for %s', allow_dirs=True) if split_packages: pn = d.getVar('PN', True) - for package in split_packages: - d.appendVar('INSANE_SKIP_' + package, ' dev-so') d.appendVar('RDEPENDS_' + pn, ' '+' '.join(split_packages)) d.appendVar('RDEPENDS_' + pn + '-dbg', ' '+' '.join(split_dbg_packages)) d.appendVar('RDEPENDS_' + pn + '-staticdev', ' '+' '.join(split_staticdev_packages)) diff --git a/meta-oe/recipes-core/llvm/llvm2.8/0019-issue6065.patch b/meta-oe/recipes-core/llvm/llvm2.8/0019-issue6065.patch deleted file mode 100644 index a7f7bbe359..0000000000 --- a/meta-oe/recipes-core/llvm/llvm2.8/0019-issue6065.patch +++ /dev/null @@ -1,20 +0,0 @@ ---- - ARMJITInfo.cpp | 6 ++++++ - 1 file changed, 6 insertions(+) - ---- a/lib/Target/ARM/ARMJITInfo.cpp -+++ b/lib/Target/ARM/ARMJITInfo.cpp -@@ -99,7 +99,13 @@ - // The above twiddling of the saved return addresses allows us to - // deallocate everything, including the LR the stub saved, all in one - // pop instruction. -+#ifndef __thumb__ - "ldmia sp!, {r0, r1, r2, r3, lr, pc}\n" -+#else -+ // thumb dont allow lr and pc to be poped in the same instruction. -+ "pop {r0, r1, r2, r3, lr}\n" -+ "pop {pc}\n" -+#endif - ); - #else // Not an ARM host - void ARMCompilationCallback() { diff --git a/meta-oe/recipes-core/llvm/llvm2.8/30may-llvm2.8-pr399-ppc-arm.patch b/meta-oe/recipes-core/llvm/llvm2.8/30may-llvm2.8-pr399-ppc-arm.patch deleted file mode 100644 index ee5cbafd1c..0000000000 --- a/meta-oe/recipes-core/llvm/llvm2.8/30may-llvm2.8-pr399-ppc-arm.patch +++ /dev/null @@ -1,113 +0,0 @@ -Index: llvm-2.8/lib/ExecutionEngine/JIT/JIT.cpp -=================================================================== ---- llvm-2.8.orig/lib/ExecutionEngine/JIT/JIT.cpp 2010-08-17 18:19:18.000000000 +0200 -+++ llvm-2.8/lib/ExecutionEngine/JIT/JIT.cpp 2011-12-19 21:16:21.884288536 +0100 -@@ -252,7 +252,12 @@ - MutexGuard guard(Lock); - JITs.erase(jit); - } -- void *getPointerToNamedFunction(const char *Name) const { -+ bool empty() { -+ MutexGuard guard(Lock); -+ return JITs.empty(); -+ } -+ void *getPointerToNamedFunction(const char *Name, -+ bool AbortOnFailure = true) const { - MutexGuard guard(Lock); - assert(JITs.size() != 0 && "No Jit registered"); - //search function in every instance of JIT -@@ -264,7 +269,19 @@ - } - // The function is not available : fallback on the first created (will - // search in symbol of the current program/library) -- return (*JITs.begin())->getPointerToNamedFunction(Name); -+ return (*JITs.begin())->getPointerToNamedFunction(Name, AbortOnFailure); -+ } -+ void *getPointerToGlobalIfAvailable(GlobalValue *V) const { -+ MutexGuard guard(Lock); -+ assert(JITs.size() != 0 && "No Jit registered"); -+ //search function in every instance of JIT -+ for (SmallPtrSet<JIT*, 1>::const_iterator Jit = JITs.begin(), -+ end = JITs.end(); -+ Jit != end; ++Jit) { -+ if (void *Ptr = (*Jit)->getPointerToGlobalIfAvailable(V)) -+ return Ptr; -+ } -+ return 0; - } - }; - ManagedStatic<JitPool> AllJits; -@@ -280,6 +297,22 @@ - } - } - -+extern "C" { -+ // getPointerToNamedFunctionOrNull - same as the above, but returns -+ // NULL instead of aborting if the function cannot be found. -+ void *getPointerToNamedFunctionOrNull(const char *Name) { -+ return !AllJits->empty() ? AllJits->getPointerToNamedFunction(Name, false) : 0; -+ } -+} -+ -+extern "C" { -+ // getPointerToGlobalIfAvailable - same as the above, but for global -+ // variables, and only for those that have been codegened already. -+ void *getPointerToGlobalIfAvailable(GlobalValue *V) { -+ return !AllJits->empty() ? AllJits->getPointerToGlobalIfAvailable(V) : 0; -+ } -+} -+ - JIT::JIT(Module *M, TargetMachine &tm, TargetJITInfo &tji, - JITMemoryManager *JMM, CodeGenOpt::Level OptLevel, bool GVsWithCode) - : ExecutionEngine(M), TM(tm), TJI(tji), AllocateGVsWithCode(GVsWithCode), -Index: llvm-2.8/lib/Target/ARM/ARMISelLowering.cpp -=================================================================== ---- llvm-2.8.orig/lib/Target/ARM/ARMISelLowering.cpp 2010-09-03 03:35:08.000000000 +0200 -+++ llvm-2.8/lib/Target/ARM/ARMISelLowering.cpp 2011-12-19 21:16:21.884288536 +0100 -@@ -1119,6 +1119,9 @@ - } - } - -+extern "C" void *getPointerToNamedFunctionOrNull(const char *Name); -+extern "C" void *getPointerToGlobalIfAvailable(GlobalValue *Value); -+ - /// LowerCall - Lowering a call into a callseq_start <- - /// ARMISD:CALL <- callseq_end chain. Also add input and output parameter - /// nodes. -@@ -1272,6 +1275,26 @@ - InFlag =SDValue(); - } - -+ EVT PtrVT = DAG.getTargetLoweringInfo().getPointerTy(); -+ -+ // XXX Work around for http://llvm.org/bugs/show_bug.cgi?id=5201 -+ // and http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=399 -+ // for Shark. -+ // -+ // If the callee is an ExternalSymbol node, and the symbol can be -+ // resolved to a function pointer, then insert that pointer as a -+ // constant. This causes the next block of code to fall into the -+ // block that emits an indirect call. This works around -+ // -+ // This works for Shark because the only kinds of call that Shark -+ // makes that do not already fall into the indirect call block are -+ // calls to pre-existing external functions. -+ if (ExternalSymbolSDNode *S = dyn_cast<ExternalSymbolSDNode>(Callee)) { -+ void *FuncPtr = getPointerToNamedFunctionOrNull(S->getSymbol()); -+ if (FuncPtr) -+ Callee = DAG.getConstant((uint64_t) FuncPtr, PtrVT); -+ } -+ - // If the callee is a GlobalAddress/ExternalSymbol node (quite common, every - // direct call is) turn it into a TargetGlobalAddress/TargetExternalSymbol - // node so that legalize doesn't hack it. -Index: llvm-2.8/tools/llc/CMakeLists.txt -=================================================================== ---- llvm-2.8.orig/tools/llc/CMakeLists.txt 2009-09-03 00:45:31.000000000 +0200 -+++ llvm-2.8/tools/llc/CMakeLists.txt 2011-12-19 21:16:21.884288536 +0100 -@@ -1,4 +1,4 @@ --set(LLVM_LINK_COMPONENTS ${LLVM_TARGETS_TO_BUILD} bitreader asmparser) -+set(LLVM_LINK_COMPONENTS ${LLVM_TARGETS_TO_BUILD} jit bitreader asmparser) - - add_llvm_tool(llc - llc.cpp diff --git a/meta-oe/recipes-core/llvm/llvm2.8/add-unistd.patch b/meta-oe/recipes-core/llvm/llvm2.8/add-unistd.patch deleted file mode 100644 index 1c51b30639..0000000000 --- a/meta-oe/recipes-core/llvm/llvm2.8/add-unistd.patch +++ /dev/null @@ -1,12 +0,0 @@ -Index: llvm-2.8/lib/ExecutionEngine/JIT/Intercept.cpp -=================================================================== ---- llvm-2.8.orig/lib/ExecutionEngine/JIT/Intercept.cpp 2012-05-14 18:31:21.008318473 +0200 -+++ llvm-2.8/lib/ExecutionEngine/JIT/Intercept.cpp 2012-05-14 18:32:53.523734850 +0200 -@@ -19,6 +19,7 @@ - #include "llvm/Support/ErrorHandling.h" - #include "llvm/System/DynamicLibrary.h" - #include "llvm/Config/config.h" -+#include <unistd.h> - using namespace llvm; - - // AtExitHandlers - List of functions to call when the program exits, diff --git a/meta-oe/recipes-core/llvm/llvm2.8/llvm-mc_disable.patch b/meta-oe/recipes-core/llvm/llvm2.8/llvm-mc_disable.patch deleted file mode 100644 index fddc6743e6..0000000000 --- a/meta-oe/recipes-core/llvm/llvm2.8/llvm-mc_disable.patch +++ /dev/null @@ -1,12 +0,0 @@ -Index: llvm-2.8/tools/CMakeLists.txt -=================================================================== ---- llvm-2.8.orig/tools/CMakeLists.txt 2010-08-24 11:16:51.000000000 +0200 -+++ llvm-2.8/tools/CMakeLists.txt 2011-12-21 16:47:47.718508763 +0100 -@@ -14,7 +14,6 @@ - add_subdirectory(opt) - add_subdirectory(llvm-as) - add_subdirectory(llvm-dis) --add_subdirectory(llvm-mc) - - add_subdirectory(llc) - add_subdirectory(llvm-ranlib) diff --git a/meta-oe/recipes-core/llvm/llvm2.8_2.8.bb b/meta-oe/recipes-core/llvm/llvm2.8_2.8.bb deleted file mode 100644 index 4d0b3c83cb..0000000000 --- a/meta-oe/recipes-core/llvm/llvm2.8_2.8.bb +++ /dev/null @@ -1,16 +0,0 @@ -require llvm.inc -require llvm2.inc - -PR = "r3" - -SRC_URI += " \ - file://30may-llvm2.8-pr399-ppc-arm.patch \ - file://0019-issue6065.patch \ - file://add-unistd.patch \ - file://llvm-mc_disable.patch \ -" - -EXTRA_OECMAKE += " -DBUILD_SHARED_LIBS:BOOL=OFF " - -SRC_URI[md5sum] = "220d361b4d17051ff4bb21c64abe05ba" -SRC_URI[sha256sum] = "25addb742f1c6cc12877ed0ee924dda962d848368ee095be8e48342ae613d43b" diff --git a/meta-oe/recipes-core/llvm/llvm2.9/0019-issue6065.patch b/meta-oe/recipes-core/llvm/llvm2.9/0019-issue6065.patch deleted file mode 100644 index aff3d1d06d..0000000000 --- a/meta-oe/recipes-core/llvm/llvm2.9/0019-issue6065.patch +++ /dev/null @@ -1,35 +0,0 @@ ---- llvm-2.9.orig/lib/Target/ARM/ARMJITInfo.cpp 2013-04-19 14:49:28.063566919 +0200 -+++ llvm-2.9/lib/Target/ARM/ARMJITInfo.cpp 2013-04-19 15:24:31.065435029 +0200 -@@ -59,7 +59,17 @@ - // for the real target function right now. We have to act as if this - // whole compilation callback doesn't exist as far as the caller is - // concerned, so we can't just preserve the callee saved regs. -+ // stmdb introduced in http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMJITInfo.cpp?diff_format=h&r1=57911&r2=57910&pathrev=57911 -+ // but fails on armv4t -+ // | {standard input}: Assembler messages: -+ // | {standard input}:22: Error: selected processor does not support Thumb mode `stmdb sp!,{r0,r1,r2,r3,lr}' -+ // | {standard input}:31: Error: lo register required -- `ldmia sp!,{r0,r1,r2,r3,lr}' -+ // | {standard input}:32: Error: lo register required -- `ldr pc,[sp],#4' -+#ifndef __thumb__ - "stmdb sp!, {r0, r1, r2, r3, lr}\n" -+#else -+ "push {r0, r1, r2, r3, lr}\n" -+#endif - #if (defined(__VFP_FP__) && !defined(__SOFTFP__)) - "fstmfdd sp!, {d0, d1, d2, d3, d4, d5, d6, d7}\n" - #endif -@@ -99,8 +109,14 @@ - // The above twiddling of the saved return addresses allows us to - // deallocate everything, including the LR the stub saved, with two - // updating load instructions. -+#ifndef __thumb__ - "ldmia sp!, {r0, r1, r2, r3, lr}\n" - "ldr pc, [sp], #4\n" -+#else -+ // thumb dont allow lr and pc to be poped in the same instruction. -+ "pop {r0, r1, r2, r3, lr}\n" -+ "pop {pc}\n" -+#endif - ); - #else // Not an ARM host - void ARMCompilationCallback() { diff --git a/meta-oe/recipes-core/llvm/llvm2.9/0035-gcc-4.7.patch b/meta-oe/recipes-core/llvm/llvm2.9/0035-gcc-4.7.patch deleted file mode 100644 index 4cf8d44640..0000000000 --- a/meta-oe/recipes-core/llvm/llvm2.9/0035-gcc-4.7.patch +++ /dev/null @@ -1,16 +0,0 @@ -Upstream-Status: Pending - -Imported from http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=673266 - -Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> - ---- a/lib/ExecutionEngine/JIT/Intercept.cpp 2012-05-17 16:11:46.956180361 +0200 -+++ b/lib/ExecutionEngine/JIT/Intercept.cpp 2012-05-17 16:14:35.256184996 +0200 -@@ -52,6 +52,7 @@ - #include <sys/stat.h> - #endif - #include <fcntl.h> -+#include <unistd.h> - /* stat functions are redirecting to __xstat with a version number. On x86-64 - * linking with libc_nonshared.a and -Wl,--export-dynamic doesn't make 'stat' - * available as an exported symbol, so we have to add it explicitly. diff --git a/meta-oe/recipes-core/llvm/llvm2.9/arm_fenv_uclibc.patch b/meta-oe/recipes-core/llvm/llvm2.9/arm_fenv_uclibc.patch deleted file mode 100644 index c3ae494645..0000000000 --- a/meta-oe/recipes-core/llvm/llvm2.9/arm_fenv_uclibc.patch +++ /dev/null @@ -1,14 +0,0 @@ -Index: llvm-2.9/include/llvm/Support/FEnv.h -=================================================================== ---- llvm-2.9.orig/include/llvm/Support/FEnv.h 2010-11-29 20:44:50.000000000 +0100 -+++ llvm-2.9/include/llvm/Support/FEnv.h 2011-11-18 18:42:22.580161297 +0100 -@@ -17,6 +17,9 @@ - - #include "llvm/Config/config.h" - #include <cerrno> -+ -+#undef HAVE_FENV_H -+ - #ifdef HAVE_FENV_H - #include <fenv.h> - #endif diff --git a/meta-oe/recipes-core/llvm/llvm2.9_2.9.bb b/meta-oe/recipes-core/llvm/llvm2.9_2.9.bb deleted file mode 100644 index 44504b8e1f..0000000000 --- a/meta-oe/recipes-core/llvm/llvm2.9_2.9.bb +++ /dev/null @@ -1,21 +0,0 @@ -require llvm.inc -require llvm2.inc - -PR = "r3" - -SRC_URI += "file://0035-gcc-4.7.patch" - -ARM_INSTRUCTION_SET = "arm" - -# 0019-issue6065.patch is still needed but a bit modified, because it was resolved by -# http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMJITInfo.cpp?r1=120304&r2=124694&pathrev=124694 -# http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMJITInfo.cpp?diff_format=h&r1=57911&r2=57910&pathrev=57911 -# and still it fails with -# {standard input}:31: Error: invalid register list to push/pop instruction -- `pop {r0,r1,r2,r3,lr}' -# make[2]: *** [lib/Target/ARM/CMakeFiles/LLVMARMCodeGen.dir/ARMJITInfo.cpp.o] Error 1 -# SRC_URI += "file://0019-issue6065.patch" - -SRC_URI_append_libc-uclibc = " file://arm_fenv_uclibc.patch " - -SRC_URI[md5sum] = "793138412d2af2c7c7f54615f8943771" -SRC_URI[sha256sum] = "661236cfa17428b48cfa9cbb9909f7569c64b8ecd219fd91dbc00e3b557b3779" diff --git a/meta-oe/recipes-core/llvm/llvm2.inc b/meta-oe/recipes-core/llvm/llvm2.inc deleted file mode 100644 index a1f6ce87d4..0000000000 --- a/meta-oe/recipes-core/llvm/llvm2.inc +++ /dev/null @@ -1,170 +0,0 @@ -DEPENDS = "llvm${LLVM_RELEASE}-native llvm-common perl-native" -DEPENDS_class-native = "llvm-common-native cmake-native" - -SRC_URI = "http://llvm.org/releases/${PV}/llvm-${PV}.tgz" -S = "${WORKDIR}/llvm-${PV}" - -LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=0ac5f799a2d89477c75b0a378b221855" - -inherit cmake - -# Defines the LLVM supported arches. By now we always build either for ${BUILD} -# (native) or ${TARGET}. In the future it may make sense to enable all backends -# for the non-native build. The decision which backends are used is made by -# the 3rd party program or library that uses llvm anyway. -LLVM_ARCH = "${@get_llvm_arch(d)}" - -# This is used for generating the install directory for the llvm libraries, -# binaries and headers. It makes side by side installation of those possible. -LLVM_RELEASE = "${PV}" - -BBCLASSEXTEND = "native" - -LLVM_INSTALL_DIR = "${B}/llvm-install" - -# other architectures require X86 available, -LLVM_EXTRA_ARCH = "X86;" -LLVM_EXTRA_ARCH_x86 = "" -LLVM_EXTRA_ARCH_x86-64 = "" - -EXTRA_OECMAKE = "\ - -DLLVM_TABLEGEN=${STAGING_BINDIR_NATIVE}/${LLVM_DIR}/tblgen \ - -DLLVM_TARGETS_TO_BUILD="${LLVM_EXTRA_ARCH}${LLVM_ARCH}" \ - -DCMAKE_LINKER:FILEPATH=${LD} \ - -DCMAKE_AR:FILEPATH=${AR} \ - -DCMAKE_OBJCOPY:FILEPATH=${OBJCOPY} \ - -DCMAKE_OBJDUMP:FILEPATH=${OBJDUMP} \ - -DCMAKE_RANLIB:FILEPATH=${RANLIB} \ - -DCMAKE_STRIP:FILEPATH=${STRIP} \ - -DNM_PATH:FILEPATH=${NM} \ - -DLLVM_ENABLE_PIC:BOOL=ON \ - -DLLVM_TARGET_ARCH:STRING=${LLVM_ARCH} \ - -DLLVM_ENABLE_ASSERTIONS:BOOL=ON \ - -DCMAKE_BUILD_TYPE:STRING=RelWithDebInfo \ - -DBUILD_SHARED_LIBS:BOOL=ON \ - -DCMAKE_SKIP_BUILD_RPATH:BOOL=ON \ -" - -# We need to reset this to avoid breakage as we build out of tree -TOOLCHAIN_OPTIONS = "" - -# the difference to the non-native build is that we do not need -# to declare the location of the tblgen executable. -EXTRA_OECMAKE_class-native = "\ - -DLLVM_TARGETS_TO_BUILD=${LLVM_ARCH} \ - -DCMAKE_LINKER:FILEPATH=${LD} \ - -DCMAKE_AR:FILEPATH=${AR} \ - -DCMAKE_OBJCOPY:FILEPATH=${OBJCOPY} \ - -DCMAKE_OBJDUMP:FILEPATH=${OBJDUMP} \ - -DCMAKE_RANLIB:FILEPATH=${RANLIB} \ - -DCMAKE_STRIP:FILEPATH=${STRIP} \ - -DNM_PATH:FILEPATH=${NM} \ -" - -base_do_compile_prepend() { - # Avoid *** No rule to make target `native/bin/tblgen', needed by `include/llvm/Intrinsics.gen.tmp' - oe_runmake tblgen -} - -do_install() { - # Install into a private directory to be able to reorganize the files. - cd ${B} - oe_runmake DESTDIR=${LLVM_INSTALL_DIR} install - - # Create our custom target directories - install -d ${D}${bindir}/${LLVM_DIR} - install -d ${D}${includedir}/${LLVM_DIR} - install -d ${D}${libdir}/${LLVM_DIR} - - # Move headers into their own directory - cp -R ${LLVM_INSTALL_DIR}/${prefix}/include/llvm \ - ${D}${includedir}/${LLVM_DIR}/ - cp -R ${LLVM_INSTALL_DIR}/${prefix}/include/llvm-c \ - ${D}${includedir}/${LLVM_DIR}/ - - find ${LLVM_INSTALL_DIR}/${prefix}/lib -name "*" -maxdepth 1 -exec \ - install {} ${D}${libdir}/${LLVM_DIR} \; - - # I dont know another way out. Binaries are installed into a special subdir - find ${LLVM_INSTALL_DIR}/${prefix}/bin -name "*" -maxdepth 1 -exec \ - install {} ${D}${bindir}/${LLVM_DIR} \; - - # LLVM does not install this by default. - install bin/tblgen ${D}${bindir}/${LLVM_DIR} -} - -SYSROOT_PREPROCESS_FUNCS_append_class-target = " llvm_sysroot_preprocess" - -llvm_sysroot_preprocess() { - cd ${B} - - # Fix the paths in the config script to make it find the binaries and - # library files. Doing so allows 3rd party configure scripts working - # unmodified. - sed -e's!my.*ABS_RUN_DIR =.*!my $ABS_RUN_DIR = "${STAGING_DIR_TARGET}";!' \ - -e's!my.*INCLUDEDIR =.*!my $INCLUDEDIR = "${STAGING_INCDIR}/${LLVM_DIR}";!' \ - -e's!my.*LIBDIR.*!my $LIBDIR = "${STAGING_LIBDIR}/${LLVM_DIR}";!' \ - -e's!my.*BINDIR.*!my $BINDIR = "${STAGING_BINDIR}/${LLVM_DIR}";!' \ - bin/llvm-config > bin/llvm-config${LLVM_RELEASE} - - install -d ${SYSROOT_DESTDIR}${bindir_crossscripts} - install -m 0755 bin/llvm-config${LLVM_RELEASE} ${SYSROOT_DESTDIR}${bindir_crossscripts} -} - -do_install_class-native() { - # Install into a private directory to be able to reorganize the files. - cd ${B} - oe_runmake DESTDIR=${LLVM_INSTALL_DIR} install - - # Create our custom target directories - install -d ${D}${bindir}/${LLVM_DIR} - install -d ${D}${includedir}/${LLVM_DIR} - install -d ${D}${libdir}/${LLVM_DIR} - - # Move headers into their own directory - cp -R ${LLVM_INSTALL_DIR}/${prefix}/include/llvm \ - ${D}${includedir}/${LLVM_DIR}/ - cp -R ${LLVM_INSTALL_DIR}/${prefix}/include/llvm-c \ - ${D}${includedir}/${LLVM_DIR}/ - - find ${LLVM_INSTALL_DIR}/${prefix}/lib -name "*" -maxdepth 1 -exec \ - install {} ${D}${libdir}/${LLVM_DIR} \; - - # I dont know another way out. Binaries are installed into a special subdir - find ${LLVM_INSTALL_DIR}/${prefix}/bin -name "*" -maxdepth 1 -exec \ - install {} ${D}${bindir}/${LLVM_DIR} \; - - # LLVM does not install this by default. - install bin/tblgen ${D}${bindir}/${LLVM_DIR} - - # Fix the paths in the config script to make it find the binaries and - # library files. Doing so allows 3rd party configure scripts working - # unmodified. - sed -e's!my.*ABS_RUN_DIR =.*!my $ABS_RUN_DIR = "${STAGING_DIR_TARGET}";!' \ - -e's!my.*INCLUDEDIR =.*!my $INCLUDEDIR = "${STAGING_INCDIR}/${LLVM_DIR}";!' \ - -e's!my.*LIBDIR.*!my $LIBDIR = "${STAGING_LIBDIR}/${LLVM_DIR}";!' \ - -e's!my.*BINDIR.*!my $BINDIR = "${STAGING_BINDIR}/${LLVM_DIR}";!' \ - bin/llvm-config > bin/llvm-config${LLVM_RELEASE} - - install -d ${D}${bindir} - install -m 0755 bin/llvm-config${LLVM_RELEASE} ${D}${bindir} -} - -# Retrieve the target in a way that is compatible to the arch -# value in llvm (>= 2.5) -def get_llvm_arch(d): - import bb; - - arch = bb.data.getVar('TARGET_ARCH', d, 1) - if arch == "x86_64" or arch == "i486" or arch == "i586" or arch == "i686": - arch = "X86" - elif arch == "arm": - arch = "ARM" - elif arch == "mipsel" or arch == "mips": - arch = "mips" - elif arch == "powerpc" or arch == "powerpc64": - arch = "PowerPC" - else: - bb.warn("%s does not support %s yet" % (bb.data.getVar('PN', d, 1), arch) ); - - return arch diff --git a/meta-oe/recipes-core/llvm/llvm3.3_3.3.bb b/meta-oe/recipes-core/llvm/llvm3.3_3.3.bb index 65db1a8941..4617efa8b7 100644 --- a/meta-oe/recipes-core/llvm/llvm3.3_3.3.bb +++ b/meta-oe/recipes-core/llvm/llvm3.3_3.3.bb @@ -1,5 +1,4 @@ require llvm.inc -require llvm3.inc DEPENDS += "zlib" EXTRA_OECONF += "--enable-zlib" diff --git a/meta-oe/recipes-core/llvm/llvm3.inc b/meta-oe/recipes-core/llvm/llvm3.inc deleted file mode 100644 index a5bd896c60..0000000000 --- a/meta-oe/recipes-core/llvm/llvm3.inc +++ /dev/null @@ -1,80 +0,0 @@ -DEPENDS = "libffi libxml2-native llvm-common" - -SRC_URI = "http://llvm.org/releases/${PV}/llvm-${PV}.src.tar.gz" -S = "${WORKDIR}/llvm-${PV}.src" - -inherit autotools - -LLVM_BUILD_DIR = "${WORKDIR}/llvm-${PV}.build" -LLVM_INSTALL_DIR = "${WORKDIR}/llvm-install" - -EXTRA_OECONF += "--disable-assertions \ - --enable-debug-runtime \ - --disable-expensive-checks \ - --enable-bindings=none \ - --enable-keep-symbols \ - --enable-libffi \ - --enable-optimized \ - --enable-shared \ - --enable-targets=host-only" -EXTRA_OEMAKE += "REQUIRES_RTTI=1 VERBOSE=1" - -do_configure_prepend() { - # Remove RPATHs - sed -i 's:$(RPATH) -Wl,$(\(ToolDir\|LibDir\|ExmplDir\))::g' ${S}/Makefile.rules - - # Drop "svn" suffix from version string - sed -i 's/${PV}svn/${PV}/g' ${S}/configure - - # Fix paths in llvm-config - sed -i "s|sys::path::parent_path(CurrentPath))\.str()|sys::path::parent_path(sys::path::parent_path(CurrentPath))).str()|g" ${S}/tools/llvm-config/llvm-config.cpp - sed -ri "s#/(bin|include|lib)(/?\")#/\1/${LLVM_DIR}\2#g" ${S}/tools/llvm-config/llvm-config.cpp - - # Fails to build unless using separate directory from source - mkdir -p ${LLVM_BUILD_DIR} - cd ${LLVM_BUILD_DIR} -} - -do_compile() { - cd ${LLVM_BUILD_DIR} - oe_runmake \ - AR="${BUILD_AR}" \ - CC="${BUILD_CC}" \ - CFLAGS="${BUILD_CFLAGS}" \ - CXX="${BUILD_CXX}" \ - CXXFLAGS="${BUILD_CXXFLAGS}" \ - CPP="${BUILD_CPP}" \ - CPPFLAGS="${BUILD_CPPFLAGS}" \ - NM="${BUILD_NM}" \ - RANLIB="${BUILD_RANLIB}" \ - PATH="${STAGING_BINDIR_NATIVE}:$PATH" \ - cross-compile-build-tools - oe_runmake -} - -do_install() { - cd ${LLVM_BUILD_DIR} - oe_runmake DESTDIR=${LLVM_INSTALL_DIR} install - - mv ${LLVM_INSTALL_DIR}${bindir}/${HOST_SYS}-llvm-config-host ${LLVM_INSTALL_DIR}/llvm-config-host - - install -d ${D}${bindir}/${LLVM_DIR} - mv ${LLVM_INSTALL_DIR}${bindir}/* ${D}${bindir}/${LLVM_DIR}/ - - install -d ${D}${includedir}/${LLVM_DIR} - mv ${LLVM_INSTALL_DIR}${includedir}/* ${D}${includedir}/${LLVM_DIR}/ - - install -d ${D}${libdir}/${LLVM_DIR} - mv ${LLVM_INSTALL_DIR}${libdir}/* ${D}${libdir}/${LLVM_DIR}/ - ln -s ${LLVM_DIR}/libLLVM-${PV}.so ${D}${libdir}/libLLVM-${PV}.so - - install -d ${D}${docdir}/${LLVM_DIR} - mv ${LLVM_INSTALL_DIR}${prefix}/docs/llvm/* ${D}${docdir}/${LLVM_DIR} -} - -SYSROOT_PREPROCESS_FUNCS += "llvm_sysroot_preprocess" - -llvm_sysroot_preprocess() { - install -d ${SYSROOT_DESTDIR}${bindir_crossscripts} - mv ${LLVM_INSTALL_DIR}/llvm-config-host ${SYSROOT_DESTDIR}${bindir_crossscripts}/llvm-config${PV} -} diff --git a/meta-oe/recipes-core/meta/distro-feed-configs.bb b/meta-oe/recipes-core/meta/distro-feed-configs.bb index dde86569e7..ea5ca38486 100644 --- a/meta-oe/recipes-core/meta/distro-feed-configs.bb +++ b/meta-oe/recipes-core/meta/distro-feed-configs.bb @@ -5,10 +5,11 @@ LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384 DISTRO_FEED_PREFIX ?= "remote" DISTRO_FEED_URI ?= "http://my-distribution.example/remote-feed/" +DISTRO_FEED_ARCHS ?= "all ${PACKAGE_EXTRA_ARCHS} ${MACHINE_ARCH}" do_compile() { mkdir -p ${S}/${sysconfdir}/opkg - for feed in all ${PACKAGE_EXTRA_ARCHS} ${MACHINE_ARCH}; do + for feed in ${DISTRO_FEED_ARCHS}; do echo "src/gz ${DISTRO_FEED_PREFIX}-${feed} ${DISTRO_FEED_URI}/${feed}" > ${S}/${sysconfdir}/opkg/${feed}-feed.conf done } diff --git a/meta-oe/recipes-core/packagegroups/packagegroup-basic.bb b/meta-oe/recipes-core/packagegroups/packagegroup-basic.bb index 08db94344e..20b16527e9 100644 --- a/meta-oe/recipes-core/packagegroups/packagegroup-basic.bb +++ b/meta-oe/recipes-core/packagegroups/packagegroup-basic.bb @@ -7,11 +7,8 @@ LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d PR = "r13" -inherit packagegroup - -# packages which content depend on MACHINE_FEATURES need to be MACHINE_ARCH -# PACKAGE_ARCH = "${MACHINE_ARCH}" +inherit packagegroup # Poke extra recomendations into the list using your machine.conf # @@ -23,9 +20,6 @@ MACHINE_EXTRA_RRECOMMENDS ?= "" # TASK_BASIC_SSHDAEMON ?= "dropbear openssh-sftp openssh-sftp-server" -RPROVIDES_${PN} += "task-basic" -RREPLACES_${PN} += "task-basic" -RCONFLICTS_${PN} += "task-basic" # # The section below is designed to match with packagegroup-boot, but doesn't depend on it to allow for more freedom # when writing image recipes. diff --git a/meta-oe/recipes-core/packagegroups/packagegroup-boot.bb b/meta-oe/recipes-core/packagegroups/packagegroup-boot.bb index 3b634f3a74..f50443d812 100644 --- a/meta-oe/recipes-core/packagegroups/packagegroup-boot.bb +++ b/meta-oe/recipes-core/packagegroups/packagegroup-boot.bb @@ -4,11 +4,8 @@ LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d PR = "r58" -inherit packagegroup - -# packages which content depend on MACHINE_FEATURES need to be MACHINE_ARCH -# PACKAGE_ARCH = "${MACHINE_ARCH}" +inherit packagegroup # # those ones can be set in machine config to supply packages needed to get machine booting @@ -19,10 +16,6 @@ MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS ?= "" # Make sure we build the kernel DEPENDS = "virtual/kernel" -RPROVIDES_${PN} += "task-boot" -RREPLACES_${PN} += "task-boot" -RCONFLICTS_${PN} += "task-boot" - # # minimal set of packages - needed to boot # diff --git a/meta-oe/recipes-core/packagegroups/packagegroup-cli-tools.bb b/meta-oe/recipes-core/packagegroups/packagegroup-cli-tools.bb index fbba23ca22..2a4b067ba2 100644 --- a/meta-oe/recipes-core/packagegroups/packagegroup-cli-tools.bb +++ b/meta-oe/recipes-core/packagegroups/packagegroup-cli-tools.bb @@ -10,13 +10,6 @@ inherit packagegroup allarch PACKAGES += "${PN}-debug" -RPROVIDES_${PN} += "task-cli-tools" -RPROVIDES_${PN}-debug += "task-cli-tools-debug" -RREPLACES_${PN} += "task-cli-tools" -RREPLACES_${PN}-debug += "task-cli-tools-debug" -RCONFLICTS_${PN} += "task-cli-tools" -RCONFLICTS_${PN}-debug += "task-cli-tools-debug" - RDEPENDS_${PN} = "\ dbus-daemon-proxy \ dosfstools \ diff --git a/meta-oe/recipes-core/toybox/toybox/0001-Match-paths-with-busybox.patch b/meta-oe/recipes-core/toybox/toybox/0001-Match-paths-with-busybox.patch new file mode 100644 index 0000000000..e071f22b16 --- /dev/null +++ b/meta-oe/recipes-core/toybox/toybox/0001-Match-paths-with-busybox.patch @@ -0,0 +1,383 @@ +From 27f5ca9f1e212e5ab00cde0bfc91282fc7ff5e16 Mon Sep 17 00:00:00 2001 +From: Paul Barker <paul@paulbarker.me.uk> +Date: Mon, 18 Aug 2014 12:18:16 +0000 +Subject: [PATCH] Match paths with busybox + +To ensure that toybox can be installed alongside busybox without confusing +update-alternatives, the paths of the links installed by toybox should match +those installed by busybox. This is accomplished by changing the flags of a few +tools within toybox. + +v2: + - Forward ported from v0.4.9 to v0.5.0 + - Move new 'mount' command + +Signed-off-by: Paul Barker <paul@paulbarker.me.uk> + +Upstream-status: Inappropriate + (specific to update-alternatives use in OpenEmbedded) +--- + toys/lsb/mount.c | 2 +- + toys/lsb/pidof.c | 2 +- + toys/other/chvt.c | 2 +- + toys/other/ifconfig.c | 2 +- + toys/other/insmod.c | 2 +- + toys/other/lsmod.c | 2 +- + toys/other/netcat.c | 2 +- + toys/other/pivot_root.c | 2 +- + toys/other/readlink.c | 2 +- + toys/other/reboot.c | 6 +++--- + toys/other/rfkill.c | 2 +- + toys/other/rmmod.c | 2 +- + toys/other/swapoff.c | 2 +- + toys/other/swapon.c | 2 +- + toys/other/sysctl.c | 2 +- + toys/posix/cut.c | 2 +- + toys/posix/df.c | 2 +- + toys/posix/head.c | 2 +- + toys/posix/id.c | 6 +++--- + toys/posix/mkfifo.c | 2 +- + toys/posix/renice.c | 2 +- + toys/posix/tail.c | 2 +- + toys/posix/tee.c | 2 +- + toys/posix/uniq.c | 2 +- + toys/posix/who.c | 2 +- + 25 files changed, 29 insertions(+), 29 deletions(-) + +diff --git a/toys/lsb/mount.c b/toys/lsb/mount.c +index 01f5c32..65a5aa2 100644 +--- a/toys/lsb/mount.c ++++ b/toys/lsb/mount.c +@@ -6,7 +6,7 @@ + * Note: -hV is bad spec, haven't implemented -FsLU yet + * no mtab (/proc/mounts does it) so -n is NOP. + +-USE_MOUNT(NEWTOY(mount, "?O:afnrvwt:o*[-rw]", TOYFLAG_USR|TOYFLAG_BIN|TOYFLAG_STAYROOT)) ++USE_MOUNT(NEWTOY(mount, "?O:afnrvwt:o*[-rw]", TOYFLAG_BIN|TOYFLAG_STAYROOT)) + USE_NFSMOUNT(NEWTOY(nfsmount, "?<2>2", TOYFLAG_USR|TOYFLAG_BIN|TOYFLAG_STAYROOT)) + + config MOUNT +diff --git a/toys/lsb/pidof.c b/toys/lsb/pidof.c +index 51b742f..a8fc8ef 100644 +--- a/toys/lsb/pidof.c ++++ b/toys/lsb/pidof.c +@@ -5,7 +5,7 @@ + * + * http://refspecs.linuxfoundation.org/LSB_4.1.0/LSB-Core-generic/LSB-Core-generic/pidof.html + +-USE_PIDOF(NEWTOY(pidof, "<1so:", TOYFLAG_USR|TOYFLAG_BIN)) ++USE_PIDOF(NEWTOY(pidof, "<1so:", TOYFLAG_BIN)) + + config PIDOF + bool "pidof" +diff --git a/toys/other/chvt.c b/toys/other/chvt.c +index 6544265..a93327f 100644 +--- a/toys/other/chvt.c ++++ b/toys/other/chvt.c +@@ -2,7 +2,7 @@ + * + * Copyright (C) 2008 David Anders <danders@amltd.com> + +-USE_CHVT(NEWTOY(chvt, "<1", TOYFLAG_USR|TOYFLAG_SBIN)) ++USE_CHVT(NEWTOY(chvt, "<1", TOYFLAG_USR|TOYFLAG_BIN)) + + config CHVT + bool "chvt" +diff --git a/toys/other/ifconfig.c b/toys/other/ifconfig.c +index f5d4215..5e7c54c 100644 +--- a/toys/other/ifconfig.c ++++ b/toys/other/ifconfig.c +@@ -6,7 +6,7 @@ + * + * Not in SUSv4. + +-USE_IFCONFIG(NEWTOY(ifconfig, "?a", TOYFLAG_BIN)) ++USE_IFCONFIG(NEWTOY(ifconfig, "?a", TOYFLAG_SBIN)) + + config IFCONFIG + bool "ifconfig" +diff --git a/toys/other/insmod.c b/toys/other/insmod.c +index 8aa959a..75fd7cd 100644 +--- a/toys/other/insmod.c ++++ b/toys/other/insmod.c +@@ -2,7 +2,7 @@ + * + * Copyright 2012 Elie De Brauwer <eliedebrauwer@gmail.com> + +-USE_INSMOD(NEWTOY(insmod, "<1", TOYFLAG_BIN|TOYFLAG_NEEDROOT)) ++USE_INSMOD(NEWTOY(insmod, "<1", TOYFLAG_SBIN|TOYFLAG_NEEDROOT)) + + config INSMOD + bool "insmod" +diff --git a/toys/other/lsmod.c b/toys/other/lsmod.c +index b8f5d82..4d16048 100644 +--- a/toys/other/lsmod.c ++++ b/toys/other/lsmod.c +@@ -2,7 +2,7 @@ + * + * Copyright 2012 Elie De Brauwer <eliedebrauwer@gmail.com> + +-USE_LSMOD(NEWTOY(lsmod, NULL, TOYFLAG_BIN)) ++USE_LSMOD(NEWTOY(lsmod, NULL, TOYFLAG_SBIN)) + + config LSMOD + bool "lsmod" +diff --git a/toys/other/netcat.c b/toys/other/netcat.c +index 3c6f630..188c3d1 100644 +--- a/toys/other/netcat.c ++++ b/toys/other/netcat.c +@@ -4,7 +4,7 @@ + * + * TODO: udp, ipv6, genericize for telnet/microcom/tail-f + +-USE_NETCAT(OLDTOY(nc, netcat, USE_NETCAT_LISTEN("tl^L^")"w#p#s:q#f:", TOYFLAG_BIN)) ++USE_NETCAT(OLDTOY(nc, netcat, USE_NETCAT_LISTEN("tl^L^")"w#p#s:q#f:", TOYFLAG_USR|TOYFLAG_BIN)) + USE_NETCAT(NEWTOY(netcat, USE_NETCAT_LISTEN("tl^L^")"w#p#s:q#f:", TOYFLAG_BIN)) + + config NETCAT +diff --git a/toys/other/pivot_root.c b/toys/other/pivot_root.c +index 3e4beac..ce3d3a8 100644 +--- a/toys/other/pivot_root.c ++++ b/toys/other/pivot_root.c +@@ -2,7 +2,7 @@ + * + * Copyright 2012 Rob Landley <rob@landley.net> + +-USE_PIVOT_ROOT(NEWTOY(pivot_root, "<2>2", TOYFLAG_USR|TOYFLAG_BIN)) ++USE_PIVOT_ROOT(NEWTOY(pivot_root, "<2>2", TOYFLAG_SBIN)) + + config PIVOT_ROOT + bool "pivot_root" +diff --git a/toys/other/readlink.c b/toys/other/readlink.c +index 1c33362..fecd1ef 100644 +--- a/toys/other/readlink.c ++++ b/toys/other/readlink.c +@@ -2,7 +2,7 @@ + * + * Copyright 2007 Rob Landley <rob@landley.net> + +-USE_READLINK(NEWTOY(readlink, "<1>1fenq[-fe]", TOYFLAG_BIN)) ++USE_READLINK(NEWTOY(readlink, "<1>1fenq[-fe]", TOYFLAG_USR|TOYFLAG_BIN)) + + config READLINK + bool "readlink" +diff --git a/toys/other/reboot.c b/toys/other/reboot.c +index 5cbc4f8..f8baafc 100644 +--- a/toys/other/reboot.c ++++ b/toys/other/reboot.c +@@ -2,9 +2,9 @@ + * + * Copyright 2013 Elie De Brauwer <eliedebrauwer@gmail.com> + +-USE_REBOOT(NEWTOY(reboot, "n", TOYFLAG_BIN|TOYFLAG_NEEDROOT)) +-USE_REBOOT(OLDTOY(halt, reboot, "n", TOYFLAG_BIN|TOYFLAG_NEEDROOT)) +-USE_REBOOT(OLDTOY(poweroff, reboot, "n", TOYFLAG_BIN|TOYFLAG_NEEDROOT)) ++USE_REBOOT(NEWTOY(reboot, "n", TOYFLAG_SBIN|TOYFLAG_NEEDROOT)) ++USE_REBOOT(OLDTOY(halt, reboot, "n", TOYFLAG_SBIN|TOYFLAG_NEEDROOT)) ++USE_REBOOT(OLDTOY(poweroff, reboot, "n", TOYFLAG_SBIN|TOYFLAG_NEEDROOT)) + + config REBOOT + bool "reboot" +diff --git a/toys/other/rfkill.c b/toys/other/rfkill.c +index af3efe1..7527ec7 100644 +--- a/toys/other/rfkill.c ++++ b/toys/other/rfkill.c +@@ -5,7 +5,7 @@ + * + * No Standard + +-USE_RFKILL(NEWTOY(rfkill, "<1>2", TOYFLAG_SBIN)) ++USE_RFKILL(NEWTOY(rfkill, "<1>2", TOYFLAG_USR|TOYFLAG_SBIN)) + + config RFKILL + bool "rfkill" +diff --git a/toys/other/rmmod.c b/toys/other/rmmod.c +index b789acc..10c134c 100644 +--- a/toys/other/rmmod.c ++++ b/toys/other/rmmod.c +@@ -2,7 +2,7 @@ + * + * Copyright 2012 Elie De Brauwer <eliedebrauwer@gmail.com> + +-USE_RMMOD(NEWTOY(rmmod, "<1wf", TOYFLAG_BIN|TOYFLAG_NEEDROOT)) ++USE_RMMOD(NEWTOY(rmmod, "<1wf", TOYFLAG_SBIN|TOYFLAG_NEEDROOT)) + + config RMMOD + bool "rmmod" +diff --git a/toys/other/swapoff.c b/toys/other/swapoff.c +index b89e915..fb17130 100644 +--- a/toys/other/swapoff.c ++++ b/toys/other/swapoff.c +@@ -2,7 +2,7 @@ + * + * Copyright 2012 Elie De Brauwer <eliedebrauwer@gmail.com> + +-USE_SWAPOFF(NEWTOY(swapoff, "<1>1", TOYFLAG_BIN|TOYFLAG_NEEDROOT)) ++USE_SWAPOFF(NEWTOY(swapoff, "<1>1", TOYFLAG_SBIN|TOYFLAG_NEEDROOT)) + + config SWAPOFF + bool "swapoff" +diff --git a/toys/other/swapon.c b/toys/other/swapon.c +index 49f1249..838d382 100644 +--- a/toys/other/swapon.c ++++ b/toys/other/swapon.c +@@ -2,7 +2,7 @@ + * + * Copyright 2012 Elie De Brauwer <eliedebrauwer@gmail.com> + +-USE_SWAPON(NEWTOY(swapon, "<1>1p#<0>32767", TOYFLAG_BIN|TOYFLAG_NEEDROOT)) ++USE_SWAPON(NEWTOY(swapon, "<1>1p#<0>32767", TOYFLAG_SBIN|TOYFLAG_NEEDROOT)) + + config SWAPON + bool "swapon" +diff --git a/toys/other/sysctl.c b/toys/other/sysctl.c +index 8e57ca1..0c6c640 100644 +--- a/toys/other/sysctl.c ++++ b/toys/other/sysctl.c +@@ -5,7 +5,7 @@ + * + * No Standard + +-USE_SYSCTL(NEWTOY(sysctl, "^neNqwpaA[!ap][!aq][!aw][+aA]", TOYFLAG_USR|TOYFLAG_BIN)) ++USE_SYSCTL(NEWTOY(sysctl, "^neNqwpaA[!ap][!aq][!aw][+aA]", TOYFLAG_SBIN)) + + config SYSCTL + bool "sysctl" +diff --git a/toys/posix/cut.c b/toys/posix/cut.c +index 7f10c5e..1ab3ce8 100644 +--- a/toys/posix/cut.c ++++ b/toys/posix/cut.c +@@ -5,7 +5,7 @@ + * + * http://pubs.opengroup.org/onlinepubs/9699919799/utilities/cut.html + +-USE_CUT(NEWTOY(cut, "b:|c:|f:|d:sn[!cbf]", TOYFLAG_BIN)) ++USE_CUT(NEWTOY(cut, "b:|c:|f:|d:sn[!cbf]", TOYFLAG_USR|TOYFLAG_BIN)) + + config CUT + bool "cut" +diff --git a/toys/posix/df.c b/toys/posix/df.c +index afb296b..6296dc9 100644 +--- a/toys/posix/df.c ++++ b/toys/posix/df.c +@@ -4,7 +4,7 @@ + * + * See http://opengroup.org/onlinepubs/9699919799/utilities/df.html + +-USE_DF(NEWTOY(df, "Pkt*a", TOYFLAG_USR|TOYFLAG_SBIN)) ++USE_DF(NEWTOY(df, "Pkt*a", TOYFLAG_BIN)) + + config DF + bool "df" +diff --git a/toys/posix/head.c b/toys/posix/head.c +index e8517d4..3ac4373 100644 +--- a/toys/posix/head.c ++++ b/toys/posix/head.c +@@ -4,7 +4,7 @@ + * + * See http://opengroup.org/onlinepubs/9699919799/utilities/head.html + +-USE_HEAD(NEWTOY(head, "n#<0=10", TOYFLAG_BIN)) ++USE_HEAD(NEWTOY(head, "n#<0=10", TOYFLAG_USR|TOYFLAG_BIN)) + + config HEAD + bool "head" +diff --git a/toys/posix/id.c b/toys/posix/id.c +index b4d9c00..df79419 100644 +--- a/toys/posix/id.c ++++ b/toys/posix/id.c +@@ -6,10 +6,10 @@ + * + * See http://opengroup.org/onlinepubs/9699919799/utilities/id.html + +-USE_ID(NEWTOY(id, ">1nGgru[!Ggu]", TOYFLAG_BIN)) ++USE_ID(NEWTOY(id, ">1nGgru[!Ggu]", TOYFLAG_USR|TOYFLAG_BIN)) + USE_GROUPS(OLDTOY(groups, id, NULL, TOYFLAG_USR|TOYFLAG_BIN)) +-USE_LOGNAME(OLDTOY(logname, id, ">0", TOYFLAG_BIN)) +-USE_LOGNAME(OLDTOY(whoami, id, ">0", TOYFLAG_BIN)) ++USE_LOGNAME(OLDTOY(logname, id, ">0", TOYFLAG_USR|TOYFLAG_BIN)) ++USE_LOGNAME(OLDTOY(whoami, id, ">0", TOYFLAG_USR|TOYFLAG_BIN)) + + config ID + bool "id" +diff --git a/toys/posix/mkfifo.c b/toys/posix/mkfifo.c +index 15fab70..4e0fca3 100644 +--- a/toys/posix/mkfifo.c ++++ b/toys/posix/mkfifo.c +@@ -4,7 +4,7 @@ + * + * See http://opengroup.org/onlinepubs/9699919799/utilities/mkfifo.html + +-USE_MKFIFO(NEWTOY(mkfifo, "<1m:", TOYFLAG_BIN)) ++USE_MKFIFO(NEWTOY(mkfifo, "<1m:", TOYFLAG_USR|TOYFLAG_BIN)) + + config MKFIFO + bool "mkfifo" +diff --git a/toys/posix/renice.c b/toys/posix/renice.c +index 8c20644..489eb13 100644 +--- a/toys/posix/renice.c ++++ b/toys/posix/renice.c +@@ -4,7 +4,7 @@ + * + * See http://pubs.opengroup.org/onlinepubs/9699919799/utilities/renice.html + +-USE_RENICE(NEWTOY(renice, "<1gpun#|", TOYFLAG_BIN)) ++USE_RENICE(NEWTOY(renice, "<1gpun#|", TOYFLAG_USR|TOYFLAG_BIN)) + + config RENICE + bool "renice" +diff --git a/toys/posix/tail.c b/toys/posix/tail.c +index e1048be..ba0a55a 100644 +--- a/toys/posix/tail.c ++++ b/toys/posix/tail.c +@@ -4,7 +4,7 @@ + * + * See http://opengroup.org/onlinepubs/9699919799/utilities/tail.html + +-USE_TAIL(NEWTOY(tail, "fc-n-[-cn]", TOYFLAG_BIN)) ++USE_TAIL(NEWTOY(tail, "fc-n-[-cn]", TOYFLAG_USR|TOYFLAG_BIN)) + + config TAIL + bool "tail" +diff --git a/toys/posix/tee.c b/toys/posix/tee.c +index 0388510..5574088 100644 +--- a/toys/posix/tee.c ++++ b/toys/posix/tee.c +@@ -4,7 +4,7 @@ + * + * See http://opengroup.org/onlinepubs/9699919799/utilities/tee.html + +-USE_TEE(NEWTOY(tee, "ia", TOYFLAG_BIN)) ++USE_TEE(NEWTOY(tee, "ia", TOYFLAG_USR|TOYFLAG_BIN)) + + config TEE + bool "tee" +diff --git a/toys/posix/uniq.c b/toys/posix/uniq.c +index 3cfdb94..c127cfe 100644 +--- a/toys/posix/uniq.c ++++ b/toys/posix/uniq.c +@@ -4,7 +4,7 @@ + * + * See http://opengroup.org/onlinepubs/9699919799/utilities/uniq.html + +-USE_UNIQ(NEWTOY(uniq, "f#s#w#zicdu", TOYFLAG_BIN)) ++USE_UNIQ(NEWTOY(uniq, "f#s#w#zicdu", TOYFLAG_USR|TOYFLAG_BIN)) + + config UNIQ + bool "uniq" +diff --git a/toys/posix/who.c b/toys/posix/who.c +index 2c8a2e6..d5cd001 100644 +--- a/toys/posix/who.c ++++ b/toys/posix/who.c +@@ -9,7 +9,7 @@ + * Posix says to support many options (-abdHlmpqrstTu) but this + * isn't aimed at minicomputers with modem pools. + +-USE_WHO(NEWTOY(who, "a", TOYFLAG_BIN)) ++USE_WHO(NEWTOY(who, "a", TOYFLAG_USR|TOYFLAG_BIN)) + + config WHO + bool "who" +-- +2.1.2 + diff --git a/meta-oe/recipes-core/toybox/toybox_0.5.0.bb b/meta-oe/recipes-core/toybox/toybox_0.5.0.bb new file mode 100644 index 0000000000..9bdba4da5c --- /dev/null +++ b/meta-oe/recipes-core/toybox/toybox_0.5.0.bb @@ -0,0 +1,64 @@ +SUMMARY = "Toybox combines common utilities together into a single executable." +HOMEPAGE = "http://www.landley.net/toybox/" + +SRC_URI = "http://www.landley.net/toybox/downloads/${BPN}-${PV}.tar.bz2 \ + file://0001-Match-paths-with-busybox.patch" +SRC_URI[md5sum] = "2cb6e8b34134038d86048e117f77765f" +SRC_URI[sha256sum] = "2718b42154be041435df48d5b5140f4e307767c36b1017e0c8d0da7f75b327a7" + +LICENSE = "BSD-0-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=f0b8b3dd6431bcaa245da0a08bd0d511" + +SECTION = "base" + +do_configure() { + oe_runmake defconfig + + # Disable killall5 as it isn't managed by update-alternatives + sed -e 's/CONFIG_KILLALL5=y/# CONFIG_KILLALL5 is not set/' -i .config +} + +do_compile() { + oe_runmake toybox_unstripped + + # Create a list of links needed + oe_runmake generated/instlist + ./generated/instlist long | sed -e 's#^#/#' > toybox.links +} + +do_install() { + # Install manually instead of using 'make install' + install -d ${D}${base_bindir} + if grep -q "CONFIG_TOYBOX_SUID=y" ${B}/.config; then + install -m 4755 ${B}/toybox_unstripped ${D}${base_bindir}/toybox + else + install -m 0755 ${B}/toybox_unstripped ${D}${base_bindir}/toybox + fi + + install -d ${D}${sysconfdir} + install -m 0644 ${B}/toybox.links ${D}${sysconfdir} +} + +inherit update-alternatives + +# If you've chosen to install toybox you probably want it to take precedence +# over busybox where possible but not over other packages +ALTERNATIVE_PRIORITY = "60" + +python do_package_prepend () { + # Read links from /etc/toybox.links and create appropriate + # update-alternatives variables + + dvar = d.getVar('D', True) + pn = d.getVar('PN', True) + target = "/bin/toybox" + + f = open('%s/etc/toybox.links' % (dvar), 'r') + for alt_link_name in f: + alt_link_name = alt_link_name.strip() + alt_name = os.path.basename(alt_link_name) + d.appendVar('ALTERNATIVE_%s' % (pn), ' ' + alt_name) + d.setVarFlag('ALTERNATIVE_LINK_NAME', alt_name, alt_link_name) + d.setVarFlag('ALTERNATIVE_TARGET', alt_name, target) + f.close() +} diff --git a/meta-oe/recipes-core/usleep/files/GPLv2.patch b/meta-oe/recipes-core/usleep/files/GPLv2.patch new file mode 100644 index 0000000000..1ee8181f12 --- /dev/null +++ b/meta-oe/recipes-core/usleep/files/GPLv2.patch @@ -0,0 +1,347 @@ +Upstream-Status: Inappropriate [licensing] + +diff --git a/COPYING b/COPYING +new file mode 100644 +index 0000000..d511905 +--- /dev/null ++++ b/COPYING +@@ -0,0 +1,339 @@ ++ GNU GENERAL PUBLIC LICENSE ++ Version 2, June 1991 ++ ++ Copyright (C) 1989, 1991 Free Software Foundation, Inc., ++ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA ++ Everyone is permitted to copy and distribute verbatim copies ++ of this license document, but changing it is not allowed. ++ ++ Preamble ++ ++ The licenses for most software are designed to take away your ++freedom to share and change it. By contrast, the GNU General Public ++License is intended to guarantee your freedom to share and change free ++software--to make sure the software is free for all its users. This ++General Public License applies to most of the Free Software ++Foundation's software and to any other program whose authors commit to ++using it. (Some other Free Software Foundation software is covered by ++the GNU Lesser General Public License instead.) You can apply it to ++your programs, too. ++ ++ When we speak of free software, we are referring to freedom, not ++price. Our General Public Licenses are designed to make sure that you ++have the freedom to distribute copies of free software (and charge for ++this service if you wish), that you receive source code or can get it ++if you want it, that you can change the software or use pieces of it ++in new free programs; and that you know you can do these things. ++ ++ To protect your rights, we need to make restrictions that forbid ++anyone to deny you these rights or to ask you to surrender the rights. ++These restrictions translate to certain responsibilities for you if you ++distribute copies of the software, or if you modify it. ++ ++ For example, if you distribute copies of such a program, whether ++gratis or for a fee, you must give the recipients all the rights that ++you have. You must make sure that they, too, receive or can get the ++source code. And you must show them these terms so they know their ++rights. ++ ++ We protect your rights with two steps: (1) copyright the software, and ++(2) offer you this license which gives you legal permission to copy, ++distribute and/or modify the software. ++ ++ Also, for each author's protection and ours, we want to make certain ++that everyone understands that there is no warranty for this free ++software. If the software is modified by someone else and passed on, we ++want its recipients to know that what they have is not the original, so ++that any problems introduced by others will not reflect on the original ++authors' reputations. ++ ++ Finally, any free program is threatened constantly by software ++patents. We wish to avoid the danger that redistributors of a free ++program will individually obtain patent licenses, in effect making the ++program proprietary. To prevent this, we have made it clear that any ++patent must be licensed for everyone's free use or not licensed at all. ++ ++ The precise terms and conditions for copying, distribution and ++modification follow. ++ ++ GNU GENERAL PUBLIC LICENSE ++ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION ++ ++ 0. This License applies to any program or other work which contains ++a notice placed by the copyright holder saying it may be distributed ++under the terms of this General Public License. The "Program", below, ++refers to any such program or work, and a "work based on the Program" ++means either the Program or any derivative work under copyright law: ++that is to say, a work containing the Program or a portion of it, ++either verbatim or with modifications and/or translated into another ++language. (Hereinafter, translation is included without limitation in ++the term "modification".) Each licensee is addressed as "you". ++ ++Activities other than copying, distribution and modification are not ++covered by this License; they are outside its scope. The act of ++running the Program is not restricted, and the output from the Program ++is covered only if its contents constitute a work based on the ++Program (independent of having been made by running the Program). ++Whether that is true depends on what the Program does. ++ ++ 1. You may copy and distribute verbatim copies of the Program's ++source code as you receive it, in any medium, provided that you ++conspicuously and appropriately publish on each copy an appropriate ++copyright notice and disclaimer of warranty; keep intact all the ++notices that refer to this License and to the absence of any warranty; ++and give any other recipients of the Program a copy of this License ++along with the Program. ++ ++You may charge a fee for the physical act of transferring a copy, and ++you may at your option offer warranty protection in exchange for a fee. ++ ++ 2. You may modify your copy or copies of the Program or any portion ++of it, thus forming a work based on the Program, and copy and ++distribute such modifications or work under the terms of Section 1 ++above, provided that you also meet all of these conditions: ++ ++ a) You must cause the modified files to carry prominent notices ++ stating that you changed the files and the date of any change. ++ ++ b) You must cause any work that you distribute or publish, that in ++ whole or in part contains or is derived from the Program or any ++ part thereof, to be licensed as a whole at no charge to all third ++ parties under the terms of this License. ++ ++ c) If the modified program normally reads commands interactively ++ when run, you must cause it, when started running for such ++ interactive use in the most ordinary way, to print or display an ++ announcement including an appropriate copyright notice and a ++ notice that there is no warranty (or else, saying that you provide ++ a warranty) and that users may redistribute the program under ++ these conditions, and telling the user how to view a copy of this ++ License. (Exception: if the Program itself is interactive but ++ does not normally print such an announcement, your work based on ++ the Program is not required to print an announcement.) ++ ++These requirements apply to the modified work as a whole. If ++identifiable sections of that work are not derived from the Program, ++and can be reasonably considered independent and separate works in ++themselves, then this License, and its terms, do not apply to those ++sections when you distribute them as separate works. But when you ++distribute the same sections as part of a whole which is a work based ++on the Program, the distribution of the whole must be on the terms of ++this License, whose permissions for other licensees extend to the ++entire whole, and thus to each and every part regardless of who wrote it. ++ ++Thus, it is not the intent of this section to claim rights or contest ++your rights to work written entirely by you; rather, the intent is to ++exercise the right to control the distribution of derivative or ++collective works based on the Program. ++ ++In addition, mere aggregation of another work not based on the Program ++with the Program (or with a work based on the Program) on a volume of ++a storage or distribution medium does not bring the other work under ++the scope of this License. ++ ++ 3. You may copy and distribute the Program (or a work based on it, ++under Section 2) in object code or executable form under the terms of ++Sections 1 and 2 above provided that you also do one of the following: ++ ++ a) Accompany it with the complete corresponding machine-readable ++ source code, which must be distributed under the terms of Sections ++ 1 and 2 above on a medium customarily used for software interchange; or, ++ ++ b) Accompany it with a written offer, valid for at least three ++ years, to give any third party, for a charge no more than your ++ cost of physically performing source distribution, a complete ++ machine-readable copy of the corresponding source code, to be ++ distributed under the terms of Sections 1 and 2 above on a medium ++ customarily used for software interchange; or, ++ ++ c) Accompany it with the information you received as to the offer ++ to distribute corresponding source code. (This alternative is ++ allowed only for noncommercial distribution and only if you ++ received the program in object code or executable form with such ++ an offer, in accord with Subsection b above.) ++ ++The source code for a work means the preferred form of the work for ++making modifications to it. For an executable work, complete source ++code means all the source code for all modules it contains, plus any ++associated interface definition files, plus the scripts used to ++control compilation and installation of the executable. However, as a ++special exception, the source code distributed need not include ++anything that is normally distributed (in either source or binary ++form) with the major components (compiler, kernel, and so on) of the ++operating system on which the executable runs, unless that component ++itself accompanies the executable. ++ ++If distribution of executable or object code is made by offering ++access to copy from a designated place, then offering equivalent ++access to copy the source code from the same place counts as ++distribution of the source code, even though third parties are not ++compelled to copy the source along with the object code. ++ ++ 4. You may not copy, modify, sublicense, or distribute the Program ++except as expressly provided under this License. Any attempt ++otherwise to copy, modify, sublicense or distribute the Program is ++void, and will automatically terminate your rights under this License. ++However, parties who have received copies, or rights, from you under ++this License will not have their licenses terminated so long as such ++parties remain in full compliance. ++ ++ 5. You are not required to accept this License, since you have not ++signed it. However, nothing else grants you permission to modify or ++distribute the Program or its derivative works. These actions are ++prohibited by law if you do not accept this License. Therefore, by ++modifying or distributing the Program (or any work based on the ++Program), you indicate your acceptance of this License to do so, and ++all its terms and conditions for copying, distributing or modifying ++the Program or works based on it. ++ ++ 6. Each time you redistribute the Program (or any work based on the ++Program), the recipient automatically receives a license from the ++original licensor to copy, distribute or modify the Program subject to ++these terms and conditions. You may not impose any further ++restrictions on the recipients' exercise of the rights granted herein. ++You are not responsible for enforcing compliance by third parties to ++this License. ++ ++ 7. If, as a consequence of a court judgment or allegation of patent ++infringement or for any other reason (not limited to patent issues), ++conditions are imposed on you (whether by court order, agreement or ++otherwise) that contradict the conditions of this License, they do not ++excuse you from the conditions of this License. If you cannot ++distribute so as to satisfy simultaneously your obligations under this ++License and any other pertinent obligations, then as a consequence you ++may not distribute the Program at all. For example, if a patent ++license would not permit royalty-free redistribution of the Program by ++all those who receive copies directly or indirectly through you, then ++the only way you could satisfy both it and this License would be to ++refrain entirely from distribution of the Program. ++ ++If any portion of this section is held invalid or unenforceable under ++any particular circumstance, the balance of the section is intended to ++apply and the section as a whole is intended to apply in other ++circumstances. ++ ++It is not the purpose of this section to induce you to infringe any ++patents or other property right claims or to contest validity of any ++such claims; this section has the sole purpose of protecting the ++integrity of the free software distribution system, which is ++implemented by public license practices. Many people have made ++generous contributions to the wide range of software distributed ++through that system in reliance on consistent application of that ++system; it is up to the author/donor to decide if he or she is willing ++to distribute software through any other system and a licensee cannot ++impose that choice. ++ ++This section is intended to make thoroughly clear what is believed to ++be a consequence of the rest of this License. ++ ++ 8. If the distribution and/or use of the Program is restricted in ++certain countries either by patents or by copyrighted interfaces, the ++original copyright holder who places the Program under this License ++may add an explicit geographical distribution limitation excluding ++those countries, so that distribution is permitted only in or among ++countries not thus excluded. In such case, this License incorporates ++the limitation as if written in the body of this License. ++ ++ 9. The Free Software Foundation may publish revised and/or new versions ++of the General Public License from time to time. Such new versions will ++be similar in spirit to the present version, but may differ in detail to ++address new problems or concerns. ++ ++Each version is given a distinguishing version number. If the Program ++specifies a version number of this License which applies to it and "any ++later version", you have the option of following the terms and conditions ++either of that version or of any later version published by the Free ++Software Foundation. If the Program does not specify a version number of ++this License, you may choose any version ever published by the Free Software ++Foundation. ++ ++ 10. If you wish to incorporate parts of the Program into other free ++programs whose distribution conditions are different, write to the author ++to ask for permission. For software which is copyrighted by the Free ++Software Foundation, write to the Free Software Foundation; we sometimes ++make exceptions for this. Our decision will be guided by the two goals ++of preserving the free status of all derivatives of our free software and ++of promoting the sharing and reuse of software generally. ++ ++ NO WARRANTY ++ ++ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY ++FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN ++OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES ++PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED ++OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF ++MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS ++TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE ++PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, ++REPAIR OR CORRECTION. ++ ++ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING ++WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR ++REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, ++INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING ++OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED ++TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY ++YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER ++PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE ++POSSIBILITY OF SUCH DAMAGES. ++ ++ END OF TERMS AND CONDITIONS ++ ++ How to Apply These Terms to Your New Programs ++ ++ 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. ++ ++ 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. diff --git a/meta-oe/recipes-core/usleep/files/usleep.1 b/meta-oe/recipes-core/usleep/files/usleep.1 new file mode 100644 index 0000000000..2d7520f779 --- /dev/null +++ b/meta-oe/recipes-core/usleep/files/usleep.1 @@ -0,0 +1,25 @@ +.TH USLEEP 1 "Red Hat, Inc" \" -*- nroff -*- +.SH NAME +usleep \- sleep some number of microseconds +.SH SYNOPSIS +.B usleep +[\fInumber\fP] +.SH DESCRIPTION +.B usleep +sleeps some number of microseconds. The default is 1. +.SH OPTIONS +\fI--usage\fP +Show short usage message. +.TP +\fI--help, -?\fP +Print help information. +.TP +\fI-v, --version\fP +Print version information. +.SH BUGS +Probably not accurate on many machines down to the microsecond. Count +on precision only to -4 or maybe -5. +.SH AUTHOR +Donald Barnes <djb@redhat.com> +.br +Erik Troan <ewt@redhat.com> diff --git a/meta-oe/recipes-core/usleep/files/usleep.c b/meta-oe/recipes-core/usleep/files/usleep.c new file mode 100644 index 0000000000..a5e7d9d715 --- /dev/null +++ b/meta-oe/recipes-core/usleep/files/usleep.c @@ -0,0 +1,82 @@ +/* + * usleep + * + * Written by Donald Barnes <djb@redhat.com> for Red Hat, Inc. + * + * Copyright (c) 1997-2003 Red Hat, Inc. 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. + * + */ + + +#include <unistd.h> +#include <stdlib.h> +#include <string.h> +#include <stdio.h> + +#include "popt.h" + +int main(int argc, char **argv) { + unsigned long count; + poptContext optCon; + int showVersion = 0; + int showOot = 0; + int rc; + char * countStr = NULL; + struct poptOption options[] = { + { "version", 'v', POPT_ARG_NONE, &showVersion, 0, + "Display the version of this program, and exit" }, + { "oot", 'o', POPT_ARG_NONE, &showOot, 0, + "oot says hey!" }, + POPT_AUTOHELP + { 0, 0, 0, 0, 0 } + }; + + optCon = poptGetContext("usleep", argc, argv, options,0); + /*poptReadDefaultConfig(optCon, 1);*/ + poptSetOtherOptionHelp(optCon, "[microseconds]"); + + if ((rc = poptGetNextOpt(optCon)) < -1) { + fprintf(stderr, "usleep: bad argument %s: %s\n", + poptBadOption(optCon, POPT_BADOPTION_NOALIAS), + poptStrerror(rc)); + return 2; + } + + if (showVersion) { + printf("usleep version 1.2\n usleep --help for more info\n"); + return 0; + } + + if (showOot) { + printf("oot says hey!\n"); + return 0; + } + + countStr = poptGetArg(optCon); + + if (countStr == NULL) count = 1; + + else if (countStr && poptGetArg(optCon)) { + fprintf(stderr, "%s: exactly one argument (number of microseconds) " + "must be used\n", argv[0]); + return 2; + } + + else count = strtoul(countStr, NULL, 0); + + usleep(count); + return 0; +} diff --git a/meta-oe/recipes-core/usleep/usleep_1.0.bb b/meta-oe/recipes-core/usleep/usleep_1.0.bb new file mode 100644 index 0000000000..2ef4b7c024 --- /dev/null +++ b/meta-oe/recipes-core/usleep/usleep_1.0.bb @@ -0,0 +1,26 @@ +SUMMARY = "A user tool to support sleeping some number of microseconds" +SECTION = "base" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" + +PR = "r0" + +S = "${WORKDIR}" +DEPENDS = "popt" + +SRC_URI = "file://usleep.c \ + file://usleep.1 \ + file://GPLv2.patch \ +" + +do_compile() { + ${CC} ${CFLAGS} ${LDFLAGS} usleep.c -o usleep -lpopt +} + +do_install() { + install -d ${D}${base_bindir} + install -d ${D}${mandir}/man1 + + install -m 0755 ${WORKDIR}/usleep ${D}${base_bindir} + install -m 0644 ${WORKDIR}/usleep.1 ${D}${mandir}/man1 +} diff --git a/meta-oe/recipes-devtools/cgdb/cgdb/configfix.patch b/meta-oe/recipes-devtools/cgdb/cgdb/configfix.patch new file mode 100644 index 0000000000..25b13862bd --- /dev/null +++ b/meta-oe/recipes-devtools/cgdb/cgdb/configfix.patch @@ -0,0 +1,40 @@ +diff -rupN cgdb-0.6.7-OLD/configure.in cgdb-0.6.7/configure.in +--- cgdb-0.6.7-OLD/configure.in 2013-01-14 05:31:53.000000000 -0600 ++++ cgdb-0.6.7/configure.in 2014-05-08 13:18:13.864632180 -0500 +@@ -65,8 +65,9 @@ AC_CHECK_HEADERS([getopt.h], + [AC_DEFINE(HAVE_GETOPT_H, 1, have getopt_long)]) + + dnl determine if /dev/ptmx is available for pseudo terminals +-AC_CHECK_FILE([/dev/ptmx], +- [AC_DEFINE(HAVE_DEV_PTMX, 1, have /dev/ptmx)]) ++dnl AC_CHECK_FILE([/dev/ptmx], ++dnl [AC_DEFINE(HAVE_DEV_PTMX, 1, have /dev/ptmx)]) ++AC_DEFINE(HAVE_DEV_PTMX, 1, have /dev/ptmx) + + dnl Checks for typedefs, structures, and compiler characteristics. + AC_C_CONST +@@ -167,15 +168,15 @@ fi + + dnl Make sure there is a version of readline that CGDB supports. + dnl Simply putting 5.1* -> 5.9* just to take into accout future versions. +-RL_LIB_READLINE_VERSION +-case "$ac_cv_rl_version" in +-5.1*|5.2*|5.3*|5.4*|5.5*|5.6*|5.7*|5.8*|5.9*|6*|7*|8*|9*) ;; +-*) AC_MSG_ERROR([CGDB requires GNU readline 5.1 or greater to link. +- If you used --with-readline instead of using the system readline library, +- make sure to set the correct readline library on the linker search path +- via LD_LIBRARY_PATH or some other facility.]) +- ;; +-esac ++dnl RL_LIB_READLINE_VERSION ++dnl case "$ac_cv_rl_version" in ++dnl 5.1*|5.2*|5.3*|5.4*|5.5*|5.6*|5.7*|5.8*|5.9*|6*|7*|8*|9*) ;; ++dnl *) AC_MSG_ERROR([CGDB requires GNU readline 5.1 or greater to link. ++dnl If you used --with-readline instead of using the system readline library, ++dnl make sure to set the correct readline library on the linker search path ++dnl via LD_LIBRARY_PATH or some other facility.]) ++dnl ;; ++dnl esac + + dnl This will DEFINE the readline headers. + RL_LIB_READLINE_INCLUDES diff --git a/meta-oe/recipes-devtools/cgdb/cgdb_0.6.7.bb b/meta-oe/recipes-devtools/cgdb/cgdb_0.6.7.bb new file mode 100644 index 0000000000..26b2782f0a --- /dev/null +++ b/meta-oe/recipes-devtools/cgdb/cgdb_0.6.7.bb @@ -0,0 +1,16 @@ +SUMMARY = "curses-based interface to gdb" +HOMEPAGE = "http://cgdb.github.io/" +SECTION = "devel" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" +DEPENDS = "readline ncurses gdb" + +SRC_URI = "http://cgdb.me/files/cgdb-${PV}.tar.gz \ + file://configfix.patch" +SRC_URI[md5sum] = "e2d9a973d2683faf8130a82703bf6a31" +SRC_URI[sha256sum] = "074ed31d1e827a04574add8c27d391447d75313e85ff938005d8ec939499fda9" + +EXTRA_OECONF = "--with-readline=${STAGING_LIBDIR} --with-ncurses=${STAGING_LIBDIR}" + +inherit autotools + diff --git a/meta-oe/recipes-devtools/cloud9/cloud9/index.js b/meta-oe/recipes-devtools/cloud9/cloud9/index.js index e40dd6dc26..88c9a19f0e 100644 --- a/meta-oe/recipes-devtools/cloud9/cloud9/index.js +++ b/meta-oe/recipes-devtools/cloud9/cloud9/index.js @@ -1,2 +1,2 @@ var o3 = require('./o3.js') -module.exports = o3.xml;
\ No newline at end of file +module.exports = o3.xml; diff --git a/meta-oe/recipes-devtools/concurrencykit/concurrencykit_git.bb b/meta-oe/recipes-devtools/concurrencykit/concurrencykit_git.bb index fe57d9e4b6..eebccf01be 100644 --- a/meta-oe/recipes-devtools/concurrencykit/concurrencykit_git.bb +++ b/meta-oe/recipes-devtools/concurrencykit/concurrencykit_git.bb @@ -7,9 +7,10 @@ LICENSE = "BSD & Apache-2.0" HOMEPAGE = "http://concurrencykit.org" SECTION = "base" +PV = "0.4.3+git${SRCPV}" SRCREV = "900d203aa9e41288545368ea40da0bee89f7907f" LIC_FILES_CHKSUM = "file://LICENSE;md5=f12611e65e064515ce264249b2bdea98" -SRC_URI = "git://git.concurrencykit.org/ck.git \ +SRC_URI = "git://github.com/concurrencykit/ck.git;protocol=https \ file://cross.patch \ " @@ -17,7 +18,7 @@ S = "${WORKDIR}/git" COMPATIBLE_HOST = "(i.86|x86_64|powerpc|powerpc64).*-linux*" -inherit autotools +inherit autotools-brokensep PLAT_powerpc64 = "ppc64" PLAT ?= "${HOST_ARCH}" diff --git a/meta-oe/recipes-devtools/dejagnu/dejagnu/configure.patch b/meta-oe/recipes-devtools/dejagnu/dejagnu/configure.patch new file mode 100644 index 0000000000..2eb8af7130 --- /dev/null +++ b/meta-oe/recipes-devtools/dejagnu/dejagnu/configure.patch @@ -0,0 +1,45 @@ +Index: dejagnu-1.4.4/configure.in +=================================================================== +--- dejagnu-1.4.4.orig/configure.in 2014-07-18 07:05:49.997481207 +0000 ++++ dejagnu-1.4.4/configure.in 2014-07-18 07:05:50.085481210 +0000 +@@ -1,10 +1,10 @@ + dnl Process this file with autoconf to produce a configure script. + AC_PREREQ(2.13) +-AC_INIT(runtest.exp) ++AC_INIT(dejagnu, 1.4.4) + dnl AC_CONFIG_AUX_DIR(..) + + dnl These are required by automake +-AM_INIT_AUTOMAKE(dejagnu, 1.4.4) ++AM_INIT_AUTOMAKE([foreign]) + AM_MAINTAINER_MODE + AC_PROG_MAKE_SET + +Index: dejagnu-1.4.4/example/calc/configure.in +=================================================================== +--- dejagnu-1.4.4.orig/example/calc/configure.in 2002-04-26 03:32:40.000000000 +0000 ++++ dejagnu-1.4.4/example/calc/configure.in 2014-07-18 07:11:59.085491266 +0000 +@@ -1,8 +1,8 @@ + dnl Process this file with autoconf to produce a configure script. + AC_PREREQ(2.5) +-AC_INIT(calc.c) ++AC_INIT(calc, 1.1) + AM_CONFIG_HEADER(calc.h) +-AM_INIT_AUTOMAKE(calc, 1.1) ++AM_INIT_AUTOMAKE([foreign]) + + AC_PROG_CC + AC_PROG_INSTALL +Index: dejagnu-1.4.4/example/hello/configure.in +=================================================================== +--- dejagnu-1.4.4.orig/example/hello/configure.in 2002-08-31 05:46:16.000000000 +0000 ++++ dejagnu-1.4.4/example/hello/configure.in 2014-07-18 07:12:23.721491937 +0000 +@@ -25,7 +25,7 @@ + # ------------------------------------------------------------------------ + + AC_INIT(helloworld, demo-version, philip.wilsey@ieee.org) +-AM_INIT_AUTOMAKE(helloworld, demo-version) ++AM_INIT_AUTOMAKE([foreign]) + + #AC_CONFIG_SRCDIR([hello.cc]) + #AC_CONFIG_HEADER([config.h]) diff --git a/meta-oe/recipes-devtools/dejagnu/dejagnu_1.4.4.bb b/meta-oe/recipes-devtools/dejagnu/dejagnu_1.4.4.bb index f5fe9b9f22..63726b2328 100644 --- a/meta-oe/recipes-devtools/dejagnu/dejagnu_1.4.4.bb +++ b/meta-oe/recipes-devtools/dejagnu/dejagnu_1.4.4.bb @@ -5,7 +5,8 @@ SECTION = "devel" inherit autotools -SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.gz" +SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.gz \ + file://configure.patch" SRC_URI[md5sum] = "053f18fd5d00873de365413cab17a666" SRC_URI[sha256sum] = "d0fbedef20fb0843318d60551023631176b27ceb1e11de7468a971770d0e048d" diff --git a/meta-oe/recipes-devtools/geany/geany_1.23.bb b/meta-oe/recipes-devtools/geany/geany_1.24.1.bb index 4e0d4bf8c6..f765e2c8d2 100644 --- a/meta-oe/recipes-devtools/geany/geany_1.23.bb +++ b/meta-oe/recipes-devtools/geany/geany_1.24.1.bb @@ -7,10 +7,10 @@ DEPENDS = "gtk+" inherit autotools pkgconfig perlnative SRC_URI = " \ - http://download.geany.org/${PN}-${PV}.tar.bz2 \ + http://download.geany.org/${BP}.tar.bz2 \ file://0001-configure.ac-remove-additional-c-test.patch \ " -SRC_URI[md5sum] = "4290e8c32305e916f57bb0f0233bbec2" -SRC_URI[sha256sum] = "cdd4a772694803c837ae59e56f7bdc2faba174509317211f522e7d25dfcbe8b0" +SRC_URI[md5sum] = "d225104cef3973164d70116d46239606" +SRC_URI[sha256sum] = "7fb505d9b01fe6874890525f837644a6a38c23a372bb068c65ef3673108a8c33" FILES_${PN} += "${datadir}/icons" diff --git a/meta-oe/recipes-devtools/glade/glade3_3.8.2.bb b/meta-oe/recipes-devtools/glade/glade3_3.8.5.bb index eec40e401f..4e7ef9b5ca 100644 --- a/meta-oe/recipes-devtools/glade/glade3_3.8.2.bb +++ b/meta-oe/recipes-devtools/glade/glade3_3.8.5.bb @@ -2,20 +2,22 @@ SUMMARY = "Glade - A User Interface Designer" HOMEPAGE = "http://www.gnu.org/software/gnash" LICENSE = "GPLv2 & LGPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=aabe87591cb8ae0f3c68be6977bb5522 \ - file://COPYING.LGPL;md5=3bf50002aefd002f49e7bb854063f7e7" -DEPENDS = "gtk+ gnome-doc-utils-native" - -PR = "r1" + file://COPYING.GPL;md5=9ac2e7cff1ddaf48b6eab6028f23ef88 \ + file://COPYING.LGPL;md5=252890d9eee26aab7b432e8b8a616475" +DEPENDS = "gtk+ gnome-doc-utils-native gnome-common libxml2" inherit autotools pkgconfig pythonnative SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/glade3/3.8/glade3-${PV}.tar.xz \ file://0001-gnome-doc-utils.make-sysrooted-pkg-config.patch" -SRC_URI[md5sum] = "b5da0ce717b2dc710e93a10b97c0f9ce" -SRC_URI[sha256sum] = "f180a5018eee6e3fe574854cb025af897dd9962b01d17d5752e626876d388b19" +SRC_URI[md5sum] = "4e4b4f5ee34a03e017e4cef97d796c1f" +SRC_URI[sha256sum] = "58a5f6e4df4028230ddecc74c564808b7ec4471b1925058e29304f778b6b2735" EXTRA_OECONF += "--disable-scrollkeeper" +PACKAGECONFIG ??= "" +PACKAGECONFIG[gnome] = "--enable-gnome,--disable-gnome,libbonoboui libgnomeui" + do_configure_prepend() { sed -i '/^if HAVE_GNOME_DOC_UTILS/,/^endif/d' ${S}/Makefile.am } diff --git a/meta-oe/recipes-devtools/icon-slicer/icon-slicer_0.3.bb b/meta-oe/recipes-devtools/icon-slicer/icon-slicer_0.3.bb index d6cfd35629..9768a6e716 100644 --- a/meta-oe/recipes-devtools/icon-slicer/icon-slicer_0.3.bb +++ b/meta-oe/recipes-devtools/icon-slicer/icon-slicer_0.3.bb @@ -8,6 +8,6 @@ SRC_URI = "http://freedesktop.org/software/${BPN}/releases/${BPN}-${PV}.tar.gz \ SRC_URI[md5sum] = "5c5374d4f265b0abe4daef1d03f87104" SRC_URI[sha256sum] = "05f0216dd0c25a17859de66357f64da5033375b6fbf5f31ca54867311160b64d" -inherit autotools +inherit autotools pkgconfig BBCLASSEXTEND = "native" diff --git a/meta-oe/recipes-devtools/jq/files/automake-once-fix.patch b/meta-oe/recipes-devtools/jq/files/automake-once-fix.patch deleted file mode 100644 index 0a1d1a2222..0000000000 --- a/meta-oe/recipes-devtools/jq/files/automake-once-fix.patch +++ /dev/null @@ -1,29 +0,0 @@ -Upstream-Status: Applied -https://github.com/stedolan/jq/commit/f0d1c39b5bbb4ccc517773eb635ba7f38ec7da1a - -Fixes build with automake-1.14 - -diff --git a/configure.ac b/configure.ac -index 76a49a9..d6d2d38 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -4,7 +4,7 @@ AC_INIT([jq], [1.3], [mu@netsoc.tcd.ie], - dnl Created autoconf implementation thompson@dtosolutions, 26NOV12 - AC_PREREQ([2.61]) - AC_CONFIG_AUX_DIR([config]) --AM_INIT_AUTOMAKE([parallel-tests foreign]) -+AM_INIT_AUTOMAKE([parallel-tests foreign -Wall]) - AM_SILENT_RULES([yes]) - AC_PROG_CC - AC_PROG_CC_STDC -@@ -66,7 +66,6 @@ AC_SUBST([BUNDLER], ["$bundle_cmd"]) - - dnl AC_CONFIG_MACRO_DIR([m4]) - AC_CONFIG_HEADERS(config.h) --AM_INIT_AUTOMAKE([-Wall]) - AC_CONFIG_FILES([Makefile]) - AC_OUTPUT - --- -1.8.5.4 - diff --git a/meta-oe/recipes-devtools/jq/jq_1.3.bb b/meta-oe/recipes-devtools/jq/jq_1.4.bb index c58b472801..6e50803a37 100644 --- a/meta-oe/recipes-devtools/jq/jq_1.3.bb +++ b/meta-oe/recipes-devtools/jq/jq_1.4.bb @@ -12,10 +12,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=244a1fb9cf472474a062d67069dec653" DEPENDS = "flex-native bison-native" SRC_URI = "http://stedolan.github.io/${BPN}/download/source/${BP}.tar.gz \ - file://automake-once-fix.patch \ " -SRC_URI[md5sum] = "26081b05d22525eca5cbdd8f9f4db17d" -SRC_URI[sha256sum] = "623f23c36abfc1d96d85020cf421b56f90a229d566f26a4a0d3e8536244bfed7" +SRC_URI[md5sum] = "e3c75a4f805bb5342c9f4b3603fb248f" +SRC_URI[sha256sum] = "998c41babeb57b4304e65b4eb73094279b3ab1e63801b6b4bddd487ce009b39d" inherit autotools diff --git a/meta-oe/recipes-devtools/libgee/libgee.inc b/meta-oe/recipes-devtools/libgee/libgee.inc index c681285440..fcfd0776e9 100644 --- a/meta-oe/recipes-devtools/libgee/libgee.inc +++ b/meta-oe/recipes-devtools/libgee/libgee.inc @@ -9,7 +9,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24" INC_PR = "r6" PE = "1" -inherit autotools vala +inherit autotools vala pkgconfig do_configure_prepend() { MACROS="libtool.m4 lt~obsolete.m4 ltoptions.m4 ltsugar.m4 ltversion.m4" for i in ${MACROS}; do diff --git a/meta-oe/recipes-devtools/log4cplus/log4cplus_1.1.1.bb b/meta-oe/recipes-devtools/log4cplus/log4cplus_1.1.1.bb index 6201774721..c9c5c673ae 100644 --- a/meta-oe/recipes-devtools/log4cplus/log4cplus_1.1.1.bb +++ b/meta-oe/recipes-devtools/log4cplus/log4cplus_1.1.1.bb @@ -3,7 +3,7 @@ SECTION = "libs" HOMEPAGE = "http://sourceforge.net/projects/log4cplus/" BUGTRACKER = "http://sourceforge.net/p/log4cplus/bugs/" -LICENSE = "Apache-2.0 BSD-2-Clause" +LICENSE = "Apache-2.0 & BSD-2-Clause" LIC_FILES_CHKSUM = "file://LICENSE;md5=65053a46f707ee2b93f09ad22f692170" SRC_URI = "${SOURCEFORGE_MIRROR}/project/${BPN}/${BPN}-stable/${PV}/${BP}.tar.gz" diff --git a/meta-oe/recipes-devtools/ltp-ddt/ltp-ddt/0001-KERNEL_INC-in-modern-kernel-should-point-at-toplevel.patch b/meta-oe/recipes-devtools/ltp-ddt/ltp-ddt/0001-KERNEL_INC-in-modern-kernel-should-point-at-toplevel.patch deleted file mode 100644 index 0b4ee64551..0000000000 --- a/meta-oe/recipes-devtools/ltp-ddt/ltp-ddt/0001-KERNEL_INC-in-modern-kernel-should-point-at-toplevel.patch +++ /dev/null @@ -1,40 +0,0 @@ -From e0fc5bea466c16b9d754a8ac8d0453e396678a2c Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Wed, 19 Feb 2014 20:28:07 -0800 -Subject: [PATCH] KERNEL_INC in modern kernel should point at toplevel - kerneldir - -Reason is kernel headers are not only in toplevel -include/ but also in toplevel arch/ dir - -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - Makefile | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/Makefile b/Makefile -index 031d8bc..73e9b3c 100644 ---- a/Makefile -+++ b/Makefile -@@ -245,15 +245,15 @@ endif - - modules_edma: - @echo "Going to compile edma test kernel modules for $(PLATFORM)" -- cd testcases/ddt/edma_test_suite/src/kernel; make CROSS_COMPILE=$(CROSS_COMPILE) KERNEL_DIR=$(KERNEL_INC)/.. PLATFORM=$(PLATFORM) -+ cd testcases/ddt/edma_test_suite/src/kernel; make CROSS_COMPILE=$(CROSS_COMPILE) KERNEL_DIR=$(KERNEL_INC) PLATFORM=$(PLATFORM) - - modules_gpio: - @echo "Going to compile gpio test kernel modules for $(PLATFORM)" -- cd testcases/ddt/gpio_test_suite/src/kernel; make CROSS_COMPILE=$(CROSS_COMPILE) KERNEL_DIR=$(KERNEL_INC)/.. PLATFORM=$(PLATFORM) -+ cd testcases/ddt/gpio_test_suite/src/kernel; make CROSS_COMPILE=$(CROSS_COMPILE) KERNEL_DIR=$(KERNEL_INC) PLATFORM=$(PLATFORM) - - modules_ipc: - @echo "Going to compile IPC test kernel modules for $(PLATFORM)" -- cd testcases/ddt/ipc_test_suite/src/kernel; make CROSS_COMPILE=$(CROSS_COMPILE) KERNEL_DIR=$(KERNEL_INC)/.. PLATFORM=$(PLATFORM) -+ cd testcases/ddt/ipc_test_suite/src/kernel; make CROSS_COMPILE=$(CROSS_COMPILE) KERNEL_DIR=$(KERNEL_INC) PLATFORM=$(PLATFORM) - - modules: $(MODULES_TO_BUILD) - --- -1.9.0 - diff --git a/meta-oe/recipes-devtools/ltp-ddt/ltp-ddt_0.0.4.bb b/meta-oe/recipes-devtools/ltp-ddt/ltp-ddt_0.0.5.bb index a70d5b9753..db62ac63a5 100644 --- a/meta-oe/recipes-devtools/ltp-ddt/ltp-ddt_0.0.4.bb +++ b/meta-oe/recipes-devtools/ltp-ddt/ltp-ddt_0.0.5.bb @@ -3,21 +3,21 @@ HOMEPAGE = "http://arago-project.org/git/projects/test-automation/ltp-ddt.git" SECTION = "console/utils" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3" -PR = "r1" PROVIDES += "ltp" DEPENDS += "zip-native virtual/kernel alsa-lib" -inherit autotools module-base kernel-module-split +RDEPENDS_${PN} += "pm-qa" + +inherit autotools-brokensep module-base kernel-module-split PACKAGE_ARCH = "${MACHINE_ARCH}" -SRCREV = "4f77e2e33357d2b23211ecd22f27f521aa01469a" +SRCREV = "903f70a11eb77cbad62d7ecbe7dcbaf61be8ff99" BRANCH ?= "master" SRC_URI = "git://arago-project.org/git/projects/test-automation/ltp-ddt.git;branch=${BRANCH} \ file://0001-wdt_test_suite-Make-sure-to-include-generated-header.patch \ - file://0001-KERNEL_INC-in-modern-kernel-should-point-at-toplevel.patch \ " S = "${WORKDIR}/git" @@ -28,12 +28,16 @@ EXTRA_OEMAKE_append = " \ prefix=${LTPROOT} \ CROSS_COMPILE=${HOST_PREFIX} \ SKIP_IDCHECK=1 \ + KERNEL_PATH=${STAGING_KERNEL_DIR} \ KERNEL_INC=${STAGING_KERNEL_DIR} \ KERNEL_USR_INC=${STAGING_INCDIR} \ ALSA_INCPATH=${STAGING_INCDIR} \ ALSA_LIBPATH=${STAGING_LIBDIR} \ PLATFORM=${MACHINE} \ RANLIB=${RANLIB} \ + DESTDIR=${D} \ + CC='${CC}' \ + KERNEL_CC='${KERNEL_CC}' \ " TARGET_CC_ARCH += "${LDFLAGS}" @@ -64,14 +68,19 @@ do_configure() { kmoddir = "/lib/modules/${KERNEL_VERSION}/kernel/drivers/ddt" do_compile_append () { - oe_runmake DESTDIR=${D} modules + oe_runmake modules } do_install() { - oe_runmake DESTDIR=${D} install + oe_runmake install install -d ${D}${datadir} install -d ${D}${kmoddir} cp -a ${D}${LTPROOT}/share/* ${D}${datadir} rm -rf ${D}${LTPROOT}/share/ mv ${D}${LTPROOT}/testcases/bin/ddt/*.ko ${D}${kmoddir} } + +# do_make_scripts should be a separate task for the lock to work +addtask make_scripts before do_compile +do_make_scripts[lockfiles] = "${TMPDIR}/kernel-scripts.lock" +do_make_scripts[deptask] = "do_populate_sysroot" diff --git a/meta-oe/recipes-devtools/ltrace/ltrace/configure-allow-to-disable-selinux-support.patch b/meta-oe/recipes-devtools/ltrace/ltrace/configure-allow-to-disable-selinux-support.patch new file mode 100644 index 0000000000..4f89d8f2e6 --- /dev/null +++ b/meta-oe/recipes-devtools/ltrace/ltrace/configure-allow-to-disable-selinux-support.patch @@ -0,0 +1,36 @@ +From 887a403e38f590ebf1d04ce600d94cb7a351744c Mon Sep 17 00:00:00 2001 +From: Wenzong Fan <wenzong.fan@windriver.com> +Date: Mon, 1 Dec 2014 00:57:42 -0500 +Subject: [PATCH] ltrace: allow to enable/disable selinux support + +Upstream-Status: Pending + +Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com> +--- + configure.ac | 10 ++++++++-- + 1 file changed, 8 insertions(+), 2 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 6fe5e3b..189885a 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -125,8 +125,14 @@ AC_SUBST(libstdcxx_LIBS) + + + dnl Check security_get_boolean_active availability. +-AC_CHECK_HEADERS(selinux/selinux.h) +-AC_CHECK_LIB(selinux, security_get_boolean_active) ++AC_ARG_ENABLE([selinux], ++ AS_HELP_STRING([--enable-selinux],[enable SELinux support [default=auto]]), ++ [], [enable_selinux=auto]) ++ ++if test x$enable_selinux != xno; then ++ AC_CHECK_HEADERS(selinux/selinux.h) ++ AC_CHECK_LIB(selinux, security_get_boolean_active) ++fi + + dnl Whether (and which) elfutils libdw.so to use for unwinding. + AC_ARG_WITH(elfutils, +-- +1.7.9.5 + diff --git a/meta-oe/recipes-devtools/ltrace/ltrace-git/ltrace-0.7.2-unused-typedef.patch b/meta-oe/recipes-devtools/ltrace/ltrace/ltrace-0.7.2-unused-typedef.patch index 8f3c0ecea1..8f3c0ecea1 100644 --- a/meta-oe/recipes-devtools/ltrace/ltrace-git/ltrace-0.7.2-unused-typedef.patch +++ b/meta-oe/recipes-devtools/ltrace/ltrace/ltrace-0.7.2-unused-typedef.patch diff --git a/meta-oe/recipes-devtools/ltrace/ltrace_git.bb b/meta-oe/recipes-devtools/ltrace/ltrace_git.bb index 149af52dc0..69848483d7 100644 --- a/meta-oe/recipes-devtools/ltrace/ltrace_git.bb +++ b/meta-oe/recipes-devtools/ltrace/ltrace_git.bb @@ -9,17 +9,24 @@ HOMEPAGE = "http://ltrace.org/" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a" +PE = "1" +PV = "7.2+git${SRCPV}" SRCREV = "f44b28421979cec88d6d6a778fc27a8cd514f508" DEPENDS = "elfutils" RDEPENDS_${PN} = "elfutils" SRC_URI = "git://anonscm.debian.org/collab-maint/ltrace.git \ file://ltrace-0.7.2-unused-typedef.patch \ + file://configure-allow-to-disable-selinux-support.patch \ " S = "${WORKDIR}/git" inherit autotools +PACKAGECONFIG ?= "${@base_contains('DISTRO_FEATURES', 'selinux', 'selinux', '', d)}" +PACKAGECONFIG[unwind] = "--with-libunwind,--without-libunwind,libunwind" +PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux,libselinux" + do_configure_prepend () { - ./autogen.sh + ( cd ${S}; ./autogen.sh ) } diff --git a/meta-oe/recipes-devtools/lua/lua5.1/bitwise_operators.patch b/meta-oe/recipes-devtools/lua/lua5.1/bitwise_operators.patch deleted file mode 100644 index 4f0331ebb6..0000000000 --- a/meta-oe/recipes-devtools/lua/lua5.1/bitwise_operators.patch +++ /dev/null @@ -1,605 +0,0 @@ -diff -Nurd lua-5.1.5/src/lcode.c lua-5.1.5/src/lcode.c ---- lua-5.1.5/src/lcode.c 2011-01-31 16:53:16.000000000 +0200 -+++ lua-5.1.5/src/lcode.c 2012-11-28 21:12:23.958419501 +0200 -@@ -642,6 +642,17 @@ - case OP_POW: r = luai_numpow(v1, v2); break; - case OP_UNM: r = luai_numunm(v1); break; - case OP_LEN: return 0; /* no constant folding for 'len' */ -+#if defined(LUA_BITWISE_OPERATORS) -+ case OP_BOR: luai_logor(r, v1, v2); break; -+ case OP_BAND: luai_logand(r, v1, v2); break; -+ case OP_BXOR: luai_logxor(r, v1, v2); break; -+ case OP_BLSHFT: luai_loglshft(r, v1, v2); break; -+ case OP_BRSHFT: luai_logrshft(r, v1, v2); break; -+ case OP_BNOT: luai_lognot(r, v1); break; -+ case OP_INTDIV: -+ if (v2 == 0) return 0; /* do not attempt to divide by 0 */ -+ r = luai_numintdiv(v1, v2); break; -+#endif - default: lua_assert(0); r = 0; break; - } - if (luai_numisnan(r)) return 0; /* do not attempt to produce NaN */ -@@ -654,7 +665,11 @@ - if (constfolding(op, e1, e2)) - return; - else { -+#if defined(LUA_BITWISE_OPERATORS) -+ int o2 = (op != OP_UNM && op != OP_LEN && op != OP_BNOT) ? luaK_exp2RK(fs, e2) : 0; -+#else - int o2 = (op != OP_UNM && op != OP_LEN) ? luaK_exp2RK(fs, e2) : 0; -+#endif - int o1 = luaK_exp2RK(fs, e1); - if (o1 > o2) { - freeexp(fs, e1); -@@ -690,6 +705,14 @@ - expdesc e2; - e2.t = e2.f = NO_JUMP; e2.k = VKNUM; e2.u.nval = 0; - switch (op) { -+#if defined(LUA_BITWISE_OPERATORS) -+ case OPR_BNOT: { -+ if (e->k == VK) -+ luaK_exp2anyreg(fs, e); /* cannot operate on non-numeric constants */ -+ codearith(fs, OP_BNOT, e, &e2); -+ break; -+ } -+#endif - case OPR_MINUS: { - if (!isnumeral(e)) - luaK_exp2anyreg(fs, e); /* cannot operate on non-numeric constants */ -@@ -770,6 +793,14 @@ - case OPR_DIV: codearith(fs, OP_DIV, e1, e2); break; - case OPR_MOD: codearith(fs, OP_MOD, e1, e2); break; - case OPR_POW: codearith(fs, OP_POW, e1, e2); break; -+#if defined(LUA_BITWISE_OPERATORS) -+ case OPR_BOR: codearith(fs, OP_BOR, e1, e2); break; -+ case OPR_BAND: codearith(fs, OP_BAND, e1, e2); break; -+ case OPR_BXOR: codearith(fs, OP_BXOR, e1, e2); break; -+ case OPR_BLSHFT: codearith(fs, OP_BLSHFT, e1, e2); break; -+ case OPR_BRSHFT: codearith(fs, OP_BRSHFT, e1, e2); break; -+ case OPR_INTDIV: codearith(fs, OP_INTDIV, e1, e2); break; -+#endif - case OPR_EQ: codecomp(fs, OP_EQ, 1, e1, e2); break; - case OPR_NE: codecomp(fs, OP_EQ, 0, e1, e2); break; - case OPR_LT: codecomp(fs, OP_LT, 1, e1, e2); break; -diff -Nurd lua-5.1.5/src/lcode.h lua-5.1.5/src/lcode.h ---- lua-5.1.5/src/lcode.h 2007-12-27 15:02:25.000000000 +0200 -+++ lua-5.1.5/src/lcode.h 2012-11-28 21:12:23.958419501 +0200 -@@ -25,6 +25,9 @@ - */ - typedef enum BinOpr { - OPR_ADD, OPR_SUB, OPR_MUL, OPR_DIV, OPR_MOD, OPR_POW, -+#if defined(LUA_BITWISE_OPERATORS) -+ OPR_BOR, OPR_BAND, OPR_BXOR, OPR_BLSHFT, OPR_BRSHFT, OPR_INTDIV, -+#endif - OPR_CONCAT, - OPR_NE, OPR_EQ, - OPR_LT, OPR_LE, OPR_GT, OPR_GE, -@@ -33,8 +36,11 @@ - } BinOpr; - - -+#if defined(LUA_BITWISE_OPERATORS) -+typedef enum UnOpr { OPR_BNOT, OPR_MINUS, OPR_NOT, OPR_LEN, OPR_NOUNOPR } UnOpr; -+#else - typedef enum UnOpr { OPR_MINUS, OPR_NOT, OPR_LEN, OPR_NOUNOPR } UnOpr; -- -+#endif - - #define getcode(fs,e) ((fs)->f->code[(e)->u.s.info]) - -diff -Nurd lua-5.1.5/src/ldebug.c lua-5.1.5/src/ldebug.c ---- lua-5.1.5/src/ldebug.c 2008-05-08 19:56:26.000000000 +0300 -+++ lua-5.1.5/src/ldebug.c 2012-11-28 21:12:23.958419501 +0200 -@@ -592,6 +592,16 @@ - luaG_typeerror(L, p2, "perform arithmetic on"); - } - -+#if defined (LUA_BITWISE_OPERATORS) -+void luaG_logicerror (lua_State *L, const TValue *p1, const TValue *p2) { -+ TValue temp; -+ if (luaV_tonumber(p1, &temp) == NULL) -+ p2 = p1; /* first operand is wrong */ -+ luaG_typeerror(L, p2, "perform bitwise operation on"); -+} -+#endif -+ -+ - - int luaG_ordererror (lua_State *L, const TValue *p1, const TValue *p2) { - const char *t1 = luaT_typenames[ttype(p1)]; -diff -Nurd lua-5.1.5/src/ldebug.h lua-5.1.5/src/ldebug.h ---- lua-5.1.5/src/ldebug.h 2007-12-27 15:02:25.000000000 +0200 -+++ lua-5.1.5/src/ldebug.h 2012-11-28 21:12:23.958419501 +0200 -@@ -30,4 +30,9 @@ - LUAI_FUNC int luaG_checkcode (const Proto *pt); - LUAI_FUNC int luaG_checkopenop (Instruction i); - -+#if defined (LUA_BITWISE_OPERATORS) -+LUAI_FUNC void luaG_logicerror (lua_State *L, const TValue *p1, -+ const TValue *p2); -+#endif -+ - #endif -diff -Nurd lua-5.1.5/src/llex.c lua-5.1.5/src/llex.c ---- lua-5.1.5/src/llex.c 2009-11-23 16:58:22.000000000 +0200 -+++ lua-5.1.5/src/llex.c 2012-11-28 21:12:23.958419501 +0200 -@@ -39,7 +39,11 @@ - "end", "false", "for", "function", "if", - "in", "local", "nil", "not", "or", "repeat", - "return", "then", "true", "until", "while", -+#if defined(LUA_BITWISE_OPERATORS) -+ "..", "...", "==", ">=", ">>", "<=", "<<", "^^", "~=", "!=" -+#else - "..", "...", "==", ">=", "<=", "~=", -+#endif - "<number>", "<name>", "<string>", "<eof>", - NULL - }; -@@ -373,6 +377,30 @@ - if (ls->current != '=') return '='; - else { next(ls); return TK_EQ; } - } -+#if defined(LUA_BITWISE_OPERATORS) -+ case '<': { -+ next(ls); -+ if (ls->current == '=') { next(ls); return TK_LE; } -+ else if (ls->current == '<') { next(ls); return TK_LSHFT; } -+ else return '<'; -+ } -+ case '>': { -+ next(ls); -+ if (ls->current == '=') { next(ls); return TK_GE; } -+ else if (ls->current == '>') { next(ls); return TK_RSHFT; } -+ else return '>'; -+ } -+ case '^': { -+ next(ls); -+ if (ls->current != '^') return '^'; -+ else { next(ls); return TK_XOR; } -+ } -+ case '!': { -+ next(ls); -+ if (ls->current != '=') return '!'; -+ else { next(ls); return TK_NE; } -+ } -+#else - case '<': { - next(ls); - if (ls->current != '=') return '<'; -@@ -381,8 +409,9 @@ - case '>': { - next(ls); - if (ls->current != '=') return '>'; -- else { next(ls); return TK_GE; } -+ else { next(ls); return TK_GE; } - } -+#endif - case '~': { - next(ls); - if (ls->current != '=') return '~'; -diff -Nurd lua-5.1.5/src/llex.h lua-5.1.5/src/llex.h ---- lua-5.1.5/src/llex.h 2007-12-27 15:02:25.000000000 +0200 -+++ lua-5.1.5/src/llex.h 2012-11-28 21:12:23.962419499 +0200 -@@ -28,7 +28,11 @@ - TK_IF, TK_IN, TK_LOCAL, TK_NIL, TK_NOT, TK_OR, TK_REPEAT, - TK_RETURN, TK_THEN, TK_TRUE, TK_UNTIL, TK_WHILE, - /* other terminal symbols */ -+#if defined(LUA_BITWISE_OPERATORS) -+ TK_CONCAT, TK_DOTS, TK_EQ, TK_GE, TK_LSHFT, TK_LE, TK_RSHFT, TK_XOR, TK_NE, TK_CNE, TK_NUMBER, -+#else - TK_CONCAT, TK_DOTS, TK_EQ, TK_GE, TK_LE, TK_NE, TK_NUMBER, -+#endif - TK_NAME, TK_STRING, TK_EOS - }; - -diff -Nurd lua-5.1.5/src/lopcodes.c lua-5.1.5/src/lopcodes.c ---- lua-5.1.5/src/lopcodes.c 2007-12-27 15:02:25.000000000 +0200 -+++ lua-5.1.5/src/lopcodes.c 2012-11-28 21:12:23.962419499 +0200 -@@ -32,6 +32,15 @@ - "DIV", - "MOD", - "POW", -+#if defined(LUA_BITWISE_OPERATORS) -+ "BOR", -+ "BAND", -+ "OP_BXOR" -+ "BLSHFT", -+ "BRSHFT", -+ "BNOT", -+ "INTDIV", -+#endif - "UNM", - "NOT", - "LEN", -@@ -78,6 +87,15 @@ - ,opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_DIV */ - ,opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_MOD */ - ,opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_POW */ -+#if defined(LUA_BITWISE_OPERATORS) -+ ,opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_BOR */ -+ ,opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_BAND */ -+ ,opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_BXOR */ -+ ,opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_BLSHFT */ -+ ,opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_BRSHFT */ -+ ,opmode(0, 1, OpArgR, OpArgN, iABC) /* OP_BNOT */ -+ ,opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_INTDIV */ -+#endif - ,opmode(0, 1, OpArgR, OpArgN, iABC) /* OP_UNM */ - ,opmode(0, 1, OpArgR, OpArgN, iABC) /* OP_NOT */ - ,opmode(0, 1, OpArgR, OpArgN, iABC) /* OP_LEN */ -diff -Nurd lua-5.1.5/src/lopcodes.h lua-5.1.5/src/lopcodes.h ---- lua-5.1.5/src/lopcodes.h 2007-12-27 15:02:25.000000000 +0200 -+++ lua-5.1.5/src/lopcodes.h 2012-11-28 21:12:23.962419499 +0200 -@@ -174,10 +174,20 @@ - OP_DIV,/* A B C R(A) := RK(B) / RK(C) */ - OP_MOD,/* A B C R(A) := RK(B) % RK(C) */ - OP_POW,/* A B C R(A) := RK(B) ^ RK(C) */ -+#if defined(LUA_BITWISE_OPERATORS) -+OP_BOR,/* A B C R(A) := RK(B) | RK(C) */ -+OP_BAND,/* A B C R(A) := RK(B) & RK(C) */ -+OP_BXOR,/* A B C R(A) := RK(B) ^| RK(C) */ -+OP_BLSHFT,/* A B C R(A) := RK(B) << RK(C) */ -+OP_BRSHFT,/* A B C R(A) := RK(B) >> RK(C) */ -+OP_BNOT,/* A B R(A) := ~ R(B) */ -+OP_INTDIV,/* A B C R(A) := RK(B) \ RK(C) */ -+#endif - OP_UNM,/* A B R(A) := -R(B) */ - OP_NOT,/* A B R(A) := not R(B) */ - OP_LEN,/* A B R(A) := length of R(B) */ - -+ - OP_CONCAT,/* A B C R(A) := R(B).. ... ..R(C) */ - - OP_JMP,/* sBx pc+=sBx */ -@@ -186,8 +196,8 @@ - OP_LT,/* A B C if ((RK(B) < RK(C)) ~= A) then pc++ */ - OP_LE,/* A B C if ((RK(B) <= RK(C)) ~= A) then pc++ */ - --OP_TEST,/* A C if not (R(A) <=> C) then pc++ */ --OP_TESTSET,/* A B C if (R(B) <=> C) then R(A) := R(B) else pc++ */ -+OP_TEST,/* A C if not (R(A) <=> C) then pc++ */ -+OP_TESTSET,/* A B C if (R(B) <=> C) then R(A) := R(B) else pc++ */ - - OP_CALL,/* A B C R(A), ... ,R(A+C-2) := R(A)(R(A+1), ... ,R(A+B-1)) */ - OP_TAILCALL,/* A B C return R(A)(R(A+1), ... ,R(A+B-1)) */ -@@ -197,8 +207,8 @@ - if R(A) <?= R(A+1) then { pc+=sBx; R(A+3)=R(A) }*/ - OP_FORPREP,/* A sBx R(A)-=R(A+2); pc+=sBx */ - --OP_TFORLOOP,/* A C R(A+3), ... ,R(A+2+C) := R(A)(R(A+1), R(A+2)); -- if R(A+3) ~= nil then R(A+2)=R(A+3) else pc++ */ -+OP_TFORLOOP,/* A C R(A+3), ... ,R(A+2+C) := R(A)(R(A+1), R(A+2)); -+ if R(A+3) ~= nil then R(A+2)=R(A+3) else pc++ */ - OP_SETLIST,/* A B C R(A)[(C-1)*FPF+i] := R(A+i), 1 <= i <= B */ - - OP_CLOSE,/* A close all variables in the stack up to (>=) R(A)*/ -diff -Nurd lua-5.1.5/src/lparser.c lua-5.1.5/src/lparser.c ---- lua-5.1.5/src/lparser.c 2011-10-21 22:31:42.000000000 +0300 -+++ lua-5.1.5/src/lparser.c 2012-11-28 21:12:23.962419499 +0200 -@@ -780,6 +780,9 @@ - case TK_NOT: return OPR_NOT; - case '-': return OPR_MINUS; - case '#': return OPR_LEN; -+#if defined(LUA_BITWISE_OPERATORS) -+ case '~': return OPR_BNOT; -+#endif - default: return OPR_NOUNOPR; - } - } -@@ -793,6 +796,14 @@ - case '/': return OPR_DIV; - case '%': return OPR_MOD; - case '^': return OPR_POW; -+#if defined(LUA_BITWISE_OPERATORS) -+ case '|': return OPR_BOR; -+ case '&': return OPR_BAND; -+ case TK_XOR: return OPR_BXOR; -+ case TK_LSHFT: return OPR_BLSHFT; -+ case TK_RSHFT: return OPR_BRSHFT; -+ case '\\': return OPR_INTDIV; -+#endif - case TK_CONCAT: return OPR_CONCAT; - case TK_NE: return OPR_NE; - case TK_EQ: return OPR_EQ; -@@ -812,6 +823,9 @@ - lu_byte right; /* right priority */ - } priority[] = { /* ORDER OPR */ - {6, 6}, {6, 6}, {7, 7}, {7, 7}, {7, 7}, /* `+' `-' `/' `%' */ -+#if defined(LUA_BITWISE_OPERATORS) -+ {6, 6}, {6, 6}, {6, 6}, {7, 7}, {7, 7}, {7, 7}, /* `|' `&' `!' `<<' `>>' `\' */ -+#endif - {10, 9}, {5, 4}, /* power and concat (right associative) */ - {3, 3}, {3, 3}, /* equality and inequality */ - {3, 3}, {3, 3}, {3, 3}, {3, 3}, /* order */ -diff -Nurd lua-5.1.5/src/ltm.c lua-5.1.5/src/ltm.c ---- lua-5.1.5/src/ltm.c 2007-12-27 15:02:25.000000000 +0200 -+++ lua-5.1.5/src/ltm.c 2012-11-28 21:12:23.962419499 +0200 -@@ -34,6 +34,9 @@ - "__add", "__sub", "__mul", "__div", "__mod", - "__pow", "__unm", "__len", "__lt", "__le", - "__concat", "__call" -+#if defined(LUA_BITWISE_OPERATORS) -+ ,"__or", "__and", "__xor", "__shl", "__shr", "__not", "__intdiv" -+#endif - }; - int i; - for (i=0; i<TM_N; i++) { -diff -Nurd lua-5.1.5/src/ltm.h lua-5.1.5/src/ltm.h ---- lua-5.1.5/src/ltm.h 2007-12-27 15:02:25.000000000 +0200 -+++ lua-5.1.5/src/ltm.h 2012-11-28 21:12:23.962419499 +0200 -@@ -33,6 +33,15 @@ - TM_LE, - TM_CONCAT, - TM_CALL, -+#if defined(LUA_BITWISE_OPERATORS) -+ TM_BOR, -+ TM_BAND, -+ TM_BXOR, -+ TM_BLSHFT, -+ TM_BRSHFT, -+ TM_BNOT, -+ TM_INTDIV, -+#endif - TM_N /* number of elements in the enum */ - } TMS; - -diff -Nurd lua-5.1.5/src/luaconf.h lua-5.1.5/src/luaconf.h ---- lua-5.1.5/src/luaconf.h 2008-02-11 18:25:08.000000000 +0200 -+++ lua-5.1.5/src/luaconf.h 2012-11-28 21:12:23.962419499 +0200 -@@ -2,6 +2,7 @@ - ** $Id: luaconf.h,v 1.82.1.7 2008/02/11 16:25:08 roberto Exp $ - ** Configuration file for Lua - ** See Copyright Notice in lua.h -+** Added logic operators : & | ^^ (xor) << >> ~, arithmetic operator \ (integer division) and != as an alternative to ~= - */ - - -@@ -209,6 +210,12 @@ - */ - #define LUA_IDSIZE 60 - -+/* -+@@ LUA_BITWISE_OPERATORS enable logical operators | & ^| >> << ~ on lua_Number -+@* but also arithmetic operator \ (integer division) and != as an alernative to ~= -+*/ -+#define LUA_BITWISE_OPERATORS -+ - - /* - ** {================================================================== -@@ -216,6 +223,7 @@ - ** =================================================================== - */ - -+ - #if defined(lua_c) || defined(luaall_c) - - /* -@@ -526,25 +534,6 @@ - - - /* --@@ The luai_num* macros define the primitive operations over numbers. --*/ --#if defined(LUA_CORE) --#include <math.h> --#define luai_numadd(a,b) ((a)+(b)) --#define luai_numsub(a,b) ((a)-(b)) --#define luai_nummul(a,b) ((a)*(b)) --#define luai_numdiv(a,b) ((a)/(b)) --#define luai_nummod(a,b) ((a) - floor((a)/(b))*(b)) --#define luai_numpow(a,b) (pow(a,b)) --#define luai_numunm(a) (-(a)) --#define luai_numeq(a,b) ((a)==(b)) --#define luai_numlt(a,b) ((a)<(b)) --#define luai_numle(a,b) ((a)<=(b)) --#define luai_numisnan(a) (!luai_numeq((a), (a))) --#endif -- -- --/* - @@ lua_number2int is a macro to convert lua_Number to int. - @@ lua_number2integer is a macro to convert lua_Number to lua_Integer. - ** CHANGE them if you know a faster way to convert a lua_Number to -@@ -560,7 +549,7 @@ - /* On a Microsoft compiler, use assembler */ - #if defined(_MSC_VER) - --#define lua_number2int(i,d) __asm fld d __asm fistp i -+#define lua_number2int(i,d) { __asm fld d __asm fistp i } - #define lua_number2integer(i,n) lua_number2int(i, n) - - /* the next trick should work on any Pentium, but sometimes clashes -@@ -582,6 +571,38 @@ - - #endif - -+ -+/* -+@@ The luai_num* macros define the primitive operations over numbers. -+*/ -+#if defined(LUA_CORE) -+#include <math.h> -+#define luai_numadd(a,b) ((a)+(b)) -+#define luai_numsub(a,b) ((a)-(b)) -+#define luai_nummul(a,b) ((a)*(b)) -+#define luai_numdiv(a,b) ((a)/(b)) -+#ifdef LUA_BITWISE_OPERATORS -+#define luai_numintdiv(a,b) (floor((a)/(b))) -+#endif -+#define luai_nummod(a,b) ((a) - floor((a)/(b))*(b)) -+#define luai_numpow(a,b) (pow(a,b)) -+#define luai_numunm(a) (-(a)) -+#define luai_numeq(a,b) ((a)==(b)) -+#define luai_numlt(a,b) ((a)<(b)) -+#define luai_numle(a,b) ((a)<=(b)) -+#define luai_numisnan(a) (!luai_numeq((a), (a))) -+ -+#if defined(LUA_BITWISE_OPERATORS) -+#define luai_logor(r, a, b) { lua_Integer ai,bi; lua_number2int(ai,a); lua_number2int(bi,b); r = ai|bi; } -+#define luai_logand(r, a,b) { lua_Integer ai,bi; lua_number2int(ai,a); lua_number2int(bi,b); r = ai&bi; } -+#define luai_logxor(r, a,b) { lua_Integer ai,bi; lua_number2int(ai,a); lua_number2int(bi,b); r = ai^bi; } -+#define luai_lognot(r,a) { lua_Integer ai; lua_number2int(ai,a); r = ~ai; } -+#define luai_loglshft(r, a,b) { lua_Integer ai,bi; lua_number2int(ai,a); lua_number2int(bi,b); r = ai<<bi; } -+#define luai_logrshft(r, a,b) { lua_Integer ai,bi; lua_number2int(ai,a); lua_number2int(bi,b); r = ai>>bi; } -+#endif -+ -+#endif -+ - /* }================================================================== */ - - -diff -Nurd lua-5.1.5/src/lua.h lua-5.1.5/src/lua.h ---- lua-5.1.5/src/lua.h 2012-01-13 22:36:20.000000000 +0200 -+++ lua-5.1.5/src/lua.h 2012-11-28 21:13:01.266418680 +0200 -@@ -17,7 +17,7 @@ - - - #define LUA_VERSION "Lua 5.1" --#define LUA_RELEASE "Lua 5.1.5" -+#define LUA_RELEASE "Lua 5.1.5+bitwiseops" - #define LUA_VERSION_NUM 501 - #define LUA_COPYRIGHT "Copyright (C) 1994-2012 Lua.org, PUC-Rio" - #define LUA_AUTHORS "R. Ierusalimschy, L. H. de Figueiredo & W. Celes" -diff -Nurd lua-5.1.5/src/lvm.c lua-5.1.5/src/lvm.c ---- lua-5.1.5/src/lvm.c 2011-08-17 23:43:11.000000000 +0300 -+++ lua-5.1.5/src/lvm.c 2012-11-28 21:12:23.966419498 +0200 -@@ -329,6 +329,9 @@ - case TM_MOD: setnvalue(ra, luai_nummod(nb, nc)); break; - case TM_POW: setnvalue(ra, luai_numpow(nb, nc)); break; - case TM_UNM: setnvalue(ra, luai_numunm(nb)); break; -+#if defined(LUA_BITWISE_OPERATORS) -+ case TM_INTDIV: setnvalue(ra, luai_numintdiv(nb, nc)); break; -+#endif - default: lua_assert(0); break; - } - } -@@ -336,7 +339,30 @@ - luaG_aritherror(L, rb, rc); - } - -- -+#if defined(LUA_BITWISE_OPERATORS) -+static void Logic (lua_State *L, StkId ra, const TValue *rb, -+ const TValue *rc, TMS op) { -+ TValue tempb, tempc; -+ const TValue *b, *c; -+ if ((b = luaV_tonumber(rb, &tempb)) != NULL && -+ (c = luaV_tonumber(rc, &tempc)) != NULL) { -+ lua_Number nb = nvalue(b), nc = nvalue(c); -+ lua_Integer r; -+ switch (op) { -+ case TM_BLSHFT: luai_loglshft(r, nb, nc); break; -+ case TM_BRSHFT: luai_logrshft(r, nb, nc); break; -+ case TM_BOR: luai_logor(r, nb, nc); break; -+ case TM_BAND: luai_logand(r, nb, nc); break; -+ case TM_BXOR: luai_logxor(r, nb, nc); break; -+ case TM_BNOT: luai_lognot(r, nb); break; -+ default: lua_assert(0); r = 0; break; -+ } -+ setnvalue(ra, r); -+ } -+ else if (!call_binTM(L, rb, rc, ra, op)) -+ luaG_logicerror(L, rb, rc); -+} -+#endif - - /* - ** some macros for common tasks in `luaV_execute' -@@ -373,6 +399,22 @@ - } - - -+#if defined(LUA_BITWISE_OPERATORS) -+#define logic_op(op,tm) { \ -+ TValue *rb = RKB(i); \ -+ TValue *rc = RKC(i); \ -+ if (ttisnumber(rb) && ttisnumber(rc)) { \ -+ lua_Integer r; \ -+ lua_Number nb = nvalue(rb), nc = nvalue(rc); \ -+ op(r, nb, nc); \ -+ setnvalue(ra, r); \ -+ } \ -+ else \ -+ Protect(Logic(L, ra, rb, rc, tm)); \ -+ } -+#endif -+ -+ - - void luaV_execute (lua_State *L, int nexeccalls) { - LClosure *cl; -@@ -506,6 +548,45 @@ - } - continue; - } -+#if defined(LUA_BITWISE_OPERATORS) -+ case OP_BOR: { -+ logic_op(luai_logor, TM_BOR); -+ continue; -+ } -+ case OP_BAND: { -+ logic_op(luai_logand, TM_BAND); -+ continue; -+ } -+ case OP_BXOR: { -+ logic_op(luai_logxor, TM_BXOR); -+ continue; -+ } -+ case OP_BLSHFT: { -+ logic_op(luai_loglshft, TM_BLSHFT); -+ continue; -+ } -+ case OP_BRSHFT: { -+ logic_op(luai_logrshft, TM_BRSHFT); -+ continue; -+ } -+ case OP_BNOT: { -+ TValue *rb = RB(i); -+ if (ttisnumber(rb)) { -+ lua_Integer r; -+ lua_Number nb = nvalue(rb); -+ luai_lognot(r, nb); -+ setnvalue(ra, r); -+ } -+ else { -+ Protect(Logic(L, ra, rb, rb, TM_BNOT)); -+ } -+ continue; -+ } -+ case OP_INTDIV: { -+ arith_op(luai_numintdiv, TM_DIV); -+ continue; -+ } -+#endif - case OP_NOT: { - int res = l_isfalse(RB(i)); /* next assignment may change this value */ - setbvalue(ra, res); -diff -Nurd lua-5.1.5/test/bitwisepatchtest.lua lua-5.1.5/test/bitwisepatchtest.lua ---- lua-5.1.5/test/bitwisepatchtest.lua 1970-01-01 02:00:00.000000000 +0200 -+++ lua-5.1.5/test/bitwisepatchtest.lua 2012-11-28 21:12:23.966419498 +0200 -@@ -0,0 +1,24 @@ -+hex=function (i) return "0x"..string.format("%X", i) end -+print(hex(0x54|0x55)) -+print(hex(0x54&0x66)) -+print(hex(0x54^|0x66)) -+print(hex(~0x54)) -+print(hex(0xF<< 4)) -+print(hex(0xF0>> 4)) -+a,b=0x54,0x55 -+print(hex(a),"|",hex(b), "=",hex(a|b)) -+print(hex(a),"|","0x55", "=",hex(a|0x55)) -+print(hex(a),"|","0x5|0x50 (", hex(0x5|0x50), ") =",hex(a|(0x5|0x50))) -+a,b=0x54,0x66 -+print(hex(a),"&",hex(b), "=",hex(a&b)) -+print(hex(a),"&","0x66", "=",hex(a&0x66)) -+print(hex(a),"^|",hex(b), "=",hex(a^|b)) -+print(hex(a),"^|","0x66", "=",hex(a^|0x66)) -+print("~"..hex(a),"=",hex(~a)) -+a,b=0xF,0xF0 -+print(hex(a).."<<4","=",hex(a<<4)) -+print(hex(b)..">>4","=",hex(b>>4)) -+a,b=0xF,4 -+print(hex(a).."<<"..b,"=",hex(a<<b)) -+a,b=0xF0,4 -+print(hex(a)..">>"..b,"=",hex(a>>b)) diff --git a/meta-oe/recipes-devtools/lua/lua5.1/lua5.1.pc b/meta-oe/recipes-devtools/lua/lua5.1/lua5.1.pc deleted file mode 100644 index 64c03d2b6c..0000000000 --- a/meta-oe/recipes-devtools/lua/lua5.1/lua5.1.pc +++ /dev/null @@ -1,11 +0,0 @@ -prefix=/usr -libdir=${prefix}/lib -includedir=${prefix}/include - -Name: Lua -Description: Lua language engine -Version: 5.1.5 -Requires: -Libs: -L${libdir} -llua -Libs.private: -lm -Cflags: -I${includedir} diff --git a/meta-oe/recipes-devtools/lua/lua5.1/luaorg_1.patch b/meta-oe/recipes-devtools/lua/lua5.1/luaorg_1.patch deleted file mode 100644 index b64a6a26bf..0000000000 --- a/meta-oe/recipes-devtools/lua/lua5.1/luaorg_1.patch +++ /dev/null @@ -1,18 +0,0 @@ -lua.org patch 1 for lua-5.1.5. -from http://www.lua.org/bugs.html - -Upstream-Status: Backport - -Signed-off-by: Marko Lindqvist <cazfi74@gmail.com> -diff -Nurd lua-5.1.5/src/Makefile lua-5.1.5/src/Makefile ---- lua-5.1.5/src/Makefile 2012-02-13 22:41:22.000000000 +0200 -+++ lua-5.1.5/src/Makefile 2013-10-25 11:29:49.769540434 +0300 -@@ -48,7 +48,7 @@ - a: $(ALL_A) - - $(LUA_A): $(CORE_O) $(LIB_O) -- $(AR) $@ $(CORE_O) $(LIB_O) # DLL needs all object files -+ $(AR) $@ $(CORE_O) $(LIB_O) - $(RANLIB) $@ - - $(LUA_T): $(LUA_O) $(LUA_A) diff --git a/meta-oe/recipes-devtools/lua/lua5.1/luaorg_2.patch b/meta-oe/recipes-devtools/lua/lua5.1/luaorg_2.patch deleted file mode 100644 index 0c48ea2876..0000000000 --- a/meta-oe/recipes-devtools/lua/lua5.1/luaorg_2.patch +++ /dev/null @@ -1,44 +0,0 @@ -lua.org patch 2 for lua-5.1.5. -from http://www.lua.org/bugs.html - -Upstream-Status: Backport - -Signed-off-by: Marko Lindqvist <cazfi74@gmail.com> -diff -Nurd lua-5.1.5/src/lzio.c lua-5.1.5/src/lzio.c ---- lua-5.1.5/src/lzio.c 2007-12-27 15:02:25.000000000 +0200 -+++ lua-5.1.5/src/lzio.c 2013-10-25 11:32:45.773536572 +0300 -@@ -22,10 +22,14 @@ - size_t size; - lua_State *L = z->L; - const char *buff; -+ if (z->eoz) return EOZ; - lua_unlock(L); - buff = z->reader(L, z->data, &size); - lua_lock(L); -- if (buff == NULL || size == 0) return EOZ; -+ if (buff == NULL || size == 0) { -+ z->eoz = 1; /* avoid calling reader function next time */ -+ return EOZ; -+ } - z->n = size - 1; - z->p = buff; - return char2int(*(z->p++)); -@@ -51,6 +55,7 @@ - z->data = data; - z->n = 0; - z->p = NULL; -+ z->eoz = 0; - } - - -diff -Nurd lua-5.1.5/src/lzio.h lua-5.1.5/src/lzio.h ---- lua-5.1.5/src/lzio.h 2007-12-27 15:02:25.000000000 +0200 -+++ lua-5.1.5/src/lzio.h 2013-10-25 11:31:50.301537789 +0300 -@@ -59,6 +59,7 @@ - lua_Reader reader; - void* data; /* additional data */ - lua_State *L; /* Lua state (for reader) */ -+ int eoz; /* true if reader has no more data */ - }; - - diff --git a/meta-oe/recipes-devtools/lua/lua5.1/uclibc-pthread.patch b/meta-oe/recipes-devtools/lua/lua5.1/uclibc-pthread.patch deleted file mode 100644 index 0555e81b19..0000000000 --- a/meta-oe/recipes-devtools/lua/lua5.1/uclibc-pthread.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: lua-5.1.4/src/Makefile -=================================================================== ---- lua-5.1.4.orig/src/Makefile 2010-10-16 09:51:52.000000000 +0200 -+++ lua-5.1.4/src/Makefile 2010-10-16 09:52:15.000000000 +0200 -@@ -12,7 +12,7 @@ - AR= ar rcu - RANLIB= ranlib - RM= rm -f --LIBS= -lm $(MYLIBS) -+LIBS= -lm -lpthread $(MYLIBS) - - MYCFLAGS= - MYLDFLAGS= diff --git a/meta-oe/recipes-devtools/lua/lua5.1_5.1.5.bb b/meta-oe/recipes-devtools/lua/lua5.1_5.1.5.bb deleted file mode 100644 index f9469948e4..0000000000 --- a/meta-oe/recipes-devtools/lua/lua5.1_5.1.5.bb +++ /dev/null @@ -1,55 +0,0 @@ -DESCRIPTION = "Lua is a powerful light-weight programming language designed \ -for extending applications." -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=59bdd99bb82238f238cf5c65c21604fd" -HOMEPAGE = "http://www.lua.org/" - -PR = "r2" - -DEPENDS += "readline" -SRC_URI = "http://www.lua.org/ftp/lua-${PV}.tar.gz \ - file://bitwise_operators.patch \ - file://lua5.1.pc \ - file://luaorg_1.patch \ - file://luaorg_2.patch \ -" -S = "${WORKDIR}/lua-${PV}" - -inherit pkgconfig binconfig - -UCLIBC_PATCHES += "file://uclibc-pthread.patch" -SRC_URI_append_libc-uclibc = "${UCLIBC_PATCHES}" - -TARGET_CC_ARCH += " -fPIC ${LDFLAGS}" -EXTRA_OEMAKE = "'CC=${CC} -fPIC' 'MYCFLAGS=${CFLAGS} -DLUA_USE_LINUX -fPIC' MYLDFLAGS='${LDFLAGS}'" - -do_configure_prepend() { - sed -i -e s:/usr/local:${prefix}:g src/luaconf.h - sed -i -e s:lib/lua/5.1/:${base_libdir}/lua/5.1/:g src/luaconf.h -} - -do_compile () { - oe_runmake linux -} - -do_install () { - oe_runmake \ - 'INSTALL_TOP=${D}${prefix}' \ - 'INSTALL_BIN=${D}${bindir}' \ - 'INSTALL_INC=${D}${includedir}/' \ - 'INSTALL_MAN=${D}${mandir}/man1' \ - 'INSTALL_SHARE=${D}${datadir}/lua' \ - 'INSTALL_LIB=${D}${libdir}' \ - 'INSTALL_CMOD=${D}${libdir}/lua/5.1' \ - install - install -d ${D}${libdir}/pkgconfig - install -m 0644 ${WORKDIR}/lua5.1.pc ${D}${libdir}/pkgconfig/lua5.1.pc - rmdir ${D}${libdir}/lua/5.1 - rmdir ${D}${libdir}/lua - rmdir ${D}${datadir}/lua/5.1 - rmdir ${D}${datadir}/lua -} -BBCLASSEXTEND = "native" - -SRC_URI[md5sum] = "2e115fe26e435e33b0d5c022e4490567" -SRC_URI[sha256sum] = "2640fc56a795f29d28ef15e13c34a47e223960b0240e8cb0a82d9b0738695333" diff --git a/meta-oe/recipes-devtools/luajit/luajit/ppc-fixplt.patch b/meta-oe/recipes-devtools/luajit/luajit/ppc-fixplt.patch deleted file mode 100644 index b9f17f4e31..0000000000 --- a/meta-oe/recipes-devtools/luajit/luajit/ppc-fixplt.patch +++ /dev/null @@ -1,105 +0,0 @@ -Upstream-Status: Unknown - -Signed-off-by: Khem Raj <raj.khem@gmail.com> - -libluajit is having symbols that can't be -resolved the reloc cannot accommodate an offset greater than 24 bits. - -Looking at libluajit with readelf -r, you see a bunch of entries that look like: - 000082f0 00003c0a R_PPC_REL24 00000000 sqrt + 0 - -These should not occur when the code is compiled and linked with -fPIC. - -It turns out that libluajit *is* compiled and linked with -fPIC, however... -There is one assembler file called lj_vm.s which is generated during the build. -This file is missing the `@plt' qualifier from external references. - -This file is generated by a program called buildvm. This in turn uses tables -in a file called buildvm_arch.h which is generated by dynasm.lua. - -Index: LuaJIT-2.0.1/src/host/buildvm.c -=================================================================== ---- LuaJIT-2.0.1.orig/src/host/buildvm.c 2013-02-19 12:15:00.000000000 -0800 -+++ LuaJIT-2.0.1/src/host/buildvm.c 2013-05-14 20:26:05.933444512 -0700 -@@ -107,12 +107,14 @@ - #endif - sprintf(name, "%s%s%s", symprefix, prefix, suffix); - p = strchr(name, '@'); -+#if 0 - if (p) { - if (!LJ_64 && (ctx->mode == BUILD_coffasm || ctx->mode == BUILD_peobj)) - name[0] = '@'; - else - *p = '\0'; - } -+#endif - p = (char *)malloc(strlen(name)+1); /* MSVC doesn't like strdup. */ - strcpy(p, name); - return p; -Index: LuaJIT-2.0.1/src/vm_ppcspe.dasc -=================================================================== ---- LuaJIT-2.0.1.orig/src/vm_ppcspe.dasc 2013-02-19 12:15:00.000000000 -0800 -+++ LuaJIT-2.0.1/src/vm_ppcspe.dasc 2013-05-14 20:26:05.937444512 -0700 -@@ -1390,7 +1390,7 @@ - | checknum CARG2 - | evmergehi CARG1, CARG2, CARG2 - | checkfail ->fff_fallback -- | bl extern func -+ | bl extern func@plt - | evmergelo CRET1, CRET1, CRET2 - | b ->fff_restv - |.endmacro -@@ -1405,7 +1405,7 @@ - | checknum CARG1 - | evmergehi CARG3, CARG4, CARG4 - | checkanyfail ->fff_fallback -- | bl extern func -+ | bl extern func@plt - | evmergelo CRET1, CRET1, CRET2 - | b ->fff_restv - |.endmacro -@@ -1437,7 +1437,7 @@ - | checknum CARG2 - | evmergehi CARG1, CARG2, CARG2 - | checkfail ->fff_fallback -- | bl extern log -+ | bl extern log@plt - | evmergelo CRET1, CRET1, CRET2 - | b ->fff_restv - | -@@ -1471,7 +1471,7 @@ - | checknum CARG1 - | checkanyfail ->fff_fallback - | efdctsi CARG3, CARG4 -- | bl extern ldexp -+ | bl extern ldexp@plt - | evmergelo CRET1, CRET1, CRET2 - | b ->fff_restv - | -@@ -1484,7 +1484,7 @@ - | checkfail ->fff_fallback - | la CARG3, DISPATCH_GL(tmptv)(DISPATCH) - | lwz PC, FRAME_PC(BASE) -- | bl extern frexp -+ | bl extern frexp@plt - | lwz TMP1, DISPATCH_GL(tmptv)(DISPATCH) - | evmergelo CRET1, CRET1, CRET2 - | efdcfsi CRET2, TMP1 -@@ -1503,7 +1503,7 @@ - | checkfail ->fff_fallback - | la CARG3, -8(BASE) - | lwz PC, FRAME_PC(BASE) -- | bl extern modf -+ | bl extern modf@plt - | evmergelo CRET1, CRET1, CRET2 - | la RA, -8(BASE) - | evstdd CRET1, 0(BASE) -@@ -2399,7 +2399,7 @@ - | checknum CARG1 - | evmergehi CARG3, CARG4, CARG4 - | checkanyfail ->vmeta_arith_vv -- | bl extern pow -+ | bl extern pow@plt - | evmergelo CRET2, CRET1, CRET2 - | evstddx CRET2, BASE, RA - | ins_next diff --git a/meta-oe/recipes-devtools/luajit/luajit_2.0.2.bb b/meta-oe/recipes-devtools/luajit/luajit_2.0.3.bb index b719b48e09..48137e3852 100644 --- a/meta-oe/recipes-devtools/luajit/luajit_2.0.2.bb +++ b/meta-oe/recipes-devtools/luajit/luajit_2.0.3.bb @@ -1,27 +1,29 @@ SUMMARY = "Just-In-Time Compiler for Lua" LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=1793ef52a5d577794cd886a501a7f861" +LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=97b6446bbf9d55616838f821585c5978" HOMEPAGE = "http://luajit.org" -DEPENDS += "lua5.1" -SRC_URI = "http://luajit.org/download/LuaJIT-${PV}.tar.gz;name=tarball \ +SRC_URI = "http://luajit.org/download/LuaJIT-${PV}.tar.gz \ file://0001-Do-not-strip-automatically-this-leaves-the-stripping.patch \ - " -SRC_URI[tarball.md5sum] = "112dfb82548b03377fbefbba2e0e3a5b" -SRC_URI[tarball.sha256sum] = "c05202974a5890e777b181908ac237625b499aece026654d7cc33607e3f46c38" - -SRC_URI_append_fslmachine = " file://ppc-fixplt.patch " +" +SRC_URI[md5sum] = "f14e9104be513913810cd59c8c658dc0" +SRC_URI[sha256sum] = "55be6cb2d101ed38acca32c5b1f99ae345904b365b642203194c585d27bebd79" S = "${WORKDIR}/LuaJIT-${PV}" inherit pkgconfig binconfig +BBCLASSEXTEND = "native" + do_configure_prepend() { sed -i -e s:/usr/local:${prefix}:g ${S}/Makefile sed -i -e s:/lib$:${base_libdir}:g ${S}/Makefile } -EXTRA_OEMAKE = 'CROSS=${HOST_PREFIX} TARGET_CFLAGS="${TOOLCHAIN_OPTIONS}" TARGET_LDFLAGS="${TOOLCHAIN_OPTIONS}" TARGET_SHLDFLAGS="${TOOLCHAIN_OPTIONS}"' +EXTRA_OEMAKE = 'CROSS=${HOST_PREFIX} \ + TARGET_CFLAGS="${TOOLCHAIN_OPTIONS} ${HOST_CC_ARCH}" \ + TARGET_LDFLAGS="${TOOLCHAIN_OPTIONS}" \ + TARGET_SHLDFLAGS="${TOOLCHAIN_OPTIONS}"' EXTRA_OEMAKE_append_powerpc = ' HOST_CC="${BUILD_CC} -m32"' EXTRA_OEMAKE_append_x86-64 = ' HOST_CC="${BUILD_CC}"' EXTRA_OEMAKE_append_i586 = ' HOST_CC="${BUILD_CC} -m32"' @@ -35,9 +37,9 @@ do_compile () { do_install () { oe_runmake 'DESTDIR=${D}' install - rmdir ${D}${datadir}/lua/5.1 \ + rmdir ${D}${datadir}/lua/5.* \ ${D}${datadir}/lua \ - ${D}${libdir}/lua/5.1 \ + ${D}${libdir}/lua/5.* \ ${D}${libdir}/lua } diff --git a/meta-oe/recipes-devtools/memstat/memstat_1.0.bb b/meta-oe/recipes-devtools/memstat/memstat_1.0.bb new file mode 100644 index 0000000000..825215372c --- /dev/null +++ b/meta-oe/recipes-devtools/memstat/memstat_1.0.bb @@ -0,0 +1,30 @@ +SUMMARY = "Display virtual memory allocation" +DESCRIPTION = "Lists all the processes, executables, and shared libraries \ +that are using up virtual memory. It's helpful to see how the shared memory \ +is used and which 'old' libs are loaded. \ +" +HOMEPAGE = "http://memstattool.sourceforge.net/" +SECTION = "devtool" + +LICENSE = "GPLv2" + +S = "${WORKDIR}/memstattool" + +LIC_FILES_CHKSUM = "file://debian/copyright;md5=87be186443b1ac2cfa466f475e1ee0cb" + +SRC_URI = "http://sourceforge.net/projects/memstattool/files/memstat_${PV}.tar.gz \ + " + +SRC_URI[md5sum] = "2c3acc0c62b2a18f6601b84e54aa7462" +SRC_URI[sha256sum] = "245d5fc7fb87bcfd14486cd34917cae2856e799559ac568434af12c4852bce94" + +do_install_append(){ + install -d ${D}${bindir} + install -m 0755 memstat ${D}${bindir} + install -d ${D}${sysconfdir} + install -m 0755 memstat.conf ${D}${sysconfdir} + install -d ${D}${mandir}/man1 + install -m 0644 memstat.1 ${D}${mandir}/man1 + install -d ${D}${docdir}/${BPN} + install -m 0644 memstat-tutorial.txt ${D}${docdir}/${BPN} +} diff --git a/meta-oe/recipes-devtools/mercurial/mercurial-native_1.9.bb b/meta-oe/recipes-devtools/mercurial/mercurial-native_3.0.1.bb index 516a9ecc41..9a5eebe32a 100644 --- a/meta-oe/recipes-devtools/mercurial/mercurial-native_1.9.bb +++ b/meta-oe/recipes-devtools/mercurial/mercurial-native_3.0.1.bb @@ -4,11 +4,10 @@ SECTION = "console/utils" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" DEPENDS = "python-native" -PR = "r2" SRC_URI = "http://mercurial.selenic.com/release/mercurial-${PV}.tar.gz" -SRC_URI[md5sum] = "d4842129fa2732eb6ed1180467bc32e2" -SRC_URI[sha256sum] = "711e4b1cd2924a7a88499d6c431a9122390183bf554d4e153edbb3b2f30123e0" +SRC_URI[md5sum] = "15de301a673b77f839325dba10ed4fc0" +SRC_URI[sha256sum] = "36e48b59a84ef5a222d06596971e955ac8217e56b076dfb94c8ce5a0c29fd705" S = "${WORKDIR}/mercurial-${PV}" diff --git a/meta-oe/recipes-devtools/msr-tools/msr-tools_1.3.bb b/meta-oe/recipes-devtools/msr-tools/msr-tools_1.3.bb new file mode 100644 index 0000000000..caebcb9eab --- /dev/null +++ b/meta-oe/recipes-devtools/msr-tools/msr-tools_1.3.bb @@ -0,0 +1,19 @@ +SUMMARY = "utilies to read and write Intel model-specific registers" +HOMEPAGE = "https://01.org/msr-tools" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://Makefile;beginline=1;endline=11;md5=678a3928c856042424c734f4a7586e65" +SECTION = "devel" + +SRC_URI = "https://01.org/sites/default/files/downloads/msr-tools/msr-tools-${PV}.zip" +SRC_URI[md5sum] = "67d18527f64fd707c9b7a79f13d19fd5" +SRC_URI[sha256sum] = "f9457b5340f5f274da4239a461f0db6b514142b40461559d9c6150f05aab1d1e" + +S = "${WORKDIR}/msr-tools-master" + +COMPATIBLE_HOST = '(i.86|x86_64).*-linux' + +do_install() { + install -d ${D}${sbindir} + install -m 0755 rdmsr ${D}${sbindir} + install -m 0755 wrmsr ${D}${sbindir} +} diff --git a/meta-oe/recipes-devtools/nodejs/nodejs_0.8.18.bb b/meta-oe/recipes-devtools/nodejs/nodejs_0.8.18.bb index 996d68ea6e..839bfa425f 100644 --- a/meta-oe/recipes-devtools/nodejs/nodejs_0.8.18.bb +++ b/meta-oe/recipes-devtools/nodejs/nodejs_0.8.18.bb @@ -5,6 +5,8 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=95a589a3257ab7dfe37d8a8379e3c72d" DEPENDS = "openssl" +inherit pythonnative + SRC_URI = "http://nodejs.org/dist/v${PV}/node-v${PV}.tar.gz \ file://0001-gcc-has-a-builtin-define-to-denote-hard-abi-when-in-.patch \ " @@ -38,5 +40,5 @@ do_install () { RDEPENDS_${PN} = "curl python-shell python-datetime python-subprocess python-crypt python-textutils python-netclient " RDEPENDS_${PN}_class-native = "" -FILES_${PN} += "${libdir}/node/wafadmin ${libdir}/node_modules ${libdir}/dtrace" +FILES_${PN} += "${libdir}/node/wafadmin ${libdir}/node_modules ${libdir}/dtrace ${libdir}/*" BBCLASSEXTEND = "native" diff --git a/meta-oe/recipes-devtools/packagegroups/packagegroup-sdk-target.bb b/meta-oe/recipes-devtools/packagegroups/packagegroup-sdk-target.bb index 9b8cc9a257..aafe63acfb 100644 --- a/meta-oe/recipes-devtools/packagegroups/packagegroup-sdk-target.bb +++ b/meta-oe/recipes-devtools/packagegroups/packagegroup-sdk-target.bb @@ -6,9 +6,9 @@ PR = "r1" inherit packagegroup allarch -RPROVIDES_${PN} += "packagegroup-native-sdk task-sdk-target task-native-sdk" -RREPLACES_${PN} += "packagegroup-native-sdk task-sdk-target task-native-sdk" -RCONFLICTS_${PN} += "packagegroup-native-sdk task-sdk-target task-native-sdk" +RPROVIDES_${PN} += "packagegroup-native-sdk" +RREPLACES_${PN} += "packagegroup-native-sdk" +RCONFLICTS_${PN} += "packagegroup-native-sdk" RDEPENDS_${PN} = "gcc-symlinks g++-symlinks cpp cpp-symlinks \ binutils-symlinks \ perl-modules \ diff --git a/meta-oe/recipes-devtools/packagekit/packagekit_0.5.6.bb b/meta-oe/recipes-devtools/packagekit/packagekit_0.5.6.bb index 96cc468e38..59b0a43f4a 100644 --- a/meta-oe/recipes-devtools/packagekit/packagekit_0.5.6.bb +++ b/meta-oe/recipes-devtools/packagekit/packagekit_0.5.6.bb @@ -41,7 +41,6 @@ EXTRA_OECONF = "--with-security-framework=dummy \ do_configure_append() { for i in $(find . -name Makefile) ; do sed -i -e s:${STAGING_DIR_NATIVE}::g \ - -e s:${bindir}/mkdir:${STAGING_BINDIR_NATIVE}/mkdir:g \ -e s:/usr/bin/intltool-merge:${STAGING_BINDIR_NATIVE}/intltool-merge:g \ $i done diff --git a/meta-oe/recipes-devtools/perl/ipc-run_0.94.bb b/meta-oe/recipes-devtools/perl/ipc-run_0.94.bb new file mode 100644 index 0000000000..66054a257f --- /dev/null +++ b/meta-oe/recipes-devtools/perl/ipc-run_0.94.bb @@ -0,0 +1,23 @@ +DESCRIPTION = "\ +IPC::Run allows you run and interact with child processes \ +using files, pipes, and pseudo-ttys. Both system()-style and scripted \ +usages are supported and may be mixed. Likewise, functional and OO API \ +styles are both supported and may be mixed." +SECTION = "libs" +LICENSE = "Artistic-1.0 | GPL-1.0+" +LIC_FILES_CHKSUM = "file://LICENSE;md5=0ebd37caf53781e8b7223e6b99b63f4e" +DEPENDS = "perl" + +SRC_URI = "git://github.com/toddr/IPC-Run.git" +SRCREV = "6bdf41e276e06d23e140783b13a6eaef4745c216" + +S = "${WORKDIR}/git" + +inherit cpan + +EXTRA_CPANFLAGS = "EXPATLIBPATH=${STAGING_LIBDIR} EXPATINCPATH=${STAGING_INCDIR}" + +do_compile() { + export LIBC="$(find ${STAGING_DIR_TARGET}/${base_libdir}/ -name 'libc-*.so')" + cpan_do_compile +} diff --git a/meta-oe/recipes-devtools/php/php.inc b/meta-oe/recipes-devtools/php/php.inc deleted file mode 100644 index b1bf79cfc0..0000000000 --- a/meta-oe/recipes-devtools/php/php.inc +++ /dev/null @@ -1,133 +0,0 @@ -DESCRIPTION = "A server-side, HTML-embedded scripting language. This package provides the CGI." -HOMEPAGE = "http://www.php.net" -SECTION = "console/network" -LICENSE = "PHP-3.0" -BBCLASSEXTEND = "native" -DEPENDS = "zlib libxml2 virtual/libiconv php-native lemon-native \ - libc-client openssl" -DEPENDS_virtclass-native = "zlib-native libxml2-native" - -INC_PR = "r5" - -# The new PHP downloads server groups PHP releases by major version so find -# the major version of the PHP recipe. -PHP_MAJVER = "${@d.getVar('PV',1).split('.')[0]}" - -SRC_URI = "http://museum.php.net/php${PHP_MAJVER}/php-${PV}.tar.bz2" - -S = "${WORKDIR}/php-${PV}" - -inherit autotools pkgconfig pythonnative gettext - -SSTATE_SCAN_FILES += "build-defs.h" - -# Common EXTRA_OECONF -COMMON_EXTRA_OECONF = "--enable-sockets --enable-pcntl --enable-shared" -EXTRA_OECONF = "--enable-mbstring \ - --enable-wddx \ - --enable-fpm \ - --with-imap=${STAGING_DIR_HOST} \ - --with-gettext=${STAGING_LIBDIR}/.. \ - --with-imap-ssl=${STAGING_DIR_HOST} \ - --with-zlib=${STAGING_LIBDIR}/.. \ - --with-iconv=${STAGING_LIBDIR}/.. \ - --with-libxml-dir=${STAGING_BINDIR_CROSS} \ - ${COMMON_EXTRA_OECONF} \ -" -EXTRA_OECONF_virtclass-native = " \ - --with-zlib=${STAGING_LIBDIR_NATIVE}/.. \ - --with-libxml-dir=${STAGING_BINDIR_NATIVE} \ - ${COMMON_EXTRA_OECONF} \ -" - -PACKAGECONFIG ??= "mysql sqlite3" -PACKAGECONFIG_class-native = "" - -PACKAGECONFIG[mysql] = "--with-mysql=${STAGING_DIR_TARGET}${prefix} \ - --with-mysqli=${STAGING_BINDIR_CROSS}/mysql_config \ - --with-pdo-mysql=${STAGING_BINDIR_CROSS}/mysql_config \ - , \ - ,mysql5" - -PACKAGECONFIG[sqlite3] = "--with-sqlite3=${STAGING_LIBDIR}/.. \ - --with-pdo-sqlite=${STAGING_LIBDIR}/.. \ - , \ - ,sqlite3" - -export PHP_NATIVE_DIR = "${STAGING_BINDIR_NATIVE}" -export PHP_PEAR_PHP_BIN = "${STAGING_BINDIR_NATIVE}/php" -CFLAGS += " -D_GNU_SOURCE" - -EXTRA_OEMAKE = "INSTALL_ROOT=${D}" - -acpaths = "" - -do_install_append_pn-php-native() { - rm -rf ${D}/${libdir}/php/.registry - rm -rf ${D}/${libdir}/php/.channels - rm -rf ${D}/${libdir}/php/.[a-z]* -} - -# fixme -do_install_append_pn-php() { - install -d ${D}/${sysconfdir}/ - if [ -d ${D}/${STAGING_DIR_NATIVE}/${sysconfdir} ];then - mv ${D}/${STAGING_DIR_NATIVE}/${sysconfdir}/* ${D}/${sysconfdir}/ - fi - rm -rf ${D}/${TMPDIR} - rm -rf ${D}/.registry - rm -rf ${D}/.channels - rm -rf ${D}/.[a-z]* - rm -rf ${D}/var - rm -f ${D}/${sysconfdir}/php-fpm.conf.default - sed -i 's:${STAGING_DIR_NATIVE}::g' ${D}/${sysconfdir}/pear.conf - install -m 0644 ${WORKDIR}/php-fpm.conf ${D}/${sysconfdir}/php-fpm.conf - install -d ${D}/${sysconfdir}/apache2/conf.d - install -m 0644 ${WORKDIR}/php-fpm-apache.conf ${D}/${sysconfdir}/apache2/conf.d/php-fpm.conf - install -d ${D}${sysconfdir}/init.d - sed -i 's:=/usr/sbin:=${sbindir}:g' ${B}/sapi/fpm/init.d.php-fpm - sed -i 's:=/etc:=${sysconfdir}:g' ${B}/sapi/fpm/init.d.php-fpm - sed -i 's:=/var:=${localstatedir}:g' ${B}/sapi/fpm/init.d.php-fpm - install -m 0755 ${B}/sapi/fpm/init.d.php-fpm ${D}${sysconfdir}/init.d/php-fpm - TMP=`dirname ${D}/${TMPDIR}` - while test ${TMP} != ${D}; do - rmdir ${TMP} - TMP=`dirname ${TMP}`; - done -} - -PACKAGES = "${PN}-dbg ${PN}-cli ${PN}-cgi ${PN}-fpm ${PN}-fpm-apache2 ${PN}-pear ${PN}-dev ${PN}-staticdev ${PN}-doc ${PN}" - -RDEPENDS_${PN}-pear = "${PN}" -RDEPENDS_${PN}-cli = "${PN}" -RDEPENDS_${PN}-dev = "${PN}" - -INITSCRIPT_PACKAGES = "${PN}-fpm" -inherit update-rc.d - -FILES_${PN}-dbg =+ "${bindir}/.debug" -FILES_${PN}-doc += "${libdir}/php/doc" -FILES_${PN}-cli = "${bindir}/php" -FILES_${PN}-cgi = "${bindir}/php-cgi" -FILES_${PN}-fpm = "${sbindir}/php-fpm ${sysconfdir}/php-fpm.conf ${datadir}/fpm ${sysconfdir}/init.d/php-fpm" -FILES_${PN}-fpm-apache2 = "${sysconfdir}/apache2/conf.d/php-fpm.conf" -CONFFILES_${PN}-fpm = "${sysconfdir}/php-fpm.conf" -CONFFILES_${PN}-fpm-apache2 = "${sysconfdir}/apache2/conf.d/php-fpm.conf" -INITSCRIPT_NAME_${PN}-fpm = "php-fpm" -INITSCRIPT_PARAMS_${PN}-fpm = "defaults 60" -FILES_${PN}-pear = "${bindir}/pear* ${bindir}/pecl ${libdir}/php/PEAR \ - ${libdir}/php/PEAR.php ${libdir}/php/System.php \ - ${libdir}php/peclcmd.php ${libdir}/php/pearcmd.php \ - ${libdir}/php/.channels ${libdir}/php/.channels/.alias \ - ${libdir}/php/.channels\__uri.reg \ - ${libdir}/php/.channels\pear.php.net.reg \ - ${libdir}/php/.channels/pecl.php.net.reg \ - ${libdir}/php/.registry ${libdir}/php/Archive/Tar.php \ - ${libdir}/php/Console/Getopt.php ${libdir}/php/OS/Guess.php \ - ${sysconfdir}/pear.conf" -FILES_${PN}-dev = "${includedir}/php ${libdir}/build ${bindir}/phpize \ - ${bindir}/php-config ${libdir}/php/.depdb \ - ${libdir}/php/.depdblock ${libdir}/php/.filemap \ - ${libdir}/php/.lock ${libdir}/php/test" -FILES_${PN} = "${libdir}/php" -FILES_${PN} += "${bindir}" diff --git a/meta-oe/recipes-devtools/php/php/0001-acinclude-use-pkgconfig-for-libxml2-config.patch b/meta-oe/recipes-devtools/php/php/0001-acinclude-use-pkgconfig-for-libxml2-config.patch new file mode 100644 index 0000000000..51a5e43b60 --- /dev/null +++ b/meta-oe/recipes-devtools/php/php/0001-acinclude-use-pkgconfig-for-libxml2-config.patch @@ -0,0 +1,90 @@ +From 003c9feaae6ed5c173edcea51193e49bc94ac39a Mon Sep 17 00:00:00 2001 +From: Koen Kooi <koen.kooi@linaro.org> +Date: Tue, 17 Jun 2014 09:53:00 +0200 +Subject: [PATCH 3/8] acinclude: use pkgconfig for libxml2 config + +Signed-off-by: Koen Kooi <koen.kooi@linaro.org> +Upstream-Status: pending +--- + acinclude.m4 | 63 ++++++++++++++++++++++-------------------------------------- + 1 file changed, 23 insertions(+), 40 deletions(-) + +diff --git a/acinclude.m4 b/acinclude.m4 +index 206fcbf..a6c0d84 100644 +--- a/acinclude.m4 ++++ b/acinclude.m4 +@@ -2530,48 +2530,31 @@ dnl + dnl Common setup macro for libxml + dnl + AC_DEFUN([PHP_SETUP_LIBXML], [ +-AC_CACHE_CHECK([for xml2-config path], ac_cv_php_xml2_config_path, +-[ +- +- ac_cv_php_xml2_config_path="$PHP_LIBXML_DIR/xml2-config" +- ++PKG_CHECK_MODULES([LIBXML], [libxml-2.0 > 2.6.11], [ ++ PHP_EVAL_LIBLINE($LIBXML_LIBS, $1) ++ PHP_EVAL_INCLINE($LIBXML_CFLAGS) ++ ++ dnl Check that build works with given libs ++ AC_CACHE_CHECK(whether libxml build works, php_cv_libxml_build_works, [ ++ PHP_TEST_BUILD(xmlInitParser, ++ [ ++ php_cv_libxml_build_works=yes ++ AC_MSG_RESULT(yes) ++ ], [ ++ AC_MSG_RESULT(no) ++ AC_MSG_ERROR([build test failed. Please check the config.log for details.]) ++ ], [ ++ [$]$1 ++ ]) ++ ]) ++ if test "$php_cv_libxml_build_works" = "yes"; then ++ AC_DEFINE(HAVE_LIBXML, 1, [ ]) ++ fi ++ $2 ++], [ ++ AC_MSG_ERROR([$LIBXML_PKG_ERRORS]) + ]) + +- if test -x "$ac_cv_php_xml2_config_path"; then +- XML2_CONFIG="$ac_cv_php_xml2_config_path" +- libxml_full_version=`$XML2_CONFIG --version` +- ac_IFS=$IFS +- IFS="." +- set $libxml_full_version +- IFS=$ac_IFS +- LIBXML_VERSION=`expr [$]1 \* 1000000 + [$]2 \* 1000 + [$]3` +- if test "$LIBXML_VERSION" -ge "2006011"; then +- LIBXML_LIBS=`$XML2_CONFIG --libs` +- LIBXML_INCS=`$XML2_CONFIG --cflags` +- PHP_EVAL_LIBLINE($LIBXML_LIBS, $1) +- PHP_EVAL_INCLINE($LIBXML_INCS) +- +- dnl Check that build works with given libs +- AC_CACHE_CHECK(whether libxml build works, php_cv_libxml_build_works, [ +- PHP_TEST_BUILD(xmlInitParser, +- [ +- php_cv_libxml_build_works=yes +- ], [ +- AC_MSG_RESULT(no) +- AC_MSG_ERROR([build test failed. Please check the config.log for details.]) +- ], [ +- [$]$1 +- ]) +- ]) +- if test "$php_cv_libxml_build_works" = "yes"; then +- AC_DEFINE(HAVE_LIBXML, 1, [ ]) +- fi +- $2 +- else +- AC_MSG_ERROR([libxml2 version 2.6.11 or greater required.]) +- fi +-ifelse([$3],[],,[else $3]) +- fi + ]) + + dnl ------------------------------------------------------------------------- +-- +1.9.3 + diff --git a/meta-oe/recipes-devtools/php/php/0001-php-don-t-use-broken-wrapper-for-mkdir.patch b/meta-oe/recipes-devtools/php/php/0001-php-don-t-use-broken-wrapper-for-mkdir.patch index 9b71e9d2cc..2f7d581555 100644 --- a/meta-oe/recipes-devtools/php/php/0001-php-don-t-use-broken-wrapper-for-mkdir.patch +++ b/meta-oe/recipes-devtools/php/php/0001-php-don-t-use-broken-wrapper-for-mkdir.patch @@ -1,18 +1,18 @@ -From 411ec4b31fdcc524f13fe5be80fd6769b7d16a5d Mon Sep 17 00:00:00 2001 +From ebc101e0728b9db6c687cff525e5dfc8eb0edbf3 Mon Sep 17 00:00:00 2001 From: Koen Kooi <koen@dominion.thruhere.net> Date: Thu, 3 Nov 2011 14:27:15 +0100 -Subject: [PATCH] php: don't use broken wrapper for mkdir +Subject: [PATCH 2/8] php: don't use broken wrapper for mkdir Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> --- Upstream-Status: Inappropriate - Makefile.global | 2 +- - 1 files changed, 1 insertions(+), 1 deletions(-) + Makefile.global | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile.global b/Makefile.global -index 8dad0e4..abdb5d2 100644 +index ff858c2..ae554b4 100644 --- a/Makefile.global +++ b/Makefile.global @@ -1,4 +1,4 @@ @@ -22,5 +22,5 @@ index 8dad0e4..abdb5d2 100644 INSTALL_DATA = $(INSTALL) -m 644 -- -1.7.2.5 +1.9.3 diff --git a/meta-oe/recipes-devtools/php/php/70_mod_php5.conf b/meta-oe/recipes-devtools/php/php/70_mod_php5.conf new file mode 100644 index 0000000000..1de6fb11ac --- /dev/null +++ b/meta-oe/recipes-devtools/php/php/70_mod_php5.conf @@ -0,0 +1,12 @@ +# vim: ft=apache sw=4 ts=4 +<IfDefine PHP5> + # Load the module first + <IfModule !sapi_apache2.c> + LoadModule php5_module lib/apache2/modules/libphp5.so + </IfModule> + + # Set it to handle the files + AddHandler php5-script .php .phtml .php3 .php4 .php5 + AddType application/x-httpd-php-source .phps + DirectoryIndex index.html index.html.var index.php index.phtml +</IfDefine> diff --git a/meta-oe/recipes-devtools/php/php/acinclude-xml2-config.patch b/meta-oe/recipes-devtools/php/php/acinclude-xml2-config.patch index bf519d2934..30811a74bd 100644 --- a/meta-oe/recipes-devtools/php/php/acinclude-xml2-config.patch +++ b/meta-oe/recipes-devtools/php/php/acinclude-xml2-config.patch @@ -1,6 +1,10 @@ ---- /orig-acinclude.m4 2007-02-20 15:03:25.000000000 +0200 -+++ /acinclude.m4 2007-02-20 15:03:24.000000000 +0200 -@@ -2359,12 +2359,9 @@ +Upstream-status: Unknown + +diff --git a/acinclude.m4 b/acinclude.m4 +index 4fd452e..206fcbf 100644 +--- a/acinclude.m4 ++++ b/acinclude.m4 +@@ -2532,12 +2532,9 @@ dnl AC_DEFUN([PHP_SETUP_LIBXML], [ AC_CACHE_CHECK([for xml2-config path], ac_cv_php_xml2_config_path, [ @@ -14,5 +18,8 @@ + ac_cv_php_xml2_config_path="$PHP_LIBXML_DIR/xml2-config" + ]) - + if test -x "$ac_cv_php_xml2_config_path"; then +-- +1.9.3 + diff --git a/meta-oe/recipes-devtools/php/php/configure.patch b/meta-oe/recipes-devtools/php/php/configure.patch new file mode 100644 index 0000000000..c5334c706e --- /dev/null +++ b/meta-oe/recipes-devtools/php/php/configure.patch @@ -0,0 +1,11 @@ +--- php-5.1.6/configure.old 2006-09-12 07:54:14.000000000 -0700 ++++ php-5.1.6/configure 2006-09-12 07:54:37.000000000 -0700 +@@ -14715,8 +14715,6 @@ + + + +- unset ac_cv_func_dlopen +- unset ac_cv_func___dlopen + unset found + + echo $ac_n "checking for dlopen""... $ac_c" 1>&6 diff --git a/meta-oe/recipes-devtools/php/php/fix-fpm-cross-compile.patch b/meta-oe/recipes-devtools/php/php/fix-fpm-cross-compile.patch deleted file mode 100644 index b009347a21..0000000000 --- a/meta-oe/recipes-devtools/php/php/fix-fpm-cross-compile.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 0b44f16ea2f18a08eb1249db6621840527eab5e0 Mon Sep 17 00:00:00 2001 -From: Jerome Loyet <fat@php.net> -Date: Wed, 23 May 2012 11:40:22 +0200 -Subject: [PATCH] - Fixed bug #61839 (Unable to cross-compile PHP with - --enable-fpm) - ---- -Upstream-Status: Applied -http://git.php.net/?p=php-src.git;a=commit;h=0b44f16ea2f18a08eb1249db6621840527eab5e0 - - NEWS | 1 + - sapi/fpm/config.m4 | 4 ++++ - 2 files changed, 5 insertions(+) - -diff --git a/sapi/fpm/config.m4 b/sapi/fpm/config.m4 -index 8962810..6c860c9 100644 ---- a/sapi/fpm/config.m4 -+++ b/sapi/fpm/config.m4 -@@ -192,6 +192,8 @@ AC_DEFUN([AC_FPM_TRACE], - have_ptrace=no - have_broken_ptrace=yes - AC_MSG_RESULT([no]) -+ ], [ -+ AC_MSG_RESULT([skipped (cross compiling)]) - ]) - fi - -@@ -264,6 +266,8 @@ AC_DEFUN([AC_FPM_TRACE], - ], [ - proc_mem_file="" - AC_MSG_RESULT([no]) -+ ], [ -+ AC_MSG_RESULT([skipped (cross compiling)]) - ]) - fi - --- -1.7.11.5 diff --git a/meta-oe/recipes-devtools/php/php/iconv.patch b/meta-oe/recipes-devtools/php/php/iconv.patch index f3d2a16bbf..255fbb062c 100644 --- a/meta-oe/recipes-devtools/php/php/iconv.patch +++ b/meta-oe/recipes-devtools/php/php/iconv.patch @@ -1,8 +1,10 @@ +Upstream-status: Unknown + diff --git a/acinclude.m4 b/acinclude.m4 -index 4c28b80..d6491a1 100644 +index a6c0d84..df11abd 100644 --- a/acinclude.m4 +++ b/acinclude.m4 -@@ -2439,7 +2439,8 @@ AC_DEFUN([PHP_SETUP_ICONV], [ +@@ -2452,7 +2452,8 @@ AC_DEFUN([PHP_SETUP_ICONV], [ dnl Check libc first if no path is provided in --with-iconv dnl @@ -25,3 +27,6 @@ index d673b0a..1fbef13 100644 if test -f "$i/include/iconv.h" || test -f "$i/include/giconv.h"; then PHP_ICONV_PREFIX="$i" break +-- +1.9.3 + diff --git a/meta-oe/recipes-devtools/php/php/imap-fix-autofoo.patch b/meta-oe/recipes-devtools/php/php/imap-fix-autofoo.patch index 3695b7bc42..da04c2d953 100644 --- a/meta-oe/recipes-devtools/php/php/imap-fix-autofoo.patch +++ b/meta-oe/recipes-devtools/php/php/imap-fix-autofoo.patch @@ -1,8 +1,23 @@ -Index: php-5.2.11/ext/imap/config.m4 -=================================================================== ---- php-5.2.11.orig/ext/imap/config.m4 2009-12-10 12:27:52.800974533 -0700 -+++ php-5.2.11/ext/imap/config.m4 2009-12-10 12:28:33.720976583 -0700 -@@ -103,7 +103,7 @@ +Upstream-status: Unknown + +diff --git a/acinclude.m4 b/acinclude.m4 +index df11abd..06e7236 100644 +--- a/acinclude.m4 ++++ b/acinclude.m4 +@@ -2357,7 +2357,7 @@ AC_DEFUN([PHP_SETUP_OPENSSL],[ + PHP_OPENSSL_DIR="/usr/local/ssl /usr/local /usr /usr/local/openssl" + fi + +- for i in $PHP_OPENSSL_DIR; do ++ for i in $PHP_OPENSSL_DIR $PHP_OPENSSL_DIR/usr; do + if test -r $i/include/openssl/evp.h; then + OPENSSL_INCDIR=$i/include + fi +diff --git a/ext/imap/config.m4 b/ext/imap/config.m4 +index 3fcf674..f08caf7 100644 +--- a/ext/imap/config.m4 ++++ b/ext/imap/config.m4 +@@ -109,7 +109,7 @@ if test "$PHP_IMAP" != "no"; then PHP_NEW_EXTENSION(imap, php_imap.c, $ext_shared) AC_DEFINE(HAVE_IMAP,1,[ ]) @@ -11,13 +26,13 @@ Index: php-5.2.11/ext/imap/config.m4 IMAP_INC_CHK() el[]IMAP_INC_CHK(/include/c-client) el[]IMAP_INC_CHK(/include/imap) -@@ -192,13 +192,7 @@ +@@ -198,13 +198,7 @@ if test "$PHP_IMAP" != "no"; then AC_MSG_ERROR(Cannot find rfc822.h. Please check your c-client installation.) fi -- if test -r "$IMAP_DIR/c-client/c-client.a"; then +- if test ! -r "$IMAP_DIR/c-client/libc-client.a" && test -r "$IMAP_DIR/c-client/c-client.a" ; then - ln -s "$IMAP_DIR/c-client/c-client.a" "$IMAP_DIR/c-client/libc-client.a" >/dev/null 2>&1 -- elif test -r "$IMAP_DIR/$PHP_LIBDIR/c-client.a"; then +- elif test ! -r "$IMAP_DIR/$PHP_LIBDIR/libc-client.a" && test -r "$IMAP_DIR/$PHP_LIBDIR/c-client.a"; then - ln -s "$IMAP_DIR/$PHP_LIBDIR/c-client.a" "$IMAP_DIR/$PHP_LIBDIR/libc-client.a" >/dev/null 2>&1 - fi - @@ -26,16 +41,6 @@ Index: php-5.2.11/ext/imap/config.m4 IMAP_LIB=$lib IMAP_LIB_CHK($PHP_LIBDIR) IMAP_LIB_CHK(c-client) -Index: php-5.2.11/acinclude.m4 -=================================================================== ---- php-5.2.11.orig/acinclude.m4 2009-12-10 12:37:13.134722881 -0700 -+++ php-5.2.11/acinclude.m4 2009-12-10 12:37:39.342007053 -0700 -@@ -2338,7 +2338,7 @@ - PHP_OPENSSL_DIR="/usr/local/ssl /usr/local /usr /usr/local/openssl" - fi - -- for i in $PHP_OPENSSL_DIR; do -+ for i in $PHP_OPENSSL_DIR $PHP_OPENSSL_DIR/usr; do - if test -r $i/include/openssl/evp.h; then - OPENSSL_INCDIR=$i/include - fi +-- +1.9.3 + diff --git a/meta-oe/recipes-devtools/php/php/pear-makefile.patch b/meta-oe/recipes-devtools/php/php/pear-makefile.patch index 1928b98966..9927d2d967 100644 --- a/meta-oe/recipes-devtools/php/php/pear-makefile.patch +++ b/meta-oe/recipes-devtools/php/php/pear-makefile.patch @@ -1,5 +1,7 @@ +Upstream-status: Unknown + diff --git a/pear/Makefile.frag b/pear/Makefile.frag -index 1f6f70e..b19a77c 100644 +index 00bacae..739eeca 100644 --- a/pear/Makefile.frag +++ b/pear/Makefile.frag @@ -11,7 +11,7 @@ PEAR_PREFIX = -dp a${program_prefix} @@ -11,3 +13,6 @@ index 1f6f70e..b19a77c 100644 install-pear: @echo "Installing PEAR environment: $(INSTALL_ROOT)$(peardir)/" +-- +1.9.3 + diff --git a/meta-oe/recipes-devtools/php/php/phar-makefile.patch b/meta-oe/recipes-devtools/php/php/phar-makefile.patch index 6fde251275..2851b0f8df 100644 --- a/meta-oe/recipes-devtools/php/php/phar-makefile.patch +++ b/meta-oe/recipes-devtools/php/php/phar-makefile.patch @@ -1,8 +1,15 @@ +Fix phar packaging + +Inherited from OE-Classic, with some additions to fix host paths leaking +into the target package. + +Upstream-Status: Inappropriate [config] + diff --git a/ext/phar/Makefile.frag b/ext/phar/Makefile.frag -index fc93d1d..9a8cd65 100755 +index 6516ddf..36e6cf4 100644 --- a/ext/phar/Makefile.frag +++ b/ext/phar/Makefile.frag -@@ -6,19 +6,8 @@ pharcmd: $(builddir)/phar.php $(builddir)/phar.phar +@@ -5,20 +5,9 @@ pharcmd: $(builddir)/phar.php $(builddir)/phar.phar PHP_PHARCMD_SETTINGS = -d 'open_basedir=' -d 'output_buffering=0' -d 'memory_limit=-1' -d phar.readonly=0 -d 'safe_mode=0' PHP_PHARCMD_EXECUTABLE = ` \ @@ -19,8 +26,19 @@ index fc93d1d..9a8cd65 100755 - else \ - $(top_srcdir)/build/shtool echo -n -- "$(PHP_EXECUTABLE)"; \ - fi;` +-PHP_PHARCMD_BANG = `$(top_srcdir)/build/shtool echo -n -- "$(INSTALL_ROOT)$(bindir)/$(program_prefix)php$(program_suffix)$(EXEEXT)";` + $(top_srcdir)/build/shtool echo -n -- "$(PHP_EXECUTABLE)"; ` + - PHP_PHARCMD_BANG = `$(top_srcdir)/build/shtool echo -n -- "$(INSTALL_ROOT)$(bindir)/$(program_prefix)php$(program_suffix)$(EXEEXT)";` ++PHP_PHARCMD_BANG = `$(top_srcdir)/build/shtool echo -n -- "$(bindir)/$(program_prefix)php$(program_suffix)$(EXEEXT)";` $(builddir)/phar/phar.inc: $(srcdir)/phar/phar.inc + -@test -d $(builddir)/phar || mkdir $(builddir)/phar +@@ -39,7 +28,7 @@ install-pharcmd: pharcmd + -@$(mkinstalldirs) $(INSTALL_ROOT)$(bindir) + $(INSTALL) $(builddir)/phar.phar $(INSTALL_ROOT)$(bindir) + -@rm -f $(INSTALL_ROOT)$(bindir)/phar +- $(LN_S) -f $(INSTALL_ROOT)$(bindir)/phar.phar $(INSTALL_ROOT)$(bindir)/phar ++ $(LN_S) -f $(bindir)/phar.phar $(INSTALL_ROOT)$(bindir)/phar + @$(mkinstalldirs) $(INSTALL_ROOT)$(mandir)/man1 + @$(INSTALL_DATA) $(builddir)/phar.1 $(INSTALL_ROOT)$(mandir)/man1/phar.1 + @$(INSTALL_DATA) $(builddir)/phar.phar.1 $(INSTALL_ROOT)$(mandir)/man1/phar.phar.1 diff --git a/meta-oe/recipes-devtools/php/php/php_exec_native.patch b/meta-oe/recipes-devtools/php/php/php_exec_native.patch index 31be1b70b7..0506bddaf4 100644 --- a/meta-oe/recipes-devtools/php/php/php_exec_native.patch +++ b/meta-oe/recipes-devtools/php/php/php_exec_native.patch @@ -1,12 +1,10 @@ ---- - sapi/cli/config.m4 | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) +Upstream-status: Inappriate ---- php-5.4.14.orig/sapi/cli/config.m4 -+++ php-5.4.14/sapi/cli/config.m4 -@@ -34,11 +34,11 @@ if test "$PHP_CLI" != "no"; then - BUILD_CLI="\$(LIBTOOL) --mode=link \$(CC) -export-dynamic \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(PHP_RPATHS) \$(PHP_GLOBAL_OBJS) \$(PHP_BINARY_OBJS) \$(PHP_CLI_OBJS) \$(EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o \$(SAPI_CLI_PATH)" - ;; +diff --git a/sapi/cli/config.m4 b/sapi/cli/config.m4 +index cdfa1f7..0fe11e3 100644 +--- a/sapi/cli/config.m4 ++++ b/sapi/cli/config.m4 +@@ -36,7 +36,7 @@ if test "$PHP_CLI" != "no"; then esac dnl Set executable for tests @@ -15,5 +13,6 @@ PHP_SUBST(PHP_EXECUTABLE) dnl Expose to Makefile - PHP_SUBST(SAPI_CLI_PATH) - PHP_SUBST(BUILD_CLI) +-- +1.9.3 + diff --git a/meta-oe/recipes-devtools/php/php/pthread-check-threads-m4.patch b/meta-oe/recipes-devtools/php/php/pthread-check-threads-m4.patch new file mode 100644 index 0000000000..0c564cd88e --- /dev/null +++ b/meta-oe/recipes-devtools/php/php/pthread-check-threads-m4.patch @@ -0,0 +1,30 @@ +From d8067ceacbf54e79c9c6b68675332c09eaa0b55d Mon Sep 17 00:00:00 2001 +From: Jackie Huang <jackie.huang@windriver.com> +Date: Mon, 8 Apr 2013 14:29:51 +0800 +Subject: [PATCH] pthread-check + +Enable pthreads support when cross-compiling + +Upstream-Status: Inapproprate [config] + +Signed-off-by: Jackie Huang <jackie.huang@windriver.com> +--- + TSRM/threads.m4 | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/TSRM/threads.m4 b/TSRM/threads.m4 +index 38494ce..15d9454 100644 +--- a/TSRM/threads.m4 ++++ b/TSRM/threads.m4 +@@ -86,7 +86,7 @@ int main() { + pthreads_working=no + ], [ + dnl For cross compiling running this test is of no use. NetWare supports pthreads +- pthreads_working=no ++ pthreads_working=yes + case $host_alias in + *netware*) + pthreads_working=yes +-- +1.7.4.1 + diff --git a/meta-oe/recipes-devtools/php/php_5.4.14.bb b/meta-oe/recipes-devtools/php/php_5.4.14.bb deleted file mode 100644 index 4e0efb1ede..0000000000 --- a/meta-oe/recipes-devtools/php/php_5.4.14.bb +++ /dev/null @@ -1,21 +0,0 @@ -require php.inc - -LIC_FILES_CHKSUM = "file://LICENSE;md5=cb564efdf78cce8ea6e4b5a4f7c05d97" - -PR = "${INC_PR}.0" - -SRC_URI += "file://acinclude-xml2-config.patch \ - file://0001-php-don-t-use-broken-wrapper-for-mkdir.patch" - -SRC_URI_append_pn-php += "file://iconv.patch \ - file://imap-fix-autofoo.patch \ - file://pear-makefile.patch \ - file://phar-makefile.patch \ - file://php_exec_native.patch \ - file://fix-fpm-cross-compile.patch \ - file://php-fpm.conf \ - file://php-fpm-apache.conf \ -" - -SRC_URI[md5sum] = "cfdc044be2c582991a1fe0967898fa38" -SRC_URI[sha256sum] = "5450f3843bc651eb3fb00601f0cce1930aaaf65c7c966c02fe4a46f9c81be20a" diff --git a/meta-oe/recipes-devtools/php/php_5.5.20.bb b/meta-oe/recipes-devtools/php/php_5.5.20.bb new file mode 100644 index 0000000000..cfda14b8b9 --- /dev/null +++ b/meta-oe/recipes-devtools/php/php_5.5.20.bb @@ -0,0 +1,237 @@ +SUMMARY = "A server-side, HTML-embedded scripting language" +HOMEPAGE = "http://www.php.net" +SECTION = "console/network" + +LICENSE = "PHP-3.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=52dd90569008fee5bcdbb22d945b1108" + +BBCLASSEXTEND = "native" +DEPENDS = "zlib bzip2 libxml2 virtual/libiconv php-native lemon-native \ + openssl libmcrypt" +DEPENDS_class-native = "zlib-native libxml2-native" + +SRC_URI = "http://php.net/distributions/php-${PV}.tar.bz2 \ + file://acinclude-xml2-config.patch \ + file://0001-php-don-t-use-broken-wrapper-for-mkdir.patch \ + file://0001-acinclude-use-pkgconfig-for-libxml2-config.patch \ + " + +SRC_URI_append_class-target += " \ + file://iconv.patch \ + file://imap-fix-autofoo.patch \ + file://pear-makefile.patch \ + file://phar-makefile.patch \ + file://php_exec_native.patch \ + file://php-fpm.conf \ + file://php-fpm-apache.conf \ + file://configure.patch \ + file://pthread-check-threads-m4.patch \ + file://70_mod_php5.conf \ + " + +SRC_URI[md5sum] = "9dfc1d4d2b44fb7e2b4ee9651d032203" +SRC_URI[sha256sum] = "f28a150d1cd8991bd1a41dce4fdff4e343d1dbe01a48b9b44bea74532ce0391a" + +S = "${WORKDIR}/php-${PV}" + +inherit autotools pkgconfig pythonnative gettext + +# phpize is not scanned for absolute paths by default (but php-config is). +# +SSTATE_SCAN_FILES += "phpize" +SSTATE_SCAN_FILES += "build-defs.h" + +PHP_LIBDIR = "${libdir}/php5" + +# Common EXTRA_OECONF +COMMON_EXTRA_OECONF = "--enable-sockets \ + --enable-pcntl \ + --enable-shared \ + --disable-opcache \ + --disable-rpath \ + --with-pic \ + --libdir=${PHP_LIBDIR} \ +" +EXTRA_OECONF = "--enable-mbstring \ + --enable-wddx \ + --enable-fpm \ + --enable-zip \ + --with-libdir=${baselib} \ + --with-gettext=${STAGING_LIBDIR}/.. \ + --with-zlib=${STAGING_LIBDIR}/.. \ + --with-iconv=${STAGING_LIBDIR}/.. \ + --with-mcrypt=${STAGING_DIR_TARGET}${exec_prefix} \ + --with-bz2=${STAGING_DIR_TARGET}${exec_prefix} \ + --with-config-file-path=${sysconfdir}/php/apache2-php5 \ + ${@base_conditional('SITEINFO_ENDIANNESS', 'le', 'ac_cv_c_bigendian_php=no', 'ac_cv_c_bigendian_php=yes', d)} \ + ${@bb.utils.contains('PACKAGECONFIG', 'pam', '', 'ac_cv_lib_pam_pam_start=no', d)} \ + ${COMMON_EXTRA_OECONF} \ +" +EXTRA_OECONF_class-native = " \ + --with-zlib=${STAGING_LIBDIR_NATIVE}/.. \ + --without-iconv \ + ${COMMON_EXTRA_OECONF} \ +" + +PACKAGECONFIG ??= "mysql sqlite3 imap \ + ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam', '', d)}" +PACKAGECONFIG_class-native = "" + +PACKAGECONFIG[mysql] = "--with-mysql=${STAGING_DIR_TARGET}${prefix} \ + --with-mysqli=${STAGING_BINDIR_CROSS}/mysql_config \ + --with-pdo-mysql=${STAGING_BINDIR_CROSS}/mysql_config \ + ,--without-mysql --without-mysqli --without-pdo-mysql \ + ,mysql5" + +PACKAGECONFIG[sqlite3] = "--with-sqlite3=${STAGING_LIBDIR}/.. \ + --with-pdo-sqlite=${STAGING_LIBDIR}/.. \ + , \ + ,sqlite3" +PACKAGECONFIG[pgsql] = "--with-pgsql=${STAGING_DIR_TARGET}${exec_prefix},--without-pgsql,postgresql" +PACKAGECONFIG[soap] = "--enable-libxml --enable-soap, --disable-soap, libxml2" +PACKAGECONFIG[apache2] = "--with-apxs2=${STAGING_BINDIR_CROSS}/apxs,,apache2-native apache2" +PACKAGECONFIG[pam] = ",,libpam" +PACKAGECONFIG[imap] = "--with-imap=${STAGING_DIR_HOST} \ + --with-imap-ssl=${STAGING_DIR_HOST} \ + ,--without-imap --without-imap-ssl \ + ,uw-imap" + + +export PHP_NATIVE_DIR = "${STAGING_BINDIR_NATIVE}" +export PHP_PEAR_PHP_BIN = "${STAGING_BINDIR_NATIVE}/php" +CFLAGS += " -D_GNU_SOURCE -g -DPTYS_ARE_GETPT -DPTYS_ARE_SEARCHED -I${STAGING_INCDIR}/apache2" + +EXTRA_OEMAKE = "INSTALL_ROOT=${D}" + +acpaths = "" + +do_configure_prepend () { + rm -f ${S}/build/libtool.m4 ${S}/ltmain.sh ${S}/aclocal.m4 + find ${S} -name config.m4 | xargs -n1 sed -i 's!APXS_HTTPD=.*!APXS_HTTPD=${STAGING_BINDIR_NATIVE}/httpd!' +} + +do_configure_append() { + # No, libtool, we really don't want rpath set... + sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' ${HOST_SYS}-libtool + sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' ${HOST_SYS}-libtool +} + +do_install_append_class-native() { + rm -rf ${D}/${PHP_LIBDIR}/php/.registry + rm -rf ${D}/${PHP_LIBDIR}/php/.channels + rm -rf ${D}/${PHP_LIBDIR}/php/.[a-z]* +} + +do_install_prepend() { + cat aclocal-copy/libtool.m4 aclocal-copy/lt~obsolete.m4 aclocal-copy/ltoptions.m4 \ + aclocal-copy/ltsugar.m4 aclocal-copy/ltversion.m4 > ${S}/build/libtool.m4 +} + +do_install_prepend_class-target() { + if ${@bb.utils.contains('PACKAGECONFIG', 'apache2', 'true', 'false', d)}; then + # Install dummy config file so apxs doesn't fail + install -d ${D}${sysconfdir}/apache2 + printf "\nLoadModule dummy_module modules/mod_dummy.so\n" > ${D}${sysconfdir}/apache2/httpd.conf + fi +} + +# fixme +do_install_append_class-target() { + install -d ${D}/${sysconfdir}/ + if [ -d ${D}/${STAGING_DIR_NATIVE}/${sysconfdir} ];then + mv ${D}/${STAGING_DIR_NATIVE}/${sysconfdir}/* ${D}/${sysconfdir}/ + fi + rm -rf ${D}/${TMPDIR} + rm -rf ${D}/.registry + rm -rf ${D}/.channels + rm -rf ${D}/.[a-z]* + rm -rf ${D}/var + rm -f ${D}/${sysconfdir}/php-fpm.conf.default + sed -i 's:${STAGING_DIR_NATIVE}::g' ${D}/${sysconfdir}/pear.conf + install -m 0644 ${WORKDIR}/php-fpm.conf ${D}/${sysconfdir}/php-fpm.conf + install -d ${D}/${sysconfdir}/apache2/conf.d + install -m 0644 ${WORKDIR}/php-fpm-apache.conf ${D}/${sysconfdir}/apache2/conf.d/php-fpm.conf + install -d ${D}${sysconfdir}/init.d + sed -i 's:=/usr/sbin:=${sbindir}:g' ${B}/sapi/fpm/init.d.php-fpm + sed -i 's:=/etc:=${sysconfdir}:g' ${B}/sapi/fpm/init.d.php-fpm + sed -i 's:=/var:=${localstatedir}:g' ${B}/sapi/fpm/init.d.php-fpm + install -m 0755 ${B}/sapi/fpm/init.d.php-fpm ${D}${sysconfdir}/init.d/php-fpm + TMP=`dirname ${D}/${TMPDIR}` + while test ${TMP} != ${D}; do + rmdir ${TMP} + TMP=`dirname ${TMP}`; + done + + if ${@bb.utils.contains('PACKAGECONFIG', 'apache2', 'true', 'false', d)}; then + install -d ${D}${libdir}/apache2/modules + install -d ${D}${sysconfdir}/apache2/modules.d + install -d ${D}${sysconfdir}/php/apache2-php5 + install -m 755 libs/libphp5.so ${D}${libdir}/apache2/modules + install -m 644 ${WORKDIR}/70_mod_php5.conf ${D}${sysconfdir}/apache2/modules.d + sed -i s,lib/,${libdir}/, ${D}${sysconfdir}/apache2/modules.d/70_mod_php5.conf + cat ${S}/php.ini-production | \ + sed -e 's,extension_dir = \"\./\",extension_dir = \"/usr/lib/extensions\",' \ + > ${D}${sysconfdir}/php/apache2-php5/php.ini + rm -f ${D}${sysconfdir}/apache2/httpd.conf* + fi +} + +SYSROOT_PREPROCESS_FUNCS += "php_sysroot_preprocess" + +php_sysroot_preprocess () { + install -d ${SYSROOT_DESTDIR}${bindir_crossscripts}/ + install -m 755 ${D}${bindir}/phpize ${SYSROOT_DESTDIR}${bindir_crossscripts}/ + install -m 755 ${D}${bindir}/php-config ${SYSROOT_DESTDIR}${bindir_crossscripts}/ + + sed -i 's!eval echo /!eval echo ${STAGING_DIR_HOST}/!' ${SYSROOT_DESTDIR}${bindir_crossscripts}/phpize + sed -i 's!^include_dir=.*!include_dir=${STAGING_INCDIR}/php!' ${SYSROOT_DESTDIR}${bindir_crossscripts}/php-config +} + +MODPHP_PACKAGE = "${@bb.utils.contains('PACKAGECONFIG', 'apache2', '${PN}-modphp', '', d)}" + +PACKAGES = "${PN}-dbg ${PN}-cli ${PN}-cgi ${PN}-fpm ${PN}-fpm-apache2 ${PN}-pear ${PN}-phar ${MODPHP_PACKAGE} ${PN}-dev ${PN}-staticdev ${PN}-doc ${PN}" + +RDEPENDS_${PN}-pear = "${PN}" +RDEPENDS_${PN}-phar = "${PN}-cli" +RDEPENDS_${PN}-cli = "${PN}" +RDEPENDS_${PN}-modphp = "${PN} apache2" +RDEPENDS_${PN}-dev = "${PN}" + +INITSCRIPT_PACKAGES = "${PN}-fpm" +inherit update-rc.d + +FILES_${PN}-dbg =+ "${bindir}/.debug \ + ${libdir}/apache2/modules/.debug" +FILES_${PN}-doc += "${PHP_LIBDIR}/php/doc" +FILES_${PN}-cli = "${bindir}/php" +FILES_${PN}-phar = "${bindir}/phar*" +FILES_${PN}-cgi = "${bindir}/php-cgi" +FILES_${PN}-fpm = "${sbindir}/php-fpm ${sysconfdir}/php-fpm.conf ${datadir}/fpm ${sysconfdir}/init.d/php-fpm" +FILES_${PN}-fpm-apache2 = "${sysconfdir}/apache2/conf.d/php-fpm.conf" +CONFFILES_${PN}-fpm = "${sysconfdir}/php-fpm.conf" +CONFFILES_${PN}-fpm-apache2 = "${sysconfdir}/apache2/conf.d/php-fpm.conf" +INITSCRIPT_NAME_${PN}-fpm = "php-fpm" +INITSCRIPT_PARAMS_${PN}-fpm = "defaults 60" +FILES_${PN}-pear = "${bindir}/pear* ${bindir}/pecl ${PHP_LIBDIR}/php/PEAR \ + ${PHP_LIBDIR}/php/PEAR*.php ${PHP_LIBDIR}/php/System.php \ + ${PHP_LIBDIR}/php/peclcmd.php ${PHP_LIBDIR}/php/pearcmd.php \ + ${PHP_LIBDIR}/php/.channels ${PHP_LIBDIR}/php/.channels/.alias \ + ${PHP_LIBDIR}/php/.registry ${PHP_LIBDIR}/php/Archive/Tar.php \ + ${PHP_LIBDIR}/php/Console/Getopt.php ${PHP_LIBDIR}/php/OS/Guess.php \ + ${PHP_LIBDIR}/php/data/PEAR \ + ${sysconfdir}/pear.conf" +FILES_${PN}-dev = "${includedir}/php ${PHP_LIBDIR}/build ${bindir}/phpize \ + ${bindir}/php-config ${PHP_LIBDIR}/php/.depdb \ + ${PHP_LIBDIR}/php/.depdblock ${PHP_LIBDIR}/php/.filemap \ + ${PHP_LIBDIR}/php/.lock ${PHP_LIBDIR}/php/test" +FILES_${PN} = "${PHP_LIBDIR}/php" +FILES_${PN} += "${bindir}" + +SUMMARY_${PN}-modphp = "PHP module for the Apache HTTP server" +FILES_${PN}-modphp = "${libdir}/apache2 ${sysconfdir}" + +MODPHP_OLDPACKAGE = "${@bb.utils.contains('PACKAGECONFIG', 'apache2', 'modphp', '', d)}" +RPROVIDES_${PN}-modphp = "${MODPHP_OLDPACKAGE}" +RREPLACES_${PN}-modphp = "${MODPHP_OLDPACKAGE}" +RCONFLICTS_${PN}-modphp = "${MODPHP_OLDPACKAGE}" + diff --git a/meta-oe/recipes-devtools/pm-qa/pm-qa_git.bb b/meta-oe/recipes-devtools/pm-qa/pm-qa_git.bb index 924334010f..dc16aef977 100644 --- a/meta-oe/recipes-devtools/pm-qa/pm-qa_git.bb +++ b/meta-oe/recipes-devtools/pm-qa/pm-qa_git.bb @@ -4,12 +4,12 @@ HOMEPAGE = "https://wiki.linaro.org/WorkingGroups/PowerManagement/Resources/Test LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" -PV = "0.4.10" +PV = "0.4.14" BRANCH ?= "master" -# Corresponds to tag pm-qa-v0.4.10 -SRCREV = "03a22d5ad7deb6021b2ec1d546a960d8a9878255" +# Corresponds to tag pm-qa-v0.4.14 +SRCREV = "9111d1930f02337394cf16e84ad2a27f33607cbb" SRC_URI = "git://git.linaro.org/power/pm-qa.git;protocol=git;branch=${BRANCH}" diff --git a/meta-oe/recipes-devtools/protobuf/protobuf_2.4.1.bb b/meta-oe/recipes-devtools/protobuf/protobuf_2.5.0.bb index c4ed5e64b7..a0db7bf95d 100644 --- a/meta-oe/recipes-devtools/protobuf/protobuf_2.4.1.bb +++ b/meta-oe/recipes-devtools/protobuf/protobuf_2.5.0.bb @@ -6,12 +6,14 @@ HOMEPAGE = "http://code.google.com/p/protobuf/" SECTION = "console/tools" LICENSE = "BSD-3-Clause" +DEPENDS = "zlib" + LIC_FILES_CHKSUM = "file://COPYING.txt;md5=af6809583bfde9a31595a58bb4a24514" SRC_URI = "http://protobuf.googlecode.com/files/protobuf-${PV}.tar.gz" -SRC_URI[md5sum] = "dc84e9912ea768baa1976cb7bbcea7b5" -SRC_URI[sha256sum] = "eac6969b617f397247e805267da2b0db3ff9e5a9163b123503a192fbb5776567" +SRC_URI[md5sum] = "b751f772bdeb2812a2a8e7202bf1dae8" +SRC_URI[sha256sum] = "c55aa3dc538e6fd5eaf732f4eb6b98bdcb7cedb5b91d3b5bdcf29c98c293f58e" EXTRA_OECONF += " --with-protoc=echo" diff --git a/meta-oe/recipes-devtools/python/pyrtm_0.2.bb b/meta-oe/recipes-devtools/python/pyrtm_0.2.bb deleted file mode 100644 index ee7b6d0180..0000000000 --- a/meta-oe/recipes-devtools/python/pyrtm_0.2.bb +++ /dev/null @@ -1,12 +0,0 @@ -SUMMARY = "Python interface for Remember The Milk API" -AUTHOR = "Sridhar Ratnakumar / srid" -HOMEPAGE = "http://pypi.python.org/pypi/pyrtm" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=a53cbc7cb75660694e138ba973c148df" -DEPENDS = "python-native" - -inherit distutils - -SRC_URI = "http://pypi.python.org/packages/source/p/${PN}/${P}.tar.gz" -SRC_URI[md5sum] = "34423f39caf7df8a9db8e243be9cf1a0" -SRC_URI[sha256sum] = "d9d46d096a38cb692b55f4ee9f364d54348298e9497b11c1ef057539b5de1567" diff --git a/meta-oe/recipes-devtools/python/python-autobahn_0.8.6.bb b/meta-oe/recipes-devtools/python/python-autobahn_0.8.6.bb deleted file mode 100644 index ac775c4c33..0000000000 --- a/meta-oe/recipes-devtools/python/python-autobahn_0.8.6.bb +++ /dev/null @@ -1,19 +0,0 @@ -DESCRIPTION = "AutobahnPython provides a WebSocket (RFC6455, Hybi-10 to -17, Hixie-76) framework for creating WebSocket-based clients and servers. \ -AutobahnPython also includes an implementation of WAMP (The WebSockets Application Messaging Protocol), a light-weight, \ -asynchronous RPC/PubSub over JSON/WebSocket protocol." -HOMEPAGE = "http://autobahn.ws/python" -SECTION = "console/network" - -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = " file://autobahn/__init__.py;beginline=1;endline=17;md5=1fdeccf6e5b70cda64cc1345597c18e3" - -SRC_URI = "https://pypi.python.org/packages/source/a/autobahn/autobahn-${PV}.zip" -SRC_URI[md5sum] = "160429e7fb043940e79aa7f4ebbab57a" -SRC_URI[sha256sum] = "94ae5c6f37f9fe7c9d3f12c170fcc273afed4104a1c5508b26d6014bb9e6373e" - -S = "${WORKDIR}/autobahn-${PV}" - -inherit setuptools - -RDEPENDS_${PN} = "python python-pprint python-twisted-protocols python-netserver python-twisted-web" - diff --git a/meta-oe/recipes-devtools/python/python-cheetah_2.4.4.bb b/meta-oe/recipes-devtools/python/python-cheetah_2.4.4.bb deleted file mode 100644 index e015d0b023..0000000000 --- a/meta-oe/recipes-devtools/python/python-cheetah_2.4.4.bb +++ /dev/null @@ -1,21 +0,0 @@ -SUMMARY = "Python template engine and code generation tool" -SECTION = "devel/python" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=aff1107514aa6aae948f9fe71fdc393b" - -SRCNAME = "Cheetah" - -PR = "r3" - -SRC_URI = "http://pypi.python.org/packages/source/C/Cheetah/Cheetah-${PV}.tar.gz" -S = "${WORKDIR}/${SRCNAME}-${PV}" - -inherit setuptools - -RDEPENDS_${PN} = "python-pickle python-pprint" -RDEPENDS_${PN}_class-native = "" - -BBCLASSEXTEND = "native nativesdk" - -SRC_URI[md5sum] = "853917116e731afbc8c8a43c37e6ddba" -SRC_URI[sha256sum] = "be308229f0c1e5e5af4f27d7ee06d90bb19e6af3059794e5fd536a6f29a9b550" diff --git a/meta-oe/recipes-devtools/python/python-cloudeebus_0.6.0.bb b/meta-oe/recipes-devtools/python/python-cloudeebus_0.6.0.bb deleted file mode 100644 index 120a8a7927..0000000000 --- a/meta-oe/recipes-devtools/python/python-cloudeebus_0.6.0.bb +++ /dev/null @@ -1,35 +0,0 @@ -DESCRIPTION = "A component which enables calling DBus methods and registering on DBus signals from Javascript" -HOMEPAGE = "https://github.com/01org/cloudeebus" -SECTION = "devel/python" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=2ee41112a44fe7014dce33e26468ba93" - -SRC_URI = "git://github.com/01org/cloudeebus.git;protocol=http;branch=master " -SRCREV = "b5cc957eeabfe98cb996baf8e5a0ac848993c3d4" - -S = "${WORKDIR}/git" - -inherit distutils - -DEPENDS_${PN} = "python python-distribute" -RDEPENDS_${PN} = "python python-dbus python-json python-argparse python-pygobject python-autobahn python-twisted python-subprocess" - -do_install_prepend() { - install -d ${D}${PYTHON_SITEPACKAGES_DIR}/${PN} -} - -DISTUTILS_INSTALL_ARGS = "--root=${D} \ - --single-version-externally-managed \ - --prefix=${prefix} \ - --install-lib=${PYTHON_SITEPACKAGES_DIR} \ - --install-data=${datadir}" - -do_install_append() { - distutils_do_install - install -d ${D}${datadir}/doc/${BPN}/ - install -m 0644 ${S}/README.md ${D}${datadir}/doc/${BPN}/ -} - -FILES_${PN} += "${datadir}/cloudeebus" -FILES_${PN} += "${sysconfdir}/dbus-1/system.d/org.cloudeebus.conf" - diff --git a/meta-oe/recipes-devtools/python/python-cython-0.15.1/0001-Don-t-append-docs-to-_Extension.extension.__doc__.patch b/meta-oe/recipes-devtools/python/python-cython-0.15.1/0001-Don-t-append-docs-to-_Extension.extension.__doc__.patch deleted file mode 100644 index 9b9dd460bf..0000000000 --- a/meta-oe/recipes-devtools/python/python-cython-0.15.1/0001-Don-t-append-docs-to-_Extension.extension.__doc__.patch +++ /dev/null @@ -1,27 +0,0 @@ -From bfed128dfe9551a3a40b1ac4269f18ecfeac80a9 Mon Sep 17 00:00:00 2001 -From: Martin Jansa <Martin.Jansa@gmail.com> -Date: Sat, 1 Oct 2011 11:46:30 +0200 -Subject: [PATCH] Don't append docs to _Extension.extension.__doc__ - -* here it fails with TypeError: unsupported operand type(s) for +: 'NoneType' and 'str' in setup.py - -Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> ---- - Cython/Distutils/extension.py | 1 - - 1 files changed, 0 insertions(+), 1 deletions(-) - -diff --git a/Cython/Distutils/extension.py b/Cython/Distutils/extension.py -index a5a6638..e76c1e7 100644 ---- a/Cython/Distutils/extension.py -+++ b/Cython/Distutils/extension.py -@@ -16,7 +16,6 @@ except ImportError: - warnings = None - - class Extension(_Extension.Extension): -- _Extension.Extension.__doc__ + \ - """pyrex_include_dirs : [string] - list of directories to search for Pyrex header files (.pxd) (in - Unix form for portability) --- -1.7.6.1 - diff --git a/meta-oe/recipes-devtools/python/python-cython_0.15.1.bb b/meta-oe/recipes-devtools/python/python-cython_0.15.1.bb deleted file mode 100644 index 0bf057aa82..0000000000 --- a/meta-oe/recipes-devtools/python/python-cython_0.15.1.bb +++ /dev/null @@ -1,19 +0,0 @@ -DESCRIPTION = "Cython is a language specially designed for writing Python extension modules. \ -It's designed to bridge the gap between the nice, high-level, easy-to-use world of Python \ -and the messy, low-level world of C." -SECTION = "devel/python" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=e23fadd6ceef8c618fc1c65191d846fa" -SRCNAME = "Cython" -BBCLASSEXTEND = "native" -PR = "r3" - -SRC_URI = "http://www.cython.org/release/${SRCNAME}-${PV}.tar.gz \ - file://0001-Don-t-append-docs-to-_Extension.extension.__doc__.patch \ -" -S = "${WORKDIR}/${SRCNAME}-${PV}" - -SRC_URI[md5sum] = "171021b3845c9ca8bd6d8185b3cde664" -SRC_URI[sha256sum] = "248123f2f02f2701a28d9452132ac835533b396a273cda9d361cb65c26067edc" - -inherit distutils diff --git a/meta-oe/recipes-devtools/python/python-dateutil_1.5.bb b/meta-oe/recipes-devtools/python/python-dateutil_1.5.bb deleted file mode 100644 index 784f560603..0000000000 --- a/meta-oe/recipes-devtools/python/python-dateutil_1.5.bb +++ /dev/null @@ -1,22 +0,0 @@ -SUMMARY = "Extensions to the standard Python date/time support" -HOMEPAGE = "http://labix.org/python-dateutil" -SECTION = "devel/python" -LICENSE = "PSF" -LIC_FILES_CHKSUM = "file://LICENSE;md5=d82268718c68bda0b091006ec6e583c6" -SRCNAME = "${PN}" - -SRC_URI = "http://labix.org/download/python-dateutil/${SRCNAME}-${PV}.tar.gz" -S = "${WORKDIR}/${SRCNAME}-${PV}" - -inherit setuptools - -PACKAGES =+ "${PN}-zoneinfo" -FILES_${PN}-zoneinfo = "${libdir}/${PYTHON_DIR}/site-packages/dateutil/zoneinfo" - -RDEPENDS_${PN} = "\ - python-core \ - python-datetime \ -" - -SRC_URI[md5sum] = "35f3732db3f2cc4afdc68a8533b60a52" -SRC_URI[sha256sum] = "c08aca7d85f8f8eed61e83b3423b829262c596a9a78f7ca3de0bcee2217d0e3b" diff --git a/meta-oe/recipes-devtools/python/python-epydoc_3.0.1.bb b/meta-oe/recipes-devtools/python/python-epydoc_3.0.1.bb deleted file mode 100644 index 4ec0668575..0000000000 --- a/meta-oe/recipes-devtools/python/python-epydoc_3.0.1.bb +++ /dev/null @@ -1,18 +0,0 @@ -DESCRIPTION = "Epydoc is a tool for generating API documentation for Python modules, based on their docstrings" -SECTION = "devel/python" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=011c0d78eb6054d731c879132d7313f0" -HOMEPAGE = "http://epydoc.sourceforge.net/" -SRCNAME = "epydoc" -DEPENDS += "python" -DEPENDS_virtclass-native += "python-native" - -SRC_URI = "http://downloads.sourceforge.net/project/${SRCNAME}/${SRCNAME}/${PV}/${SRCNAME}-${PV}.tar.gz" -SRC_URI[md5sum] = "cdd6f6c76dd8bab5e653a343a0544294" -SRC_URI[sha256sum] = "d4e5c8d90937d01b05170f592c1fa9b29e9ed0498dfe7f0eb2a3af61725b6ad1" - -S = "${WORKDIR}/${SRCNAME}-${PV}" - -inherit distutils - -BBCLASSEXTEND = "native" diff --git a/meta-oe/recipes-devtools/python/python-feedparser_5.1.3.bb b/meta-oe/recipes-devtools/python/python-feedparser_5.1.3.bb deleted file mode 100644 index 92d55682f5..0000000000 --- a/meta-oe/recipes-devtools/python/python-feedparser_5.1.3.bb +++ /dev/null @@ -1,14 +0,0 @@ -SUMMARY = "Python Atom and RSS feed parser" -HOMEPAGE = "http://code.google.com/p/feedparser" -SECTION = "devel/python" -LICENSE = "BSD-2-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=f5fbe7f8b71b4019eca5ac5f900fd8ad" - -SRC_URI = "http://feedparser.googlecode.com/files/feedparser-${PV}.tar.bz2" -SRC_URI[md5sum] = "6fb6372a1dc2f56d4d79d740b8f49f25" -SRC_URI[sha256sum] = "7f6507d400d07edfd1ea8205da36808009b0c539f5b8a6e0ab54337b955e6dc3" - -S = "${WORKDIR}/feedparser-${PV}" - -inherit setuptools - diff --git a/meta-oe/recipes-devtools/python/python-gdata_1.2.4.bb b/meta-oe/recipes-devtools/python/python-gdata_1.2.4.bb deleted file mode 100644 index ea602779be..0000000000 --- a/meta-oe/recipes-devtools/python/python-gdata_1.2.4.bb +++ /dev/null @@ -1,18 +0,0 @@ -SUMMARY = "Google Data APIs Python Client Library" -SECTION = "devel/python" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://README.txt;md5=473bd4dff0ddca1f958244b2dc7a162c" -HOMEPAGE = "http://code.google.com/p/gdata-python-client/" - -inherit distutils - -SRC_URI = "http://gdata-python-client.googlecode.com/files/gdata.py-${PV}.tar.gz" -SRC_URI[md5sum] = "521f33a377d64f8a6505ba119415b787" -SRC_URI[sha256sum] = "fc5ddb8f76b17abd728721a0e0177ea35f55a70106f44dc9010b22eceb06abde" - -S = "${WORKDIR}/gdata.py-${PV}" - -FILES_${PN} += "${datadir}" - -RDEPENDS_${PN} = "python-elementtree" - diff --git a/meta-oe/recipes-devtools/python/python-gevent_0.13.8.bb b/meta-oe/recipes-devtools/python/python-gevent_0.13.8.bb deleted file mode 100644 index 3fd3e7c536..0000000000 --- a/meta-oe/recipes-devtools/python/python-gevent_0.13.8.bb +++ /dev/null @@ -1,19 +0,0 @@ -SUMMARY = "A coroutine-based Python networking library" -DESCRIPTION = "gevent is a coroutine-based Python networking library that uses greenlet to provide \ -a high-level synchronous API on top of the libevent event loop." -HOMEPAGE = "http://www.gevent.org" -SECTION = "devel/python" -LICENSE = "MIT & BSD" -LIC_FILES_CHKSUM = "file://LICENSE;md5=2dbb33d00e1fd31c7041460a81ac0bd2 \ - file://LICENSE.pyevent;md5=718070c63de243053e2c616268b00fdd" -DEPENDS += "python-greenlet libevent" -RDEPENDS_${PN} += "python-greenlet python-mime python-pprint python-re" - -SRC_URI = "http://pypi.python.org/packages/source/g/gevent/gevent-${PV}.tar.gz" -SRC_URI[md5sum] = "ca9dcaa7880762d8ebbc266b11252960" -SRC_URI[sha256sum] = "54b8d26300ce408c0916a3e63ef6cd3e6aca76230833558deb7de15196ed955e" - -S = "${WORKDIR}/gevent-${PV}" - -inherit setuptools - diff --git a/meta-oe/recipes-devtools/python/python-greenlet_0.4.1.bb b/meta-oe/recipes-devtools/python/python-greenlet_0.4.1.bb deleted file mode 100644 index a6db8ab7b3..0000000000 --- a/meta-oe/recipes-devtools/python/python-greenlet_0.4.1.bb +++ /dev/null @@ -1,14 +0,0 @@ -SUMMARY = "Python lightweight in-process concurrent programming" -HOMEPAGE = "http://pypi.python.org/pypi/greenlet" -SECTION = "devel/python" -LICENSE = "MIT & PSF" -LIC_FILES_CHKSUM = "file://LICENSE;md5=03143d7a1a9f5d8a0fee825f24ca9c36 \ - file://LICENSE.PSF;md5=c106931d9429eda0492617f037b8f69a" -SRC_URI = "http://pypi.python.org/packages/source/g/greenlet/greenlet-${PV}.zip" -SRC_URI[md5sum] = "c2deda75bdda59c38cae12a77cc53adc" -SRC_URI[sha256sum] = "ea671592f8460541286b133ed46a6cf5311a6b75051cc31b53e2bc38992b775a" - -S = "${WORKDIR}/greenlet-${PV}" - -inherit distutils - diff --git a/meta-oe/recipes-devtools/python/python-ldap/setup.cfg.patch b/meta-oe/recipes-devtools/python/python-ldap/setup.cfg.patch deleted file mode 100644 index a703d342e9..0000000000 --- a/meta-oe/recipes-devtools/python/python-ldap/setup.cfg.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- python-ldap-2.3.9/setup.cfg.orig 2009-08-13 11:07:23.000000000 +0200 -+++ python-ldap-2.3.9/setup.cfg 2009-08-13 11:07:37.000000000 +0200 -@@ -1,9 +1,9 @@ - [_ldap] - extra_objects = - extra_compile_args = --libs = ldap_r lber sasl2 ssl crypto -+libs = ldap_r lber ssl crypto - library_dirs = /opt/openldap-RE24/lib --include_dirs = /opt/openldap-RE24/include /usr/include/sasl -+include_dirs = /opt/openldap-RE24/include - - [egg_info] - tag_build = diff --git a/meta-oe/recipes-devtools/python/python-ldap_2.3.9.bb b/meta-oe/recipes-devtools/python/python-ldap_2.3.9.bb deleted file mode 100644 index dfe1522fdc..0000000000 --- a/meta-oe/recipes-devtools/python/python-ldap_2.3.9.bb +++ /dev/null @@ -1,13 +0,0 @@ -DESCRIPTION = "LDAP client API for Python, C wrapper module around OpenLDAP 2.x with an object-oriented API" -SECTION = "devel/python" -LICENSE = "Python-style" -LIC_FILES_CHKSUM = "file://LICENCE;md5=a41c82edffa04912007cae1d20cac555" -HOMEPAGE = "http://www.python-ldap.org/" -DEPENDS = "python openldap" - -SRC_URI = "http://pypi.python.org/packages/source/p/${PN}/${PN}-${PV}.tar.gz \ - file://setup.cfg.patch" -SRC_URI[md5sum] = "a9f9f16338288d118a1ae6266c993247" -SRC_URI[sha256sum] = "62f75b21c5ee744408c9d8b59878328b3bdf47899d30e8abf0c09b3ffb893ed4" - -inherit setuptools diff --git a/meta-oe/recipes-devtools/python/python-lxml_3.0.2.bb b/meta-oe/recipes-devtools/python/python-lxml_3.0.2.bb deleted file mode 100644 index 5ab7b4a793..0000000000 --- a/meta-oe/recipes-devtools/python/python-lxml_3.0.2.bb +++ /dev/null @@ -1,33 +0,0 @@ -SUMMARY = "Python XML bindings for libxml2 and libxslt" -DESCRIPTION = "Powerful and Pythonic XML processing library combining \ -libxml2/libxslt with the ElementTree API." -HOMEPAGE = "http://codespeak.net/lxml" -LICENSE = "BSD" -LIC_FILES_CHKSUM = "file://LICENSES.txt;md5=f9f1dc24f720c143c2240df41fe5073b" -SRCNAME = "lxml" - -DEPENDS = "libxml2 libxslt" - -SRC_URI = "http://pypi.python.org/packages/source/l/${SRCNAME}/${SRCNAME}-${PV}.tar.gz;name=lxml" -SRC_URI[lxml.md5sum] = "38b15b0dd5e9292cf98be800e84a3ce4" -SRC_URI[lxml.sha256sum] = "cadba4cf0e235127795f76a6f7092cb035da23a6e9ec4c93f8af43a6784cd101" - -S = "${WORKDIR}/${SRCNAME}-${PV}" - -inherit setuptools - -DISTUTILS_BUILD_ARGS += " \ - --with-xslt-config='${STAGING_BINDIR_NATIVE}/pkg-config libxslt' \ - --with-xml2-config='${STAGING_BINDIR_CROSS}/xml2-config' \ -" - -DISTUTILS_INSTALL_ARGS += " \ - --with-xslt-config='${STAGING_BINDIR_NATIVE}/pkg-config libxslt' \ - --with-xml2-config='${STAGING_BINDIR_CROSS}/xml2-config' \ -" - -BBCLASSEXTEND = "native nativesdk" - -RDEPENDS_${PN} += "libxml2 libxslt python-compression" -RDEPENDS_${PN}_virtclass-native = "libxml2-native libxslt-native" - diff --git a/meta-oe/recipes-devtools/python/python-m2crypto/0001-setup.py-link-in-sysroot-not-in-host-directories.patch b/meta-oe/recipes-devtools/python/python-m2crypto/0001-setup.py-link-in-sysroot-not-in-host-directories.patch deleted file mode 100644 index bcbdf24bb5..0000000000 --- a/meta-oe/recipes-devtools/python/python-m2crypto/0001-setup.py-link-in-sysroot-not-in-host-directories.patch +++ /dev/null @@ -1,39 +0,0 @@ -From f11b9c71080513f9b867ba8f40613ba2ebc6e960 Mon Sep 17 00:00:00 2001 -From: Koen Kooi <koen@dominion.thruhere.net> -Date: Fri, 29 Mar 2013 15:17:17 +0100 -Subject: [PATCH] setup.py: link in sysroot, not in host directories - -Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> - -Upstream-status: Unknown ---- - setup.py | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/setup.py b/setup.py -index e7c49eb..8deaa34 100644 ---- a/setup.py -+++ b/setup.py -@@ -40,7 +40,7 @@ class _M2CryptoBuildExt(build_ext.build_ext): - self.openssl = 'c:\\pkg' - else: - self.libraries = ['ssl', 'crypto'] -- self.openssl = '/usr' -+ self.openssl = os.environ.get( "STAGING_DIR" ) - - - def finalize_options(self): -@@ -49,8 +49,8 @@ class _M2CryptoBuildExt(build_ext.build_ext): - - build_ext.build_ext.finalize_options(self) - -- opensslIncludeDir = os.path.join(self.openssl, 'include') -- opensslLibraryDir = os.path.join(self.openssl, 'lib') -+ opensslIncludeDir = os.environ.get( "STAGING_INCDIR" ) -+ opensslLibraryDir = os.environ.get( "STAGING_LIBDIR" ) - - self.swig_opts = ['-I%s' % i for i in self.include_dirs + \ - [opensslIncludeDir]] --- -1.8.1.4 - diff --git a/meta-oe/recipes-devtools/python/python-m2crypto_0.21.1.bb b/meta-oe/recipes-devtools/python/python-m2crypto_0.21.1.bb deleted file mode 100644 index 21c02696dd..0000000000 --- a/meta-oe/recipes-devtools/python/python-m2crypto_0.21.1.bb +++ /dev/null @@ -1,23 +0,0 @@ -SUMMARY = "A Python crypto and SSL toolkit" -HOMEPAGE = "http://chandlerproject.org/bin/view/Projects/MeTooCrypto" - -DEPENDS = "openssl swig-native" - -LICENSE = "BSD" -LIC_FILES_CHKSUM = "file://LICENCE;md5=b0e1f0b7d0ce8a62c18b1287b991800e" - -SRC_URI = "http://pypi.python.org/packages/source/M/M2Crypto/M2Crypto-${PV}.tar.gz \ - file://0001-setup.py-link-in-sysroot-not-in-host-directories.patch" - -SRC_URI[md5sum] = "f93d8462ff7646397a9f77a2fe602d17" -SRC_URI[sha256sum] = "25b94498505c2d800ee465db0cc1aff097b1615adc3ac042a1c85ceca264fc0a" - -S = "${WORKDIR}/M2Crypto-${PV}" - -inherit setuptools - -SWIG_FEATURES_x86-64 = "-D__x86_64__" -SWIG_FEATURES ?= "" -export SWIG_FEATURES - -BBCLASSEXTEND = "native" diff --git a/meta-oe/recipes-devtools/python/python-matplotlib/fix_setup.patch b/meta-oe/recipes-devtools/python/python-matplotlib/fix_setup.patch deleted file mode 100644 index 9381583537..0000000000 --- a/meta-oe/recipes-devtools/python/python-matplotlib/fix_setup.patch +++ /dev/null @@ -1,29 +0,0 @@ -This fixes the dependency checks inside of setup.py since things like -'import numpy' won't work with bitbake. - -diff --git a/setup.py b/setup.py -index 2f13821..e6d6ed0 100644 ---- a/setup.py -+++ b/setup.py -@@ -113,12 +113,6 @@ if 1: - baseline_images = [chop_package(f) for f in baseline_images] - package_data['matplotlib'].extend(baseline_images) - --if not check_for_numpy(): -- sys.exit(1) -- --if not check_for_freetype(): -- sys.exit(1) -- - build_ft2font(ext_modules, packages) - build_ttconv(ext_modules, packages) - build_contour(ext_modules, packages) -@@ -129,7 +123,7 @@ build_tri(ext_modules, packages) - - print_raw("") - print_raw("OPTIONAL BACKEND DEPENDENCIES") --has_libpng = check_for_libpng() -+has_libpng = True - - if has_libpng and options['build_agg']: - build_agg(ext_modules, packages) diff --git a/meta-oe/recipes-devtools/python/python-matplotlib/fix_setupext.patch b/meta-oe/recipes-devtools/python/python-matplotlib/fix_setupext.patch deleted file mode 100644 index e07159552f..0000000000 --- a/meta-oe/recipes-devtools/python/python-matplotlib/fix_setupext.patch +++ /dev/null @@ -1,29 +0,0 @@ -This fixes the numpy import problem in setupext.py using a hard-coded path. - -diff --git a/setupext.py b/setupext.py -index 962cedc..82297c4 100644 ---- a/setupext.py -+++ b/setupext.py -@@ -176,10 +176,7 @@ if os.path.exists(setup_cfg): - except: pass - - # For get_base_flags: --if options['basedirlist']: -- basedirlist = options['basedirlist'].split() --else: -- basedirlist = basedir[sys.platform] -+basedirlist = [os.environ['STAGING_LIBDIR']] - print("basedirlist is: %s" % basedirlist) - - if options['display_status']: -@@ -555,8 +552,8 @@ def check_for_numpy(): - - def add_numpy_flags(module): - "Add the modules flags to build extensions which use numpy" -- import numpy -- module.include_dirs.append(numpy.get_include()) -+ # Hard-coded path for OE since I know this is where numpy's include dir will be -+ module.include_dirs.append(os.path.join(os.environ['STAGING_LIBDIR'], 'python2.7/site-packages/numpy/core/include/')) - - def add_png_flags(module): - try_pkgconfig(module, 'libpng', 'png') diff --git a/meta-oe/recipes-devtools/python/python-matplotlib_1.1.0.bb b/meta-oe/recipes-devtools/python/python-matplotlib_1.1.0.bb deleted file mode 100644 index 7bb61fd57e..0000000000 --- a/meta-oe/recipes-devtools/python/python-matplotlib_1.1.0.bb +++ /dev/null @@ -1,36 +0,0 @@ -DESCRIPTION = "matplotlib is a python 2D plotting library which produces publication quality figures in a variety of hardcopy formats" -SECTION = "devel/python" -LICENSE = "PSF" -LIC_FILES_CHKSUM = "file://README.txt;md5=83c5bf8b16a5f99507f2f47a21ae3b81" -PR = "r1" - -DEPENDS += "python-numpy freetype libpng" -RDEPENDS_${PN} = "python-core python-distutils python-numpy freetype libpng" - -SRC_URI = "${SOURCEFORGE_MIRROR}/matplotlib/matplotlib-${PV}.tar.gz \ - file://fix_setup.patch \ - file://fix_setupext.patch \ -" - -S = "${WORKDIR}/matplotlib-${PV}" - -EXTRA_OECONF = "--disable-docs --with-python-includes=${STAGING_INCDIR}/../" - -inherit distutils - -do_compile_prepend() { - BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} \ - ${STAGING_BINDIR_NATIVE}/python setup.py build ${DISTUTILS_BUILD_ARGS} || \ - true -} - -# need to export these variables for python-config to work -export PYTHONPATH -export BUILD_SYS -export HOST_SYS -export STAGING_INCDIR -export STAGING_LIBDIR - - -SRC_URI[md5sum] = "57a627f30b3b27821f808659889514c2" -SRC_URI[sha256sum] = "be37e1d86c65ecacae6683f8805e051e9904e5f2e02bf2b7a34262c46a6d06a7" diff --git a/meta-oe/recipes-devtools/python/python-numeric/no-lapack.patch b/meta-oe/recipes-devtools/python/python-numeric/no-lapack.patch deleted file mode 100644 index c1916b8b9f..0000000000 --- a/meta-oe/recipes-devtools/python/python-numeric/no-lapack.patch +++ /dev/null @@ -1,33 +0,0 @@ - -# -# Patch managed by http://www.holgerschurig.de/patcher.html -# - ---- Numeric-23.7/setup.py~nolapack -+++ Numeric-23.7/setup.py -@@ -32,7 +32,7 @@ - mathlibs = [] - - # delete all but the first one in this list if using your own LAPACK/BLAS --sourcelist = [os.path.join('Src', 'lapack_litemodule.c'), -+sourcelist = [ - #os.path.join('Src', 'blas_lite.c'), - #os.path.join('Src', 'f2c_lite.c'), - #os.path.join('Src', 'zlapack_lite.c'), -@@ -40,12 +40,12 @@ - ] - # set these to use your own BLAS; - --library_dirs_list = ['/usr/lib/atlas'] --libraries_list = ['lapack', 'cblas', 'f77blas', 'atlas', 'g2c'] -+library_dirs_list = [] -+libraries_list = [] - - # set to true (1), if you also want BLAS optimized matrixmultiply/dot/innerproduct --use_dotblas = 1 --include_dirs = ['/usr/include/atlas'] -+use_dotblas = 0 -+include_dirs = [] - # You may need to set this to find cblas.h - # e.g. on UNIX using ATLAS this should be ['/usr/include/atlas'] - extra_link_args = [] diff --git a/meta-oe/recipes-devtools/python/python-numeric_24.2.bb b/meta-oe/recipes-devtools/python/python-numeric_24.2.bb deleted file mode 100644 index c0b04e1441..0000000000 --- a/meta-oe/recipes-devtools/python/python-numeric_24.2.bb +++ /dev/null @@ -1,14 +0,0 @@ -SUMMARY = "A sophisticated Numeric Processing Package for Python" -SECTION = "devel/python" -LICENSE = "PSF & LLNL" -LIC_FILES_CHKSUM = "file://Legal.htm;md5=e3ce75dedd4043918d15979ae43e312e" - -PR = "ml3" - -SRC_URI = "${SOURCEFORGE_MIRROR}/numpy/Numeric-${PV}.tar.gz" -S = "${WORKDIR}/Numeric-${PV}" - -inherit distutils - -SRC_URI[md5sum] = "2ae672656e06716a149acb048cca3093" -SRC_URI[sha256sum] = "5f72e729eb6ff57442f2a38bfc9931738b59e5077928e2e70d22b4610ff15258" diff --git a/meta-oe/recipes-devtools/python/python-pexpect_2.3.bb b/meta-oe/recipes-devtools/python/python-pexpect_2.3.bb deleted file mode 100644 index d4c2ba477d..0000000000 --- a/meta-oe/recipes-devtools/python/python-pexpect_2.3.bb +++ /dev/null @@ -1,23 +0,0 @@ -SUMMARY = "A Pure Python Expect like Module for Python" -SECTION = "devel/python" -LICENSE = "PSF" -LIC_FILES_CHKSUM = "file://LICENSE;md5=04a2bf11b85ce49d4a8c0c413fd34404" -SRCNAME = "pexpect" -PR = "ml3" - -SRC_URI = "${SOURCEFORGE_MIRROR}/${SRCNAME}/${SRCNAME}-${PV}.tar.gz" -S = "${WORKDIR}/${SRCNAME}-${PV}" - -inherit distutils - -RDEPENDS_${PN} = "\ - python-core \ - python-io \ - python-terminal \ - python-resource \ - python-fcntl \ -" - - -SRC_URI[md5sum] = "bf107cf54e67bc6dec5bea1f3e6a65c3" -SRC_URI[sha256sum] = "d315e7f3a8544fd85034d7e17fd7c5854e8f0828f5791f83cf313f8fa5740b75" diff --git a/meta-oe/recipes-devtools/python/python-pip_1.3.1.bb b/meta-oe/recipes-devtools/python/python-pip_1.3.1.bb deleted file mode 100644 index d1a7c8b3ae..0000000000 --- a/meta-oe/recipes-devtools/python/python-pip_1.3.1.bb +++ /dev/null @@ -1,14 +0,0 @@ -SUMMARY = "PIP is a tool for installing and managing Python packages" -LICENSE = "MIT & GPL" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=cd00425a3465a0e4c81929b94241d3de" - -SRC_URI = "https://pypi.python.org/packages/source/p/pip/pip-${PV}.tar.gz" -SRC_URI[md5sum] = "cbb27a191cebc58997c4da8513863153" -SRC_URI[sha256sum] = "145eaa5d1ea1b062663da1f3a97780d7edea4c63c68a37c463b1deedf7bb4957" - -S = "${WORKDIR}/pip-${PV}" - -inherit setuptools - -# Since PIP is like CPAN for PERL we need to drag in all python modules to ensure everything works -RDEPENDS_${PN} = "python-modules" diff --git a/meta-oe/recipes-devtools/python/python-psutil_0.6.1.bb b/meta-oe/recipes-devtools/python/python-psutil_0.6.1.bb deleted file mode 100644 index ff113d0f24..0000000000 --- a/meta-oe/recipes-devtools/python/python-psutil_0.6.1.bb +++ /dev/null @@ -1,14 +0,0 @@ -SUMMARY = "A cross-platform process and system utilities module for Python" -SECTION = "devel/python" -HOMEPAGE = "http://code.google.com/p/psutil" -LICENSE = "BSD" -LIC_FILES_CHKSUM = "file://LICENSE;md5=0f02e99f7f3c9a7fe8ecfc5d44c2be62" - -SRC_URI = "http://psutil.googlecode.com/files/psutil-${PV}.tar.gz" -SRC_URI[md5sum] = "3cfcbfb8525f6e4c70110e44a85e907e" -SRC_URI[sha256sum] = "d665a4cc58c9a5d207fb0dc9869fc0ee10f4f66ad885e84886ef6339ccce0a6f" - -S = "${WORKDIR}/psutil-${PV}" - -inherit setuptools - diff --git a/meta-oe/recipes-devtools/python/python-pyalsaaudio_0.4.bb b/meta-oe/recipes-devtools/python/python-pyalsaaudio_0.4.bb deleted file mode 100644 index 0e660adff6..0000000000 --- a/meta-oe/recipes-devtools/python/python-pyalsaaudio_0.4.bb +++ /dev/null @@ -1,15 +0,0 @@ -SUMMARY = "Support for the Linux 2.6.x ALSA Sound System" -SECTION = "devel/python" -DEPENDS = "alsa-lib" -LICENSE = "PSF" -LIC_FILES_CHKSUM = "file://LICENSE;md5=1a3b161aa0fcec32a0c8907a2219ad9d" -SRCNAME = "pyalsaaudio" -PR = "ml2" - -SRC_URI = "${SOURCEFORGE_MIRROR}/pyalsaaudio/${SRCNAME}-${PV}.tar.gz" -S = "${WORKDIR}/${SRCNAME}-${PV}" - -inherit distutils - -SRC_URI[md5sum] = "b312c28efba7db0494836a79f0a49898" -SRC_URI[sha256sum] = "07148ce16024724b17cc24c51d0f4fb78af214b09b7dc8dcb7b06e5647f4c582" diff --git a/meta-oe/recipes-devtools/python/python-pyqt-4.9.6/pyqt-generated.patch b/meta-oe/recipes-devtools/python/python-pyqt-4.9.6/pyqt-generated.patch deleted file mode 100644 index 6579aa4000..0000000000 --- a/meta-oe/recipes-devtools/python/python-pyqt-4.9.6/pyqt-generated.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -uNr PyQt-x11-gpl-4.9.5.orig/QtGui/sipQtGuiQSystemTrayIcon.cpp PyQt-x11-gpl-4.9.5/QtGui/sipQtGuiQSystemTrayIcon.cpp ---- PyQt-x11-gpl-4.9.5.orig/QtGui/sipQtGuiQSystemTrayIcon.cpp 2012-10-01 16:48:16.496700577 +0200 -+++ PyQt-x11-gpl-4.9.5/QtGui/sipQtGuiQSystemTrayIcon.cpp 2012-10-01 21:40:43.063130099 +0200 -@@ -993,8 +993,6 @@ - qtgui_untrack(sipCpp); - #line 995 "QtGui/sipQtGuiQSystemTrayIcon.cpp" - -- QSystemTrayIcon *sipCpp = reinterpret_cast<QSystemTrayIcon *>(sipCppV); -- - if (QThread::currentThread() == sipCpp->thread()) - delete sipCpp; - else diff --git a/meta-oe/recipes-devtools/python/python-pyqt-4.9.6/qreal_float_support.diff b/meta-oe/recipes-devtools/python/python-pyqt-4.9.6/qreal_float_support.diff deleted file mode 100644 index abdf70fab0..0000000000 --- a/meta-oe/recipes-devtools/python/python-pyqt-4.9.6/qreal_float_support.diff +++ /dev/null @@ -1,248 +0,0 @@ -## 03_qreal_float_support.dpatch by Michael Casadevall <sonicmctails@gmail.com> -Index: python-qt4-4.8.3/configure.py -=================================================================== ---- python-qt4-4.8.3.orig/configure.py 2011-02-24 10:33:30.000000000 +0200 -+++ python-qt4-4.8.3/configure.py 2011-02-24 10:33:18.000000000 +0200 -@@ -2004,8 +2004,9 @@ - out << "PyQt_NoOpenGLES\\n"; - #endif - -- if (sizeof (qreal) != sizeof (double)) -+#if defined(QT_NO_FPU) || defined(QT_ARCH_ARM) || defined(QT_ARCH_WINDOWSCE) - out << "PyQt_qreal_double\\n"; -+#endif - - return 0; - } -Index: python-qt4-4.8.3/sip/QtCore/qlist.sip -=================================================================== ---- python-qt4-4.8.3.orig/sip/QtCore/qlist.sip 2011-02-24 10:33:27.000000000 +0200 -+++ python-qt4-4.8.3/sip/QtCore/qlist.sip 2011-02-24 10:33:18.000000000 +0200 -@@ -811,3 +811,227 @@ - return sipGetState(sipTransferObj); - %End - }; -+ -+// If we're on an architecture where qreal != double, then we need to also -+// explicately handle doubles. On architectures where qreal == double, they -+// will automaticially be cast upwards -+ -+%If (!PyQt_qreal_double) -+ -+%If (Qt_4_3_0 -) -+// QList<QPair<double, double> > is implemented as a Python list of 2-element tuples. -+%MappedType QList<QPair<double, double> > -+{ -+%TypeHeaderCode -+#include <qlist.h> -+#include <qpair.h> -+%End -+ -+%ConvertFromTypeCode -+ // Create the list. -+ PyObject *l; -+ -+ if ((l = PyList_New(sipCpp->size())) == NULL) -+ return NULL; -+ -+ // Set the list elements. -+ for (int i = 0; i < sipCpp->size(); ++i) -+ { -+ const QPair<double, double> &p = sipCpp->at(i); -+ PyObject *pobj; -+ -+ if ((pobj = Py_BuildValue((char *)"dd", p.first, p.second)) == NULL) -+ { -+ Py_DECREF(l); -+ -+ return NULL; -+ } -+ -+ PyList_SET_ITEM(l, i, pobj); -+ } -+ -+ return l; -+%End -+ -+%ConvertToTypeCode -+ SIP_SSIZE_T len; -+ -+ // Check the type if that is all that is required. -+ if (sipIsErr == NULL) -+ { -+ if (!PySequence_Check(sipPy) || (len = PySequence_Size(sipPy)) < 0) -+ return 0; -+ -+ for (SIP_SSIZE_T i = 0; i < len; ++i) -+ { -+ PyObject *tup = PySequence_ITEM(sipPy, i); -+ -+ if (!PySequence_Check(tup) || PySequence_Size(tup) != 2) -+ return 0; -+ } -+ -+ return 1; -+ } -+ -+ QList<QPair<double, double> > *ql = new QList<QPair<double, double> >; -+ len = PySequence_Size(sipPy); -+ -+ for (SIP_SSIZE_T i = 0; i < len; ++i) -+ { -+ PyObject *tup = PySequence_ITEM(sipPy, i); -+ -+ double first = PyFloat_AsDouble(PySequence_ITEM(tup, 0)); -+ double second = PyFloat_AsDouble(PySequence_ITEM(tup, 1)); -+ -+ ql->append(QPair<double, double>(first, second)); -+ } -+ -+ *sipCppPtr = ql; -+ -+ return sipGetState(sipTransferObj); -+%End -+}; -+%End -+%If (Qt_4_3_0 -) -+// QList<QPair<double, TYPE> > is implemented as a Python list of 2-element tuples. -+template<double, TYPE> -+%MappedType QList<QPair<double, TYPE> > -+{ -+%TypeHeaderCode -+#include <qlist.h> -+#include <qpair.h> -+%End -+ -+%ConvertFromTypeCode -+ // Create the list. -+ PyObject *l; -+ -+ if ((l = PyList_New(sipCpp->size())) == NULL) -+ return NULL; -+ -+ // Set the list elements. -+ for (int i = 0; i < sipCpp->size(); ++i) -+ { -+ const QPair<double, TYPE> &p = sipCpp->at(i); -+ TYPE *t = new TYPE(p.second); -+ PyObject *pobj; -+ -+ if ((pobj = sipBuildResult(NULL, "(dB)", p.first, t, sipClass_TYPE, sipTransferObj)) == NULL) -+ { -+ Py_DECREF(l); -+ delete t; -+ -+ return NULL; -+ } -+ -+ PyList_SET_ITEM(l, i, pobj); -+ } -+ -+ return l; -+%End -+ -+%ConvertToTypeCode -+ SIP_SSIZE_T len; -+ -+ // Check the type if that is all that is required. -+ if (sipIsErr == NULL) -+ { -+ if (!PySequence_Check(sipPy) || (len = PySequence_Size(sipPy)) < 0) -+ return 0; -+ -+ for (SIP_SSIZE_T i = 0; i < len; ++i) -+ { -+ PyObject *tup = PySequence_ITEM(sipPy, i); -+ -+ if (!PySequence_Check(tup) || PySequence_Size(tup) != 2) -+ return 0; -+ -+ if (!sipCanConvertToInstance(PySequence_ITEM(tup, 1), sipClass_TYPE, SIP_NOT_NONE)) -+ return 0; -+ } -+ -+ return 1; -+ } -+ -+ QList<QPair<double, TYPE> > *ql = new QList<QPair<double, TYPE> >; -+ len = PySequence_Size(sipPy); -+ -+ for (SIP_SSIZE_T i = 0; i < len; ++i) -+ { -+ PyObject *tup = PySequence_ITEM(sipPy, i); -+ double d; -+ int state; -+ -+ d = PyFloat_AsDouble(PySequence_ITEM(tup, 0)); -+ TYPE *t = reinterpret_cast<TYPE *>(sipConvertToInstance(PySequence_ITEM(tup, 1), sipClass_TYPE, sipTransferObj, SIP_NOT_NONE, &state, sipIsErr)); -+ -+ if (*sipIsErr) -+ { -+ sipReleaseInstance(t, sipClass_TYPE, state); -+ -+ delete ql; -+ return 0; -+ } -+ -+ ql->append(QPair<double, TYPE>(d, *t)); -+ -+ sipReleaseInstance(t, sipClass_TYPE, state); -+ } -+ -+ *sipCppPtr = ql; -+ -+ return sipGetState(sipTransferObj); -+%End -+}; -+%End -+ -+// QList<double> is implemented as a Python list of doubles. -+%MappedType QList<double> -+{ -+%TypeHeaderCode -+#include <qlist.h> -+%End -+ -+%ConvertFromTypeCode -+ // Create the list. -+ PyObject *l; -+ -+ if ((l = PyList_New(sipCpp->size())) == NULL) -+ return NULL; -+ -+ // Set the list elements. -+ for (int i = 0; i < sipCpp->size(); ++i) -+ { -+ PyObject *pobj; -+ -+ if ((pobj = PyFloat_FromDouble(sipCpp->value(i))) == NULL) -+ { -+ Py_DECREF(l); -+ -+ return NULL; -+ } -+ -+ PyList_SET_ITEM(l, i, pobj); -+ } -+ -+ return l; -+%End -+ -+%ConvertToTypeCode -+ // Check the type if that is all that is required. -+ if (sipIsErr == NULL) -+ return (PySequence_Check(sipPy) && PySequence_Size(sipPy) >= 0); -+ -+ QList<double> *ql = new QList<double>; -+ SIP_SSIZE_T len = PySequence_Size(sipPy); -+ -+ for (SIP_SSIZE_T i = 0; i < len; ++i) -+ ql->append(PyFloat_AsDouble(PySequence_ITEM(sipPy, i))); -+ -+ *sipCppPtr = ql; -+ -+ return sipGetState(sipTransferObj); -+%End -+}; -+ -+%End diff --git a/meta-oe/recipes-devtools/python/python-pyqt_4.11.3.bb b/meta-oe/recipes-devtools/python/python-pyqt_4.11.3.bb new file mode 100644 index 0000000000..989f2cf515 --- /dev/null +++ b/meta-oe/recipes-devtools/python/python-pyqt_4.11.3.bb @@ -0,0 +1,56 @@ +SUMMARY = "Python Qt4 Bindings" +AUTHOR = "Phil Thomson @ riverbank.co.uk" +HOMEPAGE = "http://riverbankcomputing.co.uk" +SECTION = "devel/python" +LICENSE = "GPLv2 & GPLv3 & GPL_EXCEPTION" +LIC_FILES_CHKSUM = "\ + file://GPL_EXCEPTION.TXT;md5=b73b0be471db679533dc94781c14af58 \ + file://GPL_EXCEPTION_ADDENDUM.TXT;md5=c1e04ec2aa0911061005a801abf81e40 \ + file://OPENSOURCE-NOTICE.TXT;md5=6ad9123620cc04a22c394753ad4767d7 \ + file://LICENSE.GPL2;md5=577ff65f6653562af318bfc3944b1f20 \ + file://LICENSE.GPL3;md5=feee51612c3c1191a1d5f41156fa2c75 \ +" +DEPENDS = "sip sip-native qt4-x11-free python" + +SRC_URI = "\ + ${SOURCEFORGE_MIRROR}/pyqt/PyQt-x11-gpl-${PV}.tar.gz \ +" +SRC_URI[md5sum] = "997c3e443165a89a559e0d96b061bf70" +SRC_URI[sha256sum] = "853780dcdbe2e6ba785d703d059b096e1fc49369d3e8d41a060be874b8745686" + +S = "${WORKDIR}/PyQt-x11-gpl-${PV}" + +PARALLEL_MAKE = "" + +inherit qmake2 pythonnative python-dir distro_features_check +# depends on qt4-x11-free +REQUIRED_DISTRO_FEATURES = "x11" + +DISABLED_FEATURES = "PyQt_Desktop_OpenGL PyQt_Accessibility PyQt_SessionManager" + +DISABLED_FEATURES_append_arm = " PyQt_qreal_double" + +do_configure() { + echo "py_platform = linux" > pyqt.cfg + echo "py_inc_dir = %(sysroot)/$includedir/python%(py_major).%(py_minor)" >> pyqt.cfg + echo "py_pylib_dir = %(sysroot)/${libdir}/python%(py_major).%(py_minor)" >> pyqt.cfg + echo "py_pylib_lib = python%(py_major).%(py_minor)mu" >> pyqt.cfg + echo "pyqt_module_dir = ${D}/${libdir}/python%(py_major).%(py_minor)/site-packages" >> pyqt.cfg + echo "pyqt_bin_dir = ${D}/${bindir}" >> pyqt.cfg + echo "pyqt_sip_dir = ${D}/${datadir}/sip/PyQt4" >> pyqt.cfg + echo "pyuic_interpreter = ${D}/${bindir}/python%(py_major).%(py_minor)" >> pyqt.cfg + echo "pyqt_disabled_features = ${DISABLED_FEATURES}" >> pyqt.cfg + echo "qt_shared = True" >> pyqt.cfg + echo "[Qt 4.8]" >> pyqt.cfg + echo "pyqt_modules = QtCore QtGui QtDeclarative QtNetwork QtSvg QtWebKit" >> pyqt.cfg + echo yes | python configure-ng.py --verbose --qmake ${STAGING_BINDIR_NATIVE}/qmake2 --configuration pyqt.cfg --sysroot ${STAGING_DIR_HOST} +} +do_install() { + oe_runmake install +} + +RDEPENDS_${PN} = "python-core" + +FILES_${PN} += "${libdir}/${PYTHON_DIR}/site-packages ${datadir}/sip/PyQt4/" +FILES_${PN}-dbg += "${libdir}/${PYTHON_DIR}/site-packages/*/.debug/" + diff --git a/meta-oe/recipes-devtools/python/python-pyqt_4.9.6.bb b/meta-oe/recipes-devtools/python/python-pyqt_4.9.6.bb deleted file mode 100644 index 2f0e189ef4..0000000000 --- a/meta-oe/recipes-devtools/python/python-pyqt_4.9.6.bb +++ /dev/null @@ -1,103 +0,0 @@ -SUMMARY = "Python Qt4 Bindings" -HOMEPAGE = "http://riverbankcomputing.co.uk" -AUTHOR = "Phil Thomson @ riverbank.co.uk" -SECTION = "devel/python" -LICENSE = "GPLv2 & GPLv3 & GPL_EXCEPTION" -LIC_FILES_CHKSUM = "\ - file://GPL_EXCEPTION.TXT;md5=b73b0be471db679533dc94781c14af58 \ - file://GPL_EXCEPTION_ADDENDUM.TXT;md5=c1e04ec2aa0911061005a801abf81e40 \ - file://OPENSOURCE-NOTICE.TXT;md5=6ad9123620cc04a22c394753ad4767d7 \ - file://LICENSE.GPL2;md5=276c6b9cad5f85a3af3534299825feff \ - file://LICENSE.GPL3;md5=eda942b9c6ba7eb0f40fee79e94950d5 \ -" - -DEPENDS = "sip-native python-sip" -RDEPENDS_${PN} = "python-core" - -PYQT_OE_VERSION = "Qt_4_8_3" -PR = "r1" - -SRC_URI = "\ - ${SOURCEFORGE_MIRROR}/pyqt/PyQt-x11-gpl-${PV}.tar.gz \ - file://pyqt-generated.patch;apply=no \ -" -SRC_URI[md5sum] = "514e1f9597771dc732ba75ba9fa5c6b6" -SRC_URI[sha256sum] = "a350f9e5c6d8062671c0f29bf1a70824719b18175ce8372c29bf7c1eda44b18d" -S = "${WORKDIR}/PyQt-x11-gpl-${PV}" - -# arm and mips machines need some extra patches -SRC_URI_append_arm = "\ - file://qreal_float_support.diff \ -" - -SRC_URI_append_mipsel = "\ - file://qreal_float_support.diff \ -" - -inherit qt4x11 sip distutils-base - -PARALLEL_MAKE = "" - -QMAKE_PROFILES = "pyqt.pro" -# NOTE: has to match with MIN(qt version we have in OE, last known Qt version by SIP/PyQt) -EXTRA_SIPTAGS = "-tWS_X11 -t${PYQT_OE_VERSION} -xVendorID -xPyQt_SessionManager -xPyQt_Accessibility" -EXTRA_OEMAKE = " MAKEFLAGS= " - -# arm and mips need extra params for the qreal issue -EXTRA_SIPTAGS_append_arm = " -x PyQt_qreal_double" -EXTRA_SIPTAGS_append_mipsel = " -x PyQt_qreal_double" - -SIP_MODULES = "QtCore QtDeclarative QtGui QtNetwork QtSql QtSvg QtXml QtWebKit" -MAKE_MODULES = "qpy ${SIP_MODULES}" - -EXTRA_QMAKEVARS_POST += "\ - INCLUDEPATH+=${OE_QMAKE_INCDIR_QT}/Qt \ - INCLUDEPATH+=${STAGING_INCDIR}/${PYTHON_DIR} \ - INCLUDEPATH+=../qpy/QtCore \ - INCLUDEPATH+=../qpy/QtGui \ - INCLUDEPATH+=../qpy/QtDeclarative \ - INCLUDEPATH+=${OE_QMAKE_INCDIR_QT}/QtCore \ - INCLUDEPATH+=${OE_QMAKE_INCDIR_QT}/QtGui \ - INCLUDEPATH+=${OE_QMAKE_INCDIR_QT}/QtDeclarative \ - INCLUDEPATH+=${OE_QMAKE_INCDIR_QT}/QtWebKit \ - INCLUDEPATH+=${OE_QMAKE_INCDIR_QT}/QtNetwork \ -" -FIX_QREAL = "\ -" - -do_generate_prepend() { - for i in ${FIX_QREAL}; do - sed -i -e s,qreal,float,g sip/$i - done -} - -do_configure_prepend() { - printf "TEMPLATE=subdirs\nSUBDIRS=${MAKE_MODULES}\n" >pyqt.pro - printf "TEMPLATE=subdirs\nSUBDIRS=QtCore QtDeclarative QtGui\n" >qpy/qpy.pro - ln -sf ./qpycore.pro qpy/QtCore/QtCore.pro - ln -sf ./qpydeclarative.pro qpy/QtDeclarative/QtDeclarative.pro - ln -sf ./qpygui.pro qpy/QtGui/QtGui.pro - echo "INCLUDEPATH+=${S}/QtCore" >>qpy/QtCore/QtCore.pro - echo "INCLUDEPATH+=${S}/QtGui" >>qpy/QtGui/QtGui.pro - echo "INCLUDEPATH+=${S}/QtDeclarative" >>qpy/QtDeclarative/QtDeclarative.pro - echo "LIBS+=-L../qpy/QtGui/ -lqpygui" >>QtGui/QtGui.pro - echo "LIBS+=-L../qpy/QtCore/ -lqpycore" >>QtCore/QtCore.pro - echo "LIBS+=-L../qpy/QtDeclarative/ -lqpydeclarative" >>QtDeclarative/QtDeclarative.pro - # hack for broken generated code (duplicated sipCpp declaration). - patch -p1 < ${WORKDIR}/pyqt-generated.patch || echo "pyqt-generated.patch failed to apply, probably reexecuting do_configure, ignoring that" -} - -do_install() { - install -d ${D}${libdir}/${PYTHON_DIR}/site-packages/PyQt4 - install -d ${D}${datadir}/sip/qt/ - for module in ${SIP_MODULES} - do - install -m 0644 ${S}/sip/${module}/*.sip ${D}${datadir}/sip/qt/ - echo "from PyQt4.${module} import *\n" >> ${D}${libdir}/${PYTHON_DIR}/site-packages/PyQt4/Qt.py - install -m 0755 ${module}/lib${module}.so ${D}${libdir}/${PYTHON_DIR}/site-packages/PyQt4/${module}.so - done - cp -pPR elementtree ${D}${libdir}/${PYTHON_DIR}/site-packages/PyQt4/ - cp __init__.py ${D}${libdir}/${PYTHON_DIR}/site-packages/PyQt4/ -} - -FILES_${PN} = "${libdir}/${PYTHON_DIR}/site-packages ${datadir}/sip/qt/" diff --git a/meta-oe/recipes-devtools/python/python-pyserial_2.4.bb b/meta-oe/recipes-devtools/python/python-pyserial_2.4.bb deleted file mode 100644 index 2263b2ccc0..0000000000 --- a/meta-oe/recipes-devtools/python/python-pyserial_2.4.bb +++ /dev/null @@ -1,22 +0,0 @@ -SUMMARY = "Serial Port Support for Python" -SECTION = "devel/python" -LICENSE = "PSF" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=7424386ffe323e815ee62ee9ad591dd8" -SRCNAME = "pyserial" -PR = "ml4" - -SRC_URI = "${SOURCEFORGE_MIRROR}/${SRCNAME}/${SRCNAME}-${PV}.tar.gz" -S = "${WORKDIR}/${SRCNAME}-${PV}" - -inherit setuptools - -# FIXME might stop packaging serialwin32 and serialjava files - -RDEPENDS_${PN} = "\ - python-fcntl \ - python-io \ - python-stringold \ -" - -SRC_URI[md5sum] = "eec19df59fd75ba5a136992897f8e468" -SRC_URI[sha256sum] = "6b6a9e3d2fd5978c92c843e0109918a4bcac481eecae316254481c0e0f7e73c8" diff --git a/meta-oe/recipes-devtools/python/python-pyudev_0.16.1.bb b/meta-oe/recipes-devtools/python/python-pyudev_0.16.1.bb deleted file mode 100644 index 964b5f92b5..0000000000 --- a/meta-oe/recipes-devtools/python/python-pyudev_0.16.1.bb +++ /dev/null @@ -1,25 +0,0 @@ -SUMMARY = "A libudev binding" -HOMEPAGE = "http://pypi.python.org/pypi/pyudev" -SECTION = "devel/python" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343" - -SRCNAME = "pyudev" -SRC_URI = "http://pypi.python.org/packages/source/p/${SRCNAME}/${SRCNAME}-${PV}.tar.gz" -SRC_URI[md5sum] = "4034de584b6d9efcbfc590a047c63285" -SRC_URI[sha256sum] = "765d1c14bd9bd031f64e2612225621984cb2bbb8cbc0c03538bcc4c735ff1c95" - -S = "${WORKDIR}/${SRCNAME}-${PV}" - -inherit setuptools - -do_configure_prepend() { - sed -i "/import pyudev/d" ${S}/setup.py - sed -i "s/str(pyudev.__version__)/'${PV}'/g" ${S}/setup.py -} - -RDEPENDS_${PN} = "\ - python-ctypes \ - python-subprocess \ - python-misc \ -" diff --git a/meta-oe/recipes-devtools/python/python-pyusb_1.0.0a2.bb b/meta-oe/recipes-devtools/python/python-pyusb_1.0.0a2.bb deleted file mode 100644 index 360f213221..0000000000 --- a/meta-oe/recipes-devtools/python/python-pyusb_1.0.0a2.bb +++ /dev/null @@ -1,18 +0,0 @@ -SUMMARY = "PyUSB provides USB access on the Python language" -HOMEPAGE = "http://pyusb.sourceforge.net/" -SECTION = "devel/python" -LICENSE = "BSD" -LIC_FILES_CHKSUM = "file://LICENSE;md5=a53a9c39efcfb812e2464af14afab013" -DEPENDS = "libusb1" -PR = "r1" - -SRC_URI = "\ - ${SOURCEFORGE_MIRROR}/pyusb/${SRCNAME}-${PV}.tar.gz \ -" -SRC_URI[md5sum] = "9136b3dc019272c62a5b6d4eb624f89f" -SRC_URI[sha256sum] = "dacbf7d568c0bb09a974d56da66d165351f1ba3c4d5169ab5b734266623e1736" - -SRCNAME = "pyusb" -S = "${WORKDIR}/${SRCNAME}-${PV}" - -inherit distutils diff --git a/meta-oe/recipes-devtools/python/python-pyyaml/setup.py b/meta-oe/recipes-devtools/python/python-pyyaml/setup.py deleted file mode 100644 index fb64983419..0000000000 --- a/meta-oe/recipes-devtools/python/python-pyyaml/setup.py +++ /dev/null @@ -1,64 +0,0 @@ -NAME = 'PyYAML' -VERSION = '3.06' -DESCRIPTION = "YAML parser and emitter for Python" -LONG_DESCRIPTION = """\ -YAML is a data serialization format designed for human readability and -interaction with scripting languages. PyYAML is a YAML parser and -emitter for Python. - -PyYAML features a complete YAML 1.1 parser, Unicode support, pickle -support, capable extension API, and sensible error messages. PyYAML -supports standard YAML tags and provides Python-specific tags that allow -to represent an arbitrary Python object. - -PyYAML is applicable for a broad range of tasks from complex -configuration files to object serialization and persistance.""" -AUTHOR = "Kirill Simonov" -AUTHOR_EMAIL = 'xi@resolvent.net' -LICENSE = "MIT" -PLATFORMS = "Any" -URL = "http://pyyaml.org/wiki/PyYAML" -DOWNLOAD_URL = "http://pyyaml.org/download/pyyaml/%s-%s.tar.gz" % (NAME, VERSION) -CLASSIFIERS = [ - "Development Status :: 5 - Production/Stable", - "Intended Audience :: Developers", - "License :: OSI Approved :: MIT License", - "Operating System :: OS Independent", - "Programming Language :: Python", - "Topic :: Software Development :: Libraries :: Python Modules", - "Topic :: Text Processing :: Markup", -] - -from distutils.core import setup -from distutils.extension import Extension -from Cython.Distutils import build_ext - -import sys, os.path - - -if __name__ == '__main__': - - setup( - name=NAME, - version=VERSION, - description=DESCRIPTION, - long_description=LONG_DESCRIPTION, - author=AUTHOR, - author_email=AUTHOR_EMAIL, - license=LICENSE, - platforms=PLATFORMS, - url=URL, - download_url=DOWNLOAD_URL, - classifiers=CLASSIFIERS, - - package_dir={'': 'lib'}, - packages=['yaml'], - - ext_modules = [ - Extension( "_yaml", ["ext/_yaml.pyx"], libraries = ["yaml"] ) - ], - - cmdclass={ - 'build_ext': build_ext, - }, - ) diff --git a/meta-oe/recipes-devtools/python/python-pyyaml_3.10.bb b/meta-oe/recipes-devtools/python/python-pyyaml_3.10.bb deleted file mode 100644 index 100e1c81ac..0000000000 --- a/meta-oe/recipes-devtools/python/python-pyyaml_3.10.bb +++ /dev/null @@ -1,22 +0,0 @@ -SUMMARY = "Python support for YAML" -HOMEPAGE = "http://www.pyyaml.org" -SECTION = "devel/python" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=6015f088759b10e0bc2bf64898d4ae17" -DEPENDS = "libyaml python-cython-native" - -SRC_URI = "http://pyyaml.org/download/pyyaml/PyYAML-${PV}.tar.gz \ - file://setup.py \ -" - -SRC_URI[md5sum] = "74c94a383886519e9e7b3dd1ee540247" -SRC_URI[sha256sum] = "e713da45c96ca53a3a8b48140d4120374db622df16ab71759c9ceb5b8d46fe7c" - -S = "${WORKDIR}/PyYAML-${PV}" - -inherit distutils - -do_configure_prepend() { - # upstream setup.py overcomplicated, use ours - install -m 0644 ${WORKDIR}/setup.py ${S} -} diff --git a/meta-oe/recipes-devtools/python/python-sip_4.14.2.bb b/meta-oe/recipes-devtools/python/python-sip_4.14.2.bb deleted file mode 100644 index acabc97210..0000000000 --- a/meta-oe/recipes-devtools/python/python-sip_4.14.2.bb +++ /dev/null @@ -1,46 +0,0 @@ -SUMMARY = "Runtime helper for sip-generated python wrapper libraries" -SECTION = "devel/python" -HOMEPAGE = "http://www.riverbankcomputing.co.uk/sip" -AUTHOR = "Phil Thompson" -LICENSE = "GPLv2+" -LIC_FILES_CHKSUM = "file://siplib.sbf.in;endline=15;md5=3d462bd8cb43db3e4be998fe155ae9cf" -DEPENDS = "python" -RDEPENDS_${PN} = "python-core" - -# riverbankcomputing is upstream, but keeps only latest version, sf usually have few older -#SRC_URI = "http://www.riverbankcomputing.com/static/Downloads/sip4/sip-${PV}.tar.gz" -SRC_URI = "${SOURCEFORGE_MIRROR}/project/pyqt/sip/sip-${PV}/sip-${PV}.tar.gz" -SRC_URI[md5sum] = "b93442e745b3be2fad89de0686a76ce9" -SRC_URI[sha256sum] = "1a9d3bf26c821f369c175f8e68946b79bc994da4f96e8f5ecff06e6ee7ac0528" - -S = "${WORKDIR}/sip-${PV}/siplib" - -inherit qt4x11 distutils-base - -EXTRA_QMAKEVARS_POST += " TEMPLATE=lib \ - CONFIG=console \ - DESTDIR= \ - VERSION=1.0.0 \ - TARGET=sip \ - DEFINES=SIP_QT_SUPPORT \ - INCLUDEPATH+=. \ - INCLUDEPATH+=${STAGING_INCDIR}/${PYTHON_DIR} \ - INCLUDEPATH+=${STAGING_INCDIR}" - - -do_configure_prepend() { - cat siplib.sbf.in | sed s,target,TARGET, | sed s,sources,SOURCES, | sed s,headers,HEADERS, | sed s,@CFG_MODULE_BASENAME@,sip, > siplib.pro - cat siplib.c.in | sed s,@CFG_MODULE_BASENAME@,sip, > siplib.c - cat sip.h.in | sed -e s,@CFG_MODULE_NAME@,sip,g > sip.h -} - -do_install() { - install -d ${D}${libdir}/${PYTHON_DIR}/site-packages/ - install -m 0755 libsip.so.1.0.0 ${D}${libdir}/${PYTHON_DIR}/site-packages/sip.so - # sipconfig.py sipdistutils.py - install -d ${D}${includedir} - install -m 0644 ../siplib/sip.h ${D}${includedir}/sip.h -} - -FILES_${PN} = "${libdir}/${PYTHON_DIR}/site-packages/sip.so" - diff --git a/meta-oe/recipes-devtools/python/python-smbus_3.0.3.bb b/meta-oe/recipes-devtools/python/python-smbus_3.0.3.bb deleted file mode 100644 index 14548a9635..0000000000 --- a/meta-oe/recipes-devtools/python/python-smbus_3.0.3.bb +++ /dev/null @@ -1,20 +0,0 @@ -SUMMARY = "Set of i2c tools for linux - Python module" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://smbusmodule.c;startline=1;endline=17;md5=fa24df321a520ff8e10f203425ab9fa8" - -SRC_URI = "http://dl.lm-sensors.org/i2c-tools/releases/i2c-tools-${PV}.tar.bz2 \ -" -SRC_URI[md5sum] = "511376eed04455cdb277ef19c5f73bb4" -SRC_URI[sha256sum] = "23b28e474741834e3f1b35b0686528769a13adc92d2ff5603cbda1d6bd5e5629" - -DEPENDS = "i2c-tools" - -inherit distutils - -S = "${WORKDIR}/i2c-tools-${PV}/py-smbus/" - -do_configure_prepend() { - # Adjust for OE header rename - sed -i s:linux/i2c-dev.h:linux/i2c-dev-user.h: Module.mk - sed -i s:linux/i2c-dev.h:linux/i2c-dev-user.h: smbusmodule.c -} diff --git a/meta-oe/recipes-devtools/python/python-sqlalchemy_0.7.9.bb b/meta-oe/recipes-devtools/python/python-sqlalchemy_0.7.9.bb deleted file mode 100644 index 43b4b7efa2..0000000000 --- a/meta-oe/recipes-devtools/python/python-sqlalchemy_0.7.9.bb +++ /dev/null @@ -1,14 +0,0 @@ -DESCRIPTION = "Python SQL toolkit and Object Relational Mapper that gives \ -application developers the full power and flexibility of SQL" -HOMEPAGE = "http://www.sqlalchemy.org/" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=baffc5e5f4804c92fc9be155fed70d41" -RDEPENDS_${PN} += "python-numbers" - -SRCNAME = "SQLAlchemy" -SRC_URI = "${SOURCEFORGE_MIRROR}/sqlalchemy/${SRCNAME}-${PV}.tar.gz" -SRC_URI[md5sum] = "c4852d586d95a59fbc9358f4467875d5" -SRC_URI[sha256sum] = "f7a305ad122144f364ce09a2d9ed5159d5f46ec43650653593e7dfa05d3294a1" -S = "${WORKDIR}/${SRCNAME}-${PV}" - -inherit setuptools diff --git a/meta-oe/recipes-devtools/python/python-twisted_13.2.0.bb b/meta-oe/recipes-devtools/python/python-twisted_13.2.0.bb deleted file mode 100644 index 80d64a0193..0000000000 --- a/meta-oe/recipes-devtools/python/python-twisted_13.2.0.bb +++ /dev/null @@ -1,222 +0,0 @@ -DESCRIPTION = "Twisted is an event-driven networking framework written in Python and licensed under the LGPL. \ -Twisted supports TCP, UDP, SSL/TLS, multicast, Unix sockets, a large number of protocols \ -(including HTTP, NNTP, IMAP, SSH, IRC, FTP, and others), and much more." -HOMEPAGE = "http://www.twistedmatrix.com" -SECTION = "console/network" - -#twisted/topfiles/NEWS:655: - Relicensed: Now under the MIT license, rather than LGPL. -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=5602d7228daf59a16f0f1b2640c46bca" - -SRC_URI = "https://pypi.python.org/packages/source/T/Twisted/Twisted-${PV}.tar.bz2" -SRC_URI[md5sum] = "83fe6c0c911cc1602dbffb036be0ba79" -SRC_URI[sha256sum] = "095175638c019ac7c0604f4c291724a16ff1acd062e181b01293bf4dcbc62cf3" - -S = "${WORKDIR}/Twisted-${PV}" - -inherit setuptools - -do_install_append() { - # remove some useless files before packaging - find ${D} \( -name "*.bat" -o -name "*.c" -o -name "*.h" \) -exec rm -f {} \; -} - -PACKAGES += "\ - ${PN}-zsh \ - ${PN}-test \ - ${PN}-protocols \ - ${PN}-conch \ - ${PN}-lore \ - ${PN}-mail \ - ${PN}-names \ - ${PN}-news \ - ${PN}-runner \ - ${PN}-web \ - ${PN}-words \ - ${PN}-flow \ - ${PN}-pair \ - ${PN}-core \ -" - -RDEPENDS_${PN} = "python-core python-zopeinterface" -RDEPENDS_${PN} += "\ - ${PN}-conch \ - ${PN}-lore \ - ${PN}-mail \ - ${PN}-names \ - ${PN}-news \ - ${PN}-runner \ - ${PN}-web \ - ${PN}-words \ -" - -ALLOW_EMPTY_${PN} = "1" -FILES_${PN} = "" - -FILES_${PN}-test = " \ - ${libdir}/${PYTHON_DIR}/site-packages/twisted/test \ - ${libdir}/${PYTHON_DIR}/site-packages/twisted/*/test \ -" - -FILES_${PN}-protocols = " \ - ${libdir}/${PYTHON_DIR}/site-packages/twisted/protocols/*.py* \ - ${libdir}/${PYTHON_DIR}/site-packages/twisted/protocols/gps/ \ - ${libdir}/${PYTHON_DIR}/site-packages/twisted/protocols/mice/ \ -" - -FILES_${PN}-zsh = " \ - ${libdir}/${PYTHON_DIR}/site-packages/twisted/python/zsh \ - ${libdir}/${PYTHON_DIR}/site-packages/twisted/python/zshcomp.* \ - ${libdir}/${PYTHON_DIR}/site-packages/twisted/python/twisted-completion.zsh \ -" - -FILES_${PN}-conch = " \ - ${bindir}/ckeygen \ - ${bindir}/tkconch \ - ${bindir}/conch \ - ${bindir}/conchftp \ - ${bindir}/cftp \ - ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_conch.py* \ - ${libdir}/${PYTHON_DIR}/site-packages/twisted/conch \ -" - -FILES_${PN}-core = " \ -${bindir}/manhole \ -${bindir}/mktap \ -${bindir}/twistd \ -${bindir}/tap2deb \ -${bindir}/tap2rpm \ -${bindir}/tapconvert \ -${bindir}/tkmktap \ -${bindir}/trial \ -${bindir}/easy_install* \ -${bindir}/pyhtmlizer \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/*.so \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/*.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__init__.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/notestplugin.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/testplugin.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_ftp.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_inet.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_manhole.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_portforward.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_socks.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_telnet.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_trial.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/dropin.cache \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/application \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/cred \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/enterprise \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/internet \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/manhole \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/manhole \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/persisted \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/protocols\ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python\ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/timeoutqueue.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/filepath.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/dxprofile.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/plugin.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/htmlizer.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/__init__.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/dispatch.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/hook.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/threadpool.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/otp.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/usage.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/roots.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/versions.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/urlpath.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/util.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/components.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/logfile.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/runtime.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/reflect.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/context.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/threadable.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/rebuild.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/failure.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/lockfile.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/formmethod.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/finalize.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/win32.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/dist.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/shortcut.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/zipstream.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/release.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/syslog.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/log.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/compat.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/zshcomp.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/procutils.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/text.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/_twisted_zsh_stub \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/scripts/ \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/spread/ \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/tap/ \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/trial/ \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/__init__.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/_version.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/copyright.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/im.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/*.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/python/*.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/*.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/topfiles \ -${libdir}/${PYTHON_DIR}/site-packages/Twisted*egg-info \ -" - -FILES_${PN}-lore = " \ -${bindir}/bookify \ -${bindir}/lore \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_lore.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/lore \ -" - -FILES_${PN}-mail = " \ -${bindir}/mailmail \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_mail.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/mail \ -" - -FILES_${PN}-names = " \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_names.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/names \ -" - -FILES_${PN}-news = " \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_news.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/news \ -" - -FILES_${PN}-runner = " \ -${libdir}/site-packages/twisted/runner/portmap.so \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/runner\ -" - -FILES_${PN}-web = " \ -${bindir}/websetroot \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_web.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/web\ -" - -FILES_${PN}-words = " \ -${bindir}/im \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_words.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/words\ -" - -FILES_${PN}-flow = " \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_flow.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/flow \" - -FILES_${PN}-pair = " \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_pair.py* \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/pair \ -" - -FILES_${PN}-dbg += " \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/*/.debug \ -${libdir}/${PYTHON_DIR}/site-packages/twisted/*/*/.debug \ -" - diff --git a/meta-oe/recipes-devtools/python/python-vobject_0.8.1c.bb b/meta-oe/recipes-devtools/python/python-vobject_0.8.1c.bb deleted file mode 100644 index a28c02f7e7..0000000000 --- a/meta-oe/recipes-devtools/python/python-vobject_0.8.1c.bb +++ /dev/null @@ -1,16 +0,0 @@ -SUMMARY = "Python package for parsing and generating vCard and vCalendar files" -SECTION = "devel/python" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE-2.0.txt;md5=3b83ef96387f14655fc854ddc3c6bd57" -HOMEPAGE = "http://vobject.skyhouseconsulting.com/" -SRCNAME = "vobject" -RDEPENDS_${PN} = "python python-dateutil" -PR = "r4" - -SRC_URI = "http://vobject.skyhouseconsulting.com/${SRCNAME}-${PV}.tar.gz" -S = "${WORKDIR}/${SRCNAME}-${PV}" - -inherit setuptools - -SRC_URI[md5sum] = "c9686dd74d39fdae140890d9c694c076" -SRC_URI[sha256sum] = "594113117f2017ed837c8f3ce727616f9053baa5a5463a7420c8249b8fc556f5" diff --git a/meta-oe/recipes-devtools/python/python-webdav_0.1.2.bb b/meta-oe/recipes-devtools/python/python-webdav_0.1.2.bb deleted file mode 100644 index 7a6437dc53..0000000000 --- a/meta-oe/recipes-devtools/python/python-webdav_0.1.2.bb +++ /dev/null @@ -1,19 +0,0 @@ -DESCRIPTION = "This project aims to provide an object-oriented Python WebDAV client-side library\ - based on Python`s standard httplib and Greg Stein`s davlib.\ - The client shall fully support RFCs 4918 (basic specification),\ - 3744 (access control), and 3253 (versioning)." -SECTION = "devel/python" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://src/webdav/WebdavClient.py;endline=15;md5=a1520fad859feb7b0d7f05277bc6ce48" -HOMEPAGE = "http://sourceforge.net/projects/pythonwebdavlib/" -SRCNAME = "Python_WebDAV_Library" -DEPENDS = "python" - -SRC_URI = "${SOURCEFORGE_MIRROR}/pythonwebdavlib/Python%20WebDAV%20Library%20-%20${PV}/${SRCNAME}-${PV}.zip" -SRC_URI[md5sum] = "8e49e0ecc5b4327c4f752a544ee10e1a" -SRC_URI[sha256sum] = "72c029ad1e25de950f59c2f1812d009d2c1691b70e4b5b09f1af9006e8fd5f23" - -S = "${WORKDIR}/${SRCNAME}-${PV}" - -inherit distutils - diff --git a/meta-oe/recipes-devtools/python/python-zopeinterface_4.1.1.bb b/meta-oe/recipes-devtools/python/python-zopeinterface_4.1.1.bb deleted file mode 100644 index 4151f585b8..0000000000 --- a/meta-oe/recipes-devtools/python/python-zopeinterface_4.1.1.bb +++ /dev/null @@ -1,22 +0,0 @@ -SUMMARY = "Interface definitions for Zope products" -SECTION = "console/network" - -LICENSE = "ZPL-2.1" -LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=e54fd776274c1b7423ec128974bd9d46" - -SRC_URI = "http://pypi.python.org/packages/source/z/zope.interface/zope.interface-${PV}.tar.gz" -SRC_URI[md5sum] = "edcd5f719c5eb2e18894c4d06e29b6c6" -SRC_URI[sha256sum] = "91cba7b7cd7cb82f6f4e023fe77f94dc3df4ae5287fd55def2148dc232d0c7da" - -S = "${WORKDIR}/zope.interface-${PV}" - -inherit setuptools - -RPROVIDES_${PN} += "zope-interfaces" -FILES_${PN}-dbg += "${PYTHON_SITEPACKAGES_DIR}/*.egg/*/*/.debug" -FILES_${PN}-dev += "${PYTHON_SITEPACKAGES_DIR}/zope/interface/*.c" -FILES_${PN}-doc += "${PYTHON_SITEPACKAGES_DIR}/zope/interface/*.txt" -FILES_${PN}-tests = " \ - ${PYTHON_SITEPACKAGES_DIR}/zope/interface/tests \ - ${PYTHON_SITEPACKAGES_DIR}/zope/interface/common/tests \ -" diff --git a/meta-oe/recipes-devtools/swig/swig/0001-configure-use-pkg-config-for-pcre-detection.patch b/meta-oe/recipes-devtools/swig/swig/0001-configure-use-pkg-config-for-pcre-detection.patch new file mode 100644 index 0000000000..1b1128acab --- /dev/null +++ b/meta-oe/recipes-devtools/swig/swig/0001-configure-use-pkg-config-for-pcre-detection.patch @@ -0,0 +1,64 @@ +From 5c4d6d8538994d5fe9b3b46bfafaf0a605e3bda6 Mon Sep 17 00:00:00 2001 +From: Koen Kooi <koen.kooi@linaro.org> +Date: Tue, 17 Jun 2014 08:18:17 +0200 +Subject: [PATCH] configure: use pkg-config for pcre detection + +Signed-off-by: Koen Kooi <koen.kooi@linaro.org> +Upstream-Status: pending +--- + configure.ac | 38 +++++++------------------------------- + 1 file changed, 7 insertions(+), 31 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 0c984b7..6edcec1 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -70,38 +70,14 @@ AC_MSG_RESULT([$with_pcre]) + + dnl To make configuring easier, check for a locally built PCRE using the Tools/pcre-build.sh script + if test x"${with_pcre}" = xyes ; then +- AC_MSG_CHECKING([whether to use local PCRE]) +- local_pcre_config=no +- if test -z $PCRE_CONFIG; then +- if test -f `pwd`/pcre/pcre-swig-install/bin/pcre-config; then +- PCRE_CONFIG=`pwd`/pcre/pcre-swig-install/bin/pcre-config +- local_pcre_config=$PCRE_CONFIG +- fi +- fi +- AC_MSG_RESULT([$local_pcre_config]) +-fi +-AS_IF([test "x$with_pcre" != xno], +- [AX_PATH_GENERIC([pcre], +- [], dnl Minimal version of PCRE we need -- accept any +- [], dnl custom sed script for version parsing is not needed +- [AC_DEFINE([HAVE_PCRE], [1], [Define if you have PCRE library]) +- LIBS="$LIBS $PCRE_LIBS" +- CPPFLAGS="$CPPFLAGS $PCRE_CFLAGS" +- ], +- [AC_MSG_FAILURE([ +- Cannot find pcre-config script from PCRE (Perl Compatible Regular Expressions) +- library package. This dependency is needed for configure to complete, +- Either: +- - Install the PCRE developer package on your system (preferred approach). +- - Download the PCRE source tarball, build and install on your system +- as you would for any package built from source distribution. +- - Use the Tools/pcre-build.sh script to build PCRE just for SWIG to statically +- link against. Run 'Tools/pcre-build.sh --help' for instructions. +- (quite easy and does not require privileges to install PCRE on your system) +- - Use configure --without-pcre to disable regular expressions support in SWIG +- (not recommended).]) +- ]) ++ PKG_CHECK_MODULES([PCRE], [libpcre], [ ++ AC_DEFINE([HAVE_PCRE], [1], [Define if you have PCRE library]) ++ LIBS="$LIBS $PCRE_LIBS" ++ CPPFLAGS="$CPPFLAGS $PCRE_CFLAGS" ++ ], [ ++ AC_MSG_WARN([$PCRE_PKG_ERRORS]) + ]) ++fi + + + dnl CCache +-- +1.9.3 + diff --git a/meta-oe/recipes-devtools/swig/swig_2.0.12.bb b/meta-oe/recipes-devtools/swig/swig_2.0.12.bb deleted file mode 100644 index 0fbcfa1bf5..0000000000 --- a/meta-oe/recipes-devtools/swig/swig_2.0.12.bb +++ /dev/null @@ -1,7 +0,0 @@ -require ${BPN}.inc - -SRC_URI += "file://0001-Use-proc-self-exe-for-swig-swiglib-on-non-Win32-plat.patch" - -SRC_URI[md5sum] = "c3fb0b2d710cc82ed0154b91e43085a4" -SRC_URI[sha256sum] = "65e13f22a60cecd7279c59882ff8ebe1ffe34078e85c602821a541817a4317f7" - diff --git a/meta-oe/recipes-devtools/swig/swig_3.0.2.bb b/meta-oe/recipes-devtools/swig/swig_3.0.2.bb new file mode 100644 index 0000000000..ac41914586 --- /dev/null +++ b/meta-oe/recipes-devtools/swig/swig_3.0.2.bb @@ -0,0 +1,8 @@ +require ${BPN}.inc + +SRC_URI += "file://0001-Use-proc-self-exe-for-swig-swiglib-on-non-Win32-plat.patch \ + file://0001-configure-use-pkg-config-for-pcre-detection.patch \ + " + +SRC_URI[md5sum] = "62f9b0d010cef36a13a010dc530d0d41" +SRC_URI[sha256sum] = "a2669657cabcedc371f63c0457407a183e0b6b2ef4e7e303c1ec9a3964cc7813" diff --git a/meta-oe/recipes-devtools/tclap/tclap_1.2.1.bb b/meta-oe/recipes-devtools/tclap/tclap_1.2.1.bb index c6bedea097..ab15a7e7f4 100644 --- a/meta-oe/recipes-devtools/tclap/tclap_1.2.1.bb +++ b/meta-oe/recipes-devtools/tclap/tclap_1.2.1.bb @@ -11,4 +11,6 @@ SRC_URI = "git://git.code.sf.net/p/tclap/code \ S = "${WORKDIR}/git" inherit autotools +ALLOW_EMPTY_${PN} = "1" + BBCLASSEXTEND = "native nativesdk" diff --git a/meta-oe/recipes-devtools/tcltk/tk_8.6.0.bb b/meta-oe/recipes-devtools/tcltk/tk_8.6.0.bb index 1177d03688..14c6ce54c0 100644 --- a/meta-oe/recipes-devtools/tcltk/tk_8.6.0.bb +++ b/meta-oe/recipes-devtools/tcltk/tk_8.6.0.bb @@ -35,7 +35,9 @@ S = "${WORKDIR}/${BPN}${PV}/unix" VER = "${@os.path.splitext(d.getVar('PV', True))[0]}" LDFLAGS += "-Wl,-rpath,${libdir}/tcltk/${PV}/lib" -inherit autotools +inherit autotools distro_features_check +# depends on virtual/libx11 +REQUIRED_DISTRO_FEATURES = "x11" EXTRA_OECONF = "\ --enable-threads \ diff --git a/meta-oe/recipes-devtools/uw-imap/uw-imap/imap-2007e-shared.patch b/meta-oe/recipes-devtools/uw-imap/uw-imap/imap-2007e-shared.patch new file mode 100644 index 0000000000..4434e839f8 --- /dev/null +++ b/meta-oe/recipes-devtools/uw-imap/uw-imap/imap-2007e-shared.patch @@ -0,0 +1,82 @@ +Fix linking libraries built with -fPIC with this library + +Patch borrowed from Fedora + +Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> + +Upstream-Status: Pending + +diff -up imap-2007e/src/osdep/unix/Makefile.shared imap-2007e/src/osdep/unix/Makefile +--- imap-2007e/src/osdep/unix/Makefile.shared 2009-07-07 19:28:02.909755512 -0500 ++++ imap-2007e/src/osdep/unix/Makefile 2009-07-07 19:29:35.870006799 -0500 +@@ -170,6 +170,10 @@ BUILD=$(MAKE) build EXTRACFLAGS='$(EXTRA + EXTRADRIVERS='$(EXTRADRIVERS)' EXTRAAUTHENTICATORS='$(EXTRAAUTHENTICATORS)'\ + PASSWDTYPE=$(PASSWDTYPE) SSLTYPE=$(SSLTYPE) IP=$(IP) + ++# Need this for the shared library rule to work correctly ++.SUFFIXES: .o .so ++SOFILES=${BINARIES:.o=.so} ++ + + # Here if no make argument established + +@@ -845,18 +849,24 @@ vu2: # VAX Ultrix 2.3, etc. + + # Build it! + +-build: clean once $(ARCHIVE) ++build: clean once $(ARCHIVE) $(SHLIBNAME) + +-all: $(ARCHIVE) ++all: $(ARCHIVE) $(SHLIBNAME) + + $(ARCHIVE): $(BINARIES) + sh -c '$(RM) $(ARCHIVE) || true' + @$(CAT) ARCHIVE + @$(SH) ARCHIVE + +-.c.o: +- `$(CAT) CCTYPE` -c `$(CAT) CFLAGS` $*.c ++$(SHLIBNAME): $(SOFILES) ++ gcc -shared -Wl,-soname,$(SHLIBNAME) -o $(SHLIBNAME) $(SOFILES) `cat LDFLAGS` ++ ln -s $(SHLIBNAME) lib$(SHLIBBASE).so + ++.c.so: osdep.h ++ $(CC) -fPIC -DPIC -D_REENTRANT -c `$(CAT) CFLAGS` ${@:.so=.c} -o $@ ++ ++.c.o: ++ $(CC) -fPIC -DPIC -D_REENTRANT -c `$(CAT) CFLAGS` $*.c + + # Cleanup + +@@ -895,8 +905,7 @@ utf8aux.o: mail.h misc.h osdep.h utf8.h + + + # OS-dependent +- +-osdep.o:mail.h misc.h env.h fs.h ftl.h nl.h tcp.h \ ++OSDEPS= mail.h misc.h env.h fs.h ftl.h nl.h tcp.h \ + osdep.h env_unix.h tcp_unix.h \ + osdep.c env_unix.c fs_unix.c ftl_unix.c nl_unix.c tcp_unix.c ip_unix.c\ + auths.c crexcl.c flockcyg.c flocklnx.c flocksim.c fsync.c \ +@@ -910,12 +919,19 @@ osdep.o:mail.h misc.h env.h fs.h ftl.h n + write.c sslstdio.c \ + strerror.c strpbrk.c strstr.c strtok.c strtoul.c \ + OSCFLAGS ++ ++osdep.o: $(OSDEPS) ++ $(CC) -fPIC -DPIC -D_REENTRANT `$(CAT) CFLAGS` `$(CAT) OSCFLAGS` -c osdep.c ++ @echo ======================================================================== + @echo Building OS-dependent module + @echo If you get No such file error messages for files x509.h, ssl.h, + @echo pem.h, buffer.h, bio.h, and crypto.h, that means that OpenSSL + @echo is not installed on your system. Either install OpenSSL first + @echo or build with command: make `$(CAT) OSTYPE` SSLTYPE=none +- `$(CAT) CCTYPE` -c `$(CAT) CFLAGS` `$(CAT) OSCFLAGS` -c osdep.c ++ @echo ======================================================================== ++ ++osdep.so: $(OSDEPS) ++ $(CC) -fPIC -DPIC -D_REENTRANT `$(CAT) CFLAGS` `cat OSCFLAGS` -c osdep.c -o $@ + + osdep.c: osdepbas.c osdepckp.c osdeplog.c osdepssl.c + $(CAT) osdepbas.c osdepckp.c osdeplog.c osdepssl.c > osdep.c diff --git a/meta-oe/recipes-devtools/uw-imap/uw-imap/imap-2007f-format-security.patch b/meta-oe/recipes-devtools/uw-imap/uw-imap/imap-2007f-format-security.patch new file mode 100644 index 0000000000..6ec04761a3 --- /dev/null +++ b/meta-oe/recipes-devtools/uw-imap/uw-imap/imap-2007f-format-security.patch @@ -0,0 +1,20 @@ +Fix error found with "-Werror=format-security" flag + +Patch borrowed from Fedora + +Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> + +Upstream-Status: Pending + +diff -Naur imap-2007f.orig/src/osdep/unix/flocklnx.c imap-2007f/src/osdep/unix/flocklnx.c +--- imap-2007f.orig/src/osdep/unix/flocklnx.c 2011-07-23 02:20:11.000000000 +0200 ++++ imap-2007f/src/osdep/unix/flocklnx.c 2014-04-14 19:17:46.429000000 +0200 +@@ -57,7 +57,7 @@ + case ENOLCK: /* lock table is full */ + sprintf (tmp,"File locking failure: %s",strerror (errno)); + mm_log (tmp,WARN); /* give the user a warning of what happened */ +- if (!logged++) syslog (LOG_ERR,tmp); ++ if (!logged++) syslog (LOG_ERR, "%s", tmp); + /* return failure if non-blocking lock */ + if (op & LOCK_NB) return -1; + sleep (5); /* slow down in case it loops */ diff --git a/meta-oe/recipes-devtools/libc-client/files/quote_cctype.patch b/meta-oe/recipes-devtools/uw-imap/uw-imap/quote_cctype.patch index f729ee2074..f729ee2074 100644 --- a/meta-oe/recipes-devtools/libc-client/files/quote_cctype.patch +++ b/meta-oe/recipes-devtools/uw-imap/uw-imap/quote_cctype.patch diff --git a/meta-oe/recipes-devtools/libc-client/libc-client_2007e.bb b/meta-oe/recipes-devtools/uw-imap/uw-imap_2007f.bb index 150ff9028d..52b689ed68 100644 --- a/meta-oe/recipes-devtools/libc-client/libc-client_2007e.bb +++ b/meta-oe/recipes-devtools/uw-imap/uw-imap_2007f.bb @@ -4,25 +4,29 @@ SECTION = "devel" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=a6a4ddbb7cd2999f6827ee143f6fcd97" -DEPENDS = "openssl libpam" - -PR = "r1" +DEPENDS = "openssl" SRC_URI = "ftp://ftp.cac.washington.edu/imap/imap-${PV}.tar.gz \ - file://quote_cctype.patch" + file://quote_cctype.patch \ + file://imap-2007e-shared.patch \ + file://imap-2007f-format-security.patch \ + " -SRC_URI[md5sum] = "7903800dc2604000016de070e0c55840" -SRC_URI[sha256sum] = "4b1137b87249782496ec3eeacaf83bbf09312a7d2ae3aead262179041b55565f" +SRC_URI[md5sum] = "2126fd125ea26b73b20f01fcd5940369" +SRC_URI[sha256sum] = "53e15a2b5c1bc80161d42e9f69792a3fa18332b7b771910131004eb520004a28" S = "${WORKDIR}/imap-${PV}" +PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam', '', d)}" +PACKAGECONFIG[pam] = ",,libpam" + EXTRA_OEMAKE = "CC='${CC}'" HEADERS = "src/c-client/*.h src/osdep/unix/*.h c-client/auths.c c-client/linkage.c c-client/linkage.h c-client/osdep.h" do_compile() { echo "SSLINCLUDE=${STAGING_INCDIR} SSLLIB=${STAGING_LIBDIR}" > ${S}/SPECIALS - oe_runmake lnp + oe_runmake ${@bb.utils.contains('PACKAGECONFIG', 'pam', 'lnp', 'slx', d)} } do_install() { @@ -32,4 +36,9 @@ do_install() { install c-client/c-client.a ${D}${libdir}/libc-client.a } +RPROVIDES_${PN} = "libc-client" +RREPLACES_${PN} = "libc-client" +RCONFLICTS_${PN} = "libc-client" + ALLOW_EMPTY_${PN} = "1" + diff --git a/meta-oe/recipes-devtools/vala-dbus-binding-tool/vala-dbus-binding-tool.inc b/meta-oe/recipes-devtools/vala-dbus-binding-tool/vala-dbus-binding-tool.inc index a3db952221..7c8e341a3e 100644 --- a/meta-oe/recipes-devtools/vala-dbus-binding-tool/vala-dbus-binding-tool.inc +++ b/meta-oe/recipes-devtools/vala-dbus-binding-tool/vala-dbus-binding-tool.inc @@ -11,6 +11,6 @@ export XDG_DATA_DIRS = "${STAGING_DATADIR}" SRC_URI = "http://downloads.freesmartphone.org/sources/${BPN}/${BP}.tar.bz2;name=archive" -inherit autotools perlnative +inherit autotools perlnative pkgconfig BBCLASSEXTEND = "native" diff --git a/meta-oe/recipes-extended/acpica/acpica_20140424.bb b/meta-oe/recipes-extended/acpica/acpica_20140828.bb index c302d27ba0..fb19c8858a 100644 --- a/meta-oe/recipes-extended/acpica/acpica_20140424.bb +++ b/meta-oe/recipes-extended/acpica/acpica_20140828.bb @@ -14,12 +14,12 @@ DEPENDS = "bison flex" SRC_URI = "https://acpica.org/sites/acpica/files/acpica-unix2-${PV}.tar.gz \ file://no-werror.patch \ " -SRC_URI[md5sum] = "733532f005fba5d1c5344440651b13d1" -SRC_URI[sha256sum] = "72ece982bbbdfb1b17418f1feb3a9daaa01803d0d41dcf00e19d702cdf751bbc" +SRC_URI[md5sum] = "6f05f0d10166a1b1ff6107f3d1cdf1e5" +SRC_URI[sha256sum] = "01d8867656c5ba41dec307c4383ce676196ad4281ac2c9dec9f5be5fac6d888e" S = "${WORKDIR}/acpica-unix2-${PV}" -EXTRA_OEMAKE = "CC=${TARGET_PREFIX}gcc 'OPT_CFLAGS=-Wall'" +EXTRA_OEMAKE = "CC='${CC}' 'OPT_CFLAGS=-Wall'" do_install() { install -D -p -m0755 generate/unix/bin*/iasl ${D}${bindir}/iasl diff --git a/meta-oe/recipes-extended/acpica/acpitests/aapits-linux.patch b/meta-oe/recipes-extended/acpica/acpitests/aapits-linux.patch index 116761d574..7c5d6b0443 100644 --- a/meta-oe/recipes-extended/acpica/acpitests/aapits-linux.patch +++ b/meta-oe/recipes-extended/acpica/acpitests/aapits-linux.patch @@ -326,8 +326,8 @@ diff -urN acpica-unix2-20130626/tests/aapits/Makefile acpica-unix2-20130626-aapi --- acpica-unix2-20130626/tests/aapits/Makefile 2013-01-17 12:48:29.000000000 -0700 +++ acpica-unix2-20130626-aapits/tests/aapits/Makefile 2013-07-25 15:17:09.309236422 -0600 @@ -194,7 +194,7 @@ - CFLAGS+= -Wall -g -D_LINUX -DNDEBUG -D_CONSOLE -DACPI_EXEC_APP -D_MULTI_THREADED -Wstrict-prototypes -I../../source/include - + CFLAGS+= -Wall -g -D_LINUX -DNDEBUG -D_CONSOLE -DACPI_APITS -DACPI_EXEC_APP -D_MULTI_THREADED -Wstrict-prototypes -I../../source/include + -acpiexec : $(patsubst %.c,%.o, $(SRCS)) +$(PROG) : $(patsubst %.c,%.o, $(SRCS)) diff --git a/meta-oe/recipes-extended/acpica/acpitests/aapits-makefile.patch b/meta-oe/recipes-extended/acpica/acpitests/aapits-makefile.patch index d38501b772..4d9e9974dd 100644 --- a/meta-oe/recipes-extended/acpica/acpitests/aapits-makefile.patch +++ b/meta-oe/recipes-extended/acpica/acpitests/aapits-makefile.patch @@ -8,19 +8,27 @@ Upstream-status: Unknown diff -urN acpica-unix2-20140325/tests/aapits/Makefile acpica-unix2-20140325/tests/aapits/Makefile --- acpica-unix2-20140325/tests/aapits/Makefile 2014-04-05 14:23:14.683636794 -0600 +++ acpica-unix2-20140325-aapits/tests/aapits/Makefile 2014-04-05 15:10:57.879184598 -0600 -@@ -20,6 +20,7 @@ - ../../source/components/hardware/hwxface.c \ +@@ -16,6 +16,7 @@ + atosxfwrap.c \ + osunixxf.c \ + ../../source/common/ahids.c \ ++ ../../source/common/ahuuids.c \ ../../source/common/cmfsize.c \ ../../source/common/getopt.c \ -+ ../../source/common/ahids.c \ - ../../source/components/debugger/dbcmds.c \ - ../../source/components/debugger/dbconvert.c \ - ../../source/components/debugger/dbdisply.c \ -@@ -154,6 +155,7 @@ - ../../source/components/tables/tbfadt.c \ - ../../source/components/tables/tbfind.c \ - ../../source/components/tables/tbinstal.c \ -+ ../../source/components/tables/tbdata.c \ - ../../source/components/tables/tbprint.c \ - ../../source/components/tables/tbutils.c \ - ../../source/components/tables/tbxface.c \ + ../../source/components/hardware/hwtimer.c \ +@@ -174,6 +175,7 @@ + ../../source/components/utilities/utexcep.c \ + ../../source/components/utilities/utfileio.c \ + ../../source/components/utilities/utglobal.c \ ++ ../../source/components/utilities/uthex.c \ + ../../source/components/utilities/utids.c \ + ../../source/components/utilities/utinit.c \ + ../../source/components/utilities/utlock.c \ +@@ -189,6 +191,7 @@ + ../../source/components/utilities/utstate.c \ + ../../source/components/utilities/utstring.c \ + ../../source/components/utilities/uttrack.c \ ++ ../../source/components/utilities/utuuid.c \ + ../../source/components/utilities/utxface.c \ + ../../source/components/utilities/utxferror.c \ + ../../source/components/utilities/utxfinit.c \ diff --git a/meta-oe/recipes-extended/acpica/acpitests_20140424.bb b/meta-oe/recipes-extended/acpica/acpitests_20140828.bb index 7e145bb2a6..da2658218e 100644 --- a/meta-oe/recipes-extended/acpica/acpitests_20140424.bb +++ b/meta-oe/recipes-extended/acpica/acpitests_20140828.bb @@ -10,15 +10,15 @@ SRC_URI = "https://acpica.org/sites/acpica/files/acpitests-unix-${PV}.tar.gz;nam https://acpica.org/sites/acpica/files/acpica-unix2-${PV}.tar.gz;name=acpica \ file://aapits-linux.patch \ file://aapits-makefile.patch \ - " -SRC_URI[acpitests.md5sum] = "bfc399cecb21e9491d362d8e480b2689" -SRC_URI[acpitests.sha256sum] = "e7d7ff638872543909b38c2498e88958251ee6ce4d22bc13d4e3925771212c0e" -SRC_URI[acpica.md5sum] = "733532f005fba5d1c5344440651b13d1" -SRC_URI[acpica.sha256sum] = "72ece982bbbdfb1b17418f1feb3a9daaa01803d0d41dcf00e19d702cdf751bbc" +" +SRC_URI[acpitests.md5sum] = "db9d6fdaa8e3eb101d700ee5ba4938ed" +SRC_URI[acpitests.sha256sum] = "e576c74bf1bf1c9f7348bf9419e05c8acfece7105abcdc052e66670c7af2cf00" +SRC_URI[acpica.md5sum] = "6f05f0d10166a1b1ff6107f3d1cdf1e5" +SRC_URI[acpica.sha256sum] = "01d8867656c5ba41dec307c4383ce676196ad4281ac2c9dec9f5be5fac6d888e" S = "${WORKDIR}/acpitests-unix-${PV}" -EXTRA_OEMAKE = "CC=${TARGET_PREFIX}gcc 'OPT_CFLAGS=-Wall'" +EXTRA_OEMAKE = "'${HOST_CC_ARCH}' 'OPT_CFLAGS=-Wall'" # The Makefiles expect a specific layout do_compile() { diff --git a/meta-oe/recipes-extended/anki/anki_0.4.3.bb b/meta-oe/recipes-extended/anki/anki_0.4.3.bb index 7943ce8cd0..d441a7011c 100644 --- a/meta-oe/recipes-extended/anki/anki_0.4.3.bb +++ b/meta-oe/recipes-extended/anki/anki_0.4.3.bb @@ -1,4 +1,4 @@ require ${PN}-${PV}.inc -RDEPENDS_${PN} = "python-pyqt python-sip libanki" +RDEPENDS_${PN} = "python-pyqt sip libanki" RRECOMMENDS_${PN} = "virtual-japanese-font" diff --git a/meta-oe/recipes-extended/collectd/collectd/collectd.service b/meta-oe/recipes-extended/collectd/collectd/collectd.service new file mode 100644 index 0000000000..d835b735f6 --- /dev/null +++ b/meta-oe/recipes-extended/collectd/collectd/collectd.service @@ -0,0 +1,12 @@ +[Unit] +Description=Collectd +After=local-fs.target network.target +Requires=local-fs.target network.target + +[Service] +ExecStart=@SBINDIR@/collectd -C /etc/collectd.conf -f +Restart=always +RestartSec=10 + +[Install] +WantedBy=multi-user.target diff --git a/meta-oe/recipes-extended/collectd/collectd/glibc-2.20-compatiblity.patch b/meta-oe/recipes-extended/collectd/collectd/glibc-2.20-compatiblity.patch new file mode 100644 index 0000000000..2596bedf90 --- /dev/null +++ b/meta-oe/recipes-extended/collectd/collectd/glibc-2.20-compatiblity.patch @@ -0,0 +1,102 @@ +This makes it forward compatible with glibc 2.20+ where _BSD_SOURCE +macro has been deprecated. + +Fixes warnings like + +usr/include/features.h:148:3: error: #warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-Werror=cpp] +| # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +Upstream-Status: Pending +Index: collectd-5.4.1/configure.ac +=================================================================== +--- collectd-5.4.1.orig/configure.ac 2014-09-03 01:21:10.666084244 -0700 ++++ collectd-5.4.1/configure.ac 2014-09-03 01:31:27.794084244 -0700 +@@ -1288,6 +1288,7 @@ + + AC_CHECK_MEMBERS([struct udphdr.uh_dport, struct udphdr.uh_sport], [], [], + [#define _BSD_SOURCE ++#define _DEFAULT_SOURCE 1 + #if HAVE_STDINT_H + # include <stdint.h> + #endif +@@ -1309,6 +1310,7 @@ + ]) + AC_CHECK_MEMBERS([struct udphdr.dest, struct udphdr.source], [], [], + [#define _BSD_SOURCE ++#define _DEFAULT_SOURCE 1 + #if HAVE_STDINT_H + # include <stdint.h> + #endif +Index: collectd-5.4.1/src/dns.c +=================================================================== +--- collectd-5.4.1.orig/src/dns.c 2014-01-26 00:09:14.856391886 -0800 ++++ collectd-5.4.1/src/dns.c 2014-09-03 01:32:37.666084244 -0700 +@@ -22,6 +22,7 @@ + **/ + + #define _BSD_SOURCE ++#define _DEFAULT_SOURCE 1 + + #include "collectd.h" + #include "common.h" +Index: collectd-5.4.1/src/exec.c +=================================================================== +--- collectd-5.4.1.orig/src/exec.c 2014-01-26 00:09:14.860391963 -0800 ++++ collectd-5.4.1/src/exec.c 2014-09-03 01:32:28.874084244 -0700 +@@ -24,6 +24,7 @@ + **/ + + #define _BSD_SOURCE /* For setgroups */ ++#define _DEFAULT_SOURCE 1 + + #include "collectd.h" + #include "common.h" +Index: collectd-5.4.1/src/load.c +=================================================================== +--- collectd-5.4.1.orig/src/load.c 2014-01-26 00:09:23.532559941 -0800 ++++ collectd-5.4.1/src/load.c 2014-09-03 01:32:51.462084244 -0700 +@@ -22,6 +22,7 @@ + **/ + + #define _BSD_SOURCE ++#define _DEFAULT_SOURCE 1 + + #include "collectd.h" + #include "common.h" +Index: collectd-5.4.1/src/network.c +=================================================================== +--- collectd-5.4.1.orig/src/network.c 2014-01-26 00:09:23.532559941 -0800 ++++ collectd-5.4.1/src/network.c 2014-09-03 01:32:44.522084244 -0700 +@@ -23,6 +23,7 @@ + **/ + + #define _BSD_SOURCE /* For struct ip_mreq */ ++#define _DEFAULT_SOURCE 1 + + #include "collectd.h" + #include "plugin.h" +Index: collectd-5.4.1/src/ntpd.c +=================================================================== +--- collectd-5.4.1.orig/src/ntpd.c 2014-01-26 00:09:14.880392351 -0800 ++++ collectd-5.4.1/src/ntpd.c 2014-09-03 01:32:20.350084244 -0700 +@@ -20,6 +20,7 @@ + **/ + + #define _BSD_SOURCE /* For NI_MAXHOST */ ++#define _DEFAULT_SOURCE 1 + + #include "collectd.h" + #include "common.h" +Index: collectd-5.4.1/src/utils_dns.c +=================================================================== +--- collectd-5.4.1.orig/src/utils_dns.c 2014-01-26 00:09:14.908392893 -0800 ++++ collectd-5.4.1/src/utils_dns.c 2014-09-03 01:31:47.062084244 -0700 +@@ -34,6 +34,7 @@ + */ + + #define _BSD_SOURCE ++#define _DEFAULT_SOURCE 1 + + #include "collectd.h" + #include "plugin.h" diff --git a/meta-oe/recipes-extended/collectd/collectd/no-gcrypt-badpath.patch b/meta-oe/recipes-extended/collectd/collectd/no-gcrypt-badpath.patch index 02b160109e..0e876ae85c 100644 --- a/meta-oe/recipes-extended/collectd/collectd/no-gcrypt-badpath.patch +++ b/meta-oe/recipes-extended/collectd/collectd/no-gcrypt-badpath.patch @@ -7,11 +7,11 @@ Upstream-Status: Inappropriate [configuration] Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> -diff --git a/configure.in b/configure.in -index 98395ed..81c3a2c 100644 ---- a/configure.in -+++ b/configure.in -@@ -1777,11 +1777,11 @@ then +Index: collectd-5.4.1/configure.ac +=================================================================== +--- collectd-5.4.1.orig/configure.ac 2014-09-03 01:20:22.062084244 -0700 ++++ collectd-5.4.1/configure.ac 2014-09-03 01:20:22.058084244 -0700 +@@ -1867,11 +1867,11 @@ GCRYPT_CPPFLAGS=`"$with_libgcrypt_config" --cflags 2>/dev/null` fi diff --git a/meta-oe/recipes-extended/collectd/collectd_5.2.2.bb b/meta-oe/recipes-extended/collectd/collectd_5.4.1.bb index 8585ff3c70..92b231c81e 100644 --- a/meta-oe/recipes-extended/collectd/collectd_5.2.2.bb +++ b/meta-oe/recipes-extended/collectd/collectd_5.4.1.bb @@ -3,17 +3,20 @@ DESCRIPTION = "collectd is a daemon which collects system performance statistics LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" -DEPENDS = "rrdtool curl mysql5 libpcap libxml2 yajl libgcrypt libtool" +DEPENDS = "rrdtool curl mysql5 libpcap libxml2 yajl libgcrypt libtool lvm2 libmnl" SRC_URI = "http://collectd.org/files/collectd-${PV}.tar.bz2 \ file://no-gcrypt-badpath.patch \ file://collectd-version.patch \ - file://collectd.init" + file://glibc-2.20-compatiblity.patch \ + file://collectd.init \ + file://collectd.service" +SRC_URI[md5sum] = "6f56c71c96573a7f4f7fb3bfab185974" +SRC_URI[sha256sum] = "75452129f271cb0aad28e57f12a49070618bbb7b6a9d64cf869e8766fa2f66e0" -SRC_URI[md5sum] = "29e61411e51845d5ae71ab676078867e" -SRC_URI[sha256sum] = "7b8906d1c8866155b31820ef108be92abcee7fcd278d386bf0d449e704ba4696" +inherit autotools pythonnative update-rc.d pkgconfig systemd -inherit autotools pythonnative update-rc.d +SYSTEMD_SERVICE_${PN} = "collectd.service" # Floatingpoint layout, architecture dependent # 'nothing', 'endianflip' or 'intswap' @@ -30,6 +33,12 @@ PACKAGECONFIG[modbus] = "--enable-modbus,--disable-modbus,libmodbus" PACKAGECONFIG[libowcapi] = "--with-libowcapi,--without-libowcapi,owfs" PACKAGECONFIG[sensors] = "--enable-sensors --with-libsensors=yes, \ --disable-sensors --with-libsensors=no,lmsensors" +PACKAGECONFIG[amqp] = "--enable-amqp --with-librabbitmq=yes, \ + --disable-amqp --with-librabbitmq=no,rabbitmq-c" +# protobuf-c, libvirt that are currently only available in meta-virtualization layer +PACKAGECONFIG[pinba] = "--enable-pinba,--disable-pinba,protobuf-c-native protobuf-c" +PACKAGECONFIG[libvirt] = "--enable-libvirt,--disable-libvirt,libvirt" +PACKAGECONFIG[libesmtp] = "--with-libesmtp,--without-libesmtp,libesmtp" EXTRA_OECONF = " \ ${FPLAYOUT} \ @@ -51,6 +60,12 @@ do_install_append() { rmdir "${D}${localstatedir}/run" rmdir --ignore-fail-on-non-empty "${D}${localstatedir}" + + # Install systemd unit files + install -d ${D}${systemd_unitdir}/system + install -m 0644 ${WORKDIR}/collectd.service ${D}${systemd_unitdir}/system + sed -i -e 's,@SBINDIR@,${sbindir},g' \ + ${D}${systemd_unitdir}/system/collectd.service } INITSCRIPT_NAME = "collectd" diff --git a/meta-oe/recipes-extended/corosync/corosync_2.3.4.bb b/meta-oe/recipes-extended/corosync/corosync_2.3.4.bb new file mode 100644 index 0000000000..b84257fc0d --- /dev/null +++ b/meta-oe/recipes-extended/corosync/corosync_2.3.4.bb @@ -0,0 +1,61 @@ +SUMMARY = "The Corosync Cluster Engine and Application Programming Interfaces" +DESCRIPTION = "This package contains the Corosync Cluster Engine Executive, several default \ +APIs and libraries, default configuration files, and an init script." +HOMEPAGE = "http://corosync.github.io/corosync/" + +SECTION = "base" + +inherit autotools pkgconfig systemd + +SRC_URI = "http://build.clusterlabs.org/corosync/releases/${BP}.tar.gz \ + " + +SRC_URI[md5sum] = "4b0f36a1dc014527e5b192265dbd7e70" +SRC_URI[sha256sum] = "3dae93fb1cf5c560295253b0560cbc25421ed053ee373852864f3a60c03247d4" + +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://LICENSE;md5=a85eb4ce24033adb6088dd1d6ffc5e5d" + +DEPENDS = "groff-native nss libqb" + +SYSTEMD_SERVICE_${PN} = "corosync.service corosync-notifyd.service" +SYSTEMD_AUTO_ENABLE = "enable" + +INITSCRIPT_NAME = "corosync-daemon" + +PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)}" + +PACKAGECONFIG[systemd] = "--enable-systemd --with-systemddir=${systemd_unitdir}/system/,--with-systemddir=" + +EXTRA_OECONF = "--disable-nss \ + --with-upstartdir=%{_sysconfdir}/init \ +" +EXTRA_OECONF += " --enable-nss " + +do_configure_prepend() { + ( cd ${S} + ${S}/autogen.sh ) +} + +do_install_append() { + install -d ${D}${sysconfdir}/sysconfig/ + install -d ${D}/${sysconfdir}/init.d + install -m 0644 ${S}/init/corosync.sysconfig.example ${D}${sysconfdir}/sysconfig/corosync + install -m 0644 ${S}/init/corosync-notifyd.conf.in ${D}${sysconfdir}/sysconfig/corosync-notifyd.conf + install -m 0644 ${S}/init/corosync.conf.in ${D}${sysconfdir}/sysconfig/corosync.conf + install -m 0644 ${S}/init/corosync.in ${D}${sysconfdir}/init.d/corosync + install -m 0644 ${S}/init/corosync-notifyd.in ${D}${sysconfdir}/init.d/corosync-notifyd + + if ${@base_contains('DISTRO_FEATURES','systemd','true','false',d)}; then + install -d ${D}${systemd_unitdir}/system + install -m 0644 ${S}/init/corosync.service.in ${D}${systemd_unitdir}/system/corosync.service + install -m 0644 ${S}/init/corosync-notifyd.service.in ${D}${systemd_unitdir}/system/corosync-notifyd.service + sed -i -e 's,@INITWRAPPERSDIR@,${sysconfdir}/init.d,g' ${D}${systemd_unitdir}/system/corosync.service + sed -i -e 's,@SYSCONFDIR@,${sysconfdir},g' ${D}${systemd_unitdir}/system/corosync-notifyd.service + sed -i -e 's,@SBINDIR@,${base_sbindir},g' ${D}${systemd_unitdir}/system/corosync-notifyd.service + fi +} + +RDEPENDS_${PN} += "bash" + +FILES_${PN}-dbg += "${libexecdir}/lcrso/.debug" diff --git a/meta-oe/recipes-extended/dash/dash_0.5.8.bb b/meta-oe/recipes-extended/dash/dash_0.5.8.bb new file mode 100644 index 0000000000..4961d7b83f --- /dev/null +++ b/meta-oe/recipes-extended/dash/dash_0.5.8.bb @@ -0,0 +1,27 @@ +SUMMARY = "Small and fast POSIX-compliant shell" +HOMEPAGE = "http://gondor.apana.org.au/~herbert/dash/" +SECTION = "System Environment/Shells" + +LICENSE = "BSD & GPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=b5262b4a1a1bff72b48e935531976d2e" + +inherit autotools update-alternatives + +SRC_URI = "http://gondor.apana.org.au/~herbert/${BPN}/files/${BP}.tar.gz" +SRC_URI[md5sum] = "5c152209680dab3c319e8923f6c51378" +SRC_URI[sha256sum] = "c6db3a237747b02d20382a761397563d813b306c020ae28ce25a1c3915fac60f" + +EXTRA_OECONF += "--bindir=${base_bindir}" + +ALTERNATIVE_${PN} = "sh" +ALTERNATIVE_LINK_NAME[sh] = "${base_bindir}/sh" +ALTERNATIVE_TARGET[sh] = "${base_bindir}/dash" +ALTERNATIVE_PRIORITY = "10" + +pkg_postinst_${PN} () { + grep -q "^${base_bindir}/dash$" $D${sysconfdir}/shells || echo ${base_bindir}/dash >> $D${sysconfdir}/shells +} + +pkg_postrm_${PN} () { + printf "$(grep -v "^${base_bindir}/dash$" $D${sysconfdir}/shells)\n" > $D${sysconfdir}/shells +} diff --git a/meta-oe/recipes-extended/ddrescue/ddrescue_1.16.bb b/meta-oe/recipes-extended/ddrescue/ddrescue_1.16.bb deleted file mode 100644 index 50202c1cb7..0000000000 --- a/meta-oe/recipes-extended/ddrescue/ddrescue_1.16.bb +++ /dev/null @@ -1,18 +0,0 @@ -SUMMARY = "Data recovery tool" -DESCRIPTION = "GNU ddrescue is a data recovery tool. It copies data \ - from one file or block device (hard disc, cdrom, etc) to another, \ - trying hard to rescue data in case of read errors." -HOMEPAGE = "http://www.gnu.org/software/ddrescue/ddrescue.html" -SECTION = "console" -LICENSE = "GPLv3+" - -LIC_FILES_CHKSUM = "file://COPYING;md5=f27defe1e96c2e1ecd4e0c9be8967949 \ - file://main_common.cc;beginline=5;endline=16;md5=b5a59150a33658cc1ffc31b1a4ffb9f2" - -SRC_URI = "${GNU_MIRROR}/${PN}/${P}.tar.gz" -SRC_URI[md5sum] = "57b67407e882c6418531d48a2f20d16b" -SRC_URI[sha256sum] = "76b3f2e5fb0306d24f2632c3e168cccb73dc0a348e3a7089cd9230748ff23de6" - -inherit autotools - -EXTRA_OECONF = "'CXX=${CXX}' 'CPPFLAGS=${CPPFLAGS}' 'CXXFLAGS=${CXXFLAGS}' 'LDFLAGS=${LDFLAGS}'" diff --git a/meta-oe/recipes-extended/ddrescue/ddrescue_1.19.bb b/meta-oe/recipes-extended/ddrescue/ddrescue_1.19.bb new file mode 100644 index 0000000000..27e00a5e63 --- /dev/null +++ b/meta-oe/recipes-extended/ddrescue/ddrescue_1.19.bb @@ -0,0 +1,45 @@ +SUMMARY = "Data recovery tool" +DESCRIPTION = "GNU ddrescue is a data recovery tool. It copies data \ + from one file or block device (hard disc, cdrom, etc) to another, \ + trying hard to rescue data in case of read errors." +HOMEPAGE = "http://www.gnu.org/software/ddrescue/ddrescue.html" +SECTION = "console" +LICENSE = "GPLv2+" + +LIC_FILES_CHKSUM = "file://COPYING;md5=76d6e300ffd8fb9d18bd9b136a9bba13 \ + file://main_common.cc;beginline=5;endline=16;md5=3ec288b2676528cd2b069364e313016f" + +SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.lz" +SRC_URI[md5sum] = "ed6b5b82d74cbd925db2b829350e74b1" +SRC_URI[sha256sum] = "ed8d0c9d9aac80a9110e9cb0d0a91a7390d3bf9f816b67a62ca4eb140f4747b8" + +# This isn't already added by base.bbclass +do_unpack[depends] += "lzip-native:do_populate_sysroot" + +CONFIGUREOPTS = "\ + '--srcdir=${S}' \ + '--prefix=${prefix}' \ + '--exec-prefix=${exec_prefix}' \ + '--bindir=${bindir}' \ + '--datadir=${datadir}' \ + '--infodir=${infodir}' \ + '--sysconfdir=${sysconfdir}' \ + 'CXX=${CXX}' \ + 'CPPFLAGS=${CPPFLAGS}' \ + 'CXXFLAGS=${CXXFLAGS}' \ + 'LDFLAGS=${LDFLAGS}' \ +" +EXTRA_OEMAKE = "" + +do_configure () { + ${S}/configure ${CONFIGUREOPTS} +} + +do_install () { + oe_runmake 'DESTDIR=${D}' install + # Info dir listing isn't interesting at this point so remove it if it exists. + if [ -e "${D}${infodir}/dir" ]; then + rm -f ${D}${infodir}/dir + fi +} + diff --git a/meta-oe/recipes-extended/dialog/dialog.inc b/meta-oe/recipes-extended/dialog/dialog.inc index c1c28fd876..995d6c07c1 100644 --- a/meta-oe/recipes-extended/dialog/dialog.inc +++ b/meta-oe/recipes-extended/dialog/dialog.inc @@ -8,12 +8,14 @@ DEPENDS = "ncurses" LICENSE = "LGPL-2.1" LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343" -SRC_URI = "ftp://invisible-island.net/dialog/dialog-${PV}.tgz" +SRC_URI = "ftp://invisible-island.net/dialog/dialog-${PV}.tgz \ + file://use-pkg-config-for-ncurses-detection.patch \ + " # hardcoded here for use in dialog-static recipe S = "${WORKDIR}/dialog-${PV}" -inherit autotools +inherit autotools-brokensep pkgconfig EXTRA_OECONF = "--with-ncurses \ --disable-rpath-hack" diff --git a/meta-oe/recipes-extended/dialog/files/use-pkg-config-for-ncurses-detection.patch b/meta-oe/recipes-extended/dialog/files/use-pkg-config-for-ncurses-detection.patch new file mode 100644 index 0000000000..a2354ade07 --- /dev/null +++ b/meta-oe/recipes-extended/dialog/files/use-pkg-config-for-ncurses-detection.patch @@ -0,0 +1,40 @@ +Subject: [PATCH] use pkg-config for ncurses detection. + +Upstream-Status: Inappropriate [configuration] + +This is a workaround to make dialog be able to build after ncurses-config +does not work, since the configure file is called directly in dialog bb +file, and autoconf can not work, make a workaround in configure file. + +Signed-off-by: Roy Li <rongqing.li@windriver.com> +--- + configure | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/configure b/configure +index 24e28c1..c78735d 100755 +--- a/configure ++++ b/configure +@@ -9976,8 +9976,8 @@ fi + + if test "$NCURSES_CONFIG" != none ; then + +-CPPFLAGS="$CPPFLAGS `$NCURSES_CONFIG --cflags`" +-LIBS="`$NCURSES_CONFIG --libs` $LIBS" ++CPPFLAGS="$CPPFLAGS `pkg-config --short-errors --print-errors --cflags "ncurses" 2>/dev/null`" ++LIBS="`pkg-config --short-errors --print-errors --libs "ncurses" 2>/dev/null` $LIBS" + + # even with config script, some packages use no-override for curses.h + +@@ -10096,7 +10096,7 @@ cat >>confdefs.h <<EOF + #define $cf_nculib_ROOT 1 + EOF + +-cf_cv_ncurses_version=`$NCURSES_CONFIG --version` ++cf_cv_ncurses_version=`pkg-config --short-errors --print-errors --modversion "ncurses"` + + else + +-- +1.7.10.4 + diff --git a/meta-oe/recipes-extended/dlm/dlm_4.0.2.bb b/meta-oe/recipes-extended/dlm/dlm_4.0.2.bb new file mode 100644 index 0000000000..560630c74b --- /dev/null +++ b/meta-oe/recipes-extended/dlm/dlm_4.0.2.bb @@ -0,0 +1,49 @@ +DESCRIPTION = "dlm control daemon and tool" + +SECTION = "utils" +HOMEPAGE = "https://fedorahosted.org/cluster/wiki/HomePage" + +REQUIRED_DISTRO_FEATURES = "systemd" + +SRC_URI = "https://git.fedorahosted.org/cgit/dlm.git/snapshot/${BP}.tar.xz" + +SRC_URI[md5sum] = "efc2ee6093aa6aa0a88aaad83e998a3f" +SRC_URI[sha256sum] = "b89bc557aaffbab0ac005398025f247718a5589cff6574d902eaffe2b20e683e" + +LICENSE = "LGPLv2+ & GPLv2 & GPLv2+" +LIC_FILES_CHKSUM = "file://README.license;md5=8f0bbcdd678df1bce9863492b6c8832d" + +DEPENDS = "corosync systemd" + +inherit pkgconfig systemd distro_features_check + +SYSTEMD_SERVICE_${PN} = "dlm.service" +SYSTEMD_AUTO_ENABLE = "enable" + +export EXTRA_OEMAKE = "" + +do_compile_prepend() { + sed -i "s/libsystemd-daemon/libsystemd/g" ${S}/dlm_controld/Makefile +} + +do_compile () { + oe_runmake 'CC=${CC}' +} + +do_install_append (){ + install -d ${D}${sysconfdir}/sysconfig/ + install -d ${D}${sysconfdir}/init.d/ + install -m 0644 ${S}/init/dlm.sysconfig ${D}${sysconfdir}/sysconfig/dlm + install -m 0644 ${S}/init/dlm.init ${D}${sysconfdir}/init.d/dlm + + # install systemd unit files + if ${@base_contains('DISTRO_FEATURES','systemd','true','false',d)}; then + install -d ${D}${systemd_unitdir}/system + install -m 0644 ${S}/init/dlm.service ${D}${systemd_unitdir}/system + fi +} + +do_install() { + oe_runmake install DESTDIR=${D} LIBDIR=${libdir} +} + diff --git a/meta-oe/recipes-extended/fwts/fwts_git.bb b/meta-oe/recipes-extended/fwts/fwts_git.bb index 4fa1d6be1a..8b0e61b9a8 100644 --- a/meta-oe/recipes-extended/fwts/fwts_git.bb +++ b/meta-oe/recipes-extended/fwts/fwts_git.bb @@ -5,14 +5,14 @@ HOMEPAGE = "https://wiki.ubuntu.com/Kernel/Reference/fwts" LICENSE = "GPLv2+" LIC_FILES_CHKSUM = "file://src/main.c;beginline=1;endline=16;md5=deb8af5388e838d133eaa036f4d1496f" -PV = "14.05.00" +PV = "14.09.00" -SRCREV = "fb5385fec1f3468b479e87c0bba38ab76f60915b" +SRCREV = "cf14f3b4bab716dea95de772ad52786c1cbe862a" SRC_URI = "git://kernel.ubuntu.com/hwe/fwts.git" S = "${WORKDIR}/git" -DEPENDS = "libpcre json-c" +DEPENDS = "libpcre json-c glib-2.0" inherit autotools-brokensep diff --git a/meta-oe/recipes-extended/gnuplot/gnuplot.inc b/meta-oe/recipes-extended/gnuplot/gnuplot.inc index 6c27e6d8ab..69bc74b047 100644 --- a/meta-oe/recipes-extended/gnuplot/gnuplot.inc +++ b/meta-oe/recipes-extended/gnuplot/gnuplot.inc @@ -6,7 +6,9 @@ LICENSE = "gnuplot" LIC_FILES_CHKSUM = "file://Copyright;md5=243a186fc2fd3b992125d60d5b1bab8f" DEPENDS = "virtual/libx11 gd readline" -inherit autotools +inherit autotools distro_features_check +# depends on virtual/libx11 +REQUIRED_DISTRO_FEATURES = "x11" acpaths = "" diff --git a/meta-oe/recipes-extended/gnuplot/gnuplot_4.6.5.bb b/meta-oe/recipes-extended/gnuplot/gnuplot_4.6.5.bb index 8a5bca964d..3f694a0547 100644 --- a/meta-oe/recipes-extended/gnuplot/gnuplot_4.6.5.bb +++ b/meta-oe/recipes-extended/gnuplot/gnuplot_4.6.5.bb @@ -1,6 +1,6 @@ require gnuplot.inc -SRC_URI = "${SOURCEFORGE_MIRROR}/gnuplot/${PN}-${PV}.tar.gz;name=archive \ +SRC_URI = "${SOURCEFORGE_MIRROR}/gnuplot/${BP}.tar.gz;name=archive \ http://www.mneuroth.de/privat/zaurus/qtplot-0.2.tar.gz;name=qtplot \ file://subdirs.patch \ file://lua-loadlibs-configure-in-fix.patch \ diff --git a/meta-oe/recipes-extended/haveged/haveged/remove-systemd-unit-503.patch b/meta-oe/recipes-extended/haveged/haveged/remove-systemd-unit-503.patch new file mode 100644 index 0000000000..df27bcb091 --- /dev/null +++ b/meta-oe/recipes-extended/haveged/haveged/remove-systemd-unit-503.patch @@ -0,0 +1,20 @@ +--- a/init.d/Makefile.am 2014-01-02 18:55:53.000000000 +0100 ++++ b/init.d/Makefile.am 2014-08-11 10:59:40.000000000 +0200 +@@ -34,11 +34,11 @@ + $(do_subst) < $(srcdir)/$(src_tmpl) > haveged.service; + + install-data-hook: +-if ENABLE_SYSTEMD_LOOKUP +- install -p -m644 haveged.service `pkg-config --variable=systemdsystemunitdir systemd`/haveged.service; +-else +- install -p -m644 haveged.service ($unit_dir)/haveged.service; +-endif +- systemctl enable haveged.service; ++#if ENABLE_SYSTEMD_LOOKUP ++# install -p -m644 haveged.service `pkg-config --variable=systemdsystemunitdir systemd`/haveged.service; ++#else ++# install -p -m644 haveged.service ($unit_dir)/haveged.service; ++#endif ++# systemctl enable haveged.service; + + endif diff --git a/meta-oe/recipes-extended/haveged/haveged_1.9.1.bb b/meta-oe/recipes-extended/haveged/haveged_1.9.1.bb new file mode 100644 index 0000000000..fbd1992d63 --- /dev/null +++ b/meta-oe/recipes-extended/haveged/haveged_1.9.1.bb @@ -0,0 +1,32 @@ +SUMMARY = "haveged - A simple entropy daemon" +DESCRIPTION = "The haveged project is an attempt to provide an easy-to-use, unpredictable random number generator based upon an adaptation of the HAVEGE algorithm. Haveged was created to remedy low-entropy conditions in the Linux random device that can occur under some workloads, especially on headless servers." +AUTHOR = "Gary Wuertz" +HOMEPAGE = "http://www.issihosts.com/haveged/index.html" +LICENSE = "GPLv3" +LIC_FILES_CHKSUM="file://COPYING;md5=d32239bcb673463ab874e80d47fae504" + +SRC_URI = "http://www.issihosts.com/haveged/haveged-${PV}.tar.gz \ + file://remove-systemd-unit-503.patch \ + " + +SRC_URI[md5sum] = "015ff58cd10607db0e0de60aeca2f5f8" +SRC_URI[sha256sum] = "9c2363ed9542a6784ff08e247182137e71f2ddb79e8e6c1ac4ad50d21ced3715" + +PR = "r0" + +inherit autotools systemd + +EXTRA_OECONF = "\ + --enable-init=service.redhat \ + --enable-nistest=yes \ + --enable-olt=yes \ + --enable-threads=no \ + " + +SYSTEMD_PACKAGES = "${PN}" +SYSTEMD_SERVICE_${PN} = "haveged.service" + +do_install_append() { + mkdir -p ${D}${systemd_unitdir}/system + install -p -m644 ${B}/init.d/haveged.service ${D}${systemd_unitdir}/system +} diff --git a/meta-oe/recipes-extended/hexedit/hexedit_1.2.13.bb b/meta-oe/recipes-extended/hexedit/hexedit_1.2.13.bb index d0658db58c..c2f0630383 100644 --- a/meta-oe/recipes-extended/hexedit/hexedit_1.2.13.bb +++ b/meta-oe/recipes-extended/hexedit/hexedit_1.2.13.bb @@ -6,12 +6,12 @@ DEPENDS = "ncurses" LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3" -SRC_URI = "http://rigaux.org/${PN}-${PV}.src.tgz \ +SRC_URI = "http://rigaux.org/${BP}.src.tgz \ file://0001-don-t-strip-when-installing.patch " SRC_URI[md5sum] = "a5af1378d028512a9cad27a5ba3e15f9" SRC_URI[sha256sum] = "6a126da30a77f5c0b08038aa7a881d910e3b65d13767fb54c58c983963b88dd7" -inherit autotools +inherit autotools-brokensep S = "${WORKDIR}/${PN}" diff --git a/meta-oe/recipes-extended/hplip/hplip-3.12.6/configure.patch b/meta-oe/recipes-extended/hplip/hplip-3.12.6/configure.patch new file mode 100644 index 0000000000..31c005c60c --- /dev/null +++ b/meta-oe/recipes-extended/hplip/hplip-3.12.6/configure.patch @@ -0,0 +1,14 @@ +Index: hplip-3.12.6/configure.in +=================================================================== +--- hplip-3.12.6.orig/configure.in 2014-07-16 20:03:51.310044196 +0000 ++++ hplip-3.12.6/configure.in 2014-07-18 07:53:31.589559192 +0000 +@@ -27,8 +27,7 @@ + + #AC_PREREQ(2.59) + AC_INIT([HP Linux Imaging and Printing], [3.12.6], [3.12.6], [hplip]) +-#AM_INIT_AUTOMAKE([1.9 foreign]) +-AM_INIT_AUTOMAKE ++AM_INIT_AUTOMAKE([1.9 foreign]) + AC_DISABLE_STATIC + + # Checks for programs. diff --git a/meta-oe/recipes-extended/hplip/hplip_3.12.6.bb b/meta-oe/recipes-extended/hplip/hplip_3.12.6.bb index 655f907f6d..fc5ef18a06 100644 --- a/meta-oe/recipes-extended/hplip/hplip_3.12.6.bb +++ b/meta-oe/recipes-extended/hplip/hplip_3.12.6.bb @@ -4,15 +4,16 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=442bb3cbbeeb60643a87325718b8a8ee" PR = "r1" -SRC_URI = "${SOURCEFORGE_MIRROR}/${PN}/${PN}-${PV}.tar.gz \ +SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.gz \ file://setup-add-sleep-after-cups-reset.patch \ file://fix-libusb-paths.patch \ file://cups-1.6.patch \ + file://configure.patch \ " DEPENDS += "cups python libusb" -inherit autotools python-dir pythonnative +inherit autotools-brokensep python-dir pythonnative pkgconfig export BUILD_SYS export HOST_SYS diff --git a/meta-oe/recipes-extended/indent/indent_2.2.10.bb b/meta-oe/recipes-extended/indent/indent_2.2.10.bb new file mode 100644 index 0000000000..dbd6b7b595 --- /dev/null +++ b/meta-oe/recipes-extended/indent/indent_2.2.10.bb @@ -0,0 +1,22 @@ +SUMMARY = "A GNU program for formatting C code" +HOMEPAGE = "http://www.gnu.org/software/indent/" +SECTION = "Applications/Text" +DESCRIPTION = "Indent is a GNU program for beautifying C code, so that \ +it is easier to read. Indent can also convert from one C writing style \ +to a different one. Indent understands correct C syntax and tries to handle \ +incorrect C syntax. \ +Install the indent package if you are developing applications in C and \ +you want a program to format your code." +LICENSE = "GPL-2.0" +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" +DEPENDS = "virtual/gettext" + +SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.gz" +SRC_URI[md5sum] = "be35ea62705733859fbf8caf816d8959" +SRC_URI[sha256sum] = "8a9b41be5bfcab5d8c1be74204b10ae78789fc3deabea0775fdced8677292639" + +inherit autotools gettext + +FILES_${PN}-doc += "/usr/doc/indent/indent.html" + +BBCLASSEXTEND = "native" diff --git a/meta-oe/recipes-extended/iotop/iotop_0.4.4.bb b/meta-oe/recipes-extended/iotop/iotop_0.4.4.bb index 14d2ee5e38..d6292453f4 100644 --- a/meta-oe/recipes-extended/iotop/iotop_0.4.4.bb +++ b/meta-oe/recipes-extended/iotop/iotop_0.4.4.bb @@ -9,7 +9,7 @@ PR = "r1" LICENSE = "GPLv2+" LIC_FILES_CHKSUM = "file://COPYING;md5=4325afd396febcb659c36b49533135d4" -SRC_URI = "http://guichaz.free.fr/iotop/files/${PN}-${PV}.tar.bz2" +SRC_URI = "http://guichaz.free.fr/iotop/files/${BP}.tar.bz2" SRC_URI[md5sum] = "cdd38b276cbf238676f5d2bcf098ba9c" SRC_URI[sha256sum] = "46f3279fb1a7dfc129b5d00950c6e8389e4aedeb58880e848b88d686483df0b0" @@ -20,6 +20,6 @@ do_install_append() { rm -f ${D}${PYTHON_SITEPACKAGES_DIR}/site.py || true } -RDEPENDS_${PN} = "python-distutils python-curses python-textutils \ +RDEPENDS_${PN} = "python-curses python-textutils \ python-codecs python-ctypes python-pprint \ python-shell" diff --git a/meta-oe/recipes-extended/lcdproc/lcdproc/automake-111-fix.patch b/meta-oe/recipes-extended/lcdproc/lcdproc/automake-111-fix.patch deleted file mode 100644 index 061cc22f0c..0000000000 --- a/meta-oe/recipes-extended/lcdproc/lcdproc/automake-111-fix.patch +++ /dev/null @@ -1,21 +0,0 @@ -Description: With automake 1.11.3, pkglib_PROGRAMS is not valid anymore, - so work around this by using my_execbin_PROGRAMS. -Author: Andreas Moog <amoog@ubuntu.com> -Bug-Ubuntu: https://bugs.launchpad.net/bugs/934265 - -Upstream-Status: Backport - -Index: lcdproc-0.5.5/server/drivers/Makefile.am -=================================================================== ---- lcdproc-0.5.5.orig/server/drivers/Makefile.am 2012-02-26 14:04:37.000000000 +0100 -+++ lcdproc-0.5.5/server/drivers/Makefile.am 2012-02-26 14:13:17.764467350 +0100 -@@ -20,7 +20,8 @@ - - ## Keep the lists sorted! - --pkglib_PROGRAMS = @DRIVERS@ -+my_execbindir = $(pkglibdir) -+my_execbin_PROGRAMS = @DRIVERS@ - EXTRA_PROGRAMS = bayrad CFontz CFontz633 CFontzPacket curses debug CwLnx ea65 EyeboxOne g15 glcdlib glk hd44780 icp_a106 imon imonlcd IOWarrior irman joy lb216 lcdm001 lcterm lirc lis MD8800 mdm166a ms6931 mtc_s16209x MtxOrb mx5000 NoritakeVFD picolcd pyramid sed1330 sed1520 serialPOS serialVFD shuttleVFD stv5730 SureElec svga t6963 text tyan sli ula200 xosd i2500vfd irtrans - noinst_LIBRARIES = libLCD.a libbignum.a - diff --git a/meta-oe/recipes-extended/lcdproc/lcdproc5.inc b/meta-oe/recipes-extended/lcdproc/lcdproc5.inc index d1a45cadcc..d7e333af68 100644 --- a/meta-oe/recipes-extended/lcdproc/lcdproc5.inc +++ b/meta-oe/recipes-extended/lcdproc/lcdproc5.inc @@ -9,7 +9,7 @@ DEPENDS = "ncurses" LIC_FILES_CHKSUM = "file://COPYING;md5=18810669f13b87348459e611d31ab760 \ file://README;beginline=60;md5=637e042cdd3671ba00e78b58ede45d3b" -SRC_URI = "${SOURCEFORGE_MIRROR}/lcdproc/${P}.tar.gz" +SRC_URI = "${SOURCEFORGE_MIRROR}/lcdproc/${BP}.tar.gz" inherit autotools update-rc.d @@ -36,10 +36,10 @@ do_install () { sed -i s'/--oknodo//' ${D}${sysconfdir}/init.d/lcdproc # configuration files - install -m 0644 LCDd.conf ${D}${sysconfdir}/LCDd.conf + install -m 0644 ${S}/LCDd.conf ${D}${sysconfdir}/LCDd.conf sed -i 's!^DriverPath=.*!DriverPath=${libdir}/lcdproc/!' ${D}${sysconfdir}/LCDd.conf sed -i 's!^Driver=.*!Driver=${LCD_DEFAULT_DRIVER}!' ${D}${sysconfdir}/LCDd.conf - install -m 0644 clients/lcdproc/lcdproc.conf ${D}${sysconfdir}/lcdproc.conf + install -m 0644 ${S}/clients/lcdproc/lcdproc.conf ${D}${sysconfdir}/lcdproc.conf # driver library files install -d ${D}${libdir}/lcdproc diff --git a/meta-oe/recipes-extended/lcdproc/lcdproc_0.5.5.bb b/meta-oe/recipes-extended/lcdproc/lcdproc_0.5.6.bb index 39e607437e..4761ef7e9b 100644 --- a/meta-oe/recipes-extended/lcdproc/lcdproc_0.5.5.bb +++ b/meta-oe/recipes-extended/lcdproc/lcdproc_0.5.6.bb @@ -1,12 +1,11 @@ require lcdproc5.inc -SRC_URI += "file://automake-111-fix.patch" - -SRC_URI[md5sum] = "c92d4529d36eeec6d9d6fd0a4aa3ec82" -SRC_URI[sha256sum] = "b136b47d7bf585a003334f432d8730a36ef5ed1cd520084b919667d825e48d42" +SRC_URI[md5sum] = "df4f5c2c7285eaf6979b9c7768b4877f" +SRC_URI[sha256sum] = "bd2f43c30ff43b30f43110abe6b4a5bc8e0267cb9f57fa97cc5e5ef9488b984a" PACKAGECONFIG ?= "" PACKAGECONFIG[g15] = ",,libg15 g15daemon libg15render," +PACKAGECONFIG[hid] = "--enable-libhid,--disable-libhid,libhid" LCD_DRIVERS_append = "${@base_contains('PACKAGECONFIG', 'g15', '', ',!g15', d)}" @@ -15,7 +14,7 @@ do_install_append () { install -D -m 0755 clients/lcdvc/lcdvc ${D}${sbindir}/lcdvc # configuration files - install -D -m 0644 clients/lcdvc/lcdvc.conf ${D}${sysconfdir}/lcdvc.conf + install -D -m 0644 ${S}/clients/lcdvc/lcdvc.conf ${D}${sysconfdir}/lcdvc.conf } PACKAGES =+ "lcdvc" diff --git a/meta-oe/recipes-extended/leveldb/leveldb/0001-Explicitly-disable-tcmalloc.patch b/meta-oe/recipes-extended/leveldb/leveldb/0001-Explicitly-disable-tcmalloc.patch new file mode 100644 index 0000000000..4b76dd0c31 --- /dev/null +++ b/meta-oe/recipes-extended/leveldb/leveldb/0001-Explicitly-disable-tcmalloc.patch @@ -0,0 +1,48 @@ +From d6daac04dab4b3acf4b88f16742d1b402cdc3d83 Mon Sep 17 00:00:00 2001 +From: Martin Jansa <Martin.Jansa@gmail.com> +Date: Wed, 1 Oct 2014 18:54:04 +0200 +Subject: [PATCH] Explicitly disable tcmalloc + +Without this change leveldb autodetects tcmalloc from sysroot and +sometimes became dependant on gperftools + +Disable autodetection without TCMALLOC_ENABLED=true pased to make + +Upstream-Status: Pending +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> +--- + build_detect_platform | 16 +++++++++------- + 1 file changed, 9 insertions(+), 7 deletions(-) + +diff --git a/build_detect_platform b/build_detect_platform +index bb76c4f..a586364 100755 +--- a/build_detect_platform ++++ b/build_detect_platform +@@ -201,15 +201,17 @@ EOF + PLATFORM_LIBS="$PLATFORM_LIBS -lsnappy" + fi + +- # Test whether tcmalloc is available +- $CXX $CXXFLAGS -x c++ - -o $CXXOUTPUT -ltcmalloc 2>/dev/null <<EOF +- int main() {} ++ if [ "$TCMALLOC_ENABLED" = "true" ]; then ++ # Test whether tcmalloc is available ++ $CXX $CXXFLAGS -x c++ - -o $CXXOUTPUT -ltcmalloc 2>/dev/null <<EOF ++ int main() {} + EOF +- if [ "$?" = 0 ]; then +- PLATFORM_LIBS="$PLATFORM_LIBS -ltcmalloc" +- fi ++ if [ "$?" = 0 ]; then ++ PLATFORM_LIBS="$PLATFORM_LIBS -ltcmalloc" ++ fi + +- rm -f $CXXOUTPUT 2>/dev/null ++ rm -f $CXXOUTPUT 2>/dev/null ++ fi + fi + + PLATFORM_CCFLAGS="$PLATFORM_CCFLAGS $COMMON_FLAGS" +-- +2.1.1 + diff --git a/meta-oe/recipes-extended/leveldb/leveldb_git.bb b/meta-oe/recipes-extended/leveldb/leveldb_git.bb new file mode 100644 index 0000000000..a6a3024301 --- /dev/null +++ b/meta-oe/recipes-extended/leveldb/leveldb_git.bb @@ -0,0 +1,27 @@ +SUMMARY = "LevelDB is a fast key-value storage library" +DESCRIPTION = "LevelDB is a fast key-value storage library that provides an ordered mapping from string keys to string values" +HOMEPAGE = "http://leveldb.googlecode.com" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=92d1b128950b11ba8495b64938fc164d" + +SRCREV = "803d69203a62faf50f1b77897310a3a1fcae712b" +PV = "1.18+git${SRCPV}" + +SRC_URI = "git://github.com/google/${BPN}.git \ + file://0001-Explicitly-disable-tcmalloc.patch \ +" + +S = "${WORKDIR}/git" + +do_compile() { + # do not use oe_runmake. oe_runmake pass to make compilation arguments and override + # leveldb makefile variable CFLAGS and broke leveldb build. + CFLAGS="${CFLAGS}" make || die +} + +do_install() { + install -d ${D}${libdir} + oe_libinstall -C ${S} -so libleveldb ${D}${libdir} + install -d ${D}${includedir}/leveldb + install -m 644 ${S}/include/leveldb/*.h ${D}${includedir}/leveldb/ +} diff --git a/meta-oe/recipes-extended/libcec/libcec_git.bb b/meta-oe/recipes-extended/libcec/libcec_git.bb index db032f98c9..0f2a64eda2 100644 --- a/meta-oe/recipes-extended/libcec/libcec_git.bb +++ b/meta-oe/recipes-extended/libcec/libcec_git.bb @@ -6,10 +6,10 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=5e8e16396992369f73f3d28875f846da" DEPENDS = "udev lockdev" -PV = "1.9.0" +PV = "2.1.4" -SRCREV = "9884e9ffc5293de5bb9092db1ed581f213a678df" -SRC_URI = "git://github.com/Pulse-Eight/libcec.git" +SRCREV = "81e38211724bc6e8bd7a60f484433053ed682635" +SRC_URI = "git://github.com/Pulse-Eight/libcec.git;branch=release" S = "${WORKDIR}/git" diff --git a/meta-oe/recipes-extended/libdivecomputer/libdivecomputer_git.bb b/meta-oe/recipes-extended/libdivecomputer/libdivecomputer_git.bb index 1154dc0c53..6c4f4a0721 100644 --- a/meta-oe/recipes-extended/libdivecomputer/libdivecomputer_git.bb +++ b/meta-oe/recipes-extended/libdivecomputer/libdivecomputer_git.bb @@ -2,18 +2,19 @@ DESCRIPTION = "Libdivecomputer is a cross-platform and open source library for c HOMEPAGE = "http://www.divesoftware.org/libdc/" LICENSE = "LGPLv2.1" -LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24" +LIC_FILES_CHKSUM = "file://COPYING;md5=243b725d71bb5df4a1e5920b344b86ad" DEPENDS = "libusb1" inherit autotools pkgconfig -PV = "0.0.0" -PR = "r1" +PV = "0.4.2+gitr${SRCPV}" + +SRCREV = "5f765f91430f16932d96b3777404420aa2dd4c7c" +SRC_URI = "git://git.libdivecomputer.org/libdivecomputer.git \ + file://fix-ar.patch \ + " -SRCREV = "b7a6be15ca58cc8f89fbc8fa1a4c840e13d51092" -SRC_URI = "git://libdivecomputer.git.sourceforge.net/gitroot/libdivecomputer/libdivecomputer \ -file://fix-ar.patch" S = "${WORKDIR}/git" diff --git a/meta-oe/recipes-extended/libgxim/libgxim/multi-line-ACLOCAL_AMFLAGS-isnot-supported-by-autoreconf.patch b/meta-oe/recipes-extended/libgxim/libgxim/multi-line-ACLOCAL_AMFLAGS-isnot-supported-by-autoreconf.patch new file mode 100644 index 0000000000..3d293b473e --- /dev/null +++ b/meta-oe/recipes-extended/libgxim/libgxim/multi-line-ACLOCAL_AMFLAGS-isnot-supported-by-autoreconf.patch @@ -0,0 +1,21 @@ +multi-line ACLOCAL_AMFLAGS isn't supported by autoreconf. +It will cause configure error as follow. + + aclocal: error: non-option arguments are not accepted: '\'. + +Signed-off-by: Bian Naimeng <biannm@cn.fujitsu.com> + +diff -Nurp libgxim-0.5.0.orig/Makefile.am libgxim-0.5.0/Makefile.am +--- libgxim-0.5.0.orig/Makefile.am 2012-12-13 15:48:09.000000000 +0800 ++++ libgxim-0.5.0/Makefile.am 2014-12-19 11:05:50.727209821 +0800 +@@ -2,9 +2,7 @@ NULL = + AUTOMAKE_OPTIONS = dist-bzip2 + SUBDIRS = libgxim m4macros po tests docs + +-ACLOCAL_AMFLAGS = \ +- -I m4macros \ +- $(NULL) ++ACLOCAL_AMFLAGS = -I m4macros $(NULL) + + CONFIGURE_DEPENDENCIES = \ + requires \ diff --git a/meta-oe/recipes-extended/libgxim/libgxim_0.5.0.bb b/meta-oe/recipes-extended/libgxim/libgxim_0.5.0.bb new file mode 100644 index 0000000000..0b4b743a88 --- /dev/null +++ b/meta-oe/recipes-extended/libgxim/libgxim_0.5.0.bb @@ -0,0 +1,25 @@ +SUMMARY = "GObject-based XIM protocol library" +DESCRIPTION = "libgxim is a X Input Method protocol library that is implemented by GObject.\ +this library helps you to implement XIM servers or client applications to\ +communicate through XIM protocol without using Xlib API directly, particularly\ +if your application uses GObject-based main loop.\ +\ +This package contains the shared library." + +HOMEPAGE = "http://code.google.com/p/libgxim/" +SECTION = "System Environment/Libraries" + +SRC_URI = "https://bitbucket.org/tagoh/libgxim/downloads/${BPN}-${PV}.tar.bz2 \ + file://multi-line-ACLOCAL_AMFLAGS-isnot-supported-by-autoreconf.patch" + +SRC_URI[md5sum] = "4bb1fa63d00eb224439d413591c29a6a" +SRC_URI[sha256sum] = "75e20d1744139644f9951b78ea3910b162d3380302315cb4b3d0640f23694c79" + +LICENSE = "LGPLv2+" +LIC_FILES_CHKSUM = "\ +file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1" + +EXTRA_OECONF = " --disable-static --disable-rebuilds" +DEPENDS += "gtk+ glib-2.0 ruby-native" + +inherit autotools pkgconfig diff --git a/meta-oe/recipes-extended/liblognorm/liblognorm.inc b/meta-oe/recipes-extended/liblognorm/liblognorm.inc new file mode 100644 index 0000000000..dc8abb91f1 --- /dev/null +++ b/meta-oe/recipes-extended/liblognorm/liblognorm.inc @@ -0,0 +1,17 @@ +SUMMARY = "Fast samples-based log normalization library" +DESCRIPTION = "Briefly described, liblognorm is a tool to normalize log data." + +HOMEPAGE = "http://www.liblognorm.com" +SECTION = "base" + +LICENSE = "LGPL-2.1+" + +SRC_URI = "http://www.liblognorm.com/files/download/${BPN}-${PV}.tar.gz\ +" + +inherit autotools pkgconfig + +DEPENDS += "libee libestr json-c" + +PACKAGECONFIG[debug] = "--enable-debug,--disable-debug,," +PACKAGECONFIG[docs] = "--enable-docs,--disable-docs,sphinx," diff --git a/meta-oe/recipes-extended/liblognorm/liblognorm_1.0.1.bb b/meta-oe/recipes-extended/liblognorm/liblognorm_1.0.1.bb new file mode 100644 index 0000000000..5d89e3540d --- /dev/null +++ b/meta-oe/recipes-extended/liblognorm/liblognorm_1.0.1.bb @@ -0,0 +1,5 @@ +require ${BPN}.inc + +SRC_URI[md5sum] = "7b9a826542af9686127110deab09d7a1" +SRC_URI[sha256sum] = "1f6cdfd901a8f6a97a3cb74bc6107c6746b3e9381f7889e4cd866a488e0c59a5" +LIC_FILES_CHKSUM = "file://COPYING;md5=ca016db57e008528dace002188c73dad" diff --git a/meta-oe/recipes-extended/libqb/libqb_0.17.1.bb b/meta-oe/recipes-extended/libqb/libqb_0.17.1.bb new file mode 100644 index 0000000000..77307fe002 --- /dev/null +++ b/meta-oe/recipes-extended/libqb/libqb_0.17.1.bb @@ -0,0 +1,26 @@ +SUMMARY = "An IPC library for high performance servers" +DESCRIPTION = "libqb is a library with the primary purpose of providing high performance client server reusable features. \ +It provides high performance logging, tracing, ipc, and poll." + +HOMEPAGE = "https://github.com/clusterlabs/libqb/wiki" + +SECTION = "libs" + +inherit autotools pkgconfig + +SRC_URI = "https://fedorahosted.org/releases/q/u/quarterback/${BP}.tar.xz \ + " + +SRC_URI[md5sum] = "5770b343baa4528f6fec90120ec55048" +SRC_URI[sha256sum] = "7a2115f83bfe20eaa5f2e4ed235e8f2994235d3b87e3e5ca41ba47b320f12e29" + +LICENSE = "LGPL-2.1" + +LIC_FILES_CHKSUM = "file://COPYING;md5=321bf41f280cf805086dd5a720b37785" + +do_configure_prepend() { + ( cd ${S} + ${S}/autogen.sh ) +} + + diff --git a/meta-oe/recipes-extended/libungif/libungif_4.1.4.bb b/meta-oe/recipes-extended/libungif/libungif_4.1.4.bb deleted file mode 100644 index aa05653846..0000000000 --- a/meta-oe/recipes-extended/libungif/libungif_4.1.4.bb +++ /dev/null @@ -1,16 +0,0 @@ -SUMMARY = "shared library for GIF images" -SECTION = "libs" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://COPYING;md5=ae11c61b04b2917be39b11f78d71519a" - -SRC_URI = "${SOURCEFORGE_MIRROR}/giflib/libungif-4.x/libungif-${PV}/libungif-${PV}.tar.bz2" -SRC_URI[md5sum] = "76865bc1bed90ecb5992a1edcc4d6c15" -SRC_URI[sha256sum] = "708a7eac218d3fd8e8dfb13f1089d4e1e98246985180a17d6ecfca5a6bd4d332" - -inherit autotools lib_package - -PACKAGES =+ "${PN}-utils" - -FILES_${PN}-utils = "${bindir}/*" - -BBCLASSEXTEND = "native" diff --git a/meta-oe/recipes-extended/libwmf/libwmf/0001-configure-use-pkg-config-for-freetype.patch b/meta-oe/recipes-extended/libwmf/libwmf/0001-configure-use-pkg-config-for-freetype.patch new file mode 100644 index 0000000000..0f133e2e75 --- /dev/null +++ b/meta-oe/recipes-extended/libwmf/libwmf/0001-configure-use-pkg-config-for-freetype.patch @@ -0,0 +1,67 @@ +From 61655f82224cadb261e81f8bae111eaaa7bdf531 Mon Sep 17 00:00:00 2001 +From: Koen Kooi <koen@dominion.thruhere.net> +Date: Wed, 6 Aug 2014 14:53:03 +0200 +Subject: [PATCH] configure: use pkg-config for freetype + +Upstream-status: Pending +Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> +--- + configure.ac | 37 ++++++++----------------------------- + 1 file changed, 8 insertions(+), 29 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 3cfe974..0055a8c 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -399,40 +399,19 @@ AC_ARG_WITH(freetype,[ --with-freetype=DIR use freetype2 in DIR],[ + fi + ]) + +-if [ test -n "$FREETYPE_DIR" ]; then +- AC_PATH_PROG(FREETYPE_CONFIG,freetype-config, ,[$FREETYPE_DIR/bin:$PATH]) +-else +- AC_PATH_PROG(FREETYPE_CONFIG,freetype-config) +-fi +- +-if [ test -n "$FREETYPE_CONFIG" ]; then +- if [ test -n "$FREETYPE_DIR" ]; then +- freetype_cflags="`$FREETYPE_CONFIG --cflags` -I$FREETYPE_DIR/include" +- freetype_libs=`$FREETYPE_CONFIG --libs` +- else +- freetype_cflags=`$FREETYPE_CONFIG --cflags` +- freetype_libs=`$FREETYPE_CONFIG --libs` +- fi +-else +- if [ test -n "$FREETYPE_DIR" ]; then +- freetype_cflags="-I$FREETYPE_DIR/include/freetype2 -I$FREETYPE_DIR/include" +- freetype_libs="-L$FREETYPE_DIR/lib -lfreetype" +- else +- freetype_cflags="" +- freetype_libs="-lfreetype" +- fi +-fi +- +-CPPFLAGS="$freetype_cflags $CPPFLAGS" +-LDFLAGS="$LDFLAGS $freetype_libs" ++PKG_CHECK_MODULES(FREETYPE2, freetype2, ++ CFLAGS="$CFLAGS $FREETYPE2_CFLAGS" ++ LDFLAGS="$LDFLAGS $FREETYPE2_LIBS", ++ AC_MSG_ERROR([*** Unable to find FreeType2 library (http://www.freetype.org/)]) ++) + + AC_CHECK_LIB(freetype,FT_Init_FreeType,[ +- WMF_FT_LDFLAGS="$freetype_libs" ++ WMF_FT_LDFLAGS="$FREETYPE2_LIBS" + ],[ AC_MSG_ERROR([* * * freetype(2) is required * * *]) + ]) + AC_CHECK_HEADER(ft2build.h,[ +- WMF_FT_CFLAGS="$freetype_cflags" +- WMF_FT_CONFIG_CFLAGS="$freetype_cflags" ++ WMF_FT_CFLAGS="$FREETYPE2_CFLAGS" ++ WMF_FT_CONFIG_CFLAGS="$FREETYPE2_CFLAGS" + ],[ AC_MSG_ERROR([* * * freetype(2) is required * * *]) + ]) + +-- +1.9.0 + diff --git a/meta-oe/recipes-extended/libwmf/libwmf_0.2.8.4.bb b/meta-oe/recipes-extended/libwmf/libwmf_0.2.8.4.bb index 53ef81a69a..11e2ba1802 100644 --- a/meta-oe/recipes-extended/libwmf/libwmf_0.2.8.4.bb +++ b/meta-oe/recipes-extended/libwmf/libwmf_0.2.8.4.bb @@ -7,16 +7,19 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" PR = "r3" -DEPENDS_virtclass-native = "libpng-native jpeg-native" -DEPENDS = "libpng jpeg expat gtk+" +DEPENDS_virtclass-native = "freetype-native libpng-native jpeg-native" +DEPENDS = "freetype libpng jpeg expat gtk+" BBCLASSEXTEND = "native" -inherit autotools +inherit autotools pkgconfig SRC_URI = "${SOURCEFORGE_MIRROR}/wvware/${BPN}/${PV}/${BPN}-${PV}.tar.gz;name=tarball \ file://libwmf-0.2.8.4-intoverflow.patch \ - file://libwmf-0.2.8.4-useafterfree.patch" + file://libwmf-0.2.8.4-useafterfree.patch \ + file://0001-configure-use-pkg-config-for-freetype.patch \ + " + SRC_URI[tarball.md5sum] = "d1177739bf1ceb07f57421f0cee191e0" SRC_URI[tarball.sha256sum] = "5b345c69220545d003ad52bfd035d5d6f4f075e65204114a9e875e84895a7cf8" diff --git a/meta-oe/recipes-extended/lockfile-progs/lockfile-progs_0.1.17.bb b/meta-oe/recipes-extended/lockfile-progs/lockfile-progs_0.1.17.bb new file mode 100644 index 0000000000..4354fff9a2 --- /dev/null +++ b/meta-oe/recipes-extended/lockfile-progs/lockfile-progs_0.1.17.bb @@ -0,0 +1,24 @@ +SUMMARY = "Command-line programs to safely lock and unlock files and mailboxes" +DESCRIPTION = "\ +lockfile-progs provide a method to lock and unlock mailboxes and files \ +safely (via liblockfile)." +HOMEPAGE = "http://packages.qa.debian.org/l/lockfile-progs.html" +SECTION = "Applications/System" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3" +DEPENDS = "liblockfile" + +SRC_URI = "http://ftp.de.debian.org/debian/pool/main/l/${BPN}/${BPN}_${PV}.tar.gz" +SRC_URI[md5sum] = "64424a766fbc8cf6d613fcc14a096e14" +SRC_URI[sha256sum] = "03fb05d25499532f497775b1747b61fa6beebf12d3bcc951e125349ae166c511" + +do_compile() { + oe_runmake CFLAGS=' -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -fasynchronous-unwind-tables' +} + +do_install() { + install -m 755 -d ${D}${bindir} + install bin/* ${D}${bindir} + install -m 755 -d ${D}${mandir}/man1 + install man/* ${D}${mandir}/man1 +} diff --git a/meta-oe/recipes-extended/logcheck/logcheck_1.3.17.bb b/meta-oe/recipes-extended/logcheck/logcheck_1.3.17.bb new file mode 100644 index 0000000000..ba4c2ab9ac --- /dev/null +++ b/meta-oe/recipes-extended/logcheck/logcheck_1.3.17.bb @@ -0,0 +1,38 @@ +SUMMARY = "Analyzes log files and sends noticeable events as email" +DESCRIPTION = "\ +Logcheck is a simple utility which is designed to allow a system administrator \ +to view the log-files which are produced upon hosts under their control. \ +It does this by mailing summaries of the log-files to them, after first \ +filtering out "normal" entries. \ +Normal entries are entries which match one of the many included regular \ +expression files contain in the database." +SECTION = "Applications/System" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://LICENSE;md5=c93c0550bd3173f4504b2cbd8991e50b" + +SRC_URI = "git://git.debian.org/git/logcheck/logcheck.git" +SRCREV = "2429e67ad875fee8a0234c64d504277b038c89cd" + +S = "${WORKDIR}/git" + +do_install() { + # Fix QA Issue + sed -i '/install -d $(DESTDIR)\/var\/lock\/logcheck/s/^/#/' Makefile + + # "make install" do not install the manpages. Install them manually. + install -m 755 -d ${D}${mandir}/man1 + install -m 755 -d ${D}${mandir}/man8 + install -m 644 docs/logcheck-test.1 ${D}${mandir}/man1/ + install -m 644 docs/logtail.8 ${D}${mandir}/man8/ + install -m 644 docs/logtail2.8 ${D}${mandir}/man8/ + sed -i "s/syslog/messages/" etc/logcheck.logfiles + sed -i "s/auth\.log/secure/" etc/logcheck.logfiles + install -m 755 -d ${D}${sysconfdir}/cron.d + install -m 644 debian/logcheck.cron.d ${D}${sysconfdir}/cron.d/logcheck + install -m 755 -d ${D}/var/lib/logcheck + oe_runmake install DESTDIR=${D} +} + +RDEPENDS_${PN} = "perl" + +FILES_${PN} += "${datadir}/logtail" diff --git a/meta-oe/recipes-extended/logwatch/logwatch_7.4.1.bb b/meta-oe/recipes-extended/logwatch/logwatch_7.4.1.bb new file mode 100644 index 0000000000..650d6f86e3 --- /dev/null +++ b/meta-oe/recipes-extended/logwatch/logwatch_7.4.1.bb @@ -0,0 +1,58 @@ +SUMMARY = "A log file analysis program" +DESCRIPTION = "\ +Logwatch is a customizable, pluggable log-monitoring system. It will go \ +through your logs for a given period of time and make a report in the areas \ +that you wish with the detail that you wish. Easy to use - works right out of \ +the package on many systems.\ +" +SECTION = "devel" +HOMEPAGE = "http://www.logwatch.org/" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=f2566bb12b16d2d80d90ebc533261aa7" +RDEPENDS_${PN} = "perl" + +SRC_URI = "http://jaist.dl.sourceforge.net/project/${BPN}/${BP}/${BP}.tar.gz" +SRC_URI[md5sum] = "a0c3d8721f877bdcd4a9089eb1b4691b" +SRC_URI[sha256sum] = "35ec31f9fe981aaa727b144ab3ff2eb655997d8ccabaf66586458f5dfc3a56eb" + +do_install() { + install -m 0755 -d ${D}${sysconfdir}/logwatch/scripts + install -m 0755 -d ${D}${datadir}/logwatch/dist.conf/logfiles + install -m 0755 -d ${D}${datadir}/logwatch/dist.conf/services + install -m 0755 -d ${D}${localstatedir}/cache/logwatch + mv conf/ ${D}${datadir}/logwatch/default.conf + mv scripts/ ${D}${datadir}/logwatch/scripts + mv lib ${D}${datadir}/logwatch/lib + + install -m 0755 -d ${D}${mandir}/man1 + install -m 0755 -d ${D}${mandir}/man5 + install -m 0755 -d ${D}${mandir}/man8 + install -m 0644 amavis-logwatch.1 ${D}${mandir}/man1 + install -m 0644 postfix-logwatch.1 ${D}${mandir}/man1 + install -m 0644 ignore.conf.5 ${D}${mandir}/man5 + install -m 0644 override.conf.5 ${D}${mandir}/man5 + install -m 0644 logwatch.conf.5 ${D}${mandir}/man5 + install -m 0644 logwatch.8 ${D}${mandir}/man8 + + install -m 0755 -d ${D}${sysconfdir}/cron.daily + install -m 0755 -d ${D}${sbindir} + ln -sf ../..${datadir}/logwatch/scripts/logwatch.pl ${D}${sysconfdir}/cron.daily/0logwatch + ln -sf ../..${datadir}/logwatch/scripts/logwatch.pl ${D}${sbindir}/logwatch + cat > ${D}${sysconfdir}/cron.daily/0logwatch <<EOF + DailyReport=\`grep -e "^[[:space:]]*DailyReport[[:space:]]*=[[:space:]]*" /usr/share/logwatch/default.conf/logwatch.conf | head -n1 | sed -e "s|^\s*DailyReport\s*=\s*||"\` + if [ "\$DailyReport" != "No" ] && [ "\$DailyReport" != "no" ] + then + logwatch + fi +EOF + chmod 755 ${D}${sysconfdir}/cron.daily/0logwatch + + install -m 0755 -d ${D}${sysconfdir}/logwatch/conf/logfiles + install -m 0755 -d ${D}${sysconfdir}/logwatch/conf/services + touch ${D}${sysconfdir}/logwatch/conf/logwatch.conf + touch ${D}${sysconfdir}/logwatch/conf/ignore.conf + touch ${D}${sysconfdir}/logwatch/conf/override.conf + echo "# Local configuration options go here (defaults are in /usr/share/logwatch/default.conf/logwatch.conf)" > ${D}${sysconfdir}/logwatch/conf/logwatch.conf + echo "###### REGULAR EXPRESSIONS IN THIS FILE WILL BE TRIMMED FROM REPORT OUTPUT #####" > ${D}${sysconfdir}/logwatch/conf/ignore.conf + echo "# Configuration overrides for specific logfiles/services may be placed here." > ${D}${sysconfdir}/logwatch/conf/override.conf +} diff --git a/meta-oe/recipes-extended/md5deep/files/wrong-variable-expansion.patch b/meta-oe/recipes-extended/md5deep/files/wrong-variable-expansion.patch new file mode 100644 index 0000000000..3a4c4f4c2c --- /dev/null +++ b/meta-oe/recipes-extended/md5deep/files/wrong-variable-expansion.patch @@ -0,0 +1,39 @@ +--- a/configure.ac 2014-08-22 12:22:54.290884351 +0200 ++++ b/configure.ac 2014-08-22 12:23:15.822306295 +0200 +@@ -42,18 +42,6 @@ + ;; + esac + +- +-# Bring additional directories where things might be found into our +-# search path. I don't know why autoconf doesn't do this by default +-if test x"${mingw}" == "xno" ; then +- for spfx in /usr/local /opt/local /sw ; do +- echo checking ${spfx}/include +- if test -d ${spfx}/include; then +- CPPFLAGS="-I${spfx}/include $CPPFLAGS" +- LDFLAGS="-L${spfx}/lib $LDFLAGS" +- fi +- done +-fi + # + # + ################################################################ +@@ -71,7 +59,7 @@ + + if test $mingw = "no" ; then + # add the warnings we don't want to do on mingw +- $WARNINGS_TO_TEST="$WARNINGS_TO_TEST -Wall -Wstrict-prototypes -Weffc++" ++ WARNINGS_TO_TEST="$WARNINGS_TO_TEST -Wall -Wstrict-prototypes -Weffc++" + fi + + for option in $WARNINGS_TO_TEST +@@ -105,7 +93,7 @@ + + if test $mingw = "no" ; then + # add the warnings we don't want to do on mingw +- $WARNINGS_TO_TEST="$WARNINGS_TO_TEST -Weffc++" ++ WARNINGS_TO_TEST="$WARNINGS_TO_TEST -Weffc++" + fi + + for option in $WARNINGS_TO_TEST diff --git a/meta-oe/recipes-extended/md5deep/md5deep_4.4.bb b/meta-oe/recipes-extended/md5deep/md5deep_4.4.bb new file mode 100644 index 0000000000..960e00f61d --- /dev/null +++ b/meta-oe/recipes-extended/md5deep/md5deep_4.4.bb @@ -0,0 +1,16 @@ +SUMMARY = "md5deep and hashdeep to compute and audit hashsets of amounts of files." +DESCRIPTION = "md5deep is a set of programs to compute MD5, SHA-1, SHA-256, Tiger, or Whirlpool message digests on an arbitrary number of files. This package also includes hashdeep which is also able to audit hashsets." +AUTHOR = "Jesse Kornblum, Simson L. Garfinkel" +HOMEPAGE = "http://md5deep.sourceforge.net" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=9190f660105b9a56cdb272309bfd5491" +# Release 4.4 +SRCREV = "cd2ed7416685a5e83eb10bb659d6e9bec01244ae" + +SRC_URI = "git://github.com/jessek/hashdeep.git \ + file://wrong-variable-expansion.patch \ + " + +S = "${WORKDIR}/git" + +inherit autotools diff --git a/meta-oe/recipes-extended/mml-widget/gtkmathview_0.8.0.bb b/meta-oe/recipes-extended/mml-widget/gtkmathview_0.8.0.bb index 95deb37259..65b07f5022 100644 --- a/meta-oe/recipes-extended/mml-widget/gtkmathview_0.8.0.bb +++ b/meta-oe/recipes-extended/mml-widget/gtkmathview_0.8.0.bb @@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=6a6a8e020838b23406c81b19c1d46df6" PR = "r3" -SRC_URI = "http://helm.cs.unibo.it/mml-widget/sources/${P}.tar.gz \ +SRC_URI = "http://helm.cs.unibo.it/mml-widget/sources/${BP}.tar.gz \ file://mathview-gcc43x.diff \ file://mathview-gcc47x.diff \ file://qualify-lookup.diff \ @@ -14,7 +14,7 @@ SRC_URI = "http://helm.cs.unibo.it/mml-widget/sources/${P}.tar.gz \ SRC_URI[md5sum] = "b53564e553728d4b69f7d366dfeb5299" SRC_URI[sha256sum] = "1dc30175da6a3c560a7d62d1abe1c2f9829d988e6f1a7c5e766544575c558c43" -inherit autotools-brokensep +inherit autotools-brokensep pkgconfig do_configure_prepend() { sed -i -e s:AM_BINRELOC::g ${S}/configure.ac diff --git a/meta-oe/recipes-extended/mozjs/mozjs/0001-mozjs17.0.0-fix-the-compile-bug-of-powerpc.patch b/meta-oe/recipes-extended/mozjs/mozjs/0001-mozjs17.0.0-fix-the-compile-bug-of-powerpc.patch new file mode 100644 index 0000000000..de72d4f9a3 --- /dev/null +++ b/meta-oe/recipes-extended/mozjs/mozjs/0001-mozjs17.0.0-fix-the-compile-bug-of-powerpc.patch @@ -0,0 +1,36 @@ +From da3929a96d9c74e11bf37d128890e18fcb745365 Mon Sep 17 00:00:00 2001 +From: Lei Maohui <leimaohui@cn.fujitsu.com> +Date: Mon, 26 Jan 2015 08:53:19 +0900 +Subject: [PATCH] mozjs17.0.0: fix the compile bug of powerpc + +To fix the bug as following + +error: cannot convert '__va_list_tag**' to '__va_list_tag (*)[1]' for +argument '5' to 'JSBool TryArgumentFormatter(JSContext*, const char**, +JSBool, jsval**, __va_list_tag (*)[1])' + +Signed-off-by: Lei Maohui <leimaohui@cn.fujitsu.com> +--- + jscpucfg.h | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/jscpucfg.h b/jscpucfg.h +index dfb1c14..8683491 100644 +--- a/jscpucfg.h ++++ b/jscpucfg.h +@@ -47,6 +47,12 @@ + #elif defined(JS_HAVE_ENDIAN_H) + # include <endian.h> + ++#if defined(_POWER) || defined(__powerpc__) || \ ++ defined(__ppc__) ++# define HAVE_VA_LIST_AS_ARRAY 1 ++# endif ++ ++ + # if defined(__BYTE_ORDER) + # if __BYTE_ORDER == __LITTLE_ENDIAN + # define IS_LITTLE_ENDIAN 1 +-- +1.8.4.2 + diff --git a/meta-oe/recipes-extended/mozjs/mozjs_17.0.0.bb b/meta-oe/recipes-extended/mozjs/mozjs_17.0.0.bb index 1af1fa6f72..174f6fe0a8 100644 --- a/meta-oe/recipes-extended/mozjs/mozjs_17.0.0.bb +++ b/meta-oe/recipes-extended/mozjs/mozjs_17.0.0.bb @@ -3,8 +3,9 @@ LICENSE = "MPL-2.0" LIC_FILES_CHKSUM = "file://../../LICENSE;md5=815ca599c9df247a0c7f619bab123dad" SRC_URI = " \ - http://ftp.mozilla.org/pub/mozilla.org/js/${PN}${PV}.tar.gz \ + http://ftp.mozilla.org/pub/mozilla.org/js/${BPN}${PV}.tar.gz \ file://0001-js.pc.in-do-not-include-RequiredDefines.h-for-depend.patch \ + file://0001-mozjs17.0.0-fix-the-compile-bug-of-powerpc.patch \ " SRC_URI[md5sum] = "20b6f8f1140ef6e47daa3b16965c9202" SRC_URI[sha256sum] = "321e964fe9386785d3bf80870640f2fa1c683e32fe988eeb201b04471c172fba" @@ -13,7 +14,7 @@ S = "${WORKDIR}/${PN}${PV}/js/src" inherit autotools pkgconfig perlnative -DEPENDS += "nspr" +DEPENDS += "nspr zlib" # nspr's package-config is ignored so set libs manually EXTRA_OECONF = " \ diff --git a/meta-oe/recipes-extended/nana/nana/change-mandir-to-DESTDIR.patch b/meta-oe/recipes-extended/nana/nana/change-mandir-to-DESTDIR.patch new file mode 100644 index 0000000000..653a7e44c1 --- /dev/null +++ b/meta-oe/recipes-extended/nana/nana/change-mandir-to-DESTDIR.patch @@ -0,0 +1,40 @@ +From 7b04c4873c0a4510bdaf9145bf01ca34b3549fdb Mon Sep 17 00:00:00 2001 +From: Li xin <lixin.fnst@cn.fujitsu.com> +Date: Thu, 4 Dec 2014 03:50:19 +0900 +Subject: [PATCH 1/2] change mandir to DESTDIR + +Upstream-Status: pending + +Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com> +--- + man/Makefile.am | 2 +- + man/Makefile.in | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/man/Makefile.am b/man/Makefile.am +index 80d24d8..944bc57 100644 +--- a/man/Makefile.am ++++ b/man/Makefile.am +@@ -16,5 +16,5 @@ install-data-local: + @sect=1; \ + inst=`echo "nana" | sed '$(transform)'`.1; \ + echo installing nana.1 as $(mandir)/man$$sect/$$inst; \ +- $(INSTALL_DATA) $(srcdir)/nana.1 $(mandir)/man$$sect/$$inst ++ $(INSTALL_DATA) $(srcdir)/nana.1 $(DESTDIR)$(mandir)/man$$sect/$$inst + +diff --git a/man/Makefile.in b/man/Makefile.in +index 6008b20..64bb84c 100644 +--- a/man/Makefile.in ++++ b/man/Makefile.in +@@ -274,7 +274,7 @@ install-data-local: + @sect=1; \ + inst=`echo "nana" | sed '$(transform)'`.1; \ + echo installing nana.1 as $(mandir)/man$$sect/$$inst; \ +- $(INSTALL_DATA) $(srcdir)/nana.1 $(mandir)/man$$sect/$$inst ++ $(INSTALL_DATA) $(srcdir)/nana.1 $(DESTDIR)$(mandir)/man$$sect/$$inst + + # Tell versions [3.59,3.63) of GNU make to not export all variables. + # Otherwise a system limit (for SysV at least) may be exceeded. +-- +1.8.4.2 + diff --git a/meta-oe/recipes-extended/nana/nana/modify-acinclude.m4-and-configure.in.patch b/meta-oe/recipes-extended/nana/nana/modify-acinclude.m4-and-configure.in.patch new file mode 100644 index 0000000000..aeb25466ca --- /dev/null +++ b/meta-oe/recipes-extended/nana/nana/modify-acinclude.m4-and-configure.in.patch @@ -0,0 +1,137 @@ +From 679e33bfe74d713240fdd930602b993b937dce39 Mon Sep 17 00:00:00 2001 +From: Li xin <lixin.fnst@cn.fujitsu.com> +Date: Fri, 23 Jan 2015 03:30:47 +0900 +Subject: [PATCH] modify acinclude.m4 and configure.in + +this patch is from Debian to fix build errors. +"acinclude.m4:34: error: automatic de-ANSI-fication +support has been removed" + +Upstream-Status: pending + +Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com> +--- + acinclude.m4 | 79 ------------------------------------------------------------ + configure.in | 12 +++++++++ + 2 files changed, 12 insertions(+), 79 deletions(-) + +diff --git a/acinclude.m4 b/acinclude.m4 +index e9e5500..d467fb5 100644 +--- a/acinclude.m4 ++++ b/acinclude.m4 +@@ -30,82 +30,3 @@ AC_SUBST($1) + ## ------------------------------- ## + ## Check for function prototypes. ## + ## ------------------------------- ## +- +-AC_DEFUN(fp_C_PROTOTYPES, +-[AC_REQUIRE([AM_PROG_CC_STDC]) +-AC_MSG_CHECKING([for function prototypes]) +-if test "$ac_cv_prog_cc_stdc" != no; then +- AC_MSG_RESULT(yes) +- AC_DEFINE(PROTOTYPES) +- U= ANSI2KNR= +-else +- AC_MSG_RESULT(no) +- U=_ ANSI2KNR=./ansi2knr +-fi +-AC_SUBST(U)dnl +-AC_SUBST(ANSI2KNR)dnl +-]) +- +-## ----------------------------------------- ## +-## ANSIfy the C compiler whenever possible. ## +-## ----------------------------------------- ## +- +-# @defmac AC_PROG_CC_STDC +-# @maindex PROG_CC_STDC +-# @ovindex CC +-# If the C compiler in not in ANSI C mode by default, try to add an option +-# to output variable @code{CC} to make it so. This macro tries various +-# options that select ANSI C on some system or another. It considers the +-# compiler to be in ANSI C mode if it defines @code{__STDC__} to 1 and +-# handles function prototypes correctly. +-# +-# If you use this macro, you should check after calling it whether the C +-# compiler has been set to accept ANSI C; if not, the shell variable +-# @code{ac_cv_prog_cc_stdc} is set to @samp{no}. If you wrote your source +-# code in ANSI C, you can make an un-ANSIfied copy of it by using the +-# program @code{ansi2knr}, which comes with Ghostscript. +-# @end defmac +- +-AC_DEFUN(fp_PROG_CC_STDC, +-[AC_MSG_CHECKING(for ${CC-cc} option to accept ANSI C) +-AC_CACHE_VAL(ac_cv_prog_cc_stdc, +-[ac_cv_prog_cc_stdc=no +-ac_save_CFLAGS="$CFLAGS" +-# Don't try gcc -ansi; that turns off useful extensions and +-# breaks some systems' header files. +-# AIX -qlanglvl=ansi +-# Ultrix and OSF/1 -std1 +-# HP-UX -Aa -D_HPUX_SOURCE +-# SVR4 -Xc +-for ac_arg in "" -qlanglvl=ansi -std1 "-Aa -D_HPUX_SOURCE" -Xc +-do +- CFLAGS="$ac_save_CFLAGS $ac_arg" +- AC_TRY_COMPILE( +-[#if !defined(__STDC__) || __STDC__ != 1 +-choke me +-#endif +-], [int test (int i, double x); +-struct s1 {int (*f) (int a);}; +-struct s2 {int (*f) (double a);};], +-[ac_cv_prog_cc_stdc="$ac_arg"; break]) +-done +-CFLAGS="$ac_save_CFLAGS" +-]) +-AC_MSG_RESULT($ac_cv_prog_cc_stdc) +-case "x$ac_cv_prog_cc_stdc" in +- x|xno) ;; +- *) CC="$CC $ac_cv_prog_cc_stdc" ;; +-esac +-]) +- +-## --------------------------------------------------------- ## +-## Use AC_PROG_INSTALL, supplementing it with INSTALL_SCRIPT ## +-## substitution. ## +-## --------------------------------------------------------- ## +- +-AC_DEFUN(fp_PROG_INSTALL, +-[AC_PROG_INSTALL +-test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL} -m 755' +-AC_SUBST(INSTALL_SCRIPT)dnl +-]) +- +diff --git a/configure.in b/configure.in +index 6b25ed5..a6a7f5b 100644 +--- a/configure.in ++++ b/configure.in +@@ -103,6 +103,12 @@ nana_DEFINE(DI_MAKE_VALID_BREAKPOINT,(exprn), + sparc-*-*|i?86-*-*) + DI_MAKE_VALID_BREAKPOINT='asm("nop")' + ;; ++ arm*-*-*|frv-*-*|mips*-*-*) ++ DI_MAKE_VALID_BREAKPOINT='asm("nop")' ++ ;; ++ sh*-*-*) ++ DI_MAKE_VALID_BREAKPOINT='asm("nop\n\tnop\n\t")' ++ ;; + esac + ]) + +@@ -113,6 +119,12 @@ nana_DEFINE(DL_MAKE_VALID_BREAKPOINT,(), + sparc-*-*|i?86-*-*) + DL_MAKE_VALID_BREAKPOINT='asm("nop")' + ;; ++ arm*-*-*|frv-*-*|mips*-*-*) ++ DL_MAKE_VALID_BREAKPOINT='asm("nop")' ++ ;; ++ sh*-*-*) ++ DL_MAKE_VALID_BREAKPOINT='asm("nop\n\tnop\n\t")' ++ ;; + esac + ]) + +-- +1.8.4.2 + diff --git a/meta-oe/recipes-extended/nana/nana_2.5.bb b/meta-oe/recipes-extended/nana/nana_2.5.bb new file mode 100644 index 0000000000..e55cec884a --- /dev/null +++ b/meta-oe/recipes-extended/nana/nana_2.5.bb @@ -0,0 +1,34 @@ +SUMMARY = "Support for assertion checking and logging in GNU C/C++" +DESCRIPTION = "GNU Nana is a free library providing improved support for assertion\ +checking (as in assert.h) and logging (printf style debugging) in \ +GNU C and C++." +SECTION = "Development/Languages/C and C++" + +SRC_URI = "http://download.savannah.gnu.org/releases/${PN}/${BP}.tar.gz \ + file://change-mandir-to-DESTDIR.patch \ + file://modify-acinclude.m4-and-configure.in.patch \ +" +SRC_URI[md5sum] = "66c88aa0ad095b2e67673773135475f1" +SRC_URI[sha256sum] = "fd1819ffea94b209513959447e4802afe2719600e7d161cd78b265a42812affa" + +LICENSE = "BSD-2-Clause" + +LIC_FILES_CHKSUM = "file://COPYING;md5=16aa57f3b7fdda870cee597275bd5d11" + +inherit autotools-brokensep pkgconfig + +EXTRA_OEMAKE = "DESTDIR=${D}" + +do_configure_prepend_virtclass-nativesdk() { + sed -i -e 's:@CPP@:\$\{CXX\} \$\{CXXFLAGS\} \-E:g' ${S}/src/nana.in + sed -i -e 's:@CC@:\$\{CC\} \$\{CFLAGS\} \-E:g' ${S}/src/nana-clg.in + sed -i -e 's:@CXX@::g' ${S}/src/nana-c++lg.in + sed -i -e 's:@GDB@:\$\{GDB\}:g' ${S}/src/nana-run.in +} + +do_install_prepend() { + install -d ${D}${mandir}/man1 + install -d ${D}${mandir}/man3 + install -d ${D}${datadir}/info +} +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-oe/recipes-extended/nicstat/nicstat_1.95.bb b/meta-oe/recipes-extended/nicstat/nicstat_1.95.bb new file mode 100644 index 0000000000..5126a31cd6 --- /dev/null +++ b/meta-oe/recipes-extended/nicstat/nicstat_1.95.bb @@ -0,0 +1,20 @@ +DESCRIPTION = "nicstat is a Solaris and Linux command-line that prints out network \ +statistics for all network interface cards (NICs), including packets, kilobytes \ +per second, average packet sizes and more." +HOMEPAGE = "http://nicstat.sourceforge.net" +LICENSE = "Artistic-2.0" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=b4a94da2a1f918b217ef5156634fc9e0" + +SRC_URI = "http://softlayer-sng.dl.sourceforge.net/project/${BPN}/${BP}.tar.gz" +SRC_URI[md5sum] = "9a0b87bbc670c1e738e5b40c7afd184d" +SRC_URI[sha256sum] = "c4cc33f8838f4523f27c3d7584eedbe59f4c587f0821612f5ac2201adc18b367" + +do_compile() { + ${CC} ${CFLAGS} ${LDFLAGS} -o nicstat nicstat.c +} +do_install() { + install -d ${D}/${bindir}/ + install -d ${D}/${mandir}/ + install -m 0755 ${S}/nicstat ${D}${bindir}/ + install -m 0644 ${S}/nicstat.1 ${D}/${mandir}/ +} diff --git a/meta-oe/recipes-extended/polkit/polkit-gnome_0.102.bb b/meta-oe/recipes-extended/polkit/polkit-gnome_0.102.bb index df5c9a38ad..f5480e780f 100644 --- a/meta-oe/recipes-extended/polkit/polkit-gnome_0.102.bb +++ b/meta-oe/recipes-extended/polkit/polkit-gnome_0.102.bb @@ -2,7 +2,7 @@ SUMMARY = "GNOME Authentication Agent for PolicyKit" DESCRIPTION = "PolicyKit-gnome provides an Authentication Agent for PolicyKit that integrates well with the GNOME desktop environment" HOMEPAGE = "http://www.packagekit.org/" BUGTRACKER = "http://bugzilla.gnome.org/" -DEPENDS = "polkit dbus-glib gconf gtk+" +DEPENDS = "polkit dbus-glib gconf gtk+ intltool-native gnome-common" LICENSE = "LGPLv2+" LIC_FILES_CHKSUM = "file://COPYING;md5=74579fab173e4c5e12aac0cd83ee98ec \ file://src/main.c;beginline=1;endline=20;md5=aba145d1802f2329ba561e3e48ecb795" @@ -10,12 +10,14 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=74579fab173e4c5e12aac0cd83ee98ec \ SRC_URI = "http://hal.freedesktop.org/releases/polkit-gnome-${PV}.tar.bz2 \ " +PNBLACKLIST[polkit-gnome] ?= "Fails to build, m4:configure.ac:125: recursion limit of 1024 exceeded, use -L<N> to change it" + PR = "r2" -EXTRA_OECONF = " --disable-scrollkeeper \ - --disable-man-pages \ - --disable-examples \ - --disable-introspection " +EXTRA_OECONF = "\ + --disable-examples \ + --disable-introspection \ +" inherit autotools gtk-doc pkgconfig diff --git a/meta-oe/recipes-extended/polkit/polkit_0.111.bb b/meta-oe/recipes-extended/polkit/polkit_0.112.bb index 4614387055..72b182b952 100644 --- a/meta-oe/recipes-extended/polkit/polkit_0.111.bb +++ b/meta-oe/recipes-extended/polkit/polkit_0.112.bb @@ -23,26 +23,11 @@ SRC_URI = "http://www.freedesktop.org/software/polkit/releases/polkit-${PV}.tar. file://0001-configure.ac-Check-only-for-libsystemd-not-libsystem.patch \ " -SRC_URI[md5sum] = "81b116edf986d8e13502929a171f4e0d" -SRC_URI[sha256sum] = "02ae544547211b687818c97bcbf19bf6b8b5be7fda93000525a8765c7bed1ea1" +SRC_URI[md5sum] = "b0f2fa00a55f47c6a5d88e9b73f80127" +SRC_URI[sha256sum] = "d695f43cba4748a822fbe864dd32c4887c5da1c71694a47693ace5e88fcf6af6" EXTRA_OECONF = "--with-os-type=moblin --disable-man-pages --disable-introspection" -do_install_append() { - # see configure.log for more details - chown root:root ${D}${libdir}/${BPN}-1/polkit-agent-helper-1 - chmod 4755 ${D}${libdir}/${BPN}-1/polkit-agent-helper-1 - - chown root:root ${D}${bindir}/pkexec - chmod 4755 ${D}${bindir}/pkexec - - chown polkitd:polkitd ${D}${sysconfdir}/${BPN}-1/rules.d - chmod 700 ${D}${sysconfdir}/${BPN}-1/rules.d - - chown polkitd:polkitd ${D}${datadir}/${BPN}-1/rules.d - chmod 700 ${D}${datadir}/${BPN}-1/rules.d -} - PACKAGES =+ "${PN}-examples" FILES_${PN} += " \ diff --git a/meta-oe/recipes-extended/rarpd/rarpd/0001-rarpd.8-add-man-file.patch b/meta-oe/recipes-extended/rarpd/rarpd/0001-rarpd.8-add-man-file.patch new file mode 100644 index 0000000000..77c75b4a27 --- /dev/null +++ b/meta-oe/recipes-extended/rarpd/rarpd/0001-rarpd.8-add-man-file.patch @@ -0,0 +1,89 @@ +From d91161eb163c16408202a91b4325a3381ab33752 Mon Sep 17 00:00:00 2001 +From: Li xin <lixin.fnst@cn.fujitsu.com> +Date: Tue, 18 Nov 2014 17:55:31 +0900 +Subject: [PATCH 1/5] rarpd.8 : add man file + +Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com> +--- + rarpd.8 | 69 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 69 insertions(+) + create mode 100644 rarpd.8 + +diff --git a/rarpd.8 b/rarpd.8 +new file mode 100644 +index 0000000..ce7bd70 +--- /dev/null ++++ b/rarpd.8 +@@ -0,0 +1,69 @@ ++.TH RARP 8 "7 April 2000" "rarpd" "Linux Programmer's Manual" ++.SH NAME ++rarpd \- Reverse Address Resolution Protocol (RARP) daemon ++.SH SYNOPSIS ++.B "rarpd [-aAvde] [-b bootdir ] [ interface ]" ++.SH DESCRIPTION ++.B Rarpd ++is a daemon which responds to RARP requests. ++RARP is used by some machines at boot time to discover their IP address. ++They provide their Ethernet address and ++.B rarpd ++responds with their IP address if it finds it in the ethers database ++(either ++.I /etc/ethers ++file or NIS+ lookup) and using DNS lookup if ethers database ++contains a hostname and not an IP address. ++By default ++.B rarpd ++also checks if a bootable image with a name starting with the IP address ++in hexadecimal uppercase letters is present in the TFTP boot directory ++(usually ++.I /tftpboot ++) before it decides to respond to the RARP request. ++.SH OPTIONS ++.TP ++.B \-a ++Do not bind to the interface. ++.TP ++.B \-A ++Respond to ARP as well as RARP requests. ++.TP ++.B \-v ++Tell the user what is going on by being verbose. ++.TP ++.B \-d ++Debugging mode. Do not detach from the tty. ++.TP ++.B \-e ++Skip the check for bootable image in the TFTP boot directory. If not ++present, then even if the Ethernet address is present in ++the ethers database but the bootable image for the resolved IP does not exist, ++.B rarpd ++will not respond to the request. ++.TP ++.B "\-b bootdir" ++Use ++.I bootdir ++instead of the default ++.I /tftpboot ++as the TFTP boot directory for bootable image checks. ++.SH OBSOLETES ++This ++.B rarpd ++obsoletes kernel ++.B rarp ++daemon present in Linux kernels up to 2.2 which was controlled by the ++rarp(8) command. ++.SH FILES ++.I /etc/ethers, ++.br ++.I /etc/nsswitch.conf, ++.br ++.I /tftpboot ++.SH SEE ALSO ++ethers(5) ++.SH AUTHORS ++Alexey Kuznetsov, <kuznet@ms2.inr.ac.ru> ++.br ++Jakub Jelinek, <jakub@redhat.com> +-- +1.8.4.2 + diff --git a/meta-oe/recipes-extended/rarpd/rarpd/0002-Makefile-modify-compile-parameters.patch b/meta-oe/recipes-extended/rarpd/rarpd/0002-Makefile-modify-compile-parameters.patch new file mode 100644 index 0000000000..0b3ebc468f --- /dev/null +++ b/meta-oe/recipes-extended/rarpd/rarpd/0002-Makefile-modify-compile-parameters.patch @@ -0,0 +1,26 @@ +From d23b13bd959204824070433d954c5dfbfc421bb7 Mon Sep 17 00:00:00 2001 +From: Li xin <lixin.fnst@cn.fujitsu.com> +Date: Tue, 18 Nov 2014 18:05:27 +0900 +Subject: [PATCH 2/5] Makefile : modify compile parameters + +Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com> +--- + Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index 19966b4..86a8169 100644 +--- a/Makefile ++++ b/Makefile +@@ -1,7 +1,7 @@ + CC=gcc + CFLAGS=-O2 -Wall -g $(DEFINES) + +-OBJ=rarpd.o ethernet.o ++OBJ=rarpd.o + + all: rarpd + +-- +1.8.4.2 + diff --git a/meta-oe/recipes-extended/rarpd/rarpd/0003-rarpd.c-bug-fix.patch b/meta-oe/recipes-extended/rarpd/rarpd/0003-rarpd.c-bug-fix.patch new file mode 100644 index 0000000000..7ce1279090 --- /dev/null +++ b/meta-oe/recipes-extended/rarpd/rarpd/0003-rarpd.c-bug-fix.patch @@ -0,0 +1,263 @@ +From b49c8e6e66801406520d1bff791c66dff7b1cddb Mon Sep 17 00:00:00 2001 +From: Li xin <lixin.fnst@cn.fujitsu.com> +Date: Tue, 18 Nov 2014 18:10:20 +0900 +Subject: [PATCH 3/5] rarpd.c : bug fix + +Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com> +--- + rarpd.c | 98 +++++++++++++++++++++++++++++++++++++---------------------------- + 1 file changed, 56 insertions(+), 42 deletions(-) + +diff --git a/rarpd.c b/rarpd.c +index 335d2d2..d45300e 100644 +--- a/rarpd.c ++++ b/rarpd.c +@@ -7,9 +7,11 @@ + * 2 of the License, or (at your option) any later version. + * + * Authors: Alexey Kuznetsov, <kuznet@ms2.inr.ac.ru> ++ * Jakub Jelinek, <jakub@redhat.com> + */ + + #include <stdio.h> ++#include <stdlib.h> + #include <syslog.h> + #include <dirent.h> + #include <malloc.h> +@@ -26,6 +28,8 @@ + #include <net/if.h> + #include <net/if_arp.h> + #include <netinet/in.h> ++#include <netinet/ether.h> ++#include <asm/types.h> + #include <linux/if_packet.h> + #include <linux/filter.h> + +@@ -39,27 +43,26 @@ int only_ethers; + int all_ifaces; + int listen_arp; + char *ifname; +-char *tftp_dir = "/etc/tftpboot"; ++char *tftp_dir = "/tftpboot"; + +-extern int ether_ntohost(char *name, unsigned char *ea); + void usage(void) __attribute__((noreturn)); + +-struct iflink ++struct rarpiflink + { +- struct iflink *next; +- int index; +- int hatype; +- unsigned char lladdr[16]; +- unsigned char name[IFNAMSIZ]; +- struct ifaddr *ifa_list; ++ struct rarpiflink *next; ++ int index; ++ int hatype; ++ unsigned char lladdr[16]; ++ unsigned char name[IFNAMSIZ]; ++ struct rarpifaddr *ifa_list; + } *ifl_list; + +-struct ifaddr ++struct rarpifaddr + { +- struct ifaddr *next; +- __u32 prefix; +- __u32 mask; +- __u32 local; ++ struct rarpifaddr *next; ++ __u32 prefix; ++ __u32 mask; ++ __u32 local; + }; + + struct rarp_map +@@ -87,8 +90,8 @@ void load_if() + { + int fd; + struct ifreq *ifrp, *ifend; +- struct iflink *ifl; +- struct ifaddr *ifa; ++ struct rarpiflink *ifl; ++ struct rarpifaddr *ifa; + struct ifconf ifc; + struct ifreq ibuf[256]; + +@@ -144,7 +147,7 @@ void load_if() + continue; + } + +- ifl = (struct iflink*)malloc(sizeof(*ifl)); ++ ifl = (struct rarpiflink*)malloc(sizeof(*ifl)); + if (ifl == NULL) + continue; + memset(ifl, 0, sizeof(*ifl)); +@@ -154,6 +157,7 @@ void load_if() + ifl->hatype = ifrp->ifr_hwaddr.sa_family; + memcpy(ifl->lladdr, ifrp->ifr_hwaddr.sa_data, 14); + strncpy(ifl->name, ifrp->ifr_name, IFNAMSIZ); ++ ifl->name[IFNAMSIZ-1] = 0; + p = strchr(ifl->name, ':'); + if (p) + *p = 0; +@@ -179,7 +183,7 @@ void load_if() + if (ifa == NULL) { + if (mask == 0 || prefix == 0) + continue; +- ifa = (struct ifaddr*)malloc(sizeof(*ifa)); ++ ifa = (struct rarpifaddr*)malloc(sizeof(*ifa)); + memset(ifa, 0, sizeof(*ifa)); + ifa->local = addr; + ifa->prefix = prefix; +@@ -207,6 +211,7 @@ void load_if() + } + } + } ++ close(fd); + } + + void configure() +@@ -225,20 +230,21 @@ int bootable(__u32 addr) + d = opendir(tftp_dir); + if (d == NULL) { + syslog(LOG_ERR, "opendir: %m"); +- return 0; ++ goto done_bootable; + } + while ((dent = readdir(d)) != NULL) { + if (strncmp(dent->d_name, name, 8) == 0) + break; + } ++done_bootable: + closedir(d); + return dent != NULL; + } + +-struct ifaddr *select_ipaddr(int ifindex, __u32 *sel_addr, __u32 **alist) ++struct rarpifaddr *select_ipaddr(int ifindex, __u32 *sel_addr, __u32 **alist) + { +- struct iflink *ifl; +- struct ifaddr *ifa; ++ struct rarpiflink *ifl; ++ struct rarpifaddr *ifa; + int retry = 0; + int i; + +@@ -294,7 +300,7 @@ struct rarp_map *rarp_lookup(int ifindex, int hatype, + + if (r == NULL) { + if (hatype == ARPHRD_ETHER && halen == 6) { +- struct ifaddr *ifa; ++ struct rarpifaddr *ifa; + struct hostent *hp; + char ename[256]; + static struct rarp_map emap = { +@@ -304,7 +310,7 @@ struct rarp_map *rarp_lookup(int ifindex, int hatype, + 6, + }; + +- if (ether_ntohost(ename, lladdr) != 0 || ++ if (ether_ntohost(ename, (struct ether_addr *)lladdr) != 0 || + (hp = gethostbyname(ename)) == NULL) { + if (verbose) + syslog(LOG_INFO, "not found in /etc/ethers"); +@@ -345,7 +351,7 @@ static int load_arp_bpflet(int fd) + + int put_mylladdr(unsigned char **ptr_p, int ifindex, int alen) + { +- struct iflink *ifl; ++ struct rarpiflink *ifl; + + for (ifl=ifl_list; ifl; ifl = ifl->next) + if (ifl->index == ifindex) +@@ -362,8 +368,8 @@ int put_mylladdr(unsigned char **ptr_p, int ifindex, int alen) + int put_myipaddr(unsigned char **ptr_p, int ifindex, __u32 hisipaddr) + { + __u32 laddr = 0; +- struct iflink *ifl; +- struct ifaddr *ifa; ++ struct rarpiflink *ifl; ++ struct rarpifaddr *ifa; + + for (ifl=ifl_list; ifl; ifl = ifl->next) + if (ifl->index == ifindex) +@@ -388,7 +394,7 @@ void arp_advise(int ifindex, unsigned char *lladdr, int lllen, __u32 ipaddr) + int fd; + struct arpreq req; + struct sockaddr_in *sin; +- struct iflink *ifl; ++ struct rarpiflink *ifl; + + for (ifl=ifl_list; ifl; ifl = ifl->next) + if (ifl->index == ifindex) +@@ -421,6 +427,10 @@ void serve_it(int fd) + struct rarp_map *rmap; + unsigned char *ptr; + int n; ++ int i; ++ char tmpbuf[16*3]; ++ char tmpname[IFNAMSIZ]; ++ struct rarpiflink *ifl; + + n = recvfrom(fd, buf, sizeof(buf), MSG_DONTWAIT, (struct sockaddr*)&sll, &sll_len); + if (n<0) { +@@ -447,21 +457,23 @@ void serve_it(int fd) + if (a->ar_op != htons(ARPOP_RREQUEST)) + return; + +- if (verbose) { +- int i; +- char tmpbuf[16*3]; +- char *ptr = tmpbuf; +- for (i=0; i<sll.sll_halen; i++) { +- if (i) { +- sprintf(ptr, ":%02x", sll.sll_addr[i]); +- ptr++; +- } else +- sprintf(ptr, "%02x", sll.sll_addr[i]); +- ptr += 2; +- } +- syslog(LOG_INFO, "RARP request from %s on if%d", tmpbuf, sll.sll_ifindex); ++ ptr = tmpbuf; ++ snprintf(tmpbuf, 2, "%02x", sll.sll_addr[0]); ++ for (ptr=tmpbuf+2, i=1; i<sll.sll_halen; i++) { ++ snprintf(ptr, 3, ":%02x", sll.sll_addr[i]); ++ ptr += 3; + } + ++ for (ifl=ifl_list; ifl; ifl = ifl->next) ++ if (ifl->index == sll.sll_ifindex) ++ break; ++ if (ifl) { ++ strncpy(tmpname, ifl->name, IFNAMSIZ); ++ tmpname[IFNAMSIZ-1] = 0; ++ } else ++ sprintf(tmpname, "if%d", sll.sll_ifindex); ++ syslog(LOG_INFO, "RARP request from %s on %s", tmpbuf, tmpname); ++ + /* Sanity checks */ + + /* 1. IP only -> pln==4 */ +@@ -526,6 +538,8 @@ void serve_it(int fd) + ptr += rmap->lladdr_len; + memcpy(ptr, &rmap->ipaddr, 4); + ptr += 4; ++ syslog(LOG_INFO, "RARP response to %s %s on %s", tmpbuf, ++ inet_ntoa(*(struct in_addr *)&rmap->ipaddr), tmpname); + + /* Update our ARP cache. Probably, this guy + will not able to make ARP (if it is broken) +@@ -613,7 +627,7 @@ int main(int argc, char **argv) + if (ifname) { + struct ifreq ifr; + memset(&ifr, 0, sizeof(ifr)); +- strncpy(ifr.ifr_name, ifname, IFNAMSIZ); ++ strncpy(ifr.ifr_name, ifname, IFNAMSIZ-1); + if (ioctl(pset[0].fd, SIOCGIFINDEX, &ifr)) { + perror("ioctl(SIOCGIFINDEX)"); + usage(); +-- +1.8.4.2 + diff --git a/meta-oe/recipes-extended/rarpd/rarpd/0004-rarpd.init-add-new-init-file.patch b/meta-oe/recipes-extended/rarpd/rarpd/0004-rarpd.init-add-new-init-file.patch new file mode 100644 index 0000000000..3ba11ffe55 --- /dev/null +++ b/meta-oe/recipes-extended/rarpd/rarpd/0004-rarpd.init-add-new-init-file.patch @@ -0,0 +1,116 @@ +From 0ef1a95b220c7e110da950e5cc544c50c25b1bc6 Mon Sep 17 00:00:00 2001 +From: Li xin <lixin.fnst@cn.fujitsu.com> +Date: Tue, 18 Nov 2014 18:11:56 +0900 +Subject: [PATCH 4/5] rarpd.init : add new init file + +Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com> +--- + rarpd.init | 96 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 96 insertions(+) + create mode 100644 rarpd.init + +diff --git a/rarpd.init b/rarpd.init +new file mode 100644 +index 0000000..efcf825 +--- /dev/null ++++ b/rarpd.init +@@ -0,0 +1,96 @@ ++#!/bin/bash ++# ++# /etc/init.d/rarpd ++# ++# Starts the rarpd daemon ++# ++# chkconfig: - 82 16 ++# description: Server Reverse Address Resolution Protocol requests. ++# processname: rarpd ++ ++### BEGIN INIT INFO ++# Provides: rarpd ++# Required-Start: $syslog $network ++# Required-Stop: $syslog $network ++# Default-Start: ++# Default-Stop: 0 1 2 3 4 5 6 ++# Short-Description: start and stop rarpd ++# Description: RARP (Reverse Address Resolution Protocol) is a protocol \ ++# which allows individual devices on an IP network to get \ ++# their own IP addresses from the RARP server. \ ++### END INIT INFO ++ ++# Source function library. ++. /etc/init.d/functions ++ ++# Read the config file if exists ++if [ -f /etc/sysconfig/rarpd ]; then ++ . /etc/sysconfig/rarpd ++fi ++ ++RETVAL=0 ++prog="rarpd" ++ ++ ++start() { ++ #if these files don't exist rarpd can't work ++ test -x /usr/sbin/rarpd -a -f /etc/ethers || exit 6 ++ # Check if rarpd is already running ++ #if [ ! -f /var/lock/subsys/rarpd ]; then ++ status rarpd; ++ if [ $? -ne 0 ]; then ++ echo -n $"Starting $prog: " ++ daemon /usr/sbin/rarpd $OPTIONS $INTERFACE ++ RETVAL=$? ++ [ $RETVAL -eq 0 ] && touch /var/lock/subsys/rarpd ++ echo ++ fi ++ return $RETVAL ++} ++ ++stop() { ++ echo -n $"Stopping $prog: " ++ killproc /usr/sbin/rarpd ++ RETVAL=$? ++ [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/rarpd ++ echo ++ return $RETVAL ++} ++reload() { ++ RETVAL=3 ++} ++ ++# ++# See how we were called. ++# ++case "$1" in ++ start) ++ start ++ ;; ++ stop) ++ stop ++ ;; ++ reload) ++ reload ++ ;; ++ force-reload|restart) ++ stop ++ start ++ ;; ++ condrestart) ++ if [ -f /var/lock/subsys/rarpd ]; then ++ stop ++ start ++ fi ++ ;; ++ status) ++ status rarpd ++ RETVAL=$? ++ ;; ++ *) ++ echo $"Usage: $0 {start|stop|restart|condrestart|reload|status|force-reload}" ++ RETVAL=2 ++ ++esac ++ ++exit $RETVAL +-- +1.8.4.2 + diff --git a/meta-oe/recipes-extended/rarpd/rarpd/0005-ethernet.c-remove-it.patch b/meta-oe/recipes-extended/rarpd/rarpd/0005-ethernet.c-remove-it.patch new file mode 100644 index 0000000000..c77c806127 --- /dev/null +++ b/meta-oe/recipes-extended/rarpd/rarpd/0005-ethernet.c-remove-it.patch @@ -0,0 +1,244 @@ +From abe15ba10ddc3548c528ccb088097d7abf5be48b Mon Sep 17 00:00:00 2001 +From: Li xin <lixin.fnst@cn.fujitsu.com> +Date: Tue, 18 Nov 2014 18:14:07 +0900 +Subject: [PATCH 5/5] ethernet.c : remove it + +Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com> +--- + ethernet.c | 224 ------------------------------------------------------------- + 1 file changed, 224 deletions(-) + delete mode 100644 ethernet.c + +diff --git a/ethernet.c b/ethernet.c +deleted file mode 100644 +index d682b63..0000000 +--- a/ethernet.c ++++ /dev/null +@@ -1,224 +0,0 @@ +-/* +- * Copyright (c) 1990, 1993 The Regents of the University of California. +- * All rights reserved. +- * +- * Redistribution and use in source and binary forms, with or without +- * modification, are permitted provided that: (1) source code distributions +- * retain the above copyright notice and this paragraph in its entirety, (2) +- * distributions including binary code include the above copyright notice and +- * this paragraph in its entirety in the documentation or other materials +- * provided with the distribution, and (3) all advertising materials mentioning +- * features or use of this software display the following acknowledgement: +- * ``This product includes software developed by the University of California, +- * Lawrence Berkeley Laboratory and its contributors.'' Neither the name of +- * the University nor the names of its contributors may be used to endorse +- * or promote products derived from this software without specific prior +- * written permission. +- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED +- * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF +- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +- */ +-#ifndef lint +-static char rcsid[] = +- "@(#) $Header: etherent.c,v 1.4 96/06/14 20:34:25 leres Exp $ (LBL)"; +-#endif +- +-#include <sys/types.h> +-#include <sys/stat.h> +-#include <sys/time.h> +- +-#include <ctype.h> +-#include <stdio.h> +-#include <string.h> +- +-#ifndef ETHERS_FILE +-#define ETHERS_FILE "/etc/ethers" +-#endif +- +-struct etherent { +- u_char addr[6]; +- char name[122]; +-}; +- +-static FILE *ether_fp = NULL; +- +- +-/* Hex digit to integer. */ +-static inline int +-xdtoi(c) +- int c; +-{ +- +- if (isdigit(c)) +- return c - '0'; +- else if (islower(c)) +- return c - 'a' + 10; +- else +- return c - 'A' + 10; +-} +- +-static inline int +-skip_space(f) +- FILE *f; +-{ +- int c; +- +- do { +- c = getc(f); +- } while (isspace(c) && c != '\n'); +- +- return c; +-} +- +-static inline int +-skip_line(f) +- FILE *f; +-{ +- int c; +- +- do +- c = getc(f); +- while (c != '\n' && c != EOF); +- +- return c; +-} +- +-static struct etherent * +-next_etherent(fp) +- FILE *fp; +-{ +- register int c, d, i; +- char *bp; +- static struct etherent e; +- static int nline = 1; +- top: +- while (nline) { +- /* Find addr */ +- c = skip_space(fp); +- if (c == '\n') +- continue; +- /* If this is a comment, or first thing on line +- cannot be etehrnet address, skip the line. */ +- else if (!isxdigit(c)) +- c = skip_line(fp); +- else { +- /* must be the start of an address */ +- for (i = 0; i < 6; i += 1) { +- d = xdtoi(c); +- c = getc(fp); +- if (c != ':') { +- d <<= 4; +- d |= xdtoi(c); +- c = getc(fp); +- } +- e.addr[i] = d; +- if (c != ':') +- break; +- c = getc(fp); +- } +- nline = 0; +- } +- if (c == EOF) +- return NULL; +- } +- +- /* If we started a new line, 'c' holds the char past the ether addr, +- which we assume is white space. If we are continuing a line, +- 'c' is garbage. In either case, we can throw it away. */ +- +- c = skip_space(fp); +- if (c == '\n') { +- nline = 1; +- goto top; +- } +- else if (c == '#') { +- (void)skip_line(fp); +- nline = 1; +- goto top; +- } +- else if (c == EOF) +- return NULL; +- +- /* Must be a name. */ +- bp = e.name; +- /* Use 'd' to prevent buffer overflow. */ +- d = sizeof(e.name) - 1; +- do { +- *bp++ = c; +- c = getc(fp); +- } while (!isspace(c) && c != EOF && --d > 0); +- *bp = '\0'; +- if (c == '\n') +- nline = 1; +- +- return &e; +-} +- +-/* Open/rewind the ethers files; returns 1 if file was reopened */ +-int +-ether_rewind() +-{ +- struct stat st; +- static long mtime = 0, ctime = 0; +- +- if (ether_fp != NULL) { +- if (fstat(fileno(ether_fp), &st) < 0 || +- mtime != st.st_mtime || ctime != st.st_ctime || +- fseek(ether_fp, 0L, SEEK_SET) < 0) { +- fclose(ether_fp); +- ether_fp = NULL; +- } +- } +- if (ether_fp == NULL) { +- ether_fp = fopen(ETHERS_FILE, "r"); +- if (ether_fp == NULL) +- return (-1); +- if (fstat(fileno(ether_fp), &st) < 0) { +- fclose(ether_fp); +- ether_fp = NULL; +- return (-1); +- } +- mtime = st.st_mtime; +- ctime = st.st_ctime; +- return (1); +- } +- return (0); +-} +- +-/* Map an ethernet address to a name; returns 0 on success, else 1. */ +-int +-ether_ntohost(name, ea) +- register char *name; +- register u_char *ea; +-{ +- register struct etherent *ep; +- +- if (ether_rewind() < 0) +- return (1); +- +- while ((ep = next_etherent(ether_fp)) != NULL) +- if (bcmp(ep->addr, ea, 6) == 0) { +- strcpy(name, ep->name); +- return (0); +- } +- return (1); +-} +- +-/* Map an ethernet name to an address; returns 0 on success, else 1. */ +-int +-ether_hostton(name, ea) +- register char *name; +- register u_char *ea; +-{ +- register struct etherent *ep; +- +- if (ether_rewind() < 0) +- return (1); +- +- while ((ep = next_etherent(ether_fp)) != NULL) +- if (strcmp(ep->name, name) == 0) { +- bcopy(ep->addr, ea, 6); +- return (0); +- } +- return (1); +-} +-- +1.8.4.2 + diff --git a/meta-oe/recipes-extended/rarpd/rarpd/ethers.sample b/meta-oe/recipes-extended/rarpd/rarpd/ethers.sample new file mode 100644 index 0000000000..249ca6b3c3 --- /dev/null +++ b/meta-oe/recipes-extended/rarpd/rarpd/ethers.sample @@ -0,0 +1 @@ +# see man ethers for syntax diff --git a/meta-oe/recipes-extended/rarpd/rarpd/rarpd.service b/meta-oe/recipes-extended/rarpd/rarpd/rarpd.service new file mode 100644 index 0000000000..137710eb15 --- /dev/null +++ b/meta-oe/recipes-extended/rarpd/rarpd/rarpd.service @@ -0,0 +1,14 @@ +[Unit] +Description=Reverse Address Resolution Protocol Requests Server +Requires=network.target +After=syslog.target network.target + +[Service] +Type=forking +EnvironmentFile=-/etc/sysconfig/rarpd +ExecStart=/usr/sbin/rarpd $OPTIONS $INTERFACE +StandardError=syslog + +[Install] +WantedBy=multi-user.target + diff --git a/meta-oe/recipes-extended/rarpd/rarpd_ss981107.bb b/meta-oe/recipes-extended/rarpd/rarpd_ss981107.bb new file mode 100644 index 0000000000..0fe79cf4c1 --- /dev/null +++ b/meta-oe/recipes-extended/rarpd/rarpd_ss981107.bb @@ -0,0 +1,49 @@ +SUMMARY = "The RARP daemon." +DESCRIPTION = "RARP (Reverse Address Resolution Protocol) is a protocol which \ +allows individual devices on an IP network to get their own IP addresses from \ +the RARP server. Some machines (e.g. SPARC boxes) use this protocol instead \ +of e.g. DHCP to query their IP addresses during network bootup. \ +Linux kernels up to 2.2 used to provide a kernel daemon for this service, \ +but since 2.3 kernels it is served by this userland daemon. \ +You should install rarpd if you want to set up a RARP server on your \ +network." +SECTION = "System Environment/Daemons" + +SRC_URI = "http://pkgs.fedoraproject.org/repo/pkgs/${BPN}/${BP}.tar.gz/be2a88f8ccddf2a40ac484cb3294fedc/${BP}.tar.gz" +SRC_URI[md5sum] = "be2a88f8ccddf2a40ac484cb3294fedc" +SRC_URI[sha256sum] = "4d6145d435a5d8b567b9798620f57f9b0a464078a1deba267958f168fbe776e6" + +SRC_URI += "file://0001-rarpd.8-add-man-file.patch \ + file://0002-Makefile-modify-compile-parameters.patch \ + file://0003-rarpd.c-bug-fix.patch \ + file://0004-rarpd.init-add-new-init-file.patch \ + file://0005-ethernet.c-remove-it.patch \ + file://ethers.sample \ + file://rarpd.service \ +" + +LICENSE = "GPLv2+" +LIC_FILES_CHKSUM = "file://rarpd.c;md5=199b20b172ea93121bc613a9c77b6931" + +S = "${WORKDIR}/${BPN}" + +do_install() { + install -d ${D}${sysconfdir}/init.d + install -d ${D}${sbindir} + install -d ${D}${mandir}/man8 + install -m 755 rarpd.init ${D}${sysconfdir}/init.d/rarpd + install -m 755 rarpd ${D}${sbindir}/rarpd + install -m 644 rarpd.8 ${D}${mandir}/man8/rarpd.8 + install -m 644 ${WORKDIR}/ethers.sample ${D}${sysconfdir}/ethers + + if ${@base_contains('DISTRO_FEATURES','systemd','true','false',d)}; then + install -d ${D}${systemd_unitdir}/system + install -m 0644 ${WORKDIR}/rarpd.service ${D}${systemd_unitdir}/system/ + fi +} + +inherit ${@base_contains('VIRTUAL-RUNTIME_init_manager','systemd','systemd','',d)} + +SYSTEMD_PACKAGES = "${PN}" +SYSTEMD_SERVICE_${PN} = "rarpd.service" +SYSTEMD_AUTO_ENABLE = "disable" diff --git a/meta-oe/recipes-extended/rrdtool/rrdtool/0001-removing-testing-leftovers.patch b/meta-oe/recipes-extended/rrdtool/rrdtool/0001-removing-testing-leftovers.patch new file mode 100644 index 0000000000..cf5d7752e5 --- /dev/null +++ b/meta-oe/recipes-extended/rrdtool/rrdtool/0001-removing-testing-leftovers.patch @@ -0,0 +1,39 @@ +From c581b02d074f5a109074bc190f373f5ba4320468 Mon Sep 17 00:00:00 2001 +From: Tobias Oetiker <tobi@oetiker.ch> +Date: Thu, 3 Oct 2013 15:51:00 +0200 +Subject: [PATCH] removing testing leftovers + +Upstream-Status: Backport + +Signed-off-by: Peter A. Bigot <pab@pabigot.com> + +--- + bindings/perl-piped/leaktest.pl | 16 ---------------- + 1 file changed, 16 deletions(-) + delete mode 100644 bindings/perl-piped/leaktest.pl + +diff --git a/bindings/perl-piped/leaktest.pl b/bindings/perl-piped/leaktest.pl +deleted file mode 100644 +index cebf1c7..0000000 +--- a/bindings/perl-piped/leaktest.pl ++++ /dev/null +@@ -1,16 +0,0 @@ +-#!/bin/perl -w +-$ENV{PATH}="/usr/ucb"; +-use strict; +-use RRDp; +-my $rrdfile='/tmp/test.rrd'; +-RRDp::start '/home/oetiker/data/projects/AABN-rrdtool/src/rrdtool'; +-print grep /rrdtool/,`ps au`; +-print grep /rrdtool/,`ps au`; +-my $i=0; +-while ($i<1000) { +- RRDp::cmd 'info /tmp/test.rrd'; +- $_ = RRDp::read; +- $i++; +-} +-$_ = RRDp::end; +-print grep /rrdtool/,`ps au`; +-- +1.8.5.5 + diff --git a/meta-oe/recipes-extended/rrdtool/rrdtool/0001-rrdtool-eradicate-tcl-support.patch b/meta-oe/recipes-extended/rrdtool/rrdtool/0001-rrdtool-eradicate-tcl-support.patch deleted file mode 100644 index 1157dc7201..0000000000 --- a/meta-oe/recipes-extended/rrdtool/rrdtool/0001-rrdtool-eradicate-tcl-support.patch +++ /dev/null @@ -1,1733 +0,0 @@ -From 2dcb4bb8aadfead3e77bdb78b96ec8022e605a0d Mon Sep 17 00:00:00 2001 -From: Koen Kooi <koen@dominion.thruhere.net> -Date: Sat, 12 May 2012 20:41:35 +0200 -Subject: [PATCH] rrdtool: eradicate tcl support - -TCL breaks autoreconf - -Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> ---- - Makefile.am | 3 - - bindings/Makefile.am | 5 +- - bindings/tcl/Makefile.am | 58 ---- - bindings/tcl/Makefile.in | 668 ------------------------------------ - bindings/tcl/README | 31 -- - bindings/tcl/ifOctets.tcl.in | 45 --- - bindings/tcl/tclrrd.c | 762 ------------------------------------------ - configure.ac | 54 --- - 8 files changed, 1 insertion(+), 1625 deletions(-) - delete mode 100644 bindings/tcl/Makefile.am - delete mode 100644 bindings/tcl/Makefile.in - delete mode 100644 bindings/tcl/README - delete mode 100644 bindings/tcl/ifOctets.tcl.in - delete mode 100644 bindings/tcl/tclrrd.c - -diff --git a/Makefile.am b/Makefile.am -index 2003373..969e36b 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -36,9 +36,6 @@ site-perl-install: all bindings/perl-piped/Makefile bindings/perl-shared/Makefil - cd bindings/perl-piped && $(MAKE) install - cd bindings/perl-shared && $(MAKE) install - --site-tcl-install: all -- cd bindings/tcl && $(MAKE) tcl-install -- - site-python-install: all - cd bindings/python && $(PYTHON) setup.py install $(if $(DESTDIR),--root=$(DESTDIR)) - -diff --git a/bindings/Makefile.am b/bindings/Makefile.am -index c4fdc10..3574a60 100644 ---- a/bindings/Makefile.am -+++ b/bindings/Makefile.am -@@ -1,13 +1,10 @@ - .PHONY: python ruby - --if BUILD_TCL --SUB_tcl = tcl --endif - if BUILD_LUA - SUB_lua = lua - endif - --SUBDIRS = $(SUB_tcl) $(SUB_lua) -+SUBDIRS = $(SUB_lua) - - # the following files are not mentioned in any other Makefile - EXTRA_DIST = perl-piped/MANIFEST perl-piped/README perl-piped/Makefile.PL perl-piped/RRDp.pm perl-piped/t/base.t \ -diff --git a/bindings/tcl/Makefile.am b/bindings/tcl/Makefile.am -deleted file mode 100644 -index c0e8b0f..0000000 ---- a/bindings/tcl/Makefile.am -+++ /dev/null -@@ -1,58 +0,0 @@ -- --EXTRA_DIST = README tclrrd.c -- --VERSION = @VERSION@ -- --AM_CFLAGS = @CFLAGS@ --### no including this by default @WERROR@ -- --TCL_PREFIX = @TCL_PREFIX@ --TCL_SHLIB_LD = @TCL_SHLIB_LD@ --TCL_SHLIB_CFLAGS = @TCL_SHLIB_CFLAGS@ --TCL_SHLIB_SUFFIX = @TCL_SHLIB_SUFFIX@ --TCL_PACKAGE_PATH = @TCL_PACKAGE_PATH@ --TCL_LD_SEARCH_FLAGS = @TCL_LD_SEARCH_FLAGS@ --TCL_STUB_LIB_SPEC = @TCL_STUB_LIB_SPEC@ --TCL_INCLUDE_SPEC = @TCL_INCLUDE_SPEC@ -- --CLEANFILES = tclrrd.o tclrrd.so -- --SRC_DIR = $(top_srcdir)/src --AM_CPPFLAGS = $(TCL_INCLUDE_SPEC) -I$(SRC_DIR) -DUSE_TCL_STUBS --LIBDIRS = -L$(top_builddir)/src/.libs -L$(top_builddir)/src -L$(libdir) --LIB_RUNTIME_DIR = $(libdir) -- --if BUILD_TCL_SITE --tclpkgdir = @TCL_PACKAGE_DIR@ --tclpkg_DATA = pkgIndex.tcl --tclpkg_SCRIPTS = ifOctets.tcl --else --pkglib_DATA = pkgIndex.tcl --pkglib_SCRIPTS = ifOctets.tcl --endif -- --# Automake doen't like `tclrrd$(VERSION)$(TCL_SHLIB_SUFFIX)' as --# library name. So we build and install this library `by hand'. --# --# We do, however, specify a lib_LIBRARIES target such that --# automake creates the directory (if neecessary). --# --TCL_RRD_LIB = tclrrd$(VERSION)$(TCL_SHLIB_SUFFIX) -- --lib_LIBRARIES = -- --all-local: $(TCL_RRD_LIB) -- --$(TCL_RRD_LIB): tclrrd.o -- $(TCL_SHLIB_LD) $(TCL_LD_SEARCH_FLAGS) $(LIBDIRS) $< -o $@ -lrrd_th -lm $(TCL_STUB_LIB_SPEC) $(LDFLAGS) $(LIBS) -- --tclrrd.o: tclrrd.c -- $(CC) $(AM_CFLAGS) $(CFLAGS) $(TCL_SHLIB_CFLAGS) $(AM_CPPFLAGS) -c tclrrd.c -DVERSION=\"$(VERSION)\" -- --pkgIndex.tcl: -- echo "package ifneeded Rrd $(VERSION) \"load $(libdir)/tclrrd$(VERSION)[info sharedlibextension]\"" > $@ -- --install-exec-local: $(TCL_RRD_LIB) -- @$(NORMAL_INSTALL) -- $(INSTALL_PROGRAM) $(TCL_RRD_LIB) $(DESTDIR)$(libdir)/$(TCL_RRD_LIB) -- -diff --git a/bindings/tcl/Makefile.in b/bindings/tcl/Makefile.in -deleted file mode 100644 -index 0a36517..0000000 ---- a/bindings/tcl/Makefile.in -+++ /dev/null -@@ -1,668 +0,0 @@ --# Makefile.in generated by automake 1.11 from Makefile.am. --# @configure_input@ -- --# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, --# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, --# Inc. --# This Makefile.in is free software; the Free Software Foundation --# gives unlimited permission to copy and/or distribute it, --# with or without modifications, as long as this notice is preserved. -- --# This program is distributed in the hope that it will be useful, --# but WITHOUT ANY WARRANTY, to the extent permitted by law; without --# even the implied warranty of MERCHANTABILITY or FITNESS FOR A --# PARTICULAR PURPOSE. -- --@SET_MAKE@ -- -- -- --VPATH = @srcdir@ --pkgdatadir = $(datadir)/@PACKAGE@ --pkgincludedir = $(includedir)/@PACKAGE@ --pkglibdir = $(libdir)/@PACKAGE@ --pkglibexecdir = $(libexecdir)/@PACKAGE@ --am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd --install_sh_DATA = $(install_sh) -c -m 644 --install_sh_PROGRAM = $(install_sh) -c --install_sh_SCRIPT = $(install_sh) -c --INSTALL_HEADER = $(INSTALL_DATA) --transform = $(program_transform_name) --NORMAL_INSTALL = : --PRE_INSTALL = : --POST_INSTALL = : --NORMAL_UNINSTALL = : --PRE_UNINSTALL = : --POST_UNINSTALL = : --build_triplet = @build@ --host_triplet = @host@ --target_triplet = @target@ --subdir = bindings/tcl --DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ -- $(srcdir)/ifOctets.tcl.in --ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 --am__aclocal_m4_deps = $(top_srcdir)/m4/acinclude.m4 \ -- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/iconv.m4 \ -- $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \ -- $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ -- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ -- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ -- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ -- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ -- $(top_srcdir)/configure.ac --am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ -- $(ACLOCAL_M4) --mkinstalldirs = $(install_sh) -d --CONFIG_HEADER = $(top_builddir)/rrd_config.h --CONFIG_CLEAN_FILES = ifOctets.tcl --CONFIG_CLEAN_VPATH_FILES = --am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; --am__vpath_adj = case $$p in \ -- $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ -- *) f=$$p;; \ -- esac; --am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; --am__install_max = 40 --am__nobase_strip_setup = \ -- srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` --am__nobase_strip = \ -- for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" --am__nobase_list = $(am__nobase_strip_setup); \ -- for p in $$list; do echo "$$p $$p"; done | \ -- sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ -- $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ -- if (++n[$$2] == $(am__install_max)) \ -- { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ -- END { for (dir in files) print dir, files[dir] }' --am__base_list = \ -- sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ -- sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' --am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(pkglibdir)" \ -- "$(DESTDIR)$(tclpkgdir)" "$(DESTDIR)$(pkglibdir)" \ -- "$(DESTDIR)$(tclpkgdir)" --LIBRARIES = $(lib_LIBRARIES) --SCRIPTS = $(pkglib_SCRIPTS) $(tclpkg_SCRIPTS) --AM_V_GEN = $(am__v_GEN_$(V)) --am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) --am__v_GEN_0 = @echo " GEN " $@; --AM_V_at = $(am__v_at_$(V)) --am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) --am__v_at_0 = @ --SOURCES = --DIST_SOURCES = --DATA = $(pkglib_DATA) $(tclpkg_DATA) --DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) --ACLOCAL = @ACLOCAL@ --ALL_LIBS = @ALL_LIBS@ --AMTAR = @AMTAR@ --AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ --AR = @AR@ --AUTOCONF = @AUTOCONF@ --AUTOHEADER = @AUTOHEADER@ --AUTOMAKE = @AUTOMAKE@ --AWK = @AWK@ --CC = @CC@ --CCDEPMODE = @CCDEPMODE@ --CFLAGS = @CFLAGS@ --COMP_LUA = @COMP_LUA@ --COMP_PERL = @COMP_PERL@ --COMP_PYTHON = @COMP_PYTHON@ --COMP_RUBY = @COMP_RUBY@ --CORE_LIBS = @CORE_LIBS@ --CPP = @CPP@ --CPPFLAGS = @CPPFLAGS@ --CYGPATH_W = @CYGPATH_W@ --DEFS = @DEFS@ --DEPDIR = @DEPDIR@ --DSYMUTIL = @DSYMUTIL@ --DUMPBIN = @DUMPBIN@ --ECHO_C = @ECHO_C@ --ECHO_N = @ECHO_N@ --ECHO_T = @ECHO_T@ --EGREP = @EGREP@ --EXEEXT = @EXEEXT@ --FGREP = @FGREP@ --GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ --GMSGFMT = @GMSGFMT@ --GMSGFMT_015 = @GMSGFMT_015@ --GREP = @GREP@ --INSTALL = @INSTALL@ --INSTALL_DATA = @INSTALL_DATA@ --INSTALL_PROGRAM = @INSTALL_PROGRAM@ --INSTALL_SCRIPT = @INSTALL_SCRIPT@ --INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ --INTLLIBS = @INTLLIBS@ --INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ --LD = @LD@ --LDFLAGS = @LDFLAGS@ --LIBICONV = @LIBICONV@ --LIBINTL = @LIBINTL@ --LIBOBJS = @LIBOBJS@ --LIBS = @LIBS@ --LIBTOOL = @LIBTOOL@ --LIBVERS = @LIBVERS@ --LIPO = @LIPO@ --LN_S = @LN_S@ --LTLIBICONV = @LTLIBICONV@ --LTLIBINTL = @LTLIBINTL@ --LTLIBOBJS = @LTLIBOBJS@ --LUA = @LUA@ --LUA_CFLAGS = @LUA_CFLAGS@ --LUA_DEFINES = @LUA_DEFINES@ --LUA_INSTALL_CMOD = @LUA_INSTALL_CMOD@ --LUA_INSTALL_LMOD = @LUA_INSTALL_LMOD@ --LUA_LFLAGS = @LUA_LFLAGS@ --MAINT = @MAINT@ --MAKEINFO = @MAKEINFO@ --MKDIR_P = @MKDIR_P@ --MSGFMT = @MSGFMT@ --MSGFMT_015 = @MSGFMT_015@ --MSGMERGE = @MSGMERGE@ --MULTITHREAD_CFLAGS = @MULTITHREAD_CFLAGS@ --MULTITHREAD_LDFLAGS = @MULTITHREAD_LDFLAGS@ --NM = @NM@ --NMEDIT = @NMEDIT@ --NROFF = @NROFF@ --NUMVERS = @NUMVERS@ --OBJDUMP = @OBJDUMP@ --OBJEXT = @OBJEXT@ --OTOOL = @OTOOL@ --OTOOL64 = @OTOOL64@ --PACKAGE = @PACKAGE@ --PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ --PACKAGE_NAME = @PACKAGE_NAME@ --PACKAGE_STRING = @PACKAGE_STRING@ --PACKAGE_TARNAME = @PACKAGE_TARNAME@ --PACKAGE_VERSION = @PACKAGE_VERSION@ --PATH_SEPARATOR = @PATH_SEPARATOR@ --PERL = @PERL@ --PERLCC = @PERLCC@ --PERLCCFLAGS = @PERLCCFLAGS@ --PERLFLAGS = @PERLFLAGS@ --PERLLD = @PERLLD@ --PERLLDFLAGS = @PERLLDFLAGS@ --PERL_CC = @PERL_CC@ --PERL_MAKE_OPTIONS = @PERL_MAKE_OPTIONS@ --PERL_VERSION = @PERL_VERSION@ --PKGCONFIG = @PKGCONFIG@ --POD2HTML = @POD2HTML@ --POD2MAN = @POD2MAN@ --POSUB = @POSUB@ --PTHREAD_CC = @PTHREAD_CC@ --PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ --PTHREAD_LIBS = @PTHREAD_LIBS@ --PYTHON = @PYTHON@ --PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@ --PYTHON_INCLUDES = @PYTHON_INCLUDES@ --PYTHON_PLATFORM = @PYTHON_PLATFORM@ --PYTHON_PREFIX = @PYTHON_PREFIX@ --PYTHON_VERSION = @PYTHON_VERSION@ --RANLIB = @RANLIB@ --RRDDOCDIR = @RRDDOCDIR@ --RRDGRAPH_YLEGEND_ANGLE = @RRDGRAPH_YLEGEND_ANGLE@ --RRD_DEFAULT_FONT = @RRD_DEFAULT_FONT@ --RRD_GETOPT_LONG = @RRD_GETOPT_LONG@ --RUBY = @RUBY@ --RUBY_MAKE_OPTIONS = @RUBY_MAKE_OPTIONS@ --SED = @SED@ --SET_MAKE = @SET_MAKE@ --SHELL = @SHELL@ --STRIP = @STRIP@ --TCL_INCLUDE_SPEC = @TCL_INCLUDE_SPEC@ --TCL_LD_SEARCH_FLAGS = @TCL_LD_SEARCH_FLAGS@ --TCL_PACKAGE_DIR = @TCL_PACKAGE_DIR@ --TCL_PACKAGE_PATH = @TCL_PACKAGE_PATH@ --### no including this by default @WERROR@ --TCL_PREFIX = @TCL_PREFIX@ --TCL_SHLIB_CFLAGS = @TCL_SHLIB_CFLAGS@ --TCL_SHLIB_LD = @TCL_SHLIB_LD@ --TCL_SHLIB_SUFFIX = @TCL_SHLIB_SUFFIX@ --TCL_STUB_LIB_SPEC = @TCL_STUB_LIB_SPEC@ --TCL_VERSION = @TCL_VERSION@ --TROFF = @TROFF@ --USE_NLS = @USE_NLS@ --VERSION = @VERSION@ --WERROR = @WERROR@ --XGETTEXT = @XGETTEXT@ --XGETTEXT_015 = @XGETTEXT_015@ --XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ --abs_builddir = @abs_builddir@ --abs_srcdir = @abs_srcdir@ --abs_top_builddir = @abs_top_builddir@ --abs_top_srcdir = @abs_top_srcdir@ --ac_ct_CC = @ac_ct_CC@ --ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ --acx_pthread_config = @acx_pthread_config@ --am__include = @am__include@ --am__leading_dot = @am__leading_dot@ --am__quote = @am__quote@ --am__tar = @am__tar@ --am__untar = @am__untar@ --bindir = @bindir@ --build = @build@ --build_alias = @build_alias@ --build_cpu = @build_cpu@ --build_os = @build_os@ --build_vendor = @build_vendor@ --builddir = @builddir@ --datadir = @datadir@ --datarootdir = @datarootdir@ --docdir = @docdir@ --dvidir = @dvidir@ --exec_prefix = @exec_prefix@ --host = @host@ --host_alias = @host_alias@ --host_cpu = @host_cpu@ --host_os = @host_os@ --host_vendor = @host_vendor@ --htmldir = @htmldir@ --includedir = @includedir@ --infodir = @infodir@ --install_sh = @install_sh@ --libdir = @libdir@ --libexecdir = @libexecdir@ --localedir = @localedir@ --localstatedir = @localstatedir@ --lt_ECHO = @lt_ECHO@ --mandir = @mandir@ --mkdir_p = @mkdir_p@ --oldincludedir = @oldincludedir@ --pdfdir = @pdfdir@ --pkgpyexecdir = @pkgpyexecdir@ --pkgpythondir = @pkgpythondir@ --prefix = @prefix@ --program_transform_name = @program_transform_name@ --psdir = @psdir@ --pyexecdir = @pyexecdir@ --pythondir = @pythondir@ --sbindir = @sbindir@ --sharedstatedir = @sharedstatedir@ --srcdir = @srcdir@ --sysconfdir = @sysconfdir@ --target = @target@ --target_alias = @target_alias@ --target_cpu = @target_cpu@ --target_os = @target_os@ --target_vendor = @target_vendor@ --top_build_prefix = @top_build_prefix@ --top_builddir = @top_builddir@ --top_srcdir = @top_srcdir@ --EXTRA_DIST = README tclrrd.c --AM_CFLAGS = @CFLAGS@ --CLEANFILES = tclrrd.o tclrrd.so --SRC_DIR = $(top_srcdir)/src --AM_CPPFLAGS = $(TCL_INCLUDE_SPEC) -I$(SRC_DIR) -DUSE_TCL_STUBS --LIBDIRS = -L$(top_builddir)/src/.libs -L$(top_builddir)/src -L$(libdir) --LIB_RUNTIME_DIR = $(libdir) --@BUILD_TCL_SITE_TRUE@tclpkgdir = @TCL_PACKAGE_DIR@ --@BUILD_TCL_SITE_TRUE@tclpkg_DATA = pkgIndex.tcl --@BUILD_TCL_SITE_TRUE@tclpkg_SCRIPTS = ifOctets.tcl --@BUILD_TCL_SITE_FALSE@pkglib_DATA = pkgIndex.tcl --@BUILD_TCL_SITE_FALSE@pkglib_SCRIPTS = ifOctets.tcl -- --# Automake doen't like `tclrrd$(VERSION)$(TCL_SHLIB_SUFFIX)' as --# library name. So we build and install this library `by hand'. --# --# We do, however, specify a lib_LIBRARIES target such that --# automake creates the directory (if neecessary). --# --TCL_RRD_LIB = tclrrd$(VERSION)$(TCL_SHLIB_SUFFIX) --lib_LIBRARIES = --all: all-am -- --.SUFFIXES: --$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) -- @for dep in $?; do \ -- case '$(am__configure_deps)' in \ -- *$$dep*) \ -- ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ -- && { if test -f $@; then exit 0; else break; fi; }; \ -- exit 1;; \ -- esac; \ -- done; \ -- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu bindings/tcl/Makefile'; \ -- $(am__cd) $(top_srcdir) && \ -- $(AUTOMAKE) --gnu bindings/tcl/Makefile --.PRECIOUS: Makefile --Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status -- @case '$?' in \ -- *config.status*) \ -- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ -- *) \ -- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ -- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ -- esac; -- --$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) -- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -- --$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) -- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh --$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) -- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh --$(am__aclocal_m4_deps): --ifOctets.tcl: $(top_builddir)/config.status $(srcdir)/ifOctets.tcl.in -- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ --install-libLIBRARIES: $(lib_LIBRARIES) -- @$(NORMAL_INSTALL) -- test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)" -- @list='$(lib_LIBRARIES)'; test -n "$(libdir)" || list=; \ -- list2=; for p in $$list; do \ -- if test -f $$p; then \ -- list2="$$list2 $$p"; \ -- else :; fi; \ -- done; \ -- test -z "$$list2" || { \ -- echo " $(INSTALL_DATA) $$list2 '$(DESTDIR)$(libdir)'"; \ -- $(INSTALL_DATA) $$list2 "$(DESTDIR)$(libdir)" || exit $$?; } -- @$(POST_INSTALL) -- @list='$(lib_LIBRARIES)'; test -n "$(libdir)" || list=; \ -- for p in $$list; do \ -- if test -f $$p; then \ -- $(am__strip_dir) \ -- echo " ( cd '$(DESTDIR)$(libdir)' && $(RANLIB) $$f )"; \ -- ( cd "$(DESTDIR)$(libdir)" && $(RANLIB) $$f ) || exit $$?; \ -- else :; fi; \ -- done -- --uninstall-libLIBRARIES: -- @$(NORMAL_UNINSTALL) -- @list='$(lib_LIBRARIES)'; test -n "$(libdir)" || list=; \ -- files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ -- test -n "$$files" || exit 0; \ -- echo " ( cd '$(DESTDIR)$(libdir)' && rm -f "$$files" )"; \ -- cd "$(DESTDIR)$(libdir)" && rm -f $$files -- --clean-libLIBRARIES: -- -test -z "$(lib_LIBRARIES)" || rm -f $(lib_LIBRARIES) --install-pkglibSCRIPTS: $(pkglib_SCRIPTS) -- @$(NORMAL_INSTALL) -- test -z "$(pkglibdir)" || $(MKDIR_P) "$(DESTDIR)$(pkglibdir)" -- @list='$(pkglib_SCRIPTS)'; test -n "$(pkglibdir)" || list=; \ -- for p in $$list; do \ -- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ -- if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \ -- done | \ -- sed -e 'p;s,.*/,,;n' \ -- -e 'h;s|.*|.|' \ -- -e 'p;x;s,.*/,,;$(transform)' | sed 'N;N;N;s,\n, ,g' | \ -- $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1; } \ -- { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ -- if ($$2 == $$4) { files[d] = files[d] " " $$1; \ -- if (++n[d] == $(am__install_max)) { \ -- print "f", d, files[d]; n[d] = 0; files[d] = "" } } \ -- else { print "f", d "/" $$4, $$1 } } \ -- END { for (d in files) print "f", d, files[d] }' | \ -- while read type dir files; do \ -- if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ -- test -z "$$files" || { \ -- echo " $(INSTALL_SCRIPT) $$files '$(DESTDIR)$(pkglibdir)$$dir'"; \ -- $(INSTALL_SCRIPT) $$files "$(DESTDIR)$(pkglibdir)$$dir" || exit $$?; \ -- } \ -- ; done -- --uninstall-pkglibSCRIPTS: -- @$(NORMAL_UNINSTALL) -- @list='$(pkglib_SCRIPTS)'; test -n "$(pkglibdir)" || exit 0; \ -- files=`for p in $$list; do echo "$$p"; done | \ -- sed -e 's,.*/,,;$(transform)'`; \ -- test -n "$$list" || exit 0; \ -- echo " ( cd '$(DESTDIR)$(pkglibdir)' && rm -f" $$files ")"; \ -- cd "$(DESTDIR)$(pkglibdir)" && rm -f $$files --install-tclpkgSCRIPTS: $(tclpkg_SCRIPTS) -- @$(NORMAL_INSTALL) -- test -z "$(tclpkgdir)" || $(MKDIR_P) "$(DESTDIR)$(tclpkgdir)" -- @list='$(tclpkg_SCRIPTS)'; test -n "$(tclpkgdir)" || list=; \ -- for p in $$list; do \ -- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ -- if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \ -- done | \ -- sed -e 'p;s,.*/,,;n' \ -- -e 'h;s|.*|.|' \ -- -e 'p;x;s,.*/,,;$(transform)' | sed 'N;N;N;s,\n, ,g' | \ -- $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1; } \ -- { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ -- if ($$2 == $$4) { files[d] = files[d] " " $$1; \ -- if (++n[d] == $(am__install_max)) { \ -- print "f", d, files[d]; n[d] = 0; files[d] = "" } } \ -- else { print "f", d "/" $$4, $$1 } } \ -- END { for (d in files) print "f", d, files[d] }' | \ -- while read type dir files; do \ -- if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ -- test -z "$$files" || { \ -- echo " $(INSTALL_SCRIPT) $$files '$(DESTDIR)$(tclpkgdir)$$dir'"; \ -- $(INSTALL_SCRIPT) $$files "$(DESTDIR)$(tclpkgdir)$$dir" || exit $$?; \ -- } \ -- ; done -- --uninstall-tclpkgSCRIPTS: -- @$(NORMAL_UNINSTALL) -- @list='$(tclpkg_SCRIPTS)'; test -n "$(tclpkgdir)" || exit 0; \ -- files=`for p in $$list; do echo "$$p"; done | \ -- sed -e 's,.*/,,;$(transform)'`; \ -- test -n "$$list" || exit 0; \ -- echo " ( cd '$(DESTDIR)$(tclpkgdir)' && rm -f" $$files ")"; \ -- cd "$(DESTDIR)$(tclpkgdir)" && rm -f $$files -- --mostlyclean-libtool: -- -rm -f *.lo -- --clean-libtool: -- -rm -rf .libs _libs --install-pkglibDATA: $(pkglib_DATA) -- @$(NORMAL_INSTALL) -- test -z "$(pkglibdir)" || $(MKDIR_P) "$(DESTDIR)$(pkglibdir)" -- @list='$(pkglib_DATA)'; test -n "$(pkglibdir)" || list=; \ -- for p in $$list; do \ -- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ -- echo "$$d$$p"; \ -- done | $(am__base_list) | \ -- while read files; do \ -- echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkglibdir)'"; \ -- $(INSTALL_DATA) $$files "$(DESTDIR)$(pkglibdir)" || exit $$?; \ -- done -- --uninstall-pkglibDATA: -- @$(NORMAL_UNINSTALL) -- @list='$(pkglib_DATA)'; test -n "$(pkglibdir)" || list=; \ -- files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ -- test -n "$$files" || exit 0; \ -- echo " ( cd '$(DESTDIR)$(pkglibdir)' && rm -f" $$files ")"; \ -- cd "$(DESTDIR)$(pkglibdir)" && rm -f $$files --install-tclpkgDATA: $(tclpkg_DATA) -- @$(NORMAL_INSTALL) -- test -z "$(tclpkgdir)" || $(MKDIR_P) "$(DESTDIR)$(tclpkgdir)" -- @list='$(tclpkg_DATA)'; test -n "$(tclpkgdir)" || list=; \ -- for p in $$list; do \ -- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ -- echo "$$d$$p"; \ -- done | $(am__base_list) | \ -- while read files; do \ -- echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(tclpkgdir)'"; \ -- $(INSTALL_DATA) $$files "$(DESTDIR)$(tclpkgdir)" || exit $$?; \ -- done -- --uninstall-tclpkgDATA: -- @$(NORMAL_UNINSTALL) -- @list='$(tclpkg_DATA)'; test -n "$(tclpkgdir)" || list=; \ -- files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ -- test -n "$$files" || exit 0; \ -- echo " ( cd '$(DESTDIR)$(tclpkgdir)' && rm -f" $$files ")"; \ -- cd "$(DESTDIR)$(tclpkgdir)" && rm -f $$files --tags: TAGS --TAGS: -- --ctags: CTAGS --CTAGS: -- -- --distdir: $(DISTFILES) -- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ -- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ -- list='$(DISTFILES)'; \ -- dist_files=`for file in $$list; do echo $$file; done | \ -- sed -e "s|^$$srcdirstrip/||;t" \ -- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ -- case $$dist_files in \ -- */*) $(MKDIR_P) `echo "$$dist_files" | \ -- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ -- sort -u` ;; \ -- esac; \ -- for file in $$dist_files; do \ -- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ -- if test -d $$d/$$file; then \ -- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ -- if test -d "$(distdir)/$$file"; then \ -- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ -- fi; \ -- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ -- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ -- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ -- fi; \ -- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ -- else \ -- test -f "$(distdir)/$$file" \ -- || cp -p $$d/$$file "$(distdir)/$$file" \ -- || exit 1; \ -- fi; \ -- done --check-am: all-am --check: check-am --all-am: Makefile $(LIBRARIES) $(SCRIPTS) $(DATA) all-local --installdirs: -- for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(pkglibdir)" "$(DESTDIR)$(tclpkgdir)" "$(DESTDIR)$(pkglibdir)" "$(DESTDIR)$(tclpkgdir)"; do \ -- test -z "$$dir" || $(MKDIR_P) "$$dir"; \ -- done --install: install-am --install-exec: install-exec-am --install-data: install-data-am --uninstall: uninstall-am -- --install-am: all-am -- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am -- --installcheck: installcheck-am --install-strip: -- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ -- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ -- `test -z '$(STRIP)' || \ -- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install --mostlyclean-generic: -- --clean-generic: -- -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) -- --distclean-generic: -- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -- -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -- --maintainer-clean-generic: -- @echo "This command is intended for maintainers to use" -- @echo "it deletes files that may require special tools to rebuild." --clean: clean-am -- --clean-am: clean-generic clean-libLIBRARIES clean-libtool \ -- mostlyclean-am -- --distclean: distclean-am -- -rm -f Makefile --distclean-am: clean-am distclean-generic -- --dvi: dvi-am -- --dvi-am: -- --html: html-am -- --html-am: -- --info: info-am -- --info-am: -- --install-data-am: install-tclpkgDATA install-tclpkgSCRIPTS -- --install-dvi: install-dvi-am -- --install-dvi-am: -- --install-exec-am: install-exec-local install-libLIBRARIES \ -- install-pkglibDATA install-pkglibSCRIPTS -- --install-html: install-html-am -- --install-html-am: -- --install-info: install-info-am -- --install-info-am: -- --install-man: -- --install-pdf: install-pdf-am -- --install-pdf-am: -- --install-ps: install-ps-am -- --install-ps-am: -- --installcheck-am: -- --maintainer-clean: maintainer-clean-am -- -rm -f Makefile --maintainer-clean-am: distclean-am maintainer-clean-generic -- --mostlyclean: mostlyclean-am -- --mostlyclean-am: mostlyclean-generic mostlyclean-libtool -- --pdf: pdf-am -- --pdf-am: -- --ps: ps-am -- --ps-am: -- --uninstall-am: uninstall-libLIBRARIES uninstall-pkglibDATA \ -- uninstall-pkglibSCRIPTS uninstall-tclpkgDATA \ -- uninstall-tclpkgSCRIPTS -- --.MAKE: install-am install-strip -- --.PHONY: all all-am all-local check check-am clean clean-generic \ -- clean-libLIBRARIES clean-libtool distclean distclean-generic \ -- distclean-libtool distdir dvi dvi-am html html-am info info-am \ -- install install-am install-data install-data-am install-dvi \ -- install-dvi-am install-exec install-exec-am install-exec-local \ -- install-html install-html-am install-info install-info-am \ -- install-libLIBRARIES install-man install-pdf install-pdf-am \ -- install-pkglibDATA install-pkglibSCRIPTS install-ps \ -- install-ps-am install-strip install-tclpkgDATA \ -- install-tclpkgSCRIPTS installcheck installcheck-am installdirs \ -- maintainer-clean maintainer-clean-generic mostlyclean \ -- mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ -- uninstall uninstall-am uninstall-libLIBRARIES \ -- uninstall-pkglibDATA uninstall-pkglibSCRIPTS \ -- uninstall-tclpkgDATA uninstall-tclpkgSCRIPTS -- -- --all-local: $(TCL_RRD_LIB) -- --$(TCL_RRD_LIB): tclrrd.o -- $(TCL_SHLIB_LD) $(TCL_LD_SEARCH_FLAGS) $(LIBDIRS) $< -o $@ -lrrd_th -lm $(TCL_STUB_LIB_SPEC) $(LDFLAGS) $(LIBS) -- --tclrrd.o: tclrrd.c -- $(CC) $(AM_CFLAGS) $(CFLAGS) $(TCL_SHLIB_CFLAGS) $(AM_CPPFLAGS) -c tclrrd.c -DVERSION=\"$(VERSION)\" -- --pkgIndex.tcl: -- echo "package ifneeded Rrd $(VERSION) \"load $(libdir)/tclrrd$(VERSION)[info sharedlibextension]\"" > $@ -- --install-exec-local: $(TCL_RRD_LIB) -- @$(NORMAL_INSTALL) -- $(INSTALL_PROGRAM) $(TCL_RRD_LIB) $(DESTDIR)$(libdir)/$(TCL_RRD_LIB) -- --# Tell versions [3.59,3.63) of GNU make to not export all variables. --# Otherwise a system limit (for SysV at least) may be exceeded. --.NOEXPORT: -diff --git a/bindings/tcl/README b/bindings/tcl/README -deleted file mode 100644 -index 065a03a..0000000 ---- a/bindings/tcl/README -+++ /dev/null -@@ -1,31 +0,0 @@ --TCLRRD -- A TCL interpreter extension to access the RRD library, -- contributed to Tobias Oetiker's RRD tools. -- --Copyright (c) 1999,2000 Frank Strauss, Technical University of Braunschweig. -- --See the file "COPYING" for information on usage and redistribution --of this file, and for a DISCLAIMER OF ALL WARRANTIES. -- --TCLRRD adds a dynamically loadable package to the Tcl 8.x interpreter --to access all RRD functions as of RRDtool 1.0.13. All command names --and arguments are equal to those of RRDtool. They are assigned to the --namespace `Rrd', e.g. `Rrd::create'. Return values are a bit --different from plain RRDtool behavior to enable more native Tcl --usage. Errors are mapped to the TCL_ERROR return code together with --the RRD error strings. -- --TCLRRD makes it easy to combine RRD use with advanced SNMP functionality --of scotty (http://wwwsnmp.cs.utwente.nl/~schoenw/scotty/). E.g., it's easy --to use some scotty code to get the counters of some interfaces by their --interface name and then use Rrd::update to store the values. Furthermore, --data source types (see RRD::create documentation) and integer value ranges --could be easily retrieved from MIB information. -- --TCLRRD has been written on a Linux system for use with Tcl 8.x. It should --work on many other platforms, although it has not been tested. There are --no fool proof installation procedures. Take a look at Makefile.am and --adapt it, if required. -- --TCLRRD has been written for RRD 1.0.13. -- -- Frank Strauss <strauss@ibr.cs.tu-bs.de>, 09-Mar-2000 -diff --git a/bindings/tcl/ifOctets.tcl.in b/bindings/tcl/ifOctets.tcl.in -deleted file mode 100644 -index 7a36397..0000000 ---- a/bindings/tcl/ifOctets.tcl.in -+++ /dev/null -@@ -1,45 +0,0 @@ --#!/bin/sh --# the next line restarts using tclsh -*- tcl -*- \ --exec tclsh@TCL_VERSION@ "$0" "$@" -- --#package require Tnm 3.0 --package require Rrd @VERSION@ -- --set rrdfile "[lindex $argv 0]-[lindex $argv 1].rrd" -- --# create rrdfile if not yet existent --if {[file exists $rrdfile] == 0} { -- Rrd::create $rrdfile --step 5 \ -- DS:inOctets:COUNTER:10:U:U DS:outOctets:COUNTER:10:U:U \ -- RRA:AVERAGE:0.5:1:12 --} -- --# get an snmp session context --set session [Tnm::snmp generator -address [lindex $argv 0]] -- --# walk through the ifDescr column to find the right interface --$session walk descr IF-MIB!ifDescr { -- -- # is this the right interface? -- if {"[Tnm::snmp value $descr 0]" == "[lindex $argv 1]"} { -- -- # get the instance part of this table row -- set inst [lindex [Tnm::mib split [Tnm::snmp oid $descr 0]] 1] -- -- # get the two interface's octet counter values -- set in [lindex [lindex [$session get IF-MIB!ifInOctets.$inst] 0] 2] -- set out [lindex [lindex [$session get IF-MIB!ifOutOctets.$inst] 0] 2] -- -- # write the values to the rrd -- puts "$in $out" -- Rrd::update $rrdfile --template inOctets:outOctets N:$in:$out -- -- Rrd::graph gaga.png --title "gaga" \ -- DEF:in=$rrdfile:inOctets:AVERAGE \ -- DEF:out=$rrdfile:outOctets:AVERAGE \ -- AREA:in#0000FF:inOctets \ -- LINE2:out#00C000:outOctets -- -- #puts [Rrd::fetch $rrdfile AVERAGE] -- } --} -diff --git a/bindings/tcl/tclrrd.c b/bindings/tcl/tclrrd.c -deleted file mode 100644 -index f1f0234..0000000 ---- a/bindings/tcl/tclrrd.c -+++ /dev/null -@@ -1,762 +0,0 @@ --/* -- * tclrrd.c -- A TCL interpreter extension to access the RRD library. -- * -- * Copyright (c) 1999,2000 Frank Strauss, Technical University of Braunschweig. -- * -- * Thread-safe code copyright (c) 2005 Oleg Derevenetz, CenterTelecom Voronezh ISP. -- * -- * See the file "COPYING" for information on usage and redistribution -- * of this file, and for a DISCLAIMER OF ALL WARRANTIES. -- * -- * $Id: tclrrd.c 1854 2009-06-07 14:46:21Z oetiker $ -- */ -- -- -- --#include <errno.h> --#include <string.h> --#include <time.h> --#include <unistd.h> --#include <tcl.h> --#include <stdlib.h> --#include "../../src/rrd_tool.h" --#include "../../src/rrd_format.h" -- --/* support pre-8.4 tcl */ -- --#ifndef CONST84 --# define CONST84 --#endif -- --extern int Tclrrd_Init( -- Tcl_Interp *interp); --extern int Tclrrd_SafeInit( -- Tcl_Interp *interp); -- -- --/* -- * some rrd_XXX() and new thread-safe versions of Rrd_XXX() -- * functions might modify the argv strings passed to it. -- * Hence, we need to do some preparation before -- * calling the rrd library functions. -- */ --static char **getopt_init( -- int argc, -- CONST84 char *argv[]) --{ -- char **argv2; -- int i; -- -- argv2 = calloc(argc, sizeof(char *)); -- for (i = 0; i < argc; i++) { -- argv2[i] = strdup(argv[i]); -- } -- return argv2; --} -- --static void getopt_cleanup( -- int argc, -- char **argv2) --{ -- int i; -- -- for (i = 0; i < argc; i++) { -- if (argv2[i] != NULL) { -- free(argv2[i]); -- } -- } -- free(argv2); --} -- --static void getopt_free_element( -- char *argv2[], -- int argn) --{ -- if (argv2[argn] != NULL) { -- free(argv2[argn]); -- argv2[argn] = NULL; -- } --} -- --static void getopt_squieeze( -- int *argc, -- char *argv2[]) --{ -- int i, null_i = 0, argc_tmp = *argc; -- -- for (i = 0; i < argc_tmp; i++) { -- if (argv2[i] == NULL) { -- (*argc)--; -- } else { -- argv2[null_i++] = argv2[i]; -- } -- } --} -- -- -- --/* Thread-safe version */ --static int Rrd_Create( -- ClientData __attribute__((unused)) clientData, -- Tcl_Interp *interp, -- int argc, -- CONST84 char *argv[]) --{ -- int argv_i; -- char **argv2; -- char *parsetime_error = NULL; -- time_t last_up = time(NULL) - 10; -- long int long_tmp; -- unsigned long int pdp_step = 300; -- rrd_time_value_t last_up_tv; -- -- argv2 = getopt_init(argc, argv); -- -- for (argv_i = 1; argv_i < argc; argv_i++) { -- if (!strcmp(argv2[argv_i], "--start") || !strcmp(argv2[argv_i], "-b")) { -- if (argv_i++ >= argc) { -- Tcl_AppendResult(interp, "RRD Error: option '", -- argv2[argv_i - 1], "' needs an argument", -- (char *) NULL); -- getopt_cleanup(argc, argv2); -- return TCL_ERROR; -- } -- if ((parsetime_error = rrd_parsetime(argv2[argv_i], &last_up_tv))) { -- Tcl_AppendResult(interp, "RRD Error: invalid time format: '", -- argv2[argv_i], "'", (char *) NULL); -- getopt_cleanup(argc, argv2); -- return TCL_ERROR; -- } -- if (last_up_tv.type == RELATIVE_TO_END_TIME || -- last_up_tv.type == RELATIVE_TO_START_TIME) { -- Tcl_AppendResult(interp, -- "RRD Error: specifying time relative to the 'start' ", -- "or 'end' makes no sense here", -- (char *) NULL); -- getopt_cleanup(argc, argv2); -- return TCL_ERROR; -- } -- last_up = mktime(&last_up_tv.tm) +last_up_tv.offset; -- if (last_up < 3600 * 24 * 365 * 10) { -- Tcl_AppendResult(interp, -- "RRD Error: the first entry to the RRD should be after 1980", -- (char *) NULL); -- getopt_cleanup(argc, argv2); -- return TCL_ERROR; -- } -- getopt_free_element(argv2, argv_i - 1); -- getopt_free_element(argv2, argv_i); -- } else if (!strcmp(argv2[argv_i], "--step") -- || !strcmp(argv2[argv_i], "-s")) { -- if (argv_i++ >= argc) { -- Tcl_AppendResult(interp, "RRD Error: option '", -- argv2[argv_i - 1], "' needs an argument", -- (char *) NULL); -- getopt_cleanup(argc, argv2); -- return TCL_ERROR; -- } -- long_tmp = atol(argv2[argv_i]); -- if (long_tmp < 1) { -- Tcl_AppendResult(interp, -- "RRD Error: step size should be no less than one second", -- (char *) NULL); -- getopt_cleanup(argc, argv2); -- return TCL_ERROR; -- } -- pdp_step = long_tmp; -- getopt_free_element(argv2, argv_i - 1); -- getopt_free_element(argv2, argv_i); -- } else if (!strcmp(argv2[argv_i], "--")) { -- getopt_free_element(argv2, argv_i); -- break; -- } else if (argv2[argv_i][0] == '-') { -- Tcl_AppendResult(interp, "RRD Error: unknown option '", -- argv2[argv_i], "'", (char *) NULL); -- getopt_cleanup(argc, argv2); -- return TCL_ERROR; -- } -- } -- -- getopt_squieeze(&argc, argv2); -- -- if (argc < 2) { -- Tcl_AppendResult(interp, "RRD Error: needs rrd filename", -- (char *) NULL); -- getopt_cleanup(argc, argv2); -- return TCL_ERROR; -- } -- -- rrd_create_r(argv2[1], pdp_step, last_up, argc - 2, -- (const char **)argv2 + 2); -- -- getopt_cleanup(argc, argv2); -- -- if (rrd_test_error()) { -- Tcl_AppendResult(interp, "RRD Error: ", -- rrd_get_error(), (char *) NULL); -- rrd_clear_error(); -- return TCL_ERROR; -- } -- -- return TCL_OK; --} -- -- -- --/* Thread-safe version */ --static int Rrd_Dump( -- ClientData __attribute__((unused)) clientData, -- Tcl_Interp *interp, -- int argc, -- CONST84 char *argv[]) --{ -- if (argc < 2) { -- Tcl_AppendResult(interp, "RRD Error: needs rrd filename", -- (char *) NULL); -- return TCL_ERROR; -- } -- -- rrd_dump_r(argv[1], NULL); -- -- /* NOTE: rrd_dump() writes to stdout. No interaction with TCL. */ -- -- if (rrd_test_error()) { -- Tcl_AppendResult(interp, "RRD Error: ", -- rrd_get_error(), (char *) NULL); -- rrd_clear_error(); -- return TCL_ERROR; -- } -- -- return TCL_OK; --} -- --/* Thread-safe version */ --static int Rrd_Flushcached( -- ClientData __attribute__((unused)) clientData, -- Tcl_Interp *interp, -- int argc, -- CONST84 char *argv[]) --{ -- if (argc < 2) { -- Tcl_AppendResult(interp, "RRD Error: needs rrd filename", -- (char *) NULL); -- return TCL_ERROR; -- } -- -- rrd_flushcached(argc, (char**)argv); -- -- if (rrd_test_error()) { -- Tcl_AppendResult(interp, "RRD Error: ", -- rrd_get_error(), (char *) NULL); -- rrd_clear_error(); -- return TCL_ERROR; -- } -- -- return TCL_OK; --} -- -- --/* Thread-safe version */ --static int Rrd_Last( -- ClientData __attribute__((unused)) clientData, -- Tcl_Interp *interp, -- int argc, -- CONST84 char *argv[]) --{ -- time_t t; -- -- if (argc < 2) { -- Tcl_AppendResult(interp, "RRD Error: needs rrd filename", -- (char *) NULL); -- return TCL_ERROR; -- } -- -- t = rrd_last_r(argv[1]); -- -- if (rrd_test_error()) { -- Tcl_AppendResult(interp, "RRD Error: ", -- rrd_get_error(), (char *) NULL); -- rrd_clear_error(); -- return TCL_ERROR; -- } -- -- Tcl_SetIntObj(Tcl_GetObjResult(interp), t); -- -- return TCL_OK; --} -- -- -- --/* Thread-safe version */ --static int Rrd_Update( -- ClientData __attribute__((unused)) clientData, -- Tcl_Interp *interp, -- int argc, -- CONST84 char *argv[]) --{ -- int argv_i; -- char **argv2, *template = NULL; -- -- argv2 = getopt_init(argc, argv); -- -- for (argv_i = 1; argv_i < argc; argv_i++) { -- if (!strcmp(argv2[argv_i], "--template") -- || !strcmp(argv2[argv_i], "-t")) { -- if (argv_i++ >= argc) { -- Tcl_AppendResult(interp, "RRD Error: option '", -- argv2[argv_i - 1], "' needs an argument", -- (char *) NULL); -- if (template != NULL) { -- free(template); -- } -- getopt_cleanup(argc, argv2); -- return TCL_ERROR; -- } -- if (template != NULL) { -- free(template); -- } -- template = strdup(argv2[argv_i]); -- getopt_free_element(argv2, argv_i - 1); -- getopt_free_element(argv2, argv_i); -- } else if (!strcmp(argv2[argv_i], "--")) { -- getopt_free_element(argv2, argv_i); -- break; -- } else if (argv2[argv_i][0] == '-') { -- Tcl_AppendResult(interp, "RRD Error: unknown option '", -- argv2[argv_i], "'", (char *) NULL); -- if (template != NULL) { -- free(template); -- } -- getopt_cleanup(argc, argv2); -- return TCL_ERROR; -- } -- } -- -- getopt_squieeze(&argc, argv2); -- -- if (argc < 2) { -- Tcl_AppendResult(interp, "RRD Error: needs rrd filename", -- (char *) NULL); -- if (template != NULL) { -- free(template); -- } -- getopt_cleanup(argc, argv2); -- return TCL_ERROR; -- } -- -- rrd_update_r(argv2[1], template, argc - 2, (const char **)argv2 + 2); -- -- if (template != NULL) { -- free(template); -- } -- getopt_cleanup(argc, argv2); -- -- if (rrd_test_error()) { -- Tcl_AppendResult(interp, "RRD Error: ", -- rrd_get_error(), (char *) NULL); -- rrd_clear_error(); -- return TCL_ERROR; -- } -- -- return TCL_OK; --} -- --static int Rrd_Lastupdate( -- ClientData __attribute__((unused)) clientData, -- Tcl_Interp *interp, -- int argc, -- CONST84 char *argv[]) --{ -- time_t last_update; -- char **argv2; -- char **ds_namv; -- char **last_ds; -- char s[30]; -- Tcl_Obj *listPtr; -- unsigned long ds_cnt, i; -- -- /* TODO: support for rrdcached */ -- if (argc != 2) { -- Tcl_AppendResult(interp, "RRD Error: needs a single rrd filename", -- (char *) NULL); -- return TCL_ERROR; -- } -- -- argv2 = getopt_init(argc, argv); -- if (rrd_lastupdate_r(argv2[1], &last_update, -- &ds_cnt, &ds_namv, &last_ds) == 0) { -- listPtr = Tcl_GetObjResult(interp); -- for (i = 0; i < ds_cnt; i++) { -- sprintf(s, " %28s", ds_namv[i]); -- Tcl_ListObjAppendElement(interp, listPtr, -- Tcl_NewStringObj(s, -1)); -- sprintf(s, "\n\n%10lu:", last_update); -- Tcl_ListObjAppendElement(interp, listPtr, -- Tcl_NewStringObj(s, -1)); -- for (i = 0; i < ds_cnt; i++) { -- sprintf(s, " %s", last_ds[i]); -- Tcl_ListObjAppendElement(interp, listPtr, -- Tcl_NewStringObj(s, -1)); -- free(last_ds[i]); -- free(ds_namv[i]); -- } -- sprintf(s, "\n"); -- Tcl_ListObjAppendElement(interp, listPtr, -- Tcl_NewStringObj(s, -1)); -- free(last_ds); -- free(ds_namv); -- } -- } -- return TCL_OK; --} -- --static int Rrd_Fetch( -- ClientData __attribute__((unused)) clientData, -- Tcl_Interp *interp, -- int argc, -- CONST84 char *argv[]) --{ -- time_t start, end, j; -- unsigned long step, ds_cnt, i, ii; -- rrd_value_t *data, *datai; -- char **ds_namv; -- Tcl_Obj *listPtr; -- char s[30]; -- char **argv2; -- -- argv2 = getopt_init(argc, argv); -- if (rrd_fetch(argc, argv2, &start, &end, &step, -- &ds_cnt, &ds_namv, &data) != -1) { -- datai = data; -- listPtr = Tcl_GetObjResult(interp); -- for (j = start; j <= end; j += step) { -- for (ii = 0; ii < ds_cnt; ii++) { -- sprintf(s, "%.2f", *(datai++)); -- Tcl_ListObjAppendElement(interp, listPtr, -- Tcl_NewStringObj(s, -1)); -- } -- } -- for (i = 0; i < ds_cnt; i++) -- free(ds_namv[i]); -- free(ds_namv); -- free(data); -- } -- getopt_cleanup(argc, argv2); -- -- if (rrd_test_error()) { -- Tcl_AppendResult(interp, "RRD Error: ", -- rrd_get_error(), (char *) NULL); -- rrd_clear_error(); -- return TCL_ERROR; -- } -- -- return TCL_OK; --} -- -- -- --static int Rrd_Graph( -- ClientData __attribute__((unused)) clientData, -- Tcl_Interp *interp, -- int argc, -- CONST84 char *argv[]) --{ -- Tcl_Channel channel; -- int mode, fd2; -- ClientData fd1; -- FILE *stream = NULL; -- char **calcpr = NULL; -- int rc, xsize, ysize; -- double ymin, ymax; -- char dimensions[50]; -- char **argv2; -- CONST84 char *save; -- -- /* -- * If the "filename" is a Tcl fileID, then arrange for rrd_graph() to write to -- * that file descriptor. Will this work with windoze? I have no idea. -- */ -- if ((channel = Tcl_GetChannel(interp, argv[1], &mode)) != NULL) { -- /* -- * It >is< a Tcl fileID -- */ -- if (!(mode & TCL_WRITABLE)) { -- Tcl_AppendResult(interp, "channel \"", argv[1], -- "\" wasn't opened for writing", (char *) NULL); -- return TCL_ERROR; -- } -- /* -- * Must flush channel to make sure any buffered data is written before -- * rrd_graph() writes to the stream -- */ -- if (Tcl_Flush(channel) != TCL_OK) { -- Tcl_AppendResult(interp, "flush failed for \"", argv[1], "\": ", -- strerror(Tcl_GetErrno()), (char *) NULL); -- return TCL_ERROR; -- } -- if (Tcl_GetChannelHandle(channel, TCL_WRITABLE, &fd1) != TCL_OK) { -- Tcl_AppendResult(interp, -- "cannot get file descriptor associated with \"", -- argv[1], "\"", (char *) NULL); -- return TCL_ERROR; -- } -- /* -- * Must dup() file descriptor so we can fclose(stream), otherwise the fclose() -- * would close Tcl's file descriptor -- */ -- if ((fd2 = dup((int)fd1)) == -1) { -- Tcl_AppendResult(interp, -- "dup() failed for file descriptor associated with \"", -- argv[1], "\": ", strerror(errno), (char *) NULL); -- return TCL_ERROR; -- } -- /* -- * rrd_graph() wants a FILE* -- */ -- if ((stream = fdopen(fd2, "wb")) == NULL) { -- Tcl_AppendResult(interp, -- "fdopen() failed for file descriptor associated with \"", -- argv[1], "\": ", strerror(errno), (char *) NULL); -- close(fd2); /* plug potential file descriptor leak */ -- return TCL_ERROR; -- } -- -- save = argv[1]; -- argv[1] = "-"; -- argv2 = getopt_init(argc, argv); -- argv[1] = save; -- } else { -- Tcl_ResetResult(interp); /* clear error from Tcl_GetChannel() */ -- argv2 = getopt_init(argc, argv); -- } -- -- rc = rrd_graph(argc, argv2, &calcpr, &xsize, &ysize, stream, &ymin, -- &ymax); -- getopt_cleanup(argc, argv2); -- -- if (stream != NULL) -- fclose(stream); /* plug potential malloc & file descriptor leak */ -- -- if (rc != -1) { -- sprintf(dimensions, "%d %d", xsize, ysize); -- Tcl_AppendResult(interp, dimensions, (char *) NULL); -- if (calcpr) { --#if 0 -- int i; -- -- for (i = 0; calcpr[i]; i++) { -- printf("%s\n", calcpr[i]); -- free(calcpr[i]); -- } --#endif -- free(calcpr); -- } -- } -- -- if (rrd_test_error()) { -- Tcl_AppendResult(interp, "RRD Error: ", -- rrd_get_error(), (char *) NULL); -- rrd_clear_error(); -- return TCL_ERROR; -- } -- -- return TCL_OK; --} -- -- -- --static int Rrd_Tune( -- ClientData __attribute__((unused)) clientData, -- Tcl_Interp *interp, -- int argc, -- CONST84 char *argv[]) --{ -- char **argv2; -- -- argv2 = getopt_init(argc, argv); -- rrd_tune(argc, argv2); -- getopt_cleanup(argc, argv2); -- -- if (rrd_test_error()) { -- Tcl_AppendResult(interp, "RRD Error: ", -- rrd_get_error(), (char *) NULL); -- rrd_clear_error(); -- return TCL_ERROR; -- } -- -- return TCL_OK; --} -- -- -- --static int Rrd_Resize( -- ClientData __attribute__((unused)) clientData, -- Tcl_Interp *interp, -- int argc, -- CONST84 char *argv[]) --{ -- char **argv2; -- -- argv2 = getopt_init(argc, argv); -- rrd_resize(argc, argv2); -- getopt_cleanup(argc, argv2); -- -- if (rrd_test_error()) { -- Tcl_AppendResult(interp, "RRD Error: ", -- rrd_get_error(), (char *) NULL); -- rrd_clear_error(); -- return TCL_ERROR; -- } -- -- return TCL_OK; --} -- -- -- --static int Rrd_Restore( -- ClientData __attribute__((unused)) clientData, -- Tcl_Interp *interp, -- int argc, -- CONST84 char *argv[]) --{ -- char **argv2; -- -- argv2 = getopt_init(argc, argv); -- rrd_restore(argc, argv2); -- getopt_cleanup(argc, argv2); -- -- if (rrd_test_error()) { -- Tcl_AppendResult(interp, "RRD Error: ", -- rrd_get_error(), (char *) NULL); -- rrd_clear_error(); -- return TCL_ERROR; -- } -- -- return TCL_OK; --} -- -- -- --/* -- * The following structure defines the commands in the Rrd extension. -- */ -- --typedef struct { -- char *name; /* Name of the command. */ -- Tcl_CmdProc *proc; /* Procedure for command. */ -- int hide; /* Hide if safe interpreter */ --} CmdInfo; -- --static CmdInfo rrdCmds[] = { -- {"Rrd::create", Rrd_Create, 1}, /* Thread-safe version */ -- {"Rrd::dump", Rrd_Dump, 0}, /* Thread-safe version */ -- {"Rrd::flushcached", Rrd_Flushcached, 0}, -- {"Rrd::last", Rrd_Last, 0}, /* Thread-safe version */ -- {"Rrd::lastupdate", Rrd_Lastupdate, 0}, /* Thread-safe version */ -- {"Rrd::update", Rrd_Update, 1}, /* Thread-safe version */ -- {"Rrd::fetch", Rrd_Fetch, 0}, -- {"Rrd::graph", Rrd_Graph, 1}, /* Due to RRD's API, a safe -- interpreter cannot create -- a graph since it writes to -- a filename supplied by the -- caller */ -- {"Rrd::tune", Rrd_Tune, 1}, -- {"Rrd::resize", Rrd_Resize, 1}, -- {"Rrd::restore", Rrd_Restore, 1}, -- {(char *) NULL, (Tcl_CmdProc *) NULL, 0} --}; -- -- -- --static int init( -- Tcl_Interp *interp, -- int safe) --{ -- CmdInfo *cmdInfoPtr; -- Tcl_CmdInfo info; -- -- if (Tcl_InitStubs(interp, TCL_VERSION, 0) == NULL) -- return TCL_ERROR; -- -- if (Tcl_PkgRequire(interp, "Tcl", TCL_VERSION, 1) == NULL) { -- return TCL_ERROR; -- } -- -- /* -- * Why a global array? In keeping with the Rrd:: namespace, why -- * not simply create a normal variable Rrd::version and set it? -- */ -- Tcl_SetVar2(interp, "rrd", "version", VERSION, TCL_GLOBAL_ONLY); -- -- for (cmdInfoPtr = rrdCmds; cmdInfoPtr->name != NULL; cmdInfoPtr++) { -- /* -- * Check if the command already exists and return an error -- * to ensure we detect name clashes while loading the Rrd -- * extension. -- */ -- if (Tcl_GetCommandInfo(interp, cmdInfoPtr->name, &info)) { -- Tcl_AppendResult(interp, "command \"", cmdInfoPtr->name, -- "\" already exists", (char *) NULL); -- return TCL_ERROR; -- } -- if (safe && cmdInfoPtr->hide) { --#if 0 -- /* -- * Turns out the one cannot hide a command in a namespace -- * due to a limitation of Tcl, one can only hide global -- * commands. Thus, if we created the commands without -- * the Rrd:: namespace in a safe interpreter, then the -- * "unsafe" commands could be hidden -- which would allow -- * an owning interpreter either un-hiding them or doing -- * an "interp invokehidden". If the Rrd:: namespace is -- * used, then it's still possible for the owning interpreter -- * to fake out the missing commands: -- * -- * # Make all Rrd::* commands available in master interperter -- * package require Rrd -- * set safe [interp create -safe] -- * # Make safe Rrd::* commands available in safe interperter -- * interp invokehidden $safe -global load ./tclrrd1.2.11.so -- * # Provide the safe interpreter with the missing commands -- * $safe alias Rrd::update do_update $safe -- * proc do_update {which_interp $args} { -- * # Do some checking maybe... -- * : -- * return [eval Rrd::update $args] -- * } -- * -- * Our solution for now is to just not create the "unsafe" -- * commands in a safe interpreter. -- */ -- if (Tcl_HideCommand(interp, cmdInfoPtr->name, cmdInfoPtr->name) != -- TCL_OK) -- return TCL_ERROR; --#endif -- } else -- Tcl_CreateCommand(interp, cmdInfoPtr->name, cmdInfoPtr->proc, -- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL); -- } -- -- if (Tcl_PkgProvide(interp, "Rrd", VERSION) != TCL_OK) { -- return TCL_ERROR; -- } -- -- return TCL_OK; --} -- --int Tclrrd_Init( -- Tcl_Interp *interp) --{ -- return init(interp, 0); --} -- --/* -- * See the comments above and note how few commands are considered "safe"... -- * Using rrdtool in a safe interpreter has very limited functionality. It's -- * tempting to just return TCL_ERROR and forget about it. -- */ --int Tclrrd_SafeInit( -- Tcl_Interp *interp) --{ -- return init(interp, 1); --} -diff --git a/configure.ac b/configure.ac -index 73ef4ec..acd74e8 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -830,57 +830,6 @@ AM_CONDITIONAL(LUA_SITE_LINSTALL, [test "$LUA_INSTALL_LMOD" != "$LUA_RRD_LIBDIR" - AM_CONDITIONAL(LUA50, [test "$lua_vndot" = "50"]) - AM_CONDITIONAL(BUILD_LUA, [test "$enable_lua" = "yes"]) - --enable_tcl_site=no -- --AC_ARG_ENABLE(tcl,AS_HELP_STRING([--disable-tcl],[do not build the tcl modules]), --[],[enable_tcl=yes]) -- --if test "$enable_tcl" = "yes"; then -- dnl Check for Tcl. -- withval="" -- AC_ARG_WITH(tcllib,[ --with-tcllib=DIR location of the tclConfig.sh]) -- enable_tcl=no -- for dir in $withval /usr/lib /usr/lib64 /usr/local/lib /usr/lib/tcl8.4 /usr/lib/tcl8.3 ; do -- AC_MSG_CHECKING(for tclConfig.sh in $dir) -- if test -f "$dir/tclConfig.sh" ; then -- tcl_config=$dir/tclConfig.sh -- enable_tcl=yes -- AC_MSG_RESULT(yes) -- break -- else -- AC_MSG_RESULT(no) -- fi -- done -- -- if test "$enable_tcl" = "no"; then -- AC_MSG_WARN([tclConfig.sh not found - Tcl interface will not be built]) -- else -- . $tcl_config -- TCL_PACKAGE_DIR="$TCL_PACKAGE_PATH/tclrrd$VERSION" -- if test -n "$TCL_INC_DIR"; then -- TCL_INCLUDE_SPEC="$TCL_INCLUDE_SPEC -I$TCL_INC_DIR" -- fi -- fi -- AC_ARG_ENABLE(tcl-site,AS_HELP_STRING([--enable-tcl-site],[install the tcl extension in the tcl tree]), -- [],[enable_tcl_site=yes]) -- --fi -- --AM_CONDITIONAL(BUILD_TCL, test "$enable_tcl" = "yes" ) --AM_CONDITIONAL(BUILD_TCL_SITE, test "$enable_tcl_site" = "yes" ) -- -- --AC_SUBST(TCL_PREFIX) --AC_SUBST(TCL_SHLIB_CFLAGS) --AC_SUBST(TCL_SHLIB_LD) --AC_SUBST(TCL_SHLIB_SUFFIX) --AC_SUBST(TCL_PACKAGE_PATH) --AC_SUBST(TCL_LD_SEARCH_FLAGS) --AC_SUBST(TCL_STUB_LIB_SPEC) --AC_SUBST(TCL_VERSION) --AC_SUBST(TCL_PACKAGE_DIR) --AC_SUBST(TCL_INCLUDE_SPEC) -- - AC_ARG_ENABLE(python,AS_HELP_STRING([--disable-python],[do not build the python modules]), - [],[enable_python=yes]) - -@@ -932,8 +881,6 @@ AC_CONFIG_FILES([src/Makefile]) - AC_CONFIG_FILES([src/librrd.sym.in]) - AC_CONFIG_FILES([src/librrd.pc]) - AC_CONFIG_FILES([bindings/Makefile]) --AC_CONFIG_FILES([bindings/tcl/Makefile]) --AC_CONFIG_FILES([bindings/tcl/ifOctets.tcl]) - AC_CONFIG_FILES([Makefile]) - AC_CONFIG_FILES([bindings/lua/Makefile]) - -@@ -982,7 +929,6 @@ if test "$lua_need_compat51" = "1"; then - echo " Lua Lua-modules dir: $LUA_INSTALL_LMOD" - fi - fi --echo " Build Tcl Bindings: $enable_tcl" - echo " Build Python Bindings: $enable_python" - echo " Build rrdcgi: $enable_rrdcgi" - echo " Build librrd MT: $enable_pthread" --- -1.7.10 - diff --git a/meta-oe/recipes-extended/rrdtool/rrdtool_1.4.7.bb b/meta-oe/recipes-extended/rrdtool/rrdtool_1.4.8.bb index df3dc8a804..6bc5e98633 100644 --- a/meta-oe/recipes-extended/rrdtool/rrdtool_1.4.7.bb +++ b/meta-oe/recipes-extended/rrdtool/rrdtool_1.4.8.bb @@ -4,18 +4,20 @@ HOMEPAGE = "http://oss.oetiker.ch/rrdtool/" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=44fee82a1d2ed0676cf35478283e0aa0" -DEPENDS = "libpng zlib cairo pango glib-2.0 libxml2" +DEPENDS = "libpng zlib cairo pango glib-2.0 libxml2 groff-native" -PR = "r2" +SRCREV = "1850e00a17e25e93c39e608f4e2da50f29c5c712" +PV = "1.4.8" -SRC_URI = "http://oss.oetiker.ch/rrdtool/pub/rrdtool-${PV}.tar.gz \ - file://0001-rrdtool-eradicate-tcl-support.patch \ - file://remove_hardcoded_xml_include.patch \ +SRC_URI = "\ + git://github.com/oetiker/rrdtool-1.x.git;branch=1.4 \ + file://remove_hardcoded_xml_include.patch \ + file://0001-removing-testing-leftovers.patch \ " -SRC_URI[md5sum] = "ffe369d8921b4dfdeaaf43812100c38f" -SRC_URI[sha256sum] = "956aaf431c955ba88dd7d98920ade3a8c4bad04adb1f9431377950a813a7af11" -inherit autotools-brokensep gettext pythonnative perlnative python-dir +S = "${WORKDIR}/git" + +inherit autotools-brokensep gettext pythonnative perlnative python-dir cpan-base EXTRA_AUTORECONF = "-I m4" @@ -40,6 +42,7 @@ EXTRA_OECONF = " \ rd_cv_ieee_works=yes \ --disable-ruby \ --disable-lua \ + --disable-tcl \ --disable-rpath \ " @@ -53,6 +56,12 @@ export HOST_SYS export STAGING_LIBDIR export STAGING_INCDIR +# Env var which tells perl if it should use host (no) or target (yes) settings +export PERLCONFIGTARGET = "${@is_target(d)}" +export PERL_INC = "${STAGING_LIBDIR}${PERL_OWN_DIR}/perl/${@get_perl_version(d)}/CORE" +export PERL_LIB = "${STAGING_LIBDIR}${PERL_OWN_DIR}/perl/${@get_perl_version(d)}" +export PERL_ARCHLIB = "${STAGING_LIBDIR}${PERL_OWN_DIR}/perl/${@get_perl_version(d)}" + do_configure() { #fix the pkglib problem with newer automake #perl @@ -68,9 +77,6 @@ do_configure() { autotools_do_configure - perl_version=`perl -v 2>/dev/null | \ - sed -n 's/This is perl.*v[a-z ]*\([0-9]\.[0-9][0-9.]*\).*$/\1/p'` - #modify python sitepkg #remove the dependency of perl-shared:Makefile #or perl-shared/Makefile will be regenerated @@ -83,13 +89,10 @@ do_configure() { #redo the perl bindings ( cd ${S}/bindings/perl-shared; - perl -I${STAGING_LIBDIR}/perl/$perl_version Makefile.PL INSTALLDIRS="vendor" - INSTALLPRIVLIB="abc"; - sed -i -e "s| ${libdir}/perl/| ${STAGING_LIBDIR}/perl/|g" Makefile; + perl Makefile.PL INSTALLDIRS="vendor" INSTALLPRIVLIB="abc"; cd ../../bindings/perl-piped; - perl -I${STAGING_LIBDIR}/perl/$perl_version Makefile.PL INSTALLDIRS="vendor"; - sed -i -e "s| ${libdir}/perl/| ${STAGING_LIBDIR}/perl/|g" Makefile; + perl Makefile.PL INSTALLDIRS="vendor"; ) #change the interpreter in file @@ -105,7 +108,7 @@ FILES_${PN}-doc += "${datadir}/examples" DESCRIPTION_${PN}-perl = \ "The ${PN}-perl package includes RRDtool bindings for perl." -FILES_${PN}-perl = "${libdir}/perl/vendor_perl/*/*.pm ${datadir}/${PN}/examples \ +FILES_${PN}-perl = "${libdir}/perl/vendor_perl/*/*.pm ${datadir}/rrdtool/examples \ ${libdir}/perl/vendor_perl/*/auto/RRDs/RRDs.*" RDEPENDS_${PN}-perl = "perl perl-module-lib perl-module-getopt-long perl-module-time-hires \ perl-module-io-file perl-module-ipc-open2 perl-module-io-socket" diff --git a/meta-oe/recipes-extended/rsyslog/rsyslog/json-0.12-fix.patch b/meta-oe/recipes-extended/rsyslog/rsyslog/json-0.12-fix.patch new file mode 100644 index 0000000000..7390a7f542 --- /dev/null +++ b/meta-oe/recipes-extended/rsyslog/rsyslog/json-0.12-fix.patch @@ -0,0 +1,45 @@ +json-c-0.12 unlike 0.11 doesn't install json -> json-c symlink in include + +* Resolved in Version 7.6.4 [v7.6-stable] 2014-09-12 + https://github.com/rsyslog/rsyslog/blob/v7-stable/ChangeLog +* permits to build against json-c 0.12 + Unfortunately, json-c had an ABI breakage, so this is necessary. Note + that versions prior to 0.12 had security issues (CVE-2013-6370, + CVE-2013-6371) and so it is desirable to link against the new version. + Thanks to Thomas D. for the patch. Note that at least some distros + have fixed the security issue in older versions of json-c, so this + seems to apply mostly when building from sources. + +Upstream-Status: Backport +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> + +diff -uNr rsyslog-7.4.4.orig/plugins/ommongodb/ommongodb.c rsyslog-7.4.4/plugins/ommongodb/ommongodb.c +--- rsyslog-7.4.4.orig/plugins/ommongodb/ommongodb.c 2013-09-03 11:54:20.000000000 +0200 ++++ rsyslog-7.4.4/plugins/ommongodb/ommongodb.c 2015-01-12 16:11:51.542591825 +0100 +@@ -33,9 +33,9 @@ + #include <stdint.h> + #include <time.h> + #include <mongo.h> +-#include <json.h> ++#include <json-c/json.h> + /* For struct json_object_iter, should not be necessary in future versions */ +-#include <json/json_object_private.h> ++#include <json-c/json_object_private.h> + + #include "rsyslog.h" + #include "conf.h" +diff -uNr rsyslog-7.4.4.orig/runtime/msg.c rsyslog-7.4.4/runtime/msg.c +--- rsyslog-7.4.4.orig/runtime/msg.c 2013-09-03 12:31:42.000000000 +0200 ++++ rsyslog-7.4.4/runtime/msg.c 2015-01-12 16:12:00.403592142 +0100 +@@ -41,9 +41,9 @@ + #endif + #include <netdb.h> + #include <libestr.h> +-#include <json.h> ++#include <json-c/json.h> + /* For struct json_object_iter, should not be necessary in future versions */ +-#include <json/json_object_private.h> ++#include <json-c/json_object_private.h> + #if HAVE_MALLOC_H + # include <malloc.h> + #endif diff --git a/meta-oe/recipes-extended/rsyslog/rsyslog/rsyslog-fix-ptest-not-finish.patch b/meta-oe/recipes-extended/rsyslog/rsyslog/rsyslog-fix-ptest-not-finish.patch new file mode 100644 index 0000000000..bdcb6e22a3 --- /dev/null +++ b/meta-oe/recipes-extended/rsyslog/rsyslog/rsyslog-fix-ptest-not-finish.patch @@ -0,0 +1,96 @@ +$MaxMessageSize doesn't work if before $IncludeConfig diag-common.conf, then +test cases fall into infinite loop with error message: + +8062.511110729:4902c480: error: message received is larger than max msg size, we split it +8062.511152265:4902c480: discarding zero-sized message + +Update configure to fix it. + +Upstream-Status: pending + +Kai Kang <kai.kang@windriver.com> +--- +diff -Nru rsyslog-7.4.4/tests/testsuites/complex1.conf rsyslog-7.4.4.new/tests/testsuites/complex1.conf +--- rsyslog-7.4.4/tests/testsuites/complex1.conf 2013-08-31 00:30:41.000000000 +0800 ++++ rsyslog-7.4.4.new/tests/testsuites/complex1.conf 2013-12-18 14:28:10.644004184 +0800 +@@ -1,7 +1,7 @@ + # complex test case with multiple actions in gzip mode + # rgerhards, 2009-05-22 +-$MaxMessageSize 10k + $IncludeConfig diag-common.conf ++$MaxMessageSize 10k + + $MainMsgQueueTimeoutEnqueue 5000 + +diff -Nru rsyslog-7.4.4/tests/testsuites/gzipwr_large.conf rsyslog-7.4.4.new/tests/testsuites/gzipwr_large.conf +--- rsyslog-7.4.4/tests/testsuites/gzipwr_large.conf 2012-04-04 14:29:55.000000000 +0800 ++++ rsyslog-7.4.4.new/tests/testsuites/gzipwr_large.conf 2013-12-18 14:28:10.645004186 +0800 +@@ -1,7 +1,7 @@ + # simple async writing test + # rgerhards, 2010-03-09 +-$MaxMessageSize 10k + $IncludeConfig diag-common.conf ++$MaxMessageSize 10k + + $ModLoad ../plugins/imtcp/.libs/imtcp + $MainMsgQueueTimeoutShutdown 10000 +diff -Nru rsyslog-7.4.4/tests/testsuites/gzipwr_large_dynfile.conf rsyslog-7.4.4.new/tests/testsuites/gzipwr_large_dynfile.conf +--- rsyslog-7.4.4/tests/testsuites/gzipwr_large_dynfile.conf 2012-04-04 14:29:55.000000000 +0800 ++++ rsyslog-7.4.4.new/tests/testsuites/gzipwr_large_dynfile.conf 2013-12-18 14:28:10.645004186 +0800 +@@ -1,7 +1,7 @@ + # simple async writing test + # rgerhards, 2010-03-09 +-$MaxMessageSize 10k + $IncludeConfig diag-common.conf ++$MaxMessageSize 10k + + $ModLoad ../plugins/imtcp/.libs/imtcp + $MainMsgQueueTimeoutShutdown 10000 +diff -Nru rsyslog-7.4.4/tests/testsuites/imptcp_conndrop.conf rsyslog-7.4.4.new/tests/testsuites/imptcp_conndrop.conf +--- rsyslog-7.4.4/tests/testsuites/imptcp_conndrop.conf 2013-08-31 00:30:41.000000000 +0800 ++++ rsyslog-7.4.4.new/tests/testsuites/imptcp_conndrop.conf 2013-12-18 14:28:10.646004189 +0800 +@@ -1,7 +1,7 @@ + # simple async writing test + # rgerhards, 2010-03-09 +-$MaxMessageSize 10k + $IncludeConfig diag-common.conf ++$MaxMessageSize 10k + + $ModLoad ../plugins/imptcp/.libs/imptcp + $MainMsgQueueTimeoutShutdown 10000 +diff -Nru rsyslog-7.4.4/tests/testsuites/imptcp_large.conf rsyslog-7.4.4.new/tests/testsuites/imptcp_large.conf +--- rsyslog-7.4.4/tests/testsuites/imptcp_large.conf 2013-08-31 00:30:41.000000000 +0800 ++++ rsyslog-7.4.4.new/tests/testsuites/imptcp_large.conf 2013-12-18 14:28:10.646004189 +0800 +@@ -1,7 +1,7 @@ + # simple async writing test + # rgerhards, 2010-03-09 +-$MaxMessageSize 10k + $IncludeConfig diag-common.conf ++$MaxMessageSize 10k + + $ModLoad ../plugins/imptcp/.libs/imptcp + $MainMsgQueueTimeoutShutdown 10000 +diff -Nru rsyslog-7.4.4/tests/testsuites/imtcp_conndrop.conf rsyslog-7.4.4.new/tests/testsuites/imtcp_conndrop.conf +--- rsyslog-7.4.4/tests/testsuites/imtcp_conndrop.conf 2013-07-19 20:59:03.000000000 +0800 ++++ rsyslog-7.4.4.new/tests/testsuites/imtcp_conndrop.conf 2013-12-18 14:28:10.646004189 +0800 +@@ -1,7 +1,7 @@ + # simple async writing test + # rgerhards, 2010-03-09 +-$MaxMessageSize 10k + $IncludeConfig diag-common.conf ++$MaxMessageSize 10k + + $ModLoad ../plugins/imtcp/.libs/imtcp + $MainMsgQueueTimeoutShutdown 10000 +diff -Nru rsyslog-7.4.4/tests/testsuites/wr_large.conf rsyslog-7.4.4.new/tests/testsuites/wr_large.conf +--- rsyslog-7.4.4/tests/testsuites/wr_large.conf 2012-04-04 14:29:55.000000000 +0800 ++++ rsyslog-7.4.4.new/tests/testsuites/wr_large.conf 2013-12-18 14:28:10.647004190 +0800 +@@ -1,7 +1,7 @@ + # simple async writing test + # rgerhards, 2010-03-09 +-$MaxMessageSize 10k + $IncludeConfig diag-common.conf ++$MaxMessageSize 10k + + $ModLoad ../plugins/imtcp/.libs/imtcp + $MainMsgQueueTimeoutShutdown 10000 diff --git a/meta-oe/recipes-extended/rsyslog/rsyslog/rsyslog-use-serial-tests-config-needed-by-ptest.patch b/meta-oe/recipes-extended/rsyslog/rsyslog/rsyslog-use-serial-tests-config-needed-by-ptest.patch new file mode 100644 index 0000000000..3a16f2649a --- /dev/null +++ b/meta-oe/recipes-extended/rsyslog/rsyslog/rsyslog-use-serial-tests-config-needed-by-ptest.patch @@ -0,0 +1,28 @@ +Subject: [PATCH] rsyslog: use serial-tests config needed by ptest + +ptest needs buildtest-TESTS and runtest-TESTS targets. +serial-tests is required to generate those targets. + +Upstream-Status: Inappropriate [default automake behavior incompatible with ptest] + +Signed-off-by: Jackie Huang <jackie.huang@windriver.com> +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 1b880f8..0e29742 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -3,7 +3,7 @@ + + AC_PREREQ(2.61) + AC_INIT([rsyslog],[7.4.4],[rsyslog@lists.adiscon.com]) +-AM_INIT_AUTOMAKE ++AM_INIT_AUTOMAKE([serial-tests]) + + m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) + +-- +2.0.0 + diff --git a/meta-oe/recipes-extended/rsyslog/rsyslog/rsyslog.conf b/meta-oe/recipes-extended/rsyslog/rsyslog/rsyslog.conf index 54f8bb6a56..324ae6d82a 100644 --- a/meta-oe/recipes-extended/rsyslog/rsyslog/rsyslog.conf +++ b/meta-oe/recipes-extended/rsyslog/rsyslog/rsyslog.conf @@ -14,6 +14,8 @@ $ModLoad imklog # kernel logging (formerly provided by rklogd) # # Set the default permissions # +$FileOwner root +$FileGroup adm $FileCreateMode 0640 $DirCreateMode 0755 $Umask 0022 diff --git a/meta-oe/recipes-extended/rsyslog/rsyslog/run-ptest b/meta-oe/recipes-extended/rsyslog/rsyslog/run-ptest new file mode 100644 index 0000000000..38a1d1b722 --- /dev/null +++ b/meta-oe/recipes-extended/rsyslog/rsyslog/run-ptest @@ -0,0 +1,3 @@ +#!/bin/sh +# +make -C tests -k runtest-TESTS diff --git a/meta-oe/recipes-extended/rsyslog/rsyslog/use-pkgconfig-to-check-libgcrypt.patch b/meta-oe/recipes-extended/rsyslog/rsyslog/use-pkgconfig-to-check-libgcrypt.patch new file mode 100644 index 0000000000..ebc10707cf --- /dev/null +++ b/meta-oe/recipes-extended/rsyslog/rsyslog/use-pkgconfig-to-check-libgcrypt.patch @@ -0,0 +1,48 @@ +From 5c3ba79177f7d1763db33c4358af2af60ff214b7 Mon Sep 17 00:00:00 2001 +From: Roy Li <rongqing.li@windriver.com> +Date: Wed, 18 Jun 2014 13:46:52 +0800 +Subject: [PATCH] use pkgconfig to check libgcrypt + +Upstream-status: Inappropriate [configuration] + +libgcrypt does no longer provide libgcrypt-config, and provide +*.pc, so we should use pkgconfig to check + +Signed-off-by: Roy Li <rongqing.li@windriver.com> +--- + configure.ac | 19 +------------------ + 1 file changed, 1 insertion(+), 18 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 017116e..1b880f8 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -784,24 +784,7 @@ AC_ARG_ENABLE(libgcrypt, + [enable_libgcrypt=yes] + ) + if test "x$enable_libgcrypt" = "xyes"; then +- AC_CHECK_PROG( +- [HAVE_LIBGCRYPT_CONFIG], +- [libgcrypt-config], +- [yes],,, +- ) +- if test "x${HAVE_LIBGCRYPT_CONFIG}" != "xyes"; then +- AC_MSG_FAILURE([libgcrypt-config not found in PATH]) +- fi +- AC_CHECK_LIB( +- [gcrypt], +- [gcry_cipher_open], +- [LIBGCRYPT_CFLAGS="`libgcrypt-config --cflags`" +- LIBGCRYPT_LIBS="`libgcrypt-config --libs`" +- ], +- [AC_MSG_FAILURE([libgcrypt is missing])], +- [`libgcrypt-config --libs --cflags`] +- ) +- AC_DEFINE([ENABLE_LIBGCRYPT], [1], [Indicator that LIBGCRYPT is present]) ++ PKG_CHECK_MODULES(LIBGCRYPT, libgcrypt) + fi + AM_CONDITIONAL(ENABLE_LIBGCRYPT, test x$enable_libgcrypt = xyes) + AC_SUBST(LIBGCRYPT_CFLAGS) +-- +1.7.9.5 + diff --git a/meta-oe/recipes-extended/rsyslog/rsyslog_7.4.4.bb b/meta-oe/recipes-extended/rsyslog/rsyslog_7.4.4.bb index 344a131579..a9d9464e36 100644 --- a/meta-oe/recipes-extended/rsyslog/rsyslog_7.4.4.bb +++ b/meta-oe/recipes-extended/rsyslog/rsyslog_7.4.4.bb @@ -21,12 +21,17 @@ SRC_URI = "http://www.rsyslog.com/files/download/rsyslog/${BPN}-${PV}.tar.gz \ file://initscript \ file://rsyslog.conf \ file://rsyslog.logrotate \ + file://use-pkgconfig-to-check-libgcrypt.patch \ + file://run-ptest \ + file://rsyslog-fix-ptest-not-finish.patch \ + file://rsyslog-use-serial-tests-config-needed-by-ptest.patch \ + file://json-0.12-fix.patch \ " SRC_URI[md5sum] = "ebcc010a6205c28eb505c0fe862f32c6" SRC_URI[sha256sum] = "276d094d1e4c62c770ec8a72723667f119eee038912b79cf3337d439bc2f9087" -inherit autotools pkgconfig systemd update-rc.d update-alternatives +inherit autotools pkgconfig systemd update-rc.d update-alternatives ptest EXTRA_OECONF += "--enable-cached-man-pages" @@ -36,6 +41,7 @@ PACKAGECONFIG ??= " \ imdiag gnutls \ ${@base_contains('DISTRO_FEATURES', 'snmp', 'snmp', '', d)} \ ${@base_contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)} \ + ${@base_contains('DISTRO_FEATURES', 'ptest', 'testbench ${VALGRIND}', '', d)} \ " # default yes in configure @@ -60,17 +66,61 @@ PACKAGECONFIG[postgresql] = "--enable-pgsql,--disable-pgsql,postgresql," PACKAGECONFIG[libdbi] = "--enable-libdbi,--disable-libdbi,libdbi," PACKAGECONFIG[mail] = "--enable-mail,--disable-mail,," PACKAGECONFIG[gui] = "--enable-gui,--disable-gui,," +PACKAGECONFIG[valgrind] = "--enable-valgrind,--disable-valgrind,valgrind," + +TESTDIR = "tests" +do_compile_ptest() { + sed -i 's/\(^buildtest-TESTS: \)/\1 $(check_PROGRAMS) /' ${TESTDIR}/Makefile + oe_runmake -C ${TESTDIR} buildtest-TESTS +} + +do_install_ptest() { + # install the tests + cp -rf ${S}/${TESTDIR} ${D}${PTEST_PATH} + cp -rf ${B}/${TESTDIR} ${D}${PTEST_PATH} + + # do NOT need to rebuild Makefile itself + sed -i 's/^Makefile:.*$/Makefile:/' ${D}${PTEST_PATH}/${TESTDIR}/Makefile + + # fix the srcdir + sed -i 's,^\(srcdir = \).*,\1${PTEST_PATH}/tests,' ${D}${PTEST_PATH}/${TESTDIR}/Makefile + + # valgrind is not compatible with arm and mips, + # so remove related test cases if there is no valgrind. + if [ x${VALGRIND} = x ]; then + sed -i '/udp-msgreduc-/d' ${D}${PTEST_PATH}/${TESTDIR}/Makefile + fi + + # install necessary links + install -d ${D}${PTEST_PATH}/tools + ln -sf ${sbindir}/rsyslogd ${D}${PTEST_PATH}/tools/rsyslogd + + install -d ${D}${PTEST_PATH}/runtime + install -d ${D}${PTEST_PATH}/runtime/.libs + ( + cd ${D}/${libdir}/rsyslog + allso="*.so" + for i in $allso; do + ln -sf ${libdir}/rsyslog/$i ${D}${PTEST_PATH}/runtime/.libs/$i + done + ) + + # fix the module load path with runtime/.libs + find ${D}${PTEST_PATH}/${TESTDIR} -name \*.conf -exec \ + sed -i -e 's:../plugins/.*/.libs/:../runtime/.libs/:' \ + '{}' \; +} do_install_append() { install -d "${D}${sysconfdir}/init.d" - install -m 755 ${WORKDIR}/initscript ${D}${sysconfdir}/init.d/rsyslogd + install -m 755 ${WORKDIR}/initscript ${D}${sysconfdir}/init.d/syslog.${BPN} install -m 644 ${WORKDIR}/rsyslog.conf ${D}${sysconfdir}/rsyslog.conf install -m 644 ${WORKDIR}/rsyslog.logrotate ${D}${sysconfdir}/logrotate.rsyslog } FILES_${PN} += "${bindir}" -INITSCRIPT_NAME = "rsyslogd" +INITSCRIPT_NAME = "syslog" INITSCRIPT_PARAMS = "defaults" # higher than sysklogd's 100 @@ -94,12 +144,27 @@ SYSTEMD_SERVICE_${PN} = "${BPN}.service" RDEPENDS_${PN} += "logrotate" +# for rsyslog-ptest +VALGRIND = "valgrind" +VALGRIND_mips = "" +VALGRIND_mips64 = "" +VALGRIND_arm = "" +VALGRIND_aarch64 = "" +RDEPENDS_${PN}-ptest += "make diffutils gzip" +RRECOMMENDS_${PN}-ptest += "${TCLIBC}-dbg ${VALGRIND}" + # no syslog-init for systemd python () { - if 'sysvinit' in d.getVar("DISTRO_FEATURES", True).split(): + if bb.utils.contains('DISTRO_FEATURES', 'sysvinit', True, False, d): pn = d.getVar('PN', True) sysconfdir = d.getVar('sysconfdir', True) d.appendVar('ALTERNATIVE_%s' % (pn), ' syslog-init') - d.setVarFlag('ALTERNATIVE_LINK_NAME', 'syslog-init', '%s/init.d/syslogd' % (sysconfdir)) - d.setVarFlag('ALTERNATIVE_TARGET', 'syslog-init', '%s/init.d/rsyslogd' % (sysconfdir)) + d.setVarFlag('ALTERNATIVE_LINK_NAME', 'syslog-init', '%s/init.d/syslog' % (sysconfdir)) + d.setVarFlag('ALTERNATIVE_TARGET', 'syslog-init', '%s/init.d/syslog.%s' % (d.getVar('sysconfdir', True), d.getVar('BPN', True))) + + if bb.utils.contains('DISTRO_FEATURES', 'systemd', True, False, d): + pn = d.getVar('PN', True) + d.appendVar('ALTERNATIVE_%s' % (pn), ' syslog-service') + d.setVarFlag('ALTERNATIVE_LINK_NAME', 'syslog-service', '%s/systemd/system/syslog.service' % (d.getVar('sysconfdir', True))) + d.setVarFlag('ALTERNATIVE_TARGET', 'syslog-service', '%s/system/rsyslog.service' % (d.getVar('systemd_unitdir', True))) } diff --git a/meta-oe/recipes-extended/sip/sip-native_4.14.2.bb b/meta-oe/recipes-extended/sip/sip-native_4.14.2.bb deleted file mode 100644 index 602dc250f5..0000000000 --- a/meta-oe/recipes-extended/sip/sip-native_4.14.2.bb +++ /dev/null @@ -1,35 +0,0 @@ -SUMMARY = "SIP is a C++/Python Wrapper Generator" -AUTHOR = "Phil Thompson" -HOMEPAGE = "http://www.riverbankcomputing.co.uk/sip" -SECTION = "devel" -LICENSE = "GPLv2+" -LIC_FILES_CHKSUM = "file://sipgen.sbf;endline=15;md5=61b2ce7ddd624968411804d2fa9d776c" - -# riverbankcomputing is upstream, but keeps only latest version, sf usually have few older -#SRC_URI = "http://www.riverbankcomputing.com/static/Downloads/sip4/sip-${PV}.tar.gz" -SRC_URI = "${SOURCEFORGE_MIRROR}/project/pyqt/sip/sip-${PV}/sip-${PV}.tar.gz" -SRC_URI[md5sum] = "b93442e745b3be2fad89de0686a76ce9" -SRC_URI[sha256sum] = "1a9d3bf26c821f369c175f8e68946b79bc994da4f96e8f5ecff06e6ee7ac0528" -S = "${WORKDIR}/sip-${PV}/sipgen" - -inherit qmake2 native python-dir - -EXTRA_QMAKEVARS_POST += "DESTDIR=${S} CONFIG=console" - -export BUILD_SYS -export HOST_SYS -export STAGING_LIBDIR -export STAGING_INCDIR - -do_configure_prepend() { - cat sipgen.sbf | sed s,target,TARGET, | sed s,sources,SOURCES, | sed s,headers,HEADERS, > sipgen.pro -} -do_install() { - install -d ${D}${bindir} - install -m 0755 sip ${D}${bindir}/sip - # python-pyqt expects sip4 - ln -sf sip ${D}${bindir}/sip4 - cd ${WORKDIR}/sip-${PV} && python configure.py - install -d ${D}${PYTHON_SITEPACKAGES_DIR} - install -m 0755 sip*.py ${D}${PYTHON_SITEPACKAGES_DIR} -} diff --git a/meta-oe/recipes-extended/sip/sip_4.16.4.bb b/meta-oe/recipes-extended/sip/sip_4.16.4.bb new file mode 100644 index 0000000000..607ace69fa --- /dev/null +++ b/meta-oe/recipes-extended/sip/sip_4.16.4.bb @@ -0,0 +1,52 @@ +SUMMARY = "SIP is a C++/Python Wrapper Generator" +AUTHOR = "Phil Thompson" +HOMEPAGE = "http://www.riverbankcomputing.co.uk/sip" +SECTION = "devel" +LICENSE = "GPLv2+" +LIC_FILES_CHKSUM = "file://LICENSE-GPL2;md5=e91355d8a6f8bd8f7c699d62863c7303" +DEPENDS_class-target = "qt4-x11-free python" + +# riverbankcomputing is upstream, but keeps only latest version, sf usually have few older +#SRC_URI = "http://www.riverbankcomputing.com/static/Downloads/sip4/sip-${PV}.tar.gz" +SRC_URI = "${SOURCEFORGE_MIRROR}/project/pyqt/sip/sip-${PV}/sip-${PV}.tar.gz" +SRC_URI[md5sum] = "a9840670a064dbf8f63a8f653776fec9" +SRC_URI[sha256sum] = "ceda443fc5e129e67a067e2cd7b73ff037f8b10b50e407baa2b1d9f2199d57f5" + +BBCLASSEXTEND = "native" + +inherit qmake2 python-dir pythonnative distro_features_check +# depends on qt4-x11-free +REQUIRED_DISTRO_FEATURES = "x11" + +EXTRA_QMAKEVARS_POST += "CONFIG=console" + +export BUILD_SYS +export HOST_SYS +export STAGING_LIBDIR +export STAGING_INCDIR + +do_configure_prepend_class-target() { + echo "py_platform = linux" > sip.cfg + echo "py_inc_dir = %(sysroot)/${includedir}/python%(py_major).%(py_minor)" >> sip.cfg + echo "sip_bin_dir = ${D}/${bindir}" >> sip.cfg + echo "sip_inc_dir = ${D}/${includedir}" >> sip.cfg + echo "sip_module_dir = ${D}/${libdir}/python%(py_major).%(py_minor)/site-packages" >> sip.cfg + echo "sip_sip_dir = ${D}/${datadir}/sip" >> sip.cfg + python configure.py --use-qmake --configuration sip.cfg --sysroot ${STAGING_DIR_HOST} +} +do_configure_prepend_class-native() { + echo "py_platform = linux" > sip.cfg + echo "py_inc_dir = ${includedir}/python%(py_major).%(py_minor)" >> sip.cfg + echo "sip_bin_dir = ${D}/${bindir}" >> sip.cfg + echo "sip_inc_dir = ${D}/${includedir}" >> sip.cfg + echo "sip_module_dir = ${D}/${libdir}/python%(py_major).%(py_minor)/site-packages" >> sip.cfg + echo "sip_sip_dir = ${D}/${datadir}/sip" >> sip.cfg + python configure.py --use-qmake --configuration sip.cfg --sysroot ${STAGING_DIR_NATIVE} +} +do_install() { + oe_runmake install +} + +FILES_${PN} += "${libdir}/${PYTHON_DIR}/site-packages/" +FILES_${PN}-dbg += "${libdir}/${PYTHON_DIR}/site-packages/.debug" + diff --git a/meta-oe/recipes-extended/smartmontools/files/initd.smartd b/meta-oe/recipes-extended/smartmontools/files/initd.smartd index 29c27e4756..54adcb406b 100755 --- a/meta-oe/recipes-extended/smartmontools/files/initd.smartd +++ b/meta-oe/recipes-extended/smartmontools/files/initd.smartd @@ -16,8 +16,8 @@ # Should-Start: sendmail # Required-Stop: $syslog $remote_fs # Should-Stop: sendmail -# Default-Start: -# Default-Stop: 0 1 2 3 4 5 6 +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 # Short-Description: Monitors disk and tape health via S.M.A.R.T. # Description: Start S.M.A.R.T. disk and tape monitor. ### END INIT INFO @@ -52,6 +52,10 @@ smartd_opts="--pidfile $SMARTDPID $smartd_opts" case "$1" in start) + if [ "$start_smartd" != "yes" ]; then + [ "$VERBOSE" != "no" ] && echo "Not starting S.M.A.R.T. daemon smartd, disabled via /etc/default/smartmontools" + exit 0 + fi echo -n "Starting S.M.A.R.T. daemon: smartd" if start-stop-daemon --start --quiet --pidfile $SMARTDPID \ --exec $SMARTD_BIN -- $smartd_opts; then diff --git a/meta-oe/recipes-extended/smartmontools/files/smartd.service b/meta-oe/recipes-extended/smartmontools/files/smartd.service new file mode 100644 index 0000000000..f3db946c81 --- /dev/null +++ b/meta-oe/recipes-extended/smartmontools/files/smartd.service @@ -0,0 +1,12 @@ +[Unit] +Description=Self Monitoring and Reporting Technology (SMART) Daemon +After=syslog.target + +[Service] +EnvironmentFile=-@SYSCONFDIR@/smartmontools +ExecStart=@SBINDIR@/smartd -n $smart_opts +ExecReload=@BASE_BINDIR@/kill -HUP $MAINPID +StandardOutput=syslog + +[Install] +WantedBy=multi-user.target diff --git a/meta-oe/recipes-extended/smartmontools/files/smartmontools.default b/meta-oe/recipes-extended/smartmontools/files/smartmontools.default new file mode 100644 index 0000000000..602e00beb1 --- /dev/null +++ b/meta-oe/recipes-extended/smartmontools/files/smartmontools.default @@ -0,0 +1,6 @@ +# uncomment to start smartd on system startup for SysV init script +# For systemd service file, use `systemctl enable smartd'. +#start_smartd=yes + +# uncomment to pass additional options to smartd on startup +#smartd_opts="--interval=1800" diff --git a/meta-oe/recipes-extended/smartmontools/smartmontools_6.2.bb b/meta-oe/recipes-extended/smartmontools/smartmontools_6.2.bb index 9b9454c880..fd7b1b8c5d 100644 --- a/meta-oe/recipes-extended/smartmontools/smartmontools_6.2.bb +++ b/meta-oe/recipes-extended/smartmontools/smartmontools_6.2.bb @@ -14,6 +14,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" SRC_URI = "${SOURCEFORGE_MIRROR}/smartmontools/smartmontools-${PV}.tar.gz \ file://initd.smartd \ + file://smartmontools.default \ + file://smartd.service \ " PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'libcap-ng', 'libcap-ng', '', d)} \ @@ -25,15 +27,28 @@ PACKAGECONFIG[selinux] = "--with-selinux=yes,--with-selinux=no,libselinux" SRC_URI[md5sum] = "d44f84081a12cef79cd17f78044351fc" SRC_URI[sha256sum] = "486f660579bb0fb4f6b927ded7531cb1f99685c666397377761c5b04dd96065b" -inherit autotools update-rc.d +inherit autotools update-rc.d systemd + +SYSTEMD_SERVICE_${PN} = "smartd.service" +SYSTEMD_AUTO_ENABLE = "disable" do_install_append () { #install the init.d/smartd install -d ${D}${sysconfdir}/init.d install -p -m 0755 ${WORKDIR}/initd.smartd ${D}${sysconfdir}/init.d/smartd + install -d ${D}${sysconfdir}/default + install -p -m 0644 ${WORKDIR}/smartmontools.default ${D}${sysconfdir}/default/smartmontools + + #install systemd service file + install -d ${D}${systemd_unitdir}/system + install -m 0644 ${WORKDIR}/smartd.service ${D}${systemd_unitdir}/system + sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' \ + -e 's,@SYSCONFDIR@,${sysconfdir},g' \ + -e 's,@SBINDIR@,${sbindir},g' \ + ${D}${systemd_unitdir}/system/smartd.service } INITSCRIPT_NAME = "smartd" -INITSCRIPT_PARAMS = "start 60 . stop 60 0 1 2 3 4 5 6 ." +INITSCRIPT_PARAMS = "start 60 2 3 4 5 . stop 60 0 1 6 ." RDEPENDS_${PN} += "mailx" diff --git a/meta-oe/recipes-extended/socketcan/canutils_4.0.6.bb b/meta-oe/recipes-extended/socketcan/canutils_4.0.6.bb index 8195ed9183..c220eadab9 100644 --- a/meta-oe/recipes-extended/socketcan/canutils_4.0.6.bb +++ b/meta-oe/recipes-extended/socketcan/canutils_4.0.6.bb @@ -14,4 +14,4 @@ SRC_URI = "git://git.pengutronix.de/git/tools/canutils.git;protocol=git \ S = "${WORKDIR}/git" -inherit autotools +inherit autotools pkgconfig diff --git a/meta-oe/recipes-extended/socketcan/libsocketcan_0.0.9.bb b/meta-oe/recipes-extended/socketcan/libsocketcan_0.0.9.bb index df3c163ba3..98ef73f297 100644 --- a/meta-oe/recipes-extended/socketcan/libsocketcan_0.0.9.bb +++ b/meta-oe/recipes-extended/socketcan/libsocketcan_0.0.9.bb @@ -16,5 +16,5 @@ S = "${WORKDIR}/git" inherit autotools pkgconfig do_configure_prepend() { - sed -i -e s:tests/GNUmakefile::g -e s:trunk:0.0.9: configure.ac + sed -i -e s:tests/GNUmakefile::g -e s:trunk:0.0.9: ${S}/configure.ac } diff --git a/meta-oe/recipes-extended/subsurface/subsurface_git.bb b/meta-oe/recipes-extended/subsurface/subsurface_git.bb index eb4536aa61..22b9d2fd70 100644 --- a/meta-oe/recipes-extended/subsurface/subsurface_git.bb +++ b/meta-oe/recipes-extended/subsurface/subsurface_git.bb @@ -4,27 +4,18 @@ LIC_FILES_CHKSUM = "file://gpl-2.0.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263" DEPENDS = "libdivecomputer gtk+ libxml2 glib-2.0 gconf" -inherit gtk-icon-cache +PNBLACKLIST[subsurface] ?= "Needs to be upgraded for compatibility with new libdivecomputer" + +inherit gtk-icon-cache cmake inherit gitpkgv PKGV = "${GITPKGVTAG}" -PV = "1.1" +PV = "4.2" -SRCREV = "bd275d73ac06823619230915a3aa29deddc996fb" +SRCREV = "f61ee20ba356ecfc4c5b247f548f52d588179c94" SRC_URI = "git://subsurface.hohndel.org/subsurface.git" S = "${WORKDIR}/git" -EXTRA_OEMAKE = "CC='${CC}' \ - libdc-usr=${STAGING_INCDIR}/libdivecomputer/* \ - LIBDIVECOMPUTERINCLUDES=${STAGING_INCDIR}/libdivecomputer \ - LIBDIVECOMPUTERARCHIVE=${STAGING_LIBDIR}/libdivecomputer.a \ -" - -do_install() { - oe_runmake install DESTDIR=${D} - rm ${D}${datadir}/icons/hicolor/icon-theme.cache -} - -FILES_${PN} += "${datadir}/icons/hicolor/scalable/apps/subsurface.svg" -RRECOMMENDS_${PN}_append_libc-glibc = " eglibc-gconv-iso8859-15" +#FILES_${PN} += "${datadir}/icons/hicolor/scalable/apps/subsurface.svg" +RRECOMMENDS_${PN}_append_libc-glibc = " glibc-gconv-iso8859-15" diff --git a/meta-oe/recipes-extended/t1lib/t1lib_5.1.2.bb b/meta-oe/recipes-extended/t1lib/t1lib_5.1.2.bb index 86cc166e2d..1d670a7d76 100644 --- a/meta-oe/recipes-extended/t1lib/t1lib_5.1.2.bb +++ b/meta-oe/recipes-extended/t1lib/t1lib_5.1.2.bb @@ -2,7 +2,7 @@ SUMMARY = "A Type1 Font Rastering Library" SECTION = "libs" DEPENDS = "virtual/libx11 libxaw" -LICENSE = "LGPLv2 GPLv2" +LICENSE = "LGPLv2 & GPLv2" LIC_FILES_CHKSUM = "file://LICENSE;md5=8ca43cbc842c2336e835926c2166c28b \ file://LGPL;md5=6e29c688d912da12b66b73e32b03d812 \ " @@ -13,7 +13,9 @@ SRC_URI = "${DEBIAN_MIRROR}/main/t/t1lib/t1lib_${PV}.orig.tar.gz \ SRC_URI[md5sum] = "a5629b56b93134377718009df1435f3c" SRC_URI[sha256sum] = "821328b5054f7890a0d0cd2f52825270705df3641dbd476d58d17e56ed957b59" -inherit autotools-brokensep +inherit autotools-brokensep distro_features_check +# depends on virtual/libx11 +REQUIRED_DISTRO_FEATURES = "x11" # Fix GNU_HASH problem TARGET_CC_ARCH += "${LDFLAGS}" diff --git a/meta-oe/recipes-extended/tcsh/tcsh_6.18.01.bb b/meta-oe/recipes-extended/tcsh/tcsh_6.18.01.bb index 16ecdb025f..1dd4cb5804 100644 --- a/meta-oe/recipes-extended/tcsh/tcsh_6.18.01.bb +++ b/meta-oe/recipes-extended/tcsh/tcsh_6.18.01.bb @@ -7,7 +7,7 @@ HOMEPAGE = "http://www.tcsh.org/" LICENSE = "BSD" LIC_FILES_CHKSUM = "file://Copyright;md5=1cf29be62df2be1a3763118b25b4c780" SECTION = "base" -DEPENDS = "ncurses" +DEPENDS = "ncurses gettext-native" SRC_URI = " \ ${DEBIAN_MIRROR}/main/t/tcsh/tcsh_${PV}.orig.tar.gz;name=tarball \ ${DEBIAN_MIRROR}/main/t/tcsh/tcsh_${PV}-2.diff.gz;name=diffs \ diff --git a/meta-oe/recipes-extended/tipcutils/tipcutils_2.0.6.bb b/meta-oe/recipes-extended/tipcutils/tipcutils_2.0.6.bb index ee56952d9e..fe0e484dec 100644 --- a/meta-oe/recipes-extended/tipcutils/tipcutils_2.0.6.bb +++ b/meta-oe/recipes-extended/tipcutils/tipcutils_2.0.6.bb @@ -20,15 +20,15 @@ do_install_append() { multicast_demo stream_demo" for i in $demos;do install -d ${D}/opt/tipcutils/demos/$i - install ${S}/demos/$i/client_tipc ${D}/opt/tipcutils/demos/$i/ - install ${S}/demos/$i/server_tipc ${D}/opt/tipcutils/demos/$i/ + install ${B}/demos/$i/client_tipc ${D}/opt/tipcutils/demos/$i/ + install ${B}/demos/$i/server_tipc ${D}/opt/tipcutils/demos/$i/ done install -d ${D}/opt/tipcutils/demos/inventory_sim - install ${S}/demos/inventory_sim/inventory_sim ${D}/opt/tipcutils/demos/inventory_sim/ + install ${B}/demos/inventory_sim/inventory_sim ${D}/opt/tipcutils/demos/inventory_sim/ install -d ${D}/opt/tipcutils/ptts - install ${S}/ptts/tipcTS ${D}/opt/tipcutils/ptts/ - install ${S}/ptts/tipcTC ${D}/opt/tipcutils/ptts/ + install ${B}/ptts/tipcTS ${D}/opt/tipcutils/ptts/ + install ${B}/ptts/tipcTC ${D}/opt/tipcutils/ptts/ install -d ${D}${sysconfdir} cp -a ${S}/scripts/etc/* ${D}${sysconfdir}/ diff --git a/meta-oe/recipes-extended/tiptop/tiptop_2.2.bb b/meta-oe/recipes-extended/tiptop/tiptop_2.2.bb new file mode 100644 index 0000000000..a803e26af1 --- /dev/null +++ b/meta-oe/recipes-extended/tiptop/tiptop_2.2.bb @@ -0,0 +1,26 @@ +SUMMARY = "Hardware performance monitoring counters" +HOMEPAGE = "http://tiptop.gforge.inria.fr/" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" +DEPENDS = "ncurses libxml2" + +SRC_URI = "http://tiptop.gforge.inria.fr/releases/${BP}.tar.gz" +SRC_URI[md5sum] = "74255a29acf44569db021b080ad3e3f7" +SRC_URI[sha256sum] = "965cb99b16cb59df78363d83b62877ce8501b0aac1116a86bed8a16aa96b171d" + +inherit autotools-brokensep +EXTRA_OECONF = "CFLAGS="$CFLAGS -I${STAGING_INCDIR}/libxml2"" +COMPATIBLE_HOST = "(i.86|x86_64|arm|powerpc).*-linux" + +do_configure_prepend () { + # Two bugs in configure.ac when cross-compiling. + # 1. The path of libxml2. Specify it in EXTRA_OECONF. + # 2. hw's value on other platforms. Replace it if the target is + # not i*86/x86_64. + if ( echo "${TARGET_ARCH}" | grep -q -e 'i.86' -e 'x86_64' ); then + sed -i 's= -I/usr/include/libxml2==' ${S}/configure.ac + else + sed -i 's/hw=`uname -m`/hw="unknown"/' ${S}/configure.ac + sed -i 's= -I/usr/include/libxml2==' ${S}/configure.ac + fi +} diff --git a/meta-oe/recipes-extended/tmux/tmux_1.6.bb b/meta-oe/recipes-extended/tmux/tmux_1.6.bb index 298cfa5d6e..5ce99ea06e 100644 --- a/meta-oe/recipes-extended/tmux/tmux_1.6.bb +++ b/meta-oe/recipes-extended/tmux/tmux_1.6.bb @@ -7,11 +7,11 @@ LIC_FILES_CHKSUM = "file://tmux.c;beginline=3;endline=17;md5=8685b4455330a940fab DEPENDS = "ncurses libevent sed-native" -SRC_URI = "${SOURCEFORGE_MIRROR}/tmux/${P}.tar.gz" +SRC_URI = "${SOURCEFORGE_MIRROR}/tmux/${BP}.tar.gz" SRC_URI[md5sum] = "3e37db24aa596bf108a0442a81c845b3" SRC_URI[sha256sum] = "faee08ba1bd8c22537cd5b7458881d1bdb4985df88ed6bc5967c56881a7efbd6" -inherit autotools +inherit autotools pkgconfig do_configure_prepend () { sed -i -e 's:-I/usr/local/include::' ${S}/Makefile.am || bb_fatal "sed failed" diff --git a/meta-oe/recipes-extended/zsh/zsh.inc b/meta-oe/recipes-extended/zsh/zsh.inc index db51f39605..b8fce807aa 100644 --- a/meta-oe/recipes-extended/zsh/zsh.inc +++ b/meta-oe/recipes-extended/zsh/zsh.inc @@ -36,7 +36,7 @@ ALTERNATIVE_PRIORITY = "100" export AUTOHEADER = "true" do_configure () { - gnu-configize --force + gnu-configize --force ${S} oe_runconf } diff --git a/meta-oe/recipes-gnome/gtkextra/gtkextra_3.0.5.bb b/meta-oe/recipes-gnome/gtkextra/gtkextra_3.0.5.bb index c5a25f8b52..7901fa5510 100644 --- a/meta-oe/recipes-gnome/gtkextra/gtkextra_3.0.5.bb +++ b/meta-oe/recipes-gnome/gtkextra/gtkextra_3.0.5.bb @@ -4,13 +4,13 @@ HOMEPAGE = "http://gtkextra.sourceforge.net/" LICENSE = "LGPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7" -SRC_URI = "${SOURCEFORGE_MIRROR}/gtkextra/${P}.tar.gz \ +SRC_URI = "${SOURCEFORGE_MIRROR}/gtkextra/${BP}.tar.gz \ file://remove-tutorial.patch \ " SRC_URI[md5sum] = "486cea93666020f85f101ed8341baf41" SRC_URI[sha256sum] = "9cab6c5d6b792eb828d17cec2b9c1baba2ef57f789a290464afab80b53969e65" -DEPENDS = "gtk+" +DEPENDS = "gtk+ gobject-introspection-stub" -inherit autotools +inherit autotools pkgconfig diff --git a/meta-oe/recipes-graphics/babl/babl_0.1.10.bb b/meta-oe/recipes-graphics/babl/babl_0.1.10.bb index 3fc4c44586..48920217af 100644 --- a/meta-oe/recipes-graphics/babl/babl_0.1.10.bb +++ b/meta-oe/recipes-graphics/babl/babl_0.1.10.bb @@ -4,7 +4,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=6a6a8e020838b23406c81b19c1d46df6" inherit gnomebase -SRC_URI = "http://ftp.gimp.org/pub/${PN}/0.1/${PN}-${PV}.tar.bz2" +SRC_URI = "http://ftp.gimp.org/pub/${BPN}/0.1/${BP}.tar.bz2" SRC_URI[md5sum] = "9e1542ab5c0b12ea3af076a9a2f02d79" SRC_URI[sha256sum] = "943fc36ceac7dd25bc928256bc7b535a42989c6b971578146869eee5fe5955f4" diff --git a/meta-oe/recipes-graphics/cairo/cairomm_1.10.0.bb b/meta-oe/recipes-graphics/cairo/cairomm_1.10.0.bb index 86ba55212f..a5e383a4b1 100644 --- a/meta-oe/recipes-graphics/cairo/cairomm_1.10.0.bb +++ b/meta-oe/recipes-graphics/cairo/cairomm_1.10.0.bb @@ -1,5 +1,3 @@ -require recipes-graphics/cairo/cairo.inc - SUMMARY = "C++ bindings for Cairo graphics library" LICENSE = "LGPLv2" @@ -7,6 +5,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=c46bda00ffbb0ba1dac22f8d087f54d9" PR = "r1" +inherit autotools pkgconfig + DEPENDS = "cairo libsigc++-2.0" SRC_URI = "http://cairographics.org/releases/cairomm-${PV}.tar.gz;name=archive" diff --git a/meta-oe/recipes-graphics/clutter/clutter-box2d_git.bb b/meta-oe/recipes-graphics/clutter/clutter-box2d_git.bb index 4bac59b1d7..194d1046fd 100644 --- a/meta-oe/recipes-graphics/clutter/clutter-box2d_git.bb +++ b/meta-oe/recipes-graphics/clutter/clutter-box2d_git.bb @@ -2,6 +2,11 @@ require clutter-box2d.inc LIC_FILES_CHKSUM = "file://box2d/License.txt;md5=e5d39ad91f7dc4692dcdb1d85139ec6b" +# 0.12.1+gitAUTOINC+de5452e56b-r1/git/clutter-box2d/clutter-box2d.h:226:47: +# fatal error: clutter-box2d/clutter-box2d-child.h: No such file or directory +# | #include <clutter-box2d/clutter-box2d-child.h> +PNBLACKLIST[clutter-box2d] ?= "BROKEN: doesn't build with B!=S" + SRCREV = "de5452e56b537a11fd7f9453d048ff4b4793b5a2" PV = "0.12.1+git${SRCPV}" PR = "r1" diff --git a/meta-oe/recipes-graphics/fbgrab/fbgrab_1.2.bb b/meta-oe/recipes-graphics/fbgrab/fbgrab_1.2.bb index 48edc2c075..2ff331c93f 100644 --- a/meta-oe/recipes-graphics/fbgrab/fbgrab_1.2.bb +++ b/meta-oe/recipes-graphics/fbgrab/fbgrab_1.2.bb @@ -4,9 +4,9 @@ LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=ea5bed2f60d357618ca161ad539f7c0a" SECTION = "console/utils" DEPENDS = "libpng zlib" -SRC_URI = "http://fbgrab.monells.se/${P}.tar.gz" +SRC_URI = "http://fbgrab.monells.se/${BP}.tar.gz" -inherit autotools +inherit autotools-brokensep S = "${WORKDIR}/${PN}" diff --git a/meta-oe/recipes-graphics/fbida/fbida_git.bb b/meta-oe/recipes-graphics/fbida/fbida_git.bb index f4dd01d8bb..41c14b88af 100644 --- a/meta-oe/recipes-graphics/fbida/fbida_git.bb +++ b/meta-oe/recipes-graphics/fbida/fbida_git.bb @@ -18,7 +18,7 @@ S = "${WORKDIR}/git" EXTRA_OEMAKE = "STRIP=" PACKAGECONFIG ??= "gif png" -PACKAGECONFIG[gif] = ",,libungif" +PACKAGECONFIG[gif] = ",,giflib" PACKAGECONFIG[png] = ",,libpng" PACKAGECONFIG[tiff] = ",,tiff" PACKAGECONFIG[motif] = ",,libx11 libxext libxpm libxt openmotif" diff --git a/meta-oe/recipes-graphics/fim/fim_0.4-rc1.bb b/meta-oe/recipes-graphics/fim/fim_0.4-rc1.bb index 3433bd2712..90ac702164 100644 --- a/meta-oe/recipes-graphics/fim/fim_0.4-rc1.bb +++ b/meta-oe/recipes-graphics/fim/fim_0.4-rc1.bb @@ -8,6 +8,8 @@ HOMEPAGE = "http://www.autistici.org/dezperado/fim/" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=fa01bff138cc98a62b8840a157951c88" +PNBLACKLIST[fim] ?= "BROKEN: doesn't build with B!=S (flex: can't open lex.lex)" + # flex with provide /usr/include/FlexLexer.h DEPENDS = "flex-native bison-native flex" @@ -18,7 +20,7 @@ SRC_URI[sha256sum] = "3f6bf2de2952b9adcbeb3db12c2a979e999a81dd1e314a03bc58e24f1e PARALLEL_MAKE = "" -inherit autotools +inherit autotools pkgconfig # Don't use provided regex.c EXTRA_OECONF = "fim_cv_regex=no fim_cv_regex_broken=no \ diff --git a/meta-oe/recipes-graphics/gegl/gegl/pkgconfig.patch b/meta-oe/recipes-graphics/gegl/gegl/pkgconfig.patch new file mode 100644 index 0000000000..d145b625f6 --- /dev/null +++ b/meta-oe/recipes-graphics/gegl/gegl/pkgconfig.patch @@ -0,0 +1,21 @@ +Index: gegl-0.2.0/configure.ac +=================================================================== +--- gegl-0.2.0.orig/configure.ac 2012-04-02 21:56:49.000000000 +0000 ++++ gegl-0.2.0/configure.ac 2014-07-17 21:34:15.312546602 +0000 +@@ -765,15 +765,7 @@ + + have_sdl="no" + if test "x$with_sdl" != "xno"; then +- AC_PATH_PROG(SDL_CONFIG, sdl-config, no) +- if test "$SDL_CONFIG" = "no"; then +- have_sdl="no (SDL library not found)" +- AC_MSG_RESULT([*** Check for SDL library failed.]) +- else +- have_sdl="yes" +- SDL_CFLAGS=`$SDL_CONFIG --cflags` +- SDL_LIBS=`$SDL_CONFIG --libs` +- fi ++ PKG_CHECK_MODULES([SDL], [sdl], [have_sdl="yes"], [have_sdl="no (SDL library not found)"]) + fi + + AM_CONDITIONAL(HAVE_SDL, test "$have_sdl" = "yes") diff --git a/meta-oe/recipes-graphics/gegl/gegl_0.2.0.bb b/meta-oe/recipes-graphics/gegl/gegl_0.2.0.bb index bd40946543..58103f61bd 100644 --- a/meta-oe/recipes-graphics/gegl/gegl_0.2.0.bb +++ b/meta-oe/recipes-graphics/gegl/gegl_0.2.0.bb @@ -11,7 +11,8 @@ PACKAGECONFIG ??= "" PACKAGECONFIG[jasper] = "--with-jasper,--without-jasper,jasper" PACKAGECONFIG[avformat] = "--with-libavformat,--without-libavformat,libav" -SRC_URI = "http://ftp.gimp.org/pub/${PN}/0.2/${PN}-${PV}.tar.bz2" +SRC_URI = "http://ftp.gimp.org/pub/${BPN}/0.2/${BP}.tar.bz2 \ + file://pkgconfig.patch " SRC_URI[md5sum] = "32b00002f1f1e316115c4ed922e1dec8" SRC_URI[sha256sum] = "df2e6a0d9499afcbc4f9029c18d9d1e0dd5e8710a75e17c9b1d9a6480dd8d426" diff --git a/meta-oe/recipes-graphics/gimp/gimp_2.8.10.bb b/meta-oe/recipes-graphics/gimp/gimp_2.8.10.bb index 77bc6bd0cf..a893dc259a 100644 --- a/meta-oe/recipes-graphics/gimp/gimp_2.8.10.bb +++ b/meta-oe/recipes-graphics/gimp/gimp_2.8.10.bb @@ -4,7 +4,7 @@ SECTION = "x11/graphics" LICENSE = "GPLv3" LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" -DEPENDS = "babl gdk-pixbuf-native libart-lgpl gtk+ jpeg libpng libexif tiff lcms gegl poppler jasper" +DEPENDS = "babl gdk-pixbuf-native libart-lgpl gtk+ jpeg libpng libexif tiff lcms gegl poppler jasper bzip2" DEPENDS += "${@base_contains('DISTRO_FEATURES', 'x11', 'libxmu libxpm', '', d)}" inherit gnome diff --git a/meta-oe/recipes-graphics/glcompbench/glcompbench_2012.08.bb b/meta-oe/recipes-graphics/glcompbench/glcompbench_2012.08.bb index 51f57b9340..d0f449438f 100644 --- a/meta-oe/recipes-graphics/glcompbench/glcompbench_2012.08.bb +++ b/meta-oe/recipes-graphics/glcompbench/glcompbench_2012.08.bb @@ -11,4 +11,6 @@ SRC_URI = "https://launchpad.net/glcompbench/trunk/${PV}/+download/${BPN}-${PV}. SRC_URI[md5sum] = "c939d9156fe940960098f38707fea827" SRC_URI[sha256sum] = "b04b738cec06c6786ceafa86e4735fd8b971c078265754854ef356b0379542ee" -inherit pkgconfig waf +inherit pkgconfig waf distro_features_check +# depends on virtual/libx11 +REQUIRED_DISTRO_FEATURES = "x11" diff --git a/meta-oe/recipes-graphics/gphoto2/libgphoto2_2.4.11.bb b/meta-oe/recipes-graphics/gphoto2/libgphoto2_2.4.11.bb index ec96920ef1..523efa773b 100644 --- a/meta-oe/recipes-graphics/gphoto2/libgphoto2_2.4.11.bb +++ b/meta-oe/recipes-graphics/gphoto2/libgphoto2_2.4.11.bb @@ -48,6 +48,7 @@ do_install_append() { PACKAGES =+ "libgphotoport libgphoto2-camlibs" FILES_libgphoto2-camlibs = "${libdir}/libgphoto2*/*/*.so*" RRECOMMENDS_${PN} = "libgphoto2-camlibs" +RDEPENDS_${PN} = "bash" FILES_libgphotoport = "${libdir}/libgphoto2_port.so.*" diff --git a/meta-oe/recipes-graphics/leptonica/leptonica_1.70.bb b/meta-oe/recipes-graphics/leptonica/leptonica_1.70.bb new file mode 100644 index 0000000000..e826e05bf8 --- /dev/null +++ b/meta-oe/recipes-graphics/leptonica/leptonica_1.70.bb @@ -0,0 +1,14 @@ +DESCRIPTION = "A pedagogically-oriented open source site containing software that is broadly useful for image processing and image analysis applications" +DEPENDS = "jpeg tiff libpng zlib giflib" +LICENSE = "BSD-2-Clause" +LIC_FILES_CHKSUM = "file://leptonica-license.txt;md5=20cdd3af097ca431b82004c691f406a6" + +SRC_URI = "http://leptonica.com/source/leptonica-${PV}.tar.gz" +SRC_URI[md5sum] = "5ac2a31cf5b4f0e8f5a853a5266c42ef" +SRC_URI[sha256sum] = "d3d209a1f6d1f7a80119486b5011bc8c6627e582c927ab44ba33c37edb2cfba2" + +EXTRA_OECONF += " \ + --without-libwebp \ +" + +inherit autotools pkgconfig diff --git a/meta-oe/recipes-graphics/libsexy/libsexy.inc b/meta-oe/recipes-graphics/libsexy/libsexy.inc index 49c46cd60e..5a11ca06aa 100644 --- a/meta-oe/recipes-graphics/libsexy/libsexy.inc +++ b/meta-oe/recipes-graphics/libsexy/libsexy.inc @@ -8,7 +8,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34" DEPENDS = "gtk+ enchant libxml2" -SRC_URI = "http://releases.chipx86.com/libsexy/${PN}/${PN}-${PV}.tar.gz \ +SRC_URI = "http://releases.chipx86.com/libsexy/${BPN}/${BP}.tar.gz \ file://libsexy-pkgconfig-fixes.patch" inherit autotools pkgconfig diff --git a/meta-oe/recipes-graphics/lxdm/lxdm/0002-let-autotools-create-lxdm.conf.patch b/meta-oe/recipes-graphics/lxdm/lxdm/0002-let-autotools-create-lxdm.conf.patch new file mode 100644 index 0000000000..43f542a31d --- /dev/null +++ b/meta-oe/recipes-graphics/lxdm/lxdm/0002-let-autotools-create-lxdm.conf.patch @@ -0,0 +1,62 @@ +From 0ea0329f2c19a43acdc8444fa89e233ba617973d Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com> +Date: Mon, 6 Oct 2014 13:06:24 +0200 +Subject: [PATCH] let autotools create lxdm.conf +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +in out of tree builds lxdm.conf is empty + +Upstream-Status: submitted [1] + +[1] http://sourceforge.net/p/lxde/mailman/message/32901417/ + +Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com> +--- + configure.ac | 1 + + data/Makefile.am | 5 ----- + data/lxdm.conf.in | 2 +- + 3 files changed, 2 insertions(+), 6 deletions(-) + +diff --git a/configure.ac b/configure.ac +index f28c89a..a2fff5b 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -183,6 +183,7 @@ AC_CONFIG_FILES([ + data/PreReboot + data/PreShutdown + data/LoginReady ++ data/lxdm.conf + ]) + AC_CONFIG_FILES([data/lxdm], [chmod +x data/lxdm]) + AC_OUTPUT +diff --git a/data/Makefile.am b/data/Makefile.am +index 9500da9..ad64b11 100644 +--- a/data/Makefile.am ++++ b/data/Makefile.am +@@ -1,8 +1,3 @@ +-FULL_LIBEXECDIR=$(libexecdir) +- +-lxdm.conf: lxdm.conf.in +- cat lxdm.conf.in | sed 's,@FULL_LIBEXECDIR@,$(FULL_LIBEXECDIR),' > $@ +- + NULL= + + sbin_SCRIPTS = lxdm +diff --git a/data/lxdm.conf.in b/data/lxdm.conf.in +index d93f280..6206262 100644 +--- a/data/lxdm.conf.in ++++ b/data/lxdm.conf.in +@@ -19,7 +19,7 @@ + # skip_password=1 + + ## greeter used to welcome the user +-greeter=@FULL_LIBEXECDIR@/lxdm-greeter-gtk ++greeter=@libexecdir@/lxdm-greeter-gtk + + [server] + ## arg used to start xserver, not fully function +-- +1.8.3.1 + diff --git a/meta-oe/recipes-graphics/lxdm/lxdm_git.bb b/meta-oe/recipes-graphics/lxdm/lxdm_git.bb index c602ad3816..a05e533bdb 100644 --- a/meta-oe/recipes-graphics/lxdm/lxdm_git.bb +++ b/meta-oe/recipes-graphics/lxdm/lxdm_git.bb @@ -5,14 +5,12 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" SRC_URI = " \ git://lxde.git.sourceforge.net/gitroot/lxde/${BPN};branch=master \ file://lxdm.conf \ - file://lxdm-pam \ - file://lxdm-pam-debug \ + ${@base_contains('DISTRO_FEATURES', 'pam', 'file://lxdm-pam file://lxdm-pam-debug', '', d)} \ ${@base_contains("DISTRO_TYPE", "debug", "", "file://0001-lxdm.conf.in-blacklist-root-for-release-images.patch",d)} \ + file://0002-let-autotools-create-lxdm.conf.patch \ " -LXDM_PAM = "${@base_contains("DISTRO_TYPE", "debug", "lxdm-pam-debug", "lxdm-pam",d)}" - -SRCREV = "07fb151a99ef99318b71f3de0afbba977b1e6267" +SRCREV = "bf90ec7df5ff6745f703500c5792c344fbaef301" PV = "0.5.0+git${SRCPV}" PE = "1" @@ -22,14 +20,18 @@ DEPENDS += "${@base_contains("DISTRO_FEATURES", "systemd", "", "consolekit", d)} # combine oe-core way with angstrom DISTRO_TYPE DISTRO_TYPE ?= "${@base_contains("IMAGE_FEATURES", "debug-tweaks", "debug", "",d)}" -inherit autotools pkgconfig gettext systemd +inherit autotools pkgconfig gettext systemd distro_features_check +# depends on virtual/libx11 +REQUIRED_DISTRO_FEATURES = "x11" S = "${WORKDIR}/git" CFLAGS_append = " -fno-builtin-fork -fno-builtin-memset -fno-builtin-strstr " EXTRA_OECONF += "--enable-gtk3=no --enable-password=yes --with-x -with-xconn=xcb \ - ${@base_contains('DISTRO_FEATURES', 'systemd', '--with-systemdsystemunitdir=${systemd_unitdir}/system/ --disable-consolekit', '--without-systemdsystemunitdir', d)}" + ${@base_contains('DISTRO_FEATURES', 'systemd', '--with-systemdsystemunitdir=${systemd_unitdir}/system/ --disable-consolekit', '--without-systemdsystemunitdir', d)} \ + ${@base_contains('DISTRO_FEATURES', 'pam', '--with-pam', '--without-pam', d)} \ +" do_configure_prepend() { cp ${STAGING_DATADIR}/gettext/po/Makefile.in.in ${S}/po/ @@ -42,16 +44,18 @@ do_compile_append() { -e 's,# arg=.*,arg=${bindir}/X -s 0,g' \ ${S}/data/lxdm.conf.in # add default configuration - oe_runmake -C ${S}/data lxdm.conf + oe_runmake -C ${B}/data lxdm.conf } do_install_append() { install -d ${D}${localstatedir}/lib/lxdm install -m 644 ${WORKDIR}/lxdm.conf ${D}${localstatedir}/lib/lxdm - # ArchLinux version of pam config has the following advantages: - # * simple setup of passwordless login - # * in XFCE powerdown/restart enabled in logoff dialog - install -m 644 ${WORKDIR}/${LXDM_PAM} ${D}${sysconfdir}/pam.d/lxdm + if ${@base_contains('DISTRO_FEATURES', 'pam', 'true', 'false', d)}; then + # ArchLinux version of pam config has the following advantages: + # * simple setup of passwordless login + # * in XFCE powerdown/restart enabled in logoff dialog + install -m 644 ${WORKDIR}/${@base_contains("DISTRO_TYPE", "debug", "lxdm-pam-debug", "lxdm-pam",d)} ${D}${sysconfdir}/pam.d/lxdm + fi } # make installed languages choosable @@ -68,7 +72,7 @@ done sed -i "s:last_langs=.*$:last_langs=$langs:g" $D${localstatedir}/lib/lxdm/lxdm.conf } -RDEPENDS_${PN} = "pam-plugin-loginuid setxkbmap" +RDEPENDS_${PN} = "${@base_contains('DISTRO_FEATURES', 'pam', 'pam-plugin-loginuid', '', d)} setxkbmap bash" RPROVIDES_${PN} += "${PN}-systemd" RREPLACES_${PN} += "${PN}-systemd" diff --git a/meta-oe/recipes-graphics/mesa/mesa-glut_8.0.1.bb b/meta-oe/recipes-graphics/mesa/mesa-glut_8.0.1.bb index f23621d9c2..404ee53314 100644 --- a/meta-oe/recipes-graphics/mesa/mesa-glut_8.0.1.bb +++ b/meta-oe/recipes-graphics/mesa/mesa-glut_8.0.1.bb @@ -9,6 +9,8 @@ PV = "8.0.0+git${SRCPV}" S = "${WORKDIR}/git" -inherit autotools-brokensep pkgconfig +inherit autotools-brokensep pkgconfig distro_features_check +# depends on virtual/libx11 +REQUIRED_DISTRO_FEATURES = "x11" DEPENDS = "virtual/libx11 libxmu libxi virtual/libgl libglu" diff --git a/meta-oe/recipes-graphics/nonworking/slim/slim_1.3.2.bb b/meta-oe/recipes-graphics/nonworking/slim/slim_1.3.2.bb index 57b47f6587..5519b0e7d7 100644 --- a/meta-oe/recipes-graphics/nonworking/slim/slim_1.3.2.bb +++ b/meta-oe/recipes-graphics/nonworking/slim/slim_1.3.2.bb @@ -8,7 +8,7 @@ PR = "r1" DEPENDS = "virtual/libx11 libxmu libpng jpeg freetype sessreg ${@base_contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}" SRC_URI = " \ - http://download.berlios.de/${PN}/${P}.tar.gz \ + http://download.berlios.de/${BPN}/${BP}.tar.gz \ file://0002-Fix-image-handling-integer-overflows.patch \ file://0003-Fix-build-failure-with-ld-as-needed.patch \ file://0004-Add-support-libpng15.patch \ diff --git a/meta-oe/recipes-graphics/numlockx/numlockx_1.2.bb b/meta-oe/recipes-graphics/numlockx/numlockx_1.2.bb index ec875f08bc..08d7f5b52a 100644 --- a/meta-oe/recipes-graphics/numlockx/numlockx_1.2.bb +++ b/meta-oe/recipes-graphics/numlockx/numlockx_1.2.bb @@ -5,12 +5,14 @@ LICENSE = "MIT-X" LIC_FILES_CHKSUM = "file://LICENSE;md5=dcb1cc75e21540a4a66b54e38d95b047" DEPENDS = "virtual/libx11 libxtst" -SRC_URI = "http://home.kde.org/~seli/numlockx/numlockx-${PV}.tar.gz" +SRC_URI = "http://pkgs.fedoraproject.org/repo/pkgs/numlockx/numlockx-${PV}.tar.gz/be9109370447eae23f6f3f8527bb1a67/numlockx-${PV}.tar.gz" SRC_URI[md5sum] = "be9109370447eae23f6f3f8527bb1a67" SRC_URI[sha256sum] = "e468eb9121c94c9089dc6a287eeb347e900ce04a14be37da29d7696cbce772e4" -inherit autotools +inherit autotools distro_features_check +# depends on virtual/libx11 +REQUIRED_DISTRO_FEATURES = "x11" EXTRA_OECONF = "--x-includes=${STAGING_INCDIR} \ --x-libraries=${STAGING_LIBDIR}" diff --git a/meta-oe/recipes-graphics/openbox/openbox_3.5.0.bb b/meta-oe/recipes-graphics/openbox/openbox_3.5.0.bb index 54a14f9596..d9e58f1af8 100644 --- a/meta-oe/recipes-graphics/openbox/openbox_3.5.0.bb +++ b/meta-oe/recipes-graphics/openbox/openbox_3.5.0.bb @@ -11,7 +11,9 @@ SRC_URI[sha256sum] = "6fa90016530b3aa6102e254079461977439398531fb23e7ec076ff2c14 PR = "r2" -inherit autotools gettext update-alternatives +inherit autotools gettext update-alternatives pkgconfig distro_features_check +# depends on virtual/libx11 +REQUIRED_DISTRO_FEATURES = "x11" ALTERNATIVE_${PN}-core = "x-window-manager" ALTERNATIVE_TARGET[x-window-manager] = "${bindir}/openbox" @@ -24,8 +26,6 @@ PACKAGECONFIG[xrandr] = "--enable-xrandr,--disable-xrandr,libxrandr" PACKAGECONFIG[xinerama] = "--enable-xinerama,--disable-xinerama,libxinerama" PACKAGECONFIG[xcursor] = "--enable-xcursor,--disable-xcursor,libxcursor" -EXTRA_OECONF += "--with-plugins=none" - PACKAGES =+ "${PN}-core ${PN}-lxde ${PN}-gnome ${PN}-config" PACKAGES_DYNAMIC += "^${PN}-theme-.*" diff --git a/meta-oe/recipes-graphics/packagegroups/packagegroup-fonts-truetype.bb b/meta-oe/recipes-graphics/packagegroups/packagegroup-fonts-truetype.bb index 931564f713..632e7d4334 100644 --- a/meta-oe/recipes-graphics/packagegroups/packagegroup-fonts-truetype.bb +++ b/meta-oe/recipes-graphics/packagegroups/packagegroup-fonts-truetype.bb @@ -12,18 +12,6 @@ PACKAGES += "\ ${PN}-chinese \ ${PN}-japanese \ " -RPROVIDES_${PN} += "task-fonts-truetype" -RPROVIDES_${PN}-core += "task-fonts-truetype-core" -RPROVIDES_${PN}-chinese += "task-fonts-truetype-chinese" -RPROVIDES_${PN}-japanese += "task-fonts-truetype-japanese" -RREPLACES_${PN} += "task-fonts-truetype" -RREPLACES_${PN}-core += "task-fonts-truetype-core" -RREPLACES_${PN}-chinese += "task-fonts-truetype-chinese" -RREPLACES_${PN}-japanese += "task-fonts-truetype-japanese" -RCONFLICTS_${PN} += "task-fonts-truetype" -RCONFLICTS_${PN}-core += "task-fonts-truetype-core" -RCONFLICTS_${PN}-chinese += "task-fonts-truetype-chinese" -RCONFLICTS_${PN}-japanese += "task-fonts-truetype-japanese" RRECOMMENDS_${PN} = "\ ${PN}-core \ diff --git a/meta-oe/recipes-graphics/pango/pangomm_2.34.0.bb b/meta-oe/recipes-graphics/pango/pangomm_2.34.0.bb index 36afb9f1e3..45218c240b 100644 --- a/meta-oe/recipes-graphics/pango/pangomm_2.34.0.bb +++ b/meta-oe/recipes-graphics/pango/pangomm_2.34.0.bb @@ -12,7 +12,7 @@ SRC_URI = "ftp://ftp.gnome.org/pub/GNOME/sources/pangomm/${SHRT_VER}/pangomm-${P SRC_URI[md5sum] = "2c702caede167323c9ed9eed2b933098" SRC_URI[sha256sum] = "0e82bbff62f626692a00f3772d8b17169a1842b8cc54d5f2ddb1fec2cede9e41" -inherit autotools +inherit autotools pkgconfig EXTRA_OECONF = " --disable-documentation " diff --git a/meta-oe/recipes-graphics/takao-fonts/takao-fonts_003.02.01.bb b/meta-oe/recipes-graphics/takao-fonts/takao-fonts_003.02.01.bb new file mode 100644 index 0000000000..0a0f6d16c2 --- /dev/null +++ b/meta-oe/recipes-graphics/takao-fonts/takao-fonts_003.02.01.bb @@ -0,0 +1,21 @@ +SUMMARY = "Takao Fonts are a community developed derivatives of IPA Fonts." +DESCRIPTION = "Takao Fonts are a community developed derivatives of IPA Fonts." + +HOMEPAGE = "https://launchpad.net/takao-fonts" +SECTION = "User Interface/X" + +LICENSE = "IPA" +LIC_FILES_CHKSUM = "file://IPA_Font_License_Agreement_v1.0.txt;md5=6cd3351ba979cf9db1fad644e8221276" + +SRC_URI = "http://launchpad.net/takao-fonts/003.02/${PV}/+download/takao-fonts-ttf-${PV}.zip" +SRC_URI[md5sum] = "ca480e5edb9f26d871bf6df6cb910306" +SRC_URI[sha256sum] = "2f526a16c7931958f560697d494d8304949b3ce0aef246fb0c727fbbcc39089e" + +S = "${WORKDIR}/${PN}-ttf-${PV}" + +do_install() { + install -m 0755 -d ${D}/${datadir}/fonts + install -m 0644 -p ${S}/*.ttf ${D}/${datadir}/fonts/ +} + +FILES_${PN} += "${datadir}/fonts/*.ttf" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-afr_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-afr_3.02.bb new file mode 100644 index 0000000000..0c73a53d8f --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-afr_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "afr" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "16a756bf353896e34386f4509582e487" +SRC_URI[sha256sum] = "371399ce6700f28d04ccfc12e421f315e356e3aa26575b27d06083c06987784d" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-ara_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-ara_3.02.bb new file mode 100644 index 0000000000..fb68bdcb9f --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-ara_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "ara" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "d7b3708f1f1f2898c258209923063f57" +SRC_URI[sha256sum] = "2c7be319c30e93950c121897969c1bc1eb1d6bdceb75f1184ee34a6f01d66b6a" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-aze_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-aze_3.02.bb new file mode 100644 index 0000000000..21ed3d37e1 --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-aze_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "aze" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "143044ff7b643b844c2f0b2a170ceda2" +SRC_URI[sha256sum] = "0f17a06a163d97ec23db3ab14b91b84a67aeba1e441ca5e53a8632b2110a0e79" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-bel_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-bel_3.02.bb new file mode 100644 index 0000000000..5f883012ab --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-bel_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "bel" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "3bb6dab515166d641ac62e973c868ac5" +SRC_URI[sha256sum] = "e59e008c542f786f6f7bd14c6608b2c128c9297d6bede647ae357f7421f7a3e7" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-ben_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-ben_3.02.bb new file mode 100644 index 0000000000..673fd42aac --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-ben_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "ben" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "0b662630eb4b2e0ebf40c38184068fba" +SRC_URI[sha256sum] = "14a87e0762dcee0cd95acfd3b370b81fd14a003d39328ed97db0b28c55d31e50" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-bul_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-bul_3.02.bb new file mode 100644 index 0000000000..4988fc230f --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-bul_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "bul" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "91fc34ef041aafe32549a7a6232afad0" +SRC_URI[sha256sum] = "1b8b4d7b12d896cf9f7e60e8e3274d3891886544253d41681dd9b32d6567e3f3" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-cat_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-cat_3.02.bb new file mode 100644 index 0000000000..ec3fa744cd --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-cat_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "cat" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "27b77ecc66f8c8d904cd6b87886aca22" +SRC_URI[sha256sum] = "894af4c718e821cdc4ae3ec65838b174ac8a003e5417a08557698e1576ac3a34" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-ces_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-ces_3.02.bb new file mode 100644 index 0000000000..d58d0e879e --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-ces_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "ces" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "ae144b9d230267b5ae62804ad7a09dac" +SRC_URI[sha256sum] = "843522eddcd0e2059a1c7069183b68c2459d527157bc47833a79b6ff56bb09de" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-chi-sim_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-chi-sim_3.02.bb new file mode 100644 index 0000000000..84698010c7 --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-chi-sim_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "chi_sim" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "718779539d3202ae95ae5ff52a3ad5e8" +SRC_URI[sha256sum] = "f5b196b5bea6917bcbbf15131b4c2afe94d34c2d9e21d08c0ca42dfbe5aa1095" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-chi-tra_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-chi-tra_3.02.bb new file mode 100644 index 0000000000..1c4d98dfa1 --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-chi-tra_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "chi_tra" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "391ed3fcf014bae777b33dc7a771a00d" +SRC_URI[sha256sum] = "78742e273a9ca74a6ab5543414e04bcac90d03a317dd35edc634956beafa3d20" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-chr_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-chr_3.02.bb new file mode 100644 index 0000000000..7aa6cc56fb --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-chr_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "chr" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "dd5b4fa247500d7713ab5556af62d9fa" +SRC_URI[sha256sum] = "27c917ba39898d63752b2a4ecb0cd8f688772bcbbae2bf430a93d894d328a4c1" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-dan_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-dan_3.02.bb new file mode 100644 index 0000000000..5af3f7901f --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-dan_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "dan" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "2f6a93920b3ce55de24ca762a66a5de1" +SRC_URI[sha256sum] = "deb93f6326aa8a4d353159201681947a808577662084d4060daea7d644e63eb9" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-deu_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-deu_3.02.bb new file mode 100644 index 0000000000..4d68fd931c --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-deu_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "deu" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "57bdb26ec7c767e126ff97776d8bfb10" +SRC_URI[sha256sum] = "d03cdd0b00d368ff49ebaf77b8758bcf2ff1b0d39331368987e622ac261443ca" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-ell_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-ell_3.02.bb new file mode 100644 index 0000000000..be4b90e09a --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-ell_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "ell" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "3760cc3dee6489dcc865b31e7a36bd47" +SRC_URI[sha256sum] = "29745ced8fbfb4ec9abebeb99e4b385821cb5eb0ed81fb1870b93543553b8fba" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-eng_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-eng_3.02.bb new file mode 100644 index 0000000000..ce15a2dae7 --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-eng_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "eng" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "3562250fe6f4e76229a329166b8ae853" +SRC_URI[sha256sum] = "c110029560e7f6d41cb852ca23b66899daa4456d9afeeae9d062204bd271bdf8" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-enm_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-enm_3.02.bb new file mode 100644 index 0000000000..5f1531f41e --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-enm_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "enm" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "d9dc4ad9cbcde78e5be59eb226865661" +SRC_URI[sha256sum] = "19c9bd89c823451655e3f265b7fcd06727cd36ddec01b8fad9900159b688a1e3" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-epo-alt_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-epo-alt_3.02.bb new file mode 100644 index 0000000000..0469ea6506 --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-epo-alt_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "epo_alt" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "67815529386679223092ddf301bf57d4" +SRC_URI[sha256sum] = "e516b8362fa060be720d2768a8abbee9cc965b9162249c5914ef1d8159e03dc2" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-epo_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-epo_3.02.bb new file mode 100644 index 0000000000..7f42502472 --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-epo_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "epo" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "5dc0cf01d21ee43ed834ee947e1e810a" +SRC_URI[sha256sum] = "22ae681c34ee7aa825994115f927c2e1f8ec1a98c97c01218b98d2549af22252" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-equ_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-equ_3.02.bb new file mode 100644 index 0000000000..f4d81bbd6b --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-equ_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "equ" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "94667836c651fc4fd43645efdc34e19a" +SRC_URI[sha256sum] = "2010e724686171ef2eb3388df00d8d89ba7e50cb2298b0368b847fffb95d804e" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-est_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-est_3.02.bb new file mode 100644 index 0000000000..adfe25c099 --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-est_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "est" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "a067f5975cbe83fea205897187fa256b" +SRC_URI[sha256sum] = "d5d6b9d4b567a10e2f63cafd2f60bf5b0c994e415470becafd729b20349e2e80" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-eus_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-eus_3.02.bb new file mode 100644 index 0000000000..a22bcac38e --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-eus_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "eus" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "4c2cee5bf3558f6384e5907aa02ae80c" +SRC_URI[sha256sum] = "78359d57896623cf8211e17604a9dfa574e2253c9157035f439c5fbe06cd5019" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-fin_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-fin_3.02.bb new file mode 100644 index 0000000000..e8a55e2b6b --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-fin_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "fin" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "71f8b343ed2010f775ff474faec5874f" +SRC_URI[sha256sum] = "e02ff1798960d3af15c0dafafac0de954442cfb13f4eff45c3263c2ff6e59026" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-fra_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-fra_3.02.bb new file mode 100644 index 0000000000..22c92618a5 --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-fra_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "fra" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "2bca200b783fdba2f546063c68740c50" +SRC_URI[sha256sum] = "74592f5f2ab73a6668934922753be0505fc4333ee790543949f8b70f03eab101" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-frk_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-frk_3.02.bb new file mode 100644 index 0000000000..f75b96aee7 --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-frk_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "frk" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "dd734ac212a98a02945760891b657e70" +SRC_URI[sha256sum] = "a9f4219d6b2ef4ed8b76c86be99ae3c9190509df72ba6f0217a77f7205ec52f8" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-frm_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-frm_3.02.bb new file mode 100644 index 0000000000..d0d1398a71 --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-frm_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "frm" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "e0ca24ca45de83e67057f0e208233ffc" +SRC_URI[sha256sum] = "f32f774d88e7936f16ff41b832cecfbd71f82c9bf7584330d750da941c07ca79" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-glg_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-glg_3.02.bb new file mode 100644 index 0000000000..b94fd03e2d --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-glg_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "glg" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "ef7b8e13891e08f29b02011a5dd6b630" +SRC_URI[sha256sum] = "82ffa27c4de17545fa9d46e0fcd5690b1b59bcce9e93f71c0a41d19afbe869ee" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-grc_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-grc_3.02.bb new file mode 100644 index 0000000000..16c9605a10 --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-grc_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "grc" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "ac493e5a49e456f2dd354f5b6449573e" +SRC_URI[sha256sum] = "586b955eb9fba5a304cfa37bfdd7c89f2db33335d5ae83f2962aed8903266805" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-heb_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-heb_3.02.bb new file mode 100644 index 0000000000..9d7a4fa2f7 --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-heb_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "heb" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "7ae7f3384083c66f06d63b6c0f0a66c3" +SRC_URI[sha256sum] = "da47b0cfe241775c9b36339efda6339d59e146fa6143c65a2253eb9f67164811" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-hin_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-hin_3.02.bb new file mode 100644 index 0000000000..d3ed173cc1 --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-hin_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "hin" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "186f17b326a58313344c2ea987ea7785" +SRC_URI[sha256sum] = "91f91da5adc73ee71150865d6598df8a50424350480df2753ca9035320b3c78d" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-hrv_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-hrv_3.02.bb new file mode 100644 index 0000000000..7423687323 --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-hrv_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "hrv" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "0396a267d894f485b6b534476f3322dc" +SRC_URI[sha256sum] = "e20575f5b0ec73ff7f3197c112a8dcc24303b64016910399d9127bda42e7d866" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-hun_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-hun_3.02.bb new file mode 100644 index 0000000000..61a9ce69ba --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-hun_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "hun" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "eb1b3537cd664fec48bebac75fac5992" +SRC_URI[sha256sum] = "edf5cc42b516b2a18681955167d1964dfc7ff8cda642408ebda91b3c4656f9f1" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-ind_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-ind_3.02.bb new file mode 100644 index 0000000000..6776952052 --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-ind_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "ind" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "9f672ea7c90eecbbe35ec353ff45c764" +SRC_URI[sha256sum] = "337ba4400a798c60dee16070071337c96fc67bcb4e2cc1b4676dcbc340fbbcd7" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-isl_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-isl_3.02.bb new file mode 100644 index 0000000000..7fa188f229 --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-isl_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "isl" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "3f05946a9e57a8ffabb3fccc8a80cfaa" +SRC_URI[sha256sum] = "6b226366d8d2d87f859d4099e8b715e3ec3890f9317198e7b8c80fba001055f8" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-ita-old_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-ita-old_3.02.bb new file mode 100644 index 0000000000..be4ad3e434 --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-ita-old_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "ita_old" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "989ca558eb05fcf6873dfdd8c692291d" +SRC_URI[sha256sum] = "caf591be6d4eda9e7627397c3c520d58115c660002ecace680749504348ba104" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-ita_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-ita_3.02.bb new file mode 100644 index 0000000000..581977a48c --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-ita_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "ita" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "fbdba86f34b907f5a709051c01b53f71" +SRC_URI[sha256sum] = "26453b302c108e08f594c7a19597382314529f648e141805417f9af1e4c99ac2" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-jpn_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-jpn_3.02.bb new file mode 100644 index 0000000000..269bdef110 --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-jpn_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "jpn" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "e1be2b08e667c3bb0ab0f18c9456bf2f" +SRC_URI[sha256sum] = "09bf447a29e990c065024b3b720fd70f08d596a7be534312fc9e47d0aabf681f" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-kan_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-kan_3.02.bb new file mode 100644 index 0000000000..2d21085211 --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-kan_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "kan" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "510016e85d7ea8e1f4ebf98741138909" +SRC_URI[sha256sum] = "15851cc22058c08cad9ec6058113f76966409061f21f5cde8c9cc1d214298c22" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-kor_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-kor_3.02.bb new file mode 100644 index 0000000000..617d199ab8 --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-kor_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "kor" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "fc9125f6652fb661575d6e15c94f88f6" +SRC_URI[sha256sum] = "7c85c4107a781d90d6d4adb001f2189b113f9db6942618b4bc47f4cc80cd126a" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-lav_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-lav_3.02.bb new file mode 100644 index 0000000000..c207504898 --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-lav_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "lav" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "2095b56c9c6b0dba9b837fd226ed6d29" +SRC_URI[sha256sum] = "e6a190ee1edf0a58948a9d7b01569fd8a4c05bc678da3a40ad884c0849958c36" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-lit_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-lit_3.02.bb new file mode 100644 index 0000000000..83ad480fab --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-lit_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "lit" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "801021a1ad6e4aa3ef697f065ff6c798" +SRC_URI[sha256sum] = "350891a182076df2e8067da04b3b2127a77e48782d9905e8339db4f1d6c7a729" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-mal_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-mal_3.02.bb new file mode 100644 index 0000000000..571385e2f0 --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-mal_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "mal" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "1f5e8f022d3c2697075bdfc03935f128" +SRC_URI[sha256sum] = "72b3b23979ae4a6b63518964bf239beae8bb6c02f35a2695f47262178b3fef34" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-mkd_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-mkd_3.02.bb new file mode 100644 index 0000000000..ad1eaff8b9 --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-mkd_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "mkd" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "b8930c64befcaadbb47951cad4a2f075" +SRC_URI[sha256sum] = "ea489277e7a588a1b7566a21cbbd647786f16659cae087a4705d4fdabd823ee6" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-mlt_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-mlt_3.02.bb new file mode 100644 index 0000000000..4a6d42deda --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-mlt_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "mlt" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "90a41ac86375b230980b643b35b88011" +SRC_URI[sha256sum] = "ba99e8bfc753a274bbea38ef44f5abf81e5f12d09f9d12d267436961270ef2de" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-msa_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-msa_3.02.bb new file mode 100644 index 0000000000..8418ab6392 --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-msa_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "msa" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "cb42ec9504eecdc4f974dbca4387ac34" +SRC_URI[sha256sum] = "f34e4950ad9079f92965a234253cc16f92deb66f1ce4e9c9a885ad2695c2d136" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-nld_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-nld_3.02.bb new file mode 100644 index 0000000000..412d4a7b01 --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-nld_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "nld" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "6db5753b3b03296544bbb2c0f59a7178" +SRC_URI[sha256sum] = "5e2e53499a05282968e5a9699aad66ae52a5abf06ae828e2f4cf2c1f6e674a98" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-nor_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-nor_3.02.bb new file mode 100644 index 0000000000..75d2940971 --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-nor_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "nor" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "6d979585abb07c13dda003820129461c" +SRC_URI[sha256sum] = "6b5c42444595a81b5f6fea859d97999895917bcc2f85a505488ea5c2f4efa01a" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-pol_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-pol_3.02.bb new file mode 100644 index 0000000000..58580130f6 --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-pol_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "pol" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "90b3f1f4113a9dccd0287e6b5b7512d6" +SRC_URI[sha256sum] = "62999058bfb609d95d53bd519c6de99620d025b3bfbc54d8679a87b10474ccbb" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-por_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-por_3.02.bb new file mode 100644 index 0000000000..75f0139663 --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-por_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "por" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "ad490a8091ee329190266f3fd057c511" +SRC_URI[sha256sum] = "f9b126323757c62da23aab163e2ce5257d137e86be7c37dea13bb0585e1ace3f" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-ron_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-ron_3.02.bb new file mode 100644 index 0000000000..3c8940a93c --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-ron_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "ron" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "9f498e01855a57473af8f083c125455a" +SRC_URI[sha256sum] = "d7e6454c9cc80c84a654f94283fc06b2df33c5c7fd2d3bff269c3cbdeb0b39e7" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-rus_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-rus_3.02.bb new file mode 100644 index 0000000000..e1dd3f18f5 --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-rus_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "rus" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "e8c785df8aaa49e61f3a95aa24066122" +SRC_URI[sha256sum] = "091cda49489d15f33916263fc78fbf8dcd4e6547012dc7e1a8496a38ab192315" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-slk_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-slk_3.02.bb new file mode 100644 index 0000000000..241b03862c --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-slk_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "slk" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "991e4771e16abd6a66caeaeeb2a4d4d2" +SRC_URI[sha256sum] = "cbd5a88e2188ef39ef438c9859dbd7a9b9e2a99c23a823ec310f7f84a012cc82" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-slv_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-slv_3.02.bb new file mode 100644 index 0000000000..0b08210b07 --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-slv_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "slv" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "c7bea975ba663d13e03c29d6cf33b5a8" +SRC_URI[sha256sum] = "b901507d2901c882f98f6ef5db07dbf74636fba6a1f616c5f094954106791667" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-spa-old_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-spa-old_3.02.bb new file mode 100644 index 0000000000..79be8a37fe --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-spa-old_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "spa_old" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "7838da948e404bb760bef83a5c3d64dd" +SRC_URI[sha256sum] = "2b980c0eda1572423dd56260b32d748288028fdd45266311c4ab448fcbce5814" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-spa_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-spa_3.02.bb new file mode 100644 index 0000000000..8790ee5a4e --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-spa_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "spa" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "fe1385ed203ecd9e0999a44b135069ec" +SRC_URI[sha256sum] = "f40cc264d037b0c71ecb4a8bb6def8b3ec04b647d8da7fd44d0daa558bfa31b1" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-sqi_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-sqi_3.02.bb new file mode 100644 index 0000000000..8e923a9eb0 --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-sqi_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "sqi" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "372e38617fcc7e25c77996c5499ae063" +SRC_URI[sha256sum] = "99bfcda3e0c471f63b36cd0db7dea596e59a2219c9275c3ba51e59973555c101" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-srp_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-srp_3.02.bb new file mode 100644 index 0000000000..18676c4857 --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-srp_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "srp" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "d8350668fa790b5d4007348a55840bdf" +SRC_URI[sha256sum] = "b1eeeb2958d0a4e2ba16fb55a98ca4ca8e69fee8b0be8162ff599ba19d0b2404" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-swa_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-swa_3.02.bb new file mode 100644 index 0000000000..2b9960fc8d --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-swa_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "swa" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "6c68107a71f82fa42c858e4d6dc70aca" +SRC_URI[sha256sum] = "2681e59f2a9333259a2de42f3deed46aa7dd84b638e6927f40db0409adff143b" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-swe_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-swe_3.02.bb new file mode 100644 index 0000000000..7fd1c1d871 --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-swe_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "swe" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "46d3a5d7159236edb33272dd8b1090f6" +SRC_URI[sha256sum] = "ada287d7b64183df906215fe4ca86c3b6fe30dc5121e9a83113c3265ca7fc5ae" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-tam_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-tam_3.02.bb new file mode 100644 index 0000000000..fcfc1fb627 --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-tam_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "tam" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "c68b0fdcdf34dd431c25f323673ef1d6" +SRC_URI[sha256sum] = "75f73362421a23eb955212f7aa19c9a3efdc80a4c6761445869148bfd2a6dc62" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-tel_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-tel_3.02.bb new file mode 100644 index 0000000000..fb827ed057 --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-tel_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "tel" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "349d203ef88864eab8d1201672ca84be" +SRC_URI[sha256sum] = "f36af3d5ca9f8ff6e606485fe5db835f96b42e7d2380ac5d61af6b41827834fd" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-tgl_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-tgl_3.02.bb new file mode 100644 index 0000000000..8c84ed9d88 --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-tgl_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "tgl" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "d458f0719b99e4dcfd4fa2a06e5150a3" +SRC_URI[sha256sum] = "5c515310df83c9b40e557027e49de6df70e33a9bbabeaf1301ca9e8c13558948" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-tha_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-tha_3.02.bb new file mode 100644 index 0000000000..06055d1b41 --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-tha_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "tha" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "3dc5a5028e75da12eaba62669a80acc4" +SRC_URI[sha256sum] = "7a98e25e0c61dda48cbdb241f0f53c3dfaa7ef574b81799ab2ddac50da6db4fb" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-tur_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-tur_3.02.bb new file mode 100644 index 0000000000..f5ec76f2ff --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-tur_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "tur" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "a8934e0e6496997112cbef2961adef5e" +SRC_URI[sha256sum] = "fe4657ca3455585a06eb3d02b4a0472fda8ca06efe587be75e175662dc6329d7" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-ukr_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-ukr_3.02.bb new file mode 100644 index 0000000000..25de06a57b --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-ukr_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "ukr" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "0aa61f18463bb89234a6d06fcbf0c644" +SRC_URI[sha256sum] = "7862b10c1ff7e02b41c7a50eec7fccd2c30b8162d965fa1ae00510c6d1210762" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-vie_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-vie_3.02.bb new file mode 100644 index 0000000000..6bd813e423 --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-vie_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "vie" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "78a74432848b4c53cc2ccf2eb339c0b6" +SRC_URI[sha256sum] = "a113254882eac70168aec00544805e7c9cec20527217b98349ed48f6e2d2611e" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang.inc b/meta-oe/recipes-graphics/tesseract/tesseract-lang.inc new file mode 100644 index 0000000000..7f69eb174f --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang.inc @@ -0,0 +1,13 @@ +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10" + +SRC_URI = "https://tesseract-ocr.googlecode.com/files/tesseract-ocr-${PV}.${TESSERACT_LANG}.tar.gz" + +inherit allarch + +do_install() { + install -d ${D}${datadir}/tessdata + cp ${WORKDIR}/tesseract-ocr/tessdata/${TESSERACT_LANG}.traineddata ${D}${datadir}/tessdata +} + +FILES_${PN} += "${datadir}/tessdata" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract_3.02.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract_3.02.02.bb new file mode 100644 index 0000000000..72bd423b8a --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract_3.02.02.bb @@ -0,0 +1,20 @@ +DESCRIPTION = "A commercial quality OCR engine " + +DEPENDS = "leptonica" + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://COPYING;md5=c0c94b3c86ad0c386bb6dec70ca8a36a" + +SRC_URI = "https://tesseract-ocr.googlecode.com/files/tesseract-ocr-${PV}.tar.gz" +SRC_URI[md5sum] = "26adc8154f0e815053816825dde246e6" +SRC_URI[sha256sum] = "26cd39cb3f2a6f6f1bf4050d1cc0aae35edee49eb49a92df3cb7f9487caa013d" + +EXTRA_OECONF += "LIBLEPT_HEADERSDIR=${STAGING_INCDIR}/leptonica" + +S = "${WORKDIR}/tesseract-ocr" + +inherit autotools pkgconfig + +FILES_${PN} += "${datadir}/tessdata" + +RRECOMMENDS_${PN} += "tesseract-lang-eng" diff --git a/meta-oe/recipes-graphics/ttf-fonts/ttf-mplus_027.bb b/meta-oe/recipes-graphics/ttf-fonts/ttf-mplus_027.bb index 11c1ac1b25..9ad348d9fa 100644 --- a/meta-oe/recipes-graphics/ttf-fonts/ttf-mplus_027.bb +++ b/meta-oe/recipes-graphics/ttf-fonts/ttf-mplus_027.bb @@ -11,9 +11,11 @@ PR = "r4" SRC_URI = "http://osdn.dl.sourceforge.jp/mplus-fonts/6650/mplus-TESTFLIGHT-${PV}.tar.gz" S = "${WORKDIR}/mplus-TESTFLIGHT-${PV}" -python populate_packages_prepend() { +PACKAGESPLITFUNCS_prepend = "split_ttf_mplus_packages " + +python split_ttf_mplus_packages() { plugindir = d.expand('${datadir}/fonts/ttf-mplus/') - packages = do_split_packages(d, plugindir, '^(.*)\.ttf$', 'ttf-%s', 'TTF Font %s', extra_depends = "ttf-common") + packages = do_split_packages(d, plugindir, '^(.*)\.ttf$', 'ttf-%s', 'TTF Font %s') d.setVar('FONT_PACKAGES', ' '.join(packages)) } diff --git a/meta-oe/recipes-graphics/ttf-fonts/ttf-sazanami_20040629.bb b/meta-oe/recipes-graphics/ttf-fonts/ttf-sazanami_20040629.bb index 2d413ba418..efdcec8404 100644 --- a/meta-oe/recipes-graphics/ttf-fonts/ttf-sazanami_20040629.bb +++ b/meta-oe/recipes-graphics/ttf-fonts/ttf-sazanami_20040629.bb @@ -5,7 +5,7 @@ SUMMARY_ttf-sazanami-gothic = "Sazanami Gothic Japanese TrueType font" SUMMARY_ttf-sazanami-mincho = "Sazanami Mincho Japanese TrueType font" AUTHOR = "Electronic Font Open Laboratory (/efont/)" HOMEPAGE = "http://sourceforge.jp/projects/efont/" -LICENSE = "Public domain" +LICENSE = "PD" LIC_FILES_CHKSUM = "file://README;md5=97d739900be6e852830f55aa3c07d4a0" SRC_DISTRIBUTE_LICENSES += "${PN}" RPROVIDES_${PN} = "virtual-japanese-font" diff --git a/meta-oe/recipes-graphics/xcursorgen/xcursorgen_1.0.5.bb b/meta-oe/recipes-graphics/xcursorgen/xcursorgen_1.0.5.bb index e5ece21fa2..27a38c1aab 100644 --- a/meta-oe/recipes-graphics/xcursorgen/xcursorgen_1.0.5.bb +++ b/meta-oe/recipes-graphics/xcursorgen/xcursorgen_1.0.5.bb @@ -7,6 +7,6 @@ SRC_URI = "http://xorg.freedesktop.org/archive/individual/app/${BPN}-${PV}.tar.b SRC_URI[md5sum] = "09f56978a62854534deacc8aa8ff3031" SRC_URI[sha256sum] = "bc7171a0fa212da866fca2301241630e2009aea8c4ddb75f21b51a31c2e4c581" -inherit autotools +inherit autotools pkgconfig BBCLASSEXTEND = "native" diff --git a/meta-oe/recipes-graphics/xdotool/xdotool_1.20100416.2809.bb b/meta-oe/recipes-graphics/xdotool/xdotool_1.20100416.2809.bb index e71846509a..43e6fda6a6 100644 --- a/meta-oe/recipes-graphics/xdotool/xdotool_1.20100416.2809.bb +++ b/meta-oe/recipes-graphics/xdotool/xdotool_1.20100416.2809.bb @@ -7,6 +7,10 @@ DEPENDS = "virtual/libx11 libxtst" PR = "r1" +inherit distro_features_check +# depends on virtual/libx11 +REQUIRED_DISTRO_FEATURES = "x11" + SRC_URI = "http://semicomplete.googlecode.com/files/xdotool-${PV}.tar.gz" SRC_URI[md5sum] = "1d5be641e512c343abfe5f78b39e6f19" SRC_URI[sha256sum] = "42d7271fbc796e53db71bb221f311b9ff3c51d90a71c9487a9bd3101ca39894f" diff --git a/meta-oe/recipes-graphics/xorg-app/iceauth_1.0.4.bb b/meta-oe/recipes-graphics/xorg-app/iceauth_1.0.4.bb deleted file mode 100644 index 9d4d1c7680..0000000000 --- a/meta-oe/recipes-graphics/xorg-app/iceauth_1.0.4.bb +++ /dev/null @@ -1,8 +0,0 @@ -require recipes-graphics/xorg-app/xorg-app-common.inc -SUMMARY = "Tool for manipulating ICE protocol authorization records" -LIC_FILES_CHKSUM = "file://COPYING;md5=13f70acf3c27f5f834bbc954df775f8e" -DEPENDS += "libice" -PR = "r6" - -SRC_URI[md5sum] = "bb2e4d2611047f7c5a1a82ec956a9de4" -SRC_URI[sha256sum] = "0ee6fd4554f0131b1ed526ee00b9cf643e7dc97eb70fb51448848ef2f349938d" diff --git a/meta-oe/recipes-graphics/xorg-app/iceauth_1.0.6.bb b/meta-oe/recipes-graphics/xorg-app/iceauth_1.0.6.bb new file mode 100644 index 0000000000..22007d9af2 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-app/iceauth_1.0.6.bb @@ -0,0 +1,15 @@ +require recipes-graphics/xorg-app/xorg-app-common.inc + +SUMMARY = "X.Org X11 X client utilities" + +DESCRIPTION = "A collection of utilities used to tweak and query the runtime configuration\ +of the X server." + +LIC_FILES_CHKSUM = "file://COPYING;md5=13f70acf3c27f5f834bbc954df775f8e" + +BBCLASSEXTEND = "native" + +DEPENDS += "libice" + +SRC_URI[md5sum] = "2527344acc60741a709f4858564c5ae6" +SRC_URI[sha256sum] = "bd990837353b439e6f45d478a87b8dbfa3f67d72d903e7a9ed4eb8de52f2e2f4" diff --git a/meta-oe/recipes-graphics/xorg-app/setxkbmap_1.2.0.bb b/meta-oe/recipes-graphics/xorg-app/setxkbmap_1.2.0.bb deleted file mode 100644 index 127b0f69b2..0000000000 --- a/meta-oe/recipes-graphics/xorg-app/setxkbmap_1.2.0.bb +++ /dev/null @@ -1,8 +0,0 @@ -require recipes-graphics/xorg-app/xorg-app-common.inc -LIC_FILES_CHKSUM = "file://COPYING;md5=5feafdbe6dfe9e2bd32325be0cfc86f8" -DEPENDS += " libxkbfile" -PE = "1" -PR = "r6" - -SRC_URI[md5sum] = "2f6df89201eb9a2cbfb905d6b82a191e" -SRC_URI[sha256sum] = "999591bf1ba8ca2a7d480b2c01702396e6c349d499fb583c0de136ec00dbae39" diff --git a/meta-oe/recipes-graphics/xorg-app/setxkbmap_1.3.0.bb b/meta-oe/recipes-graphics/xorg-app/setxkbmap_1.3.0.bb new file mode 100644 index 0000000000..62a3ee2785 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-app/setxkbmap_1.3.0.bb @@ -0,0 +1,19 @@ +require recipes-graphics/xorg-app/xorg-app-common.inc + +SUMMARY = "A program to compile XKB keyboard description" + +DESCRIPTION = "The xkbcomp keymap compiler converts a description of an \ +XKB keymap into one of several output formats. The most common use for \ +xkbcomp is to create a compiled keymap file (.xkm extension) which can \ +be read directly by XKB-capable X servers or utilities." + +LIC_FILES_CHKSUM = "file://COPYING;md5=5feafdbe6dfe9e2bd32325be0cfc86f8" + +PE = "1" + +DEPENDS += "libxkbfile" + +BBCLASSEXTEND = "native" + +SRC_URI[md5sum] = "1001771344608e120e943a396317c33a" +SRC_URI[sha256sum] = "3d305c9d1f38224169b2e501ef0665cc3ab52d4dbc2b9a60c9dbb047f77ddec6" diff --git a/meta-oe/recipes-graphics/xorg-app/twm_1.0.6.bb b/meta-oe/recipes-graphics/xorg-app/twm_1.0.8.bb index d569fd0c2e..3574ba9aeb 100644 --- a/meta-oe/recipes-graphics/xorg-app/twm_1.0.6.bb +++ b/meta-oe/recipes-graphics/xorg-app/twm_1.0.8.bb @@ -6,8 +6,8 @@ LICENSE = "MIT" LIC_FILES_CHKSUM = "file://COPYING;md5=4c6d42ef60e8166aa26606524c0b9586" -SRC_URI[md5sum] = "952d06a0c2ec34687b536c7b619fc671" -SRC_URI[sha256sum] = "e7dccad7879a7570442f0cd9df0b9064e926466b5a52b710fca8cfb167f294e9" +SRC_URI[md5sum] = "4b28317d4a9f7ca61bef8462e132bd4c" +SRC_URI[sha256sum] = "7660352353d632127ff50390991706aa660b28a4ada816c2582ac02720722e44" FILES_${PN} += "${datadir}/X11/twm/system.twmrc" ALTERNATIVE_NAME = "x-window-manager" diff --git a/meta-oe/recipes-graphics/xorg-app/xfontsel_1.0.5.bb b/meta-oe/recipes-graphics/xorg-app/xfontsel_1.0.5.bb new file mode 100644 index 0000000000..c74b291946 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-app/xfontsel_1.0.5.bb @@ -0,0 +1,13 @@ +require recipes-graphics/xorg-app/xorg-app-common.inc + +SUMMARY = "xfontsel provides point and click selection of X11 font names" +HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/xfontsel/" +SECTION = "x11/app" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=4669d2703c60d585cc29ba7e9a69bcb3" +DEPENDS += " libxaw" + +LIC_FILES_CHKSUM = "file://COPYING;md5=4669d2703c60d585cc29ba7e9a69bcb3" + +SRC_URI[md5sum] = "a40302b88c599b63e3d3d412e02871e6" +SRC_URI[sha256sum] = "170d8550b96fb47b04db6181b947e6f6b8b97f4df5d691c351a278480cc931bf" diff --git a/meta-oe/recipes-graphics/xorg-app/xgamma_1.0.5.bb b/meta-oe/recipes-graphics/xorg-app/xgamma_1.0.5.bb new file mode 100644 index 0000000000..6fb9259006 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-app/xgamma_1.0.5.bb @@ -0,0 +1,15 @@ +require recipes-graphics/xorg-app/xorg-app-common.inc + +SUMMARY = "X.Org X11 X client utilities" + +DESCRIPTION = "xgamma allows X users to query and alter the gamma \ +correction of a monitor via the X video mode extension." + +LIC_FILES_CHKSUM = "file://COPYING;md5=ac9801b8423fd7a7699ccbd45cf134d8" + +DEPENDS += "libxxf86vm" + +BBCLASSEXTEND = "native" + +SRC_URI[md5sum] = "c06067f572bc4a5298f324f27340da95" +SRC_URI[sha256sum] = "e322a2fea80d559c09d6bc285ebe1a9e454dbeae2a07116cb7d2207db9d2c310" diff --git a/meta-oe/recipes-graphics/xorg-app/xkbevd_1.1.3.bb b/meta-oe/recipes-graphics/xorg-app/xkbevd_1.1.3.bb new file mode 100644 index 0000000000..e81a3c9c38 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-app/xkbevd_1.1.3.bb @@ -0,0 +1,13 @@ +require recipes-graphics/xorg-app/xorg-app-common.inc +SUMMARY = "A program to compile XKB keyboard description" +DESCRIPTION = "The xkbevd event daemon listens for specified XKB \ +events and executes requested commands if they occur. " + +LIC_FILES_CHKSUM = "file://COPYING;md5=208668fa9004709ba22c2b748140956c" + +DEPENDS += "libxkbfile" + +BBCLASSEXTEND = "native" + +SRC_URI[md5sum] = "37ed71525c63a9acd42e7cde211dcc5b" +SRC_URI[sha256sum] = "55b2484f9851112c2685d503b64b319f0f98fce74863ef735ecd52b52ceb0116" diff --git a/meta-oe/recipes-graphics/xorg-app/xkbprint_1.0.3.bb b/meta-oe/recipes-graphics/xorg-app/xkbprint_1.0.3.bb new file mode 100644 index 0000000000..64b54dd3ec --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-app/xkbprint_1.0.3.bb @@ -0,0 +1,13 @@ +require recipes-graphics/xorg-app/xorg-app-common.inc +SUMMARY = "A program to compile XKB keyboard description" +DESCRIPTION = "xkbprint generates a printable or encapsulated PostScript \ +description of an XKB keyboard description." + +LIC_FILES_CHKSUM = "file://COPYING;md5=20f28f97555b220fde762bc2a4406a8f" + +DEPENDS += "libxkbfile" + +BBCLASSEXTEND = "native" + +SRC_URI[md5sum] = "526b5ba87cccd05aa700fa628bcfda3e" +SRC_URI[sha256sum] = "fa846db8e588018134bd550f80eb129e4ddfdb96f3b157603a57ae2cdf5892c0" diff --git a/meta-oe/recipes-graphics/xorg-app/xkbutils_1.0.4.bb b/meta-oe/recipes-graphics/xorg-app/xkbutils_1.0.4.bb new file mode 100644 index 0000000000..6a05e98e32 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-app/xkbutils_1.0.4.bb @@ -0,0 +1,19 @@ +require recipes-graphics/xorg-app/xorg-app-common.inc + +SUMMARY = "XKeyboard (XKB) extension to the X11 protocol" +DESCRIPTION = " \ +xkbutils is a collection of small utilities utilizing the XKeyboard (XKB) \ +extension to the X11 protocol. \ +It includes: \ + xkbbell - generate XKB bell events \ + xkbvleds - display the state of LEDs on an XKB keyboard in a window \ + xkbwatch - reports changes in the XKB keyboard state \ +" +LIC_FILES_CHKSUM = "file://COPYING;md5=64322fab5239f5c8d97cf6e0e14f1c62" + +DEPENDS += "libxaw libxkbfile" + +BBCLASSEXTEND = "native" + +SRC_URI[md5sum] = "502b14843f610af977dffc6cbf2102d5" +SRC_URI[sha256sum] = "d2a18ab90275e8bca028773c44264d2266dab70853db4321bdbc18da75148130" diff --git a/meta-oe/recipes-graphics/xorg-app/xlsatoms_1.1.1.bb b/meta-oe/recipes-graphics/xorg-app/xlsatoms_1.1.1.bb new file mode 100644 index 0000000000..dd432139cd --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-app/xlsatoms_1.1.1.bb @@ -0,0 +1,14 @@ +require recipes-graphics/xorg-app/xorg-app-common.inc + +SUMMARY = "X.Org X11 X client utilities" +HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/xlsatoms/" +DESCRIPTION = "Xlsatoms lists the interned atoms defined on an X11 server" +SECTION = "x11/app" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=2b08d9e2e718ac83e6fe2b974d4b5fd8" + +DEPENDS += "libxmu" +BBCLASSEXTEND = "native" + +SRC_URI[md5sum] = "9d0e16d116d1c89e6b668c1b2672eb57" +SRC_URI[sha256sum] = "3b8bd98c1ca9789178db80bca75556b0c76e5092403014995d5ddaa3117536f9" diff --git a/meta-oe/recipes-graphics/xorg-app/xlsclients_1.1.3.bb b/meta-oe/recipes-graphics/xorg-app/xlsclients_1.1.3.bb new file mode 100644 index 0000000000..583a531baf --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-app/xlsclients_1.1.3.bb @@ -0,0 +1,14 @@ +require recipes-graphics/xorg-app/xorg-app-common.inc + +SUMMARY = "X.Org X11 X client utilities" +HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/xlsclients/" +DESCRIPTION = "xlsclients is a utility for listing information about the \ +client applications running on a X11 server." +SECTION = "x11/app" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=350e1b718a56df39cfe8ca9345ea4575" + +BBCLASSEXTEND = "native" + +SRC_URI[md5sum] = "9fbf6b174a5138a61738a42e707ad8f5" +SRC_URI[sha256sum] = "5d9666fcc6c3de210fc70d5a841a404955af709a616fde530fe4e8f7723e3d3d" diff --git a/meta-oe/recipes-graphics/xorg-app/xlsfonts_1.0.4.bb b/meta-oe/recipes-graphics/xorg-app/xlsfonts_1.0.4.bb new file mode 100644 index 0000000000..e6985d057f --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-app/xlsfonts_1.0.4.bb @@ -0,0 +1,10 @@ +require recipes-graphics/xorg-app/xorg-app-common.inc + +SUMMARY = "server font list displayer for X" +HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/xlsfonts/" +SECTION = "x11/app" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=5ec74dd7ea4d10c4715a7c44f159a40b" + +SRC_URI[md5sum] = "5a2b476c2d84759529f01e0cd06145fe" +SRC_URI[sha256sum] = "28179185ec2bf81dfe13652d65bdb2a4ae74e2775df591a62d66a70f80e90cd2" diff --git a/meta-oe/recipes-graphics/xorg-app/xmag_1.0.5.bb b/meta-oe/recipes-graphics/xorg-app/xmag_1.0.5.bb new file mode 100644 index 0000000000..d577421803 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-app/xmag_1.0.5.bb @@ -0,0 +1,11 @@ +require recipes-graphics/xorg-app/xorg-app-common.inc + +SUMMARY = "xmag is a tool to magnify parts of the screen" +HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/xmag/" +SECTION = "x11/app" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=3413fe6832380b44b69b172d2d1b2387" +DEPENDS += " libxaw libxt" + +SRC_URI[md5sum] = "280b81cb09d1903aa868a058d90128ad" +SRC_URI[sha256sum] = "4ace8795cf756be4ba387f30366045594ce26adda2f5ffe1f8e896825d0932c6" diff --git a/meta-oe/recipes-graphics/xorg-app/xrdb_1.0.9.bb b/meta-oe/recipes-graphics/xorg-app/xrdb_1.1.0.bb index f258bb2516..85957e056f 100644 --- a/meta-oe/recipes-graphics/xorg-app/xrdb_1.0.9.bb +++ b/meta-oe/recipes-graphics/xorg-app/xrdb_1.1.0.bb @@ -4,7 +4,6 @@ LICENSE = "MIT" LIC_FILES_CHKSUM = "file://COPYING;md5=d1167c4f586bd41f0c62166db4384a69" DEPENDS += "libxmu" -PR = "r6" -SRC_URI[md5sum] = "ed2e48cf33584455d74615ad4bbe4246" -SRC_URI[sha256sum] = "642401e12996efe3e5e5307a245e24c282b94a44c1f147e177c8484b862aeab7" +SRC_URI[md5sum] = "b54c7e3e53b4f332d41ed435433fbda0" +SRC_URI[sha256sum] = "73827b6bbfc9d27ca287d95a1224c306d7053cd7b8156641698d7dc541ca565b" diff --git a/meta-oe/recipes-graphics/xorg-app/xrefresh_1.0.5.bb b/meta-oe/recipes-graphics/xorg-app/xrefresh_1.0.5.bb new file mode 100644 index 0000000000..a2a4941e96 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-app/xrefresh_1.0.5.bb @@ -0,0 +1,13 @@ +require recipes-graphics/xorg-app/xorg-app-common.inc + +SUMMARY = "X.Org X11 X client utilities" +HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/xrefresh/" +DESCRIPTION = "xrefresh - refresh all or part of an X screen" +SECTION = "x11/app" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=dad633bce9c3cd0e3abf72a16e0057cf" + +BBCLASSEXTEND = "native" + +SRC_URI[md5sum] = "a896382bc53ef3e149eaf9b13bc81d42" +SRC_URI[sha256sum] = "3213671b0a8a9d1e8d1d5d9e3fd86842c894dd9acc1be2560eda50bc1fb791d6" diff --git a/meta-oe/recipes-graphics/xorg-app/xsetmode_1.0.0.bb b/meta-oe/recipes-graphics/xorg-app/xsetmode_1.0.0.bb new file mode 100644 index 0000000000..b757329d94 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-app/xsetmode_1.0.0.bb @@ -0,0 +1,15 @@ +require recipes-graphics/xorg-app/xorg-app-common.inc + +SUMMARY = "X.Org X11 X client utilities" +HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/xsetmode/" +DESCRIPTION = "xsetmode sets the mode of an XInput device to either absolute \ +or relative." +SECTION = "x11/app" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=9b37e00e7793b667cbc64f9df7b6d733" + +DEPENDS += "libxi" +BBCLASSEXTEND = "native" + +SRC_URI[md5sum] = "d074e79d380b031d2f60e4cd56538c93" +SRC_URI[sha256sum] = "988b47cd922991c6e6adbce15dc386ac75690b61744b526c3af5a4eaa9afa0aa" diff --git a/meta-oe/recipes-graphics/xorg-app/xsetroot_1.1.1.bb b/meta-oe/recipes-graphics/xorg-app/xsetroot_1.1.1.bb new file mode 100644 index 0000000000..2c79f27ca4 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-app/xsetroot_1.1.1.bb @@ -0,0 +1,14 @@ +require recipes-graphics/xorg-app/xorg-app-common.inc + +SUMMARY = "X.Org X11 X client utilities" +HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/xsetroot/" +DESCRIPTION = "xsetroot is a root window parameter setting utility for X" +SECTION = "x11/app" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=6ea29dbee22324787c061f039e0529de" + +DEPENDS += "xbitmaps libxcursor" +BBCLASSEXTEND = "native" + +SRC_URI[md5sum] = "7211b31ec70631829ebae9460999aa0b" +SRC_URI[sha256sum] = "ba215daaa78c415fce11b9e58c365d03bb602eaa5ea916578d76861a468cc3d9" diff --git a/meta-oe/recipes-graphics/xorg-app/xstdcmap_1.0.3.bb b/meta-oe/recipes-graphics/xorg-app/xstdcmap_1.0.3.bb new file mode 100644 index 0000000000..3f5511e754 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-app/xstdcmap_1.0.3.bb @@ -0,0 +1,15 @@ +require recipes-graphics/xorg-app/xorg-app-common.inc + +SUMMARY = "X.Org X11 X client utilities" +HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/xstdcmap" +DESCRIPTION = "The xstdcmap utility can be used to selectively define \ +standard colormap properties." +SECTION = "x11/app" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=2b08d9e2e718ac83e6fe2b974d4b5fd8" + +RDEPENDS_${PN} = "libxmu" +BBCLASSEXTEND = "native" + +SRC_URI[md5sum] = "eb5473acaef15a5db9b50df29c6a7f90" +SRC_URI[sha256sum] = "f648e2b0cf16aa29856de998e2c7204be39dc1f8daeda9464d32288e0b580fc1" diff --git a/meta-oe/recipes-graphics/xorg-app/xterm_303.bb b/meta-oe/recipes-graphics/xorg-app/xterm_303.bb index 52e77b7897..fad07d9ffc 100644 --- a/meta-oe/recipes-graphics/xorg-app/xterm_303.bb +++ b/meta-oe/recipes-graphics/xorg-app/xterm_303.bb @@ -4,7 +4,7 @@ DEPENDS = "libxaw xproto xextproto libxext libxau libxpm ncurses" LIC_FILES_CHKSUM = "file://xterm.h;beginline=3;endline=31;md5=540cf18ccc16bc3c5fea40d2ab5d8d51" -SRC_URI = "ftp://invisible-island.net/xterm/${PN}-${PV}.tgz" +SRC_URI = "ftp://invisible-island.net/xterm/${BP}.tgz" SRC_URI[md5sum] = "48f6d49b2b6b6933d501d767cbed9254" SRC_URI[sha256sum] = "8af29987bda9b77205ebf6233aaa5c347e5f2407310b62ac9ba92a658257f058" @@ -13,6 +13,7 @@ EXTRA_OECONF = " --x-includes=${STAGING_INCDIR} \ --x-libraries=${STAGING_LIBDIR} \ FREETYPE_CONFIG=${STAGING_BINDIR_CROSS}/freetype-config \ --disable-imake \ + --disable-rpath-hack \ --disable-setuid" B = "${S}" diff --git a/meta-oe/recipes-graphics/xorg-app/xwd_1.0.6.bb b/meta-oe/recipes-graphics/xorg-app/xwd_1.0.6.bb index b73afe1c5d..694bf57ace 100644 --- a/meta-oe/recipes-graphics/xorg-app/xwd_1.0.6.bb +++ b/meta-oe/recipes-graphics/xorg-app/xwd_1.0.6.bb @@ -1,11 +1,11 @@ +require recipes-graphics/xorg-app/xorg-app-common.inc + SUMMARY = "xwd is a tool to capture an X window or screen to file" HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/xwd/" SECTION = "x11/app" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://COPYING;md5=c0cdb783e9a0198237371fdaa26a18bf" -DEPENDS = "libxmu" +DEPENDS = "libxmu libxkbfile" SRC_URI[md5sum] = "6b5d48464c5f366e91efd08b62b12d94" SRC_URI[sha256sum] = "3bb396a2268d78de4b1c3e5237a85f7849d3434e87b3cd1f4d57eef614227d79" - -require recipes-graphics/xorg-app/xorg-app-common.inc diff --git a/meta-oe/recipes-graphics/xorg-app/xwud_1.0.4.bb b/meta-oe/recipes-graphics/xorg-app/xwud_1.0.4.bb new file mode 100644 index 0000000000..33bd7f03f6 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-app/xwud_1.0.4.bb @@ -0,0 +1,12 @@ +require recipes-graphics/xorg-app/xorg-app-common.inc + +SUMMARY = "X.Org X11 X client utilities" +HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/xwud/" +DESCRIPTION = "xwud allows X users to display in a window an image saved \ +in a specially formatted dump file, such as produced by xwd." +SECTION = "x11/app" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=31e8892c80b7a0c1c5f37c8e8ae6d794" + +SRC_URI[md5sum] = "3025b152b4f13fdffd0c46d0be587be6" +SRC_URI[sha256sum] = "d6b3a09ccfe750868e26bd2384900ab5ff0d434f7f40cd272a50eda8aaa1f8bd" diff --git a/meta-oe/recipes-graphics/xorg-data/xorg-data-common.inc b/meta-oe/recipes-graphics/xorg-data/xorg-data-common.inc index e128763398..1bcfd5addc 100644 --- a/meta-oe/recipes-graphics/xorg-data/xorg-data-common.inc +++ b/meta-oe/recipes-graphics/xorg-data/xorg-data-common.inc @@ -4,7 +4,7 @@ LICENSE = "MIT-X" XORG_PN = "${PN}" -SRC_URI = "${XORG_MIRROR}/individual/data/${XORG_PN}-${PV}.tar.bz2" +SRC_URI = "${XORG_MIRROR}/individual/data/${BP}.tar.bz2" S = "${WORKDIR}/${XORG_PN}-${PV}" inherit autotools pkgconfig diff --git a/meta-oe/recipes-graphics/xorg-driver/xf86-input-mtev_git.bb b/meta-oe/recipes-graphics/xorg-driver/xf86-input-mtev_git.bb index ac47cee626..547ec86c16 100644 --- a/meta-oe/recipes-graphics/xorg-driver/xf86-input-mtev_git.bb +++ b/meta-oe/recipes-graphics/xorg-driver/xf86-input-mtev_git.bb @@ -5,6 +5,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=8a71d0475d08eee76d8b6d0c6dbec543" DEPENDS += "pixman" +PNBLACKLIST[xf86-input-mtev] ?= "BROKEN: doesn't build with B!=S (Makefile without ${S} in sed call)" + SRC_URI = "git://gitorious.org/xorg/xf86-input-mtev.git file://fix-it.patch" SRCREV = "1eb469166ffc095c5801475f057f911f97a6e641" S = "${WORKDIR}/git" diff --git a/meta-oe/recipes-graphics/xorg-driver/xf86-video-geode/0001-Add-config.h-include-to-src-lx_memory.c.patch b/meta-oe/recipes-graphics/xorg-driver/xf86-video-geode/0001-Add-config.h-include-to-src-lx_memory.c.patch new file mode 100644 index 0000000000..fcd2f684b1 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-driver/xf86-video-geode/0001-Add-config.h-include-to-src-lx_memory.c.patch @@ -0,0 +1,41 @@ +From 621d946e56efac2c779b83b1a5c6b645169c4ebd Mon Sep 17 00:00:00 2001 +From: "Brian A. Lloyd" <brian.lloyd@familyhonor.net> +Date: Wed, 1 Oct 2014 12:35:18 +0300 +Subject: [PATCH] Add config.h include to src/lx_memory.c + +The src/lx_memory.c file uses the xf86.h header file. This file must have +HAVE_STRNDUP defined before calling it when the building platform has a strndup +function. When using config.h, this file doesn't have that define and so fails +to compile. + +The attached patch adds the conditional config.h to this file so it may compile +on the affected platforms. + +The patch is trivial and may be included and used under whatever licensing +desired. + +Closes: Free Desktop Bug #84541 + +Signed-off-by: Brian A. Lloyd <brian.lloyd@familyhonor.net> +Upstream-Status: Backport +--- + src/lx_memory.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/src/lx_memory.c b/src/lx_memory.c +index f26d280..992446f 100644 +--- a/src/lx_memory.c ++++ b/src/lx_memory.c +@@ -22,6 +22,9 @@ + * contributors may be used to endorse or promote products derived from this + * software without specific prior written permission. + */ ++#if HAVE_CONFIG_H ++#include "config.h" ++#endif + + #include "xf86.h" + #include "geode.h" +-- +2.1.1 + diff --git a/meta-oe/recipes-graphics/xorg-driver/nonworking/xf86-video-geode_2.11.14.bb b/meta-oe/recipes-graphics/xorg-driver/xf86-video-geode_2.11.16.bb index 2fdb210fe5..478d08805d 100644 --- a/meta-oe/recipes-graphics/xorg-driver/nonworking/xf86-video-geode_2.11.14.bb +++ b/meta-oe/recipes-graphics/xorg-driver/xf86-video-geode_2.11.16.bb @@ -4,8 +4,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=e7f3e39474aeea5af381a8e103dafc36" SUMMARY = "X.org server -- Geode GX2/LX display driver" PR = "${INC_PR}.0" -SRC_URI[md5sum] = "c9a4e1c5438240e5bdce332f92df9163" -SRC_URI[sha256sum] = "4c750b46c932934faa008919922f5ac8a572afcfe265ac8d7c203b8167a0cfcc" +SRC_URI += "file://0001-Add-config.h-include-to-src-lx_memory.c.patch" +SRC_URI[md5sum] = "35fa387f6a33f6b22a56ce4bda424392" +SRC_URI[sha256sum] = "38fc1f55e29fb7985b90c9021a4b7e5295d42888bd669174f42f3b7f681fc1a7" COMPATIBLE_HOST = "i.86.*-linux" diff --git a/meta-oe/recipes-graphics/xorg-driver/xf86-video-glamo/0004-glamo.h-use-const-for-jbt6k74_state_path.patch b/meta-oe/recipes-graphics/xorg-driver/xf86-video-glamo/0004-glamo.h-use-const-for-jbt6k74_state_path.patch new file mode 100644 index 0000000000..a82037109e --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-driver/xf86-video-glamo/0004-glamo.h-use-const-for-jbt6k74_state_path.patch @@ -0,0 +1,29 @@ +From 180a00634f351a09ceabc5695d8e1acc3e585501 Mon Sep 17 00:00:00 2001 +From: Martin Jansa <Martin.Jansa@gmail.com> +Date: Fri, 12 Dec 2014 12:00:10 +0100 +Subject: [PATCH] glamo.h: use const for jbt6k74_state_path + +* fix build issue with xserver 1.16: + glamo-driver.c:501:32: error: assignment discards 'const' qualifier from pointer target type [-Werror] + +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> +--- + src/glamo.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/glamo.h b/src/glamo.h +index 5fd5c04..5e072be 100644 +--- a/src/glamo.h ++++ b/src/glamo.h +@@ -148,7 +148,7 @@ typedef struct { + #endif + + #ifdef JBT6K74_SET_STATE +- char *jbt6k74_state_path; ++ const char *jbt6k74_state_path; + char saved_jbt6k74_state[14]; + #endif + +-- +2.1.3 + diff --git a/meta-oe/recipes-graphics/xorg-driver/xf86-video-glamo_git.bb b/meta-oe/recipes-graphics/xorg-driver/xf86-video-glamo_git.bb index 38c12f3217..78c65648f9 100644 --- a/meta-oe/recipes-graphics/xorg-driver/xf86-video-glamo_git.bb +++ b/meta-oe/recipes-graphics/xorg-driver/xf86-video-glamo_git.bb @@ -14,6 +14,7 @@ SRC_URI = "git://git.openmoko.org/git/xf86-video-glamo.git;branch=master \ file://0001-fix-build-with-KMS-disabled.patch \ file://0003-glamo-driver-adapt-to-xserver-0.13-video-API.patch \ file://0001-glamo-driver-remove-references-to-mibstore.patch \ + file://0004-glamo.h-use-const-for-jbt6k74_state_path.patch \ " S = "${WORKDIR}/git" diff --git a/meta-oe/recipes-graphics/xorg-font/font-adobe-100dpi_1.0.3.bb b/meta-oe/recipes-graphics/xorg-font/font-adobe-100dpi_1.0.3.bb index 04d3efa151..85a44660eb 100644 --- a/meta-oe/recipes-graphics/xorg-font/font-adobe-100dpi_1.0.3.bb +++ b/meta-oe/recipes-graphics/xorg-font/font-adobe-100dpi_1.0.3.bb @@ -10,5 +10,9 @@ DEPENDS = "util-macros-native font-util-native bdftopcf-native" RDEPENDS_${PN} = "encodings font-util" RDEPENDS_${PN}_class-native = "font-util-native" +inherit distro_features_check +# depends on bdftopcf-native -> virtual/libx11 +REQUIRED_DISTRO_FEATURES = "x11" + SRC_URI[md5sum] = "1347c3031b74c9e91dc4dfa53b12f143" SRC_URI[sha256sum] = "b2c08433eab5cb202470aa9f779efefce8d9cab2534f34f3aa4a31d05671c054" diff --git a/meta-oe/recipes-graphics/xorg-font/font-adobe-utopia-100dpi_1.0.4.bb b/meta-oe/recipes-graphics/xorg-font/font-adobe-utopia-100dpi_1.0.4.bb index f3d2815f96..16e3d2ceca 100644 --- a/meta-oe/recipes-graphics/xorg-font/font-adobe-utopia-100dpi_1.0.4.bb +++ b/meta-oe/recipes-graphics/xorg-font/font-adobe-utopia-100dpi_1.0.4.bb @@ -10,6 +10,9 @@ DEPENDS = "util-macros-native font-util-native bdftopcf-native" RDEPENDS_${PN} = "encodings font-util" RDEPENDS_${PN}_class-native = "font-util-native" +inherit distro_features_check +# depends on bdftopcf-native -> virtual/libx11 +REQUIRED_DISTRO_FEATURES = "x11" + SRC_URI[md5sum] = "66fb6de561648a6dce2755621d6aea17" SRC_URI[sha256sum] = "d16f5e3f227cc6dd07a160a71f443559682dbc35f1c056a5385085aaec4fada5" - diff --git a/meta-oe/recipes-graphics/xorg-font/font-bh-100dpi_1.0.3.bb b/meta-oe/recipes-graphics/xorg-font/font-bh-100dpi_1.0.3.bb index 3ee91cef49..08ed6b6160 100644 --- a/meta-oe/recipes-graphics/xorg-font/font-bh-100dpi_1.0.3.bb +++ b/meta-oe/recipes-graphics/xorg-font/font-bh-100dpi_1.0.3.bb @@ -10,5 +10,9 @@ DEPENDS = "util-macros-native font-util-native bdftopcf-native" RDEPENDS_${PN} = "encodings font-util" RDEPENDS_${PN}_class-native = "font-util-native" +inherit distro_features_check +# depends on bdftopcf-native -> virtual/libx11 +REQUIRED_DISTRO_FEATURES = "x11" + SRC_URI[md5sum] = "9f11ade089d689b9d59e0f47d26f39cd" SRC_URI[sha256sum] = "23c07162708e4b79eb33095c8bfa62c783717a9431254bbf44863734ea239481" diff --git a/meta-oe/recipes-graphics/xorg-font/font-bh-lucidatypewriter-100dpi_1.0.3.bb b/meta-oe/recipes-graphics/xorg-font/font-bh-lucidatypewriter-100dpi_1.0.3.bb index c83137b187..5ded41aeb4 100644 --- a/meta-oe/recipes-graphics/xorg-font/font-bh-lucidatypewriter-100dpi_1.0.3.bb +++ b/meta-oe/recipes-graphics/xorg-font/font-bh-lucidatypewriter-100dpi_1.0.3.bb @@ -10,5 +10,9 @@ DEPENDS = "util-macros-native font-util-native bdftopcf-native" RDEPENDS_${PN} = "encodings font-util" RDEPENDS_${PN}_class-native = "font-util-native" +inherit distro_features_check +# depends on bdftopcf-native -> virtual/libx11 +REQUIRED_DISTRO_FEATURES = "x11" + SRC_URI[md5sum] = "c8b73a53dcefe3e8d3907d3500e484a9" SRC_URI[sha256sum] = "62a83363c2536095fda49d260d21e0847675676e4e3415054064cbdffa641fbb" diff --git a/meta-oe/recipes-graphics/xorg-font/font-bitstream-100dpi_1.0.3.bb b/meta-oe/recipes-graphics/xorg-font/font-bitstream-100dpi_1.0.3.bb index 9a83ac1e2d..e8cfb615a9 100644 --- a/meta-oe/recipes-graphics/xorg-font/font-bitstream-100dpi_1.0.3.bb +++ b/meta-oe/recipes-graphics/xorg-font/font-bitstream-100dpi_1.0.3.bb @@ -10,5 +10,9 @@ DEPENDS = "util-macros-native font-util-native bdftopcf-native" RDEPENDS_${PN} = "encodings font-util" RDEPENDS_${PN}_class-native = "font-util-native" +inherit distro_features_check +# depends on bdftopcf-native -> virtual/libx11 +REQUIRED_DISTRO_FEATURES = "x11" + SRC_URI[md5sum] = "6b223a54b15ecbd5a1bc52312ad790d8" SRC_URI[sha256sum] = "ebe0d7444e3d7c8da7642055ac2206f0190ee060700d99cd876f8fc9964cb6ce" diff --git a/meta-oe/recipes-graphics/xorg-font/font-cursor-misc_1.0.3.bb b/meta-oe/recipes-graphics/xorg-font/font-cursor-misc_1.0.3.bb new file mode 100644 index 0000000000..d425ce5157 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-font/font-cursor-misc_1.0.3.bb @@ -0,0 +1,17 @@ +require recipes-graphics/xorg-font/xorg-font-common.inc + +SUMMARY = "X.org cursor fonts" +HOMEPAGE = "http://cgit.freedesktop.org/xorg/font/cursor-misc/" +SECTION = "x11/font" +LICENSE = "PD" +LIC_FILES_CHKSUM = "file://COPYING;md5=8b32ccac3ad25e75e68478deb7780265" + +DEPENDS = "util-macros-native font-util-native bdftopcf-native" +RDEPENDS_${PN} = "encodings font-util" + +inherit distro_features_check +# depends on bdftopcf-native -> virtual/libx11 +REQUIRED_DISTRO_FEATURES = "x11" + +SRC_URI[md5sum] = "3e0069d4f178a399cffe56daa95c2b63" +SRC_URI[sha256sum] = "17363eb35eece2e08144da5f060c70103b59d0972b4f4d77fd84c9a7a2dba635" diff --git a/meta-oe/recipes-graphics/xorg-font/font-misc-misc_1.1.2.bb b/meta-oe/recipes-graphics/xorg-font/font-misc-misc_1.1.2.bb new file mode 100644 index 0000000000..a7c284a2f5 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-font/font-misc-misc_1.1.2.bb @@ -0,0 +1,17 @@ +require recipes-graphics/xorg-font/xorg-font-common.inc + +SUMMARY = "X.org miscellaneous fonts" +HOMEPAGE = "http://cgit.freedesktop.org/xorg/font/misc-misc/" +SECTION = "x11/font" +LICENSE = "PD" +LIC_FILES_CHKSUM = "file://COPYING;md5=200c507f595ee97008c7c5c3e94ab9a8" + +DEPENDS = "util-macros-native font-util-native bdftopcf-native" +RDEPENDS_${PN} = "encodings font-util" + +inherit distro_features_check +# depends on bdftopcf-native -> virtual/libx11 +REQUIRED_DISTRO_FEATURES = "x11" + +SRC_URI[md5sum] = "c88eb44b3b903d79fb44b860a213e623" +SRC_URI[sha256sum] = "b8e77940e4e1769dc47ef1805918d8c9be37c708735832a07204258bacc11794" diff --git a/meta-oe/recipes-graphics/xorg-font/xorg-fonts-100dpi.bb b/meta-oe/recipes-graphics/xorg-font/xorg-fonts-100dpi.bb index aacf379731..158416b084 100644 --- a/meta-oe/recipes-graphics/xorg-font/xorg-fonts-100dpi.bb +++ b/meta-oe/recipes-graphics/xorg-font/xorg-fonts-100dpi.bb @@ -1,9 +1,9 @@ SUMMARY = "Xorg 100 DPI font set" LICENSE = "Custom" -inherit packagegroup - -PACKAGE_ARCH = "${MACHINE_ARCH}" +inherit packagegroup distro_features_check +# rdepends on font recipes with this restriction +REQUIRED_DISTRO_FEATURES = "x11" RDEPENDS_${PN} = "\ font-adobe-100dpi \ diff --git a/meta-oe/recipes-graphics/xorg-lib/libxaw_1.0.10.bb b/meta-oe/recipes-graphics/xorg-lib/libxaw_1.0.10.bb index fef5acd108..6963f5e33c 100644 --- a/meta-oe/recipes-graphics/xorg-lib/libxaw_1.0.10.bb +++ b/meta-oe/recipes-graphics/xorg-lib/libxaw_1.0.10.bb @@ -10,9 +10,6 @@ PR = "r2" SRC_URI[md5sum] = "f1ea52debce7a18cc26b21647a00ad8b" SRC_URI[sha256sum] = "2d96bcf92638b8ec5c91d379f5ec2e7b15133adeb2ba22066d48bf3239ee1bdd" -# disable docs as groff detection doesn't work on some hosts while cross compilling -EXTRA_OECONF += " --disable-docs " - do_install_append () { ln -sf libXaw6.so.6 ${D}${libdir}/libXaw.so.6 ln -sf libXaw7.so.7 ${D}${libdir}/libXaw.so.7 diff --git a/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0015-xserver-common-disable-TCP-connections.patch b/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0015-xserver-common-disable-TCP-connections.patch new file mode 100644 index 0000000000..06df2618bd --- /dev/null +++ b/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0015-xserver-common-disable-TCP-connections.patch @@ -0,0 +1,24 @@ +From: Javier Viguera <javier.viguera@digi.com> +Date: Wed, 26 Nov 2014 09:24:44 +0100 +Subject: [PATCH] xserver-common: disable TCP connections + +Upstream-Status: Inappropriate [configuration] + +Signed-off-by: Javier Viguera <javier.viguera@digi.com> +--- + X11/xserver-common | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/X11/xserver-common b/X11/xserver-common +index 017e5aee1ab0..4dc48c412741 100644 +--- a/X11/xserver-common ++++ b/X11/xserver-common +@@ -44,7 +44,7 @@ SCREEN_SIZE=`fallback_screen_arg` + export USER=root + export XSERVER_DEFAULT_ORIENTATION=normal + +-ARGS="-br -pn $INPUT_EXTRA_ARGS" ++ARGS="-br -pn -nolisten tcp $INPUT_EXTRA_ARGS" + DPI="100" + MOUSE="" + KDRIVEARGS="" diff --git a/meta-oe/recipes-graphics/xserver-common/xserver-common_1.34.bb b/meta-oe/recipes-graphics/xserver-common/xserver-common_1.34.bb index 12fff9ae9a..f5b1984cdd 100644 --- a/meta-oe/recipes-graphics/xserver-common/xserver-common_1.34.bb +++ b/meta-oe/recipes-graphics/xserver-common/xserver-common_1.34.bb @@ -24,6 +24,7 @@ SRC_URI_append = " \ file://0012-xserver-common-add-support-for-gta04-alias-OpenPhoen.patch \ file://0013-xserver-common-add-support-for-tuna-alias-Galaxy-Nex.patch \ file://0014-Xserver-Start-Xsession-like-x11-common-does.patch \ + file://0015-xserver-common-disable-TCP-connections.patch \ " do_install_append() { diff --git a/meta-oe/recipes-kernel/crash/crash-7.0.9/0001-cross_add_configure_option.patch b/meta-oe/recipes-kernel/crash/crash-7.0.9/0001-cross_add_configure_option.patch new file mode 100644 index 0000000000..229647f009 --- /dev/null +++ b/meta-oe/recipes-kernel/crash/crash-7.0.9/0001-cross_add_configure_option.patch @@ -0,0 +1,34 @@ +From cbaaa42933bb27b1bcff4c7d71d54c913201ee88 Mon Sep 17 00:00:00 2001 +From: Lei Maohui <leimaohui@cn.fujitsu.com> +Date: Fri, 9 Jan 2015 11:51:18 +0900 +Subject: [PATCH] cross_add_configure_option + +--- + Makefile | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/Makefile b/Makefile +index 9c44633..39bebd0 100644 +--- a/Makefile ++++ b/Makefile +@@ -229,7 +229,7 @@ gdb_merge: force + @echo "../../${PROGRAM} ../../${PROGRAM}lib.a" > ${GDB}/gdb/mergeobj + @rm -f ${PROGRAM} + @if [ ! -f ${GDB}/config.status ]; then \ +- (cd ${GDB}; ./configure ${GDB_CONF_FLAGS} --with-separate-debug-dir=/usr/lib/debug \ ++ (cd ${GDB}; ./configure --host=${GDB_TARGET} --build=${GDB_HOST} --with-separate-debug-dir=/usr/lib/debug \ + --with-bugurl="" --with-expat=no --with-python=no; \ + make --no-print-directory CRASH_TARGET=${TARGET}; echo ${TARGET} > crash.target) \ + else make --no-print-directory rebuild; fi +@@ -277,7 +277,7 @@ force: + + make_configure: force + @rm -f configure +- @${CC} ${CONF_FLAGS} -o configure configure.c ${WARNING_ERROR} ${WARNING_OPTIONS} ++ @cc ${CONF_FLAGS} -o configure configure.c ${WARNING_ERROR} ${WARNING_OPTIONS} + + clean: make_configure + @./configure ${CONF_TARGET_FLAG} -q -b +-- +1.8.4.2 + diff --git a/meta-oe/recipes-kernel/crash/crash-7.0.9/7001force_define_architecture.patch b/meta-oe/recipes-kernel/crash/crash-7.0.9/7001force_define_architecture.patch new file mode 100644 index 0000000000..0d44c7f176 --- /dev/null +++ b/meta-oe/recipes-kernel/crash/crash-7.0.9/7001force_define_architecture.patch @@ -0,0 +1,13 @@ +diff -uprN crash-5.1.8.org/configure.c crash-5.1.8/configure.c +--- crash-5.1.8.org/configure.c 2011-09-17 04:01:12.000000000 +0900 ++++ crash-5.1.8/configure.c 2012-09-13 13:28:45.393344108 +0900 +@@ -391,6 +391,9 @@ get_current_configuration(struct support + arch_mismatch(sp); + } + ++ /** Force define archtecture */ ++ target_data.target = FORCE_DEFINE_ARCH; ++ + if ((fp = fopen("Makefile", "r")) == NULL) { + perror("Makefile"); + goto get_release; diff --git a/meta-oe/recipes-kernel/crash/crash-7.0.9/7003cross_ranlib.patch b/meta-oe/recipes-kernel/crash/crash-7.0.9/7003cross_ranlib.patch new file mode 100644 index 0000000000..d567fa0a82 --- /dev/null +++ b/meta-oe/recipes-kernel/crash/crash-7.0.9/7003cross_ranlib.patch @@ -0,0 +1,10 @@ +--- crash-5.1.8/Makefile.orig 2011-12-27 11:21:58.220652105 +0900 ++++ crash-5.1.8/Makefile 2011-12-27 11:22:29.563651593 +0900 +@@ -285,6 +285,7 @@ + + library: make_build_data ${OBJECT_FILES} + ar -rs ${PROGRAM}lib.a ${OBJECT_FILES} ++ ${RANLIB} ${PROGRAM}lib.a + + gdb: force + rm -f ${GDB_OFILES} diff --git a/meta-oe/recipes-kernel/crash/crash-7.0.9/config-site.crash-7.0.9 b/meta-oe/recipes-kernel/crash/crash-7.0.9/config-site.crash-7.0.9 new file mode 100644 index 0000000000..d6fc22fb34 --- /dev/null +++ b/meta-oe/recipes-kernel/crash/crash-7.0.9/config-site.crash-7.0.9 @@ -0,0 +1 @@ +bash_cv_have_mbstate_t=yes diff --git a/meta-oe/recipes-kernel/crash/crash_7.0.9.bb b/meta-oe/recipes-kernel/crash/crash_7.0.9.bb new file mode 100644 index 0000000000..8d62481091 --- /dev/null +++ b/meta-oe/recipes-kernel/crash/crash_7.0.9.bb @@ -0,0 +1,59 @@ +SUMMARY = "Kernel analysis utility for live systems, netdump, diskdump, kdump, LKCD or mcore dumpfiles" +DESCRIPTION = "The core analysis suite is a self-contained tool that can be used to\ +investigate either live systems, kernel core dumps created from the\ +netdump, diskdump and kdump packages from Red Hat Linux, the mcore kernel patch\ +offered by Mission Critical Linux, or the LKCD kernel patch." + +HOMEPAGE = "http://people.redhat.com/anderson" +SECTION = "devel" + +inherit gettext + +DEPENDS = "zlib readline" + +SRC_URI = "https://github.com/crash-utility/${BPN}/archive/${PV}.tar.gz \ + file://7001force_define_architecture.patch \ + file://7003cross_ranlib.patch \ + file://0001-cross_add_configure_option.patch \ + " + +SRC_URI[md5sum] = "d70ad2ed0f6d210ed11e88b8e977f5fd" +SRC_URI[sha256sum] = "c6034c6eb6b52691c60d0b72dbdec58fac4c1b3ed1cd0697c209dc48d13a577e" + +LICENSE = "GPLv3" +LIC_FILES_CHKSUM = "file://COPYING3;md5=d32239bcb673463ab874e80d47fae504" + +EXTRA_OEMAKE = 'RPMPKG="${PV}" \ + GDB_TARGET="${TARGET_SYS}" \ + GDB_HOST="${BUILD_SYS}" \ + ' +do_configure() { + : +} + +do_compile_prepend() { + case ${TARGET_ARCH} in + arm*) ARCH=ARM ;; + i*86*) ARCH=X86 ;; + powerpc*) ARCH=PPC ;; + x86_64*) ARCH=X86_64 ;; + esac + + sed -i s/FORCE_DEFINE_ARCH/"${ARCH}"/g ${S}/configure.c + sed -i -e 's/#define TARGET_CFLAGS_ARM_ON_X86_64.*/#define TARGET_CFLAGS_ARM_ON_X86_64\t\"TARGET_CFLAGS=-D_FILE_OFFSET_BITS=64\"/g' ${S}/configure.c + sed -i 's/>/>/g' ${S}/Makefile +} +do_compile() { + oe_runmake ${EXTRA_OEMAKE} +} + +do_install () { + install -d ${D}${bindir} + install -d ${D}/${mandir}/man8 + install -d ${D}${includedir}/crash + + oe_runmake DESTDIR=${D} install + install -m 0644 ${S}/crash.8 ${D}/${mandir}/man8/ + install -m 0644 ${S}/defs.h ${D}${includedir}/crash +} +RDEPENDS_${PN} += "liblzma" diff --git a/meta-oe/recipes-kernel/ktap/ktap_0.4.bb b/meta-oe/recipes-kernel/ktap/ktap_0.4.bb index 20f94d5980..cbdabf82d8 100644 --- a/meta-oe/recipes-kernel/ktap/ktap_0.4.bb +++ b/meta-oe/recipes-kernel/ktap/ktap_0.4.bb @@ -22,5 +22,5 @@ do_install() { install -m 0755 ${S}/ktap ${D}${bindir}/ } +PACKAGE_ARCH = "${MACHINE_ARCH}" RDEPENDS_${PN} = "kernel-module-ktapvm" - diff --git a/meta-oe/recipes-kernel/linux/linux.inc b/meta-oe/recipes-kernel/linux/linux.inc index 7b301ae211..e200127718 100644 --- a/meta-oe/recipes-kernel/linux/linux.inc +++ b/meta-oe/recipes-kernel/linux/linux.inc @@ -28,14 +28,14 @@ kernel_conf_variable() { CONF_SED_SCRIPT="$CONF_SED_SCRIPT /CONFIG_$1[ =]/d;" if test "$2" = "n" then - echo "# CONFIG_$1 is not set" >> ${S}/.config + echo "# CONFIG_$1 is not set" >> ${B}/.config else - echo "CONFIG_$1=$2" >> ${S}/.config + echo "CONFIG_$1=$2" >> ${B}/.config fi } do_configure_prepend() { - echo "" > ${S}/.config + echo "" > ${B}/.config CONF_SED_SCRIPT="" # @@ -43,8 +43,8 @@ do_configure_prepend() { # if [ -e ${WORKDIR}/logo_linux_clut224.ppm ]; then install -m 0644 ${WORKDIR}/logo_linux_clut224.ppm drivers/video/logo/logo_linux_clut224.ppm - kernel_conf_variable LOGO y - kernel_conf_variable LOGO_LINUX_CLUT224 y + kernel_conf_variable LOGO y + kernel_conf_variable LOGO_LINUX_CLUT224 y fi # @@ -59,7 +59,7 @@ do_configure_prepend() { # When enabling thumb for userspace we also need thumb support in the kernel if [ "${ARM_INSTRUCTION_SET}" = "thumb" ] ; then - kernel_conf_variable ARM_THUMB y + kernel_conf_variable ARM_THUMB y fi kernel_conf_variable CMDLINE "\"${CMDLINE} ${CMDLINE_DEBUG}\"" @@ -112,9 +112,9 @@ do_configure_prepend() { fi sed -e "${CONF_SED_SCRIPT}" \ - < '${WORKDIR}/defconfig' >>'${S}/.config' + < '${WORKDIR}/defconfig' >>'${B}/.config' - yes '' | oe_runmake oldconfig + yes '' | oe_runmake -C ${S} O=${B} oldconfig } do_configure_append() { diff --git a/meta-oe/recipes-multimedia/audiofile/audiofile_0.2.7.bb b/meta-oe/recipes-multimedia/audiofile/audiofile_0.2.7.bb index bf7cdfb7aa..61886599ac 100644 --- a/meta-oe/recipes-multimedia/audiofile/audiofile_0.2.7.bb +++ b/meta-oe/recipes-multimedia/audiofile/audiofile_0.2.7.bb @@ -8,7 +8,7 @@ LICENSE = "LGPLv2 & GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \ file://COPYING.GPL;md5=0636e73ff0215e8d672dc4c32c317bb3" -SRC_URI = "http://www.68k.org/~michael/audiofile/${PN}-${PV}.tar.gz" +SRC_URI = "${GNOME_MIRROR}/audiofile/0.2/${BP}.tar.gz" SRC_URI[md5sum] = "a39be317a7b1971b408805dc5e371862" SRC_URI[sha256sum] = "a61c4036c2600a645843f16bec4be166093a9df5f15b02c85291213aa9cf15a2" diff --git a/meta-oe/recipes-multimedia/faad2/faad2_2.7.bb b/meta-oe/recipes-multimedia/faad2/faad2_2.7.bb index 3723f8dea6..63e590c9e0 100644 --- a/meta-oe/recipes-multimedia/faad2/faad2_2.7.bb +++ b/meta-oe/recipes-multimedia/faad2/faad2_2.7.bb @@ -8,7 +8,7 @@ PR = "r1" inherit autotools -SRC_URI = "${SOURCEFORGE_MIRROR}/faac/faad2-src/faad2-${PV}/${PN}-${PV}.tar.bz2;name=faad2 \ +SRC_URI = "${SOURCEFORGE_MIRROR}/faac/faad2-src/faad2-${PV}/${BP}.tar.bz2;name=faad2 \ " SRC_URI[faad2.md5sum] = "4c332fa23febc0e4648064685a3d4332" diff --git a/meta-oe/recipes-multimedia/id3lib/id3lib/acdefine.patch b/meta-oe/recipes-multimedia/id3lib/id3lib/acdefine.patch new file mode 100644 index 0000000000..09edecc964 --- /dev/null +++ b/meta-oe/recipes-multimedia/id3lib/id3lib/acdefine.patch @@ -0,0 +1,42 @@ +Add a description to the AC_DEFINE statements so that it appears in config.h and silences a fatal warning. + +Upstream-Status:Pending +Signed-off-by: Matthieu Crapet <Matthieu.Crapet@ingenico.com> +--- + configure.in | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/configure.in b/configure.in +index abfe4cd..ce0d380 100644 +--- a/configure.in ++++ b/configure.in +@@ -168,7 +168,7 @@ if test $has_iconv = 1; then + iconv_oldstyle=1, iconv_oldstyle=0) + if test $iconv_oldstyle = 1; then + AC_MSG_RESULT(const char **) +- AC_DEFINE(ID3LIB_ICONV_OLDSTYLE) ++ AC_DEFINE(ID3LIB_ICONV_OLDSTYLE,[1],[Old iconv prototype definition in iconv.h]) + #we'll check out the need of + #typecast in the call of iconv_open + AC_MSG_CHECKING(whether to typecast in iconv) +@@ -184,7 +184,7 @@ if test $has_iconv = 1; then + iconv_cast=0, iconv_cast=1) + if test $iconv_cast = 1; then + AC_MSG_RESULT(yes) +- AC_DEFINE(ID3LIB_ICONV_CAST_OK) ++ AC_DEFINE(ID3LIB_ICONV_CAST_OK,[1],[Accepting const char ** in iconv prototype]) + else + AC_MSG_RESULT(no) + fi +@@ -206,7 +206,7 @@ if test $has_iconv = 1; then + iconv_cast=0, iconv_cast=1) + if test $iconv_cast = 1; then + AC_MSG_RESULT(yes) +- AC_DEFINE(ID3LIB_ICONV_CAST_OK) ++ AC_DEFINE(ID3LIB_ICONV_CAST_OK,[1],[Accepting const char ** in iconv prototype]) + else + AC_MSG_RESULT(no) + fi +-- +2.0.0 + diff --git a/meta-oe/recipes-multimedia/id3lib/id3lib_3.8.3.bb b/meta-oe/recipes-multimedia/id3lib/id3lib_3.8.3.bb index 3089b8e730..fc80cc0acf 100644 --- a/meta-oe/recipes-multimedia/id3lib/id3lib_3.8.3.bb +++ b/meta-oe/recipes-multimedia/id3lib/id3lib_3.8.3.bb @@ -8,6 +8,7 @@ PR = "r1" SRC_URI = "${SOURCEFORGE_MIRROR}/id3lib/id3lib-${PV}.tar.gz;name=archive \ http://ftp.de.debian.org/debian/pool/main/i/id3lib3.8.3/id3lib3.8.3_3.8.3-7.2.diff.gz;name=patch \ + file://acdefine.patch \ " SRC_URI[archive.md5sum] = "19f27ddd2dda4b2d26a559a4f0f402a7" SRC_URI[archive.sha256sum] = "2749cc3c0cd7280b299518b1ddf5a5bcfe2d1100614519b68702230e26c7d079" diff --git a/meta-oe/recipes-multimedia/jack/jack_0.121.0.bb b/meta-oe/recipes-multimedia/jack/jack_0.121.0.bb index e7a0ee1118..7b3392721c 100644 --- a/meta-oe/recipes-multimedia/jack/jack_0.121.0.bb +++ b/meta-oe/recipes-multimedia/jack/jack_0.121.0.bb @@ -20,7 +20,7 @@ SRC_URI = "git://github.com/jackaudio/jack1.git \ S = "${WORKDIR}/git" -inherit autotools +inherit autotools pkgconfig EXTRA_OECONF = "--enable-timestamps \ --disable-capabilities \ diff --git a/meta-oe/recipes-multimedia/libass/libass.inc b/meta-oe/recipes-multimedia/libass/libass.inc index 64405ff680..328cd145c8 100644 --- a/meta-oe/recipes-multimedia/libass/libass.inc +++ b/meta-oe/recipes-multimedia/libass/libass.inc @@ -9,7 +9,7 @@ DEPENDS = "enca fontconfig freetype libpng fribidi" INC_PR = "r1" -SRC_URI = "http://${PN}.googlecode.com/files/${P}.tar.gz" +SRC_URI = "http://${BPN}.googlecode.com/files/${BP}.tar.gz" inherit autotools pkgconfig diff --git a/meta-oe/recipes-multimedia/libcdio/libcdio_0.82.bb b/meta-oe/recipes-multimedia/libcdio/libcdio_0.82.bb index 64f3e5d1fc..8cf393dcab 100644 --- a/meta-oe/recipes-multimedia/libcdio/libcdio_0.82.bb +++ b/meta-oe/recipes-multimedia/libcdio/libcdio_0.82.bb @@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" DEPENDS = "ncurses" -SRC_URI = "${GNU_MIRROR}/${PN}/${P}.tar.gz" +SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.gz" SRC_URI[md5sum] = "1c29b18e01ab2b966162bc727bf3c360" SRC_URI[sha256sum] = "1acb3de8e0927906ade7a34c5853173d3068b87b02dfba80d0bf11e47f0b5d39" diff --git a/meta-oe/recipes-multimedia/libmodplug/libmodplug_0.8.7.bb b/meta-oe/recipes-multimedia/libmodplug/libmodplug_0.8.8.5.bb index 2361875c95..1070246c86 100644 --- a/meta-oe/recipes-multimedia/libmodplug/libmodplug_0.8.7.bb +++ b/meta-oe/recipes-multimedia/libmodplug/libmodplug_0.8.8.5.bb @@ -5,8 +5,8 @@ LICENSE = "PD" LIC_FILES_CHKSUM = "file://COPYING;md5=c9182faa1f7c316f7b97d404bcbe3685" SRC_URI = "${SOURCEFORGE_MIRROR}/modplug-xmms/libmodplug-${PV}.tar.gz" -SRC_URI[md5sum] = "d2d9ccd8da22412999caed076140f786" -SRC_URI[sha256sum] = "3cfdebb60833a082e2f2b8faa3892bc9201d05c64051503e8007d8c98ae9e4c2" +SRC_URI[md5sum] = "5f30241db109d647781b784e62ddfaa1" +SRC_URI[sha256sum] = "77462d12ee99476c8645cb5511363e3906b88b33a6b54362b4dbc0f39aa2daad" inherit autotools pkgconfig diff --git a/meta-oe/recipes-multimedia/libpostproc/libpostproc_git.bb b/meta-oe/recipes-multimedia/libpostproc/libpostproc_git.bb index 148d1692e3..811175ce8c 100644 --- a/meta-oe/recipes-multimedia/libpostproc/libpostproc_git.bb +++ b/meta-oe/recipes-multimedia/libpostproc/libpostproc_git.bb @@ -5,13 +5,10 @@ DEPENDS = "libav" LICENSE = "GPLv2+" LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" -PV = "0.0.0+git${SRCPV}" -PR = "r1" +PV = "52.3.0+git${SRCPV}" -DEFAULT_PREFERENCE = "-1" - -SRCREV = "3b7053f46dbfe4662063345245cb00b6acbbe969" -SRC_URI = "git://git.videolan.org/libpostproc.git" +SRCREV = "811db3b957dfde24aef2d0f82e297e5bf552d873" +SRC_URI = "git://github.com/lu-zero/postproc;protocol=https" S = "${WORKDIR}/git" @@ -42,5 +39,5 @@ EXTRA_OECONF = " \ " do_configure() { - ./configure ${EXTRA_OECONF} + ${S}/configure ${EXTRA_OECONF} } diff --git a/meta-oe/recipes-multimedia/libsdl-image/libsdl-image/configure.patch b/meta-oe/recipes-multimedia/libsdl-image/libsdl-image/configure.patch new file mode 100644 index 0000000000..5299d378eb --- /dev/null +++ b/meta-oe/recipes-multimedia/libsdl-image/libsdl-image/configure.patch @@ -0,0 +1,43 @@ +Index: SDL_image-1.2.12/configure.in +=================================================================== +--- SDL_image-1.2.12.orig/configure.in 2012-01-21 01:51:33.000000000 +0000 ++++ SDL_image-1.2.12/configure.in 2014-07-18 06:56:56.853466678 +0000 +@@ -1,5 +1,4 @@ + dnl Process this file with autoconf to produce a configure script. +-AC_INIT(README) + + dnl Set various version strings - taken gratefully from the GTk sources + +@@ -11,12 +10,19 @@ + # if backwards compatibility has been broken, + # set BINARY_AGE and INTERFACE_AGE to 0. + +-MAJOR_VERSION=1 +-MINOR_VERSION=2 +-MICRO_VERSION=12 ++m4_define([sdlimage_major_version],[1]) ++m4_define([sdlimage_minor_version],[2]) ++m4_define([sdlimage_micro_version],[12]) ++m4_define([sdlimage_version], [sdlimage_major_version.sdlimage_minor_version.sdlimage_micro_version]) ++ ++AC_INIT([SDL_image], [sdlimage_version]) ++ ++MAJOR_VERSION=sdlimage_major_version ++MINOR_VERSION=sdlimage_minor_version ++MICRO_VERSION=sdlimage_micro_version + INTERFACE_AGE=4 + BINARY_AGE=12 +-VERSION=$MAJOR_VERSION.$MINOR_VERSION.$MICRO_VERSION ++VERSION=sdlimage_version + + AC_SUBST(MAJOR_VERSION) + AC_SUBST(MINOR_VERSION) +@@ -42,7 +48,7 @@ + AC_CANONICAL_HOST + + dnl Setup for automake +-AM_INIT_AUTOMAKE(SDL_image, $VERSION) ++AM_INIT_AUTOMAKE([foreign]) + + dnl Check for tools + AC_PROG_LIBTOOL diff --git a/meta-oe/recipes-multimedia/libsdl-image/libsdl-image_1.2.12.bb b/meta-oe/recipes-multimedia/libsdl-image/libsdl-image_1.2.12.bb index ef78927827..ea8e9eaa30 100644 --- a/meta-oe/recipes-multimedia/libsdl-image/libsdl-image_1.2.12.bb +++ b/meta-oe/recipes-multimedia/libsdl-image/libsdl-image_1.2.12.bb @@ -6,13 +6,14 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=613734b7586e1580ef944961c6d62227" DEPENDS = "tiff zlib libpng jpeg virtual/libsdl" -SRC_URI = "http://www.libsdl.org/projects/SDL_image/release/SDL_image-${PV}.tar.gz" +SRC_URI = "http://www.libsdl.org/projects/SDL_image/release/SDL_image-${PV}.tar.gz \ + file://configure.patch" SRC_URI[md5sum] = "a0f9098ebe5400f0bdc9b62e60797ecb" SRC_URI[sha256sum] = "0b90722984561004de84847744d566809dbb9daf732a9e503b91a1b5a84e5699" S = "${WORKDIR}/SDL_image-${PV}" -inherit autotools +inherit autotools pkgconfig export SDL_CONFIG = "${STAGING_BINDIR_CROSS}/sdl-config" @@ -20,12 +21,12 @@ export SDL_CONFIG = "${STAGING_BINDIR_CROSS}/sdl-config" EXTRA_OECONF += "--disable-jpg-shared --disable-png-shared -disable-tif-shared" do_configure_prepend() { - # Removing this file fixes a libtool version mismatch. - rm -f acinclude/libtool.m4 - rm -f acinclude/sdl.m4 - rm -f acinclude/pkg.m4 - rm -f acinclude/lt~obsolete.m4 - rm -f acinclude/ltoptions.m4 - rm -f acinclude/ltsugar.m4 - rm -f acinclude/ltversion.m4 + # Removing these files fixes a libtool version mismatch. + rm -f ${S}/acinclude/libtool.m4 + rm -f ${S}/acinclude/sdl.m4 + rm -f ${S}/acinclude/pkg.m4 + rm -f ${S}/acinclude/lt~obsolete.m4 + rm -f ${S}/acinclude/ltoptions.m4 + rm -f ${S}/acinclude/ltsugar.m4 + rm -f ${S}/acinclude/ltversion.m4 } diff --git a/meta-oe/recipes-multimedia/libsdl-mixer/libsdl-mixer_1.2.12.bb b/meta-oe/recipes-multimedia/libsdl-mixer/libsdl-mixer_1.2.12.bb index 19b9236202..f1a01b9d5c 100644 --- a/meta-oe/recipes-multimedia/libsdl-mixer/libsdl-mixer_1.2.12.bb +++ b/meta-oe/recipes-multimedia/libsdl-mixer/libsdl-mixer_1.2.12.bb @@ -13,7 +13,7 @@ SRC_URI[sha256sum] = "1644308279a975799049e4826af2cfc787cad2abb11aa14562e402521f S = "${WORKDIR}/SDL_mixer-${PV}" -inherit autotools +inherit autotools-brokensep EXTRA_AUTORECONF += "--include=acinclude" EXTRA_OECONF = "--disable-music-mp3 --enable-music-ogg --enable-music-ogg-tremor LIBS=-L${STAGING_LIBDIR}" diff --git a/meta-oe/recipes-multimedia/live555/live555.inc b/meta-oe/recipes-multimedia/live555/live555.inc index a36177db3a..0c8208a22c 100644 --- a/meta-oe/recipes-multimedia/live555/live555.inc +++ b/meta-oe/recipes-multimedia/live555/live555.inc @@ -7,13 +7,13 @@ HOMEPAGE = "http://live.com/" LICENSE = "LGPLv3" SECTION = "devel" -INC_PR = "r0" +INC_PR = "r1" URLV = "${@d.getVar('PV',1)[0:4]}.${@d.getVar('PV',1)[4:6]}.${@d.getVar('PV',1)[6:8]}" SRC_URI = "http://www.live555.com/liveMedia/public/live.${URLV}.tar.gz \ file://config.linux-cross" # only latest live version stays on http://www.live555.com/liveMedia/public/, add mirror for older -MIRRORS += "http://www.live555.com/liveMedia/public/ http://ftp.freebsd.org/pub/FreeBSD/ports/distfiles/ \n" +MIRRORS += "http://www.live555.com/liveMedia/public/ http://distcache.FreeBSD.org/ports-distfiles/ \n" S = "${WORKDIR}/live" TARGET_CC_ARCH += "${LDFLAGS}" diff --git a/meta-oe/recipes-multimedia/mikmod/libmikmod_3.3.3.bb b/meta-oe/recipes-multimedia/mikmod/libmikmod_3.3.6.bb index 6a3077f902..2e1b9bf057 100644 --- a/meta-oe/recipes-multimedia/mikmod/libmikmod_3.3.3.bb +++ b/meta-oe/recipes-multimedia/mikmod/libmikmod_3.3.6.bb @@ -1,15 +1,15 @@ DESCRIPTION = "libmikmod is a module player library supporting many formats, including mod, s3m, it, and xm." SECTION = "libs" LICENSE = "LGPLv2.1" -LIC_FILES_CHKSUM = "file://COPYING.LESSER;md5=b2b941d484c442e5c031a51463d8e11b" +LIC_FILES_CHKSUM = "file://COPYING.LESSER;md5=4fbd65380cdd255951079008b364516c" -DEPENDS = "alsa-lib texinfo" +DEPENDS = "alsa-lib texinfo pulseaudio" SRC_URI = "\ ${SOURCEFORGE_MIRROR}/project/mikmod/${BPN}/${PV}/${BPN}-${PV}.tar.gz \ " -SRC_URI[md5sum] = "0e0f9bce8f8e598ca292b41e0ae385c8" -SRC_URI[sha256sum] = "79f02478c5abd8b2af73df4cc5f9d52625aa044327c01563168e270cf79b2437" +SRC_URI[md5sum] = "9dd9bed30c6f7607a55480234606071b" +SRC_URI[sha256sum] = "3f363e03f7b1db75b9b6602841bbd440ed275a548e53545f980df8155de4d330" inherit autotools binconfig lib_package diff --git a/meta-oe/recipes-multimedia/mplayer/mplayer2_git.bb b/meta-oe/recipes-multimedia/mplayer/mplayer2_git.bb index 65fab1fda3..7c04ff178f 100644 --- a/meta-oe/recipes-multimedia/mplayer/mplayer2_git.bb +++ b/meta-oe/recipes-multimedia/mplayer/mplayer2_git.bb @@ -13,7 +13,7 @@ RCONFLICTS_${PN} = "mplayer" LICENSE = "GPLv3" LIC_FILES_CHKSUM = "file://LICENSE;md5=d32239bcb673463ab874e80d47fae504" -PNBLACKLIST[mplayer2] = "Requires newer libav which has negative D_P" +PNBLACKLIST[mplayer2] ?= "Requires newer libav which has negative D_P" SRC_URI = "git://repo.or.cz/mplayer.git \ file://0001-configure-don-t-disable-ASS-support-when-explicitly-.patch \ @@ -36,7 +36,7 @@ CONFFILES_${PN} += "/usr/etc/mplayer/input.conf \ /usr/etc/mplayer/codecs.conf \ " -inherit autotools pkgconfig +inherit autotools-brokensep pkgconfig EXTRA_OECONF = " \ --prefix=/usr \ @@ -141,4 +141,5 @@ do_install() { install ${S}/etc/input.conf ${D}/usr/etc/mplayer/ install ${S}/etc/example.conf ${D}/usr/etc/mplayer/ install ${S}/etc/codecs.conf ${D}/usr/etc/mplayer/ + [ -e ${D}/usr/lib ] && rmdir ${D}/usr/lib } diff --git a/meta-oe/recipes-multimedia/nonworking/minidlna/minidlna_1.0.25.bb b/meta-oe/recipes-multimedia/nonworking/minidlna/minidlna_1.0.25.bb index 7ceab7b5b8..9264bc224d 100644 --- a/meta-oe/recipes-multimedia/nonworking/minidlna/minidlna_1.0.25.bb +++ b/meta-oe/recipes-multimedia/nonworking/minidlna/minidlna_1.0.25.bb @@ -5,7 +5,7 @@ LIC_FILES_CHKSUM = "file://LICENCE;md5=b1a795ac1a06805cf8fd74920bc46b5c" DEPENDS = "flac libav jpeg sqlite3 libexif libogg libid3tag" -SRC_URI = "${SOURCEFORGE_MIRROR}/${PN}/${PN}_${PV}_src.tar.gz \ +SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}_${PV}_src.tar.gz \ file://search-for-headers-in-staging-dir.patch \ file://fix-makefile.patch \ " diff --git a/meta-oe/recipes-multimedia/sound-themes/sound-theme-freedesktop_0.8.bb b/meta-oe/recipes-multimedia/sound-themes/sound-theme-freedesktop_0.8.bb index ebcfd127f1..098b08d476 100644 --- a/meta-oe/recipes-multimedia/sound-themes/sound-theme-freedesktop_0.8.bb +++ b/meta-oe/recipes-multimedia/sound-themes/sound-theme-freedesktop_0.8.bb @@ -1,6 +1,6 @@ SUMMARY = "Freedesktop sound theme" HOMEPAGE = "http://freedesktop.org/wiki/Specifications/sound-theme-spec" -LICENSE = "GPLv2+ CC-BY-3.0 CC-BY-SA-3.0" +LICENSE = "GPLv2+ & CC-BY-3.0 & CC-BY-SA-3.0" LIC_FILES_CHKSUM = "file://CREDITS;md5=3213e601ce34bb42ddc3498903ac4e69" # glib-2.0 for glib-gettext.m4 which provides AM_GLIB_GNU_GETTEXT diff --git a/meta-oe/recipes-multimedia/v4l2apps/media-ctl_git.bb b/meta-oe/recipes-multimedia/v4l2apps/media-ctl_git.bb deleted file mode 100644 index 86e5364df0..0000000000 --- a/meta-oe/recipes-multimedia/v4l2apps/media-ctl_git.bb +++ /dev/null @@ -1,21 +0,0 @@ -SUMMARY = "Media controller control application" -LICENSE = "LGPLv2+" -LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=d749e86a105281d7a44c2328acebc4b0" - -DEPENDS = "linux-libc-headers" - -SRC_URI = "git://git.ideasonboard.org/media-ctl.git" -SRCREV = "a6ec4a37028952ffd6e62eb52648cf66248eb519" - -PV = "0.0.1" -PR = "r4" -S = "${WORKDIR}/git" - -inherit autotools pkgconfig - -EXTRA_OECONF = "--with-kernel-headers=${STAGING_EXECPREFIXDIR}" - -PACKAGES =+ "libmediactl libv4l2subdev" -FILES_libmediactl = "${libdir}/libmediactl${SOLIBS}" -FILES_libv4l2subdev = "${libdir}/libv4l2subdev${SOLIBS}" - diff --git a/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.0.1.bb b/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.6.2.bb index 6c25c90683..219ed1526f 100644 --- a/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.0.1.bb +++ b/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.6.2.bb @@ -3,16 +3,17 @@ LICENSE = "GPLv2 & LGPLv2.1" LIC_FILES_CHKSUM = "file://COPYING;md5=48da9957849056017dc568bbc43d8975 \ file://COPYING.libv4l;md5=d749e86a105281d7a44c2328acebc4b0" -DEPENDS = "jpeg virtual/libx11" +DEPENDS = "jpeg \ + ${@base_contains('DISTRO_FEATURES', 'x11', 'virtual/libx11', '', d)}" -inherit autotools gettext +inherit autotools gettext pkgconfig # libv4l was absorbed into this, let OE know that PROVIDES = "libv4l" SRC_URI = "http://linuxtv.org/downloads/v4l-utils/v4l-utils-${PV}.tar.bz2" -SRC_URI[md5sum] = "b06ea8b15e27cff352b4536e835448bc" -SRC_URI[sha256sum] = "fc0132e82a18dfad9619be3abf50c206e2f449b1c14440cde36f25874fdce7df" +SRC_URI[md5sum] = "9cb3c178f937954e65bf30920af433ef" +SRC_URI[sha256sum] = "d3d6eb1f0204fb11f3d318bfca35d5f73cc077f88fac7665a47856a16496be7d" EXTRA_OECONF = "--disable-qv4l2 --enable-shared --with-udevdir=${base_libdir}/udev" @@ -21,6 +22,7 @@ PACKAGES =+ "rc-keymaps libv4l libv4l-dbg libv4l-dev" FILES_rc-keymaps = "${sysconfdir}/rc* ${base_libdir}/udev/rc*" FILES_${PN} = "${bindir} ${sbindir} ${base_libdir}/udev/rules.d/70-infrared.rules" FILES_libv4l += "${libdir}/libv4l*${SOLIBS} ${libdir}/libv4l/*.so ${libdir}/libv4l/plugins/*.so \ + ${libdir}/libdvbv5*${SOLIBS} \ ${libdir}/libv4l/*-decomp" FILES_libv4l-dbg += "${libdir}/libv4l/.debug ${libdir}/libv4l/plugins/.debug" FILES_libv4l-dev += "${libdir}/v4l*${SOLIBSDEV} ${libdir}/libv4l/*.la ${libdir}/libv4l/plugins/*.la" diff --git a/meta-oe/recipes-multimedia/v4l2apps/yavta/0001-Add-stdout-mode-to-allow-streaming-over-the-network-.patch b/meta-oe/recipes-multimedia/v4l2apps/yavta/0001-Add-stdout-mode-to-allow-streaming-over-the-network-.patch index 430836fee1..41a5dbf4fd 100644 --- a/meta-oe/recipes-multimedia/v4l2apps/yavta/0001-Add-stdout-mode-to-allow-streaming-over-the-network-.patch +++ b/meta-oe/recipes-multimedia/v4l2apps/yavta/0001-Add-stdout-mode-to-allow-streaming-over-the-network-.patch @@ -1,18 +1,35 @@ -From 1146a0f01fc8730d5633b46b85d00154a721abbe Mon Sep 17 00:00:00 2001 +From 141d3b3593722eb3d588e7c4b1542f810bc25853 Mon Sep 17 00:00:00 2001 From: Koen Kooi <koen@dominion.thruhere.net> -Date: Fri, 22 Jun 2012 12:40:23 +0200 +Date: Thu, 5 Jun 2014 11:29:20 -0500 Subject: [PATCH] Add stdout mode to allow streaming over the network with nc Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> +Signed-off-by: Chase Maupin <Chase.Maupin@ti.com> --- - yavta.c | 288 ++++++++++++++++++++++++++++++++++----------------------------- - 1 file changed, 157 insertions(+), 131 deletions(-) + yavta.c | 315 ++++++++++++++++++++++++++++++++++----------------------------- + 1 file changed, 169 insertions(+), 146 deletions(-) diff --git a/yavta.c b/yavta.c -index f3deae0..8020209 100644 +index 32adc26..b398da0 100644 --- a/yavta.c +++ b/yavta.c -@@ -188,12 +188,12 @@ static int video_open(struct device *dev, const char *devname, int no_query) +@@ -309,7 +309,7 @@ static bool video_has_fd(struct device *dev) + static int video_set_fd(struct device *dev, int fd) + { + if (video_has_fd(dev)) { +- printf("Can't set fd (already open).\n"); ++ fprintf(stderr, "Can't set fd (already open).\n"); + return -1; + } + +@@ -321,18 +321,18 @@ static int video_set_fd(struct device *dev, int fd) + static int video_open(struct device *dev, const char *devname) + { + if (video_has_fd(dev)) { +- printf("Can't open device (already open).\n"); ++ fprintf(stderr, "Can't open device (already open).\n"); + return -1; + } dev->fd = open(devname, O_RDWR); if (dev->fd < 0) { @@ -25,25 +42,27 @@ index f3deae0..8020209 100644 - printf("Device %s opened.\n", devname); + fprintf(stderr, "Device %s opened.\n", devname); - if (no_query) { - /* Assume capture device. */ -@@ -211,13 +211,13 @@ static int video_open(struct device *dev, const char *devname, int no_query) - else if (cap.capabilities & V4L2_CAP_VIDEO_OUTPUT) - dev->type = V4L2_BUF_TYPE_VIDEO_OUTPUT; - else { -- printf("Error opening device %s: neither video capture " -+ fprintf(stderr, "Error opening device %s: neither video capture " - "nor video output supported.\n", devname); - close(dev->fd); + dev->opened = 1; + +@@ -352,7 +352,7 @@ static int video_querycap(struct device *dev, unsigned int *capabilities) + *capabilities = cap.capabilities & V4L2_CAP_DEVICE_CAPS + ? cap.device_caps : cap.capabilities; + +- printf("Device `%s' on `%s' is a video %s (%s mplanes) device.\n", ++ fprintf(stderr, "Device `%s' on `%s' is a video %s (%s mplanes) device.\n", + cap.card, cap.bus_info, + video_is_capture(dev) ? "capture" : "output", + video_is_mplane(dev) ? "with" : "without"); +@@ -370,7 +370,7 @@ static int cap_get_buf_type(unsigned int capabilities) + } else if (capabilities & V4L2_CAP_VIDEO_OUTPUT) { + return V4L2_BUF_TYPE_VIDEO_OUTPUT; + } else { +- printf("Device supports neither capture nor output.\n"); ++ fprintf(stderr, "Device supports neither capture nor output.\n"); return -EINVAL; } -- printf("Device `%s' on `%s' is a video %s device.\n", -+ fprintf(stderr, "Device `%s' on `%s' is a video %s device.\n", - cap.card, cap.bus_info, - dev->type == V4L2_BUF_TYPE_VIDEO_CAPTURE ? "capture" : "output"); - return 0; -@@ -280,7 +280,7 @@ static int get_control(struct device *dev, unsigned int id, int type, +@@ -440,7 +440,7 @@ static int get_control(struct device *dev, unsigned int id, int type, } } @@ -52,7 +71,7 @@ index f3deae0..8020209 100644 id, strerror(errno), errno); return -1; } -@@ -322,12 +322,12 @@ static void set_control(struct device *dev, unsigned int id, int type, +@@ -484,12 +484,12 @@ static void set_control(struct device *dev, unsigned int id, int type, val = old.value; } if (ret == -1) { @@ -67,7 +86,7 @@ index f3deae0..8020209 100644 id, old_val, val); } -@@ -341,7 +341,7 @@ static int video_get_format(struct device *dev) +@@ -504,7 +504,7 @@ static int video_get_format(struct device *dev) ret = ioctl(dev->fd, VIDIOC_G_FMT, &fmt); if (ret < 0) { @@ -76,16 +95,34 @@ index f3deae0..8020209 100644 errno); return ret; } -@@ -351,7 +351,7 @@ static int video_get_format(struct device *dev) - dev->bytesperline = fmt.fmt.pix.bytesperline; - dev->imagesize = fmt.fmt.pix.bytesperline ? fmt.fmt.pix.sizeimage : 0; +@@ -514,7 +514,7 @@ static int video_get_format(struct device *dev) + dev->height = fmt.fmt.pix_mp.height; + dev->num_planes = fmt.fmt.pix_mp.num_planes; + +- printf("Video format: %s (%08x) %ux%u field %s, %u planes: \n", ++ fprintf(stderr, "Video format: %s (%08x) %ux%u field %s, %u planes: \n", + v4l2_format_name(fmt.fmt.pix_mp.pixelformat), fmt.fmt.pix_mp.pixelformat, + fmt.fmt.pix_mp.width, fmt.fmt.pix_mp.height, + v4l2_field_name(fmt.fmt.pix_mp.field), +@@ -527,7 +527,7 @@ static int video_get_format(struct device *dev) + fmt.fmt.pix_mp.plane_fmt[i].bytesperline ? + fmt.fmt.pix_mp.plane_fmt[i].sizeimage : 0; + +- printf(" * Stride %u, buffer size %u\n", ++ fprintf(stderr, " * Stride %u, buffer size %u\n", + fmt.fmt.pix_mp.plane_fmt[i].bytesperline, + fmt.fmt.pix_mp.plane_fmt[i].sizeimage); + } +@@ -539,7 +539,7 @@ static int video_get_format(struct device *dev) + dev->plane_fmt[0].bytesperline = fmt.fmt.pix.bytesperline; + dev->plane_fmt[0].sizeimage = fmt.fmt.pix.bytesperline ? fmt.fmt.pix.sizeimage : 0; -- printf("Video format: %s (%08x) %ux%u (stride %u) buffer size %u\n", -+ fprintf(stderr, "Video format: %s (%08x) %ux%u (stride %u) buffer size %u\n", - v4l2_format_name(fmt.fmt.pix.pixelformat), fmt.fmt.pix.pixelformat, - fmt.fmt.pix.width, fmt.fmt.pix.height, fmt.fmt.pix.bytesperline, - fmt.fmt.pix.sizeimage); -@@ -374,12 +374,12 @@ static int video_set_format(struct device *dev, unsigned int w, unsigned int h, +- printf("Video format: %s (%08x) %ux%u (stride %u) field %s buffer size %u\n", ++ fprintf(stderr, "Video format: %s (%08x) %ux%u (stride %u) field %s buffer size %u\n", + v4l2_format_name(fmt.fmt.pix.pixelformat), fmt.fmt.pix.pixelformat, + fmt.fmt.pix.width, fmt.fmt.pix.height, fmt.fmt.pix.bytesperline, + v4l2_field_name(fmt.fmt.pix_mp.field), +@@ -581,25 +581,25 @@ static int video_set_format(struct device *dev, unsigned int w, unsigned int h, ret = ioctl(dev->fd, VIDIOC_S_FMT, &fmt); if (ret < 0) { @@ -95,12 +132,27 @@ index f3deae0..8020209 100644 return ret; } -- printf("Video format set: %s (%08x) %ux%u (stride %u) buffer size %u\n", -+ fprintf(stderr, "Video format set: %s (%08x) %ux%u (stride %u) buffer size %u\n", - v4l2_format_name(fmt.fmt.pix.pixelformat), fmt.fmt.pix.pixelformat, - fmt.fmt.pix.width, fmt.fmt.pix.height, fmt.fmt.pix.bytesperline, - fmt.fmt.pix.sizeimage); -@@ -396,16 +396,16 @@ static int video_set_framerate(struct device *dev, struct v4l2_fract *time_per_f + if (video_is_mplane(dev)) { +- printf("Video format set: %s (%08x) %ux%u field %s, %u planes: \n", ++ fprintf(stderr, "Video format set: %s (%08x) %ux%u field %s, %u planes: \n", + v4l2_format_name(fmt.fmt.pix_mp.pixelformat), fmt.fmt.pix_mp.pixelformat, + fmt.fmt.pix_mp.width, fmt.fmt.pix_mp.height, + v4l2_field_name(fmt.fmt.pix_mp.field), + fmt.fmt.pix_mp.num_planes); + + for (i = 0; i < fmt.fmt.pix_mp.num_planes; i++) { +- printf(" * Stride %u, buffer size %u\n", ++ fprintf(stderr, " * Stride %u, buffer size %u\n", + fmt.fmt.pix_mp.plane_fmt[i].bytesperline, + fmt.fmt.pix_mp.plane_fmt[i].sizeimage); + } + } else { +- printf("Video format set: %s (%08x) %ux%u (stride %u) field %s buffer size %u\n", ++ fprintf(stderr, "Video format set: %s (%08x) %ux%u (stride %u) field %s buffer size %u\n", + v4l2_format_name(fmt.fmt.pix.pixelformat), fmt.fmt.pix.pixelformat, + fmt.fmt.pix.width, fmt.fmt.pix.height, fmt.fmt.pix.bytesperline, + v4l2_field_name(fmt.fmt.pix.field), +@@ -619,16 +619,16 @@ static int video_set_framerate(struct device *dev, struct v4l2_fract *time_per_f ret = ioctl(dev->fd, VIDIOC_G_PARM, &parm); if (ret < 0) { @@ -120,7 +172,7 @@ index f3deae0..8020209 100644 time_per_frame->numerator, time_per_frame->denominator); -@@ -414,19 +414,19 @@ static int video_set_framerate(struct device *dev, struct v4l2_fract *time_per_f +@@ -637,19 +637,19 @@ static int video_set_framerate(struct device *dev, struct v4l2_fract *time_per_f ret = ioctl(dev->fd, VIDIOC_S_PARM, &parm); if (ret < 0) { @@ -143,7 +195,52 @@ index f3deae0..8020209 100644 parm.parm.capture.timeperframe.numerator, parm.parm.capture.timeperframe.denominator); return 0; -@@ -449,12 +449,12 @@ static int video_alloc_buffers(struct device *dev, int nbufs, +@@ -674,7 +674,7 @@ static int video_buffer_mmap(struct device *dev, struct buffer *buffer, + buffer->mem[i] = mmap(0, length, PROT_READ | PROT_WRITE, MAP_SHARED, + dev->fd, offset); + if (buffer->mem[i] == MAP_FAILED) { +- printf("Unable to map buffer %u/%u: %s (%d)\n", ++ fprintf(stderr, "Unable to map buffer %u/%u: %s (%d)\n", + buffer->idx, i, strerror(errno), errno); + return -1; + } +@@ -682,7 +682,7 @@ static int video_buffer_mmap(struct device *dev, struct buffer *buffer, + buffer->size[i] = length; + buffer->padding[i] = 0; + +- printf("Buffer %u/%u mapped at address %p.\n", ++ fprintf(stderr, "Buffer %u/%u mapped at address %p.\n", + buffer->idx, i, buffer->mem[i]); + } + +@@ -697,7 +697,7 @@ static int video_buffer_munmap(struct device *dev, struct buffer *buffer) + for (i = 0; i < dev->num_planes; i++) { + ret = munmap(buffer->mem[i], buffer->size[i]); + if (ret < 0) { +- printf("Unable to unmap buffer %u/%u: %s (%d)\n", ++ fprintf(stderr, "Unable to unmap buffer %u/%u: %s (%d)\n", + buffer->idx, i, strerror(errno), errno); + } + +@@ -725,7 +725,7 @@ static int video_buffer_alloc_userptr(struct device *dev, struct buffer *buffer, + ret = posix_memalign(&buffer->mem[i], page_size, + length + offset + padding); + if (ret < 0) { +- printf("Unable to allocate buffer %u/%u (%d)\n", ++ fprintf(stderr, "Unable to allocate buffer %u/%u (%d)\n", + buffer->idx, i, ret); + return -ENOMEM; + } +@@ -734,7 +734,7 @@ static int video_buffer_alloc_userptr(struct device *dev, struct buffer *buffer, + buffer->size[i] = length; + buffer->padding[i] = padding; + +- printf("Buffer %u/%u allocated at address %p.\n", ++ fprintf(stderr, "Buffer %u/%u allocated at address %p.\n", + buffer->idx, i, buffer->mem[i]); + } + +@@ -809,12 +809,12 @@ static int video_alloc_buffers(struct device *dev, int nbufs, ret = ioctl(dev->fd, VIDIOC_REQBUFS, &rb); if (ret < 0) { @@ -158,8 +255,8 @@ index f3deae0..8020209 100644 buffers = malloc(rb.count * sizeof buffers[0]); if (buffers == NULL) -@@ -470,35 +470,35 @@ static int video_alloc_buffers(struct device *dev, int nbufs, - buf.memory = dev->memtype; +@@ -835,12 +835,12 @@ static int video_alloc_buffers(struct device *dev, int nbufs, + ret = ioctl(dev->fd, VIDIOC_QUERYBUF, &buf); if (ret < 0) { - printf("Unable to query buffer %u: %s (%d).\n", i, @@ -167,49 +264,13 @@ index f3deae0..8020209 100644 strerror(errno), errno); return ret; } -- printf("length: %u offset: %u\n", buf.length, buf.m.offset); -+ fprintf(stderr, "length: %u offset: %u\n", buf.length, buf.m.offset); - - switch (dev->memtype) { - case V4L2_MEMORY_MMAP: - buffers[i].mem = mmap(0, buf.length, PROT_READ | PROT_WRITE, MAP_SHARED, dev->fd, buf.m.offset); - if (buffers[i].mem == MAP_FAILED) { -- printf("Unable to map buffer %u: %s (%d)\n", i, -+ fprintf(stderr, "Unable to map buffer %u: %s (%d)\n", i, - strerror(errno), errno); - return ret; - } - buffers[i].size = buf.length; - buffers[i].padding = 0; -- printf("Buffer %u mapped at address %p.\n", i, buffers[i].mem); -+ fprintf(stderr, "Buffer %u mapped at address %p.\n", i, buffers[i].mem); - break; - - case V4L2_MEMORY_USERPTR: - ret = posix_memalign(&buffers[i].mem, page_size, buf.length + offset + padding); - if (ret < 0) { -- printf("Unable to allocate buffer %u (%d)\n", i, ret); -+ fprintf(stderr, "Unable to allocate buffer %u (%d)\n", i, ret); - return -ENOMEM; - } - buffers[i].mem += offset; - buffers[i].size = buf.length; - buffers[i].padding = padding; -- printf("Buffer %u allocated at address %p.\n", i, buffers[i].mem); -+ fprintf(stderr, "Buffer %u allocated at address %p.\n", i, buffers[i].mem); - break; + get_ts_flags(buf.flags, &ts_type, &ts_source); +- printf("length: %u offset: %u timestamp type/source: %s/%s\n", ++ fprintf(stderr, "length: %u offset: %u timestamp type/source: %s/%s\n", + buf.length, buf.m.offset, ts_type, ts_source); - default: -@@ -525,7 +525,7 @@ static int video_free_buffers(struct device *dev) - case V4L2_MEMORY_MMAP: - ret = munmap(dev->buffers[i].mem, dev->buffers[i].size); - if (ret < 0) { -- printf("Unable to unmap buffer %u: %s (%d)\n", i, -+ fprintf(stderr, "Unable to unmap buffer %u: %s (%d)\n", i, - strerror(errno), errno); - return ret; - } -@@ -549,12 +549,12 @@ static int video_free_buffers(struct device *dev) + buffers[i].idx = i; +@@ -899,12 +899,12 @@ static int video_free_buffers(struct device *dev) ret = ioctl(dev->fd, VIDIOC_REQBUFS, &rb); if (ret < 0) { @@ -224,7 +285,7 @@ index f3deae0..8020209 100644 free(dev->buffers); dev->nbufs = 0; -@@ -589,7 +589,7 @@ static int video_queue_buffer(struct device *dev, int index, enum buffer_fill_mo +@@ -974,7 +974,7 @@ static int video_queue_buffer(struct device *dev, int index, enum buffer_fill_mo ret = ioctl(dev->fd, VIDIOC_QBUF, &buf); if (ret < 0) @@ -233,7 +294,7 @@ index f3deae0..8020209 100644 strerror(errno), errno); return ret; -@@ -602,7 +602,7 @@ static int video_enable(struct device *dev, int enable) +@@ -987,7 +987,7 @@ static int video_enable(struct device *dev, int enable) ret = ioctl(dev->fd, enable ? VIDIOC_STREAMON : VIDIOC_STREAMOFF, &type); if (ret < 0) { @@ -242,19 +303,20 @@ index f3deae0..8020209 100644 enable ? "start" : "stop", strerror(errno), errno); return ret; } -@@ -623,9 +623,9 @@ static void video_query_menu(struct device *dev, struct v4l2_queryctrl *query) +@@ -1009,10 +1009,10 @@ static void video_query_menu(struct device *dev, struct v4l2_queryctrl *query, continue; if (query->type == V4L2_CTRL_TYPE_MENU) -- printf(" %u: %.32s\n", menu.index, menu.name); -+ fprintf(stderr, " %u: %.32s\n", menu.index, menu.name); +- printf(" %u: %.32s%s\n", menu.index, menu.name, ++ fprintf(stderr, " %u: %.32s%s\n", menu.index, menu.name, + menu.index == value ? " (*)" : ""); else -- printf(" %u: %lld\n", menu.index, menu.value); -+ fprintf(stderr, " %u: %lld\n", menu.index, menu.value); +- printf(" %u: %lld%s\n", menu.index, menu.value, ++ fprintf(stderr, " %u: %lld%s\n", menu.index, menu.value, + menu.index == value ? " (*)" : ""); }; } - -@@ -655,7 +655,7 @@ static void video_list_controls(struct device *dev) +@@ -1043,7 +1043,7 @@ static void video_list_controls(struct device *dev) continue; if (query.type == V4L2_CTRL_TYPE_CTRL_CLASS) { @@ -263,7 +325,7 @@ index f3deae0..8020209 100644 continue; } -@@ -665,7 +665,7 @@ static void video_list_controls(struct device *dev) +@@ -1053,7 +1053,7 @@ static void video_list_controls(struct device *dev) else sprintf(value, "%" PRId64, val64); @@ -272,7 +334,7 @@ index f3deae0..8020209 100644 query.id, query.name, query.minimum, query.maximum, query.step, query.default_value, value); -@@ -677,9 +677,9 @@ static void video_list_controls(struct device *dev) +@@ -1065,9 +1065,9 @@ static void video_list_controls(struct device *dev) } if (nctrls) @@ -284,7 +346,7 @@ index f3deae0..8020209 100644 } static void video_enum_frame_intervals(struct device *dev, __u32 pixelformat, -@@ -700,30 +700,30 @@ static void video_enum_frame_intervals(struct device *dev, __u32 pixelformat, +@@ -1088,30 +1088,30 @@ static void video_enum_frame_intervals(struct device *dev, __u32 pixelformat, break; if (i != ival.index) @@ -322,7 +384,7 @@ index f3deae0..8020209 100644 ival.stepwise.min.numerator, ival.stepwise.min.denominator, ival.stepwise.max.numerator, -@@ -731,7 +731,7 @@ static void video_enum_frame_intervals(struct device *dev, __u32 pixelformat, +@@ -1119,7 +1119,7 @@ static void video_enum_frame_intervals(struct device *dev, __u32 pixelformat, return; case V4L2_FRMIVAL_TYPE_STEPWISE: @@ -331,7 +393,7 @@ index f3deae0..8020209 100644 ival.stepwise.min.numerator, ival.stepwise.min.denominator, ival.stepwise.max.numerator, -@@ -761,23 +761,23 @@ static void video_enum_frame_sizes(struct device *dev, __u32 pixelformat) +@@ -1149,23 +1149,23 @@ static void video_enum_frame_sizes(struct device *dev, __u32 pixelformat) break; if (i != frame.index) @@ -360,7 +422,7 @@ index f3deae0..8020209 100644 frame.stepwise.min_width, frame.stepwise.min_height, frame.stepwise.max_width, -@@ -785,11 +785,11 @@ static void video_enum_frame_sizes(struct device *dev, __u32 pixelformat) +@@ -1173,11 +1173,11 @@ static void video_enum_frame_sizes(struct device *dev, __u32 pixelformat) video_enum_frame_intervals(dev, frame.pixel_format, frame.stepwise.max_width, frame.stepwise.max_height); @@ -374,7 +436,7 @@ index f3deae0..8020209 100644 frame.stepwise.min_width, frame.stepwise.min_height, frame.stepwise.max_width, -@@ -799,7 +799,7 @@ static void video_enum_frame_sizes(struct device *dev, __u32 pixelformat) +@@ -1187,7 +1187,7 @@ static void video_enum_frame_sizes(struct device *dev, __u32 pixelformat) video_enum_frame_intervals(dev, frame.pixel_format, frame.stepwise.max_width, frame.stepwise.max_height); @@ -383,7 +445,7 @@ index f3deae0..8020209 100644 break; default: -@@ -823,19 +823,19 @@ static void video_enum_formats(struct device *dev, enum v4l2_buf_type type) +@@ -1211,19 +1211,19 @@ static void video_enum_formats(struct device *dev, enum v4l2_buf_type type) break; if (i != fmt.index) @@ -409,7 +471,7 @@ index f3deae0..8020209 100644 } } -@@ -853,13 +853,13 @@ static void video_enum_inputs(struct device *dev) +@@ -1241,13 +1241,13 @@ static void video_enum_inputs(struct device *dev) break; if (i != input.index) @@ -426,7 +488,7 @@ index f3deae0..8020209 100644 } static int video_get_input(struct device *dev) -@@ -869,7 +869,7 @@ static int video_get_input(struct device *dev) +@@ -1257,7 +1257,7 @@ static int video_get_input(struct device *dev) ret = ioctl(dev->fd, VIDIOC_G_INPUT, &input); if (ret < 0) { @@ -435,7 +497,7 @@ index f3deae0..8020209 100644 strerror(errno), errno); return ret; } -@@ -884,7 +884,7 @@ static int video_set_input(struct device *dev, unsigned int input) +@@ -1272,7 +1272,7 @@ static int video_set_input(struct device *dev, unsigned int input) ret = ioctl(dev->fd, VIDIOC_S_INPUT, &_input); if (ret < 0) @@ -444,7 +506,7 @@ index f3deae0..8020209 100644 strerror(errno), errno); return ret; -@@ -903,14 +903,14 @@ static int video_set_quality(struct device *dev, unsigned int quality) +@@ -1291,14 +1291,14 @@ static int video_set_quality(struct device *dev, unsigned int quality) ret = ioctl(dev->fd, VIDIOC_S_JPEGCOMP, &jpeg); if (ret < 0) { @@ -461,87 +523,99 @@ index f3deae0..8020209 100644 return 0; } -@@ -930,7 +930,7 @@ static int video_load_test_pattern(struct device *dev, const char *filename) - - if (filename == NULL) { - if (dev->bytesperline == 0) { -- printf("Compressed format detect and no test pattern filename given.\n" -+ fprintf(stderr, "Compressed format detect and no test pattern filename given.\n" - "The test pattern can't be generated automatically.\n"); - return -EINVAL; +@@ -1313,7 +1313,7 @@ static int video_load_test_pattern(struct device *dev, const char *filename) + if (filename != NULL) { + fd = open(filename, O_RDONLY); + if (fd == -1) { +- printf("Unable to open test pattern file '%s': %s (%d).\n", ++ fprintf(stderr, "Unable to open test pattern file '%s': %s (%d).\n", + filename, strerror(errno), errno); + return -errno; } -@@ -947,7 +947,7 @@ static int video_load_test_pattern(struct device *dev, const char *filename) +@@ -1331,7 +1331,7 @@ static int video_load_test_pattern(struct device *dev, const char *filename) + if (filename != NULL) { + ret = read(fd, dev->pattern[plane], size); + if (ret != (int)size && dev->plane_fmt[plane].bytesperline != 0) { +- printf("Test pattern file size %u doesn't match image size %u\n", ++ fprintf(stderr, "Test pattern file size %u doesn't match image size %u\n", + ret, size); + ret = -EINVAL; + goto done; +@@ -1341,7 +1341,7 @@ static int video_load_test_pattern(struct device *dev, const char *filename) + unsigned int i; + + if (dev->plane_fmt[plane].bytesperline == 0) { +- printf("Compressed format detected for plane %u and no test pattern filename given.\n" ++ fprintf(stderr, "Compressed format detected for plane %u and no test pattern filename given.\n" + "The test pattern can't be generated automatically.\n", plane); + ret = -EINVAL; + goto done; +@@ -1410,7 +1410,7 @@ static void video_verify_buffer(struct device *dev, struct v4l2_buffer *buf) - fd = open(filename, O_RDONLY); - if (fd == -1) { -- printf("Unable to open test pattern file '%s': %s (%d).\n", -+ fprintf(stderr, "Unable to open test pattern file '%s': %s (%d).\n", - filename, strerror(errno), errno); - return -errno; - } -@@ -956,7 +956,7 @@ static int video_load_test_pattern(struct device *dev, const char *filename) - close(fd); + if (dev->plane_fmt[plane].sizeimage && + dev->plane_fmt[plane].sizeimage != length) +- printf("Warning: bytes used %u != image size %u for plane %u\n", ++ fprintf(stderr, "Warning: bytes used %u != image size %u for plane %u\n", + length, dev->plane_fmt[plane].sizeimage, plane); - if (ret != (int)size && dev->bytesperline != 0) { -- printf("Test pattern file size %u doesn't match image size %u\n", -+ fprintf(stderr, "Test pattern file size %u doesn't match image size %u\n", - ret, size); - return -EINVAL; - } -@@ -1012,16 +1012,16 @@ static void video_verify_buffer(struct device *dev, int index) - } + if (buffer->padding[plane] == 0) +@@ -1424,16 +1424,16 @@ static void video_verify_buffer(struct device *dev, struct v4l2_buffer *buf) + } - if (errors) { -- printf("Warning: %u bytes overwritten among %u first padding bytes\n", -+ fprintf(stderr, "Warning: %u bytes overwritten among %u first padding bytes\n", - errors, dirty); + if (errors) { +- printf("Warning: %u bytes overwritten among %u first padding bytes for plane %u\n", ++ fprintf(stderr, "Warning: %u bytes overwritten among %u first padding bytes for plane %u\n", + errors, dirty, plane); - dirty = (dirty + 15) & ~15; - dirty = dirty > 32 ? 32 : dirty; + dirty = (dirty + 15) & ~15; + dirty = dirty > 32 ? 32 : dirty; - for (i = 0; i < dirty; ++i) { -- printf("%02x ", data[i]); -+ fprintf(stderr, "%02x ", data[i]); - if (i % 16 == 15) -- printf("\n"); -+ fprintf(stderr, "\n"); + for (i = 0; i < dirty; ++i) { +- printf("%02x ", data[i]); ++ fprintf(stderr, "%02x ", data[i]); + if (i % 16 == 15) +- printf("\n"); ++ fprintf(stderr, "\n"); + } } } - } -@@ -1061,15 +1061,29 @@ static void video_save_image(struct device *dev, struct v4l2_buffer *buf, +@@ -1481,18 +1481,32 @@ static void video_save_image(struct device *dev, struct v4l2_buffer *buf, + + ret = write(fd, dev->buffers[buf->index].mem[i], length); + if (ret < 0) { +- printf("write error: %s (%d)\n", strerror(errno), errno); ++ fprintf(stderr, "write error: %s (%d)\n", strerror(errno), errno); + break; + } else if (ret != (int)length) +- printf("write error: only %d bytes written instead of %u\n", ++ fprintf(stderr, "write error: only %d bytes written instead of %u\n", + ret, length); + } close(fd); + } - if (ret < 0) -- printf("write error: %s (%d)\n", strerror(errno), errno); -+ fprintf(stderr, "write error: %s (%d)\n", strerror(errno), errno); - else if (ret != (int)buf->bytesused) -- printf("write error: only %d bytes written instead of %u\n", -+ fprintf(stderr, "write error: only %d bytes written instead of %u\n", -+ ret, buf->bytesused); -+} -+ +static void video_stdout_image(struct device *dev, struct v4l2_buffer *buf) +{ -+ int ret; ++ int ret; + -+ fprintf(stderr, "stdout"); -+ ret = fwrite(dev->buffers[buf->index].mem, buf->bytesused, 1, stdout); ++ fprintf(stderr, "stdout"); ++ ret = fwrite(dev->buffers[buf->index].mem, buf->bytesused, 1, stdout); ++ ++ if (ret < 0) ++ fprintf(stderr, "write error: %s (%d)\n", strerror(errno), errno); ++ else if (ret != (int)buf->bytesused) ++ fprintf(stderr, "write error: only %d bytes written instead of %u\n", ++ ret, buf->bytesused); ++} + -+ if (ret < 0) -+ fprintf(stderr, "write error: %s (%d)\n", strerror(errno), errno); -+ else if (ret != (int)buf->bytesused) -+ fprintf(stderr, "write error: only %d bytes written instead of %u\n", - ret, buf->bytesused); - } - static int video_do_capture(struct device *dev, unsigned int nframes, unsigned int skip, unsigned int delay, const char *pattern, - int do_requeue_last, enum buffer_fill_mode fill) + int do_requeue_last, enum buffer_fill_mode fill, int do_stdout) { - struct timespec start; - struct timeval last; -@@ -1099,7 +1113,7 @@ static int video_do_capture(struct device *dev, unsigned int nframes, + struct v4l2_plane planes[VIDEO_MAX_PLANES]; + struct v4l2_buffer buf; +@@ -1529,7 +1543,7 @@ static int video_do_capture(struct device *dev, unsigned int nframes, ret = ioctl(dev->fd, VIDIOC_DQBUF, &buf); if (ret < 0) { if (errno != EIO) { @@ -550,40 +624,26 @@ index f3deae0..8020209 100644 strerror(errno), errno); goto done; } -@@ -1111,7 +1125,7 @@ static int video_do_capture(struct device *dev, unsigned int nframes, - - if (dev->type == V4L2_BUF_TYPE_VIDEO_CAPTURE && - dev->imagesize != 0 && buf.bytesused != dev->imagesize) -- printf("Warning: bytes used %u != image size %u\n", -+ fprintf(stderr, "Warning: bytes used %u != image size %u\n", - buf.bytesused, dev->imagesize); - - if (dev->type == V4L2_BUF_TYPE_VIDEO_CAPTURE) -@@ -1124,7 +1138,7 @@ static int video_do_capture(struct device *dev, unsigned int nframes, - fps = fps ? 1000000.0 / fps : 0.0; +@@ -1550,7 +1564,7 @@ static int video_do_capture(struct device *dev, unsigned int nframes, clock_gettime(CLOCK_MONOTONIC, &ts); -- printf("%u (%u) [%c] %u %u bytes %ld.%06ld %ld.%06ld %.3f fps\n", i, buf.index, -+ fprintf(stderr, "%u (%u) [%c] %u %u bytes %ld.%06ld %ld.%06ld %.3f fps\n", i, buf.index, + get_ts_flags(buf.flags, &ts_type, &ts_source); +- printf("%u (%u) [%c] %s %u %u B %ld.%06ld %ld.%06ld %.3f fps ts %s/%s\n", i, buf.index, ++ fprintf(stderr, "%u (%u) [%c] %s %u %u B %ld.%06ld %ld.%06ld %.3f fps ts %s/%s\n", i, buf.index, (buf.flags & V4L2_BUF_FLAG_ERROR) ? 'E' : '-', + v4l2_field_name(buf.field), buf.sequence, buf.bytesused, buf.timestamp.tv_sec, - buf.timestamp.tv_usec, ts.tv_sec, ts.tv_nsec/1000, fps); -@@ -1132,8 +1146,13 @@ static int video_do_capture(struct device *dev, unsigned int nframes, - last = buf.timestamp; - - /* Save the image. */ -- if (dev->type == V4L2_BUF_TYPE_VIDEO_CAPTURE && pattern && !skip) -+ if (dev->type == V4L2_BUF_TYPE_VIDEO_CAPTURE && pattern && !skip) { +@@ -1563,6 +1577,9 @@ static int video_do_capture(struct device *dev, unsigned int nframes, + if (video_is_capture(dev) && pattern && !skip) video_save_image(dev, &buf, pattern, i); -+ } -+ -+ if (dev->type == V4L2_BUF_TYPE_VIDEO_CAPTURE && do_stdout && !skip) { -+ video_stdout_image(dev, &buf); -+ } ++ if (video_is_capture(dev) && do_stdout && !skip) ++ video_stdout_image(dev, &buf); ++ if (skip) --skip; -@@ -1149,7 +1168,7 @@ static int video_do_capture(struct device *dev, unsigned int nframes, + +@@ -1577,7 +1594,7 @@ static int video_do_capture(struct device *dev, unsigned int nframes, ret = video_queue_buffer(dev, buf.index, fill); if (ret < 0) { @@ -592,7 +652,7 @@ index f3deae0..8020209 100644 strerror(errno), errno); goto done; } -@@ -1159,7 +1178,7 @@ static int video_do_capture(struct device *dev, unsigned int nframes, +@@ -1587,7 +1604,7 @@ static int video_do_capture(struct device *dev, unsigned int nframes, video_enable(dev, 0); if (nframes == 0) { @@ -601,7 +661,7 @@ index f3deae0..8020209 100644 goto done; } -@@ -1176,7 +1195,7 @@ static int video_do_capture(struct device *dev, unsigned int nframes, +@@ -1604,7 +1621,7 @@ static int video_do_capture(struct device *dev, unsigned int nframes, bps = size/(ts.tv_nsec/1000.0+1000000.0*ts.tv_sec)*1000000.0; fps = i/(ts.tv_nsec/1000.0+1000000.0*ts.tv_sec)*1000000.0; @@ -610,12 +670,14 @@ index f3deae0..8020209 100644 i, ts.tv_sec, ts.tv_nsec/1000, fps, bps); done: -@@ -1188,37 +1207,38 @@ done: +@@ -1616,42 +1633,42 @@ done: static void usage(const char *argv0) { - printf("Usage: %s [options] device\n", argv0); - printf("Supported options:\n"); +- printf("-B, --buffer-type Buffer type (\"capture\", \"output\",\n"); +- printf(" \"capture-mplane\" or \"output-mplane\")\n"); - printf("-c, --capture[=nframes] Capture frames\n"); - printf("-C, --check-overrun Verify dequeued frames for buffer overrun\n"); - printf("-d, --delay Delay (in ms) before requeuing buffers\n"); @@ -639,14 +701,19 @@ index f3deae0..8020209 100644 - printf("-w, --set-control 'ctrl value' Set control 'ctrl' to 'value'\n"); - printf(" --enum-formats Enumerate formats\n"); - printf(" --enum-inputs Enumerate inputs\n"); +- printf(" --fd Use a numeric file descriptor insted of a device\n"); +- printf(" --field Interlaced format field order\n"); - printf(" --no-query Don't query capabilities on open\n"); - printf(" --offset User pointer buffer offset from page start\n"); - printf(" --requeue-last Requeue the last buffers before streamoff\n"); +- printf(" --timestamp-source Set timestamp source on output buffers [eof, soe]\n"); - printf(" --skip n Skip the first n frames\n"); - printf(" --sleep-forever Sleep forever after configuring the device\n"); - printf(" --stride value Line stride in bytes\n"); + fprintf(stderr, "Usage: %s [options] device\n", argv0); + fprintf(stderr, "Supported options:\n"); ++ fprintf(stderr, "-B, --buffer-type Buffer type (\"capture\", \"output\",\n"); ++ fprintf(stderr, " \"capture-mplane\" or \"output-mplane\")\n"); + fprintf(stderr, "-c, --capture[=nframes] Capture frames\n"); + fprintf(stderr, "-C, --check-overrun Verify dequeued frames for buffer overrun\n"); + fprintf(stderr, "-d, --delay Delay (in ms) before requeuing buffers\n"); @@ -655,7 +722,6 @@ index f3deae0..8020209 100644 + fprintf(stderr, "\tFor video capture devices, the first '#' character in the file name is\n"); + fprintf(stderr, "\texpanded to the frame sequence number. The default file name is\n"); + fprintf(stderr, "\t'frame-#.bin'.\n"); -+ fprintf(stderr, " --stdout write frames to stdout\n"); + fprintf(stderr, "-h, --help Show this help screen\n"); + fprintf(stderr, "-i, --input input Select the video input\n"); + fprintf(stderr, "-I, --fill-frames Fill frames with check pattern before queuing them\n"); @@ -671,32 +737,35 @@ index f3deae0..8020209 100644 + fprintf(stderr, "-w, --set-control 'ctrl value' Set control 'ctrl' to 'value'\n"); + fprintf(stderr, " --enum-formats Enumerate formats\n"); + fprintf(stderr, " --enum-inputs Enumerate inputs\n"); ++ fprintf(stderr, " --fd Use a numeric file descriptor insted of a device\n"); ++ fprintf(stderr, " --field Interlaced format field order\n"); + fprintf(stderr, " --no-query Don't query capabilities on open\n"); + fprintf(stderr, " --offset User pointer buffer offset from page start\n"); + fprintf(stderr, " --requeue-last Requeue the last buffers before streamoff\n"); ++ fprintf(stderr, " --timestamp-source Set timestamp source on output buffers [eof, soe]\n"); + fprintf(stderr, " --skip n Skip the first n frames\n"); + fprintf(stderr, " --sleep-forever Sleep forever after configuring the device\n"); + fprintf(stderr, " --stride value Line stride in bytes\n"); } #define OPT_ENUM_FORMATS 256 -@@ -1229,6 +1249,7 @@ static void usage(const char *argv0) - #define OPT_USERPTR_OFFSET 261 - #define OPT_REQUEUE_LAST 262 - #define OPT_STRIDE 263 -+#define OPT_STDOUT 264 +@@ -1665,6 +1682,7 @@ static void usage(const char *argv0) + #define OPT_FD 264 + #define OPT_TSTAMP_SRC 265 + #define OPT_FIELD 266 ++#define OPT_STDOUT 267 static struct option opts[] = { - {"capture", 2, 0, 'c'}, -@@ -1238,6 +1259,7 @@ static struct option opts[] = { - {"enum-inputs", 0, 0, OPT_ENUM_INPUTS}, + {"buffer-type", 1, 0, 'B'}, +@@ -1677,6 +1695,7 @@ static struct option opts[] = { + {"field", 1, 0, OPT_FIELD}, {"file", 2, 0, 'F'}, {"fill-frames", 0, 0, 'I'}, + {"stdout", 0, 0, OPT_STDOUT}, {"format", 1, 0, 'f'}, {"help", 0, 0, 'h'}, {"input", 1, 0, 'i'}, -@@ -1274,7 +1296,8 @@ int main(int argc, char *argv[]) +@@ -1717,7 +1736,8 @@ int main(int argc, char *argv[]) int do_list_controls = 0, do_get_control = 0, do_set_control = 0; int do_sleep_forever = 0, do_requeue_last = 0; int do_rt = 0; @@ -706,16 +775,25 @@ index f3deae0..8020209 100644 char *endptr; int c; -@@ -1321,7 +1344,7 @@ int main(int argc, char *argv[]) +@@ -1755,7 +1775,7 @@ int main(int argc, char *argv[]) + case 'B': + ret = v4l2_buf_type_from_string(optarg); + if (ret == -1) { +- printf("Bad buffer type \"%s\"\n", optarg); ++ fprintf(stderr, "Bad buffer type \"%s\"\n", optarg); + return 1; + } + video_set_buf_type(&dev, ret); +@@ -1775,7 +1795,7 @@ int main(int argc, char *argv[]) do_set_format = 1; - pixelformat = v4l2_format_code(optarg); - if (pixelformat == 0) { + info = v4l2_format_by_name(optarg); + if (info == NULL) { - printf("Unsupported video format '%s'\n", optarg); + fprintf(stderr, "Unsupported video format '%s'\n", optarg); return 1; } - break; -@@ -1357,7 +1380,7 @@ int main(int argc, char *argv[]) + pixelformat = info->fourcc; +@@ -1812,7 +1832,7 @@ int main(int argc, char *argv[]) case 'r': ctrl_name = strtol(optarg, &endptr, 0); if (*endptr != 0) { @@ -724,7 +802,7 @@ index f3deae0..8020209 100644 return 1; } do_get_control = 1; -@@ -1371,12 +1394,12 @@ int main(int argc, char *argv[]) +@@ -1826,12 +1846,12 @@ int main(int argc, char *argv[]) do_set_format = 1; width = strtol(optarg, &endptr, 10); if (*endptr != 'x' || endptr == optarg) { @@ -739,7 +817,7 @@ index f3deae0..8020209 100644 return 1; } break; -@@ -1384,12 +1407,12 @@ int main(int argc, char *argv[]) +@@ -1839,12 +1859,12 @@ int main(int argc, char *argv[]) do_set_time_per_frame = 1; time_per_frame.numerator = strtol(optarg, &endptr, 10); if (*endptr != '/' || endptr == optarg) { @@ -754,7 +832,7 @@ index f3deae0..8020209 100644 return 1; } break; -@@ -1399,12 +1422,12 @@ int main(int argc, char *argv[]) +@@ -1854,12 +1874,12 @@ int main(int argc, char *argv[]) case 'w': ctrl_name = strtol(optarg, &endptr, 0); if (*endptr != ' ' || endptr == optarg) { @@ -769,7 +847,35 @@ index f3deae0..8020209 100644 return 1; } do_set_control = 1; -@@ -1433,15 +1456,18 @@ int main(int argc, char *argv[]) +@@ -1873,16 +1893,16 @@ int main(int argc, char *argv[]) + case OPT_FD: + ret = atoi(optarg); + if (ret < 0) { +- printf("Bad file descriptor %d\n", ret); ++ fprintf(stderr, "Bad file descriptor %d\n", ret); + return 1; + } +- printf("Using file descriptor %d\n", ret); ++ fprintf(stderr, "Using file descriptor %d\n", ret); + video_set_fd(&dev, ret); + break; + case OPT_FIELD: + field = v4l2_field_from_string(optarg); + if (field == (enum v4l2_field)-1) { +- printf("Invalid field order '%s'\n", optarg); ++ fprintf(stderr, "Invalid field order '%s'\n", optarg); + return 1; + } + break; +@@ -1907,22 +1927,25 @@ int main(int argc, char *argv[]) + } else if (!strcmp(optarg, "soe")) { + dev.buffer_output_flags |= V4L2_BUF_FLAG_TSTAMP_SRC_SOE; + } else { +- printf("Invalid timestamp source %s\n", optarg); ++ fprintf(stderr, "Invalid timestamp source %s\n", optarg); + return 1; + } + break; case OPT_USERPTR_OFFSET: userptr_offset = atoi(optarg); break; @@ -791,7 +897,7 @@ index f3deae0..8020209 100644 return 1; } -@@ -1470,7 +1496,7 @@ int main(int argc, char *argv[]) +@@ -1959,7 +1982,7 @@ int main(int argc, char *argv[]) ret = get_control(&dev, ctrl_name, get_control_type(&dev, ctrl_name), &val); if (ret >= 0) @@ -800,15 +906,16 @@ index f3deae0..8020209 100644 } if (do_set_control) -@@ -1481,21 +1507,21 @@ int main(int argc, char *argv[]) +@@ -1970,7 +1993,7 @@ int main(int argc, char *argv[]) video_list_controls(&dev); if (do_enum_formats) { - printf("- Available formats:\n"); + fprintf(stderr, "- Available formats:\n"); video_enum_formats(&dev, V4L2_BUF_TYPE_VIDEO_CAPTURE); + video_enum_formats(&dev, V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE); video_enum_formats(&dev, V4L2_BUF_TYPE_VIDEO_OUTPUT); - video_enum_formats(&dev, V4L2_BUF_TYPE_VIDEO_OVERLAY); +@@ -1979,14 +2002,14 @@ int main(int argc, char *argv[]) } if (do_enum_inputs) { @@ -825,7 +932,7 @@ index f3deae0..8020209 100644 } /* Set the video format. */ -@@ -1537,7 +1563,7 @@ int main(int argc, char *argv[]) +@@ -2028,7 +2051,7 @@ int main(int argc, char *argv[]) } if (do_pause) { @@ -834,7 +941,7 @@ index f3deae0..8020209 100644 getchar(); } -@@ -1546,12 +1572,12 @@ int main(int argc, char *argv[]) +@@ -2037,12 +2060,12 @@ int main(int argc, char *argv[]) sched.sched_priority = rt_priority; ret = sched_setscheduler(0, SCHED_RR, &sched); if (ret < 0) @@ -850,5 +957,5 @@ index f3deae0..8020209 100644 return 1; } -- -1.7.10 +1.7.9.5 diff --git a/meta-oe/recipes-multimedia/v4l2apps/yavta_git.bb b/meta-oe/recipes-multimedia/v4l2apps/yavta_git.bb index a20f5915cf..d4e32dea48 100644 --- a/meta-oe/recipes-multimedia/v4l2apps/yavta_git.bb +++ b/meta-oe/recipes-multimedia/v4l2apps/yavta_git.bb @@ -4,12 +4,17 @@ LIC_FILES_CHKSUM = "file://COPYING.GPL;md5=751419260aa954499f7abaabaa882bbe" SRC_URI = "git://git.ideasonboard.org/yavta.git \ file://0001-Add-stdout-mode-to-allow-streaming-over-the-network-.patch" -SRCREV = "82ff2efdb9787737b9f21b6f4759f077c827b238" +SRCREV = "7e9f28bedc1ed3205fb5164f686aea96f27a0de2" PV = "0.0" PR = "r2" S = "${WORKDIR}/git" +# The yavta sources include copies of the headers required to build in the +# include directory. The Makefile uses CFLAGS to include these, but since +# we override the CFLAGS then we need to add this include path back in. +CFLAGS += "-I${S}/include" + do_install() { install -d ${D}${bindir} install -m 0755 yavta ${D}${bindir} diff --git a/meta-oe/recipes-multimedia/webm/libvpx.inc b/meta-oe/recipes-multimedia/webm/libvpx.inc deleted file mode 100644 index 4d8ba9d825..0000000000 --- a/meta-oe/recipes-multimedia/webm/libvpx.inc +++ /dev/null @@ -1,38 +0,0 @@ -DESCRIPTION = "vpx Multi-Format Codec SDK" -LICENSE = "BSD" - -INC_PR = "r3" - -SRC_URI = "http://webm.googlecode.com/files/libvpx-v${PV}.tar.bz2" -S = "${WORKDIR}/libvpx-v${PV}" - -# ffmpeg links with this and fails -# sysroots/armv4t-oe-linux-gnueabi/usr/lib/libvpx.a(vpx_encoder.c.o)(.text+0xc4): unresolvable R_ARM_THM_CALL relocation against symbol `memcpy@@GLIBC_2.4' -ARM_INSTRUCTION_SET = "arm" - -CFLAGS += "-fPIC" - -export CC -export LD = "${CC}" - -VPXTARGET_armv5te = "armv5te-linux-gcc" -VPXTARGET_armv6 = "armv6-linux-gcc" -VPXTARGET_armv7a = "armv7-linux-gcc" -VPXTARGET ?= "generic-gnu" - -CONFIGUREOPTS = " \ - --target=${VPXTARGET} \ - --enable-vp8 \ - --enable-libs \ - --disable-install-docs \ -" -do_configure() { - ${S}/configure ${CONFIGUREOPTS} -} -do_compile() { - oe_runmake -} -do_install() { - oe_runmake install DESTDIR=${D} -} - diff --git a/meta-oe/recipes-multimedia/webm/libvpx/0001-configure.sh-quote-local-variables.patch b/meta-oe/recipes-multimedia/webm/libvpx/0001-configure.sh-quote-local-variables.patch new file mode 100644 index 0000000000..bf94b2dce8 --- /dev/null +++ b/meta-oe/recipes-multimedia/webm/libvpx/0001-configure.sh-quote-local-variables.patch @@ -0,0 +1,40 @@ +From f45fe1668401d72c2937a52385b492216715c0f9 Mon Sep 17 00:00:00 2001 +From: James Zern <jzern@google.com> +Date: Thu, 6 Mar 2014 15:58:37 -0800 +Subject: [PATCH] configure.sh: quote local variables + +fixes issue #711 + +specifying a multiword CC, e.g., CC='gcc -m32', would cause the failure +under dash + +reported in +https://bugs.gentoo.org/show_bug.cgi?id=498136 + +patch by floppymaster at gmail dot com + +Upstream-Status: Backport [f45fe1668401d72c2937a52385b492216715c0f9] + +Change-Id: I2ba246f765646161538622739961ec0f6c2d8c2d +--- + build/make/configure.sh | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/build/make/configure.sh b/build/make/configure.sh +index 449d1b9..43f8e77 100755 +--- a/build/make/configure.sh ++++ b/build/make/configure.sh +@@ -405,8 +405,8 @@ true + } + + write_common_target_config_mk() { +- local CC=${CC} +- local CXX=${CXX} ++ local CC="${CC}" ++ local CXX="${CXX}" + enabled ccache && CC="ccache ${CC}" + enabled ccache && CXX="ccache ${CXX}" + print_webm_license $1 "##" "" +-- +1.8.3.2 + diff --git a/meta-oe/recipes-multimedia/webm/libvpx/CVE-2010-4203.patch b/meta-oe/recipes-multimedia/webm/libvpx/CVE-2010-4203.patch deleted file mode 100644 index 37f5108a51..0000000000 --- a/meta-oe/recipes-multimedia/webm/libvpx/CVE-2010-4203.patch +++ /dev/null @@ -1,69 +0,0 @@ -From: John Koleszar <jkoleszar@google.com> -Date: Thu, 4 Nov 2010 20:59:26 +0000 (-0400) -Subject: fix integer promotion bug in partition size check -X-Git-Url: https://review.webmproject.org/gitweb?p=libvpx.git;a=commitdiff_plain;h=9fb80f7170ec48e23c3c7b477149eeb37081c699 - -fix integer promotion bug in partition size check - -The check '(user_data_end - partition < partition_size)' must be -evaluated as a signed comparison, but because partition_size was -unsigned, the LHS was promoted to unsigned, causing an incorrect -result on 32-bit. Instead, check the upper and lower bounds of -the segment separately. - -Change-Id: I6266aba7fd7de084268712a3d2a81424ead7aa06 ---- - -diff --git a/vp8/decoder/decodframe.c b/vp8/decoder/decodframe.c -index 2d81d61..f5e49a1 100644 ---- a/vp8/decoder/decodframe.c -+++ b/vp8/decoder/decodframe.c -@@ -462,7 +462,8 @@ static void setup_token_decoder(VP8D_COMP *pbi, - partition_size = user_data_end - partition; - } - -- if (user_data_end - partition < partition_size) -+ if (partition + partition_size > user_data_end -+ || partition + partition_size < partition) - vpx_internal_error(&pc->error, VPX_CODEC_CORRUPT_FRAME, - "Truncated packet or corrupt partition " - "%d length", i + 1); -@@ -580,7 +581,8 @@ int vp8_decode_frame(VP8D_COMP *pbi) - (data[0] | (data[1] << 8) | (data[2] << 16)) >> 5; - data += 3; - -- if (data_end - data < first_partition_length_in_bytes) -+ if (data + first_partition_length_in_bytes > data_end -+ || data + first_partition_length_in_bytes < data) - vpx_internal_error(&pc->error, VPX_CODEC_CORRUPT_FRAME, - "Truncated packet or corrupt partition 0 length"); - vp8_setup_version(pc); -diff --git a/vp8/vp8_dx_iface.c b/vp8/vp8_dx_iface.c -index e7e5356..f0adf5b 100644 ---- a/vp8/vp8_dx_iface.c -+++ b/vp8/vp8_dx_iface.c -@@ -253,8 +253,11 @@ static vpx_codec_err_t vp8_peek_si(const uint8_t *data, - unsigned int data_sz, - vpx_codec_stream_info_t *si) - { -- - vpx_codec_err_t res = VPX_CODEC_OK; -+ -+ if(data + data_sz <= data) -+ res = VPX_CODEC_INVALID_PARAM; -+ else - { - /* Parse uncompresssed part of key frame header. - * 3 bytes:- including version, frame type and an offset -@@ -331,7 +334,10 @@ static vpx_codec_err_t vp8_decode(vpx_codec_alg_priv_t *ctx, - - ctx->img_avail = 0; - -- /* Determine the stream parameters */ -+ /* Determine the stream parameters. Note that we rely on peek_si to -+ * validate that we have a buffer that does not wrap around the top -+ * of the heap. -+ */ - if (!ctx->si.h) - res = ctx->base.iface->dec.peek_si(data, data_sz, &ctx->si); - diff --git a/meta-oe/recipes-multimedia/webm/libvpx/do-not-hardcode-softfp-float-api.patch b/meta-oe/recipes-multimedia/webm/libvpx/do-not-hardcode-softfp-float-api.patch deleted file mode 100644 index d871694215..0000000000 --- a/meta-oe/recipes-multimedia/webm/libvpx/do-not-hardcode-softfp-float-api.patch +++ /dev/null @@ -1,28 +0,0 @@ -From: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org> - -Upstream-Status: Inappopriate [upstream has it done in other way] - -Problem is solved upstream but we have quite old version so backporting patches -is waste of time. - ---- - build/make/configure.sh | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - ---- libvpx-v0.9.5.orig/build/make/configure.sh -+++ libvpx-v0.9.5/build/make/configure.sh -@@ -659,12 +659,12 @@ process_common_toolchain() { - if enabled iwmmxt || enabled iwmmxt2 - then - check_add_asflags -mcpu=${tgt_isa} - elif enabled armv7 - then -- check_add_cflags -march=armv7-a -mcpu=cortex-a8 -mfpu=neon -mfloat-abi=softfp #-ftree-vectorize -- check_add_asflags -mcpu=cortex-a8 -mfpu=neon -mfloat-abi=softfp #-march=armv7-a -+ check_add_cflags -march=armv7-a -mcpu=cortex-a8 -mfpu=neon #-ftree-vectorize -+ check_add_asflags -mcpu=cortex-a8 -mfpu=neon #-march=armv7-a - else - check_add_cflags -march=${tgt_isa} - check_add_asflags -march=${tgt_isa} - fi - diff --git a/meta-oe/recipes-multimedia/webm/libvpx_0.9.5.bb b/meta-oe/recipes-multimedia/webm/libvpx_0.9.5.bb deleted file mode 100644 index 597d0e14ce..0000000000 --- a/meta-oe/recipes-multimedia/webm/libvpx_0.9.5.bb +++ /dev/null @@ -1,19 +0,0 @@ -require libvpx.inc - -LIC_FILES_CHKSUM = "file://LICENSE;md5=6e8dee932c26f2dab503abf70c96d8bb" - -PR = "${INC_PR}.0" - -SRC_URI += "file://libvpx-configure-support-blank-prefix.patch \ - file://do-not-hardcode-softfp-float-api.patch \ - file://CVE-2010-4203.patch \ -" - -SRC_URI[md5sum] = "4bf2f2c76700202c1fe9201fcb0680e3" -SRC_URI[sha256sum] = "2e93968afcded113a7e218de047feecf6659a089058803a9e40fb687de5f9bfa" - -CONFIGUREOPTS += " \ - --prefix=${prefix} \ - --libdir=${libdir} \ -" - diff --git a/meta-oe/recipes-multimedia/webm/libvpx_1.3.0.bb b/meta-oe/recipes-multimedia/webm/libvpx_1.3.0.bb new file mode 100644 index 0000000000..eb19a576da --- /dev/null +++ b/meta-oe/recipes-multimedia/webm/libvpx_1.3.0.bb @@ -0,0 +1,55 @@ +SUMMARY = "VPX multi-format codec" +DESCRIPTION = "The BSD-licensed libvpx reference implementation provides en- and decoders for VP8 and VP9 bitstreams." +HOMEPAGE = "http://www.webmproject.org/code/" +BUGTRACKER = "http://code.google.com/p/webm/issues/list" +SECTION = "libs/multimedia" +LICENSE = "BSD" + +LIC_FILES_CHKSUM = "file://LICENSE;md5=d5b04755015be901744a78cc30d390d4" + +SRC_URI += "http://webm.googlecode.com/files/libvpx-v${PV}.tar.bz2 \ + file://libvpx-configure-support-blank-prefix.patch \ + file://0001-configure.sh-quote-local-variables.patch" +SRC_URI[md5sum] = "14783a148872f2d08629ff7c694eb31f" +SRC_URI[sha256sum] = "d3dcc8d84af51c6c382b214397c62402e37a799e8ebcda6f4217aef0010451a9" + +S = "${WORKDIR}/libvpx-v${PV}" + +# ffmpeg links with this and fails +# sysroots/armv4t-oe-linux-gnueabi/usr/lib/libvpx.a(vpx_encoder.c.o)(.text+0xc4): unresolvable R_ARM_THM_CALL relocation against symbol `memcpy@@GLIBC_2.4' +ARM_INSTRUCTION_SET = "arm" + +CFLAGS += "-fPIC" + +export CC +export LD = "${CC}" + +VPXTARGET_armv5te = "armv5te-linux-gcc" +VPXTARGET_armv6 = "armv6-linux-gcc" +VPXTARGET_armv7a = "armv7-linux-gcc" +VPXTARGET ?= "generic-gnu" + +CONFIGUREOPTS = " \ + --target=${VPXTARGET} \ + --enable-vp8 \ + --enable-vp9 \ + --enable-libs \ + --disable-install-docs \ + --disable-static \ + --enable-shared \ + --prefix=${prefix} \ + --libdir=${libdir} \ +" + +do_configure() { + ${S}/configure ${CONFIGUREOPTS} +} + +do_compile() { + oe_runmake +} + +do_install() { + oe_runmake install DESTDIR=${D} +} + diff --git a/meta-oe/recipes-multimedia/webp/libwebp_0.4.0.bb b/meta-oe/recipes-multimedia/webp/libwebp_0.4.0.bb new file mode 100644 index 0000000000..7663b3b0bb --- /dev/null +++ b/meta-oe/recipes-multimedia/webp/libwebp_0.4.0.bb @@ -0,0 +1,47 @@ +SUMMARY = "WebP is an image format designed for the Web" +DESCRIPTION = "WebP is a method of lossy and lossless compression that can be \ + used on a large variety of photographic, translucent and \ + graphical images found on the web. The degree of lossy \ + compression is adjustable so a user can choose the trade-off \ + between file size and image quality. WebP typically achieves \ + an average of 30% more compression than JPEG and JPEG 2000, \ + without loss of image quality." +HOMEPAGE = "https://developers.google.com/speed/webp/" +SECTION = "libs" + +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://PATENTS;md5=7ec8a34de2073ea13ea2991006246d20" + +DEPENDS = "giflib" + +SRC_URI = "https://webp.googlecode.com/files/${BP}.tar.gz" +SRC_URI[md5sum] = "c8dd1d26eb9566833aba269b86d97e68" +SRC_URI[sha256sum] = "31913577e96386556855b41d210736449445fe96cfbe9289014e9b8afa944d69" + +EXTRA_OECONF = " \ + --disable-experimental \ + --disable-wic \ + --enable-libwebpmux \ + --enable-libwebpdemux \ + --enable-threading \ +" + +inherit autotools lib_package + +PACKAGECONFIG ??= "" + +# libwebpdecoder is a subset of libwebp, don't build it unless requested +PACKAGECONFIG[decoder] = "--enable-libwebpdecoder,--disable-libwebpdecoder" + +# Apply for examples programs: cwebp and dwebp +PACKAGECONFIG[jpeg] = ",ac_cv_header_jpeglib_h=no,jpeg" +PACKAGECONFIG[png] = ",ac_cv_header_png_h=no,libpng" +PACKAGECONFIG[tiff] = ",ac_cv_header_tiffio_h=no,tiff" + +# Apply only for example program vwebp +PACKAGECONFIG[gl] = ",,mesa-glut" + +PACKAGES =+ "${PN}-gif2webp" + +DESCRIPTION_${PN}-gif2webp = "Simple tool to convert animated GIFs to WebP" +FILES_${PN}-gif2webp = "${bindir}/gif2webp" diff --git a/meta-oe/recipes-multimedia/xpext/xpext_1.0-5.bb b/meta-oe/recipes-multimedia/xpext/xpext_1.0-5.bb index 7cb84ff390..d65546d0b9 100644 --- a/meta-oe/recipes-multimedia/xpext/xpext_1.0-5.bb +++ b/meta-oe/recipes-multimedia/xpext/xpext_1.0-5.bb @@ -5,17 +5,13 @@ DEPENDS = "virtual/libx11 libxext" LIC_FILES_CHKSUM = "file://COPYING;md5=db043791349ba57ad1169e1c92477cb6" -SRC_URI = "http://repository.maemo.org/pool/maemo/ossw/source/x/${PN}/${PN}_${PV}.tar.gz \ +SRC_URI = "http://repository.maemo.org/pool/maemo/ossw/source/x/${BPN}/${BPN}_${PV}.tar.gz \ file://auxdir.patch;striplevel=0" S = "${WORKDIR}/xpext-1.0" -inherit autotools pkgconfig - -do_configure_prepend () { - cd ${S} - chmod +x ./autogen.sh - ./autogen.sh -} +inherit autotools pkgconfig distro_features_check +# depends on virtual/libx11 +REQUIRED_DISTRO_FEATURES = "x11" SRC_URI[md5sum] = "1b0cb67b6f2bd7c4abef17648b062896" SRC_URI[sha256sum] = "a3b06f5188fd9effd0799ae31352b3cd65cb913b964e2c1a923ffa9d3c08abbe" diff --git a/meta-oe/recipes-multimedia/xsp/xsp_1.0.0-8.bb b/meta-oe/recipes-multimedia/xsp/xsp_1.0.0-8.bb index 22d92ca7d8..c7a068df38 100644 --- a/meta-oe/recipes-multimedia/xsp/xsp_1.0.0-8.bb +++ b/meta-oe/recipes-multimedia/xsp/xsp_1.0.0-8.bb @@ -3,11 +3,13 @@ SUMMARY = "X Server Nokia 770 extensions library" SECTION = "x11/libs" DEPENDS = "virtual/libx11 libxext xpext" LIC_FILES_CHKSUM = "file://COPYING;md5=ea2bda168c508c7cd8afa567b2fcc549" -SRC_URI = "http://repository.maemo.org/pool/maemo/ossw/source/x/xsp/${PN}_${PV}.tar.gz \ +SRC_URI = "http://repository.maemo.org/pool/maemo/ossw/source/x/xsp/${BPN}_${PV}.tar.gz \ file://xsp-fix-pc.patch" S = "${WORKDIR}/Xsp" -inherit autotools pkgconfig +inherit autotools pkgconfig distro_features_check +# depends on virtual/libx11 +REQUIRED_DISTRO_FEATURES = "x11" SRC_URI[md5sum] = "2a0d8d02228d4cbd28b6e07bb7c17cf5" SRC_URI[sha256sum] = "8b722b952b64841d996c70c3278499886c81bb5012991beed5f66f4158418f59" diff --git a/meta-oe/recipes-navigation/foxtrotgps/foxtrotgps_1.1.1.bb b/meta-oe/recipes-navigation/foxtrotgps/foxtrotgps_1.1.1.bb index 7ed3bf2bfc..101e87e881 100644 --- a/meta-oe/recipes-navigation/foxtrotgps/foxtrotgps_1.1.1.bb +++ b/meta-oe/recipes-navigation/foxtrotgps/foxtrotgps_1.1.1.bb @@ -4,9 +4,9 @@ HOMEPAGE = "http://www.foxtrotgps.org/" SECTION = "x11/applications" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" -DEPENDS = "curl gtk+ libglade sqlite3 libexif gpsd bluez4" +DEPENDS = "curl gtk+ libglade sqlite3 libexif gpsd bluez4 intltool-native" -SRC_URI = "http://www.foxtrotgps.org/releases/${P}.tar.gz" +SRC_URI = "http://www.foxtrotgps.org/releases/${BP}.tar.gz" SRC_URI[md5sum] = "6777d448ee9d3ba195f9d26ea90e3163" SRC_URI[sha256sum] = "ae9706285510554cc0813ac92522e0d1672b0ddb065307bfacfcff3c328f6adb" diff --git a/meta-oe/recipes-navigation/gdal/gdal_1.10.1.bb b/meta-oe/recipes-navigation/gdal/gdal_1.11.1.bb index 4fa6de1169..b181b3ef8f 100644 --- a/meta-oe/recipes-navigation/gdal/gdal_1.10.1.bb +++ b/meta-oe/recipes-navigation/gdal/gdal_1.11.1.bb @@ -1,16 +1,16 @@ SUMMARY = "GDAL is a translator library for raster geospatial data formats" HOMEPAGE = "http://www.gdal.org/" LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=b9bd75ae5af7ff87ab259be0121c4106" +LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=0952e17969fab12227096b5228f23149" -DEPENDS = "proj sqlite3 tiff" +DEPENDS = "proj sqlite3 tiff json-c" -SRC_URI = "ftp://download.osgeo.org/gdal/${PV}/${P}.tar.xz" +SRC_URI = "ftp://download.osgeo.org/gdal/${PV}/${BP}.tar.xz" -SRC_URI[md5sum] = "f354c614aea76e5630e4edbf06e5c292" -SRC_URI[sha256sum] = "e6c9c6c4480228c943af29120d87435ddfe9ca460458bc60b91639fb8d443791" +SRC_URI[md5sum] = "2e126d7c6605691d38f3e71b945f5c73" +SRC_URI[sha256sum] = "20e1042cff15a71038459a299732fb342428aea9912f32df30c85790fcab6302" -inherit autotools lib_package binconfig +inherit autotools-brokensep lib_package binconfig EXTRA_OECONF = "--without-perl \ --without-php \ @@ -79,8 +79,10 @@ EXTRA_OECONF = "--without-perl \ --with-pcraster=internal \ --with-geotiff=internal \ \ - --with-sqlite3=${STAGING_LIBDIR} \ - --with-libtiff=${STAGING_LIBDIR} \ + --with-sqlite3=${STAGING_EXECPREFIXDIR} \ + --with-libtiff=${STAGING_EXECPREFIXDIR} \ + --with-libjson-c=${STAGING_EXECPREFIXDIR} \ + --with-expat=${STAGING_EXECPREFIXDIR} \ " EXTRA_OEMAKE += "INST_DATA="${datadir}/gdal"" diff --git a/meta-oe/recipes-navigation/gpsd/gpsd-3.7/0002-SConstruct-respect-sysroot-also-in-SPLINTOPTS.patch b/meta-oe/recipes-navigation/gpsd/gpsd-3.10/0001-SConstruct-respect-sysroot-also-in-SPLINTOPTS.patch index 40baa01947..c4134f4b58 100644 --- a/meta-oe/recipes-navigation/gpsd/gpsd-3.7/0002-SConstruct-respect-sysroot-also-in-SPLINTOPTS.patch +++ b/meta-oe/recipes-navigation/gpsd/gpsd-3.10/0001-SConstruct-respect-sysroot-also-in-SPLINTOPTS.patch @@ -1,22 +1,25 @@ -From f5f262be8ae54bd0c0f52802f2007ec89163756f Mon Sep 17 00:00:00 2001 +From 3c5fb3a8691ac711ea93edf8e0b42bffc62b197e Mon Sep 17 00:00:00 2001 From: Martin Jansa <Martin.Jansa@gmail.com> Date: Tue, 24 Apr 2012 11:52:35 +0200 -Subject: [PATCH 1/2] SConstruct: respect sysroot also in SPLINTOPTS +Subject: [PATCH 1/4] SConstruct: respect sysroot also in SPLINTOPTS + +Upstream-Status: Inappropriate [embedded specific] Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@no-log.org> +Signed-off-by: Peter A. Bigot <pab@pabigot.com> --- - SConstruct | 5 ++++- - 1 files changed, 4 insertions(+), 1 deletions(-) + SConstruct | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/SConstruct b/SConstruct -index a25e88a..a1bddb9 100644 +index 14e2f59..f0cafa8 100644 --- a/SConstruct +++ b/SConstruct -@@ -1277,7 +1277,10 @@ def Utility(target, source, action): - +@@ -1414,7 +1414,10 @@ def Utility(target, source, action): # Report splint warnings # Note: test_bits.c is unsplintable because of the PRI64 macros. + # If you get preprocessor or fatal errors, add +showscan. -splintopts = "-I/usr/include/libusb-1.0 +quiet" +if not env['sysroot']: + splintopts = "-I/usr/include/libusb-1.0 +quiet" @@ -26,5 +29,5 @@ index a25e88a..a1bddb9 100644 ma_status, ma = _getstatusoutput('dpkg-architecture -qDEB_HOST_MULTIARCH') if ma_status == 0: -- -1.7.5.4 +1.8.5.5 diff --git a/meta-oe/recipes-navigation/gpsd/gpsd-3.7/0004-SConstruct-remove-rpath.patch b/meta-oe/recipes-navigation/gpsd/gpsd-3.10/0002-SConstruct-remove-rpath.patch index 83b98bb5ed..083a6621f5 100644 --- a/meta-oe/recipes-navigation/gpsd/gpsd-3.7/0004-SConstruct-remove-rpath.patch +++ b/meta-oe/recipes-navigation/gpsd/gpsd-3.10/0002-SConstruct-remove-rpath.patch @@ -1,7 +1,7 @@ -From 7d736bbd517c12d19d7b85a5b0db84732b2f86da Mon Sep 17 00:00:00 2001 +From d090638ff983e509162d5e3b62aa4918de4aa5fa Mon Sep 17 00:00:00 2001 From: Martin Jansa <Martin.Jansa@gmail.com> Date: Tue, 24 Apr 2012 16:24:35 +0200 -Subject: [PATCH 2/2] SConstruct: remove rpath +Subject: [PATCH 2/4] SConstruct: remove rpath * even with correct prefix (without DESTDIR) included it's redundant WARNING: QA Issue: libgps: @@ -13,19 +13,22 @@ Subject: [PATCH 2/2] SConstruct: remove rpath in file /OE/shr-core/tmp-eglibc/work/armv4t-oe-linux-gnueabi/gpsd/gpsd-3.5-r0/packages-split/libgps/usr/lib/libgps.so.20.0 +Upstream-Status: Inapppropriate [embedded specific] + Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@no-log.org> +Signed-off-by: Peter A. Bigot <pab@pabigot.com> --- - SConstruct | 7 +++++-- - 1 files changed, 5 insertions(+), 2 deletions(-) + SConstruct | 7 +++++-- + 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/SConstruct b/SConstruct -index a1bddb9..3e7c607 100644 +index f0cafa8..ff46713 100644 --- a/SConstruct +++ b/SConstruct -@@ -1205,8 +1205,11 @@ if qt_env: +@@ -1340,8 +1340,11 @@ if qt_env: + binaryinstall.append(LibraryInstall(qt_env, installdir('libdir'), compiled_qgpsmmlib)) - # We don't use installdir here in order to avoid having DESTDIR affect the rpath if env["shared"] and env["chrpath"]: - env.AddPostAction(binaryinstall, '$CHRPATH -r "%s" "$TARGET"' \ - % (installdir('libdir', False), )) @@ -38,5 +41,5 @@ index a1bddb9..3e7c607 100644 if not env['debug'] and not env['profiling'] and env['strip']: env.AddPostAction(binaryinstall, '$STRIP $TARGET') -- -1.7.5.4 +1.8.5.5 diff --git a/meta-oe/recipes-navigation/gpsd/gpsd-3.7/0001-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch b/meta-oe/recipes-navigation/gpsd/gpsd-3.10/0003-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch index c6eb03bf2f..1d8c14b57c 100644 --- a/meta-oe/recipes-navigation/gpsd/gpsd-3.7/0001-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch +++ b/meta-oe/recipes-navigation/gpsd/gpsd-3.10/0003-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch @@ -1,8 +1,8 @@ -From dd3ca38b27cce93f7e932abaa27b41371234fa90 Mon Sep 17 00:00:00 2001 +From ad7b06d375730b30f181c5efb3bf21418f296f73 Mon Sep 17 00:00:00 2001 From: Martin Jansa <Martin.Jansa@gmail.com> Date: Tue, 24 Apr 2012 18:45:14 +0200 -Subject: [PATCH] SConstruct: prefix includepy with sysroot and drop sysroot - from python_lib_dir +Subject: [PATCH 3/4] SConstruct: prefix includepy with sysroot and drop + sysroot from python_lib_dir * without PYTHONPATH, distutil's sysconfig returns INCLUDEPY without sysroot prefix and with PYTHONPATH from OE it's pointing to native python dir @@ -30,19 +30,22 @@ Subject: [PATCH] SConstruct: prefix includepy with sysroot and drop sysroot * python_lib_dir = python_lib_dir.replace(env['sysroot'], '') returns path to target sysroot +Upstream-Status: Inappropriate [embedded specific] + Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> +Signed-off-by: Peter A. Bigot <pab@pabigot.com> --- - SConstruct | 9 +++++++++ - 1 files changed, 9 insertions(+), 0 deletions(-) + SConstruct | 9 +++++++++ + 1 file changed, 9 insertions(+) diff --git a/SConstruct b/SConstruct -index 3c919fc..8478181 100644 +index ff46713..0e518e7 100644 --- a/SConstruct +++ b/SConstruct -@@ -932,6 +932,12 @@ else: - if vars[i] is None: - vars[i] = [] - (cc, cxx, opt, basecflags, ccshared, ldshared, so_ext, includepy, ldflags) = vars +@@ -1089,6 +1089,12 @@ else: + basecflags += ' -coverage' + ldflags += ' -coverage' + ldshared += ' -coverage' + + if env['sysroot']: + print "Prefixing includepy '%s' with sysroot prefix" % includepy @@ -52,7 +55,7 @@ index 3c919fc..8478181 100644 # in case CC/CXX was set to the scan-build wrapper, # ensure that we build the python modules with scan-build, too if env['CC'] is None or env['CC'].find('scan-build') < 0: -@@ -1165,11 +1171,14 @@ if not env['python']: +@@ -1353,11 +1359,14 @@ if not env['python']: python_install = [] else: python_lib_dir = sysconfig.get_python_lib(plat_specific=1) @@ -68,5 +71,5 @@ index 3c919fc..8478181 100644 python_modules_install = python_env.Install( DESTDIR + python_module_dir, python_modules) -- -1.7.8.5 +1.8.5.5 diff --git a/meta-oe/recipes-navigation/gpsd/gpsd-3.7/0001-SConstruct-disable-html-and-man-docs-building-becaus.patch b/meta-oe/recipes-navigation/gpsd/gpsd-3.10/0004-SConstruct-disable-html-and-man-docs-building-becaus.patch index 9db24326cf..8527f0db39 100644 --- a/meta-oe/recipes-navigation/gpsd/gpsd-3.7/0001-SConstruct-disable-html-and-man-docs-building-becaus.patch +++ b/meta-oe/recipes-navigation/gpsd/gpsd-3.10/0004-SConstruct-disable-html-and-man-docs-building-becaus.patch @@ -1,7 +1,7 @@ -From ca1a781afbd68697ef2f573557f1f93ec7ab8d3c Mon Sep 17 00:00:00 2001 +From 697e2e9ff97487266d817cdd41bacc83f681e3d7 Mon Sep 17 00:00:00 2001 From: Martin Jansa <Martin.Jansa@gmail.com> Date: Sun, 29 Apr 2012 00:05:59 +0200 -Subject: [PATCH] SConstruct: disable html and man docs building because +Subject: [PATCH 4/4] SConstruct: disable html and man docs building because xmlto-native from OE is broken It will try to load dtd and fail: @@ -20,30 +20,33 @@ It will try to load dtd and fail: | scons: *** [gpsctl.1] Error 1 | scons: building terminated because of errors. +Upstream-Status: Inappropriate [disable feature] + Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> +Signed-off-by: Peter A. Bigot <pab@pabigot.com> --- - SConstruct | 4 ++-- - 1 files changed, 2 insertions(+), 2 deletions(-) + SConstruct | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/SConstruct b/SConstruct -index 9c0f751..8236abb 100644 +index 0e518e7..c01a71b 100644 --- a/SConstruct +++ b/SConstruct -@@ -560,12 +560,12 @@ size_t strlcpy(/*@out@*/char *dst, /*@in@*/const char *src, size_t size); - +@@ -704,12 +704,12 @@ size_t strlcpy(/*@out@*/char *dst, /*@in@*/const char *src, size_t size); - manbuilder = mangenerator = htmlbuilder = None --if config.CheckXsltproc(): -+if False and config.CheckXsltproc(): - mangenerator = 'xsltproc' - build = "xsltproc --nonet %s $SOURCE >$TARGET" - htmlbuilder = build % docbook_html_uri - manbuilder = build % docbook_man_uri --elif WhereIs("xmlto"): -+elif False and WhereIs("xmlto"): - mangenerator = 'xmlto' - htmlbuilder = "xmlto html-nochunks $SOURCE; mv `basename $TARGET` $TARGET" - manbuilder = "xmlto man $SOURCE; mv `basename $TARGET` $TARGET" + manbuilder = mangenerator = htmlbuilder = None + if env['manbuild']: +- if config.CheckXsltproc(): ++ if False and config.CheckXsltproc(): + mangenerator = 'xsltproc' + build = "xsltproc --nonet %s $SOURCE >$TARGET" + htmlbuilder = build % docbook_html_uri + manbuilder = build % docbook_man_uri +- elif WhereIs("xmlto"): ++ elif False and WhereIs("xmlto"): + mangenerator = 'xmlto' + xmlto = "xmlto %s $SOURCE || mv `basename $TARGET` `dirname $TARGET`" + htmlbuilder = xmlto % "html-nochunks" -- -1.7.8.6 +1.8.5.5 diff --git a/meta-oe/recipes-navigation/gpsd/gpsd_3.7.bb b/meta-oe/recipes-navigation/gpsd/gpsd_3.10.bb index c82aadca99..6d3adc18da 100644 --- a/meta-oe/recipes-navigation/gpsd/gpsd_3.7.bb +++ b/meta-oe/recipes-navigation/gpsd/gpsd_3.10.bb @@ -2,25 +2,23 @@ SUMMARY = "A TCP/IP Daemon simplifying the communication with GPS devices" SECTION = "console/network" LICENSE = "BSD" LIC_FILES_CHKSUM = "file://COPYING;md5=d217a23f408e91c94359447735bc1800" -DEPENDS = "dbus dbus-glib ncurses python libusb1 chrpath-replacement-native" +DEPENDS = "dbus dbus-glib ncurses python libusb1 chrpath-replacement-native pps-tools" PROVIDES = "virtual/gpsd" EXTRANATIVEPATH += "chrpath-native" -PR = "r14" - -SRC_URI = "${SAVANNAH_GNU_MIRROR}/${PN}/${P}.tar.gz \ - file://0002-SConstruct-respect-sysroot-also-in-SPLINTOPTS.patch \ - file://0004-SConstruct-remove-rpath.patch \ - file://0001-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch \ - file://0001-SConstruct-disable-html-and-man-docs-building-becaus.patch \ +SRC_URI = "${SAVANNAH_GNU_MIRROR}/${BPN}/${BP}.tar.gz \ + file://0001-SConstruct-respect-sysroot-also-in-SPLINTOPTS.patch \ + file://0002-SConstruct-remove-rpath.patch \ + file://0003-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch \ + file://0004-SConstruct-disable-html-and-man-docs-building-becaus.patch \ file://gpsd-default \ file://gpsd \ file://60-gpsd.rules \ file://gpsd.service \ " -SRC_URI[md5sum] = "52d9785eaf1a51298bb8900dbde88f98" -SRC_URI[sha256sum] = "7800c478ee9d7ca7a502b0f892828561b1fbf7bc69d9d38c447c82c3628302ac" +SRC_URI[md5sum] = "fc5b03aae38b9b5b6880b31924d0ace3" +SRC_URI[sha256sum] = "706fc2c1cf3dfbf87c941f543381bccc9c4dc9f8240eec407dcbf2f70b854320" inherit scons update-rc.d python-dir pythonnative systemd diff --git a/meta-oe/recipes-navigation/gypsy/gypsy.inc b/meta-oe/recipes-navigation/gypsy/gypsy.inc index 747b61d23b..7c93d0a193 100644 --- a/meta-oe/recipes-navigation/gypsy/gypsy.inc +++ b/meta-oe/recipes-navigation/gypsy/gypsy.inc @@ -11,8 +11,6 @@ DEPENDS = "glib-2.0 dbus bluez4 dbus-glib libxslt-native libxslt" inherit autotools pkgconfig gtk-doc PACKAGES += "libgypsy" -EXTRA_OECONF += "--with-distro=debian" - FILES_${PN} = " \ ${sysconfdir}/gypsy.conf \ ${sysconfdir}/dbus-1 \ diff --git a/meta-oe/recipes-navigation/libspatialite/libspatialite.inc b/meta-oe/recipes-navigation/libspatialite/libspatialite.inc index c8d7ec1e97..b5c387968f 100644 --- a/meta-oe/recipes-navigation/libspatialite/libspatialite.inc +++ b/meta-oe/recipes-navigation/libspatialite/libspatialite.inc @@ -5,7 +5,7 @@ DEPENDS = "proj geos sqlite3" INC_PR = "r0" -LICENSE = "MPLv1.1 GPLv2+ LGPLv2.1+" +LICENSE = "MPLv1.1 & GPLv2+ & LGPLv2.1+" LIC_FILES_CHKSUM = "file://COPYING;md5=0e92e1a36cc384b60f5b31dde0bdd39e" SRC_URI = "http://www.gaia-gis.it/gaia-sins/libspatialite-sources/libspatialite-${PV}.tar.gz" diff --git a/meta-oe/recipes-navigation/navit/navit.inc b/meta-oe/recipes-navigation/navit/navit.inc index eb8f43a5a2..9d4f4eccba 100644 --- a/meta-oe/recipes-navigation/navit/navit.inc +++ b/meta-oe/recipes-navigation/navit/navit.inc @@ -1,5 +1,5 @@ DESCRIPTION = "Navit is a car navigation system with routing engine." -LICENSE = "GPLv2 LGPLv2" +LICENSE = "GPLv2 & LGPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=ed539d099d6ce08de6ea0dfed9ecb333 \ file://LGPL-2;md5=3214f080875748938ba060314b4f727d \ file://GPL-2;md5=751419260aa954499f7abaabaa882bbe \ @@ -15,7 +15,7 @@ RSUGGESTS_${PN} = "flite-alsa espeak ${PN}-speech-dbus ${PN}-gui-gtk ${PN}-gui-q PE = "1" INC_PR = "r11" -inherit autotools gettext +inherit autotools gettext pkgconfig PACKAGECONFIG ?= "qt" PACKAGECONFIG[fribidi] = "--enable-fribidi,--disable-fribidi,fribidi" diff --git a/meta-oe/recipes-navigation/omgps/omgps/fix.build.with.gcc.4.9.patch b/meta-oe/recipes-navigation/omgps/omgps/fix.build.with.gcc.4.9.patch new file mode 100644 index 0000000000..1680bc0627 --- /dev/null +++ b/meta-oe/recipes-navigation/omgps/omgps/fix.build.with.gcc.4.9.patch @@ -0,0 +1,22 @@ +omgps: omgps fails compilation due to uninitialized variables + +omgps does not compile with gcc 4.9 due to uninitialized variables +with the option -Werror=maybe-uninitialized +To solve the problem, just initiated the variable and checked for side +effects. +Upstream-Status: Submitted ++https://code.google.com/p/omgps/issues/detail?id=16 + +Signed-off-by: Raphael Silva <rapphil@gmail.com> +diff -urpN omgps.orig/src/sound.c omgps/src/sound.c +--- omgps.orig/src/sound.c 2014-12-14 15:13:29.609243994 -0200 ++++ omgps/src/sound.c 2014-12-14 15:14:13.831116745 -0200 +@@ -44,7 +44,7 @@ static gboolean play_sound_files(char *f + return FALSE; + + char *bak = strdup(files); +- char *saveptr; ++ char *saveptr = NULL; + char *p = strtok_r(bak, ";", &saveptr); + + #define MAX_SOUND_FILES 14 diff --git a/meta-oe/recipes-navigation/omgps/omgps_svn.bb b/meta-oe/recipes-navigation/omgps/omgps_svn.bb index a56a51bfa1..391545e39e 100644 --- a/meta-oe/recipes-navigation/omgps/omgps_svn.bb +++ b/meta-oe/recipes-navigation/omgps/omgps_svn.bb @@ -12,6 +12,7 @@ S = "${WORKDIR}/${PN}" do_configure_prepend() { sed -i "s#PY_VERSION = 2.6#PY_VERSION = ${PYTHON_BASEVERSION}#g" ${S}/Makefile.am sed -i "s#PY_INC_DIR = \$(OPIEDIR)#PY_INC_DIR = ${STAGING_DIR_HOST}#g" ${S}/Makefile.am + sed -i "s#dist_conf_DATA = data/etc/\*\.\*#dist_conf_DATA = ${S}/data/etc/\*\.\*#g" ${S}/Makefile.am } SRC_URI = "svn://omgps.googlecode.com/svn/trunk;module=omgps;protocol=http \ @@ -22,6 +23,7 @@ SRC_URI = "svn://omgps.googlecode.com/svn/trunk;module=omgps;protocol=http \ file://fix.build.with.glib.2.34.patch \ file://gdk-pixbuf-2.26.5.patch \ file://0001-g_type_init-is-deprecated-for-glib-2.35.0.patch \ + file://fix.build.with.gcc.4.9.patch \ " -inherit autotools +inherit autotools pkgconfig diff --git a/meta-oe/recipes-navigation/orrery/orrery_2.7.bb b/meta-oe/recipes-navigation/orrery/orrery_2.7.bb index f5523e3170..e6cbffcf4e 100644 --- a/meta-oe/recipes-navigation/orrery/orrery_2.7.bb +++ b/meta-oe/recipes-navigation/orrery/orrery_2.7.bb @@ -5,7 +5,7 @@ LICENSE = "GPLv2+" LIC_FILES_CHKSUM = "file://orrery.c;endline=25;md5=d792bdf2b591972da175aecc38d88cfe" DEPENDS = "gtk+" -inherit autotools +inherit autotools-brokensep pkgconfig SRC_URI = "http://projects.openmoko.org/frs/download.php/923/orrery_2.7_clean.tar.gz \ file://orrery.png \ diff --git a/meta-oe/recipes-qt/qconnman/qconnman-e_git.bb b/meta-oe/recipes-qt/qconnman/qconnman-e_git.bb index 1033bf241f..e307a72c19 100644 --- a/meta-oe/recipes-qt/qconnman/qconnman-e_git.bb +++ b/meta-oe/recipes-qt/qconnman/qconnman-e_git.bb @@ -4,6 +4,8 @@ RCONFLICTS_${PN} = "qconnman" inherit qt4e +PNBLACKLIST[qconnman-e] ?= "BROKEN: doesn't work with B!=S, ls: cannot access *.pro: No such file or directory" + EXTRA_QMAKEVARS_PRE += "PREFIX=/usr" EXTRA_OEMAKE += "INSTALL_ROOT=${D}" diff --git a/meta-oe/recipes-qt/qconnman/qconnman_git.bb b/meta-oe/recipes-qt/qconnman/qconnman_git.bb index d298cb5217..2f8cca25a0 100644 --- a/meta-oe/recipes-qt/qconnman/qconnman_git.bb +++ b/meta-oe/recipes-qt/qconnman/qconnman_git.bb @@ -4,5 +4,7 @@ RCONFLICTS_${PN} = "qconnman-e" inherit qt4x11 +PNBLACKLIST[qconnman] ?= "BROKEN: doesn't work with B!=S, ls: cannot access *.pro: No such file or directory" + EXTRA_QMAKEVARS_PRE += "PREFIX=/usr" EXTRA_OEMAKE += "INSTALL_ROOT=${D}" diff --git a/meta-oe/recipes-sato/claws-mail/claws-mail_3.9.0.bb b/meta-oe/recipes-sato/claws-mail/claws-mail_3.9.0.bb index 831a1402c3..a8bee71328 100644 --- a/meta-oe/recipes-sato/claws-mail/claws-mail_3.9.0.bb +++ b/meta-oe/recipes-sato/claws-mail/claws-mail_3.9.0.bb @@ -1,6 +1,6 @@ SECTION = "x11/network" SUMMARY = "Mail user agent" -DEPENDS = "gtk+ libetpan openssl aspell curl" +DEPENDS = "gtk+ libetpan openssl aspell curl libgcrypt" LICENSE = "GPLv3" LIC_FILES_CHKSUM = "file://COPYING;md5=e059bde2972c1790af786f3e86bac22e" @@ -14,7 +14,7 @@ SRC_URI[archive.md5sum] = "4c5ac7b21f0ed17d0f6404124c2229a4" SRC_URI[archive.sha256sum] = "ed70975a5056b3ffc4fe6e977f0d9606febc1499763c090241b029a73ff24e65" do_configure_append() { - cd po ; for PO in *.po ; do MO=`echo $PO | sed s/\\.po//`.gmo ; if ! test -f $MO ; then msgfmt $PO -o $MO ; fi ; done + cd ${S}/po ; for PO in *.po ; do MO=`echo $PO | sed s/\\.po//`.gmo ; if ! test -f $MO ; then msgfmt $PO -o $MO ; fi ; done; cd ${B} } PACKAGECONFIG ??= "startup-notification dbus" @@ -26,8 +26,6 @@ PACKAGECONFIG[ldap] = "--enable-ldap,--disable-ldap,openldap" # FIXME: maemo builds may want --enable-maemo # FIXME: some platforms may want --enable-generic-umpc EXTRA_OECONF = " \ - --disable-aspell-test \ - --enable-aspell \ --disable-manual \ --disable-crash-dialog \ --disable-jpilot \ @@ -38,8 +36,6 @@ EXTRA_OECONF = " \ --disable-pgpmime-plugin \ --disable-pgpinline-plugin \ --disable-dillo-viewer-plugin \ - --disable-clamav-plugin \ - --disable-gnomeprint \ --disable-valgrind \ " @@ -52,7 +48,7 @@ do_install_prepend() { do_install_append() { rm -r ${D}${datadir}/icons install -d ${D}${datadir}/pixmaps - install -m 0644 claws-mail.png ${D}${datadir}/pixmaps/ + install -m 0644 ${S}/claws-mail.png ${D}${datadir}/pixmaps/ sed -i 's/Icon=[^.]*$/&.png/' ${D}${datadir}/applications/claws-mail.desktop } diff --git a/meta-oe/recipes-sato/claws-mail/claws-plugin-gtkhtml2-viewer/configure.patch b/meta-oe/recipes-sato/claws-mail/claws-plugin-gtkhtml2-viewer/configure.patch new file mode 100644 index 0000000000..222a796028 --- /dev/null +++ b/meta-oe/recipes-sato/claws-mail/claws-plugin-gtkhtml2-viewer/configure.patch @@ -0,0 +1,52 @@ +Index: gtkhtml2_viewer-0.31/configure.ac +=================================================================== +--- gtkhtml2_viewer-0.31.orig/configure.ac 2011-08-27 08:08:55.000000000 +0000 ++++ gtkhtml2_viewer-0.31/configure.ac 2014-07-18 07:28:42.769518618 +0000 +@@ -1,33 +1,27 @@ + AC_PREREQ(2.60) +-AC_INIT(src/gtkhtml2_viewer.c) ++ ++dnl plugin version ++m4_define([plugin_major_version],[0]) ++m4_define([plugin_minor_version],[31]) ++m4_define([plugin_micro_version],[0]) ++m4_define([plugin_version], [plugin_major_version.plugin_minor_version.plugin_micro_version]) ++ ++AC_INIT(gtkhml2_viewer, plugin_version) ++AC_CONFIG_SRCDIR(src/gtkhtml2_viewer.c) + AC_CONFIG_AUX_DIR(config) + AM_MAINTAINER_MODE + + PACKAGE=gtkhtml2_viewer + +-dnl plugin version +-MAJOR_VERSION=0 +-MINOR_VERSION=31 +-MICRO_VERSION=0 ++MAJOR_VERSION=plugin_major_version ++MINOR_VERSION=plugin_minor_version ++MICRO_VERSION=plugin_micro_version + EXTRA_VERSION=0 +- +-if test \( $EXTRA_VERSION -eq 0 \); then +- if test \( $MICRO_VERSION -eq 0 \); then +- VERSION=${MAJOR_VERSION}.${MINOR_VERSION} +- else +- VERSION=${MAJOR_VERSION}.${MINOR_VERSION}.${MICRO_VERSION} +- fi +-else +- if test \( $MICRO_VERSION -eq 0 \); then +- VERSION=${MAJOR_VERSION}.${MINOR_VERSION}cvs${EXTRA_VERSION} +- else +- VERSION=${MAJOR_VERSION}.${MINOR_VERSION}.${MICRO_VERSION}cvs${EXTRA_VERSION} +- fi +-fi ++VERSION=plugin_version + + AC_CANONICAL_SYSTEM + +-AM_INIT_AUTOMAKE($PACKAGE, $VERSION, no-define) ++AM_INIT_AUTOMAKE([foreign no-define]) + AC_CONFIG_HEADERS(config.h) + AC_DEFINE_UNQUOTED(PLUGINVERSION, "$VERSION", [plugin version]) + diff --git a/meta-oe/recipes-sato/claws-mail/claws-plugin-gtkhtml2-viewer_0.31.bb b/meta-oe/recipes-sato/claws-mail/claws-plugin-gtkhtml2-viewer_0.31.bb index f203cc002d..9adfd28062 100644 --- a/meta-oe/recipes-sato/claws-mail/claws-plugin-gtkhtml2-viewer_0.31.bb +++ b/meta-oe/recipes-sato/claws-mail/claws-plugin-gtkhtml2-viewer_0.31.bb @@ -6,7 +6,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=977f04a8048c04684e521c06e2844a94" PR = "r1" -SRC_URI = "http://www.claws-mail.org/downloads/plugins_obsolete/gtkhtml2_viewer-${PV}.tar.gz" +SRC_URI = "http://www.claws-mail.org/downloads/plugins_obsolete/gtkhtml2_viewer-${PV}.tar.gz \ + file://configure.patch" SRC_URI[md5sum] = "a6c9dfa6f969ccd844796a5724b52167" SRC_URI[sha256sum] = "4d41f6d961efaac0f51705e5052bac732bc0bdafee2ef2082a9cf9d89f183ae5" diff --git a/meta-oe/recipes-sato/claws-mail/claws-plugin-rssyl/configure.patch b/meta-oe/recipes-sato/claws-mail/claws-plugin-rssyl/configure.patch new file mode 100644 index 0000000000..a7a38f30c8 --- /dev/null +++ b/meta-oe/recipes-sato/claws-mail/claws-plugin-rssyl/configure.patch @@ -0,0 +1,53 @@ +Index: rssyl-0.34/configure.ac +=================================================================== +--- rssyl-0.34.orig/configure.ac 2014-07-18 07:37:28.981532959 +0000 ++++ rssyl-0.34/configure.ac 2014-07-18 07:39:45.881536690 +0000 +@@ -1,5 +1,13 @@ ++ ++dnl plugin version ++m4_define([plugin_major_version],[0]) ++m4_define([plugin_minor_version],[34]) ++m4_define([plugin_micro_version],[0]) ++m4_define([plugin_version], [plugin_major_version.plugin_minor_version.plugin_micro_version]) ++ + AC_PREREQ(2.60) +-AC_INIT(src/plugin.c) ++AC_INIT(rssyl, plugin_version) ++AC_CONFIG_SRCDIR(src/plugin.c) + AC_CONFIG_AUX_DIR(config) + AM_MAINTAINER_MODE + AC_CONFIG_HEADERS(config.h) +@@ -7,28 +15,15 @@ + PACKAGE=rssyl + + dnl plugin version +-MAJOR_VERSION=0 +-MINOR_VERSION=34 +-MICRO_VERSION=0 ++MAJOR_VERSION=plugin_major_version ++MINOR_VERSION=plugin_minor_version ++MICRO_VERSION=plugin_micro_version + EXTRA_VERSION=0 +- +-if test \( $EXTRA_VERSION -eq 0 \); then +- if test \( $MICRO_VERSION -eq 0 \); then +- VERSION=${MAJOR_VERSION}.${MINOR_VERSION} +- else +- VERSION=${MAJOR_VERSION}.${MINOR_VERSION}.${MICRO_VERSION} +- fi +-else +- if test \( $MICRO_VERSION -eq 0 \); then +- VERSION=${MAJOR_VERSION}.${MINOR_VERSION}cvs${EXTRA_VERSION} +- else +- VERSION=${MAJOR_VERSION}.${MINOR_VERSION}.${MICRO_VERSION}cvs${EXTRA_VERSION} +- fi +-fi ++VERSION=plugin_version + + AC_CANONICAL_SYSTEM + +-AM_INIT_AUTOMAKE($PACKAGE, $VERSION, no-define) ++AM_INIT_AUTOMAKE([foreign no-define]) + AC_DEFINE_UNQUOTED(PLUGINVERSION, "$VERSION", [plugin version]) + + AC_PROG_CC diff --git a/meta-oe/recipes-sato/claws-mail/claws-plugin-rssyl_0.34.bb b/meta-oe/recipes-sato/claws-mail/claws-plugin-rssyl_0.34.bb index f441c98937..cdc465c21c 100644 --- a/meta-oe/recipes-sato/claws-mail/claws-plugin-rssyl_0.34.bb +++ b/meta-oe/recipes-sato/claws-mail/claws-plugin-rssyl_0.34.bb @@ -4,7 +4,8 @@ DEPENDS = "claws-mail libxml2 curl glib-2.0 gtk+" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=0c2348e0a084e573f0220f5e45d8097e" -SRC_URI = "http://www.claws-mail.org/downloads/plugins_obsolete/rssyl-${PV}.tar.gz" +SRC_URI = "http://www.claws-mail.org/downloads/plugins_obsolete/rssyl-${PV}.tar.gz \ + file://configure.patch" SRC_URI[md5sum] = "49b45608e8d160b3625d3d50016ec2ca" SRC_URI[sha256sum] = "2e96a1cd6a1a5bb7f86cd2eb48f6e174665957fafe1f3b1e8361aac3bb967f79" inherit autotools pkgconfig gettext diff --git a/meta-oe/recipes-sato/claws-mail/sylpheed_2.7.1.bb b/meta-oe/recipes-sato/claws-mail/sylpheed_2.7.1.bb index a878220ac2..1b010a5b6c 100644 --- a/meta-oe/recipes-sato/claws-mail/sylpheed_2.7.1.bb +++ b/meta-oe/recipes-sato/claws-mail/sylpheed_2.7.1.bb @@ -7,6 +7,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=4325afd396febcb659c36b49533135d4 \ PR = "r2" +PNBLACKLIST[sylpheed] ?= "BROKEN: Doesn't work with B!=S" + SRC_URI = "http://sylpheed.sraoss.jp/sylpheed/v2.7/sylpheed-${PV}.tar.bz2 \ file://glib-2.32.patch \ " @@ -27,7 +29,7 @@ do_configure_prepend() { done } -inherit autotools +inherit autotools pkgconfig do_install_append() { install -d ${D}${datadir}/applications diff --git a/meta-oe/recipes-support/apcupsd/apcupsd_3.14.10.bb b/meta-oe/recipes-support/apcupsd/apcupsd_3.14.10.bb index 07b8ccb464..18979d574b 100644 --- a/meta-oe/recipes-support/apcupsd/apcupsd_3.14.10.bb +++ b/meta-oe/recipes-support/apcupsd/apcupsd_3.14.10.bb @@ -7,6 +7,8 @@ SRC_URI = "http://garr.dl.sourceforge.net/project/apcupsd/apcupsd%20-%20Stable/3 SRC_URI[md5sum] = "5928822d855c5cf7ac29655e3e0b8c23" SRC_URI[sha256sum] = "0707b5ec9916fbde9e44eb8d18037c8d8f75dfd6aeef51aba5487e189eef2032" +PNBLACKLIST[apcupsd] ?= "BROKEN: doesn't build with B!=S" + inherit autotools LD = "${CXX}" diff --git a/meta-oe/recipes-support/asio/asio.inc b/meta-oe/recipes-support/asio/asio.inc index c2a6b1b523..9cea824919 100644 --- a/meta-oe/recipes-support/asio/asio.inc +++ b/meta-oe/recipes-support/asio/asio.inc @@ -8,7 +8,7 @@ LICENSE = "BSL-1.0" DEPENDS = "boost" -SRC_URI = "${SOURCEFORGE_MIRROR}/asio/${PN}-${PV}.tar.bz2" +SRC_URI = "${SOURCEFORGE_MIRROR}/asio/${BP}.tar.bz2" inherit autotools diff --git a/meta-oe/recipes-support/bash-completion/bash-completion_2.1.bb b/meta-oe/recipes-support/bash-completion/bash-completion_2.1.bb index 9a0ff352d0..fbe4278d7f 100644 --- a/meta-oe/recipes-support/bash-completion/bash-completion_2.1.bb +++ b/meta-oe/recipes-support/bash-completion/bash-completion_2.1.bb @@ -23,9 +23,12 @@ do_install_append() { # Delete files already provided by util-linux local i - for i in cal dmesg eject hexdump hwclock ionice look renice rtcwake; do + for i in cal dmesg eject hexdump hwclock ionice look renice rtcwake su; do rm ${D}${datadir}/${BPN}/completions/$i done + + # Delete files for networkmanager + rm ${D}${datadir}/${BPN}/completions/nmcli } RDEPENDS_${PN} = "bash" diff --git a/meta-oe/recipes-support/ccid/ccid/no-dep-on-libfl.patch b/meta-oe/recipes-support/ccid/ccid/no-dep-on-libfl.patch new file mode 100644 index 0000000000..477cc31ad2 --- /dev/null +++ b/meta-oe/recipes-support/ccid/ccid/no-dep-on-libfl.patch @@ -0,0 +1,18 @@ +No need to link with libfl. + +Upstream-Status: Pending +Signed-off-by: Jacob Kroon <jacob.kroon@mikrodidakt.se> + +Index: ccid-1.4.8/src/Makefile.am +=================================================================== +--- ccid-1.4.8.orig/src/Makefile.am ++++ ccid-1.4.8/src/Makefile.am +@@ -53,7 +53,7 @@ PROVIDED_BY_PCSC = debug.c + endif + + libccid_la_SOURCES = $(COMMON) $(USB) $(TOKEN_PARSER) $(PROVIDED_BY_PCSC) $(T1) +-libccid_la_LIBADD = $(LEXLIB) $(LIBUSB_LIBS) $(PTHREAD_LIBS) ++libccid_la_LIBADD = $(LIBUSB_LIBS) $(PTHREAD_LIBS) + libccid_la_CFLAGS = $(PCSC_CFLAGS) $(LIBUSB_CFLAGS) $(PTHREAD_CFLAGS) \ + $(SYMBOL_VISIBILITY) -D$(CCID_VERSION) -DSIMCLIST_NO_DUMPRESTORE + libccid_la_LDFLAGS = -avoid-version diff --git a/meta-oe/recipes-support/ccid/ccid_1.4.8.bb b/meta-oe/recipes-support/ccid/ccid_1.4.8.bb index efaf72d260..078f785aba 100644 --- a/meta-oe/recipes-support/ccid/ccid_1.4.8.bb +++ b/meta-oe/recipes-support/ccid/ccid_1.4.8.bb @@ -6,11 +6,13 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1" DEPENDS = "virtual/libusb0 pcsc-lite" RDEPENDS_${PN} = "pcsc-lite" -SRC_URI = "https://alioth.debian.org/frs/download.php/file/3768/ccid-${PV}.tar.bz2" +SRC_URI = "https://alioth.debian.org/frs/download.php/file/3768/ccid-${PV}.tar.bz2 \ + file://no-dep-on-libfl.patch" + SRC_URI[md5sum] = "b6c37110f50b059a8ba94f118cfd679a" SRC_URI[sha256sum] = "7aca09fa4b9099e423402fd5df424adbafa502888710d1fda6015b6c1ff637ef" -inherit autotools +inherit autotools pkgconfig FILES_${PN} += "${libdir}/pcsc/" FILES_${PN}-dbg += "${libdir}/pcsc/drivers/*/*/*/.debug" diff --git a/meta-oe/recipes-support/ckermit/ckermit_301.bb b/meta-oe/recipes-support/ckermit/ckermit_302.bb index b255f5e7ea..32a6c03a97 100644 --- a/meta-oe/recipes-support/ckermit/ckermit_301.bb +++ b/meta-oe/recipes-support/ckermit/ckermit_302.bb @@ -7,7 +7,11 @@ HOMEPAGE = "http://www.columbia.edu/kermit/" SECTION = "console/network" LICENSE = "BSD-3-Clause" LIC_FILES_CHKSUM = "file://COPYING.TXT;md5=932ca542d6c6cb8a59a0bcd76ab67cc3" -SRC_URI = "ftp://kermit.columbia.edu/kermit/archives/cku${PV}.tar.gz;subdir=${BPN}-${PV}" + +SRC_URI = "ftp://ftp.kermitproject.org/kermit/archives/cku${PV}.tar.gz;subdir=${BPN}-${PV}" +SRC_URI[md5sum] = "eac4dbf18b45775e4cdee5a7c74762b0" +SRC_URI[sha256sum] = "0d5f2cd12bdab9401b4c836854ebbf241675051875557783c332a6a40dac0711" + export CC2 = "${CC}" export BINDIR = "${bindir}" @@ -52,6 +56,3 @@ do_install () { rm ${D}${BINDIR}/kermit-sshsub (cd ${D}${BINDIR} && ln -s ${BINDIR}/kermit kermit-sshusb) } - -SRC_URI[md5sum] = "59e80f909edf305933af8e0348dcc5d7" -SRC_URI[sha256sum] = "9793eb125f8936b079c6d7e5c3d2ff885cfedc07f9d2dd1e7db928e3029a211a" diff --git a/meta-oe/recipes-support/cryptsetup/cryptsetup_1.6.2.bb b/meta-oe/recipes-support/cryptsetup/cryptsetup_1.6.6.bb index 6c3418a0c4..d84ad2f074 100644 --- a/meta-oe/recipes-support/cryptsetup/cryptsetup_1.6.2.bb +++ b/meta-oe/recipes-support/cryptsetup/cryptsetup_1.6.6.bb @@ -11,11 +11,11 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=32107dd283b1dfeb66c9b3e6be312326" DEPENDS = "util-linux lvm2 popt libgcrypt" -SRC_URI = "http://cryptsetup.googlecode.com/files/cryptsetup-${PV}.tar.bz2" -SRC_URI[md5sum] = "cd834da49fbe92dd66df02cc5c61280f" -SRC_URI[sha256sum] = "15723f0198303d4bcb99d480b7a773918e2d319f0348457988c063bdd03e109a" +SRC_URI = "${KERNELORG_MIRROR}/linux/utils/${BPN}/v1.6/${BP}.tar.xz" +SRC_URI[md5sum] = "179c0781de59838a4e39f61b2df5ea48" +SRC_URI[sha256sum] = "2d2ce28e4e1137dd599d87884b62ef6dbf14fd7848b2a2bf7d61cf125fbd8e6f" -inherit autotools gettext +inherit autotools gettext pkgconfig # Use openssl because libgcrypt drops root privileges # if libgcrypt is linked with libcap support diff --git a/meta-oe/recipes-support/ctapi-common/ctapi-common_1.1-11.bb b/meta-oe/recipes-support/ctapi-common/ctapi-common_1.1-11.bb new file mode 100644 index 0000000000..a3b67f7e8c --- /dev/null +++ b/meta-oe/recipes-support/ctapi-common/ctapi-common_1.1-11.bb @@ -0,0 +1,23 @@ +SUMMARY = "Common files and packaging infrastructure for CT-API modules" +HOMEPAGE = "http://fedoraproject.org/" +SECTION = "System Environment/Libraries" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://../ctapi-common.LICENSE;md5=8744cd52545ecb45befebd0da6f70f0a" + +SRC_URI = "http://ftp.riken.jp/Linux/fedora/releases/20/Fedora/source/SRPMS/c/${BPN}-${PV}.fc20.src.rpm;extract=ctapi-common.LICENSE \ + http://ftp.riken.jp/Linux/fedora/releases/20/Fedora/source/SRPMS/c/${BPN}-${PV}.fc20.src.rpm;extract=ctapi-common.README" +SRC_URI[md5sum] = "f02e67487c48319376800563a2659502" +SRC_URI[sha256sum] = "32399819b0a1cac1abb2b8f0f180c572c93809faad36c46825dd536e4844c7cf" + +do_compile() { + install -pm 644 ${WORKDIR}/ctapi-common.LICENSE LICENSE + install -pm 644 ${WORKDIR}/ctapi-common.README README + echo ${libdir}/ctapi > ctapi.conf +} + +do_install() { + install -Dpm 644 ctapi.conf ${D}${sysconfdir}/ld.so.conf.d/ctapi-${TARGET_ARCH}.conf + install -dm 755 ${D}${libdir}/ctapi +} + +FILES_${PN} += "${libdir}/ctapi" diff --git a/meta-oe/recipes-support/daemonize/daemonize_git.bb b/meta-oe/recipes-support/daemonize/daemonize_git.bb index 57dc15b3f4..8b1591ceff 100644 --- a/meta-oe/recipes-support/daemonize/daemonize_git.bb +++ b/meta-oe/recipes-support/daemonize/daemonize_git.bb @@ -6,7 +6,9 @@ PV = "1.7.3+git${SRCPV}" inherit autotools -SRCREV = "93788682a4749d8b577ce6549d6d3dd6df166ba4" +SRCREV = "a4ac64a243af91dc434b7a3915f43482d528a2b1" SRC_URI = "git://github.com/bmc/daemonize.git" S = "${WORKDIR}/git" + +EXTRA_AUTORECONF += "--exclude=autoheader" diff --git a/meta-oe/recipes-support/daemontools/daemontools/0001-error.h-include-errno.h-instead-of-extern-int.diff b/meta-oe/recipes-support/daemontools/daemontools/0001-error.h-include-errno.h-instead-of-extern-int.diff new file mode 100644 index 0000000000..ce1959782a --- /dev/null +++ b/meta-oe/recipes-support/daemontools/daemontools/0001-error.h-include-errno.h-instead-of-extern-int.diff @@ -0,0 +1,25 @@ +From d3e7651e2f2492dd1031d09a99713644b604cab5 Mon Sep 17 00:00:00 2001 +From: Gerrit Pape <pape@smarden.org> +Date: Wed, 12 Dec 2007 13:44:15 +0000 +Subject: [PATCH] error.h: '#include <errno.h>' instead of 'extern int errno;' + +--- + daemontools-0.76/src/error.h | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git daemontools-0.76.orig/src/error.h daemontools-0.76/src/error.h +index 086fb55..f7e8273 100644 +--- daemontools-0.76.orig/src/error.h ++++ daemontools-0.76/src/error.h +@@ -3,7 +3,7 @@ + #ifndef ERROR_H + #define ERROR_H + +-extern int errno; ++#include <errno.h> + + extern int error_intr; + extern int error_nomem; +-- +1.5.4.2 + diff --git a/meta-oe/recipes-support/daemontools/daemontools/0002-supervise.c-.-supervise-may-be-a-symlink-if-it-s-da.diff b/meta-oe/recipes-support/daemontools/daemontools/0002-supervise.c-.-supervise-may-be-a-symlink-if-it-s-da.diff new file mode 100644 index 0000000000..73dce90726 --- /dev/null +++ b/meta-oe/recipes-support/daemontools/daemontools/0002-supervise.c-.-supervise-may-be-a-symlink-if-it-s-da.diff @@ -0,0 +1,47 @@ +From 7ee585cab1d5b68f804a5601a66ae87799c8a7c3 Mon Sep 17 00:00:00 2001 +From: Gerrit Pape <pape@smarden.org> +Date: Sun, 24 Feb 2008 10:54:26 +0000 +Subject: [PATCH] supervise.c: ./supervise may be a symlink, if it's dangling, create link target + +--- + daemontools-0.76/src/supervise.c | 17 ++++++++++++++++- + 1 files changed, 16 insertions(+), 1 deletions(-) + +diff --git daemontools-0.76.orig/src/supervise.c daemontools-0.76/src/supervise.c +index 2482ad2..f43cabf 100644 +--- daemontools-0.76.orig/src/supervise.c ++++ daemontools-0.76/src/supervise.c +@@ -208,6 +208,8 @@ void doit(void) + int main(int argc,char **argv) + { + struct stat st; ++ int r; ++ char buf[256]; + + dir = argv[1]; + if (!dir || argv[2]) +@@ -232,7 +234,20 @@ int main(int argc,char **argv) + if (errno != error_noent) + strerr_die4sys(111,FATAL,"unable to stat ",dir,"/down: "); + +- mkdir("supervise",0700); ++ if (mkdir("supervise",0700) == -1) { ++ if ((r = readlink("supervise", buf, 256)) != -1) { ++ if (r == 256) { ++ errno = EOVERFLOW; ++ strerr_die1sys(111,"unable to readlink ./supervise: "); ++ } ++ buf[r] = 0; ++ mkdir(buf, 0700); ++ } ++ else { ++ if ((errno != ENOENT) && (errno != EINVAL)) ++ strerr_die1sys(111, "unable to readlink ./supervise: "); ++ } ++ } + fdlock = open_append("supervise/lock"); + if ((fdlock == -1) || (lock_exnb(fdlock) == -1)) + strerr_die4sys(111,FATAL,"unable to acquire ",dir,"/supervise/lock: "); +-- +1.5.4.2 + diff --git a/meta-oe/recipes-support/daemontools/daemontools/cross-compile.patch b/meta-oe/recipes-support/daemontools/daemontools/cross-compile.patch new file mode 100644 index 0000000000..f164c2d10d --- /dev/null +++ b/meta-oe/recipes-support/daemontools/daemontools/cross-compile.patch @@ -0,0 +1,45 @@ +make sure it can be compiled for cross target + +1. never try to compile target binary by native gcc +2. target's chkshsgr doesn't work on native. +3. it's wrong to do target tests on native. + +Signed-off-by: Bian Naimeng <biannm@cn.fujitsu.com> + +diff -Nurp daemontools-0.76.orig/src/conf-cc daemontools-0.76/src/conf-cc +--- daemontools-0.76.orig/src/conf-cc 2001-07-13 00:49:49.000000000 +0800 ++++ daemontools-0.76/src/conf-cc 2014-11-26 09:34:38.828812162 +0800 +@@ -1,3 +1,3 @@ +-gcc -O2 -Wimplicit -Wunused -Wcomment -Wchar-subscripts -Wuninitialized -Wshadow -Wcast-qual -Wcast-align -Wwrite-strings ++${CC} -O2 -Wimplicit -Wunused -Wcomment -Wchar-subscripts -Wuninitialized -Wshadow -Wcast-qual -Wcast-align -Wwrite-strings + + This will be used to compile .c files. +diff -Nurp daemontools-0.76.orig/src/conf-ld daemontools-0.76/src/conf-ld +--- daemontools-0.76.orig/src/conf-ld 2001-07-13 00:49:49.000000000 +0800 ++++ daemontools-0.76/src/conf-ld 2014-11-26 09:34:49.880811730 +0800 +@@ -1,3 +1,3 @@ +-gcc -s ++${CC} + + This will be used to link .o files into an executable. +diff -Nurp daemontools-0.76.orig/src/Makefile daemontools-0.76/src/Makefile +--- daemontools-0.76.orig/src/Makefile 2001-07-13 00:49:49.000000000 +0800 ++++ daemontools-0.76/src/Makefile 2014-11-26 09:38:47.120802459 +0800 +@@ -165,7 +165,7 @@ hassgprm.h: choose compile hassgprm.h1 h + + hasshsgr.h: chkshsgr choose compile hasshsgr.h1 hasshsgr.h2 load \ + tryshsgr.c warn-shsgr +- ./chkshsgr || ( cat warn-shsgr; exit 1 ) ++ chkshsgr || ( cat warn-shsgr; exit 1 ) + ./choose clr tryshsgr hasshsgr.h1 hasshsgr.h2 > hasshsgr.h + + haswaitp.h: choose compile haswaitp.h1 haswaitp.h2 load trywaitp.c +@@ -265,7 +265,7 @@ readproctitle.o: compile error.h readpro + rts: envdir envuidgid fghack matchtest multilog pgrphack \ + readproctitle rts.tests setlock setuidgid softlimit supervise svc \ + svok svscan svscanboot svstat tai64n tai64nlocal +- env - /bin/sh rts.tests 2>&1 | cat -v > rts ++ echo "Warning: We can not run test on cross target." + + scan_ulong.o: compile scan.h scan_ulong.c + ./compile scan_ulong.c diff --git a/meta-oe/recipes-support/daemontools/daemontools_0.76.bb b/meta-oe/recipes-support/daemontools/daemontools_0.76.bb new file mode 100644 index 0000000000..fb87ea8ad2 --- /dev/null +++ b/meta-oe/recipes-support/daemontools/daemontools_0.76.bb @@ -0,0 +1,47 @@ +SUMMARY = "DJB daemontools" +DESCRIPTION = "supervise monitors a service. It starts the service and restarts the \ +service if it dies. The companion svc program stops, pauses, or restarts \ +the service on sysadmin request. The svstat program prints a one-line \ +status report. \ +multilog saves error messages to one or more logs. It optionally timestamps \ +each line and, for each log, includes or excludes lines matching specified \ +patterns. It automatically rotates logs to limit the amount of disk space \ +used. If the disk fills up, it pauses and tries again, without losing any \ +data." + +SECTION = "System/Servers" + +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/PD;md5=b3597d12946881e13cb3b548d1173851" +LICENSE = "PD" + +SRC_URI = "http://cr.yp.to/daemontools/${BPN}-${PV}.tar.gz \ + file://0001-error.h-include-errno.h-instead-of-extern-int.diff \ + file://0002-supervise.c-.-supervise-may-be-a-symlink-if-it-s-da.diff " + +SRC_URI_append_class-target = "file://cross-compile.patch" + +SRC_URI[md5sum] = "1871af2453d6e464034968a0fbcb2bfc" +SRC_URI[sha256sum] = "a55535012b2be7a52dcd9eccabb9a198b13be50d0384143bd3b32b8710df4c1f" + +S = "${WORKDIR}/admin/${BPN}-${PV}" + +DEPENDS += "daemontools-native" +DEPENDS_virtclass-native = "" + +do_compile() { + ./package/compile +} + +do_install() { + install -d ${D}/${bindir} +} + +do_install_append_class-native() { + install -m 755 ${S}/compile/chkshsgr ${D}/${bindir} +} + +do_install_append_class-target() { + install -m755 ${S}/command/* ${D}/${bindir} +} + +BBCLASSEXTEND = "native" diff --git a/meta-oe/recipes-support/debianutils/debianutils_4.4.bb b/meta-oe/recipes-support/debianutils/debianutils_4.4.bb deleted file mode 100644 index 30dd9a6faf..0000000000 --- a/meta-oe/recipes-support/debianutils/debianutils_4.4.bb +++ /dev/null @@ -1,58 +0,0 @@ -SUMMARY = "Miscellaneous utilities specific to Debian" -SECTION = "base" -LICENSE = "GPLv2 & SMAIL_GPL" -LIC_FILES_CHKSUM = "file://debian/copyright;md5=f01a5203d50512fc4830b4332b696a9f" - -SRC_URI = "${DEBIAN_MIRROR}/main/d/${BPN}/${BPN}_${PV}.tar.gz" -SRC_URI[md5sum] = "c0cb076754d7f4eb1e3397d00916647f" -SRC_URI[sha256sum] = "190850cdd6b5302e0a1ba1aaed1bc7074d67d3bd8d04c613f242f7145afa53a6" - -inherit autotools - -do_configure_prepend() { - sed -i -e 's:tempfile.1 which.1:which.1:g' ${S}/Makefile.am -} - -do_install_append() { - for app in ${D}${sbindir}/* ${D}${bindir}/*; do - mv $app $app.${PN} - done - if [ "${base_bindir}" != "${bindir}" ]; then - # Debian places some utils into ${base_bindir} as does busybox - install -d ${D}${base_bindir} - for app in run-parts.${PN} tempfile.${PN}; do - mv ${D}${bindir}/$app ${D}${base_bindir}/$app - done - fi -} - -pkg_prerm_${PN} () { -if [ "x$D" != "x" ]; then - echo "can't do u-a offline" ; exit 1 -else - for app in add-shell installkernel mkboot remove-shell run-parts savelog sensible-browser sensible-editor sensible-pager tempfile which ; do - update-alternatives --remove $app $app.${PN} - done -fi -} - -pkg_postinst_${PN} () { -if [ "x$D" != "x" ]; then - echo "can't do u-a offline" ; exit 1 -else - for app in add-shell installkernel mkboot remove-shell ; do - update-alternatives --install ${sbindir}/$app $app $app.${PN} 100 - done - - for app in savelog sensible-browser sensible-editor sensible-pager which ; do - update-alternatives --install ${bindir}/$app $app $app.${PN} 100 - done - - for app in run-parts tempfile ; do - update-alternatives --install ${base_bindir}/$app $app $app.${PN} 100 - done -fi -} - - - diff --git a/meta-oe/recipes-support/devicekit/devicekit-power_014.bb b/meta-oe/recipes-support/devicekit/devicekit-power_014.bb index 9484887a82..0c1245fbf3 100644 --- a/meta-oe/recipes-support/devicekit/devicekit-power_014.bb +++ b/meta-oe/recipes-support/devicekit/devicekit-power_014.bb @@ -2,7 +2,7 @@ SUMMARY = "Devicekit power" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=756cf97871f77233638937da21b025d3" -DEPENDS = "libusb-compat libusb1 udev glib-2.0 dbus-glib polkit" +DEPENDS = "libusb-compat libusb1 udev glib-2.0 dbus-glib polkit intltool-native" SRC_URI = "http://upower.freedesktop.org/releases/DeviceKit-power-${PV}.tar.gz;name=archive" SRC_URI[archive.md5sum] = "935d37f1e14b3c8a1d6dabcd9a38d3ca" diff --git a/meta-oe/recipes-support/dfu-util/dfu-util-0.4/0001-Revert-Makefile.am-Drop-static-dfu-util.patch b/meta-oe/recipes-support/dfu-util/dfu-util-0.4/0001-Revert-Makefile.am-Drop-static-dfu-util.patch deleted file mode 100644 index 9ffc5821c8..0000000000 --- a/meta-oe/recipes-support/dfu-util/dfu-util-0.4/0001-Revert-Makefile.am-Drop-static-dfu-util.patch +++ /dev/null @@ -1,49 +0,0 @@ -From b379db29534ce6fa2e185f559e817398b3feb9ea Mon Sep 17 00:00:00 2001 -From: Martin JaMa Jansa <Martin.Jansa@gmail.com> -Date: Thu, 11 Aug 2011 11:19:52 +0200 -Subject: [PATCH] Revert "Makefile.am: Drop static dfu-util" - -This reverts commit fe0426ddc04f503d148c5e5f931f16b8f674f071. - -Conflicts: - - src/Makefile.am - -Signed-off-by: Martin JaMa Jansa <Martin.Jansa@gmail.com> ---- - src/Makefile.am | 15 ++++++++++++++- - 1 files changed, 14 insertions(+), 1 deletions(-) - -diff --git a/src/Makefile.am b/src/Makefile.am -index 0674413..ed87891 100644 ---- a/src/Makefile.am -+++ b/src/Makefile.am -@@ -1,6 +1,6 @@ - AM_CFLAGS = -Wall - --bin_PROGRAMS = dfu-util -+bin_PROGRAMS = dfu-util dfu-util_static - dfu_util_SOURCES = main.c \ - dfu_load.c \ - dfu_load.h \ -@@ -11,3 +11,17 @@ dfu_util_SOURCES = main.c \ - dfu_file.h \ - quirks.c \ - quirks.h -+ -+dfu_util_static_SOURCES = main.c \ -+ dfu_load.c \ -+ dfu_load.h \ -+ dfu.c \ -+ dfu.h \ -+ usb_dfu.h \ -+ dfu_file.c \ -+ dfu_file.h \ -+ quirks.c \ -+ quirks.h -+ -+dfu_util_static_LDFLAGS = -static -+dfu_util_static_LDADD = -lusb-1.0 -lrt -lpthread --- -1.7.6 - diff --git a/meta-oe/recipes-support/dfu-util/dfu-util-0.4/no-usbpath.patch b/meta-oe/recipes-support/dfu-util/dfu-util-0.4/no-usbpath.patch deleted file mode 100644 index e4f943e5e3..0000000000 --- a/meta-oe/recipes-support/dfu-util/dfu-util-0.4/no-usbpath.patch +++ /dev/null @@ -1,20 +0,0 @@ -Index: dfu-util-0.4/configure.ac -=================================================================== ---- dfu-util-0.4.orig/configure.ac 2011-08-10 22:22:30.000000000 +0200 -+++ dfu-util-0.4/configure.ac 2011-08-10 22:22:57.000000000 +0200 -@@ -18,14 +18,12 @@ - # Checks for libraries. - PKG_CHECK_MODULES(USB, libusb-1.0 >= 1.0.0,, - AC_MSG_ERROR([*** Required libusb-1.0 >= 1.0.0 not installed ***])) --AC_CHECK_LIB([usbpath],[usb_path2devnum],,,-lusb) -- - LIBS="$LIBS $USB_LIBS" - CFLAGS="$CFLAGS $USB_CFLAGS" - - # Checks for header files. - AC_HEADER_STDC --AC_CHECK_HEADERS([stdlib.h string.h stdio.h usbpath.h]) -+AC_CHECK_HEADERS([stdlib.h string.h stdio.h]) - - # Checks for typedefs, structures, and compiler characteristics. - AC_C_CONST diff --git a/meta-oe/recipes-support/dfu-util/dfu-util-native_0.4.bb b/meta-oe/recipes-support/dfu-util/dfu-util-native_0.7.bb index ce6e566fa7..8be9d850e0 100644 --- a/meta-oe/recipes-support/dfu-util/dfu-util-native_0.4.bb +++ b/meta-oe/recipes-support/dfu-util/dfu-util-native_0.7.bb @@ -6,7 +6,7 @@ do_deploy[sstate-outputdirs] = "${DEPLOY_DIR_TOOLS}" DEPENDS = "libusb1-native" FILESPATH =. "${FILE_DIRNAME}/${BPN}-${PV}:" -SRC_URI += "file://0001-Revert-Makefile.am-Drop-static-dfu-util.patch" +SRC_URI += "file://0002-Revert-Makefile.am-Drop-static-dfu-util.patch" do_deploy() { install -d ${DEPLOY_DIR_TOOLS} diff --git a/meta-oe/recipes-support/dfu-util/dfu-util-native_svn.bb b/meta-oe/recipes-support/dfu-util/dfu-util-native_svn.bb deleted file mode 100644 index 4bed46aa70..0000000000 --- a/meta-oe/recipes-support/dfu-util/dfu-util-native_svn.bb +++ /dev/null @@ -1,16 +0,0 @@ -require dfu-util_${PV}.bb - -inherit native deploy -do_deploy[sstate-outputdirs] = "${DEPLOY_DIR_TOOLS}" - -DEPENDS = "libusb-compat usbpath-native" - -do_deploy() { - install -d ${DEPLOY_DIR_TOOLS} - install -m 0755 src/dfu-util_static ${DEPLOY_DIR_TOOLS}/dfu-util-${PV} - rm -f ${DEPLOY_DIR_TOOLS}/dfu-util - ln -sf ./dfu-util-${PV} ${DEPLOY_DIR_TOOLS}/dfu-util - -} - -addtask deploy before do_package after do_install diff --git a/meta-oe/recipes-support/dfu-util/dfu-util.inc b/meta-oe/recipes-support/dfu-util/dfu-util.inc deleted file mode 100644 index 633b829b2a..0000000000 --- a/meta-oe/recipes-support/dfu-util/dfu-util.inc +++ /dev/null @@ -1,9 +0,0 @@ -DESCRIPTION = "USB Device Firmware Upgrade utility" -SECTION = "devel" -AUTHOR = "Harald Welte <laforge@openmoko.org>" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" - -SRC_URI = "http://dfu-util.gnumonks.org/releases/dfu-util-${PV}.tar.gz" - -inherit autotools diff --git a/meta-oe/recipes-support/dfu-util/dfu-util/0001-configure.ac-Don-t-check-for-usbpath.patch b/meta-oe/recipes-support/dfu-util/dfu-util/0001-configure.ac-Don-t-check-for-usbpath.patch new file mode 100644 index 0000000000..a583c333d7 --- /dev/null +++ b/meta-oe/recipes-support/dfu-util/dfu-util/0001-configure.ac-Don-t-check-for-usbpath.patch @@ -0,0 +1,38 @@ +From 63f6f6882f3813ab22c62806feeab942579a2acf Mon Sep 17 00:00:00 2001 +From: Martin Jansa <Martin.Jansa@gmail.com> +Date: Sun, 3 Aug 2014 17:50:06 +0200 +Subject: [PATCH 1/2] configure.ac: Don't check for usbpath + +* otherwise it fails to build with -lusb + | main.o: In function `resolve_device_path': + | dfu-util/0.7-r0/dfu-util-0.7/src/main.c:371: undefined reference to `usb_path2devnum' + | collect2: error: ld returned 1 exit status + +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> +--- + configure.ac | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 700b556..fb58473 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -22,14 +22,13 @@ AS_IF([test x$native_libusb = xno], [ + PKG_CHECK_MODULES([USB], [libusb-1.0 >= 1.0.0],, + AC_MSG_ERROR([*** Required libusb-1.0 >= 1.0.0 not installed ***])) + ]) +-AC_CHECK_LIB([usbpath],[usb_path2devnum],,,-lusb) + + LIBS="$LIBS $USB_LIBS" + CFLAGS="$CFLAGS $USB_CFLAGS" + + # Checks for header files. + AC_HEADER_STDC +-AC_CHECK_HEADERS([usbpath.h windows.h]) ++AC_CHECK_HEADERS([windows.h]) + + # Checks for typedefs, structures, and compiler characteristics. + AC_C_CONST +-- +2.0.2 + diff --git a/meta-oe/recipes-support/dfu-util/dfu-util/0002-Revert-Makefile.am-Drop-static-dfu-util.patch b/meta-oe/recipes-support/dfu-util/dfu-util/0002-Revert-Makefile.am-Drop-static-dfu-util.patch new file mode 100644 index 0000000000..de17808e12 --- /dev/null +++ b/meta-oe/recipes-support/dfu-util/dfu-util/0002-Revert-Makefile.am-Drop-static-dfu-util.patch @@ -0,0 +1,67 @@ +From 440a026379ff111aaa8314db1c29ffae8f482824 Mon Sep 17 00:00:00 2001 +From: Martin JaMa Jansa <Martin.Jansa@gmail.com> +Date: Thu, 11 Aug 2011 11:19:52 +0200 +Subject: [PATCH 2/2] Revert "Makefile.am: Drop static dfu-util" + +This reverts commit fe0426ddc04f503d148c5e5f931f16b8f674f071. + +Signed-off-by: Martin JaMa Jansa <Martin.Jansa@gmail.com> +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> +--- + configure.ac | 2 +- + src/Makefile.am | 20 +++++++++++++++++++- + 2 files changed, 20 insertions(+), 2 deletions(-) + +diff --git a/configure.ac b/configure.ac +index fb58473..09b9e5a 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -23,7 +23,7 @@ AS_IF([test x$native_libusb = xno], [ + AC_MSG_ERROR([*** Required libusb-1.0 >= 1.0.0 not installed ***])) + ]) + +-LIBS="$LIBS $USB_LIBS" ++LIBS="$LIBS $USB_LIBS -lpthread" + CFLAGS="$CFLAGS $USB_CFLAGS" + + # Checks for header files. +diff --git a/src/Makefile.am b/src/Makefile.am +index 99df307..28d53f7 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -1,6 +1,6 @@ + AM_CFLAGS = -Wall + +-bin_PROGRAMS = dfu-util dfu-suffix ++bin_PROGRAMS = dfu-util dfu-util_static dfu-suffix + dfu_util_SOURCES = main.c \ + portable.h \ + dfu_load.c \ +@@ -17,6 +17,24 @@ dfu_util_SOURCES = main.c \ + quirks.c \ + quirks.h + ++dfu_util_static_SOURCES = main.c \ ++ portable.h \ ++ dfu_load.c \ ++ dfu_load.h \ ++ dfuse.c \ ++ dfuse.h \ ++ dfuse_mem.c \ ++ dfuse_mem.h \ ++ dfu.c \ ++ dfu.h \ ++ usb_dfu.h \ ++ dfu_file.c \ ++ dfu_file.h \ ++ quirks.c \ ++ quirks.h ++ ++dfu_util_static_LDFLAGS = -static ++ + dfu_suffix_SOURCES = suffix.c \ + dfu_file.h \ + dfu_file.c \ +-- +2.0.2 + diff --git a/meta-oe/recipes-support/dfu-util/dfu-util_0.1.bb b/meta-oe/recipes-support/dfu-util/dfu-util_0.1.bb deleted file mode 100644 index b63d74d1ad..0000000000 --- a/meta-oe/recipes-support/dfu-util/dfu-util_0.1.bb +++ /dev/null @@ -1,10 +0,0 @@ -require dfu-util.inc - -PR = "r1" - -DEPENDS = "virtual/libusb0 usbpath" - -BBCLASSEXTEND = "native" - -SRC_URI[md5sum] = "454b931249d29e4a6c2a2ade17858490" -SRC_URI[sha256sum] = "a27cc667be9b158fecf0ed066698e30eca0c0b3cd7a85aad2058d47ffe16f0e1" diff --git a/meta-oe/recipes-support/dfu-util/dfu-util_0.4.bb b/meta-oe/recipes-support/dfu-util/dfu-util_0.4.bb deleted file mode 100644 index 12d6af6af4..0000000000 --- a/meta-oe/recipes-support/dfu-util/dfu-util_0.4.bb +++ /dev/null @@ -1,8 +0,0 @@ -require dfu-util.inc - -DEPENDS = "libusb1" - -SRC_URI += "file://no-usbpath.patch" - -SRC_URI[md5sum] = "2cf466fabb881e8598fa02f286d3242c" -SRC_URI[sha256sum] = "f60fea987aa06ee03da22a656d1d113ac224458ec4442bcf1764a62f0930bd07" diff --git a/meta-oe/recipes-support/dfu-util/dfu-util_0.7.bb b/meta-oe/recipes-support/dfu-util/dfu-util_0.7.bb new file mode 100644 index 0000000000..7f06f8f6af --- /dev/null +++ b/meta-oe/recipes-support/dfu-util/dfu-util_0.7.bb @@ -0,0 +1,19 @@ +DESCRIPTION = "USB Device Firmware Upgrade utility" +SECTION = "devel" +AUTHOR = "Harald Welte <laforge@openmoko.org>" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" + +S = "${WORKDIR}/git" + +SRC_URI = "git://gitorious.org/dfu-util/dfu-util.git \ + file://0001-configure.ac-Don-t-check-for-usbpath.patch \ +" +SRCREV="a0a3668e0571a9b007f7d62b01e7dcfd7754ce50" + +inherit autotools pkgconfig + +DEPENDS = "libusb1" + +SRC_URI[md5sum] = "1de724551604bce1962960b7a301cc08" +SRC_URI[sha256sum] = "5d253f924fd29bc13054b664bba9aa86b865299971195969478253c1775b7e56" diff --git a/meta-oe/recipes-support/dfu-util/dfu-util_svn.bb b/meta-oe/recipes-support/dfu-util/dfu-util_svn.bb deleted file mode 100644 index 026a904f27..0000000000 --- a/meta-oe/recipes-support/dfu-util/dfu-util_svn.bb +++ /dev/null @@ -1,16 +0,0 @@ -SUMMARY = "USB Device Firmware Upgrade utility" -SECTION = "devel" -AUTHOR = "Harald Welte <laforge@openmoko.org>" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" -SRCREV = "4160" -PV = "0.1+svnr${SRCPV}" -PR = "r2" - -DEPENDS = "virtual/libusb0 usbpath" - -SRC_URI = "svn://svn.openmoko.org/trunk/src/host/;module=dfu-util;protocol=http" -S = "${WORKDIR}/dfu-util" - -inherit autotools - diff --git a/meta-oe/recipes-support/dstat/dstat_0.7.2.bb b/meta-oe/recipes-support/dstat/dstat_0.7.2.bb new file mode 100644 index 0000000000..63f1812b99 --- /dev/null +++ b/meta-oe/recipes-support/dstat/dstat_0.7.2.bb @@ -0,0 +1,23 @@ +SUMMARY = "versatile resource statics tool" +DESCRIPTION = "Dstat is a versatile replacement for vmstat, iostat, netstat and ifstat. \ +Dstat overcomes some of their limitations and adds some extra features, more counters \ +and flexibility. Dstat is handy for monitoring systems during performance tuning tests, \ +benchmarks or troubleshooting." +HOMEPAGE = "http://dag.wiee.rs/home-made/dstat" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" +SRC_URI = "git://github.com/dagwieers/dstat.git" +SRC_URI[md5sum] = "798e050e2e024f08a272dd4b0e1eba41" +SRC_URI[sha256sum] = "96d1e6ea2434e477fa97322d92778f68458d7e57bc55bc4f72e29467a52cffd1" + +SRCREV = "5251397eb8d3b284a90bfdfaec0c8e1210146e3f" + +S = "${WORKDIR}/git" + +do_compile_prepend() { + #undo the step "make docs" + sed -i -e 's/$(MAKE) -C docs docs/# $(MAKE) -C docs docs/;' ${S}/Makefile +} +do_install() { + oe_runmake 'DESTDIR=${D}' install +} diff --git a/meta-oe/recipes-support/eject/eject/eject-2.1.1-verbose.patch b/meta-oe/recipes-support/eject/eject/eject-2.1.1-verbose.patch new file mode 100644 index 0000000000..7403606065 --- /dev/null +++ b/meta-oe/recipes-support/eject/eject/eject-2.1.1-verbose.patch @@ -0,0 +1,19 @@ +Kept to help with debugging + +Upstream-Status: Pending + +Signed-off-by: Morgan Little <morgan.little@windriver.com> + +--- eject-2.1.1/eject.c.tn 2005-08-24 11:27:42.000000000 +0200 ++++ eject-2.1.1/eject.c 2005-08-24 11:33:05.000000000 +0200 +@@ -638,7 +638,9 @@ + unsigned char sense_buffer[32]; + + if ((ioctl(fd, SG_GET_VERSION_NUM, &k) < 0) || (k < 30000)) { +- printf("not an sg device, or old sg driver\n"); ++ if (v_option) { ++ printf(_("not an sg device, or old sg driver\n")); ++ } + return 0; + } + diff --git a/meta-oe/recipes-support/eject/eject/eject-2.1.5-spaces.patch b/meta-oe/recipes-support/eject/eject/eject-2.1.5-spaces.patch new file mode 100644 index 0000000000..a16c4b1ceb --- /dev/null +++ b/meta-oe/recipes-support/eject/eject/eject-2.1.5-spaces.patch @@ -0,0 +1,66 @@ +Kept to help with spaces in the mount path + +Upstream-Status: Backport + +Linux mangles spaces in mount points by changing them to an octal string +of '\040'. So lets scan the mount point and fix it up by replacing all +occurrences off '\0##' with the ASCII value of 0##. Requires a writable +string as input as we mangle in place. Some of this was taken from the +util-linux package. + +Signed-off-by: Morgan Little <morgan.little@windriver.com> +--- eject/eject.c.ori 2007-06-24 00:08:44 -0700 ++++ eject/eject.c 2007-06-24 00:12:44 -0700 +@@ -370,6 +370,30 @@ + + + /* ++ * Linux mangles spaces in mount points by changing them to an octal string ++ * of '\040'. So lets scan the mount point and fix it up by replacing all ++ * occurrences off '\0##' with the ASCII value of 0##. Requires a writable ++ * string as input as we mangle in place. Some of this was taken from the ++ * util-linux package. ++ */ ++#define octalify(a) ((a) & 7) ++#define tooctal(s) (64*octalify(s[1]) + 8*octalify(s[2]) + octalify(s[3])) ++#define isoctal(a) (((a) & ~7) == '0') ++static char *DeMangleMount(char *s) ++{ ++ char *tmp = s; ++ while ((tmp = strchr(tmp, '\\')) != NULL) { ++ if (isoctal(tmp[1]) && isoctal(tmp[2]) && isoctal(tmp[3])) { ++ tmp[0] = tooctal(tmp); ++ memmove(tmp+1, tmp+4, strlen(tmp)-3); ++ } ++ ++tmp; ++ } ++ return s; ++} ++ ++ ++/* + * Given name, such as foo, see if any of the following exist: + * + * foo (if foo starts with '.' or '/') +@@ -884,8 +908,8 @@ + if (((strcmp(s1, name) == 0) || (strcmp(s2, name) == 0)) || + ((maj != -1) && (maj == mtabmaj) && (min == mtabmin))) { + FCLOSE(fp); +- *deviceName = strdup(s1); +- *mountName = strdup(s2); ++ *deviceName = DeMangleMount(strdup(s1)); ++ *mountName = DeMangleMount(strdup(s2)); + return 1; + } + } +@@ -928,8 +952,8 @@ + rc = sscanf(line, "%1023s %1023s", s1, s2); + if (rc >= 2 && s1[0] != '#' && strcmp(s2, name) == 0) { + FCLOSE(fp); +- *deviceName = strdup(s1); +- *mountName = strdup(s2); ++ *deviceName = DeMangleMount(strdup(s1)); ++ *mountName = DeMangleMount(strdup(s2)); + return 1; + } + } diff --git a/meta-oe/recipes-support/eject/eject/eject-timeout.patch b/meta-oe/recipes-support/eject/eject/eject-timeout.patch new file mode 100644 index 0000000000..de8146f32a --- /dev/null +++ b/meta-oe/recipes-support/eject/eject/eject-timeout.patch @@ -0,0 +1,17 @@ +allow a longer timeout + +Upstream-Status: Backport + +Signed-off-by: Morgan Little <morgan.little@windriver.com> + +--- eject/eject.c.orig 2006-08-07 16:35:15.000000000 +0200 ++++ eject/eject.c 2006-08-07 16:35:54.000000000 +0200 +@@ -723,7 +723,7 @@ + io_hdr.dxfer_len = 0; + io_hdr.dxferp = inqBuff; + io_hdr.sbp = sense_buffer; +- io_hdr.timeout = 2000; ++ io_hdr.timeout = 10000; + + io_hdr.cmdp = allowRmBlk; + status = ioctl(fd, SG_IO, (void *)&io_hdr); diff --git a/meta-oe/recipes-support/eject/eject_2.1.5.bb b/meta-oe/recipes-support/eject/eject_2.1.5.bb index c47c653444..0440f0c370 100644 --- a/meta-oe/recipes-support/eject/eject_2.1.5.bb +++ b/meta-oe/recipes-support/eject/eject_2.1.5.bb @@ -7,6 +7,9 @@ inherit autotools gettext update-alternatives SRC_URI = "http://sources.openembedded.org/${BP}.tar.gz \ file://eject-2.1.5-error-return.patch \ + file://eject-2.1.1-verbose.patch \ + file://eject-2.1.5-spaces.patch \ + file://eject-timeout.patch \ " SRC_URI[md5sum] = "b96a6d4263122f1711db12701d79f738" @@ -16,6 +19,14 @@ S = "${WORKDIR}/${BPN}" PR = "r1" +do_compile_prepend() { + # PO subdir must be in build directory + if [ ! ${S} = ${B} ]; then + mkdir -p ${B}/po + cp -r ${S}/po/* ${B}/po/ + fi +} + ALTERNATIVE_${PN} = "volname eject" ALTERNATIVE_LINK_NAME[volname] = "${bindir}/volname" ALTERNATIVE_LINK_NAME[eject] = "${bindir}/eject" diff --git a/meta-oe/recipes-support/emacs/emacs_23.4.bb b/meta-oe/recipes-support/emacs/emacs_23.4.bb index 3db5da68dc..a32482883b 100644 --- a/meta-oe/recipes-support/emacs/emacs_23.4.bb +++ b/meta-oe/recipes-support/emacs/emacs_23.4.bb @@ -2,7 +2,7 @@ require emacs.inc PR = "r4" -PNBLACKLIST[emacs] = "qemu: uncaught target signal 11 (Segmentation fault) - core dumped" +PNBLACKLIST[emacs] ?= "qemu: uncaught target signal 11 (Segmentation fault) - core dumped" SRC_URI = "${GNU_MIRROR}/emacs/emacs-${PV}.tar.gz;name=tarball \ file://use-qemu.patch \ diff --git a/meta-oe/recipes-support/enca/enca/libenca-003-iconv.patch b/meta-oe/recipes-support/enca/enca/libenca-003-iconv.patch new file mode 100644 index 0000000000..dbf0fb8ea7 --- /dev/null +++ b/meta-oe/recipes-support/enca/enca/libenca-003-iconv.patch @@ -0,0 +1,28 @@ +From 7e144495093187143a3d1589f74c2eac37e4d790 Mon Sep 17 00:00:00 2001 +From: Maxime Hadjinlian <maxime.hadjinlian@gmail.com> +Date: Sun, 4 May 2014 15:49:28 +0200 +Subject: [PATCH] libiconv.m4: Fix AM_ICONV macro usage + +This patch come straight from the Buildroot source tree. + +Signed-off-by: Bernd Kuhls <berndkuhls@hotmail.com> +Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com> +--- + m4/libiconv.m4 | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/m4/libiconv.m4 b/m4/libiconv.m4 +index fc8c6f8..3a59549 100644 +--- a/m4/libiconv.m4 ++++ b/m4/libiconv.m4 +@@ -17,7 +17,7 @@ AC_REQUIRE([AC_C_CONST])dnl + dnl + + dnl Use standard iconv test +-AM_ICONV ++m4_pattern_allow([AM_ICONV]) + CONVERTOR_LIBS="$CONVERTOR_LIBS $LIBICONV" + + dnl Compile iconvcap.c and run it to determine what encodings iconv actually +-- +1.9.3 diff --git a/meta-oe/recipes-support/enca/enca_1.9.bb b/meta-oe/recipes-support/enca/enca_1.9.bb index e65a143e51..184b27e534 100644 --- a/meta-oe/recipes-support/enca/enca_1.9.bb +++ b/meta-oe/recipes-support/enca/enca_1.9.bb @@ -2,6 +2,8 @@ SUMMARY = "Enca is an Extremely Naive Charset Analyser" SECTION = "libs" HOMEPAGE = "http://trific.ath.cx/software/enca/" +DEPENDS += "gettext-native" + LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=24b9569831c46d4818450b55282476b4" @@ -9,7 +11,8 @@ SRC_URI = "http://www.sourcefiles.org/Networking/Tools/Miscellanenous/enca-${PV} file://configure-hack.patch \ file://dont-run-tests.patch \ file://configure-remove-dumbness.patch \ - file://makefile-remove-tools.patch " + file://makefile-remove-tools.patch \ + file://libenca-003-iconv.patch " SRC_URI[md5sum] = "b3581e28d68d452286fb0bfe58bed3b3" SRC_URI[sha256sum] = "02acfef2b24a9c842612da49338138311f909f1cd33933520c07b8b26c410f4d" @@ -20,17 +23,17 @@ EXTRA_OECONF = "--with-libiconv-prefix=${STAGING_DIR_HOST}${layout_exec_prefix}" do_configure_prepend() { # remove failing test which checks for something that isn't even used - sed -i -e '/ye_FUNC_SCANF_MODIF_SIZE_T/d' configure.ac + sed -i -e '/ye_FUNC_SCANF_MODIF_SIZE_T/d' ${S}/configure.ac } do_configure_append() { - sed -i s:-I/usr/include::g Makefile - sed -i s:-I/usr/include::g */Makefile + sed -i s:-I/usr/include::g ${B}/Makefile + sed -i s:-I/usr/include::g ${B}/*/Makefile } do_compile() { cd ${S}/tools && ${BUILD_CC} -o make_hash make_hash.c - cd .. + cd ${B} oe_runmake } diff --git a/meta-oe/recipes-support/engine-pkcs11/engine-pkcs11_0.1.8.bb b/meta-oe/recipes-support/engine-pkcs11/engine-pkcs11_0.1.8.bb new file mode 100644 index 0000000000..d665242bb1 --- /dev/null +++ b/meta-oe/recipes-support/engine-pkcs11/engine-pkcs11_0.1.8.bb @@ -0,0 +1,29 @@ +SUMMARY = "A PKCS" +DESCRIPTION = "\ +Engine_pkcs11 is an implementation of an engine for OpenSSL. It can be \ +loaded using code, config file or command line and will pass any function \ +call by openssl to a PKCS cards and software for using smart cards in PKCS" +HOMEPAGE = "https://github.com/OpenSC/engine_pkcs11" +SECTION = "Development/Libraries" +LICENSE = "LGPLv2.1+" +LIC_FILES_CHKSUM = "file://doc/README;md5=d2ab6bf8854463fa6bf98f5bb6dfc47c" +DEPENDS = "openssl libp11" + +SRC_URI = "git://github.com/OpenSC/engine_pkcs11.git" +SRCREV = "bb775c32dba8cc4b4381a53da7ab5d7b22b7921d" + +S = "${WORKDIR}/git" + +inherit autotools pkgconfig + +EXTRA_OECONF = "\ + --disable-static \ + --libdir ${libdir}/openssl \ +" + +do_install_append () { + rm -f ${D}${libdir}/openssl/engines/engine_pkcs11.la +} + +FILES_${PN} += "/usr/lib/openssl/engines/engine_pkcs11.so*" +FILES_${PN}-dbg += "/usr/lib/openssl/engines/.debug/*" diff --git a/meta-oe/recipes-support/evtest/evtest_1.25.bb b/meta-oe/recipes-support/evtest/evtest_git.bb index 34b5b74227..6fbb77d903 100644 --- a/meta-oe/recipes-support/evtest/evtest_1.25.bb +++ b/meta-oe/recipes-support/evtest/evtest_git.bb @@ -7,8 +7,11 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" DEPENDS = "libxml2" -SRC_URI = "http://cgit.freedesktop.org/~whot/evtest/snapshot/evtest-${PV}.tar.bz2;name=archive" -SRC_URI[archive.md5sum] = "770d6af03affe976bdbe3ad1a922c973" -SRC_URI[archive.sha256sum] = "3d34123c68014dae6f7c19144ef79ea2915fa7a2f89ea35ca375a9cf9e191473" +SRCREV = "0e14da978ea906c7fdaf90f54f798a542e79ce8f" +SRC_URI = "git://anongit.freedesktop.org/evtest;protocol=git" -inherit autotools +PV = "1.31+${SRCPV}" + +S = "${WORKDIR}/git" + +inherit autotools pkgconfig diff --git a/meta-oe/recipes-support/farsight/farsight2_0.0.22.bb b/meta-oe/recipes-support/farsight/farsight2_0.0.22.bb index a1029b34e3..beb610813a 100644 --- a/meta-oe/recipes-support/farsight/farsight2_0.0.22.bb +++ b/meta-oe/recipes-support/farsight/farsight2_0.0.22.bb @@ -1,6 +1,6 @@ DESCRIPTION = "FarSight is an audio/video conferencing framework specifically designed for Instant Messengers." HOMEPAGE = "http://farsight.sf.net" -SRC_URI = "http://farsight.freedesktop.org/releases/farsight2/${P}.tar.gz" +SRC_URI = "http://farsight.freedesktop.org/releases/farsight2/${BP}.tar.gz" LICENSE = "LGPLv2.1" LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24" diff --git a/meta-oe/recipes-support/farsight/libnice_0.0.13.bb b/meta-oe/recipes-support/farsight/libnice_0.0.13.bb index 3205aaf357..711b6bdbf0 100644 --- a/meta-oe/recipes-support/farsight/libnice_0.0.13.bb +++ b/meta-oe/recipes-support/farsight/libnice_0.0.13.bb @@ -16,13 +16,17 @@ DEPENDS = "glib-2.0 gstreamer" PACKAGECONFIG ??= "" PACKAGECONFIG[gupnp] = "--enable-gupnp,--disable-gupnp,gupnp-igd" -inherit autotools +inherit autotools pkgconfig gtk-doc FILES_${PN} += "${libdir}/gstreamer-0.10/*.so" FILES_${PN}-dev += "${libdir}/gstreamer-0.10/*.la" FILES_${PN}-staticdev += "${libdir}/gstreamer-0.10/*.a" FILES_${PN}-dbg += "${libdir}/gstreamer-0.10/.debug" +do_configure_prepend() { + mkdir ${S}/m4 || true +} + do_compile_append() { for i in $(find ${S} -name "*.pc") ; do sed -i -e s:${STAGING_DIR_TARGET}::g \ diff --git a/meta-oe/recipes-support/fbset/fbset_2.1.bb b/meta-oe/recipes-support/fbset/fbset_2.1.bb index 0639afc3c5..18559326a1 100644 --- a/meta-oe/recipes-support/fbset/fbset_2.1.bb +++ b/meta-oe/recipes-support/fbset/fbset_2.1.bb @@ -18,13 +18,13 @@ SRC_URI = "http://ftp.debian.org/debian/pool/main/f/fbset/fbset_2.1.orig.tar.gz file://fbset-2.1-fix-makefile-dep.patch \ " -inherit autotools-brokensep update-alternatives +inherit update-alternatives do_install() { install -d ${D}${sbindir} ${D}${datadir}/man/man8 ${D}${datadir}/man/man5 - install -m 0755 ${WORKDIR}/${P}/fbset ${D}${sbindir}/fbset.real - install -m 0644 ${WORKDIR}/${P}/*.5 ${D}${datadir}/man/man5 - install -m 0644 ${WORKDIR}/${P}/*.8 ${D}${datadir}/man/man8 + install -m 0755 ${WORKDIR}/${BP}/fbset ${D}${sbindir}/fbset.real + install -m 0644 ${WORKDIR}/${BP}/*.5 ${D}${datadir}/man/man5 + install -m 0644 ${WORKDIR}/${BP}/*.8 ${D}${datadir}/man/man8 } ALTERNATIVE_fbset = "fbset" diff --git a/meta-oe/recipes-support/fbtest/fb-test_git.bb b/meta-oe/recipes-support/fbtest/fb-test_git.bb index c8b4a1beae..13f9e377a8 100644 --- a/meta-oe/recipes-support/fbtest/fb-test_git.bb +++ b/meta-oe/recipes-support/fbtest/fb-test_git.bb @@ -1,19 +1,20 @@ SUMMARY = "Test suite for Linux framebuffer" -PV = "0.0" +PV = "1.1.0" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a" -SRCREV = "85eab266b123a08098af86afdb1599947d276e32" +SRCREV = "063ec650960c2d79ac51f5c5f026cb05343a33e2" SRC_URI = "git://github.com/prpplague/fb-test-app.git" S = "${WORKDIR}/git" do_install() { - install -d ${D}${bindir} - for prog in perf rect fb-test offset ; do - install -m 0755 $prog ${D}${bindir} - done + install -d ${D}${bindir} + install -m 0755 fb-test ${D}${bindir} + # avoid collisions with perf (perf) and mesa-demos (offset) + for prog in perf rect offset ; do + install -m 0755 $prog ${D}${bindir}/fb-$prog + done } - diff --git a/meta-oe/recipes-support/fftw/fftw.inc b/meta-oe/recipes-support/fftw/fftw.inc index 6bd622d9b8..1522ea0bb4 100644 --- a/meta-oe/recipes-support/fftw/fftw.inc +++ b/meta-oe/recipes-support/fftw/fftw.inc @@ -3,6 +3,8 @@ SECTION = "libs" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" +PROVIDES = "virtual/fftw" + RPROVIDES_${PN} += "libfftw3" SRC_URI = "http://www.fftw.org/fftw-${PV}.tar.gz" @@ -17,7 +19,7 @@ do_configure_prepend() { echo 'AM_PROG_AS' >> ${S}/configure.ac } -PACKAGES =+ "lib${PN}" -FILES_lib${PN} = "${libdir}/lib*.so.*" +PACKAGES =+ "lib${BPN}" +FILES_lib${BPN} = "${libdir}/lib*.so.*" # rename binary in /bin and use u-a tpo choose between different precision implementations? diff --git a/meta-oe/recipes-support/fftw/fftwf_3.3.4.bb b/meta-oe/recipes-support/fftw/fftwf_3.3.4.bb index 59f4a111f6..7a4fbac8c1 100644 --- a/meta-oe/recipes-support/fftw/fftwf_3.3.4.bb +++ b/meta-oe/recipes-support/fftw/fftwf_3.3.4.bb @@ -1,5 +1,8 @@ require fftw.inc +# conflicts with fftw and fftwl +EXCLUDE_FROM_WORLD = "1" + EXTRA_OECONF += "--enable-single \ ${@base_contains('TUNE_FEATURES', 'neon', '--enable-neon', '', d)} \ " diff --git a/meta-oe/recipes-support/fftw/fftwl_3.3.4.bb b/meta-oe/recipes-support/fftw/fftwl_3.3.4.bb index 8f37346596..432ff1241e 100644 --- a/meta-oe/recipes-support/fftw/fftwl_3.3.4.bb +++ b/meta-oe/recipes-support/fftw/fftwl_3.3.4.bb @@ -1,5 +1,8 @@ require fftw.inc +# conflicts with fftw and fftwf +EXCLUDE_FROM_WORLD = "1" + EXTRA_OECONF += "--enable-long-double" SRC_URI[md5sum] = "2edab8c06b24feeb3b82bbb3ebf3e7b3" diff --git a/meta-oe/recipes-support/flite/flite.inc b/meta-oe/recipes-support/flite/flite.inc index b9d5e5aa62..0ef82c004c 100644 --- a/meta-oe/recipes-support/flite/flite.inc +++ b/meta-oe/recipes-support/flite/flite.inc @@ -11,7 +11,7 @@ S = "${WORKDIR}/flite-${PV}-release" CFLAGS += " -lasound " -inherit autotools +inherit autotools-brokensep PACKAGES += "lib${PN} lib${PN}-vox8 lib${PN}-vox16" diff --git a/meta-oe/recipes-support/fltk/fltk_1.1.10.bb b/meta-oe/recipes-support/fltk/fltk_1.1.10.bb index 490946096f..fa01455312 100644 --- a/meta-oe/recipes-support/fltk/fltk_1.1.10.bb +++ b/meta-oe/recipes-support/fltk/fltk_1.1.10.bb @@ -16,7 +16,7 @@ SRC_URI = "ftp://ftp.rz.tu-bs.de/pub/mirror/ftp.easysw.com/ftp/pub/fltk/${PV}/fl S = "${WORKDIR}/fltk-${PV}" -inherit lib_package autotools binconfig +inherit lib_package autotools-brokensep binconfig TARGET_CC_ARCH += "${LDFLAGS} -DXFT_MAJOR=2" diff --git a/meta-oe/recipes-support/gd/gd_2.1.0.bb b/meta-oe/recipes-support/gd/gd_2.1.0.bb index d92e6395f8..f03b9b08b8 100644 --- a/meta-oe/recipes-support/gd/gd_2.1.0.bb +++ b/meta-oe/recipes-support/gd/gd_2.1.0.bb @@ -10,7 +10,7 @@ HOMEPAGE = "http://libgd.bitbucket.org/" SECTION = "libs" LICENSE = "GD" LIC_FILES_CHKSUM = "file://COPYING;md5=c97638cafd3581eb87abd37332137669" -DEPENDS = "freetype libpng jpeg zlib" +DEPENDS = "freetype libpng jpeg zlib tiff libvpx" SRC_URI = "https://bitbucket.org/libgd/gd-libgd/downloads/libgd-${PV}.tar.bz2 \ file://fix-the-subdir-objects-error.patch \ @@ -20,7 +20,7 @@ SRC_URI[sha256sum] = "f3e1bc472bd81ee976a739436659fe752a14727a964c64530fde68531d S = "${WORKDIR}/libgd-${PV}" -inherit autotools binconfig gettext +inherit autotools binconfig gettext pkgconfig EXTRA_OECONF += " --disable-rpath \ --with-jpeg=${STAGING_LIBDIR}/.. \ diff --git a/meta-oe/recipes-support/gradm/gradm/0001-Makefile-remove-strip.patch b/meta-oe/recipes-support/gradm/gradm/0001-Makefile-remove-strip.patch new file mode 100644 index 0000000000..f0c697c7b5 --- /dev/null +++ b/meta-oe/recipes-support/gradm/gradm/0001-Makefile-remove-strip.patch @@ -0,0 +1,61 @@ +From fbf7b9e5a8e2978acd5b0a7a8311912a080ee9b9 Mon Sep 17 00:00:00 2001 +From: Qian Lei <qianl.fnst@cn.fujitsu.com> +Date: Thu, 18 Dec 2014 11:09:01 +0800 +Subject: [PATCH] Makefile: remove strip + +Avoid QA error by removing strip from Makefile + +[...] +ERROR: QA Issue: File '/sbin/gradm' from gradm was already stripped, +this will prevent future debugging! [already-stripped] +ERROR: QA Issue: File '/sbin/grlearn' from gradm was already stripped, +this will prevent future debugging! [already-stripped] +[...] + +Upstream-Status: Pending + +Signed-off-by: Qian Lei <qianl.fnst@cn.fujitsu.com> + +--- + Makefile | 7 ++----- + 1 file changed, 2 insertions(+), 5 deletions(-) + +diff --git a/Makefile b/Makefile +index 6c33fee..3570a4e 100644 +--- a/Makefile ++++ b/Makefile +@@ -24,7 +24,6 @@ MKNOD=/bin/mknod + #CC=/usr/bin/diet /usr/bin/gcc + CC=/usr/bin/gcc + FIND=/usr/bin/find +-STRIP=/usr/bin/strip + LIBS := $(shell if [ "`uname -m`" != "sparc64" -a "`uname -m`" != "x86_64" ]; then echo "-lfl" ; else echo "" ; fi) + OPT_FLAGS := -O2 + # for older versions of grsecurity, comment the above line and uncomment the below: +@@ -140,15 +139,12 @@ install: $(GRADM_BIN) gradm.8 policy grlearn + @mkdir -p $(DESTDIR)/sbin + @echo "Installing gradm..." + @$(INSTALL) -m 0755 $(GRADM_BIN) $(DESTDIR)/sbin +- @$(STRIP) $(DESTDIR)/sbin/$(GRADM_BIN) + @if [ -f $(GRADM_PAM) ] ; then \ + echo "Installing gradm_pam..." ; \ + $(INSTALL) -m 4755 $(GRADM_PAM) $(DESTDIR)/sbin ; \ +- $(STRIP) $(DESTDIR)/sbin/$(GRADM_PAM) ; \ + fi + @echo "Installing grlearn..." + @$(INSTALL) -m 0700 grlearn $(DESTDIR)/sbin +- @$(STRIP) $(DESTDIR)/sbin/grlearn + @mkdir -p -m 700 $(DESTDIR)$(GRSEC_DIR) + @if [ ! -f $(DESTDIR)$(GRSEC_DIR)/policy ] ; then \ + if [ -f $(DESTDIR)$(GRSEC_DIR)/acl ] ; then \ +@@ -168,6 +164,7 @@ install: $(GRADM_BIN) gradm.8 policy grlearn + $(MKNOD) -m 0622 $(DESTDIR)/dev/grsec c 1 13 ; \ + fi \ + fi ++ @mkdir -p $(DESTDIR)/etc/udev/rules.d + @if [ -d $(DESTDIR)/etc/udev/rules.d ] ; then \ + echo "ACTION!=\"add|change\", GOTO=\"permissions_end\"" > $(DESTDIR)/etc/udev/rules.d/80-grsec.rules ; \ + echo "KERNEL==\"grsec\", MODE=\"0622\"" >> $(DESTDIR)/etc/udev/rules.d/80-grsec.rules ; \ +-- +1.8.3.1 + diff --git a/meta-oe/recipes-support/gradm/gradm_3.0.bb b/meta-oe/recipes-support/gradm/gradm_3.0.bb new file mode 100644 index 0000000000..2f1d39d996 --- /dev/null +++ b/meta-oe/recipes-support/gradm/gradm_3.0.bb @@ -0,0 +1,50 @@ +SUMMARY = "Administration program for the grsecurity RBAC syste" +DESCRIPTION = "\ +gradm is the userspace RBAC parsing and authentication program for \ +grsecurity grsecurity aims to be a complete security system. gradm \ +performs several tasks for the RBAC system including authenticated \ +via a password to the kernel and parsing rules to be passed to the \ +kernel" +HOMEPAGE = "http://grsecurity.net/index.php" +SECTION = "admin" +LICENSE = "GPL-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=4641e94ec96f98fabc56ff9cc48be14b" +DEPENDS = "flex-native bison-native ${@base_contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}" + +SRC_URI = "http://grsecurity.net/stable/${BP}-201408301734.tar.gz \ + file://0001-Makefile-remove-strip.patch" +SRC_URI[md5sum] = "79ec912e6544c5e58753f658623763f9" +SRC_URI[sha256sum] = "b190e5afecdf3ac5020a4e5e4b698645f1c01b20d036129dd8b609c4bd0c319c" + +S = "${WORKDIR}/gradm" + +inherit autotools-brokensep + +do_compile() { + oe_runmake 'CC=${CC}' \ + 'OPT_FLAGS=${CFLAGS}' \ + 'LLEX=${STAGING_BINDIR_NATIVE}/lex' \ + 'FLEX=${STAGING_BINDIR_NATIVE}/flex' \ + 'BISON=${STAGING_BINDIR_NATIVE}/bison' \ + ${@base_contains('DISTRO_FEATURES', 'pam', ' ', 'nopam', d)} +} + +do_install() { + oe_runmake 'CC=${CC}' \ + 'DESTDIR=${D}' \ + 'LLEX=${STAGING_BINDIR_NATIVE}/lex' \ + 'FLEX=${STAGING_BINDIR_NATIVE}/flex' \ + 'BISON=${STAGING_BINDIR_NATIVE}/bison' \ + install + + # The device nodes are generated by postinstall or udev + rm -rf ${D}/dev +} + +pkg_postinst_${PN}() { + # make sure running on the target + if [ x"$D" != "x" ]; then + exit 1 + fi + /bin/mknod -m 0622 /dev/grsec c 1 13 +} diff --git a/meta-oe/recipes-support/i2c-tools/i2c-tools-3.1.0/Module.mk b/meta-oe/recipes-support/i2c-tools/i2c-tools-3.1.0/Module.mk deleted file mode 100644 index fcaf72f22a..0000000000 --- a/meta-oe/recipes-support/i2c-tools/i2c-tools-3.1.0/Module.mk +++ /dev/null @@ -1,72 +0,0 @@ -# EEPROMER -# -# Licensed under the GNU General Public License. - -EEPROMER_DIR := eepromer - -EEPROMER_CFLAGS := -Wstrict-prototypes -Wshadow -Wpointer-arith -Wcast-qual \ - -Wcast-align -Wwrite-strings -Wnested-externs -Winline \ - -W -Wundef -Wmissing-prototypes -Iinclude - -EEPROMER_TARGETS := eepromer eeprom eeprog - -# -# Programs -# - -$(EEPROMER_DIR)/eepromer: $(EEPROMER_DIR)/eepromer.o - $(CC) $(LDFLAGS) -o $@ $^ - -$(EEPROMER_DIR)/eeprom: $(EEPROMER_DIR)/eeprom.o - $(CC) $(LDFLAGS) -o $@ $^ - -$(EEPROMER_DIR)/eeprog: $(EEPROMER_DIR)/eeprog.o $(EEPROMER_DIR)/24cXX.o - $(CC) $(LDFLAGS) -o $@ $^ - -# -# Objects -# - -$(EEPROMER_DIR)/eepromer.o: $(EEPROMER_DIR)/eepromer.c - $(CC) $(CFLAGS) $(EEPROMER_CFLAGS) -c $< -o $@ - -$(EEPROMER_DIR)/eeprom.o: $(EEPROMER_DIR)/eeprom.c - $(CC) $(CFLAGS) $(EEPROMER_CFLAGS) -c $< -o $@ - -$(EEPROMER_DIR)/eeprog.o: $(EEPROMER_DIR)/eeprog.c - $(CC) $(CFLAGS) $(EEPROMER_CFLAGS) -c $< -o $@ - -$(EEPROMER_DIR)/24cXX.o: $(EEPROMER_DIR)/24cXX.c - $(CC) $(CFLAGS) $(EEPROMER_CFLAGS) -c $< -o $@ - -# -# Commands -# - -all-eepromer: $(addprefix $(EEPROMER_DIR)/,$(EEPROMER_TARGETS)) - -strip-eepromer: $(addprefix $(EEPROMER_DIR)/,$(EEPROMER_TARGETS)) - strip $(addprefix $(EEPROMER_DIR)/,$(EEPROMER_TARGETS)) - -clean-eepromer: - $(RM) $(addprefix $(EEPROMER_DIR)/,*.o $(EEPROMER_TARGETS)) - -install-eepromer: $(addprefix $(EEPROMER_DIR)/,$(EEPROMER_TARGETS)) - $(INSTALL_DIR) $(DESTDIR)$(sbindir) $(DESTDIR)$(man8dir) - for program in $(EEPROMER_TARGETS) ; do \ - $(INSTALL_PROGRAM) $(EEPROMER_DIR)/$$program $(DESTDIR)$(sbindir) ; done - -uninstall-eepromer: - for program in $(EEPROMER_TARGETS) ; do \ - $(RM) $(DESTDIR)$(sbindir)/$$program ; \ - $(RM) $(DESTDIR)$(man8dir)/$$program.8 ; done - -all: all-eepromer - -strip: strip-eepromer - -clean: clean-eepromer - -install: install-eepromer - -uninstall: uninstall-eepromer diff --git a/meta-oe/recipes-support/i2c-tools/i2c-tools_3.1.0.bb b/meta-oe/recipes-support/i2c-tools/i2c-tools_3.1.0.bb deleted file mode 100644 index b8be9eddda..0000000000 --- a/meta-oe/recipes-support/i2c-tools/i2c-tools_3.1.0.bb +++ /dev/null @@ -1,26 +0,0 @@ -SUMMARY = "Set of i2c tools for linux" -SECTION = "base" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" - -RDEPENDS_${PN} += "perl" - -SRC_URI = "http://pkgs.fedoraproject.org/repo/pkgs/i2c-tools/i2c-tools-3.1.0.tar.bz2/f15019e559e378c6e9d5d6299a00df21/i2c-tools-${PV}.tar.bz2 \ - file://Module.mk \ -" -SRC_URI[md5sum] = "f15019e559e378c6e9d5d6299a00df21" -SRC_URI[sha256sum] = "960023f61de292c6dd757fcedec4bffa7dd036e8594e24b26a706094ca4c142a" - -inherit autotools-brokensep - -do_compile_prepend() { - cp ${WORKDIR}/Module.mk ${S}/eepromer/ - sed -i 's#/usr/local#/usr#' ${S}/Makefile - echo "include eepromer/Module.mk" >> ${S}/Makefile -} - -do_install_append() { - install -d ${D}${includedir}/linux - install -m 0644 include/linux/i2c-dev.h ${D}${includedir}/linux/i2c-dev-user.h - rm -f ${D}${includedir}/linux/i2c-dev.h -} diff --git a/meta-oe/recipes-support/iksemel/iksemel_1.4.bb b/meta-oe/recipes-support/iksemel/iksemel_1.4.bb index c7de2f4ced..6d2abf7cea 100644 --- a/meta-oe/recipes-support/iksemel/iksemel_1.4.bb +++ b/meta-oe/recipes-support/iksemel/iksemel_1.4.bb @@ -8,7 +8,7 @@ DEPENDS = "gnutls" PR = "r1" -SRC_URI = "http://iksemel.googlecode.com/files/${P}.tar.gz;name=archive \ +SRC_URI = "http://iksemel.googlecode.com/files/${BP}.tar.gz;name=archive \ file://r25.diff" SRC_URI[archive.md5sum] = "532e77181694f87ad5eb59435d11c1ca" SRC_URI[archive.sha256sum] = "458c1b8fb3349076a6cecf26c29db1d561315d84e16bfcfba419f327f502e244" diff --git a/meta-oe/recipes-support/imagemagick/imagemagick/remove.dist-lzip.patch b/meta-oe/recipes-support/imagemagick/imagemagick/remove.dist-lzip.patch deleted file mode 100644 index 559aa247d0..0000000000 --- a/meta-oe/recipes-support/imagemagick/imagemagick/remove.dist-lzip.patch +++ /dev/null @@ -1,17 +0,0 @@ -Our automake-1.11.2 doesn't support it yet, see: -http://lists.gnu.org/archive/html/automake/2011-12/msg00081.html - -Upstream-Status: Inappropriate [fix or upgrade oe-core automake] - -diff -uNr ImageMagick-6.7.5-6.orig/configure.ac ImageMagick-6.7.5-6/configure.ac ---- ImageMagick-6.7.5-6.orig/configure.ac 2012-02-12 18:07:28.000000000 +0100 -+++ ImageMagick-6.7.5-6/configure.ac 2012-02-15 12:55:47.668813474 +0100 -@@ -128,7 +128,7 @@ - # Ensure that make can run correctly - AM_SANITY_CHECK - --AM_INIT_AUTOMAKE([1.11 color-tests foreign parallel-tests silent-rules subdir-objects dist-bzip2 dist-lzip dist-xz dist-zip]) -+AM_INIT_AUTOMAKE([1.11 color-tests foreign parallel-tests silent-rules subdir-objects dist-bzip2 dist-xz dist-zip]) - - # Enable support for silent build rules - m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])]) diff --git a/meta-oe/recipes-support/imagemagick/imagemagick_6.8.8.bb b/meta-oe/recipes-support/imagemagick/imagemagick_6.8.9.bb index e261eb8b70..1252020d27 100644 --- a/meta-oe/recipes-support/imagemagick/imagemagick_6.8.8.bb +++ b/meta-oe/recipes-support/imagemagick/imagemagick_6.8.9.bb @@ -2,26 +2,30 @@ SUMMARY = "ImageMagick is an image convertion tools" SECTION = "console/utils" LICENSE = "ImageMagick" LIC_FILES_CHKSUM = "file://LICENSE;md5=5d84c6ddd4028aa53d028b4c50f9361e" -# FIXME: There is much more checked libraries. All should be added or explicitly disabled to get consistent results. -DEPENDS = "lcms bzip2 jpeg libpng librsvg tiff zlib fftw freetype" +# FIXME: There are many more checked libraries. All should be added or explicitly disabled to get consistent results. +DEPENDS = "lcms bzip2 jpeg libpng librsvg tiff zlib virtual/fftw freetype" -PATCHSET = "10" -SRC_URI = "http://www.imagemagick.org/download/legacy/ImageMagick-${PV}-${PATCHSET}.tar.bz2 \ - file://remove.dist-lzip.patch \ +PATCHSET = "9" +SRC_URI = "http://www.imagemagick.org/download/releases/ImageMagick-${PV}-${PATCHSET}.tar.bz2 \ " -SRC_URI[md5sum] = "a3a0fa301965d6fde68fccd066f62b0b" -SRC_URI[sha256sum] = "8c0982b2bc0c1cea8ac9627b4e1e5d37f8171ef8282ee09aef32529cf68e1820" +SRC_URI[md5sum] = "971648be6ae5f5070d98e2b6c5fb004d" +SRC_URI[sha256sum] = "ea0c4f00019b58b290b1329e4e747972c61a00780a67b35df9228a76f26f1592" S = "${WORKDIR}/ImageMagick-${PV}-${PATCHSET}" -inherit autotools binconfig pkgconfig +inherit autotools pkgconfig # xml disabled because it's using xml2-config --prefix to determine prefix which returns just /usr with our libxml2 # if someone needs xml support then fix it first EXTRA_OECONF = "--program-prefix= --program-suffix=.im6 --without-x --without-perl --disable-openmp --without-xml --disable-opencl" +CACHED_CONFIGUREVARS = "ac_cv_sys_file_offset_bits=yes" PACKAGECONFIG ??= "" -PACKAGECONFIG[jp2] = "--with-jp2,--without-jp2,jasper" +PACKAGECONFIG[jp2] = "--with-jp2,,jasper" +PACKAGECONFIG[lzma] = "--with-lzma,--without-lzma,xz" +PACKAGECONFIG[pango] = "--with-pango,--without-pango,pango cairo" +PACKAGECONFIG[webp] = "--with-webp,--without-webp,libwebp" +PACKAGECONFIG[wmf] = "--with-wmf,--without-wmf,libwmf" FILES_${PN} += "${libdir}/ImageMagick-${PV}/modules-Q16/*/*.so \ ${libdir}/ImageMagick-${PV}/modules-Q16/*/*.la \ @@ -35,9 +39,3 @@ FILES_${PN}-dev += "${libdir}/ImageMagick-${PV}/modules-Q16/*/*.a" FILES_${PN}-dbg += "${libdir}/ImageMagick-${PV}/modules-Q16/*/.debug/*" BBCLASSEXTEND = "native" - -LEAD_SONAME = "libMagickCore.so.*" - -do_configure_prepend() { - export ac_cv_sys_file_offset_bits=yes -} diff --git a/meta-oe/recipes-support/lcov/lcov_1.11.bb b/meta-oe/recipes-support/lcov/lcov_1.11.bb new file mode 100644 index 0000000000..5f3b889346 --- /dev/null +++ b/meta-oe/recipes-support/lcov/lcov_1.11.bb @@ -0,0 +1,28 @@ +SUMMARY = "A graphical front-end for gcov" +HOMEPAGE = "http://ltp.sourceforge.net/coverage/lcov.php" +DESCRIPTION = "LCOV is a graphical front-end for GCC's coverage testing \ +tool gcov. It collects gcov data for multiple source files and creates \ +HTML pages containing the source code annotated with coverage information. \ +It also adds overview pages for easy navigation within the file structure. \ +LCOV supports statement, function and branch coverage measurement." +LICENSE = "GPL-2.0" +LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" + +RDEPENDS_${PN} += " \ + gcov \ + perl \ + perl-module-filehandle \ + perl-module-getopt-std \ + perl-module-digest-sha \ +" + +SRC_URI = "http://downloads.sourceforge.net/ltp/${BP}.tar.gz" + +SRC_URI[md5sum] = "e79b799ae3ce149aa924c7520e993024" +SRC_URI[sha256sum] = "c282de8d678ecbfda32ce4b5c85fc02f77c2a39a062f068bd8e774d29ddc9bf8" + +do_install() { + oe_runmake install PREFIX=${D} + sed -i -e '1s,#!.*perl,#! ${USRBINPATH}/env perl,' ${D}${bindir}/* +} + diff --git a/meta-oe/recipes-support/libatasmart/libatasmart_0.19.bb b/meta-oe/recipes-support/libatasmart/libatasmart_0.19.bb index 21f4e2ac4b..16657b4b13 100644 --- a/meta-oe/recipes-support/libatasmart/libatasmart_0.19.bb +++ b/meta-oe/recipes-support/libatasmart/libatasmart_0.19.bb @@ -9,7 +9,7 @@ SRC_URI = "git://git.0pointer.de/libatasmart.git" S = "${WORKDIR}/git" -inherit autotools lib_package +inherit autotools lib_package pkgconfig do_install_append() { sed -i -e s://:/:g -e 's:=${libdir}/libudev.la:-ludev:g' ${D}${libdir}/libatasmart.la diff --git a/meta-oe/recipes-support/libcanberra/libcanberra_0.29.bb b/meta-oe/recipes-support/libcanberra/libcanberra_0.29.bb index b10c3fde95..0f00b209fb 100644 --- a/meta-oe/recipes-support/libcanberra/libcanberra_0.29.bb +++ b/meta-oe/recipes-support/libcanberra/libcanberra_0.29.bb @@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://LGPL;md5=2d5025d4aa3495befef8f17206a5b0a1 \ DEPENDS = "gstreamer gtk+ gtk+3 libtool libvorbis" -inherit autotools +inherit autotools gtk-doc SRC_URI = " \ http://0pointer.de/lennart/projects/${BPN}/${BPN}-${PV}.tar.xz \ @@ -59,4 +59,4 @@ FILES_${PN}-gtk3 = "${libdir}/${BPN}-gtk3.so.* \ FILES_${PN}-gnome = "${libdir}/gnome-settings-daemon-3.0/ \ ${datadir}/gdm/ ${datadir}/gnome/" -FILES_${PN}-systemd = "${base_libdir}/systemd/system/*.service" +FILES_${PN}-systemd = "${systemd_unitdir}/system/*.service" diff --git a/meta-oe/recipes-support/libee/libee.inc b/meta-oe/recipes-support/libee/libee.inc new file mode 100644 index 0000000000..5b552ca2a6 --- /dev/null +++ b/meta-oe/recipes-support/libee/libee.inc @@ -0,0 +1,39 @@ +SUMMARY = "An Event Expression Library inspired by CEE" +DESCRIPTION = "The core idea of libee is to provide a small \ +but hopefully convenient API layer above the CEE standard." + +HOMEPAGE = "http://www.libee.org" +SECTION = "base" + +LICENSE = "LGPL-2.1+" +LIC_FILES_CHKSUM = "file://COPYING;md5=1c2687de35e36ba3b999136236a66cd6" + +SRC_URI = "http://www.libee.org/download/files/download/${BPN}-${PV}.tar.gz\ + file://libee-parallel-make.patch \ + file://run-ptest \ + file://ezapi1.sh \ +" + +inherit autotools ptest pkgconfig + +DEPENDS += "libestr" + +PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'ptest', 'testbench', '', d)}" + +PACKAGECONFIG[debug] = "--enable-debug,--disable-debug,," +PACKAGECONFIG[testbench] = "--enable-testbench,--disable-testbench,," + +TESTDIR = "tests" + +# We presume the tests we are going to install so just build them directly. +# +do_compile_ptest() { + oe_runmake -C ${TESTDIR} genfile ezapi1 +} + +do_install_ptest() { + install -d ${D}${PTEST_PATH} + install -m 0755 ${B}/${TESTDIR}/genfile ${D}${PTEST_PATH} + install -m 0755 ${B}/${TESTDIR}/.libs/ezapi1 ${D}${PTEST_PATH} + install -m 0755 ${WORKDIR}/ezapi1.sh ${D}${PTEST_PATH} +} diff --git a/meta-oe/recipes-support/libee/libee/ezapi1.sh b/meta-oe/recipes-support/libee/libee/ezapi1.sh new file mode 100755 index 0000000000..e9db5e614b --- /dev/null +++ b/meta-oe/recipes-support/libee/libee/ezapi1.sh @@ -0,0 +1,14 @@ +#!/bin/sh +# +echo --------------------------------------------------------------------------- +echo A very basic test for the event class +echo --------------------------------------------------------------------------- +rm -f infile +./genfile 100 > infile +./ezapi1 -iinfile +if [ $? -ne 0 ] ; then + echo "FAIL: $0" + exit 1 +fi +echo "PASS: $0" +rm -f infile diff --git a/meta-oe/recipes-support/libee/libee/libee-parallel-make.patch b/meta-oe/recipes-support/libee/libee/libee-parallel-make.patch new file mode 100644 index 0000000000..25e5c6ae02 --- /dev/null +++ b/meta-oe/recipes-support/libee/libee/libee-parallel-make.patch @@ -0,0 +1,20 @@ +fix parallel compiling problem + +without specifying libee_convert_DEPENDENCIES = libee.la, libee_convert +can't find libee.la when linking as libee is not generated yet. + +Upstream-Status: pending + +Signed-off-by: Yao Zhao <yao.zhao@windriver.com> +--- +diff --git a/src/Makefile.am b/src/Makefile.am +index 08aaa9e..f0c78f7 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -46,5 +46,6 @@ libee_la_LDFLAGS = -version-info 0:0:0 + libee_convert_SOURCES = convert.c + libee_convert_CPPFLAGS = -I$(top_srcdir) $(LIBEE_CFLAGS) $(LIBESTR_CFLAGS) $(LIBXML2_CFLAGS) + libee_convert_LDADD = $(LIBEE_LIBS) $(LIBXML2_LIBS) $(LIBESTR_LIBS) ++libee_convert_DEPENDENCIES = libee.la + + include_HEADERS = diff --git a/meta-oe/recipes-support/libee/libee/run-ptest b/meta-oe/recipes-support/libee/libee/run-ptest new file mode 100755 index 0000000000..3cb6607645 --- /dev/null +++ b/meta-oe/recipes-support/libee/libee/run-ptest @@ -0,0 +1,3 @@ +#!/bin/sh +# +./ezapi1.sh diff --git a/meta-oe/recipes-support/libee/libee_0.4.1.bb b/meta-oe/recipes-support/libee/libee_0.4.1.bb new file mode 100644 index 0000000000..ef2c20db5a --- /dev/null +++ b/meta-oe/recipes-support/libee/libee_0.4.1.bb @@ -0,0 +1,4 @@ +require ${BPN}.inc + +SRC_URI[md5sum] = "7bbf4160876c12db6193c06e2badedb2" +SRC_URI[sha256sum] = "c0dac01938593deee06c3d161e4eda4ecc0fd7317e1321bd96e301aceb7fb027" diff --git a/meta-oe/recipes-support/libeigen/libeigen_3.2.0.bb b/meta-oe/recipes-support/libeigen/libeigen_3.2.0.bb index 4183f0521c..de5186f10c 100644 --- a/meta-oe/recipes-support/libeigen/libeigen_3.2.0.bb +++ b/meta-oe/recipes-support/libeigen/libeigen_3.2.0.bb @@ -13,9 +13,6 @@ S = "${WORKDIR}/eigen-eigen-ffa86ffb5570" inherit cmake -OECMAKE_SOURCEPATH = ".." -OECMAKE_BUILDPATH = "build" - EXTRA_OECMAKE += "-Dpkg_config_libdir=${libdir}" FILES_${PN} = "${includedir} ${libdir}" diff --git a/meta-oe/recipes-support/libetpan/libetpan-0.57/sepbuild.patch b/meta-oe/recipes-support/libetpan/libetpan-0.57/sepbuild.patch new file mode 100644 index 0000000000..4f0161727f --- /dev/null +++ b/meta-oe/recipes-support/libetpan/libetpan-0.57/sepbuild.patch @@ -0,0 +1,16 @@ +Index: libetpan-0.57/rules.mk +=================================================================== +--- libetpan-0.57.orig/rules.mk ++++ libetpan-0.57/rules.mk +@@ -134,9 +134,9 @@ prepare-am: prepare-local + if test -e ../../$(subdir)/$${hdr}; then \ + echo "$(LN_S) -f ../../$(subdir)/$${hdr} ."; \ + $(LN_S) -f ../../$(subdir)/$${hdr} .; \ + else \ +- echo "$(LN_S) -f ../../$(subdir)/$(srcdir)/$${hdr} ."; \ +- $(LN_S) -f ../../$(subdir)/$(srcdir)/$${hdr} .; \ ++ echo "$(LN_S) -f $(srcdir)/$${hdr} ."; \ ++ $(LN_S) -f $(srcdir)/$${hdr} .; \ + fi; \ + fi; \ + done; \ diff --git a/meta-oe/recipes-support/libetpan/libetpan_0.57.bb b/meta-oe/recipes-support/libetpan/libetpan_0.57.bb index 0dbd782025..6be0694ef1 100644 --- a/meta-oe/recipes-support/libetpan/libetpan_0.57.bb +++ b/meta-oe/recipes-support/libetpan/libetpan_0.57.bb @@ -10,7 +10,8 @@ PR = "r1" SRC_URI = "${SOURCEFORGE_MIRROR}/libetpan/libetpan-${PV}.tar.gz \ file://libetpan-autoreconf.patch \ - file://libetpan-ldflags.patch" + file://libetpan-ldflags.patch \ + file://sepbuild.patch" inherit autotools pkgconfig gettext binconfig diff --git a/meta-oe/recipes-support/libftdi/libftdi_0.19.bb b/meta-oe/recipes-support/libftdi/libftdi_0.19.bb deleted file mode 100644 index a62236f7cb..0000000000 --- a/meta-oe/recipes-support/libftdi/libftdi_0.19.bb +++ /dev/null @@ -1,29 +0,0 @@ -DESCRIPTION = "libftdi is a library to talk to FTDI chips.\ -FT232BM/245BM, FT2232C/D and FT232/245R using libusb,\ -including the popular bitbang mode." -HOMEPAGE = "http://www.intra2net.com/en/developer/libftdi/" -SECTION = "libs" - -PR = "r1" - -LICENSE = "LGPLv2.1 GPLv2" -LIC_FILES_CHKSUM= "file://COPYING.GPL;md5=751419260aa954499f7abaabaa882bbe \ - file://COPYING.LIB;md5=db979804f025cf55aabec7129cb671ed \ -" - -DEPENDS = "virtual/libusb0" -DEPENDS_virtclass-native = "virtual/libusb0-native" - -SRC_URI = "http://www.intra2net.com/en/developer/libftdi/download/libftdi-${PV}.tar.gz \ - file://libtool-m4.patch \ -" -SRC_URI[md5sum] = "e6e25f33b4327b1b7aa1156947da45f3" -SRC_URI[sha256sum] = "567c9d2c42d92fc401c5aba2deed45ffb2433990984e816bcdf31e441aef06be" - -PACKAGECONFIG ??= "" -PACKAGECONFIG[cpp-wrapper] = "--enable-libftdipp,--disable-libftdipp,boost" - -inherit autotools binconfig pkgconfig - -BBCLASSEXTEND = "native" - diff --git a/meta-oe/recipes-support/libftdi/libftdi_1.1.bb b/meta-oe/recipes-support/libftdi/libftdi_1.1.bb new file mode 100644 index 0000000000..d8b189be95 --- /dev/null +++ b/meta-oe/recipes-support/libftdi/libftdi_1.1.bb @@ -0,0 +1,29 @@ +DESCRIPTION = "libftdi is a library to talk to FTDI chips.\ +FT232BM/245BM, FT2232C/D and FT232/245R using libusb,\ +including the popular bitbang mode." +HOMEPAGE = "http://www.intra2net.com/en/developer/libftdi/" +SECTION = "libs" + +LICENSE = "LGPLv2.1 & GPLv2" +LIC_FILES_CHKSUM= "\ + file://COPYING.GPL;md5=751419260aa954499f7abaabaa882bbe \ + file://COPYING.LIB;md5=db979804f025cf55aabec7129cb671ed \ +" + +DEPENDS = "libusb1" + +SRC_URI = "http://www.intra2net.com/en/developer/${BPN}/download/${BPN}1-${PV}.tar.bz2" + +SRC_URI[md5sum] = "b79a6356978aa8e69f8eecc3a720ff79" +SRC_URI[sha256sum] = "c0b1af1a13e2c6682a1d8041e5b164a1e0d90267cd378bb51e059bd62f821e21" + +S = "${WORKDIR}/${BPN}1-${PV}" + +PACKAGECONFIG ??= "" +PACKAGECONFIG[cpp-wrapper] = "-DFTDI_BUILD_CPP=on,-DFTDI_BUILD_CPP=off,boost" + +inherit cmake binconfig pkgconfig + +FILES_${PN}-dev += "${libdir}/cmake" + +BBCLASSEXTEND = "native" diff --git a/meta-oe/recipes-support/libgc/libgc_7.2d.bb b/meta-oe/recipes-support/libgc/libgc_7.2d.bb deleted file mode 100644 index b472a5d13e..0000000000 --- a/meta-oe/recipes-support/libgc/libgc_7.2d.bb +++ /dev/null @@ -1,20 +0,0 @@ -SUMMARY = "Garbage Collection Library" -DESCRIPTION = "The GC library provides a garbage collector for C and C++." -HOMEPAGE = "http://www.hpl.hp.com/personal/Hans_Boehm/gc/" - -LICENSE = "GPLv2 & MIT" -LIC_FILES_CHKSUM = "file://doc/README;beginline=1;endline=37;md5=9f4fd307082acf7a8af3e3897245163b \ - file://README.QUICK;beginline=1;endline=23;md5=293ea42f3f606426deefadd5dd8ddd15 \ -" - -SRC_URI = "http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/gc-${PV}.tar.gz" - -SRC_URI[md5sum] = "91340b28c61753a789eb6077675d87d2" -SRC_URI[sha256sum] = "d9fe0ae8650d43746a48bfb394cab01a319f3809cee19f8ebd16aa985b511c5e" - -S = "${WORKDIR}/gc-7.2" - -inherit autotools - -PACKAGES =+ "${PN}-docs" -FILES_${PN}-docs = "/usr/share/gc" diff --git a/meta-oe/recipes-support/libjs/libjs-jquery_1.7.1.bb b/meta-oe/recipes-support/libjs/libjs-jquery_1.7.1.bb new file mode 100644 index 0000000000..cf7c2d54dd --- /dev/null +++ b/meta-oe/recipes-support/libjs/libjs-jquery_1.7.1.bb @@ -0,0 +1,24 @@ +SUMMARY = "JavaScript library for dynamic web applications" +LICENSE = "GPLv2+ & MIT" +LIC_FILES_CHKSUM = "file://usr/share/doc/libjs-jquery/copyright;md5=2b490904c50a58472452b6e9e1c81203" + +SRC_URI = "http://kr.archive.ubuntu.com/ubuntu/pool/main/j/jquery/${BPN}_${PV}-1ubuntu1_all.deb;subdir=${BP}" +SRC_URI[md5sum] = "1ac8a9e4dfe18de22e65baec3dd53f8b" +SRC_URI[sha256sum] = "0551e20c88035d80c00b552707573d62ee89e8e5a204d8b427a6020b065e2542" + +JQUERYDIR = "${datadir}/javascript/jquery" +JQUERYDOCDIR = "${docdir}/libjs-jquery" + +do_install() { + install -d -m 0755 ${D}${JQUERYDIR} + install -m 0644 ${S}${JQUERYDIR}/jquery.js ${D}${JQUERYDIR}/ + install -m 0644 ${S}${JQUERYDIR}/jquery.min.js ${D}${JQUERYDIR}/ + + ln -sf jquery.min.js ${D}${JQUERYDIR}/jquery.lite.js + ln -sf jquery.min.js ${D}${JQUERYDIR}/jquery.pack.js + + install -d -m 0644 ${D}${JQUERYDOCDIR} + install -m 0644 ${S}${JQUERYDOCDIR}/copyright ${D}${JQUERYDOCDIR}/ +} + +FILES_${PN} = "/usr/share/javascript/jquery" diff --git a/meta-oe/recipes-support/libjs/libjs-sizzle_1.9.3.bb b/meta-oe/recipes-support/libjs/libjs-sizzle_1.9.3.bb new file mode 100644 index 0000000000..ad0f9c64d5 --- /dev/null +++ b/meta-oe/recipes-support/libjs/libjs-sizzle_1.9.3.bb @@ -0,0 +1,20 @@ +SUMMARY = "Pure-JavaScript CSS selector engine" +LICENSE = "GPLv2+ & MIT & BSD-3-Clause" +LIC_FILES_CHKSUM = "file://usr/share/doc/libjs-sizzle/copyright;md5=9b35efb1635ff8f06d1984376b06ee5a" + +SRC_URI = "http://kr.archive.ubuntu.com/ubuntu/pool/universe/s/sizzle/${BPN}_${PV}-1_all.deb;subdir=${BP}" +SRC_URI[md5sum] = "748b8805e21caed658f6765f7c491d46" +SRC_URI[sha256sum] = "2a6468763c40a30f6f7d0df8906cd17aaebd6edaa5478aeaffd7b6b5fb8abd35" + +SIZZLEDIR = "${datadir}/javascript/sizzle" +SIZZLEDOCDIR = "${docdir}/libjs-sizzle" + +do_install() { + install -d -m 0755 ${D}${SIZZLEDIR} + install -m 0644 ${S}${SIZZLEDIR}/sizzle.js ${D}${SIZZLEDIR}/ + install -m 0644 ${S}${SIZZLEDIR}/sizzle.min.js ${D}${SIZZLEDIR}/ + install -d -m 0755 ${D}${SIZZLEDOCDIR} + install -m 0644 ${S}${SIZZLEDOCDIR}/* ${D}${SIZZLEDOCDIR}/ +} + +FILES_${PN} = "/usr/share/javascript/sizzle/" diff --git a/meta-oe/recipes-support/libmicrohttpd/libmicrohttpd_0.9.34.bb b/meta-oe/recipes-support/libmicrohttpd/libmicrohttpd_0.9.34.bb index 5de939060e..e3c833bf40 100644 --- a/meta-oe/recipes-support/libmicrohttpd/libmicrohttpd_0.9.34.bb +++ b/meta-oe/recipes-support/libmicrohttpd/libmicrohttpd_0.9.34.bb @@ -3,7 +3,7 @@ HOMEPAGE = "http://www.gnu.org/software/libmicrohttpd/" LICENSE = "LGPL-2.1+" LIC_FILES_CHKSUM = "file://COPYING;md5=9331186f4f80db7da0e724bdd6554ee5" SECTION = "net" -DEPENDS = "libgcrypt gnutls" +DEPENDS = "libgcrypt gnutls file" SRC_URI = "http://ftp.gnu.org/gnu/libmicrohttpd/${BPN}-${PV}.tar.gz" SRC_URI[md5sum] = "2947eee13c2c8affb95023a0cb6fda0c" @@ -11,7 +11,8 @@ SRC_URI[sha256sum] = "29a2bfd4fd2ddf60c756b8c283291a134898e3cc143843be421a040be1 inherit autotools lib_package -EXTRA_OECONF += "-disable-static --enable-gnutls" +# disable spdy, because it depends on openssl +EXTRA_OECONF += "--disable-static --with-gnutls=${STAGING_LIBDIR}/../ --disable-spdy" PACKAGECONFIG ?= "curl" PACKAGECONFIG_append_class-target = "\ diff --git a/meta-oe/recipes-support/liboauth/liboauth_1.0.3.bb b/meta-oe/recipes-support/liboauth/liboauth_1.0.3.bb index 3aa574691b..3311da5a8f 100644 --- a/meta-oe/recipes-support/liboauth/liboauth_1.0.3.bb +++ b/meta-oe/recipes-support/liboauth/liboauth_1.0.3.bb @@ -7,10 +7,10 @@ LICENSE = "MIT|GPL-2.0" LIC_FILES_CHKSUM = "file://COPYING.MIT;md5=6266718a5241c045c8099d9be48817df \ file://COPYING.GPL;md5=0636e73ff0215e8d672dc4c32c317bb3" SECTION = "libs" -DEPENDS = "curl" +DEPENDS = "curl openssl" SRC_URI = "${SOURCEFORGE_MIRROR}/project/${BPN}/${BP}.tar.gz" SRC_URI[md5sum] = "689b46c2b3ab1a39735ac33f714c4f7f" SRC_URI[sha256sum] = "0df60157b052f0e774ade8a8bac59d6e8d4b464058cc55f9208d72e41156811f" -inherit autotools +inherit autotools pkgconfig diff --git a/meta-oe/recipes-support/libol/libol/configure.patch b/meta-oe/recipes-support/libol/libol/configure.patch new file mode 100644 index 0000000000..87695fb06d --- /dev/null +++ b/meta-oe/recipes-support/libol/libol/configure.patch @@ -0,0 +1,14 @@ +Index: libol-0.3.18/configure.in +=================================================================== +--- libol-0.3.18.orig/configure.in 2006-03-27 14:44:52.000000000 +0000 ++++ libol-0.3.18/configure.in 2014-07-18 07:05:56.029481372 +0000 +@@ -1,7 +1,7 @@ + dnl Process this file with autoconf to produce a configure script. +-AC_INIT(src/abstract_io.c) ++AC_INIT(libol, "0.3.18") + +-AM_INIT_AUTOMAKE(libol, "0.3.18", 1) ++AM_INIT_AUTOMAKE([foreign]) + if test -n "$SNAPSHOT_VERSION"; then + VERSION=$VERSION+$SNAPSHOT_VERSION + fi diff --git a/meta-oe/recipes-support/libol/libol_0.3.18.bb b/meta-oe/recipes-support/libol/libol_0.3.18.bb index 429945fe63..c31f483131 100644 --- a/meta-oe/recipes-support/libol/libol_0.3.18.bb +++ b/meta-oe/recipes-support/libol/libol_0.3.18.bb @@ -3,8 +3,17 @@ SECTION = "libs" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=c93c0550bd3173f4504b2cbd8991e50b" -SRC_URI = "http://www.balabit.com/downloads/files/libol/0.3/${P}.tar.gz" +SRC_URI = "http://www.balabit.com/downloads/files/libol/0.3/${BP}.tar.gz \ + file://configure.patch" SRC_URI[md5sum] = "cbadf4b7ea276dfa85acc38a1cc5ff17" SRC_URI[sha256sum] = "9de3bf13297ff882e02a1e6e5f6bf760a544aff92a9d8a1cf4328a32005cefe7" inherit autotools binconfig + +do_compile_prepend() { + install ${S}/utils/make_class.in ${B}/utils +} + +do_install_append() { + rm -fr ${D}${bindir} +} diff --git a/meta-oe/recipes-support/libp11/libp11_0.2.8.bb b/meta-oe/recipes-support/libp11/libp11_0.2.8.bb new file mode 100644 index 0000000000..5801484c2b --- /dev/null +++ b/meta-oe/recipes-support/libp11/libp11_0.2.8.bb @@ -0,0 +1,23 @@ +SUMMARY = "Library for using PKCS" +DESCRIPTION = "\ +Libp11 is a library implementing a small layer on top of PKCS \ +make using PKCS" +HOMEPAGE = "http://www.opensc-project.org/libp11" +SECTION = "Development/Libraries" +LICENSE = "LGPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=fad9b3332be894bab9bc501572864b29" +DEPENDS = "libtool openssl" + +SRC_URI = "git://github.com/OpenSC/libp11.git" +SRCREV = "7d56d89fcad6440d108bbbccfb1ebd958e7eb740" + +S = "${WORKDIR}/git" + +inherit autotools pkgconfig + +EXTRA_OECONF = "--disable-static" + +do_install_append () { + rm -rf ${D}${libdir}/*.la + rm -rf ${D}${docdir}/${BPN} +} diff --git a/meta-oe/recipes-support/libsdl-ttf/libsdl-ttf-2.0.10/configure.patch b/meta-oe/recipes-support/libsdl-ttf/libsdl-ttf-2.0.10/configure.patch index 2069644f9b..de88f0a34a 100644 --- a/meta-oe/recipes-support/libsdl-ttf/libsdl-ttf-2.0.10/configure.patch +++ b/meta-oe/recipes-support/libsdl-ttf/libsdl-ttf-2.0.10/configure.patch @@ -1,8 +1,38 @@ Index: SDL_ttf-2.0.10/configure.in =================================================================== ---- SDL_ttf-2.0.10.orig/configure.in 2010-10-15 10:54:51.392730531 +0200 -+++ SDL_ttf-2.0.10/configure.in 2010-10-15 10:55:06.382727473 +0200 -@@ -25,6 +25,8 @@ +--- SDL_ttf-2.0.10.orig/configure.in 2009-10-12 23:06:38.000000000 +0000 ++++ SDL_ttf-2.0.10/configure.in 2014-07-17 12:33:34.011662505 +0000 +@@ -1,5 +1,4 @@ + dnl Process this file with autoconf to produce a configure script. +-AC_INIT(README) + + dnl Set various version strings - taken gratefully from the GTk sources + +@@ -11,12 +10,19 @@ + # if backwards compatibility has been broken, + # set BINARY_AGE and INTERFACE_AGE to 0. + +-MAJOR_VERSION=2 +-MINOR_VERSION=0 +-MICRO_VERSION=10 ++m4_define([sdlttf_major_version],[2]) ++m4_define([sdlttf_minor_version],[0]) ++m4_define([sdlttf_micro_version],[10]) ++m4_define([sdlttf_version], [sdlttf_major_version.sdlttf_minor_version.sdlttf_micro_version]) ++ ++AC_INIT([SDL_ttf], [sdlttf_version]) ++ ++MAJOR_VERSION=sdlttf_major_version ++MINOR_VERSION=sdlttf_minor_version ++MICRO_VERSION=sdlttf_micro_version + INTERFACE_AGE=0 + BINARY_AGE=10 +-VERSION=$MAJOR_VERSION.$MINOR_VERSION.$MICRO_VERSION ++VERSION=sdlttf_version + + AC_SUBST(MAJOR_VERSION) + AC_SUBST(MINOR_VERSION) +@@ -25,6 +31,8 @@ AC_SUBST(BINARY_AGE) AC_SUBST(VERSION) @@ -11,3 +41,12 @@ Index: SDL_ttf-2.0.10/configure.in # libtool versioning LT_INIT([win32-dll]) +@@ -42,7 +50,7 @@ + AC_CANONICAL_HOST + + dnl Setup for automake +-AM_INIT_AUTOMAKE(SDL_ttf, $VERSION) ++AM_INIT_AUTOMAKE([foreign]) + + dnl Check for tools + AC_PROG_LIBTOOL diff --git a/meta-oe/recipes-support/libsdl-ttf/libsdl-ttf-2.0.10/use.pkg-config.for.freetype2.patch b/meta-oe/recipes-support/libsdl-ttf/libsdl-ttf-2.0.10/use.pkg-config.for.freetype2.patch new file mode 100644 index 0000000000..8a11f66495 --- /dev/null +++ b/meta-oe/recipes-support/libsdl-ttf/libsdl-ttf-2.0.10/use.pkg-config.for.freetype2.patch @@ -0,0 +1,57 @@ +freetype-config was removed from oe-core in + +commit 5870bd272b0b077d0826fb900b251884c1c05061 +Author: Richard Purdie <richard.purdie@linuxfoundation.org> +Date: Thu May 22 10:59:33 2014 +0100 + + binconfig-disabled: Add class and use + +diff --git a/configure.in b/configure.in +index 408e8d6..5f9e730 100644 +--- a/configure.in ++++ b/configure.in +@@ -86,39 +86,11 @@ case "$host" in + esac + AM_CONDITIONAL(USE_VERSION_RC, test x$use_version_rc = xtrue) + +-dnl Check for the FreeType 2 library +-dnl +-dnl Get the cflags and libraries from the freetype-config script +-dnl +-AC_ARG_WITH(freetype-prefix,[ --with-freetype-prefix=PFX Prefix where FREETYPE is +-installed (optional)], +- freetype_prefix="$withval", freetype_prefix="") +-AC_ARG_WITH(freetype-exec-prefix,[ --with-freetype-exec-prefix=PFX Exec prefix +-where FREETYPE is installed (optional)], +- freetype_exec_prefix="$withval", freetype_exec_prefix="") +- +-if test x$freetype_exec_prefix != x ; then +- freetype_args="$freetype_args --exec-prefix=$freetype_exec_prefix" +- if test x${FREETYPE_CONFIG+set} != xset ; then +- FREETYPE_CONFIG=$freetype_exec_prefix/bin/freetype-config +- fi +-fi +-if test x$freetype_prefix != x ; then +- freetype_args="$freetype_args --prefix=$freetype_prefix" +- if test x${FREETYPE_CONFIG+set} != xset ; then +- FREETYPE_CONFIG=$freetype_prefix/bin/freetype-config +- fi +-fi +-AC_PATH_PROG(FREETYPE_CONFIG, freetype-config, no) +-no_freetype="" +-if test "$FREETYPE_CONFIG" = "no" ; then +- AC_MSG_ERROR([ +-*** Unable to find FreeType2 library (http://www.freetype.org/) +-]) +-else +- CFLAGS="$CFLAGS `$FREETYPE_CONFIG $freetypeconf_args --cflags`" +- LIBS="$LIBS `$FREETYPE_CONFIG $freetypeconf_args --libs`" +-fi ++PKG_CHECK_MODULES(FREETYPE2, freetype2, ++ CFLAGS="$CFLAGS $FREETYPE2_CFLAGS" ++ LIBS="$LIBS $FREETYPE2_LIBS", ++ AC_MSG_ERROR([*** Unable to find FreeType2 library (http://www.freetype.org/)]) ++) + + dnl Check for SDL + SDL_VERSION=2.0.0 diff --git a/meta-oe/recipes-support/libsdl-ttf/libsdl-ttf_2.0.10.bb b/meta-oe/recipes-support/libsdl-ttf/libsdl-ttf_2.0.10.bb index c6e5a15ff7..ad3792e22e 100644 --- a/meta-oe/recipes-support/libsdl-ttf/libsdl-ttf_2.0.10.bb +++ b/meta-oe/recipes-support/libsdl-ttf/libsdl-ttf_2.0.10.bb @@ -4,10 +4,11 @@ DEPENDS = "virtual/libsdl freetype" LICENSE = "LGPLv2.1" LIC_FILES_CHKSUM = "file://COPYING;md5=27818cd7fd83877a8e3ef82b82798ef4" -PR = "r1" +PR = "r2" SRC_URI = "http://www.libsdl.org/projects/SDL_ttf/release/SDL_ttf-${PV}.tar.gz \ file://configure.patch \ + file://use.pkg-config.for.freetype2.patch \ " S = "${WORKDIR}/SDL_ttf-${PV}" @@ -18,11 +19,12 @@ inherit autotools TARGET_CC_ARCH += "${LDFLAGS}" do_configure_prepend() { - + + # Removing these files fixes a libtool version mismatch. MACROS="libtool.m4 lt~obsolete.m4 ltoptions.m4 ltsugar.m4 ltversion.m4" - + for i in ${MACROS}; do - rm acinclude/$i + rm -f ${S}/acinclude/$i done } diff --git a/meta-oe/recipes-support/libsmi/libsmi_0.4.8.bb b/meta-oe/recipes-support/libsmi/libsmi_0.4.8.bb index b21d9db023..2b036f9016 100644 --- a/meta-oe/recipes-support/libsmi/libsmi_0.4.8.bb +++ b/meta-oe/recipes-support/libsmi/libsmi_0.4.8.bb @@ -3,7 +3,7 @@ SUMMARY = "A Library to Access SMI MIB Information" LICENSE = "BSD" LIC_FILES_CHKSUM = "file://COPYING;md5=3ad3076f9332343a21636cfd351f05b7" -SRC_URI = "ftp://ftp.ibr.cs.tu-bs.de/pub/local/libsmi/${P}.tar.gz" +SRC_URI = "ftp://ftp.ibr.cs.tu-bs.de/pub/local/libsmi/${BP}.tar.gz" SRC_URI[md5sum] = "760b6b1070738158708649ed2c63425e" SRC_URI[sha256sum] = "f048a5270f41bc88b0c3b0a8fe70ca4d716a46b531a0ecaaa87c462f49d74849" diff --git a/meta-oe/recipes-support/libssh/libssh_0.6.3.bb b/meta-oe/recipes-support/libssh/libssh_git.bb index 771a47a6c0..47fb39a5b6 100644 --- a/meta-oe/recipes-support/libssh/libssh_0.6.3.bb +++ b/meta-oe/recipes-support/libssh/libssh_git.bb @@ -8,9 +8,11 @@ LICENSE = "LGPLv2.1" LIC_FILES_CHKSUM = "file://COPYING;md5=388a4fb1dea8ceae0be78ba9b01fc139" SRC_URI = "git://git.libssh.org/projects/libssh.git;branch=v0-6" -SRCREV = "87145387aa12b720b52d6bc75b4dd6cd058c868a" +SRCREV = "3880a8ed80a4b1e2c052bd62f328bba2f869d5ae" S = "${WORKDIR}/git" +PV = "0.6.4+git${SRCPV}" + EXTRA_OECMAKE = " \ -DWITH_GCRYPT=1 \ -DWITH_PCAP=1 \ @@ -18,6 +20,9 @@ EXTRA_OECMAKE = " \ -DWITH_ZLIB=1 \ " +PACKAGECONFIG ??="" +PACKAGECONFIG[gssapi] = "-DWITH_GSSAPI=1, -DWITH_GSSAPI=0, krb5, " + inherit cmake do_configure_prepend () { diff --git a/meta-oe/recipes-support/libssh2/libssh2_1.4.3.bb b/meta-oe/recipes-support/libssh2/libssh2_1.4.3.bb new file mode 100644 index 0000000000..b53766333b --- /dev/null +++ b/meta-oe/recipes-support/libssh2/libssh2_1.4.3.bb @@ -0,0 +1,18 @@ +SUMMARY = "A client-side C library implementing the SSH2 protocol" +HOMEPAGE = "http://www.libssh2.org/" +SECTION = "libs" + +DEPENDS = "zlib openssl" + +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://COPYING;md5=d00afe44f336a79a2ca7e1681ce14509" + +SRC_URI = "http://www.libssh2.org/download/${BP}.tar.gz" +SRC_URI[md5sum] = "071004c60c5d6f90354ad1b701013a0b" +SRC_URI[sha256sum] = "eac6f85f9df9db2e6386906a6227eb2cd7b3245739561cad7d6dc1d5d021b96d" + +inherit autotools pkgconfig + +EXTRA_OECONF += "--with-openssl \ + --with-libz \ + " diff --git a/meta-oe/recipes-support/libtinyxml2/libtinyxml2_git.bb b/meta-oe/recipes-support/libtinyxml2/libtinyxml2_git.bb new file mode 100644 index 0000000000..1d3cffd778 --- /dev/null +++ b/meta-oe/recipes-support/libtinyxml2/libtinyxml2_git.bb @@ -0,0 +1,38 @@ +SUMMARY = "TinyXML-2 is a simple, small, efficient, C++ XML parser that can be easily integrating into other programs." +HOMEPAGE = "http://www.grinninglizard.com/tinyxml2/" +LICENSE = "Zlib" +LIC_FILES_CHKSUM = "file://readme.md;md5=0033b2f8a25283414b21354670bb1334" +SECTION = "libs" + +SRCREV = "d211bb13512cf4edb408e2c4badbcf4100ce0fd0" + +PV = "2.2.0+git${SRCPV}" + +SRC_URI = "git://github.com/leethomason/tinyxml2.git" + +S = "${WORKDIR}/git" + +EXTRA_CXXFLAGS = "-I. -fPIC" + +do_compile() { + ${CXX} ${CXXFLAGS} ${EXTRA_CXXFLAGS} -c -o tinyxml2.o tinyxml2.cpp + ${CXX} ${CXXFLAGS} \ + -shared \ + -Wl,-soname,libtinyxml2.so.${PV} \ + -o libtinyxml2.so.${PV} \ + ${LDFLAGS} \ + tinyxml2.o \ + +} + +do_install() { + install -d ${D}${libdir} + install -m 0755 ${S}/libtinyxml2.so.${PV} ${D}${libdir} + ln -sf libtinyxml2.so.${PV} ${D}${libdir}/libtinyxml2.so + + install -d ${D}${includedir} + install -m 0644 ${S}/tinyxml2.h ${D}${includedir} +} + +BBCLASSEXTEND += "native" + diff --git a/meta-oe/recipes-support/libunwind/libunwind.inc b/meta-oe/recipes-support/libunwind/libunwind.inc deleted file mode 100644 index b27b9e5994..0000000000 --- a/meta-oe/recipes-support/libunwind/libunwind.inc +++ /dev/null @@ -1,30 +0,0 @@ -DESCRIPTION = "a portable and efficient C programming interface (API) to determine the call-chain of a program" -HOMEPAGE = "http://www.nongnu.org/libunwind" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=3fced11d6df719b47505837a51c16ae5" - -SRC_URI = "${SAVANNAH_NONGNU_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz" - -inherit autotools - -PACKAGECONFIG ??= "" -PACKAGECONFIG[lzma] = "--enable-minidebuginfo,--disable-minidebuginfo,lzma" - -EXTRA_OECONF_arm = "--enable-debug-frame" - -CFLAGS += "${ATOMICOPS}" -ATOMICOPS_armv5 = "-DAO_USE_PTHREAD_DEFS=1" -ATOMICOPS_armv4 = "-DAO_USE_PTHREAD_DEFS=1" -ATOMICOPS ?= "" - -LDFLAGS += "${LIBATOMICS}" -LIBATOMICS_armv5 = "-latomic_ops" -LIBATOMICS_armv4 = "-latomic_ops" -LIBATOMICS ?= "" - -DEPENDS += "${DEPLIBATOMICS}" -DEPLIBATOMICS_armv5 = "libatomics-ops" -DEPLIBATOMICS_armv4 = "libatomics-ops" -DEPLIBATOMICS ?= "" - -BBCLASSEXTEND = "native" diff --git a/meta-oe/recipes-support/libunwind/libunwind_1.1.bb b/meta-oe/recipes-support/libunwind/libunwind_1.1.bb deleted file mode 100644 index bc38e36440..0000000000 --- a/meta-oe/recipes-support/libunwind/libunwind_1.1.bb +++ /dev/null @@ -1,4 +0,0 @@ -require libunwind.inc - -SRC_URI[md5sum] = "fb4ea2f6fbbe45bf032cd36e586883ce" -SRC_URI[sha256sum] = "9dfe0fcae2a866de9d3942c66995e4b460230446887dbdab302d41a8aee8d09a" diff --git a/meta-oe/recipes-support/libusbg/libusbg/0001-Fix-out-of-tree-builds.patch b/meta-oe/recipes-support/libusbg/libusbg/0001-Fix-out-of-tree-builds.patch new file mode 100644 index 0000000000..6be49fbca4 --- /dev/null +++ b/meta-oe/recipes-support/libusbg/libusbg/0001-Fix-out-of-tree-builds.patch @@ -0,0 +1,39 @@ +From 6118c6ec1291a5c731aa8d4f0c1eb8cce43d47ad Mon Sep 17 00:00:00 2001 +From: Koen Kooi <koen@dominion.thruhere.net> +Date: Mon, 4 Aug 2014 09:04:08 +0200 +Subject: [PATCH] Fix out-of-tree builds + +The include flag should point to the source directory, not the build +directory. + +Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> +Upstream-status: Submitted [https://github.com/libusbg/libusbg/pull/9] +--- + examples/Makefile.am | 2 +- + src/Makefile.am | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/examples/Makefile.am b/examples/Makefile.am +index f9f9407..ef4f81e 100644 +--- a/examples/Makefile.am ++++ b/examples/Makefile.am +@@ -1,5 +1,5 @@ + bin_PROGRAMS = show-gadgets gadget-acm-ecm + gadget_acm_ecm_SOURCES = gadget-acm-ecm.c + show_gadgets_SOURCES = show-gadgets.c +-AM_CPPFLAGS=-I../include/ ++AM_CPPFLAGS=-I$(top_srcdir)/include/ + AM_LDFLAGS=-L../src/ -lusbg +diff --git a/src/Makefile.am b/src/Makefile.am +index d955a4c..2f71366 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -1,4 +1,4 @@ + lib_LTLIBRARIES = libusbg.la + libusbg_la_SOURCES = usbg.c + libusbg_la_LDFLAGS = -version-info 0:1:0 +-AM_CPPFLAGS=-I../include/ ++AM_CPPFLAGS=-I$(top_srcdir)/include/ +-- +1.9.0 + diff --git a/meta-oe/recipes-support/libusbg/libusbg_git.bb b/meta-oe/recipes-support/libusbg/libusbg_git.bb index ed5ac65500..97d60a6a8a 100644 --- a/meta-oe/recipes-support/libusbg/libusbg_git.bb +++ b/meta-oe/recipes-support/libusbg/libusbg_git.bb @@ -7,8 +7,10 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ inherit autotools PV = "0.1.0" -SRCREV = "7e2b04363f319e8936a606bdb122dbde249a2f58" -SRC_URI = "git://github.com/libusbg/libusbg.git" +SRCREV = "a826d136e0e8fa53815f1ba05893e6dd74208c15" +SRC_URI = "git://github.com/libusbg/libusbg.git \ + file://0001-Fix-out-of-tree-builds.patch \ + " S = "${WORKDIR}/git" diff --git a/meta-oe/recipes-support/libutempter/libutempter/0001-Fix-macro-error.patch b/meta-oe/recipes-support/libutempter/libutempter/0001-Fix-macro-error.patch new file mode 100644 index 0000000000..8140ea3438 --- /dev/null +++ b/meta-oe/recipes-support/libutempter/libutempter/0001-Fix-macro-error.patch @@ -0,0 +1,36 @@ +From fc2bd592ad17d1c2a2a989750e69dfaedc28c633 Mon Sep 17 00:00:00 2001 +From: Qian Lei <qianl.fnst@cn.fujitsu.com> +Date: Fri, 9 Jan 2015 10:40:29 +0800 +Subject: [PATCH] Fix macro error + +compile error when build on almost all architectures. + +Upstream-Status: Pending +Signed-off-by: Qian Lei <qianl.fnst@cn.fujitsu.com> +--- + iface.c | 9 ++++++++- + 1 file changed, 8 insertions(+), 1 deletion(-) + +diff --git a/iface.c b/iface.c +index 5951d81..27793f0 100644 +--- a/iface.c ++++ b/iface.c +@@ -43,7 +43,14 @@ + __result; })) + #endif + +-#define UTEMPTER_DEFAULT_PATHNAME LIBEXECDIR "/utempter/utempter" ++#ifdef LIBEXECDIR ++# define CAT_PATH(DIR1,DIR2) DIR1##DIR2 ++# define RAW_UTEMPTER_PATH CAT_PATH(LIBEXECDIR,/utempter/utempter) ++#else ++# define RAW_UTEMPTER_PATH /usr/lib/libtempter/utempter/utempter ++#endif ++#define STR_PATH(RAW_STR) #RAW_STR ++#define UTEMPTER_DEFAULT_PATHNAME STR_PATH(RAW_UTEMPTER_PATH) + + static const char *utempter_pathname; + static int saved_fd = -1; +-- +1.8.3.1 + diff --git a/meta-oe/recipes-support/libutempter/libutempter_1.1.6.bb b/meta-oe/recipes-support/libutempter/libutempter_1.1.6.bb new file mode 100644 index 0000000000..f84e6493c7 --- /dev/null +++ b/meta-oe/recipes-support/libutempter/libutempter_1.1.6.bb @@ -0,0 +1,36 @@ +SUMMARY = "A privileged helper for utmp/wtmp updates" +DESCRIPTION = "\ +This library provides interface for terminal emulators such as \ +screen and xterm to record user sessions to utmp and wtmp files." +HOMEPAGE = "ftp://ftp.altlinux.org/pub/people/ldv/utempter" +SECTION = "System Environment/Libraries" +LICENSE = "GPLv2 & GPLv2+ & LGPLv2 & MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1" + +SRC_URI = "ftp://ftp.altlinux.org/pub/people/ldv/utempter/${BP}.tar.bz2 \ + file://0001-Fix-macro-error.patch" +SRC_URI[md5sum] = "b43827806923903aba2bc7cd3a2d45b7" +SRC_URI[sha256sum] = "b898565f31ced7e5c1fa0a2eaa0f6ff0ed862b5fe375d26375b64bfbdfeac397" + +CFLAGS += "-DLIBEXECDIR=${libexecdir}" + +do_compile() { + oe_runmake \ + libdir=${libdir} \ + libexecdir=${libexecdir} +} + +do_install() { + oe_runmake install \ + DESTDIR=${D} \ + libdir="${libdir}" \ + libexecdir="${libexecdir}" \ + includedir=${includedir} \ + mandir=${mandir} + + rm -f ${D}${libdir}/*.a +} + +FILES_${PN} = "${libdir}/*.so.*" +FILES_${PN} += "${libexecdir}/utempter/utempter" +FILES_${PN}-dbg += "${libexecdir}/utempter/.debug/utempter" diff --git a/meta-oe/recipes-support/libyaml/files/libyaml-CVE-2014-2525.patch b/meta-oe/recipes-support/libyaml/files/libyaml-CVE-2014-2525.patch new file mode 100644 index 0000000000..2fdcba3eca --- /dev/null +++ b/meta-oe/recipes-support/libyaml/files/libyaml-CVE-2014-2525.patch @@ -0,0 +1,42 @@ +Heap-based buffer overflow in the yaml_parser_scan_uri_escapes function +in LibYAML before 0.1.6 allows context-dependent attackers to execute +arbitrary code via a long sequence of percent-encoded characters in a +URI in a YAML file. + +Upstream-Status: Backport + +Signed-off-by: Kai Kang <kai.kang@windriver.com> +--- +diff --git a/src/scanner.c.old b/src/scanner.c +index a2e8619..c6cde3b 100644 +--- a/src/scanner.c.old ++++ b/src/scanner.c +@@ -2619,6 +2619,9 @@ yaml_parser_scan_tag_uri(yaml_parser_t *parser, int directive, + /* Check if it is a URI-escape sequence. */ + + if (CHECK(parser->buffer, '%')) { ++ if (!STRING_EXTEND(parser, string)) ++ goto error; ++ + if (!yaml_parser_scan_uri_escapes(parser, + directive, start_mark, &string)) goto error; + } +diff --git a/src/yaml_private.h.old b/src/yaml_private.h +index ed5ea66..d72acb4 100644 +--- a/src/yaml_private.h.old ++++ b/src/yaml_private.h +@@ -132,9 +132,12 @@ yaml_string_join( + (string).start = (string).pointer = (string).end = 0) + + #define STRING_EXTEND(context,string) \ +- (((string).pointer+5 < (string).end) \ ++ ((((string).pointer+5 < (string).end) \ + || yaml_string_extend(&(string).start, \ +- &(string).pointer, &(string).end)) ++ &(string).pointer, &(string).end)) ? \ ++ 1 : \ ++ ((context)->error = YAML_MEMORY_ERROR, \ ++ 0)) + + #define CLEAR(context,string) \ + ((string).pointer = (string).start, \ diff --git a/meta-oe/recipes-support/libyaml/libyaml_0.1.5.bb b/meta-oe/recipes-support/libyaml/libyaml_0.1.5.bb index c44eda4ee1..1279541966 100644 --- a/meta-oe/recipes-support/libyaml/libyaml_0.1.5.bb +++ b/meta-oe/recipes-support/libyaml/libyaml_0.1.5.bb @@ -7,7 +7,9 @@ SECTION = "libs/devel" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://LICENSE;md5=6015f088759b10e0bc2bf64898d4ae17" -SRC_URI = "http://pyyaml.org/download/libyaml/yaml-${PV}.tar.gz" +SRC_URI = "http://pyyaml.org/download/libyaml/yaml-${PV}.tar.gz \ + file://libyaml-CVE-2014-2525.patch \ + " SRC_URI[md5sum] = "24f6093c1e840ca5df2eb09291a1dbf1" SRC_URI[sha256sum] = "fa87ee8fb7b936ec04457bc044cd561155e1000a4d25029867752e543c2d3bef" diff --git a/meta-oe/recipes-support/links/links-x11_2.7.bb b/meta-oe/recipes-support/links/links-x11_2.7.bb index 601742f9f6..2ae11ac97e 100644 --- a/meta-oe/recipes-support/links/links-x11_2.7.bb +++ b/meta-oe/recipes-support/links/links-x11_2.7.bb @@ -3,16 +3,20 @@ require links.inc DEPENDS += "virtual/libx11" RCONFLICTS_${PN} = "links" +inherit distro_features_check +# depends on virtual/libx11 +REQUIRED_DISTRO_FEATURES = "x11" + SRC_URI += " file://links2.desktop \ http://www.xora.org.uk/oe/links2.png;name=icon" S = "${WORKDIR}/links-${PV}" -EXTRA_OECONF = "--enable-javascript --with-libfl --enable-graphics \ +EXTRA_OECONF = "--enable-graphics \ --with-ssl=${STAGING_LIBDIR}/.. --with-libjpeg \ --without-libtiff --without-svgalib --without-fb \ --without-directfb --without-pmshell --without-atheos \ - --with-x --without-gpm --without-sdl" + --with-x --without-gpm" do_install_append() { install -d ${D}/${datadir}/applications diff --git a/meta-oe/recipes-support/links/links.inc b/meta-oe/recipes-support/links/links.inc index 78d7ec78df..e072408206 100644 --- a/meta-oe/recipes-support/links/links.inc +++ b/meta-oe/recipes-support/links/links.inc @@ -12,6 +12,6 @@ SRC_URI = "http://links.twibright.com/download/links-${PV}.tar.bz2 \ PACKAGECONFIG ??= "" PACKAGECONFIG[bzip2] = "--with-bzip2,--without-bzip2,bzip2" -PACKAGECONFIG[lzma] = "--with-lzma,--without-lzma,lzma" +PACKAGECONFIG[lzma] = "--with-lzma,--without-lzma,xz" -inherit autotools +inherit autotools pkgconfig diff --git a/meta-oe/recipes-support/links/links_2.7.bb b/meta-oe/recipes-support/links/links_2.7.bb index 24c1985573..e80dd7bca3 100644 --- a/meta-oe/recipes-support/links/links_2.7.bb +++ b/meta-oe/recipes-support/links/links_2.7.bb @@ -3,11 +3,11 @@ require links.inc DEPENDS += "gpm" RCONFLICTS_${PN} = "links-x11" -EXTRA_OECONF = "--enable-javascript --with-libfl --enable-graphics \ +EXTRA_OECONF = "--enable-graphics \ --with-ssl=${STAGING_LIBDIR}/.. --with-libjpeg \ --without-libtiff --without-svgalib --with-fb \ --without-directfb --without-pmshell --without-atheos \ - --without-x --without-sdl" + --without-x" SRC_URI[md5sum] = "d06aa6e14b2172d73188871a5357185a" SRC_URI[sha256sum] = "0c182b1cbcdfd5cdcd2f75a6032d1a4b660d07c1225c1e07757cec81d3302130" diff --git a/meta-oe/recipes-support/lockdev/lockdev_git.bb b/meta-oe/recipes-support/lockdev/lockdev_git.bb index 919487f819..023b9a7ddc 100644 --- a/meta-oe/recipes-support/lockdev/lockdev_git.bb +++ b/meta-oe/recipes-support/lockdev/lockdev_git.bb @@ -10,7 +10,7 @@ SRC_URI = "git://anonscm.debian.org/lockdev/lockdev.git" S = "${WORKDIR}/git" -inherit lib_package autotools +inherit lib_package autotools-brokensep do_configure_prepend () { ./scripts/git-version > VERSION diff --git a/meta-oe/recipes-support/log4c/log4c_1.2.4.bb b/meta-oe/recipes-support/log4c/log4c_1.2.4.bb new file mode 100644 index 0000000000..43e074699b --- /dev/null +++ b/meta-oe/recipes-support/log4c/log4c_1.2.4.bb @@ -0,0 +1,16 @@ +SUMMARY = "Logging Framework for C" +HOMEPAGE = "http://log4c.sourceforge.net" +LICENSE = "LGPLv2" + +LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" + +SRC_URI = "http://cznic.dl.sourceforge.net/project/log4c/log4c/${PV}/log4c-${PV}.tar.gz" +SRC_URI[md5sum] = "0d94919136e1d16b68427562e74cb3dd" +SRC_URI[sha256sum] = "5991020192f52cc40fa852fbf6bbf5bd5db5d5d00aa9905c67f6f0eadeed48ea" + +S = "${WORKDIR}/${PN}-${PV}" + +EXTRA_OECONF = "--prefix=/usr" + +inherit autotools + diff --git a/meta-oe/recipes-support/log4cpp/log4cpp_1.1.1.bb b/meta-oe/recipes-support/log4cpp/log4cpp_1.1.1.bb new file mode 100644 index 0000000000..dba4fa07aa --- /dev/null +++ b/meta-oe/recipes-support/log4cpp/log4cpp_1.1.1.bb @@ -0,0 +1,22 @@ +DESCRIPTION = "A library of C++ classes for flexible logging to files, syslog, IDSA and other destinations." +HOMEPAGE = "http://sourceforge.net/projects/log4cpp/" +PRIORITY = "optional" +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34" + +SRC_URI[md5sum] = "1e173df8ee97205f412ff84aa93b8fbe" +SRC_URI[sha256sum] = "35abf332630a6809c969276b1d60b90c81a95daf24c86cfd7866ffef72f9bed0" + +SRC_URI = "http://downloads.sourceforge.net/${BPN}/${BP}.tar.gz" + +S="${WORKDIR}/${BPN}" + +inherit autotools pkgconfig + +EXTRA_OECONF = "\ + --enable-doxygen=no \ + --enable-dot=no \ + --enable-html-docs=no \ + --enable-latex-docs=no \ + LDFLAGS=-lpthread \ +" diff --git a/meta-oe/recipes-support/lvm2/lvm2.inc b/meta-oe/recipes-support/lvm2/lvm2.inc index c6a9ec0f76..42f6e3a43e 100644 --- a/meta-oe/recipes-support/lvm2/lvm2.inc +++ b/meta-oe/recipes-support/lvm2/lvm2.inc @@ -28,13 +28,14 @@ EXTRA_OECONF = "--with-user= \ --enable-pkgconfig \ --enable-dmeventd \ --with-udev-prefix= \ + --with-usrlibdir=${libdir} \ " PACKAGECONFIG += "${@base_contains('DISTRO_FEATURES', 'selinux', 'selinux', '', d)}" PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux," -inherit autotools +inherit autotools pkgconfig do_install_append() { # Install machine specific configuration file @@ -47,4 +48,5 @@ FILES_${PN} += "${libdir}/device-mapper/*.so ${base_libdir}/udev" FILES_${PN}-dbg += "${libdir}/device-mapper/.debug" RDEPENDS_${PN} = "bash" -EXTRA_OECONF = "--with-usrlibdir=${libdir}" + +CONFFILES_${PN} += "${sysconfdir}/lvm/lvm.conf" diff --git a/meta-oe/recipes-support/lzip/lzip_1.15.bb b/meta-oe/recipes-support/lzip/lzip_1.16.bb index 3d646953bd..af0b6ae8e6 100644 --- a/meta-oe/recipes-support/lzip/lzip_1.15.bb +++ b/meta-oe/recipes-support/lzip/lzip_1.16.bb @@ -1,16 +1,14 @@ -SUMMARY = "Lzip is a lossless data compressor based on the LZMA algorithm" +SUMMARY = "Lossless data compressor based on the LZMA algorithm" HOMEPAGE = "http://lzip.nongnu.org/lzip.html" SECTION = "console/utils" -LICENSE = "GPLv3" -LIC_FILES_CHKSUM = "file://COPYING;md5=f27defe1e96c2e1ecd4e0c9be8967949" +LICENSE = "GPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=76d6e300ffd8fb9d18bd9b136a9bba13 \ + file://decoder.cc;endline=16;md5=0809128ac32163252846e09a70c8b80b" SRC_URI = "${SAVANNAH_GNU_MIRROR}/lzip/lzip-${PV}.tar.gz" -# Only the latest version is available in .tar.gz format from savannah.gnu.org, -# FreeBSD distfiles is known to have version 1.13. - -SRC_URI[md5sum] = "e83a364c8544fc66cccb552369d93220" -SRC_URI[sha256sum] = "7cd3fcda68fc9900efcf7784313e3bdd1303fef1a0546db9723f5e5564dd05b6" +SRC_URI[md5sum] = "716a9876dc595ec52d4f3bda81e42471" +SRC_URI[sha256sum] = "128cc25baf92c8b69700831e6f984d954016318cc78edca87870d0c033112751" CONFIGUREOPTS = "\ '--srcdir=${S}' \ diff --git a/meta-oe/recipes-support/lzma/lzma-4.65/001-large_files.patch b/meta-oe/recipes-support/lzma/lzma-4.65/001-large_files.patch deleted file mode 100644 index b95fe9e90f..0000000000 --- a/meta-oe/recipes-support/lzma/lzma-4.65/001-large_files.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: lzma-4.65/CPP/7zip/Compress/LZMA_Alone/makefile.gcc -=================================================================== ---- lzma-4.65.orig/CPP/7zip/Compress/LZMA_Alone/makefile.gcc 2009-05-15 23:33:51.000000000 +0200 -+++ lzma-4.65/CPP/7zip/Compress/LZMA_Alone/makefile.gcc 2009-06-01 22:00:54.000000000 +0200 -@@ -3,7 +3,7 @@ - CXX_C = gcc -O2 -Wall - LIB = -lm - RM = rm -f --CFLAGS = -c -+CFLAGS = -c -D_FILE_OFFSET_BITS=64 - - ifdef SystemDrive - IS_MINGW = 1 diff --git a/meta-oe/recipes-support/lzma/lzma-4.65/002-lzmp.patch b/meta-oe/recipes-support/lzma/lzma-4.65/002-lzmp.patch deleted file mode 100644 index 72d881cdb2..0000000000 --- a/meta-oe/recipes-support/lzma/lzma-4.65/002-lzmp.patch +++ /dev/null @@ -1,1059 +0,0 @@ -Index: lzma-4.65/CPP/7zip/Compress/LZMA_Alone/lzmp.cpp -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ lzma-4.65/CPP/7zip/Compress/LZMA_Alone/lzmp.cpp 2009-06-01 22:01:10.000000000 +0200 -@@ -0,0 +1,895 @@ -+/* -+ * LZMA command line tool similar to gzip to encode and decode LZMA files. -+ * -+ * Copyright (C) 2005 Ville Koskinen -+ * -+ * 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. -+ */ -+ -+#include "../../../Common/MyInitGuid.h" -+ -+#include <iostream> -+using std::cout; -+using std::cerr; -+using std::endl; -+ -+#include <cstdio> -+#include <cstdlib> -+#include <cstring> -+ -+#include <string> -+using std::string; -+#include <vector> -+using std::vector; -+typedef vector<string> stringVector; -+ -+#include <unistd.h> -+#include <getopt.h> -+#include <signal.h> -+ -+#include <sys/types.h> -+#include <sys/stat.h> -+#include <utime.h> -+#include <sys/time.h> // futimes() -+ -+// For Solaris -+#ifndef HAVE_FUTIMES -+//#define futimes(fd, tv) futimesat(fd, NULL, tv) -+#endif -+ -+#if defined(_WIN32) || defined(OS2) || defined(MSDOS) -+#include <fcntl.h> -+#include <io.h> -+#define MY_SET_BINARY_MODE(file) setmode(fileno(file),O_BINARY) -+#else -+#define MY_SET_BINARY_MODE(file) -+#endif -+ -+#include "../../../7zip/Common/FileStreams.h" -+ -+#include "../../../Common/Types.h" -+ -+#include "../../../7zip/Compress/LzmaDecoder.h" -+#include "../../../7zip/Compress/LzmaEncoder.h" -+ -+#include "Exception.h" -+ -+#include "lzma_version.h" -+ -+namespace lzma { -+ -+const char *PROGRAM_VERSION = PACKAGE_VERSION; -+const char *PROGRAM_COPYRIGHT = "Copyright (C) 2006 Ville Koskinen"; -+ -+/* LZMA_Alone switches: -+ -a{N}: set compression mode - [0, 2], default: 2 (max) -+ -d{N}: set dictionary - [0,28], default: 23 (8MB) -+ -fb{N}: set number of fast bytes - [5, 255], default: 128 -+ -lc{N}: set number of literal context bits - [0, 8], default: 3 -+ -lp{N}: set number of literal pos bits - [0, 4], default: 0 -+ -pb{N}: set number of pos bits - [0, 4], default: 2 -+ -mf{MF_ID}: set Match Finder: [bt2, bt3, bt4, bt4b, pat2r, pat2, -+ pat2h, pat3h, pat4h, hc3, hc4], default: bt4 -+*/ -+ -+struct lzma_option { -+ short compression_mode; // -a -+ short dictionary; // -d -+ short fast_bytes; // -fb -+ wchar_t *match_finder; // -mf -+ short literal_context_bits; // -lc -+ short literal_pos_bits; // -lp -+ short pos_bits; // -pb -+}; -+ -+/* The following is a mapping from gzip/bzip2 style -1 .. -9 compression modes -+ * to the corresponding LZMA compression modes. Thanks, Larhzu, for coining -+ * these. */ -+const lzma_option option_mapping[] = { -+ { 0, 0, 0, NULL, 0, 0, 0}, // -0 (needed for indexing) -+ { 0, 16, 64, L"hc4", 3, 0, 2}, // -1 -+ { 0, 20, 64, L"hc4", 3, 0, 2}, // -2 -+ { 1, 19, 64, L"bt4", 3, 0, 2}, // -3 -+ { 2, 20, 64, L"bt4", 3, 0, 2}, // -4 -+ { 2, 21, 128, L"bt4", 3, 0, 2}, // -5 -+ { 2, 22, 128, L"bt4", 3, 0, 2}, // -6 -+ { 2, 23, 128, L"bt4", 3, 0, 2}, // -7 -+ { 2, 24, 255, L"bt4", 3, 0, 2}, // -8 -+ { 2, 25, 255, L"bt4", 3, 0, 2}, // -9 -+}; -+ -+struct extension_pair { -+ char *from; -+ char *to; -+}; -+ -+const extension_pair known_extensions[] = { -+ { ".lzma", "" }, -+ { ".tlz", ".tar" }, -+ { NULL, NULL } -+}; -+ -+/* Sorry, I just happen to like enumerations. */ -+enum PROGRAM_MODE { -+ PM_COMPRESS = 0, -+ PM_DECOMPRESS, -+ PM_TEST, -+ PM_HELP, -+ PM_LICENSE, -+ PM_VERSION -+}; -+ -+enum { -+ STATUS_OK = 0, -+ STATUS_ERROR = 1, -+ STATUS_WARNING = 2 -+}; -+ -+/* getopt options. */ -+/* struct option { name, has_arg, flag, val } */ -+const struct option long_options[] = { -+ { "stdout", 0, 0, 'c' }, -+ { "decompress", 0, 0, 'd' }, -+ { "compress", 0, 0, 'z' }, -+ { "keep", 0, 0, 'k' }, -+ { "force", 0, 0, 'f' }, -+ { "test", 0, 0, 't' }, -+ { "suffix", 1, 0, 'S' }, -+ { "quiet", 0, 0, 'q' }, -+ { "verbose", 0, 0, 'v' }, -+ { "help", 0, 0, 'h' }, -+ { "license", 0, 0, 'L' }, -+ { "version", 0, 0, 'V' }, -+ { "fast", 0, 0, '1' }, -+ { "best", 0, 0, '9' }, -+ { 0, 0, 0, 0 } -+}; -+ -+/* getopt option string (for the above options). */ -+const char option_string[] = "cdzkftS:qvhLV123456789A:D:F:"; -+ -+/* Defaults. */ -+PROGRAM_MODE program_mode = PM_COMPRESS; -+int verbosity = 0; -+bool stdinput = false; -+bool stdoutput = false; -+bool keep = false; -+bool force = false; -+int compression_mode = 7; -+//char *suffix = strdup(".lzma"); -+char *suffix = strdup(known_extensions[0].from); -+lzma_option advanced_options = { -1, -1, -1, NULL, -1, -1, -1 }; -+ -+void print_help(const char *const argv0) -+{ -+ // Help goes to stdout while other messages go to stderr. -+ cout << "\nlzma " << PROGRAM_VERSION -+ << " " << PROGRAM_COPYRIGHT << "\n" -+ "Based on LZMA SDK " << LZMA_SDK_VERSION_STRING << " " -+ << LZMA_SDK_COPYRIGHT_STRING -+ << "\n\nUsage: " << argv0 -+ << " [flags and input files in any order]\n" -+" -c --stdout output to standard output\n" -+" -d --decompress force decompression\n" -+" -z --compress force compression\n" -+" -k --keep keep (don't delete) input files\n" -+" -f --force force overwrite of output file and compress links\n" -+" -t --test test compressed file integrity\n" -+" -S .suf --suffix .suf use suffix .suf on compressed files\n" -+" -q --quiet suppress error messages\n" -+" -v --verbose be verbose\n" -+" -h --help print this message\n" -+" -L --license display the license information\n" -+" -V --version display version numbers of LZMA SDK and lzma\n" -+" -1 .. -2 fast compression\n" -+" -3 .. -9 good to excellent compression. -7 is the default.\n" -+" --fast alias for -1\n" -+" --best alias for -9 (usually *not* what you want)\n\n" -+" Memory usage depends a lot on the chosen compression mode -1 .. -9.\n" -+" See the man page lzma(1) for details.\n\n"; -+} -+ -+void print_license(void) -+{ -+ cout << "\n LZMA command line tool " << PROGRAM_VERSION << " - " -+ << PROGRAM_COPYRIGHT -+ << "\n LZMA SDK " << LZMA_SDK_VERSION_STRING << " - " -+ << LZMA_SDK_COPYRIGHT_STRING -+ << "\n This program is a part of the LZMA utils package.\n" -+ " http://tukaani.org/lzma/\n\n" -+" This program is free software; you can redistribute it and/or\n" -+" modify it under the terms of the GNU General Public License\n" -+" as published by the Free Software Foundation; either version 2\n" -+" of the License, or (at your option) any later version.\n" -+"\n" -+" This program is distributed in the hope that it will be useful,\n" -+" but WITHOUT ANY WARRANTY; without even the implied warranty of\n" -+" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" -+" GNU General Public License for more details.\n" -+"\n"; -+} -+ -+void print_version(void) -+{ -+ cout << "LZMA command line tool " << PROGRAM_VERSION << "\n" -+ << "LZMA SDK " << LZMA_SDK_VERSION_STRING << "\n"; -+} -+ -+short str2int (const char *str, const int &min, const int &max) -+{ -+ int value = -1; -+ char *endptr = NULL; -+ if (str == NULL || str[0] == '\0') -+ throw ArgumentException("Invalid integer option"); -+ value = strtol (str, &endptr, 10); -+ if (*endptr != '\0' || value < min || value > max) -+ throw ArgumentException("Invalid integer option"); -+ return value; -+} -+ -+void parse_options(int argc, char **argv, stringVector &filenames) -+{ -+ /* Snatched from getopt(3). */ -+ int c; -+ -+ /* Check how we were called */ -+ { -+ char *p = strrchr (argv[0], '/'); // Remove path prefix, if any -+ if (p++ == NULL) -+ p = argv[0]; -+ if (strstr (p, "un") != NULL) { -+ program_mode = PM_DECOMPRESS; -+ } else if (strstr (p, "cat") != NULL) { -+ program_mode = PM_DECOMPRESS; -+ stdoutput = true; -+ } -+ } -+ -+ while (-1 != (c = getopt_long(argc, argv, option_string, -+ long_options, NULL))) { -+ switch (c) { -+ // stdout -+ case 'c': -+ stdoutput = true; -+ break; -+ -+ // decompress -+ case 'd': -+ program_mode = PM_DECOMPRESS; -+ break; -+ -+ // compress -+ case 'z': -+ program_mode = PM_COMPRESS; -+ break; -+ -+ // keep -+ case 'k': -+ keep = true; -+ break; -+ -+ // force -+ case 'f': -+ force = true; -+ break; -+ -+ // test -+ case 't': -+ program_mode = PM_TEST; -+ break; -+ -+ // suffix -+ case 'S': -+ if (optarg) { -+ free(suffix); -+ suffix = strdup(optarg); -+ } -+ break; -+ -+ // quiet -+ case 'q': -+ verbosity = 0; -+ break; -+ -+ // verbose -+ case 'v': -+ verbosity++; -+ break; -+ -+ // help -+ case 'h': -+ program_mode = PM_HELP; -+ break; -+ -+ // license -+ case 'L': -+ program_mode = PM_LICENSE; -+ break; -+ -+ // version -+ case 'V': -+ program_mode = PM_VERSION; -+ break; -+ -+ case '1': case '2': case '3': case '4': case '5': -+ case '6': case '7': case '8': case '9': -+ compression_mode = c - '0'; -+ break; -+ -+ // Advanced options // -+ // Compression mode -+ case 'A': -+ advanced_options.compression_mode = -+ str2int (optarg, 0, 2); -+ break; -+ -+ // Dictionary size -+ case 'D': -+ advanced_options.dictionary = -+ str2int (optarg, 0, 28); -+ break; -+ -+ // Fast bytes -+ case 'F': -+ advanced_options.fast_bytes = -+ str2int (optarg, 0, 273); -+ break; -+ -+ default: -+ throw ArgumentException(""); -+ break; -+ } // switch(c) -+ } // while(1) -+ -+ for (int i = optind; i < argc; i++) { -+ if (strcmp("-", argv[i]) == 0) -+ continue; -+ filenames.push_back(argv[i]); -+ } -+} // parse_options -+ -+void set_encoder_properties(NCompress::NLzma::CEncoder *encoder, -+ lzma_option &opt) -+{ -+ /* Almost verbatim from LzmaAlone.cpp. */ -+ PROPID propIDs[] = -+ { -+ NCoderPropID::kDictionarySize, -+ NCoderPropID::kPosStateBits, -+ NCoderPropID::kLitContextBits, -+ NCoderPropID::kLitPosBits, -+ NCoderPropID::kAlgorithm, -+ NCoderPropID::kNumFastBytes, -+ NCoderPropID::kMatchFinder, -+ NCoderPropID::kEndMarker -+ }; -+ const int kNumProps = sizeof(propIDs) / sizeof(propIDs[0]); -+#define VALUE(x) (advanced_options.x >= 0 ? advanced_options.x : opt.x) -+ PROPVARIANT properties[kNumProps]; -+ for (int p = 0; p < 6; p++) -+ properties[p].vt = VT_UI4; -+ properties[0].ulVal = UInt32(1 << VALUE (dictionary)); -+ properties[1].ulVal = UInt32(VALUE (pos_bits)); -+ properties[2].ulVal = UInt32(VALUE (literal_context_bits)); -+ properties[3].ulVal = UInt32(VALUE (literal_pos_bits)); -+ properties[4].ulVal = UInt32(VALUE (compression_mode)); -+ properties[5].ulVal = UInt32(VALUE (fast_bytes)); -+#undef VALUE -+ -+ properties[6].vt = VT_BSTR; -+ properties[6].bstrVal = (BSTR)opt.match_finder; -+ -+ properties[7].vt = VT_BOOL; -+ properties[7].boolVal = stdinput ? VARIANT_TRUE : VARIANT_FALSE; -+ -+ if (encoder->SetCoderProperties(propIDs, properties, kNumProps) != S_OK) -+ throw Exception("SetCoderProperties() error"); -+} -+ -+void encode(NCompress::NLzma::CEncoder *encoderSpec, -+ CMyComPtr<ISequentialInStream> inStream, -+ CMyComPtr<ISequentialOutStream> outStream, -+ lzma_option encoder_options, -+ UInt64 fileSize) -+{ -+ set_encoder_properties(encoderSpec, encoder_options); -+ -+ encoderSpec->WriteCoderProperties(outStream); -+ -+ for (int i = 0; i < 8; i++) -+ { -+ Byte b = Byte(fileSize >> (8 * i)); -+ if (outStream->Write(&b, sizeof(b), 0) != S_OK) -+ throw Exception("Write error while encoding"); -+ } -+ -+ HRESULT result = encoderSpec->Code(inStream, outStream, 0, 0, 0); -+ -+ if (result == E_OUTOFMEMORY) -+ throw Exception("Cannot allocate memory"); -+ else if (result != S_OK) { -+ char buffer[33]; -+ snprintf(buffer, 33, "%d", (unsigned int)result); -+ throw Exception(string("Encoder error: ") + buffer); -+ } -+} -+ -+void decode(NCompress::NLzma::CDecoder *decoderSpec, -+ CMyComPtr<ISequentialInStream> inStream, -+ CMyComPtr<ISequentialOutStream> outStream) -+{ -+ const UInt32 kPropertiesSize = 5; -+ Byte properties[kPropertiesSize]; -+ UInt32 processedSize; -+ UInt64 fileSize = 0; -+ -+ if (inStream->Read(properties, kPropertiesSize, &processedSize) != S_OK) -+ throw Exception("Read error"); -+ if (processedSize != kPropertiesSize) -+ throw Exception("Read error"); -+ if (decoderSpec->SetDecoderProperties2(properties, kPropertiesSize) != S_OK) -+ throw Exception("SetDecoderProperties() error"); -+ -+ for (int i = 0; i < 8; i++) -+ { -+ Byte b; -+ -+ if (inStream->Read(&b, sizeof(b), &processedSize) != S_OK) -+ throw Exception("Read error"); -+ if (processedSize != 1) -+ throw Exception("Read error"); -+ -+ fileSize |= ((UInt64)b) << (8 * i); -+ } -+ -+ if (decoderSpec->Code(inStream, outStream, 0, &fileSize, 0) != S_OK) -+ throw Exception("Decoder error"); -+} -+ -+int open_instream(const string infile, -+ CMyComPtr<ISequentialInStream> &inStream, -+ UInt64 &fileSize) -+{ -+ CInFileStream *inStreamSpec = new CInFileStream; -+ inStream = inStreamSpec; -+ if (!inStreamSpec->Open(infile.c_str())) -+ throw Exception("Cannot open input file " + infile); -+ -+ inStreamSpec->File.GetLength(fileSize); -+ -+ return inStreamSpec->File.GetHandle(); -+} -+ -+int open_outstream(const string outfile, -+ CMyComPtr<ISequentialOutStream> &outStream) -+{ -+ COutFileStream *outStreamSpec = new COutFileStream; -+ outStream = outStreamSpec; -+ -+ bool open_by_force = (program_mode == PM_TEST) | force; -+ -+ if (!outStreamSpec->Create(outfile.c_str(), open_by_force)) -+ throw Exception("Cannot open output file " + outfile); -+ -+ return outStreamSpec->File.GetHandle(); -+} -+ -+double get_ratio(int inhandle, int outhandle) -+{ -+ struct stat in_stats, out_stats; -+ fstat(inhandle, &in_stats); -+ fstat(outhandle, &out_stats); -+ -+ return (double)out_stats.st_size / (double)in_stats.st_size; -+} -+ -+mode_t get_file_mode(string filename) -+{ -+ struct stat in_stat; -+ lstat(filename.c_str(), &in_stat); -+ -+ return in_stat.st_mode; -+} -+ -+bool string_ends_with(string str, string ending) -+{ -+ return equal(ending.rbegin(), ending.rend(), str.rbegin()); -+} -+ -+bool extension_is_known(string filename) -+{ -+ bool known_format = false; -+ extension_pair extension; int i = 1; -+ -+ extension = known_extensions[0]; -+ while (extension.from != NULL) { -+ if (string_ends_with(filename, extension.from)) { -+ known_format = true; -+ break; -+ } -+ extension = known_extensions[i]; -+ i++; -+ } -+ -+ if (!known_format) { -+ if (!string_ends_with(filename, suffix)) { -+ return false; -+ } -+ } -+ -+ return true; -+} -+ -+string replace_extension(string filename) -+{ -+ int suffix_starts_at = filename.length() - strlen (suffix); -+ string from_suffix = filename.substr(suffix_starts_at, strlen (suffix)); -+ string ret = filename.substr(0, suffix_starts_at); -+ extension_pair extension; int i = 1; -+ -+ bool found_replacement = false; -+ extension = known_extensions[0]; -+ while (extension.from != NULL) { -+ if (from_suffix.compare(extension.from) == 0) { -+ ret += extension.to; -+ found_replacement = true; -+ break; -+ } -+ -+ extension = known_extensions[i]; -+ i++; -+ } -+ -+ return ret; -+} -+ -+string pretty_print_status(string filename, string output_filename, -+ string ratio) -+{ -+ string ret = ""; -+ -+ ret += filename; -+ ret += ":\t "; -+ -+ if (program_mode == PM_TEST) { -+ ret += "decoded succesfully"; -+ -+ return ret; -+ } -+ -+ if (!stdinput && !stdoutput) { -+ ret += ratio; -+ ret += " -- "; -+ } -+ -+ if (program_mode == PM_COMPRESS) { -+ if (keep) { -+ ret += "encoded succesfully"; -+ -+ return ret; -+ } -+ -+ ret += "replaced with "; -+ ret += output_filename; -+ -+ return ret; -+ } -+ -+ if (program_mode == PM_DECOMPRESS) { -+ if (keep) { -+ ret += "decoded succesfully"; -+ -+ return ret; -+ } -+ -+ ret += "replaced with "; -+ ret += output_filename; -+ -+ return ret; -+ } -+ -+ return ret; -+} -+ -+static string archive_name; // I know, it is crude, but I haven't found any other -+ // way then making a global variable to transfer filename to handler -+ -+void signal_handler (int signum) -+{ -+ unlink (archive_name.c_str()); // deleting -+ signal (signum, SIG_DFL); // we return the default function to used signal -+ kill (getpid(), signum); // and then send this signal to the process again -+} -+ -+} // namespace lzma -+ -+ -+int main(int argc, char **argv) -+{ -+ using namespace lzma; -+ using std::cerr; -+ -+ stringVector filenames; -+ -+ signal (SIGTERM,signal_handler); -+ signal (SIGHUP,signal_handler); -+ signal (SIGINT,signal_handler); -+ -+ try { -+ parse_options(argc, argv, filenames); -+ } -+ catch (...) { -+ return STATUS_ERROR; -+ } -+ -+ if (program_mode == PM_HELP) { -+ print_help(argv[0]); -+ return STATUS_OK; -+ } -+ else if (program_mode == PM_LICENSE) { -+ print_license(); -+ return STATUS_OK; -+ } -+ else if (program_mode == PM_VERSION) { -+ print_version(); -+ return STATUS_OK; -+ } -+ -+ if (filenames.empty()) { -+ stdinput = true; -+ stdoutput = true; -+ -+ /* FIXME: get rid of this */ -+ filenames.push_back("-"); -+ } -+ -+ /* Protection: always create new files with 0600 in order to prevent -+ * outsiders from reading incomplete data. */ -+ umask(0077); -+ -+ bool warning = false; -+ -+ for (int i = 0; i < filenames.size(); i++) { -+ CMyComPtr<ISequentialInStream> inStream; -+ CMyComPtr<ISequentialOutStream> outStream; -+ UInt64 fileSize = 0; -+ int inhandle = 0, outhandle = 0; -+ string output_filename; -+ -+ if (stdinput) { -+ inStream = new CStdInFileStream; -+ MY_SET_BINARY_MODE(stdin); -+ fileSize = (UInt64)(Int64)-1; -+ -+ inhandle = STDIN_FILENO; -+ -+ outStream = new CStdOutFileStream; -+ MY_SET_BINARY_MODE(stdout); -+ -+ outhandle = STDOUT_FILENO; -+ } -+ else { -+ mode_t infile_mode = get_file_mode(filenames[i]); -+ if (!S_ISREG(infile_mode)) { -+ if (S_ISDIR(infile_mode)) { -+ warning = true; -+ cerr << argv[0] << ": " << filenames[i] << ": " -+ << "cowardly refusing to work on directory" -+ << endl; -+ -+ continue; -+ } -+ else if (S_ISLNK(infile_mode)) { -+ if (!stdoutput && !force) { -+ warning = true; -+ -+ cerr << argv[0] << ": " << filenames[i] << ": " -+ << "cowardly refusing to work on symbolic link " -+ << "(use --force to force encoding or decoding)" -+ << endl; -+ -+ continue; -+ } -+ } -+ else { -+ warning = true; -+ -+ cerr << argv[0] << ": " << filenames[i] << ": " -+ << "doesn't exist or is not a regular file" -+ << endl; -+ -+ continue; -+ } -+ } -+ -+ // Test if the file already ends with *suffix. -+ if (program_mode == PM_COMPRESS && !force -+ && string_ends_with(filenames[i], -+ suffix)) { -+ warning = true; -+ -+ cerr << filenames[i] << " already has " -+ << suffix << " suffix -- unchanged\n"; -+ -+ continue; -+ } -+ -+ // Test if the file extension is known. -+ if (program_mode == PM_DECOMPRESS -+ && !extension_is_known(filenames[i])) { -+ warning = true; -+ -+ cerr << filenames[i] << ": " -+ << " unknown suffix -- unchanged" -+ << endl; -+ -+ continue; -+ } -+ -+ try { -+ inhandle = open_instream(filenames[i], inStream, fileSize); -+ } -+ catch (Exception e) { -+ cerr << argv[0] << ": " << e.what() << endl; -+ return STATUS_ERROR; -+ } -+ -+ if (stdoutput) { -+ outStream = new CStdOutFileStream; -+ MY_SET_BINARY_MODE(stdout); -+ -+ outhandle = STDOUT_FILENO; -+ } -+ else { -+ /* Testing mode is nothing else but decoding -+ * and throwing away the result. */ -+ if (program_mode == PM_TEST) -+ output_filename = "/dev/null"; -+ else if (program_mode == PM_DECOMPRESS) -+ output_filename = replace_extension(filenames[i]); -+ else -+ output_filename = filenames[i] -+ + suffix; -+ archive_name = output_filename; -+ -+ try { -+ outhandle = open_outstream(output_filename, outStream); -+ } -+ catch (Exception e) { -+ cerr << argv[0] << ": " << e.what() << endl; -+ return STATUS_ERROR; -+ } -+ } -+ -+ } -+ -+ // Unless --force is specified, do not read/write compressed -+ // data from/to a terminal. -+ if (!force) { -+ if (program_mode == PM_COMPRESS && isatty(outhandle)) { -+ cerr << argv[0] << ": compressed data not " -+ "written to a terminal. Use " -+ "-f to force compression.\n" -+ << argv[0] << ": For help, type: " -+ << argv[0] << " -h\n"; -+ return STATUS_ERROR; -+ } else if (program_mode == PM_DECOMPRESS -+ && isatty(inhandle)) { -+ cerr << argv[0] << ": compressed data not " -+ "read from a terminal. Use " -+ "-f to force decompression.\n" -+ << argv[0] << ": For help, type: " -+ << argv[0] << " -h\n"; -+ return STATUS_ERROR; -+ } -+ } -+ -+ if (program_mode == PM_COMPRESS) { -+ NCompress::NLzma::CEncoder *encoderSpec = -+ new NCompress::NLzma::CEncoder; -+ -+ lzma_option options = option_mapping[compression_mode]; -+ -+ try { -+ encode(encoderSpec, inStream, outStream, options, fileSize); -+ } -+ catch (Exception e) { -+ cerr << argv[0] << ": " << e.what() << endl; -+ unlink(output_filename.c_str()); -+ delete(encoderSpec); -+ -+ return STATUS_ERROR; -+ } -+ -+ delete(encoderSpec); -+ } -+ else { // PM_DECOMPRESS | PM_TEST -+ NCompress::NLzma::CDecoder *decoderSpec = -+ new NCompress::NLzma::CDecoder; -+ -+ try { -+ decode(decoderSpec, inStream, outStream); -+ } -+ catch (Exception e) { -+ cerr << argv[0] << ": " << e.what() << endl; -+ unlink(output_filename.c_str()); -+ delete(decoderSpec); -+ -+ return STATUS_ERROR; -+ } -+ -+ delete(decoderSpec); -+ } -+ -+ /* Set permissions and owners. */ -+ if ( (program_mode == PM_COMPRESS || program_mode == PM_DECOMPRESS ) -+ && (!stdinput && !stdoutput) ) { -+ -+ int ret = 0; -+ struct stat file_stats; -+ ret = fstat(inhandle, &file_stats); -+ -+ ret = fchmod(outhandle, file_stats.st_mode); -+ ret = fchown(outhandle, file_stats.st_uid, file_stats.st_gid); -+ // We need to call fchmod() again, since otherwise the SUID bits -+ // are lost. -+ ret = fchmod(outhandle, file_stats.st_mode); -+ -+ struct timeval file_times[2]; -+ // Access time -+ file_times[0].tv_sec = file_stats.st_atime; -+ file_times[0].tv_usec = 0; -+ // Modification time -+ file_times[1].tv_sec = file_stats.st_mtime; -+ file_times[1].tv_usec = 0; -+ -+ ret = futimes(outhandle, file_times); -+ -+ if (!keep) -+ unlink(filenames[i].c_str()); -+ } -+ -+ if (verbosity > 0) { -+ if (stdoutput) { -+ cerr << filenames[i] << ":\t "; -+ cerr << "decoded succesfully" -+ << endl; -+ } -+ -+ else { -+ char buf[10] = { 0 }; -+ -+ if (program_mode == PM_DECOMPRESS) -+ snprintf(buf, 10, "%.2f%%", -+ (1 - get_ratio(outhandle, inhandle)) * 100); -+ if (program_mode == PM_COMPRESS) -+ snprintf(buf, 10, "%.2f%%", -+ (1 - get_ratio(inhandle, outhandle)) * 100); -+ -+ string ratio = buf; -+ cerr << pretty_print_status(filenames[i], output_filename, -+ ratio) -+ << endl; -+ } -+ } -+ } -+ -+ if (warning) -+ return STATUS_WARNING; -+ -+ return STATUS_OK; -+} -+ -Index: lzma-4.65/CPP/7zip/Compress/LZMA_Alone/Exception.h -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ lzma-4.65/CPP/7zip/Compress/LZMA_Alone/Exception.h 2009-06-01 22:01:10.000000000 +0200 -@@ -0,0 +1,45 @@ -+/* A couple of exceptions for lzmp. -+ * -+ * Copyright (C) 2005 Ville Koskinen -+ * -+ * 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. -+ */ -+ -+#ifndef _EXCEPTION_H_ -+#define _EXCEPTION_H_ -+ -+#include <string> -+using std::string; -+ -+class Exception -+{ -+private: -+ string message; -+public: -+ Exception(char *what): message(what) { } -+ Exception(string what): message(what) { } -+ -+ ~Exception() { } -+ -+ string what(void) { return message; } -+}; -+ -+class ArgumentException: public Exception -+{ -+public: -+ ArgumentException(char *what): Exception(what) { } -+ ArgumentException(string what): Exception(what) { } -+ -+ ~ArgumentException() { } -+}; -+ -+#endif -+ -Index: lzma-4.65/CPP/7zip/Compress/LZMA_Alone/makefile.gcc -=================================================================== ---- lzma-4.65.orig/CPP/7zip/Compress/LZMA_Alone/makefile.gcc 2009-06-01 22:00:54.000000000 +0200 -+++ lzma-4.65/CPP/7zip/Compress/LZMA_Alone/makefile.gcc 2009-06-01 22:06:13.000000000 +0200 -@@ -1,9 +1,10 @@ --PROG = lzma -+PROG = lzma_alone -+PROG2 = lzma - CXX = g++ -O2 -Wall - CXX_C = gcc -O2 -Wall - LIB = -lm - RM = rm -f --CFLAGS = -c -D_FILE_OFFSET_BITS=64 -+CFLAGS = -c -I ../../../ -D_FILE_OFFSET_BITS=64 -DPACKAGE_VERSION="\"4.32.0beta3\"" - - ifdef SystemDrive - IS_MINGW = 1 -@@ -45,12 +46,35 @@ - Lzma86Dec.o \ - Lzma86Enc.o \ - -+OBJS2 = \ -+ C_FileIO.o \ -+ CRC.o \ -+ Alloc.o \ -+ FileStreams.o \ -+ StreamUtils.o \ -+ InBuffer.o \ -+ OutBuffer.o \ -+ LzmaDecoder.o \ -+ StringConvert.o \ -+ StringToInt.o \ -+ LzmaEncoder.o \ -+ LzmaDec.o \ -+ LzmaEnc.o \ -+ LzFind.o \ -+ 7zCrc.o \ -+ lzmp.o - --all: $(PROG) -+all: $(PROG) $(PROG2) - - $(PROG): $(OBJS) - $(CXX) -o $(PROG) $(LDFLAGS) $(OBJS) $(LIB) $(LIB2) - -+$(PROG2): $(OBJS2) -+ $(CXX) -o $(PROG2) $(LDFLAGS) $(OBJS2) $(LIB) -+ -+lzmp.o: lzmp.cpp -+ $(CXX) $(CFLAGS) lzmp.cpp -+ - LzmaAlone.o: LzmaAlone.cpp - $(CXX) $(CFLAGS) LzmaAlone.cpp - -@@ -131,5 +153,5 @@ - $(CXX_C) $(CFLAGS) ../../../../C/LzmaUtil/Lzma86Enc.c - - clean: -- -$(RM) $(PROG) $(OBJS) -+ -$(RM) $(PROG) $(PROG2) $(OBJS) - -Index: lzma-4.65/CPP/7zip/Compress/LZMA_Alone/lzma_version.h -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ lzma-4.65/CPP/7zip/Compress/LZMA_Alone/lzma_version.h 2009-06-01 22:01:10.000000000 +0200 -@@ -0,0 +1,31 @@ -+#ifndef LZMA_VERSION_H -+#define LZMA_VERSION_H -+ -+/* -+ Version and copyright information used by LZMA utils. -+*/ -+ -+static const char *LZMA_SDK_VERSION_STRING = "4.43"; -+ -+static const char *LZMA_SDK_COPYRIGHT_STRING = -+ "Copyright (C) 1999-2006 Igor Pavlov"; -+ -+static const char *LZMA_SDK_COPYRIGHT_INFO = -+ " See http://7-zip.org/sdk.html or the documentation of LZMA SDK for\n" -+ " the license. For reference, the version 4.43 is free software\n" -+ " licensed under the GNU LGPL."; -+ -+ -+static const char *LZMA_UTILS_VERSION_STRING = PACKAGE_VERSION; -+ -+static const char *LZMA_UTILS_COPYRIGHT_STRING = -+ "Copyright (C) 2006 Lasse Collin"; -+ -+static const char *LZMA_UTILS_COPYRIGHT_INFO = -+ "This program comes with ABSOLUTELY NO WARRANTY.\n" -+ "You may redistribute copies of this program\n" -+ "under the terms of the GNU General Public License.\n" -+ "For more information about these matters, see the file " -+ "named COPYING.\n"; -+ -+#endif /* ifndef LZMA_VERSION_H */ -Index: lzma-4.65/CPP/Common/C_FileIO.h -=================================================================== ---- lzma-4.65.orig/CPP/Common/C_FileIO.h 2009-05-15 23:33:51.000000000 +0200 -+++ lzma-4.65/CPP/Common/C_FileIO.h 2009-06-01 22:06:56.000000000 +0200 -@@ -24,6 +24,7 @@ - bool Close(); - bool GetLength(UInt64 &length) const; - off_t Seek(off_t distanceToMove, int moveMethod) const; -+ int GetHandle() const { return _handle; } - }; - - class CInFile: public CFileBase diff --git a/meta-oe/recipes-support/lzma/lzma-4.65/003-compile_fixes.patch b/meta-oe/recipes-support/lzma/lzma-4.65/003-compile_fixes.patch deleted file mode 100644 index 49ae66b9c4..0000000000 --- a/meta-oe/recipes-support/lzma/lzma-4.65/003-compile_fixes.patch +++ /dev/null @@ -1,26 +0,0 @@ -diff -urN lzma-4.65/CPP/7zip/Common/FileStreams.h lzma-4.65.new/CPP/7zip/Common/FileStreams.h ---- lzma-4.65/CPP/7zip/Common/FileStreams.h 2009-05-15 23:33:51.000000000 +0200 -+++ lzma-4.65.new/CPP/7zip/Common/FileStreams.h 2009-06-01 22:30:01.000000000 +0200 -@@ -72,6 +72,7 @@ - public IOutStream, - public CMyUnknownImp - { -+public: - #ifdef USE_WIN_FILE - NWindows::NFile::NIO::COutFile File; - #else -diff -urN lzma-4.65/CPP/Common/MyWindows.h lzma-4.65.new/CPP/Common/MyWindows.h ---- lzma-4.65/CPP/Common/MyWindows.h 2009-05-15 23:33:51.000000000 +0200 -+++ lzma-4.65.new/CPP/Common/MyWindows.h 2009-06-01 22:29:26.000000000 +0200 -@@ -101,8 +101,11 @@ - - #ifdef __cplusplus - -+#ifndef INITGUID -+#define INITGUID - DEFINE_GUID(IID_IUnknown, - 0x00000000, 0x0000, 0x0000, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46); -+#endif - struct IUnknown - { - STDMETHOD(QueryInterface) (REFIID iid, void **outObject) PURE; diff --git a/meta-oe/recipes-support/lzma/lzma-4.65/100-static_library.patch b/meta-oe/recipes-support/lzma/lzma-4.65/100-static_library.patch deleted file mode 100644 index 15ab4e0552..0000000000 --- a/meta-oe/recipes-support/lzma/lzma-4.65/100-static_library.patch +++ /dev/null @@ -1,70 +0,0 @@ ---- a/C/LzmaUtil/makefile.gcc -+++ b/C/LzmaUtil/makefile.gcc -@@ -1,44 +1,53 @@ - PROG = lzma --CXX = g++ --LIB = -+CC = gcc -+LIB = liblzma.a - RM = rm -f - CFLAGS = -c -O2 -Wall -+AR = ar -+RANLIB = ranlib - - OBJS = \ -- LzmaUtil.o \ - Alloc.o \ - LzFind.o \ - LzmaDec.o \ - LzmaEnc.o \ -+ LzmaLib.o \ - 7zFile.o \ - 7zStream.o \ - -- - all: $(PROG) - --$(PROG): $(OBJS) -- $(CXX) -o $(PROG) $(LDFLAGS) $(OBJS) $(LIB) $(LIB2) -+$(PROG): LzmaUtil.o $(LIB) -+ $(CC) -o $(PROG) $(LDFLAGS) $< $(LIB) - - LzmaUtil.o: LzmaUtil.c -- $(CXX) $(CFLAGS) LzmaUtil.c -+ $(CC) $(CFLAGS) LzmaUtil.c -+ -+$(LIB): $(OBJS) -+ rm -f $@ -+ $(AR) rcu $@ $(OBJS) -+ $(RANLIB) $@ - - Alloc.o: ../Alloc.c -- $(CXX) $(CFLAGS) ../Alloc.c -+ $(CC) $(CFLAGS) ../Alloc.c - - LzFind.o: ../LzFind.c -- $(CXX) $(CFLAGS) ../LzFind.c -+ $(CC) $(CFLAGS) ../LzFind.c - - LzmaDec.o: ../LzmaDec.c -- $(CXX) $(CFLAGS) ../LzmaDec.c -+ $(CC) $(CFLAGS) ../LzmaDec.c - - LzmaEnc.o: ../LzmaEnc.c -- $(CXX) $(CFLAGS) ../LzmaEnc.c -+ $(CC) $(CFLAGS) ../LzmaEnc.c -+ -+LzmaLib.o: ../LzmaLib.c -+ $(CC) $(CFLAGS) ../LzmaLib.c - - 7zFile.o: ../7zFile.c -- $(CXX) $(CFLAGS) ../7zFile.c -+ $(CC) $(CFLAGS) ../7zFile.c - - 7zStream.o: ../7zStream.c -- $(CXX) $(CFLAGS) ../7zStream.c -+ $(CC) $(CFLAGS) ../7zStream.c - - clean: -- -$(RM) $(PROG) $(OBJS) -+ -$(RM) $(PROG) *.o *.a diff --git a/meta-oe/recipes-support/lzma/lzma-4.65/makefile-cleanup.patch b/meta-oe/recipes-support/lzma/lzma-4.65/makefile-cleanup.patch deleted file mode 100644 index ccca4d9e83..0000000000 --- a/meta-oe/recipes-support/lzma/lzma-4.65/makefile-cleanup.patch +++ /dev/null @@ -1,18 +0,0 @@ -Index: lzma-4.65/C/LzmaUtil/makefile.gcc -=================================================================== ---- lzma-4.65.orig/C/LzmaUtil/makefile.gcc -+++ lzma-4.65/C/LzmaUtil/makefile.gcc -@@ -1,10 +1,10 @@ - PROG = lzma --CC = gcc -+CC ?= gcc - LIB = liblzma.a - RM = rm -f - CFLAGS = -c -O2 -Wall --AR = ar --RANLIB = ranlib -+AR ?= ar -+RANLIB ?= ranlib - - OBJS = \ - Alloc.o \ diff --git a/meta-oe/recipes-support/lzma/lzma.inc b/meta-oe/recipes-support/lzma/lzma.inc deleted file mode 100644 index 912d281187..0000000000 --- a/meta-oe/recipes-support/lzma/lzma.inc +++ /dev/null @@ -1,35 +0,0 @@ -DESCRIPTION = "LZMA is a general compression method. LZMA provides high compression ratio and very fast decompression." -HOMEPAGE = "http://www.7-zip.org/" -LICENSE = "LGPL" -LIC_FILES_CHKSUM = "file://lzma.txt;md5=20251cdc2e3793cceab11878d0aa11b1" -INC_PR = "r7" - -SRC_URI = "http://downloads.sourceforge.net/sevenzip/lzma${@d.getVar('PV',1).replace('.','')}.tar.bz2;subdir=${BPN}-${PV} \ - file://001-large_files.patch \ - file://002-lzmp.patch \ - file://003-compile_fixes.patch \ - file://100-static_library.patch \ - file://makefile-cleanup.patch" - -EXTRA_OEMAKE = "-f makefile.gcc" - -do_unpack_append() { - import subprocess - # Replace MS-DOS line-endings with Unix style line-endings - subprocess.call("find . -type f -print0 | xargs -0 sed 's/\r$//' -i", - cwd=d.getVar("S", True), shell=True) -} - -do_compile() { - oe_runmake CFLAGS='${CFLAGS} -c' -C C/LzmaUtil - oe_runmake CXX_C='${CC} ${CFLAGS}' CXX='${CXX} ${CXXFLAGS}' \ - -C CPP/7zip/Compress/LZMA_Alone -} - -do_install() { - install -d ${D}${bindir} ${D}${libdir} - install -m 0755 CPP/7zip/Compress/LZMA_Alone/lzma ${D}${bindir} - oe_libinstall -a -C C/LzmaUtil liblzma ${D}${libdir} -} - -BBCLASSEXTEND = "native" diff --git a/meta-oe/recipes-support/lzma/lzma_4.65.bb b/meta-oe/recipes-support/lzma/lzma_4.65.bb deleted file mode 100644 index 5295cd9a92..0000000000 --- a/meta-oe/recipes-support/lzma/lzma_4.65.bb +++ /dev/null @@ -1,5 +0,0 @@ -require lzma.inc -PR = "${INC_PR}.1" - -SRC_URI[md5sum] = "29d5ffd03a5a3e51aef6a74e9eafb759" -SRC_URI[sha256sum] = "c935fd04dd8e0e8c688a3078f3675d699679a90be81c12686837e0880aa0fa1e" diff --git a/meta-oe/recipes-support/mailcap/mailcap_2.1.43.bb b/meta-oe/recipes-support/mailcap/mailcap_2.1.43.bb new file mode 100644 index 0000000000..95d7d1107e --- /dev/null +++ b/meta-oe/recipes-support/mailcap/mailcap_2.1.43.bb @@ -0,0 +1,23 @@ +SUMMARY = "Helper application and MIME type associations for file types" +DESCRIPTION = "The mailcap file is used by the metamail program. Metamail reads the \ +mailcap file to determine how it should display non-text or multimedia \ +material. Basically, mailcap associates a particular type of file \ +with a particular program that a mail agent or other program can call \ +in order to handle the file. Mailcap should be installed to allow \ +certain programs to be able to handle non-text files. \ +\ +Also included in this package is the mime.types file which contains a \ +list of MIME types and their filename extension associations, used \ +by several applications e.g. to determine MIME types for filenames." + +SECTION = "System Environment/Base" + +SRC_URI = "https://git.fedorahosted.org/cgit/${PN}.git/snapshot/r2-1-43.tar.gz" +SRC_URI[md5sum] = "8fd185ffae710301de3bc297877a404b" +SRC_URI[sha256sum] = "a630892b5fe59eb9e3bef30c597de1c2b7f35243dea4b0c995fd482aa20c2d6b" +LICENSE = "PD & MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=100fcfb84512ccc03ffc7d89ac391305" +S = "${WORKDIR}/r2-1-43" +do_install() { + oe_runmake install DESTDIR=${D} sysconfdir=${sysconfdir} mandir=${mandir} +} diff --git a/meta-oe/recipes-support/maliit/maliit-framework_git.bb b/meta-oe/recipes-support/maliit/maliit-framework_git.bb index b165e9f1ad..3eb7f30dfc 100644 --- a/meta-oe/recipes-support/maliit/maliit-framework_git.bb +++ b/meta-oe/recipes-support/maliit/maliit-framework_git.bb @@ -6,6 +6,8 @@ LIC_FILES_CHKSUM = "file://LICENSE.LGPL;md5=5c917f6ce94ceb8d8d5e16e2fca5b9ad" inherit autotools qt4x11 gtk-immodules-cache +PNBLACKLIST[maliit-framework] ?= "BROKEN: Wasn't updated to work with B!=S, maybe incorrectly inherits autotools" + DEPENDS = "libxcomposite dbus gtk+3 gtk+" SRC_URI = "git://github.com/maliit/framework.git;branch=master \ diff --git a/meta-oe/recipes-support/maliit/maliit-plugins_git.bb b/meta-oe/recipes-support/maliit/maliit-plugins_git.bb index 903825adfd..3c040d87a7 100644 --- a/meta-oe/recipes-support/maliit/maliit-plugins_git.bb +++ b/meta-oe/recipes-support/maliit/maliit-plugins_git.bb @@ -6,6 +6,8 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=f29b21caa8e460097bfad9c026a33621" inherit autotools qt4x11 +PNBLACKLIST[maliit-plugins] ?= "BROKEN: depends on broken maliit-framework" + DEPENDS = "maliit-framework" RDEPENDS_${PN} += "qt4-plugin-iconengine-svgicon qt4-plugin-imageformat-svg" diff --git a/meta-oe/recipes-support/mbuffer/mbuffer_20091227.bb b/meta-oe/recipes-support/mbuffer/mbuffer_20140310.bb index bd80c845ba..3467d28988 100644 --- a/meta-oe/recipes-support/mbuffer/mbuffer_20091227.bb +++ b/meta-oe/recipes-support/mbuffer/mbuffer_20140310.bb @@ -3,11 +3,13 @@ HOMEPAGE = "http://www.maier-komor.de/mbuffer.html" LICENSE = "GPLv3" LIC_FILES_CHKSUM = "file://LICENSE;md5=d32239bcb673463ab874e80d47fae504" SECTION = "console/network" -PR = "r1" -SRC_URI = "http://www.maier-komor.de/software/mbuffer/mbuffer-20091227.tgz" -SRC_URI[md5sum] = "191663396b4b1752d7104803631b9e54" -SRC_URI[sha256sum] = "e708b66f6cec9ba090877e8eb38e5627ac69aea9ebd9bca1360a29c7398a88ce" +SRC_URI = " \ + http://www.maier-komor.de/software/mbuffer/mbuffer-20140310.tgz \ +" + +SRC_URI[md5sum] = "9937d7f666c19a2e6b2499b04dbecc44" +SRC_URI[sha256sum] = "ab90b6fdce16db2bf08bcda0bc5d2bfb053a9a163d2a24f95fbf246460549b99" inherit autotools @@ -15,7 +17,7 @@ PACKAGECONFIG ??= "" PACKAGECONFIG[md5] = "--enable-md5,--disable-md5,openssl" do_configure() { - gnu-configize + ( cd ${S}; gnu-configize ) oe_runconf } diff --git a/meta-oe/recipes-support/mcelog/mcelog_1.04.bb b/meta-oe/recipes-support/mcelog/mcelog_1.04.bb new file mode 100644 index 0000000000..ceadf7a0a7 --- /dev/null +++ b/meta-oe/recipes-support/mcelog/mcelog_1.04.bb @@ -0,0 +1,28 @@ +SUMMARY = "mcelog daemon accounts memory and some other errors in various ways." +DESCRIPTION = "mcelog is required by both 32bit x86 Linux kernels (since 2.6.30) \ +and 64bit Linux kernels (since early 2.6 kernel releases) to log machine checks \ +and should run on all Linux systems that need error handling." +HOMEPAGE = "http://mcelog.org/" +SECTION = "System Environment/Base" +DEPENDS += "bash" +SRC_URI = "git://git.kernel.org/pub/scm/utils/cpu/mce/mcelog.git" +SRC_URI[md5sum] = "a06761ad5fed8596238b5a5ea76ed662" +SRC_URI[sha256sum] = "519390825ec5a0545a7ed48717ef7c7480bb8b9bce68d63a58a52f4e4e275e0f" +SRCREV = "9de4924e751346df6e2d40ae1007b40ea1915e2b" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://README;md5=3eb76ca64fa07ad53ebb0ebb5b4c8ede" + +S = "${WORKDIR}/git" + +do_install() { + install -d ${D}/${sbindir} + install -m 0755 ${S}/mcelog ${D}/${sbindir} + install -d ${D}/${mandir}/man8 + install -m 0644 ${S}/mcelog.8 ${D}/${mandir}/man8/ + install -d ${D}/etc/cron.hourly + install -m 0755 ${S}/mcelog.cron ${D}/etc/cron.hourly/ +} + +COMPATIBLE_HOST = '(x86_64.*|i.86.*)-linux' + +RDEPENDS_${PN} = "bash" diff --git a/meta-oe/recipes-support/mg/files/remove_ncurses_check.patch b/meta-oe/recipes-support/mg/files/remove_ncurses_check.patch new file mode 100644 index 0000000000..16137da2b1 --- /dev/null +++ b/meta-oe/recipes-support/mg/files/remove_ncurses_check.patch @@ -0,0 +1,36 @@ +diff -uwr mg-20110905/configure mg-20110905-changed/configure +--- mg-20110905/configure 2011-09-05 13:36:16.000000000 -0500 ++++ mg-20110905-changed/configure 2014-08-14 10:46:14.168715425 -0500 +@@ -163,32 +163,6 @@ + echo 'Fails.' + fi + +- +-if [ ! -r /usr/include/term.h ]; then +- note 'term.h' +- if [ -r /usr/include/ncurses/term.h ]; then +- echo "Found in /usr/include/ncurses" +- extraflags="$extraflags -I/usr/include/ncurses" +- else +- for i in pkg local; do +- if [ -r /usr/$i/include/term.h ]; then +- echo "Found in /usr/$i/include" +- extralibs="$extralibs -L/usr/$i/lib" +- extraflags="$extraflags -I/usr/$i/include" +- break +- else +- false +- fi +- done || +- { +- echo 'Not found!' >&2 +- echo 'Do you have the ncurses devel package installed?' >&2 +- echo 'If you know where term.h is, please email the author!' >&2 +- exit 1 +- } +- fi +-fi +- + note 'base and dirname' + if gcc_defines "__GLIBC__" || gcc_defines "__CYGWIN__" ; then + echo 'Not present, adding.' diff --git a/meta-oe/recipes-support/mg/mg_20110905.bb b/meta-oe/recipes-support/mg/mg_20110905.bb index 33cc0384b8..b9a4d33922 100644 --- a/meta-oe/recipes-support/mg/mg_20110905.bb +++ b/meta-oe/recipes-support/mg/mg_20110905.bb @@ -5,7 +5,8 @@ LIC_FILES_CHKSUM = "file://version.c;md5=811e1b67a5cd60c12b218a2b7c1adbf2" DEPENDS = "ncurses" SECTION = "console/editors" -SRC_URI = "http://homepage.boetes.org/software/mg/mg-${PV}.tar.gz" +SRC_URI = "http://homepage.boetes.org/software/mg/mg-${PV}.tar.gz \ + file://remove_ncurses_check.patch" SRC_URI[md5sum] = "2de35316fa8ebafe6003efaae70b723e" SRC_URI[sha256sum] = "1cd37d7e6a3eecc890a5718c38b8f38495057ba93856762a756ccee2f9618229" diff --git a/meta-oe/recipes-support/mime-support/mime-support_3.48.bb b/meta-oe/recipes-support/mime-support/mime-support_3.48.bb index a4628c1f6c..7f8b40a48b 100644 --- a/meta-oe/recipes-support/mime-support/mime-support_3.48.bb +++ b/meta-oe/recipes-support/mime-support/mime-support_3.48.bb @@ -4,6 +4,7 @@ LICENSE = "PD" LIC_FILES_CHKSUM = "file://debian/README;md5=36bbe2ace0a05c3fb684b73208fbf30b" DEPENDS = "file" +RDEPENDS_${PN} = "perl" RRECOMMENDS_${PN} = "file" SRC_URI = "${DEBIAN_MIRROR}/main/m/mime-support/mime-support_${PV}-1.tar.gz" diff --git a/meta-oe/recipes-support/mongodb/mongodb_git.bb b/meta-oe/recipes-support/mongodb/mongodb_git.bb index 2701c4cfca..879fc7c9ed 100644 --- a/meta-oe/recipes-support/mongodb/mongodb_git.bb +++ b/meta-oe/recipes-support/mongodb/mongodb_git.bb @@ -9,6 +9,13 @@ DEPENDS_append_x86-64 = " gperftools" inherit scons +# Target 'build/linux2/disable-scripting/ld_arm-oe-linux-gnueabi-g++/ssl/use-system-boost/use-system-pcre/use-system-tcmalloc/mongo/mongod' depends on the availability of a system provided library for 'boost_program_options', but no suitable library was found during configuration. +# | Target 'build/linux2/disable-scripting/ld_arm-oe-linux-gnueabi-g++/ssl/use-system-boost/use-system-pcre/use-system-tcmalloc/mongo/mongod' depends on the availability of a system provided library for 'boost_program_options', but no suitable library was found during configuration. +# | scons: *** [build/linux2/disable-scripting/ld_arm-oe-linux-gnueabi-g++/ssl/use-system-boost/use-system-pcre/use-system-tcmalloc/mongo/mongod] Error 1 +# | scons: building terminated because of errors. +# | ERROR: scons build execution failed. +PNBLACKLIST[mongodb] ?= "Fails to build with system boost" + PV = "2.6.0+git${SRCPV}" SRCREV = "be1905c24c7e5ea258e537fbf0d2c502c4fc6de2" SRC_URI = "git://github.com/mongodb/mongo.git;branch=v2.6 \ diff --git a/meta-oe/recipes-support/multipath-tools/files/always-use-libdevmapper-kpartx.patch b/meta-oe/recipes-support/multipath-tools/files/always-use-libdevmapper-kpartx.patch new file mode 100644 index 0000000000..a16a854052 --- /dev/null +++ b/meta-oe/recipes-support/multipath-tools/files/always-use-libdevmapper-kpartx.patch @@ -0,0 +1,29 @@ +Always use devmapper for kpartx + +Do not try to compute the LIBDM_API_COOKIE make variable +from host information when cross-compiling. + +Upstream-Status: Inappropriate [embedded specific] + +Signed-off-by: Aws Ismail <aws.ismail@windriver.com> +Signed-off-by: Joe Slater <joe.slater@windriver.com> + +diff --git a/kpartx/Makefile b/kpartx/Makefile +index 2a07334..24bdabc 100644 +--- a/kpartx/Makefile ++++ b/kpartx/Makefile +@@ -4,13 +4,7 @@ + # + include ../Makefile.inc + +-CFLAGS += -I. -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 +- +-LIBDM_API_COOKIE = $(shell grep -Ecs '^[a-z]*[[:space:]]+dm_task_set_cookie' /usr/include/libdevmapper.h) +- +-ifneq ($(strip $(LIBDM_API_COOKIE)),0) +- CFLAGS += -DLIBDM_API_COOKIE +-endif ++CFLAGS += -I. -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DLIBDM_API_COOKIE + + LDFLAGS = -ldevmapper + OBJS = bsd.o dos.o kpartx.o solaris.o unixware.o dasd.o sun.o \ diff --git a/meta-oe/recipes-support/multipath-tools/files/always-use-libdevmapper.patch b/meta-oe/recipes-support/multipath-tools/files/always-use-libdevmapper.patch new file mode 100644 index 0000000000..89d2352dab --- /dev/null +++ b/meta-oe/recipes-support/multipath-tools/files/always-use-libdevmapper.patch @@ -0,0 +1,44 @@ +Always use devmapper + +Do not try to compute several _API_ make variables +from host information when cross-compiling. + +Upstream-Status: Inappropriate [embedded specific] + +Signed-off-by: Aws Ismail <aws.ismail@windriver.com> +Signed-off-by: Joe Slater <joe.slater@windriver.com> + +diff --git a/libmultipath/Makefile b/libmultipath/Makefile +index e5b06b3..efd6cf6 100644 +--- a/libmultipath/Makefile ++++ b/libmultipath/Makefile +@@ -17,23 +17,18 @@ OBJS = memory.o parser.o vector.o devmapper.o \ + log.o configure.o structs_vec.o sysfs.o prio.o checkers.o \ + lock.o waiter.o file.o wwids.o + +-LIBDM_API_FLUSH = $(shell grep -Ecs '^[a-z]*[[:space:]]+dm_task_no_flush' /usr/include/libdevmapper.h) + +-ifneq ($(strip $(LIBDM_API_FLUSH)),0) ++#ifneq ($(strip $(LIBDM_API_FLUSH)),0) + CFLAGS += -DLIBDM_API_FLUSH -D_GNU_SOURCE +-endif ++#endif + +-LIBDM_API_COOKIE = $(shell grep -Ecs '^[a-z]*[[:space:]]+dm_task_set_cookie' /usr/include/libdevmapper.h) +- +-ifneq ($(strip $(LIBDM_API_COOKIE)),0) ++#ifneq ($(strip $(LIBDM_API_COOKIE)),0) + CFLAGS += -DLIBDM_API_COOKIE +-endif +- +-LIBUDEV_API_RECVBUF = $(shell grep -Ecs '^[a-z]*[[:space:]]+udev_monitor_set_resolve_buffer_size' /usr/include/libudev.h) ++#endif + +-ifneq ($(strip $(LIBUDEV_API_RECVBUF)),0) ++#ifneq ($(strip $(LIBUDEV_API_RECVBUF)),0) + CFLAGS += -DLIBUDEV_API_RECVBUF +-endif ++#endif + + + all: $(LIBS) diff --git a/meta-oe/recipes-support/multipath-tools/files/makefile_inc.patch b/meta-oe/recipes-support/multipath-tools/files/makefile_inc.patch new file mode 100644 index 0000000000..ff71f39675 --- /dev/null +++ b/meta-oe/recipes-support/multipath-tools/files/makefile_inc.patch @@ -0,0 +1,36 @@ +multipath-tools: modify Makefile.inc for cross-compilation + +Do not look for systemd info on the host, and allow us to pass in CFLAGS +using the OPTFLAGS variable. + +Upstream-Status: Inappropriate [embedded specific] + +Signed-off-by: Joe Slater <joe.slater@windriver.com> + + +--- a/Makefile.inc ++++ b/Makefile.inc +@@ -21,12 +21,6 @@ ifndef LIB + endif + endif + +-ifndef SYSTEMD +- ifeq ($(shell systemctl --version > /dev/null 2>&1 && echo 1), 1) +- SYSTEMD = $(shell systemctl --version 2> /dev/null | sed -n 's/systemd \([0-9]*\)/\1/p') +- endif +-endif +- + prefix = + exec_prefix = $(prefix) + bindir = $(exec_prefix)/sbin +@@ -49,7 +43,10 @@ ifndef RPM_OPT_FLAGS + RPM_OPT_FLAGS = -O2 -g -pipe -Wformat-security -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 + endif + ++ifndef OPTFLAGS + OPTFLAGS = $(RPM_OPT_FLAGS) -Wunused -Wstrict-prototypes ++endif ++ + CFLAGS = $(OPTFLAGS) -fPIC -DLIB_STRING=\"${LIB}\" + SHARED_FLAGS = -shared + diff --git a/meta-oe/recipes-support/multipath-tools/files/multipathd.oe b/meta-oe/recipes-support/multipath-tools/files/multipathd.oe new file mode 100755 index 0000000000..3bdf875e3c --- /dev/null +++ b/meta-oe/recipes-support/multipath-tools/files/multipathd.oe @@ -0,0 +1,146 @@ +#!/bin/bash +# +# multipathd Starts the multipath daemon +# +# chkconfig: - 06 87 +# description: Manages device-mapper multipath devices + +### BEGIN INIT INFO +# Provides: multipathd +# Required-Start: +# Required-Stop: +# Default-Start: +# Default-Stop: +# Short-Description: Control multipathd +# Description: This service monitors and manages +# device-mapper multipath devices +### END INIT INFO + +DAEMON=/sbin/multipathd +prog=`basename $DAEMON` +initdir=/etc/init.d +lockdir=/var/lock/subsys +sysconfig=/etc/sysconfig +syspath=/sys/block + +RETVAL=0 + +teardown_slaves() +{ +pushd $1 > /dev/null +if [ -d "slaves" ]; then +for slave in slaves/*; +do + if [ "$slave" = "slaves/*" ]; then + read dev < $1/dev + tablename=`dmsetup table --target multipath | sed -n "s/\(.*\): .* $dev .*/\1/p"` + if ! [ -z $tablename ]; then + echo "Root is on a multipathed device, multipathd can not be stopped" + exit 1 + fi + else + local_slave=`readlink -f $slave`; + teardown_slaves $local_slave; + fi + done + +else + read dev < $1/dev + tablename=`dmsetup table --target multipath | sed -n "s/\(.*\): .* $dev .*/\1/p"` + if ! [ -z $tablename ]; then + echo "Root is on a multipathed device, multipathd can not be stopped" + exit 1 + fi +fi +popd > /dev/null +} + +# +# See how we were called. +# + +start() { + test -x $DAEMON || exit 5 + echo -n $"Starting $prog daemon: " + start-stop-daemon --start --quiet --exec $DAEMON + RETVAL=$? + [ $RETVAL -eq 0 ] && touch $lockdir/$prog + echo +} + +force_stop() { + echo -n $"Stopping $prog daemon: " + killall $DAEMON + RETVAL=$? + [ $RETVAL -eq 0 ] && rm -f $lockdir/$prog + echo +} + +stop() { + root_dev=$(awk '{ if ($1 !~ /^[ \t]*#/ && $2 == "/") { print $1; }}' /etc/mtab) + dm_num=`dmsetup info -c --noheadings -o minor $root_dev 2> /dev/null` + if [ $? -eq 0 ]; then + root_dm_device="dm-$dm_num" + [ -d $syspath/$root_dm_device ] && teardown_slaves $syspath/$root_dm_device + fi + + force_stop +} + +restart() { + stop + start +} + +force_restart() { + force_stop + start +} + +reload() { + echo -n "Reloading $prog: " + trap "" SIGHUP + killall $DAEMON -s SIGHUP -v + RETVAL=$? + echo +} + +case "$1" in +start) + start + ;; +stop) + stop + ;; +force-stop) + force_stop + ;; +force-reload|reload) + reload + ;; +restart) + restart + ;; +force-restart) + force_restart + ;; +condrestart|try-restart) + if [ -f $lockdir/$prog ]; then + restart + fi + ;; +status) + if pidof -o %PPID $DAEMON > /dev/null; then + echo "Running" + RETVAL=0 + else + echo "Not running" + RETVAL=1 + fi + ;; +*) + echo $"Usage: $0 {start|stop|force-stop|status|restart|force-restart|condrestart|reload}" + RETVAL=2 +esac + +exit $RETVAL diff --git a/meta-oe/recipes-support/multipath-tools/multipath-tools_git.bb b/meta-oe/recipes-support/multipath-tools/multipath-tools_git.bb index 038f4e26df..055cfe64c9 100644 --- a/meta-oe/recipes-support/multipath-tools/multipath-tools_git.bb +++ b/meta-oe/recipes-support/multipath-tools/multipath-tools_git.bb @@ -1,30 +1,70 @@ SUMMARY = "The upstream project used to drive the Device Mapper multipathing driver" -DEPENDS = "lvm2 libaio readline" +DEPENDS = "lvm2 libaio readline udev" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=7be2873b6270e45abacc503abbe2aa3d" +LICENSE = "LGPLv2" +SRC_URI = "git://git.opensvc.com/multipath-tools/.git;protocol=http \ + file://multipathd.oe \ + file://makefile_inc.patch \ + file://always-use-libdevmapper.patch \ + file://always-use-libdevmapper-kpartx.patch \ + " +# 0.5.0 +# +#SRCREV = "82f391e787dc02e9d9294aa391137ab424bb83c4" +#LIC_FILES_CHKSUM = "file://COPYING;md5=7be2873b6270e45abacc503abbe2aa3d" + +# 0.5.0 + commits thru 7/18/2014 +# +#SRCREV = "0d72f46c12207a6b7b89f5ef4f5ab5f87ed8bc90" +#LIC_FILES_CHKSUM = "file://COPYING;md5=b06690e7a95c166eefe0199b39118eb1" + +# 0.5.0 + commits thru 9/12/2014 +# +# includes important systemd related structure size fix +# +SRCREV = "aec68ab217fd2956443b27ceeb97dd6475267789" +LIC_FILES_CHKSUM = "file://COPYING;md5=b06690e7a95c166eefe0199b39118eb1" + +inherit systemd -SRC_URI = "git://git.opensvc.com/multipath-tools/.git;protocol=http" -SRCREV = "15fc23ffb2bd1bac6990eda3e23c3e8980e6cfa5" S = "${WORKDIR}/git" -PV = "0.4.9+git" +PV = "0.5.0+git${@'${SRCPV}'.split('+')[-1]}" -EXTRA_OEMAKE = "MULTIPATH_VERSION=${PV} DESTDIR=${D} syslibdir=${base_libdir} libdir=${base_libdir}/multipath" +# The exact version of SYSTEMD does not matter but should be greater than 209. +# +EXTRA_OEMAKE = 'MULTIPATH_VERSION=${PV} DESTDIR=${D} syslibdir=${base_libdir} \ + OPTFLAGS="${CFLAGS}" \ + LIB=${base_libdir} libdir=${base_libdir}/multipath \ + unitdir=/lib/systemd/system \ + ${@bb.utils.contains("DISTRO_FEATURES", "systemd", "SYSTEMD=216", "", d)} \ + ' do_install() { oe_runmake install + + # Copy a sample conf file, but do not rename it multipath.conf. + # + cp multipath.conf.defaults ${D}${sysconfdir} + + # We copy an initscript, but do not start multipathd at init time. + # + cp ${WORKDIR}/multipathd.oe ${D}${sysconfdir}/init.d/multipathd + } FILES_${PN}-dbg += "${base_libdir}/multipath/.debug" + +# systemd and udev stuff always goes under /lib! +# FILES_${PN} += "${base_libdir}/multipath \ - ${base_libdir}/systemd" + /lib/systemd" PACKAGES =+ "kpartx" FILES_kpartx = "${base_sbindir}/kpartx \ - ${base_libdir}/udev/kpartx_id" + /lib/udev/kpartx_id" RDEPENDS_${PN} += "kpartx" diff --git a/meta-oe/recipes-support/mysql/mariadb-native_5.1.67.bb b/meta-oe/recipes-support/mysql/mariadb-native_5.5.41.bb index 942afcc55d..4ce960d7da 100644 --- a/meta-oe/recipes-support/mysql/mariadb-native_5.1.67.bb +++ b/meta-oe/recipes-support/mysql/mariadb-native_5.5.41.bb @@ -1,20 +1,19 @@ -require mariadb_${PV}.inc +require mariadb.inc inherit native PROVIDES += "mysql5-native" -DEPENDS = "ncurses-native zlib-native" +DEPENDS = "ncurses-native zlib-native bison-native" RDEPENDS_${PN} = "" PACKAGES = "" EXTRA_OEMAKE = "" -EXTRA_OECONF = " --with-embedded-server " do_install() { oe_runmake 'DESTDIR=${D}' install - mv -f ${D}${libdir}/mysql/* ${D}${libdir} - rmdir ${D}${libdir}/mysql install -d ${D}${bindir} install -m 0755 sql/gen_lex_hash ${D}${bindir}/ + install -m 0755 extra/comp_err ${D}${bindir}/ + install -m 0755 scripts/comp_sql ${D}${bindir}/ } diff --git a/meta-oe/recipes-support/mysql/mariadb_5.1.67.inc b/meta-oe/recipes-support/mysql/mariadb.inc index 0c83c71038..cacb0d5e0f 100644 --- a/meta-oe/recipes-support/mysql/mariadb_5.1.67.inc +++ b/meta-oe/recipes-support/mysql/mariadb.inc @@ -4,63 +4,66 @@ SECTION = "libs" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" -SRC_URI = "http://mirrors.coreix.net/mariadb/mariadb-${PV}/kvm-tarbake-jaunty-x86/mariadb-${PV}.tar.gz \ - file://configure.in.patch \ - file://plug.in.patch \ - file://misc.m4.patch \ - file://Makefile.am.patch \ - file://fix_host_path.patch \ - file://configure-ps-cache-check.patch \ - file://fix-cve-2013-1861-1.patch \ - file://fix-cve-2013-1861-2.patch \ - file://zlib-let-libdir-configurable.patch \ - file://storage-forbids-absolute-addresses-on-IA-32.patch \ +SRC_URI = "http://mirror.stshosting.co.uk/mariadb/mariadb-${PV}/source/mariadb-${PV}.tar.gz \ + file://fix-cmake-module-path.patch \ + file://remove-bad-path.patch \ + file://fix-mysqlclient-r-version.patch \ file://my.cnf \ - file://mysqld.sh \ - file://avoid-plugin-options-warnings.patch \ - file://fix-link-error-ub1310.patch \ + file://mysqld.service \ + file://configure.cmake-fix-valgrind.patch \ " -SRC_URI[md5sum] = "44c331fa91943155e4796f89e17a0612" -SRC_URI[sha256sum] = "33471e9275c9b03919cabc38eb39f807d645adabf6a1a18f2e41ed73f47677c8" +SRC_URI[md5sum] = "d2415efc6a6d73d7a58f3c79bb42f2e8" +SRC_URI[sha256sum] = "a16dc62e4bcabecd5c483f2f8b657483a8c51934e7be5ad4ab21b8baea1f5332" S = "${WORKDIR}/mariadb-${PV}" BINCONFIG_GLOB = "mysql_config" -inherit autotools-brokensep binconfig update-rc.d useradd +inherit cmake gettext binconfig update-rc.d useradd systemd INITSCRIPT_PACKAGES = "${PN}-server" INITSCRIPT_NAME = "mysqld" INITSCRIPT_PARAMS = "start 45 5 . stop 45 0 6 1 ." USERADD_PACKAGES = "${PN}-server" -USERADD_PARAM_${PN}-server = "--system --home-dir /var/mysql -g nogroup --shell /bin/false mysql" +USERADD_PARAM_${PN}-server = "--system --home-dir /var/mysql -g mysql --shell /bin/false mysql" +GROUPADD_PARAM_${PN}-server = "--system mysql" +SYSTEMD_PACKAGES = "${PN}-server" +SYSTEMD_SERVICE_${PN}-server = "mysqld.service" +SYSTEMD_AUTO_ENABLE_${PN}-server = "disable" -export ac_cv_path_PS="/bin/ps" -export ac_cv_FIND_PROC="/bin/ps p \$\$PID | grep -v grep | grep mysqld > /dev/null" -PARALLEL_MAKE = " " EXTRA_OEMAKE = "'GEN_LEX_HASH=${STAGING_BINDIR_NATIVE}/gen_lex_hash'" -EXTRA_OECONF = "--with-atomic-ops=up \ - --with-embedded-server \ - --sysconfdir=/etc/mysql \ - --localstatedir=/var/mysql \ - --disable-dependency-tracking \ - --without-debug \ - --with-low-memory \ - --without-query-cache \ - --without-plugin-maria \ - --without-man \ - --without-docs \ - --with-zlib-dir=${STAGING_EXECPREFIXDIR} \ - --with-baselib-dir=${base_libdir} \ - --with-pic \ - " -do_configure_append() { - sed -i /comp_err/d ${B}/sql/share/Makefile +PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam', '', d)}" +PACKAGECONFIG_class-native = "" +PACKAGECONFIG[pam] = ",-DWITHOUT_AUTH_PAM=TRUE,libpam" +PACKAGECONFIG[valgrind] = "-DWITH_VALGRIND=TRUE,-DWITHOUT_VALGRIND=TRUE,valgrind" +PACKAGECONFIG[libedit] = "-DLIBEDIT_INTERFACE=TRUE,-DLIBEDIT_INTERFACE=FALSE,libedit" + +# MariaDB doesn't link properly with gold +# https://mariadb.atlassian.net/browse/MDEV-5982 +TARGET_CFLAGS += "-fuse-ld=bfd" +EXTRA_OECMAKE = "-DWITH_EMBEDDED_SERVER=ON \ + -DWITH_JEMALLOC=no \ + -DWITHOUT_TOKUDB=TRUE \ + -DCMAKE_DISABLE_FIND_PACKAGE_Boost=TRUE \ + -DGROFF=FALSE \ + -DNROFF=FALSE \ + -DENABLE_DTRACE=FALSE \ + -DWITH_PIC=ON \ + -DINSTALL_LAYOUT=RPM \ + -DINSTALL_DOCDIR:PATH=${datadir}/doc/${BPN} \ + -DINSTALL_LIBDIR:PATH=${baselib} \ + -DINSTALL_PLUGINDIR:PATH=${baselib}/plugin \ + -DINSTALL_SYSCONFDIR:PATH=${sysconfdir} \ + -DMYSQL_DATADIR:PATH=/var/mysql \ + -DCAT_EXECUTABLE=`which cat` \ + -DCMAKE_AR:FILEPATH=${AR}" + +do_configure_append() { # handle distros with different values of ${libexecdir} libexecdir2=`echo ${libexecdir} | sed -e 's+/usr/++g'` sed -i -e "s:/libexec:/$libexecdir2:g" ${S}/scripts/mysql_install_db.sh @@ -68,6 +71,20 @@ do_configure_append() { sed -i -e "s:/libexec:/$libexecdir2:g" ${S}/scripts/mysqld_safe.sh } +do_generate_toolchain_file_append_class-native () { + # If these are set cmake will assume we're cross-compiling, which will + # result in certain things we want being disabled + sed -i "/set( CMAKE_SYSTEM_NAME/d" ${WORKDIR}/toolchain.cmake + sed -i "/set( CMAKE_SYSTEM_PROCESSOR/d" ${WORKDIR}/toolchain.cmake +} + +do_compile_prepend_class-target () { + # These need to be in-tree or make will think they need to be built, + # and since we're cross-compiling that is disabled + cp ${STAGING_BINDIR_NATIVE}/comp_err ${S}/extra + cp ${STAGING_BINDIR_NATIVE}/comp_sql ${S}/scripts +} + SYSROOT_PREPROCESS_FUNCS += "mariadb_sysroot_preprocess" # We need to append this so it runs *after* binconfig's preprocess function @@ -82,13 +99,20 @@ mariadb_sysroot_preprocess () { do_install() { oe_runmake 'DESTDIR=${D}' install - mv -f ${D}${libdir}/mysql/* ${D}${libdir} - rmdir ${D}${libdir}/mysql - find ${D}${libdir} -name '*.la'|xargs sed -i 's#${libdir}/mysql#${libdir}#' - install -d ${D}/etc/init.d - install -m 0644 ${WORKDIR}/my.cnf ${D}/etc/ - install -m 0755 ${WORKDIR}/mysqld.sh ${D}/etc/init.d/mysqld + install -d ${D}/${sysconfdir}/init.d + install -m 0644 ${WORKDIR}/my.cnf ${D}/${sysconfdir}/ + mv ${D}/${sysconfdir}/init.d/mysql ${D}/${sysconfdir}/init.d/mysqld + + install -d ${D}${systemd_unitdir}/system + install -m 0644 ${WORKDIR}/mysqld.service ${D}${systemd_unitdir}/system + sed -i -e 's,@BINDIR@,${bindir},g' -e 's,@PREFIX@,${prefix},g' ${D}${systemd_unitdir}/system/mysqld.service + + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then + install -d ${D}${sysconfdir}/tmpfiles.d + echo "f /var/log/mysqld.err 0640 mysql mysql -" \ + > ${D}${sysconfdir}/tmpfiles.d/99-mysqld.conf + fi } pkg_postinst_${PN}-server () { @@ -100,9 +124,9 @@ pkg_postinst_${PN}-server () { test -d /usr/bin || mkdir -p /usr/bin test -e /usr/bin/hostname || ln -s /bin/hostname /usr/bin/hostname mkdir /var/lib/mysql - chown mysql.nogroup /var/lib/mysql + chown mysql.mysql /var/lib/mysql - mysql_install_db + mysql_install_db --basedir=${prefix} --user=mysql } @@ -110,7 +134,9 @@ PACKAGES = "${PN}-dbg ${PN} \ libmysqlclient-r libmysqlclient-r-dev libmysqlclient-r-staticdev libmysqlclient-r-dbg \ libmysqlclient libmysqlclient-dev libmysqlclient-staticdev libmysqlclient-dbg \ libmysqld libmysqld-dev ${PN}-client ${PN}-server ${PN}-leftovers" -CONFFILES_${PN}-server += "${sysconfdir}/my.cnf" +CONFFILES_${PN}-server += "${sysconfdir}/my.cnf ${sysconfdir}/my.cnf.d/server.cnf" +CONFFILES_${PN}-client += "${sysconfdir}/my.cnf.d/mysql-clients.cnf" +CONFFILES_libmysqlclient += "${sysconfdir}/my.cnf.d/client.cnf" FILES_${PN} = " " RDEPENDS_${PN} = "${PN}-client ${PN}-server" @@ -131,20 +157,16 @@ RDEPENDS_${PN}-leftovers = "perl perl-module-cwd perl-module-benchmark perl-modu FILES_libmysqlclient = "\ ${libdir}/libmysqlclient.so.* \ - ${libdir}/plugin/*.so.*" + ${sysconfdir}/my.cnf.d/client.cnf" FILES_libmysqlclient-dev = " \ ${includedir}/mysql/ \ ${libdir}/libmysqlclient.so \ - ${libdir}/libmysqlclient.la \ - ${libdir}/plugin/*.so \ - ${libdir}/plugin/*.la \ ${sysconfdir}/aclocal \ ${bindir}/mysql_config" FILES_libmysqlclient-staticdev = "\ - ${libdir}/*.a \ - ${libdir}/plugin/*.a" + ${libdir}/*.a" FILES_libmysqlclient-dbg = "${libdir}/plugin/.debug/ \ - /usr/mysql-test/lib/My/SafeProcess/.debug/my_safe_process" + ${datadir}/mysql-test/lib/My/SafeProcess/.debug/my_safe_process" # Avoid warnings about ha_xtradb.so.0.0.0 and ha_innodb_plugin.so.0.0.0 # which are intentionally non-PIC on 32-bit x86 (see e.g. @@ -153,8 +175,7 @@ INSANE_SKIP_libmysqlclient_append_i586 = " textrel" FILES_libmysqlclient-r = "${libdir}/libmysqlclient_r.so.*" FILES_libmysqlclient-r-dev = "\ - ${libdir}/libmysqlclient_r.so \ - ${libdir}/libmysqlclient_r.la" + ${libdir}/libmysqlclient_r.so" FILES_libmysqlclient-r-staticdev = "${libdir}/libmysqlclient_r.a" FILES_libmysqlclient-r-dbg = "${libdir}/plugin/.debuglibmysqlclient_r.so.*" @@ -181,7 +202,8 @@ FILES_${PN}-client = "\ ${bindir}/mysqlshow \ ${bindir}/mysqlslap \ ${bindir}/mysqltest_embedded \ - ${libexecdir}/mysqlmanager" + ${libexecdir}/mysqlmanager \ + ${sysconfdir}/my.cnf.d/mysql-clients.cnf" FILES_${PN}-server = "\ ${bindir}/comp_err \ @@ -199,6 +221,7 @@ FILES_${PN}-server = "\ ${bindir}/mysql_setpermission \ ${bindir}/mysql_tzinfo_to_sql \ ${bindir}/mysql_upgrade \ + ${bindir}/mysql_plugin \ ${bindir}/mysql_zap \ ${bindir}/mysqlbinlog \ ${bindir}/mysqld_multi \ @@ -225,10 +248,13 @@ FILES_${PN}-server = "\ ${sbindir}/ndb_cpcd \ ${sbindir}/ndbd \ ${sbindir}/ndb_mgmd \ + ${libdir}/plugin/*.so \ ${datadir}/mysql/ \ ${localstatedir}/mysql/ \ ${sysconfdir}/init.d \ - ${sysconfdir}/my.cnf" + ${sysconfdir}/my.cnf \ + ${sysconfdir}/my.cnf.d/server.cnf \ + ${sysconfdir}/tmpfiles.d" DESCRIPTION_${PN}-leftovers = "unpackaged and probably unneeded files for ${PN}" FILES_${PN}-leftovers = "/" diff --git a/meta-oe/recipes-support/mysql/mariadb/Makefile.am.patch b/meta-oe/recipes-support/mysql/mariadb/Makefile.am.patch deleted file mode 100644 index 33fd17acd4..0000000000 --- a/meta-oe/recipes-support/mysql/mariadb/Makefile.am.patch +++ /dev/null @@ -1,19 +0,0 @@ -Index: mysql-5.1.40/sql/Makefile.am -=================================================================== ---- mysql-5.1.40.orig/sql/Makefile.am -+++ mysql-5.1.40/sql/Makefile.am -@@ -174,10 +174,10 @@ link_sources: - # This generates lex_hash.h - # NOTE Built sources should depend on their sources not the tool - # this avoid the rebuild of the built files in a source dist --lex_hash.h: gen_lex_hash.cc lex.h -- $(MAKE) $(AM_MAKEFLAGS) gen_lex_hash$(EXEEXT) -- ./gen_lex_hash$(EXEEXT) > $@-t -- $(MV) $@-t $@ -+GEN_LEX_HASH = ./gen_lex_hash$(EXEEXT) -+ -+lex_hash.h: gen_lex_hash$(EXEEXT) -+ $(GEN_LEX_HASH) > $@ - - # For testing of udf_example.so - udf_example_la_SOURCES= udf_example.c diff --git a/meta-oe/recipes-support/mysql/mariadb/avoid-plugin-options-warnings.patch b/meta-oe/recipes-support/mysql/mariadb/avoid-plugin-options-warnings.patch deleted file mode 100644 index 84ff6f023d..0000000000 --- a/meta-oe/recipes-support/mysql/mariadb/avoid-plugin-options-warnings.patch +++ /dev/null @@ -1,17 +0,0 @@ -Tell autoconf about with-plugin option to avoid warnings like: -configure: WARNING: unrecognized options: --with-plugin-maria - -Signed-off-by: Andrei Gherzan <andrei@gherzan.ro> - -Index: mariadb-5.1.67/config/ac-macros/plugins.m4 -=================================================================== ---- mariadb-5.1.67.orig/config/ac-macros/plugins.m4 -+++ mariadb-5.1.67/config/ac-macros/plugins.m4 -@@ -38,6 +38,7 @@ AC_DEFUN([_MYSQL_PLUGIN],[ - _MYSQL_PLUGAPPEND([__mysql_plugin_list__],[$1]) - m4_define([MYSQL_PLUGIN_NAME_]AS_TR_CPP([$1]), [$3]) - m4_define([MYSQL_PLUGIN_DESC_]AS_TR_CPP([$1]), [$4]) -+ m4_ifdef([_AC_ENABLE_IF], [_AC_ENABLE_IF([with],[plugin-$1])]) - _MYSQL_PLUGAPPEND_META([$1], $5) - ifelse(m4_bregexp(__mysql_include__,[/plug\.in$]),-1,[],[ - MYSQL_PLUGIN_DIRECTORY([$1], diff --git a/meta-oe/recipes-support/mysql/mariadb/configure-ps-cache-check.patch b/meta-oe/recipes-support/mysql/mariadb/configure-ps-cache-check.patch deleted file mode 100644 index 3b5b3fd063..0000000000 --- a/meta-oe/recipes-support/mysql/mariadb/configure-ps-cache-check.patch +++ /dev/null @@ -1,27 +0,0 @@ -Index: mysql-4.1.22/configure.in -=================================================================== ---- mysql-4.1.22.orig/configure.in 2009-01-28 16:33:28.000000000 +0000 -+++ mysql-4.1.22/configure.in 2009-01-28 16:43:26.000000000 +0000 -@@ -471,8 +471,8 @@ - - # Lock for PS - AC_PATH_PROG(PS, ps, ps) --AC_MSG_CHECKING("how to check if pid exists") --PS=$ac_cv_path_PS -+AC_CACHE_CHECK([how to check if pid exists], [ac_cv_FIND_PROC], -+[ - # Linux style - if $PS p $$ 2> /dev/null | grep $0 > /dev/null - then -@@ -511,8 +511,9 @@ - AC_MSG_ERROR([Could not find the right ps switches. Which OS is this ?. See the Installation chapter in the Reference Manual.]) - esac - fi --AC_SUBST(FIND_PROC) --AC_MSG_RESULT("$FIND_PROC") -+ac_cv_FIND_PROC="$FIND_PROC" -+]) -+AC_SUBST([FIND_PROC], [$ac_cv_FIND_PROC]) - - # Check if a pid is valid - AC_PATH_PROG(KILL, kill, kill) diff --git a/meta-oe/recipes-support/mysql/mariadb/configure.cmake-fix-valgrind.patch b/meta-oe/recipes-support/mysql/mariadb/configure.cmake-fix-valgrind.patch new file mode 100644 index 0000000000..e97def6021 --- /dev/null +++ b/meta-oe/recipes-support/mysql/mariadb/configure.cmake-fix-valgrind.patch @@ -0,0 +1,41 @@ +From 5effba0d7d47071a3f1bca56823190d5a95bb1a6 Mon Sep 17 00:00:00 2001 +From: Jackie Huang <jackie.huang@windriver.com> +Date: Wed, 12 Nov 2014 03:09:10 -0500 +Subject: [PATCH] configure.cmake: fix valgrind + +Check valgrind headers only if WITH_VALGRIND is set. + +mariadb uses two macros for valgrind compilations: +HAVE_valgrind - valgrind is installed and can be set by configure option -DWITH_VALGRIND +HAVE_VALGRIND - valgrind debug libraries is installed, set by auto check + +We would like to set them both by the configure option so that we can use +PACKAGECONFIG to decide if valgrind is needed or not. + +Upstream-Status: Inappropriate [oe specific] + +Signed-off-by: Jackie Huang <jackie.huang@windriver.com> +--- + configure.cmake | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/configure.cmake b/configure.cmake +index 0bd7bbe..51a098f 100644 +--- a/configure.cmake ++++ b/configure.cmake +@@ -1047,10 +1047,10 @@ MARK_AS_ADVANCED(WITH_ATOMIC_LOCKS MY_ATOMIC_MODE_RWLOCK MY_ATOMIC_MODE_DUMMY) + + IF(WITH_VALGRIND) + SET(HAVE_valgrind 1) ++ CHECK_INCLUDE_FILES("valgrind/memcheck.h;valgrind/valgrind.h" ++ HAVE_VALGRIND) + ENDIF() + +-CHECK_INCLUDE_FILES("valgrind/memcheck.h;valgrind/valgrind.h" +- HAVE_VALGRIND) + + #-------------------------------------------------------------------- + # Check for IPv6 support +-- +2.0.0 + diff --git a/meta-oe/recipes-support/mysql/mariadb/configure.in.patch b/meta-oe/recipes-support/mysql/mariadb/configure.in.patch deleted file mode 100644 index 6fe2dfaa1a..0000000000 --- a/meta-oe/recipes-support/mysql/mariadb/configure.in.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: mysql-5.1.40/configure.in -=================================================================== ---- mysql-5.1.40.orig/configure.in -+++ mysql-5.1.40/configure.in -@@ -226,8 +226,6 @@ else - AC_PATH_PROG(AS, as, as) - fi - --# Still need ranlib for readline; local static use only so no libtool. --AC_PROG_RANLIB - # We use libtool - #AC_LIBTOOL_WIN32_DLL - AC_PROG_LIBTOOL diff --git a/meta-oe/recipes-support/mysql/mariadb/fix-cmake-module-path.patch b/meta-oe/recipes-support/mysql/mariadb/fix-cmake-module-path.patch new file mode 100644 index 0000000000..8d9f558d05 --- /dev/null +++ b/meta-oe/recipes-support/mysql/mariadb/fix-cmake-module-path.patch @@ -0,0 +1,29 @@ +Avoid CMAKE_MODULE_PATH being overwritten + +OE-Core's setting of CMAKE_MODULE_PATH stomps on MariaDB's value unless +we set it after setting the project name. + +Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> + +Upstream-Status: Inappropriate [working around OE-Core bug] + +--- mariadb/CMakeLists.txt 2014-07-17 11:01:07.676353047 +0100 ++++ mariadb/CMakeLists.txt 2014-07-17 11:01:31.299353107 +0100 +@@ -28,8 +28,6 @@ + + MESSAGE(STATUS "Running cmake version ${CMAKE_VERSION}") + +-SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_SOURCE_DIR}/cmake) +- + # Distinguish between community and non-community builds, with the + # default being a community build. This does not impact the feature + # set that will be compiled in; it's merely provided as a hint to +@@ -77,6 +75,8 @@ + ENDIF() + PROJECT(${MYSQL_PROJECT_NAME}) + ++SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_SOURCE_DIR}/cmake) ++ + IF(BUILD_CONFIG) + INCLUDE( + ${CMAKE_SOURCE_DIR}/cmake/build_configurations/${BUILD_CONFIG}.cmake) diff --git a/meta-oe/recipes-support/mysql/mariadb/fix-cve-2013-1861-1.patch b/meta-oe/recipes-support/mysql/mariadb/fix-cve-2013-1861-1.patch deleted file mode 100644 index df2e7086c4..0000000000 --- a/meta-oe/recipes-support/mysql/mariadb/fix-cve-2013-1861-1.patch +++ /dev/null @@ -1,174 +0,0 @@ -From 24404044ad4c28026e400e1fcd85358f2060aa96 Mon Sep 17 00:00:00 2001 -From: Alexey Botchkov <holyfoot@askmonty.org> -Date: Sun, 10 Mar 2013 23:08:05 +0400 -Subject: [PATCH] MDEV-4252 geometry query crashes server. The bug was - found by Alyssa Milburn. If the number of points of a geometry feature - read from binary representation is greater than 0x10000000, then - the (uint32) (num_points * 16) will cut the higher byte, which leads to - various errors. Fixed by additional check if (num_points > - max_n_points). - -Upstream-Status: Backport -Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> - ---- - mysql-test/r/gis.result | 3 +++ - mysql-test/t/gis.test | 1 + - sql/spatial.cc | 27 ++++++++++++++++++--------- - sql/spatial.h | 9 +++++---- - 4 files changed, 27 insertions(+), 13 deletions(-) - -diff --git a/mysql-test/r/gis.result b/mysql-test/r/gis.result -index 8dad72f..69e73d0 100644 ---- a/mysql-test/r/gis.result -+++ b/mysql-test/r/gis.result -@@ -1087,4 +1087,7 @@ NULL - # - SELECT GEOMETRYCOLLECTION((SELECT @@OLD)); - ERROR 22007: Illegal non geometric '' value found during parsing -+select astext(0x0100000000030000000100000000000010); -+astext(0x0100000000030000000100000000000010) -+NULL - End of 5.1 tests -diff --git a/mysql-test/t/gis.test b/mysql-test/t/gis.test -index abda3e9..cc5d158 100644 ---- a/mysql-test/t/gis.test -+++ b/mysql-test/t/gis.test -@@ -826,5 +826,6 @@ SELECT ISCLOSED(CONVERT(CONCAT(' ', 0x2), BINARY(20))); - --error ER_ILLEGAL_VALUE_FOR_TYPE - SELECT GEOMETRYCOLLECTION((SELECT @@OLD)); - -+select astext(0x0100000000030000000100000000000010); - - --echo End of 5.1 tests -diff --git a/sql/spatial.cc b/sql/spatial.cc -index eec028e..94d0238 100644 ---- a/sql/spatial.cc -+++ b/sql/spatial.cc -@@ -556,7 +556,7 @@ bool Gis_line_string::get_data_as_wkt(String *txt, const char **end) const - n_points= uint4korr(data); - data += 4; - -- if (n_points < 1 || -+ if (n_points < 1 || n_points > max_n_points || - no_data(data, SIZEOF_STORED_DOUBLE * 2 * n_points) || - txt->reserve(((MAX_DIGITS_IN_DOUBLE + 1)*2 + 1) * n_points)) - return 1; -@@ -594,7 +594,8 @@ int Gis_line_string::geom_length(double *len) const - return 1; - n_points= uint4korr(data); - data+= 4; -- if (n_points < 1 || no_data(data, SIZEOF_STORED_DOUBLE * 2 * n_points)) -+ if (n_points < 1 || n_points > max_n_points || -+ no_data(data, SIZEOF_STORED_DOUBLE * 2 * n_points)) - return 1; - - get_point(&prev_x, &prev_y, data); -@@ -628,7 +629,7 @@ int Gis_line_string::is_closed(int *closed) const - return 0; - } - data+= 4; -- if (n_points == 0 || -+ if (n_points == 0 || n_points > max_n_points || - no_data(data, SIZEOF_STORED_DOUBLE * 2 * n_points)) - return 1; - -@@ -798,7 +799,8 @@ bool Gis_polygon::get_data_as_wkt(String *txt, const char **end) const - return 1; - n_points= uint4korr(data); - data+= 4; -- if (no_data(data, (SIZEOF_STORED_DOUBLE*2) * n_points) || -+ if (n_points > max_n_points || -+ no_data(data, (SIZEOF_STORED_DOUBLE*2) * n_points) || - txt->reserve(2 + ((MAX_DIGITS_IN_DOUBLE + 1) * 2 + 1) * n_points)) - return 1; - txt->qs_append('('); -@@ -852,7 +854,8 @@ int Gis_polygon::area(double *ar, const char **end_of_data) const - if (no_data(data, 4)) - return 1; - n_points= uint4korr(data); -- if (no_data(data, (SIZEOF_STORED_DOUBLE*2) * n_points)) -+ if (n_points > max_n_points || -+ no_data(data, (SIZEOF_STORED_DOUBLE*2) * n_points)) - return 1; - get_point(&prev_x, &prev_y, data+4); - data+= (4+SIZEOF_STORED_DOUBLE*2); -@@ -888,7 +891,8 @@ int Gis_polygon::exterior_ring(String *result) const - n_points= uint4korr(data); - data+= 4; - length= n_points * POINT_DATA_SIZE; -- if (no_data(data, length) || result->reserve(1+4+4+ length)) -+ if (n_points > max_n_points || -+ no_data(data, length) || result->reserve(1+4+4+ length)) - return 1; - - result->q_append((char) wkb_ndr); -@@ -973,7 +977,8 @@ int Gis_polygon::centroid_xy(double *x, double *y) const - return 1; - org_n_points= n_points= uint4korr(data); - data+= 4; -- if (no_data(data, (SIZEOF_STORED_DOUBLE*2) * n_points)) -+ if (n_points > max_n_points || -+ no_data(data, (SIZEOF_STORED_DOUBLE*2) * n_points)) - return 1; - get_point(&prev_x, &prev_y, data); - data+= (SIZEOF_STORED_DOUBLE*2); -@@ -1260,7 +1265,8 @@ bool Gis_multi_line_string::get_data_as_wkt(String *txt, - return 1; - n_points= uint4korr(data + WKB_HEADER_SIZE); - data+= WKB_HEADER_SIZE + 4; -- if (no_data(data, n_points * (SIZEOF_STORED_DOUBLE*2)) || -+ if (n_points > max_n_points || -+ no_data(data, n_points * (SIZEOF_STORED_DOUBLE*2)) || - txt->reserve(2 + ((MAX_DIGITS_IN_DOUBLE + 1) * 2 + 1) * n_points)) - return 1; - txt->qs_append('('); -@@ -1521,7 +1527,8 @@ bool Gis_multi_polygon::get_data_as_wkt(String *txt, const char **end) const - return 1; - uint32 n_points= uint4korr(data); - data+= 4; -- if (no_data(data, (SIZEOF_STORED_DOUBLE * 2) * n_points) || -+ if (n_points > max_n_points || -+ no_data(data, (SIZEOF_STORED_DOUBLE * 2) * n_points) || - txt->reserve(2 + ((MAX_DIGITS_IN_DOUBLE + 1) * 2 + 1) * n_points, - 512)) - return 1; -@@ -1604,6 +1611,8 @@ int Gis_multi_polygon::geometry_n(uint32 num, String *result) const - if (no_data(data, 4)) - return 1; - n_points= uint4korr(data); -+ if (n_points > max_n_points) -+ return 1; - data+= 4 + POINT_DATA_SIZE * n_points; - } - } while (--num); -diff --git a/sql/spatial.h b/sql/spatial.h -index 20b3856..7d25425 100644 ---- a/sql/spatial.h -+++ b/sql/spatial.h -@@ -197,6 +197,11 @@ struct MBR - class Geometry - { - public: -+ // Maximum number of points in feature that can fit into String -+ static const uint32 max_n_points= -+ (uint32) (UINT_MAX32 - WKB_HEADER_SIZE - 4 /* n_points */) / -+ POINT_DATA_SIZE; -+public: - Geometry() {} /* Remove gcc warning */ - virtual ~Geometry() {} /* Remove gcc warning */ - static void *operator new(size_t size, void *buffer) -@@ -379,10 +384,6 @@ class Gis_point: public Geometry - - class Gis_line_string: public Geometry - { -- // Maximum number of points in LineString that can fit into String -- static const uint32 max_n_points= -- (uint32) (UINT_MAX32 - WKB_HEADER_SIZE - 4 /* n_points */) / -- POINT_DATA_SIZE; - public: - Gis_line_string() {} /* Remove gcc warning */ - virtual ~Gis_line_string() {} /* Remove gcc warning */ --- -1.8.1.6 - diff --git a/meta-oe/recipes-support/mysql/mariadb/fix-cve-2013-1861-2.patch b/meta-oe/recipes-support/mysql/mariadb/fix-cve-2013-1861-2.patch deleted file mode 100644 index c35cdfb641..0000000000 --- a/meta-oe/recipes-support/mysql/mariadb/fix-cve-2013-1861-2.patch +++ /dev/null @@ -1,257 +0,0 @@ -From 9f714cdd3bf4bd8ee06cd38dcd2c6e8990a4ec48 Mon Sep 17 00:00:00 2001 -From: Alexey Botchkov <holyfoot@askmonty.org> -Date: Mon, 18 Mar 2013 17:58:00 +0400 -Subject: [PATCH] MDEV-4252 geometry query crashes server. Additional fixes - for possible overflows in length-related calculations in 'spatial' - implementations. Checks added to the ::get_data_size() methods. - max_n_points decreased to occupy less 2G size. An object of that size is - practically inoperable anyway. - -Upstream-Status: Backport -Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> - ---- - mysql-test/r/gis.result | 12 +++++++++ - mysql-test/t/gis.test | 6 +++++ - sql/spatial.cc | 67 ++++++++++++++++++++++++++++++++++--------------- - sql/spatial.h | 2 +- - 4 files changed, 66 insertions(+), 21 deletions(-) - -diff --git a/mysql-test/r/gis.result b/mysql-test/r/gis.result -index 69e73d0..7566f0b 100644 ---- a/mysql-test/r/gis.result -+++ b/mysql-test/r/gis.result -@@ -1087,7 +1087,19 @@ NULL - # - SELECT GEOMETRYCOLLECTION((SELECT @@OLD)); - ERROR 22007: Illegal non geometric '' value found during parsing -+# -+# MDEV-4252 geometry query crashes server -+# - select astext(0x0100000000030000000100000000000010); - astext(0x0100000000030000000100000000000010) - NULL -+select envelope(0x0100000000030000000100000000000010); -+envelope(0x0100000000030000000100000000000010) -+NULL -+select geometryn(0x0100000000070000000100000001030000000200000000000000ffff0000, 1); -+geometryn(0x0100000000070000000100000001030000000200000000000000ffff0000, 1) -+NULL -+select geometryn(0x0100000000070000000100000001030000000200000000000000ffffff0f, 1); -+geometryn(0x0100000000070000000100000001030000000200000000000000ffffff0f, 1) -+NULL - End of 5.1 tests -diff --git a/mysql-test/t/gis.test b/mysql-test/t/gis.test -index cc5d158..c42541e 100644 ---- a/mysql-test/t/gis.test -+++ b/mysql-test/t/gis.test -@@ -826,6 +826,12 @@ SELECT ISCLOSED(CONVERT(CONCAT(' ', 0x2), BINARY(20))); - --error ER_ILLEGAL_VALUE_FOR_TYPE - SELECT GEOMETRYCOLLECTION((SELECT @@OLD)); - -+--echo # -+--echo # MDEV-4252 geometry query crashes server -+--echo # - select astext(0x0100000000030000000100000000000010); -+select envelope(0x0100000000030000000100000000000010); -+select geometryn(0x0100000000070000000100000001030000000200000000000000ffff0000, 1); -+select geometryn(0x0100000000070000000100000001030000000200000000000000ffffff0f, 1); - - --echo End of 5.1 tests -diff --git a/sql/spatial.cc b/sql/spatial.cc -index 94d0238..5a4b768 100644 ---- a/sql/spatial.cc -+++ b/sql/spatial.cc -@@ -394,18 +394,19 @@ const char *Geometry::append_points(String *txt, uint32 n_points, - const char *Geometry::get_mbr_for_points(MBR *mbr, const char *data, - uint offset) const - { -- uint32 points; -+ uint32 n_points; - /* read number of points */ - if (no_data(data, 4)) - return 0; -- points= uint4korr(data); -+ n_points= uint4korr(data); - data+= 4; - -- if (no_data(data, (SIZEOF_STORED_DOUBLE * 2 + offset) * points)) -+ if (n_points > max_n_points || -+ no_data(data, (POINT_DATA_SIZE + offset) * n_points)) - return 0; - - /* Calculate MBR for points */ -- while (points--) -+ while (n_points--) - { - data+= offset; - mbr->add_xy(data, data + SIZEOF_STORED_DOUBLE); -@@ -484,9 +485,12 @@ const Geometry::Class_info *Gis_point::get_class_info() const - - uint32 Gis_line_string::get_data_size() const - { -- if (no_data(m_data, 4)) -+ uint32 n_points, size; -+ if (no_data(m_data, 4) || -+ (n_points= uint4korr(m_data)) > max_n_points || -+ no_data(m_data, (size= 4 + n_points * POINT_DATA_SIZE))) - return GET_SIZE_ERROR; -- return 4 + uint4korr(m_data) * POINT_DATA_SIZE; -+ return size; - } - - -@@ -665,6 +669,9 @@ int Gis_line_string::end_point(String *result) const - if (no_data(m_data, 4)) - return 1; - n_points= uint4korr(m_data); -+ if (n_points == 0 || n_points > max_n_points || -+ no_data(m_data, POINT_DATA_SIZE * n_points)) -+ return 1; - return create_point(result, m_data + 4 + (n_points - 1) * POINT_DATA_SIZE); - } - -@@ -674,11 +681,14 @@ int Gis_line_string::point_n(uint32 num, String *result) const - uint32 n_points; - if (no_data(m_data, 4)) - return 1; -+ num--; - n_points= uint4korr(m_data); -- if ((uint32) (num - 1) >= n_points) // means (num > n_points || num < 1) -+ if (num >= n_points || -+ num > max_n_points || // means (num > n_points || num < 1) -+ no_data(m_data, num * POINT_DATA_SIZE)) - return 1; - -- return create_point(result, m_data + 4 + (num - 1) * POINT_DATA_SIZE); -+ return create_point(result, m_data + 4 + num*POINT_DATA_SIZE); - } - - const Geometry::Class_info *Gis_line_string::get_class_info() const -@@ -692,6 +702,7 @@ const Geometry::Class_info *Gis_line_string::get_class_info() const - uint32 Gis_polygon::get_data_size() const - { - uint32 n_linear_rings; -+ uint32 n_points; - const char *data= m_data; - - if (no_data(data, 4)) -@@ -701,10 +712,13 @@ uint32 Gis_polygon::get_data_size() const - - while (n_linear_rings--) - { -- if (no_data(data, 4)) -+ if (no_data(data, 4) || -+ (n_points= uint4korr(data)) > max_n_points) - return GET_SIZE_ERROR; -- data+= 4 + uint4korr(data)*POINT_DATA_SIZE; -+ data+= 4 + n_points*POINT_DATA_SIZE; - } -+ if (no_data(data, 0)) -+ return GET_SIZE_ERROR; - return (uint32) (data - m_data); - } - -@@ -1037,9 +1051,14 @@ const Geometry::Class_info *Gis_polygon::get_class_info() const - - uint32 Gis_multi_point::get_data_size() const - { -- if (no_data(m_data, 4)) -- return GET_SIZE_ERROR; -- return 4 + uint4korr(m_data)*(POINT_DATA_SIZE + WKB_HEADER_SIZE); -+ uint32 n_points; -+ uint32 size; -+ -+ if (no_data(m_data, 4) || -+ (n_points= uint4korr(m_data)) > max_n_points || -+ no_data(m_data, (size= 4 + n_points*(POINT_DATA_SIZE + WKB_HEADER_SIZE)))) -+ return GET_SIZE_ERROR; -+ return size; - } - - -@@ -1107,7 +1126,8 @@ bool Gis_multi_point::get_data_as_wkt(String *txt, const char **end) const - return 1; - - n_points= uint4korr(m_data); -- if (no_data(m_data+4, -+ if (n_points > max_n_points || -+ no_data(m_data+4, - n_points * (SIZEOF_STORED_DOUBLE * 2 + WKB_HEADER_SIZE)) || - txt->reserve(((MAX_DIGITS_IN_DOUBLE + 1) * 2 + 1) * n_points)) - return 1; -@@ -1160,6 +1180,7 @@ const Geometry::Class_info *Gis_multi_point::get_class_info() const - uint32 Gis_multi_line_string::get_data_size() const - { - uint32 n_line_strings; -+ uint32 n_points; - const char *data= m_data; - - if (no_data(data, 4)) -@@ -1169,11 +1190,13 @@ uint32 Gis_multi_line_string::get_data_size() const - - while (n_line_strings--) - { -- if (no_data(data, WKB_HEADER_SIZE + 4)) -+ if (no_data(data, WKB_HEADER_SIZE + 4) || -+ (n_points= uint4korr(data + WKB_HEADER_SIZE)) > max_n_points) - return GET_SIZE_ERROR; -- data+= (WKB_HEADER_SIZE + 4 + uint4korr(data + WKB_HEADER_SIZE) * -- POINT_DATA_SIZE); -+ data+= (WKB_HEADER_SIZE + 4 + n_points*POINT_DATA_SIZE); - } -+ if (no_data(data, 0)) -+ return GET_SIZE_ERROR; - return (uint32) (data - m_data); - } - -@@ -1327,7 +1350,7 @@ int Gis_multi_line_string::geometry_n(uint32 num, String *result) const - return 1; - n_points= uint4korr(data + WKB_HEADER_SIZE); - length= WKB_HEADER_SIZE + 4+ POINT_DATA_SIZE * n_points; -- if (no_data(data, length)) -+ if (n_points > max_n_points || no_data(data, length)) - return 1; - if (!--num) - break; -@@ -1407,6 +1430,7 @@ const Geometry::Class_info *Gis_multi_line_string::get_class_info() const - uint32 Gis_multi_polygon::get_data_size() const - { - uint32 n_polygons; -+ uint32 n_points; - const char *data= m_data; - - if (no_data(data, 4)) -@@ -1425,11 +1449,14 @@ uint32 Gis_multi_polygon::get_data_size() const - - while (n_linear_rings--) - { -- if (no_data(data, 4)) -+ if (no_data(data, 4) || -+ (n_points= uint4korr(data)) > max_n_points) - return GET_SIZE_ERROR; -- data+= 4 + uint4korr(data) * POINT_DATA_SIZE; -+ data+= 4 + n_points * POINT_DATA_SIZE; - } - } -+ if (no_data(data, 0)) -+ return GET_SIZE_ERROR; - return (uint32) (data - m_data); - } - -diff --git a/sql/spatial.h b/sql/spatial.h -index 7d25425..d7632c1 100644 ---- a/sql/spatial.h -+++ b/sql/spatial.h -@@ -199,7 +199,7 @@ class Geometry - public: - // Maximum number of points in feature that can fit into String - static const uint32 max_n_points= -- (uint32) (UINT_MAX32 - WKB_HEADER_SIZE - 4 /* n_points */) / -+ (uint32) (INT_MAX32 - WKB_HEADER_SIZE - 4 /* n_points */) / - POINT_DATA_SIZE; - public: - Geometry() {} /* Remove gcc warning */ --- -1.8.1.6 - diff --git a/meta-oe/recipes-support/mysql/mariadb/fix-link-error-ub1310.patch b/meta-oe/recipes-support/mysql/mariadb/fix-link-error-ub1310.patch deleted file mode 100644 index a528ea700a..0000000000 --- a/meta-oe/recipes-support/mysql/mariadb/fix-link-error-ub1310.patch +++ /dev/null @@ -1,37 +0,0 @@ -mariadb-native: fix link error on Ubuntu 13.10 - -Below errors only occurs on Ubuntu 13.10: - -$arch-linux-libtool: link: g++ ... -o .libs/mysqltest_embedded \ - ../../libmysqld/.libs/libmysqld.so -ldl - - ../../libmysqld/.libs/libmysqld.so: undefined reference to `dlopen' - ../../libmysqld/.libs/libmysqld.so: undefined reference to `dlclose' - ../../libmysqld/.libs/libmysqld.so: undefined reference to `dlerror' - ../../libmysqld/.libs/libmysqld.so: undefined reference to `dlsym' - -GCC/ld verion on the host: - gcc (Ubuntu/Linaro 4.8.1-10ubuntu8) 4.8.1 - GNU ld (GNU Binutils for Ubuntu) 2.23.52.20130913 - -This is a strange behavior on Ub13.10, it fails even '-ldl' in the -link command line. Below fix will append '-ldl' to dependency_libs -in libmysqld.la. - -Upstream-Status: Submitted [https://mariadb.atlassian.net/browse/MDEV-5362] - -Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com> -================================================ -diff --git a/libmysqld/Makefile.am b/libmysqld/Makefile.am -index 7a2c92e..eee501e 100644 ---- a/libmysqld/Makefile.am -+++ b/libmysqld/Makefile.am -@@ -92,7 +92,7 @@ INC_LIB= $(top_builddir)/regex/libregex.la \ - @ndbcluster_libs@ @NDB_SCI_LIBS@ \ - @mysql_embedded_plugin_libs@ \ - $(libevent_inc_libs) \ -- $(yassl_inc_libs) -+ $(yassl_inc_libs) @LIBDL@ - - if HAVE_YASSL - yassl_inc_libs= $(top_builddir)/extra/yassl/src/libyassl.la \ diff --git a/meta-oe/recipes-support/mysql/mariadb/fix-mysqlclient-r-version.patch b/meta-oe/recipes-support/mysql/mariadb/fix-mysqlclient-r-version.patch new file mode 100644 index 0000000000..7516619ebb --- /dev/null +++ b/meta-oe/recipes-support/mysql/mariadb/fix-mysqlclient-r-version.patch @@ -0,0 +1,161 @@ +From 6db2a606196fb38a6d106dc409eee1cb9a40a440 Mon Sep 17 00:00:00 2001 +From: Tor Didriksen <tor.didriksen@oracle.com> +Date: Mon, 24 Jun 2013 17:15:35 +0200 +Subject: [PATCH] Bug#16809055 MYSQL 5.6 AND 5.7 STILL USE LIBMYSQLCLIENT.SO.18 + +With this patch, the libmysql/ directory contains: +libmysqlclient.a +libmysqlclient_r.a -> libmysqlclient.a +libmysqlclient_r.so -> libmysqlclient.so* +libmysqlclient_r.so.18 -> libmysqlclient.so.18* +libmysqlclient_r.so.18.1.0 -> libmysqlclient.so.18.1.0* +libmysqlclient.so -> libmysqlclient.so.18* +libmysqlclient.so.18 -> libmysqlclient.so.18.1.0* +libmysqlclient.so.18.1.0* + +This fixes libmysqlclient_r symlinks pointing to the unversioned +libmysqlclient.so symlink (leading to package QA errors since the +libmysqlclient-r package ends up depending on libmysqlclient-dev). + +Borrowed from MySQL 5.6 tree at https://github.com/percona/mysql/ + +Upstream-Status: Pending + +Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> + +--- + cmake/install_macros.cmake | 25 +++++++++++++++---------- + cmake/mysql_version.cmake | 3 ++- + libmysql/CMakeLists.txt | 36 ++++++++++++++++++++++++++++-------- + 3 files changed, 45 insertions(+), 19 deletions(-) + +diff --git a/cmake/install_macros.cmake b/cmake/install_macros.cmake +index b8efdf8..a0d0e68 100644 +--- a/cmake/install_macros.cmake ++++ b/cmake/install_macros.cmake +@@ -1,4 +1,4 @@ +-# Copyright (c) 2009, 2011, Oracle and/or its affiliates. All rights reserved. ++# Copyright (c) 2009, 2013, Oracle and/or its affiliates. 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 +@@ -111,28 +111,33 @@ FUNCTION(INSTALL_SCRIPT) + ENDFUNCTION() + + # Install symbolic link to CMake target. +-# the link is created in the same directory as target +-# and extension will be the same as for target file. +-MACRO(INSTALL_SYMLINK linkname target destination component) ++# We do 'cd path; ln -s target_name link_name' ++# We also add an INSTALL target for "${path}/${link_name}" ++MACRO(INSTALL_SYMLINK target target_name link_name destination component) + IF(UNIX) + GET_TARGET_PROPERTY(location ${target} LOCATION) + GET_FILENAME_COMPONENT(path ${location} PATH) +- GET_FILENAME_COMPONENT(name ${location} NAME) +- SET(output ${path}/${linkname}) ++ MESSAGE(STATUS "target ${target}") ++ MESSAGE(STATUS "link_name ${link_name}") ++ MESSAGE(STATUS "target_name ${target_name}") ++ MESSAGE(STATUS "path ${path}") ++ MESSAGE(STATUS "") ++ ++ SET(output ${path}/${link_name}) + ADD_CUSTOM_COMMAND( + OUTPUT ${output} + COMMAND ${CMAKE_COMMAND} ARGS -E remove -f ${output} + COMMAND ${CMAKE_COMMAND} ARGS -E create_symlink +- ${name} +- ${linkname} ++ ${target_name} ++ ${link_name} + WORKING_DIRECTORY ${path} + DEPENDS ${target} + ) + +- ADD_CUSTOM_TARGET(symlink_${linkname} ++ ADD_CUSTOM_TARGET(symlink_${link_name} + ALL + DEPENDS ${output}) +- SET_TARGET_PROPERTIES(symlink_${linkname} PROPERTIES CLEAN_DIRECT_OUTPUT 1) ++ SET_TARGET_PROPERTIES(symlink_${link_name} PROPERTIES CLEAN_DIRECT_OUTPUT 1) + IF(CMAKE_GENERATOR MATCHES "Xcode") + # For Xcode, replace project config with install config + STRING(REPLACE "${CMAKE_CFG_INTDIR}" +diff --git a/libmysql/CMakeLists.txt b/libmysql/CMakeLists.txt +index be5760f..96286ff 100644 +--- a/libmysql/CMakeLists.txt ++++ b/libmysql/CMakeLists.txt +@@ -180,6 +180,12 @@ IF(MSVC) + INSTALL_DEBUG_TARGET(mysqlclient DESTINATION ${INSTALL_LIBDIR}/debug) + ENDIF() + ++MACRO(GET_TARGET_NAME target out_name) ++ GET_TARGET_PROPERTY(location ${target} LOCATION) ++ GET_FILENAME_COMPONENT(name ${location} NAME) ++ SET(${out_name} ${name}) ++ENDMACRO() ++ + IF(UNIX) + MACRO(GET_VERSIONED_LIBNAME LIBNAME EXTENSION VERSION OUTNAME) + SET(DOT_VERSION ".${VERSION}") +@@ -192,7 +198,13 @@ IF(UNIX) + SET(${OUTNAME} ${LIBNAME}${EXTENSION}${DOT_VERSION}) + ENDIF() + ENDMACRO() +- INSTALL_SYMLINK(${CMAKE_STATIC_LIBRARY_PREFIX}mysqlclient_r.a mysqlclient ${INSTALL_LIBDIR} Development) ++ENDIF() ++ ++IF(UNIX) ++ GET_TARGET_NAME(mysqlclient lib_name) ++ INSTALL_SYMLINK(mysqlclient ++ ${lib_name} ${CMAKE_STATIC_LIBRARY_PREFIX}mysqlclient_r.a ++ ${INSTALL_LIBDIR} Development) + ENDIF() + + IF(NOT DISABLE_SHARED) +@@ -205,10 +217,9 @@ IF(NOT DISABLE_SHARED) + # libtool compatability + IF(CMAKE_SYSTEM_NAME MATCHES "FreeBSD" OR APPLE) + SET(OS_SHARED_LIB_VERSION "${SHARED_LIB_MAJOR_VERSION}") +- ELSEIF(CMAKE_SYSTEM_NAME MATCHES "HP-UX") +- SET(OS_SHARED_LIB_VERSION "${SHARED_LIB_MAJOR_VERSION}.0") + ELSE() +- SET(OS_SHARED_LIB_VERSION "${SHARED_LIB_MAJOR_VERSION}.0.0") ++ SET(OS_SHARED_LIB_VERSION ++ "${SHARED_LIB_MAJOR_VERSION}.${SHARED_LIB_MINOR_VERSION}.0") + ENDIF() + # Name of shared library is mysqlclient on Unix + SET_TARGET_PROPERTIES(libmysql PROPERTIES +@@ -239,8 +250,13 @@ IF(NOT DISABLE_SHARED) + "${CMAKE_SHARED_LIBRARY_SUFFIX}" + "" + linkname) +- INSTALL_SYMLINK(${linkname} libmysql ${INSTALL_LIBDIR} SharedLibraries) +- SET(OS_SHARED_LIB_SYMLINKS "${SHARED_LIB_MAJOR_VERSION}" "${OS_SHARED_LIB_VERSION}") ++ GET_TARGET_NAME(libmysql lib_name) ++ GET_FILENAME_COMPONENT(lib_name_we ${lib_name} NAME_WE) ++ INSTALL_SYMLINK(libmysql ++ ${lib_name} ${linkname} ++ ${INSTALL_LIBDIR} SharedLibraries) ++ SET(OS_SHARED_LIB_SYMLINKS ++ "${SHARED_LIB_MAJOR_VERSION}" "${OS_SHARED_LIB_VERSION}") + LIST(REMOVE_DUPLICATES OS_SHARED_LIB_SYMLINKS) + FOREACH(ver ${OS_SHARED_LIB_SYMLINKS}) + GET_VERSIONED_LIBNAME( +@@ -248,7 +264,11 @@ IF(NOT DISABLE_SHARED) + "${CMAKE_SHARED_LIBRARY_SUFFIX}" + "${ver}" + linkname) +- INSTALL_SYMLINK(${linkname} libmysql ${INSTALL_LIBDIR} SharedLibraries) ++ GET_VERSIONED_LIBNAME( ++ ${lib_name_we} "${CMAKE_SHARED_LIBRARY_SUFFIX}" "${ver}" lib_name_ver) ++ INSTALL_SYMLINK(libmysql ++ ${lib_name_ver} ${linkname} ++ ${INSTALL_LIBDIR} SharedLibraries) + ENDFOREACH() + ENDIF() + ENDIF() +-- +2.0.3 + diff --git a/meta-oe/recipes-support/mysql/mariadb/fix_host_path.patch b/meta-oe/recipes-support/mysql/mariadb/fix_host_path.patch deleted file mode 100644 index 4f69cd5198..0000000000 --- a/meta-oe/recipes-support/mysql/mariadb/fix_host_path.patch +++ /dev/null @@ -1,37 +0,0 @@ ---- mysql-4.1.22/configure.in.old 2008-09-18 20:11:15.000000000 -0500 -+++ mysql-4.1.22/configure.in 2008-09-18 20:12:28.000000000 -0500 -@@ -456,9 +456,9 @@ else - fi - fi - --AC_SUBST(HOSTNAME) --AC_SUBST(PERL) --AC_SUBST(PERL5) -+AC_SUBST(HOSTNAME,/bin/hostname) -+AC_SUBST(PERL,$(bindir)/perl) -+AC_SUBST(PERL5,$(bindir)/perl) - - # for build ndb docs - -@@ -516,16 +516,17 @@ AC_MSG_RESULT("$FIND_PROC") - - # Check if a pid is valid - AC_PATH_PROG(KILL, kill, kill) -+AC_SUBST(KILL,/bin/kill) - AC_MSG_CHECKING("for kill switches") --if $ac_cv_path_KILL -0 $$ -+if $KILL -0 $$ - then -- CHECK_PID="$ac_cv_path_KILL -0 \$\$PID > /dev/null 2> /dev/null" -+ CHECK_PID="$KILL -0 \$\$PID > /dev/null 2> /dev/null" - elif kill -s 0 $$ - then -- CHECK_PID="$ac_cv_path_KILL -s 0 \$\$PID > /dev/null 2> /dev/null" -+ CHECK_PID="$KILL -s 0 \$\$PID > /dev/null 2> /dev/null" - else - AC_MSG_WARN([kill -0 to check for pid seems to fail]) -- CHECK_PID="$ac_cv_path_KILL -s SIGCONT \$\$PID > /dev/null 2> /dev/null" -+ CHECK_PID="$KILL -s SIGCONT \$\$PID > /dev/null 2> /dev/null" - fi - AC_SUBST(CHECK_PID) - AC_MSG_RESULT("$CHECK_PID") diff --git a/meta-oe/recipes-support/mysql/mariadb/misc.m4.patch b/meta-oe/recipes-support/mysql/mariadb/misc.m4.patch deleted file mode 100644 index 7b0acff21c..0000000000 --- a/meta-oe/recipes-support/mysql/mariadb/misc.m4.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: mysql-5.1.40/config/ac-macros/misc.m4 -=================================================================== ---- mysql-5.1.40.orig/config/ac-macros/misc.m4 -+++ mysql-5.1.40/config/ac-macros/misc.m4 -@@ -476,7 +476,7 @@ AC_DEFUN([MYSQL_STACK_DIRECTION], - { - exit (find_stack_direction() < 0); - }], ac_cv_c_stack_direction=1, ac_cv_c_stack_direction=-1, -- ac_cv_c_stack_direction=)]) -+ ac_cv_c_stack_direction=0)]) - AC_DEFINE_UNQUOTED(STACK_DIRECTION, $ac_cv_c_stack_direction) - ])dnl - diff --git a/meta-oe/recipes-support/mysql/mariadb/my.cnf b/meta-oe/recipes-support/mysql/mariadb/my.cnf index d17438122d..876ce366a6 100644 --- a/meta-oe/recipes-support/mysql/mariadb/my.cnf +++ b/meta-oe/recipes-support/mysql/mariadb/my.cnf @@ -1,7 +1,7 @@ [client] #password = password port = 3306 -socket = /tmp/mysql.sock +socket = /var/lib/mysql/mysql.sock [mysqld_safe] err-log = /var/log/mysql.err @@ -9,7 +9,7 @@ err-log = /var/log/mysql.err [mysqld] user = mysql port = 3306 -socket = /tmp/mysql.sock +socket = /var/lib/mysql/mysql.sock pid-file = /var/lib/mysql/mysqld.pid log-error = /var/log/mysqld.err basedir = /usr @@ -17,5 +17,10 @@ datadir = /var/mysql skip-external-locking skip-networking ignore-builtin-innodb +default-storage-engine = myisam bind-address = localhost +# +# include all files from the config directory +# +!includedir /etc/my.cnf.d diff --git a/meta-oe/recipes-support/mysql/mariadb/mysqld.service b/meta-oe/recipes-support/mysql/mariadb/mysqld.service new file mode 100644 index 0000000000..18ad8d54d7 --- /dev/null +++ b/meta-oe/recipes-support/mysql/mariadb/mysqld.service @@ -0,0 +1,15 @@ +[Unit] +Description=MariaDB database server +After=syslog.target +After=network.target + +[Service] +Type=simple +User=mysql +Group=mysql +ExecStart=@BINDIR@/mysqld_safe --basedir=@PREFIX@ +TimeoutSec=300 +PrivateTmp=true + +[Install] +WantedBy=multi-user.target diff --git a/meta-oe/recipes-support/mysql/mariadb/mysqld.sh b/meta-oe/recipes-support/mysql/mariadb/mysqld.sh deleted file mode 100644 index 479ebdb257..0000000000 --- a/meta-oe/recipes-support/mysql/mariadb/mysqld.sh +++ /dev/null @@ -1,24 +0,0 @@ -# MySQL init script - -. /etc/default/rcS - -case "$1" in - start) - /usr/bin/mysqld_safe & - ;; - stop) - if test -f /var/lib/mysql/mysqld.pid ; then - PID=`cat /var/lib/mysql/mysqld.pid` - kill $PID - fi - ;; - restart) - $0 stop - $0 start - ;; - *) - echo "Usage: /etc/init.d/mysqld {start|stop|restart}" - ;; -esac - -exit 0 diff --git a/meta-oe/recipes-support/mysql/mariadb/plug.in.patch b/meta-oe/recipes-support/mysql/mariadb/plug.in.patch deleted file mode 100644 index 156fd10823..0000000000 --- a/meta-oe/recipes-support/mysql/mariadb/plug.in.patch +++ /dev/null @@ -1,405 +0,0 @@ -diff --git a/storage/innodb_plugin/plug.in b/storage/innodb_plugin/plug.in -index 7650251..3cc22c5 100644 ---- a/storage/innodb_plugin/plug.in -+++ b/storage/innodb_plugin/plug.in -@@ -56,180 +56,10 @@ MYSQL_PLUGIN_ACTIONS(innodb_plugin, [ - esac - AC_SUBST(INNODB_DYNAMIC_CFLAGS) - -- AC_MSG_CHECKING(whether GCC atomic builtins are available) -- # either define HAVE_IB_GCC_ATOMIC_BUILTINS or not -- AC_TRY_RUN( -- [ -- int main() -- { -- long x; -- long y; -- long res; -- char c; -- -- x = 10; -- y = 123; -- res = __sync_bool_compare_and_swap(&x, x, y); -- if (!res || x != y) { -- return(1); -- } -- -- x = 10; -- y = 123; -- res = __sync_bool_compare_and_swap(&x, x + 1, y); -- if (res || x != 10) { -- return(1); -- } -- -- x = 10; -- y = 123; -- res = __sync_add_and_fetch(&x, y); -- if (res != 123 + 10 || x != 123 + 10) { -- return(1); -- } -- -- c = 10; -- res = __sync_lock_test_and_set(&c, 123); -- if (res != 10 || c != 123) { -- return(1); -- } -- -- return(0); -- } -- ], -- [ -- AC_DEFINE([HAVE_IB_GCC_ATOMIC_BUILTINS], [1], -- [GCC atomic builtins are available]) -- AC_MSG_RESULT(yes) -- ], -- [ -- AC_MSG_RESULT(no) -- ] -- ) -- -- AC_MSG_CHECKING(whether pthread_t can be used by GCC atomic builtins) -- # either define HAVE_IB_ATOMIC_PTHREAD_T_GCC or not -- AC_TRY_RUN( -- [ -- #include <pthread.h> -- #include <string.h> -- -- int main(int argc, char** argv) { -- pthread_t x1; -- pthread_t x2; -- pthread_t x3; -- -- memset(&x1, 0x0, sizeof(x1)); -- memset(&x2, 0x0, sizeof(x2)); -- memset(&x3, 0x0, sizeof(x3)); -- -- __sync_bool_compare_and_swap(&x1, x2, x3); -- -- return(0); -- } -- ], -- [ -- AC_DEFINE([HAVE_IB_ATOMIC_PTHREAD_T_GCC], [1], -- [pthread_t can be used by GCC atomic builtins]) -- AC_MSG_RESULT(yes) -- ], -- [ -- AC_MSG_RESULT(no) -- ] -- ) -- -- AC_MSG_CHECKING(whether Solaris libc atomic functions are available) -- # Define HAVE_IB_SOLARIS_ATOMICS if _all_ of the following -- # functions are present. -- AC_CHECK_FUNCS(atomic_add_long_nv \ -- atomic_cas_32 \ -- atomic_cas_64 \ -- atomic_cas_ulong \ -- atomic_swap_uchar) -- -- if test "${ac_cv_func_atomic_add_long_nv}" = "yes" -a \ -- "${ac_cv_func_atomic_cas_32}" = "yes" -a \ -- "${ac_cv_func_atomic_cas_64}" = "yes" -a \ -- "${ac_cv_func_atomic_cas_ulong}" = "yes" -a \ -- "${ac_cv_func_atomic_swap_uchar}" = "yes" ; then -- -- AC_DEFINE([HAVE_IB_SOLARIS_ATOMICS], [1], -- [Define to 1 if Solaris libc atomic functions are available] -- ) -- fi -- -- AC_MSG_CHECKING(whether pthread_t can be used by Solaris libc atomic functions) -- # either define HAVE_IB_ATOMIC_PTHREAD_T_SOLARIS or not -- AC_TRY_RUN( -- [ -- #include <pthread.h> -- #include <string.h> -- -- int main(int argc, char** argv) { -- pthread_t x1; -- pthread_t x2; -- pthread_t x3; -- -- memset(&x1, 0x0, sizeof(x1)); -- memset(&x2, 0x0, sizeof(x2)); -- memset(&x3, 0x0, sizeof(x3)); -- -- if (sizeof(pthread_t) == 4) { -- -- atomic_cas_32(&x1, x2, x3); -- -- } else if (sizeof(pthread_t) == 8) { -- -- atomic_cas_64(&x1, x2, x3); -- -- } else { -- -- return(1); -- } -- -- return(0); -- } -- ], -- [ -- AC_DEFINE([HAVE_IB_ATOMIC_PTHREAD_T_SOLARIS], [1], -- [pthread_t can be used by solaris atomics]) -- AC_MSG_RESULT(yes) -- ], -- [ -- AC_MSG_RESULT(no) -- ] -- ) -- - # this is needed to know which one of atomic_cas_32() or atomic_cas_64() - # to use in the source - AC_CHECK_SIZEOF([pthread_t], [], [#include <pthread.h>]) - -- # Check for x86 PAUSE instruction -- AC_MSG_CHECKING(for x86 PAUSE instruction) -- # We have to actually try running the test program, because of a bug -- # in Solaris on x86_64, where it wrongly reports that PAUSE is not -- # supported when trying to run an application. See -- # http://bugs.opensolaris.org/bugdatabase/printableBug.do?bug_id=6478684 -- # We use ib_ prefix to avoid collisoins if this code is added to -- # mysql's configure.in. -- AC_TRY_RUN( -- [ -- int main() { -- __asm__ __volatile__ ("pause"); -- return(0); -- } -- ], -- [ -- AC_DEFINE([HAVE_IB_PAUSE_INSTRUCTION], [1], [Does x86 PAUSE instruction exist]) -- AC_MSG_RESULT(yes) -- ], -- [ -- AC_MSG_RESULT(no) -- ], -- [ -- AC_MSG_RESULT(no) -- ] -- ) - ]) - - # vim: set ft=config: -diff --git a/storage/xtradb/plug.in b/storage/xtradb/plug.in -index 3fadacc..a33f4dc 100644 ---- a/storage/xtradb/plug.in -+++ b/storage/xtradb/plug.in -@@ -56,215 +56,10 @@ MYSQL_PLUGIN_ACTIONS(xtradb, [ - esac - AC_SUBST(INNODB_DYNAMIC_CFLAGS) - -- AC_MSG_CHECKING(whether GCC atomic builtins are available) -- # either define HAVE_IB_GCC_ATOMIC_BUILTINS or not -- AC_TRY_RUN( -- [ -- int main() -- { -- long x; -- long y; -- long res; -- char c; -- -- x = 10; -- y = 123; -- res = __sync_bool_compare_and_swap(&x, x, y); -- if (!res || x != y) { -- return(1); -- } -- -- x = 10; -- y = 123; -- res = __sync_bool_compare_and_swap(&x, x + 1, y); -- if (res || x != 10) { -- return(1); -- } -- -- x = 10; -- y = 123; -- res = __sync_add_and_fetch(&x, y); -- if (res != 123 + 10 || x != 123 + 10) { -- return(1); -- } -- -- c = 10; -- res = __sync_lock_test_and_set(&c, 123); -- if (res != 10 || c != 123) { -- return(1); -- } -- return(0); -- } -- ], -- [ -- AC_DEFINE([HAVE_IB_GCC_ATOMIC_BUILTINS], [1], -- [GCC atomic builtins are available]) -- AC_MSG_RESULT(yes) -- ], -- [ -- AC_MSG_RESULT(no) -- ] -- ) -- -- AC_MSG_CHECKING(whether GCC 64-bit atomic builtins are available) -- # either define HAVE_IB_GCC_ATOMIC_BUILTINS_64 or not -- AC_TRY_RUN( -- [ -- #include <stdint.h> -- int main() -- { -- int64_t x, y, res; -- -- x = 10; -- y = 123; -- res = __sync_bool_compare_and_swap(&x, x, y); -- if (!res || x != y) { -- return(1); -- } -- -- x = 10; -- y = 123; -- res = __sync_add_and_fetch(&x, y); -- if (res != 123 + 10 || x != 123 + 10) { -- return(1); -- } -- -- return(0); -- } -- ], -- [ -- AC_DEFINE([HAVE_IB_GCC_ATOMIC_BUILTINS_64], [1], -- [GCC 64-bit atomic builtins are available]) -- AC_MSG_RESULT(yes) -- ], -- [ -- AC_MSG_RESULT(no) -- ] -- ) -- -- AC_MSG_CHECKING(whether pthread_t can be used by GCC atomic builtins) -- # either define HAVE_IB_ATOMIC_PTHREAD_T_GCC or not -- AC_TRY_RUN( -- [ -- #include <pthread.h> -- #include <string.h> -- -- int main(int argc, char** argv) { -- pthread_t x1; -- pthread_t x2; -- pthread_t x3; -- -- memset(&x1, 0x0, sizeof(x1)); -- memset(&x2, 0x0, sizeof(x2)); -- memset(&x3, 0x0, sizeof(x3)); -- -- __sync_bool_compare_and_swap(&x1, x2, x3); -- -- return(0); -- } -- ], -- [ -- AC_DEFINE([HAVE_IB_ATOMIC_PTHREAD_T_GCC], [1], -- [pthread_t can be used by GCC atomic builtins]) -- AC_MSG_RESULT(yes) -- ], -- [ -- AC_MSG_RESULT(no) -- ] -- ) -- -- AC_MSG_CHECKING(whether Solaris libc atomic functions are available) -- # Define HAVE_IB_SOLARIS_ATOMICS if _all_ of the following -- # functions are present. -- AC_CHECK_FUNCS(atomic_add_long_nv \ -- atomic_cas_32 \ -- atomic_cas_64 \ -- atomic_cas_ulong \ -- atomic_swap_uchar) -- -- if test "${ac_cv_func_atomic_add_long_nv}" = "yes" -a \ -- "${ac_cv_func_atomic_cas_32}" = "yes" -a \ -- "${ac_cv_func_atomic_cas_64}" = "yes" -a \ -- "${ac_cv_func_atomic_cas_ulong}" = "yes" -a \ -- "${ac_cv_func_atomic_swap_uchar}" = "yes" ; then -- -- AC_DEFINE([HAVE_IB_SOLARIS_ATOMICS], [1], -- [Define to 1 if Solaris libc atomic functions are available] -- ) -- fi -- -- AC_MSG_CHECKING(whether pthread_t can be used by Solaris libc atomic functions) -- # either define HAVE_IB_ATOMIC_PTHREAD_T_SOLARIS or not -- AC_TRY_RUN( -- [ -- #include <pthread.h> -- #include <string.h> -- -- int main(int argc, char** argv) { -- pthread_t x1; -- pthread_t x2; -- pthread_t x3; -- -- memset(&x1, 0x0, sizeof(x1)); -- memset(&x2, 0x0, sizeof(x2)); -- memset(&x3, 0x0, sizeof(x3)); -- -- if (sizeof(pthread_t) == 4) { -- -- atomic_cas_32(&x1, x2, x3); -- -- } else if (sizeof(pthread_t) == 8) { -- -- atomic_cas_64(&x1, x2, x3); -- -- } else { -- -- return(1); -- } -- -- return(0); -- } -- ], -- [ -- AC_DEFINE([HAVE_IB_ATOMIC_PTHREAD_T_SOLARIS], [1], -- [pthread_t can be used by solaris atomics]) -- AC_MSG_RESULT(yes) -- ], -- [ -- AC_MSG_RESULT(no) -- ] -- ) -- - # this is needed to know which one of atomic_cas_32() or atomic_cas_64() - # to use in the source - AC_CHECK_SIZEOF([pthread_t], [], [#include <pthread.h>]) - -- # Check for x86 PAUSE instruction -- AC_MSG_CHECKING(for x86 PAUSE instruction) -- # We have to actually try running the test program, because of a bug -- # in Solaris on x86_64, where it wrongly reports that PAUSE is not -- # supported when trying to run an application. See -- # http://bugs.opensolaris.org/bugdatabase/printableBug.do?bug_id=6478684 -- # We use ib_ prefix to avoid collisoins if this code is added to -- # mysql's configure.in. -- AC_TRY_RUN( -- [ -- int main() { -- __asm__ __volatile__ ("pause"); -- return(0); -- } -- ], -- [ -- AC_DEFINE([HAVE_IB_PAUSE_INSTRUCTION], [1], [Does x86 PAUSE instruction exist]) -- AC_MSG_RESULT(yes) -- ], -- [ -- AC_MSG_RESULT(no) -- ], -- [ -- AC_MSG_RESULT(no) -- ] -- ) - ]) - - # vim: set ft=config: diff --git a/meta-oe/recipes-support/mysql/mariadb/remove-bad-path.patch b/meta-oe/recipes-support/mysql/mariadb/remove-bad-path.patch new file mode 100644 index 0000000000..ff26b0b86c --- /dev/null +++ b/meta-oe/recipes-support/mysql/mariadb/remove-bad-path.patch @@ -0,0 +1,18 @@ +Remove host path from include directories + +Naturally this breaks cross-compilation if present. + +Upstream-Status: Pending + +Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> + +--- mariadb-5.5.38/storage/tokudb/ft-index/CMakeLists.txt 2014-07-17 14:37:04.529327998 +0100 ++++ mariadb-5.5.38/storage/tokudb/ft-index/CMakeLists.txt 2014-07-17 14:43:56.991337895 +0100 +@@ -39,7 +39,6 @@ + + ## default includes and libraries + include_directories(SYSTEM +- /usr/local/include + ${ZLIB_INCLUDE_DIRS} + ) + diff --git a/meta-oe/recipes-support/mysql/mariadb/storage-forbids-absolute-addresses-on-IA-32.patch b/meta-oe/recipes-support/mysql/mariadb/storage-forbids-absolute-addresses-on-IA-32.patch deleted file mode 100644 index 0530cd92ff..0000000000 --- a/meta-oe/recipes-support/mysql/mariadb/storage-forbids-absolute-addresses-on-IA-32.patch +++ /dev/null @@ -1,44 +0,0 @@ -storage: forbids absolute addresses on IA-32 - -The shared lib has relocations in .text -... -WARNING: QA Issue: ELF binary '/usr/lib/plugin/ha_xtradb.so.0.0.0' has relocations in .text -WARNING: QA Issue: ELF binary '/usr/lib/plugin/ha_innodb_plugin.so.0.0.0' has relocations in .text -... - -Upstream-Status: Pending - -Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> ---- - storage/innodb_plugin/plug.in | 2 +- - storage/xtradb/plug.in | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/storage/innodb_plugin/plug.in b/storage/innodb_plugin/plug.in ---- a/storage/innodb_plugin/plug.in -+++ b/storage/innodb_plugin/plug.in -@@ -50,7 +50,7 @@ MYSQL_PLUGIN_ACTIONS(innodb_plugin, [ - ;; - *86) - # Use absolute addresses on IA-32 -- INNODB_DYNAMIC_CFLAGS="$INNODB_DYNAMIC_CFLAGS -prefer-non-pic" -+ # INNODB_DYNAMIC_CFLAGS="$INNODB_DYNAMIC_CFLAGS -prefer-non-pic" - ;; - esac - AC_SUBST(INNODB_DYNAMIC_CFLAGS) -diff --git a/storage/xtradb/plug.in b/storage/xtradb/plug.in -index a33f4dc..4c186fd 100644 ---- a/storage/xtradb/plug.in -+++ b/storage/xtradb/plug.in -@@ -51,7 +51,7 @@ MYSQL_PLUGIN_ACTIONS(xtradb, [ - ;; - *86) - # Use absolute addresses on IA-32 -- INNODB_DYNAMIC_CFLAGS="$INNODB_DYNAMIC_CFLAGS -prefer-non-pic" -+ # INNODB_DYNAMIC_CFLAGS="$INNODB_DYNAMIC_CFLAGS -prefer-non-pic" - ;; - esac - AC_SUBST(INNODB_DYNAMIC_CFLAGS) --- -1.7.9.5 - diff --git a/meta-oe/recipes-support/mysql/mariadb/zlib-let-libdir-configurable.patch b/meta-oe/recipes-support/mysql/mariadb/zlib-let-libdir-configurable.patch deleted file mode 100644 index 880c2a717a..0000000000 --- a/meta-oe/recipes-support/mysql/mariadb/zlib-let-libdir-configurable.patch +++ /dev/null @@ -1,63 +0,0 @@ -zlib: let lib dir configurable - -The zlib were found in $mysql_zlib_dir/lib, and the -search will fail if zlib in $mysql_zlib_dir/lib64. - -Let lib dir configurable rather than hardcode. - -Upstream-Status: Pending -Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> ---- - config/ac-macros/zlib.m4 | 12 ++++++------ - configure.in | 8 ++++++++ - 2 files changed, 14 insertions(+), 6 deletions(-) - -diff --git a/config/ac-macros/zlib.m4 b/config/ac-macros/zlib.m4 ---- a/config/ac-macros/zlib.m4 -+++ b/config/ac-macros/zlib.m4 -@@ -106,17 +106,17 @@ case $SYSTEM_TYPE in - ;; - *) - # Test for libz using all known library file endings -- if test \( -f "$mysql_zlib_dir/lib/libz.a" -o \ -- -f "$mysql_zlib_dir/lib/libz.so" -o \ -- -f "$mysql_zlib_dir/lib/libz.sl" -o \ -- -f "$mysql_zlib_dir/lib/libz.dylib" \) \ -+ if test \( -f "$mysql_zlib_dir/$base_libdir/libz.a" -o \ -+ -f "$mysql_zlib_dir/$base_libdir/libz.so" -o \ -+ -f "$mysql_zlib_dir/$base_libdir/libz.sl" -o \ -+ -f "$mysql_zlib_dir/$base_libdir/libz.dylib" \) \ - -a -f "$mysql_zlib_dir/include/zlib.h"; then - ZLIB_INCLUDES="-I$mysql_zlib_dir/include" -- ZLIB_LIBS="-L$mysql_zlib_dir/lib -lz" -+ ZLIB_LIBS="-L$mysql_zlib_dir/$base_libdir -lz" - MYSQL_CHECK_ZLIB_DIR - fi - if test "x$mysql_cv_compress" != "xyes"; then -- AC_MSG_ERROR([headers or binaries were not found in $mysql_zlib_dir/{include,lib}]) -+ AC_MSG_ERROR([headers or binaries were not found in $mysql_zlib_dir/{include,$base_libdir}]) - fi - ;; - esac -diff --git a/configure.in b/configure.in -index 2c6c08e..193b59a 100644 ---- a/configure.in -+++ b/configure.in -@@ -104,6 +104,14 @@ AC_SUBST(SHARED_LIB_MAJOR_VERSION) - AC_SUBST(SHARED_LIB_VERSION) - AC_SUBST(AVAILABLE_LANGUAGES) - -+AC_ARG_WITH([baselib-dir], -+ AC_HELP_STRING([--baselib-dir=DIR], -+ [Provide MySQL with a custom location of -+ baselib dir. Given DIR, such as zlib binary is -+ assumed to be in $zlib-dir/$DIR.]), -+ [base_libdir=${withval}], -+ [base_libdir="lib"]) -+ - # Check whether a debug mode should be enabled. - AC_ARG_WITH([debug], - AS_HELP_STRING([--with-debug@<:@=full@:>@], --- -1.8.1.2 - diff --git a/meta-oe/recipes-support/mysql/mariadb_5.1.67.bb b/meta-oe/recipes-support/mysql/mariadb_5.5.41.bb index 6ad1fe68aa..8f998a3a56 100644 --- a/meta-oe/recipes-support/mysql/mariadb_5.1.67.bb +++ b/meta-oe/recipes-support/mysql/mariadb_5.5.41.bb @@ -1,6 +1,8 @@ -require ${PN}_${PV}.inc +require mariadb.inc -DEPENDS += "mariadb-native ncurses zlib" +EXTRA_OECMAKE += "-DSTACK_DIRECTION=-1" + +DEPENDS += "mariadb-native ncurses zlib readline libaio libevent" PROVIDES += "mysql5" @@ -23,4 +25,3 @@ RCONFLICTS_${PN}-client += "mysql5-client" RPROVIDES_${PN}-server += "mysql5-server" RREPLACES_${PN}-server += "mysql5-server" RCONFLICTS_${PN}-server += "mysql5-server" - diff --git a/meta-oe/recipes-support/nonworking/fftw/benchfft_3.1.bb b/meta-oe/recipes-support/nonworking/fftw/benchfft_3.1.bb index 5da4561680..feb3c3c25d 100644 --- a/meta-oe/recipes-support/nonworking/fftw/benchfft_3.1.bb +++ b/meta-oe/recipes-support/nonworking/fftw/benchfft_3.1.bb @@ -3,7 +3,7 @@ SECTION = "libs" LICENSE = "GPLv2" # single precision fftw is called fftwf -DEPENDS = "fftwf" +DEPENDS = "virtual/fftw" SRC_URI = "http://www.fftw.org/benchfft/benchfft-${PV}.tar.gz" diff --git a/meta-oe/recipes-support/nonworking/syslog-ng/files/initscript b/meta-oe/recipes-support/nonworking/syslog-ng/files/initscript deleted file mode 100644 index b95e8adc20..0000000000 --- a/meta-oe/recipes-support/nonworking/syslog-ng/files/initscript +++ /dev/null @@ -1,45 +0,0 @@ -#! /bin/sh -# -# This is an init script for openembedded -# Copy it to /etc/init.d/syslog-ng and type -# > update-rc.d syslog-ng defaults 5 -# - - -syslog_ng=/usr/sbin/syslog-ng -test -x "$syslog_ng" || exit 0 - -case "$1" in - start) - echo -n "Starting syslog-ng:" - start-stop-daemon --start --quiet --exec $syslog_ng - echo "." - ;; - stop) - echo -n "Stopping syslog-ng:" - start-stop-daemon --stop --quiet --pidfile /var/run/syslog-ng.pid - echo "." - ;; - reload|force-reload) - start-stop-daemon --stop --quiet --signal 1 --exec $syslog_ng - ;; - restart) - echo "Stopping syslog-ng:" - start-stop-daemon --stop --quiet --pidfile /var/run/syslog-ng.pid - echo -n "Waiting for syslog-ng to die off" - for i in 1 2 3 ; - do - sleep 1 - echo -n "." - done - echo "" - echo -n "Starting syslog-ng:" - start-stop-daemon --start --quiet --exec $syslog_ng - echo "." - ;; - *) - echo "Usage: /etc/init.d/syslog-ng {start|stop|reload|restart|force-reload}" - exit 1 -esac - -exit 0 diff --git a/meta-oe/recipes-support/nonworking/syslog-ng/syslog-ng.inc b/meta-oe/recipes-support/nonworking/syslog-ng/syslog-ng.inc deleted file mode 100644 index 84846587b0..0000000000 --- a/meta-oe/recipes-support/nonworking/syslog-ng/syslog-ng.inc +++ /dev/null @@ -1,98 +0,0 @@ -DESCRIPTION = "Alternative system logger daemon" -DEPENDS = "libol flex eventlog glib-2.0" -LICENSE = "GPL LGPL" -LIC_FILES_CHKSUM = "file://COPYING;md5=7ec1bcc46f28b11f4722e20d9b7dd4d5" - -# syslog initscript is handled explicitly because order of -# update-rc.d and update-alternatives is important -RDEPENDS_${PN} += " ${@base_conditional("ONLINE_PACKAGE_MANAGEMENT", "none", "", "update-rc.d", d)}" - -INC_PR = "r12" - -inherit autotools systemd - -SRC_URI = "http://www.balabit.com/downloads/files/syslog-ng/sources/${PV}/source/${PN}_${PV}.tar.gz" - -noipv6 = "${@base_contains('DISTRO_FEATURES', 'ipv6', '', '--disable-ipv6', d)}" - -EXTRA_OECONF = " \ - --with-libnet=${STAGING_BINDIR_CROSS} \ - --enable-dynamic-linking \ - ${noipv6} \ - --enable-ssl \ - --disable-sub-streams \ - --disable-pacct \ - --disable-linux-caps \ - --disable-pcre \ - --disable-sql \ -" - -EXTRA_OECONF += "${@base_contains('DISTRO_FEATURES', 'systemd', '--with-systemdsystemunitdir=${systemd_unitdir}/system/', '--without-systemdsystemunitdir', d)}" -EXTRA_OECONF += "${@base_contains('DISTRO_FEATURES', 'systemd', '--enable-systemd', '--disable-systemd', d)}" - -do_configure_prepend() { - eval "${@base_contains('DISTRO_FEATURES', 'largefile', '', 'sed -i -e "s/-D_LARGEFILE_SOURCE//" -e "s/-D_FILE_OFFSET_BITS=64//" ${S}/configure.in', d)}" -} - -# rename modules.conf because it breaks update-modules -# see http://lists.linuxtogo.org/pipermail/openembedded-devel/2011-October/035537.html -do_install_append() { - mv ${D}/${sysconfdir}/modules.conf ${D}/${sysconfdir}/scl-modules.conf - sed -i "s#@include 'modules.conf'#@include 'scl-modules.conf'#g" ${D}/${sysconfdir}/scl.conf - install -d ${D}/${sysconfdir}/${PN} - install ${WORKDIR}/syslog-ng.conf ${D}${sysconfdir}/${PN}.conf - install -d ${D}/${sysconfdir}/init.d - install -m 755 ${WORKDIR}/initscript ${D}/${sysconfdir}/init.d/syslog.${PN} -} - -FILES_${PN} = "${bindir}/* ${sbindir}/* ${libexecdir}/* ${libdir}/lib*${SOLIBS} \ - ${sysconfdir} ${sharedstatedir} ${localstatedir} \ - ${base_bindir}/* ${base_sbindir}/* \ - ${base_libdir}/*${SOLIBS} \ - ${datadir}/${BPN} ${libdir}/${BPN}/*${SOLIBS} \ - ${datadir}/include/scl/ ${datadir}/xsd" -FILES_${PN}-dev += "${libdir}/${BPN}/lib*.la ${libdir}/${BPN}/*${SOLIBSDEV}" -CONFFILES_${PN} = "${sysconfdir}/${PN}.conf ${sysconfdir}/scl.conf ${sysconfdir}/scl-modules.conf" - -RPROVIDES_${PN} += "${PN}-systemd" -RREPLACES_${PN} += "${PN}-systemd" -RCONFLICTS_${PN} += "${PN}-systemd" -SYSTEMD_SERVICE_${PN} = "${PN}.service" - -pkg_postinst_${PN} () { - /etc/init.d/syslog stop - update-alternatives --install ${sysconfdir}/init.d/syslog syslog-init syslog.${PN} 200 - - if test "x$D" != "x"; then - OPT="-r $D" - else - OPT="-s" - fi - # remove all rc.d-links potentially created from alternative - # syslog packages before creating new ones - update-rc.d $OPT -f syslog remove - update-rc.d $OPT syslog start 20 2 3 4 5 . stop 90 0 1 6 . -} - -pkg_prerm_${PN} () { - if test "x$D" = "x"; then - if test "$1" = "upgrade" -o "$1" = "remove"; then - /etc/init.d/syslog stop - fi - fi - - update-alternatives --remove syslog-init syslog.${PN} -} - -pkg_postrm_${PN} () { - if test "x$D" != "x"; then - OPT="-r $D" - else - OPT="" - fi - if test "$1" = "remove" -o "$1" = "purge"; then - if ! test -e "/etc/init.d/syslog"; then - update-rc.d $OPT syslog remove - fi - fi -} diff --git a/meta-oe/recipes-support/nonworking/syslog-ng/syslog-ng_3.2.5.bb b/meta-oe/recipes-support/nonworking/syslog-ng/syslog-ng_3.2.5.bb deleted file mode 100644 index 6d1fee7ae2..0000000000 --- a/meta-oe/recipes-support/nonworking/syslog-ng/syslog-ng_3.2.5.bb +++ /dev/null @@ -1,10 +0,0 @@ -require syslog-ng.inc -PR = "${INC_PR}.1" - -SRC_URI += " \ - file://syslog-ng.conf \ - file://initscript \ -" - -SRC_URI[md5sum] = "60737452ce898f9dc7170dfdc9bfd732" -SRC_URI[sha256sum] = "ffc9f3a0ebea836c1c737b1ff49efe731d885af1d8aacf9eca79d9144eeefa89" diff --git a/meta-oe/recipes-support/numactl/numactl/Fix-the-test-output-format.patch b/meta-oe/recipes-support/numactl/numactl/Fix-the-test-output-format.patch new file mode 100644 index 0000000000..8c309a4b5c --- /dev/null +++ b/meta-oe/recipes-support/numactl/numactl/Fix-the-test-output-format.patch @@ -0,0 +1,59 @@ +[PATCH] Fix the test output format + +Upstream-Status: Pending + +Signed-off-by: Roy Li <rongqing.li@windriver.com> +--- + test/regress | 6 +++--- + test/regress2 | 9 ++++----- + 2 files changed, 7 insertions(+), 8 deletions(-) + +diff --git a/test/regress b/test/regress +index 05eff5b..10d72f7 100755 +--- a/test/regress ++++ b/test/regress +@@ -73,6 +73,7 @@ probe_hardware() + if [ $numnodes -lt 2 ] ; then + echo "need at least two nodes with at least $NEEDPAGES each of" + echo "free memory for mempolicy regression tests" ++ echo "FAIL: numa regress" + exit 1 + fi + } +@@ -206,10 +207,9 @@ main() + rm A B + + if [ "$EXIT" = 0 ] ; then +- echo '========SUCCESS' ++ echo 'PASS: numactl regress' + else +- echo '========FAILURE' +- exit 1 ++ echo 'FAIL: numactl regress' + fi + } + +diff --git a/test/regress2 b/test/regress2 +index 6a254fa..9c97943 100755 +--- a/test/regress2 ++++ b/test/regress2 +@@ -6,12 +6,11 @@ VALGRIND=${VALGRIND:-} + export LD_LIBRARY_PATH=`pwd`/.. + + T() { +- echo "$@" +- if ! $VALGRIND "$@" ; then +- echo $1 FAILED!!!! +- exit 1 ++ if ! $VALGRIND "$@" 2>&1 1>/dev/null; then ++ echo "FAIL: $1" ++ else ++ echo "PASS: $1" + fi +- echo + } + + # various tests +-- +1.7.10.4 + diff --git a/meta-oe/recipes-support/numactl/numactl/Makefile b/meta-oe/recipes-support/numactl/numactl/Makefile new file mode 100644 index 0000000000..9a5134c3f2 --- /dev/null +++ b/meta-oe/recipes-support/numactl/numactl/Makefile @@ -0,0 +1,7 @@ +.PHONY: regress1 regress2 + +regress1: + cd test ; ./regress + +regress2: + cd test ; ./regress2 diff --git a/meta-oe/recipes-support/numactl/numactl/fix-null-pointer.patch b/meta-oe/recipes-support/numactl/numactl/fix-null-pointer.patch new file mode 100644 index 0000000000..53952aef95 --- /dev/null +++ b/meta-oe/recipes-support/numactl/numactl/fix-null-pointer.patch @@ -0,0 +1,28 @@ +[PATCH] return 0 if distance_table is NULL + +Upstream-Status: Pending + +read_distance_table() maybe return 0, but distance_table is not set, +if distance_table is used, and will lead to SEGFAULT + +Signed-off-by: Roy Li <rongqing.li@windriver.com> +--- + distance.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/distance.c b/distance.c +index 4a26972..c6ca021 100755 +--- a/distance.c ++++ b/distance.c +@@ -113,6 +113,8 @@ int numa_distance(int a, int b) + int err = read_distance_table(); + if (err < 0) + return 0; ++ if (!distance_table) ++ return 0; + } + return distance_table[a * distance_numnodes + b]; + } +-- +1.7.10.4 + diff --git a/meta-oe/recipes-support/numactl/numactl/run-ptest b/meta-oe/recipes-support/numactl/numactl/run-ptest new file mode 100755 index 0000000000..215f7c25b9 --- /dev/null +++ b/meta-oe/recipes-support/numactl/numactl/run-ptest @@ -0,0 +1,9 @@ +#!/bin/sh +make regress1 +make regress2 +if numademo -t -e 10M; then + echo "PASS: numademo" +else + echo "FAIL: numademo" +fi + diff --git a/meta-oe/recipes-support/numactl/numactl_2.0.9.bb b/meta-oe/recipes-support/numactl/numactl_2.0.9.bb new file mode 100644 index 0000000000..651277dab4 --- /dev/null +++ b/meta-oe/recipes-support/numactl/numactl_2.0.9.bb @@ -0,0 +1,44 @@ +SUMMARY = "Development package for building Applications that use numa" +DESCRIPTION = "Simple NUMA policy support. It consists of a numactl program \ +to run other programs with a specific NUMA policy and a libnuma to do \ +allocations with NUMA policy in applications." +LICENSE = "GPL-2.0 & LGPL-2.1" +SECTION = "apps" +RDEPENDS_${PN} = "perl" + +inherit autotools-brokensep ptest + +LIC_FILES_CHKSUM = "file://README;beginline=19;endline=32;md5=5644cc3851cb2499f6c48e52fe198bd9" +SRC_URI[md5sum] = "136685c8eaf9d6569c351fe1d453b30c" +SRC_URI[sha256sum] = "9ca033e6c14c0f26c20379b0cf9299429fd5a354a79c3c7880fd41ef69f7751c" + +SRC_URI = "ftp://oss.sgi.com/www/projects/libnuma/download/${BPN}-${PV}.tar.gz \ + file://fix-null-pointer.patch \ + file://Fix-the-test-output-format.patch \ + file://Makefile \ + file://run-ptest \ + " + +# ARM does not currently support NUMA +COMPATIBLE_HOST = "^((?!arm).*)$" + +do_install() { + oe_runmake DESTDIR=${D} prefix=${D}/usr libdir=${D}/${libdir} install + #remove the empty man2 directory + rm -r ${D}${mandir}/man2 +} + +do_install_ptest() { + #install tests binaries + local test_binaries="checkaffinity checktopology distance \ + ftok mbind_mig_pages migrate_pages move_pages mynode \ + nodemap pagesize prefered printcpu randmap realloc_test \ + regress regress2 runltp shmtest tbitmap tshared bind_range" + + [ ! -d ${D}/${PTEST_PATH}/test ] && mkdir -p ${D}/${PTEST_PATH}/test + for i in $test_binaries; do + install -m 0755 ${B}/test/$i ${D}${PTEST_PATH}/test + done + install -m 0755 ${WORKDIR}/Makefile ${D}${PTEST_PATH}/ + install -m 0755 ${B}/numactl ${D}${PTEST_PATH}/ +} diff --git a/meta-oe/recipes-support/ode/ode/configure.patch b/meta-oe/recipes-support/ode/ode/configure.patch new file mode 100644 index 0000000000..246b2e2c27 --- /dev/null +++ b/meta-oe/recipes-support/ode/ode/configure.patch @@ -0,0 +1,13 @@ +Index: ode-0.13/libccd/configure.ac +=================================================================== +--- ode-0.13.orig/libccd/configure.ac 2013-08-19 17:48:03.000000000 +0000 ++++ ode-0.13/libccd/configure.ac 2014-07-17 22:04:16.580595690 +0000 +@@ -5,7 +5,7 @@ + AC_INIT([libccd], [1.0], [danfis@danfis.cz]) + AC_CONFIG_SRCDIR([src/ccd.c]) + AC_CONFIG_HEADERS([src/config.h]) +-AM_INIT_AUTOMAKE ++AM_INIT_AUTOMAKE([foreign]) + + # Checks for programs. + AC_PROG_CXX diff --git a/meta-oe/recipes-support/ode/ode_0.13.bb b/meta-oe/recipes-support/ode/ode_0.13.bb index 8e9eb153c2..2dc82a8e1b 100644 --- a/meta-oe/recipes-support/ode/ode_0.13.bb +++ b/meta-oe/recipes-support/ode/ode_0.13.bb @@ -11,7 +11,8 @@ LIC_FILES_CHKSUM = " \ # file://LICENSE-BSD.TXT;md5=c74e6304a772117e059458fb9763a928 -SRC_URI = "${SOURCEFORGE_MIRROR}/opende/ode-${PV}.tar.bz2" +SRC_URI = "${SOURCEFORGE_MIRROR}/opende/ode-${PV}.tar.bz2 \ + file://configure.patch" SRC_URI[md5sum] = "04b32c9645c147e18caff7a597a19f84" SRC_URI[sha256sum] = "34ce3e236e313bf109a0cb5546d2fca462aed99f29a42e62bc1463b803c31ef9" diff --git a/meta-oe/recipes-support/onig/files/configure.patch b/meta-oe/recipes-support/onig/files/configure.patch new file mode 100644 index 0000000000..5fa700f190 --- /dev/null +++ b/meta-oe/recipes-support/onig/files/configure.patch @@ -0,0 +1,13 @@ +Index: onig-5.9.3/configure.in +=================================================================== +--- onig-5.9.3.orig/configure.in 2012-10-26 07:06:14.000000000 +0000 ++++ onig-5.9.3/configure.in 2014-07-18 08:02:52.701574484 +0000 +@@ -3,7 +3,7 @@ + + AC_CONFIG_MACRO_DIR([m4]) + +-AM_INIT_AUTOMAKE ++AM_INIT_AUTOMAKE([foreign]) + AC_CONFIG_HEADER(config.h) + + diff --git a/meta-oe/recipes-support/onig/onig_5.9.3.bb b/meta-oe/recipes-support/onig/onig_5.9.3.bb index f67ceede67..22db78afe7 100644 --- a/meta-oe/recipes-support/onig/onig_5.9.3.bb +++ b/meta-oe/recipes-support/onig/onig_5.9.3.bb @@ -6,7 +6,8 @@ LICENSE = "BSD" LIC_FILES_CHKSUM = "file://COPYING;md5=0d4861b5bc0c392a5aa90d9d76ebd86f" SRC_URI = "http://www.geocities.jp/kosako3/oniguruma/archive/onig-${PV}.tar.gz \ - file://do-not-use-system-headers.patch" + file://do-not-use-system-headers.patch \ + file://configure.patch" SRC_URI[md5sum] = "0d4eda2066d3c92970842a6790ce897a" SRC_URI[sha256sum] = "c3bba66b2a84760e6582c40881db97c839d94f327870009724bb8b4d0c051f2a" diff --git a/meta-oe/recipes-support/openct/openct/etc-openct.udev.in-disablePROGRAM.patch b/meta-oe/recipes-support/openct/openct/etc-openct.udev.in-disablePROGRAM.patch new file mode 100644 index 0000000000..745f923af1 --- /dev/null +++ b/meta-oe/recipes-support/openct/openct/etc-openct.udev.in-disablePROGRAM.patch @@ -0,0 +1,31 @@ +From e0d3e0bb1e38ff851696a7d8826e651d364ad8ce Mon Sep 17 00:00:00 2001 +From: Li xin <lixin.fnst@cn.fujitsu.com> +Date: Fri, 5 Dec 2014 02:00:57 +0900 +Subject: [PATCH 1/2] etc/openct.udev.in: disablePROGRAM + +Bug fix: https://bugzilla.redhat.com/show_bug.cgi?id=287871 + +Upstream-status: Pending + +Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com> +--- + etc/openct.udev.in | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/etc/openct.udev.in b/etc/openct.udev.in +index d11d0e1..48083c9 100644 +--- a/etc/openct.udev.in ++++ b/etc/openct.udev.in +@@ -22,7 +22,8 @@ ACTION!="add", GOTO="openct_usb_rules_end" + # 2010-01-06 removed, as latest udev doesn't know WAIT_FOR_ATTR any more. + + # sleep for 100ms - the wait_for_sysfs might not be enough +-PROGRAM="/bin/sleep 0.1" ++# Disabled in this package - see https://bugzilla.redhat.com/287871 ++# PROGRAM="/bin/sleep 0.1" + + # ccid + ATTR{bInterfaceClass}=="0b", ATTR{bInterfaceSubClass}=="00", ATTR{bInterfaceProtocol}=="00", ATTRS{idVendor}=="?*" RUN+="@udevdir@/openct_usb /dev/$parent" +-- +1.8.4.2 + diff --git a/meta-oe/recipes-support/openct/openct/etc-openct_usb.in-modify-UDEVINFO.patch b/meta-oe/recipes-support/openct/openct/etc-openct_usb.in-modify-UDEVINFO.patch new file mode 100644 index 0000000000..d5e3fe5753 --- /dev/null +++ b/meta-oe/recipes-support/openct/openct/etc-openct_usb.in-modify-UDEVINFO.patch @@ -0,0 +1,35 @@ +From d93985a137b553b2723235d03bda341dab14064f Mon Sep 17 00:00:00 2001 +From: Li xin <lixin.fnst@cn.fujitsu.com> +Date: Fri, 5 Dec 2014 02:04:03 +0900 +Subject: [PATCH 2/2] etc/openct_usb.in: modify UDEVINFO + +this patch is from Fedora + +Upstream-status: Pending + +Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com> +--- + etc/openct_usb.in | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/etc/openct_usb.in b/etc/openct_usb.in +index 32f91aa..917467d 100644 +--- a/etc/openct_usb.in ++++ b/etc/openct_usb.in +@@ -15,10 +15,10 @@ if [ -z "$DEVNAME" ]; then + # Guess udev info interface. + # Newer udev uses udevadm + # +- if which udevinfo > /dev/null 2>&1; then +- UDEVINFO="udevinfo" +- else ++ if which udevadm > /dev/null 2>&1; then + UDEVINFO="udevadm info" ++ else ++ UDEVINFO="udevinfo" + fi + DEVNAME=/dev/$($UDEVINFO --query=name --path=$(dirname $DEVPATH)) + fi +-- +1.8.4.2 + diff --git a/meta-oe/recipes-support/openct/openct/openct.init b/meta-oe/recipes-support/openct/openct/openct.init new file mode 100644 index 0000000000..c6896095e3 --- /dev/null +++ b/meta-oe/recipes-support/openct/openct/openct.init @@ -0,0 +1,89 @@ +#!/bin/sh +# +# openct This shell script takes care of starting and stopping OpenCT. +# +# chkconfig: 2345 24 89 +# description: OpenCT is a middleware framework for smart card terminals. +# +# processname: ifdhandler +# config: /etc/openct.conf + +### BEGIN INIT INFO +# Provides: openct +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Should-Start: $syslog $network +# Should-Stop: $syslog $network +# Short-Description: Middleware framework for smart card terminals +# Description: This starts/stops the OpenCT middleware framework support +# for smart card terminals. +### END INIT INFO + +. /etc/init.d/functions + +exec="/usr/sbin/openct-control" +prog=openct +proc=ifdhandler + +OPENCT_OPTIONS= +[ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog + +lockfile=/var/lock/subsys/$prog + +start() { + retval=0 + if ! status $proc >/dev/null 2>&1 ; then + action $"Initializing OpenCT smart card terminals: " \ + $exec $OPENCT_OPTIONS init + retval=$? + [ $retval -eq 0 ] && touch $lockfile + fi + return $retval +} + +stop() { + if status $proc >/dev/null 2>&1 ; then + action $"Stopping OpenCT smart card terminals: " \ + $exec $OPENCT_OPTIONS shutdown + fi + retval=$? + if [ $retval -eq 0 ] ; then + rm -f /var/run/openct/status + rm -f $lockfile + fi + return $retval +} + +restart() { + stop + start +} + +oct_status() { + status $proc + retval=$? + if [ -e /var/run/openct/status ] ; then + $exec $OPENCT_OPTIONS status + [ -e /var/run/openct/status ] && \ + echo $"Waiting for reader attach/detach events..." + fi + return $retval +} + +case "$1" in + start|stop|restart) + $1 + ;; + reload|force-reload) + restart + ;; + status) + oct_status + ;; + try-restart|condrestart) + [ ! -f $lockfile ] || restart + ;; + *) + echo $"Usage: $0 {start|stop|status|restart|try-restart|reload|force-reload}" + exit 2 +esac diff --git a/meta-oe/recipes-support/openct/openct/openct.service b/meta-oe/recipes-support/openct/openct/openct.service new file mode 100644 index 0000000000..c9ec497fa5 --- /dev/null +++ b/meta-oe/recipes-support/openct/openct/openct.service @@ -0,0 +1,13 @@ +[Unit] +Description=Openct Middleware framework for smart card terminals +After=syslog.target network.target + +[Service] +EnvironmentFile=-/etc/sysconfig/openct +ExecStart=/usr/sbin/openct-control $OPENCT_OPTIONS init +ExecStop=/usr/sbin/openct-control $OPENCT_OPTIONS shutdown +RemainAfterExit=yes +KillMode=none + +[Install] +WantedBy=multi-user.target diff --git a/meta-oe/recipes-support/openct/openct/openct.sysconfig b/meta-oe/recipes-support/openct/openct/openct.sysconfig new file mode 100644 index 0000000000..ffc270790f --- /dev/null +++ b/meta-oe/recipes-support/openct/openct/openct.sysconfig @@ -0,0 +1,5 @@ +# -*- sh -*- +# Extra options to pass to openct-control. +# Consult "/usr/sbin/openct-control -h" for available options. +# +OPENCT_OPTIONS="" diff --git a/meta-oe/recipes-support/openct/openct_0.6.20.bb b/meta-oe/recipes-support/openct/openct_0.6.20.bb new file mode 100644 index 0000000000..70c73fd6e6 --- /dev/null +++ b/meta-oe/recipes-support/openct/openct_0.6.20.bb @@ -0,0 +1,92 @@ +Summanry = "Middleware framework for smart card terminals" +DESCRIPTION = " \ +OpenCT implements drivers for several smart card readers. \ +It comes as driver in ifdhandler format for PC/SC-Lite, \ +as CT-API driver, or as a small and lean middleware, \ +so applications can use it with minimal overhead. \ +OpenCT also has a primitive mechanism to export smart card \ +readers to remote machines via TCP/IP." + +DEPENDS += "libtool pcsc-lite libusb-compat" + +SRC_URI = " \ + ${DEBIAN_MIRROR}/main/o/${PN}/${PN}_${PV}.orig.tar.gz \ + file://etc-openct.udev.in-disablePROGRAM.patch \ + file://etc-openct_usb.in-modify-UDEVINFO.patch \ + file://openct.init \ + file://openct.sysconfig \ + file://openct.service \ +" + +SRC_URI[md5sum] = "a1da3358ab798f1cb9232f1dbababc21" +SRC_URI[sha256sum] = "6cd3e2933d29eb1f875c838ee58b8071fd61f0ec8ed5922a86c01c805d181a68" + +LICENSE = "LGPLv2+" +LIC_FILES_CHKSUM = "file://LGPL-2.1;md5=2d5025d4aa3495befef8f17206a5b0a1" + +inherit ${@base_contains('VIRTUAL-RUNTIME_init_manager','systemd','systemd','', d)} +SYSTEMD_SERVICE_${PN} += "openct.service " +SYSTEMD_AUTO_ENABLE = "enable" + +EXTRA_OECONF=" \ + --disable-static \ + --enable-usb \ + --enable-pcsc \ + --enable-doc \ + --enable-api-doc \ + --with-udev=/lib/udev \ + --with-bundle=${libdir}/pcsc/drivers \ +" + +inherit autotools pkgconfig + +FILES_${PN} += " \ + ${libdir}/ctapi \ + /lib/udev \ + ${libdir}/openct-ifd.so \ + ${libdir}/pcsc \ + /run/openct/status \ +" + +FILES_${PN}-dbg += " \ + ${libdir}/ctapi/.debug \ + ${libdir}/pcsc/drivers/openct-ifd.bundle/Contents/Linux/.debug \ +" + +INSANE_SKIP_${PN} += "dev-deps" + + +do_install () { + rm -rf ${D} + install -d ${D}/etc + install -dm 755 ${D}/lib/udev + # fix up hardcoded paths + sed -i -e 's,/etc/,${sysconfdir}/,' -e 's,/usr/sbin/,${sbindir}/,' \ + ${WORKDIR}/openct.service ${WORKDIR}/openct.init + + oe_runmake install DESTDIR=${D} + install -dm 755 ${D}${libdir}/ctapi/ + mv ${D}${libdir}/libopenctapi.so ${D}${libdir}/ctapi/ + install -Dpm 644 etc/openct.udev ${D}/etc/udev/rules.d/60-openct.rules + install -pm 644 etc/openct.conf ${D}/etc/openct.conf + + install -Dpm 755 ${WORKDIR}/openct.init ${D}/etc/init.d/openct + install -Dpm 644 ${WORKDIR}/openct.sysconfig ${D}/etc/sysconfig/openct + + if ${@base_contains('DISTRO_FEATURES','systemd','true','false',d)}; then + install -d ${D}/${systemd_unitdir}/system + install -m 644 ${WORKDIR}/openct.service ${D}/${systemd_unitdir}/system + fi + + so=$(find ${D} -name \*.so | sed "s|^${D}||") + sed -i -e 's|\\(LIBPATH\\s*\\).*|\\1$so|' etc/reader.conf + install -Dpm 644 etc/reader.conf ${D}/etc/reader.conf.d/openct.conf + + install -dm 755 ${D}${localstatedir}/run/openct + touch ${D}${localstatedir}/run/openct/status + chmod 644 ${D}${localstatedir}/run/openct/status +} + +pkg_postinst_${PN} () { + ln -sf ctapi/libopenctapi.so ${libdir}/libopenctapi.so +} diff --git a/meta-oe/recipes-support/opencv/opencv_2.4.bb b/meta-oe/recipes-support/opencv/opencv_2.4.bb index df512f6f6d..63d7c8b25b 100644 --- a/meta-oe/recipes-support/opencv/opencv_2.4.bb +++ b/meta-oe/recipes-support/opencv/opencv_2.4.bb @@ -9,12 +9,12 @@ ARM_INSTRUCTION_SET = "arm" DEPENDS = "python-numpy libtool swig swig-native python bzip2 zlib glib-2.0" -SRCREV = "a4b34e7ae10351fc4d30dc55995679340efc488e" +SRCREV = "df8e28283f09825cca0c2902160b7abebcfe1b64" SRC_URI = "git://github.com/Itseez/opencv.git;branch=2.4 \ file://opencv-fix-pkgconfig-generation.patch \ " -PV = "2.4.8+git${SRCPV}" +PV = "2.4.9+git${SRCPV}" S = "${WORKDIR}/git" @@ -31,7 +31,8 @@ EXTRA_OECMAKE = "-DPYTHON_NUMPY_INCLUDE_DIR:PATH=${STAGING_LIBDIR}/${PYTHON_DIR} ${@base_conditional("libdir", "/usr/lib32", "-DLIB_SUFFIX=32", "", d)} \ " -PACKAGECONFIG ??= "eigen gtk jpeg libav png tiff v4l" +PACKAGECONFIG ??= "eigen jpeg libav png tiff v4l \ + ${@bb.utils.contains("DISTRO_FEATURES", "x11", "gtk", "", d)}" PACKAGECONFIG[eigen] = "-DWITH_EIGEN=ON,-DWITH_EIGEN=OFF,libeigen," PACKAGECONFIG[gtk] = "-DWITH_GTK=ON,-DWITH_GTK=OFF,gtk+," PACKAGECONFIG[jpeg] = "-DWITH_JPEG=ON,-DWITH_JPEG=OFF,jpeg," diff --git a/meta-oe/recipes-support/openldap/openldap-2.4.39/ITS-7723-fix-reference-counting.patch b/meta-oe/recipes-support/openldap/openldap-2.4.39/ITS-7723-fix-reference-counting.patch new file mode 100644 index 0000000000..9a0f4cb142 --- /dev/null +++ b/meta-oe/recipes-support/openldap/openldap-2.4.39/ITS-7723-fix-reference-counting.patch @@ -0,0 +1,38 @@ +From 59688044386dfeee0c837a15133f4e878f1bb661 Mon Sep 17 00:00:00 2001 +From: Jan Synacek <jsynacek@redhat.com> +Date: Wed, 13 Nov 2013 09:06:54 +0100 +Subject: [PATCH] ITS#7723 fix reference counting + +Upstream-Status: Backport + +Commit 59688044386dfeee0c837a15133f4e878f1bb661 upstream + +Signed-off-by: Yue Tao <Yue.Tao@windriver.com> +Signed-off-by: Jackie Huang <jackie.huang@windriver.com> +--- + libraries/librewrite/session.c | 2 ++ + 1 files changed, 2 insertions(+), 0 deletions(-) + +diff --git a/libraries/librewrite/session.c b/libraries/librewrite/session.c +index fcc7698..02fc054 100644 +--- a/libraries/librewrite/session.c ++++ b/libraries/librewrite/session.c +@@ -161,6 +161,7 @@ rewrite_session_find( + #ifdef USE_REWRITE_LDAP_PVT_THREADS + if ( session ) { + ldap_pvt_thread_mutex_lock( &session->ls_mutex ); ++ session->ls_count++; + } + ldap_pvt_thread_rdwr_runlock( &info->li_cookies_mutex ); + #endif /* USE_REWRITE_LDAP_PVT_THREADS */ +@@ -178,6 +179,7 @@ rewrite_session_return( + ) + { + assert( session != NULL ); ++ session->ls_count--; + ldap_pvt_thread_mutex_unlock( &session->ls_mutex ); + } + +-- +1.7.5.4 + diff --git a/meta-oe/recipes-support/openldap/openldap-2.4.23/0205e83f4670d10ad3c6ae4b8fc5ec1d0c7020c0.patch b/meta-oe/recipes-support/openldap/openldap-2.4.39/gnutls-Avoid-use-of-deprecated-function.patch index dffd3ca512..dffd3ca512 100644 --- a/meta-oe/recipes-support/openldap/openldap-2.4.23/0205e83f4670d10ad3c6ae4b8fc5ec1d0c7020c0.patch +++ b/meta-oe/recipes-support/openldap/openldap-2.4.39/gnutls-Avoid-use-of-deprecated-function.patch diff --git a/meta-oe/recipes-support/openldap/openldap-2.4.23/initscript b/meta-oe/recipes-support/openldap/openldap-2.4.39/initscript index 40881cd6d7..08d1067a7e 100644 --- a/meta-oe/recipes-support/openldap/openldap-2.4.23/initscript +++ b/meta-oe/recipes-support/openldap/openldap-2.4.39/initscript @@ -5,8 +5,10 @@ # > update-rc.d openldap defaults 60 # +# Source function library. +. /etc/init.d/functions -slapd=/usr/libexec/slapd +slapd=/usr/sbin/slapd test -x "$slapd" || exit 0 @@ -21,9 +23,13 @@ case "$1" in start-stop-daemon --stop --quiet --pidfile /var/run/slapd.pid echo "." ;; + status) + status $slapd; + exit $? + ;; *) - echo "Usage: /etc/init.d/openldap {start|stop}" + echo "Usage: /etc/init.d/openldap {start|stop|status}" exit 1 esac -exit 0
\ No newline at end of file +exit 0 diff --git a/meta-oe/recipes-support/openldap/openldap-2.4.23/install-strip.patch b/meta-oe/recipes-support/openldap/openldap-2.4.39/install-strip.patch index 2992b7030d..2992b7030d 100644 --- a/meta-oe/recipes-support/openldap/openldap-2.4.23/install-strip.patch +++ b/meta-oe/recipes-support/openldap/openldap-2.4.39/install-strip.patch diff --git a/meta-oe/recipes-support/openldap/openldap-2.4.23/kill-icu.patch b/meta-oe/recipes-support/openldap/openldap-2.4.39/kill-icu.patch index dcf5411372..dcf5411372 100644 --- a/meta-oe/recipes-support/openldap/openldap-2.4.23/kill-icu.patch +++ b/meta-oe/recipes-support/openldap/openldap-2.4.39/kill-icu.patch diff --git a/meta-oe/recipes-support/openldap/openldap-2.4.23/openldap-2.4.28-gnutls-gcrypt.patch b/meta-oe/recipes-support/openldap/openldap-2.4.39/openldap-2.4.28-gnutls-gcrypt.patch index c7b1552c1c..c7b1552c1c 100644 --- a/meta-oe/recipes-support/openldap/openldap-2.4.23/openldap-2.4.28-gnutls-gcrypt.patch +++ b/meta-oe/recipes-support/openldap/openldap-2.4.39/openldap-2.4.28-gnutls-gcrypt.patch diff --git a/meta-oe/recipes-support/openldap/openldap-2.4.23/openldap-m4-pthread.patch b/meta-oe/recipes-support/openldap/openldap-2.4.39/openldap-m4-pthread.patch index b669b7254d..b669b7254d 100644 --- a/meta-oe/recipes-support/openldap/openldap-2.4.23/openldap-m4-pthread.patch +++ b/meta-oe/recipes-support/openldap/openldap-2.4.39/openldap-m4-pthread.patch diff --git a/meta-oe/recipes-support/openldap/openldap-2.4.39/use-urandom.patch b/meta-oe/recipes-support/openldap/openldap-2.4.39/use-urandom.patch new file mode 100644 index 0000000000..e7b988fafd --- /dev/null +++ b/meta-oe/recipes-support/openldap/openldap-2.4.39/use-urandom.patch @@ -0,0 +1,38 @@ +openldap: assume /dev/urandom exists + +When we are cross-compiling, we want to assume +that /dev/urandom exists. We could change the source +code to look for it, but this is the easy way out. + +Upstream-Status: pending + +Signed-off-by: Joe Slater <jslater@windriver.com> + + +--- a/configure.in ++++ b/configure.in +@@ -2142,8 +2142,8 @@ fi + + dnl ---------------------------------------------------------------- + dnl Check for entropy sources ++dev=no + if test $cross_compiling != yes && test "$ac_cv_mingw32" != yes ; then +- dev=no + if test -r /dev/urandom ; then + dev="/dev/urandom"; + elif test -r /idev/urandom ; then +@@ -2156,9 +2156,11 @@ if test $cross_compiling != yes && test + dev="/idev/random"; + fi + +- if test $dev != no ; then +- AC_DEFINE_UNQUOTED(URANDOM_DEVICE,"$dev",[set to urandom device]) +- fi ++elif test $cross_compiling == yes ; then ++ dev="/dev/urandom"; ++fi ++if test $dev != no ; then ++ AC_DEFINE_UNQUOTED(URANDOM_DEVICE,"$dev",[set to urandom device]) + fi + + dnl ---------------------------------------------------------------- diff --git a/meta-oe/recipes-support/openldap/openldap_2.4.23.bb b/meta-oe/recipes-support/openldap/openldap_2.4.39.bb index 306a78647d..8752395fab 100644 --- a/meta-oe/recipes-support/openldap/openldap_2.4.23.bb +++ b/meta-oe/recipes-support/openldap/openldap_2.4.39.bb @@ -1,5 +1,6 @@ # OpenLDAP, a license free (see http://www.OpenLDAP.org/license.html) # +SUMMARY = "OpenLDAP Directory Service" DESCRIPTION = "OpenLDAP Software is an open source implementation of the Lightweight Directory Access Protocol." HOMEPAGE = "http://www.OpenLDAP.org/license.html" # The OpenLDAP Public License - see the HOMEPAGE - defines @@ -8,30 +9,33 @@ HOMEPAGE = "http://www.OpenLDAP.org/license.html" # basically BSD. opensource.org does not record this license # at present (so it is apparently not OSI certified). LICENSE = "OpenLDAP" -LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=3d82d3085f228af211a6502c7ea7c3c7" +LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=f2bdbaa4f50199a00b6de2ca7ec1db05 \ + file://LICENSE;md5=153d07ef052c4a37a8fac23bc6031972 \ +" SECTION = "libs" LDAP_VER = "${@'.'.join(d.getVar('PV',1).split('.')[0:2])}" -SRC_URI = "ftp://ftp.openldap.org/pub/OpenLDAP/openldap-release/${P}.tgz \ +SRC_URI = "ftp://ftp.openldap.org/pub/OpenLDAP/openldap-release/${BP}.tgz \ file://openldap-m4-pthread.patch \ file://kill-icu.patch \ - file://0205e83f4670d10ad3c6ae4b8fc5ec1d0c7020c0.patch \ + file://gnutls-Avoid-use-of-deprecated-function.patch \ file://openldap-2.4.28-gnutls-gcrypt.patch \ + file://ITS-7723-fix-reference-counting.patch \ + file://use-urandom.patch \ file://initscript \ " -SRC_URI[md5sum] = "90150b8c0d0192e10b30157e68844ddf" -SRC_URI[sha256sum] = "5a5ede91d5e8ab3c7f637620aa29a3b96eb34318a8b26c8eef2d2c789fc055e3" +SRC_URI[md5sum] = "b0d5ee4b252c841dec6b332d679cf943" +SRC_URI[sha256sum] = "8267c87347103fef56b783b24877c0feda1063d3cb85d070e503d076584bf8a7" DEPENDS = "util-linux groff-native" -PR = "r1" # The original top.mk used INSTALL, not INSTALL_STRIP_PROGRAM when # installing .so and executables, this fails in cross compilation # environments SRC_URI += "file://install-strip.patch" -inherit autotools-brokensep +inherit autotools-brokensep update-rc.d # CV SETTINGS # Required to work round AC_FUNC_MEMCMP which gets the wrong answer @@ -47,7 +51,7 @@ EXTRA_OECONF += "--with-yielding-select=yes" EXTRA_OECONF += "--enable-dynamic" PACKAGECONFIG ??= "gnutls modules \ - ldap meta monitor null passwd shell proxycache dnssrv \ + bdb hdb ldap meta monitor null passwd shell proxycache dnssrv \ " #--with-tls with TLS/SSL support auto|openssl|gnutls [auto] PACKAGECONFIG[gnutls] = "--with-tls=gnutls,,gnutls libgcrypt" @@ -64,14 +68,9 @@ EXTRA_OECONF += "--enable-crypt" # SLAPD BACKEND # # The backend must be set by the configuration. This controls the -# required database, the default database, bdb, is turned off but -# can be turned back on again and it *is* below! The monitor backend -# is also disabled. If you try to change the backends but fail to -# enable a single one the build will fail in an obvious way. -# -EXTRA_OECONF += "--disable-bdb --disable-hdb --disable-monitor" +# required database. # -# Backends="bdb dnssrv hdb ldap ldbm meta monitor null passwd perl shell sql" +# Backends="bdb dnssrv hdb ldap mdb meta monitor ndb null passwd perl relay shell sock sql" # # Note that multiple backends can be built. The ldbm backend requires a # build-time choice of database API. The bdb backend forces this to be @@ -82,27 +81,19 @@ md = "${libexecdir}/openldap" #--enable-bdb enable Berkeley DB backend no|yes|mod yes # The Berkely DB is the standard choice. This version of OpenLDAP requires # the version 4 implementation or better. -PACKAGECONFIG[bdb] = "--enable-bdb=mod,--enable-bdb=no,db" +PACKAGECONFIG[bdb] = "--enable-bdb=yes,--enable-bdb=no,db" #--enable-dnssrv enable dnssrv backend no|yes|mod no PACKAGECONFIG[dnssrv] = "--enable-dnssrv=mod,--enable-dnssrv=no" #--enable-hdb enable Hierarchical DB backend no|yes|mod no -# This forces ldbm to use Berkeley too, remove to use gdbm -PACKAGECONFIG[hdb] = "--enable-hdb=mod,--enable-hdb=no,db" +PACKAGECONFIG[hdb] = "--enable-hdb=yes,--enable-hdb=no,db" #--enable-ldap enable ldap backend no|yes|mod no PACKAGECONFIG[ldap] = "--enable-ldap=mod,--enable-ldap=no," -#--enable-ldbm enable ldbm backend no|yes|mod no -# ldbm requires further specification of the underlying database API, because -# bdb is enabled above this must be set to berkeley, however the config -# defaults this correctly so --with-ldbm-api is *not* set. The build will -# fail if bdb is removed, but no database is built to provide the -# support for ldbm -# guide.html:<P>back-ldbm was both slow and unreliable. Its byzantine indexing code was prone to spontaneous corruption, as were the underlying database libraries that were commonly used (e.g. GDBM or NDBM). back-bdb and back-hdb are superior in every aspect, with simplified indexing to avoid index corruption, fine-grained locking for greater concurrency, hierarchical caching for greater performance, streamlined on-disk format for greater efficiency and portability, and full transaction support for greater reliability.</P> -# configure: WARNING: unrecognized options: --disable-silent-rules, --enable-ldbm, --with-ldbm-api -#PACKAGECONFIG[ldbm] = "--enable-ldbm=mod --with-ldbm-api=gdbm,--enable-ldbm-no,gdbm" +#--enable-mdb enable mdb database backend no|yes|mod [yes] +PACKAGECONFIG[mdb] = "--enable-mdb=mod,--enable-mdb=no," #--enable-meta enable metadirectory backend no|yes|mod no PACKAGECONFIG[meta] = "--enable-meta=mod,--enable-meta=no," @@ -110,6 +101,9 @@ PACKAGECONFIG[meta] = "--enable-meta=mod,--enable-meta=no," #--enable-monitor enable monitor backend no|yes|mod yes PACKAGECONFIG[monitor] = "--enable-monitor=mod,--enable-monitor=no," +#--enable-ndb enable MySQL NDB Cluster backend no|yes|mod [no] +PACKAGECONFIG[ndb] = "--enable-ndb=mod,--enable-ndb=no," + #--enable-null enable null backend no|yes|mod no PACKAGECONFIG[null] = "--enable-null=mod,--enable-null=no," @@ -122,10 +116,16 @@ PACKAGECONFIG[passwd] = "--enable-passwd=mod,--enable-passwd=no," # up the build machine perl - not good (inherit perlnative?) PACKAGECONFIG[perl] = "--enable-perl=mod,--enable-perl=no,perl" +#--enable-relay enable relay backend no|yes|mod [yes] +PACKAGECONFIG[relay] = "--enable-relay=mod,--enable-relay=no," + #--enable-shell enable shell backend no|yes|mod no # configure: WARNING: Use of --without-threads is recommended with back-shell PACKAGECONFIG[shell] = "--enable-shell=mod --without-threads,--enable-shell=no," +#--enable-sock enable sock backend no|yes|mod [no] +PACKAGECONFIG[sock] = "--enable-sock=mod,--enable-sock=no," + #--enable-sql enable sql backend no|yes|mod no # sql requires some sql backend which provides sql.h, sqlite* provides # sqlite.h (which may be compatible but hasn't been tried.) @@ -141,7 +141,10 @@ PACKAGECONFIG[proxycache] = "--enable-proxycache=mod,--enable-proxycache=no," FILES_${PN}-overlay-proxycache = "${md}/pcache-*.so.*" PACKAGES += "${PN}-overlay-proxycache" -CPPFLAGS_append = " -D_GNU_SOURCE" +# Append URANDOM_DEVICE='/dev/urandom' to CPPFLAGS: +# This allows tls to obtain random bits from /dev/urandom, by default +# it was disabled for cross-compiling. +CPPFLAGS_append = " -D_GNU_SOURCE -DURANDOM_DEVICE=\'/dev/urandom\'" do_configure() { cp ${STAGING_DATADIR_NATIVE}/libtool/config/ltmain.sh ${S}/build @@ -176,31 +179,29 @@ do_install_append() { chmod 755 ${D}${sysconfdir}/init.d/openldap # This is duplicated in /etc/openldap and is for slapd rm -f ${D}${localstatedir}/openldap-data/DB_CONFIG.example + + # Installing slapd under ${sbin} is more FHS and LSB compliance + mv ${D}${libexecdir}/slapd ${D}/${sbindir}/slapd + SLAPTOOLS="slapadd slapcat slapdn slapindex slappasswd slaptest slapauth slapacl slapschema" + cd ${D}/${sbindir}/ + rm -f ${SLAPTOOLS} + for i in ${SLAPTOOLS}; do ln -sf slapd $i; done + rmdir "${D}${localstatedir}/run" rmdir --ignore-fail-on-non-empty "${D}${localstatedir}" } -pkg_postinst_${PN}-slapd () { - if test -n "${D}"; then - D="-r $D" - fi - update-rc.d $D openldap defaults -} - -pkg_prerm_${PN}-slapd () { - if test -n "${D}"; then - D="-r $D" - fi - update-rc.d $D openldap remove -} +INITSCRIPT_PACKAGES = "${PN}-slapd" +INITSCRIPT_NAME_${PN}-slapd = "openldap" +INITSCRIPT_PARAMS_${PN}-slapd = "defaults" -PACKAGES_DYNAMIC += "^openldap-backends.* ^openldap-backend-.*" +PACKAGES_DYNAMIC += "^${PN}-backends.* ^${PN}-backend-.*" python populate_packages_prepend () { backend_dir = d.expand('${libexecdir}/openldap') do_split_packages(d, backend_dir, 'back_([a-z]*)\-.*\.so\..*$', 'openldap-backend-%s', 'OpenLDAP %s backend', extra_depends='', allow_links=True) - metapkg = "openldap-backends" + metapkg = "${PN}-backends" d.setVar('ALLOW_EMPTY_' + metapkg, "1") d.setVar('FILES_' + metapkg, "") metapkg_rdepends = [] diff --git a/meta-oe/recipes-support/openmotif/openmotif_2.3.3.bb b/meta-oe/recipes-support/openmotif/openmotif_2.3.3.bb index 2e41524509..2baeda0251 100644 --- a/meta-oe/recipes-support/openmotif/openmotif_2.3.3.bb +++ b/meta-oe/recipes-support/openmotif/openmotif_2.3.3.bb @@ -7,6 +7,8 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=14f692c82491db3d52419929d2f3b343" PR = "r3" +PNBLACKLIST[openmotif] ?= "BROKEN: doesn't build with B!=S" + SRC_URI = "http://motif.ics.com/sites/default/files/openmotif-2.3.3.tar.gz \ file://configure.patch;patch=1" diff --git a/meta-oe/recipes-support/openwbem/openwbem/checkserverkey b/meta-oe/recipes-support/openwbem/openwbem/checkserverkey new file mode 100644 index 0000000000..bcfa361010 --- /dev/null +++ b/meta-oe/recipes-support/openwbem/openwbem/checkserverkey @@ -0,0 +1,20 @@ +#!/bin/bash + +if [ ! -f "/etc/openwbem/serverkey.pem" ]; then + if [ -f "/etc/ssl/servercerts/servercert.pem" \ + -a -f "/etc/ssl/servercerts/serverkey.pem" ]; then + echo "Using common server certificate /etc/ssl/servercerts/servercert.pem" + ln -s /etc/ssl/servercerts/server{cert,key}.pem /etc/openwbem/ + else + echo "FAILED: Starting OpenWBEM server" + echo "There is no ssl server key available for OpenWBEM server to use." + echo -e "Please generate one with the following script and start the OpenWBEM service again:\n" + echo "##################################" + echo "/etc/openwbem/owgencert" + echo "=================================" + + echo "NOTE: The script uses /dev/random device for generating some random bits while generating the server key." + echo " If this takes too long, you can replace the value of \"RANDFILE\" in /etc/openwsman/ssleay.cnf with /dev/urandom. Please understand the implications" + exit 1 + fi +fi diff --git a/meta-oe/recipes-support/openwbem/openwbem/loadmof.sh b/meta-oe/recipes-support/openwbem/openwbem/loadmof.sh new file mode 100644 index 0000000000..dd87811a37 --- /dev/null +++ b/meta-oe/recipes-support/openwbem/openwbem/loadmof.sh @@ -0,0 +1,118 @@ +#!/bin/sh +# +# options: +# loadmof.sh <MOF_PATH> <NAMESPACE> <FILES> +# +# - or - +# +# options: +# loadmof.sh -n <NAMESPACE> <FILES> [...] +# +# The former is preserved for compatibility with Pegasus and +# sblim providers. The latter is preferred. If $1 is "-n", +# the latter code path is executed. Otherwise the former is +# executed. + +if [ "x$1" != "x-n" -a "x$1" != "x-v" ]; then +# OLD STYLE +if [ -f "/etc/init.d/owcimomd" ]; then + /etc/init.d/owcimomd status 1>&2 > /dev/null + if [ $? = "0" ]; then + CIMOM_RUNNING="true" + else + CIMOM_RUNNING="false" + fi +else + exit 1 +fi +if [ "$YAST_IS_RUNNING" = "instsys" ]; then + CIMOM_RUNNING="false" +fi + +CIMOM=$1 +shift +case "$CIMOM" in + pegasus) + exit 0 + ;; +esac +MOF_PATH=$1 +shift +NS=$1 +shift + +REPOSITORY="/var/lib/openwbem" +#tmp_dir=`mktemp -d -p /tmp openwbem.XXXXXX` +case "$CIMOM_RUNNING" in + true|false) + while [ "$#" -gt 0 ] + do + echo "Loading $MOF_PATH/$1" + #sed "s/cmpi:/cmpi::/g" $MOF_PATH/$1 > $tmp_dir/$1 + /usr/bin/owmofc -c -n $NS -d $REPOSITORY $MOF_PATH/$1 > /dev/null 2>&1 + shift + done + ;; +esac +#rm -rf $tmp_dir +# END OLD STYLE + +else +# NEW STYLE +if [ "x$3" = "x" ]; then + echo "Usage: $0 -n <NAMESPACE> <FILES> [...]" + exit 1 +fi + +if [ "x$1" = "x-v" ]; then + VERBOSE=1 + shift +fi + +# get rid of "-n" arg +shift + +NS="$1" + +shift + +DBDIR=/var/lib/openwbem +LOGFILE=$DBDIR/loadmof.log +CIMOM_INIT=/etc/init.d/owcimomd +if [ "$YAST_IS_RUNNING" != "instsys" ] ; then + $CIMOM_INIT status > /dev/null 2>&1 + CIMOM_RUNNING=$? +fi +if [ "x$CIMOM_RUNNING" = "x0" ]; then + $CIMOM_INIT stop > /dev/null 2>&1 +fi +bkpdir=$DBDIR/backup-$$ +mkdir $bkpdir +cp -a $DBDIR/*.{dat,ndx,lock} $bkpdir/ +rm -f $LOGFILE.9 +for i in 8 7 6 5 4 3 2 1 0; do + let newI=$i+1 + if [ -f $LOGFILE.$i ]; then + mv $LOGFILE.$i $LOGFILE.$newI + fi +done +if [ -f $LOGFILE ]; then + mv $LOGFILE $LOGFILE.0 +fi +if [ "x$VERBOSE" = "x1" ]; then + /usr/bin/owmofc -c -n $NS -d $DBDIR -s /usr/share/mof/cim-current "$@" 2>&1 | tee $LOGFILE +else + /usr/bin/owmofc -c -n $NS -d $DBDIR -s /usr/share/mof/cim-current "$@" > $LOGFILE 2>&1 +fi +RVAL=$? +if [ "x$RVAL" != "x0" ]; then + echo "MOF import failed! Check $LOGFILE for details." + mv $bkpdir/* $DBDIR/ +fi +rm -rf $bkpdir +if [ "x$CIMOM_RUNNING" = "x0" ]; then + $CIMOM_INIT start > /dev/null 2>&1 +fi +exit $RVAL +fi + diff --git a/meta-oe/recipes-support/openwbem/openwbem/novell-openwbem-root-acl.mof b/meta-oe/recipes-support/openwbem/openwbem/novell-openwbem-root-acl.mof new file mode 100644 index 0000000000..c9970c79e9 --- /dev/null +++ b/meta-oe/recipes-support/openwbem/openwbem/novell-openwbem-root-acl.mof @@ -0,0 +1,21 @@ +#pragma namespace("root/security") + +instance of OpenWBEM_NamespaceACL +{ + nspace = "root"; + capability = ""; +}; + +instance of OpenWBEM_NamespaceACL +{ + nspace = "root/cimv2"; + capability = ""; +}; + +instance of OpenWBEM_UserACL +{ + nspace = "root/cimv2"; + username = "root"; + capability = "rw"; +}; + diff --git a/meta-oe/recipes-support/openwbem/openwbem/openwbem-etc_pam.d_openwbem b/meta-oe/recipes-support/openwbem/openwbem/openwbem-etc_pam.d_openwbem new file mode 100644 index 0000000000..b3785aa49d --- /dev/null +++ b/meta-oe/recipes-support/openwbem/openwbem/openwbem-etc_pam.d_openwbem @@ -0,0 +1,7 @@ +#%PAM-1.0 +auth required pam_unix2.so nullok +auth required pam_nologin.so +account required pam_unix2.so +password required pam_pwcheck.so nullok +password required pam_unix2.so nullok use_first_pass use_authtok +session required pam_unix2.so none diff --git a/meta-oe/recipes-support/openwbem/openwbem/openwbem-owcimomd.init b/meta-oe/recipes-support/openwbem/openwbem/openwbem-owcimomd.init new file mode 100644 index 0000000000..47fa8a7c67 --- /dev/null +++ b/meta-oe/recipes-support/openwbem/openwbem/openwbem-owcimomd.init @@ -0,0 +1,131 @@ +#!/bin/sh +# +### BEGIN INIT INFO +# Provides: owcimomd +# Required-Start: $network +# Required-Stop: $network +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: OpenWBEM CIMOM Daemon +# Description: owcimomd +# Start/Stop the OpenWBEM CIMOM Daemon +### END INIT INFO +# +# +# chkconfig: 2345 36 64 +# description: OpenWBEM CIMOM Daemon +# processname: owcimomd + +NAME=owcimomd +DAEMON=/usr/sbin/$NAME +OPTIONS= +PIDFILE=/var/run/$NAME.pid + +if [ $EUID != 0 ]; then + echo "This script must be run as root." + exit 1; +fi + +if [ "$DESCRIPTIVE" = "" ]; then + DESCRIPTIVE="OpenWBEM CIMOM Daemon" +fi + +lockfile=${SVIlock:-/var/lock/subsys/$NAME} + +[ -x $DAEMON ] || exit 0 + +# See how we were called. +. /etc/init.d/functions + +start() { + if [ ! -f "/etc/openwbem/serverkey.pem" ]; then + if [ -f "/etc/ssl/servercerts/servercert.pem" \ + -a -f "/etc/ssl/servercerts/serverkey.pem" ]; then + echo "Using common server certificate /etc/ssl/servercerts/servercert.pem" + ln -s /etc/ssl/servercerts/server{cert,key}.pem /etc/openwbem/ + else + echo "Generating OpenWBEM server public certificate and private key" + FQDN=`hostname --fqdn` + if [ "x${FQDN}" = "x" ]; then + FQDN=localhost.localdomain + fi +cat << EOF | sh /etc/openwbem/owgencert > /dev/null 2>&1 +-- +SomeState +SomeCity +SomeOrganization +SomeOrganizationalUnit +${FQDN} +root@${FQDN} +EOF + fi + fi + + # Start daemons. + echo -n "Starting the $DESCRIPTIVE" + daemon $DAEMON $OPTIONS > /dev/null 2>&1 + RETVAL=$? + + if [ $RETVAL -eq 0 ]; then + touch $lockfile + success + fi + + echo + return $RETVAL +} + +stop() { + # Stop daemons. + echo -n "Shutting down $DESCRIPTIVE" + killproc $DAEMON + RETVAL=$? + + if [ $RETVAL -eq 0 ]; then + rm -f $lockfile + success + else + failure + fi + echo + return $RETVAL +} + +restart() { + stop + start +} + +case "$1" in + start) + start + ;; + + stop) + stop + ;; + + restart|force-reload) + restart + ;; + + reload) + echo -n "Reload service $DESCRIPTIVE" + killproc -p $PIDFILE -HUP $DAEMON + RETVAL=$? + echo + exit $RETVAL + ;; + + status) + echo -n "Checking for service $DESCRIPTIVE" + status $DAEMON + RETVAL=$? + exit $RETVAL + ;; + + *) + echo "Usage: $0 {restart|start|stop|reload|force-reload|status}" +esac + +exit $RETVAL diff --git a/meta-oe/recipes-support/openwbem/openwbem/openwbem-rpmlintrc b/meta-oe/recipes-support/openwbem/openwbem/openwbem-rpmlintrc new file mode 100644 index 0000000000..785e32aaa6 --- /dev/null +++ b/meta-oe/recipes-support/openwbem/openwbem/openwbem-rpmlintrc @@ -0,0 +1,2 @@ +addFilter("devel-file-in-non-devel-package .*/lib.*\.so") + diff --git a/meta-oe/recipes-support/openwbem/openwbem/owcimomd.service b/meta-oe/recipes-support/openwbem/openwbem/owcimomd.service new file mode 100644 index 0000000000..c6694b7196 --- /dev/null +++ b/meta-oe/recipes-support/openwbem/openwbem/owcimomd.service @@ -0,0 +1,12 @@ +[Unit] +Description=Web Based Enterprise Management (WBEM) Implementation +After=syslog.target + +[Service] +Type=forking +ExecStart=/usr/sbin/owcimomd +ExecStartPre=/etc/openwbem/checkserverkey +PIDFile=/var/run/owcimomd.pid + +[Install] +WantedBy=multi-user.target diff --git a/meta-oe/recipes-support/openwbem/openwbem/rmmof.sh b/meta-oe/recipes-support/openwbem/openwbem/rmmof.sh new file mode 100644 index 0000000000..a495415be5 --- /dev/null +++ b/meta-oe/recipes-support/openwbem/openwbem/rmmof.sh @@ -0,0 +1,53 @@ +#!/bin/sh +# +# options: +# rmmof.sh <MOF_PATH> <NAMESPACE> <FILES> +# +# - or - +# +# options: +# loadmof.sh -n <NAMESPACE> <FILES> [...] +# +# The former is preserved for compatibility with Pegasus and +# sblim providers. The latter is preferred. If $1 is "-n", +# the latter code path is executed. Otherwise the former is +# executed. + +if [ "x$3" = "x" ]; then + echo "Usage: $0 -n <NAMESPACE> <FILES> [...]" + exit 1 +fi + +# get rid of "-n" arg +shift + +NS="$1" + +shift + +DBDIR=/var/lib/openwbem +CIMOM_INIT=/etc/init.d/owcimomd +if [ "$YAST_IS_RUNNING" != "instsys" ] ; then + $CIMOM_INIT status + CIMOM_RUNNING=$? +fi +if [ "x$CIMOM_RUNNING" = "x0" ]; then + $CIMOM_INIT stop +fi +bkpdir=/tmp/owrep.bkp-$$ +mkdir $bkpdir +cp -a $DBDIR $bkpdir/ +echo "Compiling MOF files" +/usr/bin/owmofc -r -n $NS -d $DBDIR "$@" > /dev/null 2>&1 +RVAL=$? +if [ "x$RVAL" != "x0" ]; then + echo "MOF import failed!" + rm -rf $DBDIR + mv $bkpdir/openwbem $DBDIR +fi +rm -rf $bkpdir +if [ "x$CIMOM_RUNNING" = "x0" ]; then + $CIMOM_INIT start +fi +exit $RVAL + diff --git a/meta-oe/recipes-support/openwbem/openwbem_3.2.3.bb b/meta-oe/recipes-support/openwbem/openwbem_3.2.3.bb new file mode 100644 index 0000000000..1b186329ce --- /dev/null +++ b/meta-oe/recipes-support/openwbem/openwbem_3.2.3.bb @@ -0,0 +1,112 @@ +SUMMARY = "Web Based Enterprise Management (WBEM) Implementation" +DESCRIPTION = "OpenWBEM is a set of software components that help facilitate \ +deployment of the Common Information Model (CIM) and Web-Based \ +Enterprise Management (WBEM) technologies of the Distributed Management \ +Task Force (DMTF). \ + \ +Web-Based Enterprise Management (WBEM) is a set of management and \ +Internet standard technologies developed to unify the management of \ +distributed computing environments. WBEM provides the ability for the \ +industry to deliver a well-integrated set of standards-based management \ +tools, facilitating the exchange of data across otherwise disparate \ +technologies and platforms. \ + \ +For more information about DMTF and its technologies, visit \ +http://www.dmtf.org/standards. " +SECTION = "System/Management" +HOMEPAGE = "http://openwbem.sourceforge.net/" + +inherit autotools-brokensep pkgconfig + +SOURCE1="novell-openwbem-root-acl.mof" +SOURCE2="loadmof.sh" +SOURCE3="rmmof.sh" +SOURCE4="openwbem-owcimomd.init" +SOURCE5="openwbem-etc_pam.d_openwbem" +SOURCE6="openwbem-rpmlintrc" + +SRC_URI = " \ + git://github.com/kkaempf/openwbem.git \ + file://${SOURCE1} \ + file://${SOURCE2} \ + file://${SOURCE3} \ + file://${SOURCE4} \ + file://${SOURCE5} \ + file://${SOURCE6} \ + file://checkserverkey \ + file://owcimomd.service \ +" +SRCREV = "5c688eefc1f8e35a4b1c58529aae5f114c25c2a8" +S = "${WORKDIR}/git" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM += "file://COPYING;md5=0504a2eb85e01aa92c9efd4125a34660" +INSANE_SKIP_${PN} = "dev-so" +DEPENDS += "openssl libpam bash" +RDEPENDS_${PN} += "bash" +EXTRA_OECONF = " \ + --prefix=/usr \ + --sysconfdir=/etc \ + --libdir=${libdir} \ + --localstatedir=/var/lib \ + --libexecdir=${libdir}/openwbem/bin \ + --mandir=/usr/share/man \ + --enable-threads-run-as-user \ +" +do_configure_prepend() { + autoreconf --force --install +} + +do_install() { + oe_runmake DESTDIR=${D} install + install -d ${D}/etc/openwbem/openwbem.conf.d + install -d ${D}/var/adm/fillup-templates + install -m 644 etc/sysconfig/daemons/owcimomd ${D}/var/adm/fillup-templates/sysconfig.owcimomd + + # fix up hardcoded paths + sed -i -e 's,/usr/sbin/,${sbindir}/,' ${WORKDIR}/owcimomd.service + if ${@base_contains('DISTRO_FEATURES','systemd','true','false',d)}; then + install -d ${D}/${systemd_unitdir}/system + install -m 644 ${WORKDIR}/owcimomd.service ${D}/${systemd_unitdir}/system + install -m 755 ${WORKDIR}/checkserverkey ${D}${sysconfdir}/openwbem/ + fi + + install -d ${D}/etc/init.d + ln -sf ../../etc/init.d/owcimomd ${D}/usr/sbin/rcowcimomd + install -m 755 ${WORKDIR}/${SOURCE4} ${D}/etc/init.d/owcimomd + install -d ${D}${sbindir} + install -d ${D}/usr/bin + install -d ${D}/etc/pam.d + install -d ${D}/${libdir}/openwbem/cmpiproviders + install -m 644 etc/pam.d/openwbem ${D}/etc/pam.d + install -d ${D}/${libdir}/openwbem/c++providers + install -d ${D}/var/lib/openwbem + install -m 755 ${WORKDIR}/${SOURCE2} ${D}/usr/bin/ow-loadmof.sh + install -m 755 ${WORKDIR}/${SOURCE3} ${D}/usr/bin/ow-rmmof.sh + install -m 644 ${WORKDIR}/${SOURCE5} ${D}/etc/pam.d/openwbem + + MOFPATH=${D}/usr/share/mof/openwbem + install -d $MOFPATH + mv ${D}/usr/share/openwbem/* $MOFPATH/ + rmdir ${D}/usr/share/openwbem + install -m 644 ${WORKDIR}/${SOURCE1} $MOFPATH/ + + touch ${D}/var/lib/openwbem/{classassociation,instances,instassociation,namespaces,schema}.{dat,ndx,lock} +} + +inherit ${@base_contains('VIRTUAL-RUNTIME_init_manager','systemd','systemd','', d)} +SYSTEMD_SERVICE_${PN} = "owcimomd.service" +SYSTEMD_AUTO_ENABLE = "disable" +FILES_${PN} += " \ + ${libdir} \ + ${datadir}/mof \ + ${systemd_unitdir} \ +" +FILES_${PN}-dbg += " \ + ${libdir}/openwbem/c++providers/.debug \ + ${libdir}/openwbem/provifcs/.debug \ + ${libdir}/openwbem/bin/openwbem/.debug \ +" +FILES_${PN}-dev = " \ + ${includedir} \ + ${datadir}/aclocal/openwbem.m4 \ +" diff --git a/meta-oe/recipes-support/p11-kit/p11-kit_0.19.1.bb b/meta-oe/recipes-support/p11-kit/p11-kit_0.19.1.bb index 67c2c00cef..e0ebe7da9c 100644 --- a/meta-oe/recipes-support/p11-kit/p11-kit_0.19.1.bb +++ b/meta-oe/recipes-support/p11-kit/p11-kit_0.19.1.bb @@ -6,7 +6,7 @@ inherit autotools gettext pkgconfig DEPENDS = "libtasn1 libffi" -SRC_URI = "http://p11-glue.freedesktop.org/releases/${PN}-${PV}.tar.gz" +SRC_URI = "http://p11-glue.freedesktop.org/releases/${BP}.tar.gz" SRC_URI[md5sum] = "d96046ab6ac00d005342caf416ed76ab" SRC_URI[sha256sum] = "94fbed372c11d0a404762aad966e54eb4f44c1d5b871a1b79a1a3b4cf36ed256" diff --git a/meta-oe/recipes-support/pam-passwdqc/files/1000patch-219201.patch b/meta-oe/recipes-support/pam-passwdqc/files/1000patch-219201.patch new file mode 100644 index 0000000000..366d461eb8 --- /dev/null +++ b/meta-oe/recipes-support/pam-passwdqc/files/1000patch-219201.patch @@ -0,0 +1,156 @@ +diff -urNp pam_passwdqc-1.0.5-orig/pam_passwdqc.c pam_passwdqc-1.0.5/pam_passwdqc.c +--- pam_passwdqc-1.0.5-orig/pam_passwdqc.c 2008-02-12 15:11:13.000000000 -0500 ++++ pam_passwdqc-1.0.5/pam_passwdqc.c 2009-09-28 12:10:32.171696694 -0400 +@@ -70,6 +70,8 @@ typedef struct { + passwdqc_params_t qc; + int flags; + int retry; ++ char oldpass_prompt_file[FILE_LEN+1]; ++ char newpass_prompt_file[FILE_LEN+1]; + } params_t; + + static params_t defaults = { +@@ -79,10 +81,13 @@ static params_t defaults = { + 3, /* passphrase_words */ + 4, /* match_length */ + 1, /* similar_deny */ +- 42 /* random_bits */ ++ 42, /* random_bits */ ++ 1 /* firstupper_lastdigit_check */ + }, + F_ENFORCE_EVERYONE, /* flags */ +- 3 /* retry */ ++ 3, /* retry */ ++ "", /* oldpass_prompt_file */ ++ "" /* newpass_prompt_file */ + }; + + #define PROMPT_OLDPASS \ +@@ -361,6 +366,37 @@ static int parse(params_t *params, pam_h + if (!strcmp(*argv, "use_authtok")) { + params->flags |= F_USE_AUTHTOK; + } else ++ if (!strcmp(*argv, "disable_firstupper_lastdigit_check")) { ++ params->qc.firstupper_lastdigit_check = 0; ++ } else ++ if (!strncmp(*argv, "oldpass_prompt_file=", 20)) { ++ int n; ++ FILE *fp = fopen(*argv + 20, "r"); ++ if (fp) { ++ n=fread(params->oldpass_prompt_file, sizeof(char), FILE_LEN, fp); ++ if (0==n || ferror(fp)!=0 ) { ++ memset(params->oldpass_prompt_file, '\0', FILE_LEN+1); ++ } ++ else { ++ feof(fp)? (params->oldpass_prompt_file[n-1]='\0'): (params->oldpass_prompt_file[n]='\0'); ++ } ++ fclose(fp); ++ } ++ } else ++ if (!strncmp(*argv, "newpass_prompt_file=", 20)) { ++ int n; ++ FILE *fp = fopen(*argv + 20, "r"); ++ if (fp) { ++ n=fread(params->newpass_prompt_file, sizeof(char), FILE_LEN, fp); ++ if (0==n || ferror(fp)!=0 ) { ++ memset(params->newpass_prompt_file, '\0', FILE_LEN+1); ++ } ++ else { ++ feof(fp)? (params->newpass_prompt_file[n-1]='\0'): (params->newpass_prompt_file[n]='\0'); ++ } ++ fclose(fp); ++ } ++ } else + break; + argc--; argv++; + } +@@ -406,7 +442,7 @@ PAM_EXTERN int pam_sm_chauthtok(pam_hand + + if (ask_oldauthtok && !am_root(pamh)) { + status = converse(pamh, PAM_PROMPT_ECHO_OFF, +- PROMPT_OLDPASS, &resp); ++ strlen(params.oldpass_prompt_file) ? params.oldpass_prompt_file : PROMPT_OLDPASS, &resp); + + if (status == PAM_SUCCESS) { + if (resp && resp->resp) { +@@ -540,8 +576,7 @@ retry: + MESSAGE_RANDOMFAILED : MESSAGE_MISCONFIGURED); + return PAM_AUTHTOK_ERR; + } +- +- status = converse(pamh, PAM_PROMPT_ECHO_OFF, PROMPT_NEWPASS1, &resp); ++ status = converse(pamh, PAM_PROMPT_ECHO_OFF, strlen(params.newpass_prompt_file) ? params.newpass_prompt_file : PROMPT_NEWPASS1, &resp); + if (status == PAM_SUCCESS && (!resp || !resp->resp)) + status = PAM_AUTHTOK_ERR; + +diff -urNp pam_passwdqc-1.0.5-orig/passwdqc_check.c pam_passwdqc-1.0.5/passwdqc_check.c +--- pam_passwdqc-1.0.5-orig/passwdqc_check.c 2008-02-12 14:31:52.000000000 -0500 ++++ pam_passwdqc-1.0.5/passwdqc_check.c 2009-09-25 22:45:16.080842425 -0400 +@@ -90,10 +90,12 @@ static int is_simple(passwdqc_params_t * + + /* Upper case characters and digits used in common ways don't increase the + * strength of a password */ +- c = (unsigned char)newpass[0]; +- if (uppers && isascii(c) && isupper(c)) uppers--; +- c = (unsigned char)newpass[length - 1]; +- if (digits && isascii(c) && isdigit(c)) digits--; ++ if (params->firstupper_lastdigit_check) { ++ c = (unsigned char)newpass[0]; ++ if (uppers && isascii(c) && isupper(c)) uppers--; ++ c = (unsigned char)newpass[length - 1]; ++ if (digits && isascii(c) && isdigit(c)) digits--; ++ } + + /* Count the number of different character classes we've seen. We assume + * that there are no non-ASCII characters for digits. */ +diff -urNp pam_passwdqc-1.0.5-orig/passwdqc.h pam_passwdqc-1.0.5/passwdqc.h +--- pam_passwdqc-1.0.5-orig/passwdqc.h 2008-02-12 14:30:00.000000000 -0500 ++++ pam_passwdqc-1.0.5/passwdqc.h 2009-09-25 14:08:56.214695858 -0400 +@@ -7,12 +7,15 @@ + + #include <pwd.h> + ++#define FILE_LEN 4096 /* Max file len = 4096 */ ++ + typedef struct { + int min[5], max; + int passphrase_words; + int match_length; + int similar_deny; + int random_bits; ++ int firstupper_lastdigit_check; + } passwdqc_params_t; + + extern char _passwdqc_wordset_4k[0x1000][6]; +diff -urNp pam_passwdqc-1.0.5-orig/README pam_passwdqc-1.0.5/README +--- pam_passwdqc-1.0.5-orig/README 2008-02-12 14:43:33.000000000 -0500 ++++ pam_passwdqc-1.0.5/README 2009-09-28 12:12:40.251016423 -0400 +@@ -41,9 +41,12 @@ words (see the "passphrase" option below + N3 and N4 are used for passwords consisting of characters from three + and four character classes, respectively. + ++ disable_firstupper_lastdigit_check [] ++ + When calculating the number of character classes, upper-case letters + used as the first character and digits used as the last character of a +-password are not counted. ++password are not counted. To disable this, you can specify ++"disable_firstupper_lastdigit_check". + + In addition to being sufficiently long, passwords are required to + contain enough different characters for the character classes and +@@ -142,6 +145,14 @@ This disables user interaction within pa + the only difference between "use_first_pass" and "use_authtok" is that + the former is incompatible with "ask_oldauthtok". + ++ oldpass_prompt_file=absolute-file-path [] ++ newpass_prompt_file=abosulte-file-path [] ++ ++The options "oldpass_prompt_file" and "newpass_prompt_file" can be used ++to override prompts while requesting old password and new password, ++respectively. The maximum size of the prompt files can be 4096 ++characters at present. If the file size is more than 4096 characters, the ++output will be truncated to 4096 characters. + -- + Solar Designer <solar at openwall.com> + diff --git a/meta-oe/recipes-support/pam-passwdqc/files/7000Makefile-fix-CC.patch b/meta-oe/recipes-support/pam-passwdqc/files/7000Makefile-fix-CC.patch new file mode 100644 index 0000000000..536fba1329 --- /dev/null +++ b/meta-oe/recipes-support/pam-passwdqc/files/7000Makefile-fix-CC.patch @@ -0,0 +1,11 @@ +--- pam_passwdqc-1.0.5/Makefile.orig 2012-10-02 20:53:55.443592886 +0900 ++++ pam_passwdqc-1.0.5/Makefile 2012-10-02 20:54:19.076108001 +0900 +@@ -2,7 +2,7 @@ + # Copyright (c) 2000-2003,2005 by Solar Designer. See LICENSE. + # + +-CC = gcc ++#CC = gcc + LD = $(CC) + RM = rm -f + MKDIR = mkdir -p diff --git a/meta-oe/recipes-support/pam-passwdqc/pam-passwdqc_1.0.5.bb b/meta-oe/recipes-support/pam-passwdqc/pam-passwdqc_1.0.5.bb new file mode 100644 index 0000000000..4add367d5c --- /dev/null +++ b/meta-oe/recipes-support/pam-passwdqc/pam-passwdqc_1.0.5.bb @@ -0,0 +1,34 @@ +SUMMARY = "Pluggable password quality-control module." +DESCRIPTION = "pam_passwdqc is a simple password strength checking module for \ +PAM-aware password changing programs, such as passwd(1). In addition \ +to checking regular passwords, it offers support for passphrases and \ +can provide randomly generated passwords. All features are optional \ +and can be (re-)configured without rebuilding." + +HOMEPAGE = "http://www.openwall.com/passwdqc/" +SECTION = "System Environment/Base" + +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://LICENSE;md5=e284d013ef08e66d4737f446c5890550" + +SRC_URI = "http://www.openwall.com/pam/modules/pam_passwdqc/pam_passwdqc-1.0.5.tar.gz \ + file://1000patch-219201.patch \ + file://7000Makefile-fix-CC.patch \ + " +SRC_URI[md5sum] = "cd9c014f736158b1a60384a8e2bdc28a" +SRC_URI[sha256sum] = "32528ddf7d8219c788b6e7702361611ff16c6340b6dc0f418ff164aadc4a4a88" + + +S = "${WORKDIR}/pam_passwdqc-${PV}" + +DEPENDS = "libpam" + +EXTRA_OEMAKE = "CFLAGS="${CFLAGS} -Wall -fPIC -DHAVE_SHADOW"" + +do_install() { + oe_runmake install DESTDIR=${D} +} + +FILES_${PN} += "/lib/security/pam_passwdqc.so" +FILES_${PN}-dbg += "/lib/security/.debug" + diff --git a/meta-oe/recipes-support/pcsc-lite/pcsc-lite_1.8.6.bb b/meta-oe/recipes-support/pcsc-lite/pcsc-lite_1.8.6.bb index 00a9635c39..5a58389ab7 100644 --- a/meta-oe/recipes-support/pcsc-lite/pcsc-lite_1.8.6.bb +++ b/meta-oe/recipes-support/pcsc-lite/pcsc-lite_1.8.6.bb @@ -10,7 +10,7 @@ SRC_URI[sha256sum] = "1e44049168d1ce55fd56c175f61206955254df0f385455f2a20ec7e8a0 PR = "r3" -inherit autotools systemd +inherit autotools systemd pkgconfig EXTRA_OECONF = " \ --disable-libusb \ diff --git a/meta-oe/recipes-support/picocom/picocom_1.6.bb b/meta-oe/recipes-support/picocom/picocom_1.7.bb index 6b5200cdda..8141106bf0 100644 --- a/meta-oe/recipes-support/picocom/picocom_1.6.bb +++ b/meta-oe/recipes-support/picocom/picocom_1.7.bb @@ -4,7 +4,10 @@ LICENSE = "GPLv2+" HOMEPAGE = "http://code.google.com/p/picocom/" LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=393a5ca445f6965873eca0259a17f833" -SRC_URI = "http://picocom.googlecode.com/files/picocom-1.6.tar.gz" +SRC_URI = "http://picocom.googlecode.com/files/picocom-${PV}.tar.gz" + +SRC_URI[md5sum] = "8eaba1d31407e8408674d6e57af447ef" +SRC_URI[sha256sum] = "d0f31c8f7a215a76922d30c81a52b9a2348c89e02a84935517002b3bc2c1129e" CPPFLAGS_append = '-DVERSION_STR=\\"${PV}\\" -DUUCP_LOCK_DIR=\\"/var/lock\\" -DHIGH_BAUD' @@ -13,5 +16,3 @@ do_install () { install -m 0755 ${PN} pcasc pcxm pcym pczm ${D}${bindir}/ } -SRC_URI[md5sum] = "426c3d30b82cbc80b0dafdccd6020c6c" -SRC_URI[sha256sum] = "df5774072de805ff06c6b1420dbcc932b1b00e919b49e22a7be14bcad5a0b3a1" diff --git a/meta-oe/recipes-support/pidgin/libotr/sepbuild.patch b/meta-oe/recipes-support/pidgin/libotr/sepbuild.patch new file mode 100644 index 0000000000..f66e52881c --- /dev/null +++ b/meta-oe/recipes-support/pidgin/libotr/sepbuild.patch @@ -0,0 +1,16 @@ +Fix builds with ${B} != ${S} + +Upstream-Status: Pending + +RP 2014/7/17 + +Index: libotr-4.0.0/toolkit/Makefile.am +=================================================================== +--- libotr-4.0.0.orig/toolkit/Makefile.am 2014-07-16 18:09:59.777858022 +0000 ++++ libotr-4.0.0/toolkit/Makefile.am 2014-07-17 06:28:51.359066155 +0000 +@@ -1,4 +1,4 @@ +-INCLUDES = -I../src @LIBGCRYPT_CFLAGS@ ++INCLUDES = -I$(top_srcdir)/src @LIBGCRYPT_CFLAGS@ + + noinst_HEADERS = aes.h ctrmode.h parse.h sesskeys.h readotr.h sha1hmac.h + diff --git a/meta-oe/recipes-support/pidgin/libotr_4.0.0.bb b/meta-oe/recipes-support/pidgin/libotr_4.0.0.bb index 7396efd2d4..dd9eeab7a9 100644 --- a/meta-oe/recipes-support/pidgin/libotr_4.0.0.bb +++ b/meta-oe/recipes-support/pidgin/libotr_4.0.0.bb @@ -4,8 +4,9 @@ LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=92fe174bad6da3763f6e9e9eaff6df24" DEPENDS = "libgcrypt libgpg-error" -SRC_URI = "http://www.cypherpunks.ca/otr/${P}.tar.gz \ +SRC_URI = "http://www.cypherpunks.ca/otr/${BP}.tar.gz \ file://fix_qa-issue_include.patch \ + file://sepbuild.patch \ " SRC_URI[md5sum] = "00979dca82d70383fcd1b01f3974363c" diff --git a/meta-oe/recipes-support/pidgin/pidgin-otr_4.0.0.bb b/meta-oe/recipes-support/pidgin/pidgin-otr_4.0.0.bb index cf3c680d2e..18dbe0959f 100644 --- a/meta-oe/recipes-support/pidgin/pidgin-otr_4.0.0.bb +++ b/meta-oe/recipes-support/pidgin/pidgin-otr_4.0.0.bb @@ -2,9 +2,9 @@ SUMMARY = "(OTR) Messaging allows you to have private conversations over instant HOMEPAGE = "http://www.cypherpunks.ca/otr/" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=92fe174bad6da3763f6e9e9eaff6df24" -DEPENDS = "libgcrypt libotr pidgin" +DEPENDS = "libgcrypt libotr pidgin intltool-native" -SRC_URI = "http://www.cypherpunks.ca/otr/${P}.tar.gz \ +SRC_URI = "http://www.cypherpunks.ca/otr/${BP}.tar.gz \ file://ignore_extra-portability_warnings.patch \ " diff --git a/meta-oe/recipes-support/pidgin/pidgin.inc b/meta-oe/recipes-support/pidgin/pidgin_2.10.9.bb index 0973b21ac8..b635352374 100644 --- a/meta-oe/recipes-support/pidgin/pidgin.inc +++ b/meta-oe/recipes-support/pidgin/pidgin_2.10.9.bb @@ -2,23 +2,38 @@ DESCRIPTION = "multi-protocol instant messaging client" SECTION = "x11/network" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" -DEPENDS = "python startup-notification avahi gtk+ ncurses gnutls virtual/libintl gstreamer dbus" -INC_PR = "r3" +DEPENDS = "python startup-notification avahi gtk+ ncurses gnutls virtual/libintl gstreamer dbus intltool-native farsight2 libidn" inherit autotools gettext pkgconfig gconf perlnative +SRC_URI = "\ + ${SOURCEFORGE_MIRROR}/pidgin/pidgin-${PV}.tar.bz2 \ + file://sanitize-configure.ac.patch \ + file://pidgin.desktop-set-icon.patch \ + file://purple-OE-branding-25.patch \ + file://pidgin-cross-python-265.patch \ +" + +SRC_URI[md5sum] = "10a4a69d077893f6dd3438cd8af94e81" +SRC_URI[sha256sum] = "dc362ed8577f623eea4554a79e917073aa726825074fea402f2e515f0f51f319" + EXTRA_OECONF = " \ - --enable-vv \ - --disable-perl \ - --disable-tcl \ - --disable-gevolution \ - --disable-schemas-install \ - --x-includes=${STAGING_INCDIR} \ - --x-libraries=${STAGING_LIBDIR} \ - --enable-gnutls=yes \ - --with-ncurses-headers=${STAGING_INCDIR} \ - --with-gnutls-includes=${STAGING_INCDIR} \ - --with-gnutls-libs=${STAGING_LIBDIR} \ + --enable-vv \ + --disable-perl \ + --disable-tcl \ + --disable-gevolution \ + --disable-schemas-install \ + --x-includes=${STAGING_INCDIR} \ + --x-libraries=${STAGING_LIBDIR} \ + --enable-gnutls=yes \ + --with-ncurses-headers=${STAGING_INCDIR} \ + --with-gnutls-includes=${STAGING_INCDIR} \ + --with-gnutls-libs=${STAGING_LIBDIR} \ + --disable-gtkspell \ + --disable-meanwhile \ + --disable-nm \ + --disable-screensaver \ + --enable-nss=no \ " do_configure_prepend() { diff --git a/meta-oe/recipes-support/pidgin/pidgin_2.7.9.bb b/meta-oe/recipes-support/pidgin/pidgin_2.7.9.bb deleted file mode 100644 index 3ce3cc39a2..0000000000 --- a/meta-oe/recipes-support/pidgin/pidgin_2.7.9.bb +++ /dev/null @@ -1,23 +0,0 @@ -require pidgin.inc -PR = "${INC_PR}.3" - -DEPENDS += "farsight2 libidn" - -SRC_URI = "\ - ${SOURCEFORGE_MIRROR}/pidgin/pidgin-${PV}.tar.bz2 \ - file://sanitize-configure.ac.patch \ - file://pidgin.desktop-set-icon.patch \ - file://purple-OE-branding-25.patch \ - file://pidgin-cross-python-265.patch \ -" - -SRC_URI[md5sum] = "9bc6cf953ed7d383b215fa8487bf8829" -SRC_URI[sha256sum] = "9722d7f199a6704e29900c80f270d9409d5c28caab77f495b68108d81ba3e19e" - -EXTRA_OECONF += "\ - --disable-gtkspell \ - --disable-meanwhile \ - --disable-nm \ - --disable-screensaver \ - --enable-nss=no \ -" diff --git a/meta-oe/recipes-support/pkcs11-helper/pkcs11-helper_1.11.bb b/meta-oe/recipes-support/pkcs11-helper/pkcs11-helper_1.11.bb new file mode 100644 index 0000000000..a833297500 --- /dev/null +++ b/meta-oe/recipes-support/pkcs11-helper/pkcs11-helper_1.11.bb @@ -0,0 +1,29 @@ +SUMMARY = "A library for using PKCS" +DESCRIPTION = "pkcs11-helper is a library that simplifies the interaction with PKCS \ +providers for end-user applications using a simple API and optional OpenSSL \ +engine. The library allows using multiple PKCS enumerating available token \ +certificates, or selecting a certificate directly by serialized id, handling \ +card removal and card insert events, handling card ie-insert to a different \ +slot, supporting session expiration and much more all using a simple API." + +HOMEPAGE = "http://www.opensc-project.org/pkcs11-helper/" +SECTION = "Development/Libraries" + +LICENSE = "GPLv2 & BSD" +LIC_FILES_CHKSUM = " \ + file://COPYING;md5=4948810631bcac142af53d32df5b6ee1 \ + file://COPYING.GPL;md5=8a71d0475d08eee76d8b6d0c6dbec543 \ + file://COPYING.BSD;md5=f79f90ea7a106796af80b5d05f1f8da1 \ +" +SRC_URI = "git://github.com/OpenSC/${BPN}.git" +SRC_URI[md5sum] = "9f62af9f475901b89355266141306673" +SRC_URI[sha256sum] = "494ec59c93e7c56c528f335d9353849e2e7c94a6b1b41c89604694e738113386" + +S = "${WORKDIR}/git" +SRCREV = "e7adf8f35be232a4f04c53b4ac409be52792093e" + +DEPENDS = "zlib nettle gnutls gmp openssl" + +inherit autotools pkgconfig + +EXTRA_OECONF = "--disable-static" diff --git a/meta-oe/recipes-support/poppler/poppler-data_0.4.6.bb b/meta-oe/recipes-support/poppler/poppler-data_0.4.6.bb index 644e318014..014ba7cdda 100644 --- a/meta-oe/recipes-support/poppler/poppler-data_0.4.6.bb +++ b/meta-oe/recipes-support/poppler/poppler-data_0.4.6.bb @@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=4870b98343f0bbb25fa43b9d2ba59448 \ inherit allarch -SRC_URI = "http://poppler.freedesktop.org/${PN}-${PV}.tar.gz" +SRC_URI = "http://poppler.freedesktop.org/${BP}.tar.gz" SRC_URI[md5sum] = "a8a7ca808827dd674faba6e4fc73b471" SRC_URI[sha256sum] = "f306901dfa5bda90cd6663d4eedb1c773c3c709de78018c79f1282b2c8f90afa" diff --git a/meta-oe/recipes-support/poppler/poppler_0.22.4.bb b/meta-oe/recipes-support/poppler/poppler_0.26.5.bb index 7aa0dfc909..d11963961c 100644 --- a/meta-oe/recipes-support/poppler/poppler_0.22.4.bb +++ b/meta-oe/recipes-support/poppler/poppler_0.26.5.bb @@ -3,14 +3,19 @@ LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" SRC_URI = " \ - http://poppler.freedesktop.org/${PN}-${PV}.tar.gz \ + http://poppler.freedesktop.org/${BP}.tar.xz \ " -SRC_URI[md5sum] = "49d55921ce795778c7231fe9f2fe923b" -SRC_URI[sha256sum] = "4f438f34e63265e2da8427f3423f940ff41c26088922a9f5d976f795c1dce13b" +SRC_URI[md5sum] = "786c943eee550e3a977c181e7778b1c8" +SRC_URI[sha256sum] = "de7de5fa337431e5d1f372e8577b3707322f1dbc1dc28a70f2927476f134d1ee" -DEPENDS = "fontconfig jpeg zlib gtk+ cairo tiff lcms" +DEPENDS = "fontconfig zlib cairo lcms" -inherit autotools pkgconfig +inherit autotools pkgconfig gtk-doc + +PACKAGECONFIG ??= "jpeg png tiff" +PACKAGECONFIG[jpeg] = "--enable-libjpeg,--disable-libjpeg,jpeg" +PACKAGECONFIG[png] = "--enable-libpng,--disable-libpng,libpng" +PACKAGECONFIG[tiff] = "--enable-libtiff,--disable-libtiff,tiff" EXTRA_OECONF = "\ --enable-xpdf-headers \ diff --git a/meta-oe/recipes-support/postgresql/files/0001-Use-pkg-config-for-libxml2-detection.patch b/meta-oe/recipes-support/postgresql/files/0001-Use-pkg-config-for-libxml2-detection.patch new file mode 100644 index 0000000000..d08ec6af1d --- /dev/null +++ b/meta-oe/recipes-support/postgresql/files/0001-Use-pkg-config-for-libxml2-detection.patch @@ -0,0 +1,43 @@ +From d52e330be895bb8c5f0fb3e2884766acbd942a85 Mon Sep 17 00:00:00 2001 +From: Philip Balister <philip@balister.org> +Date: Tue, 1 Jul 2014 09:40:44 -0400 +Subject: [PATCH] Use pkg-config for libxml2 detection. + +Upstream-Status: Inappropriate [configuration] + +xml2-config does not work. Use pkgconfig to set CPPFLAGS and LIBS. + +Signed-off-by: Philip Balister <philip@balister.org> +--- + configure.in | 15 ++------------- + 1 file changed, 2 insertions(+), 13 deletions(-) + +diff --git a/configure.in b/configure.in +index f8bf466..1f4fabf 100644 +--- a/configure.in ++++ b/configure.in +@@ -734,19 +734,8 @@ PGAC_ARG_BOOL(with, libxml, no, [build with XML support], + [AC_DEFINE([USE_LIBXML], 1, [Define to 1 to build with XML support. (--with-libxml)])]) + + if test "$with_libxml" = yes ; then +- AC_CHECK_PROGS(XML2_CONFIG, xml2-config) +- if test -n "$XML2_CONFIG"; then +- for pgac_option in `$XML2_CONFIG --cflags`; do +- case $pgac_option in +- -I*|-D*) CPPFLAGS="$CPPFLAGS $pgac_option";; +- esac +- done +- for pgac_option in `$XML2_CONFIG --libs`; do +- case $pgac_option in +- -L*) LDFLAGS="$LDFLAGS $pgac_option";; +- esac +- done +- fi ++ CPPFLAGS="$CPPFLAGS `pkg-config --short-errors --print-errors --cflags "libxml-2.0" 2>&1`" ++ LIBS="`pkg-config --short-errors --print-errors --libs "libxml-2.0" 2>&1` $LIBS" + fi + + AC_SUBST(with_libxml) +-- +1.8.3.1 + diff --git a/meta-oe/recipes-support/postgresql/files/0002-Predict-integer-overflow-to-avoid-buffer-overruns.patch b/meta-oe/recipes-support/postgresql/files/0002-Predict-integer-overflow-to-avoid-buffer-overruns.patch new file mode 100644 index 0000000000..c8b4c80aa3 --- /dev/null +++ b/meta-oe/recipes-support/postgresql/files/0002-Predict-integer-overflow-to-avoid-buffer-overruns.patch @@ -0,0 +1,605 @@ +From 12bbce15d93d7692ddff1405aa04b67f8a327f57 Mon Sep 17 00:00:00 2001 +From: Noah Misch <noah@leadboat.com> +Date: Mon, 17 Feb 2014 09:33:31 -0500 +Subject: [PATCH] Predict integer overflow to avoid buffer overruns. + +commit 12bbce15d93d7692ddff1405aa04b67f8a327f57 REL9_2_STABLE + +Several functions, mostly type input functions, calculated an allocation +size such that the calculation wrapped to a small positive value when +arguments implied a sufficiently-large requirement. Writes past the end +of the inadvertent small allocation followed shortly thereafter. +Coverity identified the path_in() vulnerability; code inspection led to +the rest. In passing, add check_stack_depth() to prevent stack overflow +in related functions. + +Back-patch to 8.4 (all supported versions). The non-comment hstore +changes touch code that did not exist in 8.4, so that part stops at 9.0. + +Noah Misch and Heikki Linnakangas, reviewed by Tom Lane. + +Security: CVE-2014-0064 + +Upstream-Status: Backport + +Signed-off-by: Kai Kang <kai.kang@windriver.com> +--- + contrib/hstore/hstore.h | 15 ++++++++++++--- + contrib/hstore/hstore_io.c | 21 +++++++++++++++++++++ + contrib/hstore/hstore_op.c | 15 +++++++++++++++ + contrib/intarray/_int.h | 2 ++ + contrib/intarray/_int_bool.c | 9 +++++++++ + contrib/ltree/ltree.h | 3 +++ + contrib/ltree/ltree_io.c | 11 +++++++++++ + contrib/ltree/ltxtquery_io.c | 13 ++++++++++++- + src/backend/utils/adt/geo_ops.c | 30 ++++++++++++++++++++++++++++-- + src/backend/utils/adt/tsquery.c | 7 ++++++- + src/backend/utils/adt/tsquery_util.c | 5 +++++ + src/backend/utils/adt/txid.c | 15 +++++---------- + src/backend/utils/adt/varbit.c | 32 ++++++++++++++++++++++++++++++-- + src/include/tsearch/ts_type.h | 3 +++ + src/include/utils/varbit.h | 7 +++++++ + 15 files changed, 169 insertions(+), 19 deletions(-) + +diff --git a/contrib/hstore/hstore.h b/contrib/hstore/hstore.h +index 8906397..4e55f6e 100644 +--- a/contrib/hstore/hstore.h ++++ b/contrib/hstore/hstore.h +@@ -49,9 +49,12 @@ typedef struct + } HStore; + + /* +- * it's not possible to get more than 2^28 items into an hstore, +- * so we reserve the top few bits of the size field. See hstore_compat.c +- * for one reason why. Some bits are left for future use here. ++ * It's not possible to get more than 2^28 items into an hstore, so we reserve ++ * the top few bits of the size field. See hstore_compat.c for one reason ++ * why. Some bits are left for future use here. MaxAllocSize makes the ++ * practical count limit slightly more than 2^28 / 3, or INT_MAX / 24, the ++ * limit for an hstore full of 4-byte keys and null values. Therefore, we ++ * don't explicitly check the format-imposed limit. + */ + #define HS_FLAG_NEWVERSION 0x80000000 + +@@ -59,6 +62,12 @@ typedef struct + #define HS_SETCOUNT(hsp_,c_) ((hsp_)->size_ = (c_) | HS_FLAG_NEWVERSION) + + ++/* ++ * "x" comes from an existing HS_COUNT() (as discussed, <= INT_MAX/24) or a ++ * Pairs array length (due to MaxAllocSize, <= INT_MAX/40). "lenstr" is no ++ * more than INT_MAX, that extreme case arising in hstore_from_arrays(). ++ * Therefore, this calculation is limited to about INT_MAX / 5 + INT_MAX. ++ */ + #define HSHRDSIZE (sizeof(HStore)) + #define CALCDATASIZE(x, lenstr) ( (x) * 2 * sizeof(HEntry) + HSHRDSIZE + (lenstr) ) + +diff --git a/contrib/hstore/hstore_io.c b/contrib/hstore/hstore_io.c +index dde6c4b..5bcdc95 100644 +--- a/contrib/hstore/hstore_io.c ++++ b/contrib/hstore/hstore_io.c +@@ -9,6 +9,7 @@ + #include "funcapi.h" + #include "libpq/pqformat.h" + #include "utils/lsyscache.h" ++#include "utils/memutils.h" + #include "utils/typcache.h" + + #include "hstore.h" +@@ -437,6 +438,11 @@ hstore_recv(PG_FUNCTION_ARGS) + PG_RETURN_POINTER(out); + } + ++ if (pcount < 0 || pcount > MaxAllocSize / sizeof(Pairs)) ++ ereport(ERROR, ++ (errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED), ++ errmsg("number of pairs (%d) exceeds the maximum allowed (%d)", ++ pcount, (int) (MaxAllocSize / sizeof(Pairs))))); + pairs = palloc(pcount * sizeof(Pairs)); + + for (i = 0; i < pcount; ++i) +@@ -552,6 +558,13 @@ hstore_from_arrays(PG_FUNCTION_ARGS) + TEXTOID, -1, false, 'i', + &key_datums, &key_nulls, &key_count); + ++ /* see discussion in hstoreArrayToPairs() */ ++ if (key_count > MaxAllocSize / sizeof(Pairs)) ++ ereport(ERROR, ++ (errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED), ++ errmsg("number of pairs (%d) exceeds the maximum allowed (%d)", ++ key_count, (int) (MaxAllocSize / sizeof(Pairs))))); ++ + /* value_array might be NULL */ + + if (PG_ARGISNULL(1)) +@@ -674,6 +687,13 @@ hstore_from_array(PG_FUNCTION_ARGS) + + count = in_count / 2; + ++ /* see discussion in hstoreArrayToPairs() */ ++ if (count > MaxAllocSize / sizeof(Pairs)) ++ ereport(ERROR, ++ (errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED), ++ errmsg("number of pairs (%d) exceeds the maximum allowed (%d)", ++ count, (int) (MaxAllocSize / sizeof(Pairs))))); ++ + pairs = palloc(count * sizeof(Pairs)); + + for (i = 0; i < count; ++i) +@@ -805,6 +825,7 @@ hstore_from_record(PG_FUNCTION_ARGS) + my_extra->ncolumns = ncolumns; + } + ++ Assert(ncolumns <= MaxTupleAttributeNumber); /* thus, no overflow */ + pairs = palloc(ncolumns * sizeof(Pairs)); + + if (rec) +diff --git a/contrib/hstore/hstore_op.c b/contrib/hstore/hstore_op.c +index fee2c3c..8de175a 100644 +--- a/contrib/hstore/hstore_op.c ++++ b/contrib/hstore/hstore_op.c +@@ -7,6 +7,7 @@ + #include "catalog/pg_type.h" + #include "funcapi.h" + #include "utils/builtins.h" ++#include "utils/memutils.h" + + #include "hstore.h" + +@@ -89,6 +90,19 @@ hstoreArrayToPairs(ArrayType *a, int *npairs) + return NULL; + } + ++ /* ++ * A text array uses at least eight bytes per element, so any overflow in ++ * "key_count * sizeof(Pairs)" is small enough for palloc() to catch. ++ * However, credible improvements to the array format could invalidate ++ * that assumption. Therefore, use an explicit check rather than relying ++ * on palloc() to complain. ++ */ ++ if (key_count > MaxAllocSize / sizeof(Pairs)) ++ ereport(ERROR, ++ (errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED), ++ errmsg("number of pairs (%d) exceeds the maximum allowed (%d)", ++ key_count, (int) (MaxAllocSize / sizeof(Pairs))))); ++ + key_pairs = palloc(sizeof(Pairs) * key_count); + + for (i = 0, j = 0; i < key_count; i++) +@@ -647,6 +661,7 @@ hstore_slice_to_hstore(PG_FUNCTION_ARGS) + PG_RETURN_POINTER(out); + } + ++ /* hstoreArrayToPairs() checked overflow */ + out_pairs = palloc(sizeof(Pairs) * nkeys); + bufsiz = 0; + +diff --git a/contrib/intarray/_int.h b/contrib/intarray/_int.h +index 11c0698..755cd9e 100644 +--- a/contrib/intarray/_int.h ++++ b/contrib/intarray/_int.h +@@ -5,6 +5,7 @@ + #define ___INT_H__ + + #include "utils/array.h" ++#include "utils/memutils.h" + + /* number ranges for compression */ + #define MAXNUMRANGE 100 +@@ -137,6 +138,7 @@ typedef struct QUERYTYPE + + #define HDRSIZEQT offsetof(QUERYTYPE, items) + #define COMPUTESIZE(size) ( HDRSIZEQT + (size) * sizeof(ITEM) ) ++#define QUERYTYPEMAXITEMS ((MaxAllocSize - HDRSIZEQT) / sizeof(ITEM)) + #define GETQUERY(x) ( (x)->items ) + + /* "type" codes for ITEM */ +diff --git a/contrib/intarray/_int_bool.c b/contrib/intarray/_int_bool.c +index 4e63f6d..62294d1 100644 +--- a/contrib/intarray/_int_bool.c ++++ b/contrib/intarray/_int_bool.c +@@ -451,6 +451,9 @@ boolop(PG_FUNCTION_ARGS) + static void + findoprnd(ITEM *ptr, int4 *pos) + { ++ /* since this function recurses, it could be driven to stack overflow. */ ++ check_stack_depth(); ++ + #ifdef BS_DEBUG + elog(DEBUG3, (ptr[*pos].type == OPR) ? + "%d %c" : "%d %d", *pos, ptr[*pos].val); +@@ -511,7 +514,13 @@ bqarr_in(PG_FUNCTION_ARGS) + (errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("empty query"))); + ++ if (state.num > QUERYTYPEMAXITEMS) ++ ereport(ERROR, ++ (errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED), ++ errmsg("number of query items (%d) exceeds the maximum allowed (%d)", ++ state.num, (int) QUERYTYPEMAXITEMS))); + commonlen = COMPUTESIZE(state.num); ++ + query = (QUERYTYPE *) palloc(commonlen); + SET_VARSIZE(query, commonlen); + query->size = state.num; +diff --git a/contrib/ltree/ltree.h b/contrib/ltree/ltree.h +index aec4458..49e9907 100644 +--- a/contrib/ltree/ltree.h ++++ b/contrib/ltree/ltree.h +@@ -5,6 +5,7 @@ + + #include "fmgr.h" + #include "tsearch/ts_locale.h" ++#include "utils/memutils.h" + + typedef struct + { +@@ -111,6 +112,8 @@ typedef struct + + #define HDRSIZEQT MAXALIGN(VARHDRSZ + sizeof(int4)) + #define COMPUTESIZE(size,lenofoperand) ( HDRSIZEQT + (size) * sizeof(ITEM) + (lenofoperand) ) ++#define LTXTQUERY_TOO_BIG(size,lenofoperand) \ ++ ((size) > (MaxAllocSize - HDRSIZEQT - (lenofoperand)) / sizeof(ITEM)) + #define GETQUERY(x) (ITEM*)( (char*)(x)+HDRSIZEQT ) + #define GETOPERAND(x) ( (char*)GETQUERY(x) + ((ltxtquery*)x)->size * sizeof(ITEM) ) + +diff --git a/contrib/ltree/ltree_io.c b/contrib/ltree/ltree_io.c +index 3e88b81..d64debb 100644 +--- a/contrib/ltree/ltree_io.c ++++ b/contrib/ltree/ltree_io.c +@@ -8,6 +8,7 @@ + #include <ctype.h> + + #include "ltree.h" ++#include "utils/memutils.h" + #include "crc32.h" + + PG_FUNCTION_INFO_V1(ltree_in); +@@ -64,6 +65,11 @@ ltree_in(PG_FUNCTION_ARGS) + ptr += charlen; + } + ++ if (num + 1 > MaxAllocSize / sizeof(nodeitem)) ++ ereport(ERROR, ++ (errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED), ++ errmsg("number of levels (%d) exceeds the maximum allowed (%d)", ++ num + 1, (int) (MaxAllocSize / sizeof(nodeitem))))); + list = lptr = (nodeitem *) palloc(sizeof(nodeitem) * (num + 1)); + ptr = buf; + while (*ptr) +@@ -228,6 +234,11 @@ lquery_in(PG_FUNCTION_ARGS) + } + + num++; ++ if (num > MaxAllocSize / ITEMSIZE) ++ ereport(ERROR, ++ (errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED), ++ errmsg("number of levels (%d) exceeds the maximum allowed (%d)", ++ num, (int) (MaxAllocSize / ITEMSIZE)))); + curqlevel = tmpql = (lquery_level *) palloc0(ITEMSIZE * num); + ptr = buf; + while (*ptr) +diff --git a/contrib/ltree/ltxtquery_io.c b/contrib/ltree/ltxtquery_io.c +index 826f4e1..13ea58d 100644 +--- a/contrib/ltree/ltxtquery_io.c ++++ b/contrib/ltree/ltxtquery_io.c +@@ -9,6 +9,7 @@ + + #include "crc32.h" + #include "ltree.h" ++#include "miscadmin.h" + + PG_FUNCTION_INFO_V1(ltxtq_in); + Datum ltxtq_in(PG_FUNCTION_ARGS); +@@ -213,6 +214,9 @@ makepol(QPRS_STATE *state) + int4 lenstack = 0; + uint16 flag = 0; + ++ /* since this function recurses, it could be driven to stack overflow */ ++ check_stack_depth(); ++ + while ((type = gettoken_query(state, &val, &lenval, &strval, &flag)) != END) + { + switch (type) +@@ -277,6 +281,9 @@ makepol(QPRS_STATE *state) + static void + findoprnd(ITEM *ptr, int4 *pos) + { ++ /* since this function recurses, it could be driven to stack overflow. */ ++ check_stack_depth(); ++ + if (ptr[*pos].type == VAL || ptr[*pos].type == VALTRUE) + { + ptr[*pos].left = 0; +@@ -341,8 +348,12 @@ queryin(char *buf) + errmsg("syntax error"), + errdetail("Empty query."))); + +- /* make finish struct */ ++ if (LTXTQUERY_TOO_BIG(state.num, state.sumlen)) ++ ereport(ERROR, ++ (errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED), ++ errmsg("ltxtquery is too large"))); + commonlen = COMPUTESIZE(state.num, state.sumlen); ++ + query = (ltxtquery *) palloc(commonlen); + SET_VARSIZE(query, commonlen); + query->size = state.num; +diff --git a/src/backend/utils/adt/geo_ops.c b/src/backend/utils/adt/geo_ops.c +index ac7b4b8..7ebcaaa 100644 +--- a/src/backend/utils/adt/geo_ops.c ++++ b/src/backend/utils/adt/geo_ops.c +@@ -1403,6 +1403,7 @@ path_in(PG_FUNCTION_ARGS) + char *s; + int npts; + int size; ++ int base_size; + int depth = 0; + + if ((npts = pair_count(str, ',')) <= 0) +@@ -1421,7 +1422,15 @@ path_in(PG_FUNCTION_ARGS) + depth++; + } + +- size = offsetof(PATH, p[0]) +sizeof(path->p[0]) * npts; ++ base_size = sizeof(path->p[0]) * npts; ++ size = offsetof(PATH, p[0]) + base_size; ++ ++ /* Check for integer overflow */ ++ if (base_size / npts != sizeof(path->p[0]) || size <= base_size) ++ ereport(ERROR, ++ (errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED), ++ errmsg("too many points requested"))); ++ + path = (PATH *) palloc(size); + + SET_VARSIZE(path, size); +@@ -3465,6 +3474,7 @@ poly_in(PG_FUNCTION_ARGS) + POLYGON *poly; + int npts; + int size; ++ int base_size; + int isopen; + char *s; + +@@ -3473,7 +3483,15 @@ poly_in(PG_FUNCTION_ARGS) + (errcode(ERRCODE_INVALID_TEXT_REPRESENTATION), + errmsg("invalid input syntax for type polygon: \"%s\"", str))); + +- size = offsetof(POLYGON, p[0]) +sizeof(poly->p[0]) * npts; ++ base_size = sizeof(poly->p[0]) * npts; ++ size = offsetof(POLYGON, p[0]) + base_size; ++ ++ /* Check for integer overflow */ ++ if (base_size / npts != sizeof(poly->p[0]) || size <= base_size) ++ ereport(ERROR, ++ (errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED), ++ errmsg("too many points requested"))); ++ + poly = (POLYGON *) palloc0(size); /* zero any holes */ + + SET_VARSIZE(poly, size); +@@ -4379,6 +4397,10 @@ path_poly(PG_FUNCTION_ARGS) + (errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("open path cannot be converted to polygon"))); + ++ /* ++ * Never overflows: the old size fit in MaxAllocSize, and the new size is ++ * just a small constant larger. ++ */ + size = offsetof(POLYGON, p[0]) +sizeof(poly->p[0]) * path->npts; + poly = (POLYGON *) palloc(size); + +@@ -4484,6 +4506,10 @@ poly_path(PG_FUNCTION_ARGS) + int size; + int i; + ++ /* ++ * Never overflows: the old size fit in MaxAllocSize, and the new size is ++ * smaller by a small constant. ++ */ + size = offsetof(PATH, p[0]) +sizeof(path->p[0]) * poly->npts; + path = (PATH *) palloc(size); + +diff --git a/src/backend/utils/adt/tsquery.c b/src/backend/utils/adt/tsquery.c +index 6e1f8cf..1322b5e 100644 +--- a/src/backend/utils/adt/tsquery.c ++++ b/src/backend/utils/adt/tsquery.c +@@ -515,8 +515,13 @@ parse_tsquery(char *buf, + return query; + } + +- /* Pack the QueryItems in the final TSQuery struct to return to caller */ ++ if (TSQUERY_TOO_BIG(list_length(state.polstr), state.sumlen)) ++ ereport(ERROR, ++ (errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED), ++ errmsg("tsquery is too large"))); + commonlen = COMPUTESIZE(list_length(state.polstr), state.sumlen); ++ ++ /* Pack the QueryItems in the final TSQuery struct to return to caller */ + query = (TSQuery) palloc0(commonlen); + SET_VARSIZE(query, commonlen); + query->size = list_length(state.polstr); +diff --git a/src/backend/utils/adt/tsquery_util.c b/src/backend/utils/adt/tsquery_util.c +index 0724d33..9003702 100644 +--- a/src/backend/utils/adt/tsquery_util.c ++++ b/src/backend/utils/adt/tsquery_util.c +@@ -333,6 +333,11 @@ QTN2QT(QTNode *in) + QTN2QTState state; + + cntsize(in, &sumlen, &nnode); ++ ++ if (TSQUERY_TOO_BIG(nnode, sumlen)) ++ ereport(ERROR, ++ (errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED), ++ errmsg("tsquery is too large"))); + len = COMPUTESIZE(nnode, sumlen); + + out = (TSQuery) palloc0(len); +diff --git a/src/backend/utils/adt/txid.c b/src/backend/utils/adt/txid.c +index 08a8c89..c71daaf 100644 +--- a/src/backend/utils/adt/txid.c ++++ b/src/backend/utils/adt/txid.c +@@ -27,6 +27,7 @@ + #include "miscadmin.h" + #include "libpq/pqformat.h" + #include "utils/builtins.h" ++#include "utils/memutils.h" + #include "utils/snapmgr.h" + + +@@ -66,6 +67,8 @@ typedef struct + + #define TXID_SNAPSHOT_SIZE(nxip) \ + (offsetof(TxidSnapshot, xip) + sizeof(txid) * (nxip)) ++#define TXID_SNAPSHOT_MAX_NXIP \ ++ ((MaxAllocSize - offsetof(TxidSnapshot, xip)) / sizeof(txid)) + + /* + * Epoch values from xact.c +@@ -445,20 +448,12 @@ txid_snapshot_recv(PG_FUNCTION_ARGS) + txid last = 0; + int nxip; + int i; +- int avail; +- int expect; + txid xmin, + xmax; + +- /* +- * load nxip and check for nonsense. +- * +- * (nxip > avail) check is against int overflows in 'expect'. +- */ ++ /* load and validate nxip */ + nxip = pq_getmsgint(buf, 4); +- avail = buf->len - buf->cursor; +- expect = 8 + 8 + nxip * 8; +- if (nxip < 0 || nxip > avail || expect > avail) ++ if (nxip < 0 || nxip > TXID_SNAPSHOT_MAX_NXIP) + goto bad_format; + + xmin = pq_getmsgint64(buf); +diff --git a/src/backend/utils/adt/varbit.c b/src/backend/utils/adt/varbit.c +index 2bcf5b8..0deefda 100644 +--- a/src/backend/utils/adt/varbit.c ++++ b/src/backend/utils/adt/varbit.c +@@ -148,12 +148,22 @@ bit_in(PG_FUNCTION_ARGS) + sp = input_string; + } + ++ /* ++ * Determine bitlength from input string. MaxAllocSize ensures a regular ++ * input is small enough, but we must check hex input. ++ */ + slen = strlen(sp); +- /* Determine bitlength from input string */ + if (bit_not_hex) + bitlen = slen; + else ++ { ++ if (slen > VARBITMAXLEN / 4) ++ ereport(ERROR, ++ (errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED), ++ errmsg("bit string length exceeds the maximum allowed (%d)", ++ VARBITMAXLEN))); + bitlen = slen * 4; ++ } + + /* + * Sometimes atttypmod is not supplied. If it is supplied we need to make +@@ -450,12 +460,22 @@ varbit_in(PG_FUNCTION_ARGS) + sp = input_string; + } + ++ /* ++ * Determine bitlength from input string. MaxAllocSize ensures a regular ++ * input is small enough, but we must check hex input. ++ */ + slen = strlen(sp); +- /* Determine bitlength from input string */ + if (bit_not_hex) + bitlen = slen; + else ++ { ++ if (slen > VARBITMAXLEN / 4) ++ ereport(ERROR, ++ (errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED), ++ errmsg("bit string length exceeds the maximum allowed (%d)", ++ VARBITMAXLEN))); + bitlen = slen * 4; ++ } + + /* + * Sometimes atttypmod is not supplied. If it is supplied we need to make +@@ -535,6 +555,9 @@ varbit_in(PG_FUNCTION_ARGS) + /* + * varbit_out - + * Prints the string as bits to preserve length accurately ++ * ++ * XXX varbit_recv() and hex input to varbit_in() can load a value that this ++ * cannot emit. Consider using hex output for such values. + */ + Datum + varbit_out(PG_FUNCTION_ARGS) +@@ -944,6 +967,11 @@ bit_catenate(VarBit *arg1, VarBit *arg2) + bitlen1 = VARBITLEN(arg1); + bitlen2 = VARBITLEN(arg2); + ++ if (bitlen1 > VARBITMAXLEN - bitlen2) ++ ereport(ERROR, ++ (errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED), ++ errmsg("bit string length exceeds the maximum allowed (%d)", ++ VARBITMAXLEN))); + bytelen = VARBITTOTALLEN(bitlen1 + bitlen2); + + result = (VarBit *) palloc(bytelen); +diff --git a/src/include/tsearch/ts_type.h b/src/include/tsearch/ts_type.h +index 3adc336..9ee5610 100644 +--- a/src/include/tsearch/ts_type.h ++++ b/src/include/tsearch/ts_type.h +@@ -13,6 +13,7 @@ + #define _PG_TSTYPE_H_ + + #include "fmgr.h" ++#include "utils/memutils.h" + #include "utils/pg_crc.h" + + +@@ -244,6 +245,8 @@ typedef TSQueryData *TSQuery; + * QueryItems, and lenofoperand is the total length of all operands + */ + #define COMPUTESIZE(size, lenofoperand) ( HDRSIZETQ + (size) * sizeof(QueryItem) + (lenofoperand) ) ++#define TSQUERY_TOO_BIG(size, lenofoperand) \ ++ ((size) > (MaxAllocSize - HDRSIZETQ - (lenofoperand)) / sizeof(QueryItem)) + + /* Returns a pointer to the first QueryItem in a TSQuery */ + #define GETQUERY(x) ((QueryItem*)( (char*)(x)+HDRSIZETQ )) +diff --git a/src/include/utils/varbit.h b/src/include/utils/varbit.h +index 52dca8b..61531a8 100644 +--- a/src/include/utils/varbit.h ++++ b/src/include/utils/varbit.h +@@ -15,6 +15,8 @@ + #ifndef VARBIT_H + #define VARBIT_H + ++#include <limits.h> ++ + #include "fmgr.h" + + /* +@@ -53,6 +55,11 @@ typedef struct + /* Number of bytes needed to store a bit string of a given length */ + #define VARBITTOTALLEN(BITLEN) (((BITLEN) + BITS_PER_BYTE-1)/BITS_PER_BYTE + \ + VARHDRSZ + VARBITHDRSZ) ++/* ++ * Maximum number of bits. Several code sites assume no overflow from ++ * computing bitlen + X; VARBITTOTALLEN() has the largest such X. ++ */ ++#define VARBITMAXLEN (INT_MAX - BITS_PER_BYTE + 1) + /* pointer beyond the end of the bit string (like end() in STL containers) */ + #define VARBITEND(PTR) (((bits8 *) (PTR)) + VARSIZE(PTR)) + /* Mask that will cover exactly one byte, i.e. BITS_PER_BYTE bits */ +-- +1.7.5.4 + diff --git a/meta-oe/recipes-support/postgresql/files/0003-Shore-up-ADMIN-OPTION-restrictions.patch b/meta-oe/recipes-support/postgresql/files/0003-Shore-up-ADMIN-OPTION-restrictions.patch new file mode 100644 index 0000000000..abbe142495 --- /dev/null +++ b/meta-oe/recipes-support/postgresql/files/0003-Shore-up-ADMIN-OPTION-restrictions.patch @@ -0,0 +1,273 @@ +From 15a8f97b9d16aaf659f58c981242b9da591cf24c Mon Sep 17 00:00:00 2001 +From: Noah Misch <noah@leadboat.com> +Date: Mon, 17 Feb 2014 09:33:31 -0500 +Subject: [PATCH] Shore up ADMIN OPTION restrictions. + +commit 15a8f97b9d16aaf659f58c981242b9da591cf24c REL9_2_STABLE + +Granting a role without ADMIN OPTION is supposed to prevent the grantee +from adding or removing members from the granted role. Issuing SET ROLE +before the GRANT bypassed that, because the role itself had an implicit +right to add or remove members. Plug that hole by recognizing that +implicit right only when the session user matches the current role. +Additionally, do not recognize it during a security-restricted operation +or during execution of a SECURITY DEFINER function. The restriction on +SECURITY DEFINER is not security-critical. However, it seems best for a +user testing his own SECURITY DEFINER function to see the same behavior +others will see. Back-patch to 8.4 (all supported versions). + +The SQL standards do not conflate roles and users as PostgreSQL does; +only SQL roles have members, and only SQL users initiate sessions. An +application using PostgreSQL users and roles as SQL users and roles will +never attempt to grant membership in the role that is the session user, +so the implicit right to add or remove members will never arise. + +The security impact was mostly that a role member could revoke access +from others, contrary to the wishes of his own grantor. Unapproved role +member additions are less notable, because the member can still largely +achieve that by creating a view or a SECURITY DEFINER function. + +Reviewed by Andres Freund and Tom Lane. Reported, independently, by +Jonas Sundman and Noah Misch. + +Security: CVE-2014-0060 + + +Upstream-Status: Backport + +Signed-off-by: Kai Kang <kai.kang@windriver.com> +--- + doc/src/sgml/ref/grant.sgml | 12 ++++--- + src/backend/commands/user.c | 11 ++++++- + src/backend/utils/adt/acl.c | 50 ++++++++++++++++++++++++------ + src/test/regress/expected/privileges.out | 36 +++++++++++++++++++++- + src/test/regress/sql/privileges.sql | 29 ++++++++++++++++- + 5 files changed, 120 insertions(+), 18 deletions(-) + +diff --git a/doc/src/sgml/ref/grant.sgml b/doc/src/sgml/ref/grant.sgml +index fb81af4..2b5a843 100644 +--- a/doc/src/sgml/ref/grant.sgml ++++ b/doc/src/sgml/ref/grant.sgml +@@ -396,11 +396,13 @@ GRANT <replaceable class="PARAMETER">role_name</replaceable> [, ...] TO <replace + <para> + If <literal>WITH ADMIN OPTION</literal> is specified, the member can + in turn grant membership in the role to others, and revoke membership +- in the role as well. Without the admin option, ordinary users cannot do +- that. However, +- database superusers can grant or revoke membership in any role to anyone. +- Roles having <literal>CREATEROLE</> privilege can grant or revoke +- membership in any role that is not a superuser. ++ in the role as well. Without the admin option, ordinary users cannot ++ do that. A role is not considered to hold <literal>WITH ADMIN ++ OPTION</literal> on itself, but it may grant or revoke membership in ++ itself from a database session where the session user matches the ++ role. Database superusers can grant or revoke membership in any role ++ to anyone. Roles having <literal>CREATEROLE</> privilege can grant ++ or revoke membership in any role that is not a superuser. + </para> + + <para> +diff --git a/src/backend/commands/user.c b/src/backend/commands/user.c +index a22092c..39bf172 100644 +--- a/src/backend/commands/user.c ++++ b/src/backend/commands/user.c +@@ -1334,7 +1334,16 @@ AddRoleMems(const char *rolename, Oid roleid, + rolename))); + } + +- /* XXX not sure about this check */ ++ /* ++ * The role membership grantor of record has little significance at ++ * present. Nonetheless, inasmuch as users might look to it for a crude ++ * audit trail, let only superusers impute the grant to a third party. ++ * ++ * Before lifting this restriction, give the member == role case of ++ * is_admin_of_role() a fresh look. Ensure that the current role cannot ++ * use an explicit grantor specification to take advantage of the session ++ * user's self-admin right. ++ */ + if (grantorId != GetUserId() && !superuser()) + ereport(ERROR, + (errcode(ERRCODE_INSUFFICIENT_PRIVILEGE), +diff --git a/src/backend/utils/adt/acl.c b/src/backend/utils/adt/acl.c +index 1d6ae8b..9a52edb 100644 +--- a/src/backend/utils/adt/acl.c ++++ b/src/backend/utils/adt/acl.c +@@ -4580,6 +4580,11 @@ pg_role_aclcheck(Oid role_oid, Oid roleid, AclMode mode) + { + if (mode & ACL_GRANT_OPTION_FOR(ACL_CREATE)) + { ++ /* ++ * XXX For roleid == role_oid, is_admin_of_role() also examines the ++ * session and call stack. That suits two-argument pg_has_role(), but ++ * it gives the three-argument version a lamentable whimsy. ++ */ + if (is_admin_of_role(roleid, role_oid)) + return ACLCHECK_OK; + } +@@ -4897,11 +4902,9 @@ is_member_of_role_nosuper(Oid member, Oid role) + + + /* +- * Is member an admin of role (directly or indirectly)? That is, is it +- * a member WITH ADMIN OPTION? +- * +- * We could cache the result as for is_member_of_role, but currently this +- * is not used in any performance-critical paths, so we don't. ++ * Is member an admin of role? That is, is member the role itself (subject to ++ * restrictions below), a member (directly or indirectly) WITH ADMIN OPTION, ++ * or a superuser? + */ + bool + is_admin_of_role(Oid member, Oid role) +@@ -4910,14 +4913,41 @@ is_admin_of_role(Oid member, Oid role) + List *roles_list; + ListCell *l; + +- /* Fast path for simple case */ +- if (member == role) +- return true; +- +- /* Superusers have every privilege, so are part of every role */ + if (superuser_arg(member)) + return true; + ++ if (member == role) ++ /* ++ * A role can admin itself when it matches the session user and we're ++ * outside any security-restricted operation, SECURITY DEFINER or ++ * similar context. SQL-standard roles cannot self-admin. However, ++ * SQL-standard users are distinct from roles, and they are not ++ * grantable like roles: PostgreSQL's role-user duality extends the ++ * standard. Checking for a session user match has the effect of ++ * letting a role self-admin only when it's conspicuously behaving ++ * like a user. Note that allowing self-admin under a mere SET ROLE ++ * would make WITH ADMIN OPTION largely irrelevant; any member could ++ * SET ROLE to issue the otherwise-forbidden command. ++ * ++ * Withholding self-admin in a security-restricted operation prevents ++ * object owners from harnessing the session user identity during ++ * administrative maintenance. Suppose Alice owns a database, has ++ * issued "GRANT alice TO bob", and runs a daily ANALYZE. Bob creates ++ * an alice-owned SECURITY DEFINER function that issues "REVOKE alice ++ * FROM carol". If he creates an expression index calling that ++ * function, Alice will attempt the REVOKE during each ANALYZE. ++ * Checking InSecurityRestrictedOperation() thwarts that attack. ++ * ++ * Withholding self-admin in SECURITY DEFINER functions makes their ++ * behavior independent of the calling user. There's no security or ++ * SQL-standard-conformance need for that restriction, though. ++ * ++ * A role cannot have actual WITH ADMIN OPTION on itself, because that ++ * would imply a membership loop. Therefore, we're done either way. ++ */ ++ return member == GetSessionUserId() && ++ !InLocalUserIdChange() && !InSecurityRestrictedOperation(); ++ + /* + * Find all the roles that member is a member of, including multi-level + * recursion. We build a list in the same way that is_member_of_role does +diff --git a/src/test/regress/expected/privileges.out b/src/test/regress/expected/privileges.out +index e8930cb..bc6d731 100644 +--- a/src/test/regress/expected/privileges.out ++++ b/src/test/regress/expected/privileges.out +@@ -32,7 +32,7 @@ ALTER GROUP regressgroup1 ADD USER regressuser4; + ALTER GROUP regressgroup2 ADD USER regressuser2; -- duplicate + NOTICE: role "regressuser2" is already a member of role "regressgroup2" + ALTER GROUP regressgroup2 DROP USER regressuser2; +-ALTER GROUP regressgroup2 ADD USER regressuser4; ++GRANT regressgroup2 TO regressuser4 WITH ADMIN OPTION; + -- test owner privileges + SET SESSION AUTHORIZATION regressuser1; + SELECT session_user, current_user; +@@ -929,6 +929,40 @@ SELECT has_table_privilege('regressuser1', 'atest4', 'SELECT WITH GRANT OPTION') + t + (1 row) + ++-- Admin options ++SET SESSION AUTHORIZATION regressuser4; ++CREATE FUNCTION dogrant_ok() RETURNS void LANGUAGE sql SECURITY DEFINER AS ++ 'GRANT regressgroup2 TO regressuser5'; ++GRANT regressgroup2 TO regressuser5; -- ok: had ADMIN OPTION ++SET ROLE regressgroup2; ++GRANT regressgroup2 TO regressuser5; -- fails: SET ROLE suspended privilege ++ERROR: must have admin option on role "regressgroup2" ++SET SESSION AUTHORIZATION regressuser1; ++GRANT regressgroup2 TO regressuser5; -- fails: no ADMIN OPTION ++ERROR: must have admin option on role "regressgroup2" ++SELECT dogrant_ok(); -- ok: SECURITY DEFINER conveys ADMIN ++NOTICE: role "regressuser5" is already a member of role "regressgroup2" ++CONTEXT: SQL function "dogrant_ok" statement 1 ++ dogrant_ok ++------------ ++ ++(1 row) ++ ++SET ROLE regressgroup2; ++GRANT regressgroup2 TO regressuser5; -- fails: SET ROLE did not help ++ERROR: must have admin option on role "regressgroup2" ++SET SESSION AUTHORIZATION regressgroup2; ++GRANT regressgroup2 TO regressuser5; -- ok: a role can self-admin ++NOTICE: role "regressuser5" is already a member of role "regressgroup2" ++CREATE FUNCTION dogrant_fails() RETURNS void LANGUAGE sql SECURITY DEFINER AS ++ 'GRANT regressgroup2 TO regressuser5'; ++SELECT dogrant_fails(); -- fails: no self-admin in SECURITY DEFINER ++ERROR: must have admin option on role "regressgroup2" ++CONTEXT: SQL function "dogrant_fails" statement 1 ++DROP FUNCTION dogrant_fails(); ++SET SESSION AUTHORIZATION regressuser4; ++DROP FUNCTION dogrant_ok(); ++REVOKE regressgroup2 FROM regressuser5; + -- has_sequence_privilege tests + \c - + CREATE SEQUENCE x_seq; +diff --git a/src/test/regress/sql/privileges.sql b/src/test/regress/sql/privileges.sql +index d4d328e..5f1018a 100644 +--- a/src/test/regress/sql/privileges.sql ++++ b/src/test/regress/sql/privileges.sql +@@ -37,7 +37,7 @@ ALTER GROUP regressgroup1 ADD USER regressuser4; + + ALTER GROUP regressgroup2 ADD USER regressuser2; -- duplicate + ALTER GROUP regressgroup2 DROP USER regressuser2; +-ALTER GROUP regressgroup2 ADD USER regressuser4; ++GRANT regressgroup2 TO regressuser4 WITH ADMIN OPTION; + + -- test owner privileges + +@@ -581,6 +581,33 @@ SELECT has_table_privilege('regressuser3', 'atest4', 'SELECT'); -- false + SELECT has_table_privilege('regressuser1', 'atest4', 'SELECT WITH GRANT OPTION'); -- true + + ++-- Admin options ++ ++SET SESSION AUTHORIZATION regressuser4; ++CREATE FUNCTION dogrant_ok() RETURNS void LANGUAGE sql SECURITY DEFINER AS ++ 'GRANT regressgroup2 TO regressuser5'; ++GRANT regressgroup2 TO regressuser5; -- ok: had ADMIN OPTION ++SET ROLE regressgroup2; ++GRANT regressgroup2 TO regressuser5; -- fails: SET ROLE suspended privilege ++ ++SET SESSION AUTHORIZATION regressuser1; ++GRANT regressgroup2 TO regressuser5; -- fails: no ADMIN OPTION ++SELECT dogrant_ok(); -- ok: SECURITY DEFINER conveys ADMIN ++SET ROLE regressgroup2; ++GRANT regressgroup2 TO regressuser5; -- fails: SET ROLE did not help ++ ++SET SESSION AUTHORIZATION regressgroup2; ++GRANT regressgroup2 TO regressuser5; -- ok: a role can self-admin ++CREATE FUNCTION dogrant_fails() RETURNS void LANGUAGE sql SECURITY DEFINER AS ++ 'GRANT regressgroup2 TO regressuser5'; ++SELECT dogrant_fails(); -- fails: no self-admin in SECURITY DEFINER ++DROP FUNCTION dogrant_fails(); ++ ++SET SESSION AUTHORIZATION regressuser4; ++DROP FUNCTION dogrant_ok(); ++REVOKE regressgroup2 FROM regressuser5; ++ ++ + -- has_sequence_privilege tests + \c - + +-- +1.7.5.4 + diff --git a/meta-oe/recipes-support/postgresql/files/0004-Prevent-privilege-escalation-in-explicit-calls-to-PL.patch b/meta-oe/recipes-support/postgresql/files/0004-Prevent-privilege-escalation-in-explicit-calls-to-PL.patch new file mode 100644 index 0000000000..cc2183a2ab --- /dev/null +++ b/meta-oe/recipes-support/postgresql/files/0004-Prevent-privilege-escalation-in-explicit-calls-to-PL.patch @@ -0,0 +1,267 @@ +From 1d701d28a796ea2d1a4d2be9e9ee06209eaea040 Mon Sep 17 00:00:00 2001 +From: Noah Misch <noah@leadboat.com> +Date: Mon, 17 Feb 2014 09:33:31 -0500 +Subject: [PATCH] Prevent privilege escalation in explicit calls to PL + validators. + +commit 1d701d28a796ea2d1a4d2be9e9ee06209eaea040 REL9_2_STABLE + +The primary role of PL validators is to be called implicitly during +CREATE FUNCTION, but they are also normal functions that a user can call +explicitly. Add a permissions check to each validator to ensure that a +user cannot use explicit validator calls to achieve things he could not +otherwise achieve. Back-patch to 8.4 (all supported versions). +Non-core procedural language extensions ought to make the same two-line +change to their own validators. + +Andres Freund, reviewed by Tom Lane and Noah Misch. + +Security: CVE-2014-0061 + +Upstream-Status: Backport +Signed-off-by: Kai Kang <kai.kang@windriver.com> +--- + doc/src/sgml/plhandler.sgml | 5 ++- + src/backend/catalog/pg_proc.c | 9 ++++ + src/backend/commands/functioncmds.c | 1 - + src/backend/utils/fmgr/fmgr.c | 84 +++++++++++++++++++++++++++++++++++ + src/include/fmgr.h | 1 + + src/pl/plperl/plperl.c | 4 ++ + src/pl/plpgsql/src/pl_handler.c | 3 + + src/pl/plpython/plpy_main.c | 4 ++ + 8 files changed, 109 insertions(+), 2 deletions(-) + +diff --git a/doc/src/sgml/plhandler.sgml b/doc/src/sgml/plhandler.sgml +index 024ef9d..aa4bba3 100644 +--- a/doc/src/sgml/plhandler.sgml ++++ b/doc/src/sgml/plhandler.sgml +@@ -178,7 +178,10 @@ CREATE LANGUAGE plsample + or updated a function written in the procedural language. + The passed-in OID is the OID of the function's <classname>pg_proc</> + row. The validator must fetch this row in the usual way, and do +- whatever checking is appropriate. Typical checks include verifying ++ whatever checking is appropriate. ++ First, call <function>CheckFunctionValidatorAccess()</> to diagnose ++ explicit calls to the validator that the user could not achieve through ++ <command>CREATE FUNCTION</>. Typical checks then include verifying + that the function's argument and result types are supported by the + language, and that the function's body is syntactically correct + in the language. If the validator finds the function to be okay, +diff --git a/src/backend/catalog/pg_proc.c b/src/backend/catalog/pg_proc.c +index 3812408..3124868 100644 +--- a/src/backend/catalog/pg_proc.c ++++ b/src/backend/catalog/pg_proc.c +@@ -718,6 +718,9 @@ fmgr_internal_validator(PG_FUNCTION_ARGS) + Datum tmp; + char *prosrc; + ++ if (!CheckFunctionValidatorAccess(fcinfo->flinfo->fn_oid, funcoid)) ++ PG_RETURN_VOID(); ++ + /* + * We do not honor check_function_bodies since it's unlikely the function + * name will be found later if it isn't there now. +@@ -763,6 +766,9 @@ fmgr_c_validator(PG_FUNCTION_ARGS) + char *prosrc; + char *probin; + ++ if (!CheckFunctionValidatorAccess(fcinfo->flinfo->fn_oid, funcoid)) ++ PG_RETURN_VOID(); ++ + /* + * It'd be most consistent to skip the check if !check_function_bodies, + * but the purpose of that switch is to be helpful for pg_dump loading, +@@ -814,6 +820,9 @@ fmgr_sql_validator(PG_FUNCTION_ARGS) + bool haspolyarg; + int i; + ++ if (!CheckFunctionValidatorAccess(fcinfo->flinfo->fn_oid, funcoid)) ++ PG_RETURN_VOID(); ++ + tuple = SearchSysCache1(PROCOID, ObjectIdGetDatum(funcoid)); + if (!HeapTupleIsValid(tuple)) + elog(ERROR, "cache lookup failed for function %u", funcoid); +diff --git a/src/backend/commands/functioncmds.c b/src/backend/commands/functioncmds.c +index 9ba6dd8..ea74b5e 100644 +--- a/src/backend/commands/functioncmds.c ++++ b/src/backend/commands/functioncmds.c +@@ -997,7 +997,6 @@ CreateFunction(CreateFunctionStmt *stmt, const char *queryString) + prorows); + } + +- + /* + * Guts of function deletion. + * +diff --git a/src/backend/utils/fmgr/fmgr.c b/src/backend/utils/fmgr/fmgr.c +index 2ec63fa..8d6f183 100644 +--- a/src/backend/utils/fmgr/fmgr.c ++++ b/src/backend/utils/fmgr/fmgr.c +@@ -24,6 +24,7 @@ + #include "miscadmin.h" + #include "nodes/nodeFuncs.h" + #include "pgstat.h" ++#include "utils/acl.h" + #include "utils/builtins.h" + #include "utils/fmgrtab.h" + #include "utils/guc.h" +@@ -2445,3 +2446,86 @@ get_call_expr_arg_stable(Node *expr, int argnum) + + return false; + } ++ ++/*------------------------------------------------------------------------- ++ * Support routines for procedural language implementations ++ *------------------------------------------------------------------------- ++ */ ++ ++/* ++ * Verify that a validator is actually associated with the language of a ++ * particular function and that the user has access to both the language and ++ * the function. All validators should call this before doing anything ++ * substantial. Doing so ensures a user cannot achieve anything with explicit ++ * calls to validators that he could not achieve with CREATE FUNCTION or by ++ * simply calling an existing function. ++ * ++ * When this function returns false, callers should skip all validation work ++ * and call PG_RETURN_VOID(). This never happens at present; it is reserved ++ * for future expansion. ++ * ++ * In particular, checking that the validator corresponds to the function's ++ * language allows untrusted language validators to assume they process only ++ * superuser-chosen source code. (Untrusted language call handlers, by ++ * definition, do assume that.) A user lacking the USAGE language privilege ++ * would be unable to reach the validator through CREATE FUNCTION, so we check ++ * that to block explicit calls as well. Checking the EXECUTE privilege on ++ * the function is often superfluous, because most users can clone the ++ * function to get an executable copy. It is meaningful against users with no ++ * database TEMP right and no permanent schema CREATE right, thereby unable to ++ * create any function. Also, if the function tracks persistent state by ++ * function OID or name, validating the original function might permit more ++ * mischief than creating and validating a clone thereof. ++ */ ++bool ++CheckFunctionValidatorAccess(Oid validatorOid, Oid functionOid) ++{ ++ HeapTuple procTup; ++ HeapTuple langTup; ++ Form_pg_proc procStruct; ++ Form_pg_language langStruct; ++ AclResult aclresult; ++ ++ /* Get the function's pg_proc entry */ ++ procTup = SearchSysCache1(PROCOID, ObjectIdGetDatum(functionOid)); ++ if (!HeapTupleIsValid(procTup)) ++ elog(ERROR, "cache lookup failed for function %u", functionOid); ++ procStruct = (Form_pg_proc) GETSTRUCT(procTup); ++ ++ /* ++ * Fetch pg_language entry to know if this is the correct validation ++ * function for that pg_proc entry. ++ */ ++ langTup = SearchSysCache1(LANGOID, ObjectIdGetDatum(procStruct->prolang)); ++ if (!HeapTupleIsValid(langTup)) ++ elog(ERROR, "cache lookup failed for language %u", procStruct->prolang); ++ langStruct = (Form_pg_language) GETSTRUCT(langTup); ++ ++ if (langStruct->lanvalidator != validatorOid) ++ ereport(ERROR, ++ (errcode(ERRCODE_INSUFFICIENT_PRIVILEGE), ++ errmsg("language validation function %u called for language %u instead of %u", ++ validatorOid, procStruct->prolang, ++ langStruct->lanvalidator))); ++ ++ /* first validate that we have permissions to use the language */ ++ aclresult = pg_language_aclcheck(procStruct->prolang, GetUserId(), ++ ACL_USAGE); ++ if (aclresult != ACLCHECK_OK) ++ aclcheck_error(aclresult, ACL_KIND_LANGUAGE, ++ NameStr(langStruct->lanname)); ++ ++ /* ++ * Check whether we are allowed to execute the function itself. If we can ++ * execute it, there should be no possible side-effect of ++ * compiling/validation that execution can't have. ++ */ ++ aclresult = pg_proc_aclcheck(functionOid, GetUserId(), ACL_EXECUTE); ++ if (aclresult != ACLCHECK_OK) ++ aclcheck_error(aclresult, ACL_KIND_PROC, NameStr(procStruct->proname)); ++ ++ ReleaseSysCache(procTup); ++ ReleaseSysCache(langTup); ++ ++ return true; ++} +diff --git a/src/include/fmgr.h b/src/include/fmgr.h +index 0a25776..f944cc6 100644 +--- a/src/include/fmgr.h ++++ b/src/include/fmgr.h +@@ -624,6 +624,7 @@ extern Oid get_fn_expr_argtype(FmgrInfo *flinfo, int argnum); + extern Oid get_call_expr_argtype(fmNodePtr expr, int argnum); + extern bool get_fn_expr_arg_stable(FmgrInfo *flinfo, int argnum); + extern bool get_call_expr_arg_stable(fmNodePtr expr, int argnum); ++extern bool CheckFunctionValidatorAccess(Oid validatorOid, Oid functionOid); + + /* + * Routines in dfmgr.c +diff --git a/src/pl/plperl/plperl.c b/src/pl/plperl/plperl.c +index 7c2aee9..49d50c4 100644 +--- a/src/pl/plperl/plperl.c ++++ b/src/pl/plperl/plperl.c +@@ -1847,6 +1847,9 @@ plperl_validator(PG_FUNCTION_ARGS) + bool istrigger = false; + int i; + ++ if (!CheckFunctionValidatorAccess(fcinfo->flinfo->fn_oid, funcoid)) ++ PG_RETURN_VOID(); ++ + /* Get the new function's pg_proc entry */ + tuple = SearchSysCache1(PROCOID, ObjectIdGetDatum(funcoid)); + if (!HeapTupleIsValid(tuple)) +@@ -1926,6 +1929,7 @@ PG_FUNCTION_INFO_V1(plperlu_validator); + Datum + plperlu_validator(PG_FUNCTION_ARGS) + { ++ /* call plperl validator with our fcinfo so it gets our oid */ + return plperl_validator(fcinfo); + } + +diff --git a/src/pl/plpgsql/src/pl_handler.c b/src/pl/plpgsql/src/pl_handler.c +index 022ec3f..00b1a6f 100644 +--- a/src/pl/plpgsql/src/pl_handler.c ++++ b/src/pl/plpgsql/src/pl_handler.c +@@ -227,6 +227,9 @@ plpgsql_validator(PG_FUNCTION_ARGS) + bool istrigger = false; + int i; + ++ if (!CheckFunctionValidatorAccess(fcinfo->flinfo->fn_oid, funcoid)) ++ PG_RETURN_VOID(); ++ + /* Get the new function's pg_proc entry */ + tuple = SearchSysCache1(PROCOID, ObjectIdGetDatum(funcoid)); + if (!HeapTupleIsValid(tuple)) +diff --git a/src/pl/plpython/plpy_main.c b/src/pl/plpython/plpy_main.c +index c4de762..3847847 100644 +--- a/src/pl/plpython/plpy_main.c ++++ b/src/pl/plpython/plpy_main.c +@@ -159,6 +159,9 @@ plpython_validator(PG_FUNCTION_ARGS) + Form_pg_proc procStruct; + bool is_trigger; + ++ if (!CheckFunctionValidatorAccess(fcinfo->flinfo->fn_oid, funcoid)) ++ PG_RETURN_VOID(); ++ + if (!check_function_bodies) + { + PG_RETURN_VOID(); +@@ -184,6 +187,7 @@ plpython_validator(PG_FUNCTION_ARGS) + Datum + plpython2_validator(PG_FUNCTION_ARGS) + { ++ /* call plpython validator with our fcinfo so it gets our oid */ + return plpython_validator(fcinfo); + } + #endif /* PY_MAJOR_VERSION < 3 */ +-- +1.7.5.4 + diff --git a/meta-oe/recipes-support/postgresql/files/0005-Avoid-repeated-name-lookups-during-table-and-index-D.patch b/meta-oe/recipes-support/postgresql/files/0005-Avoid-repeated-name-lookups-during-table-and-index-D.patch new file mode 100644 index 0000000000..f1aa212502 --- /dev/null +++ b/meta-oe/recipes-support/postgresql/files/0005-Avoid-repeated-name-lookups-during-table-and-index-D.patch @@ -0,0 +1,1082 @@ +From 820ab11fbfd508fc75a39c43ad2c1b3e79c4982b Mon Sep 17 00:00:00 2001 +From: Robert Haas <rhaas@postgresql.org> +Date: Mon, 17 Feb 2014 09:33:31 -0500 +Subject: [PATCH] Avoid repeated name lookups during table and index DDL. + +commit 820ab11fbfd508fc75a39c43ad2c1b3e79c4982b REL9_2_STABLE + +If the name lookups come to different conclusions due to concurrent +activity, we might perform some parts of the DDL on a different table +than other parts. At least in the case of CREATE INDEX, this can be +used to cause the permissions checks to be performed against a +different table than the index creation, allowing for a privilege +escalation attack. + +This changes the calling convention for DefineIndex, CreateTrigger, +transformIndexStmt, transformAlterTableStmt, CheckIndexCompatible +(in 9.2 and newer), and AlterTable (in 9.1 and older). In addition, +CheckRelationOwnership is removed in 9.2 and newer and the calling +convention is changed in older branches. A field has also been added +to the Constraint node (FkConstraint in 8.4). Third-party code calling +these functions or using the Constraint node will require updating. + +Report by Andres Freund. Patch by Robert Haas and Andres Freund, +reviewed by Tom Lane. + +Security: CVE-2014-0062 + +Upstream-Status: Backport + +Signed-off-by: Kai Kang <kai.kang@windriver.com> +--- + src/backend/bootstrap/bootparse.y | 17 ++++- + src/backend/catalog/index.c | 10 +-- + src/backend/catalog/pg_constraint.c | 19 +++++ + src/backend/commands/indexcmds.c | 22 ++++-- + src/backend/commands/tablecmds.c | 137 +++++++++++++++++++++++++---------- + src/backend/commands/trigger.c | 28 ++++++-- + src/backend/nodes/copyfuncs.c | 1 + + src/backend/nodes/equalfuncs.c | 1 + + src/backend/nodes/outfuncs.c | 1 + + src/backend/parser/parse_utilcmd.c | 64 ++++++----------- + src/backend/tcop/utility.c | 73 +++++++------------ + src/include/catalog/pg_constraint.h | 1 + + src/include/commands/defrem.h | 4 +- + src/include/commands/tablecmds.h | 2 + + src/include/commands/trigger.h | 2 +- + src/include/nodes/parsenodes.h | 2 + + src/include/parser/parse_utilcmd.h | 5 +- + src/include/tcop/utility.h | 2 - + 18 files changed, 234 insertions(+), 157 deletions(-) + +diff --git a/src/backend/bootstrap/bootparse.y b/src/backend/bootstrap/bootparse.y +index f4a1b8f..eeffb0f 100644 +--- a/src/backend/bootstrap/bootparse.y ++++ b/src/backend/bootstrap/bootparse.y +@@ -27,6 +27,7 @@ + #include "bootstrap/bootstrap.h" + #include "catalog/catalog.h" + #include "catalog/heap.h" ++#include "catalog/namespace.h" + #include "catalog/pg_am.h" + #include "catalog/pg_attribute.h" + #include "catalog/pg_authid.h" +@@ -281,6 +282,7 @@ Boot_DeclareIndexStmt: + XDECLARE INDEX boot_ident oidspec ON boot_ident USING boot_ident LPAREN boot_index_params RPAREN + { + IndexStmt *stmt = makeNode(IndexStmt); ++ Oid relationId; + + do_start(); + +@@ -302,7 +304,12 @@ Boot_DeclareIndexStmt: + stmt->initdeferred = false; + stmt->concurrent = false; + +- DefineIndex(stmt, ++ /* locks and races need not concern us in bootstrap mode */ ++ relationId = RangeVarGetRelid(stmt->relation, NoLock, ++ false); ++ ++ DefineIndex(relationId, ++ stmt, + $4, + false, + false, +@@ -316,6 +323,7 @@ Boot_DeclareUniqueIndexStmt: + XDECLARE UNIQUE INDEX boot_ident oidspec ON boot_ident USING boot_ident LPAREN boot_index_params RPAREN + { + IndexStmt *stmt = makeNode(IndexStmt); ++ Oid relationId; + + do_start(); + +@@ -337,7 +345,12 @@ Boot_DeclareUniqueIndexStmt: + stmt->initdeferred = false; + stmt->concurrent = false; + +- DefineIndex(stmt, ++ /* locks and races need not concern us in bootstrap mode */ ++ relationId = RangeVarGetRelid(stmt->relation, NoLock, ++ false); ++ ++ DefineIndex(relationId, ++ stmt, + $5, + false, + false, +diff --git a/src/backend/catalog/index.c b/src/backend/catalog/index.c +index 7d6346a..ca8acf3 100644 +--- a/src/backend/catalog/index.c ++++ b/src/backend/catalog/index.c +@@ -1202,18 +1202,13 @@ index_constraint_create(Relation heapRelation, + */ + if (deferrable) + { +- RangeVar *heapRel; + CreateTrigStmt *trigger; + +- heapRel = makeRangeVar(get_namespace_name(namespaceId), +- pstrdup(RelationGetRelationName(heapRelation)), +- -1); +- + trigger = makeNode(CreateTrigStmt); + trigger->trigname = (constraintType == CONSTRAINT_PRIMARY) ? + "PK_ConstraintTrigger" : + "Unique_ConstraintTrigger"; +- trigger->relation = heapRel; ++ trigger->relation = NULL; + trigger->funcname = SystemFuncName("unique_key_recheck"); + trigger->args = NIL; + trigger->row = true; +@@ -1226,7 +1221,8 @@ index_constraint_create(Relation heapRelation, + trigger->initdeferred = initdeferred; + trigger->constrrel = NULL; + +- (void) CreateTrigger(trigger, NULL, conOid, indexRelationId, true); ++ (void) CreateTrigger(trigger, NULL, RelationGetRelid(heapRelation), ++ InvalidOid, conOid, indexRelationId, true); + } + + /* +diff --git a/src/backend/catalog/pg_constraint.c b/src/backend/catalog/pg_constraint.c +index 107a780..08a94cf 100644 +--- a/src/backend/catalog/pg_constraint.c ++++ b/src/backend/catalog/pg_constraint.c +@@ -746,6 +746,25 @@ AlterConstraintNamespaces(Oid ownerId, Oid oldNspId, + } + + /* ++ * get_constraint_relation_oids ++ * Find the IDs of the relations to which a constraint refers. ++ */ ++void ++get_constraint_relation_oids(Oid constraint_oid, Oid *conrelid, Oid *confrelid) ++{ ++ HeapTuple tup; ++ Form_pg_constraint con; ++ ++ tup = SearchSysCache1(CONSTROID, ObjectIdGetDatum(constraint_oid)); ++ if (!HeapTupleIsValid(tup)) /* should not happen */ ++ elog(ERROR, "cache lookup failed for constraint %u", constraint_oid); ++ con = (Form_pg_constraint) GETSTRUCT(tup); ++ *conrelid = con->conrelid; ++ *confrelid = con->confrelid; ++ ReleaseSysCache(tup); ++} ++ ++/* + * get_relation_constraint_oid + * Find a constraint on the specified relation with the specified name. + * Returns constraint's OID. +diff --git a/src/backend/commands/indexcmds.c b/src/backend/commands/indexcmds.c +index f3ee278..ec5fb0d 100644 +--- a/src/backend/commands/indexcmds.c ++++ b/src/backend/commands/indexcmds.c +@@ -111,7 +111,6 @@ static void RangeVarCallbackForReindexIndex(const RangeVar *relation, + */ + bool + CheckIndexCompatible(Oid oldId, +- RangeVar *heapRelation, + char *accessMethodName, + List *attributeList, + List *exclusionOpNames) +@@ -139,7 +138,7 @@ CheckIndexCompatible(Oid oldId, + Datum d; + + /* Caller should already have the relation locked in some way. */ +- relationId = RangeVarGetRelid(heapRelation, NoLock, false); ++ relationId = IndexGetRelation(oldId, false); + + /* + * We can pretend isconstraint = false unconditionally. It only serves to +@@ -279,6 +278,8 @@ CheckIndexCompatible(Oid oldId, + * DefineIndex + * Creates a new index. + * ++ * 'relationId': the OID of the heap relation on which the index is to be ++ * created + * 'stmt': IndexStmt describing the properties of the new index. + * 'indexRelationId': normally InvalidOid, but during bootstrap can be + * nonzero to specify a preselected OID for the index. +@@ -292,7 +293,8 @@ CheckIndexCompatible(Oid oldId, + * Returns the OID of the created index. + */ + Oid +-DefineIndex(IndexStmt *stmt, ++DefineIndex(Oid relationId, ++ IndexStmt *stmt, + Oid indexRelationId, + bool is_alter_table, + bool check_rights, +@@ -305,7 +307,6 @@ DefineIndex(IndexStmt *stmt, + Oid *collationObjectId; + Oid *classObjectId; + Oid accessMethodId; +- Oid relationId; + Oid namespaceId; + Oid tablespaceId; + List *indexColNames; +@@ -325,6 +326,7 @@ DefineIndex(IndexStmt *stmt, + int n_old_snapshots; + LockRelId heaprelid; + LOCKTAG heaplocktag; ++ LOCKMODE lockmode; + Snapshot snapshot; + int i; + +@@ -343,14 +345,18 @@ DefineIndex(IndexStmt *stmt, + INDEX_MAX_KEYS))); + + /* +- * Open heap relation, acquire a suitable lock on it, remember its OID +- * + * Only SELECT ... FOR UPDATE/SHARE are allowed while doing a standard + * index build; but for concurrent builds we allow INSERT/UPDATE/DELETE + * (but not VACUUM). ++ * ++ * NB: Caller is responsible for making sure that relationId refers ++ * to the relation on which the index should be built; except in bootstrap ++ * mode, this will typically require the caller to have already locked ++ * the relation. To avoid lock upgrade hazards, that lock should be at ++ * least as strong as the one we take here. + */ +- rel = heap_openrv(stmt->relation, +- (stmt->concurrent ? ShareUpdateExclusiveLock : ShareLock)); ++ lockmode = stmt->concurrent ? ShareUpdateExclusiveLock : ShareLock; ++ rel = heap_open(relationId, lockmode); + + relationId = RelationGetRelid(rel); + namespaceId = RelationGetNamespace(rel); +diff --git a/src/backend/commands/tablecmds.c b/src/backend/commands/tablecmds.c +index 7c1f779..bcb81ea 100644 +--- a/src/backend/commands/tablecmds.c ++++ b/src/backend/commands/tablecmds.c +@@ -283,7 +283,8 @@ static void validateCheckConstraint(Relation rel, HeapTuple constrtup); + static void validateForeignKeyConstraint(char *conname, + Relation rel, Relation pkrel, + Oid pkindOid, Oid constraintOid); +-static void createForeignKeyTriggers(Relation rel, Constraint *fkconstraint, ++static void createForeignKeyTriggers(Relation rel, Oid refRelOid, ++ Constraint *fkconstraint, + Oid constraintOid, Oid indexOid); + static void ATController(Relation rel, List *cmds, bool recurse, LOCKMODE lockmode); + static void ATPrepCmd(List **wqueue, Relation rel, AlterTableCmd *cmd, +@@ -360,8 +361,9 @@ static void ATExecAlterColumnType(AlteredTableInfo *tab, Relation rel, + static void ATExecAlterColumnGenericOptions(Relation rel, const char *colName, + List *options, LOCKMODE lockmode); + static void ATPostAlterTypeCleanup(List **wqueue, AlteredTableInfo *tab, LOCKMODE lockmode); +-static void ATPostAlterTypeParse(Oid oldId, char *cmd, +- List **wqueue, LOCKMODE lockmode, bool rewrite); ++static void ATPostAlterTypeParse(Oid oldId, Oid oldRelId, Oid refRelId, ++ char *cmd, List **wqueue, LOCKMODE lockmode, ++ bool rewrite); + static void TryReuseIndex(Oid oldId, IndexStmt *stmt); + static void TryReuseForeignKey(Oid oldId, Constraint *con); + static void change_owner_fix_column_acls(Oid relationOid, +@@ -5406,7 +5408,8 @@ ATExecAddIndex(AlteredTableInfo *tab, Relation rel, + + /* The IndexStmt has already been through transformIndexStmt */ + +- new_index = DefineIndex(stmt, ++ new_index = DefineIndex(RelationGetRelid(rel), ++ stmt, + InvalidOid, /* no predefined OID */ + true, /* is_alter_table */ + check_rights, +@@ -5728,7 +5731,10 @@ ATAddForeignKeyConstraint(AlteredTableInfo *tab, Relation rel, + * table; trying to start with a lesser lock will just create a risk of + * deadlock.) + */ +- pkrel = heap_openrv(fkconstraint->pktable, AccessExclusiveLock); ++ if (OidIsValid(fkconstraint->old_pktable_oid)) ++ pkrel = heap_open(fkconstraint->old_pktable_oid, AccessExclusiveLock); ++ else ++ pkrel = heap_openrv(fkconstraint->pktable, AccessExclusiveLock); + + /* + * Validity checks (permission checks wait till we have the column +@@ -6066,7 +6072,8 @@ ATAddForeignKeyConstraint(AlteredTableInfo *tab, Relation rel, + /* + * Create the triggers that will enforce the constraint. + */ +- createForeignKeyTriggers(rel, fkconstraint, constrOid, indexOid); ++ createForeignKeyTriggers(rel, RelationGetRelid(pkrel), fkconstraint, ++ constrOid, indexOid); + + /* + * Tell Phase 3 to check that the constraint is satisfied by existing +@@ -6736,7 +6743,7 @@ validateForeignKeyConstraint(char *conname, + } + + static void +-CreateFKCheckTrigger(RangeVar *myRel, Constraint *fkconstraint, ++CreateFKCheckTrigger(Oid myRelOid, Oid refRelOid, Constraint *fkconstraint, + Oid constraintOid, Oid indexOid, bool on_insert) + { + CreateTrigStmt *fk_trigger; +@@ -6752,7 +6759,7 @@ CreateFKCheckTrigger(RangeVar *myRel, Constraint *fkconstraint, + */ + fk_trigger = makeNode(CreateTrigStmt); + fk_trigger->trigname = "RI_ConstraintTrigger_c"; +- fk_trigger->relation = myRel; ++ fk_trigger->relation = NULL; + fk_trigger->row = true; + fk_trigger->timing = TRIGGER_TYPE_AFTER; + +@@ -6773,10 +6780,11 @@ CreateFKCheckTrigger(RangeVar *myRel, Constraint *fkconstraint, + fk_trigger->isconstraint = true; + fk_trigger->deferrable = fkconstraint->deferrable; + fk_trigger->initdeferred = fkconstraint->initdeferred; +- fk_trigger->constrrel = fkconstraint->pktable; ++ fk_trigger->constrrel = NULL; + fk_trigger->args = NIL; + +- (void) CreateTrigger(fk_trigger, NULL, constraintOid, indexOid, true); ++ (void) CreateTrigger(fk_trigger, NULL, myRelOid, refRelOid, constraintOid, ++ indexOid, true); + + /* Make changes-so-far visible */ + CommandCounterIncrement(); +@@ -6786,18 +6794,13 @@ CreateFKCheckTrigger(RangeVar *myRel, Constraint *fkconstraint, + * Create the triggers that implement an FK constraint. + */ + static void +-createForeignKeyTriggers(Relation rel, Constraint *fkconstraint, ++createForeignKeyTriggers(Relation rel, Oid refRelOid, Constraint *fkconstraint, + Oid constraintOid, Oid indexOid) + { +- RangeVar *myRel; ++ Oid myRelOid; + CreateTrigStmt *fk_trigger; + +- /* +- * Reconstruct a RangeVar for my relation (not passed in, unfortunately). +- */ +- myRel = makeRangeVar(get_namespace_name(RelationGetNamespace(rel)), +- pstrdup(RelationGetRelationName(rel)), +- -1); ++ myRelOid = RelationGetRelid(rel); + + /* Make changes-so-far visible */ + CommandCounterIncrement(); +@@ -6808,14 +6811,14 @@ createForeignKeyTriggers(Relation rel, Constraint *fkconstraint, + */ + fk_trigger = makeNode(CreateTrigStmt); + fk_trigger->trigname = "RI_ConstraintTrigger_a"; +- fk_trigger->relation = fkconstraint->pktable; ++ fk_trigger->relation = NULL; + fk_trigger->row = true; + fk_trigger->timing = TRIGGER_TYPE_AFTER; + fk_trigger->events = TRIGGER_TYPE_DELETE; + fk_trigger->columns = NIL; + fk_trigger->whenClause = NULL; + fk_trigger->isconstraint = true; +- fk_trigger->constrrel = myRel; ++ fk_trigger->constrrel = NULL; + switch (fkconstraint->fk_del_action) + { + case FKCONSTR_ACTION_NOACTION: +@@ -6850,7 +6853,8 @@ createForeignKeyTriggers(Relation rel, Constraint *fkconstraint, + } + fk_trigger->args = NIL; + +- (void) CreateTrigger(fk_trigger, NULL, constraintOid, indexOid, true); ++ (void) CreateTrigger(fk_trigger, NULL, refRelOid, myRelOid, constraintOid, ++ indexOid, true); + + /* Make changes-so-far visible */ + CommandCounterIncrement(); +@@ -6861,14 +6865,14 @@ createForeignKeyTriggers(Relation rel, Constraint *fkconstraint, + */ + fk_trigger = makeNode(CreateTrigStmt); + fk_trigger->trigname = "RI_ConstraintTrigger_a"; +- fk_trigger->relation = fkconstraint->pktable; ++ fk_trigger->relation = NULL; + fk_trigger->row = true; + fk_trigger->timing = TRIGGER_TYPE_AFTER; + fk_trigger->events = TRIGGER_TYPE_UPDATE; + fk_trigger->columns = NIL; + fk_trigger->whenClause = NULL; + fk_trigger->isconstraint = true; +- fk_trigger->constrrel = myRel; ++ fk_trigger->constrrel = NULL; + switch (fkconstraint->fk_upd_action) + { + case FKCONSTR_ACTION_NOACTION: +@@ -6903,7 +6907,8 @@ createForeignKeyTriggers(Relation rel, Constraint *fkconstraint, + } + fk_trigger->args = NIL; + +- (void) CreateTrigger(fk_trigger, NULL, constraintOid, indexOid, true); ++ (void) CreateTrigger(fk_trigger, NULL, refRelOid, myRelOid, constraintOid, ++ indexOid, true); + + /* Make changes-so-far visible */ + CommandCounterIncrement(); +@@ -6912,8 +6917,10 @@ createForeignKeyTriggers(Relation rel, Constraint *fkconstraint, + * Build and execute CREATE CONSTRAINT TRIGGER statements for the CHECK + * action for both INSERTs and UPDATEs on the referencing table. + */ +- CreateFKCheckTrigger(myRel, fkconstraint, constraintOid, indexOid, true); +- CreateFKCheckTrigger(myRel, fkconstraint, constraintOid, indexOid, false); ++ CreateFKCheckTrigger(myRelOid, refRelOid, fkconstraint, constraintOid, ++ indexOid, true); ++ CreateFKCheckTrigger(myRelOid, refRelOid, fkconstraint, constraintOid, ++ indexOid, false); + } + + /* +@@ -7832,15 +7839,36 @@ ATPostAlterTypeCleanup(List **wqueue, AlteredTableInfo *tab, LOCKMODE lockmode) + * lock on the table the constraint is attached to, and we need to get + * that before dropping. It's safe because the parser won't actually look + * at the catalogs to detect the existing entry. ++ * ++ * We can't rely on the output of deparsing to tell us which relation ++ * to operate on, because concurrent activity might have made the name ++ * resolve differently. Instead, we've got to use the OID of the ++ * constraint or index we're processing to figure out which relation ++ * to operate on. + */ + forboth(oid_item, tab->changedConstraintOids, + def_item, tab->changedConstraintDefs) +- ATPostAlterTypeParse(lfirst_oid(oid_item), (char *) lfirst(def_item), ++ { ++ Oid oldId = lfirst_oid(oid_item); ++ Oid relid; ++ Oid confrelid; ++ ++ get_constraint_relation_oids(oldId, &relid, &confrelid); ++ ATPostAlterTypeParse(oldId, relid, confrelid, ++ (char *) lfirst(def_item), + wqueue, lockmode, tab->rewrite); ++ } + forboth(oid_item, tab->changedIndexOids, + def_item, tab->changedIndexDefs) +- ATPostAlterTypeParse(lfirst_oid(oid_item), (char *) lfirst(def_item), ++ { ++ Oid oldId = lfirst_oid(oid_item); ++ Oid relid; ++ ++ relid = IndexGetRelation(oldId, false); ++ ATPostAlterTypeParse(oldId, relid, InvalidOid, ++ (char *) lfirst(def_item), + wqueue, lockmode, tab->rewrite); ++ } + + /* + * Now we can drop the existing constraints and indexes --- constraints +@@ -7873,12 +7901,13 @@ ATPostAlterTypeCleanup(List **wqueue, AlteredTableInfo *tab, LOCKMODE lockmode) + } + + static void +-ATPostAlterTypeParse(Oid oldId, char *cmd, ++ATPostAlterTypeParse(Oid oldId, Oid oldRelId, Oid refRelId, char *cmd, + List **wqueue, LOCKMODE lockmode, bool rewrite) + { + List *raw_parsetree_list; + List *querytree_list; + ListCell *list_item; ++ Relation rel; + + /* + * We expect that we will get only ALTER TABLE and CREATE INDEX +@@ -7894,16 +7923,21 @@ ATPostAlterTypeParse(Oid oldId, char *cmd, + + if (IsA(stmt, IndexStmt)) + querytree_list = lappend(querytree_list, +- transformIndexStmt((IndexStmt *) stmt, ++ transformIndexStmt(oldRelId, ++ (IndexStmt *) stmt, + cmd)); + else if (IsA(stmt, AlterTableStmt)) + querytree_list = list_concat(querytree_list, +- transformAlterTableStmt((AlterTableStmt *) stmt, ++ transformAlterTableStmt(oldRelId, ++ (AlterTableStmt *) stmt, + cmd)); + else + querytree_list = lappend(querytree_list, stmt); + } + ++ /* Caller should already have acquired whatever lock we need. */ ++ rel = relation_open(oldRelId, NoLock); ++ + /* + * Attach each generated command to the proper place in the work queue. + * Note this could result in creation of entirely new work-queue entries. +@@ -7915,7 +7949,6 @@ ATPostAlterTypeParse(Oid oldId, char *cmd, + foreach(list_item, querytree_list) + { + Node *stm = (Node *) lfirst(list_item); +- Relation rel; + AlteredTableInfo *tab; + + switch (nodeTag(stm)) +@@ -7928,14 +7961,12 @@ ATPostAlterTypeParse(Oid oldId, char *cmd, + if (!rewrite) + TryReuseIndex(oldId, stmt); + +- rel = relation_openrv(stmt->relation, lockmode); + tab = ATGetQueueEntry(wqueue, rel); + newcmd = makeNode(AlterTableCmd); + newcmd->subtype = AT_ReAddIndex; + newcmd->def = (Node *) stmt; + tab->subcmds[AT_PASS_OLD_INDEX] = + lappend(tab->subcmds[AT_PASS_OLD_INDEX], newcmd); +- relation_close(rel, NoLock); + break; + } + case T_AlterTableStmt: +@@ -7943,7 +7974,6 @@ ATPostAlterTypeParse(Oid oldId, char *cmd, + AlterTableStmt *stmt = (AlterTableStmt *) stm; + ListCell *lcmd; + +- rel = relation_openrv(stmt->relation, lockmode); + tab = ATGetQueueEntry(wqueue, rel); + foreach(lcmd, stmt->cmds) + { +@@ -7964,6 +7994,7 @@ ATPostAlterTypeParse(Oid oldId, char *cmd, + case AT_AddConstraint: + Assert(IsA(cmd->def, Constraint)); + con = (Constraint *) cmd->def; ++ con->old_pktable_oid = refRelId; + /* rewriting neither side of a FK */ + if (con->contype == CONSTR_FOREIGN && + !rewrite && !tab->rewrite) +@@ -7977,7 +8008,6 @@ ATPostAlterTypeParse(Oid oldId, char *cmd, + (int) cmd->subtype); + } + } +- relation_close(rel, NoLock); + break; + } + default: +@@ -7985,6 +8015,8 @@ ATPostAlterTypeParse(Oid oldId, char *cmd, + (int) nodeTag(stm)); + } + } ++ ++ relation_close(rel, NoLock); + } + + /* +@@ -7995,7 +8027,6 @@ static void + TryReuseIndex(Oid oldId, IndexStmt *stmt) + { + if (CheckIndexCompatible(oldId, +- stmt->relation, + stmt->accessMethod, + stmt->indexParams, + stmt->excludeOpNames)) +@@ -10291,6 +10322,38 @@ RangeVarCallbackOwnsTable(const RangeVar *relation, + } + + /* ++ * Callback to RangeVarGetRelidExtended(), similar to ++ * RangeVarCallbackOwnsTable() but without checks on the type of the relation. ++ */ ++void ++RangeVarCallbackOwnsRelation(const RangeVar *relation, ++ Oid relId, Oid oldRelId, void *arg) ++{ ++ HeapTuple tuple; ++ ++ /* Nothing to do if the relation was not found. */ ++ if (!OidIsValid(relId)) ++ return; ++ ++ tuple = SearchSysCache1(RELOID, ObjectIdGetDatum(relId)); ++ if (!HeapTupleIsValid(tuple)) /* should not happen */ ++ elog(ERROR, "cache lookup failed for relation %u", relId); ++ ++ if (!pg_class_ownercheck(relId, GetUserId())) ++ aclcheck_error(ACLCHECK_NOT_OWNER, ACL_KIND_CLASS, ++ relation->relname); ++ ++ if (!allowSystemTableMods && ++ IsSystemClass((Form_pg_class) GETSTRUCT(tuple))) ++ ereport(ERROR, ++ (errcode(ERRCODE_INSUFFICIENT_PRIVILEGE), ++ errmsg("permission denied: \"%s\" is a system catalog", ++ relation->relname))); ++ ++ ReleaseSysCache(tuple); ++} ++ ++/* + * Common RangeVarGetRelid callback for rename, set schema, and alter table + * processing. + */ +diff --git a/src/backend/commands/trigger.c b/src/backend/commands/trigger.c +index f546d94..9e6c954 100644 +--- a/src/backend/commands/trigger.c ++++ b/src/backend/commands/trigger.c +@@ -42,6 +42,7 @@ + #include "pgstat.h" + #include "rewrite/rewriteManip.h" + #include "storage/bufmgr.h" ++#include "storage/lmgr.h" + #include "tcop/utility.h" + #include "utils/acl.h" + #include "utils/builtins.h" +@@ -94,6 +95,13 @@ static void AfterTriggerSaveEvent(EState *estate, ResultRelInfo *relinfo, + * queryString is the source text of the CREATE TRIGGER command. + * This must be supplied if a whenClause is specified, else it can be NULL. + * ++ * relOid, if nonzero, is the relation on which the trigger should be ++ * created. If zero, the name provided in the statement will be looked up. ++ * ++ * refRelOid, if nonzero, is the relation to which the constraint trigger ++ * refers. If zero, the constraint relation name provided in the statement ++ * will be looked up as needed. ++ * + * constraintOid, if nonzero, says that this trigger is being created + * internally to implement that constraint. A suitable pg_depend entry will + * be made to link the trigger to that constraint. constraintOid is zero when +@@ -116,7 +124,7 @@ static void AfterTriggerSaveEvent(EState *estate, ResultRelInfo *relinfo, + */ + Oid + CreateTrigger(CreateTrigStmt *stmt, const char *queryString, +- Oid constraintOid, Oid indexOid, ++ Oid relOid, Oid refRelOid, Oid constraintOid, Oid indexOid, + bool isInternal) + { + int16 tgtype; +@@ -145,7 +153,10 @@ CreateTrigger(CreateTrigStmt *stmt, const char *queryString, + ObjectAddress myself, + referenced; + +- rel = heap_openrv(stmt->relation, AccessExclusiveLock); ++ if (OidIsValid(relOid)) ++ rel = heap_open(relOid, AccessExclusiveLock); ++ else ++ rel = heap_openrv(stmt->relation, AccessExclusiveLock); + + /* + * Triggers must be on tables or views, and there are additional +@@ -194,7 +205,7 @@ CreateTrigger(CreateTrigStmt *stmt, const char *queryString, + errmsg("permission denied: \"%s\" is a system catalog", + RelationGetRelationName(rel)))); + +- if (stmt->isconstraint && stmt->constrrel != NULL) ++ if (stmt->isconstraint) + { + /* + * We must take a lock on the target relation to protect against +@@ -203,7 +214,14 @@ CreateTrigger(CreateTrigStmt *stmt, const char *queryString, + * might end up creating a pg_constraint entry referencing a + * nonexistent table. + */ +- constrrelid = RangeVarGetRelid(stmt->constrrel, AccessShareLock, false); ++ if (OidIsValid(refRelOid)) ++ { ++ LockRelationOid(refRelOid, AccessShareLock); ++ constrrelid = refRelOid; ++ } ++ else if (stmt->constrrel != NULL) ++ constrrelid = RangeVarGetRelid(stmt->constrrel, AccessShareLock, ++ false); + } + + /* permission checks */ +@@ -513,7 +531,7 @@ CreateTrigger(CreateTrigStmt *stmt, const char *queryString, + ereport(ERROR, + (errcode(ERRCODE_DUPLICATE_OBJECT), + errmsg("trigger \"%s\" for relation \"%s\" already exists", +- trigname, stmt->relation->relname))); ++ trigname, RelationGetRelationName(rel)))); + } + systable_endscan(tgscan); + } +diff --git a/src/backend/nodes/copyfuncs.c b/src/backend/nodes/copyfuncs.c +index 9bac994..dbe0f6a 100644 +--- a/src/backend/nodes/copyfuncs.c ++++ b/src/backend/nodes/copyfuncs.c +@@ -2357,6 +2357,7 @@ _copyConstraint(const Constraint *from) + COPY_SCALAR_FIELD(fk_upd_action); + COPY_SCALAR_FIELD(fk_del_action); + COPY_NODE_FIELD(old_conpfeqop); ++ COPY_SCALAR_FIELD(old_pktable_oid); + COPY_SCALAR_FIELD(skip_validation); + COPY_SCALAR_FIELD(initially_valid); + +diff --git a/src/backend/nodes/equalfuncs.c b/src/backend/nodes/equalfuncs.c +index d185654..f8770b0 100644 +--- a/src/backend/nodes/equalfuncs.c ++++ b/src/backend/nodes/equalfuncs.c +@@ -2143,6 +2143,7 @@ _equalConstraint(const Constraint *a, const Constraint *b) + COMPARE_SCALAR_FIELD(fk_upd_action); + COMPARE_SCALAR_FIELD(fk_del_action); + COMPARE_NODE_FIELD(old_conpfeqop); ++ COMPARE_SCALAR_FIELD(old_pktable_oid); + COMPARE_SCALAR_FIELD(skip_validation); + COMPARE_SCALAR_FIELD(initially_valid); + +diff --git a/src/backend/nodes/outfuncs.c b/src/backend/nodes/outfuncs.c +index 1df71f6..888ffd2 100644 +--- a/src/backend/nodes/outfuncs.c ++++ b/src/backend/nodes/outfuncs.c +@@ -2653,6 +2653,7 @@ _outConstraint(StringInfo str, const Constraint *node) + WRITE_CHAR_FIELD(fk_upd_action); + WRITE_CHAR_FIELD(fk_del_action); + WRITE_NODE_FIELD(old_conpfeqop); ++ WRITE_OID_FIELD(old_pktable_oid); + WRITE_BOOL_FIELD(skip_validation); + WRITE_BOOL_FIELD(initially_valid); + break; +diff --git a/src/backend/parser/parse_utilcmd.c b/src/backend/parser/parse_utilcmd.c +index e3f9c62..5df939a 100644 +--- a/src/backend/parser/parse_utilcmd.c ++++ b/src/backend/parser/parse_utilcmd.c +@@ -1867,14 +1867,18 @@ transformFKConstraints(CreateStmtContext *cxt, + * a predicate expression. There are several code paths that create indexes + * without bothering to call this, because they know they don't have any + * such expressions to deal with. ++ * ++ * To avoid race conditions, it's important that this function rely only on ++ * the passed-in relid (and not on stmt->relation) to determine the target ++ * relation. + */ + IndexStmt * +-transformIndexStmt(IndexStmt *stmt, const char *queryString) ++transformIndexStmt(Oid relid, IndexStmt *stmt, const char *queryString) + { +- Relation rel; + ParseState *pstate; + RangeTblEntry *rte; + ListCell *l; ++ Relation rel; + + /* + * We must not scribble on the passed-in IndexStmt, so copy it. (This is +@@ -1882,26 +1886,17 @@ transformIndexStmt(IndexStmt *stmt, const char *queryString) + */ + stmt = (IndexStmt *) copyObject(stmt); + +- /* +- * Open the parent table with appropriate locking. We must do this +- * because addRangeTableEntry() would acquire only AccessShareLock, +- * leaving DefineIndex() needing to do a lock upgrade with consequent risk +- * of deadlock. Make sure this stays in sync with the type of lock +- * DefineIndex() wants. If we are being called by ALTER TABLE, we will +- * already hold a higher lock. +- */ +- rel = heap_openrv(stmt->relation, +- (stmt->concurrent ? ShareUpdateExclusiveLock : ShareLock)); +- + /* Set up pstate */ + pstate = make_parsestate(NULL); + pstate->p_sourcetext = queryString; + + /* + * Put the parent table into the rtable so that the expressions can refer +- * to its fields without qualification. ++ * to its fields without qualification. Caller is responsible for locking ++ * relation, but we still need to open it. + */ +- rte = addRangeTableEntry(pstate, stmt->relation, NULL, false, true); ++ rel = relation_open(relid, NoLock); ++ rte = addRangeTableEntryForRelation(pstate, rel, NULL, false, true); + + /* no to join list, yes to namespaces */ + addRTEtoQuery(pstate, rte, false, true, true); +@@ -1955,7 +1950,7 @@ transformIndexStmt(IndexStmt *stmt, const char *queryString) + + free_parsestate(pstate); + +- /* Close relation, but keep the lock */ ++ /* Close relation */ + heap_close(rel, NoLock); + + return stmt; +@@ -2277,9 +2272,14 @@ transformRuleStmt(RuleStmt *stmt, const char *queryString, + * Returns a List of utility commands to be done in sequence. One of these + * will be the transformed AlterTableStmt, but there may be additional actions + * to be done before and after the actual AlterTable() call. ++ * ++ * To avoid race conditions, it's important that this function rely only on ++ * the passed-in relid (and not on stmt->relation) to determine the target ++ * relation. + */ + List * +-transformAlterTableStmt(AlterTableStmt *stmt, const char *queryString) ++transformAlterTableStmt(Oid relid, AlterTableStmt *stmt, ++ const char *queryString) + { + Relation rel; + ParseState *pstate; +@@ -2291,7 +2291,6 @@ transformAlterTableStmt(AlterTableStmt *stmt, const char *queryString) + List *newcmds = NIL; + bool skipValidation = true; + AlterTableCmd *newcmd; +- LOCKMODE lockmode; + + /* + * We must not scribble on the passed-in AlterTableStmt, so copy it. (This +@@ -2299,29 +2298,8 @@ transformAlterTableStmt(AlterTableStmt *stmt, const char *queryString) + */ + stmt = (AlterTableStmt *) copyObject(stmt); + +- /* +- * Determine the appropriate lock level for this list of subcommands. +- */ +- lockmode = AlterTableGetLockLevel(stmt->cmds); +- +- /* +- * Acquire appropriate lock on the target relation, which will be held +- * until end of transaction. This ensures any decisions we make here +- * based on the state of the relation will still be good at execution. We +- * must get lock now because execution will later require it; taking a +- * lower grade lock now and trying to upgrade later risks deadlock. Any +- * new commands we add after this must not upgrade the lock level +- * requested here. +- */ +- rel = relation_openrv_extended(stmt->relation, lockmode, stmt->missing_ok); +- if (rel == NULL) +- { +- /* this message is consistent with relation_openrv */ +- ereport(NOTICE, +- (errmsg("relation \"%s\" does not exist, skipping", +- stmt->relation->relname))); +- return NIL; +- } ++ /* Caller is responsible for locking the relation */ ++ rel = relation_open(relid, NoLock); + + /* Set up pstate and CreateStmtContext */ + pstate = make_parsestate(NULL); +@@ -2434,7 +2412,7 @@ transformAlterTableStmt(AlterTableStmt *stmt, const char *queryString) + IndexStmt *idxstmt = (IndexStmt *) lfirst(l); + + Assert(IsA(idxstmt, IndexStmt)); +- idxstmt = transformIndexStmt(idxstmt, queryString); ++ idxstmt = transformIndexStmt(relid, idxstmt, queryString); + newcmd = makeNode(AlterTableCmd); + newcmd->subtype = OidIsValid(idxstmt->indexOid) ? AT_AddIndexConstraint : AT_AddIndex; + newcmd->def = (Node *) idxstmt; +@@ -2458,7 +2436,7 @@ transformAlterTableStmt(AlterTableStmt *stmt, const char *queryString) + newcmds = lappend(newcmds, newcmd); + } + +- /* Close rel but keep lock */ ++ /* Close rel */ + relation_close(rel, NoLock); + + /* +diff --git a/src/backend/tcop/utility.c b/src/backend/tcop/utility.c +index 509bf4d..7903e03 100644 +--- a/src/backend/tcop/utility.c ++++ b/src/backend/tcop/utility.c +@@ -67,49 +67,6 @@ ProcessUtility_hook_type ProcessUtility_hook = NULL; + + + /* +- * Verify user has ownership of specified relation, else ereport. +- * +- * If noCatalogs is true then we also deny access to system catalogs, +- * except when allowSystemTableMods is true. +- */ +-void +-CheckRelationOwnership(RangeVar *rel, bool noCatalogs) +-{ +- Oid relOid; +- HeapTuple tuple; +- +- /* +- * XXX: This is unsafe in the presence of concurrent DDL, since it is +- * called before acquiring any lock on the target relation. However, +- * locking the target relation (especially using something like +- * AccessExclusiveLock) before verifying that the user has permissions is +- * not appealing either. +- */ +- relOid = RangeVarGetRelid(rel, NoLock, false); +- +- tuple = SearchSysCache1(RELOID, ObjectIdGetDatum(relOid)); +- if (!HeapTupleIsValid(tuple)) /* should not happen */ +- elog(ERROR, "cache lookup failed for relation %u", relOid); +- +- if (!pg_class_ownercheck(relOid, GetUserId())) +- aclcheck_error(ACLCHECK_NOT_OWNER, ACL_KIND_CLASS, +- rel->relname); +- +- if (noCatalogs) +- { +- if (!allowSystemTableMods && +- IsSystemClass((Form_pg_class) GETSTRUCT(tuple))) +- ereport(ERROR, +- (errcode(ERRCODE_INSUFFICIENT_PRIVILEGE), +- errmsg("permission denied: \"%s\" is a system catalog", +- rel->relname))); +- } +- +- ReleaseSysCache(tuple); +-} +- +- +-/* + * CommandIsReadOnly: is an executable query read-only? + * + * This is a much stricter test than we apply for XactReadOnly mode; +@@ -723,7 +680,8 @@ standard_ProcessUtility(Node *parsetree, + if (OidIsValid(relid)) + { + /* Run parse analysis ... */ +- stmts = transformAlterTableStmt(atstmt, queryString); ++ stmts = transformAlterTableStmt(relid, atstmt, ++ queryString); + + /* ... and do it */ + foreach(l, stmts) +@@ -910,18 +868,36 @@ standard_ProcessUtility(Node *parsetree, + case T_IndexStmt: /* CREATE INDEX */ + { + IndexStmt *stmt = (IndexStmt *) parsetree; ++ Oid relid; ++ LOCKMODE lockmode; + + if (stmt->concurrent) + PreventTransactionChain(isTopLevel, + "CREATE INDEX CONCURRENTLY"); + +- CheckRelationOwnership(stmt->relation, true); ++ /* ++ * Look up the relation OID just once, right here at the ++ * beginning, so that we don't end up repeating the name ++ * lookup later and latching onto a different relation ++ * partway through. To avoid lock upgrade hazards, it's ++ * important that we take the strongest lock that will ++ * eventually be needed here, so the lockmode calculation ++ * needs to match what DefineIndex() does. ++ */ ++ lockmode = stmt->concurrent ? ShareUpdateExclusiveLock ++ : ShareLock; ++ relid = ++ RangeVarGetRelidExtended(stmt->relation, lockmode, ++ false, false, ++ RangeVarCallbackOwnsRelation, ++ NULL); + + /* Run parse analysis ... */ +- stmt = transformIndexStmt(stmt, queryString); ++ stmt = transformIndexStmt(relid, stmt, queryString); + + /* ... and do it */ +- DefineIndex(stmt, ++ DefineIndex(relid, /* OID of heap relation */ ++ stmt, + InvalidOid, /* no predefined OID */ + false, /* is_alter_table */ + true, /* check_rights */ +@@ -1057,7 +1033,8 @@ standard_ProcessUtility(Node *parsetree, + + case T_CreateTrigStmt: + (void) CreateTrigger((CreateTrigStmt *) parsetree, queryString, +- InvalidOid, InvalidOid, false); ++ InvalidOid, InvalidOid, InvalidOid, ++ InvalidOid, false); + break; + + case T_CreatePLangStmt: +diff --git a/src/include/catalog/pg_constraint.h b/src/include/catalog/pg_constraint.h +index d9d40b2..d8f8da4 100644 +--- a/src/include/catalog/pg_constraint.h ++++ b/src/include/catalog/pg_constraint.h +@@ -246,6 +246,7 @@ extern char *ChooseConstraintName(const char *name1, const char *name2, + + extern void AlterConstraintNamespaces(Oid ownerId, Oid oldNspId, + Oid newNspId, bool isType, ObjectAddresses *objsMoved); ++extern void get_constraint_relation_oids(Oid constraint_oid, Oid *conrelid, Oid *confrelid); + extern Oid get_relation_constraint_oid(Oid relid, const char *conname, bool missing_ok); + extern Oid get_domain_constraint_oid(Oid typid, const char *conname, bool missing_ok); + +diff --git a/src/include/commands/defrem.h b/src/include/commands/defrem.h +index 9b6d57a..a00fd37 100644 +--- a/src/include/commands/defrem.h ++++ b/src/include/commands/defrem.h +@@ -20,7 +20,8 @@ + extern void RemoveObjects(DropStmt *stmt); + + /* commands/indexcmds.c */ +-extern Oid DefineIndex(IndexStmt *stmt, ++extern Oid DefineIndex(Oid relationId, ++ IndexStmt *stmt, + Oid indexRelationId, + bool is_alter_table, + bool check_rights, +@@ -35,7 +36,6 @@ extern char *makeObjectName(const char *name1, const char *name2, + extern char *ChooseRelationName(const char *name1, const char *name2, + const char *label, Oid namespaceid); + extern bool CheckIndexCompatible(Oid oldId, +- RangeVar *heapRelation, + char *accessMethodName, + List *attributeList, + List *exclusionOpNames); +diff --git a/src/include/commands/tablecmds.h b/src/include/commands/tablecmds.h +index 4f32062..d41f8a1 100644 +--- a/src/include/commands/tablecmds.h ++++ b/src/include/commands/tablecmds.h +@@ -78,4 +78,6 @@ extern void AtEOSubXact_on_commit_actions(bool isCommit, + extern void RangeVarCallbackOwnsTable(const RangeVar *relation, + Oid relId, Oid oldRelId, void *arg); + ++extern void RangeVarCallbackOwnsRelation(const RangeVar *relation, ++ Oid relId, Oid oldRelId, void *noCatalogs); + #endif /* TABLECMDS_H */ +diff --git a/src/include/commands/trigger.h b/src/include/commands/trigger.h +index 9303341..0869c0b 100644 +--- a/src/include/commands/trigger.h ++++ b/src/include/commands/trigger.h +@@ -109,7 +109,7 @@ extern PGDLLIMPORT int SessionReplicationRole; + #define TRIGGER_DISABLED 'D' + + extern Oid CreateTrigger(CreateTrigStmt *stmt, const char *queryString, +- Oid constraintOid, Oid indexOid, ++ Oid relOid, Oid refRelOid, Oid constraintOid, Oid indexOid, + bool isInternal); + + extern void RemoveTriggerById(Oid trigOid); +diff --git a/src/include/nodes/parsenodes.h b/src/include/nodes/parsenodes.h +index 327f7cf..31f5479 100644 +--- a/src/include/nodes/parsenodes.h ++++ b/src/include/nodes/parsenodes.h +@@ -1566,6 +1566,8 @@ typedef struct Constraint + /* Fields used for constraints that allow a NOT VALID specification */ + bool skip_validation; /* skip validation of existing rows? */ + bool initially_valid; /* mark the new constraint as valid? */ ++ ++ Oid old_pktable_oid; /* pg_constraint.confrelid of my former self */ + } Constraint; + + /* ---------------------- +diff --git a/src/include/parser/parse_utilcmd.h b/src/include/parser/parse_utilcmd.h +index 4ad793a..d8b340e 100644 +--- a/src/include/parser/parse_utilcmd.h ++++ b/src/include/parser/parse_utilcmd.h +@@ -18,9 +18,10 @@ + + + extern List *transformCreateStmt(CreateStmt *stmt, const char *queryString); +-extern List *transformAlterTableStmt(AlterTableStmt *stmt, ++extern List *transformAlterTableStmt(Oid relid, AlterTableStmt *stmt, + const char *queryString); +-extern IndexStmt *transformIndexStmt(IndexStmt *stmt, const char *queryString); ++extern IndexStmt *transformIndexStmt(Oid relid, IndexStmt *stmt, ++ const char *queryString); + extern void transformRuleStmt(RuleStmt *stmt, const char *queryString, + List **actions, Node **whereClause); + extern List *transformCreateSchemaStmt(CreateSchemaStmt *stmt); +diff --git a/src/include/tcop/utility.h b/src/include/tcop/utility.h +index 54190b2..ae871ca 100644 +--- a/src/include/tcop/utility.h ++++ b/src/include/tcop/utility.h +@@ -42,6 +42,4 @@ extern LogStmtLevel GetCommandLogLevel(Node *parsetree); + + extern bool CommandIsReadOnly(Node *parsetree); + +-extern void CheckRelationOwnership(RangeVar *rel, bool noCatalogs); +- + #endif /* UTILITY_H */ +-- +1.7.5.4 + diff --git a/meta-oe/recipes-support/postgresql/files/0006-Fix-handling-of-wide-datetime-input-output.patch b/meta-oe/recipes-support/postgresql/files/0006-Fix-handling-of-wide-datetime-input-output.patch new file mode 100644 index 0000000000..fac0a7347c --- /dev/null +++ b/meta-oe/recipes-support/postgresql/files/0006-Fix-handling-of-wide-datetime-input-output.patch @@ -0,0 +1,465 @@ +From f416622be81d1320417bbc7892fd562cae0dba72 Mon Sep 17 00:00:00 2001 +From: Noah Misch <noah@leadboat.com> +Date: Mon, 17 Feb 2014 09:33:31 -0500 +Subject: [PATCH] Fix handling of wide datetime input/output. +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +commit f416622be81d1320417bbc7892fd562cae0dba72 REL9_2_STABLE + +Many server functions use the MAXDATELEN constant to size a buffer for +parsing or displaying a datetime value. It was much too small for the +longest possible interval output and slightly too small for certain +valid timestamp input, particularly input with a long timezone name. +The long input was rejected needlessly; the long output caused +interval_out() to overrun its buffer. ECPG's pgtypes library has a copy +of the vulnerable functions, which bore the same vulnerabilities along +with some of its own. In contrast to the server, certain long inputs +caused stack overflow rather than failing cleanly. Back-patch to 8.4 +(all supported versions). + +Reported by Daniel Schüssler, reviewed by Tom Lane. + +Security: CVE-2014-0063 + + +Upstream-Status: Backport + +Signed-off-by: Kai Kang <kai.kang@windriver.com> +--- + src/include/utils/datetime.h | 17 +++++--- + src/interfaces/ecpg/pgtypeslib/datetime.c | 4 +- + src/interfaces/ecpg/pgtypeslib/dt.h | 17 +++++--- + src/interfaces/ecpg/pgtypeslib/dt_common.c | 44 ++++++++++++++------ + src/interfaces/ecpg/pgtypeslib/interval.c | 2 +- + src/interfaces/ecpg/pgtypeslib/timestamp.c | 2 +- + .../ecpg/test/expected/pgtypeslib-dt_test2.c | 22 +++++++--- + .../ecpg/test/expected/pgtypeslib-dt_test2.stdout | 19 ++++++++ + src/interfaces/ecpg/test/pgtypeslib/dt_test2.pgc | 10 ++++ + src/test/regress/expected/interval.out | 7 +++ + src/test/regress/sql/interval.sql | 2 + + 11 files changed, 111 insertions(+), 35 deletions(-) + +diff --git a/src/include/utils/datetime.h b/src/include/utils/datetime.h +index d73cc8d..4b805b6 100644 +--- a/src/include/utils/datetime.h ++++ b/src/include/utils/datetime.h +@@ -188,12 +188,17 @@ struct tzEntry; + #define DTK_DATE_M (DTK_M(YEAR) | DTK_M(MONTH) | DTK_M(DAY)) + #define DTK_TIME_M (DTK_M(HOUR) | DTK_M(MINUTE) | DTK_ALL_SECS_M) + +-#define MAXDATELEN 63 /* maximum possible length of an input date +- * string (not counting tr. null) */ +-#define MAXDATEFIELDS 25 /* maximum possible number of fields in a date +- * string */ +-#define TOKMAXLEN 10 /* only this many chars are stored in +- * datetktbl */ ++/* ++ * Working buffer size for input and output of interval, timestamp, etc. ++ * Inputs that need more working space will be rejected early. Longer outputs ++ * will overrun buffers, so this must suffice for all possible output. As of ++ * this writing, interval_out() needs the most space at ~90 bytes. ++ */ ++#define MAXDATELEN 128 ++/* maximum possible number of fields in a date string */ ++#define MAXDATEFIELDS 25 ++/* only this many chars are stored in datetktbl */ ++#define TOKMAXLEN 10 + + /* keep this struct small; it gets used a lot */ + typedef struct +diff --git a/src/interfaces/ecpg/pgtypeslib/datetime.c b/src/interfaces/ecpg/pgtypeslib/datetime.c +index 823626f..4adcd1e 100644 +--- a/src/interfaces/ecpg/pgtypeslib/datetime.c ++++ b/src/interfaces/ecpg/pgtypeslib/datetime.c +@@ -61,14 +61,14 @@ PGTYPESdate_from_asc(char *str, char **endptr) + int nf; + char *field[MAXDATEFIELDS]; + int ftype[MAXDATEFIELDS]; +- char lowstr[MAXDATELEN + 1]; ++ char lowstr[MAXDATELEN + MAXDATEFIELDS]; + char *realptr; + char **ptr = (endptr != NULL) ? endptr : &realptr; + + bool EuroDates = FALSE; + + errno = 0; +- if (strlen(str) >= sizeof(lowstr)) ++ if (strlen(str) > MAXDATELEN) + { + errno = PGTYPES_DATE_BAD_DATE; + return INT_MIN; +diff --git a/src/interfaces/ecpg/pgtypeslib/dt.h b/src/interfaces/ecpg/pgtypeslib/dt.h +index dfe6f9e..2780593 100644 +--- a/src/interfaces/ecpg/pgtypeslib/dt.h ++++ b/src/interfaces/ecpg/pgtypeslib/dt.h +@@ -192,12 +192,17 @@ typedef double fsec_t; + #define DTK_DATE_M (DTK_M(YEAR) | DTK_M(MONTH) | DTK_M(DAY)) + #define DTK_TIME_M (DTK_M(HOUR) | DTK_M(MINUTE) | DTK_M(SECOND)) + +-#define MAXDATELEN 63 /* maximum possible length of an input date +- * string (not counting tr. null) */ +-#define MAXDATEFIELDS 25 /* maximum possible number of fields in a date +- * string */ +-#define TOKMAXLEN 10 /* only this many chars are stored in +- * datetktbl */ ++/* ++ * Working buffer size for input and output of interval, timestamp, etc. ++ * Inputs that need more working space will be rejected early. Longer outputs ++ * will overrun buffers, so this must suffice for all possible output. As of ++ * this writing, PGTYPESinterval_to_asc() needs the most space at ~90 bytes. ++ */ ++#define MAXDATELEN 128 ++/* maximum possible number of fields in a date string */ ++#define MAXDATEFIELDS 25 ++/* only this many chars are stored in datetktbl */ ++#define TOKMAXLEN 10 + + /* keep this struct small; it gets used a lot */ + typedef struct +diff --git a/src/interfaces/ecpg/pgtypeslib/dt_common.c b/src/interfaces/ecpg/pgtypeslib/dt_common.c +index 6b89e4a..18178dd 100644 +--- a/src/interfaces/ecpg/pgtypeslib/dt_common.c ++++ b/src/interfaces/ecpg/pgtypeslib/dt_common.c +@@ -1171,15 +1171,22 @@ DecodeNumberField(int len, char *str, int fmask, + if ((cp = strchr(str, '.')) != NULL) + { + #ifdef HAVE_INT64_TIMESTAMP +- char fstr[MAXDATELEN + 1]; ++ char fstr[7]; ++ int i; ++ ++ cp++; + + /* + * OK, we have at most six digits to care about. Let's construct a +- * string and then do the conversion to an integer. ++ * string with those digits, zero-padded on the right, and then do ++ * the conversion to an integer. ++ * ++ * XXX This truncates the seventh digit, unlike rounding it as do ++ * the backend and the !HAVE_INT64_TIMESTAMP case. + */ +- strcpy(fstr, (cp + 1)); +- strcpy(fstr + strlen(fstr), "000000"); +- *(fstr + 6) = '\0'; ++ for (i = 0; i < 6; i++) ++ fstr[i] = *cp != '\0' ? *cp++ : '0'; ++ fstr[i] = '\0'; + *fsec = strtol(fstr, NULL, 10); + #else + *fsec = strtod(cp, NULL); +@@ -1531,15 +1538,22 @@ DecodeTime(char *str, int *tmask, struct tm * tm, fsec_t *fsec) + else if (*cp == '.') + { + #ifdef HAVE_INT64_TIMESTAMP +- char fstr[MAXDATELEN + 1]; ++ char fstr[7]; ++ int i; ++ ++ cp++; + + /* +- * OK, we have at most six digits to work with. Let's construct a +- * string and then do the conversion to an integer. ++ * OK, we have at most six digits to care about. Let's construct a ++ * string with those digits, zero-padded on the right, and then do ++ * the conversion to an integer. ++ * ++ * XXX This truncates the seventh digit, unlike rounding it as do ++ * the backend and the !HAVE_INT64_TIMESTAMP case. + */ +- strncpy(fstr, (cp + 1), 7); +- strcpy(fstr + strlen(fstr), "000000"); +- *(fstr + 6) = '\0'; ++ for (i = 0; i < 6; i++) ++ fstr[i] = *cp != '\0' ? *cp++ : '0'; ++ fstr[i] = '\0'; + *fsec = strtol(fstr, &cp, 10); + #else + str = cp; +@@ -1665,6 +1679,9 @@ DecodePosixTimezone(char *str, int *tzp) + * DTK_NUMBER can hold date fields (yy.ddd) + * DTK_STRING can hold months (January) and time zones (PST) + * DTK_DATE can hold Posix time zones (GMT-8) ++ * ++ * The "lowstr" work buffer must have at least strlen(timestr) + MAXDATEFIELDS ++ * bytes of space. On output, field[] entries will point into it. + */ + int + ParseDateTime(char *timestr, char *lowstr, +@@ -1677,7 +1694,10 @@ ParseDateTime(char *timestr, char *lowstr, + /* outer loop through fields */ + while (*(*endstr) != '\0') + { ++ /* Record start of current field */ + field[nf] = lp; ++ if (nf >= MAXDATEFIELDS) ++ return -1; + + /* leading digit? then date or time */ + if (isdigit((unsigned char) *(*endstr))) +@@ -1818,8 +1838,6 @@ ParseDateTime(char *timestr, char *lowstr, + /* force in a delimiter after each field */ + *lp++ = '\0'; + nf++; +- if (nf > MAXDATEFIELDS) +- return -1; + } + + *numfields = nf; +diff --git a/src/interfaces/ecpg/pgtypeslib/interval.c b/src/interfaces/ecpg/pgtypeslib/interval.c +index bcc10ee..fdd8f49 100644 +--- a/src/interfaces/ecpg/pgtypeslib/interval.c ++++ b/src/interfaces/ecpg/pgtypeslib/interval.c +@@ -1092,7 +1092,7 @@ PGTYPESinterval_from_asc(char *str, char **endptr) + tm->tm_sec = 0; + fsec = 0; + +- if (strlen(str) >= sizeof(lowstr)) ++ if (strlen(str) > MAXDATELEN) + { + errno = PGTYPES_INTVL_BAD_INTERVAL; + return NULL; +diff --git a/src/interfaces/ecpg/pgtypeslib/timestamp.c b/src/interfaces/ecpg/pgtypeslib/timestamp.c +index 7d3f7c8..4f91e63 100644 +--- a/src/interfaces/ecpg/pgtypeslib/timestamp.c ++++ b/src/interfaces/ecpg/pgtypeslib/timestamp.c +@@ -297,7 +297,7 @@ PGTYPEStimestamp_from_asc(char *str, char **endptr) + char *realptr; + char **ptr = (endptr != NULL) ? endptr : &realptr; + +- if (strlen(str) >= sizeof(lowstr)) ++ if (strlen(str) > MAXDATELEN) + { + errno = PGTYPES_TS_BAD_TIMESTAMP; + return (noresult); +diff --git a/src/interfaces/ecpg/test/expected/pgtypeslib-dt_test2.c b/src/interfaces/ecpg/test/expected/pgtypeslib-dt_test2.c +index d3ebb0e..0ba1936 100644 +--- a/src/interfaces/ecpg/test/expected/pgtypeslib-dt_test2.c ++++ b/src/interfaces/ecpg/test/expected/pgtypeslib-dt_test2.c +@@ -45,6 +45,15 @@ char *dates[] = { "19990108foobar", + "1999.008", + "J2451187", + "January 8, 99 BC", ++ /* ++ * Maximize space usage in ParseDateTime() with 25 ++ * (MAXDATEFIELDS) fields and 128 (MAXDATELEN) total length. ++ */ ++ "........................Xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" ++ "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", ++ /* 26 fields */ ++ ".........................aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" ++ "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + NULL }; + + /* do not conflict with libc "times" symbol */ +@@ -52,6 +61,7 @@ static char *times[] = { "0:04", + "1:59 PDT", + "13:24:40 -8:00", + "13:24:40.495+3", ++ "13:24:40.123456789+3", + NULL }; + + char *intervals[] = { "1 minute", +@@ -73,22 +83,22 @@ main(void) + + + +-#line 52 "dt_test2.pgc" ++#line 62 "dt_test2.pgc" + date date1 ; + +-#line 53 "dt_test2.pgc" ++#line 63 "dt_test2.pgc" + timestamp ts1 , ts2 ; + +-#line 54 "dt_test2.pgc" ++#line 64 "dt_test2.pgc" + char * text ; + +-#line 55 "dt_test2.pgc" ++#line 65 "dt_test2.pgc" + interval * i1 ; + +-#line 56 "dt_test2.pgc" ++#line 66 "dt_test2.pgc" + date * dc ; + /* exec sql end declare section */ +-#line 57 "dt_test2.pgc" ++#line 67 "dt_test2.pgc" + + + int i, j; +diff --git a/src/interfaces/ecpg/test/expected/pgtypeslib-dt_test2.stdout b/src/interfaces/ecpg/test/expected/pgtypeslib-dt_test2.stdout +index 24e9d26..9a4587b 100644 +--- a/src/interfaces/ecpg/test/expected/pgtypeslib-dt_test2.stdout ++++ b/src/interfaces/ecpg/test/expected/pgtypeslib-dt_test2.stdout +@@ -8,85 +8,104 @@ TS[3,0]: 1999-01-08 00:04:00 + TS[3,1]: 1999-01-08 01:59:00 + TS[3,2]: 1999-01-08 13:24:40 + TS[3,3]: 1999-01-08 13:24:40.495 ++TS[3,4]: 1999-01-08 13:24:40.123456 + Date[4]: 1999-01-08 (N - F) + TS[4,0]: 1999-01-08 00:04:00 + TS[4,1]: 1999-01-08 01:59:00 + TS[4,2]: 1999-01-08 13:24:40 + TS[4,3]: 1999-01-08 13:24:40.495 ++TS[4,4]: 1999-01-08 13:24:40.123456 + Date[5]: 1999-01-08 (N - F) + TS[5,0]: 1999-01-08 00:04:00 + TS[5,1]: 1999-01-08 01:59:00 + TS[5,2]: 1999-01-08 13:24:40 + TS[5,3]: 1999-01-08 13:24:40.495 ++TS[5,4]: 1999-01-08 13:24:40.123456 + Date[6]: 1999-01-18 (N - F) + TS[6,0]: 1999-01-18 00:04:00 + TS[6,1]: 1999-01-18 01:59:00 + TS[6,2]: 1999-01-18 13:24:40 + TS[6,3]: 1999-01-18 13:24:40.495 ++TS[6,4]: 1999-01-18 13:24:40.123456 + Date[7]: 2003-01-02 (N - F) + TS[7,0]: 2003-01-02 00:04:00 + TS[7,1]: 2003-01-02 01:59:00 + TS[7,2]: 2003-01-02 13:24:40 + TS[7,3]: 2003-01-02 13:24:40.495 ++TS[7,4]: 2003-01-02 13:24:40.123456 + Date[8]: 1999-01-08 (N - F) + TS[8,0]: 1999-01-08 00:04:00 + TS[8,1]: 1999-01-08 01:59:00 + TS[8,2]: 1999-01-08 13:24:40 + TS[8,3]: 1999-01-08 13:24:40.495 ++TS[8,4]: 1999-01-08 13:24:40.123456 + Date[9]: 1999-01-08 (N - F) + TS[9,0]: 1999-01-08 00:04:00 + TS[9,1]: 1999-01-08 01:59:00 + TS[9,2]: 1999-01-08 13:24:40 + TS[9,3]: 1999-01-08 13:24:40.495 ++TS[9,4]: 1999-01-08 13:24:40.123456 + Date[10]: 1999-01-08 (N - F) + TS[10,0]: 1999-01-08 00:04:00 + TS[10,1]: 1999-01-08 01:59:00 + TS[10,2]: 1999-01-08 13:24:40 + TS[10,3]: 1999-01-08 13:24:40.495 ++TS[10,4]: 1999-01-08 13:24:40.123456 + Date[11]: 1999-01-08 (N - F) + TS[11,0]: 1999-01-08 00:04:00 + TS[11,1]: 1999-01-08 01:59:00 + TS[11,2]: 1999-01-08 13:24:40 + TS[11,3]: 1999-01-08 13:24:40.495 ++TS[11,4]: 1999-01-08 13:24:40.123456 + Date[12]: 1999-01-08 (N - F) + TS[12,0]: 1999-01-08 00:04:00 + TS[12,1]: 1999-01-08 01:59:00 + TS[12,2]: 1999-01-08 13:24:40 + TS[12,3]: 1999-01-08 13:24:40.495 ++TS[12,4]: 1999-01-08 13:24:40.123456 + Date[13]: 2006-01-08 (N - F) + TS[13,0]: 2006-01-08 00:04:00 + TS[13,1]: 2006-01-08 01:59:00 + TS[13,2]: 2006-01-08 13:24:40 + TS[13,3]: 2006-01-08 13:24:40.495 ++TS[13,4]: 2006-01-08 13:24:40.123456 + Date[14]: 1999-01-08 (N - F) + TS[14,0]: 1999-01-08 00:04:00 + TS[14,1]: 1999-01-08 01:59:00 + TS[14,2]: 1999-01-08 13:24:40 + TS[14,3]: 1999-01-08 13:24:40.495 ++TS[14,4]: 1999-01-08 13:24:40.123456 + Date[15]: 1999-01-08 (N - F) + TS[15,0]: 1999-01-08 00:04:00 + TS[15,1]: 1999-01-08 01:59:00 + TS[15,2]: 1999-01-08 13:24:40 + TS[15,3]: 1999-01-08 13:24:40.495 ++TS[15,4]: 1999-01-08 13:24:40.123456 + Date[16]: 1999-01-08 (N - F) + TS[16,0]: 1999-01-08 00:04:00 + TS[16,1]: 1999-01-08 01:59:00 + TS[16,2]: 1999-01-08 13:24:40 + TS[16,3]: 1999-01-08 13:24:40.495 ++TS[16,4]: 1999-01-08 13:24:40.123456 + Date[17]: 1999-01-08 (N - F) + TS[17,0]: 1999-01-08 00:04:00 + TS[17,1]: 1999-01-08 01:59:00 + TS[17,2]: 1999-01-08 13:24:40 + TS[17,3]: 1999-01-08 13:24:40.495 ++TS[17,4]: 1999-01-08 13:24:40.123456 + Date[18]: 1999-01-08 (N - F) + TS[18,0]: 1999-01-08 00:04:00 + TS[18,1]: 1999-01-08 01:59:00 + TS[18,2]: 1999-01-08 13:24:40 + TS[18,3]: 1999-01-08 13:24:40.495 ++TS[18,4]: 1999-01-08 13:24:40.123456 + Date[19]: 0099-01-08 BC (N - F) + TS[19,0]: 0099-01-08 00:04:00 BC + TS[19,1]: 0099-01-08 01:59:00 BC + TS[19,2]: 0099-01-08 13:24:40 BC ++TS[19,4]: 0099-01-08 13:24:40.123456 BC ++Date[20]: - (N - T) ++Date[21]: - (N - T) + interval[0]: @ 1 min + interval_copy[0]: @ 1 min + interval[1]: @ 1 day 12 hours 59 mins 10 secs +diff --git a/src/interfaces/ecpg/test/pgtypeslib/dt_test2.pgc b/src/interfaces/ecpg/test/pgtypeslib/dt_test2.pgc +index 0edf012..a127dd9 100644 +--- a/src/interfaces/ecpg/test/pgtypeslib/dt_test2.pgc ++++ b/src/interfaces/ecpg/test/pgtypeslib/dt_test2.pgc +@@ -27,6 +27,15 @@ char *dates[] = { "19990108foobar", + "1999.008", + "J2451187", + "January 8, 99 BC", ++ /* ++ * Maximize space usage in ParseDateTime() with 25 ++ * (MAXDATEFIELDS) fields and 128 (MAXDATELEN) total length. ++ */ ++ "........................Xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" ++ "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", ++ /* 26 fields */ ++ ".........................aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" ++ "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + NULL }; + + /* do not conflict with libc "times" symbol */ +@@ -34,6 +43,7 @@ static char *times[] = { "0:04", + "1:59 PDT", + "13:24:40 -8:00", + "13:24:40.495+3", ++ "13:24:40.123456789+3", + NULL }; + + char *intervals[] = { "1 minute", +diff --git a/src/test/regress/expected/interval.out b/src/test/regress/expected/interval.out +index 3bf2211..99fd0ca 100644 +--- a/src/test/regress/expected/interval.out ++++ b/src/test/regress/expected/interval.out +@@ -306,6 +306,13 @@ select '4 millenniums 5 centuries 4 decades 1 year 4 months 4 days 17 minutes 31 + @ 4541 years 4 mons 4 days 17 mins 31 secs + (1 row) + ++-- test long interval output ++select '100000000y 10mon -1000000000d -1000000000h -10min -10.000001s ago'::interval; ++ interval ++------------------------------------------------------------------------------------------- ++ @ 100000000 years 10 mons -1000000000 days -1000000000 hours -10 mins -10.000001 secs ago ++(1 row) ++ + -- test justify_hours() and justify_days() + SELECT justify_hours(interval '6 months 3 days 52 hours 3 minutes 2 seconds') as "6 mons 5 days 4 hours 3 mins 2 seconds"; + 6 mons 5 days 4 hours 3 mins 2 seconds +diff --git a/src/test/regress/sql/interval.sql b/src/test/regress/sql/interval.sql +index f1da4c2..7cee286 100644 +--- a/src/test/regress/sql/interval.sql ++++ b/src/test/regress/sql/interval.sql +@@ -108,6 +108,8 @@ select avg(f1) from interval_tbl; + -- test long interval input + select '4 millenniums 5 centuries 4 decades 1 year 4 months 4 days 17 minutes 31 seconds'::interval; + ++-- test long interval output ++select '100000000y 10mon -1000000000d -1000000000h -10min -10.000001s ago'::interval; + + -- test justify_hours() and justify_days() + +-- +1.7.5.4 + diff --git a/meta-oe/recipes-support/postgresql/files/0007-Make-pqsignal-available-to-pg_regress-of-ECPG-and-is.patch b/meta-oe/recipes-support/postgresql/files/0007-Make-pqsignal-available-to-pg_regress-of-ECPG-and-is.patch new file mode 100644 index 0000000000..3cffc0a852 --- /dev/null +++ b/meta-oe/recipes-support/postgresql/files/0007-Make-pqsignal-available-to-pg_regress-of-ECPG-and-is.patch @@ -0,0 +1,75 @@ +From 0ae841a98c21c53901d5bc9a9323a8cc800364f6 Mon Sep 17 00:00:00 2001 +From: Noah Misch <noah@leadboat.com> +Date: Sat, 14 Jun 2014 10:52:25 -0400 +Subject: [PATCH] Make pqsignal() available to pg_regress of ECPG and + isolation suites. + +commit 0ae841a98c21c53901d5bc9a9323a8cc800364f6 REL9_2_STABLE + +Commit 453a5d91d49e4d35054f92785d830df4067e10c1 made it available to the +src/test/regress build of pg_regress, but all pg_regress builds need the +same treatment. Patch 9.2 through 8.4; in 9.3 and later, pg_regress +gets pqsignal() via libpgport. + + +Upstream-Status: Backport + +Signed-off-by: Kai Kang <kai.kang@windriver.com> +--- + src/interfaces/ecpg/test/Makefile | 4 ++-- + src/test/isolation/Makefile | 12 +++++++----- + 2 files changed, 9 insertions(+), 7 deletions(-) + +diff --git a/src/interfaces/ecpg/test/Makefile b/src/interfaces/ecpg/test/Makefile +index e9944c6..4bb9525 100644 +--- a/src/interfaces/ecpg/test/Makefile ++++ b/src/interfaces/ecpg/test/Makefile +@@ -47,10 +47,10 @@ clean distclean maintainer-clean: + + all: pg_regress$(X) + +-pg_regress$(X): pg_regress_ecpg.o $(top_builddir)/src/test/regress/pg_regress.o ++pg_regress$(X): pg_regress_ecpg.o $(top_builddir)/src/test/regress/pg_regress.o $(top_builddir)/src/test/regress/pqsignal.o + $(CC) $(CFLAGS) $(LDFLAGS) $(LDFLAGS_EX) $^ $(LIBS) -o $@ + +-$(top_builddir)/src/test/regress/pg_regress.o: ++$(top_builddir)/src/test/regress/pg_regress.o $(top_builddir)/src/test/regress/pqsignal.o: + $(MAKE) -C $(dir $@) $(notdir $@) + + # dependencies ensure that path changes propagate +diff --git a/src/test/isolation/Makefile b/src/test/isolation/Makefile +index 46ea6f0..e20ba48 100644 +--- a/src/test/isolation/Makefile ++++ b/src/test/isolation/Makefile +@@ -15,13 +15,15 @@ OBJS = specparse.o isolationtester.o + + all: isolationtester$(X) pg_isolation_regress$(X) + +-submake-regress: ++pg_regress.o: + $(MAKE) -C $(top_builddir)/src/test/regress pg_regress.o +- +-pg_regress.o: | submake-regress + rm -f $@ && $(LN_S) $(top_builddir)/src/test/regress/pg_regress.o . + +-pg_isolation_regress$(X): isolation_main.o pg_regress.o ++pqsignal.o: ++ $(MAKE) -C $(top_builddir)/src/test/regress pqsignal.o ++ rm -f $@ && $(LN_S) $(top_builddir)/src/test/regress/pqsignal.o . ++ ++pg_isolation_regress$(X): isolation_main.o pg_regress.o pqsignal.o + $(CC) $(CFLAGS) $^ $(LDFLAGS) $(LDFLAGS_EX) $(LIBS) -o $@ + + isolationtester$(X): $(OBJS) | submake-libpq submake-libpgport +@@ -59,7 +61,7 @@ endif + # so do not clean them here + clean distclean: + rm -f isolationtester$(X) pg_isolation_regress$(X) $(OBJS) isolation_main.o +- rm -f pg_regress.o ++ rm -f pg_regress.o pqsignal.o + rm -rf $(pg_regress_clean_files) + + maintainer-clean: distclean +-- +1.7.5.4 + diff --git a/meta-oe/recipes-support/postgresql/files/0008-Prevent-potential-overruns-of-fixed-size-buffers.patch b/meta-oe/recipes-support/postgresql/files/0008-Prevent-potential-overruns-of-fixed-size-buffers.patch new file mode 100644 index 0000000000..62ec9354d4 --- /dev/null +++ b/meta-oe/recipes-support/postgresql/files/0008-Prevent-potential-overruns-of-fixed-size-buffers.patch @@ -0,0 +1,393 @@ +From 655b665f745e2e07cf6936c6063b0250f5caa98f Mon Sep 17 00:00:00 2001 +From: Tom Lane <tgl@sss.pgh.pa.us> +Date: Mon, 17 Feb 2014 11:20:27 -0500 +Subject: [PATCH] Prevent potential overruns of fixed-size buffers. + +commit 655b665f745e2e07cf6936c6063b0250f5caa98f REL9_2_STABLE + +Coverity identified a number of places in which it couldn't prove that a +string being copied into a fixed-size buffer would fit. We believe that +most, perhaps all of these are in fact safe, or are copying data that is +coming from a trusted source so that any overrun is not really a security +issue. Nonetheless it seems prudent to forestall any risk by using +strlcpy() and similar functions. + +Fixes by Peter Eisentraut and Jozef Mlich based on Coverity reports. + +In addition, fix a potential null-pointer-dereference crash in +contrib/chkpass. The crypt(3) function is defined to return NULL on +failure, but chkpass.c didn't check for that before using the result. +The main practical case in which this could be an issue is if libc is +configured to refuse to execute unapproved hashing algorithms (e.g., +"FIPS mode"). This ideally should've been a separate commit, but +since it touches code adjacent to one of the buffer overrun changes, +I included it in this commit to avoid last-minute merge issues. +This issue was reported by Honza Horak. + +Security: CVE-2014-0065 for buffer overruns, CVE-2014-0066 for crypt() + +Upsteam-Status: Backport + +Signed-off-by: Kai Kang <kai.kang@windriver.com> +--- + contrib/chkpass/chkpass.c | 29 ++++++++++++++++++++++++++--- + contrib/pg_standby/pg_standby.c | 2 +- + src/backend/access/transam/xlog.c | 10 +++++----- + src/backend/tsearch/spell.c | 2 +- + src/backend/utils/adt/datetime.c | 11 ++++++----- + src/bin/initdb/findtimezone.c | 4 ++-- + src/bin/pg_basebackup/pg_basebackup.c | 8 ++++---- + src/interfaces/ecpg/preproc/pgc.l | 2 +- + src/interfaces/libpq/fe-protocol2.c | 2 +- + src/interfaces/libpq/fe-protocol3.c | 2 +- + src/port/exec.c | 4 ++-- + src/test/regress/pg_regress.c | 6 +++--- + src/timezone/pgtz.c | 2 +- + 13 files changed, 54 insertions(+), 30 deletions(-) + +diff --git a/contrib/chkpass/chkpass.c b/contrib/chkpass/chkpass.c +index 0c9fec0..1795b8c 100644 +--- a/contrib/chkpass/chkpass.c ++++ b/contrib/chkpass/chkpass.c +@@ -70,6 +70,7 @@ chkpass_in(PG_FUNCTION_ARGS) + char *str = PG_GETARG_CSTRING(0); + chkpass *result; + char mysalt[4]; ++ char *crypt_output; + static char salt_chars[] = + "./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; + +@@ -92,7 +93,15 @@ chkpass_in(PG_FUNCTION_ARGS) + mysalt[1] = salt_chars[random() & 0x3f]; + mysalt[2] = 0; /* technically the terminator is not necessary + * but I like to play safe */ +- strcpy(result->password, crypt(str, mysalt)); ++ ++ crypt_output = crypt(str, mysalt); ++ if (crypt_output == NULL) ++ ereport(ERROR, ++ (errcode(ERRCODE_INVALID_PARAMETER_VALUE), ++ errmsg("crypt() failed"))); ++ ++ strlcpy(result->password, crypt_output, sizeof(result->password)); ++ + PG_RETURN_POINTER(result); + } + +@@ -141,9 +150,16 @@ chkpass_eq(PG_FUNCTION_ARGS) + chkpass *a1 = (chkpass *) PG_GETARG_POINTER(0); + text *a2 = PG_GETARG_TEXT_PP(1); + char str[9]; ++ char *crypt_output; + + text_to_cstring_buffer(a2, str, sizeof(str)); +- PG_RETURN_BOOL(strcmp(a1->password, crypt(str, a1->password)) == 0); ++ crypt_output = crypt(str, a1->password); ++ if (crypt_output == NULL) ++ ereport(ERROR, ++ (errcode(ERRCODE_INVALID_PARAMETER_VALUE), ++ errmsg("crypt() failed"))); ++ ++ PG_RETURN_BOOL(strcmp(a1->password, crypt_output) == 0); + } + + PG_FUNCTION_INFO_V1(chkpass_ne); +@@ -153,7 +169,14 @@ chkpass_ne(PG_FUNCTION_ARGS) + chkpass *a1 = (chkpass *) PG_GETARG_POINTER(0); + text *a2 = PG_GETARG_TEXT_PP(1); + char str[9]; ++ char *crypt_output; + + text_to_cstring_buffer(a2, str, sizeof(str)); +- PG_RETURN_BOOL(strcmp(a1->password, crypt(str, a1->password)) != 0); ++ crypt_output = crypt(str, a1->password); ++ if (crypt_output == NULL) ++ ereport(ERROR, ++ (errcode(ERRCODE_INVALID_PARAMETER_VALUE), ++ errmsg("crypt() failed"))); ++ ++ PG_RETURN_BOOL(strcmp(a1->password, crypt_output) != 0); + } +diff --git a/contrib/pg_standby/pg_standby.c b/contrib/pg_standby/pg_standby.c +index 84941ed..0f1e0c1 100644 +--- a/contrib/pg_standby/pg_standby.c ++++ b/contrib/pg_standby/pg_standby.c +@@ -338,7 +338,7 @@ SetWALFileNameForCleanup(void) + if (strcmp(restartWALFileName, nextWALFileName) > 0) + return false; + +- strcpy(exclusiveCleanupFileName, restartWALFileName); ++ strlcpy(exclusiveCleanupFileName, restartWALFileName, sizeof(exclusiveCleanupFileName)); + return true; + } + +diff --git a/src/backend/access/transam/xlog.c b/src/backend/access/transam/xlog.c +index d639c4a..49bb453 100644 +--- a/src/backend/access/transam/xlog.c ++++ b/src/backend/access/transam/xlog.c +@@ -3017,7 +3017,7 @@ KeepFileRestoredFromArchive(char *path, char *xlogfname) + xlogfpath, oldpath))); + } + #else +- strncpy(oldpath, xlogfpath, MAXPGPATH); ++ strlcpy(oldpath, xlogfpath, MAXPGPATH); + #endif + if (unlink(oldpath) != 0) + ereport(FATAL, +@@ -5913,7 +5913,7 @@ recoveryStopsHere(XLogRecord *record, bool *includeThis) + + recordRestorePointData = (xl_restore_point *) XLogRecGetData(record); + recordXtime = recordRestorePointData->rp_time; +- strncpy(recordRPName, recordRestorePointData->rp_name, MAXFNAMELEN); ++ strlcpy(recordRPName, recordRestorePointData->rp_name, MAXFNAMELEN); + } + else + return false; +@@ -6008,7 +6008,7 @@ recoveryStopsHere(XLogRecord *record, bool *includeThis) + } + else + { +- strncpy(recoveryStopName, recordRPName, MAXFNAMELEN); ++ strlcpy(recoveryStopName, recordRPName, MAXFNAMELEN); + + ereport(LOG, + (errmsg("recovery stopping at restore point \"%s\", time %s", +@@ -6348,7 +6348,7 @@ StartupXLOG(void) + * see them + */ + XLogCtl->RecoveryTargetTLI = recoveryTargetTLI; +- strncpy(XLogCtl->archiveCleanupCommand, ++ strlcpy(XLogCtl->archiveCleanupCommand, + archiveCleanupCommand ? archiveCleanupCommand : "", + sizeof(XLogCtl->archiveCleanupCommand)); + +@@ -8760,7 +8760,7 @@ XLogRestorePoint(const char *rpName) + xl_restore_point xlrec; + + xlrec.rp_time = GetCurrentTimestamp(); +- strncpy(xlrec.rp_name, rpName, MAXFNAMELEN); ++ strlcpy(xlrec.rp_name, rpName, MAXFNAMELEN); + + rdata.buffer = InvalidBuffer; + rdata.data = (char *) &xlrec; +diff --git a/src/backend/tsearch/spell.c b/src/backend/tsearch/spell.c +index 449aa6a..4acc33e 100644 +--- a/src/backend/tsearch/spell.c ++++ b/src/backend/tsearch/spell.c +@@ -255,7 +255,7 @@ NIAddSpell(IspellDict *Conf, const char *word, const char *flag) + } + Conf->Spell[Conf->nspell] = (SPELL *) tmpalloc(SPELLHDRSZ + strlen(word) + 1); + strcpy(Conf->Spell[Conf->nspell]->word, word); +- strncpy(Conf->Spell[Conf->nspell]->p.flag, flag, MAXFLAGLEN); ++ strlcpy(Conf->Spell[Conf->nspell]->p.flag, flag, MAXFLAGLEN); + Conf->nspell++; + } + +diff --git a/src/backend/utils/adt/datetime.c b/src/backend/utils/adt/datetime.c +index 4763a6f..4105f17 100644 +--- a/src/backend/utils/adt/datetime.c ++++ b/src/backend/utils/adt/datetime.c +@@ -90,10 +90,10 @@ char *days[] = {"Sunday", "Monday", "Tuesday", "Wednesday", + * Note that this table must be strictly alphabetically ordered to allow an + * O(ln(N)) search algorithm to be used. + * +- * The text field is NOT guaranteed to be NULL-terminated. ++ * The token field is NOT guaranteed to be NULL-terminated. + * +- * To keep this table reasonably small, we divide the lexval for TZ and DTZ +- * entries by 15 (so they are on 15 minute boundaries) and truncate the text ++ * To keep this table reasonably small, we divide the value for TZ and DTZ ++ * entries by 15 (so they are on 15 minute boundaries) and truncate the token + * field at TOKMAXLEN characters. + * Formerly, we divided by 10 rather than 15 but there are a few time zones + * which are 30 or 45 minutes away from an even hour, most are on an hour +@@ -108,7 +108,7 @@ static datetkn *timezonetktbl = NULL; + static int sztimezonetktbl = 0; + + static const datetkn datetktbl[] = { +-/* text, token, lexval */ ++ /* token, type, value */ + {EARLY, RESERV, DTK_EARLY}, /* "-infinity" reserved for "early time" */ + {DA_D, ADBC, AD}, /* "ad" for years > 0 */ + {"allballs", RESERV, DTK_ZULU}, /* 00:00:00 */ +@@ -188,7 +188,7 @@ static const datetkn datetktbl[] = { + static int szdatetktbl = sizeof datetktbl / sizeof datetktbl[0]; + + static datetkn deltatktbl[] = { +- /* text, token, lexval */ ++ /* token, type, value */ + {"@", IGNORE_DTF, 0}, /* postgres relative prefix */ + {DAGO, AGO, 0}, /* "ago" indicates negative time offset */ + {"c", UNITS, DTK_CENTURY}, /* "century" relative */ +@@ -4201,6 +4201,7 @@ ConvertTimeZoneAbbrevs(TimeZoneAbbrevTable *tbl, + tbl->numabbrevs = n; + for (i = 0; i < n; i++) + { ++ /* do NOT use strlcpy here; token field need not be null-terminated */ + strncpy(newtbl[i].token, abbrevs[i].abbrev, TOKMAXLEN); + newtbl[i].type = abbrevs[i].is_dst ? DTZ : TZ; + TOVAL(&newtbl[i], abbrevs[i].offset / MINS_PER_HOUR); +diff --git a/src/bin/initdb/findtimezone.c b/src/bin/initdb/findtimezone.c +index 6d6f96a..6d38151 100644 +--- a/src/bin/initdb/findtimezone.c ++++ b/src/bin/initdb/findtimezone.c +@@ -68,7 +68,7 @@ pg_open_tzfile(const char *name, char *canonname) + if (canonname) + strlcpy(canonname, name, TZ_STRLEN_MAX + 1); + +- strcpy(fullname, pg_TZDIR()); ++ strlcpy(fullname, pg_TZDIR(), sizeof(fullname)); + if (strlen(fullname) + 1 + strlen(name) >= MAXPGPATH) + return -1; /* not gonna fit */ + strcat(fullname, "/"); +@@ -375,7 +375,7 @@ identify_system_timezone(void) + } + + /* Search for the best-matching timezone file */ +- strcpy(tmptzdir, pg_TZDIR()); ++ strlcpy(tmptzdir, pg_TZDIR(), sizeof(tmptzdir)); + bestscore = -1; + resultbuf[0] = '\0'; + scan_available_timezones(tmptzdir, tmptzdir + strlen(tmptzdir) + 1, +diff --git a/src/bin/pg_basebackup/pg_basebackup.c b/src/bin/pg_basebackup/pg_basebackup.c +index 9d840a1..26cc758 100644 +--- a/src/bin/pg_basebackup/pg_basebackup.c ++++ b/src/bin/pg_basebackup/pg_basebackup.c +@@ -735,9 +735,9 @@ ReceiveAndUnpackTarFile(PGconn *conn, PGresult *res, int rownum) + FILE *file = NULL; + + if (PQgetisnull(res, rownum, 0)) +- strcpy(current_path, basedir); ++ strlcpy(current_path, basedir, sizeof(current_path)); + else +- strcpy(current_path, PQgetvalue(res, rownum, 1)); ++ strlcpy(current_path, PQgetvalue(res, rownum, 1), sizeof(current_path)); + + /* + * Get the COPY data +@@ -1053,7 +1053,7 @@ BaseBackup(void) + progname); + disconnect_and_exit(1); + } +- strcpy(xlogstart, PQgetvalue(res, 0, 0)); ++ strlcpy(xlogstart, PQgetvalue(res, 0, 0), sizeof(xlogstart)); + if (verbose && includewal) + fprintf(stderr, "transaction log start point: %s\n", xlogstart); + PQclear(res); +@@ -1153,7 +1153,7 @@ BaseBackup(void) + progname); + disconnect_and_exit(1); + } +- strcpy(xlogend, PQgetvalue(res, 0, 0)); ++ strlcpy(xlogend, PQgetvalue(res, 0, 0), sizeof(xlogend)); + if (verbose && includewal) + fprintf(stderr, "transaction log end point: %s\n", xlogend); + PQclear(res); +diff --git a/src/interfaces/ecpg/preproc/pgc.l b/src/interfaces/ecpg/preproc/pgc.l +index f2e7edd..7ae8556 100644 +--- a/src/interfaces/ecpg/preproc/pgc.l ++++ b/src/interfaces/ecpg/preproc/pgc.l +@@ -1315,7 +1315,7 @@ parse_include(void) + yytext[i] = '\0'; + memmove(yytext, yytext+1, strlen(yytext)); + +- strncpy(inc_file, yytext, sizeof(inc_file)); ++ strlcpy(inc_file, yytext, sizeof(inc_file)); + yyin = fopen(inc_file, "r"); + if (!yyin) + { +diff --git a/src/interfaces/libpq/fe-protocol2.c b/src/interfaces/libpq/fe-protocol2.c +index 1ba5885..af4c412 100644 +--- a/src/interfaces/libpq/fe-protocol2.c ++++ b/src/interfaces/libpq/fe-protocol2.c +@@ -500,7 +500,7 @@ pqParseInput2(PGconn *conn) + if (!conn->result) + return; + } +- strncpy(conn->result->cmdStatus, conn->workBuffer.data, ++ strlcpy(conn->result->cmdStatus, conn->workBuffer.data, + CMDSTATUS_LEN); + checkXactStatus(conn, conn->workBuffer.data); + conn->asyncStatus = PGASYNC_READY; +diff --git a/src/interfaces/libpq/fe-protocol3.c b/src/interfaces/libpq/fe-protocol3.c +index d289f82..6f8a470 100644 +--- a/src/interfaces/libpq/fe-protocol3.c ++++ b/src/interfaces/libpq/fe-protocol3.c +@@ -206,7 +206,7 @@ pqParseInput3(PGconn *conn) + if (!conn->result) + return; + } +- strncpy(conn->result->cmdStatus, conn->workBuffer.data, ++ strlcpy(conn->result->cmdStatus, conn->workBuffer.data, + CMDSTATUS_LEN); + conn->asyncStatus = PGASYNC_READY; + break; +diff --git a/src/port/exec.c b/src/port/exec.c +index c79e8ba..0726dbe 100644 +--- a/src/port/exec.c ++++ b/src/port/exec.c +@@ -66,7 +66,7 @@ validate_exec(const char *path) + if (strlen(path) >= strlen(".exe") && + pg_strcasecmp(path + strlen(path) - strlen(".exe"), ".exe") != 0) + { +- strcpy(path_exe, path); ++ strlcpy(path_exe, path, sizeof(path_exe) - 4); + strcat(path_exe, ".exe"); + path = path_exe; + } +@@ -275,7 +275,7 @@ resolve_symlinks(char *path) + } + + /* must copy final component out of 'path' temporarily */ +- strcpy(link_buf, fname); ++ strlcpy(link_buf, fname, sizeof(link_buf)); + + if (!getcwd(path, MAXPGPATH)) + { +diff --git a/src/test/regress/pg_regress.c b/src/test/regress/pg_regress.c +index d991a5c..a6466eb 100644 +--- a/src/test/regress/pg_regress.c ++++ b/src/test/regress/pg_regress.c +@@ -1233,7 +1233,7 @@ results_differ(const char *testname, const char *resultsfile, const char *defaul + */ + platform_expectfile = get_expectfile(testname, resultsfile); + +- strcpy(expectfile, default_expectfile); ++ strlcpy(expectfile, default_expectfile, sizeof(expectfile)); + if (platform_expectfile) + { + /* +@@ -1288,7 +1288,7 @@ results_differ(const char *testname, const char *resultsfile, const char *defaul + { + /* This diff was a better match than the last one */ + best_line_count = l; +- strcpy(best_expect_file, alt_expectfile); ++ strlcpy(best_expect_file, alt_expectfile, sizeof(best_expect_file)); + } + free(alt_expectfile); + } +@@ -1316,7 +1316,7 @@ results_differ(const char *testname, const char *resultsfile, const char *defaul + { + /* This diff was a better match than the last one */ + best_line_count = l; +- strcpy(best_expect_file, default_expectfile); ++ strlcpy(best_expect_file, default_expectfile, sizeof(best_expect_file)); + } + } + +diff --git a/src/timezone/pgtz.c b/src/timezone/pgtz.c +index d5bc83e..80c5635 100644 +--- a/src/timezone/pgtz.c ++++ b/src/timezone/pgtz.c +@@ -83,7 +83,7 @@ pg_open_tzfile(const char *name, char *canonname) + * Loop to split the given name into directory levels; for each level, + * search using scan_directory_ci(). + */ +- strcpy(fullname, pg_TZDIR()); ++ strlcpy(fullname, pg_TZDIR(), sizeof(fullname)); + orignamelen = fullnamelen = strlen(fullname); + fname = name; + for (;;) +-- +1.7.5.4 + diff --git a/meta-oe/recipes-support/postgresql/files/postgresql-setup b/meta-oe/recipes-support/postgresql/files/postgresql-setup new file mode 100644 index 0000000000..75bb01e05f --- /dev/null +++ b/meta-oe/recipes-support/postgresql/files/postgresql-setup @@ -0,0 +1,73 @@ +#!/bin/sh +# +# postgresql-setup Initialization operation for PostgreSQL + +# For SELinux we need to use 'runuser' not 'su' +if [ -x /sbin/runuser ] +then + SU=runuser +else + SU=su +fi + +PGENGINE=/usr/bin +PGDATA=/var/lib/postgresql/data +PGLOG=/var/lib/postgresql/pgstartup.log +script_result=0 + +initdb(){ + if [ -f "$PGDATA/PG_VERSION" ] + then + echo -n "Data directory is not empty!" + echo -n " [FAILED] " + echo + script_result=1 + else + echo -n "Initializing database: " + if [ ! -e "$PGDATA" -a ! -h "$PGDATA" ] + then + mkdir -p "$PGDATA" || exit 1 + chown postgres:postgres "$PGDATA" + chmod go-rwx "$PGDATA" + fi + # Clean up SELinux tagging for PGDATA + [ -x /sbin/restorecon ] && /sbin/restorecon "$PGDATA" + + # Make sure the startup-time log file is OK, too + if [ ! -e "$PGLOG" -a ! -h "$PGLOG" ] + then + touch "$PGLOG" || exit 1 + chown postgres:postgres "$PGLOG" + chmod go-rwx "$PGLOG" + [ -x /sbin/restorecon ] && /sbin/restorecon "$PGLOG" + fi + + # Initialize the database + $SU -l postgres -c "$PGENGINE/initdb --pgdata='$PGDATA' --auth='ident'" >> "$PGLOG" 2>&1 < /dev/null + + # Create directory for postmaster log + mkdir "$PGDATA/pg_log" + chown postgres:postgres "$PGDATA/pg_log" + chmod go-rwx "$PGDATA/pg_log" + + if [ -f "$PGDATA/PG_VERSION" ] + then + echo -n " [ OK ] " + else + echo -n " [FAILED] " + script_result=1 + fi + echo + fi +} + +case "$1" in + initdb) + initdb + ;; + *) + echo "Usage: $0 initdb" + exit 2 +esac + +exit $script_result diff --git a/meta-oe/recipes-support/postgresql/files/postgresql.init b/meta-oe/recipes-support/postgresql/files/postgresql.init index ab46477606..4a4f0cd168 100644 --- a/meta-oe/recipes-support/postgresql/files/postgresql.init +++ b/meta-oe/recipes-support/postgresql/files/postgresql.init @@ -101,7 +101,7 @@ start(){ else # No existing PGDATA! Warn the user to initdb it. echo - echo "$PGDATA is missing. Use \"service postgresql initdb\" to initialize the cluster first." + echo "$PGDATA is missing. Use \"postgresql-setup initdb\" to initialize the cluster first." echo -n " [FAILED] " echo exit 1 @@ -160,51 +160,6 @@ reload(){ $SU -l postgres -c "$PGENGINE/pg_ctl reload -D '$PGDATA' -s" > /dev/null 2>&1 < /dev/null } -initdb(){ - if [ -f "$PGDATA/PG_VERSION" ] - then - echo -n "Data directory is not empty!" - echo -n " [FAILED] " - echo - script_result=1 - else - echo -n $"Initializing database: " - if [ ! -e "$PGDATA" -a ! -h "$PGDATA" ] - then - mkdir -p "$PGDATA" || exit 1 - chown postgres:postgres "$PGDATA" - chmod go-rwx "$PGDATA" - fi - # Clean up SELinux tagging for PGDATA - [ -x /sbin/restorecon ] && /sbin/restorecon "$PGDATA" - - # Make sure the startup-time log file is OK, too - if [ ! -e "$PGLOG" -a ! -h "$PGLOG" ] - then - touch "$PGLOG" || exit 1 - chown postgres:postgres "$PGLOG" - chmod go-rwx "$PGLOG" - [ -x /sbin/restorecon ] && /sbin/restorecon "$PGLOG" - fi - - # Initialize the database - $SU -l postgres -c "$PGENGINE/initdb --pgdata='$PGDATA' --auth='ident'" >> "$PGLOG" 2>&1 < /dev/null - - # Create directory for postmaster log - mkdir "$PGDATA/pg_log" - chown postgres:postgres "$PGDATA/pg_log" - chmod go-rwx "$PGDATA/pg_log" - - if [ -f "$PGDATA/PG_VERSION" ] - then - echo -n " [ OK ] " - else - echo -n " [FAILED] " - script_result=1 - fi - echo - fi -} # See how we were called. case "$1" in @@ -230,11 +185,8 @@ case "$1" in force-reload) restart ;; - initdb) - initdb - ;; *) - echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|initdb}" + echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}" exit 2 esac diff --git a/meta-oe/recipes-support/postgresql/files/postgresql.service b/meta-oe/recipes-support/postgresql/files/postgresql.service new file mode 100644 index 0000000000..4ec959e842 --- /dev/null +++ b/meta-oe/recipes-support/postgresql/files/postgresql.service @@ -0,0 +1,27 @@ +[Unit] +Description=PostgreSQL database server +After=network.target + +[Service] +Type=forking +User=postgres +Group=postgres + +# Port number for server to listen on +Environment=PGPORT=5432 + +# Location of database directory +Environment=PGDATA=/var/lib/postgresql/data + +# Disable OOM kill on the postmaster +OOMScoreAdjust=-17 + +ExecStart=@BINDIR@/pg_ctl start -D ${PGDATA} -s -o "-p ${PGPORT}" -w -t 300 +ExecStop=@BINDIR@/pg_ctl stop -D ${PGDATA} -s -m fast +ExecReload=@BINDIR@/pg_ctl reload -D ${PGDATA} -s + +# Give a reasonable amount of time for the server to start up/shut down +TimeoutSec=300 + +[Install] +WantedBy=multi-user.target diff --git a/meta-oe/recipes-support/postgresql/postgresql.inc b/meta-oe/recipes-support/postgresql/postgresql.inc index e1374fb75f..1397f564de 100644 --- a/meta-oe/recipes-support/postgresql/postgresql.inc +++ b/meta-oe/recipes-support/postgresql/postgresql.inc @@ -24,24 +24,47 @@ INC_PR = "r0" ARM_INSTRUCTION_SET = "arm" -SRC_URI = "http://ftp.postgresql.org/pub/source/v${PV}/${P}.tar.bz2 \ +SRC_URI = "http://ftp.postgresql.org/pub/source/v${PV}/${BP}.tar.bz2 \ file://postgresql.init \ file://postgresql-bashprofile \ file://postgresql.pam \ -" + file://postgresql-setup \ + file://postgresql.service \ + file://0001-Use-pkg-config-for-libxml2-detection.patch \ + file://0002-Predict-integer-overflow-to-avoid-buffer-overruns.patch \ + file://0003-Shore-up-ADMIN-OPTION-restrictions.patch \ + file://0004-Prevent-privilege-escalation-in-explicit-calls-to-PL.patch \ + file://0005-Avoid-repeated-name-lookups-during-table-and-index-D.patch \ + file://0006-Fix-handling-of-wide-datetime-input-output.patch \ + file://0007-Make-pqsignal-available-to-pg_regress-of-ECPG-and-is.patch \ + file://0008-Prevent-potential-overruns-of-fixed-size-buffers.patch \ + " LEAD_SONAME = "libpq.so" # LDFLAGS for shared libraries export LDFLAGS_SL = "${LDFLAGS}" -inherit autotools pkgconfig perlnative pythonnative useradd update-rc.d +inherit autotools pkgconfig perlnative pythonnative useradd update-rc.d systemd + +SYSTEMD_SERVICE_${PN} = "postgresql.service" +SYSTEMD_AUTO_ENABLE_${PN} = "disable" + +DEPENDS_append = " ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd-systemctl-native', '', d)}" +pkg_postinst_${PN} () { + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd sysvinit', 'true', 'false', d)}; then + if [ -n "$D" ]; then + OPTS="--root=$D" + fi + systemctl $OPTS mask postgresql-server.service + fi +} enable_pam = "${@base_contains('DISTRO_FEATURES', 'pam', 'pam', '', d)}" PACKAGECONFIG ??= "${enable_pam} openssl python uuid libxml tcl nls libxml perl" PACKAGECONFIG[pam] = "--with-pam,--without-pam,libpam," PACKAGECONFIG[openssl] = "--with-openssl,--without-openssl,openssl," -PACKAGECONFIG[python] = "--with-python,--wsithout-python,python,python" +PACKAGECONFIG[python] = "--with-python,--without-python,python,python" PACKAGECONFIG[uuid] = "--with-ossp-uuid,--without-ossp-uuid,ossp-uuid," # when tcl native package is fixed change WORKDIR to STAGING_BINDIR_CROSS PACKAGECONFIG[tcl] = \ @@ -107,14 +130,14 @@ do_configure() { # do_configure_append # workaround perl package related bugs sed -i -e "s:-L/usr/local/lib:-L=/usr/local/lib:g" \ - ${S}/src/Makefile.global + ${B}/src/Makefile.global LIBPNA="\${STAGING_LIBDIR_NATIVE}/perl-native" LIBNA="\${STAGING_LIBDIR_NATIVE}" BLIBNA="\${STAGING_BASE_LIBDIR_NATIVE}" sed -i -e "/^perl_archlibexp/s:${LIBPNA}:${STAGING_LIBDIR}:g" \ - ${S}/src/Makefile.global + ${B}/src/Makefile.global sed -i -e "/^perl_privlibexp/s:${LIBPNA}:${STAGING_LIBDIR}:g" \ - ${S}/src/Makefile.global + ${B}/src/Makefile.global # remove the rpath, replace with correct lib path sed -i \ -e "/^perl_embed_ldflags/s:-Wl,-rpath,${LIBNA}::g" \ @@ -124,7 +147,7 @@ do_configure() { -e "/^perl_embed_ldflags/s:${LIBPNA}:${STAGING_LIBDIR}:g" \ -e "/^perl_embed_ldflags/s:${LIBNA}:${STAGING_LIBDIR}:g" \ -e "/^perl_embed_ldflags/s:${BLIBNA}:${STAGING_BASELIBDIR}:g" \ - ${S}/src/Makefile.global + ${B}/src/Makefile.global # workaround perl package's libperl.so problem # we are using perlnative so this perl should have same version @@ -158,11 +181,11 @@ do_install_append() { oe_runmake DESTDIR=${D} -C contrib install # install tutorial install -d -m 0755 ${D}${libdir}/${BPN}/tutorial - install ${S}/src/tutorial/* ${D}${libdir}/${BPN}/tutorial + install ${B}/src/tutorial/* ${D}${libdir}/${BPN}/tutorial # install COPYRIGHT README HISTORY install -d -m 0755 ${D}${docdir}/${BPN} - for i in ${S}/{COPYRIGHT,README,HISTORY} ${S}/doc/{KNOWN_BUGS,MISSING_FEATURES,README*,bug.template}; do + for i in ${B}/{COPYRIGHT,README,HISTORY} ${B}/doc/{KNOWN_BUGS,MISSING_FEATURES,README*,bug.template}; do [ -f $i ] && install $i ${D}${docdir}/${BPN} done @@ -170,6 +193,7 @@ do_install_append() { install -d ${D}${sysconfdir}/init.d install -m 0755 ${WORKDIR}/${BPN}.init ${D}${sysconfdir}/init.d/${BPN}-server sed -i -e "s/^PGVERSION=.*$/PGVERSION=${PV}/g" ${D}${sysconfdir}/init.d/${BPN}-server + install -m 0755 ${WORKDIR}/${BPN}-setup ${D}${bindir}/${BPN}-setup install -d -m 700 ${D}${localstatedir}/lib/${BPN}/data install -d -m 700 ${D}${localstatedir}/lib/${BPN}/backups install -m 644 ${WORKDIR}/${BPN}-bashprofile ${D}${localstatedir}/lib/${BPN}/.bash_profile @@ -181,6 +205,12 @@ do_install_append() { install -d ${D}${sysconfdir}/pam.d install -m 644 ${WORKDIR}/postgresql.pam ${D}${sysconfdir}/pam.d/postgresql fi + + # Install systemd unit files + install -d ${D}${systemd_unitdir}/system + install -m 0644 ${WORKDIR}/postgresql.service ${D}${systemd_unitdir}/system + sed -i -e 's,@BINDIR@,${bindir},g' \ + ${D}${systemd_unitdir}/system/postgresql.service } SSTATE_SCAN_FILES += "Makefile.global" diff --git a/meta-oe/recipes-support/pps-tools/pps-tools_git.bb b/meta-oe/recipes-support/pps-tools/pps-tools_git.bb new file mode 100644 index 0000000000..73c46eecde --- /dev/null +++ b/meta-oe/recipes-support/pps-tools/pps-tools_git.bb @@ -0,0 +1,16 @@ +SUMMARY = "User-space tools for LinuxPPS" + +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" + +PV = "0.0.0+git${SRCPV}" +SRCREV = "0deb9c7e135e9380a6d09e9d2e938a146bb698c8" +SRC_URI = "git://github.com/ago/pps-tools.git" + +S = "${WORKDIR}/git" + +do_install() { + install -d ${D}${bindir} ${D}${includedir} \ + ${D}${includedir}/sys + oe_runmake 'DESTDIR=${D}' install +} diff --git a/meta-oe/recipes-support/procmail/procmail/from-debian-to-fix-compile-errors.patch b/meta-oe/recipes-support/procmail/procmail/from-debian-to-fix-compile-errors.patch new file mode 100644 index 0000000000..8341a8ecde --- /dev/null +++ b/meta-oe/recipes-support/procmail/procmail/from-debian-to-fix-compile-errors.patch @@ -0,0 +1,606 @@ +From 898e9514bc889b4a540f667efed95a5af101c824 Mon Sep 17 00:00:00 2001 +From: Li xin <lixin.fnst@cn.fujitsu.com> +Date: Tue, 2 Dec 2014 07:00:36 +0900 +Subject: [PATCH 1/3] From debian to fix compile errors + +Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com> +--- + src/Makefile.0 | 7 +++---- + src/autoconf | 64 +++++++++++++------------------------------------------- + src/comsat.c | 65 +++++++++++++++++++-------------------------------------- + src/fields.c | 6 +++--- + src/foldinfo.h | 2 +- + src/formail.c | 6 +++--- + src/formisc.c | 2 +- + src/formisc.h | 2 +- + src/mailfold.c | 14 ++++++++++--- + src/manconf.c | 2 +- + src/memblk.c | 24 ++++++++++----------- + src/memblk.h | 2 +- + src/network.h | 10 ++------- + src/pipes.c | 10 ++++----- + src/procmail.c | 3 +-- + src/recommend.c | 2 +- + 16 files changed, 81 insertions(+), 140 deletions(-) + +diff --git a/src/Makefile.0 b/src/Makefile.0 +index 6eb5b51..15a2039 100644 +--- a/src/Makefile.0 ++++ b/src/Makefile.0 +@@ -40,7 +40,7 @@ multigram: multigram.$(O) $(MG_OBJ) setid + @cd ..; $(MAKE) config.check + + _autotst: _autotst.$(O) sublib.c sublib.h +- $(CC) $(CFLAGS) $@.$(O) -o $@ $(LDFLAGS) ++ gcc $@.$(O) -o $@ $(LDFLAGS) + + ../autoconf.h: autoconf Makefile ../patchlevel.h + @echo No this was not make -n >make_n +@@ -175,17 +175,16 @@ recommend: recommend.$(O) sublib.$(O) + + ../man/man.sed: manconf.c ../autoconf.h ../config.h includes.h procmail.h + ../man/man.sed: ../patchlevel.h +- @$(CC) $(CFLAGS) "-DBINDIR=\"$(VISIBLE_BINDIR)\"" -o _autotst \ ++ gcc "-DBINDIR=\"$(VISIBLE_BINDIR)\"" -o _autotst \ + manconf.c $(LDFLAGS) + @./_autotst $@ + @echo Housekeeping file >$@ +- @$(RM) _autotst + + clean: + $(RM) -r _locktest + $(RM) procmail.$(O) $(PM_OBJ) lockfile.$(O) $(LF_OBJ) formail.$O \ + $(FM_OBJ) multigram.$(O) $(MG_OBJ) $(BINSS) multigram ../autoconf.h \ +- _autotst* lookfor _locktst* grepfor recommend recommend.$(O) manconf \ ++ lookfor _locktst* grepfor recommend recommend.$(O) manconf \ + _Makefile lock.log *core* targetdir.h setid setid.$(O) gethome \ + gethome.$(O) make_n realloc.log + +diff --git a/src/autoconf b/src/autoconf +index 1cb4c42..ff78048 100755 +--- a/src/autoconf ++++ b/src/autoconf +@@ -68,8 +68,6 @@ + # #define NOfsync + #Ok #define endpwent() + #Ok #define endgrent() +-#Ok #define endhostent() +-#Ok #define endservent() + #Ok #define endprotoent() + # #define h_0addr_list h_addr + #Ok #define NOpw_passwd +@@ -896,7 +894,7 @@ int main(){int i=0; + {uid_t vuid_t;i+=vuid_t=1;} + {gid_t vgid_t;i+=vgid_t=1;} + #ifndef NO_COMSAT +- {struct hostent vhostent;i+=!(vhostent.h_addr_list=0);} ++ {struct addrinfo res; i+=!(res.ai_socktype=0);} + #endif + #ifndef NOuname + {struct utsname vutsname;i+=!(*vutsname.nodename='\0');} +@@ -917,8 +915,6 @@ do + test -z "$i3" && grepfor mode_t 'typedef int mode_t;' && i3=I + test -z "$i4" && grepfor uid_t 'typedef int uid_t;' && i4=I + test -z "$i5" && grepfor gid_t 'typedef int gid_t;' && i5=I +- test -z "$i6" && grepfor h_addr_list '#define h_0addr_list h_addr' && i6=I +- test -z "$i6" && grepfor hostent '#define h_0addr_list h_addr' && i6=I + test -z "$i6" && grepfor member '#define h_0addr_list h_addr' && i6=I + test -z "$i7" && grepfor utsname "#define NOuname \ + /* <sys/utsname.h> is there, but empty */" && i7=I +@@ -1048,8 +1044,12 @@ int main(){char a[2]; + {struct utsname b;uname(&b);} + #endif + #ifndef NO_COMSAT +- gethostbyname("0");getprotobyname(COMSATprotocol);endhostent();endservent(); +- endprotoent(); ++ { ++ struct addrinfo *res, hints; ++ memset(&hints, '\0', sizeof(hints)); ++ if(getaddrinfo(COMSAThost,BIFF_serviceport,&hints,&res)) ++ freeaddrinfo(res); ++ } + #endif + _exit(0); + return 0;} +@@ -1103,14 +1103,9 @@ grepfor uname "\ + /* <sys/utsname.h> defines it, the libraries don't */" + grepfor endpwent '#define endpwent()' + grepfor endgrent '#define endgrent()' +-if grepfor gethostbyname '#define NO_COMSAT' ++if grepfor getaddrinfo '#define NO_COMSAT' + then + : +-else +- grepfor getprotobyname '#define UDP_protocolno 17' +- grepfor endhostent '#define endhostent()' +- grepfor endservent '#define endservent()' +- grepfor endprotoent '#define endprotoent()' + fi + grepfor strstr '#define SLOWstrstr' || + grepfor clock '#define SLOWstrstr' +@@ -1239,39 +1234,9 @@ int main(argc,argv)int argc;const char*argv[]; + printf("/* Insufficient memory to perform the benchmark! */\n"); + #endif /* SLOWstrstr */ + #ifndef NO_COMSAT +-#ifndef UDP_protocolno +- ;{ const struct protoent*p; +- if(p=getprotobyname(COMSATprotocol)) +- { printf("#define UDP_protocolno %d\n",p->p_proto); +-#else +- ;{ if(1) +- { +-#endif +- ;{ const struct servent*serv; +- if(serv=getservbyname(COMSATservice,COMSATprotocol)) +- printf("#define BIFF_serviceport \"%d\"\n", +- ntohs(serv->s_port)); +- } +-#ifdef AF_INET +- ;{ const struct hostent*host; +- if(!strcmp("localhost",COMSAThost)&& +- (host=gethostbyname(COMSAThost))&& +- host->h_0addr_list&&host->h_addrtype==AF_INET&& +- host->h_length) +- { int j=host->h_length; +- const unsigned char*ad=(void*)host->h_0addr_list; +- printf("#define IP_localhost {"); +- printf("%d",*ad++); +- while(--j) +- printf(",%d",*ad++); +- puts("}"); +- } +- } ++#ifndef AF_INET ++ puts("#define NO_COMSAT"); + #endif /* AF_INET */ +- } +- else +- puts("#define NO_COMSAT"); +- } + #endif /* NO_COMSAT */ + ;{ unsigned long s=(size_t)~0;int bits; + for(bits=1;s>>=1;bits++); +@@ -1470,15 +1435,14 @@ cat /usr/lib/sendmail.cf /etc/sendmail.cf /etc/mail/sendmail.cf 2>$DEVNULL | + grep 'Mlocal.*procmail' >$DEVNULL || + echo '#define CF_no_procmail_yet' >>$ACONF + +-cat /usr/lib/sendmail.cf /etc/sendmail.cf /etc/mail/sendmail.cf 2>$DEVNULL | +- grep '^V' >$DEVNULL || +- echo '#define buggy_SENDMAIL' >>$ACONF ++# cat /usr/lib/sendmail.cf /etc/sendmail.cf /etc/mail/sendmail.cf 2>$DEVNULL | ++# grep '^V' >$DEVNULL || ++# echo '#define buggy_SENDMAIL' >>$ACONF + + lpath='/bin' + bins="/bin" + +-for newd in /usr/bin /usr/ucb /usr/5bin $BINDIR /local/bin /usr/local/bin \ +- /global/bin /usr/bin/X11 /usr/X*/bin ++for newd in /usr/bin $BINDIR /usr/bin/X11 /usr/X*/bin + do + if test -d $newd + then +diff --git a/src/comsat.c b/src/comsat.c +index 77dba34..5082b16 100644 +--- a/src/comsat.c ++++ b/src/comsat.c +@@ -27,7 +27,8 @@ static /*const*/char rcsid[]= + #include "comsat.h" + + static int csvalid; /* is it turned on with a good address? */ +-static struct sockaddr_in csaddr; ++static struct addrinfo cai; ++static struct sockaddr *csaddr; + static char*cslastf,*cslgname; + + void setlfcs(folder)const char*folder; /* set lastfolder for comsat */ +@@ -62,56 +63,32 @@ void setlgcs(name)const char*name; /* set logname for comsat */ + } + + int setcomsat(chp)const char*chp; +-{ char*chad;int newvalid; struct sockaddr_in newaddr; ++{ char*chad;int newvalid; struct addrinfo *res, hints; + chad=strchr(chp,SERV_ADDRsep); /* @ separator? */ + if(!chad&&!renvint(-1L,chp)) + return csvalid=0; /* turned off comsat */ + newvalid=1; + if(chad) + *chad++='\0'; /* split the specifier */ ++ if(!chad||!*chp) /* no service */ ++ chp=BIFF_serviceport; /* new balls please! */ + if(!chad||!*chad) /* no host */ +-#ifndef IP_localhost /* Is "localhost" preresolved? */ + chad=COMSAThost; /* nope, use default */ +-#else /* IP_localhost */ +- { static const unsigned char ip_localhost[]=IP_localhost; +- newaddr.sin_family=AF_INET; +- tmemmove(&newaddr.sin_addr,ip_localhost,sizeof ip_localhost); +- } +- else +-#endif /* IP_localhost */ +- { const struct hostent*host; /* what host? paranoid checks */ +- if(!(host=gethostbyname(chad))||!host->h_0addr_list) +- { bbzero(&newaddr.sin_addr,sizeof newaddr.sin_addr); +- newvalid=0; /* host can't be found, too bad */ +- } +- else +- { newaddr.sin_family=host->h_addrtype; /* address number found */ +- tmemmove(&newaddr.sin_addr,host->h_0addr_list,host->h_length); +- } +- endhostent(); +- } +- if(newvalid) /* so far, so good */ +- { int s; +- if(!*chp) /* no service */ +- chp=BIFF_serviceport; /* new balls please! */ +- s=strtol(chp,&chad,10); +- if(chp!=chad) /* the service is not numeric */ +- newaddr.sin_port=htons((short)s); /* network order */ +- else +- { const struct servent*serv; +- serv=getservbyname(chp,COMSATprotocol); /* so get its no. */ +- if(serv) +- newaddr.sin_port=serv->s_port; +- else +- { newaddr.sin_port=htons((short)0); /* no such service */ +- newvalid=0; +- } +- endservent(); +- } +- } ++ bzero(&hints,sizeof(hints)); ++ hints.ai_socktype=SOCK_DGRAM; ++ hints.ai_flags=AI_ADDRCONFIG; ++ if(getaddrinfo(chad,chp,&hints,&res)) ++ newvalid=0; ++ + onguard(); /* update the address atomically */ + if(csvalid=newvalid) +- tmemmove(&csaddr,&newaddr,sizeof(newaddr)); ++ { if(csaddr) ++ free(csaddr); ++ csaddr=malloc(res->ai_addrlen); ++ tmemmove(csaddr,res->ai_addr,res->ai_addrlen); ++ tmemmove(&cai,res,sizeof(cai)); ++ freeaddrinfo(res); ++ } + offguard(); + return newvalid; + } +@@ -120,7 +97,7 @@ void sendcomsat(folder)const char*folder; + { int s;const char*p; + if(!csvalid||!buf) /* is comat on and set to a valid address? */ + return; +- if(!*cslgname||strlen(cslgname)+2>linebuf) /* is $LOGNAME bogus? */ ++ if(!cslgname||!*cslgname||strlen(cslgname)+2>linebuf)/* is $LOGNAME bogus? */ + return; + if(!(p=folder?folder:cslastf)) /* do we have a folder? */ + return; +@@ -132,8 +109,8 @@ void sendcomsat(folder)const char*folder; + } + strlcat(buf,COMSATxtrsep,linebuf); /* custom seperator */ + strlcat(buf,p,linebuf); /* where was it delivered? */ +- if((s=socket(AF_INET,SOCK_DGRAM,UDP_protocolno))>=0) +- { sendto(s,buf,strlen(buf),0,(struct sockaddr*)&csaddr,sizeof(csaddr)); ++ if((s=socket(cai.ai_family,cai.ai_socktype,cai.ai_protocol))>=0) ++ { sendto(s,buf,strlen(buf),0,csaddr,cai.ai_addrlen); + rclose(s); + yell("Notified comsat:",buf); + } +diff --git a/src/fields.c b/src/fields.c +index a2bd77f..37ed154 100644 +--- a/src/fields.c ++++ b/src/fields.c +@@ -110,16 +110,16 @@ void dispfield(p)register const struct field*p; + /* try and append one valid field to rdheader from stdin */ + int readhead P((void)) + { int idlen; +- getline(); ++ get_line(); + if((idlen=breakfield(buf,buffilled))<=0) /* not the start of a valid field */ + return 0; + if(idlen==STRLEN(FROM)&&eqFrom_(buf)) /* it's a From_ line */ + { if(rdheader) + return 0; /* the From_ line was a fake! */ +- for(;buflast=='>';getline()); /* gather continued >From_ lines */ ++ for(;buflast=='>';get_line()); /* gather continued >From_ lines */ + } + else +- for(;;getline()) /* get the rest of the continued field */ ++ for(;;get_line()) /* get the rest of the continued field */ + { switch(buflast) /* will this line be continued? */ + { case ' ':case '\t': /* yep, it sure is */ + continue; +diff --git a/src/foldinfo.h b/src/foldinfo.h +index 9e4ebb6..797f9be 100644 +--- a/src/foldinfo.h ++++ b/src/foldinfo.h +@@ -10,7 +10,7 @@ + + #define ft_lock(type) ((type)>ft_MAILDIR) /* kernel lock fd */ + #define ft_atime(type) ((type)==ft_FILE) /* force atime < mtime */ +-#define ft_dotlock(type) ((type)==ft_FILE) /* dotlock $DEFAULT */ ++#define ft_dotlock(type) ((type)>ft_MAILDIR) /* dotlock $DEFAULT */ + #define ft_delim(type) ((type)==ft_FILE) /* add MMDF delim */ + #define ft_checkcloser(type) ((type)>ft_MH) + #define ft_forceblank(type) ((type)!=ft_MAILDIR) /* force blank line at end */ +diff --git a/src/formail.c b/src/formail.c +index fe5e6be..1f5c9dd 100644 +--- a/src/formail.c ++++ b/src/formail.c +@@ -758,9 +758,9 @@ startover: + lputssn(buf,buffilled),ctlength-=buffilled,buffilled=lnl=0; + ;{ int tbl=buflast,lwr='\n'; + while(--ctlength>=0&&tbl!=EOF) /* skip Content-Length: bytes */ +- lnl=lwr==tbl&&lwr=='\n',putcs(lwr=tbl),tbl=getchar(); ++ lnl=lwr==tbl&&lwr=='\n',lputcs(lwr=tbl),tbl=getchar(); + if((buflast=tbl)=='\n'&&lwr!=tbl) /* just before a line break? */ +- putcs('\n'),buflast=getchar(); /* wrap up loose end */ ++ lputcs('\n'),buflast=getchar(); /* wrap up loose end */ + } + if(!quiet&&ctlength>0) + { charNUM(num,ctlength); +@@ -819,7 +819,7 @@ splitit: { if(!lnl) /* did the previous mail end with an empty line? */ + { if(split) /* gobble up the next start separator */ + { buffilled=0; + #ifdef sMAILBOX_SEPARATOR +- getline();buffilled=0; /* but only if it's defined */ ++ get_line();buffilled=0; /* but only if it's defined */ + #endif + if(buflast!=EOF) /* if any */ + goto splitit; +diff --git a/src/formisc.c b/src/formisc.c +index d6cab90..338733b 100644 +--- a/src/formisc.c ++++ b/src/formisc.c +@@ -115,7 +115,7 @@ void loadchar(c)const int c; /* append one character to buf */ + buf[buffilled++]=c; + } + +-int getline P((void)) /* read a newline-terminated line */ ++int get_line P((void)) /* read a newline-terminated line */ + { if(buflast==EOF) /* at the end of our Latin already? */ + { loadchar('\n'); /* fake empty line */ + return EOF; /* spread the word */ +diff --git a/src/formisc.h b/src/formisc.h +index 1c4ca20..f25211c 100644 +--- a/src/formisc.h ++++ b/src/formisc.h +@@ -17,4 +17,4 @@ void + char* + skipwords P((char*start)); + int +- getline P((void)); ++ get_line P((void)); +diff --git a/src/mailfold.c b/src/mailfold.c +index 917b502..6c8bcf4 100644 +--- a/src/mailfold.c ++++ b/src/mailfold.c +@@ -30,6 +30,7 @@ static /*const*/char rcsid[]= + + int logopened,rawnonl; + off_t lasttell; ++static int trunced; + static long lastdump; + static volatile int mailread; /* if the mail is completely read in already */ + static struct dyna_array confield; /* escapes, concatenations */ +@@ -81,6 +82,7 @@ long dump(s,type,source,len)const int s,type;const char*source; + long len; + { int i;long part; + lasttell=i= -1;SETerrno(EBADF); ++ trunced=0; + if(s>=0) + { if(ft_lock(type)&&(lseek(s,(off_t)0,SEEK_END),fdlock(s))) + nlog("Kernel-lock failed\n"); +@@ -120,13 +122,18 @@ jin: while(part&&(i=rwrite(s,source,BLKSIZ<part?BLKSIZ:(int)part))) + } + writefin: + i=type!=ft_PIPE&&fsync(s)&&errno!=EINVAL; /* EINVAL => wasn't a file */ ++ if ((i||len)&&lasttell>=0) ++ { int serrno=errno; ++ if(!ftruncate(s,lasttell)) trunced=1; ++ SETerrno(serrno); ++ } + if(ft_lock(type)) + { int serrno=errno; /* save any error information */ + if(fdunlock()) + nlog("Kernel-unlock failed\n"); + SETerrno(serrno); + } +- i=rclose(s)||i; ++ i=rclose(s)||i; /* if this fails, we should truncate, but it's too late */ + } /* return an error even if nothing was to be sent */ + return i&&!len?-1:len; + } +@@ -237,7 +244,7 @@ dumpf: { switch(errno) + #endif + default:writeerr(buf); + } +- if(lasttell>=0&&!truncate(boxname,lasttell)&&(logopened||verbose)) ++ if(lasttell>=0&&trunced&&(logopened||verbose)) + nlog("Truncated file to former size\n"); /* undo garbage */ + ret0: return 0; + } +@@ -378,7 +385,8 @@ void readmail(rhead,tobesent)const long tobesent; + dfilled=mailread=0; + else if(rhead) /* only read in a new header */ + { memblk new; +- dfilled=mailread=0;makeblock(&new,0);readdyn(&new,&dfilled,0); ++ dfilled=mailread=0;makeblock(&new,0); ++ readdyn(&new,&dfilled,thebody-themail.p); + if(tobesent>dfilled&&isprivate) /* put it in place here */ + { tmemmove(themail.p+dfilled,thebody,filled-=tobesent); + tmemmove(themail.p,new.p,dfilled); +diff --git a/src/manconf.c b/src/manconf.c +index a9e9f1c..5c8ec36 100644 +--- a/src/manconf.c ++++ b/src/manconf.c +@@ -233,7 +233,7 @@ a security violation was found (e.g. \1.B \2-@PRESERVOPT@\1or variable\ + \2-@PRESERVOPT@\1and\1.BR \2-@FROMWHOPT@ .\1"); + pc("LMTPOPT",LMTPOPT); + #else +- ps("LMTPOPTdesc","");ps("LMTPusage",""); ++ ps("LMTPOPTdesc","");ps("LMTPusage","\1"); + #endif + pname("INIT_UMASK",0);printf("0%lo/g\n",(unsigned long)INIT_UMASK);lines--; + pn("DEFlinebuf",DEFlinebuf); +diff --git a/src/memblk.c b/src/memblk.c +index e2f13f0..97e02d3 100644 +--- a/src/memblk.c ++++ b/src/memblk.c +@@ -51,11 +51,11 @@ void lockblock(mb)memblk*const mb; + { + #ifdef USE_MMAP + if(mb->fd>=0) +- { long len=mb->len+1; +- if(munmap(mb->p,len)) +- mmapfailed(len); /* don't want to continue here */ +- if((mb->p=mmap(0,len,PROT_READ,MAP_PRIVATE,mb->fd,(off_t)0))==MAP_FAILED) +- mmapfailed(len); ++ { long mlen=mb->len+1; ++ if(munmap(mb->p,mlen)) ++ mmapfailed(mlen); /* don't want to continue here */ ++ if((mb->p=mmap(0,mlen,PROT_READ,MAP_PRIVATE,mb->fd,(off_t)0))==MAP_FAILED) ++ mmapfailed(mlen); + close(mb->fd); + mb->fd=ropen(devnull,O_RDWR,0); /* XXX Perhaps -1 is better? */ + } +@@ -77,8 +77,8 @@ int resizeblock(mb,len,nonfatal)memblk*const mb;const long len; + strcpy(filename,MMAP_DIR); + if(unique(filename,strchr(filename,'\0'),MMAP_FILE_LEN,MMAP_PERM,0,0)&& + (mb->fd=ropen(filename,O_RDWR,MMAP_PERM),unlink(filename),mb->fd>=0)) +- { mb->filelen=len; +- if(lseek(mb->fd,mb->filelen-1,SEEK_SET)<0||1!=rwrite(mb->fd,empty,1)) ++ { mb->filelen=len+1; ++ if(lseek(mb->fd,len,SEEK_SET)<0||1!=rwrite(mb->fd,empty,1)) + dropf: { close(mb->fd);mb->fd= -1; + if(verbose)nlog("Unable to extend or use tempfile"); + } +@@ -98,9 +98,9 @@ dropf: { close(mb->fd);mb->fd= -1; + } + } + if(mb->fd>=0) +- { if(len>mb->filelen) /* need to extend? */ +- { mb->filelen=len; +- if(lseek(mb->fd,mb->filelen-1,SEEK_SET)<0||1!=rwrite(mb->fd,empty,1)) ++ { if(len>=mb->filelen) /* need to extend? */ ++ { mb->filelen=len+1; ++ if(lseek(mb->fd,len,SEEK_SET)<0||1!=rwrite(mb->fd,empty,1)) + { char*p=malloc(len+1); /* can't extend, switch to malloc */ + tmemmove(p,mb->p,mb->len); + munmap(mb->p,mb->len+1); +@@ -124,9 +124,9 @@ mmap: if((mb->p=mmap(0,len+1,P_RW,MAP_SHARED,mb->fd,(off_t)0))==MAP_FAILED) + } + else + mb->p=realloc(mb->p,len+1); +- mb->len=len+1; +- mb->p[len]='\0'; ++ mb->len=len; + ret1: ++ mb->p[len]='\0'; + return 1; + } + +diff --git a/src/memblk.h b/src/memblk.h +index 6fd1d1d..b57f369 100644 +--- a/src/memblk.h ++++ b/src/memblk.h +@@ -1,6 +1,6 @@ + typedef struct memblk { + char*p; /* where it starts */ +- long len; /* currently allocated size */ ++ long len; /* current size, not including trailing NUL */ + #ifdef USE_MMAP + off_t filelen; /* how long is the file */ + int fd; /* file which is mmap()ed */ +diff --git a/src/network.h b/src/network.h +index d7d08f2..b09b6c4 100644 +--- a/src/network.h ++++ b/src/network.h +@@ -1,19 +1,13 @@ + /*$Id: network.h,v 1.7 1997/04/02 03:15:41 srb Exp $*/ + +-#include <sys/socket.h> /* socket() sendto() AF_INET ++#include <sys/socket.h> /* socket() sendto() */ + /* SOCK_DGRAM */ +-#include <netdb.h> /* gethostbyname() getservbyname() +- /* getprotobyname() */ +-#include <netinet/in.h> /* htons() struct sockaddr_in */ ++#include <netdb.h> /* getaddrinfo() */ + + #ifndef BIFF_serviceport + #define BIFF_serviceport COMSATservice + #endif + +-#ifndef h_0addr_list +-#define h_0addr_list h_addr_list[0] /* POSIX struct member */ +-#endif +- + #ifndef NO_const /* since network.h is outside the autoconf const check */ + #ifdef const /* loop, we need this backcheck for some systems */ + #undef const +diff --git a/src/pipes.c b/src/pipes.c +index 1fdb9e6..7754300 100644 +--- a/src/pipes.c ++++ b/src/pipes.c +@@ -145,7 +145,9 @@ int pipthrough(line,source,len)char*line,*source;const long len; + if(Stdout) + { *(eq=strchr(Stdout,'\0')-1)='\0'; /* chop the '=' */ + if(!(backblock=getenv(Stdout))) /* no current value? */ +- PRDB=PWRB= -1; ++ { PRDB=PWRB= -1; ++ backlen=0; ++ } + else + { backlen=strlen(backblock); + goto pip; +@@ -155,9 +157,7 @@ int pipthrough(line,source,len)char*line,*source;const long len; + pip: rpipe(pbackfd); + rpipe(pinfd); /* main pipes setup */ + if(!(pidchild=sfork())) /* create a sending procmail */ +- { if(Stdout&&backblock) +- backlen=strlen(backblock); +- else ++ { if(!Stdout) + backblock=source,backlen=len; + childsetup();rclose(PRDI);rclose(PRDB); + rpipe(poutfd);rclose(STDOUT); +@@ -194,7 +194,7 @@ perr: progerr(line,excode,pwait==4); /* I'm going to tell my mommy! */ + makeblock(&temp,Stdfilled); + tmemmove(temp.p,Stdout,Stdfilled); + readdyn(&temp,&Stdfilled,Stdfilled+backlen+1); +- Stdout=realloc(Stdout,&Stdfilled+1); ++ Stdout=realloc(Stdout,Stdfilled+1); + tmemmove(Stdout,temp.p,Stdfilled+1); + freeblock(&temp); + retStdout(Stdout,pwait&&pipw,!backblock); +diff --git a/src/procmail.c b/src/procmail.c +index 4a232f2..2bb449b 100644 +--- a/src/procmail.c ++++ b/src/procmail.c +@@ -652,8 +652,7 @@ commint:do skipspace(); /* skip whitespace */ + nrcond= -1; + if(tolock) /* clear temporary buffer for lockfile name */ + free(tolock); +- for(i=maxindex(flags);i;i--) /* clear the flags */ +- flags[i]=0; ++ bbzero(flags,sizeof(flags)); /* clear the flags */ + for(tolock=0,locknext=0;;) + { chp=skpspace(chp); + switch(i= *chp++) +diff --git a/src/recommend.c b/src/recommend.c +index 5d41e01..9002268 100644 +--- a/src/recommend.c ++++ b/src/recommend.c +@@ -47,7 +47,7 @@ int main(argc,argv)const int argc;const char*const argv[]; + printf("chmod %lo %s\n",(unsigned long)(sgid|PERMIS),argv[2]); + else if(chmdir==1) + goto nogchmod; +- if(chmdir) ++ if(0) + printf("chmod %c+w %s/.\n",chmdir==1?'g':'a',mailspooldir); + nogchmod: + return EXIT_SUCCESS; +-- +1.8.4.2 + diff --git a/meta-oe/recipes-support/procmail/procmail/from-debian-to-fix-man-file.patch b/meta-oe/recipes-support/procmail/procmail/from-debian-to-fix-man-file.patch new file mode 100644 index 0000000000..7b3c643b2b --- /dev/null +++ b/meta-oe/recipes-support/procmail/procmail/from-debian-to-fix-man-file.patch @@ -0,0 +1,83 @@ +From 3cbc5e6e624235f9ba40cfd5a2b18c11be371399 Mon Sep 17 00:00:00 2001 +From: Li xin <lixin.fnst@cn.fujitsu.com> +Date: Tue, 2 Dec 2014 07:02:01 +0900 +Subject: [PATCH 2/3] From debian to fix man file + +Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com> +--- + man/procmail.man | 24 +++++++++++++++++------- + man/procmailrc.man | 2 +- + 2 files changed, 18 insertions(+), 8 deletions(-) + +diff --git a/man/procmail.man b/man/procmail.man +index 175043a..1274ce8 100644 +--- a/man/procmail.man ++++ b/man/procmail.man +@@ -44,11 +44,11 @@ at the end. + should be invoked automatically over the + .B @DOT_FORWARD@ + file mechanism as soon as mail arrives. Alternatively, when installed by +-a system administrator, it can be invoked from within the mailer immediately. +-When invoked, it first sets some environment variables to default values, +-reads the mail message from stdin until an EOF, separates the body from the +-header, and then, if no command line arguments are present, it starts to look +-for a file named ++a system administrator (and in the standard Red Hat Linux configuration), it ++can be invoked from within the mailer immediately. When invoked, it ++first sets some environment variables to default values, reads the mail message from ++stdin until an EOF, separates the body from the header, and then, if no command line ++arguments are present, it starts to look for a file named + .BR @PROCMAILRC@ . + According to the processing recipes in this file, + the mail message that just arrived gets distributed into the right folder +@@ -166,7 +166,8 @@ must be specified on the command line. After the rcfile, procmail will + accept an unlimited number of arguments.@ETCRCS_desc@ + For some advanced usage of this option you should look in the + .B EXAMPLES +-section below.@LMTPOPTdesc@.SH ARGUMENTS ++section below.@LMTPOPTdesc@ ++.SH ARGUMENTS + Any arguments containing an '=' are considered to be environment variable + assignments, they will + .I all +@@ -723,6 +724,15 @@ path.@FW_comment@ + .fi + .ad + .PP ++Some mailers (notably exim) do not currently accept the above syntax. ++In such case use this instead: ++.PP ++.na ++.nf ++|/usr/bin/procmail ++.fi ++.ad ++.PP + Procmail can also be invoked to postprocess an already filled system + mailbox. This can be useful if you don't want to or can't use a + $HOME/@DOT_FORWARD@ file (in which case the following script could +@@ -754,7 +764,7 @@ exit 0 + .SS "A sample small @PROCMAILRC@:" + .na + .nf +-PATH=/bin:/usr/bin:@BINDIR@ ++PATH=/usr/local/bin:/usr/bin:/bin + MAILDIR=$HOME/Mail #you'd better make sure it exists + DEFAULT=$MAILDIR/mbox #completely optional + LOGFILE=$MAILDIR/from #recommended +diff --git a/man/procmailrc.man b/man/procmailrc.man +index 472035f..7bf08dd 100644 +--- a/man/procmailrc.man ++++ b/man/procmailrc.man +@@ -779,7 +779,7 @@ one trailing newline will be stripped. + .PP + Some non-optimal and non-obvious regexps set MATCH to an incorrect + value. The regexp can be made to work by removing one or more unneeded +-'*', '+', or '?' operator on the left-hand side of the \e/ token. ++\&'*', '+', or '?' operator on the left-hand side of the \e/ token. + .SH MISCELLANEOUS + If the regular expression contains `\fB@TO_key@\fP' it will be substituted by + .na +-- +1.8.4.2 + diff --git a/meta-oe/recipes-support/procmail/procmail/from-debian-to-modify-parameters.patch b/meta-oe/recipes-support/procmail/procmail/from-debian-to-modify-parameters.patch new file mode 100644 index 0000000000..a94e436703 --- /dev/null +++ b/meta-oe/recipes-support/procmail/procmail/from-debian-to-modify-parameters.patch @@ -0,0 +1,127 @@ +From 95c742242769721f963c50702e1445fb70c6a45a Mon Sep 17 00:00:00 2001 +From: Li xin <lixin.fnst@cn.fujitsu.com> +Date: Tue, 2 Dec 2014 07:07:33 +0900 +Subject: [PATCH 3/3] From debian to modify parameters + +Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com> +--- + Makefile | 16 ++++++++-------- + config.h | 13 +++++++------ + 2 files changed, 15 insertions(+), 14 deletions(-) + +diff --git a/Makefile b/Makefile +index 1e9568c..9e48201 100644 +--- a/Makefile ++++ b/Makefile +@@ -23,7 +23,7 @@ MAN5DIR = $(MANDIR)/man$(MAN5SUFFIX) + + # Uncomment to install compressed man pages (possibly add extra suffix + # to the definitions of MAN?DIR and/or MAN?SUFFIX by hand) +-#MANCOMPRESS = compress ++# MANCOMPRESS = compress + + ############################*# + # Things that can be made are: +@@ -55,7 +55,7 @@ MAN5DIR = $(MANDIR)/man$(MAN5SUFFIX) + + LOCKINGTEST=__defaults__ + +-#LOCKINGTEST=/tmp . # Uncomment and add any directories you see fit. ++LOCKINGTEST=/tmp . # Uncomment and add any directories you see fit. + # If LOCKINGTEST is defined, autoconf will NOT + # prompt you to enter additional directories. + # See INSTALL for more information about the +@@ -65,7 +65,7 @@ LOCKINGTEST=__defaults__ + # Only edit below this line if you *think* you know what you are doing # + ######################################################################## + +-#LOCKINGTEST=100 # Uncomment (and change) if you think you know ++LOCKINGTEST=100 # Uncomment (and change) if you think you know + # it better than the autoconf lockingtests. + # This will cause the lockingtests to be hotwired. + # 100 to enable fcntl() +@@ -74,20 +74,20 @@ LOCKINGTEST=__defaults__ + # Or them together to get the desired combination. + + # Optional system libraries we search for +-SEARCHLIBS = -lm -ldir -lx -lsocket -lnet -linet -lnsl_s -lnsl_i -lnsl -lsun \ +- -lgen -lsockdns -ldl ++SEARCHLIBS = -lm -ldir -lx -lsocket -lnet -linet -lnsl_s -lnsl_i -lsun \ ++ -lgen -lsockdns + # -lresolv # not really needed, is it? + + # Informal list of directories where we look for the libraries in SEARCHLIBS +-LIBPATHS=/lib /usr/lib /usr/local/lib ++LIBPATHS=/lib /usr/lib + + GCC_WARNINGS = -O2 -pedantic -Wreturn-type -Wunused -Wformat -Wtraditional \ + -Wpointer-arith -Wconversion -Waggregate-return \ + #-Wimplicit -Wshadow -Wid-clash-6 #-Wuninitialized + + # The place to put your favourite extra cc flag +-CFLAGS0 = -O #$(GCC_WARNINGS) +-LDFLAGS0= -s ++CFLAGS0 = $(RPM_OPT_FLAGS) #$(GCC_WARNINGS) ++LDFLAGS0= + # Read my libs :-) + LIBS= + +diff --git a/config.h b/config.h +index c4135a9..a07453f 100644 +--- a/config.h ++++ b/config.h +@@ -35,7 +35,8 @@ + */ + /*#define DEFSPATH "PATH=/bin:/usr/bin" /* */ + /*#define DEFPATH "PATH=$HOME/bin:/bin:/usr/bin" /* */ +- ++#define DEFPATH "PATH=$HOME/bin:/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin" /* */ ++ + /* every environment variable appearing in PRESTENV will be set or wiped + * out of the environment (variables without an '=' sign will be thrown + * out), e.g. you could define PRESTENV as follows: +@@ -46,13 +47,13 @@ + */ + #define PRESTENV {"IFS","ENV","PWD",0} + +-/*#define GROUP_PER_USER /* uncomment this if each ++#define GROUP_PER_USER /* uncomment this if each + user has his or her own + group and procmail can therefore trust a $HOME/.procmailrc that + is group writable or contained in a group writable home directory + if the group involved is the user's default group. */ + +-/*#define LMTP /* uncomment this if you ++#define LMTP /* uncomment this if you + want to use procmail + as an LMTP (rfc2033) server, presumably for invocation by an MTA. + The file examples/local_procmail_lmtp.m4 contains info on how to +@@ -79,7 +80,7 @@ + + /*#define NO_fcntl_LOCK /* uncomment any of these three if you */ + /*#define NO_lockf_LOCK /* definitely do not want procmail to make */ +-/*#define NO_flock_LOCK /* use of those kernel-locking methods */ ++#define NO_flock_LOCK /* use of those kernel-locking methods */ + /* If you set LOCKINGTEST to a binary number + than there's no need to set these. These #defines are only useful + if you want to disable particular locking styles but are unsure which +@@ -91,14 +92,14 @@ + restriction does not apply to the /etc/procmailrc and + /etc/procmailrcs files) */ + +-/*#define NO_NFS_ATIME_HACK /* uncomment if you're definitely not using ++#define NO_NFS_ATIME_HACK /* uncomment if you're definitely not using + NFS mounted filesystems and can't afford + procmail to sleep for 1 sec. before writing to an empty regular + mailbox. This lets programs correctly judge whether there is unread + mail present. procmail automatically suppresses this when it isn't + needed or under heavy load. */ + +-/*#define DEFsendmail "/usr/sbin/sendmail" /* uncomment and/or change if ++#define DEFsendmail "/usr/sbin/sendmail" /* uncomment and/or change if + the autoconfigured default + SENDMAIL is not suitable. This program should quack like a sendmail: + it should accept the -oi flag (to tell it to _not_ treat a line +-- +1.8.4.2 + diff --git a/meta-oe/recipes-support/procmail/procmail/man-file-mailstat.1-from-debian.patch b/meta-oe/recipes-support/procmail/procmail/man-file-mailstat.1-from-debian.patch new file mode 100644 index 0000000000..46d973e060 --- /dev/null +++ b/meta-oe/recipes-support/procmail/procmail/man-file-mailstat.1-from-debian.patch @@ -0,0 +1,60 @@ +From 8ac56108e5f0a72d1bec0fb4f1fa4763a2479331 Mon Sep 17 00:00:00 2001 +From: Li xin <lixin.fnst@cn.fujitsu.com> +Date: Tue, 2 Dec 2014 06:56:14 +0900 +Subject: [PATCH] man file mailstat.1 from debian + +Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com> +--- + debian/mailstat.1 | 40 ++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 40 insertions(+) + create mode 100644 debian/mailstat.1 + +diff --git a/debian/mailstat.1 b/debian/mailstat.1 +new file mode 100644 +index 0000000..f13265a +--- /dev/null ++++ b/debian/mailstat.1 +@@ -0,0 +1,40 @@ ++.TH MAILSTAT 1 ++.SH NAME ++mailstat \- shows mail-arrival statistics ++.SH SYNOPSIS ++.B mailstat ++[\-klmots] [logfile] ++.SH DESCRIPTION ++.B mailstat ++parses a procmail-generated $LOGFILE and displays ++a summary about the messages delivered to all folders ++(total size, average size, nr of messages). ++The $LOGFILE is truncated to zero length, unless the ++.B -k ++option is used. ++Exit code 0 if mail arrived, 1 if no mail arrived. ++.SH OPTIONS ++.TP ++.I \-k ++keep logfile intact ++.TP ++.I \-l ++long display format ++.TP ++.I \-m ++merge any errors into one line ++.TP ++.I \-o ++use the old logfile ++.TP ++.I \-t ++terse display format ++.TP ++.I \-s ++silent in case of no mail ++.SH NOTES ++Customise to your heart's content, this program is only provided as a ++guideline. ++.SH AUTHOR ++This manual page was written by Santiago Vila <sanvila@debian.org> ++for the Debian GNU/Linux distribution (but may be used by others). +-- +1.8.4.2 + diff --git a/meta-oe/recipes-support/procmail/procmail_3.22.bb b/meta-oe/recipes-support/procmail/procmail_3.22.bb new file mode 100644 index 0000000000..1063654f5c --- /dev/null +++ b/meta-oe/recipes-support/procmail/procmail_3.22.bb @@ -0,0 +1,44 @@ +SUMMARY = "Mail processing program" +DESCRIPTION = "Procmail can be used to create mail-servers, mailing lists, sort your\ +incoming mail into separate folders/files (real convenient when subscribing\ +to one or more mailing lists or for prioritising your mail), preprocess\ +your mail, start any programs upon mail arrival (e.g. to generate different\ +chimes on your workstation for different types of mail) or selectively\ +forward certain incoming mail automatically to someone." +HOMEPAGE = "http://www.procmail.org/" +SECTION = "Applications/System" + +SRC_URI = "http://www.ring.gr.jp/archives/net/mail/${BPN}/${BP}.tar.gz \ + file://from-debian-to-fix-compile-errors.patch \ + file://from-debian-to-modify-parameters.patch \ + file://from-debian-to-fix-man-file.patch \ + file://man-file-mailstat.1-from-debian.patch" +SRC_URI[md5sum] = "1678ea99b973eb77eda4ecf6acae53f1" +SRC_URI[sha256sum] = "087c75b34dd33d8b9df5afe9e42801c9395f4bf373a784d9bc97153b0062e117" + +LICENSE = "GPL-2.0 & Artistic-1.0" +LIC_FILES_CHKSUM = "file://COPYING;md5=a71e50e197a992c862379e576e669757 \ + file://Artistic;md5=505e00d03c3428cde21b17b2a386590e" + +DEPENDS = "libnet" +inherit autotools-brokensep +do_configure() { + find examples -type f | xargs chmod 644 + export CC="${BUILD_CC}" + export LD="${BUILD_LD}" + export CFLAGS="${BUILD_CFLAGS}" + export AR="${BUILD_AR}" + export AS="${BUILD_AS}" + make TARGET_CFLAGS="$TARGET_CFLAGS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" autoconf.h +} + +do_compile() { + oe_runmake -i TARGET_CFLAGS="$TARGET_CFLAGS -Wno-comments -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" +} + +do_install() { + install -d ${D}${bindir} + install -d ${D}${mandir}/man{1,5} + oe_runmake -i BASENAME=${D}/usr MANDIR=${D}${mandir} install + install -m 0644 debian/mailstat.1 ${D}${mandir}/man1 +} diff --git a/meta-oe/recipes-support/pv/pv_1.4.6.bb b/meta-oe/recipes-support/pv/pv_1.4.6.bb deleted file mode 100644 index 8aec14ccfe..0000000000 --- a/meta-oe/recipes-support/pv/pv_1.4.6.bb +++ /dev/null @@ -1,17 +0,0 @@ -DESCRIPTION = "pv - Pipe Viewer - is a terminal-based tool for monitoring the progress of data through a pipeline." - -LICENSE = "Artistic-License-2.0" -LIC_FILES_CHKSUM = "file://doc/COPYING;md5=9c50db2589ee3ef10a9b7b2e50ce1d02" - -SRC_URI = "http://www.ivarch.com/programs/sources/pv-${PV}.tar.bz2" -SRC_URI[md5sum] = "d55ff76f5caa83efc23aa527dbb0b191" -SRC_URI[sha256sum] = "edfea0033ec6222eb60b4ec6d905dd2dccdb5900beef03f67f42ca9ed67e9fe2" - -inherit autotools - -# broken autotools -do_configure() { - cp ${S}/autoconf/configure.in ${S} - gnu-configize --force - oe_runconf -} diff --git a/meta-oe/recipes-support/pv/pv_1.5.3.bb b/meta-oe/recipes-support/pv/pv_1.5.3.bb new file mode 100644 index 0000000000..5e3dd67c5b --- /dev/null +++ b/meta-oe/recipes-support/pv/pv_1.5.3.bb @@ -0,0 +1,11 @@ +SUMMARY = "Terminal-based tool for monitoring the progress of data through a pipeline" + +LICENSE = "Artistic-2.0" +LIC_FILES_CHKSUM = "file://doc/COPYING;md5=9c50db2589ee3ef10a9b7b2e50ce1d02" + +SRC_URI = "http://www.ivarch.com/programs/sources/pv-${PV}.tar.bz2" +SRC_URI[md5sum] = "efe8e9e4cad5f3264a32258a63bf2c8e" +SRC_URI[sha256sum] = "76f3999b1c3b3027163dce6ef667cdf8dafb75218ee25e54a03bfe590478f90e" + +inherit autotools + diff --git a/meta-oe/recipes-support/re2c/re2c/configure.patch b/meta-oe/recipes-support/re2c/re2c/configure.patch new file mode 100644 index 0000000000..8ca0969ad6 --- /dev/null +++ b/meta-oe/recipes-support/re2c/re2c/configure.patch @@ -0,0 +1,18 @@ +Modernise configure to work with modern automake. + +RP 2014/7/14 + +Upstream-Status: Pending + +Index: re2c-0.13.5/configure.in +=================================================================== +--- re2c-0.13.5.orig/configure.in 2008-05-25 14:42:34.000000000 +0000 ++++ re2c-0.13.5/configure.in 2014-07-17 14:10:40.595821292 +0000 +@@ -1,6 +1,6 @@ + AC_PREREQ([2.57]) + AC_INIT(re2c, 0.13.5, re2c-general@lists.sourceforge.net) +-AM_INIT_AUTOMAKE(re2c, $PACKAGE_VERSION) ++AM_INIT_AUTOMAKE([foreign]) + AC_CONFIG_SRCDIR(actions.cc) + AM_CONFIG_HEADER(config.h) + diff --git a/meta-oe/recipes-support/re2c/re2c_0.13.5.bb b/meta-oe/recipes-support/re2c/re2c_0.13.5.bb index fff7a782a6..dcac940f81 100644 --- a/meta-oe/recipes-support/re2c/re2c_0.13.5.bb +++ b/meta-oe/recipes-support/re2c/re2c_0.13.5.bb @@ -5,7 +5,8 @@ SECTION = "devel" LICENSE = "PD" LIC_FILES_CHKSUM = "file://README;beginline=180;md5=822830a2204aef353f2c489f62e02089" -SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz" +SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz \ + file://configure.patch" SRC_URI[md5sum] = "4a97d8f77ed6d2c76c8bd840a43f5633" SRC_URI[sha256sum] = "f3a995139af475e80a30207d02728b1e0065b0caade7375e974cb1b14861668c" diff --git a/meta-oe/recipes-support/rng-tools/files/init b/meta-oe/recipes-support/rng-tools/files/init index 5fa5959a40..7cf78393a4 100644 --- a/meta-oe/recipes-support/rng-tools/files/init +++ b/meta-oe/recipes-support/rng-tools/files/init @@ -46,4 +46,4 @@ case "$1" in exit 1 esac -exit 0
\ No newline at end of file +exit 0 diff --git a/meta-oe/recipes-support/rng-tools/rng-tools_2.bb b/meta-oe/recipes-support/rng-tools/rng-tools_2.bb deleted file mode 100644 index 7803b28420..0000000000 --- a/meta-oe/recipes-support/rng-tools/rng-tools_2.bb +++ /dev/null @@ -1,26 +0,0 @@ -SUMMARY = "Random number generator daemon" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" -DEPENDS_append_libc-uclibc = " argp-standalone" - -SRC_URI = "http://heanet.dl.sourceforge.net/sourceforge/gkernel/${P}.tar.gz \ - file://init \ - file://default" - -SRC_URI[md5sum] = "63d503191eabed630324c104cc024475" -SRC_URI[sha256sum] = "1126f0ecc8cab3af14a562cddc5d8ffeef47df7eba34a7aadcdee35a25ec2b1e" - -inherit autotools update-rc.d - -do_install_append() { - install -d "${D}${sysconfdir}/init.d" - install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/rng-tools - sed -i -e 's,/etc/,${sysconfdir}/,' -e 's,/usr/sbin/,${sbindir},' \ - ${D}${sysconfdir}/init.d/rng-tools - - install -d "${D}${sysconfdir}/default" - install -m 0644 ${WORKDIR}/default ${D}${sysconfdir}/default -} - -INITSCRIPT_NAME = "rng-tools" -INITSCRIPT_PARAMS = "defaults" diff --git a/meta-oe/recipes-support/rng-tools/rng-tools_4.bb b/meta-oe/recipes-support/rng-tools/rng-tools_4.bb new file mode 100644 index 0000000000..0b40fc5479 --- /dev/null +++ b/meta-oe/recipes-support/rng-tools/rng-tools_4.bb @@ -0,0 +1,36 @@ +SUMMARY = "Random number generator daemon" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" +DEPENDS_append_libc-uclibc = " argp-standalone" + +SRC_URI = "http://heanet.dl.sourceforge.net/sourceforge/gkernel/${BP}.tar.gz \ + file://init \ + file://default" + +SRC_URI[md5sum] = "ae89dbfcf08bdfbea19066cfbf599127" +SRC_URI[sha256sum] = "b71bdfd4222c05e8316001556be90e1606f2a1bac3efde60153bd84e873cc195" + +# As the recipe doesn't inherit systemd.bbclass, we need to set this variable +# manually to avoid unnecessary postinst/preinst generated. +python () { + if not bb.utils.contains('DISTRO_FEATURES', 'sysvinit', True, False, d): + d.setVar("INHIBIT_UPDATERCD_BBCLASS", "1") +} + +inherit autotools update-rc.d + +do_install_append() { + # Only install the init script when 'sysvinit' is in DISTRO_FEATURES. + if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then + install -d "${D}${sysconfdir}/init.d" + install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/rng-tools + sed -i -e 's,/etc/,${sysconfdir}/,' -e 's,/usr/sbin/,${sbindir},' \ + ${D}${sysconfdir}/init.d/rng-tools + + install -d "${D}${sysconfdir}/default" + install -m 0644 ${WORKDIR}/default ${D}${sysconfdir}/default + fi +} + +INITSCRIPT_NAME = "rng-tools" +INITSCRIPT_PARAMS = "defaults" diff --git a/meta-oe/recipes-support/rsnapshot/rsnapshot/configure-fix-cmd_rsync.patch b/meta-oe/recipes-support/rsnapshot/rsnapshot/configure-fix-cmd_rsync.patch new file mode 100644 index 0000000000..7b2361b4a2 --- /dev/null +++ b/meta-oe/recipes-support/rsnapshot/rsnapshot/configure-fix-cmd_rsync.patch @@ -0,0 +1,44 @@ +From 26ad431e19788898fb4ed19ff91392e8b20f1bab Mon Sep 17 00:00:00 2001 +From: Wenzong Fan <wenzong.fan@windriver.com> +Date: Thu, 16 Oct 2014 04:06:55 -0400 +Subject: [PATCH] fix cmd_rsync + +Don't break configure if rsync is not installed on host. + +rsync is a runtime dependency and this change is only used for +generating rsnapshot.conf.default. It allows cmd_rsync to use +default path if options --without-rsync is specfied. + +Upstream-Status: Pending + +Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com> +--- + configure.ac | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/configure.ac b/configure.ac +index bc9df9e..2a33d29 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -55,7 +55,7 @@ AC_ARG_WITH(rsync, + AC_MSG_ERROR(rsync not found) + fi + else +- AC_MSG_ERROR(rsync is required) ++ RSYNC=no + fi + ] + ) +@@ -67,7 +67,8 @@ if test "$RSYNC" = ""; then + fi + dnl bail out if we can't find it + if test "$RSYNC" = "no"; then +- AC_MSG_ERROR(rsync is required) ++ RSYNC=/usr/bin/rsync ++ AC_SUBST(CMD_RSYNC, "cmd_rsync $RSYNC") + fi + + +-- +1.7.9.5 + diff --git a/meta-oe/recipes-support/rsnapshot/rsnapshot_git.bb b/meta-oe/recipes-support/rsnapshot/rsnapshot_git.bb new file mode 100644 index 0000000000..3f919b568f --- /dev/null +++ b/meta-oe/recipes-support/rsnapshot/rsnapshot_git.bb @@ -0,0 +1,42 @@ +SUMMARY = "A filesystem snapshot utility based on rsync" +HOMEPAGE = "http://www.rsnapshot.org" +BUGTRACKER = "https://sourceforge.net/projects/rsnapshot/" +SECTION = "console/network" + +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=892f569a555ba9c07a568a7c0c4fa63a" + +RDEPENDS_${PN} = "rsync \ + perl \ + perl-module-dirhandle \ + perl-module-cwd \ + perl-module-getopt-std \ + perl-module-file-path \ + perl-module-file-stat \ + perl-module-posix \ + perl-module-fcntl \ + perl-module-io-file \ + perl-module-constant \ + perl-module-overloading \ + " + +SRCREV = "1047cbb57937c29233388e2fcd847fecd3babe74" +PV = "1.3.1+git${SRCPV}" + +SRC_URI = "git://github.com/DrHyde/${BPN};branch=master;protocol=git \ + file://configure-fix-cmd_rsync.patch \ + " + +S = "${WORKDIR}/git" + +inherit autotools + +# Fix rsnapshot.conf.default: +# don't inject the host path into target configs. +EXTRA_OECONF += "--without-cp \ + --without-rm \ + --without-du \ + --without-ssh \ + --without-logger \ + --without-rsync \ + " diff --git a/meta-oe/recipes-support/sdparm/files/make-sysroot-work.patch b/meta-oe/recipes-support/sdparm/files/make-sysroot-work.patch new file mode 100644 index 0000000000..5405ed802e --- /dev/null +++ b/meta-oe/recipes-support/sdparm/files/make-sysroot-work.patch @@ -0,0 +1,27 @@ +[PATCH] make sysroot work + +Upstream-Status: Pending + +Add = before the included dir to make sysroot work + +Signed-off-by: Roy.Li <rongqing.li@windriver.com> +--- + src/Makefile.am | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/Makefile.am b/src/Makefile.am +index c83788c..9f62115 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -32,7 +32,7 @@ sglib_SOURCES = ../lib/sg_lib.c \ + ../lib/sg_pt_common.c + + if HAVE_SGUTILS +-INCLUDES = -I/usr/include/scsi ++INCLUDES = -I=@includedir@/scsi + sdparm_LDADD = @GETOPT_O_FILES@ @os_libs@ @SGUTILS_LIBS@ + sdparm_DEPENDENCIES = @GETOPT_O_FILES@ + else +-- +1.9.1 + diff --git a/meta-oe/recipes-support/sdparm/sdparm_1.08.bb b/meta-oe/recipes-support/sdparm/sdparm_1.08.bb new file mode 100644 index 0000000000..b603a56824 --- /dev/null +++ b/meta-oe/recipes-support/sdparm/sdparm_1.08.bb @@ -0,0 +1,23 @@ +SUMMARY = "fetch and change SCSI mode pages" +DESCRIPTION = "The sdparm utility accesses and optionally modifies \ +SCSI devices' mode page and inquiry data." +HOMEPAGE = "http://sg.danny.cz/sg/sdparm.html" +SECTION = "console/utils" +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://COPYING;md5=ecab6c36b7ba82c675581dd0afde36f7 \ + file://lib/BSD_LICENSE;md5=1d52f4a66f1e0ed96776bf354ab7a2ed" +DEPENDS="sg3-utils" +SRC_URI = "http://sg.danny.cz/sg/p/${BPN}-${PV}.tgz \ + file://make-sysroot-work.patch \ + " + +PACKAGES =+ "${PN}-scripts" +RDEPENDS_${PN}-scripts += "bash ${PN}" + +SRC_URI[md5sum] = "be5786f37499018ef44f409597c92d42" +SRC_URI[sha256sum] = "376b78a414b1a9c47f3f13dbeb963e7a3ec7be126f83927d6856b5f7ac425e57" + +inherit autotools + +# Put the bash scripts to ${PN}-scripts +FILES_${PN}-scripts = "${bindir}/sas_disk_blink ${bindir}/scsi_ch_swp" diff --git a/meta-oe/recipes-support/sg3-utils/sg3-utils_1.38.bb b/meta-oe/recipes-support/sg3-utils/sg3-utils_1.38.bb index 36c13a412c..5ce11b62da 100644 --- a/meta-oe/recipes-support/sg3-utils/sg3-utils_1.38.bb +++ b/meta-oe/recipes-support/sg3-utils/sg3-utils_1.38.bb @@ -15,3 +15,5 @@ SRC_URI[sha256sum] = "d7d3a8b4b698e2c17c8f16bb876946720260d4d659d471c5d7c12ce652 inherit autotools-brokensep S = "${WORKDIR}/sg3_utils-${PV}" + +RDEPENDS_${PN} += "bash" diff --git a/meta-oe/recipes-support/sharutils/sharutils-4.14/fix-for-cross-compiling.patch b/meta-oe/recipes-support/sharutils/sharutils-4.14/fix-for-cross-compiling.patch new file mode 100644 index 0000000000..86a7da63c2 --- /dev/null +++ b/meta-oe/recipes-support/sharutils/sharutils-4.14/fix-for-cross-compiling.patch @@ -0,0 +1,29 @@ +From 990234af84a5399017d1c4fe03c5c756a8e51e23 Mon Sep 17 00:00:00 2001 +From: Hongjun Yang <Hongjun.Yang@windriver.com> +Date: Tue, 20 Aug 2013 09:41:43 +0800 +Subject: [PATCH] fix cross compiling issue + +Upstream-Status: Pending + +Signed-off-by: Hongjun.Yang <hongjun.yang@windriver.com> + +--- + configure | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure b/configure +index 6ee98e0..8067f54 100755 +--- a/configure ++++ b/configure +@@ -26965,7 +26965,7 @@ fi + if test "$cross_compiling" = yes; then : + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 + $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +-as_fn_error $? "cannot run test program while cross compiling ++$as_echo "cannot run test program while cross compiling + See \`config.log' for more details" "$LINENO" 5; } + else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +-- +1.8.1.4 + diff --git a/meta-oe/recipes-support/sharutils/sharutils_4.14.bb b/meta-oe/recipes-support/sharutils/sharutils_4.14.bb new file mode 100644 index 0000000000..49981e7f7a --- /dev/null +++ b/meta-oe/recipes-support/sharutils/sharutils_4.14.bb @@ -0,0 +1,18 @@ +SUMMARY = "This is the set of GNU shar utilities." +HOMEPAGE = "http://www.gnu.org/software/sharutils/" +SECTION = "console/utils" +LICENSE="GPLv3+" +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" + +inherit gettext autotools-brokensep + +SRC_URI = "ftp://ftp.gnu.org/gnu/sharutils/sharutils-4.14.tar.gz \ + file://fix-for-cross-compiling.patch \ + " + +SRC_URI[md5sum] = "5686c11131b4c4c0841f8f3ef34d136a" +SRC_URI[sha256sum] = "90f5107c167cfd1b299bb211828d2586471087863dbed698f53109cd5f717208" + +do_configure () { + oe_runconf +} diff --git a/meta-oe/recipes-support/smem/smem_1.4.bb b/meta-oe/recipes-support/smem/smem_1.4.bb new file mode 100644 index 0000000000..8768c4896b --- /dev/null +++ b/meta-oe/recipes-support/smem/smem_1.4.bb @@ -0,0 +1,26 @@ +SUMMARY = "Report application memory usage in a meaningful way" +DESCRIPTION = "smem is a tool that can give numerous reports on memory usage on Linux \ +systems. Unlike existing tools, smem can report proportional set size (PSS), \ +which is a more meaningful representation of the amount of memory used by \ +libraries and applications in a virtual memory system." +HOMEPAGE = "http://www.selenic.com/smem/" +SECTION = "Applications/System" + +LICENSE = "GPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +SRC_URI = "http://www.selenic.com/${BPN}/download/${BP}.tar.gz" +SRC_URI[md5sum] = "fe79435c3930389bfdb560255c802162" +SRC_URI[sha256sum] = "2ea9f878f4cf3c276774c3f7e2a41977a1f2d64f98d2dcb6a15f1f3d84df61ec" + +do_compile() { + ${CC} ${CFLAGS} ${LDFLAGS} smemcap.c -o smemcap +} + +do_install() { + install -d ${D}/${bindir}/ + install -d ${D}/${mandir}/man8 + install -m 0755 ${S}/smem ${D}${bindir}/ + install -m 0755 ${S}/smemcap ${D}${bindir}/ + install -m 0644 ${S}/smem.8 ${D}/${mandir}/man8/ +} diff --git a/meta-oe/recipes-support/sqlite/sqlite_2.8.17.bb b/meta-oe/recipes-support/sqlite/sqlite_2.8.17.bb index 5148f356fb..e6e14c2ad5 100644 --- a/meta-oe/recipes-support/sqlite/sqlite_2.8.17.bb +++ b/meta-oe/recipes-support/sqlite/sqlite_2.8.17.bb @@ -26,7 +26,7 @@ do_configure() { } do_compile() { - oe_runmake -f Makefile.linux-gcc \ + oe_runmake -f ${S}/Makefile.linux-gcc \ TOP="${S}" \ BCC="${BUILD_CC}" \ TCC="${CC}" \ diff --git a/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon_1.16.0.2.bb b/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon_1.16.0.2.bb index bb649a2337..c232474a05 100644 --- a/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon_1.16.0.2.bb +++ b/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon_1.16.0.2.bb @@ -10,14 +10,13 @@ SRC_URI = "http://sources.openembedded.org/dpkg_${PV}.tar.bz2" SRC_URI[md5sum] = "d211a84f38987771a49ad1c0f144334a" SRC_URI[sha256sum] = "2a3d4ba83c743b3f004533fdd52372cb7b22f5c1da2042d0a31bbcc2b54c0ea5" -inherit autotools gettext +inherit autotools gettext pkgconfig S = "${WORKDIR}/dpkg-${PV}" EXTRA_OECONF = " \ --with-start-stop-daemon \ --without-bz2 \ - --without-deselect \ --without-install-info \ --without-selinux \ --without-update-alternatives \ diff --git a/meta-oe/recipes-support/synergy/synergy_1.3.8.bb b/meta-oe/recipes-support/synergy/synergy_1.3.8.bb index c73582ea9b..45c0bc2f52 100644 --- a/meta-oe/recipes-support/synergy/synergy_1.3.8.bb +++ b/meta-oe/recipes-support/synergy/synergy_1.3.8.bb @@ -4,7 +4,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=9772a11e3569985855e2ce450e56f991" LICENSE = "GPL-2.0" SECTION = "x11/utils" -DEPENDS = "libx11 libxtst" +DEPENDS = "virtual/libx11 libxtst libxinerama" SRC_URI = "http://synergy.googlecode.com/files/synergy-${PV}-Source.tar.gz" @@ -13,7 +13,9 @@ SRC_URI[sha256sum] = "0afc83e4ed0b46ed497d4229b2b2854e8d3c581a112f4da05110943edb S = "${WORKDIR}/${PN}-${PV}-Source" -inherit cmake +inherit cmake distro_features_check +# depends on virtual/libx11 +REQUIRED_DISTRO_FEATURES = "x11" do_install() { install -d ${D}/usr/bin diff --git a/meta-oe/recipes-support/syslog-ng/files/Fix-the-memory-leak-problem-for-mutex.patch b/meta-oe/recipes-support/syslog-ng/files/Fix-the-memory-leak-problem-for-mutex.patch new file mode 100644 index 0000000000..89022aaf00 --- /dev/null +++ b/meta-oe/recipes-support/syslog-ng/files/Fix-the-memory-leak-problem-for-mutex.patch @@ -0,0 +1,58 @@ +Fix the memory leak problem for mutex + +Upstream-Status: Pending + +Signed-off-by: Xufeng Zhang <xufeng.zhang@windriver.com> +--- + lib/logqueue.c | 1 + + modules/affile/affile-dest.c | 2 ++ + modules/dbparser/dbparser.c | 1 + + 3 files changed, 4 insertions(+), 0 deletions(-) + +diff --git a/lib/logqueue.c b/lib/logqueue.c +index 337a3c1..10edcf0 100644 +--- a/lib/logqueue.c ++++ b/lib/logqueue.c +@@ -188,6 +188,7 @@ log_queue_init_instance(LogQueue *self, const gchar *persist_name) + void + log_queue_free_method(LogQueue *self) + { ++ g_static_mutex_free(&self->lock); + g_free(self->persist_name); + g_free(self); + } +diff --git a/modules/affile/affile-dest.c b/modules/affile/affile-dest.c +index a2bcdad..ce79f6f 100644 +--- a/modules/affile/affile-dest.c ++++ b/modules/affile/affile-dest.c +@@ -305,6 +305,7 @@ affile_dw_free(LogPipe *s) + { + AFFileDestWriter *self = (AFFileDestWriter *) s; + ++ g_static_mutex_free(&self->lock); + log_pipe_unref((LogPipe *) self->writer); + self->writer = NULL; + g_free(self->filename); +@@ -687,6 +688,7 @@ affile_dd_free(LogPipe *s) + /* NOTE: this must be NULL as deinit has freed it, otherwise we'd have circular references */ + g_assert(self->single_writer == NULL && self->writer_hash == NULL); + ++ g_static_mutex_free(&self->lock); + log_template_unref(self->filename_template); + log_writer_options_destroy(&self->writer_options); + log_dest_driver_free(s); +diff --git a/modules/dbparser/dbparser.c b/modules/dbparser/dbparser.c +index f1248b5..9775701 100644 +--- a/modules/dbparser/dbparser.c ++++ b/modules/dbparser/dbparser.c +@@ -284,6 +284,7 @@ log_db_parser_free(LogPipe *s) + { + LogDBParser *self = (LogDBParser *) s; + ++ g_static_mutex_free(&self->lock); + if (self->db) + pattern_db_free(self->db); + +-- +1.7.1 + diff --git a/meta-oe/recipes-support/syslog-ng/files/Fix-the-memory-leak-problem-when-HAVE_ENVIRON-defined.patch b/meta-oe/recipes-support/syslog-ng/files/Fix-the-memory-leak-problem-when-HAVE_ENVIRON-defined.patch new file mode 100644 index 0000000000..2ac9c0be0f --- /dev/null +++ b/meta-oe/recipes-support/syslog-ng/files/Fix-the-memory-leak-problem-when-HAVE_ENVIRON-defined.patch @@ -0,0 +1,27 @@ +Fix the memory leak problem when HAVE_ENVIRON is defined + +Upstream-Status: Pending + +Signed-off-by: Xufeng Zhang <xufeng.zhang@windriver.com> +--- +--- a/lib/gprocess.c ++++ b/lib/gprocess.c +@@ -1421,6 +1421,18 @@ + void + g_process_finish(void) + { ++#ifdef HAVE_ENVIRON ++ int i = 0; ++ ++ while (environ[i]) { ++ g_free(environ[i]); ++ ++i; ++ } ++ if (environ) ++ g_free(environ); ++ if (process_opts.argv_orig) ++ free(process_opts.argv_orig); ++#endif + g_process_remove_pidfile(); + } + diff --git a/meta-oe/recipes-support/syslog-ng/files/afsql-afsql_dd_insert_db-refactor.patch b/meta-oe/recipes-support/syslog-ng/files/afsql-afsql_dd_insert_db-refactor.patch new file mode 100644 index 0000000000..42e181bb1f --- /dev/null +++ b/meta-oe/recipes-support/syslog-ng/files/afsql-afsql_dd_insert_db-refactor.patch @@ -0,0 +1,494 @@ +From 23e80b75508187baaa823a68ea019b72e0b2305c Mon Sep 17 00:00:00 2001 +From: Budai Laszlo <lbudai@balabit.hu> +Date: Tue, 12 Nov 2013 13:19:04 +0100 +Subject: [PATCH] afsql: afsql_dd_insert_db() refactor + +Upstream-Status: Backport + +A lot of the code that was previously in afsql_dd_insert_db() have been +extracted to smaller functions, and afsql_dd_insert_db() was rebuilt on +top of these. At the same time, memory leaks were plugged, and in case +of a transaction error, backlog rewinding has been fixed too, to not +loose messages since the last BEGIN command. + +Signed-off-by: Juhasz Viktor <jviktor@balabit.hu> +Signed-off-by: Laszlo Budai <lbudai@balabit.hu> +--- + modules/afsql/afsql.c | 301 ++++++++++++++++++++++++++++++++------------------ + 1 file changed, 192 insertions(+), 109 deletions(-) + +diff --git a/modules/afsql/afsql.c b/modules/afsql/afsql.c +index 12f6aab..a6a8190 100644 +--- a/modules/afsql/afsql.c ++++ b/modules/afsql/afsql.c +@@ -456,24 +456,21 @@ afsql_dd_create_index(AFSqlDestDriver *s + * + * NOTE: This function can only be called from the database thread. + **/ +-static GString * +-afsql_dd_validate_table(AFSqlDestDriver *self, LogMessage *msg) ++static gboolean ++afsql_dd_validate_table(AFSqlDestDriver *self, GString *table) + { +- GString *query_string, *table; ++ GString *query_string; + dbi_result db_res; + gboolean success = FALSE; + gint i; + +- table = g_string_sized_new(32); +- log_template_format(self->table, msg, &self->template_options, LTZ_LOCAL, 0, NULL, table); +- + if (self->flags & AFSQL_DDF_DONT_CREATE_TABLES) +- return table; ++ return TRUE; + + afsql_dd_check_sql_identifier(table->str, TRUE); + + if (g_hash_table_lookup(self->validated_tables, table->str)) +- return table; ++ return TRUE; + + query_string = g_string_sized_new(32); + g_string_printf(query_string, "SELECT * FROM %s WHERE 0=1", table->str); +@@ -544,14 +541,9 @@ afsql_dd_validate_table(AFSqlDestDriver + /* we have successfully created/altered the destination table, record this information */ + g_hash_table_insert(self->validated_tables, g_strdup(table->str), GUINT_TO_POINTER(TRUE)); + } +- else +- { +- g_string_free(table, TRUE); +- table = NULL; +- } + g_string_free(query_string, TRUE); + +- return table; ++ return success; + } + + /** +@@ -581,6 +573,20 @@ afsql_dd_begin_txn(AFSqlDestDriver *self + } + + /** ++ * afsql_dd_handle_transaction_error: ++ * ++ * Handle errors inside during a SQL transaction (e.g. INSERT or COMMIT failures). ++ * ++ * NOTE: This function can only be called from the database thread. ++ **/ ++static void ++afsql_dd_handle_transaction_error(AFSqlDestDriver *self) ++{ ++ log_queue_rewind_backlog(self->queue); ++ self->flush_lines_queued = 0; ++} ++ ++/** + * afsql_dd_begin_txn: + * + * Commit SQL transaction. +@@ -596,14 +602,14 @@ afsql_dd_commit_txn(AFSqlDestDriver *sel + if (success) + { + log_queue_ack_backlog(self->queue, self->flush_lines_queued); ++ self->flush_lines_queued = 0; + } + else + { +- msg_notice("SQL transaction commit failed, rewinding backlog and starting again", +- NULL); +- log_queue_rewind_backlog(self->queue); ++ msg_error("SQL transaction commit failed, rewinding backlog and starting again", ++ NULL); ++ afsql_dd_handle_transaction_error(self); + } +- self->flush_lines_queued = 0; + return success; + } + +@@ -644,12 +650,13 @@ afsql_dd_set_dbd_opt_numeric(gpointer ke + } + + static gboolean +-afsql_dd_connect(AFSqlDestDriver *self) ++afsql_dd_ensure_initialized_connection(AFSqlDestDriver *self) + { + if (self->dbi_ctx) + return TRUE; + + self->dbi_ctx = dbi_conn_new(self->type); ++ + if (!self->dbi_ctx) + { + msg_error("No such DBI driver", +@@ -659,10 +666,12 @@ afsql_dd_connect(AFSqlDestDriver *self) + } + + dbi_conn_set_option(self->dbi_ctx, "host", self->host); ++ + if (strcmp(self->type, "mysql")) + dbi_conn_set_option(self->dbi_ctx, "port", self->port); + else + dbi_conn_set_option_numeric(self->dbi_ctx, "port", atoi(self->port)); ++ + dbi_conn_set_option(self->dbi_ctx, "username", self->user); + dbi_conn_set_option(self->dbi_ctx, "password", self->password); + dbi_conn_set_option(self->dbi_ctx, "dbname", self->database); +@@ -691,6 +700,7 @@ afsql_dd_connect(AFSqlDestDriver *self) + evt_tag_str("database", self->database), + evt_tag_str("error", dbi_error), + NULL); ++ + return FALSE; + } + +@@ -713,104 +723,145 @@ afsql_dd_connect(AFSqlDestDriver *self) + return TRUE; + } + +-static gboolean +-afsql_dd_insert_fail_handler(AFSqlDestDriver *self, LogMessage *msg, +- LogPathOptions *path_options) ++static GString * ++afsql_dd_ensure_accessible_database_table(AFSqlDestDriver *self, LogMessage *msg) + { +- if (self->failed_message_counter < self->num_retries - 1) +- { +- log_queue_push_head(self->queue, msg, path_options); +- +- /* database connection status sanity check after failed query */ +- if (dbi_conn_ping(self->dbi_ctx) != 1) +- { +- const gchar *dbi_error; +- +- dbi_conn_error(self->dbi_ctx, &dbi_error); +- msg_error("Error, no SQL connection after failed query attempt", +- evt_tag_str("type", self->type), +- evt_tag_str("host", self->host), +- evt_tag_str("port", self->port), +- evt_tag_str("username", self->user), +- evt_tag_str("database", self->database), +- evt_tag_str("error", dbi_error), +- NULL); +- return FALSE; +- } ++ GString *table = g_string_sized_new(32); ++ log_template_format(self->table, msg, &self->template_options, LTZ_LOCAL, 0, NULL, table); + +- self->failed_message_counter++; +- return FALSE; ++ if (!afsql_dd_validate_table(self, table)) ++ { ++ /* If validate table is FALSE then close the connection and wait time_reopen time (next call) */ ++ msg_error("Error checking table, disconnecting from database, trying again shortly", ++ evt_tag_int("time_reopen", self->time_reopen), ++ NULL); ++ g_string_free(table, TRUE); ++ return NULL; + } + +- msg_error("Multiple failures while inserting this record into the database, message dropped", +- evt_tag_int("attempts", self->num_retries), +- NULL); +- stats_counter_inc(self->dropped_messages); +- log_msg_drop(msg, path_options); +- self->failed_message_counter = 0; +- return TRUE; ++ return table; + } + + static GString * +-afsql_dd_construct_query(AFSqlDestDriver *self, GString *table, +- LogMessage *msg) ++afsql_dd_build_insert_command(AFSqlDestDriver *self, LogMessage *msg, GString *table) + { +- GString *value; +- GString *query_string; +- gint i; ++ GString *insert_command = g_string_sized_new(256); ++ GString *value = g_string_sized_new(512); ++ gint i, j; + +- value = g_string_sized_new(256); +- query_string = g_string_sized_new(512); ++ g_string_printf(insert_command, "INSERT INTO %s (", table->str); + +- g_string_printf(query_string, "INSERT INTO %s (", table->str); + for (i = 0; i < self->fields_len; i++) + { +- g_string_append(query_string, self->fields[i].name); +- if (i != self->fields_len - 1) +- g_string_append(query_string, ", "); ++ if ((self->fields[i].flags & AFSQL_FF_DEFAULT) == 0 && self->fields[i].value != NULL) ++ { ++ g_string_append(insert_command, self->fields[i].name); ++ ++ j = i + 1; ++ while (j < self->fields_len && (self->fields[j].flags & AFSQL_FF_DEFAULT) == AFSQL_FF_DEFAULT) ++ j++; ++ ++ if (j < self->fields_len) ++ g_string_append(insert_command, ", "); ++ } + } +- g_string_append(query_string, ") VALUES ("); ++ ++ g_string_append(insert_command, ") VALUES ("); + + for (i = 0; i < self->fields_len; i++) + { + gchar *quoted; + +- if (self->fields[i].value == NULL) +- { +- /* the config used the 'default' value for this column -> the fields[i].value is NULL, use SQL default */ +- g_string_append(query_string, "DEFAULT"); +- } +- else ++ if ((self->fields[i].flags & AFSQL_FF_DEFAULT) == 0 && self->fields[i].value != NULL) + { + log_template_format(self->fields[i].value, msg, &self->template_options, LTZ_SEND, self->seq_num, NULL, value); +- + if (self->null_value && strcmp(self->null_value, value->str) == 0) + { +- g_string_append(query_string, "NULL"); ++ g_string_append(insert_command, "NULL"); + } + else + { + dbi_conn_quote_string_copy(self->dbi_ctx, value->str, "ed); + if (quoted) + { +- g_string_append(query_string, quoted); ++ g_string_append(insert_command, quoted); + free(quoted); + } + else + { +- g_string_append(query_string, "''"); ++ g_string_append(insert_command, "''"); + } + } +- } + +- if (i != self->fields_len - 1) +- g_string_append(query_string, ", "); ++ j = i + 1; ++ while (j < self->fields_len && (self->fields[j].flags & AFSQL_FF_DEFAULT) == AFSQL_FF_DEFAULT) ++ j++; ++ if (j < self->fields_len) ++ g_string_append(insert_command, ", "); ++ } + } +- g_string_append(query_string, ")"); ++ ++ g_string_append(insert_command, ")"); + + g_string_free(value, TRUE); + +- return query_string; ++ return insert_command; ++} ++ ++static inline gboolean ++afsql_dd_is_transaction_handling_enabled(const AFSqlDestDriver *self) ++{ ++ return self->flush_lines_queued != -1; ++} ++ ++static inline gboolean ++afsql_dd_should_start_new_transaction(const AFSqlDestDriver *self) ++{ ++ return self->flush_lines_queued == 0; ++} ++ ++static inline gboolean ++afsql_dd_should_commit_transaction(const AFSqlDestDriver *self) ++{ ++ return afsql_dd_is_transaction_handling_enabled(self) && self->flush_lines_queued == self->flush_lines; ++} ++ ++static inline gboolean ++afsql_dd_handle_insert_row_error_depending_on_connection_availability(AFSqlDestDriver *self, ++ LogMessage *msg, ++ LogPathOptions *path_options) ++{ ++ const gchar *dbi_error, *error_message; ++ ++ if (dbi_conn_ping(self->dbi_ctx) == 1) ++ { ++ log_queue_push_head(self->queue, msg, path_options); ++ return TRUE; ++ } ++ ++ if (afsql_dd_is_transaction_handling_enabled(self)) ++ { ++ error_message = "SQL connection lost in the middle of a transaction," ++ " rewinding backlog and starting again"; ++ afsql_dd_handle_transaction_error(self); ++ } ++ else ++ { ++ error_message = "Error, no SQL connection after failed query attempt"; ++ log_queue_push_head(self->queue, msg, path_options); ++ } ++ ++ dbi_conn_error(self->dbi_ctx, &dbi_error); ++ msg_error(error_message, ++ evt_tag_str("type", self->type), ++ evt_tag_str("host", self->host), ++ evt_tag_str("port", self->port), ++ evt_tag_str("username", self->user), ++ evt_tag_str("database", self->database), ++ evt_tag_str("error", dbi_error), ++ NULL); ++ ++ return FALSE; + } + + /** +@@ -824,61 +875,93 @@ afsql_dd_construct_query(AFSqlDestDriver + static gboolean + afsql_dd_insert_db(AFSqlDestDriver *self) + { +- GString *table, *query_string; ++ GString *table = NULL; ++ GString *insert_command = NULL; + LogMessage *msg; + gboolean success; + LogPathOptions path_options = LOG_PATH_OPTIONS_INIT; + +- afsql_dd_connect(self); ++ if (!afsql_dd_ensure_initialized_connection(self)) ++ return FALSE; + +- success = log_queue_pop_head(self->queue, &msg, &path_options, (self->flags & AFSQL_DDF_EXPLICIT_COMMITS), FALSE); ++ /* connection established, try to insert a message */ ++ success = log_queue_pop_head(self->queue, &msg, &path_options, FALSE, self->flags & AFSQL_DDF_EXPLICIT_COMMITS); + if (!success) + return TRUE; + + msg_set_context(msg); + +- table = afsql_dd_validate_table(self, msg); ++ table = afsql_dd_ensure_accessible_database_table(self, msg); ++ + if (!table) + { +- /* If validate table is FALSE then close the connection and wait time_reopen time (next call) */ +- msg_error("Error checking table, disconnecting from database, trying again shortly", +- evt_tag_int("time_reopen", self->time_reopen), +- NULL); +- msg_set_context(NULL); +- g_string_free(table, TRUE); +- return afsql_dd_insert_fail_handler(self, msg, &path_options); ++ success = FALSE; ++ goto out; + } + +- query_string = afsql_dd_construct_query(self, table, msg); ++ if (afsql_dd_should_start_new_transaction(self) && !afsql_dd_begin_txn(self)) ++ { ++ success = FALSE; ++ goto out; ++ } + +- if (self->flush_lines_queued == 0 && !afsql_dd_begin_txn(self)) +- return FALSE; ++ insert_command = afsql_dd_build_insert_command(self, msg, table); ++ success = afsql_dd_run_query(self, insert_command->str, FALSE, NULL); + +- success = afsql_dd_run_query(self, query_string->str, FALSE, NULL); + if (success && self->flush_lines_queued != -1) + { + self->flush_lines_queued++; + +- if (self->flush_lines && self->flush_lines_queued == self->flush_lines && !afsql_dd_commit_txn(self)) +- return FALSE; ++ if (afsql_dd_should_commit_transaction(self) && !afsql_dd_commit_txn(self)) ++ { ++ /* Assuming that in case of error, the queue is rewound by afsql_dd_commit_txn() */ ++ ++ g_string_free(insert_command, TRUE); ++ msg_set_context(NULL); ++ ++ return FALSE; ++ } + } + +- g_string_free(table, TRUE); +- g_string_free(query_string, TRUE); ++ out: ++ ++ if (table != NULL) ++ g_string_free(table, TRUE); ++ ++ if (insert_command != NULL) ++ g_string_free(insert_command, TRUE); + + msg_set_context(NULL); + +- if (!success) +- return afsql_dd_insert_fail_handler(self, msg, &path_options); ++ if (success) ++ { ++ log_msg_ack(msg, &path_options); ++ log_msg_unref(msg); ++ step_sequence_number(&self->seq_num); ++ self->failed_message_counter = 0; ++ } ++ else ++ { ++ if (self->failed_message_counter < self->num_retries - 1) ++ { ++ if (!afsql_dd_handle_insert_row_error_depending_on_connection_availability(self, msg, &path_options)) ++ return FALSE; + +- /* we only ACK if each INSERT is a separate transaction */ +- if ((self->flags & AFSQL_DDF_EXPLICIT_COMMITS) == 0) +- log_msg_ack(msg, &path_options); +- log_msg_unref(msg); +- step_sequence_number(&self->seq_num); +- self->failed_message_counter = 0; ++ self->failed_message_counter++; ++ } ++ else ++ { ++ msg_error("Multiple failures while inserting this record into the database, message dropped", ++ evt_tag_int("attempts", self->num_retries), ++ NULL); ++ stats_counter_inc(self->dropped_messages); ++ log_msg_drop(msg, &path_options); ++ self->failed_message_counter = 0; ++ success = TRUE; ++ } ++ } + +- return TRUE; ++ return success; + } + + static void +@@ -895,7 +978,7 @@ afsql_dd_message_became_available_in_the + static void + afsql_dd_wait_for_suspension_wakeup(AFSqlDestDriver *self) + { +- /* we got suspended, probably because of a connection error, ++ /* we got suspended, probably because of a connection error, + * during this time we only get wakeups if we need to be + * terminated. */ + if (!self->db_thread_terminate) +@@ -974,8 +1057,7 @@ afsql_dd_database_thread(gpointer arg) + + afsql_dd_commit_txn(self); + } +- +- exit: ++exit: + afsql_dd_disconnect(self); + + msg_verbose("Database thread finished", +-- +1.8.4.1 + diff --git a/meta-oe/recipes-support/syslog-ng/files/configure.ac-add-option-enable-thread-tls-to-manage-.patch b/meta-oe/recipes-support/syslog-ng/files/configure.ac-add-option-enable-thread-tls-to-manage-.patch new file mode 100644 index 0000000000..cc8d11044a --- /dev/null +++ b/meta-oe/recipes-support/syslog-ng/files/configure.ac-add-option-enable-thread-tls-to-manage-.patch @@ -0,0 +1,50 @@ +configure.ac: add option --enable-thread-tls to manage thread ssl support + +Add option --enable-thread-tls to manage the including of thread +local storage, so we could explicitly disable it. + +Upstream-Status: Pending + +Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> +--- + configure.ac | 17 +++++++++++------ + 1 file changed, 11 insertions(+), 6 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 474e094..cedca54 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -120,6 +120,9 @@ AC_ARG_ENABLE(memtrace, + AC_ARG_ENABLE(ssl, + [ --enable-ssl Enable SSL support.],,enable_ssl="auto") + ++AC_ARG_ENABLE(thread-tls, ++ [ --enable-thread-tls Enable Thread Transport Layer Security support.],,enable_thread_tls="no") ++ + AC_ARG_ENABLE(dynamic-linking, + [ --enable-dynamic-linking Link everything dynamically.],,enable_dynamic_linking="auto") + +@@ -381,12 +384,14 @@ dnl *************************************************************************** + dnl Is the __thread keyword available? + dnl *************************************************************************** + +-AC_LINK_IFELSE([AC_LANG_PROGRAM( +-[[#include <pthread.h> +-__thread int a; +-]], +-[a=0;])], +-[ac_cv_have_tls=yes; AC_DEFINE_UNQUOTED(HAVE_THREAD_KEYWORD, 1, "Whether Transport Layer Security is supported by the system")]) ++if test "x$enable_thread_tls" != "xno"; then ++ AC_LINK_IFELSE([AC_LANG_PROGRAM( ++ [[#include <pthread.h> ++ __thread int a; ++ ]], ++ [a=0;])], ++ [ac_cv_have_tls=yes; AC_DEFINE_UNQUOTED(HAVE_THREAD_KEYWORD, 1, "Whether Transport Layer Security is supported by the system")]) ++fi + + dnl *************************************************************************** + dnl How to do static linking? +-- +1.9.1 + diff --git a/meta-oe/recipes-support/syslog-ng/files/configure.patch b/meta-oe/recipes-support/syslog-ng/files/configure.patch new file mode 100644 index 0000000000..109f58cf72 --- /dev/null +++ b/meta-oe/recipes-support/syslog-ng/files/configure.patch @@ -0,0 +1,23 @@ +Index: syslog-ng-3.5.4.1/configure.ac +=================================================================== +--- syslog-ng-3.5.4.1.orig/configure.ac 2014-07-18 13:49:36.794141441 +0000 ++++ syslog-ng-3.5.4.1/configure.ac 2014-07-18 14:23:57.738197606 +0000 +@@ -8,7 +8,8 @@ dnl SNAPSHOT_VERSION - snapshot version to add to version number + dnl BINARY_BRANCH - the value is added to all source/binary packages + dnl SOURCE_REVISION - Revision of the source-tree, will added to the version string + dnl +-AC_INIT(syslog-ng/main.c) ++AC_INIT(syslog-ng, 3.5.4.1) ++AC_CONFIG_SRCDIR(syslog-ng/main.c) + AC_CONFIG_MACRO_DIR([m4]) + m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) + +@@ -53,7 +54,7 @@ else + CURRDATE=`date +"%a, %d %b %Y %H:%M:%S %Z"` + fi + +-AM_INIT_AUTOMAKE($PACKAGE, $VERSION, [foreign no-define subdir-objects]) ++AM_INIT_AUTOMAKE([foreign no-define subdir-objects]) + _AM_PROG_TAR([ustar]) + if test -n "$SNAPSHOT_VERSION"; then + VERSION=$VERSION+$SNAPSHOT_VERSION diff --git a/meta-oe/recipes-support/syslog-ng/files/dbifix.patch b/meta-oe/recipes-support/syslog-ng/files/dbifix.patch new file mode 100644 index 0000000000..15dfb68855 --- /dev/null +++ b/meta-oe/recipes-support/syslog-ng/files/dbifix.patch @@ -0,0 +1,20 @@ +Index: syslog-ng-3.5.4.1/configure.ac +=================================================================== +--- syslog-ng-3.5.4.1.orig/configure.ac 2014-07-18 14:35:03.134215740 +0000 ++++ syslog-ng-3.5.4.1/configure.ac 2014-07-18 15:31:52.510308653 +0000 +@@ -576,13 +576,14 @@ + dnl *************************************************************************** + + AC_CHECK_LIB(dl, dlsym, DL_LIBS="-ldl") ++if test "x$enable_sql" != "xno"; then + PKG_CHECK_MODULES(LIBDBI, dbi >= $LIBDBI_MIN_VERSION, libdbi_pkgconfig_not_found="0", libdbi_pkgconfig_not_found="1") + + if test "$libdbi_pkgconfig_not_found" -eq 1; then + dnl if libdbi has no .pc file, try it without one + AC_CHECK_LIB(dbi, dbi_initialize, LIBDBI_LIBS="-ldbi"; LIBDBI_CFLAGS="-I/usr/include") + fi +- ++fi + if test "x$enable_sql" = "xauto"; then + AC_MSG_CHECKING(whether to enable SQL support) + if test "x$LIBDBI_LIBS" != "x"; then diff --git a/meta-oe/recipes-support/syslog-ng/files/deinit-the-new-config-when-reverting-to-the.patch b/meta-oe/recipes-support/syslog-ng/files/deinit-the-new-config-when-reverting-to-the.patch new file mode 100644 index 0000000000..484af7e2ef --- /dev/null +++ b/meta-oe/recipes-support/syslog-ng/files/deinit-the-new-config-when-reverting-to-the.patch @@ -0,0 +1,36 @@ +From 86842df8bff5c97e44fc55d2fb7fc6c10f56ab84 Mon Sep 17 00:00:00 2001 +From: Gergely Nagy <algernon@balabit.hu> +Date: Fri, 13 Dec 2013 13:46:15 +0100 +Subject: [PATCH] mainloop: Deinit the new config when reverting to the old one + +Upstream-Status: Backport + +When reloading, and the new config fails, deinit it before initializing +the old config. This is so that conflicting things do not remain held by +the half-initialized new config, while the old tries to take it +over. (It also removed a couple of memory leaks, most likely.) + +The reason we can do this, is because cfg_tree_stop() (called by +cfg_deinit()) goes over all the known nodes, and log_pipe_deinit() is +also smart enough to not deinit a node that has not been inited before. + +Signed-off-by: Gergely Nagy <algernon@balabit.hu> +--- + lib/mainloop.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/lib/mainloop.c b/lib/mainloop.c +index 34655fa..e6fbb59 100644 +--- a/lib/mainloop.c ++++ b/lib/mainloop.c +@@ -510,6 +510,7 @@ main_loop_reload_config_apply(void) + { + msg_error("Error initializing new configuration, reverting to old config", NULL); + cfg_persist_config_move(main_loop_new_config, main_loop_old_config); ++ cfg_deinit(main_loop_new_config); + if (!cfg_init(main_loop_old_config)) + { + /* hmm. hmmm, error reinitializing old configuration, we're hosed. +-- +1.8.4.1 + diff --git a/meta-oe/recipes-support/syslog-ng/files/fix-a-memory-leak-in-log_driver_free.patch b/meta-oe/recipes-support/syslog-ng/files/fix-a-memory-leak-in-log_driver_free.patch new file mode 100644 index 0000000000..260347413b --- /dev/null +++ b/meta-oe/recipes-support/syslog-ng/files/fix-a-memory-leak-in-log_driver_free.patch @@ -0,0 +1,33 @@ +From a269669ba3cb6d1c06a3322b4a6a035cb787d085 Mon Sep 17 00:00:00 2001 +From: Gergely Nagy <algernon@balabit.hu> +Date: Tue, 14 Jan 2014 13:58:05 +0100 +Subject: [PATCH] driver: Fix a memory leak in log_driver_free() + +Upstream-Status: Backport + +After freeing up the members of self->plugins, free self->plugins itself +too. + +Signed-off-by: Gergely Nagy <algernon@balabit.hu> +--- + lib/driver.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/lib/driver.c b/lib/driver.c +index d77fe57..a6867b9 100644 +--- a/lib/driver.c ++++ b/lib/driver.c +@@ -91,6 +91,10 @@ log_driver_free(LogPipe *s) + { + log_driver_plugin_free((LogDriverPlugin *) l->data); + } ++ if (self->plugins) ++ { ++ g_list_free(self->plugins); ++ } + if (self->group) + g_free(self->group); + if (self->id) +-- +1.8.4.1 + diff --git a/meta-oe/recipes-support/syslog-ng/files/fix-config-libnet.patch b/meta-oe/recipes-support/syslog-ng/files/fix-config-libnet.patch new file mode 100644 index 0000000000..755803c213 --- /dev/null +++ b/meta-oe/recipes-support/syslog-ng/files/fix-config-libnet.patch @@ -0,0 +1,66 @@ +Subject: [PATCH] add libnet enable option + +Upstream-Status: Pending + +This would avoid a implicit auto-detecting result. + +Signed-off-by: Ming Liu <ming.liu@windriver.com> +Signed-off-by: Jackie Huang <jackie.huang@windriver.com> +--- + configure.ac | 27 +++++++++++++++++---------- + 1 files changed, 17 insertions(+), 10 deletions(-) + +diff --git a/configure.ac b/configure.ac +index b1e18b4..8e13025 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -73,6 +73,9 @@ AC_CONFIG_HEADERS(config.h) + dnl *************************************************************************** + dnl Arguments + ++AC_ARG_ENABLE(libnet, ++ [ --enable-libnet Enable libnet support.],, enable_libnet="no") ++ + AC_ARG_WITH(libnet, + [ --with-libnet=path use path to libnet-config script], + , +@@ -768,22 +771,26 @@ dnl *************************************************************************** + dnl libnet headers/libraries + dnl *************************************************************************** + AC_MSG_CHECKING(for LIBNET) +-if test "x$with_libnet" = "x"; then +- LIBNET_CONFIG="`which libnet-config`" +-else +- LIBNET_CONFIG="$with_libnet/libnet-config" +-fi ++if test "x$enable_libnet" = xyes; then ++ if test "x$with_libnet" = "x"; then ++ LIBNET_CONFIG="`which libnet-config`" ++ else ++ LIBNET_CONFIG="$with_libnet/libnet-config" ++ fi ++ ++ if test -n "$LIBNET_CONFIG" -a -x "$LIBNET_CONFIG"; then ++ LIBNET_CFLAGS="`$LIBNET_CONFIG --defines`" ++ LIBNET_LIBS="`$LIBNET_CONFIG --libs`" ++ AC_MSG_RESULT(yes) ++ else ++ AC_MSG_ERROR([Could not find libnet, and libnet support was explicitly enabled.]) ++ fi + +-if test -n "$LIBNET_CONFIG" -a -x "$LIBNET_CONFIG"; then +- LIBNET_CFLAGS="`$LIBNET_CONFIG --defines`" +- LIBNET_LIBS="`$LIBNET_CONFIG --libs`" +- AC_MSG_RESULT(yes) + else + LIBNET_LIBS= + AC_MSG_RESULT(no) + fi + +- + if test "x$enable_spoof_source" = "xauto"; then + AC_MSG_CHECKING(whether to enable spoof source support) + if test "x$LIBNET_LIBS" != "x"; then +-- +1.7.1 + diff --git a/meta-oe/recipes-support/syslog-ng/files/fix-invalid-ownership.patch b/meta-oe/recipes-support/syslog-ng/files/fix-invalid-ownership.patch new file mode 100644 index 0000000000..faf967247f --- /dev/null +++ b/meta-oe/recipes-support/syslog-ng/files/fix-invalid-ownership.patch @@ -0,0 +1,28 @@ +syslog-ng: fix wrong ownership issue + +Upstream-Status: Pending + +The ownership of build user is preserved for some target files, fixed it by +adding --no-same-owner option to tar when extracting files. + +Signed-off-by: Ming Liu <ming.liu@windriver.com> +--- + scl/Makefile.am | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/scl/Makefile.am b/scl/Makefile.am +index 57fad5d..2a29ca5 100644 +--- a/scl/Makefile.am ++++ b/scl/Makefile.am +@@ -14,7 +14,7 @@ scl-install-data-local: + fi; \ + done + $(mkinstalldirs) $(DESTDIR)/$(scldir) +- (cd $(srcdir)/scl; tar cf - $(SCL_SUBDIRS)) | (cd $(DESTDIR)/$(scldir) && tar xf -) ++ (cd $(srcdir)/scl; tar cf - $(SCL_SUBDIRS)) | (cd $(DESTDIR)/$(scldir) && tar xf - --no-same-owner) + chmod -R u+rwX $(DESTDIR)/$(scldir) + + scl-uninstall-local: +-- +1.7.1 + diff --git a/meta-oe/recipes-support/syslog-ng/files/free-global-LogTemplateOptions.patch b/meta-oe/recipes-support/syslog-ng/files/free-global-LogTemplateOptions.patch new file mode 100644 index 0000000000..d439a2607b --- /dev/null +++ b/meta-oe/recipes-support/syslog-ng/files/free-global-LogTemplateOptions.patch @@ -0,0 +1,30 @@ +From 3ef6ca8044260c77118edca6dead807a2edcb5ef Mon Sep 17 00:00:00 2001 +From: Balazs Scheidler <bazsi@balabit.hu> +Date: Thu, 31 Oct 2013 13:20:12 +0100 +Subject: [PATCH] cfg: free global LogTemplateOptions + +Upstream-Status: Backport + +This fixes a potential memory leak when global template specific +options were specified, such as local-time-zone(), send-time-zone() etc. + +Signed-off-by: Balazs Scheidler <bazsi@balabit.hu> +--- + lib/cfg.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/lib/cfg.c b/lib/cfg.c +index 7f040b8..adeaaf8 100644 +--- a/lib/cfg.c ++++ b/lib/cfg.c +@@ -411,6 +411,7 @@ cfg_free(GlobalConfig *self) + g_free(self->proto_template_name); + log_template_unref(self->file_template); + log_template_unref(self->proto_template); ++ log_template_options_destroy(&self->template_options); + + if (self->bad_hostname_compiled) + regfree(&self->bad_hostname); +-- +1.8.4.1 + diff --git a/meta-oe/recipes-support/syslog-ng/files/initscript b/meta-oe/recipes-support/syslog-ng/files/initscript new file mode 100644 index 0000000000..910030f41d --- /dev/null +++ b/meta-oe/recipes-support/syslog-ng/files/initscript @@ -0,0 +1,62 @@ +#! /bin/sh +# +# This is an init script for openembedded +# Copy it to /etc/init.d/syslog-ng and type +# > update-rc.d syslog-ng defaults 5 +# + +# Source function library +. /etc/init.d/functions + +syslog_ng=/usr/sbin/syslog-ng +test -x "$syslog_ng" || exit 0 + +PIDFILE=/var/run/syslog-ng/syslog-ng.pid + +create_xconsole() { + test -e /dev/xconsole || mknod -m 640 /dev/xconsole p + test -x /sbin/restorecon && /sbin/restorecon /dev/xconsole +} + +RETVAL=0 + +case "$1" in + start) + [ "${VERBOSE}" != "no" ] && echo -n "Starting syslog-ng:" + create_xconsole + start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $syslog_ng + [ "${VERBOSE}" != "no" ] && echo "." + ;; + stop) + [ "${VERBOSE}" != "no" ] && echo -n "Stopping syslog-ng:" + start-stop-daemon --stop --quiet --pidfile $PIDFILE + [ "${VERBOSE}" != "no" ] && echo "." + ;; + reload|force-reload) + start-stop-daemon --stop --quiet --signal 1 --exec $syslog_ng + ;; + restart) + echo "Stopping syslog-ng:" + start-stop-daemon --stop --quiet --pidfile $PIDFILE + echo -n "Waiting for syslog-ng to die off" + for i in 1 2 3 ; + do + sleep 1 + echo -n "." + done + echo "" + echo -n "Starting syslog-ng:" + create_xconsole + start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $syslog_ng + echo "." + ;; + status) + status $syslog_ng + RETVAL=$? + ;; + *) + echo "Usage: $0 {start|stop|reload|restart|force-reload|status}" + exit 1 +esac + +exit $RETVAL diff --git a/meta-oe/recipes-support/syslog-ng/files/logwriter-dont-allocate-a-new-buffer.patch b/meta-oe/recipes-support/syslog-ng/files/logwriter-dont-allocate-a-new-buffer.patch new file mode 100644 index 0000000000..9e3d64bbf2 --- /dev/null +++ b/meta-oe/recipes-support/syslog-ng/files/logwriter-dont-allocate-a-new-buffer.patch @@ -0,0 +1,26 @@ +logwriter: Don't allocate a new buffer if fails to consume current item + +Upstream-Status: Pending + +Signed-off-by: Xufeng Zhang <xufeng.zhang@windriver.com> +--- +--- a/lib/logwriter.c ++++ b/lib/logwriter.c +@@ -1010,7 +1010,7 @@ + { + status = log_proto_client_post(proto, (guchar *) self->line_buffer->str, self->line_buffer->len, &consumed); + +- if (consumed) ++ if (consumed && status != LPS_ERROR) + log_writer_realloc_line_buffer(self); + + if (status == LPS_ERROR) +@@ -1028,7 +1028,7 @@ + NULL); + consumed = TRUE; + } +- if (consumed) ++ if (consumed && status != LPS_ERROR) + { + if (lm->flags & LF_LOCAL) + step_sequence_number(&self->seq_num); diff --git a/meta-oe/recipes-support/syslog-ng/files/rewrite-expr-grammar.ym-Free-up-token.patch b/meta-oe/recipes-support/syslog-ng/files/rewrite-expr-grammar.ym-Free-up-token.patch new file mode 100644 index 0000000000..1951af9fcc --- /dev/null +++ b/meta-oe/recipes-support/syslog-ng/files/rewrite-expr-grammar.ym-Free-up-token.patch @@ -0,0 +1,17 @@ +rewrite-expr-grammar.ym: Free up token. + +Upsteam-Status: Backport + +Reported-by: Xufeng Zhang <xufeng.zhang@windriver.com> +Signed-off-by: Viktor Tusa <tusavik@gmail.com> +--- +--- a/lib/rewrite/rewrite-expr-grammar.ym ++++ b/lib/rewrite/rewrite-expr-grammar.ym +@@ -78,6 +78,7 @@ + + $$ = log_template_new(configuration, $1); + CHECK_ERROR(log_template_compile($$, $1, &error), @1, "Error compiling template (%s)", error->message); ++ free($1); + } + ; + diff --git a/meta-oe/recipes-support/syslog-ng/files/still-free-the-unconsumed-item.patch b/meta-oe/recipes-support/syslog-ng/files/still-free-the-unconsumed-item.patch new file mode 100644 index 0000000000..ea18682300 --- /dev/null +++ b/meta-oe/recipes-support/syslog-ng/files/still-free-the-unconsumed-item.patch @@ -0,0 +1,90 @@ +From 365020c5c0823c91a8011e34597f970a7cfb4fb3 Mon Sep 17 00:00:00 2001 +From: Tusa Viktor <tusavik@gmail.com> +Date: Wed, 23 Apr 2014 17:10:58 +0000 +Subject: [PATCH] logwriter: still free the unconsumed item during reloading + configuration + +Upstream-Status: Backport + +Otherwise we have no chance to free this stuff. + +Reported-by: Xufeng Zhang <xufeng.zhang@windriver.com> +Signed-off-by: Tusa Viktor <tusavik@gmail.com> +Signed-off-by: Gergely Nagy <algernon@madhouse-project.org> +--- + lib/logproto/logproto-client.h | 2 +- + lib/logproto/logproto-text-client.c | 11 +++++++++++ + lib/logwriter.c | 9 +++++++-- + 3 files changed, 19 insertions(+), 3 deletions(-) + +diff --git a/lib/logproto/logproto-client.h b/lib/logproto/logproto-client.h +index 254ecf9..5adc917 100644 +--- a/lib/logproto/logproto-client.h ++++ b/lib/logproto/logproto-client.h +@@ -47,7 +47,6 @@ void log_proto_client_options_defaults(LogProtoClientOptions *options); + void log_proto_client_options_init(LogProtoClientOptions *options, GlobalConfig *cfg); + void log_proto_client_options_destroy(LogProtoClientOptions *options); + +- + struct _LogProtoClient + { + LogProtoStatus status; +@@ -107,6 +106,7 @@ log_proto_client_reset_error(LogProtoClient *s) + gboolean log_proto_client_validate_options(LogProtoClient *self); + void log_proto_client_init(LogProtoClient *s, LogTransport *transport, const LogProtoClientOptions *options); + void log_proto_client_free(LogProtoClient *s); ++void log_proto_client_free_method(LogProtoClient *s); + + #define DEFINE_LOG_PROTO_CLIENT(prefix) \ + static gpointer \ +diff --git a/lib/logproto/logproto-text-client.c b/lib/logproto/logproto-text-client.c +index 3248759..a5100f3 100644 +--- a/lib/logproto/logproto-text-client.c ++++ b/lib/logproto/logproto-text-client.c +@@ -146,12 +146,23 @@ log_proto_text_client_post(LogProtoClient *s, guchar *msg, gsize msg_len, gboole + } + + void ++log_proto_text_client_free(LogProtoClient *s) ++{ ++ LogProtoTextClient *self = (LogProtoTextClient *)s; ++ if (self->partial_free) ++ self->partial_free(self->partial); ++ self->partial = NULL; ++ log_proto_client_free_method(s); ++}; ++ ++void + log_proto_text_client_init(LogProtoTextClient *self, LogTransport *transport, const LogProtoClientOptions *options) + { + log_proto_client_init(&self->super, transport, options); + self->super.prepare = log_proto_text_client_prepare; + self->super.flush = log_proto_text_client_flush; + self->super.post = log_proto_text_client_post; ++ self->super.free_fn = log_proto_text_client_free; + self->super.transport = transport; + self->next_state = -1; + } +diff --git a/lib/logwriter.c b/lib/logwriter.c +index 3292e31..470bcdb 100644 +--- a/lib/logwriter.c ++++ b/lib/logwriter.c +@@ -1063,8 +1063,13 @@ log_writer_flush(LogWriter *self, LogWriterFlushMode flush_mode) + } + else + { +- /* push back to the queue */ +- log_queue_push_head(self->queue, lm, &path_options); ++ if (flush_mode == LW_FLUSH_QUEUE) ++ log_msg_unref(lm); ++ else ++ { ++ /* push back to the queue */ ++ log_queue_push_head(self->queue, lm, &path_options); ++ } + msg_set_context(NULL); + log_msg_refcache_stop(); + break; +-- +1.7.10.4 + diff --git a/meta-oe/recipes-support/syslog-ng/files/syslog-ng-verify-the-list-before-del.patch b/meta-oe/recipes-support/syslog-ng/files/syslog-ng-verify-the-list-before-del.patch new file mode 100644 index 0000000000..e8119b84bc --- /dev/null +++ b/meta-oe/recipes-support/syslog-ng/files/syslog-ng-verify-the-list-before-del.patch @@ -0,0 +1,38 @@ +Verify the validity of the pointer before delete it + +Otherwise, we got a crash at logqueue-fifo.c:344 + 344 iv_list_del(&node->list); + +Upstream-Status: Pending + +Signed-off-by: Xufeng Zhang <xufeng.zhang@windriver.com> +--- +--- a/lib/logqueue-fifo.c ++++ b/lib/logqueue-fifo.c +@@ -339,15 +339,18 @@ + *msg = node->msg; + path_options->ack_needed = node->ack_needed; + self->qoverflow_output_len--; +- if (!push_to_backlog) ++ if ((&node->list) && (&node->list)->next && (&node->list)->prev) + { +- iv_list_del(&node->list); +- log_msg_free_queue_node(node); +- } +- else +- { +- iv_list_del_init(&node->list); +- } ++ if (!push_to_backlog) ++ { ++ iv_list_del(&node->list); ++ log_msg_free_queue_node(node); ++ } ++ else ++ { ++ iv_list_del_init(&node->list); ++ } ++ } + } + else + { diff --git a/meta-oe/recipes-support/nonworking/syslog-ng/files/syslog-ng.conf b/meta-oe/recipes-support/syslog-ng/files/syslog-ng.conf index e760dfbdc5..f0da2b703c 100644 --- a/meta-oe/recipes-support/nonworking/syslog-ng/files/syslog-ng.conf +++ b/meta-oe/recipes-support/syslog-ng/files/syslog-ng.conf @@ -1,11 +1,11 @@ -@version: 3.2 +@version: 3.5 # # Syslog-ng configuration file, compatible with default Debian syslogd # installation. Originally written by anonymous (I can't find his name) # Revised, and rewrited by me (SZALAY Attila <sasa@debian.org>) # First, set some global options. -options { long_hostnames(off); flush_lines(0); use_dns(no); use_fqdn(no); +options { chain_hostnames(off); flush_lines(0); use_dns(no); use_fqdn(no); owner("root"); group("adm"); perm(0640); stats_freq(0); bad_hostname("^gconfd$"); }; @@ -83,7 +83,7 @@ destination d_ppp { file("/var/log/ppp.log"); }; ######################## # Filters ######################## -# Here's come the filter options. With this rules, we can set which +# Here's come the filter options. With this rules, we can set which # message go where. filter f_dbg { level(debug); }; @@ -95,7 +95,7 @@ filter f_crit { level(crit .. emerg); }; filter f_debug { level(debug) and not facility(auth, authpriv, news, mail); }; filter f_error { level(err .. emerg) ; }; -filter f_messages { level(info,notice,warn) and +filter f_messages { level(info,notice,warn) and not facility(auth,authpriv,cron,daemon,mail,news); }; filter f_auth { facility(auth, authpriv) and not filter(f_debug); }; diff --git a/meta-oe/recipes-support/syslog-ng/files/volatiles.03_syslog-ng b/meta-oe/recipes-support/syslog-ng/files/volatiles.03_syslog-ng new file mode 100644 index 0000000000..3c4a50d54f --- /dev/null +++ b/meta-oe/recipes-support/syslog-ng/files/volatiles.03_syslog-ng @@ -0,0 +1 @@ +d root root 0755 /var/run/syslog-ng none diff --git a/meta-oe/recipes-support/syslog-ng/syslog-ng.inc b/meta-oe/recipes-support/syslog-ng/syslog-ng.inc new file mode 100644 index 0000000000..4aead31b75 --- /dev/null +++ b/meta-oe/recipes-support/syslog-ng/syslog-ng.inc @@ -0,0 +1,107 @@ +SUMMARY = "Alternative system logger daemon" +DESCRIPTION = "syslog-ng, as the name shows, is a syslogd replacement, \ +but with new functionality for the new generation. The original syslogd \ +allows messages only to be sorted based on priority/facility pairs; \ +syslog-ng adds the possibility to filter based on message contents using \ +regular expressions. The new configuration scheme is intuitive and powerful. \ +Forwarding logs over TCP and remembering all forwarding hops makes it \ +ideal for firewalled environments. \ +" +HOMEPAGE = "http://www.balabit.com/network-security/syslog-ng/opensource-logging-system" + +LICENSE = "GPLv2 & LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=e0e8658d9be248f01b7933df24dc1408" + +DEPENDS = "flex eventlog glib-2.0" + +SRC_URI = "http://www.balabit.com/downloads/files/syslog-ng/sources/${PV}/source/${BPN}_${PV}.tar.gz \ + file://syslog-ng.conf \ + file://initscript \ + file://volatiles.03_syslog-ng \ + file://configure.ac-add-option-enable-thread-tls-to-manage-.patch \ +" + +inherit autotools systemd pkgconfig update-rc.d update-alternatives + +EXTRA_OECONF = " \ + --enable-dynamic-linking \ + --disable-sub-streams \ + --disable-pacct \ + --localstatedir=${localstatedir}/run/${BPN} \ + --sysconfdir=${sysconfdir}/${BPN} \ + --with-module-dir=${libdir}/${BPN} \ + --with-sysroot=${STAGING_DIR_HOST} \ + --with-libmongo-client=no --disable-mongodb \ + --with-librabbitmq-client=no \ + ${CONFIG_TLS} \ +" + +CONFIG_TLS = "--enable-thread-tls" +CONFIG_TLS_arm = "${@base_conditional( "DEBUG_BUILD", "1", " --disable-thread-tls", " --enable-thread-tls", d )}" + +PACKAGECONFIG ??= "openssl \ + ${@base_contains('DISTRO_FEATURES', 'ipv6', 'ipv6', '', d)} \ + ${@base_contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)} \ +" +PACKAGECONFIG[openssl] = "--enable-ssl,--disable-ssl,openssl," +PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,," +PACKAGECONFIG[systemd] = "--enable-systemd --with-systemdsystemunitdir=${systemd_unitdir}/system/,--disable-systemd --without-systemdsystemunitdir,systemd," +PACKAGECONFIG[linux-caps] = "--enable-linux-caps,--disable-linux-caps,libcap," +PACKAGECONFIG[pcre] = "--enable-pcre,--disable-pcre,libpcre," +PACKAGECONFIG[dbi] = "--enable-sql,--disable-sql,libdbi," +PACKAGECONFIG[libnet] = "--enable-libnet --with-libnet=${STAGING_BINDIR_CROSS},--disable-libnet,libnet," +PACKAGECONFIG[smtp] = "--enable-smtp --with-libesmtp=${STAGING_LIBDIR},--disable-smtp,libesmtp," +PACKAGECONFIG[json] = "--enable-json,--disable-json,json-c," +PACKAGECONFIG[tcp-wrapper] = "--enable-tcp-wrapper,--disable-tcp-wrapper,tcp-wrappers," +PACKAGECONFIG[geoip] = "--enable-geoip,--disable-geoip,geoip," + +do_configure_prepend() { + eval "${@base_contains('DISTRO_FEATURES', 'largefile', '', 'sed -i -e "s/-D_LARGEFILE_SOURCE//" -e "s/-D_FILE_OFFSET_BITS=64//" ${S}/configure.in', d)}" +} + +do_install_append() { + install -d ${D}/${sysconfdir}/${BPN} + install ${WORKDIR}/syslog-ng.conf ${D}${sysconfdir}/${BPN}/${BPN}.conf + install -d ${D}/${sysconfdir}/init.d + install -m 755 ${WORKDIR}/initscript ${D}/${sysconfdir}/init.d/syslog.${BPN} + install -d ${D}/${sysconfdir}/default/volatiles/ + install -m 755 ${WORKDIR}/volatiles.03_syslog-ng ${D}/${sysconfdir}/default/volatiles/03_syslog-ng + + # Remove /var/run as it is created on startup + rm -rf ${D}${localstatedir}/run +} + +FILES_${PN} += "${datadir}/include/scl/ ${datadir}/xsd ${datadir}/tools" +RDEPENDS_${PN} += "gawk" + +# This overcomes the syslog-ng rdepends on syslog-ng-dev QA Error +PACKAGES =+ "${PN}-libs ${PN}-libs-dev ${PN}-libs-dbg" +FILES_${PN}-libs = "${libdir}/${BPN}/*.so ${libdir}/libsyslog-ng-*.so*" +FILES_${PN}-libs-dev = "${libdir}/${BPN}/lib*.la" +FILES_${PN}-libs-dbg = "${libdir}/${BPN}/.debug" +INSANE_SKIP_${PN}-libs = "dev-so" +RDEPENDS_${PN} += "${PN}-libs" + +CONFFILES_${PN} = "${sysconfdir}/${BPN}.conf ${sysconfdir}/scl.conf" + +# syslog initscript is handled explicitly because order of +# update-rc.d and update-alternatives is important +RDEPENDS_${PN} += " ${@base_conditional("ONLINE_PACKAGE_MANAGEMENT", "none", "", "update-rc.d", d)}" + +RPROVIDES_${PN} += "${PN}-systemd" +RREPLACES_${PN} += "${PN}-systemd" +RCONFLICTS_${PN} += "${PN}-systemd" +SYSTEMD_SERVICE_${PN} = "${BPN}.service" + +# no syslog-init for systemd +python () { + if 'sysvinit' in d.getVar("DISTRO_FEATURES", True).split(): + pn = d.getVar('PN', True) + sysconfdir = d.getVar('sysconfdir', True) + d.appendVar('ALTERNATIVE_%s' % (pn), ' syslog-init') + d.setVarFlag('ALTERNATIVE_PRIORITY', 'syslog-init', '200') + d.setVarFlag('ALTERNATIVE_LINK_NAME', 'syslog-init', '%s/init.d/syslog' % (sysconfdir)) +} + +INITSCRIPT_NAME = "syslog" +INITSCRIPT_PARAMS = "start 20 2 3 4 5 . stop 90 0 1 6 ." diff --git a/meta-oe/recipes-support/syslog-ng/syslog-ng_3.5.4.1.bb b/meta-oe/recipes-support/syslog-ng/syslog-ng_3.5.4.1.bb new file mode 100644 index 0000000000..b54842030c --- /dev/null +++ b/meta-oe/recipes-support/syslog-ng/syslog-ng_3.5.4.1.bb @@ -0,0 +1,21 @@ +require syslog-ng.inc + +SRC_URI += " \ + file://afsql-afsql_dd_insert_db-refactor.patch \ + file://deinit-the-new-config-when-reverting-to-the.patch \ + file://fix-a-memory-leak-in-log_driver_free.patch \ + file://fix-config-libnet.patch \ + file://fix-invalid-ownership.patch \ + file://Fix-the-memory-leak-problem-for-mutex.patch \ + file://Fix-the-memory-leak-problem-when-HAVE_ENVIRON-defined.patch \ + file://free-global-LogTemplateOptions.patch \ + file://still-free-the-unconsumed-item.patch \ + file://syslog-ng-verify-the-list-before-del.patch \ + file://configure.patch \ + file://dbifix.patch \ + file://rewrite-expr-grammar.ym-Free-up-token.patch \ + file://logwriter-dont-allocate-a-new-buffer.patch \ +" + +SRC_URI[md5sum] = "ff3bf223ebafbaa92b69a2d5b729f368" +SRC_URI[sha256sum] = "92c6969e4172b4fd32390f80043b4de7b116f29989d8c2e5a8a687ee6dcd6f66" diff --git a/meta-oe/recipes-support/system-config-keyboard/system-config-keyboard_1.4.0.bb b/meta-oe/recipes-support/system-config-keyboard/system-config-keyboard_1.4.0.bb new file mode 100644 index 0000000000..eaca96dcaa --- /dev/null +++ b/meta-oe/recipes-support/system-config-keyboard/system-config-keyboard_1.4.0.bb @@ -0,0 +1,27 @@ +DESCRIPTION = "a graphical user interface that allows the user to \ +change the default keyboard of the system" +LICENSE = "GPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" +SRC_URI = "https://fedorahosted.org/releases/s/y/${BPN}/${BP}.tar.bz2" +SRC_URI[md5sum] = "c267db0ee7a2131ba418399dc17f9e72" +SRC_URI[sha256sum] = "218c883e4e2bfcc82bfe07e785707b5c2ece28df772f2155fd044b9bb1614284" +inherit python-dir +DEPENDS = "intltool" + +EXTRA_OEMAKE = " \ + PYTHON='${STAGING_BINDIR_NATIVE}'/python-native/python \ + PYTHON_SITELIB=${PYTHON_SITEPACKAGES_DIR} \ +" +do_install() { + oe_runmake 'DESTDIR=${D}' install +} + +do_install_append_class-native() { + rm -rf ${D}/usr +} + +FILES_${PN} += " \ + ${libdir}/python${PYTHON_BASEVERSION}/* \ + ${datadir}/* \ +" +BBCLASSEXTEND = "native" diff --git a/meta-oe/recipes-support/system-setup-keyboard/system-setup-keyboard_0.8.8.bb b/meta-oe/recipes-support/system-setup-keyboard/system-setup-keyboard_0.8.8.bb new file mode 100644 index 0000000000..d2199c2cf7 --- /dev/null +++ b/meta-oe/recipes-support/system-setup-keyboard/system-setup-keyboard_0.8.8.bb @@ -0,0 +1,29 @@ +SUMMARY = "xorg.conf keyboard layout callout" +DESCRIPTION = "system-setup-keyboard is a daemon to monitor the keyboard layout configured in \ +/etc/sysconfig/keyboard and transfer this into the matching xorg.conf.d snippet." + +HOMEPAGE = "https://git.fedorahosted.org/git/system-setup-keyboard.git" +SECTION = "Applications/System" + +SRC_URI = "https://git.fedorahosted.org/cgit/${PN}.git/snapshot/${BP}.tar.gz" +SRC_URI[md5sum] = "399003968ccc739cddd9cc370af377a0" +SRC_URI[sha256sum] = "1ef6ef79c3588e85d7f42e99eb80a2e459f966284cf029c2d6fc1b645abcb860" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=bf57969a59612c5aca007b340c49d3a2" + +inherit pythonnative + +DEPENDS = "glib-2.0 system-config-keyboard-native" + +do_compile_prepend() { + ${PYTHON} -v get_layouts.py > keyboards.h +} + +do_install() { + oe_runmake install DESTDIR=${D} + install -d ${D}/etc/X11/xorg.conf.d + touch ${D}/etc/X11/xorg.conf.d/00-system-setup-keyboard.conf +} + +FILES_${PN} += "${systemd_unitdir}/system/${PN}.service" diff --git a/meta-oe/recipes-support/talloc/talloc/install-swig-interface-in-SWINGLIBDIR.patch b/meta-oe/recipes-support/talloc/talloc/install-swig-interface-in-SWINGLIBDIR.patch index e1339a078e..635c60e461 100644 --- a/meta-oe/recipes-support/talloc/talloc/install-swig-interface-in-SWINGLIBDIR.patch +++ b/meta-oe/recipes-support/talloc/talloc/install-swig-interface-in-SWINGLIBDIR.patch @@ -17,7 +17,7 @@ Index: talloc-2.0.1/talloc.mk - which swig >/dev/null 2>&1 && ${INSTALLCMD} -d $(DESTDIR)`swig -swiglib` || true - which swig >/dev/null 2>&1 && ${INSTALLCMD} -m 644 talloc.i $(DESTDIR)`swig -swiglib` || true + which swig >/dev/null 2>&1 && ${INSTALLCMD} -d $(DESTDIR)/$(SWIGLIBDIR) || true -+ which swig >/dev/null 2>&1 && ${INSTALLCMD} -m 644 talloc.i $(DESTDIR)/$(SWIGLIBDIR) || true ++ which swig >/dev/null 2>&1 && ${INSTALLCMD} -m 644 $(srcdir)/$(tallocdir)/talloc.i $(DESTDIR)/$(SWIGLIBDIR) || true doc:: talloc.3 talloc.3.html diff --git a/meta-oe/recipes-support/talloc/talloc/sepbuild.patch b/meta-oe/recipes-support/talloc/talloc/sepbuild.patch new file mode 100644 index 0000000000..05506c3423 --- /dev/null +++ b/meta-oe/recipes-support/talloc/talloc/sepbuild.patch @@ -0,0 +1,27 @@ +Index: talloc-2.0.1/Makefile.in +=================================================================== +--- talloc-2.0.1.orig/Makefile.in ++++ talloc-2.0.1/Makefile.in +@@ -33,8 +33,8 @@ EXPORTSFILE = @EXPORTSFILE@ + + all:: showflags $(EXTRA_TARGETS) + +-include $(tallocdir)/rules.mk +-include $(tallocdir)/talloc.mk ++include $(srcdir)/$(tallocdir)/rules.mk ++include $(srcdir)/$(tallocdir)/talloc.mk + + @TALLOC_COMPAT1_MK@ + +Index: talloc-2.0.1/libtalloc.m4 +=================================================================== +--- talloc-2.0.1.orig/libtalloc.m4 ++++ talloc-2.0.1/libtalloc.m4 +@@ -33,6 +33,6 @@ if test $ac_cv_sizeof_size_t -lt $ac_cv_ + fi + + if test x"$VERSIONSCRIPT" != "x"; then +- EXPORTSFILE=talloc.exports ++ EXPORTSFILE=$srcdir/$tallocdir/talloc.exports + AC_SUBST(EXPORTSFILE) + fi diff --git a/meta-oe/recipes-support/talloc/talloc_2.0.1.bb b/meta-oe/recipes-support/talloc/talloc_2.0.1.bb index 6b7e4f1cfd..7bbfbc291c 100644 --- a/meta-oe/recipes-support/talloc/talloc_2.0.1.bb +++ b/meta-oe/recipes-support/talloc/talloc_2.0.1.bb @@ -7,6 +7,7 @@ inherit autotools pkgconfig SRC_URI = "http://samba.org/ftp/${BPN}/${BPN}-${PV}.tar.gz \ file://install-swig-interface-in-SWINGLIBDIR.patch \ + file://sepbuild.patch \ " SRC_URI[md5sum] = "c6e736540145ca58cb3dcb42f91cf57b" SRC_URI[sha256sum] = "5b810527405f29d54f50efd78bf2c89e318f2cd8bed001f22f2a1412fd27c9b4" @@ -15,16 +16,22 @@ TARGET_CC_ARCH += "${LDFLAGS}" PR = "r2" -# autoreconf doesn't work well while reconfiguring included libreplace -do_configure () { - gnu-configize - oe_runconf -} +EXTRA_AUTORECONF = "--exclude=autopoint --exclude=aclocal" + +DEPENDS += "swig-native" do_install_prepend() { # Hack the way swig interface for talloc is installed # This hack is accompanied by install-swig-interface-in-SWINGLIBDIR.patch - type swig > /dev/null 2>&1 && SWIGLIBDIR=`swig -swiglib` && SWIGLIBDIR=${SWIGLIBDIR##${STAGING_DIR_NATIVE}} && export SWIGLIBDIR || echo "No swig found" + if which swig > /dev/null; then + SWIGLIBDIR="$(echo $(readlink -f $(swig -swiglib)) | \ + sed -e 's#^${STAGING_DIR_NATIVE}##')" + fi + if [ -n "$SWIGLIBDIR" ]; then + export SWIGLIBDIR + else + echo "No swig found" + fi } do_install_append() { diff --git a/meta-oe/recipes-support/tomoyo-tools/tomoyo-tools_2.5.0.bb b/meta-oe/recipes-support/tomoyo-tools/tomoyo-tools_2.5.0.bb new file mode 100644 index 0000000000..adb538b7b4 --- /dev/null +++ b/meta-oe/recipes-support/tomoyo-tools/tomoyo-tools_2.5.0.bb @@ -0,0 +1,29 @@ +SUMMARY = "TOMOYO Linux tools" +DESCRIPTION = "TOMOYO Linux is a Mandatory Access Control (MAC) implementation \ +for Linux that can be used to increase the security of a system, while also \ +being useful purely as a system analysis tool." +HOMEPAGE = "http://tomoyo.sourceforge.jp/" +SECTION = "System Environment/Kernel" + +SRC_URI = "http://jaist.dl.sourceforge.jp/tomoyo/53357/${BP}-20140601.tar.gz" +SRC_URI[md5sum] = "888869b793127f00d6439a3246598b83" +SRC_URI[sha256sum] = "118ef6ba1fbf7c0b83018c3a0d4d5485dfb9b5b7f647f37ce9f63841a3133c2a" + +S = "${WORKDIR}/${BPN}" + +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING.tomoyo;md5=751419260aa954499f7abaabaa882bbe" + +FILES_${PN} += "${libdir}/tomoyo" +FILES_${PN}-dbg += "${libdir}/tomoyo/.debug" + +DEPENDS = "linux-libc-headers ncurses" +CFLAGS_append += "-D_GNU_SOURCE" + +do_compile () { + oe_runmake 'CC=${CC}' +} + +do_install() { + oe_runmake install INSTALLDIR=${D} +} diff --git a/meta-oe/recipes-support/tracker/files/90tracker b/meta-oe/recipes-support/tracker/files/90tracker deleted file mode 100644 index 9594b91689..0000000000 --- a/meta-oe/recipes-support/tracker/files/90tracker +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh - -/usr/bin/trackerd -m & - diff --git a/meta-oe/recipes-support/tracker/files/tracker-dbus.service b/meta-oe/recipes-support/tracker/files/tracker-dbus.service deleted file mode 100644 index c97f49a89d..0000000000 --- a/meta-oe/recipes-support/tracker/files/tracker-dbus.service +++ /dev/null @@ -1,15 +0,0 @@ -[Unit] -Description=tracker DBus session bus handler -Before=tracker-store.service -After=dbus.service -Requires=dbus.service -BindTo=tracker-store.service - -[Service] -Type=forking -EnvironmentFile=-/tmp/tracker.env -ExecStartPre=@BASE_BINDIR@/rm -rf /tmp/tracker.env -ExecStart=/bin/sh -c 'echo "DBUS_SESSION_BUS_ADDRESS=`dbus-daemon --fork --session --print-address`" > /tmp/tracker.env' - -[Install] -WantedBy=multi-user.target diff --git a/meta-oe/recipes-support/tracker/files/tracker-miner-fs.service b/meta-oe/recipes-support/tracker/files/tracker-miner-fs.service deleted file mode 100644 index 34d9a1e686..0000000000 --- a/meta-oe/recipes-support/tracker/files/tracker-miner-fs.service +++ /dev/null @@ -1,12 +0,0 @@ -[Unit] -Description=tracker-miner-fs -After=syslog.target local-fs.target udev.service dbus.service tracker-store.service -Requires=tracker-store.service - -[Service] -Environment=HOME=/home/root -EnvironmentFile=-/tmp/tracker.env -ExecStart=@LIBEXECDIR@/tracker-miner-fs - -[Install] -WantedBy=multi-user.target diff --git a/meta-oe/recipes-support/tracker/files/tracker-store.service b/meta-oe/recipes-support/tracker/files/tracker-store.service deleted file mode 100644 index c5037f3ab9..0000000000 --- a/meta-oe/recipes-support/tracker/files/tracker-store.service +++ /dev/null @@ -1,12 +0,0 @@ -[Unit] -Description=tracker-store -After=syslog.target local-fs.target dbus.service -Requires=dbus.service tracker-dbus.service -BindTo=tracker-dbus.service - -[Service] -EnvironmentFile=-/tmp/tracker.env -ExecStart=@LIBEXECDIR@/tracker-store - -[Install] -WantedBy=multi-user.target diff --git a/meta-oe/recipes-support/tracker/tracker-0.14.2/0005-Fix-missing-gobject-introspection-checks.patch b/meta-oe/recipes-support/tracker/tracker-0.14.2/0005-Fix-missing-gobject-introspection-checks.patch deleted file mode 100644 index 8701f58547..0000000000 --- a/meta-oe/recipes-support/tracker/tracker-0.14.2/0005-Fix-missing-gobject-introspection-checks.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff -Naur ../tracker-0.10.8/configure.ac tracker-0.10.8//configure.ac ---- ../tracker-0.10.8/configure.ac 2011-04-08 15:03:30.000000000 +0300 -+++ tracker-0.10.8//configure.ac 2011-04-11 13:47:16.625914002 +0300 -@@ -218,7 +218,12 @@ - - # Needed to generate .gir files, - # see http://live.gnome.org/GnomeGoals/AddGObjectIntrospectionSupport --GOBJECT_INTROSPECTION_CHECK([0.9.5]) -+#GOBJECT_INTROSPECTION_CHECK([0.9.5]) -+# Satisfy missing introspection foo -+AM_CONDITIONAL(HAVE_INTROSPECTION, test "0" == "1") -+ -+INTROSPECTION_CFLAGS="" -+AC_SUBST(INTROSPECTION_CFLAGS) - - # NOTE: dbus and dbus-glib-1 are only used now for libtracker-client - # which is deprecated and tracker-writeback which will be refactored diff --git a/meta-oe/recipes-support/tracker/tracker-0.14.2/enable-sqlite-crosscompile.patch b/meta-oe/recipes-support/tracker/tracker-0.14.2/enable-sqlite-crosscompile.patch deleted file mode 100644 index 5dadda2a29..0000000000 --- a/meta-oe/recipes-support/tracker/tracker-0.14.2/enable-sqlite-crosscompile.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: tracker-0.10.17/m4/sqlite-threadsafe.m4 -=================================================================== ---- tracker-0.10.17.orig/m4/sqlite-threadsafe.m4 -+++ tracker-0.10.17/m4/sqlite-threadsafe.m4 -@@ -45,7 +45,7 @@ int main () - ]])], - [ax_cv_sqlite_threadsafe=yes], - [ax_cv_sqlite_threadsafe=no], -- [ax_cv_sqlite_threadsafe=no])]) -+ [ax_cv_sqlite_threadsafe=yes])]) - - LIBS="$save_LIBS" - ]) diff --git a/meta-oe/recipes-support/tracker/tracker-0.14.2/fix-removable-media-detection.patch b/meta-oe/recipes-support/tracker/tracker-0.14.2/fix-removable-media-detection.patch deleted file mode 100644 index 6c3d9de107..0000000000 --- a/meta-oe/recipes-support/tracker/tracker-0.14.2/fix-removable-media-detection.patch +++ /dev/null @@ -1,30 +0,0 @@ -Index: tracker-0.14.2/src/libtracker-miner/tracker-storage.c -=================================================================== ---- tracker-0.14.2.orig/src/libtracker-miner/tracker-storage.c 2011-08-03 13:53:16.000000000 +0100 -+++ tracker-0.14.2/src/libtracker-miner/tracker-storage.c 2012-09-10 08:25:18.322215126 +0100 -@@ -20,6 +20,7 @@ - #include "config.h" - - #include <string.h> -+#include <sys/stat.h> - - #include <gio/gio.h> - #include <gio/gunixmounts.h> -@@ -646,6 +647,17 @@ - gchar *content_type; - gboolean is_multimedia; - gboolean is_blank; -+ struct stat st; -+ -+ /* -+ * Consider all files under /media to be -+ * removable unless the file .this-is-root is -+ * present. -+ */ -+ if (!strncmp (mount_path, "/media/", -+ strlen ("/media/")) && -+ stat ("/media/.this-is-root", &st)) -+ is_removable = TRUE; - - content_type = mount_guess_content_type (mount, &is_optical, &is_multimedia, &is_blank); - diff --git a/meta-oe/recipes-support/tracker/tracker_0.14.2.bb b/meta-oe/recipes-support/tracker/tracker_0.14.2.bb deleted file mode 100644 index eea8edc9b3..0000000000 --- a/meta-oe/recipes-support/tracker/tracker_0.14.2.bb +++ /dev/null @@ -1,75 +0,0 @@ -DESCRIPTION = "Tracker is a tool designed to extract information and metadata about your personal data so that it can be searched easily and quickly." -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=ee31012bf90e7b8c108c69f197f3e3a4" -DEPENDS = "file gstreamer gamin dbus libexif gettext sqlite3 icu" -RDEPENDS_${PN} += " gvfs gsettings-desktop-schemas" -HOMEPAGE = "http://projects.gnome.org/tracker/" - -PR = "r7" - -inherit autotools pkgconfig gnomebase gettext gsettings systemd - -VER_DIR = "${@gnome_verdir("${PV}")}" -SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/tracker/${VER_DIR}/tracker-${PV}.tar.xz \ - file://0005-Fix-missing-gobject-introspection-checks.patch \ - file://enable-sqlite-crosscompile.patch \ - file://fix-removable-media-detection.patch \ - file://90tracker \ - file://tracker-store.service \ - file://tracker-miner-fs.service \ - file://tracker-dbus.service \ - " - -SYSTEMD_SERVICE_${PN} = " tracker-store.service tracker-miner-fs.service tracker-dbus.service " -SYSTEMD_AUTO_ENABLE = "disable" - -EXTRA_OECONF += " tracker_cv_have_ioprio=yes" - -# Disable the desktop-centric miners -EXTRA_OECONF += "--disable-miner-thunderbird --disable-miner-firefox \ - --disable-miner-evolution --disable-miner-flickr" - -LEAD_SONAME = "libtrackerclient.so.0" - -do_install_append() { - cp -PpR ${D}${STAGING_DATADIR}/* ${D}${datadir}/ || true -# install -d ${D}/${sysconfdir}/X11/Xsession.d/ -# install -m 0755 ${WORKDIR}/90tracker ${D}/${sysconfdir}/X11/Xsession.d/ - - install -d ${D}${systemd_unitdir}/system - install -m 0644 ${WORKDIR}/tracker-store.service ${D}${systemd_unitdir}/system - install -m 0644 ${WORKDIR}/tracker-miner-fs.service ${D}${systemd_unitdir}/system - install -m 0644 ${WORKDIR}/tracker-dbus.service ${D}${systemd_unitdir}/system - sed -i -e 's,@LIBEXECDIR@,${libexecdir},g' \ - -e 's,@BASE_BINDIR@,${base_bindir},g' \ - ${D}${systemd_unitdir}/system/*.service -} - -PACKAGES =+ "${PN}-tests ${PN}-vala ${PN}-nautilus-extension" - -FILES_${PN} += "${datadir}/dbus-1/ \ - ${libdir}/tracker-${VER_DIR}/*.so.* \ - ${libdir}/tracker-${VER_DIR}/extract-modules/*.so \ - ${datadir}/icons/hicolor/*/apps/tracker.* \ - ${libdir}/nautilus/extensions-2.0/*.la \ - ${datadir}/glib-2.0/schemas/* \ - ${systemd_unitdir}/system/tracker-store.service \ - ${systemd_unitdir}/system/tracker-miner-fs.service \ - ${systemd_unitdir}/system/tracker-dbus.service \ -" - -FILES_${PN}-dev += "${libdir}/tracker-${VER_DIR}/*.la \ - ${libdir}/tracker-${VER_DIR}/*.so \ - ${libdir}/tracker-${VER_DIR}/*/*.so \ - ${libdir}/tracker-${VER_DIR}/*/*.la \ - ${libdir}/tracker-${VER_DIR}/extract-modules/*.la" - -FILES_${PN}-staticdev += "${libdir}/nautilus/extensions-2.0/*.a" -FILES_${PN}-dbg += "${libdir}/*/*/.debug \ - ${libdir}/*/.debug" -FILES_${PN}-tests = "${datadir}/tracker-tests/" -FILES_${PN}-vala = "${datadir}/vala/" -FILES_${PN}-nautilus-extension += "${libdir}/nautilus/extensions-2.0/*.so" - -SRC_URI[md5sum] = "f3a871beeebf86fd752863ebd22af9ac" -SRC_URI[sha256sum] = "9b59330aa2e9e09feee587ded895e9247f71fc25f46b023d616d9969314bc7f1" diff --git a/meta-oe/recipes-support/tracker/tracker_0.14.2.bb.rej b/meta-oe/recipes-support/tracker/tracker_0.14.2.bb.rej deleted file mode 100644 index d04482973a..0000000000 --- a/meta-oe/recipes-support/tracker/tracker_0.14.2.bb.rej +++ /dev/null @@ -1,36 +0,0 @@ ---- meta-oe/recipes-support/tracker/tracker_0.14.2.bb -+++ meta-oe/recipes-support/tracker/tracker_0.14.2.bb -@@ -13,7 +13,7 @@ - SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/tracker/${VER_DIR}/tracker-${PV}.tar.xz \ - file://0005-Fix-missing-gobject-introspection-checks.patch \ - file://enable-sqlite-crosscompile.patch \ -- file://fix-removable-media-detection.patch \ -+ file://fix-removable-media-detection.patch \ - file://90tracker \ - file://tracker-store.service \ - file://tracker-miner-fs.service \ -@@ -32,14 +32,17 @@ - LEAD_SONAME = "libtrackerclient.so.0" - - do_install_append() { -- cp -PpR ${D}${STAGING_DATADIR}/* ${D}${datadir}/ || true --# install -d ${D}/${sysconfdir}/X11/Xsession.d/ --# install -m 0755 ${WORKDIR}/90tracker ${D}/${sysconfdir}/X11/Xsession.d/ -+ cp -PpR ${D}${STAGING_DATADIR}/* ${D}${datadir}/ || true -+ # install -d ${D}/${sysconfdir}/X11/Xsession.d/ -+ # install -m 0755 ${WORKDIR}/90tracker ${D}/${sysconfdir}/X11/Xsession.d/ - -- install -d ${D}${systemd_unitdir}/system -- install -m 0644 ${WORKDIR}/tracker-store.service ${D}${systemd_unitdir}/system -- install -m 0644 ${WORKDIR}/tracker-miner-fs.service ${D}${systemd_unitdir}/system -- install -m 0644 ${WORKDIR}/tracker-dbus.service ${D}${systemd_unitdir}/system -+ install -d ${D}${systemd_unitdir}/system -+ install -m 0644 ${WORKDIR}/tracker-store.service ${D}${systemd_unitdir}/system -+ install -m 0644 ${WORKDIR}/tracker-miner-fs.service ${D}${systemd_unitdir}/system -+ install -m 0644 ${WORKDIR}/tracker-dbus.service ${D}${systemd_unitdir}/system -+ sed -i -e 's,@LIBEXECDIR@,${libexecdir},g' \ -+ -e 's,@BASE_BINDIR@,${base_bindir},g' \ -+ ${D}${systemd_unitdir}/system/*.service - } - - PACKAGES =+ "${PN}-tests ${PN}-vala ${PN}-nautilus-extension" diff --git a/meta-oe/recipes-support/udisks/udisks_1.0.4.bb b/meta-oe/recipes-support/udisks/udisks_1.0.4.bb index 32f0c110f5..e306e89990 100644 --- a/meta-oe/recipes-support/udisks/udisks_1.0.4.bb +++ b/meta-oe/recipes-support/udisks/udisks_1.0.4.bb @@ -2,7 +2,7 @@ DESCRIPTION = "A storage daemon that implements well-defined D-Bus interfaces th LICENSE = "GPLv2+" LIC_FILES_CHKSUM = "file://COPYING;md5=73d83aebe7e4b62346afde80e0e94273" -DEPENDS = "libatasmart sg3-utils polkit udev dbus-glib glib-2.0" +DEPENDS = "libatasmart sg3-utils polkit udev dbus-glib glib-2.0 intltool-native" # optional dependencies: device-mapper parted DEPENDS += "${@base_contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)}" @@ -17,7 +17,7 @@ SRC_URI[udisks.sha256sum] = "854b89368733b9c3a577101b761ad5397ae75a05110c8698ac5 PR = "r9" -inherit autotools systemd +inherit autotools systemd gtk-doc PACKAGECONFIG ??= "" PACKAGECONFIG[parted] = "--enable-parted,--disable-parted,parted" diff --git a/meta-oe/recipes-support/usb-modeswitch/usb-modeswitch-data_20130807.bb b/meta-oe/recipes-support/usb-modeswitch/usb-modeswitch-data_20140529.bb index e33f29679a..a265411c1e 100644 --- a/meta-oe/recipes-support/usb-modeswitch/usb-modeswitch-data_20130807.bb +++ b/meta-oe/recipes-support/usb-modeswitch/usb-modeswitch-data_20140529.bb @@ -4,14 +4,14 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" inherit allarch -SRC_URI = "http://www.draisberghof.de/usb_modeswitch/usb-modeswitch-data-${PV}.tar.bz2" -SRC_URI[md5sum] = "91feff51deba6e48e78506b8f4db2274" -SRC_URI[sha256sum] = "a3114e2c1f38eed3ad0067df30e53a96313908a9539a8ea5d94a4d35651699eb" +SRC_URI = "http://www.draisberghof.de/usb_modeswitch/${BP}.tar.bz2" +SRC_URI[md5sum] = "dff94177781298aaf0b3c2a3c3dea6b2" +SRC_URI[sha256sum] = "53889157937109e04dafe897c098ec94f3f44f9c0c83fc6ec8417aa9a587e536" do_install() { oe_runmake install DESTDIR=${D} } -RDEPENDS_${PN} = "usb-modeswitch" +RDEPENDS_${PN} = "usb-modeswitch (>= 2.2.0)" FILES_${PN} += "${base_libdir}/udev/rules.d/ \ ${datadir}/usb_modeswitch" diff --git a/meta-oe/recipes-support/usb-modeswitch/usb-modeswitch_2.0.1.bb b/meta-oe/recipes-support/usb-modeswitch/usb-modeswitch_2.2.0.bb index 92d1ac473f..5e95bb9442 100644 --- a/meta-oe/recipes-support/usb-modeswitch/usb-modeswitch_2.0.1.bb +++ b/meta-oe/recipes-support/usb-modeswitch/usb-modeswitch_2.2.0.bb @@ -2,16 +2,18 @@ SUMMARY = "A mode switching tool for controlling 'flip flop' (multiple device) U LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" -inherit autotools - DEPENDS = "libusb1" -SRC_URI = "http://www.draisberghof.de/usb_modeswitch/usb-modeswitch-${PV}.tar.bz2" -SRC_URI[md5sum] = "e48d4419d0574d342bb183f7465556d0" -SRC_URI[sha256sum] = "4706c9cfe825263e189f55730ea3d1d8634aeb15645a1098532e946e770f7f95" +SRC_URI = "http://www.draisberghof.de/usb_modeswitch/${BP}.tar.bz2" +SRC_URI[md5sum] = "f323fe700edd6ea404c40934ddf32b22" +SRC_URI[sha256sum] = "2752103de171ed5f6c8d6a6e3e73e16c9ee3e8e394dd39c5991f7680eb908a3a" EXTRA_OEMAKE = "TCL=${bindir}/tclsh" FILES_${PN} = "${bindir} ${sysconfdir} ${base_libdir}/udev/usb_modeswitch ${sbindir} ${localstatedir}/lib/usb_modeswitch" RDEPENDS_${PN} = "tcl" RRECOMMENDS_${PN} = "usb-modeswitch-data" + +do_install() { + oe_runmake DESTDIR=${D} install +} diff --git a/meta-oe/recipes-support/usbpath/usbpath/configure.patch b/meta-oe/recipes-support/usbpath/usbpath/configure.patch new file mode 100644 index 0000000000..271e6a53ad --- /dev/null +++ b/meta-oe/recipes-support/usbpath/usbpath/configure.patch @@ -0,0 +1,11 @@ +Index: usbpath/configure.ac +=================================================================== +--- usbpath.orig/configure.ac 2014-07-17 20:40:26.000000000 +0000 ++++ usbpath/configure.ac 2014-07-18 07:01:40.933474420 +0000 +@@ -1,5 +1,5 @@ + AC_INIT([usbpath],[0.1]) +-AM_INIT_AUTOMAKE(AC_PACKAGE_NAME, AC_PACKAGE_VERSION) ++AM_INIT_AUTOMAKE([foreign]) + + AC_PROG_CC + AC_PROG_RANLIB diff --git a/meta-oe/recipes-support/usbpath/usbpath_svn.bb b/meta-oe/recipes-support/usbpath/usbpath_svn.bb index 001683e96b..134192bd67 100644 --- a/meta-oe/recipes-support/usbpath/usbpath_svn.bb +++ b/meta-oe/recipes-support/usbpath/usbpath_svn.bb @@ -11,9 +11,9 @@ BBCLASSEXTEND = "native" SRCREV = "3172" PV = "0.0+svnr${SRCPV}" -SRC_URI = "svn://svn.openmoko.org/trunk/src/host;module=usbpath;protocol=http" +SRC_URI = "svn://svn.openmoko.org/trunk/src/host;module=usbpath;protocol=http \ + file://configure.patch" S = "${WORKDIR}/usbpath" -inherit autotools - +inherit autotools pkgconfig diff --git a/meta-oe/recipes-support/utouch/utouch-frame_git.bb b/meta-oe/recipes-support/utouch/utouch-frame_git.bb index 00b7cf355e..d9b38ae204 100644 --- a/meta-oe/recipes-support/utouch/utouch-frame_git.bb +++ b/meta-oe/recipes-support/utouch/utouch-frame_git.bb @@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=2f31b266d3440dd7ee50f92cf67d8e6c" DEPENDS += "mtdev utouch-evemu" -inherit autotools +inherit autotools pkgconfig SRC_URI = "git://bitmath.org/git/frame.git;protocol=http" SRCREV = "95363d5a1f7394d71144bf3b408ef4e6db4350fc" diff --git a/meta-oe/recipes-support/utouch/utouch-mtview_git.bb b/meta-oe/recipes-support/utouch/utouch-mtview_git.bb index 6ebeb9fa4b..8cb180dc8b 100644 --- a/meta-oe/recipes-support/utouch/utouch-mtview_git.bb +++ b/meta-oe/recipes-support/utouch/utouch-mtview_git.bb @@ -5,7 +5,9 @@ HOMEPAGE = "http://bitmath.org/code/mtview/" LICENSE = "GPLv3" LIC_FILES_CHKSUM = "file://COPYING;md5=4c61b8950dc1aab4d2aa7c2ae6b1cfb3" -inherit autotools +inherit autotools pkgconfig distro_features_check +# depends on virtual/libx11 +REQUIRED_DISTRO_FEATURES = "x11" SRC_URI = "git://bitmath.org/git/mtview.git;protocol=http" SRCREV = "ad437c38dc111cf3990a03abf14efe1b5d89604b" diff --git a/meta-oe/recipes-support/vala-terminal/vala-terminal_git.bb b/meta-oe/recipes-support/vala-terminal/vala-terminal_git.bb index 447381a79a..07ff318203 100644 --- a/meta-oe/recipes-support/vala-terminal/vala-terminal_git.bb +++ b/meta-oe/recipes-support/vala-terminal/vala-terminal_git.bb @@ -1,6 +1,6 @@ SUMMARY = "A lightweight Terminal Emulator based on libvte, written in Vala" SECTION = "x11/applications" -DEPENDS = "vte" +DEPENDS = "vte intltool-native" SRCREV = "0fefa38087581f85fa0631b40500b9428369c146" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" @@ -8,6 +8,8 @@ PV = "1.3+gitr${SRCPV}" PE = "1" PR = "r1" +PNBLACKLIST[vala-terminal] ?= "BROKEN: Doesn't work with B!=S, touch: cannot touch `src/.stamp': No such file or directory" + inherit autotools perlnative vala SRC_URI = "${FREESMARTPHONE_GIT}/vala-terminal.git;branch=master" diff --git a/meta-oe/recipes-support/vim/vim-tiny_7.4.481.bb b/meta-oe/recipes-support/vim/vim-tiny_7.4.481.bb new file mode 100644 index 0000000000..bb8f2b7eae --- /dev/null +++ b/meta-oe/recipes-support/vim/vim-tiny_7.4.481.bb @@ -0,0 +1,13 @@ +require vim_${PV}.bb + +SUMMARY += " (with tiny features)" + +PACKAGECONFIG += "tiny" + +do_install() { + install -d ${D}/${bindir} + install -m 0755 ${S}/vim ${D}/${bindir}/vim.tiny +} + +ALTERNATIVE_PRIORITY = "90" +ALTERNATIVE_TARGET = "${bindir}/vim.tiny" diff --git a/meta-oe/recipes-support/vim/vim_7.4.258.bb b/meta-oe/recipes-support/vim/vim_7.4.481.bb index 2d3b0c26ab..7490229185 100644 --- a/meta-oe/recipes-support/vim/vim_7.4.258.bb +++ b/meta-oe/recipes-support/vim/vim_7.4.481.bb @@ -10,11 +10,11 @@ SRC_URI = "hg://vim.googlecode.com/hg/;protocol=https;module=vim \ file://disable_acl_header_check.patch;patchdir=.. \ file://vim-add-knob-whether-elf.h-are-checked.patch;patchdir=.. \ " -SRCREV = "v7-4-258" +SRCREV = "v7-4-481" -S = "${WORKDIR}/${PN}/src" +S = "${WORKDIR}/vim/src" -VIMDIR = "${PN}${@d.getVar('PV',1).split('.')[0]}${@d.getVar('PV',1).split('.')[1]}" +VIMDIR = "vim${@d.getVar('PV',1).split('.')[0]}${@d.getVar('PV',1).split('.')[1]}" inherit autotools update-alternatives inherit autotools-brokensep @@ -59,43 +59,51 @@ EXTRA_OECONF = " \ STRIP=/bin/true \ " -do_install_append() { - # Work around rpm picking up csh or awk as a dep - chmod -x ${D}${datadir}/${PN}/${VIMDIR}/tools/vim132 - chmod -x ${D}${datadir}/${PN}/${VIMDIR}/tools/mve.awk +do_install() { + autotools_do_install + + # Work around rpm picking up csh or awk or perl as a dep + chmod -x ${D}${datadir}/${BPN}/${VIMDIR}/tools/vim132 + chmod -x ${D}${datadir}/${BPN}/${VIMDIR}/tools/mve.awk + chmod -x ${D}${datadir}/${BPN}/${VIMDIR}/tools/*.pl # Install example vimrc from runtime files - install -m 0644 ../runtime/vimrc_example.vim ${D}/${datadir}/${PN}/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} } PARALLEL_MAKEINST = "" -PACKAGES =+ "${PN}-common ${PN}-syntax ${PN}-help ${PN}-tutor ${PN}-vimrc ${PN}-data" -FILES_${PN}-syntax = "${datadir}/${PN}/${VIMDIR}/syntax" -FILES_${PN}-help = "${datadir}/${PN}/${VIMDIR}/doc" -FILES_${PN}-tutor = "${datadir}/${PN}/${VIMDIR}/tutor ${bindir}/${PN}tutor" -FILES_${PN}-vimrc = "${datadir}/${PN}/vimrc" -FILES_${PN}-data = "${datadir}/${PN}" +PACKAGES =+ "${PN}-common ${PN}-syntax ${PN}-help ${PN}-tutor ${PN}-vimrc" +FILES_${PN}-syntax = "${datadir}/${BPN}/${VIMDIR}/syntax" +FILES_${PN}-help = "${datadir}/${BPN}/${VIMDIR}/doc" +FILES_${PN}-tutor = "${datadir}/${BPN}/${VIMDIR}/tutor ${bindir}/${BPN}tutor" +FILES_${PN}-vimrc = "${datadir}/${BPN}/vimrc" +FILES_${PN}-data = "${datadir}/${BPN}" FILES_${PN}-common = " \ - ${datadir}/${PN}/${VIMDIR}/*.vim \ - ${datadir}/${PN}/${VIMDIR}/autoload \ - ${datadir}/${PN}/${VIMDIR}/colors \ - ${datadir}/${PN}/${VIMDIR}/compiler \ - ${datadir}/${PN}/${VIMDIR}/ftplugin \ - ${datadir}/${PN}/${VIMDIR}/indent \ - ${datadir}/${PN}/${VIMDIR}/keymap \ - ${datadir}/${PN}/${VIMDIR}/lang \ - ${datadir}/${PN}/${VIMDIR}/macros \ - ${datadir}/${PN}/${VIMDIR}/plugin \ - ${datadir}/${PN}/${VIMDIR}/print \ - ${datadir}/${PN}/${VIMDIR}/spell \ - ${datadir}/${PN}/${VIMDIR}/tools \ + ${datadir}/${BPN}/${VIMDIR}/*.vim \ + ${datadir}/${BPN}/${VIMDIR}/autoload \ + ${datadir}/${BPN}/${VIMDIR}/colors \ + ${datadir}/${BPN}/${VIMDIR}/compiler \ + ${datadir}/${BPN}/${VIMDIR}/ftplugin \ + ${datadir}/${BPN}/${VIMDIR}/indent \ + ${datadir}/${BPN}/${VIMDIR}/keymap \ + ${datadir}/${BPN}/${VIMDIR}/lang \ + ${datadir}/${BPN}/${VIMDIR}/macros \ + ${datadir}/${BPN}/${VIMDIR}/plugin \ + ${datadir}/${BPN}/${VIMDIR}/print \ + ${datadir}/${BPN}/${VIMDIR}/spell \ + ${datadir}/${BPN}/${VIMDIR}/tools \ " +RDEPENDS_${PN} = "ncurses-terminfo-base" # Recommend that runtime data is installed along with vim -RRECOMMENDS_${PN} = "${PN}-syntax ${PN}-help ${PN}-tutor ${PN}-vimrc ${PN}-data" +RRECOMMENDS_${PN} = "${PN}-syntax ${PN}-help ${PN}-tutor ${PN}-vimrc ${PN}-common" -ALTERNATIVE_${PN} = "vi" -ALTERNATIVE_TARGET[vi] = "${bindir}/${PN}" -ALTERNATIVE_LINK_NAME[vi] = "${base_bindir}/vi" -ALTERNATIVE_PRIORITY[vi] = "100" +ALTERNATIVE_${PN} = "vi vim" +ALTERNATIVE_TARGET = "${bindir}/${BPN}.${BPN}" +ALTERNATIVE_LINK_NAME[vi] = "${bindir}/vi" +ALTERNATIVE_LINK_NAME[vim] = "${bindir}/vim" +ALTERNATIVE_PRIORITY = "100" diff --git a/meta-oe/recipes-support/xchat/xchat-2.8.8/automake-foreign.patch b/meta-oe/recipes-support/xchat/xchat-2.8.8/automake-foreign.patch new file mode 100644 index 0000000000..cfa2f6c7fe --- /dev/null +++ b/meta-oe/recipes-support/xchat/xchat-2.8.8/automake-foreign.patch @@ -0,0 +1,11 @@ +--- a/configure.in 2014-08-18 01:25:43.911597023 -0700 ++++ b/configure.in 2014-08-18 01:26:27.763786629 -0700 +@@ -8,7 +8,7 @@ + AC_CONFIG_HEADERS([config.h]) + AC_CONFIG_SRCDIR([configure.in]) + +-AM_INIT_AUTOMAKE([1.9 dist-bzip2 subdir-objects no-define]) ++AM_INIT_AUTOMAKE([1.9 foreign dist-bzip2 subdir-objects no-define]) + + AM_MAINTAINER_MODE + AC_PROG_CC diff --git a/meta-oe/recipes-support/xchat/xchat-2.8.8/fix-includes-for-separate-build.patch b/meta-oe/recipes-support/xchat/xchat-2.8.8/fix-includes-for-separate-build.patch new file mode 100644 index 0000000000..4394e5257a --- /dev/null +++ b/meta-oe/recipes-support/xchat/xchat-2.8.8/fix-includes-for-separate-build.patch @@ -0,0 +1,78 @@ +diff -ur xchat-2.8.8-orig/plugins/perl/perl.c xchat-2.8.8/plugins/perl/perl.c +--- xchat-2.8.8-orig/plugins/perl/perl.c 2014-08-30 14:09:05.125116286 -0700 ++++ xchat-2.8.8/plugins/perl/perl.c 2014-08-30 14:09:45.281106532 -0700 +@@ -31,7 +31,7 @@ + #endif + + #undef PACKAGE +-#include "../../config.h" /* for #define OLD_PERL */ ++#include <config.h> /* for #define OLD_PERL */ + #include "xchat-plugin.h" + + static xchat_plugin *ph; /* plugin handle */ +diff -ur xchat-2.8.8-orig/src/common/network.c xchat-2.8.8/src/common/network.c +--- xchat-2.8.8-orig/src/common/network.c 2014-08-30 14:09:05.137116222 -0700 ++++ xchat-2.8.8/src/common/network.c 2014-08-30 14:13:52.729116323 -0700 +@@ -24,7 +24,7 @@ + #include <unistd.h> + #include <glib.h> + +-#include "../../config.h" /* grab USE_IPV6 and LOOKUPD defines */ ++#include <config.h> /* grab USE_IPV6 and LOOKUPD defines */ + + #define WANTSOCKET + #define WANTARPA +diff -ur xchat-2.8.8-orig/src/common/ssl.c xchat-2.8.8/src/common/ssl.c +--- xchat-2.8.8-orig/src/common/ssl.c 2014-08-30 14:09:05.137116222 -0700 ++++ xchat-2.8.8/src/common/ssl.c 2014-08-30 14:14:08.449133899 -0700 +@@ -23,7 +23,7 @@ + #include <string.h> /* strncpy() */ + #include "ssl.h" /* struct cert_info */ + #include "inet.h" +-#include "../../config.h" /* HAVE_SNPRINTF */ ++#include <config.h> /* HAVE_SNPRINTF */ + + #ifndef HAVE_SNPRINTF + #define snprintf g_snprintf +diff -ur xchat-2.8.8-orig/src/common/util.c xchat-2.8.8/src/common/util.c +--- xchat-2.8.8-orig/src/common/util.c 2014-08-30 14:09:05.133116243 -0700 ++++ xchat-2.8.8/src/common/util.c 2014-08-30 14:10:23.633116070 -0700 +@@ -41,7 +41,7 @@ + #include "xchatc.h" + #include <ctype.h> + #include "util.h" +-#include "../../config.h" ++#include <config.h> + + #define WANTSOCKET + #include "inet.h" +diff -ur xchat-2.8.8-orig/src/common/xchat.h xchat-2.8.8/src/common/xchat.h +--- xchat-2.8.8-orig/src/common/xchat.h 2014-08-30 14:09:05.133116243 -0700 ++++ xchat-2.8.8/src/common/xchat.h 2014-08-30 14:13:42.797116472 -0700 +@@ -1,4 +1,4 @@ +-#include "../../config.h" ++#include <config.h> + + #include <glib.h> + #include <time.h> /* need time_t */ +diff -ur xchat-2.8.8-orig/src/fe-gtk/fe-gtk.h xchat-2.8.8/src/fe-gtk/fe-gtk.h +--- xchat-2.8.8-orig/src/fe-gtk/fe-gtk.h 2014-08-30 14:09:05.129116272 -0700 ++++ xchat-2.8.8/src/fe-gtk/fe-gtk.h 2014-08-30 14:10:13.309115951 -0700 +@@ -1,4 +1,4 @@ +-#include "../../config.h" ++#include <config.h> + + #ifdef WIN32 + /* If you're compiling this for Windows, your release is un-official +diff -ur xchat-2.8.8-orig/src/fe-gtk/xtext.c xchat-2.8.8/src/fe-gtk/xtext.c +--- xchat-2.8.8-orig/src/fe-gtk/xtext.c 2014-08-30 14:09:05.129116272 -0700 ++++ xchat-2.8.8/src/fe-gtk/xtext.c 2014-08-30 14:10:00.313138254 -0700 +@@ -51,7 +51,7 @@ + #include <gtk/gtkwindow.h> + + #ifdef XCHAT +-#include "../../config.h" /* can define USE_XLIB here */ ++#include <config.h> /* can define USE_XLIB here */ + #else + #define USE_XLIB + #endif diff --git a/meta-oe/recipes-support/xchat/xchat_2.8.8.bb b/meta-oe/recipes-support/xchat/xchat_2.8.8.bb index 8f05062c51..6da11cd946 100644 --- a/meta-oe/recipes-support/xchat/xchat_2.8.8.bb +++ b/meta-oe/recipes-support/xchat/xchat_2.8.8.bb @@ -2,31 +2,34 @@ SUMMARY = "Full-featured IRC chat client with scripting support" LICENSE = "GPLv2+" HOMEPAGE = "http://www.xchat.org" SECTION = "x11/network" + DEPENDS = "libgcrypt zlib gtk+ libsexy" DEPENDS += "gdk-pixbuf-native" + LIC_FILES_CHKSUM = "file://COPYING;md5=c93c0550bd3173f4504b2cbd8991e50b" -PR = "r1" +PR = "r2" SRC_URI = "http://xchat.org/files/source/2.8/xchat-${PV}.tar.bz2 \ file://glib-2.32.patch \ + file://automake-foreign.patch \ + file://fix-includes-for-separate-build.patch \ " -inherit autotools gettext +inherit autotools gettext pkgconfig PACKAGECONFIG ??= "dbus" -PACKAGECONFIG[dbus] = "--enable-dbus,--disable-dbus,dbus dbus-glib" +PACKAGECONFIG[dbus] = "--enable-dbus,--disable-dbus,dbus-glib" PACKAGECONFIG[openssl] = "--enable-openssl,--disable-openssl,openssl" +PACKAGECONFIG[python] = "--enable-python,--disable-python,python" EXTRA_OECONF = "\ + --enable-maintainer-mode \ --disable-perl \ - --disable-python \ --disable-tcl \ " -do_configure_prepend(){ - rm -f ${S}/po/Makefile.in.in -} +RDEPENDS_${PN} += "dbus" FILES_${PN} += "${datadir}/dbus-1" FILES_${PN}-dbg += "${libdir}/xchat/plugins/.debug" diff --git a/meta-oe/recipes-support/xmlstarlet/files/0001-usage2c.awk-fix-wrong-basename-regexp.patch b/meta-oe/recipes-support/xmlstarlet/files/0001-usage2c.awk-fix-wrong-basename-regexp.patch new file mode 100644 index 0000000000..24b187f2ac --- /dev/null +++ b/meta-oe/recipes-support/xmlstarlet/files/0001-usage2c.awk-fix-wrong-basename-regexp.patch @@ -0,0 +1,37 @@ +Upstream-Status: Submitted [sourceforge] + +From 75d789d0ea9716c9a9ae72f42a2fcfa907cf4a12 Mon Sep 17 00:00:00 2001 +From: Matthieu Crapet <mcrapet@gmail.com> +Date: Mon, 30 Jun 2014 13:52:25 +0200 +Subject: [PATCH] usage2c.awk: fix wrong basename regexp + +Previously not matching with filename argument with absolute path. + +Signed-off-by: Matthieu Crapet <mcrapet@gmail.com> +--- + usage2c.awk | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/usage2c.awk b/usage2c.awk +index 94b897a..9aea212 100755 +--- a/usage2c.awk ++++ b/usage2c.awk +@@ -6,13 +6,13 @@ BEGIN { + } + + # text in src/foo-bar.txt results in +-# static const char foo_text[] = { ++# static const char foo_bar[] = { + # 't', 'h', 'e', ' ', 't', 'e', 'x', 't', ... + # } + length(command_name) == 0 { + command_name = FILENAME; + sub(/\.txt$/, "", command_name); +- sub(/^([^\/]+\/)*/, "", command_name); ++ sub(/^.*\//, "", command_name); + gsub(/-/, "_", command_name); + printf("static const char %s[] = {\n", command_name); + progs = 0; +-- +2.0.0 + diff --git a/meta-oe/recipes-support/xmlstarlet/xmlstarlet_1.5.0.bb b/meta-oe/recipes-support/xmlstarlet/xmlstarlet_1.5.0.bb index 770ccab1e8..d9a03c6d40 100644 --- a/meta-oe/recipes-support/xmlstarlet/xmlstarlet_1.5.0.bb +++ b/meta-oe/recipes-support/xmlstarlet/xmlstarlet_1.5.0.bb @@ -12,8 +12,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=c04760d09e8b0fe73283d0cc9e8bea53" DEPENDS = "libxml2 libxslt" -SRC_URI = "${SOURCEFORGE_MIRROR}/xmlstar/${BPN}-${PV}.tar.gz \ - file://configure.ac.patch" +SRC_URI = "${SOURCEFORGE_MIRROR}/xmlstar/${BP}.tar.gz \ + file://configure.ac.patch \ + file://0001-usage2c.awk-fix-wrong-basename-regexp.patch" SRC_URI[md5sum] = "0c6db295d0cf9ff0d439edb755b7e8f6" SRC_URI[sha256sum] = "47b4ed042ea2909257f2a386001af49fceb303f84da7214779ccf99fffc6bbba" diff --git a/meta-oe/recipes-support/xmlto/xmlto-0.0.25/obsolete_automake_macros.patch b/meta-oe/recipes-support/xmlto/xmlto-0.0.25/obsolete_automake_macros.patch deleted file mode 100644 index faa8acce89..0000000000 --- a/meta-oe/recipes-support/xmlto/xmlto-0.0.25/obsolete_automake_macros.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -Nurd xmlto-0.0.25/configure.in xmlto-0.0.25/configure.in ---- xmlto-0.0.25/configure.in 2011-12-01 17:49:00.000000000 +0200 -+++ xmlto-0.0.25/configure.in 2013-01-07 05:24:16.169953519 +0200 -@@ -1,7 +1,7 @@ - AC_INIT(xmlto, 0.0.25) - AC_CONFIG_SRCDIR(xmlto.spec.in) - AM_INIT_AUTOMAKE([dist-bzip2 subdir-objects 1.6]) --AM_CONFIG_HEADER(config.h) -+AC_CONFIG_HEADERS(config.h) - - AC_PROG_CC - AM_PROG_CC_C_O diff --git a/meta-oe/recipes-support/xmlto/xmlto_0.0.25.bb b/meta-oe/recipes-support/xmlto/xmlto_0.0.25.bb deleted file mode 100644 index 9188c8acf7..0000000000 --- a/meta-oe/recipes-support/xmlto/xmlto_0.0.25.bb +++ /dev/null @@ -1,18 +0,0 @@ -SUMMARY = "A shell-script tool for converting XML files to various formats" -HOMEPAGE = "https://fedorahosted.org/xmlto/" -SECTION = "docs/xmlto" -LICENSE = "GPLv2" - -LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" - -PR = "r1" - -SRC_URI = "https://fedorahosted.org/releases/x/m/xmlto/xmlto-${PV}.tar.gz \ - file://obsolete_automake_macros.patch \ -" -SRC_URI[md5sum] = "a88cd3f08789b4825d1ac89fa065170d" -SRC_URI[sha256sum] = "c52b56d929e8d20fc19cd3b7ec238f8d039730c56ee311cc352e843147e3e31a" - -inherit autotools - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-oe/recipes-support/zile/zile_2.4.9.bb b/meta-oe/recipes-support/zile/zile_2.4.9.bb index 0421ff7cd4..2551a80e92 100644 --- a/meta-oe/recipes-support/zile/zile_2.4.9.bb +++ b/meta-oe/recipes-support/zile/zile_2.4.9.bb @@ -1,11 +1,11 @@ SUMMARY = "Zile is lossy Emacs" HOMEPAGE = "http://zile.sourceforge.net/" -DEPENDS = "ncurses libgc" +DEPENDS = "ncurses bdwgc" LICENSE = "GPLv3" LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" -SRC_URI = "http://ftp.gnu.org/gnu/zile/${P}.tar.gz \ +SRC_URI = "http://ftp.gnu.org/gnu/zile/${BP}.tar.gz \ file://remove-help2man.patch \ " diff --git a/meta-oe/recipes-test/fwts/fwts_git.bb b/meta-oe/recipes-test/fwts/fwts_git.bb new file mode 100644 index 0000000000..b943d6d48e --- /dev/null +++ b/meta-oe/recipes-test/fwts/fwts_git.bb @@ -0,0 +1,24 @@ +SUMMARY = "Firmware testsuite" +DESCRIPTION = "The tool fwts comprises of over fifty tests that are designed to exercise and test different aspects of a machine's firmware. Many of these tests need super user access to read BIOS data and ACPI tables, so the tool requires running with super user privileges (e.g. with sudo)." +HOMEPAGE = "https://wiki.ubuntu.com/Kernel/Reference/fwts" + +LICENSE = "GPLv2+" +LIC_FILES_CHKSUM = "file://src/main.c;beginline=1;endline=16;md5=deb8af5388e838d133eaa036f4d1496f" + +PV = "14.12.00" + +SRCREV = "efc18d16294f492b7f72bba64344b2eed50e6a69" +SRC_URI = "git://kernel.ubuntu.com/hwe/fwts.git" + +S = "${WORKDIR}/git" + +DEPENDS = "libpcre json-c glib-2.0" + +inherit autotools-brokensep + +CFLAGS += "-I${STAGING_INCDIR}/json-c" + +FILES_${PN} += "${libdir}/fwts/lib*${SOLIBS}" +FILES_${PN}-dev += "${libdir}/fwts/lib*${SOLIBSDEV} ${libdir}/fwts/lib*.la" +FILES_${PN}-staticdev += "${libdir}/fwts/lib*a" +FILES_${PN}-dbg += "${libdir}/fwts/.debug" diff --git a/meta-oe/recipes-test/gmock/gmock/cmake-Add-install-command-for-libraries-and-headers.patch b/meta-oe/recipes-test/gmock/gmock/cmake-Add-install-command-for-libraries-and-headers.patch new file mode 100644 index 0000000000..92a6393655 --- /dev/null +++ b/meta-oe/recipes-test/gmock/gmock/cmake-Add-install-command-for-libraries-and-headers.patch @@ -0,0 +1,40 @@ +From ba0a7d65c918cb7e3f2073553c4cc7af5858ed03 Mon Sep 17 00:00:00 2001 +From: Otavio Salvador <otavio@ossystems.com.br> +Date: Thu, 31 Jul 2014 16:54:00 -0300 +Subject: [PATCH] cmake: Add install command for libraries and headers +Organization: O.S. Systems Software LTDA. + +Upstream-Status: Inappropriate [embedded specific] + +Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> +--- + CMakeLists.txt | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 572d044..90e797a 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -63,6 +63,8 @@ include_directories("${gmock_SOURCE_DIR}/include" + # Test sources. + "${gtest_SOURCE_DIR}") + ++install(DIRECTORY ${gmock_SOURCE_DIR}/include/gmock DESTINATION include) ++ + ######################################################################## + # + # Defines the gmock & gmock_main libraries. User tests should link +@@ -82,6 +84,10 @@ cxx_library(gmock_main + src/gmock-all.cc + src/gmock_main.cc) + ++ ++install(TARGETS gmock DESTINATION lib) ++install(TARGETS gmock_main DESTINATION lib) ++ + ######################################################################## + # + # Google Mock's own tests. +-- +1.9.1 + diff --git a/meta-oe/recipes-test/gmock/gmock/cmake-gmock.pc.in-Add-pkg-config-support.patch b/meta-oe/recipes-test/gmock/gmock/cmake-gmock.pc.in-Add-pkg-config-support.patch new file mode 100644 index 0000000000..aa38fe49ff --- /dev/null +++ b/meta-oe/recipes-test/gmock/gmock/cmake-gmock.pc.in-Add-pkg-config-support.patch @@ -0,0 +1,56 @@ +From 45661183a7c78d8c4f75adcf53c6ddd663dc8b2d Mon Sep 17 00:00:00 2001 +From: Mario Domenech Goulart <mario@ossystems.com.br> +Date: Mon, 20 Oct 2014 17:12:58 -0200 +Subject: [PATCH] CMakeLists, gmock.pc.in: Add pkg-config support +Organization: O.S. Systems Software LTDA. + +Signed-off-by: Mario Domenech Goulart <mario@ossystems.com.br> +--- + CMakeLists.txt | 7 ++++++- + gmock.pc.in | 9 +++++++++ + 2 files changed, 15 insertions(+), 1 deletion(-) + create mode 100644 gmock.pc.in + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 90e797a..98fd824 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -27,6 +27,9 @@ if (COMMAND pre_project_set_up_hermetic_build) + pre_project_set_up_hermetic_build() + endif() + ++# pkg-config support ++configure_file("gmock.pc.in" "gmock.pc" @ONLY) ++ + ######################################################################## + # + # Project-wide settings +@@ -87,7 +90,9 @@ cxx_library(gmock_main + + install(TARGETS gmock DESTINATION lib) + install(TARGETS gmock_main DESTINATION lib) +- ++install(FILES "${CMAKE_CURRENT_BINARY_DIR}/gmock.pc" ++ DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/pkgconfig/" ++) + ######################################################################## + # + # Google Mock's own tests. +diff --git a/gmock.pc.in b/gmock.pc.in +new file mode 100644 +index 0000000..08ad8d2 +--- /dev/null ++++ b/gmock.pc.in +@@ -0,0 +1,9 @@ ++Name: libgmock ++Version: 1.7.0 ++Description: Google's framework for writing C++ tests on a variety of platforms ++ ++prefix=@CMAKE_INSTALL_PREFIX@ ++includedir=${prefix}/include ++libdir=${prefix}/lib ++Cflags:-I${includedir}/gmock ++Libs: -L${libdir} -lgmock -lgmock_main +-- +1.9.1 + diff --git a/meta-oe/recipes-test/gmock/gmock_1.7.0.bb b/meta-oe/recipes-test/gmock/gmock_1.7.0.bb new file mode 100644 index 0000000000..bd5cf4e200 --- /dev/null +++ b/meta-oe/recipes-test/gmock/gmock_1.7.0.bb @@ -0,0 +1,23 @@ +DESCRIPTION = "Google C++ Mocking Framework" +SECTION = "libs" +HOMEPAGE = "http://code.google.com/p/googlemock/" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=cbbd27594afd089daa160d3a16dd515a" + +SRC_URI = "\ + http://googlemock.googlecode.com/files/${BPN}-${PV}.zip \ + file://cmake-Add-install-command-for-libraries-and-headers.patch \ + file://cmake-gmock.pc.in-Add-pkg-config-support.patch \ +" + +SRC_URI[md5sum] = "073b984d8798ea1594f5e44d85b20d66" +SRC_URI[sha256sum] = "26fcbb5925b74ad5fc8c26b0495dfc96353f4d553492eb97e85a8a6d2f43095b" + +inherit lib_package cmake + +ALLOW_EMPTY_${PN} = "1" +ALLOW_EMPTY_${PN}-dbg = "1" + +RDEPENDS_${PN}-dev += "${PN}-staticdev" + +BBCLASSEXTEND = "nativesdk" diff --git a/meta-oe/recipes-test/gtest/gtest/CMakeLists-gtest.pc.in-Add-pkg-config-support-to-gte.patch b/meta-oe/recipes-test/gtest/gtest/CMakeLists-gtest.pc.in-Add-pkg-config-support-to-gte.patch new file mode 100644 index 0000000000..1ece136b6a --- /dev/null +++ b/meta-oe/recipes-test/gtest/gtest/CMakeLists-gtest.pc.in-Add-pkg-config-support-to-gte.patch @@ -0,0 +1,55 @@ +From d4b25ce723812faf78d8ee038b7cbed00cbba682 Mon Sep 17 00:00:00 2001 +From: Rodrigo Caimi <caimi@datacom.ind.br> +Date: Tue, 7 Oct 2014 15:37:10 -0300 +Subject: [PATCH] CMakeLists, gtest.pc.in: Add pkg-config support to gtest + 1.7.0 + +Signed-off-by: Rodrigo Caimi <caimi@datacom.ind.br> +--- + CMakeLists.txt | 6 ++++++ + gtest.pc.in | 9 +++++++++ + 2 files changed, 15 insertions(+) + create mode 100644 gtest.pc.in + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 281c4c2..e4354a8 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -29,6 +29,9 @@ if (COMMAND pre_project_set_up_hermetic_build) + pre_project_set_up_hermetic_build() + endif() + ++# pkg-config support ++configure_file("gtest.pc.in" "gtest.pc" @ONLY) ++ + ######################################################################## + # + # Project-wide settings +@@ -75,6 +78,9 @@ target_link_libraries(gtest_main gtest) + + install(TARGETS gtest DESTINATION lib) + install(TARGETS gtest_main DESTINATION lib) ++install(FILES "${CMAKE_CURRENT_BINARY_DIR}/gtest.pc" ++ DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/pkgconfig/" ++) + + ######################################################################## + # +diff --git a/gtest.pc.in b/gtest.pc.in +new file mode 100644 +index 0000000..57b1049 +--- /dev/null ++++ b/gtest.pc.in +@@ -0,0 +1,9 @@ ++Name: libgtest ++Version: 1.7.0 ++Description: Google's framework for writing C++ tests on a variety of platforms ++ ++prefix=@CMAKE_INSTALL_PREFIX@ ++includedir=${prefix}/include ++libdir=${prefix}/lib ++Cflags:-I${includedir}/gtest ++Libs: -L${libdir} -lgtest -lgtest_main +-- +1.9.1 + diff --git a/meta-oe/recipes-test/gtest/gtest/cmake-Add-install-command-for-libraries-and-headers.patch b/meta-oe/recipes-test/gtest/gtest/cmake-Add-install-command-for-libraries-and-headers.patch new file mode 100644 index 0000000000..0c160b02a9 --- /dev/null +++ b/meta-oe/recipes-test/gtest/gtest/cmake-Add-install-command-for-libraries-and-headers.patch @@ -0,0 +1,39 @@ +From 5318983562be6babeb5a6996e7dda4b31acfdba8 Mon Sep 17 00:00:00 2001 +From: Otavio Salvador <otavio@ossystems.com.br> +Date: Wed, 30 Jul 2014 16:49:53 -0300 +Subject: [PATCH] cmake: Add install command for libraries and headers +Organization: O.S. Systems Software LTDA. + +Upstream-Status: Inappropriate [embedded specific] + +Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> +--- + CMakeLists.txt | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 57470c8..281c4c2 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -56,6 +56,8 @@ include_directories( + ${gtest_SOURCE_DIR}/include + ${gtest_SOURCE_DIR}) + ++install(DIRECTORY ${gtest_SOURCE_DIR}/include/gtest DESTINATION include) ++ + # Where Google Test's libraries can be found. + link_directories(${gtest_BINARY_DIR}/src) + +@@ -71,6 +73,9 @@ cxx_library(gtest "${cxx_strict}" src/gtest-all.cc) + cxx_library(gtest_main "${cxx_strict}" src/gtest_main.cc) + target_link_libraries(gtest_main gtest) + ++install(TARGETS gtest DESTINATION lib) ++install(TARGETS gtest_main DESTINATION lib) ++ + ######################################################################## + # + # Samples on how to link user tests with gtest or gtest_main. +-- +1.9.1 + diff --git a/meta-oe/recipes-test/gtest/gtest_1.7.0.bb b/meta-oe/recipes-test/gtest/gtest_1.7.0.bb new file mode 100644 index 0000000000..9f148d549e --- /dev/null +++ b/meta-oe/recipes-test/gtest/gtest_1.7.0.bb @@ -0,0 +1,23 @@ +DESCRIPTION = "Google's framework for writing C++ tests" +HOMEPAGE = "http://code.google.com/p/googletest/" +SECTION = "libs" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=cbbd27594afd089daa160d3a16dd515a" + +SRC_URI = "\ + http://googletest.googlecode.com/files/${BPN}-${PV}.zip \ + file://cmake-Add-install-command-for-libraries-and-headers.patch \ + file://CMakeLists-gtest.pc.in-Add-pkg-config-support-to-gte.patch \ +" + +SRC_URI[md5sum] = "2d6ec8ccdf5c46b05ba54a9fd1d130d7" +SRC_URI[sha256sum] = "247ca18dd83f53deb1328be17e4b1be31514cedfc1e3424f672bf11fd7e0d60d" + +inherit lib_package cmake + +ALLOW_EMPTY_${PN} = "1" +ALLOW_EMPTY_${PN}-dbg = "1" + +RDEPENDS_${PN}-dev += "${PN}-staticdev" + +BBCLASSEXTEND = "nativesdk" |