Accepting request 50546 from home:vuntz:branches:GNOME:Factory

OBS-URL: https://build.opensuse.org/request/show/50546
OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/glib2?expand=0&rev=106
This commit is contained in:
Vincent Untz 2010-10-14 07:46:51 +00:00 committed by Git OBS Bridge
parent d17d8eaee0
commit 6b2be158b8
2 changed files with 144 additions and 95 deletions

View File

@ -1,3 +1,33 @@
-------------------------------------------------------------------
Wed Oct 13 11:11:20 CEST 2010 - vuntz@opensuse.org
- Pass --with-runtime-libdir=../../%{_lib} to configure to install
libraries (just the .so.*, not the .so) in /lib(64)? instead of
/usr/lib(64)?.
+ This makes sense since most and most tools used during early
boot stage need glib libraries, and the libraries only link
against other libraries in /lib(64)? already.
+ It's worth mentioning that gio modules and all the GSettings
API do require /usr, though: gio modules are installed in
/usr/lib(64)?/gio and GSettings need
/usr/share/glib-2.0/schemas. This shouldn't be an issue during
early boot, since those API don't really make sense there.
- Create a devel-static subpackage, to put the static libraries. It
depends on the devel subpackage.
- Remove glib2-64bit Obsoletes from libgmodule-2_0-0, libgio-2_0-0,
libgthread-2_0-0, libgobject-2_0-0: it's already done by
libglib-2_0-0, and all those libraries depend on libglib-2_0-0.
- Update summaries and descriptions.
- Change the license tag of all packages to LGPLv2+, instead of a
mix of LGPLv2.1+ and GPLv2+ which are both wrong.
- Change groups of most subpackages to System/Libraries, instead of
Development/Libraries/C and C++.
- Use find to remove .la files instead of manual rm.
- Put comments that are in the scriptlets area of the spec file in
"%if 0" statement: if we don't do that, they actually end up in
the scriplets and can even make them fail if the scriptlets were
just "-p /sbin/ldconfig".
------------------------------------------------------------------- -------------------------------------------------------------------
Tue Oct 12 00:14:59 CEST 2010 - vuntz@opensuse.org Tue Oct 12 00:14:59 CEST 2010 - vuntz@opensuse.org

View File

@ -24,10 +24,10 @@ Version: 2.27.0
Release: 1 Release: 1
# FIXME: change zlib-devel to pkgconfig(zlib) once we have a recent enough version of zlib # FIXME: change zlib-devel to pkgconfig(zlib) once we have a recent enough version of zlib
# FIXME: find out if tapsets should really be in devel package or in main package # FIXME: find out if tapsets should really be in devel package or in main package
License: LGPLv2.1+ License: LGPLv2+
Summary: A Library with Convenient Functions Written in C Summary: General-Purpose Utility Library
Url: http://www.gtk.org/ Url: http://www.gtk.org/
Group: Development/Libraries/C and C++ Group: System/Libraries
Source: ftp://ftp.gnome.org/pub/GNOME/sources/%{_name}/2.14/%{_name}-%{version}.tar.bz2 Source: ftp://ftp.gnome.org/pub/GNOME/sources/%{_name}/2.14/%{_name}-%{version}.tar.bz2
Source1: glib2.sh Source1: glib2.sh
Source2: glib2.csh Source2: glib2.csh
@ -66,22 +66,24 @@ PreReq: /bin/sed
BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description %description
This library provides convenient functions, such as lists and hashes, GLib is a general-purpose utility library, which provides many useful
to a C programmer and is used by Gtk+ and GNOME. data types, macros, type conversions, string utilities, file utilities,
a main loop abstraction, and so on.
%package tools %package tools
License: LGPLv2.1+ License: LGPLv2+
Summary: A Library with Convenient Functions Written in C -- Tools Summary: General-Purpose Utility Library -- Tools
Group: Development/Libraries/C and C++ Group: Development/Libraries/C and C++
%description tools %description tools
This library provides convenient functions, such as lists and hashes, GLib is a general-purpose utility library, which provides many useful
to a C programmer and is used by Gtk+ and GNOME. data types, macros, type conversions, string utilities, file utilities,
a main loop abstraction, and so on.
%package branding-upstream %package branding-upstream
License: LGPLv2.1+ License: LGPLv2+
Summary: Definition of GNOME Default Applications Summary: Definition of GNOME Default Applications
Group: Development/Libraries/C and C++ Group: System/Libraries
Provides: %{name}-branding = %{version} Provides: %{name}-branding = %{version}
Conflicts: otherproviders(%{name}-branding) Conflicts: otherproviders(%{name}-branding)
Supplements: packageand(%{name}:branding-upstream) Supplements: packageand(%{name}:branding-upstream)
@ -102,7 +104,7 @@ distribution wise GNOME defaults.
%package devel %package devel
#' #'
License: GPLv2+ License: LGPLv2+
Requires: %{name} = %{version} pkg-config glibc-devel Requires: %{name} = %{version} pkg-config glibc-devel
# Now require the subpackages too # Now require the subpackages too
Requires: glib2-tools = %{version} Requires: glib2-tools = %{version}
@ -113,7 +115,7 @@ Requires: libgthread-2_0-0 = %{version}
Requires: libgobject-2_0-0 = %{version} Requires: libgobject-2_0-0 = %{version}
Provides: glib2-doc = 2.19.6 Provides: glib2-doc = 2.19.6
Obsoletes: glib2-doc < 2.19.6 Obsoletes: glib2-doc < 2.19.6
Summary: Include files and libraries mandatory for development Summary: General-Purpose Utility Library -- Development Files
Group: Development/Libraries/C and C++ Group: Development/Libraries/C and C++
# bug437293 # bug437293
%ifarch ppc64 %ifarch ppc64
@ -122,17 +124,29 @@ Obsoletes: glib2-devel-64bit
# #
%description devel %description devel
This package contains all necessary include files, libraries, GLib is a general-purpose utility library, which provides many useful
configuration files and development tools (with manual pages) needed to data types, macros, type conversions, string utilities, file utilities,
compile and link applications using the glib library. a main loop abstraction, and so on.
The glib library provides convenient functions, such as lists and This package contains the development files for GLib.
hashes, to a C programmer and is used by Gtk+ and GNOME.
%package devel-static
License: LGPLv2+
Requires: %{name}-devel = %{version}
Summary: General-Purpose Utility Library -- Static Libraries
Group: Development/Libraries/C and C++
%description devel-static
GLib is a general-purpose utility library, which provides many useful
data types, macros, type conversions, string utilities, file utilities,
a main loop abstraction, and so on.
This package contains static versions of the GLib libraries.
%package -n libglib-2_0-0 %package -n libglib-2_0-0
License: LGPLv2.1+ License: LGPLv2+
Summary: A Library with Convenient Functions Written in C Summary: General-Purpose Utility Library
Group: Development/Libraries/C and C++ Group: System/Libraries
Requires: %{name}-branding = %{version} Requires: %{name}-branding = %{version}
Recommends: %{name}-lang = %{version} Recommends: %{name}-lang = %{version}
Provides: %{name} = %{version} Provides: %{name} = %{version}
@ -144,83 +158,81 @@ Obsoletes: glib2-64bit
# #
%description -n libglib-2_0-0 %description -n libglib-2_0-0
This library provides convenient functions, such as lists and hashes, GLib is a general-purpose utility library, which provides many useful
to a C programmer and is used by Gtk+ and GNOME. data types, macros, type conversions, string utilities, file utilities,
a main loop abstraction, and so on.
%package -n libgmodule-2_0-0 %package -n libgmodule-2_0-0
License: LGPLv2.1+ License: LGPLv2+
Summary: A Library with Convenient Functions Written in C Summary: General-Purpose Utility Library -- Library for Modules
Group: Development/Libraries/C and C++ Group: System/Libraries
# bug437293
%ifarch ppc64
Obsoletes: glib2-64bit
%endif
#
%description -n libgmodule-2_0-0 %description -n libgmodule-2_0-0
This library provides convenient functions, such as lists and hashes, GLib is a general-purpose utility library, which provides many useful
to a C programmer and is used by Gtk+ and GNOME. data types, macros, type conversions, string utilities, file utilities,
a main loop abstraction, and so on.
The libgmodule library provides a portable way to dynamically load
object files (commonly known as 'plug-ins').
%package -n libgio-2_0-0 %package -n libgio-2_0-0
License: LGPLv2.1+ License: LGPLv2+
Summary: A Library with Convenient Functions Written in C Summary: General-Purpose Utility Library -- Library for VFS
Group: Development/Libraries/C and C++ Group: System/Libraries
# bnc#555605: shared-mime-info is required by libgio to properly detect mime types. # bnc#555605: shared-mime-info is required by libgio to properly detect mime types.
Requires: shared-mime-info Requires: shared-mime-info
# The tools are useful for people having libgio # The tools are useful for people having libgio
Recommends: %{name}-tools Recommends: %{name}-tools
# bug437293
%ifarch ppc64
Obsoletes: glib2-64bit
%endif
#
# Temporarily disable this, pending further discussion # Temporarily disable this, pending further discussion
# Recommends: gvfs # Recommends: gvfs
%description -n libgio-2_0-0 %description -n libgio-2_0-0
This library provides convenient functions, such as lists and hashes, GLib is a general-purpose utility library, which provides many useful
to a C programmer and is used by Gtk+ and GNOME. data types, macros, type conversions, string utilities, file utilities,
a main loop abstraction, and so on.
GIO provides a modern, easy-to-use VFS API.
%package -n libgio-fam %package -n libgio-fam
License: LGPLv2.1+ License: LGPLv2+
Summary: A Library with Convenient Functions Written in C Summary: General-Purpose Utility Library -- GIO Module to use FAM
Group: Development/Libraries/C and C++ Group: System/Libraries
# we need gio-querymodules in %post/%postun # we need gio-querymodules in %post/%postun
Requires(post): %{name}-tools Requires(post): %{name}-tools
Requires(postun): %{name}-tools Requires(postun): %{name}-tools
Supplements: packageand(libgio-2_0-0:fam) Supplements: packageand(libgio-2_0-0:fam)
%description -n libgio-fam %description -n libgio-fam
This library provides convenient functions, such as lists and hashes, GLib is a general-purpose utility library, which provides many useful
to a C programmer and is used by Gtk+ and GNOME. data types, macros, type conversions, string utilities, file utilities,
a main loop abstraction, and so on.
This packages provides a GIO module to use FAM for file monitoring.
%package -n libgthread-2_0-0 %package -n libgthread-2_0-0
License: LGPLv2.1+ License: LGPLv2+
Summary: A Library with Convenient Functions Written in C Summary: General-Purpose Utility Library -- Library for Threads
Group: Development/Libraries/C and C++ Group: System/Libraries
# bug437293
%ifarch ppc64
Obsoletes: glib2-64bit
%endif
#
%description -n libgthread-2_0-0 %description -n libgthread-2_0-0
This library provides convenient functions, such as lists and hashes, GLib is a general-purpose utility library, which provides many useful
to a C programmer and is used by Gtk+ and GNOME. data types, macros, type conversions, string utilities, file utilities,
a main loop abstraction, and so on.
The libgthread library provides a portable way to write multi-threaded
software.
%package -n libgobject-2_0-0 %package -n libgobject-2_0-0
License: LGPLv2.1+ License: LGPLv2+
Summary: A Library with Convenient Functions Written in C Summary: General-Purpose Utility Library -- Object-Oriented Framework for C
Group: Development/Libraries/C and C++ Group: System/Libraries
# bug437293
%ifarch ppc64
Obsoletes: glib2-64bit
%endif
#
%description -n libgobject-2_0-0 %description -n libgobject-2_0-0
This library provides convenient functions, such as lists and hashes, GLib is a general-purpose utility library, which provides many useful
to a C programmer and is used by Gtk+ and GNOME. data types, macros, type conversions, string utilities, file utilities,
a main loop abstraction, and so on.
The GObject library provides an object-oriented framework for C.
%lang_package %lang_package
%prep %prep
@ -241,7 +253,8 @@ fi
--enable-static \ --enable-static \
--enable-selinux \ --enable-selinux \
--with-pcre=system \ --with-pcre=system \
--enable-systemtap --enable-systemtap \
--with-runtime-libdir=../../%{_lib}
%{__make} %{?_smp_mflags} %{__make} %{?_smp_mflags}
%check %check
@ -254,29 +267,29 @@ fi
%{__rm} %{buildroot}%{_datadir}/locale/en@shaw/LC_MESSAGES/* %{__rm} %{buildroot}%{_datadir}/locale/en@shaw/LC_MESSAGES/*
%endif %endif
%find_lang %{_name}20 %find_lang %{_name}20
mkdir -p $RPM_BUILD_ROOT/etc/profile.d mkdir -p %{buildroot}%{_sysconfdir}/profile.d
install -D -m0644 glib2.sh $RPM_BUILD_ROOT/etc/profile.d/zzz-glib2.sh install -D -m0644 glib2.sh %{buildroot}%{_sysconfdir}/profile.d/zzz-glib2.sh
install -D -m0644 glib2.csh $RPM_BUILD_ROOT/etc/profile.d/zzz-glib2.csh install -D -m0644 glib2.csh %{buildroot}%{_sysconfdir}/profile.d/zzz-glib2.csh
install -D -m0755 SuSEconfig.glib2 $RPM_BUILD_ROOT/sbin/conf.d/SuSEconfig.glib2 install -D -m0755 SuSEconfig.glib2 %{buildroot}/sbin/conf.d/SuSEconfig.glib2
install -D -m0644 gnome_defaults.conf $RPM_BUILD_ROOT%{_sysconfdir}/gnome_defaults.conf install -D -m0644 gnome_defaults.conf %{buildroot}%{_sysconfdir}/gnome_defaults.conf
# default apps magic # default apps magic
mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/cache/gio-2.0 $RPM_BUILD_ROOT%{_datadir}/applications mkdir -p %{buildroot}%{_localstatedir}/cache/gio-2.0 %{buildroot}%{_datadir}/applications
touch $RPM_BUILD_ROOT%{_localstatedir}/cache/gio-2.0/defaults.list touch %{buildroot}%{_localstatedir}/cache/gio-2.0/defaults.list
ln -s %{_localstatedir}/cache/gio-2.0/defaults.list $RPM_BUILD_ROOT%{_datadir}/applications/defaults.list ln -s %{_localstatedir}/cache/gio-2.0/defaults.list %{buildroot}%{_datadir}/applications/defaults.list
# gio-querymodules magic # gio-querymodules magic
%if "%{_lib}" == "lib64" %if "%{_lib}" == "lib64"
mv $RPM_BUILD_ROOT%{_bindir}/gio-querymodules $RPM_BUILD_ROOT%{_bindir}/gio-querymodules-64 mv %{buildroot}%{_bindir}/gio-querymodules %{buildroot}%{_bindir}/gio-querymodules-64
%endif %endif
touch $RPM_BUILD_ROOT%{_libdir}/gio/modules/giomodule.cache touch %{buildroot}%{_libdir}/gio/modules/giomodule.cache
# gsettings magic # gsettings magic
touch $RPM_BUILD_ROOT%{_datadir}/glib-2.0/schemas/gschemas.compiled touch %{buildroot}%{_datadir}/glib-2.0/schemas/gschemas.compiled
# remove files we don't care about # remove files we don't care about
rm $RPM_BUILD_ROOT%{_libdir}/gio/modules/libgiofam.*a find %{buildroot}%{_libdir} -name '*.la' -type f -delete -print
rm $RPM_BUILD_ROOT%{_libdir}/*.la rm %{buildroot}%{_libdir}/gio/modules/libgiofam.a
# Install rpm macros # Install rpm macros
mkdir -p %{buildroot}%{_sysconfdir}/rpm mkdir -p %{buildroot}%{_sysconfdir}/rpm
cp %{S:5} %{buildroot}%{_sysconfdir}/rpm cp %{S:5} %{buildroot}%{_sysconfdir}/rpm
%fdupes $RPM_BUILD_ROOT %fdupes %{buildroot}
%posttrans %posttrans
# If it is an upgrade and gnome_defaults.conf were edited, # If it is an upgrade and gnome_defaults.conf were edited,
@ -302,10 +315,12 @@ fi
%post -n libgmodule-2_0-0 -p /sbin/ldconfig %post -n libgmodule-2_0-0 -p /sbin/ldconfig
%post -n libgio-fam
%if 0
############################################################################### ###############################################################################
# Note: when updating this scriptlet, don't forget to also update baselibs.conf # Note: when updating this scriptlet, don't forget to also update baselibs.conf
############################################################################### ###############################################################################
%post -n libgio-fam %endif
%if "%{_lib}" == "lib64" %if "%{_lib}" == "lib64"
%{_bindir}/gio-querymodules-64 %{_libdir}/gio/modules %{_bindir}/gio-querymodules-64 %{_libdir}/gio/modules
%else %else
@ -322,10 +337,12 @@ fi
%postun -n libgmodule-2_0-0 -p /sbin/ldconfig %postun -n libgmodule-2_0-0 -p /sbin/ldconfig
%postun -n libgio-fam
%if 0
############################################################################### ###############################################################################
# Note: when updating this scriptlet, don't forget to also update baselibs.conf # Note: when updating this scriptlet, don't forget to also update baselibs.conf
############################################################################### ###############################################################################
%postun -n libgio-fam %endif
%if "%{_lib}" == "lib64" %if "%{_lib}" == "lib64"
%{_bindir}/gio-querymodules-64 %{_libdir}/gio/modules %{_bindir}/gio-querymodules-64 %{_libdir}/gio/modules
%else %else
@ -333,7 +350,7 @@ fi
%endif %endif
%clean %clean
rm -rf $RPM_BUILD_ROOT rm -rf %{buildroot}
%files tools %files tools
%defattr(-,root,root) %defattr(-,root,root)
@ -360,23 +377,23 @@ rm -rf $RPM_BUILD_ROOT
%files -n libglib-2_0-0 %files -n libglib-2_0-0
%defattr(-, root, root) %defattr(-, root, root)
%doc AUTHORS COPYING README NEWS ChangeLog %doc AUTHORS COPYING README NEWS ChangeLog
%{_libdir}/libglib*.so.* /%{_lib}/libglib*.so.*
%files -n libgmodule-2_0-0 %files -n libgmodule-2_0-0
%defattr(-, root, root) %defattr(-, root, root)
%{_libdir}/libgmodule*.so.* /%{_lib}/libgmodule*.so.*
%files -n libgobject-2_0-0 %files -n libgobject-2_0-0
%defattr(-, root, root) %defattr(-, root, root)
%{_libdir}/libgobject*.so.* /%{_lib}/libgobject*.so.*
%files -n libgthread-2_0-0 %files -n libgthread-2_0-0
%defattr(-, root, root) %defattr(-, root, root)
%{_libdir}/libgthread*.so.* /%{_lib}/libgthread*.so.*
%files -n libgio-2_0-0 %files -n libgio-2_0-0
%defattr(-, root, root) %defattr(-, root, root)
%{_libdir}/libgio*.so.* /%{_lib}/libgio*.so.*
%dir %{_libdir}/gio %dir %{_libdir}/gio
%dir %{_libdir}/gio/modules %dir %{_libdir}/gio/modules
%ghost %{_libdir}/gio/modules/giomodule.cache %ghost %{_libdir}/gio/modules/giomodule.cache
@ -415,14 +432,13 @@ rm -rf $RPM_BUILD_ROOT
%{_includedir}/glib-2.0 %{_includedir}/glib-2.0
%{_includedir}/gio-unix-2.0 %{_includedir}/gio-unix-2.0
%{_libdir}/lib*.so %{_libdir}/lib*.so
%{_libdir}/lib*.*a
%dir %{_libdir}/glib-2.0/ %dir %{_libdir}/glib-2.0/
%{_libdir}/glib-2.0/include/ %{_libdir}/glib-2.0/include/
%{_libdir}/pkgconfig/*.pc %{_libdir}/pkgconfig/*.pc
%{_datadir}/gtk-doc/html/gio %{_datadir}/gtk-doc/html/gio
%{_datadir}/gtk-doc/html/glib %{_datadir}/gtk-doc/html/glib
%{_datadir}/gtk-doc/html/gobject %{_datadir}/gtk-doc/html/gobject
%{_datadir}/gdb/auto-load/%{_libdir}/*-gdb.py %{_datadir}/gdb/auto-load/%{_lib}/*-gdb.py
%{_datadir}/systemtap/tapset/*.stp %{_datadir}/systemtap/tapset/*.stp
%{_sysconfdir}/rpm/macros.glib2 %{_sysconfdir}/rpm/macros.glib2
# Own these directories to not depend on gtk-doc while building: # Own these directories to not depend on gtk-doc while building:
@ -431,7 +447,10 @@ rm -rf $RPM_BUILD_ROOT
# Own these directories to not depend on gdb # Own these directories to not depend on gdb
%dir %{_datadir}/gdb %dir %{_datadir}/gdb
%dir %{_datadir}/gdb/auto-load %dir %{_datadir}/gdb/auto-load
%dir %{_datadir}/gdb/auto-load/%{_prefix} %dir %{_datadir}/gdb/auto-load/%{_lib}
%dir %{_datadir}/gdb/auto-load/%{_prefix}/%{_lib}
%files devel-static
%defattr(-,root,root)
%{_libdir}/lib*.a
%changelog %changelog