File clish.spec of Package clish

# norootforbuild

%define clish_soname   0
%define lub_soname     0
%define tinyrl_soname  0
%define tinyxml_soname 0

Name:			clish
Version:		0.7.3
Release:		0
Summary:		Modular CISCO-like CLI On a Unix System
Source:			http://prdownloads.sourceforge.net/clish/clish-%{version}.tar.gz
URL:			http://clish.sourceforge.net/
Group:			System/Shells
License:		BSD License (original)
BuildRoot:		%{_tmppath}/build-%{name}-%{version}
BuildRequires:	tcl-devel
BuildRequires:	doxygen
BuildRequires:	gcc-c++ libstdc++-devel
BuildRequires:	gcc make glibc-devel
BuildRequires:	autoconf automake libtool

%description
CLISH is a modular framework for implementing a CISCO-like CLI on a
Unix system. Arbitrary command menus and actions can be defined using XML
files. This software handles the user interaction, and forks the appropriate
system commands to perform any actions.

%package -n tclish
Summary:		Modular CISCO-like CLI On a Unix System in a TCL Interpreter
Group:			System/Shells

%description -n tclish
CLISH is a modular framework for implementing a CISCO-like CLI on a
Unix system. Arbitrary command menus and actions can be defined using XML
files. This software handles the user interaction, and forks the appropriate
system commands to perform any actions.

%package -n libclish%{clish_soname}
Summary:		CLI Shell Library
Group:			System/Libraries

%description -n libclish%{clish_soname}
This library provides the core functionality for a shell to implement a
CISCO-like user interface. The look and feel is fully defined by a set of XML
files which are loaded when the shell starts up.

The schema for these XML files can be found in
http://clish.sourceforge.net/XMLSchema/clish.xsd

%package -n libclish-devel
Summary:		Development Environment of CLI Shell Library
Group:			Development/Libraries/C and C++
Requires:		libstdc++-devel
Requires:		libtinyrl-devel = %{version}-%{release}
Requires:		liblub-devel = %{version}-%{release}

%description -n libclish-devel
This library provides the core functionality for a shell to implement a
CISCO-like user interface. The look and feel is fully defined by a set of XML
files which are loaded when the shell starts up.

The schema for these XML files can be found in
http://clish.sourceforge.net/XMLSchema/clish.xsd

%package -n libclish-devel-doc
Summary:		Documentation for libclish, liblub, libtinyrl and libtinyxml
Group:			Development/Libraries/C and C++
Provides:		liblub-devel-doc
Provides:		libtinyrl-devel-doc
Provides:		libtinyxml-devel-doc

%description -n libclish-devel-doc
Documentation for libclish, liblub, libtinyrl and libtinyxml.

%package -n liblub%{lub_soname}
Summary:		Little Useful Bits Library
Group:			System/Libraries

%description -n liblub%{clish_soname}
This is a general purpose library of small utilities.

The design and implementation are intended for embedded devices, ie. minimise
footprint and maximise performance.

%package -n liblub-devel
Summary:		Development Environment for a Little Useful Bits Library
Group:			Development/Libraries/C and C++

%description -n liblub-devel
This is a general purpose library of small utilities.

The design and implementation are intended for embedded devices, ie. minimise
footprint and maximise performance.

%package -n libtinyrl%{tinyrl_soname}
Summary:		Tiny Readline Library
Group:			System/Libraries
Requires:		liblub-devel = %{version}-%{release}

%description -n libtinyrl%{tinyrl_soname}
This library provides a simple replacement of the readline functionality.

The readline interface and implementation has some fundamental flaws when it
comes to try and run it within a single memory space envrioment. e.g. vxWorks
- The use of global variables prevents multiple sessions from co-existing.
- The comprehensiveness of the library makes it large, and it contains
  more features than are needed in an embedded system.
- It relies on other (large) libraries which are not typically available on an
  embedded system e.g. termcap.

%package -n libtinyrl-devel
Summary:		Development Environment for the Tiny Readline Library
Group:			Development/Libraries/C and C++

%description -n libtinyrl-devel
This library provides a simple replacement of the readline functionality.

The readline interface and implementation has some fundamental flaws when it
comes to try and run it within a single memory space envrioment. e.g. vxWorks
- The use of global variables prevents multiple sessions from co-existing.
- The comprehensiveness of the library makes it large, and it contains
  more features than are needed in an embedded system.
- It relies on other (large) libraries which are not typically available on an
  embedded system e.g. termcap.

%package -n libtinyxml%{tinyxml_soname}
Summary:		Tiny XML Library
Group:			System/Libraries

%description -n libtinyxml%{tinyxml_soname}
This library provides a small footprint XML parsing facility. CLISH uses this
in prefence to libxml2 as it is far more suited to embedded systems.

Full documentation and details of this library can be found at
http://www.grinninglizard.com/tinyxml/

%package -n libtinyxml-devel
Summary:		Development Environment for the Tiny XML Library
Group:			Development/Libraries/C and C++
Requires:		libstdc++-devel

%description -n libtinyxml-devel
This library provides a small footprint XML parsing facility. CLISH uses this
in prefence to libxml2 as it is far more suited to embedded systems.

Full documentation and details of this library can be found at
http://www.grinninglizard.com/tinyxml/

%debug_package
%prep
%setup -q

%build
%configure
# don't pass -j, breaks build
%__make

doxygen ./doxygen.config

%install
%makeinstall
pushd "%{buildroot}%{_bindir}"
%__ln_s tclish*.* tclish
popd

%post   -n libclish%{clish_soname} -p /sbin/ldconfig
%postun -n libclish%{clish_soname} -p /sbin/ldconfig
%post   -n liblub%{lub_soname} -p /sbin/ldconfig
%postun -n liblub%{lub_soname} -p /sbin/ldconfig
%post   -n libtinyrl%{tinyrl_soname} -p /sbin/ldconfig
%postun -n libtinyrl%{tinyrl_soname} -p /sbin/ldconfig
%post   -n libtinyxml%{tinyxml_soname} -p /sbin/ldconfig
%postun -n libtinyxml%{tinyxml_soname} -p /sbin/ldconfig

%clean
%__rm -rf "%{buildroot}"

%files
%defattr(-,root,root)
%doc CHANGES clish.xsd ISSUES LICENCE README
%doc xml-examples
%{_bindir}/clish

%files -n tclish
%defattr(-,root,root)
%doc CHANGES clish.xsd ISSUES LICENCE README
%doc xml-examples
%{_bindir}/tclish
%{_bindir}/tclish*.*

%files -n libclish-devel-doc
%defattr(-,root,root)
%doc html/*

%files -n libclish%{clish_soname}
%defattr(-,root,root)
%doc LICENCE
%{_libdir}/libclish.so.%{clish_soname}
%{_libdir}/libclish.so.%{clish_soname}.*.*

%files -n libclish-devel
%defattr(-,root,root)
%doc LICENCE
%{_includedir}/clish
%{_libdir}/libclish.so
%{_libdir}/libclish.la
%{_libdir}/libclish.a

%files -n liblub%{lub_soname}
%defattr(-,root,root)
%doc LICENCE
%{_libdir}/liblub.so.%{lub_soname}
%{_libdir}/liblub.so.%{lub_soname}.*.*

%files -n liblub-devel
%defattr(-,root,root)
%doc LICENCE
%{_includedir}/lub
%{_libdir}/liblub.so
%{_libdir}/liblub.la
%{_libdir}/liblub.a

%files -n libtinyrl%{tinyrl_soname}
%defattr(-,root,root)
%doc LICENCE
%{_libdir}/libtinyrl.so.%{tinyrl_soname}
%{_libdir}/libtinyrl.so.%{tinyrl_soname}.*.*

%files -n libtinyrl-devel
%defattr(-,root,root)
%doc LICENCE
%{_includedir}/tinyrl
%{_libdir}/libtinyrl.so
%{_libdir}/libtinyrl.la
%{_libdir}/libtinyrl.a

%files -n libtinyxml%{tinyxml_soname}
%defattr(-,root,root)
%doc LICENCE
%{_libdir}/libtinyxml.so.%{tinyxml_soname}
%{_libdir}/libtinyxml.so.%{tinyxml_soname}.*.*

%files -n libtinyxml-devel
%defattr(-,root,root)
%doc LICENCE
%{_includedir}/tinyxml
%{_libdir}/libtinyxml.so
%{_libdir}/libtinyxml.la
%{_libdir}/libtinyxml.a

%changelog
* Tue Apr 29 2008 Pascal Bleser <guru@unixtech.be> 0.7.3
- new upstream version

* Sat Mar  8 2008 Pascal Bleser <guru@unixtech.be> 0.7.2
- new package

# Local Variables:
# mode: rpm-spec
# tab-width: 3
# End:
openSUSE Build Service is sponsored by