M7350v1_en_gpl

This commit is contained in:
T
2024-09-09 08:52:07 +00:00
commit f9cc65cfda
65988 changed files with 26357421 additions and 0 deletions
@@ -0,0 +1,55 @@
Upstream-Status: Inappropriate [configuration]
Index: git/Makefile
===================================================================
--- git.orig/Makefile 2010-11-22 11:20:14.303472770 -0600
+++ git/Makefile 2010-11-22 14:11:19.152635423 -0600
@@ -1,5 +1,3 @@
-CC = gcc
-CFLAGS = -Wall -O2 -g -W
ALL_CFLAGS = $(CFLAGS) -D_GNU_SOURCE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
PROGS = blkparse blktrace verify_blkparse blkrawverify blkiomon
LIBS = -lpthread
@@ -11,13 +9,13 @@
all: $(ALL)
btt/btt:
- $(MAKE) -C btt
+ CC="${CC}" CFLAGS="${CFLAGS}" $(MAKE) -C btt CC="${CC}" CFLAGS="${CFLAGS}"
btreplay/btrecord:
- $(MAKE) -C btreplay
+ CC="${CC}" CFLAGS="${CFLAGS}" $(MAKE) -C btreplay CC="${CC}" CFLAGS="${CFLAGS}" btrecord
btreplay/btreplay:
- $(MAKE) -C btreplay
+ CC="${CC}" CFLAGS="${CFLAGS}" $(MAKE) -C btreplay CC="${CC}" CFLAGS="${CFLAGS}" btreplay
%.o: %.c
$(CC) -o $*.o -c $(ALL_CFLAGS) $<
Index: git/btreplay/Makefile
===================================================================
--- git.orig/btreplay/Makefile 2010-11-22 11:21:12.972679035 -0600
+++ git/btreplay/Makefile 2010-11-22 14:07:01.492839945 -0600
@@ -5,8 +5,6 @@
# NDEBUG - Defined: no asserts, Undefined: asserts
#
-CC = gcc
-CFLAGS = -Wall -W -O2 -g
INCS = -I. -I.. -I../btt
OCFLAGS = -UCOUNT_IOS -UDEBUG -DNDEBUG
XCFLAGS = -D_GNU_SOURCE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
Index: git/btt/Makefile
===================================================================
--- git.orig/btt/Makefile 2010-11-22 11:21:01.833758370 -0600
+++ git/btt/Makefile 2010-11-22 14:07:15.783258253 -0600
@@ -5,8 +5,6 @@
# NDEBUG - Defined: no asserts, Undefined: asserts
#
-CC = gcc
-CFLAGS = -Wall -W -O2 -g
INCS = -I. -I..
XCFLAGS = -D_GNU_SOURCE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
override CFLAGS += $(INCS) $(XCFLAGS)
@@ -0,0 +1,24 @@
DESCRIPTION = "blktrace - generate traces of the I/O traffic on block devices"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=393a5ca445f6965873eca0259a17f833"
DEPENDS = "libaio"
SRCREV = "0abccbcb5d1a538028ffcb3869d646d29bf5812b"
PR = "r3"
PV = "1.0.3+git${SRCPV}"
SRC_URI = "git://git.kernel.dk/blktrace.git;protocol=git \
file://blktrace-makefile.patch"
S = "${WORKDIR}/git"
do_compile() {
oe_runmake ARCH="${ARCH}" CC="${CC}" LD="${LD}" prefix=${prefix}
}
do_install() {
oe_runmake ARCH="${ARCH}" CC="${CC}" LD="${LD}" \
prefix=${prefix} DESTDIR=${D} install
}
+19
View File
@@ -0,0 +1,19 @@
SUMMARY = "Device Tree Compiler"
DESCRIPTION = "The Device Tree Compiler is a tool used to manipulate the Open-Firmware-like device tree used by PowerPC kernels."
SECTION = "bootloader"
LICENSE = "GPL2 | BSD"
DEPENDS = "flex-native bison-native"
inherit autotools
SRC_URI = "git://www.jdl.com/software/dtc.git;protocol=git \
file://make_install.patch \
"
EXTRA_OEMAKE='PREFIX="${prefix}"'
INC_PR = "r2"
S = "${WORKDIR}/git"
PACKAGES =+ "${PN}-misc"
FILES_${PN}-misc = "${bindir}/convert-dtsv0 ${bindir}/ftdump ${bindir}/dtdiff"
@@ -0,0 +1,17 @@
Upstream-Status: Inappropriate [configuration]
Index: git/Makefile
===================================================================
--- git.orig/Makefile 2011-11-02 14:52:17.243104779 -0700
+++ git/Makefile 2011-11-02 15:06:01.555104982 -0700
@@ -161,8 +161,8 @@
$(INSTALL) -d $(DESTDIR)$(BINDIR)
$(INSTALL) $(BIN) $(SCRIPTS) $(DESTDIR)$(BINDIR)
$(INSTALL) -d $(DESTDIR)$(LIBDIR)
- $(INSTALL) $(LIBFDT_lib) $(DESTDIR)$(LIBDIR)
- ln -sf $(notdir $(LIBFDT_lib)) $(DESTDIR)$(LIBDIR)/$(LIBFDT_soname)
+ $(INSTALL) $(LIBFDT_lib) $(DESTDIR)$(LIBDIR)/$(LIBFDT_soname)
+ ln -sf $(LIBFDT_soname) $(DESTDIR)$(LIBDIR)/$(notdir $(LIBFDT_lib))
ln -sf $(LIBFDT_soname) $(DESTDIR)$(LIBDIR)/libfdt.$(SHAREDLIB_EXT)
$(INSTALL) -m 644 $(LIBFDT_archive) $(DESTDIR)$(LIBDIR)
$(INSTALL) -d $(DESTDIR)$(INCLUDEDIR)
@@ -0,0 +1,12 @@
require dtc.inc
LIC_FILES_CHKSUM = "file://GPL;md5=94d55d512a9ba36caa9b7df079bae19f \
file://libfdt/libfdt.h;beginline=3;endline=52;md5=fb360963151f8ec2d6c06b055bcbb68c"
SRCREV = "033089f29099bdfd5c2d6986cdb9fd07b16cfde0"
PV = "1.3.0+git${SRCPV}"
PR = "${INC_PR}.1"
S = "${WORKDIR}/git"
BBCLASSEXTEND = "native nativesdk"
@@ -0,0 +1,340 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
51 Franklin St, 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 Library 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 St, 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 Library General
Public License instead of this License.
@@ -0,0 +1,14 @@
obj-m := hello.o
SRC := $(shell pwd)
all:
$(MAKE) -C $(KERNEL_SRC) M=$(SRC)
modules_install:
$(MAKE) -C $(KERNEL_SRC) M=$(SRC) modules_install
clean:
rm -f *.o *~ core .depend .*.cmd *.ko *.mod.c
rm -f Module.markers Module.symvers modules.order
rm -rf .tmp_versions Modules.symvers
@@ -0,0 +1,33 @@
/******************************************************************************
*
* Copyright (C) 2011 Intel Corporation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; version 2 of the License.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
* the GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
*****************************************************************************/
#include <linux/module.h>
int init_module(void)
{
printk("Hello World!\n");
return 0;
}
void cleanup_module(void)
{
printk("Goodbye Cruel World!\n");
}
MODULE_LICENSE("GPL");
@@ -0,0 +1,15 @@
DESCRIPTION = "hello-world-mod tests the module.bbclass mechanism."
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e"
inherit module
PR = r0
PV = "0.1"
SRC_URI = "file://Makefile \
file://hello.c \
file://COPYING \
"
S = "${WORKDIR}"
@@ -0,0 +1,23 @@
DESCRIPTION = "Scripts and utilities for managing Yocto branched kernels."
LICENSE = "GPL"
LIC_FILES_CHKSUM = "file://git/tools/kgit;beginline=5;endline=9;md5=e2bf4415f3d843f43d2e22b0d91a6fee"
DEPENDS = "git-native guilt-native"
SRCREV = "52d929b5435d32097bce22b3f3662440f73a33b5"
PR = r12
PV = "0.1+git${SRCPV}"
inherit native
SRC_URI = "git://git.yoctoproject.org/yocto-kernel-tools.git;protocol=git"
S = "${WORKDIR}"
do_compile() {
:
}
do_install() {
cd ${S}/git
make DESTDIR=${D}${bindir} install
}
@@ -0,0 +1,17 @@
SUMMARY = "Kexec fast reboot tools"
DESCRIPTION = "Kexec is a fast reboot feature that lets you reboot to a new Linux kernel"
AUTHOR = "Eric Biederman"
HOMEPAGE = "http://kernel.org/pub/linux/utils/kernel/kexec/"
SECTION = "kernel/userland"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=ea5bed2f60d357618ca161ad539f7c0a \
file://kexec/kexec.c;beginline=1;endline=20;md5=af10f6ae4a8715965e648aa687ad3e09"
DEPENDS = "zlib"
SRC_URI = "${KERNELORG_MIRROR}/linux/utils/kernel/kexec/kexec-tools-${PV}.tar.gz"
inherit autotools
COMPATIBLE_HOST = '(x86_64.*|i.86.*|arm.*|powerpc.*)-(linux|freebsd.*)'
INSANE_SKIP_${PN} = "arch"
@@ -0,0 +1,13 @@
require kexec-tools.inc
export LDFLAGS = "-L${STAGING_LIBDIR}"
EXTRA_OECONF = " --with-zlib=yes"
PR = "r0"
SRC_URI[md5sum] = "1b362abd2e8669171a5ba50a9cc26183"
SRC_URI[sha256sum] = "36a50fad961e24c9cdaa7c01b74d3cdd2b1bebf9bf0f0f3740dd1f21bd1b8ba6"
PACKAGES =+ "kexec kdump"
FILES_kexec = "${sbindir}/kexec"
FILES_kdump = "${sbindir}/kdump"
@@ -0,0 +1,34 @@
Upstream-Status: Inappropriate [configuration]
--- a/Makefile 2010-07-20 18:51:32.000000000 +0800
+++ b/Makefile 2010-07-20 18:54:54.000000000 +0800
@@ -4,7 +4,8 @@
DESTDIR =
SBINDIR = /usr/sbin
XCFLAGS = -W -g `pkg-config --cflags glib-2.0` -D_FORTIFY_SOURCE=2 -Wno-sign-compare
-LDF = -Wl,--as-needed `pkg-config --libs glib-2.0` -lncursesw
+LDF = -Wl,--as-needed `pkg-config --libs glib-2.0` -lncurses
+CC ?= gcc
OBJS= latencytop.o text_display.o translate.o fsync.o
@@ -26,16 +27,17 @@
# We write explicity this "implicit rule"
%.o : %.c
- gcc -c $(CFLAGS) $(XCFLAGS) $< -o $@
+ $(CC) -c $(CFLAGS) $(XCFLAGS) $< -o $@
latencytop: $(OBJS) latencytop.h Makefile
- gcc $(CFLAGS) $(OBJS) $(LDF) -o latencytop
+ $(CC) $(CFLAGS) $(OBJS) $(LDF) -o latencytop
clean:
rm -f *~ latencytop DEADJOE *.o
install: latencytop
mkdir -p $(DESTDIR)/usr/share/latencytop
+ mkdir -p $(DESTDIR)/$(SBINDIR)
install -m 0644 latencytop.trans $(DESTDIR)/usr/share/latencytop/latencytop.trans
install -m 0644 *.png $(DESTDIR)/usr/share/latencytop/
install -m 0755 latencytop $(DESTDIR)$(SBINDIR)/
@@ -0,0 +1,22 @@
DESCRIPTION = "LatencyTOP, a Linux tool measuring and fixing latency"
HOMEPAGE = "http://www.latencytop.org/"
BUGTRACKER = "n/a"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://latencytop.c;endline=23;md5=ee9ea9b1415356e5734adad4a87dc7fa"
DEPENDS = "virtual/libintl ncurses glib-2.0 gtk+"
PR = "r1"
SRC_URI = "http://www.latencytop.org/download/latencytop-${PV}.tar.gz \
file://latencytop-makefile.patch"
SRC_URI[md5sum] = "73bb3371c6ee0b0e68e25289027e865c"
SRC_URI[sha256sum] = "9e7f72fbea7bd918e71212a1eabaad8488d2c602205d2e3c95d62cd57e9203ef"
CFLAGS += "${LDFLAGS}"
do_install() {
oe_runmake install DESTDIR=${D}
}
@@ -0,0 +1,79 @@
DESCRIPTION = "Firmware files for use with Linux kernel"
SECTION = "kernel"
# Notes:
# This is kind of a mess. Each bit of firmware has their own license. Some free
# some not. Leaving this as Proprietary for now, but this recipe should be probably
# be rethought out a bit more around how it deals with licenses.
LICENSE = "Proprietary"
LIC_FILES_CHKSUM = "file://LICENSE.radeon_rlc;md5=4c243f7854d2884b483abda991adef43 \
file://LICENSE.dib0700;md5=f7411825c8a555a1a3e5eab9ca773431 \
file://LICENCE.xc5000;md5=1e170c13175323c32c7f4d0998d53f66 \
file://LICENCE.ralink-firmware.txt;md5=ab2c269277c45476fb449673911a2dfd \
file://LICENCE.qla2xxx;md5=4005328a134054f0fa077bdc37aa64f2 \
file://LICENCE.iwlwifi_firmware;md5=311cc823df5b1be4f00fbf0f17d96a6b \
file://LICENCE.i2400m;md5=14b901969e23c41881327c0d9e4b7d36 \
file://LICENCE.atheros_firmware;md5=30a14c7823beedac9fa39c64fdd01a13 \
file://LICENCE.agere;md5=af0133de6b4a9b2522defd5f188afd31 \
file://LICENCE.rtlwifi_firmware.txt;md5=00d06cfd3eddd5a2698948ead2ad54a5 \
"
SRCREV = "15888a2eab052ac3d3f49334e4f6f05f347a516e"
PV = "0.0+git${SRCPV}"
PR = "r0"
SRC_URI = "git://git.infradead.org/users/dwmw2/linux-firmware.git;protocol=git"
S = "${WORKDIR}/git"
inherit allarch
do_compile() {
:
}
do_install() {
install -d ${D}/lib/firmware/
cp -RpP * ${D}/lib/firmware/
# Libertas sd8686
install -m 0644 libertas/sd8686_v9.bin ${D}/lib/firmware/sd8686.bin
install -m 0644 libertas/sd8686_v9_helper.bin ${D}/lib/firmware/sd8686_helper.bin
# Realtek rtl8192*
install -m 0644 LICENCE.rtlwifi_firmware.txt ${D}/lib/firmware/rtlwifi/LICENCE.rtlwifi_firmware.txt
# fixup wl12xx location, after 2.6.37 the kernel searches a different location for it
( cd ${D}/lib/firmware ; ln -sf ti-connectivity/* . )
}
PACKAGES =+ "${PN}-sd8686 ${PN}-rtl8192cu linux-firmware-rtl8192ce linux-firmware-rtl8192su ${PN}-wl12xx"
LICENSE_${PN}-sd8686 = "Firmware:LICENSE.libertas"
FILES_${PN}-sd8686 = "/lib/firmware/sd8686* /lib/firmware/LICENCE.libertas"
LICENSE_${PN}-rtl8192cu = "Firmware:LICENCE.rtlwifi_firmware"
FILES_${PN}-rtl8192cu = " \
/lib/firmware/rtlwifi/rtl8192cufw.bin \
/lib/firmware/rtlwifi/LICENCE.rtlwifi_firmware.txt \
"
LICENSE_${PN}-rtl8192ce = "Firmware:LICENCE.rtlwifi_firmware"
FILES_${PN}-rtl8192ce = " \
/lib/firmware/rtlwifi/rtl8192cfw.bin \
"
LICENSE_${PN}-rtl8192su = "Firmware:LICENCE.rtlwifi_firmware"
FILES_${PN}-rtl8192su = " \
/lib/firmware/rtlwifi/rtl8712u.bin \
"
FILES_${PN}-wl12xx = " \
/lib/firmware/wl12* \
/lib/firmware/TI* \
/lib/firmware/ti-connectivity \
"
FILES_${PN} += "/lib/firmware/*"
@@ -0,0 +1,55 @@
require linux-libc-headers.inc
include recipes-kernel/linux/linux-yocto.inc
B = "${S}"
INHIBIT_DEFAULT_DEPS = "1"
DEPENDS += "unifdef-native"
PROVIDES = "linux-libc-headers"
RPROVIDES_${PN}-dev = "linux-libc-headers-dev"
RPROVIDES_${PN}-dbg = "linux-libc-headers-dbg"
SRCREV = "69cfbdf9f1ff461a75e5b77d6d7ba35e97db4cc3"
PV = "2.6.37+git-${SRCPV}"
PR = "r4"
SRCREV_FORMAT = "meta_machine"
SRC_URI = "git://git.yoctoproject.org/linux-yocto-2.6.37;protocol=git;nocheckout=1;branch=${KBRANCH},meta;name=machine,meta"
# force this to empty to prevent installation failures, we aren't
# building a device tree as part of kern headers
KERNEL_DEVICETREE=
set_arch() {
case ${TARGET_ARCH} in
arm*) ARCH=arm ;;
i*86*) ARCH=i386 ;;
ia64*) ARCH=ia64 ;;
mips*) ARCH=mips ;;
powerpc*) ARCH=powerpc ;;
x86_64*) ARCH=x86_64 ;;
esac
}
do_configure() {
set_arch
oe_runmake allnoconfig ARCH=$ARCH
}
do_kernel_configme() {
}
do_patch () {
}
do_compile () {
}
do_install() {
set_arch
oe_runmake headers_install INSTALL_HDR_PATH=${D}${exec_prefix} ARCH=$ARCH
# The ..install.cmd conflicts between various configure runs
find ${D}${includedir} -name ..install.cmd | xargs rm -f
}
BBCLASSEXTEND = "nativesdk"
@@ -0,0 +1,66 @@
DESCRIPTION = "Sanitized set of kernel headers for the C library's use."
SECTION = "devel"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7"
python __anonymous () {
major = d.getVar("PV",True).split('.')[0]
if major == "3":
d.setVar("HEADER_FETCH_VER", "3.0")
else:
d.setVar("HEADER_FETCH_VER", "2.6")
}
SRC_URI = "${KERNELORG_MIRROR}/linux/kernel/v${HEADER_FETCH_VER}/linux-${PV}.tar.bz2"
S = "${WORKDIR}/linux-${PV}"
set_arch() {
case ${TARGET_ARCH} in
alpha*) ARCH=alpha ;;
arm*) ARCH=arm ;;
cris*) ARCH=cris ;;
hppa*) ARCH=parisc ;;
i*86*) ARCH=i386 ;;
ia64*) ARCH=ia64 ;;
mips*) ARCH=mips ;;
m68k*) ARCH=m68k ;;
powerpc*) ARCH=powerpc ;;
s390*) ARCH=s390 ;;
sh*) ARCH=sh ;;
sparc64*) ARCH=sparc64 ;;
sparc*) ARCH=sparc ;;
x86_64*) ARCH=x86_64 ;;
avr32*) ARCH=avr32 ;;
bfin*) ARCH=blackfin ;;
microblaze*) ARCH=microblaze ;;
esac
}
do_configure() {
set_arch
oe_runmake allnoconfig ARCH=$ARCH
}
do_compile () {
}
do_install() {
set_arch
oe_runmake headers_install INSTALL_HDR_PATH=${D}${exec_prefix} ARCH=$ARCH
# Kernel should not be exporting this header
rm -f ${D}${exec_prefix}/include/scsi/scsi.h
# The ..install.cmd conflicts between various configure runs
find ${D}${includedir} -name ..install.cmd | xargs rm -f
}
BBCLASSEXTEND = "nativesdk"
#DEPENDS = "cross-linkage"
RDEPENDS_${PN}-dev = ""
RRECOMMENDS_${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})"
INHIBIT_DEFAULT_DEPS = "1"
DEPENDS += "unifdef-native"
@@ -0,0 +1,29 @@
Upstream-Status: Inappropriate [embedded specific]
Currently default header is linux-libc-header, which leads the dismatch
with wrs kernel.
The different headers for same file cause trouble between kerenl module and
user level binary. E.g. segfault in v86d due to different
CONNECTOR_MAX_MSG_SIZE in connector.h from the one used by uvesafb.
This fix is work around to sync with wrs kernel headers, and should be removed
after switching to linux-libc-headers-wrs.
[BUGID #279] fixed by this.
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
Index: linux-2.6.34/include/linux/connector.h
===================================================================
--- linux-2.6.34.orig/include/linux/connector.h 2010-09-30 14:15:25.000000000 +0800
+++ linux-2.6.34/include/linux/connector.h 2010-09-30 14:15:43.000000000 +0800
@@ -48,7 +48,7 @@
/*
* Maximum connector's message size.
*/
-#define CONNECTOR_MAX_MSG_SIZE 16384
+#define CONNECTOR_MAX_MSG_SIZE 65536
/*
* idx and val are unique identifiers which
@@ -0,0 +1,7 @@
require linux-libc-headers.inc
PR = "r1"
SRC_URI += " file://connector-msg-size-fix.patch"
SRC_URI[md5sum] = "eac4d398a0ecd98214487cd47a228998"
SRC_URI[sha256sum] = "4ed16da319848f681f711dbda2ac2cf1b306a280ec22f90bae190cf23b533add"
@@ -0,0 +1,7 @@
require linux-libc-headers.inc
PR = "r1"
SRC_URI += " file://connector-msg-size-fix.patch"
SRC_URI[md5sum] = "8d43453f8159b2332ad410b19d86a931"
SRC_URI[sha256sum] = "2573d2378c754b0c602b57586e9311e5b38c5d1e6c137f02873833633a4b9359"
@@ -0,0 +1,27 @@
# Support for device tree generation
FILES_kernel-devicetree = "/boot/devicetree*"
KERNEL_DEVICETREE_FLAGS = "-R 8 -p 0x3000"
python __anonymous () {
import bb
devicetree = d.getVar("KERNEL_DEVICETREE", 1) or ''
if devicetree:
depends = d.getVar("DEPENDS", 1)
d.setVar("DEPENDS", "%s dtc-native" % depends)
packages = d.getVar("PACKAGES", 1)
d.setVar("PACKAGES", "%s kernel-devicetree" % packages)
}
do_install_append() {
if test -n "${KERNEL_DEVICETREE}"; then
dtc -I dts -O dtb ${KERNEL_DEVICETREE_FLAGS} -o devicetree ${KERNEL_DEVICETREE}
install -m 0644 devicetree ${D}/boot/devicetree-${KERNEL_VERSION}
install -d ${DEPLOY_DIR_IMAGE}
install -m 0644 devicetree ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGE_BASE_NAME}.dtb
cd ${DEPLOY_DIR_IMAGE}
rm -f ${KERNEL_IMAGE_SYMLINK_NAME}.dtb
ln -sf ${KERNEL_IMAGE_BASE_NAME}.dtb ${KERNEL_IMAGE_SYMLINK_NAME}.dtb
fi
}
@@ -0,0 +1,29 @@
SECTION = "kernel"
DESCRIPTION = "Dummy Linux kernel"
LICENSE = "GPL"
LIC_FILES_CHKSUM = "file://${WORKDIR}/COPYING.GPL;md5=751419260aa954499f7abaabaa882bbe"
PROVIDES += "virtual/kernel"
PACKAGES_DYNAMIC += "kernel-module-*"
PACKAGES_DYNAMIC += "kernel-image-*"
#COMPATIBLE_MACHINE = "your_machine"
PR = "r1"
SRC_URI = "file://COPYING.GPL"
S = "${WORKDIR}"
do_configure() {
:
}
do_compile () {
:
}
do_install() {
:
}
@@ -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.
@@ -0,0 +1,30 @@
# included by kernel recipes if they want to build/provide
# perf functionality from their tree.
do_compile_perf_libc-uclibc () {
:
}
do_install_perf_libc-uclibc () {
:
}
do_compile_perf() {
oe_runmake -C ${S}/tools/perf CC="${CC}" LD="${LD}" prefix=${prefix} NO_NEWT=1 NO_DWARF=1
}
fakeroot do_install_perf() {
oe_runmake -C ${S}/tools/perf CC="${CC}" LD="${LD}" prefix=${prefix} DESTDIR=${D} install NO_NEWT=1 NO_DWARF=1
}
# perf tasks
addtask compile_perf after do_compile before do_install
addtask install_perf after do_install before do_package
do_compile_perf[umask] = 022
do_install_perf[umask] = 022
PERFDEPENDS = "virtual/${MLPREFIX}libc:do_populate_sysroot ${MLPREFIX}elfutils:do_populate_sysroot ${MLPREFIX}binutils:do_populate_sysroot"
PERFDEPENDS_libc-uclibc = ""
PERFRDEPENDS = "python perl elfutils"
PERFRDEPENDS_libc-uclibc = ""
do_compile_perf[depends] = "${PERFDEPENDS}"
RDEPENDS_perf += "${PERFRDEPENDS}"
@@ -0,0 +1,37 @@
inherit kernel
require recipes-kernel/linux/linux-yocto.inc
KMACHINE = "common-pc"
KMACHINE_qemux86 = "common-pc"
KMACHINE_qemux86-64 = "common-pc-64"
KMACHINE_qemuarm = "arm-versatile-926ejs"
KMACHINE_qemuppc = "qemu-ppc32"
KMACHINE_qemumips = "mti-malta32-be"
KBRANCH = "yocto/standard/preempt-rt/base"
KBRANCH_qemuppc = "yocto/standard/preempt-rt/qemu-ppc32"
LINUX_VERSION ?= "3.0.14"
LINUX_KERNEL_TYPE = "preempt-rt"
SRCREV_machine ?= "f1cc220f4ddf434bf254707c83a45794a63f117f"
SRCREV_machine_qemuppc ?= "8bd5b80cb3243dadc9d6c5c09482c49994dff1a8"
SRCREV_meta ?= "665fea1c249b4f335cb1c9a46a9f2c138d611f1a"
PR = "r1"
PV = "${LINUX_VERSION}+git${SRCPV}"
SRC_URI = "git://git.yoctoproject.org/linux-yocto-3.0.git;protocol=git;nocheckout=1;branch=${KBRANCH},meta;name=machine,meta"
# Omit broken machines from COMPATIBLE_MACHINE
# qemuppc hangs at boot
# qemumips panics at boot
COMPATIBLE_MACHINE = "(qemux86|qemux86-64|qemuarm)"
# Functionality flags
KERNEL_FEATURES=features/netfilter
KERNEL_FEATURES_append=" features/taskstats"
KERNEL_FEATURES_append_qemux86=" cfg/sound"
KERNEL_FEATURES_append_qemux86-64=" cfg/sound"
require recipes-kernel/linux/linux-tools.inc
@@ -0,0 +1,9 @@
# IDE disk support
# Dependencies
CONFIG_PCI=y
CONFIG_BLOCK=y
CONFIG_BLK_DEV_SD=y
CONFIG_ATA=y
CONFIG_ATA_SFF=y
CONFIG_ATA_BMDMA=y
CONFIG_ATA_PIIX=y
@@ -0,0 +1,19 @@
# Basic facilities that shall be present in all kernels
# Needed to execute... anything (like init)
CONFIG_BINFMT_ELF=y
# Needed by at least the telephony daemon
CONFIG_SIGNALFD=y
# At least bootlogd requires this
CONFIG_UNIX98_PTYS=y
# Required for basic IPC and pthread locking support
CONFIG_SYSVIPC=y
CONFIG_FUTEX=y
CONFIG_RT_MUTEXES=y
CONFIG_PROC_FS=y
CONFIG_SYSFS=y
@@ -0,0 +1,5 @@
# Debug options
# +98k bzImage
CONFIG_PRINTK=y
CONFIG_EARLY_PRINTK=y
CONFIG_PRINTK_TIME=y
@@ -0,0 +1,6 @@
# For /dev and udev
# Could eliminate for a static /dev tree
# +1.5k bzImage
CONFIG_HOTPLUG=y
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
@@ -0,0 +1,7 @@
# e1000 PCI network card support (qemu default)
# FIXME: This appears in dmesg, but a probe fails
# bzImage +31k
CONFIG_PCI=y
CONFIG_NETDEVICES=y
CONFIG_NETDEV_1000=y
CONFIG_E1000=y
@@ -0,0 +1 @@
CONFIG_EXT2_FS=y
@@ -0,0 +1,2 @@
# bzImage +61k
CONFIG_EXT3_FS=y
@@ -0,0 +1,3 @@
# bzImage -235k (-15% of bzImage size)
CONFIG_KERNEL_LZMA=y
@@ -0,0 +1,26 @@
# +246k bzImage
# Basic socket support
CONFIG_NET=y
CONFIG_UNIX=y
CONFIG_NETWORK_FILESYSTEMS=y
CONFIG_NLATTR=y
# INET TCP/IP
CONFIG_INET=y
CONFIG_TCP_CONG_CUBIC=y
CONFIG_DEFAULT_TCP_CONG="cubic"
# Disable certain new defaults
# bzImage ~ -200k
# Using allnoconfig internally would eliminate the need for this
# CONFIG_XFRM is not set
# CONFIG_IPV6 is not set
# CONFIG_WIRELESS is not set
# CONFIG_IPCOMP_XFRM is not set
# IPSEC
# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
# CONFIG_INET_XFRM_MODE_TUNNEL is not set
# CONFIG_INET_XFRM_MODE_BEET is not set
#
# CONFIG_INET_DIAG is not set
@@ -0,0 +1,613 @@
#
# Automatically generated make config: don't edit
# Linux/i386 3.0.4 Kernel Configuration
#
# CONFIG_64BIT is not set
CONFIG_X86_32=y
# CONFIG_X86_64 is not set
CONFIG_X86=y
CONFIG_INSTRUCTION_DECODER=y
CONFIG_OUTPUT_FORMAT="elf32-i386"
CONFIG_ARCH_DEFCONFIG="arch/x86/configs/i386_defconfig"
CONFIG_GENERIC_CMOS_UPDATE=y
CONFIG_CLOCKSOURCE_WATCHDOG=y
CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_LOCKDEP_SUPPORT=y
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_HAVE_LATENCYTOP_SUPPORT=y
CONFIG_MMU=y
# CONFIG_ZONE_DMA is not set
# CONFIG_NEED_DMA_MAP_STATE is not set
CONFIG_NEED_SG_DMA_LENGTH=y
CONFIG_GENERIC_ISA_DMA=y
CONFIG_GENERIC_IOMAP=y
CONFIG_GENERIC_HWEIGHT=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
# CONFIG_RWSEM_GENERIC_SPINLOCK is not set
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
# CONFIG_GENERIC_TIME_VSYSCALL is not set
CONFIG_ARCH_HAS_CPU_RELAX=y
CONFIG_ARCH_HAS_DEFAULT_IDLE=y
CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
CONFIG_HAVE_SETUP_PER_CPU_AREA=y
CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
# CONFIG_HAVE_CPUMASK_OF_CPU_MAP is not set
CONFIG_ARCH_HIBERNATION_POSSIBLE=y
CONFIG_ARCH_SUSPEND_POSSIBLE=y
# CONFIG_ZONE_DMA32 is not set
CONFIG_ARCH_POPULATES_NODE_MAP=y
# CONFIG_AUDIT_ARCH is not set
CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y
CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
CONFIG_X86_32_LAZY_GS=y
CONFIG_ARCH_HWEIGHT_CFLAGS="-fcall-saved-ecx -fcall-saved-edx"
CONFIG_KTIME_SCALAR=y
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
CONFIG_HAVE_IRQ_WORK=y
CONFIG_IRQ_WORK=y
#
# General setup
#
# CONFIG_EXPERIMENTAL is not set
CONFIG_BROKEN_ON_SMP=y
CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_CROSS_COMPILE=""
CONFIG_LOCALVERSION=""
# CONFIG_LOCALVERSION_AUTO is not set
CONFIG_HAVE_KERNEL_GZIP=y
CONFIG_HAVE_KERNEL_BZIP2=y
CONFIG_HAVE_KERNEL_LZMA=y
CONFIG_HAVE_KERNEL_XZ=y
CONFIG_HAVE_KERNEL_LZO=y
CONFIG_KERNEL_GZIP=y
# CONFIG_KERNEL_BZIP2 is not set
# CONFIG_KERNEL_LZMA is not set
# CONFIG_KERNEL_XZ is not set
# CONFIG_KERNEL_LZO is not set
CONFIG_DEFAULT_HOSTNAME="(none)"
# CONFIG_SYSVIPC is not set
# CONFIG_BSD_PROCESS_ACCT is not set
# CONFIG_FHANDLE is not set
CONFIG_HAVE_GENERIC_HARDIRQS=y
#
# IRQ subsystem
#
CONFIG_GENERIC_HARDIRQS=y
CONFIG_HAVE_SPARSE_IRQ=y
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_GENERIC_IRQ_SHOW=y
CONFIG_IRQ_FORCED_THREADING=y
# CONFIG_SPARSE_IRQ is not set
#
# RCU Subsystem
#
CONFIG_TINY_RCU=y
# CONFIG_PREEMPT_RCU is not set
# CONFIG_RCU_TRACE is not set
# CONFIG_TREE_RCU_TRACE is not set
# CONFIG_IKCONFIG is not set
CONFIG_LOG_BUF_SHIFT=17
CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
# CONFIG_NAMESPACES is not set
# CONFIG_SCHED_AUTOGROUP is not set
# CONFIG_RELAY is not set
# CONFIG_BLK_DEV_INITRD is not set
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
CONFIG_ANON_INODES=y
CONFIG_EXPERT=y
# CONFIG_UPTIME_LIMITED_KERNEL is not set
# CONFIG_UID16 is not set
# CONFIG_KALLSYMS is not set
# CONFIG_HOTPLUG is not set
# CONFIG_PRINTK is not set
# CONFIG_BUG is not set
# CONFIG_ELF_CORE is not set
# CONFIG_PCSPKR_PLATFORM is not set
# CONFIG_BASE_FULL is not set
# CONFIG_FUTEX is not set
# CONFIG_EPOLL is not set
# CONFIG_SIGNALFD is not set
# CONFIG_TIMERFD is not set
# CONFIG_EVENTFD is not set
# CONFIG_SHMEM is not set
# CONFIG_AIO is not set
CONFIG_EMBEDDED=y
CONFIG_HAVE_PERF_EVENTS=y
#
# Kernel Performance Events And Counters
#
CONFIG_PERF_EVENTS=y
# CONFIG_PERF_COUNTERS is not set
# CONFIG_VM_EVENT_COUNTERS is not set
# CONFIG_COMPAT_BRK is not set
# CONFIG_SLAB is not set
CONFIG_SLUB=y
# CONFIG_SLOB is not set
# CONFIG_PROFILING is not set
CONFIG_HAVE_OPROFILE=y
# CONFIG_JUMP_LABEL is not set
CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
CONFIG_HAVE_IOREMAP_PROT=y
CONFIG_HAVE_KPROBES=y
CONFIG_HAVE_KRETPROBES=y
CONFIG_HAVE_OPTPROBES=y
CONFIG_HAVE_ARCH_TRACEHOOK=y
CONFIG_HAVE_DMA_ATTRS=y
CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
CONFIG_HAVE_DMA_API_DEBUG=y
CONFIG_HAVE_HW_BREAKPOINT=y
CONFIG_HAVE_MIXED_BREAKPOINTS_REGS=y
CONFIG_HAVE_USER_RETURN_NOTIFIER=y
CONFIG_HAVE_PERF_EVENTS_NMI=y
CONFIG_HAVE_ARCH_JUMP_LABEL=y
#
# GCOV-based kernel profiling
#
CONFIG_HAVE_GENERIC_DMA_COHERENT=y
CONFIG_BASE_SMALL=1
# CONFIG_MODULES is not set
# CONFIG_BLOCK is not set
# CONFIG_INLINE_SPIN_TRYLOCK is not set
# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
# CONFIG_INLINE_SPIN_LOCK is not set
# CONFIG_INLINE_SPIN_LOCK_BH is not set
# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
CONFIG_INLINE_SPIN_UNLOCK=y
# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
# CONFIG_INLINE_READ_TRYLOCK is not set
# CONFIG_INLINE_READ_LOCK is not set
# CONFIG_INLINE_READ_LOCK_BH is not set
# CONFIG_INLINE_READ_LOCK_IRQ is not set
# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
CONFIG_INLINE_READ_UNLOCK=y
# CONFIG_INLINE_READ_UNLOCK_BH is not set
CONFIG_INLINE_READ_UNLOCK_IRQ=y
# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
# CONFIG_INLINE_WRITE_TRYLOCK is not set
# CONFIG_INLINE_WRITE_LOCK is not set
# CONFIG_INLINE_WRITE_LOCK_BH is not set
# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
CONFIG_INLINE_WRITE_UNLOCK=y
# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
# CONFIG_MUTEX_SPIN_ON_OWNER is not set
# CONFIG_FREEZER is not set
#
# Processor type and features
#
# CONFIG_NO_HZ is not set
# CONFIG_HIGH_RES_TIMERS is not set
CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
# CONFIG_SMP is not set
# CONFIG_X86_EXTENDED_PLATFORM is not set
# CONFIG_X86_32_IRIS is not set
# CONFIG_SCHED_OMIT_FRAME_POINTER is not set
# CONFIG_PARAVIRT_GUEST is not set
CONFIG_NO_BOOTMEM=y
# CONFIG_MEMTEST is not set
# CONFIG_M386 is not set
# CONFIG_M486 is not set
# CONFIG_M586 is not set
# CONFIG_M586TSC is not set
# CONFIG_M586MMX is not set
CONFIG_M686=y
# CONFIG_MPENTIUMII is not set
# CONFIG_MPENTIUMIII is not set
# CONFIG_MPENTIUMM is not set
# CONFIG_MPENTIUM4 is not set
# CONFIG_MK6 is not set
# CONFIG_MK7 is not set
# CONFIG_MK8 is not set
# CONFIG_MCRUSOE is not set
# CONFIG_MEFFICEON is not set
# CONFIG_MWINCHIPC6 is not set
# CONFIG_MWINCHIP3D is not set
# CONFIG_MELAN is not set
# CONFIG_MGEODEGX1 is not set
# CONFIG_MGEODE_LX is not set
# CONFIG_MCYRIXIII is not set
# CONFIG_MVIAC3_2 is not set
# CONFIG_MVIAC7 is not set
# CONFIG_MCORE2 is not set
# CONFIG_MATOM is not set
# CONFIG_X86_GENERIC is not set
CONFIG_X86_INTERNODE_CACHE_SHIFT=5
CONFIG_X86_CMPXCHG=y
CONFIG_CMPXCHG_LOCAL=y
CONFIG_X86_L1_CACHE_SHIFT=5
CONFIG_X86_XADD=y
# CONFIG_X86_PPRO_FENCE is not set
CONFIG_X86_WP_WORKS_OK=y
CONFIG_X86_INVLPG=y
CONFIG_X86_BSWAP=y
CONFIG_X86_POPAD_OK=y
CONFIG_X86_USE_PPRO_CHECKSUM=y
CONFIG_X86_TSC=y
CONFIG_X86_CMPXCHG64=y
CONFIG_X86_CMOV=y
CONFIG_X86_MINIMUM_CPU_FAMILY=5
CONFIG_X86_DEBUGCTLMSR=y
# CONFIG_PROCESSOR_SELECT is not set
CONFIG_CPU_SUP_INTEL=y
CONFIG_CPU_SUP_CYRIX_32=y
CONFIG_CPU_SUP_AMD=y
CONFIG_CPU_SUP_CENTAUR=y
CONFIG_CPU_SUP_TRANSMETA_32=y
CONFIG_CPU_SUP_UMC_32=y
# CONFIG_HPET_TIMER is not set
# CONFIG_DMI is not set
# CONFIG_IOMMU_HELPER is not set
# CONFIG_IOMMU_API is not set
CONFIG_NR_CPUS=1
# CONFIG_IRQ_TIME_ACCOUNTING is not set
CONFIG_PREEMPT_NONE=y
# CONFIG_PREEMPT_VOLUNTARY is not set
# CONFIG_PREEMPT is not set
# CONFIG_X86_UP_APIC is not set
# CONFIG_X86_MCE is not set
# CONFIG_VM86 is not set
# CONFIG_TOSHIBA is not set
# CONFIG_I8K is not set
# CONFIG_X86_REBOOTFIXUPS is not set
# CONFIG_MICROCODE is not set
# CONFIG_X86_MSR is not set
# CONFIG_X86_CPUID is not set
# CONFIG_NOHIGHMEM is not set
CONFIG_HIGHMEM4G=y
# CONFIG_HIGHMEM64G is not set
CONFIG_PAGE_OFFSET=0xC0000000
CONFIG_HIGHMEM=y
# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
# CONFIG_ARCH_DMA_ADDR_T_64BIT is not set
CONFIG_ARCH_FLATMEM_ENABLE=y
CONFIG_ILLEGAL_POINTER_VALUE=0
CONFIG_FLATMEM=y
CONFIG_FLAT_NODE_MEM_MAP=y
CONFIG_HAVE_MEMBLOCK=y
CONFIG_PAGEFLAGS_EXTENDED=y
CONFIG_SPLIT_PTLOCK_CPUS=4
# CONFIG_COMPACTION is not set
# CONFIG_PHYS_ADDR_T_64BIT is not set
CONFIG_ZONE_DMA_FLAG=0
CONFIG_VIRT_TO_BUS=y
# CONFIG_KSM is not set
CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
# CONFIG_TRANSPARENT_HUGEPAGE is not set
CONFIG_NEED_PER_CPU_KM=y
# CONFIG_CLEANCACHE is not set
# CONFIG_HIGHPTE is not set
# CONFIG_X86_CHECK_BIOS_CORRUPTION is not set
CONFIG_X86_RESERVE_LOW=64
# CONFIG_MATH_EMULATION is not set
# CONFIG_MTRR is not set
# CONFIG_SECCOMP is not set
# CONFIG_CC_STACKPROTECTOR is not set
# CONFIG_HZ_100 is not set
CONFIG_HZ_250=y
# CONFIG_HZ_300 is not set
# CONFIG_HZ_1000 is not set
CONFIG_HZ=250
# CONFIG_SCHED_HRTICK is not set
# CONFIG_KEXEC is not set
# CONFIG_CRASH_DUMP is not set
CONFIG_PHYSICAL_START=0x1000000
# CONFIG_RELOCATABLE is not set
CONFIG_PHYSICAL_ALIGN=0x1000000
# CONFIG_COMPAT_VDSO is not set
# CONFIG_CMDLINE_BOOL is not set
CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
#
# Power management and ACPI options
#
# CONFIG_SUSPEND is not set
# CONFIG_PM_RUNTIME is not set
# CONFIG_SFI is not set
#
# CPU Frequency scaling
#
# CONFIG_CPU_FREQ is not set
# CONFIG_CPU_IDLE is not set
#
# Bus options (PCI etc.)
#
# CONFIG_PCI is not set
# CONFIG_ARCH_SUPPORTS_MSI is not set
CONFIG_ISA_DMA_API=y
# CONFIG_ISA is not set
# CONFIG_MCA is not set
# CONFIG_SCx200 is not set
# CONFIG_OLPC is not set
#
# Executable file formats / Emulations
#
# CONFIG_BINFMT_ELF is not set
CONFIG_HAVE_AOUT=y
# CONFIG_BINFMT_AOUT is not set
# CONFIG_BINFMT_MISC is not set
CONFIG_HAVE_ATOMIC_IOMAP=y
CONFIG_HAVE_TEXT_POKE_SMP=y
# CONFIG_NET is not set
#
# Device Drivers
#
#
# Generic Driver Options
#
CONFIG_STANDALONE=y
# CONFIG_PREVENT_FIRMWARE_BUILD is not set
# CONFIG_FW_LOADER is not set
# CONFIG_SYS_HYPERVISOR is not set
# CONFIG_MTD is not set
# CONFIG_PARPORT is not set
# CONFIG_MISC_DEVICES is not set
CONFIG_HAVE_IDE=y
#
# SCSI device support
#
CONFIG_SCSI_MOD=y
# CONFIG_SCSI_DMA is not set
# CONFIG_SCSI_NETLINK is not set
# CONFIG_MACINTOSH_DRIVERS is not set
# CONFIG_PHONE is not set
#
# Input device support
#
# CONFIG_INPUT is not set
#
# Hardware I/O ports
#
# CONFIG_SERIO is not set
# CONFIG_GAMEPORT is not set
#
# Character devices
#
# CONFIG_VT is not set
# CONFIG_UNIX98_PTYS is not set
# CONFIG_LEGACY_PTYS is not set
# CONFIG_SERIAL_NONSTANDARD is not set
# CONFIG_TRACE_SINK is not set
# CONFIG_DEVKMEM is not set
#
# Serial drivers
#
# CONFIG_SERIAL_8250 is not set
CONFIG_FIX_EARLYCON_MEM=y
#
# Non-8250 serial port support
#
# CONFIG_SERIAL_TIMBERDALE is not set
# CONFIG_SERIAL_ALTERA_JTAGUART is not set
# CONFIG_SERIAL_ALTERA_UART is not set
# CONFIG_SERIAL_XILINX_PS_UART is not set
# CONFIG_TTY_PRINTK is not set
# CONFIG_IPMI_HANDLER is not set
# CONFIG_HW_RANDOM is not set
# CONFIG_NVRAM is not set
# CONFIG_RTC is not set
# CONFIG_GEN_RTC is not set
# CONFIG_R3964 is not set
# CONFIG_MWAVE is not set
# CONFIG_PC8736x_GPIO is not set
# CONFIG_NSC_GPIO is not set
# CONFIG_HANGCHECK_TIMER is not set
# CONFIG_RAMOOPS is not set
# CONFIG_I2C is not set
# CONFIG_SPI is not set
#
# PPS support
#
#
# PPS generators support
#
#
# PTP clock support
#
#
# Enable Device Drivers -> PPS to see the PTP clock options.
#
CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
# CONFIG_GPIOLIB is not set
# CONFIG_W1 is not set
# CONFIG_POWER_SUPPLY is not set
# CONFIG_HWMON is not set
# CONFIG_THERMAL is not set
# CONFIG_WATCHDOG is not set
CONFIG_SSB_POSSIBLE=y
#
# Sonics Silicon Backplane
#
# CONFIG_SSB is not set
CONFIG_BCMA_POSSIBLE=y
#
# Broadcom specific AMBA
#
# CONFIG_BCMA is not set
# CONFIG_MFD_SUPPORT is not set
# CONFIG_REGULATOR is not set
# CONFIG_MEDIA_SUPPORT is not set
#
# Graphics support
#
# CONFIG_DRM is not set
# CONFIG_VGASTATE is not set
# CONFIG_VIDEO_OUTPUT_CONTROL is not set
# CONFIG_FB is not set
# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
#
# Display device support
#
# CONFIG_DISPLAY_SUPPORT is not set
# CONFIG_SOUND is not set
# CONFIG_USB_SUPPORT is not set
# CONFIG_MMC is not set
# CONFIG_MEMSTICK is not set
# CONFIG_NEW_LEDS is not set
# CONFIG_NFC_DEVICES is not set
# CONFIG_ACCESSIBILITY is not set
# CONFIG_EDAC is not set
# CONFIG_RTC_CLASS is not set
# CONFIG_DMADEVICES is not set
# CONFIG_AUXDISPLAY is not set
# CONFIG_UIO is not set
# CONFIG_STAGING is not set
# CONFIG_X86_PLATFORM_DEVICES is not set
CONFIG_CLKSRC_I8253=y
#
# Firmware Drivers
#
# CONFIG_EDD is not set
# CONFIG_FIRMWARE_MEMMAP is not set
# CONFIG_DELL_RBU is not set
# CONFIG_DCDBAS is not set
# CONFIG_ISCSI_IBFT_FIND is not set
# CONFIG_GOOGLE_FIRMWARE is not set
#
# File systems
#
# CONFIG_FS_POSIX_ACL is not set
# CONFIG_FILE_LOCKING is not set
# CONFIG_FSNOTIFY is not set
# CONFIG_DNOTIFY is not set
# CONFIG_INOTIFY_USER is not set
# CONFIG_FANOTIFY is not set
# CONFIG_QUOTA is not set
# CONFIG_QUOTACTL is not set
# CONFIG_AUTOFS4_FS is not set
# CONFIG_FUSE_FS is not set
#
# Caches
#
# CONFIG_FSCACHE is not set
#
# Pseudo filesystems
#
# CONFIG_PROC_FS is not set
# CONFIG_SYSFS is not set
# CONFIG_HUGETLBFS is not set
# CONFIG_HUGETLB_PAGE is not set
# CONFIG_CONFIGFS_FS is not set
# CONFIG_MISC_FILESYSTEMS is not set
# CONFIG_NLS is not set
#
# Kernel hacking
#
CONFIG_TRACE_IRQFLAGS_SUPPORT=y
CONFIG_DEFAULT_MESSAGE_LOGLEVEL=4
# CONFIG_ENABLE_WARN_DEPRECATED is not set
# CONFIG_ENABLE_MUST_CHECK is not set
CONFIG_FRAME_WARN=1024
# CONFIG_MAGIC_SYSRQ is not set
# CONFIG_STRIP_ASM_SYMS is not set
# CONFIG_UNUSED_SYMBOLS is not set
# CONFIG_DEBUG_FS is not set
# CONFIG_HEADERS_CHECK is not set
# CONFIG_DEBUG_SECTION_MISMATCH is not set
# CONFIG_DEBUG_KERNEL is not set
# CONFIG_HARDLOCKUP_DETECTOR is not set
# CONFIG_SPARSE_RCU_POINTER is not set
# CONFIG_DEBUG_MEMORY_INIT is not set
CONFIG_ARCH_WANT_FRAME_POINTERS=y
# CONFIG_FRAME_POINTER is not set
CONFIG_USER_STACKTRACE_SUPPORT=y
CONFIG_HAVE_FUNCTION_TRACER=y
CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
CONFIG_HAVE_FUNCTION_GRAPH_FP_TEST=y
CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y
CONFIG_HAVE_DYNAMIC_FTRACE=y
CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
CONFIG_HAVE_C_RECORDMCOUNT=y
CONFIG_TRACING_SUPPORT=y
# CONFIG_FTRACE is not set
# CONFIG_DMA_API_DEBUG is not set
# CONFIG_ATOMIC64_SELFTEST is not set
# CONFIG_SAMPLES is not set
CONFIG_HAVE_ARCH_KGDB=y
CONFIG_HAVE_ARCH_KMEMCHECK=y
# CONFIG_TEST_KSTRTOX is not set
# CONFIG_STRICT_DEVMEM is not set
# CONFIG_X86_VERBOSE_BOOTUP is not set
# CONFIG_EARLY_PRINTK is not set
# CONFIG_DOUBLEFAULT is not set
# CONFIG_IOMMU_STRESS is not set
CONFIG_HAVE_MMIOTRACE_SUPPORT=y
CONFIG_IO_DELAY_TYPE_0X80=0
CONFIG_IO_DELAY_TYPE_0XED=1
CONFIG_IO_DELAY_TYPE_UDELAY=2
CONFIG_IO_DELAY_TYPE_NONE=3
CONFIG_IO_DELAY_0X80=y
# CONFIG_IO_DELAY_0XED is not set
# CONFIG_IO_DELAY_UDELAY is not set
# CONFIG_IO_DELAY_NONE is not set
CONFIG_DEFAULT_IO_DELAY_TYPE=0
# CONFIG_OPTIMIZE_INLINING is not set
#
# Security options
#
# CONFIG_KEYS is not set
# CONFIG_SECURITY_DMESG_RESTRICT is not set
# CONFIG_SECURITYFS is not set
CONFIG_DEFAULT_SECURITY_DAC=y
CONFIG_DEFAULT_SECURITY=""
# CONFIG_CRYPTO is not set
CONFIG_HAVE_KVM=y
# CONFIG_VIRTUALIZATION is not set
# CONFIG_BINARY_PRINTF is not set
#
# Library routines
#
CONFIG_GENERIC_FIND_FIRST_BIT=y
# CONFIG_CRC_CCITT is not set
# CONFIG_CRC16 is not set
# CONFIG_CRC_T10DIF is not set
# CONFIG_CRC_ITU_T is not set
# CONFIG_CRC32 is not set
# CONFIG_CRC7 is not set
# CONFIG_LIBCRC32C is not set
# CONFIG_XZ_DEC is not set
# CONFIG_XZ_DEC_BCJ is not set
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT=y
CONFIG_HAS_DMA=y
# CONFIG_AVERAGE is not set
@@ -0,0 +1,6 @@
CONFIG_BLK_DEV=y
CONFIG_BLK_DEV_INITRD=y
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_COUNT=1
CONFIG_BLK_DEV_RAM_SIZE=6144
@@ -0,0 +1,13 @@
# Dependencies
CONFIG_ACPI=y
CONFIG_HPET=y
CONFIG_HPET_TIMER=y
CONFIG_HPET_EMULATE_RTC=y
CONFIG_RTC_LIB=y
CONFIG_RTC_CLASS=y
CONFIG_RTC_HCTOSYS=y
CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
CONFIG_RTC_INTF_PROC=y
CONFIG_RTC_INTF_DEV=y
CONFIG_RTC_DRV_CMOS=y
@@ -0,0 +1,7 @@
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_SERIAL_8250_NR_UARTS=4
CONFIG_SERIAL_8250_RUNTIME_UARTS=4
# CONFIG_SERIAL_8250_EXTENDED is not set
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
@@ -0,0 +1,7 @@
# bzImage +104k
CONFIG_HOTPLUG=y
CONFIG_HOTPLUG_CPU=y
CONFIG_SMP=y
CONFIG_SCHED_SMT=y
CONFIG_SCHED_MC=y
@@ -0,0 +1,36 @@
inherit kernel
require recipes-kernel/linux/linux-yocto.inc
#KMACHINE = "yocto/standard/tiny/base"
KMACHINE = "yocto/standard/base"
KBRANCH = ${KMACHINE}
LINUX_VERSION ?= "3.0.12"
SRCREV_machine ?= "f389d310965a56091f688b28ea8be6d9cbb7fbbe"
SRCREV_meta ?= "04a52a32cbdf0972033b97b83eaa83eb275dfdc9"
PR = "r1"
PV = "${LINUX_VERSION}+git${SRCPV}"
SRC_URI = "git://git.yoctoproject.org/linux-yocto-3.0;protocol=git;nocheckout=1;branch=${KBRANCH},meta;name=machine,meta \
file://core.cfg \
file://serial.cfg \
file://ext2.cfg \
file://rtc-pc.cfg \
file://ramfs.cfg \
file://devtmpfs.cfg \
file://net.cfg \
file://debug.cfg \
file://lzma.cfg \
"
# Enable qemux86 specific emulated options
SRC_URI_append_qemux86 = " file://defconfig file://ata.cfg file://e1000.cfg"
#COMPATIBLE_MACHINE = "(qemuarm|qemux86|qemuppc|qemumips|qemux86-64)"
COMPATIBLE_MACHINE = "(qemux86)"
# Functionality flags
KERNEL_FEATURES=""
@@ -0,0 +1,41 @@
DESCRIPTION = "Yocto Kernel"
SECTION = "kernel"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7"
# A KMACHINE is the mapping of a yocto $MACHINE to what is built
# by the kernel. This is typically the branch that should be built,
# and it can be specific to the machine or shared
# KMACHINE = "UNDEFINED"
# Set this to 'preempt_rt' in the local.conf if you want a real time kernel
LINUX_KERNEL_TYPE ?= standard
KMETA ?= meta
SRCREV_FORMAT ?= "meta_machine"
LINUX_VERSION_EXTENSION ?= "-yocto-${LINUX_KERNEL_TYPE}"
KERNEL_REVISION_CHECKING ?= "t"
YOCTO_KERNEL_META_DATA ?= t
do_patch[depends] = "kern-tools-native:do_populate_sysroot"
addtask kernel_configme before do_configure after do_patch
# Pick up shared functions
inherit kernel-yocto
require linux-dtb.inc
B = "${WORKDIR}/linux-${MACHINE}-${LINUX_KERNEL_TYPE}-build"
do_install_append(){
if [ -n "${KMETA}" ]; then
rm -rf ${STAGING_KERNEL_DIR}/${KMETA}
fi
}
# extra tasks
addtask kernel_link_vmlinux after do_compile before do_install
addtask validate_branches before do_patch after do_kernel_checkout
addtask kernel_configcheck after do_configure before do_compile
@@ -0,0 +1,52 @@
Upstream-Status: Inappropriate [configuration]
Index: tools/perf/Makefile
===================================================================
--- a/tools/perf/Makefile 2011-01-14 14:17:33.127008554 -0600
+++ b/tools/perf/Makefile 2011-01-14 14:18:14.227008548 -0600
@@ -588,42 +588,8 @@
endif
endif
-ifdef NO_LIBPERL
- BASIC_CFLAGS += -DNO_LIBPERL
-else
- PERL_EMBED_LDOPTS = $(shell perl -MExtUtils::Embed -e ldopts 2>/dev/null)
- PERL_EMBED_LDFLAGS = $(call strip-libs,$(PERL_EMBED_LDOPTS))
- PERL_EMBED_LIBADD = $(call grep-libs,$(PERL_EMBED_LDOPTS))
- PERL_EMBED_CCOPTS = `perl -MExtUtils::Embed -e ccopts 2>/dev/null`
- FLAGS_PERL_EMBED=$(PERL_EMBED_CCOPTS) $(PERL_EMBED_LDOPTS)
-
- ifneq ($(call try-cc,$(SOURCE_PERL_EMBED),$(FLAGS_PERL_EMBED)),y)
- BASIC_CFLAGS += -DNO_LIBPERL
- else
- ALL_LDFLAGS += $(PERL_EMBED_LDFLAGS)
- EXTLIBS += $(PERL_EMBED_LIBADD)
- LIB_OBJS += $(OUTPUT)util/scripting-engines/trace-event-perl.o
- LIB_OBJS += $(OUTPUT)scripts/perl/Perf-Trace-Util/Context.o
- endif
-endif
-
-ifdef NO_LIBPYTHON
- BASIC_CFLAGS += -DNO_LIBPYTHON
-else
- PYTHON_EMBED_LDOPTS = $(shell python-config --ldflags 2>/dev/null)
- PYTHON_EMBED_LDFLAGS = $(call strip-libs,$(PYTHON_EMBED_LDOPTS))
- PYTHON_EMBED_LIBADD = $(call grep-libs,$(PYTHON_EMBED_LDOPTS))
- PYTHON_EMBED_CCOPTS = `python-config --cflags 2>/dev/null`
- FLAGS_PYTHON_EMBED=$(PYTHON_EMBED_CCOPTS) $(PYTHON_EMBED_LDOPTS)
- ifneq ($(call try-cc,$(SOURCE_PYTHON_EMBED),$(FLAGS_PYTHON_EMBED)),y)
- BASIC_CFLAGS += -DNO_LIBPYTHON
- else
- ALL_LDFLAGS += $(PYTHON_EMBED_LDFLAGS)
- EXTLIBS += $(PYTHON_EMBED_LIBADD)
- LIB_OBJS += $(OUTPUT)util/scripting-engines/trace-event-python.o
- LIB_OBJS += $(OUTPUT)scripts/python/Perf-Trace-Util/Context.o
- endif
-endif
+BASIC_CFLAGS += -DNO_LIBPERL
+BASIC_CFLAGS += -DNO_LIBPYTHON
ifdef NO_DEMANGLE
BASIC_CFLAGS += -DNO_DEMANGLE
@@ -0,0 +1,36 @@
inherit kernel
require linux-yocto.inc
KMACHINE = "yocto/standard/base"
KMACHINE_qemux86 = "yocto/standard/common-pc/base"
KMACHINE_qemux86-64 = "yocto/standard/common-pc-64/base"
KMACHINE_qemuppc = "yocto/standard/qemu-ppc32"
KMACHINE_qemumips = "yocto/standard/mti-malta32-be"
KMACHINE_qemuarm = "yocto/standard/arm-versatile-926ejs"
KBRANCH = ${KMACHINE}
LINUX_VERSION ?= "2.6.37"
SRCREV_machine_qemuarm = "b3e53a090eaa23aa82e64fa0a563a93a2b4dbb5d"
SRCREV_machine_qemumips = "91f2eb4a3b447476b36aac8e6e198d08c98e0680"
SRCREV_machine_qemuppc = "862faf3666b3a4e4bc1d469ff5fb3fb90c25f621"
SRCREV_machine_qemux86 = "27ad78e1f6378da554775a7d6760730c92f8c5a7"
SRCREV_machine_qemux86-64 = "af2bfbe5f757361b5b027a24d67a93bfdfaaf33c"
SRCREV_machine = "4ae8f8605c81c39b959948e23f7123294a5dfb3f"
SRCREV_meta = "aeea99683c7283f1f3320bf2ee7085ee252d4e7e"
PR = "r21"
PV = "${LINUX_VERSION}+git${SRCPV}"
SRC_URI = "git://git.yoctoproject.org/linux-yocto-2.6.37;protocol=git;nocheckout=1;branch=${KBRANCH},meta;name=machine,meta"
COMPATIBLE_MACHINE = "(qemuarm|qemux86|qemuppc|qemumips|qemux86-64)"
# Functionality flags
KERNEL_FEATURES="features/netfilter"
KERNEL_FEATURES_append=" features/taskstats"
KERNEL_FEATURES_append_qemux86=" cfg/sound"
KERNEL_FEATURES_append_qemux86-64=" cfg/sound"
require linux-tools.inc
@@ -0,0 +1,37 @@
inherit kernel
require recipes-kernel/linux/linux-yocto.inc
KMACHINE = "yocto/standard/base"
KMACHINE_qemux86 = "yocto/standard/common-pc/base"
KMACHINE_qemux86-64 = "yocto/standard/common-pc-64/base"
KMACHINE_qemuppc = "yocto/standard/qemu-ppc32"
KMACHINE_qemumips = "yocto/standard/mti-malta32-be"
KMACHINE_qemuarm = "yocto/standard/arm-versatile-926ejs"
KBRANCH = ${KMACHINE}
LINUX_VERSION ?= "3.0.14"
SRCREV_machine_qemuarm ?= "c0386e4195c685b0ff94b7e21581ec47008ab13b"
SRCREV_machine_qemumips ?= "56e4361a1bfc10042d83a7d8a5f96932056e3f35"
SRCREV_machine_qemuppc ?= "53e71af30e30162e17e32b2f57e4481f5bc0573e"
SRCREV_machine_qemux86 ?= "9e73573b6b227ab2c62e66e63470866d136f8d76"
SRCREV_machine_qemux86-64 ?= "3551fd0412965b1f6b0b2f6ba35f7fecdaddb58a"
SRCREV_machine ?= "6f5b11830deba4a6262c8c4abf67e608924f649e"
SRCREV_meta ?= "665fea1c249b4f335cb1c9a46a9f2c138d611f1a"
PR = "r2"
PV = "${LINUX_VERSION}+git${SRCPV}"
SRC_URI = "git://git.yoctoproject.org/linux-yocto-3.0;protocol=git;nocheckout=1;branch=${KBRANCH},meta;name=machine,meta"
COMPATIBLE_MACHINE = "(qemuarm|qemux86|qemuppc|qemumips|qemux86-64)"
# Functionality flags
KERNEL_FEATURES="features/netfilter"
KERNEL_FEATURES_append=" features/taskstats"
KERNEL_FEATURES_append_qemux86=" cfg/sound"
KERNEL_FEATURES_append_qemux86-64=" cfg/sound"
require linux-tools.inc
@@ -0,0 +1,28 @@
SUMMARY = "Babeltrace - Trace Format Babel Tower"
DESCRIPTION = "Babeltrace provides trace read and write libraries in host side, as well as a trace converter, which used to convert LTTng 2.0 traces into human-readable log."
HOMEPAGE = "http://www.efficios.com/babeltrace/"
BUGTRACKER = "n/a"
LICENSE = "MIT & GPLv2"
LIC_FILES_CHKSUM = "file://LICENSE;md5=8d1a03b3c17bdd158b3cbb34813b1423"
inherit autotools
DEPENDS = "gtk+ util-linux"
SRCREV = "efc5077568403009493d1d72e94f292838825e51"
PV = "0.8+git${SRCPV}"
PR = "r0"
SRC_URI = "git://git.efficios.com/babeltrace.git;protocol=git"
S = "${WORKDIR}/git"
do_configure_prepend () {
${S}/bootstrap
}
# Due to liburcu not building for MIPS currently this recipe needs to
# be limited also.
# So here let us first suppport x86/arm/powerpc platforms now.
COMPATIBLE_HOST = '(x86_64.*|i.86.*|arm.*|powerpc.*)-linux'
@@ -0,0 +1,41 @@
Upstream-Status: Inappropriate [embedded specific]
lttng-modules: replace KERNELDIR with KERNEL_SRC
Since lttng-modules uses the default way of module.bbclass to
build and install lttng-modules, we do this replacement for
it as-is.
Signed-off-by: Zumeng Chen <zumeng.chen@windriver.com>
---
Makefile | 7 +++----
1 files changed, 3 insertions(+), 4 deletions(-)
diff --git a/Makefile b/Makefile
index 5ac13d7..25caad5 100644
--- a/Makefile
+++ b/Makefile
@@ -38,17 +38,16 @@ obj-m += lib/
endif
else
- KERNELDIR ?= /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)
CFLAGS = $(EXTCFLAGS)
default:
- $(MAKE) -C $(KERNELDIR) M=$(PWD) modules
+ $(MAKE) -C $(KERNEL_SRC) M=$(PWD) modules
modules_install:
- $(MAKE) -C $(KERNELDIR) M=$(PWD) modules_install
+ $(MAKE) -C $(KERNEL_SRC) M=$(PWD) modules_install
clean:
- $(MAKE) -C $(KERNELDIR) M=$(PWD) clean
+ $(MAKE) -C $(KERNEL_SRC) M=$(PWD) clean
endif
--
1.7.5.4
@@ -0,0 +1,27 @@
SECTION = "devel"
SUMMARY = "Linux Trace Toolkit KERNEL MODULE"
DESCRIPTION = "The lttng-modules 2.0 package contains the kernel tracer modules"
LICENSE = "LGPLv2.1 & GPLv2"
LIC_FILES_CHKSUM = "file://LICENSE;md5=1eb086682a7c65a45acd9bcdf6877b3e \
file://gpl-2.0.txt;md5=751419260aa954499f7abaabaa882bbe \
file://lgpl-2.1.txt;md5=243b725d71bb5df4a1e5920b344b86ad"
DEPENDS = virtual/kernel
inherit module
SRCREV = "4d3e89e379fc66480d729abe8daa5c86eb585400"
PV = "2.0.pre11+git${SRCREV}"
PR = "r0"
SRC_URI = "git://git.lttng.org/lttng-modules.git;protocol=git \
file://lttng-modules-replace-KERNELDIR-with-KERNEL_SRC.patch"
export INSTALL_MOD_DIR="kernel/lttng-modules"
S = "${WORKDIR}/git"
# Due to liburcu not building for MIPS currently this recipe needs to
# be limited also.
# So here let us first suppport x86/arm/powerpc platforms now.
COMPATIBLE_HOST = '(x86_64.*|i.86.*|arm.*|powerpc.*)-linux'
@@ -0,0 +1,27 @@
Upstream-Status: Pending
Fix compiling error on powerpc and arm
For powerpc and arm, some MAP_ are defined asm/mman.h,
so including it in header.
Signed-off-by: Zumeng Chen <zumeng.chen@windriver.com>
---
common/runas.c | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/common/runas.c b/common/runas.c
index f612ccc..62a2791 100644
--- a/common/runas.c
+++ b/common/runas.c
@@ -29,6 +29,7 @@
#include <fcntl.h>
#include <sched.h>
#include <sys/mman.h>
+#include <asm/mman.h>
#include <lttngerr.h>
--
1.7.5.4
@@ -0,0 +1,30 @@
SECTION = "devel"
SUMMARY = "Linux Trace Toolkit Control"
DESCRIPTION = "The Linux trace toolkit is a suite of tools designed \
to extract program execution details from the Linux operating system \
and interpret them."
LICENSE = "GPLv2 & LGPLv2.1"
LIC_FILES_CHKSUM = "file://COPYING;md5=ab682a4729389c3f11913d758affe98e \
file://gpl-2.0.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
file://lgpl-2.1.txt;md5=0f0d71500e6a57fd24d825f33242b9ca"
DEPENDS = "liburcu popt lttng-ust"
SRCREV = "9beed4cb465347c778e4f982c330cef78f2628b7"
PV = "v2.0.pre16+git${SRCREV}"
PR = "r0"
SRC_URI = "git://git.lttng.org/lttng-tools.git;protocol=git\
file://lttng-tools-fix-compiling-error-for-powerpc-arm.patch"
S = "${WORKDIR}/git"
inherit autotools
export KERNELDIR="${STAGING_KERNEL_DIR}"
# Due to liburcu not building for MIPS currently this recipe needs to
# be limited also.
# So here let us first suppport x86/arm/powerpc platforms now.
COMPATIBLE_HOST = '(x86_64.*|i.86.*|arm.*|powerpc.*)-linux'
@@ -0,0 +1,30 @@
SUMMARY = "Linux Trace Toolkit Userspace Tracer 2.0"
DESCRIPTION = "The LTTng UST 2.0 package contains the userspace tracer library to trace userspace codes."
HOMEPAGE = "http://lttng.org/lttng2.0"
BUGTRACKER = "n/a"
LICENSE = "LGPLv2.1+ & BSD"
LIC_FILES_CHKSUM = "file://COPYING;md5=e647752e045a8c45b6f583771bd561ef \
file://snprintf/snprintf.c;endline=32;md5=d3d544959d8a3782b2e07451be0a903c \
file://snprintf/various.h;endline=31;md5=89f2509b6b4682c4fc95255eec4abe44"
inherit autotools
DEPENDS = "liburcu util-linux"
SRCREV = "eeee05f35f014a8c068e0d29b18629cafbfdfc1d"
PV = "1.9.4+git${SRCPV}"
PR = "r0"
SRC_URI = "git://git.lttng.org/lttng-ust.git;protocol=git"
S = "${WORKDIR}/git"
do_configure_prepend () {
${S}/bootstrap
}
# Due to liburcu not building for MIPS currently this recipe needs to
# be limited also.
# So here let us first suppport x86/arm/powerpc platforms now.
COMPATIBLE_HOST = '(x86_64.*|i.86.*|arm.*|powerpc.*)-linux'
@@ -0,0 +1,23 @@
SECTION = "devel"
SUMMARY = "Linux Trace Toolkit Control"
DESCRIPTION = "The Linux trace toolkit is a suite of tools designed to \
extract program execution details from the Linux operating system and \
interpret them."
LICENSE = "GPLv3"
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
PR = "r0"
LTTDATE = "05122011"
SRC_URI = "http://lttng.org/files/lttng/ltt-control-${PV}-${LTTDATE}.tar.gz"
SRC_URI[md5sum] = "2e5a531bf5cab88eef5282b45271789f"
SRC_URI[sha256sum] = "feb120e0bedd9ef8917dd14ee96cc94941f517826a4c2035d1c4aa33e4e808ab"
S = "${WORKDIR}/ltt-control-${PV}-${LTTDATE}"
inherit autotools
export KERNELDIR="${STAGING_KERNEL_DIR}"
FILES_${PN} += "${datadir}/ltt-control/facilities/*"
@@ -0,0 +1,31 @@
SUMMARY = "Linux Trace Toolkit Userspace Tracer"
DESCRIPTION = "The LTTng Userspace Tracer (UST) is a library accompanied by a set of tools to trace userspace code"
HOMEPAGE = "http://lttng.org/ust"
BUGTRACKER = "http://lttng.org/project/issues"
LICENSE = "LGPLv2.1+ & BSD"
LIC_FILES_CHKSUM = "file://COPYING;md5=e647752e045a8c45b6f583771bd561ef \
file://ustctl/ustctl.c;endline=16;md5=b50c6fa0307175bb1ce0db49d752c03b \
file://snprintf/various.h;endline=31;md5=89f2509b6b4682c4fc95255eec4abe44"
DEPENDS = "liburcu"
PR = "r0"
SRC_URI = "http://lttng.org/files/ust/releases/ust-${PV}.tar.gz"
SRC_URI[md5sum] = "8e5d5de47bfff29f50439d192ad1e478"
SRC_URI[sha256sum] = "88167741b1fbf335e006f0208d8c41784705e28adac84df71d3d9f6c58191dab"
S = "${WORKDIR}/ust-${PV}"
inherit autotools
#EXTRA_OECONF = "ac_cv_lib_urcu_bp_synchronize_rcu_bp=no"
# Due to liburcu not building on MIPS currently this recipe needs to
# be limited also.
# So here let us first suppport x86/arm/powerpc platforms now.
COMPATIBLE_HOST = '(x86_64.*|i.86.*|arm.*|powerpc.*)-linux'
@@ -0,0 +1,42 @@
Upstream-Status: Inappropriate [configuration]
Explicitly add linkage to lttvwindow.
Without the fix, lttv-gui inside target can't run, complaining
"undefined symbol: LTTV_VIEWER_CONSTRUCTORS".
Tue May 3 21:39:37 CST 2011
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
diff --git a/lttv/modules/gui/common.am b/lttv/modules/gui/common.am
index ce50113..89083aa 100644
--- a/lttv/modules/gui/common.am
+++ b/lttv/modules/gui/common.am
@@ -21,3 +21,4 @@ AM_LDFLAGS = $(MODULE_LDFLAGS)
libdir = ${lttvplugindir}
+LIBS += $(GTK_LIBS) -L${top_builddir}/lttv/modules/gui/lttvwindow/lttvwindow -llttvwindow
diff --git a/lttv/modules/gui/lttvwindow/lttvwindow/Makefile.am b/lttv/modules/gui/lttvwindow/lttvwindow/Makefile.am
index c953fc9..489d640 100644
--- a/lttv/modules/gui/lttvwindow/lttvwindow/Makefile.am
+++ b/lttv/modules/gui/lttvwindow/lttvwindow/Makefile.am
@@ -1,13 +1,14 @@
## Process this file with automake to produce Makefile.in
-include ../../common.am
-
INCLUDES = \
-DPACKAGE_DATA_DIR=\""$(datadir)"\" \
-DPACKAGE_LOCALE_DIR=\""$(prefix)/$(DATADIRNAME)/locale"\" \
$(DEFAULT_INCLUDES)
-#libdir = ${lttvplugindir}
+AM_CFLAGS = $(MODULE_CFLAGS)
+AM_LDFLAGS = $(MODULE_LDFLAGS)
+
+libdir = ${lttvplugindir}
lib_LTLIBRARIES = liblttvwindow.la
@@ -0,0 +1,39 @@
SUMMARY = "Linux Trace Toolkit Viewer"
DESCRIPTION = "The Linux trace toolkit is a suite of tools designed to \
extract program execution details from the Linux operating system and \
interpret them."
HOMEPAGE = "http://lttng.org/content/download"
BUGTRACKER = "n/a"
LICENSE = "GPLv2 & LGPLv2.1"
LIC_FILES_CHKSUM = "file://COPYING;md5=f650d5f5af1e9648fe0b40e290d3adbb \
file://ltt/ltt.h;beginline=2;endline=18;md5=8b7da9190028c50396d97fc85bad0da9 \
file://lttv/lttv/traceset.c;beginline=2;endline=17;md5=bcab42863b64b41d153bf81bbe2490a6"
PR = "r2"
DEPENDS = "gtk+ pango popt"
SECTION = "devel"
ALTNAME = "lttv-${PV}-21032011"
SRC_URI = "http://lttng.org/files/packages/${ALTNAME}.tar.gz \
file://add_linkage_to_lttvwindow.patch"
SRC_URI[md5sum] = "071bf3dd13e7562c08ee8f8971cfc76d"
SRC_URI[sha256sum] = "cf87ffcf5d266b18979418e610a180a0b4214de41677f0be867885e15b2f7647"
S = "${WORKDIR}/${ALTNAME}"
inherit autotools
LEAD_SONAME = "liblttvtraceread*"
FILES_${PN} += "\
${libdir}/liblttvtraceread*.so \
${libdir}/lttv/plugins/*.so \
${datadir}/lttv/facilities/* \
${datadir}/lttv/pixmaps/* "
FILES_${PN}-dbg += "${libdir}/lttv/plugins/.debug/"
FILES_${PN}-dev += "${libdir}/lttv/plugins/*.la"
FILES_${PN}-staticdev += "${libdir}/lttv/plugins/*.a"
INSANE_SKIP_${PN} = "dev-so"
@@ -0,0 +1,8 @@
Upstream-Status: Inappropriate [licensing]
Index: modutils-initscripts-1.0/LICENSE
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ modutils-initscripts-1.0/LICENSE 2010-12-06 14:26:03.570339002 -0800
@@ -0,0 +1 @@
+Public Domain
@@ -0,0 +1,25 @@
# disable man page build
#
# by Kevin Tian <kevin.tian@intel.com>, 2010-07-21
Upstream-Status: Inappropriate [disable feature]
diff --git a/Makefile.am b/Makefile.am
index 6f83c12..32972a8 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -39,13 +39,12 @@ modindex_LDADD = $(LDADD) libmodtools.a
MAN5 = modprobe.conf.5 modules.dep.5 depmod.conf.5 modprobe.d.5
MAN8 = depmod.8 insmod.8 lsmod.8 rmmod.8 modprobe.8 modinfo.8
SGML = $(addprefix doc/, $(MAN5:%.5=%.sgml) $(MAN8:%.8=%.sgml))
-dist_man_MANS = $(MAN5) $(MAN8)
# If they haven't overridden mandir, fix it (never /man!)
mandir =$(shell if [ @mandir@ = $(prefix)/man ]; then if [ $(prefix) = / ]; then echo /usr/share/man; else echo $(prefix)/share/man; fi; else echo @mandir@; fi)
TESTSUITE := $(shell test -e @srcdir@/tests && find @srcdir@/tests -type f ! -name '*~')
-EXTRA_DIST = generate-modprobe.conf FAQ CODING stress_modules.sh install-with-care $(SGML) $(man_MANS) $(TESTSUITE)
+EXTRA_DIST = generate-modprobe.conf FAQ CODING stress_modules.sh install-with-care
sbin_PROGRAMS = insmod modprobe rmmod depmod modinfo
if BUILD_STATIC_UTILS
@@ -0,0 +1,21 @@
# this patch is from Mark Hatle <mark.hatle@windriver.com>, who ran into
# a random segfault using the latest module-init-tools (3.12) and finally
# trace back to depmod.c:grab_module, which appears that the new malloc(...)
# setups up things, but never clears the memory that was just allocated.
#
# Kevin Tian <kevin.tian@intel.com>, 2010-08-06
Upstream-Status: Pending
diff --git a/depmod.c b/depmod.c
index 647e5e6..46e03e0 100644
--- a/depmod.c
+++ b/depmod.c
@@ -313,6 +313,7 @@ static struct module *grab_module(const char *dirname, const char *filename)
new = NOFAIL(malloc(sizeof(*new)
+ strlen(dirname?:"") + 1 + strlen(filename) + 1));
+ memset(new, 0x00, sizeof(*new) + strlen(dirname?:"") + 1 + strlen(filename) + 1);
if (dirname)
sprintf(new->pathname, "%s/%s", dirname, filename);
else
@@ -0,0 +1,36 @@
#!/bin/sh
### BEGIN INIT INFO
# Provides: module-init-tools
# Required-Start:
# Required-Stop:
# Should-Start: checkroot
# Should-stop:
# Default-Start: S
# Default-Stop:
# Short-Description: Process /etc/modules.
# Description: Load the modules listed in /etc/modules.
### END INIT INFO
LOAD_MODULE=modprobe
[ -f /proc/modules ] || exit 0
[ -f /etc/modules ] || exit 0
[ -e /sbin/modprobe ] || LOAD_MODULE=insmod
if [ ! -f /lib/modules/`uname -r`/modules.dep ]; then
[ "$VERBOSE" != no ] && echo "Calculating module dependencies ..."
depmod -Ae
fi
[ "$VERBOSE" != no ] && echo -n "Loading modules: "
(cat /etc/modules; echo; ) |
while read module args
do
case "$module" in
\#*|"") continue ;;
esac
[ "$VERBOSE" != no ] && echo -n "$module "
eval "$LOAD_MODULE $module $args >/dev/null 2>&1"
done
[ "$VERBOSE" != no ] && echo
exit 0
@@ -0,0 +1,25 @@
# poky uses new name to differentiate from modutils, so reflect this new name in source
#
# comment added by Kevin Tian <kevin.tian@intel.com>, 2010-07-21
Upstream-Status: Inappropriate [embedded specific]
--- module-init-tools-3.0-pre10.orig/generate-modprobe.conf
+++ module-init-tools-3.0-pre10/generate-modprobe.conf
@@ -45,12 +45,12 @@
cp $TESTING_MODPROBE_CONF $MODPROBECONF
elif [ "$STDIN" = "1" ]; then
cat > $MODPROBECONF
-elif [ -x /sbin/modprobe.old ]; then
+elif [ -x /sbin/modprobe.24 ]; then
# In sbin.
- /sbin/modprobe.old -c > $MODPROBECONF || modprobe_abort
-elif modprobe.old -c >/dev/null 2>&1; then
+ /sbin/modprobe.24 -c > $MODPROBECONF || modprobe_abort
+elif modprobe.24 -c >/dev/null 2>&1; then
# Somewhere in path.
- modprobe.old -c > $MODPROBECONF || modprobe_abort
+ modprobe.24 -c > $MODPROBECONF || modprobe_abort
elif /sbin/modprobe -V 2>/dev/null | grep -q 'modprobe version'; then
# Running /sbin/modprobe gives old version.
/sbin/modprobe -c > $MODPROBECONF || modprobe_abort
@@ -0,0 +1,10 @@
require module-init-tools.inc
PR = "r0"
inherit cross
PROVIDES += "virtual/${TARGET_PREFIX}depmod"
RDEPENDS_${PN} = ""
SRC_URI[md5sum] = "bc44832c6e41707b8447e2847d2019f5"
SRC_URI[sha256sum] = "e1f2cdcae64a8effc25e545a5e0bdaf312f816ebbcd0916e4e87450755fab64b"
EXTRA_OECONF_append = " --program-prefix=${TARGET_PREFIX} --disable-static-utils"
@@ -0,0 +1,24 @@
SUMMARY = "Kernel Module Utilities"
DESCRIPTION = "This package contains a set of programs for loading, inserting, and removing kernel modules for Linux (versions 2.5.48 and above). It serves the same function that the modutils package serves for Linux 2.4"
LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
file://lsmod.c;md5=743c873ec42632d2ce37d3c440f366dd"
SECTION = "base"
PACKAGES =+ "module-init-tools-insmod-static module-init-tools-depmod"
RDEPENDS_${PN} += "module-init-tools-depmod"
FILES_module-init-tools-depmod = "${sbindir}/depmod.26"
FILES_module-init-tools-insmod-static = "${sbindir}/insmod.static"
SRC_URI = "${KERNELORG_MIRROR}/linux/utils/kernel/module-init-tools/module-init-tools-${PV}.tar.bz2 \
file://modutils_extension.patch \
file://disable_man.patch \
file://grab_module_memset.patch"
inherit autotools
# module-init-tools uses AX_ENABLE_BUILDDIR to move rest of configuration steps
# into a subdir. However this macro is not quite cross friendly. Instead of
# mangling that macro, a easier way is to take the disable option
EXTRA_OECONF = "--disable-builddir"
@@ -0,0 +1,42 @@
require module-init-tools.inc
PR = "r0"
# autotools set prefix to /usr, however we want them in /bin and /sbin
bindir = "/bin"
sbindir = "/sbin"
do_install() {
autotools_do_install
for f in bin/lsmod sbin/insmod sbin/rmmod sbin/modprobe sbin/modinfo sbin/depmod; do
mv ${D}/$f ${D}/$f.26
done
}
pkg_postinst_module-init-tools() {
for f in sbin/insmod sbin/modprobe sbin/rmmod sbin/modinfo; do
bn=`basename $f`
update-alternatives --install /$f $bn /$f.26 60
done
update-alternatives --install /bin/lsmod bin-lsmod /bin/lsmod.26 60
update-alternatives --install /sbin/lsmod lsmod /bin/lsmod.26 60
}
pkg_prerm_module-init-tools() {
for f in sbin/insmod sbin/modprobe sbin/rmmod sbin/modinfo; do
bn=`basename $f`
update-alternatives --remove $bn /$f.26
done
update-alternatives --remove bin-lsmod /bin/lsmod.26
update-alternatives --remove lsmod /bin/lsmod.26
}
pkg_postinst_module-init-tools-depmod() {
update-alternatives --install /sbin/depmod depmod /sbin/depmod.26 60
}
pkg_prerm_module-init-tools-depmod() {
update-alternatives --remove depmod /sbin/depmod.26
}
SRC_URI[md5sum] = "bc44832c6e41707b8447e2847d2019f5"
SRC_URI[sha256sum] = "e1f2cdcae64a8effc25e545a5e0bdaf312f816ebbcd0916e4e87450755fab64b"
@@ -0,0 +1,20 @@
SECTION = "base"
DESCRIPTION = "modutils configuration files"
LICENSE = "PD"
LIC_FILES_CHKSUM = "file://LICENSE;md5=7bf87fc37976e93ec66ad84fac58c098"
SRC_URI = "file://modutils.sh \
file://PD.patch"
PR = "r6"
INITSCRIPT_NAME = "modutils.sh"
INITSCRIPT_PARAMS = "start 4 S ."
inherit update-rc.d
do_compile () {
}
do_install () {
install -d ${D}${sysconfdir}/init.d/
install -m 0755 ${WORKDIR}/modutils.sh ${D}${sysconfdir}/init.d/
}
@@ -0,0 +1,35 @@
SUMMARY = "System-Wide Profiler"
DESCRIPTION = "OProfile is a system-wide profiler for Linux systems, capable \
of profiling all running code at low overhead."
HOMEPAGE = "http://oprofile.sourceforge.net/news/"
BUGTRACKER = "http://sourceforge.net/tracker/?group_id=16191&atid=116191"
LICENSE = "LGPLv2.1+ & GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
file://libopagent/opagent.h;beginline=5;endline=26;md5=4f16f72c7a493d8a4704aa18d03d15c6 \
file://daemon/liblegacy/p_module.h;beginline=2;endline=20;md5=fc23a43455edf185307274a99730b6e4"
SECTION = "devel"
DEPENDS = "popt binutils"
RDEPENDS_${PN} = "binutils-symlinks"
RRECOMMENDS_${PN} = "kernel-vmlinux"
FILES_${PN} = "${bindir} ${libdir}/${BPN}/lib*${SOLIBS} ${datadir}/${BPN}"
FILES_${PN}-dev += "${libdir}/${BPN}/lib*${SOLIBSDEV} ${libdir}/${BPN}/lib*.la"
FILES_${PN}-staticdev += "${libdir}/${BPN}/lib*.a"
INC_PR = "r0"
SRC_URI = "file://opstart.patch \
file://oprofile-no-query-modules.patch \
file://acinclude.m4"
inherit autotools
EXTRA_OECONF = "--with-kernel-support --without-x"
do_configure () {
cp ${WORKDIR}/acinclude.m4 ${S}/
autotools_do_configure
}
@@ -0,0 +1,600 @@
dnl AX_KERNEL_OPTION(option, action-if-found, action-if-not-found)
dnl see if autoconf.h defines the option
AC_DEFUN([AX_KERNEL_OPTION], [
SAVE_CFLAGS=$CFLAGS
CFLAGS="-I$KINC -O2 -D__KERNEL__"
AC_TRY_COMPILE( [#include <linux/config.h>],
[
#ifndef $1
break_me_hard(\\\);
#endif
],[$2],[$3],)
CFLAGS=$SAVE_CFLAGS
])
dnl Handle the 2.4 module inside module/
AC_DEFUN([AX_CONFIG_MODULE],
[
if test ! -f $KINC/linux/autoconf.h; then
AC_MSG_ERROR([no suitably configured kernel include tree found])
fi
dnl --- Get Linux kernel version and compile parameters ---
AC_SUBST(KVERS)
AC_MSG_CHECKING([for kernel version])
dnl it's like this to handle mandrake's fubar version.h - bug #471448
eval KVERS=`gcc -I$KINC -E -dM $KINC/linux/version.h | grep -w UTS_RELEASE | awk '{print $[]3}'`
AC_MSG_RESULT([$KVERS])
case "$KVERS" in
2.2.*|2.4.*) ;;
*) AC_MSG_ERROR([Unsupported kernel version])
esac
dnl Check for the minimal kernel version supported
AC_MSG_CHECKING([kernel version])
AX_KERNEL_VERSION(2, 2, 10, <=, AC_MSG_RESULT([ok]), AC_MSG_ERROR([check html documentation install section]))
dnl linux/spinlock.h added at some point in past
AC_MSG_CHECKING([for $KINC/linux/spinlock.h])
if test -f $KINC/linux/spinlock.h; then
EXTRA_CFLAGS_MODULE="$EXTRA_CFLAGS_MODULE -DHAVE_LINUX_SPINLOCK_HEADER"
AC_MSG_RESULT([yes])
else
AC_MSG_RESULT([no])
fi
AC_MSG_CHECKING([for rtc_lock])
gcc -I$KINC -E $KINC/linux/mc146818rtc.h | grep rtc_lock >/dev/null
if test "$?" -eq 0; then
EXTRA_CFLAGS_MODULE="$EXTRA_CFLAGS_MODULE -DRTC_LOCK"
AC_MSG_RESULT([yes])
else
AC_MSG_RESULT([no])
fi
arch="unknown"
AC_MSG_CHECKING(for x86-64 architecture)
AX_KERNEL_OPTION(CONFIG_X86_64, x8664=1, x8664=0)
AX_MSG_RESULT_YN($x8664)
BUILD_HAMMER=no
if test "$x8664" -eq 1; then
arch="x86"
BUILD_HAMMER=yes
else
AC_MSG_CHECKING(for x86 architecture)
AX_KERNEL_OPTION(CONFIG_X86, x86=1, x86=0)
AX_KERNEL_OPTION(CONFIG_X86_WP_WORKS_OK, x86=1, x86=$x86)
AX_MSG_RESULT_YN($x86)
test "$x86" = 1 && arch="x86"
if test "$arch" = "unknown"; then
AC_MSG_CHECKING(for ia64 architecture)
AX_KERNEL_OPTION(CONFIG_IA64, ia64=1, ia64=0)
AX_MSG_RESULT_YN($ia64)
test "$ia64" = 1 && arch="ia64"
fi
fi
AC_SUBST(BUILD_HAMMER)
test "$arch" = "unknown" && AC_MSG_ERROR(Unsupported architecture)
dnl check to see if kernel verion appropriate for arch
AC_MSG_CHECKING(arch/kernel version combination)
case "$arch" in
ia64)
AX_KERNEL_VERSION(2, 4, 18, <, AC_MSG_RESULT([ok]),
AC_MSG_ERROR([unsupported arch/kernel])) ;;
*) AC_MSG_RESULT([ok])
esac
dnl for now we do not support PREEMPT patch
AC_MSG_CHECKING([for preempt patch])
AX_KERNEL_OPTION(CONFIG_PREEMPT,preempt=1,preempt=0)
AX_MSG_RESULT_YN([$preempt])
test "$preempt" = 0 || AC_MSG_ERROR([unsupported kernel configuration : CONFIG_PREEMPT])
AC_SUBST(KINC)
MODINSTALLDIR=/lib/modules/$KVERS
OPROFILE_MODULE_ARCH=$arch
AC_SUBST(OPROFILE_MODULE_ARCH)
]
)
dnl AX_KERNEL_VERSION(major, minor, level, comparison, action-if-true, action-if-false)
AC_DEFUN([AX_KERNEL_VERSION], [
SAVE_CFLAGS=$CFLAGS
CFLAGS="-I$KINC -D__KERNEL__ -Werror"
AC_TRY_COMPILE(
[
#include <linux/version.h>
#include <linux/config.h>
],
[
#if LINUX_VERSION_CODE $4 KERNEL_VERSION($1, $2, $3)
break_me_hard(\\\);
#endif
],
[$5],[$6],)
CFLAGS=$SAVE_CFLAGS
])
dnl AX_MSG_RESULT_YN(a)
dnl results "yes" iff a==1, "no" else
AC_DEFUN([AX_MSG_RESULT_YN], [x=no
test "x$1" = "x1" && x=yes
AC_MSG_RESULT($x)])
dnl AX_MALLOC_ATTRIBUTE - see if gcc will take __attribute__((malloc))
AC_DEFUN([AX_MALLOC_ATTRIBUTE],
[
AC_MSG_CHECKING([whether malloc attribute is understood])
SAVE_CFLAGS=$CFLAGS
CFLAGS="-Werror $CFLAGS"
AC_TRY_COMPILE(,[
void monkey() __attribute__((malloc));
],AC_MSG_RESULT([yes]); AC_DEFINE(MALLOC_ATTRIBUTE_OK, 1, [whether malloc attribute is understood]), AC_MSG_RESULT([no]))
CFLAGS=$SAVE_CFLAGS
]
)
dnl builtin_expect is used in module we can't add that in config.h
AC_DEFUN([AX_BUILTIN_EXPECT],
[
AC_MSG_CHECKING([whether __builtin_expect is understood])
SAVE_CFLAGS=$CFLAGS
CFLAGS="-Werror $CFLAGS"
AC_TRY_LINK(,[
int i;
if (__builtin_expect(i, 0)) { }
],
AC_MSG_RESULT([yes]); EXTRA_CFLAGS_MODULE="$EXTRA_CFLAGS_MODULE -DEXPECT_OK",
AC_MSG_RESULT([no]);)
CFLAGS=$SAVE_CFLAGS
]
)
dnl AX_EXTRA_DIRS - Let user specify extra dirs for include/libs
AC_DEFUN([AX_EXTRA_DIRS],
[
AC_ARG_WITH(extra-includes,
[ --with-extra-includes=DIR add extra include paths],
use_extra_includes="$withval",
use_extra_includes=NO
)
if test -n "$use_extra_includes" && \
test "$use_extra_includes" != "NO"; then
ac_save_ifs=$IFS
IFS=':'
for dir in $use_extra_includes; do
extra_includes="$extra_includes -I$dir"
done
IFS=$ac_save_ifs
CPPFLAGS="$CPPFLAGS $extra_includes"
fi
AC_ARG_WITH(extra-libs,
[ --with-extra-libs=DIR add extra library paths],
use_extra_libs=$withval,
use_extra_libs=NO
)
if test -n "$use_extra_libs" && \
test "$use_extra_libs" != "NO"; then
ac_save_ifs=$IFS
IFS=':'
for dir in $use_extra_libs; do
extra_libraries="$extra_libraries -L$dir"
done
IFS=$ac_save_ifs
LDFLAGS="$LDFLAGS $extra_libraries"
fi
]
)
dnl AX_POPT_CONST - check popt prototype
AC_DEFUN([AX_POPT_CONST],
[
AC_MSG_CHECKING([popt prototype])
SAVE_CXXFLAGS=$CXXFLAGS
CXXFLAGS="-Werror $CXXFLAGS"
AC_TRY_COMPILE([#include <popt.h>],
[
int c; char **v;
poptGetContext(0, c, v, 0, 0);
],
AC_MSG_RESULT([takes char **]);,
AC_MSG_RESULT([takes const char **]); AC_DEFINE(CONST_POPT, 1, [whether popt prototype takes a const char **]))
CXXFLAGS="$SAVE_CXXFLAGS"
]
)
dnl AX_CHECK_SSTREAM - check if local sstream is needed to compile OK
AC_DEFUN([AX_CHECK_SSTREAM],
[
AC_MSG_CHECKING([whether to use included sstream])
AC_TRY_COMPILE([#include <sstream>], [],
AC_MSG_RESULT([no]);,
AC_MSG_RESULT([yes]); OP_CXXFLAGS="$OP_CXXFLAGS -I\${top_srcdir}/include")
]
)
dnl AX_CHECK_TYPEDEF(typedef_name, type, action-if-true, action-if-false)
dnl exec action-if-true if typedef_name is a typedef to type else exec
dnl action-if-false
dnl currently work only with type typedef'ed in stddef.h
AC_DEFUN([AX_CHECK_TYPEDEF], [
dnl AC_LANG_PUSH(C) not in autoconf 2.13
AC_LANG_SAVE
AC_LANG_C
SAVE_CFLAGS=$CFLAGS
CFLAGS="-Werror $CFLAGS"
AC_TRY_COMPILE(
[
#include <stddef.h>
],
[
typedef void (*fct1)($1);
typedef void (*fct2)($2);
fct1 f1 = 0;
fct2 f2 = 0;
if (f1 == f2) {}
],
[$3],[$4])
CFLAGS=$SAVE_CFLAGS
AC_LANG_RESTORE
])
dnl AX_TYPEDEFED_NAME(typedef_name, candidate_list, var_name)
dnl set var_name to the typedef name of $1 which must be in canditate_list
dnl else produce a fatal error
AC_DEFUN([AX_TYPEDEFED_NAME], [
AC_MSG_CHECKING([type of $1])
for f in $2; do
AX_CHECK_TYPEDEF($1, $f, $3="$f", $3="")
if test -n "${$3}"; then
break
fi
done
if test -n "${$3}"; then
AC_MSG_RESULT([${$3}])
else
AC_MSG_ERROR([not found])
fi
])
dnl find a binary in the path
AC_DEFUN([QT_FIND_PATH],
[
AC_MSG_CHECKING([for $1])
AC_CACHE_VAL(qt_cv_path_$1,
[
qt_cv_path_$1="NONE"
if test -n "$$2"; then
qt_cv_path_$1="$$2";
else
dirs="$3"
qt_save_IFS=$IFS
IFS=':'
for dir in $PATH; do
dirs="$dirs $dir"
done
IFS=$qt_save_IFS
for dir in $dirs; do
if test -x "$dir/$1"; then
if test -n "$5"; then
evalstr="$dir/$1 $5 2>&1 "
if eval $evalstr; then
qt_cv_path_$1="$dir/$1"
break
fi
else
qt_cv_path_$1="$dir/$1"
break
fi
fi
done
fi
])
if test -z "$qt_cv_path_$1" || test "$qt_cv_path_$1" = "NONE"; then
AC_MSG_RESULT(not found)
$4
else
AC_MSG_RESULT($qt_cv_path_$1)
$2=$qt_cv_path_$1
fi
])
dnl Find the uic compiler on the path or in qt_cv_dir
AC_DEFUN([QT_FIND_UIC],
[
QT_FIND_PATH(uic, ac_uic, $qt_cv_dir/bin)
if test -z "$ac_uic" -a "$FATAL" = 1; then
AC_MSG_ERROR([uic binary not found in \$PATH or $qt_cv_dir/bin !])
fi
])
dnl Find the right moc in path/qt_cv_dir
AC_DEFUN([QT_FIND_MOC],
[
QT_FIND_PATH(moc2, ac_moc2, $qt_cv_dir/bin)
QT_FIND_PATH(moc, ac_moc1, $qt_cv_dir/bin)
if test -n "$ac_moc1" -a -n "$ac_moc2"; then
dnl found both. Prefer Qt3's if it exists else moc2
$ac_moc1 -v 2>&1 | grep "Qt 3" >/dev/null
if test "$?" = 0; then
ac_moc=$ac_moc1;
else
ac_moc=$ac_moc2;
fi
else
if test -n "$ac_moc1"; then
ac_moc=$ac_moc1;
else
ac_moc=$ac_moc2;
fi
fi
if test -z "$ac_moc" -a "$FATAL" = 1; then
AC_MSG_ERROR([moc binary not found in \$PATH or $qt_cv_dir/bin !])
fi
])
dnl check a particular libname
AC_DEFUN([QT_TRY_LINK],
[
SAVE_LIBS="$LIBS"
LIBS="$LIBS $1"
AC_TRY_LINK([
#include <qglobal.h>
#include <qstring.h>
],
[
QString s("mangle_failure");
#if (QT_VERSION < 221)
break_me_(\\\);
#endif
],
qt_cv_libname=$1,
)
LIBS="$SAVE_LIBS"
])
dnl check we can do a compile
AC_DEFUN([QT_CHECK_COMPILE],
[
AC_MSG_CHECKING([for Qt library name])
AC_CACHE_VAL(qt_cv_libname,
[
AC_LANG_CPLUSPLUS
SAVE_CXXFLAGS=$CXXFLAGS
CXXFLAGS="$CXXFLAGS $QT_INCLUDES $QT_LDFLAGS"
for libname in -lqt-mt -lqt3 -lqt2 -lqt;
do
QT_TRY_LINK($libname)
if test -n "$qt_cv_libname"; then
break;
fi
done
CXXFLAGS=$SAVE_CXXFLAGS
])
if test -z "$qt_cv_libname"; then
AC_MSG_RESULT([failed])
if test "$FATAL" = 1 ; then
AC_MSG_ERROR([Cannot compile a simple Qt executable. Check you have the right \$QTDIR !])
fi
else
AC_MSG_RESULT([$qt_cv_libname])
fi
])
dnl get Qt version we're using
AC_DEFUN([QT_GET_VERSION],
[
AC_CACHE_CHECK([Qt version],lyx_cv_qtversion,
[
AC_LANG_CPLUSPLUS
SAVE_CPPFLAGS=$CPPFLAGS
CPPFLAGS="$CPPFLAGS $QT_INCLUDES"
cat > conftest.$ac_ext <<EOF
#line __oline__ "configure"
#include "confdefs.h"
#include <qglobal.h>
"%%%"QT_VERSION_STR"%%%"
EOF
lyx_cv_qtversion=`(eval "$ac_cpp conftest.$ac_ext") 2>&5 | \
grep '^"%%%"' 2>/dev/null | \
sed -e 's/"%%%"//g' -e 's/"//g'`
rm -f conftest.$ac_ext
CPPFLAGS=$SAVE_CPPFLAGS
])
QT_VERSION=$lyx_cv_qtversion
AC_SUBST(QT_VERSION)
])
dnl start here
AC_DEFUN([QT_DO_IT_ALL],
[
dnl Please leave this alone. I use this file in
dnl oprofile.
FATAL=0
AC_ARG_WITH(qt-dir, [ --with-qt-dir where the root of Qt is installed ],
[ qt_cv_dir=`eval echo "$withval"/` ])
AC_ARG_WITH(qt-includes, [ --with-qt-includes where the Qt includes are. ],
[ qt_cv_includes=`eval echo "$withval"` ])
AC_ARG_WITH(qt-libraries, [ --with-qt-libraries where the Qt library is installed.],
[ qt_cv_libraries=`eval echo "$withval"` ])
dnl pay attention to $QTDIR unless overridden
if test -z "$qt_cv_dir"; then
qt_cv_dir=$QTDIR
fi
dnl derive inc/lib if needed
if test -n "$qt_cv_dir"; then
if test -z "$qt_cv_includes"; then
qt_cv_includes=$qt_cv_dir/include
fi
if test -z "$qt_cv_libraries"; then
qt_cv_libraries=$qt_cv_dir/lib
fi
fi
dnl flags for compilation
QT_INCLUDES=
QT_LDFLAGS=
if test -n "$qt_cv_includes"; then
QT_INCLUDES="-I$qt_cv_includes"
fi
if test -n "$qt_cv_libraries"; then
QT_LDFLAGS="-L$qt_cv_libraries"
fi
AC_SUBST(QT_INCLUDES)
AC_SUBST(QT_LDFLAGS)
QT_FIND_MOC
MOC=$ac_moc
AC_SUBST(MOC)
QT_FIND_UIC
UIC=$ac_uic
AC_SUBST(UIC)
QT_CHECK_COMPILE
QT_LIB=$qt_cv_libname;
AC_SUBST(QT_LIB)
if test -n "$qt_cv_libname"; then
QT_GET_VERSION
fi
])
dnl AX_CXXFLAGS_OPTIONS(var-name, option)
dnl add option to var-name if $CXX support it.
AC_DEFUN([AX_CHECK_PRECOMPILED_HEADER], [
AC_MSG_CHECKING([whether ${CXX} support precompiled header])
AC_LANG_SAVE
AC_LANG_CPLUSPLUS
SAVE_CXXFLAGS=$CXXFLAGS
dnl we consider than if -Winvalid-pch is accepted pch will works ...
CXXFLAGS=-Winvalid-pch
dnl but we don't want -Winvalid-pch else compilation will fail due -Werror and
dnl the fact than some pch will be invalid for the given compilation option
AC_TRY_COMPILE(,[;],AC_MSG_RESULT([yes]); $1="${$1} -include bits/stdc++.h", AC_MSG_RESULT([no]))
CXXFLAGS=$SAVE_CXXFLAGS
AC_LANG_RESTORE
])
dnl AX_CHECK_DOCBOOK
AC_DEFUN([AX_CHECK_DOCBOOK], [
# It's just rude to go over the net to build
XSLTPROC_FLAGS=--nonet
DOCBOOK_ROOT=
if test ! -f /etc/xml/catalog; then
for i in /usr/share/sgml/docbook/stylesheet/xsl/nwalsh /usr/share/sgml/docbook/xsl-stylesheets/;
do
if test -d "$i"; then
DOCBOOK_ROOT=$i
fi
done
# Last resort - try net
if test -z "$DOCBOOK_ROOT"; then
XSLTPROC_FLAGS=
fi
else
XML_CATALOG=/etc/xml/catalog
CAT_ENTRY_START='<!--'
CAT_ENTRY_END='-->'
fi
AC_CHECK_PROG(XSLTPROC,xsltproc,xsltproc,)
XSLTPROC_WORKS=no
if test -n "$XSLTPROC"; then
AC_MSG_CHECKING([whether xsltproc works])
if test -n "$XML_CATALOG"; then
DB_FILE="http://docbook.sourceforge.net/release/xsl/current/xhtml/docbook.xsl"
else
DB_FILE="$DOCBOOK_ROOT/docbook.xsl"
fi
$XSLTPROC $XSLTPROC_FLAGS $DB_FILE >/dev/null 2>&1 << END
<?xml version="1.0" encoding='ISO-8859-1'?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
<book id="test">
</book>
END
if test "$?" = 0; then
XSLTPROC_WORKS=yes
fi
AC_MSG_RESULT($XSLTPROC_WORKS)
fi
AM_CONDITIONAL(have_xsltproc, test "$XSLTPROC_WORKS" = "yes")
AC_SUBST(XML_CATALOG)
AC_SUBST(XSLTPROC_FLAGS)
AC_SUBST(DOCBOOK_ROOT)
AC_SUBST(CAT_ENTRY_START)
AC_SUBST(CAT_ENTRY_END)
])
dnl AX_CFLAGS_OPTIONS(var-name, option)
dnl add option to var-name if $CC support it.
AC_DEFUN([AX_CFLAGS_OPTION], [
AC_MSG_CHECKING([whether ${CC} $2 is understood])
AC_LANG_SAVE
AC_LANG_C
SAVE_CFLAGS=$CFLAGS
CFLAGS=$2
AC_TRY_COMPILE(,[;],AC_MSG_RESULT([yes]); $1="${$1} $2",AC_MSG_RESULT([no]))
CFLAGS=$SAVE_CFLAGS
AC_LANG_RESTORE
])
dnl AX_CXXFLAGS_OPTIONS(var-name, option)
dnl add option to var-name if $CXX support it.
AC_DEFUN([AX_CXXFLAGS_OPTION], [
AC_MSG_CHECKING([whether ${CXX} $2 is understood])
AC_LANG_SAVE
AC_LANG_CPLUSPLUS
SAVE_CXXFLAGS=$CXXFLAGS
CXXFLAGS=$2
AC_TRY_COMPILE(,[;],AC_MSG_RESULT([yes]); $1="${$1} $2",AC_MSG_RESULT([no]))
CXXFLAGS=$SAVE_CXXFLAGS
AC_LANG_RESTORE
])
dnl AX_COPY_IF_CHANGE(source, dest)
dnl copy source to dest if they don't compare equally or if dest doesn't exist
AC_DEFUN([AX_COPY_IF_CHANGE], [
if test -r $2; then
if cmp $1 $2 > /dev/null; then
echo $2 is unchanged
else
cp -f $1 $2
fi
else
cp -f $1 $2
fi
])
@@ -0,0 +1,29 @@
disable portions which use query_module on 2.6 kernel this is not available
in OE we dont support 2.4 anyway
Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Index: oprofile-0.9.6/daemon/liblegacy/opd_kernel.c
===================================================================
--- oprofile-0.9.6.orig/daemon/liblegacy/opd_kernel.c 2009-11-24 07:25:17.000000000 -0800
+++ oprofile-0.9.6/daemon/liblegacy/opd_kernel.c 2011-07-18 10:08:39.863798825 -0700
@@ -270,6 +270,9 @@
*/
static void opd_drop_module_sample(unsigned long eip)
{
+ verbprintf(vmodule, "query_module not available on linux-2.6: %s\n", strerror(EPERM));
+
+#if 0
char * module_names;
char * name;
size_t size = 1024;
@@ -307,6 +310,7 @@
if (module_names)
free(module_names);
+#endif
}
@@ -0,0 +1,237 @@
Upstream-Status: Pending
Index: oprofile/utils/Makefile.am
===================================================================
--- oprofile.orig/utils/Makefile.am 2005-03-31 18:20:41.000000000 +0100
+++ oprofile/utils/Makefile.am 2008-07-02 15:14:07.000000000 +0100
@@ -3,8 +3,15 @@
LIBS=@POPT_LIBS@ @LIBERTY_LIBS@
-bin_PROGRAMS = ophelp
+bin_PROGRAMS = ophelp opstart
dist_bin_SCRIPTS = opcontrol
ophelp_SOURCES = ophelp.c
ophelp_LDADD = ../libop/libop.a ../libutil/libutil.a
+
+opstart_SOURCES = opstart.c
+
+install-exec-local:
+ cd $(DESTDIR)/$(bindir) && \
+ rm -f opstop && \
+ $(LN_S) opstart opstop
Index: oprofile/utils/opstart.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ oprofile/utils/opstart.c 2008-07-02 15:14:07.000000000 +0100
@@ -0,0 +1,110 @@
+/**
+ * @file opstart.c
+ * Start/Stop oprofile
+ *
+ * @remark Copyright 2007 Openedhand Ltd.
+ * @remark Read the file COPYING
+ *
+ * @author Richard Purdie
+ */
+
+#include <signal.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+
+int main(const int argc, const char* argv[])
+{
+ const char *enable = "/dev/oprofile/enable";
+ const char *lockfile;
+ unsigned long dpid;
+ struct stat sbuf;
+ FILE *lfile, *efile;
+ int sig, enb, err;
+
+ if (argc >= 2) {
+ printf("Error: Invalid options.\n");
+ return 1;
+ }
+
+ lockfile = getenv("LOCK_FILE");
+ if (!lockfile)
+ lockfile = "/var/lib/oprofile/lock";
+
+ /* Add SESSION_DIR support? */
+
+ if (geteuid()) {
+ printf("Error: This program must be run as root.\n");
+ return 1;
+ }
+
+ if (stat(enable, &sbuf)) {
+ printf("Error: Could not find /dev/oprofile/enable, the"
+ " kernel module probably isn't loaded.\n");
+ printf("This binary only works with 2.6 kernels and oprofile"
+ " must have been initialised with 'opcontrol --start-daemon'.\n");
+ return 1;
+ }
+
+ if (stat(lockfile, &sbuf)) {
+ printf("Error: Could not find lockfile %s.\n", lockfile);
+ printf("The oprofile daemon must be running (oprofile must"
+ " have been initialised with 'opcontrol --start-daemon').\n");
+ return 1;
+ }
+
+ lfile = fopen(lockfile, "r");
+ if (!lfile) {
+ printf("Error opening lockfile %s.\n", lockfile);
+ return 1;
+ }
+
+ err = fscanf(lfile, "%lud", (unsigned long *) &dpid);
+ if (err != 1) {
+ printf("Error reading pid from lockfile %s.\n", lockfile);
+ return 1;
+ }
+ fclose(lfile);
+
+ efile = fopen(enable, "r");
+ if (!efile) {
+ printf("Error opening %s.\n", enable);
+ return 1;
+ }
+
+ if (strstr(argv[0], "opstart")) {
+ printf("Starting Profiler\n");
+ sig = SIGUSR1;
+ enb = 1;
+ } else if (strstr(argv[0], "opstop")) {
+ printf("Stopping Oprofile.\n");
+ printf("You need to run 'opcontrol --dump' when the session"
+ " is finished.\n");
+ sig = SIGUSR2;
+ enb = 0;
+ } else {
+ printf("Error: Please call as 'opstart' or 'opstop'\n");
+ return 1;
+ }
+
+ err = kill(dpid, 0);
+ if (err) {
+ printf("Error sending signal to oprofiled. Stale lockfile"
+ " (%s) ?\n", lockfile);
+ return 1;
+ }
+
+ fprintf(efile, "%d\n", enb);
+ err = kill(dpid, sig);
+ if (err) {
+ printf("Error sending signal to oprofiled. Stale lockfile"
+ " (%s) ?\n", lockfile);
+ return 1;
+ }
+
+ return 0;
+}
+
Index: oprofile/configure.in
===================================================================
--- oprofile.orig/configure.in 2008-07-02 15:13:58.000000000 +0100
+++ oprofile/configure.in 2008-07-02 15:17:37.000000000 +0100
@@ -16,6 +16,7 @@
AM_CONFIG_HEADER(config.h)
AC_PROG_RANLIB
+AC_PROG_LN_S
AC_PROG_LIBTOOL
dnl for the man page
@@ -241,6 +242,8 @@
doc/xsl/catalog-1.xml \
doc/oprofile.1 \
doc/opcontrol.1 \
+ doc/opstart.1 \
+ doc/opstop.1 \
doc/ophelp.1 \
doc/opreport.1 \
doc/opannotate.1 \
Index: oprofile/doc/Makefile.am
===================================================================
--- oprofile.orig/doc/Makefile.am 2008-07-02 15:13:59.000000000 +0100
+++ oprofile/doc/Makefile.am 2008-07-02 15:14:07.000000000 +0100
@@ -11,6 +11,8 @@
man_MANS = \
oprofile.1 \
opcontrol.1 \
+ opstart.1 \
+ opstop.1 \
opreport.1 \
opannotate.1 \
opgprof.1 \
Index: oprofile/doc/opstart.1.in
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ oprofile/doc/opstart.1.in 2008-07-02 15:14:07.000000000 +0100
@@ -0,0 +1,27 @@
+.TH OPSTART 1 "@DATE@" "oprofile @VERSION@"
+.UC 4
+.SH NAME
+opstart \- start OProfile profiling
+.SH SYNOPSIS
+.br
+.B opstart
+.SH DESCRIPTION
+.B opstart
+is a simple optimised command to start profiling with 2.6 Linux kernels.
+OProfile should have already been initialised by calling "opcontrol --start-daemon".
+
+.SH ENVIRONMENT
+No special environment variables are recognised by opstart.
+
+.SH FILES
+.TP
+.I /var/lib/oprofile/samples/
+The location of the generated sample files.
+
+.SH VERSION
+.TP
+This man page is current for @PACKAGE@-@VERSION@.
+
+.SH SEE ALSO
+.BR @OP_DOCDIR@,
+.BR oprofile(1)
Index: oprofile/doc/opstop.1.in
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ oprofile/doc/opstop.1.in 2008-07-02 15:14:07.000000000 +0100
@@ -0,0 +1,28 @@
+.TH OPSTOP 1 "@DATE@" "oprofile @VERSION@"
+.UC 4
+.SH NAME
+opstop \- stop OProfile profiling
+.SH SYNOPSIS
+.br
+.B opstop
+.SH DESCRIPTION
+.B opstop
+is a simple optimsed command to stop profiling with 2.6 Linux kernels.
+You need to run "opcontrol --dump" before being able to view a profile
+with opreport.
+
+.SH ENVIRONMENT
+No special environment variables are recognised by opstop.
+
+.SH FILES
+.TP
+.I /var/lib/oprofile/samples/
+The location of the generated sample files.
+
+.SH VERSION
+.TP
+This man page is current for @PACKAGE@-@VERSION@.
+
+.SH SEE ALSO
+.BR @OP_DOCDIR@,
+.BR oprofile(1)
@@ -0,0 +1,11 @@
require oprofile.inc
PR = "${INC_PR}.0"
SRC_URI += "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz"
SRC_URI[md5sum] = "8b5d1d9b65f84420bcc3234777ad3be3"
SRC_URI[sha256sum] = "cb5b507d5dea058d223fcad3cec8ff9638a4163106afd66d176798bbd973d527"
S = "${WORKDIR}/oprofile-${PV}"
@@ -0,0 +1,11 @@
require oprofile.inc
SRCREV = "88f43190d412d28ebf5c75a76ba20343d0fe4c41"
PV = "0.9.7+git${SRCPV}"
PR = "${INC_PR}.0"
SRC_URI += "git://oprofile.git.sourceforge.net/gitroot/${BPN}/${BPN};protocol=git"
S = "${WORKDIR}/git"
DEFAULT_PREFERENCE = "-1"
@@ -0,0 +1,23 @@
SUMMARY = "User Interface for the System-Wide Profiler"
DESCRIPTION = "User interface for the OProfile tool"
HOMEPAGE = "http://labs.o-hand.com/oprofileui/"
BUGTRACKER = "http://bugzilla.o-hand.com/"
SECTION = "x11"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
DEPENDS = "glib-2.0 gtk+ libglade libxml2 avahi-ui gconf"
inherit autotools pkgconfig gtk-icon-cache
PACKAGES =+ "oprofileui-server oprofileui-viewer"
EXTRA_OECONF = "--with-avahi"
FILES_oprofileui-viewer = "${bindir}/oparchconv ${bindir}/oprofile-viewer ${datadir}/applications/ ${datadir}/oprofileui/"
RDEPENDS_oprofile-viewer = "oprofile"
FILES_oprofileui-server = "${bindir}/oprofile-server"
RDEPENDS_oprofile-server = "oprofile"
@@ -0,0 +1,10 @@
require oprofileui.inc
SRCREV = "82ecf8c6b53b84f80682a8312f9defa83a95f2a3"
PV = "0.0+git${SRCPV}"
PR = "r0"
S = "${WORKDIR}/git"
# Oprofileui at http://labs.o-hand.com/oprofileui/ is not maintained now.
SRC_URI = "git://git.yoctoproject.org/oprofileui;protocol=git"
@@ -0,0 +1,33 @@
Upstream-Status: Inappropriate [this patch is 1.13 specific and 2.0 will be coming.]
Running PowerTop in Poky in dump mode (with --dump) always ends with a
segmentation fault.
The cause is: in dump mode, setup_windows() is not invoked so the
*_window variables, like cstate_window, are still NULL; later in
main() -> show_cstates(), the functions, like wrefresh(), will trigger
segfault.
After discussing in PowerTop mailling list, I think the right solution is
we should stub out the ncurses calls in dump mode.
(The patch was also sent to upstream PowerTop mailling list.)
Signed-off-by Dexuan Cui <dexuan.cui@intel.com>, 2010-08-20
(this patch is licensed under GPLv2)
--- a/display.c
+++ b/display.c
@@ -44,6 +44,12 @@
static WINDOW *status_bar_window;
#define print(win, y, x, fmt, args...) do { if (dump) printf(fmt, ## args); else mvwprintw(win, y, x, fmt, ## args); } while (0)
+#define wattrset(win, c) do { if (!dump ) wattrset(win, c); } while (0)
+#define wbkgd(win, c) do { if (!dump ) wbkgd(win, c); } while (0)
+#define werase(win) do { if (!dump ) werase(win); } while (0)
+#define wrefresh(win) do { if (!dump ) wrefresh(win); } while (0)
+#define wattron(win, a) do { if (!dump ) wattron(win, a); } while (0)
+#define wattroff(win, a) do { if (!dump ) wattroff(win, a); } while (0)
char status_bar_slots[10][40];
@@ -0,0 +1,42 @@
SUMMARY = "Power usage tool"
DESCRIPTION = "PowerTOP, a tool that helps you find what software is using the most power."
HOMEPAGE = "http://www.lesswatts.org/"
BUGTRACKER = "http://bugzilla.lesswatts.org/"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
DEPENDS = "virtual/libintl ncurses"
# powertop 1.13 needs lspci
RDEPENDS_${PN} = "pciutils"
PR = "r2"
SRC_URI = "http://www.lesswatts.org/projects/powertop/download/powertop-${PV}.tar.gz \
file://stub_out_the_ncurses_calls_in_dump_mode.patch \
"
SRC_URI[md5sum] = "78aa17c8f55178004223bf236654298e"
SRC_URI[sha256sum] = "2bc866089496877dd26d2d316ad5763ab8ecb5e28aefba44bc5d355dcdc58d98"
CFLAGS += "${LDFLAGS}"
EXTRA_OEMAKE = "VERSION=\"${PV}\" EXTRA_LIBS=${EXTRA_LIBS}"
EXTRA_LIBS_libc-uclibc = "-lintl"
inherit update-alternatives
ALTERNATIVE_NAME = "powertop"
ALTERNATIVE_PATH = "${bindir}/powertop"
ALTERNATIVE_LINK = "${base_bindir}/powertop"
ALTERNATIVE_PRIORITY = "100"
do_configure() {
# We do not build ncurses with wide char support
sed -i -e 's:lncursesw:lncurses ${EXTRA_LIBS}:g' ${S}/Makefile
}
do_install() {
oe_runmake install DESTDIR=${D}
}
@@ -0,0 +1,35 @@
Upstream-Status: Backport
From 4708a509aa9d65ae93e9824e42ddbc6e8d42d90c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michel=20D=C3=A4nzer?= <michel@daenzer.net>
Date: Sat, 27 Aug 2011 20:04:44 +0200
Subject: [PATCH] Fix PowerPC checks for __NR_perf_counter_open.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
__ppc__ isn't defined here on Debian powerpc. Grepping through the headers
installed in /usr/include, there are a few references to __ppc__ and
__ppc64__, but I suspect they're for other OSs.
Signed-off-by: Michel Dänzer <michel@daenzer.net>
---
collector.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/collector.c b/collector.c
index b28964f..fe16967 100644
--- a/collector.c
+++ b/collector.c
@@ -175,7 +175,7 @@ sysprof_perf_counter_open (struct perf_counter_attr *attr,
#define __NR_perf_counter_open 337
#elif defined(__hppa__)
#define __NR_perf_counter_open 318
-#elif defined(__ppc__) || defined(__ppc64__)
+#elif defined(__powerpc__) || defined(__powerpc64__)
#define __NR_perf_counter_open 319
#elif defined(__s390__)
#define __NR_perf_counter_open 331
--
1.7.6.1
@@ -0,0 +1,22 @@
On uclibc elf.h does not have GNU extentions but we need this define
so we define it locally if its not getting it from elf.h
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Upstream-Status: Pending
Index: git/elfparser.h
===================================================================
--- git.orig/elfparser.h 2011-07-16 18:57:41.000000000 -0700
+++ git/elfparser.h 2011-07-16 20:28:54.733829895 -0700
@@ -17,6 +17,10 @@
*/
#include <glib.h>
+#ifndef NT_GNU_BUILD_ID
+#define NT_GNU_BUILD_ID 3
+#endif
+
typedef struct ElfSym ElfSym;
typedef struct ElfParser ElfParser;
@@ -0,0 +1,21 @@
Upstream-Status: Pending
Index: git/util.h
===================================================================
--- git.orig/util.h 2010-12-07 22:41:57.156243001 -0600
+++ git/util.h 2010-12-07 22:43:47.616243002 -0600
@@ -37,4 +37,13 @@
#define cpu_relax() asm volatile("" ::: "memory");
#endif
+#ifdef __arm__
+/*
+ * Use the __kuser_memory_barrier helper in the CPU helper page. See
+ * arch/arm/kernel/entry-armv.S in the kernel source for details.
+ */
+#define rmb() ((void(*)(void))0xffff0fa0)()
+#define cpu_relax() asm volatile("":::"memory")
+#endif
+
#endif
@@ -0,0 +1,22 @@
Upstream-Status: Pending
Index: git/util.h
===================================================================
--- git.orig/util.h 2010-12-08 01:22:44.486243001 -0600
+++ git/util.h 2010-12-08 01:23:27.836243001 -0600
@@ -37,4 +37,15 @@
#define cpu_relax() asm volatile("" ::: "memory");
#endif
+#ifdef __mips__
+#define rmb() asm volatile( \
+ ".set mips2\n\t" \
+ "sync\n\t" \
+ ".set mips0" \
+ : /* no output */ \
+ : /* no input */ \
+ : "memory")
+#define cpu_relax() asm volatile("" ::: "memory")
+#endif
+
#endif
@@ -0,0 +1,21 @@
DESCRIPTION = "sysprof - System-wide Performance Profiler for Linux"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
DEPENDS = "gtk+ libglade"
SRCREV = "4692f85f625f4fd969cef4ab5dc47cc4655c87f9"
PR = "r2"
PV = "1.1.8+git${SRCPV}"
SRC_URI = "git://git.gnome.org/sysprof;protocol=git \
file://define-NT_GNU_BUILD_ID.patch \
file://0001-Fix-PowerPC-checks-for-__NR_perf_counter_open.patch \
"
SRC_URI_append_arm = " file://rmb-arm.patch"
SRC_URI_append_mips = " file://rmb-mips.patch"
S = "${WORKDIR}/git"
inherit autotools
@@ -0,0 +1,31 @@
DESCRIPTION = "SystemTap - script-directed dynamic tracing and performance analysis tool for Linux"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
DEPENDS = "elfutils sqlite3"
SRCREV = "820f2d22fc47fad6e09ba886efb9b91e1247cb39"
PR = "r2"
PV = "1.6+git${SRCPV}"
SRC_URI = "git://sources.redhat.com/git/systemtap.git;protocol=git"
EXTRA_OECONF += "--with-libelf=${STAGING_DIR_TARGET} --without-rpm \
ac_cv_file__usr_include_nss=no \
ac_cv_file__usr_include_nss3=no \
ac_cv_file__usr_include_nspr=no \
ac_cv_file__usr_include_nspr4=no \
ac_cv_file__usr_include_avahi_client=no \
ac_cv_file__usr_include_avahi_common=no "
SRC_URI[md5sum] = "cb202866ed704c44a876d041f788bdee"
SRC_URI[sha256sum] = "8ffe35caec0d937bd23fd78a3a8d94b58907cc0de0330b35e38f9f764815c459"
# systemtap doesn't support mips
COMPATIBLE_HOST = '(x86_64.*|i.86.*|powerpc.*|arm.*)-linux'
S = "${WORKDIR}/git"
inherit autotools gettext
FILES_${PN}-dbg += "${libexecdir}/systemtap/.debug"
@@ -0,0 +1,30 @@
DESCRIPTION = "Graphical trace viewer for Ftrace"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe \
file://kernel-shark.c;beginline=6;endline=8;md5=2c22c965a649ddd7973d7913c5634a5e"
SRCREV = "7055ffd37beeb44714e86a4abc703f7e175a0db5"
PR = "r1"
PV = "1.2+git${SRCPV}"
DEPENDS = "gtk+"
RDEPENDS_${PN} = "trace-cmd"
inherit pkgconfig
SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/trace-cmd.git;protocol=git \
file://addldflags.patch \
file://make-docs-optional.patch \
file://blktrace-api-compatibility.patch"
S = "${WORKDIR}/git"
EXTRA_OEMAKE = "'CC=${CC}' 'AR=${AR}' 'prefix=${prefix}' gui"
FILES_${PN} += "${datadir}/trace-cmd/plugins/*.so"
FILES_${PN}-dbg += "${datadir}/trace-cmd/plugins/.debug/"
FILESPATH = "${FILE_DIRNAME}/trace-cmd"
do_install() {
oe_runmake CC="${CC}" AR="${AR}" prefix="${prefix}" DESTDIR="${D}" install_gui
}
@@ -0,0 +1,51 @@
trace-cmd: Cross-compile fixes for LDFLAGS and include path
Add ability for the Makefile to respect LDFLAGS.
Also remove hardcoded /usr/local/include include path.
Upstream-Status: Accepted [Post 1.2: 5f576e9af7ad706774d9764a9ae3989376797c0e]
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Darren Hart <dvhart@linux.intel.com>
---
Makefile | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
Index: git/Makefile
===================================================================
--- git.orig/Makefile
+++ git/Makefile
@@ -202,12 +202,13 @@ export Q VERBOSE
TRACECMD_VERSION = $(TC_VERSION).$(TC_PATCHLEVEL).$(TC_EXTRAVERSION)
KERNELSHARK_VERSION = $(KS_VERSION).$(KS_PATCHLEVEL).$(KS_EXTRAVERSION)
-INCLUDES = -I. -I/usr/local/include $(CONFIG_INCLUDES)
+INCLUDES = -I. $(CONFIG_INCLUDES)
include features.mk
# Set compile option CFLAGS if not set elsewhere
CFLAGS ?= -g -Wall
+LDFLAGS ?=
ifndef NO_PTRACE
ifneq ($(call try-cc,$(SOURCE_PTRACE),),y)
@@ -251,7 +252,7 @@ do_fpic_compile = \
do_app_build = \
($(print_app_build) \
- $(CC) $^ -rdynamic -o $@ $(CONFIG_LIBS) $(LIBS))
+ $(CC) $^ -rdynamic -o $@ $(LDFLAGS) $(CONFIG_LIBS) $(LIBS))
do_compile_shared_library = \
($(print_shared_lib_compile) \
@@ -263,7 +264,7 @@ do_compile_plugin_obj = \
do_plugin_build = \
($(print_plugin_build) \
- $(CC) $(CFLAGS) -shared -nostartfiles -o $@ $<)
+ $(CC) $(CFLAGS) $(LDFLAGS) -shared -nostartfiles -o $@ $<)
do_build_static_lib = \
($(print_static_lib_build) \
@@ -0,0 +1,29 @@
trace-cmd: Add blktrace_api compatibility for TC_BARRIER
Newer kernels replace TC_BARRIER with TC_FLUSH. Ensure trace-cmd
can build regardless of the linux-kernel-headers version.
Upstream-Status: Innapropriate [Stop gap]
Signed-off-by: Darren Hart <dvhart@linux.intel.com>
diff --git a/plugin_blk.c b/plugin_blk.c
index 9327b17..c8e5e1c 100644
--- a/plugin_blk.c
+++ b/plugin_blk.c
@@ -44,6 +44,15 @@ struct blk_data {
unsigned short pdu_len;
};
+/*
+ * Newer kernels don't define BLK_TC_BARRIER and have replaced it with
+ * BLK_TC_FLUSH. In this case, define it here and report FLUSHES as BARRIERS as
+ * a workaround, as described in:
+ * http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commit;h=c09c47caedc9854d59378d6e34c989e51cfdd2b4
+ */
+#ifndef BLK_TC_BARRIER
+#define BLK_TC_BARRIER 1<<2
+#endif
static void fill_rwbs(char *rwbs, int action, unsigned int bytes)
{
int i = 0;
@@ -0,0 +1,36 @@
Disable building docs until we have asciidocs available as a recipe.
Upstream-Status: Inappropriate [Account for missing dependency, the lazy way]
Signed-off-by: Darren Hart <dvhart@linux.intel.com>
---
Makefile | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
Index: git/Makefile
===================================================================
--- git.orig/Makefile
+++ git/Makefile
@@ -327,7 +327,9 @@ TARGETS = $(CMD_TARGETS) $(GUI_TARGETS)
# If you want kernelshark, then do: make gui
###
-all: all_cmd doc show_gui_make
+# Make doc optional
+#all: all_cmd doc show_gui_make
+all: all_cmd show_gui_make
all_cmd: $(CMD_TARGETS)
@@ -503,7 +505,9 @@ install_python: $(PYTHON_SO_INSTALL) $(P
install_cmd: all_cmd install_plugins install_python
$(Q)$(call do_install,trace-cmd,$(bindir_SQ))
-install: install_cmd install_doc
+# Make doc optional
+#install: install_cmd install_doc
+install: install_cmd
@echo "Note: to install the gui, type \"make install_gui\""
install_gui: install_cmd gui
@@ -0,0 +1,24 @@
DESCRIPTION = "User interface to Ftrace"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe \
file://trace-cmd.c;beginline=6;endline=8;md5=2c22c965a649ddd7973d7913c5634a5e"
SRCREV = "7055ffd37beeb44714e86a4abc703f7e175a0db5"
PR = "r1"
PV = "1.2+git${SRCPV}"
inherit pkgconfig
SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/trace-cmd.git;protocol=git \
file://addldflags.patch \
file://make-docs-optional.patch \
file://trace-cmd/blktrace-api-compatibility.patch"
S = "${WORKDIR}/git"
EXTRA_OEMAKE = "'prefix=${prefix}'"
FILES_${PN}-dbg += "${datadir}/trace-cmd/plugins/.debug/"
do_install() {
oe_runmake prefix="${prefix}" DESTDIR="${D}" install
}
@@ -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.
@@ -0,0 +1,198 @@
#!/bin/sh
#
# This is the update-modules script for Debian GNU/Linux.
# Copyright 1998-2001 Wichert Akkerman <wakkerma@debian.org>
# Licensed under the GNU GPL, version 2
#
MODCONFFILE=/etc/modules.conf
MODCONFTMPFILE="${MODCONFFILE}.$$"
MODULESFILE=/etc/modules
MODULESTMPFILE="${MODULESFILE}.$$"
ARCHDIR=/etc/modutils/arch
CPUDIR=/etc/modutils/cpu
HEADER="### This file is automatically generated by update-modules"
set -e
if [ "$1" = "force" ] ; then
force=1
else
force=
fi
# Reset the sorting order since we depend on it
LC_COLLATE=C
export LC_COLLATE
depdir()
{
dep=`grep '[[:space:]]*depfile' "${MODCONFFILE}" | tail -n 1 | sed -e 's/depfile=//' -e 's,/[^/]*$,,'`
if [ -z "$dep" ] ; then
dep="/lib/modules/`uname -r`"
fi
echo $dep
}
arch() {
local model=`uname -m`
case $model in
i[0-9]86) model=i386; ;;
sun4u) model=sparc64; ;;
arm*) model=arm; ;;
ppc) model=powerpc; ;;
esac
echo $model
}
archmodel() {
local arch=`arch`
local model=""
if [ $arch = "m68k" ]; then
if [ -f /proc/hardware ]; then
model=`sed -ne 's/^Model:[[:space:]]*//p' /proc/hardware`
case $model in
Atari*) model="atari"; ;;
Amiga*) model="amiga"; ;;
Macintosh*) model="mac"; ;;
Motorola*) model="MVME"; ;;
*) model="generic"; ;;
esac
model=".${model}"
else
echo "/proc/hardware does not exist, assuming general m68k system"
model=".generic"
fi
elif [ $arch = "powerpc" ]; then
if [ -f /proc/cpuinfo ]; then
model=`sed -ne 's/^machine[[:space:]]*:[[:space:]]*//p' /proc/cpuinfo`
case $model in
Amiga*) model="apus"; ;;
Power*) model="pmac"; ;;
*) model="generic"; ;;
esac
model=".${model}"
else
echo "/proc/cpuinfo does not exist, assuming general powerpc system"
model=".generic"
fi
fi
echo "${arch}${model}"
}
checkoverwrite() {
local cfgfile="$1"
if [ -f "$cfgfile" ]; then
if ! sed -ne 1p "$cfgfile" | grep -q "^$HEADER" ; then
echo "Error: the current $cfgfile is not automatically generated." >&2
if [ -z "$force" ]; then
echo "Use \"update-modules force\" to force (re)generation."
exit 1
else
echo "force specified, (re)generating file anyway."
fi
fi
fi
}
createfile() {
cat <<EOF > "$1"
$HEADER"
#
# Please do not edit this file directly. If you want to change or add
# anything please take a look at the files in /etc/modutils and read
# the manpage for update-modules.
#
EOF
}
addfile() {
local src="$1"
local tgt="$2"
echo "### update-modules: start processing $src" >> "$tgt"
if [ -x "$src" ]; then
if ! "$src" >> "$tgt" ; then
echo "Error while executing $src, aborting" >&2
exit 1
fi
else
cat "$src" >> "$tgt"
fi
cat <<EOF >> "$tgt"
### update-modules: end processing $cfg
EOF
}
checkoverwrite "$MODCONFFILE"
if [ 0 -ne "`id -u`" ]; then
echo "You have to be root to do this." >&2
exit 2
fi
model=`archmodel`
oldmodel=$model
while [ ! -f "${ARCHDIR}/${model}" ]; do
oldmodel=$model
model=`echo $oldmodel | sed -e 's/\.[^.]\+//'`
if [ "$model" = "$oldmodel" ]; then
break
fi
echo "Configuration for $oldmodel not found, trying $model"
done
CONF="${ARCHDIR}/${model}"
if [ ! -f "$CONF" ]; then
## echo "Architecture-specific modutils configuration not found, using defaults"
CONF="${ARCHDIR}/generic"
fi
[ -e "$MODCONFFILE" ] && cp -f "$MODCONFFILE" "${MODCONFFILE}.old"
createfile "$MODCONFTMPFILE"
createfile "$MODULESTMPFILE"
for cfg in /etc/modutils/* $CONF ; do
if [ -f "$cfg" ]; then # this check is necesarry to skip /etc/modutils/archs
if echo $cfg | grep -q '\.dpkg-[a-z]*\|~$' ; then
true
elif echo $cfg | grep -q '\.conf$' ; then
addfile "$cfg" "$MODCONFTMPFILE"
else
addfile "$cfg" "$MODULESTMPFILE"
fi
fi
done
first_time=0
if [ ! -f $MODULESFILE ]; then
first_time=1
fi
mv "$MODCONFTMPFILE" "$MODCONFFILE"
mv "$MODULESTMPFILE" "$MODULESFILE"
# Don't run modutils.sh if systemd is installed
if [ $first_time -eq 1 ] && [ ! -e /bin/systemctl ]; then
/etc/init.d/modutils.sh || true
fi
# We also call depmod here to stop insmod from complaining that modules.conf
# is more recent then modules.dep
#
if [ -d "`depdir`" -a -f /proc/modules ]
then
depmod -A || true
fi
exit 0
@@ -0,0 +1,26 @@
DESCRIPTION = "script to manage module configuration files."
SECTION = "base"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://${WORKDIR}/COPYING.GPL;md5=751419260aa954499f7abaabaa882bbe"
RDEPENDS_${PN} = "module-init-tools-depmod"
PR = "r12"
SRC_URI = "file://update-modules \
file://COPYING.GPL"
inherit allarch
pkg_postinst_${PN} () {
if [ "x$D" != "x" ]; then
exit 1
fi
update-modules
}
do_install() {
install -d ${D}${sbindir}
install ${WORKDIR}/update-modules ${D}${sbindir}
}