204 lines
6.6 KiB
RPMSpec
204 lines
6.6 KiB
RPMSpec
Name: bootchart
|
|
Version: 1.20
|
|
Release: 1mamba
|
|
Summary: Bootchart is a tool for performance analysis and visualization of the GNU/Linux boot process
|
|
Group: System/Benchmarks
|
|
Vendor: openmamba
|
|
Distribution: openmamba
|
|
Packager: Stefano Cotta Ramusino <stefano.cotta@qilinux.it>
|
|
URL: http://www.bootchart.org/
|
|
Source: http://foo-projects.org/~sofar/bootchart/bootchart-%{version}.tar.gz
|
|
#Source: http://downloads.sourceforge.net/sourceforge/bootchart/bootchart-%{version}.tar.bz2
|
|
Source1: http://zerodeux.net/misc/bootchart/bootchart_pl
|
|
Source2: bootchart.sh
|
|
Source3: kbootchart
|
|
Source4: kbootchart.png
|
|
Source5: bootchart-grub2
|
|
Patch0: %{name}-0.9-nojavafunctions.patch
|
|
Patch1: %{name}-0.9-svg_path.patch
|
|
License: GPL
|
|
Requires: curl
|
|
Requires: %{name}-logger
|
|
BuildRequires: apache-ant
|
|
BuildRequires: jdk
|
|
BuildRoot: %{_tmppath}/%{name}-%{version}-root
|
|
|
|
%description
|
|
Bootchart is a tool for performance analysis and visualization of the GNU/Linux boot process.
|
|
Resource utilization and process information are collected during the boot process and are later rendered in a PNG, SVG or EPS encoded chart.
|
|
Bootchart provides a shell script to be run by the kernel in the init phase.
|
|
The script will run in background and collect process information, CPU statistics and disk usage statistics from the /proc file system.
|
|
The performance data are stored in memory and are written to disk once the boot process completes.
|
|
The boot log file is later processed using a Java application (or the web form) which builds the process tree and renders a performance chart in different formats: SVG e EPS.
|
|
The chart can then be analyzed to examine process dependency and overall resource utilization.
|
|
|
|
%package logger
|
|
Summary: Boot logging script for %{name}
|
|
Group: System/Kernel and Hardware
|
|
|
|
%description logger
|
|
Boot logging script for %{name}.
|
|
|
|
%prep
|
|
%setup -q
|
|
#%patch0 -p1
|
|
|
|
cp %{S:1} %{name}.pl
|
|
%patch1 -p1
|
|
|
|
%build
|
|
#JAVA_HOME=%{_jvmdir}/jdk ANT_HOME=/opt/java/ant ant
|
|
%configure
|
|
%make
|
|
|
|
%install
|
|
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
|
|
%makeinstall
|
|
|
|
## install scripts
|
|
#install -D -m 755 script/%{name} \
|
|
# %{buildroot}%{_bindir}/%{name}
|
|
#install -D -m 755 %{name}.pl \
|
|
# %{buildroot}%{_bindir}/%{name}.pl
|
|
#install -D -m 755 %{S:2} \
|
|
# %{buildroot}%{_bindir}/%{name}.sh
|
|
#install -d %{buildroot}%{_datadir}/%{name}/svg
|
|
#install -m 644 svg/* \
|
|
# %{buildroot}%{_datadir}/%{name}/svg
|
|
#
|
|
## install java files
|
|
#install -D -m 644 %{name}.jar \
|
|
# %{buildroot}%{_javadir}/%{name}-%{version}.jar
|
|
#ln -s %{name}-%{version}.jar %{buildroot}%{_javadir}/%{name}.jar
|
|
#install -d -m 755 %{buildroot}%{_javadocdir}/%{name}-%{version}
|
|
#cp -pr javadoc/* \
|
|
# %{buildroot}%{_javadocdir}/%{name}-%{version}
|
|
#ln -s %{name}-%{version} %{buildroot}%{_javadocdir}/%{name}
|
|
|
|
## install logger
|
|
#install -D -m 755 script/bootchartd \
|
|
# %{buildroot}/sbin/bootchartd
|
|
##install -D -m 644 script/bootchartd.conf \
|
|
# %{buildroot}%{_sysconfdir}/bootchartd.conf
|
|
#
|
|
# install kde frontend
|
|
install -D -m 755 %{S:3} \
|
|
%{buildroot}%{_bindir}/k%{name}
|
|
install -D -m 644 %{S:4} \
|
|
%{buildroot}%{_datadir}/icons/crystalsvg/32x32/apps/k%{name}.png
|
|
|
|
# install grub.d file
|
|
install -D -m 0755 %{S:5} %{buildroot}%{_sysconfdir}/grub.d/15_bootchart
|
|
|
|
# create KDE menu link
|
|
install -d %{buildroot}/%{_datadir}/applications
|
|
cat > %{buildroot}/%{_datadir}/applications/k%{name}.desktop <<EOF
|
|
[Desktop Entry]
|
|
Name=KBootchart
|
|
GenericName=Bootchart image generator
|
|
GenericName[it]=Generatore del grafico d'avvio
|
|
Exec=kbootchart
|
|
Type=Application
|
|
Icon=kbootchart
|
|
Terminal=false
|
|
Categories=Qt;KDE;System
|
|
EOF
|
|
|
|
%clean
|
|
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
|
|
|
|
%post logger
|
|
if [ $1 -ge 1 ]; then
|
|
# new install or upgrade
|
|
%if "%{_target_cpu}" == "i586"
|
|
for i in $(ls %{_sysconfdir}/grub/conf.d/%{distribution}-* 2>/dev/null); do
|
|
if [ $(grep init=/sbin/%{name}d $i >> /dev/null; echo $?) -ne 0 ]; then
|
|
sed -i "s|^kernel\(.*\)|kernel \1 init=/sbin/%{name}d|" $i 2> /dev/null
|
|
fi
|
|
done
|
|
%endif
|
|
%if "%{_target_cpu}" == "ppc"
|
|
for i in $(ls %{_sysconfdir}/yaboot/conf.d/%{distribution}-* 2>/dev/null); do
|
|
if [ $(grep init=/sbin/%{name}d $i >> /dev/null; echo $?) -ne 0 ]; then
|
|
sed -i "s|^append=\"\(.*\)\"|append=\"\1 init=/sbin/%{name}d\"|" $i 2> /dev/null
|
|
fi
|
|
done
|
|
%endif
|
|
fi
|
|
|
|
if [ $1 -eq 1 ]; then
|
|
# new install
|
|
%if "%{_target_cpu}" == "i586"
|
|
[ -x /usr/sbin/update-grub ] && /usr/sbin/update-grub
|
|
%endif
|
|
%if "%{_target_cpu}" == "ppc"
|
|
[ -x /usr/sbin/yaboot-update ] && /usr/sbin/yaboot-update
|
|
%endif
|
|
fi
|
|
exit 0
|
|
|
|
%postun logger
|
|
if [ $1 -eq 0 ]; then
|
|
# uninstall
|
|
%if "%{_target_cpu}" == "i586"
|
|
for i in $(ls %{_sysconfdir}/grub/conf.d/%{distribution}-* 2>/dev/null); do
|
|
if [ $(grep init=/sbin/%{name}d $i >> /dev/null; echo $?) -eq 0 ]; then
|
|
sed -i "s|^kernel\(.*\) init=/sbin/%{name}d\(.*\)|kernel \1\2|" $i 2> /dev/null
|
|
fi
|
|
done
|
|
|
|
%endif
|
|
%if "%{_target_cpu}" == "ppc"
|
|
for i in $(ls %{_sysconfdir}/yaboot/conf.d/%{distribution}-* 2>/dev/null); do
|
|
if [ $(grep init=/sbin/%{name}d $i >> /dev/null; echo $?) -eq 0 ]; then
|
|
sed -i "s|^append=\"\(.*\) init=/sbin/%{name}d\(.*\)\"|append=\"\1\2\"|" $i 2> /dev/null
|
|
fi
|
|
done
|
|
%endif
|
|
fi
|
|
exit 0
|
|
|
|
%files
|
|
%defattr(-,root,root)
|
|
%{_bindir}/kbootchart
|
|
#%{_datadir}/%{name}/svg
|
|
#%{_javadir}/*
|
|
%{_datadir}/applications/k%{name}.desktop
|
|
%{_datadir}/icons/crystalsvg/32x32/apps/k%{name}.png
|
|
#%{_javadocdir}/*
|
|
%doc COPYING README
|
|
#%doc TODO
|
|
|
|
%files logger
|
|
%defattr(-,root,root)
|
|
%{_sysconfdir}/grub.d/15_bootchart
|
|
%{_sbindir}/bootchartd
|
|
%{_datadir}/doc/bootchart/bootchartd.conf.example
|
|
#%config(noreplace) %{_sysconfdir}/%{name}d.conf
|
|
#%doc README.logger
|
|
|
|
%changelog
|
|
* Sat Dec 01 2012 Automatic Build System <autodist@mambasoft.it> 1.20-1mamba
|
|
- update to 1.20
|
|
|
|
* Mon May 09 2011 Silvan Calarco <silvan.calarco@mambasoft.it> 0.9-7mamba
|
|
- updated grub2 configuration file to use grub-mkconfig_lib instead of deprecated update-grub_lib
|
|
|
|
* Fri Feb 05 2010 Silvan Calarco <silvan.calarco@mambasoft.it> 0.9-6mamba
|
|
- rebuilt to remove executable requirements
|
|
|
|
* Tue Oct 14 2008 Silvan Calarco <silvan.calarco@mambasoft.it> 0.9-5mamba
|
|
- updated for grub2
|
|
|
|
* Tue Oct 14 2008 Silvan Calarco <silvan.calarco@mambasoft.it> 0.9-4mamba
|
|
- rebuilt
|
|
|
|
* Mon Feb 19 2007 Silvan Calarco <silvan.calarco@mambasoft.it> 0.9-3qilnx
|
|
- add an exit 0 to scripts
|
|
|
|
* Wed Nov 15 2006 Stefano Cotta Ramusino <stefano.cotta@qilinux.it> 0.9-2qilnx
|
|
- added %%post and %%postun scriplets
|
|
|
|
* Mon Jun 26 2006 Stefano Cotta Ramusino <stefano.cotta@qilinux.it> 0.9-1qilnx
|
|
- package created by autospec
|