1 %include /usr/lib/rpm/macros.java
2 Summary: Boot Process Performance Visualization
3 Summary(pl.UTF-8): Wizualizacja wydajności procesu startu systemu
9 Source0: http://dl.sourceforge.net/bootchart/%{name}-%{version}.tar.bz2
10 # Source0-md5: 4be91177d19069e21beeb106f2f77dff
11 Patch0: %{name}-bash.patch
12 Patch1: %{name}-initscript.patch
13 URL: http://www.bootchart.org/
15 BuildRequires: java-commons-cli >= 0:1.0
16 BuildRequires: jaxp_parser_impl
17 BuildRequires: jpackage-utils >= 0:1.5
18 BuildRequires: rpm-javaprov
19 BuildRequires: rpmbuild(macros) >= 1.294
20 Requires: java-commons-cli >= 0:1.0
21 Requires: jpackage-utils >= 0:1.5
23 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
25 %define boottitle Bootchart logging
28 A tool for performance analysis and visualization of the GNU/Linux
29 boot process. Resource utilization and process information are
30 collected during the boot process and are later rendered in a PNG, SVG
33 %description -l pl.UTF-8
34 Narzędzie do analizy i wizualizacji wydajności procesu startu systemu
35 GNU/Linux. Podczas startu systemu zbirane są informacje o procesach i
36 wykorzystaniu zasobów, a następnie są przedstawiane w postaci wykresu
37 w formacie PNG, SVG lub EPS.
40 Summary: Javadoc for %{name}
41 Summary(pl.UTF-8): Dokumentacja Javadoc dla bootcharta
43 Requires: jpackage-utils
48 %description javadoc -l pl.UTF-8
49 Dokumentacja Javadoc dla bootcharta.
52 Summary: Boot logging script for %{name}
53 Summary(pl.UTF-8): Skrypt logujący proces startu dla bootcharta
64 Boot logging script for %{name}.
66 %description logger -l pl.UTF-8
67 Skrypt logujący proces startu dla bootcharta.
74 # Remove the bundled commons-cli
75 rm -rf lib/org/apache/commons/cli lib/org/apache/commons/lang
78 required_jars="commons-cli"
79 export CLASSPATH=$(build-classpath $required_jars)
83 rm -rf $RPM_BUILD_ROOT
84 install -d $RPM_BUILD_ROOT%{_javadir}
87 install %{name}.jar $RPM_BUILD_ROOT%{_javadir}/%{name}-%{version}.jar
88 ln -s %{name}-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/%{name}.jar
91 install -D script/%{name} $RPM_BUILD_ROOT%{_bindir}/%{name}
94 install -d $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}
95 cp -pr javadoc/* $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}
96 ln -s %{name}-%{version} $RPM_BUILD_ROOT%{_javadocdir}/%{name} # ghost symlink
99 install -D script/bootchartd $RPM_BUILD_ROOT/sbin/bootchartd
100 install -D script/bootchartd.conf $RPM_BUILD_ROOT%{_sysconfdir}/bootchartd.conf
103 rm -rf $RPM_BUILD_ROOT
106 ln -nfs %{name}-%{version} %{_javadocdir}/%{name}
109 # Add a new grub/lilo entry
110 if [ -x /sbin/grubby ]; then
111 kernel=$(/sbin/grubby --default-kernel)
112 info=$(/sbin/grubby --info=$kernel)
113 initrd=$(echo "$info" | sed -n '/^initrd=/{s/^initrd=//;p;q;}')
114 init=$(echo "$info" |sed -n '/^args=.*init=/{s/^args=.*init=//;s/"$//;p;q;}')
115 [ -n "$initrd" ] && initrd="--initrd=$initrd"
116 [ -n "$init" ] && init="bootchart_init=$init"
117 /sbin/grubby --remove-kernel TITLE='%{boottitle}'
118 /sbin/grubby --copy-default --add-kernel=$kernel $initrd --args="init=/sbin/bootchartd $init" --title='%{boottitle}' || :
120 %banner -e %{name}-logger <<-EOF
121 You should adjust your bootloader to boot with
122 init=/sbin/bootchartd
127 if [ "$1" = 0 ]; then
128 # Remove the grub/lilo entry
129 if [ -x /sbin/grubby ]; then
130 /sbin/grubby --remove-kernel TITLE='%{boottitle}' || :
135 %defattr(644,root,root,755)
136 %doc ChangeLog COPYING INSTALL README TODO lib/LICENSE.cli.txt lib/LICENSE.compress.txt lib/LICENSE.epsgraphics.txt lib/NOTICE.txt
137 %attr(755,root,root) %{_bindir}/bootchart
141 %defattr(644,root,root,755)
142 %{_javadocdir}/%{name}-%{version}
143 %ghost %{_javadocdir}/%{name}
146 %defattr(644,root,root,755)
148 %attr(755,root,root) /sbin/bootchartd
149 %config(noreplace) %{_sysconfdir}/bootchartd.conf