diff --git a/glib2.changes b/glib2.changes index 09e1eac..df2019b 100644 --- a/glib2.changes +++ b/glib2.changes @@ -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 diff --git a/glib2.spec b/glib2.spec index 33bd6c8..72646b1 100644 --- a/glib2.spec +++ b/glib2.spec @@ -21,13 +21,13 @@ Name: glib2 %define _name glib Version: 2.27.0 -Release: 1 +Release: 2 # 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 -License: LGPLv2.1+ -Summary: A Library with Convenient Functions Written in C +License: LGPLv2+ +Summary: General-Purpose Utility Library 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 Source1: glib2.sh Source2: glib2.csh @@ -66,22 +66,24 @@ PreReq: /bin/sed BuildRoot: %{_tmppath}/%{name}-%{version}-build %description -This library provides convenient functions, such as lists and hashes, -to a C programmer and is used by Gtk+ and GNOME. +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. %package tools -License: LGPLv2.1+ -Summary: A Library with Convenient Functions Written in C -- Tools +License: LGPLv2+ +Summary: General-Purpose Utility Library -- Tools Group: Development/Libraries/C and C++ %description tools -This library provides convenient functions, such as lists and hashes, -to a C programmer and is used by Gtk+ and GNOME. +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. %package branding-upstream -License: LGPLv2.1+ +License: LGPLv2+ Summary: Definition of GNOME Default Applications -Group: Development/Libraries/C and C++ +Group: System/Libraries Provides: %{name}-branding = %{version} Conflicts: otherproviders(%{name}-branding) Supplements: packageand(%{name}:branding-upstream) @@ -102,7 +104,7 @@ distribution wise GNOME defaults. %package devel #' -License: GPLv2+ +License: LGPLv2+ Requires: %{name} = %{version} pkg-config glibc-devel # Now require the subpackages too Requires: glib2-tools = %{version} @@ -113,7 +115,7 @@ Requires: libgthread-2_0-0 = %{version} Requires: libgobject-2_0-0 = %{version} Provides: 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++ # bug437293 %ifarch ppc64 @@ -122,17 +124,29 @@ Obsoletes: glib2-devel-64bit # %description devel -This package contains all necessary include files, libraries, -configuration files and development tools (with manual pages) needed to -compile and link applications using the glib library. +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. -The glib library provides convenient functions, such as lists and -hashes, to a C programmer and is used by Gtk+ and GNOME. +This package contains the development files for GLib. + +%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 -License: LGPLv2.1+ -Summary: A Library with Convenient Functions Written in C -Group: Development/Libraries/C and C++ +License: LGPLv2+ +Summary: General-Purpose Utility Library +Group: System/Libraries Requires: %{name}-branding = %{version} Recommends: %{name}-lang = %{version} Provides: %{name} = %{version} @@ -144,83 +158,81 @@ Obsoletes: glib2-64bit # %description -n libglib-2_0-0 -This library provides convenient functions, such as lists and hashes, -to a C programmer and is used by Gtk+ and GNOME. +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. %package -n libgmodule-2_0-0 -License: LGPLv2.1+ -Summary: A Library with Convenient Functions Written in C -Group: Development/Libraries/C and C++ -# bug437293 -%ifarch ppc64 -Obsoletes: glib2-64bit -%endif -# +License: LGPLv2+ +Summary: General-Purpose Utility Library -- Library for Modules +Group: System/Libraries %description -n libgmodule-2_0-0 -This library provides convenient functions, such as lists and hashes, -to a C programmer and is used by Gtk+ and GNOME. +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. + +The libgmodule library provides a portable way to dynamically load +object files (commonly known as 'plug-ins'). %package -n libgio-2_0-0 -License: LGPLv2.1+ -Summary: A Library with Convenient Functions Written in C -Group: Development/Libraries/C and C++ +License: LGPLv2+ +Summary: General-Purpose Utility Library -- Library for VFS +Group: System/Libraries # bnc#555605: shared-mime-info is required by libgio to properly detect mime types. Requires: shared-mime-info # The tools are useful for people having libgio Recommends: %{name}-tools -# bug437293 -%ifarch ppc64 -Obsoletes: glib2-64bit -%endif -# # Temporarily disable this, pending further discussion # Recommends: gvfs %description -n libgio-2_0-0 -This library provides convenient functions, such as lists and hashes, -to a C programmer and is used by Gtk+ and GNOME. +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. + +GIO provides a modern, easy-to-use VFS API. %package -n libgio-fam -License: LGPLv2.1+ -Summary: A Library with Convenient Functions Written in C -Group: Development/Libraries/C and C++ +License: LGPLv2+ +Summary: General-Purpose Utility Library -- GIO Module to use FAM +Group: System/Libraries # we need gio-querymodules in %post/%postun Requires(post): %{name}-tools Requires(postun): %{name}-tools Supplements: packageand(libgio-2_0-0:fam) %description -n libgio-fam -This library provides convenient functions, such as lists and hashes, -to a C programmer and is used by Gtk+ and GNOME. +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 packages provides a GIO module to use FAM for file monitoring. %package -n libgthread-2_0-0 -License: LGPLv2.1+ -Summary: A Library with Convenient Functions Written in C -Group: Development/Libraries/C and C++ -# bug437293 -%ifarch ppc64 -Obsoletes: glib2-64bit -%endif -# +License: LGPLv2+ +Summary: General-Purpose Utility Library -- Library for Threads +Group: System/Libraries %description -n libgthread-2_0-0 -This library provides convenient functions, such as lists and hashes, -to a C programmer and is used by Gtk+ and GNOME. +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. + +The libgthread library provides a portable way to write multi-threaded +software. %package -n libgobject-2_0-0 -License: LGPLv2.1+ -Summary: A Library with Convenient Functions Written in C -Group: Development/Libraries/C and C++ -# bug437293 -%ifarch ppc64 -Obsoletes: glib2-64bit -%endif -# +License: LGPLv2+ +Summary: General-Purpose Utility Library -- Object-Oriented Framework for C +Group: System/Libraries %description -n libgobject-2_0-0 -This library provides convenient functions, such as lists and hashes, -to a C programmer and is used by Gtk+ and GNOME. +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. + +The GObject library provides an object-oriented framework for C. %lang_package %prep @@ -241,7 +253,8 @@ fi --enable-static \ --enable-selinux \ --with-pcre=system \ - --enable-systemtap + --enable-systemtap \ + --with-runtime-libdir=../../%{_lib} %{__make} %{?_smp_mflags} %check @@ -254,29 +267,29 @@ fi %{__rm} %{buildroot}%{_datadir}/locale/en@shaw/LC_MESSAGES/* %endif %find_lang %{_name}20 -mkdir -p $RPM_BUILD_ROOT/etc/profile.d -install -D -m0644 glib2.sh $RPM_BUILD_ROOT/etc/profile.d/zzz-glib2.sh -install -D -m0644 glib2.csh $RPM_BUILD_ROOT/etc/profile.d/zzz-glib2.csh -install -D -m0755 SuSEconfig.glib2 $RPM_BUILD_ROOT/sbin/conf.d/SuSEconfig.glib2 -install -D -m0644 gnome_defaults.conf $RPM_BUILD_ROOT%{_sysconfdir}/gnome_defaults.conf +mkdir -p %{buildroot}%{_sysconfdir}/profile.d +install -D -m0644 glib2.sh %{buildroot}%{_sysconfdir}/profile.d/zzz-glib2.sh +install -D -m0644 glib2.csh %{buildroot}%{_sysconfdir}/profile.d/zzz-glib2.csh +install -D -m0755 SuSEconfig.glib2 %{buildroot}/sbin/conf.d/SuSEconfig.glib2 +install -D -m0644 gnome_defaults.conf %{buildroot}%{_sysconfdir}/gnome_defaults.conf # default apps magic -mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/cache/gio-2.0 $RPM_BUILD_ROOT%{_datadir}/applications -touch $RPM_BUILD_ROOT%{_localstatedir}/cache/gio-2.0/defaults.list -ln -s %{_localstatedir}/cache/gio-2.0/defaults.list $RPM_BUILD_ROOT%{_datadir}/applications/defaults.list +mkdir -p %{buildroot}%{_localstatedir}/cache/gio-2.0 %{buildroot}%{_datadir}/applications +touch %{buildroot}%{_localstatedir}/cache/gio-2.0/defaults.list +ln -s %{_localstatedir}/cache/gio-2.0/defaults.list %{buildroot}%{_datadir}/applications/defaults.list # gio-querymodules magic %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 -touch $RPM_BUILD_ROOT%{_libdir}/gio/modules/giomodule.cache +touch %{buildroot}%{_libdir}/gio/modules/giomodule.cache # 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 -rm $RPM_BUILD_ROOT%{_libdir}/gio/modules/libgiofam.*a -rm $RPM_BUILD_ROOT%{_libdir}/*.la +find %{buildroot}%{_libdir} -name '*.la' -type f -delete -print +rm %{buildroot}%{_libdir}/gio/modules/libgiofam.a # Install rpm macros mkdir -p %{buildroot}%{_sysconfdir}/rpm cp %{S:5} %{buildroot}%{_sysconfdir}/rpm -%fdupes $RPM_BUILD_ROOT +%fdupes %{buildroot} %posttrans # If it is an upgrade and gnome_defaults.conf were edited, @@ -302,11 +315,12 @@ fi %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 ############################################################################### - -%post -n libgio-fam +%endif %if "%{_lib}" == "lib64" %{_bindir}/gio-querymodules-64 %{_libdir}/gio/modules %else @@ -323,11 +337,12 @@ fi %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 ############################################################################### - -%postun -n libgio-fam +%endif %if "%{_lib}" == "lib64" %{_bindir}/gio-querymodules-64 %{_libdir}/gio/modules %else @@ -335,7 +350,7 @@ fi %endif %clean -rm -rf $RPM_BUILD_ROOT +rm -rf %{buildroot} %files tools %defattr(-,root,root) @@ -362,23 +377,23 @@ rm -rf $RPM_BUILD_ROOT %files -n libglib-2_0-0 %defattr(-, root, root) %doc AUTHORS COPYING README NEWS ChangeLog -%{_libdir}/libglib*.so.* +/%{_lib}/libglib*.so.* %files -n libgmodule-2_0-0 %defattr(-, root, root) -%{_libdir}/libgmodule*.so.* +/%{_lib}/libgmodule*.so.* %files -n libgobject-2_0-0 %defattr(-, root, root) -%{_libdir}/libgobject*.so.* +/%{_lib}/libgobject*.so.* %files -n libgthread-2_0-0 %defattr(-, root, root) -%{_libdir}/libgthread*.so.* +/%{_lib}/libgthread*.so.* %files -n libgio-2_0-0 %defattr(-, root, root) -%{_libdir}/libgio*.so.* +/%{_lib}/libgio*.so.* %dir %{_libdir}/gio %dir %{_libdir}/gio/modules %ghost %{_libdir}/gio/modules/giomodule.cache @@ -417,14 +432,13 @@ rm -rf $RPM_BUILD_ROOT %{_includedir}/glib-2.0 %{_includedir}/gio-unix-2.0 %{_libdir}/lib*.so -%{_libdir}/lib*.*a %dir %{_libdir}/glib-2.0/ %{_libdir}/glib-2.0/include/ %{_libdir}/pkgconfig/*.pc %{_datadir}/gtk-doc/html/gio %{_datadir}/gtk-doc/html/glib %{_datadir}/gtk-doc/html/gobject -%{_datadir}/gdb/auto-load/%{_libdir}/*-gdb.py +%{_datadir}/gdb/auto-load/%{_lib}/*-gdb.py %{_datadir}/systemtap/tapset/*.stp %{_sysconfdir}/rpm/macros.glib2 # Own these directories to not depend on gtk-doc while building: @@ -433,7 +447,10 @@ rm -rf $RPM_BUILD_ROOT # Own these directories to not depend on gdb %dir %{_datadir}/gdb %dir %{_datadir}/gdb/auto-load -%dir %{_datadir}/gdb/auto-load/%{_prefix} -%dir %{_datadir}/gdb/auto-load/%{_prefix}/%{_lib} +%dir %{_datadir}/gdb/auto-load/%{_lib} + +%files devel-static +%defattr(-,root,root) +%{_libdir}/lib*.a %changelog