Sisyphus repository
Last update: 1 october 2023 | SRPMs: 18631 | Visits: 37423428
en ru br
ALT Linux repos
S:3.2.6-alt4
5.0: 2.26.2-alt1
4.1: 2.22.0-alt1
4.0: 2.16.1-alt1
3.0: 1.0.9-alt7.1

Group :: System/Servers
RPM: GConf

 Main   Changelog   Spec   Patches   Sources   Download   Gear   Bugs and FR  Repocop 

%define ver_major 2.26
%def_disable static
%def_disable gtk_doc
%def_enable dbus_service
%define _libexecdir %_prefix/libexec
%define _rpmmacrosdir %_rpmlibdir/macros.d

%define oldname GConf2
%define namefix_ver 2.14.0-alt2

Name: GConf
Version: %ver_major.2
Release: alt1
Provides: %oldname = %version-%release
Obsoletes: %oldname < %namefix_ver

Summary: Gnome Config System
Summary(ru_RU.KOI8-R): Система конфигурации Gnome
License: %lgpl2plus
Group: System/Servers
Url: http://projects.gnome.org/gconf/

Packager: GNOME Maintainers Team <gnome at packages.altlinux.org>

Source: %gnome_ftp/%name/%ver_major/%name-%version.tar.bz2
Source1: gconf-rpmmacros.spec
Source2: gconf2_set
Source3: gconf2_add
Source4: gconf2_get
Source5: gconf_sync_state

# stylesheet for strip translations (using XInclude)

# from gconf schema files. Thanks vyt at .
Source10: gconf2-strip-locales.xsl
# gconf2-strip-locales.sh for apply gconf2-strip-locales.xsl
# (%%gconf2_stripschemas rpm macros uses it).
Source11: gconf2-strip-locales.sh

Source15: libgconf-%ver_major.map
Patch1: %name-2.24.0-alt-symver.patch

# from Fedora: patch to reload GConf2 every time a schema is

# added or removed (gnome bug # 333353)
Patch2: GConf-2.18.0.1-reload.patch

%define ORBit_ver 2.12.1
%define glib_ver 2.14.0
%define libxml2_ver 2.6.17
%define gnome_common_ver 2.8.0

Requires: rpm >= 4.0.4-alt1
Requires: lib%name = %version-%release
Requires: ORBit2 >= %ORBit_ver

# for patch2 /usr/bin/killall required

# Requires: psmisc

BuildPreReq: rpm-build-gnome rpm-build-licenses
BuildPreReq: rpm-build-spec2macro rpm-build-compat

BuildRequires: gnome-common >= %gnome_common_ver
BuildPreReq: gtk-doc >= 1.0
BuildPreReq: intltool >= 0.35
BuildPreReq: gettext-tools
BuildPreReq: ORBit2-devel >= %ORBit_ver
BuildPreReq: glib2-devel >= %glib_ver
BuildPreReq: libxml2-devel >= %libxml2_ver
BuildPreReq: libgtk+2-devel
BuildPreReq: libldap-devel

%{?_enable_dbus_service:BuildPreReq: libdbus-devel libdbus-glib-devel libpolkit-devel PolicyKit}

# to build manpages.

BuildPreReq: help2man

%description
GConf is the Configuration database system for GNOME. However it can be
used with plain GTK+, Xlib, KDE, or even text mode applications as well.

%package -n lib%name
Summary: Gnome Config System library package
Group: System/Libraries
Provides: lib%oldname = %version-%release
Obsoletes: lib%oldname < %namefix_ver

%description -n lib%name
GConf library package. Contains files needed for using GConf.

%package -n lib%name-devel
Summary: Gnome Config System development package
Group: Development/C
Provides: lib%oldname-devel = %version-%release
Obsoletes: lib%oldname-devel < %namefix_ver
Requires: lib%name = %version-%release
Requires: %name-sanity-check = %version-%release

%description -n lib%name-devel
GConf development package. Contains files needed for doing
development using GConf.

%package -n lib%name-devel-doc
Summary: Development documentation for GConf
Group: Development/C
Conflicts: lib%name < %version
Obsoletes: lib%oldname-devel-doc < %namefix_ver
BuildArch: noarch

%description -n lib%name-devel-doc
GConf is the GNOME Configuration database system.

This package contains development documentation for GConf.

%package sanity-check
Summary: Graphical GConf utility
Group: System/Configuration/Other
Requires: %name = %version-%release

%description sanity-check
This package contains graphical GConf utility which require GTK+.

%package -n lib%name-devel-static
Summary: Gnome Config System development package
Group: Development/GNOME and GTK+
Requires: lib%name-devel = %version-%release

%description -n lib%name-devel-static
GConf static libraries package. Contains libraries needed for doing
development using GConf.

# Use our RPM macros (they will also be installed to %_rpmmacrosdir).

%include %SOURCE1

%prep
%setup -q
install -p -m644 %SOURCE15 gconf/libgconf.map
%patch1 -p1
#patch2 -p1 -b .reload

# disable localization for gconftool-2

#__subst 's,\(setlocale (.* \"\),\1C,' gconf/gconftool.c

# disable localization for gconfd

%__subst 's,\(setlocale (.* \"\),\1C,' gconf/gconfd.c

%build
%autoreconf
%configure \
%{?_enable_gtk_doc:--enable-gtk-doc} \
%{subst_enable static} \
%{?_enable_dbus_service: --enable-defaults-service}

# SMP-incompatible build

%make

%install
%make_install DESTDIR=%buildroot install

cat <<__EOF__ >%buildroot%_sysconfdir/gconf/schema-install-source
xml:readwrite:%_cachedir/gconf/gconf.xml.defaults
__EOF__

cat <<__EOF__ >>%buildroot%_sysconfdir/gconf/2/path
xml:readonly:%_cachedir/gconf/gconf.xml.defaults
__EOF__

mkdir -p %buildroot%_datadir/gconf
install -m644 %SOURCE10 %buildroot%_datadir/gconf/
install -m755 %SOURCE11 %buildroot%_datadir/gconf/

mkdir -p %buildroot%_cachedir/gconf/gconf.xml.{defaults,mandatory,system}
mkdir -p %buildroot%_sysconfdir/gconf/{schemas,gconf.xml.system}
chmod 755 %buildroot{%_sysconfdir,%_cachedir}/gconf/gconf.xml.{defaults,mandatory,system}

# Install RPM macros

mkdir -p %buildroot%_rpmmacrosdir
%spec2macro %SOURCE1 %buildroot%_rpmmacrosdir/%name
#install -pD -m644 %SOURCE1 %buildroot%_sysconfdir/rpm/macros.d/gconf

mkdir -p %buildroot%_sysconfdir/buildreqs/files/ignore.d
cat <<__EOF__ >%buildroot%_sysconfdir/buildreqs/files/ignore.d/gconf
^%_sysconfdir/rpm/macros.d/gconf
__EOF__

mkdir -p %buildroot{%_bindir,%_sbindir}
install -p -m755 %SOURCE2 %SOURCE3 %SOURCE4 %buildroot%_bindir/
install -p -m755 %SOURCE5 %buildroot%_sbindir/

cat <<__EOF__ >%buildroot%_sbindir/gconf_install_schema
#!/bin/sh -e

export GCONF_CONFIG_SOURCE=\%gconf2_default_source
for S in \$*; do
   %_gconf2_bin --makefile-install-rule "%_sysconfdir/gconf/schemas/\$S.schemas" >/dev/null
done
%_sbindir/gconf_sync_state
__EOF__

cat <<__EOF__ >%buildroot%_sbindir/gconf_uninstall_schema
#!/bin/sh -e

export GCONF_CONFIG_SOURCE=\%gconf2_default_source
for S in \$*; do
   %_gconf2_bin --makefile-uninstall-rule "%_sysconfdir/gconf/schemas/\$S.schemas" >/dev/null
done
%_sbindir/gconf_sync_state
__EOF__

chmod 755 %buildroot%_sbindir/gconf_{,un}install_schema

# build man page for gconftool-2

LD_LIBRARY_PATH=gconf/.libs \
help2man -N --name="is a tool to control GConf from the command line" \
   --manual="Gnome Config System" \
   gconf/.libs/gconftool-2 > gconftool-2.man

install -pD -m644 gconftool-2.man %buildroot%_man1dir/gconftool-2.1

%find_lang GConf2

bzip2 -9f ChangeLog

%files -f GConf2.lang
%_bindir/*
%_sbindir/gconf*
%_libexecdir/gconfd-2
%_libexecdir/gconf-defaults-mechanism
%_datadir/sgml/gconf
%dir %_datadir/gconf
%dir %_datadir/GConf
%_datadir/GConf/*
%_datadir/gconf/gconf2-strip-locales.sh
%_datadir/gconf/gconf2-strip-locales.xsl
%_datadir/dbus-1/services/org.gnome.GConf.service
%_datadir/dbus-1/system-services/org.gnome.GConf.Defaults.service
%_datadir/PolicyKit/policy/org.gnome.gconf.defaults.policy
%dir %_sysconfdir/gconf
%dir %_sysconfdir/gconf/2
%dir %_sysconfdir/gconf/gconf.xml.defaults
%dir %_sysconfdir/gconf/gconf.xml.mandatory
%dir %_sysconfdir/gconf/gconf.xml.system
%dir %_sysconfdir/gconf/schemas
%dir %_cachedir/gconf
%dir %_cachedir/gconf/gconf.xml.defaults
%dir %_cachedir/gconf/gconf.xml.mandatory
%dir %_cachedir/gconf/gconf.xml.system
%config(noreplace) %_sysconfdir/gconf/2/path
%config(noreplace) %_sysconfdir/gconf/2/evoldap.conf
%config(noreplace) %_sysconfdir/gconf/schema-install-source
%config(noreplace) %_sysconfdir/dbus-1/system.d/org.gnome.GConf.Defaults.conf
%_man1dir/*
%doc AUTHORS ChangeLog.bz2 NEWS README

%files -n lib%name
%_libdir/*.so.*
%dir %_libdir/GConf
%dir %_libdir/GConf/2
%_libdir/GConf/2/*.so

%files sanity-check
%_libexecdir/gconf-sanity-check-2

%files -n lib%name-devel
%_libdir/*.so
%_includedir/*
%_pkgconfigdir/*
%_datadir/aclocal/*
%config %_rpmmacrosdir/%name
%_sysconfdir/buildreqs/files/ignore.d/gconf

%files -n lib%name-devel-doc
%_datadir/gtk-doc/html/*

%if_enabled static
%files -n lib%name-devel-static
%_libdir/*.a
%_libdir/GConf/2/*.a
%endif

%exclude %_libdir/GConf/*/*.la

%changelog

Full changelog you can see here

 
design & coding: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
current maintainer: Michael Shigorin