]> git.pld-linux.org Git - packages/bootchart.git/blob - bootchart.spec
- it is common to report errors to stderr
[packages/bootchart.git] / bootchart.spec
1 %include        /usr/lib/rpm/macros.java
2 Summary:        Boot Process Performance Visualization
3 Summary(pl.UTF-8):      Wizualizacja wydajności procesu startu systemu
4 Name:           bootchart
5 Version:        0.9
6 Release:        4
7 License:        GPL v2
8 Group:          Base
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 Patch2:         errors-fd.patch
14 URL:            http://www.bootchart.org/
15 BuildRequires:  ant
16 BuildRequires:  java-commons-cli >= 0:1.0
17 BuildRequires:  jaxp_parser_impl
18 BuildRequires:  jdk
19 BuildRequires:  jpackage-utils >= 0:1.5
20 BuildRequires:  rpm-javaprov
21 BuildRequires:  rpmbuild(macros) >= 1.294
22 Requires:       java-commons-cli >= 0:1.0
23 Requires:       jpackage-utils >= 0:1.5
24 BuildArch:      noarch
25 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
26
27 %define         boottitle Bootchart logging
28
29 %description
30 A tool for performance analysis and visualization of the GNU/Linux
31 boot process. Resource utilization and process information are
32 collected during the boot process and are later rendered in a PNG, SVG
33 or EPS encoded chart.
34
35 %description -l pl.UTF-8
36 Narzędzie do analizy i wizualizacji wydajności procesu startu systemu
37 GNU/Linux. Podczas startu systemu zbirane są informacje o procesach i
38 wykorzystaniu zasobów, a następnie są przedstawiane w postaci wykresu
39 w formacie PNG, SVG lub EPS.
40
41 %package javadoc
42 Summary:        Javadoc for %{name}
43 Summary(pl.UTF-8):      Dokumentacja Javadoc dla bootcharta
44 Group:          Documentation
45 Requires:       jpackage-utils
46
47 %description javadoc
48 Javadoc for %{name}.
49
50 %description javadoc -l pl.UTF-8
51 Dokumentacja Javadoc dla bootcharta.
52
53 %package logger
54 Summary:        Boot logging script for %{name}
55 Summary(pl.UTF-8):      Skrypt logujący proces startu dla bootcharta
56 Group:          Base
57 Requires:       coreutils
58 Requires:       grep
59 Requires:       gzip
60 Requires:       mktemp
61 Requires:       mount
62 Requires:       sed
63 Requires:       tar
64
65 %description logger
66 Boot logging script for %{name}.
67
68 %description logger -l pl.UTF-8
69 Skrypt logujący proces startu dla bootcharta.
70
71 %prep
72 %setup -q
73 %patch0 -p1
74 %patch1 -p1
75 %patch2 -p1
76
77 # Remove the bundled commons-cli
78 rm -rf lib/org/apache/commons/cli lib/org/apache/commons/lang
79
80 %build
81 required_jars="commons-cli"
82 export CLASSPATH=$(build-classpath $required_jars)
83 %ant
84
85 %install
86 rm -rf $RPM_BUILD_ROOT
87 install -d $RPM_BUILD_ROOT%{_javadir}
88
89 # jar
90 cp -a %{name}.jar $RPM_BUILD_ROOT%{_javadir}/%{name}-%{version}.jar
91 ln -s %{name}-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/%{name}.jar
92
93 # script
94 install -p -D script/%{name} $RPM_BUILD_ROOT%{_bindir}/%{name}
95
96 # javadoc
97 install -d $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}
98 cp -pr javadoc/* $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}
99 ln -s %{name}-%{version} $RPM_BUILD_ROOT%{_javadocdir}/%{name} # ghost symlink
100
101 # logger
102 install -p -D script/bootchartd $RPM_BUILD_ROOT/sbin/bootchartd
103 install -p -D script/bootchartd.conf $RPM_BUILD_ROOT%{_sysconfdir}/bootchartd.conf
104
105 %clean
106 rm -rf $RPM_BUILD_ROOT
107
108 %post javadoc
109 ln -nfs %{name}-%{version} %{_javadocdir}/%{name}
110
111 %post logger
112 # Add a new grub/lilo entry
113 if [ -x /sbin/grubby ]; then
114         kernel=$(/sbin/grubby --default-kernel)
115         info=$(/sbin/grubby --info=$kernel)
116         initrd=$(echo "$info" | sed -n '/^initrd=/{s/^initrd=//;p;q;}')
117         init=$(echo "$info" |sed -n '/^args=.*init=/{s/^args=.*init=//;s/"$//;p;q;}')
118         [ -n "$initrd" ] && initrd="--initrd=$initrd"
119         [ -n "$init" ] && init="bootchart_init=$init"
120         /sbin/grubby --remove-kernel TITLE='%{boottitle}'
121         /sbin/grubby --copy-default --add-kernel=$kernel $initrd --args="init=/sbin/bootchartd $init" --title='%{boottitle}' || :
122 else
123         %banner -e %{name}-logger <<-EOF
124 You should adjust your bootloader to boot with
125  init=/sbin/bootchartd
126 EOF
127 fi
128
129 %preun logger
130 if [ "$1" = 0 ]; then
131         # Remove the grub/lilo entry
132         if [ -x /sbin/grubby ]; then
133                 /sbin/grubby --remove-kernel TITLE='%{boottitle}' || :
134         fi
135 fi
136
137 %files
138 %defattr(644,root,root,755)
139 %doc ChangeLog COPYING INSTALL README TODO lib/LICENSE.cli.txt lib/LICENSE.compress.txt lib/LICENSE.epsgraphics.txt lib/NOTICE.txt
140 %attr(755,root,root) %{_bindir}/bootchart
141 %{_javadir}/*.jar
142
143 %files javadoc
144 %defattr(644,root,root,755)
145 %{_javadocdir}/%{name}-%{version}
146 %ghost %{_javadocdir}/%{name}
147
148 %files logger
149 %defattr(644,root,root,755)
150 %doc README.logger
151 %attr(755,root,root) /sbin/bootchartd
152 %config(noreplace) %{_sysconfdir}/bootchartd.conf
This page took 0.147758 seconds and 3 git commands to generate.