Name: mcs Version: 0.7.1 Release: 9%{?dist} Summary: Configuration file abstraction system Group: Applications/System License: BSD # 404 not found - http://atheme.org/projects/mcs.shtml URL: http://atheme.org Source0: http://distfiles.atheme.org/libmcs-%{version}.tgz # submitted upstream, build config fix Patch0: libmcs-0.7.1-sysconfdir.patch # submitted upstream, floating point exception fix Patch1: libmcs-0.7.1-walk.patch # submitted upstream, safety fixes in string utility functions Patch2: libmcs-0.7.1-util.patch # submitted upstream, safety fix for keyfile set_string function Patch3: libmcs-0.7.1-keyfile-change-string.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: libmowgli-devel >= 0.4.0 BuildRequires: GConf2-devel # would be needed for kconfig support #BuildRequires: kdelibs-devel %description mcs is a library and set of userland tools which abstract the storage of configuration settings away from userland applications. It is hoped that by using mcs, that the applications which use it will generally have a more congruent feeling in regards to settings. There have been other projects like this before (such as GConf), but unlike those projects, mcs strictly handles abstraction. It does not impose any specific data storage requirement, nor is it tied to any desktop environment or software suite. %package libs Summary: Configuration file abstraction library Group: System Environment/Libraries Provides: libmcs = %{version}-%{release} %{?_isa: Provides: libmcs%{?_isa} = %{version}-%{release} } %description libs mcs is a library and set of userland tools which abstract the storage of configuration settings away from userland applications. It is hoped that by using mcs, that the applications which use it will generally have a more congruent feeling in regards to settings. There have been other projects like this before (such as GConf), but unlike those projects, mcs strictly handles abstraction. It does not impose any specific data storage requirement, nor is it tied to any desktop environment or software suite. This package contains the libraries necessary for programs using mcs. %package devel Summary: Development files for the mcs configuration system Group: Development/Libraries Provides: libmcs-devel = %{version}-%{release} %{?_isa: Provides: libmcs-devel%{?_isa} = %{version}-%{release} } Requires: mcs-libs = %{version}-%{release} Requires: pkgconfig %description devel mcs is a library and set of userland tools which abstract the storage of configuration settings away from userland applications. It is hoped that by using mcs, that the applications which use it will generally have a more congruent feeling in regards to settings. There have been other projects like this before (such as GConf), but unlike those projects, mcs strictly handles abstraction. It does not impose any specific data storage requirement, nor is it tied to any desktop environment or software suite. This package contains the files necessary for writing programs that use mcs. %prep %setup -q -n libmcs-%{version} %patch0 -p1 -b .sysconfdir %patch1 -p1 -b .walk %patch2 -p1 -b .util %patch3 -p1 -b .keyfile-change-string # Make the build system more verbose #perl -pi -e 's/^\.SILENT:.*$//' buildsys.mk.in sed -i '\,^.SILENT:,d' buildsys.mk.in # The build generates a wrong SONAME, fix it. perl -pi -e "s/-soname=.*'/-soname=\\\$\{LIB\}.\\\$\{LIB_MAJOR\}'/" configure %build %configure \ --enable-gconf \ --disable-kconfig \ --disable-dependency-tracking make %{?_smp_mflags} %install rm -rf $RPM_BUILD_ROOT make install DESTDIR=$RPM_BUILD_ROOT INSTALL="install -p" # Example for a default site-wide storage backend setting: #mkdir -p $RPM_BUILD_ROOT%{_sysconfdir} #echo "gconf" > $RPM_BUILD_ROOT%{_sysconfdir}/mcs-backend #chmod 0644 $RPM_BUILD_ROOT%{_sysconfdir}/mcs-backend %clean rm -rf $RPM_BUILD_ROOT %post libs -p /sbin/ldconfig %postun libs -p /sbin/ldconfig %files %defattr(-,root,root,-) %{_bindir}/* %files libs %defattr(-,root,root,-) %doc AUTHORS COPYING README TODO #%config(noreplace) %{_sysconfdir}/mcs-backend %{_libdir}/*.so.* %{_libdir}/mcs %files devel %defattr(-,root,root,-) %{_libdir}/*.so %{_includedir}/libmcs/ %{_libdir}/pkgconfig/libmcs.pc %changelog * Tue Dec 29 2009 Michael Schwendt - 0.7.1-9 - Apply safety fix to keyfile set_string function. * Thu Dec 24 2009 Michael Schwendt - 0.7.1-8 - Apply safety fixes to string utility functions. * Thu Dec 24 2009 Michael Schwendt - 0.7.1-7 - Fix floating point exception in mcs-walk-config tool. * Wed Dec 23 2009 Michael Schwendt - 0.7.1-6 - Add --disable-kconfig to fix build requirements usage (#529696). The kconfig backend has never been built or included before. - Fix MCS_SYSCONFDIR build config value, so /etc/mcs-backend file is found. Don't provide a default site-wide config file anymore. Making it default to "gconf" would switch backends for everyone from "default". * Sat Jul 25 2009 Fedora Release Engineering - 0.7.1-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild * Fri Jun 5 2009 Michael Schwendt - 0.7.1-4 - Rebuild for new libmowgli SONAME. * Thu Jun 4 2009 Michael Schwendt - 0.7.1-3 - Add virtual Provides for libmcs/libmcs-devel. * Wed Feb 25 2009 Fedora Release Engineering - 0.7.1-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild * Sat Jun 07 2008 Ralf Ertzinger 0.7.1-1 - Update to 0.7.1 * Mon Feb 18 2008 Fedora Release Engineering - 0.6.0-4 - Autorebuild for GCC 4.3 * Mon Nov 19 2007 Ralf Ertzinger 0.6.0-3 - Fix incorrect SONAME for library - Add libmowgli build requires * Thu Nov 08 2007 Ralf Ertzinger 0.6.0-1 - Update to 0.6.0 * Thu Apr 12 2007 Ralf Ertzinger 0.4.1-3.fc7 - Mark config file as such * Sun Apr 08 2007 Ralf Ertzinger 0.4.1-2.fc7 - Add %%{_sysconfdir}/mcs-backend to select default storage backend as gconf * Mon Apr 02 2007 Ralf Ertzinger 0.4.1-1.fc7 - Initial build for FE