File lessons4lizards_en.spec of Package lessons4lizards_en
#
# spec file for package lessons4lizards_en (Version 0.2)
#
# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
#
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
# norootforbuild
Name: lessons4lizards_en
URL: http://developer.novell.com/wiki/index.php/Lessons_for_Lizards
%define my_lang en
%define my_book lessons4lizards
Version: 0.2
Release: 1
#OBS
Source0: lessons4lizards_en-html.tar.bz2
Source1: lessons4lizards_en-desktop.tar.bz2
Source2: lessons4lizards_en.pdf
#Source3: lessons4lizards_en-graphics.tar.bz2
#Source4: lessons4lizards_en.tar.bz2
#SOURCES
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildArchitectures: noarch
Group: Documentation/Other
License: GNU Free Documentation License, Version 1.1 (GFDL)
Summary: Lessons for Lizards - Understanding openSUSE
%define _defaultdocdir %{_datadir}/doc/manual
%define _docdir %{_datadir}/doc/manual
%define PDFDOC %{_defaultdocdir}/%{name}-pdf
%description
Lessons for Lizards (LfL) is a community cookbook-style book project
for the openSUSE distribution licensed under the GNU Free Documentation
License (GFDL).
Lessons for Lizards covers more specific or exotic topics than the
internally produced manuals, such as
* Experimental software
* Third party software
* Third party drivers
* Complex setups (such as a router for the home network)
If you want to contribute, please look at
http://developer.novell.com/wiki/index.php/Lessons_for_Lizards
for more information.
%prep
#%setup -c -q
%setup -c -q -a 1
#PREP
cp %{S:2} .
#PDFPREP
%build
# make sure index.html exists
for f in $(find html -type f -name 'book.*'); do
pushd ${f%/*}
ln -sf ${f##*/} index.html
popd
done
%install
mkdir -p $RPM_BUILD_ROOT%{_defaultdocdir}
# is set for sles or sled as /sles or /sled
%define my_desktopdir /usr/share/susehelp/meta
echo %{my_desktopdir} | sed 's:\(\|xyzy\)::' >filelist
# mkdir -p desktop/{startup,reference,application,apparmor-admin-guide}
###
install -d $RPM_BUILD_ROOT%{my_desktopdir}/%{name}
# product is name without language code
#%define gnome_dir /opt/gnome/share/gnome/help/lessons4lizards
#install -d $RPM_BUILD_ROOT/%{gnome_dir}
#
if [ -d html/%my_book -o %name = sled-desktop-qs_%{my_lang} ]; then
if [ %name = sled-desktop-qs_%{my_lang} ]; then
tar xvf %{S:1}
sed 's:@PATH@:@PATH@/gnomequick:' desktop/.directory > desktop/gnome.desktop
# mv desktop gnome
tar xvf %{S:11}
sed 's:@PATH@:@PATH@/kdequick:' desktop/.directory > desktop/kde.desktop
sed -i 's:\(KDE\|GNOME\) *::
s/^\(DocPath\)/;\1/' desktop/.directory
# mv desktop kde
# mkdir desktop
# mv gnome kde desktop
mkdir -p html/manual
for d in html/SLED-*; do
mv $d html/manual/${d#html/SLED-}
done
else
mv html/%my_book html/manual
fi
pushd desktop
for dir in $(find . -maxdepth 1 -type d) nixxx; do
case $dir in
./book.heartbeat)
mv index/*.desktop $dir/.directory $dir/*.desktop .
rm -fr index $dir
;;
./stor_evms)
mv index/*.desktop $dir/.directory $dir/*.desktop .
rm -fr index $dir
;;
#./index)
# mv index/*.desktop $dir/.directory $dir/*.desktop .
# rm -fr index $dir
# ;;
*) true ;;
esac
done
case %name in
sles-preparation*|apparmor-admin*)
mv -f bk0*/*desktop .; rm -fr bk0* ;;
esac
for f in $(find . -type f -name '*desktop'); do
# /usr/share/doc/manual/suselinux-manual_en/manual
sed -i "s|@PATH@|%{_defaultdocdir}/%{name}/manual|
s/\[\]//" $f
if ! grep -q -e '^Name *=' $f; then
# requiered if no "Name=" is present
sed -i "s|^Name\[.*\]\(=.*\)|Name\1\\
&|" $f
fi
done
for d in $(find . -maxdepth 1 -type d -name 'book*'); do
id=${d//\./}
id=${id//\//}%{my_lang}
pushd $d
for f in $(find . -name '.directory'); do
sed -i "s|@PATH@|%{_defaultdocdir}/%{name}/manual|
s/\[\]//
s|@id@|$id|" $f
done
popd
done
# Why not checking deeply hidden files (again?)
# Probably useful for stand-alone books
# for f in $(find . -maxdepth 1 -name '*.directory'); do
for f in $(find . -name '*.directory'); do
id=%{name}
id=${id//_/}
sed -i "s|@PATH@|%{_defaultdocdir}/%{name}/manual|
s/\[\]//
s|@id@|$id|" $f
# Fix the index.html reference
if [ $f = ./.directory ]; then
sed -i 's:\(^DocPath.*/\).*:\1index.html:
s/^\(Name\|Comment\)\(.*\)/\1\2 (%{my_lang})/' $f
fi
# make sure to sort startup guide first
case %name in
sles-startup*)
[ $f = "./.directory" ] \
&& sed -i "s|^\(X-DOC-Weight\).*|\1=-2000|" $f ;;
esac
done
# if [ %name = sled-desktop-qs_%{my_lang} ]; then
# # Probably useful for quick books
# for f in $(find . -maxdepth 2 -name '*.directory'); do
# id=%{name}
# id=${id//_/}
# sed -i "s|@PATH@|%{_defaultdocdir}/%{name}/manual|
# s/\[\]//
# s|@id@|$id|" $f
# # Fix the index.html reference
# if [ $f = ./.directory ]; then
# sed -i 's:\(^DocPath.*/\).*:\1index.html:
# s/^\(Name\|Comment\)\(.*\)/\1\2 (%{my_lang})/' $f
# fi
# done
# fi
# remove the dots from the file names
for f in $(find . -type f -name '*desktop'); do
d=${f%/*}
n=${f##*/}; n=${n/\.desktop}; n=${n//\./_}; n=${n}.desktop
[ $f = $d/$n ] || mv -v $f $d/$n
done
ren_dir () {
for d in $(find . -maxdepth $1 -mindepth $1 -type d); do
n=${d#*/}; n=${n//\./_}
[ ${d#*/} = $n ] || mv -v $d $n
done
}
ren_dir 1
ren_dir 2
#
cp -a . $RPM_BUILD_ROOT%{my_desktopdir}/%{name}
#obsolete with slash_flavor
#mkdir -p $RPM_BUILD_ROOT/usr/share/susehelp/meta/sled
# cp %{S:100} $RPM_BUILD_ROOT%{my_desktopdir}/.directory || :
popd
# Link it into the Gnome help system (must be found by calling
# susehelp help://suselinux-manual/
#pushd $RPM_BUILD_ROOT/%{gnome_dir}
if [ %{my_lang} = "en" ]; then
target=$RPM_BUILD_ROOT%{_defaultdocdir}/%{name}/manual
install -d $target
ln -sf %{_defaultdocdir}/%{name}/manual C
else
target=$RPM_BUILD_ROOT%{_defaultdocdir}/%{name}/manual
install -d $target
ln -sf %{_defaultdocdir}/%{name}/manual %{my_lang}
fi
#popd
else
# PDF only books
install -d html/manual
echo PDF only > html/manual/%{name}
fi
%clean
rm -rf %{buildroot}
%files -f filelist
%defattr(-, root, root)
%dir %{_defaultdocdir}
%doc *.pdf
%doc html/manual
# %{my_desktopdir}
%dir %{_datadir}/susehelp
#%{gnome_dir}
#%dir /opt/gnome
#%dir /opt/gnome/share
#%dir /opt/gnome/share/gnome
#%dir /opt/gnome/share/gnome/help
%changelog
* Mon Jul 30 2007 - toms@suse.de
- New release for Beta 1:
* Updated Virtualization chapter from Alexey
* New article about kover from ta-ro (from Hackweek)
* New article about digikam-css from jjaeger1 (from Hackweek)
* New article SCPM for PCMCIA jjaeger1
* Fri Mar 23 2007 - lrupp@suse.de
- don't remove BUILD_ROOT in %%install and "mkdir -p BUILD_ROOT/foo"
directly afterwards
- added %%clean section
* Fri Mar 23 2007 - toms@suse.de
- Disabled source3 and source4
* Thu Mar 22 2007 - toms@suse.de
- First release 0.1