diff options
author | Alexander Kanavin <alexander.kanavin@linux.intel.com> | 2016-01-19 17:37:33 +0200 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2016-01-20 17:07:11 +0000 |
commit | a1790bcf83bafe5d93051c890f96196e32ff3be4 (patch) | |
tree | 768855ce52a8d4a4d0f0579eabd23e7f1531b7db /meta/recipes-devtools/bootchart2/bootchart2_0.14.8.bb | |
parent | 68c7113a746694e25df2ac5d86171ed96b7c2e94 (diff) | |
download | poky-a1790bcf83bafe5d93051c890f96196e32ff3be4.tar.gz |
bootchart2: update to 0.14.8
(From OE-Core rev: e9da2ea26483934a624d55139a84b4d2a2782fb0)
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-devtools/bootchart2/bootchart2_0.14.8.bb')
-rw-r--r-- | meta/recipes-devtools/bootchart2/bootchart2_0.14.8.bb | 155 |
1 files changed, 155 insertions, 0 deletions
diff --git a/meta/recipes-devtools/bootchart2/bootchart2_0.14.8.bb b/meta/recipes-devtools/bootchart2/bootchart2_0.14.8.bb new file mode 100644 index 0000000000..86c614a63b --- /dev/null +++ b/meta/recipes-devtools/bootchart2/bootchart2_0.14.8.bb | |||
@@ -0,0 +1,155 @@ | |||
1 | # Copyright (c) 2013 LG Electronics, Inc. | ||
2 | # Copyright (C) 2014 Intel Corp. | ||
3 | |||
4 | # This recipe creates packages for the bootchart2 system-wide profiler daemon | ||
5 | # and related utilities. Depending on the images you're building, additional | ||
6 | # configuration may be needed in order to use it. | ||
7 | # | ||
8 | # Packages: | ||
9 | # * bootchart2 - The daemon itself. | ||
10 | # * pybootchartgui - Python program to visualize and display the data | ||
11 | # collected by bootchart2 or compatible daemons such as the original | ||
12 | # bootchart. | ||
13 | # * bootchartd-stop-initscript - A SysV init script to stop data collection | ||
14 | # when booting completes (see below for details.) | ||
15 | # | ||
16 | # While bootchart2 is designed to stop collecting data roughly when the boot | ||
17 | # process completes, it is not exactly a stopwatch. It has a list of programs | ||
18 | # which are supposed signify that the boot process has completed (for example, | ||
19 | # openbox or gnome-shell,) but it waits a full 20 seconds after such a program | ||
20 | # is launched before stopping itself, to collect additional data. | ||
21 | # | ||
22 | # If you are using a window manager or GUI which isn't included in bootchart2's | ||
23 | # default configuration file, you should write bbappend file to amend | ||
24 | # bootchartd.conf and add it to EXIT_PROC. An example of this is shown in this | ||
25 | # recipe, where the Matchbox window manager (used by Sato) is added. | ||
26 | # | ||
27 | # If you want data collection to end at a certain point exactly, you should | ||
28 | # arrange for the following command to be run: | ||
29 | # bootchartd stop | ||
30 | # You might set this command to be launched by the desktop environment shipped | ||
31 | # on the image you're building after the other startup programs are complete. | ||
32 | # This will not incur the 20 second wait period and will cause bootchart2 to | ||
33 | # behave a bit more like a stopwatch. An example of this is shown in this | ||
34 | # recipe, specifically the bootchartd-stop-initscript package, which stops data | ||
35 | # collection as the last action when switching to runlevels 2 through 5. You can | ||
36 | # add bootchartd-stop-initscript to IMAGE_INSTALL if you need to use it. | ||
37 | # | ||
38 | # Unless you're doing something special, if your image does not launch an X | ||
39 | # window manager, you will need to add bootchartd-stop-initscript to your image. | ||
40 | # | ||
41 | # Bootchart2 can be started in two ways. Data collection can be initiated by | ||
42 | # running the following command: | ||
43 | # bootchartd start | ||
44 | # However, for the most complete data, the bootchart2 developers recommend | ||
45 | # running it as PID 1. This can be done by adding the following to the kernel | ||
46 | # command line parameters in the bootloader setup: | ||
47 | # init=/sbin/bootchartd | ||
48 | # When invoked this way, bootchart2 will set itself up and then automatically | ||
49 | # run /sbin/init. For example, when booting the default qemux86 image, one might | ||
50 | # use a command like this: | ||
51 | # runqemu qemux86 bootparams="initcall_debug printk.time=y quiet \ | ||
52 | # init=/sbin/bootchartd" | ||
53 | # | ||
54 | # Neither method is actually implemented here, choose what works for you. | ||
55 | # | ||
56 | # If you are building your image with systemd instead of SysV init, bootchart2 | ||
57 | # includes systemd service files to begin collection automatically at boot and | ||
58 | # end collection automatically 20 seconds after the boot process has completed. | ||
59 | # However, be aware that systemd tends to start bootchart2 relatively late into | ||
60 | # the boot process, so it's highly recommended to use bootchart2 as PID 1. If | ||
61 | # you're using systemd and you wish to use another method to stop data | ||
62 | # collection at a time of your choosing, you may do so as long as you get to it | ||
63 | # before the 20 second timeout of the systemd service files. Also, you may write | ||
64 | # a bbappend to patch bootchart2-done.timer.in to increase or decrease the | ||
65 | # timeout. Decreasing it to 0 will make it behave like | ||
66 | # bootchartd-stop-initscript. | ||
67 | # | ||
68 | # By default, when data collection is stopped, a file named bootchart.tgz will | ||
69 | # be created in /var/log. If pybootchartgui is included in your image, | ||
70 | # bootchart.png will also be created at the same time. However, this results in | ||
71 | # a noticeable hitch or pause at boot time, which may not be what you want on an | ||
72 | # embedded device. So you may prefer to omit pybootchartgui from your image. In | ||
73 | # that case, copy bootchart.tgz over to your development system and generate | ||
74 | # bootchart.png there. To get pybootchartgui on your development system, you can | ||
75 | # either install it directly from some other source, or build bootchart2-native | ||
76 | # and find pybootchartgui in the native sysroot: | ||
77 | # bitbake bootchart2-native | ||
78 | # ./tmp/sysroots/x86_64-linux/usr/bin/pybootchartgui /path/to/bootchart.tgz | ||
79 | # Note that, whether installed on your build system or on your image, the | ||
80 | # pybootchartgui provided by this recipe does not support the -i option. You | ||
81 | # will need to install pybootchartgui by other means in order to run it in | ||
82 | # interactive mode. | ||
83 | |||
84 | SUMMARY = "Booting sequence and CPU,I/O usage monitor" | ||
85 | DESCRIPTION = "Monitors where the system spends its time at start, creating a graph of all processes, disk utilization, and wait time." | ||
86 | AUTHOR = "Wonhong Kwon <wonhong.kwon@lge.com>" | ||
87 | HOMEPAGE = "https://github.com/mmeeks/bootchart" | ||
88 | LICENSE = "GPL-3.0" | ||
89 | LIC_FILES_CHKSUM = "file://COPYING;md5=44ac4678311254db62edf8fd39cb8124" | ||
90 | |||
91 | UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+\.\d+(\.\d+)*)" | ||
92 | |||
93 | SRC_URI = "git://github.com/mmeeks/bootchart.git \ | ||
94 | file://bootchartd_stop.sh \ | ||
95 | " | ||
96 | |||
97 | S = "${WORKDIR}/git" | ||
98 | SRCREV = "48e0071048564c6af75ab969e842d6dec808da09" | ||
99 | |||
100 | inherit systemd | ||
101 | inherit update-rc.d | ||
102 | inherit pythonnative | ||
103 | |||
104 | # The only reason to build bootchart2-native is for a native pybootchartgui. | ||
105 | BBCLASSEXTEND = "native" | ||
106 | |||
107 | SYSTEMD_SERVICE_${PN} = "bootchart2.service bootchart2-done.service bootchart2-done.timer" | ||
108 | |||
109 | UPDATERCPN = "bootchartd-stop-initscript" | ||
110 | INITSCRIPT_NAME = "bootchartd_stop.sh" | ||
111 | INITSCRIPT_PARAMS = "start 99 2 3 4 5 ." | ||
112 | |||
113 | # We want native pybootchartgui to execute with the correct Python interpeter. | ||
114 | do_compile_append_class-native () { | ||
115 | echo "#! ${PYTHON}" | cat - ${S}/pybootchartgui.py > ${WORKDIR}/temp_pybootchartgui | ||
116 | mv ${WORKDIR}/temp_pybootchartgui ${S}/pybootchartgui.py | ||
117 | chmod +x ${S}/pybootchartgui | ||
118 | } | ||
119 | |||
120 | do_compile_prepend () { | ||
121 | export PY_LIBDIR="${libdir}/${PYTHON_DIR}" | ||
122 | export BINDIR="${bindir}" | ||
123 | export LIBDIR="${base_libdir}" | ||
124 | } | ||
125 | |||
126 | do_install () { | ||
127 | install -d ${D}${sysconfdir} # needed for -native | ||
128 | export PY_LIBDIR="${libdir}/${PYTHON_DIR}" | ||
129 | export BINDIR="${bindir}" | ||
130 | export DESTDIR="${D}" | ||
131 | export LIBDIR="${base_libdir}" | ||
132 | |||
133 | oe_runmake install | ||
134 | install -d ${D}${sysconfdir}/init.d | ||
135 | install -m 0755 ${WORKDIR}/bootchartd_stop.sh ${D}${sysconfdir}/init.d | ||
136 | |||
137 | echo 'EXIT_PROC="$EXIT_PROC matchbox-window-manager"' >> ${D}${sysconfdir}/bootchartd.conf | ||
138 | } | ||
139 | |||
140 | PACKAGES =+ "pybootchartgui" | ||
141 | FILES_pybootchartgui += "${libdir}/python*/site-packages/pybootchartgui ${bindir}/pybootchartgui" | ||
142 | RDEPENDS_pybootchartgui = "python-pycairo python-compression python-image python-textutils python-shell python-compression python-codecs" | ||
143 | RDEPENDS_${PN}_class-target += "${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'sysvinit-pidof', 'procps', d)}" | ||
144 | RDEPENDS_${PN}_class-target += "lsb" | ||
145 | DEPENDS_append_class-native = " python-pycairo-native" | ||
146 | |||
147 | PACKAGES =+ "bootchartd-stop-initscript" | ||
148 | FILES_bootchartd-stop-initscript += "${sysconfdir}/init.d ${sysconfdir}/rc*.d" | ||
149 | |||
150 | FILES_${PN} += "${base_libdir}/bootchart/bootchart-collector" | ||
151 | FILES_${PN} += "${base_libdir}/bootchart/tmpfs" | ||
152 | FILES_${PN} += "${libdir}" | ||
153 | FILES_${PN}-doc += "${datadir}/docs" | ||
154 | |||
155 | RCONFLICTS_${PN} = "bootchart" | ||