OBS User unknown 2008-04-02 17:05:41 +00:00 committed by Git OBS Bridge
parent d8b8569a14
commit 144508939d
7 changed files with 740 additions and 11 deletions

144
SuSEconfig.glib2 Normal file
View File

@ -0,0 +1,144 @@
#! /bin/sh
#
# Copyright (c) 2006 SuSE
# Author: Stanislav Brabec <sbrabec@suse.cz>
#
# Creates defaults.list from gnome_defaults.conf using only available
# applications and preferring GNOME and GTK applications.
#
# See /etc/gnome_defaults.conf for algorithm description.
shopt -s nullglob
unset DUMMY ${!MIME_*} ${!APP_*} ${!DEFAULT_*} ${!PREFDEFAULT_*} ${!DEFDESKTOP_*}
# Ensure, that $XDG_DATA_DIRS is set properly. (#71978, #240603)
if test "$PROFILEREAD" != true ; then
. $r/etc/profile
fi
# Read defaults.list and set applications as best candidates.
exec <$r/etc/gnome_defaults.conf
while read ; do
case "$REPLY" in
"[Default Applications]" | "#"* | "" )
;;
# Is is default application for particular MIME type?
*=* )
# Strip optional priority record (and ignore it - no GNOME app uses it).
MIME=${REPLY%%=*}
# Replace special characters.
MIMES=${MIME//_/__}
MIMES=${MIMES//\//_S}
MIMES=${MIMES//-/_M}
MIMES=${MIMES//+/_P}
MIMES=${MIMES//./_D}
eval DEFAULT_${MIMES}\=${REPLY#*=}
;;
# Is it preferred default application?
!* )
DESKTOP=${REPLY#!}
DESKTOPS=${DESKTOP//_/__}
DESKTOPS=${DESKTOPS//-/_M}
DESKTOPS=${DESKTOPS//+/_P}
DESKTOPS=${DESKTOPS//./_D}
DESKTOPS=${DESKTOPS// /_S}
DESKTOPS=${DESKTOPS//:/_C}
eval DEFDESKTOP_$DESKTOPS\=PREFDEFAULT
;;
# Is it default application?
* )
DESKTOP=${REPLY}
DESKTOPS=${DESKTOP//_/__}
DESKTOPS=${DESKTOPS//-/_M}
DESKTOPS=${DESKTOPS//+/_P}
DESKTOPS=${DESKTOPS//./_D}
DESKTOPS=${DESKTOPS// /_S}
DESKTOPS=${DESKTOPS//:/_C}
eval DEFDESKTOP_$DESKTOPS\=DEFAULT
;;
esac
done
exec <&-
IFS="$IFS:;"
# Browse all desktop files
for DIR in ${XDG_DATA_DIRS:-/usr/local/share:/usr/share} ; do
for DESKTOP in $r$DIR/applications/*.desktop ; do
DESKTOPN=${DESKTOP##*/}
DESKTOPS=${DESKTOPN//_/__}
DESKTOPS=${DESKTOPS//-/_M}
DESKTOPS=${DESKTOPS//+/_P}
DESKTOPS=${DESKTOPS//./_D}
DESKTOPS=${DESKTOPS// /_S}
DESKTOPS=${DESKTOPS//:/_C}
IS_DEFAULT_DESKTOP=false
eval "if test \"\$DEFDESKTOP_$DESKTOPS\" ; then
IS_DEFAULT_DESKTOP=true
DEFTYPE=\$DEFDESKTOP_$DESKTOPS
fi"
exec <"$DESKTOP"
CATEGORIES=
MIMETYPE=
while read ; do
case "$REPLY" in
Categories=* )
CATEGORIES="${REPLY#Categories=}"
;;
MimeType=* )
MIMETYPE="${REPLY#MimeType=}"
;;
esac
done
exec <&-
# Is it a GNOME application?
APPTYPE=GENERIC
if test "$CATEGORIES" != "${CATEGORIES/GTK}" ; then
APPTYPE=GTK
fi
if test "$CATEGORIES" != "${CATEGORIES/GNOME}" ; then
APPTYPE=GNOME
fi
if $IS_DEFAULT_DESKTOP ; then
APPTYPE=$DEFTYPE
fi
for MIME in $MIMETYPE ; do
# Strip optional priority record (and ignore it - no GNOME app uses it).
MIME=${MIME%:*}
# Replace special characters.
MIMES=${MIME//_/__}
MIMES=${MIMES//\//_S}
MIMES=${MIMES//-/_M}
MIMES=${MIMES//+/_P}
MIMES=${MIMES//./_D}
eval MIME_$MIMES\=$MIME
IS_DEFAULT=false
eval "if test \"\$DEFAULT_$MIMES\" = \"\$DESKTOPN\" ; then
IS_DEFAULT=true
fi"
if $IS_DEFAULT ; then
eval APP_DEFAULT_$MIMES\=\"\$DESKTOPN\"
else
eval APP_${APPTYPE}_$MIMES\=\"\$DESKTOPN\"
fi
done
done
done
exec >$r/var/cache/gio-2.0/defaults.list
echo "# generated by SuSEconfig --module glib2 from /etc/gnome_defaults.conf"
echo "[Default Applications]"
# Browse all offered MIME types and write defaults.list.
for MIMES in ${!MIME_*} ; do
eval MIME\=\$$MIMES
MIMES=${MIMES#MIME_}
# Try GNOME applications first, then GTK, then generic.
for APPTYPE in PREFDEFAULT DEFAULT DEFDESKTOP GNOME GTK GENERIC ; do
eval "if test \"\$APP_${APPTYPE}_$MIMES\" ; then
echo \"$MIME=\$APP_${APPTYPE}_$MIMES\" ;
break ;
fi"
done
done
exec >&-

2
baselibs.conf Normal file
View File

@ -0,0 +1,2 @@
glib2
arch ppc64 package glib2-devel

View File

@ -0,0 +1,52 @@
https://bugzilla.novell.com/show_bug.cgi?id=373149 backport glib performance patches for GBookmark
2008-03-22 Emmanuele Bassi <ebassi@gnome.org>
Bug 518160 - replace two g_strdup_printf calls in GBookmarkFile
* glib/gbookmarkfile.c (is_element_full): Compare the fragments
instead of building two strings; this avoids two g_strdup_printf()
per namespaced element enountered. (#518160, Felix Riemann)
git-svn-id: svn+ssh://svn.gnome.org/svn/glib/trunk@6751 5bbd4a9e-d125-0410-bf1d-f987e7eefc80
diff --git a/glib/gbookmarkfile.c b/glib/gbookmarkfile.c
index 048df0e..5cf320d 100644
--- a/glib/gbookmarkfile.c
+++ b/glib/gbookmarkfile.c
@@ -998,7 +998,7 @@ is_element_full (ParseData *parse_data,
const gchar *element,
const gchar sep)
{
- gchar *ns_uri, *ns_name, *s, *resolved;
+ gchar *ns_uri, *ns_name;
const gchar *p, *element_name;
gboolean retval;
@@ -1017,7 +1017,7 @@ is_element_full (ParseData *parse_data,
* namespace has been set, just do a plain comparison between @full_element
* and @element.
*/
- p = strchr (element_full, ':');
+ p = g_utf8_strchr (element_full, -1, ':');
if (p)
{
ns_name = g_strndup (element_full, p - element_full);
@@ -1037,14 +1037,11 @@ is_element_full (ParseData *parse_data,
return (0 == strcmp (element_full, element));
}
-
- resolved = g_strdup_printf ("%s%c%s", ns_uri, sep, element_name);
- s = g_strdup_printf ("%s%c%s", namespace, sep, element);
- retval = (0 == strcmp (resolved, s));
+
+ retval = (0 == strcmp (ns_uri, namespace) &&
+ 0 == strcmp (element_name, element));
g_free (ns_name);
- g_free (resolved);
- g_free (s);
return retval;
}

View File

@ -0,0 +1,411 @@
https://bugzilla.novell.com/show_bug.cgi?id=373149 backport glib performance patches for GBookmark
2008-03-22 Claudio Saavedra <csaavedra@gnome.org>
Bug 523877 gbookmarkfile: avoid using g_string_append_printf() and
other optimizations
* glib/gbookmarkfile.c: (bookmark_metadata_dump),
(bookmark_item_dump), (g_bookmark_file_dump), (expand_exec_line):
Replace all calls to g_string_append_printf with g_strconcat () or
g_string_append () where appropriate, to reduce the file creation time.
Also, use g_string_sized_new () with an appropriate buffer size instead
of g_string_new (NULL), to reduce time spent in memory reallocation.
(#523877, Claudio Saavedra, Emmanuele Bassi)
git-svn-id: svn+ssh://svn.gnome.org/svn/glib/trunk@6752 5bbd4a9e-d125-0410-bf1d-f987e7eefc80
diff --git a/glib/gbookmarkfile.c b/glib/gbookmarkfile.c
index 5cf320d..70ce6ee 100644
--- a/glib/gbookmarkfile.c
+++ b/glib/gbookmarkfile.c
@@ -339,56 +339,62 @@ static gchar *
bookmark_metadata_dump (BookmarkMetadata *metadata)
{
GString *retval;
+ gchar *buffer;
if (!metadata->applications)
return NULL;
- retval = g_string_new (NULL);
+ retval = g_string_sized_new (1024);
/* metadata container */
- g_string_append_printf (retval,
- " <%s %s=\"%s\">\n",
- XBEL_METADATA_ELEMENT,
- XBEL_OWNER_ATTRIBUTE, BOOKMARK_METADATA_OWNER);
-
+ g_string_append (retval,
+ " "
+ "<" XBEL_METADATA_ELEMENT
+ " " XBEL_OWNER_ATTRIBUTE "=\"" BOOKMARK_METADATA_OWNER
+ "\">\n");
+
/* mime type */
- if (metadata->mime_type)
- g_string_append_printf (retval,
- " <%s:%s %s=\"%s\"/>\n",
- MIME_NAMESPACE_NAME,
- MIME_TYPE_ELEMENT,
- MIME_TYPE_ATTRIBUTE, metadata->mime_type);
-
+ if (metadata->mime_type) {
+ buffer = g_strconcat (" "
+ "<" MIME_NAMESPACE_NAME ":" MIME_TYPE_ELEMENT " "
+ MIME_TYPE_ATTRIBUTE "=\"", metadata->mime_type, "\"/>\n",
+ NULL);
+ g_string_append (retval, buffer);
+ g_free (buffer);
+ }
+
if (metadata->groups)
{
GList *l;
/* open groups container */
- g_string_append_printf (retval,
- " <%s:%s>\n",
- BOOKMARK_NAMESPACE_NAME,
- BOOKMARK_GROUPS_ELEMENT);
+ g_string_append (retval,
+ " "
+ "<" BOOKMARK_NAMESPACE_NAME
+ ":" BOOKMARK_GROUPS_ELEMENT ">\n");
for (l = g_list_last (metadata->groups); l != NULL; l = l->prev)
{
gchar *group_name;
group_name = g_markup_escape_text ((gchar *) l->data, -1);
- g_string_append_printf (retval,
- " <%s:%s>%s</%s:%s>\n",
- BOOKMARK_NAMESPACE_NAME,
- BOOKMARK_GROUP_ELEMENT,
- group_name,
- BOOKMARK_NAMESPACE_NAME,
- BOOKMARK_GROUP_ELEMENT);
+ buffer = g_strconcat (" "
+ "<" BOOKMARK_NAMESPACE_NAME
+ ":" BOOKMARK_GROUP_ELEMENT ">",
+ group_name,
+ "</" BOOKMARK_NAMESPACE_NAME
+ ":" BOOKMARK_GROUP_ELEMENT ">\n", NULL);
+ g_string_append (retval, buffer);
+
+ g_free (buffer);
g_free (group_name);
}
/* close groups container */
- g_string_append_printf (retval,
- " </%s:%s>\n",
- BOOKMARK_NAMESPACE_NAME,
- BOOKMARK_GROUPS_ELEMENT);
+ g_string_append (retval,
+ " "
+ "</" BOOKMARK_NAMESPACE_NAME
+ ":" BOOKMARK_GROUPS_ELEMENT ">\n");
}
if (metadata->applications)
@@ -396,10 +402,10 @@ bookmark_metadata_dump (BookmarkMetadata *metadata)
GList *l;
/* open applications container */
- g_string_append_printf (retval,
- " <%s:%s>\n",
- BOOKMARK_NAMESPACE_NAME,
- BOOKMARK_APPLICATIONS_ELEMENT);
+ g_string_append (retval,
+ " "
+ "<" BOOKMARK_NAMESPACE_NAME
+ ":" BOOKMARK_APPLICATIONS_ELEMENT ">\n");
for (l = g_list_last (metadata->applications); l != NULL; l = l->prev)
{
@@ -419,10 +425,10 @@ bookmark_metadata_dump (BookmarkMetadata *metadata)
}
/* close applications container */
- g_string_append_printf (retval,
- " </%s:%s>\n",
- BOOKMARK_NAMESPACE_NAME,
- BOOKMARK_APPLICATIONS_ELEMENT);
+ g_string_append (retval,
+ " "
+ "</" BOOKMARK_NAMESPACE_NAME
+ ":" BOOKMARK_APPLICATIONS_ELEMENT ">\n");
}
/* icon */
@@ -430,24 +436,28 @@ bookmark_metadata_dump (BookmarkMetadata *metadata)
{
if (!metadata->icon_mime)
metadata->icon_mime = g_strdup ("application/octet-stream");
-
- g_string_append_printf (retval,
- " <%s:%s %s=\"%s\" %s=\"%s\"/>\n",
- BOOKMARK_NAMESPACE_NAME,
- BOOKMARK_ICON_ELEMENT,
- BOOKMARK_HREF_ATTRIBUTE, metadata->icon_href,
- BOOKMARK_TYPE_ATTRIBUTE, metadata->icon_mime);
+
+ buffer = g_strconcat (" "
+ "<" BOOKMARK_NAMESPACE_NAME
+ ":" BOOKMARK_ICON_ELEMENT
+ " " BOOKMARK_HREF_ATTRIBUTE "=\"", metadata->icon_href,
+ "\" " BOOKMARK_TYPE_ATTRIBUTE "=\"", metadata->icon_mime, "\"/>\n", NULL);
+ g_string_append (retval, buffer);
+
+ g_free (buffer);
}
/* private hint */
if (metadata->is_private)
- g_string_append_printf (retval,
- " <%s:%s/>\n",
- BOOKMARK_NAMESPACE_NAME,
- BOOKMARK_PRIVATE_ELEMENT);
+ g_string_append (retval,
+ " "
+ "<" BOOKMARK_NAMESPACE_NAME
+ ":" BOOKMARK_PRIVATE_ELEMENT "/>\n");
/* close metadata container */
- g_string_append_printf (retval, " </%s>\n", XBEL_METADATA_ELEMENT);
+ g_string_append (retval,
+ " "
+ "</" XBEL_METADATA_ELEMENT ">\n");
return g_string_free (retval, FALSE);
}
@@ -501,6 +511,7 @@ bookmark_item_dump (BookmarkItem *item)
GString *retval;
gchar *added, *visited, *modified;
gchar *escaped_uri;
+ gchar *buffer;
/* at this point, we must have at least a registered application; if we don't
* we don't screw up the bookmark file, and just skip this item
@@ -511,37 +522,45 @@ bookmark_item_dump (BookmarkItem *item)
return NULL;
}
- retval = g_string_new (NULL);
+ retval = g_string_sized_new (4096);
added = timestamp_to_iso8601 (item->added);
modified = timestamp_to_iso8601 (item->modified);
visited = timestamp_to_iso8601 (item->visited);
escaped_uri = g_markup_escape_text (item->uri, -1);
-
- g_string_append_printf (retval,
- " <%s %s=\"%s\" %s=\"%s\" %s=\"%s\" %s=\"%s\">\n",
- XBEL_BOOKMARK_ELEMENT,
- XBEL_HREF_ATTRIBUTE, escaped_uri,
- XBEL_ADDED_ATTRIBUTE, added,
- XBEL_MODIFIED_ATTRIBUTE, modified,
- XBEL_VISITED_ATTRIBUTE, visited);
+
+ buffer = g_strconcat (" <"
+ XBEL_BOOKMARK_ELEMENT
+ " "
+ XBEL_HREF_ATTRIBUTE "=\"", escaped_uri, "\" "
+ XBEL_ADDED_ATTRIBUTE "=\"", added, "\" "
+ XBEL_MODIFIED_ATTRIBUTE "=\"", modified, "\" "
+ XBEL_VISITED_ATTRIBUTE "=\"", visited, "\">\n",
+ NULL);
+
+ g_string_append (retval, buffer);
+
g_free (escaped_uri);
g_free (visited);
g_free (modified);
g_free (added);
+ g_free (buffer);
if (item->title)
{
gchar *escaped_title;
escaped_title = g_markup_escape_text (item->title, -1);
- g_string_append_printf (retval,
- " <%s>%s</%s>\n",
- XBEL_TITLE_ELEMENT,
- escaped_title,
- XBEL_TITLE_ELEMENT);
+ buffer = g_strconcat (" "
+ "<" XBEL_TITLE_ELEMENT ">",
+ escaped_title,
+ "</" XBEL_TITLE_ELEMENT ">\n",
+ NULL);
+ g_string_append (retval, buffer);
+
g_free (escaped_title);
+ g_free (buffer);
}
if (item->description)
@@ -549,34 +568,38 @@ bookmark_item_dump (BookmarkItem *item)
gchar *escaped_desc;
escaped_desc = g_markup_escape_text (item->description, -1);
- g_string_append_printf (retval,
- " <%s>%s</%s>\n",
- XBEL_DESC_ELEMENT,
- escaped_desc,
- XBEL_DESC_ELEMENT);
+ buffer = g_strconcat (" "
+ "<" XBEL_DESC_ELEMENT ">",
+ escaped_desc,
+ "</" XBEL_DESC_ELEMENT ">\n",
+ NULL);
+ g_string_append (retval, buffer);
+
g_free (escaped_desc);
+ g_free (buffer);
}
if (item->metadata)
{
gchar *metadata;
- /* open info container */
- g_string_append_printf (retval, " <%s>\n", XBEL_INFO_ELEMENT);
-
metadata = bookmark_metadata_dump (item->metadata);
if (metadata)
{
- retval = g_string_append (retval, metadata);
+ buffer = g_strconcat (" "
+ "<" XBEL_INFO_ELEMENT ">\n",
+ metadata,
+ " "
+ "</" XBEL_INFO_ELEMENT ">\n",
+ NULL);
+ retval = g_string_append (retval, buffer);
+ g_free (buffer);
g_free (metadata);
}
-
- /* close info container */
- g_string_append_printf (retval, " </%s>\n", XBEL_INFO_ELEMENT);
}
-
- g_string_append_printf (retval, " </%s>\n", XBEL_BOOKMARK_ELEMENT);
+
+ g_string_append (retval, " </" XBEL_BOOKMARK_ELEMENT ">\n");
return g_string_free (retval, FALSE);
}
@@ -1435,56 +1458,53 @@ g_bookmark_file_dump (GBookmarkFile *bookmark,
GError **error)
{
GString *retval;
+ gchar *buffer;
GList *l;
- retval = g_string_new (NULL);
-
- g_string_append_printf (retval,
- "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
-#if 0
- /* XXX - do we really need the doctype? */
- "<!DOCTYPE %s\n"
- " PUBLIC \"%s\"\n"
- " \"%s\">\n"
-#endif
- "<%s %s=\"%s\"\n"
- " xmlns:%s=\"%s\"\n"
- " xmlns:%s=\"%s\"\n>",
+ retval = g_string_sized_new (4096);
+
+ g_string_append (retval,
+ "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
#if 0
- /* XXX - do we really need the doctype? */
- XBEL_DTD_NICK,
- XBEL_DTD_SYSTEM, XBEL_DTD_URI,
+ /* XXX - do we really need the doctype? */
+ "<!DOCTYPE " XBEL_DTD_NICK "\n"
+ " PUBLIC \"" XBEL_DTD_SYSTEM "\"\n"
+ " \"" XBEL_DTD_URI "\">\n"
#endif
- XBEL_ROOT_ELEMENT,
- XBEL_VERSION_ATTRIBUTE, XBEL_VERSION,
- BOOKMARK_NAMESPACE_NAME, BOOKMARK_NAMESPACE_URI,
- MIME_NAMESPACE_NAME, MIME_NAMESPACE_URI);
+ "<" XBEL_ROOT_ELEMENT " " XBEL_VERSION_ATTRIBUTE "=\"" XBEL_VERSION "\"\n"
+ " xmlns:" BOOKMARK_NAMESPACE_NAME "=\"" BOOKMARK_NAMESPACE_URI "\"\n"
+ " xmlns:" MIME_NAMESPACE_NAME "=\"" MIME_NAMESPACE_URI "\"\n>");
if (bookmark->title)
{
gchar *escaped_title;
-
+
escaped_title = g_markup_escape_text (bookmark->title, -1);
+
+ buffer = g_strconcat (" "
+ "<" XBEL_TITLE_ELEMENT ">",
+ escaped_title,
+ "</" XBEL_TITLE_ELEMENT ">\n", NULL);
- g_string_append_printf (retval, " <%s>%s</%s>\n",
- XBEL_TITLE_ELEMENT,
- escaped_title,
- XBEL_TITLE_ELEMENT);
-
+ g_string_append (retval, buffer);
+
+ g_free (buffer);
g_free (escaped_title);
}
if (bookmark->description)
{
gchar *escaped_desc;
-
+
escaped_desc = g_markup_escape_text (bookmark->description, -1);
-
- g_string_append_printf (retval, " <%s>%s</%s>\n",
- XBEL_DESC_ELEMENT,
- escaped_desc,
- XBEL_DESC_ELEMENT);
-
+
+ buffer = g_strconcat (" "
+ "<" XBEL_DESC_ELEMENT ">",
+ escaped_desc,
+ "</" XBEL_DESC_ELEMENT ">\n", NULL);
+ g_string_append (retval, buffer);
+
+ g_free (buffer);
g_free (escaped_desc);
}
@@ -1510,7 +1530,7 @@ g_bookmark_file_dump (GBookmarkFile *bookmark,
}
out:
- g_string_append_printf (retval, "</%s>", XBEL_ROOT_ELEMENT);
+ g_string_append (retval, "</" XBEL_ROOT_ELEMENT ">");
if (length)
*length = retval->len;
@@ -3271,7 +3291,7 @@ expand_exec_line (const gchar *exec_fmt,
GString *exec;
gchar ch;
- exec = g_string_new (NULL);
+ exec = g_string_sized_new (512);
while ((ch = *exec_fmt++) != '\0')
{
if (ch != '%')

View File

@ -1,3 +1,21 @@
-------------------------------------------------------------------
Tue Apr 1 18:40:52 CEST 2008 - coolo@suse.de
- moved recommendation of gvfs to gtk2
-------------------------------------------------------------------
Tue Apr 1 16:35:22 CEST 2008 - sbrabec@suse.cz
- SuSEconfig script moved from gnome-vfs2 (bnc#372783).
-------------------------------------------------------------------
Tue Apr 1 03:05:35 CEST 2008 - federico@novell.com
- Added glib2-bnc373149-bgo518160-gbookmark-optimizations.diff and
glib2-bnc373149-bgo523877-gbookmark-optimizations.diff to fix
https://bugzilla.novell.com/show_bug.cgi?id=373149 - backport
optimizations for GBookmarkFile.
-------------------------------------------------------------------
Mon Mar 17 19:21:53 CET 2008 - rodrigo@suse.de

View File

@ -18,15 +18,17 @@ License: LGPL v2.1 or later
Group: Development/Libraries/C and C++
AutoReqProv: on
Version: 2.16.1
Release: 3
Release: 8
Summary: A Library with Convenient Functions Written in C
Url: http://www.gtk.org/
Source: ftp://ftp.gnome.org/pub/GNOME/sources/%{_name}/2.14/%{_name}-%{version}.tar.bz2
Source1: glib2.sh
Source2: glib2.csh
Source3: SuSEconfig.glib2
Source4: gnome_defaults.conf
# Not depending on gtk-doc shortens bootstrap compilation path.
# Please update this file from the latest gtk-doc package:
Source3: gtk-doc.m4
Source5: gtk-doc.m4
# PATCH-FIX-OPENSUSE glib2-mkinstalldirs.patch
Patch0: glib2-mkinstalldirs.patch
# PATCH-FIX-OPENSUSE glib2-aclocal.patch
@ -35,11 +37,16 @@ Patch1: glib2-aclocal.patch
Patch2: glib2-cast.patch
# PATCH-FIX-UPSTREAM glib2-allocsize.patch bgo523019 meissner@suse.de -- marks malloc-style functions to detect memory problems at compile time
Patch3: glib2-allocsize.patch
# PATCH-FIX-UPSTREAM glib2-bnc373149-bgo518160-gbookmark-optimizations.diff bnc373149 bgo518160 federico@novell.com - backport GBookmark optimizations (1)
Patch4: glib2-bnc373149-bgo518160-gbookmark-optimizations.diff
# PATCH-FIX-UPSTREAM glib2-bnc373149-bgo523877-gbookmark-optimizations.diff bnc373149 bgo523877 federico@novell.com - backport GBookmark optimizations (2)
Patch5: glib2-bnc373149-bgo523877-gbookmark-optimizations.diff
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Requires: %{name}-lang = %{version}
# For temporary %%pre script only.
PreReq: coreutils
Recommends: gvfs
# Conflicts of gnome_defaults.conf from gnome-vfs2 in == 10.3
Conflicts: gnome-vfs2 < 2.22.0
%description
This library provides convenient functions, such as lists and hashes,
@ -65,6 +72,7 @@ Authors:
Sebastian Wilhelmi <wilhelmi@ira.uka.de>
%package devel
License: GPL v2 or later
Requires: %{name} = %{version} pcre-devel pkg-config glibc-devel
Summary: Include files and libraries mandatory for development
Group: Development/Libraries/C and C++
@ -98,6 +106,7 @@ Authors:
Sebastian Wilhelmi <wilhelmi@ira.uka.de>
%package doc
License: GPL v2 or later
Summary: Documentation for the C Library with Convenience Functions
Group: Development/Libraries/C and C++
AutoReqProv: on
@ -132,8 +141,11 @@ Authors:
%patch1
### %patch2
%patch3
%patch4 -p1
%patch5 -p1
cp -a %{S:1} %{S:2} %{S:3} %{S:4} .
if ! test -f %{_datadir}/aclocal/gtk-doc.m4 ; then
cp -a %{S:3} m4macros/
cp -a %{S:5} m4macros/
fi
%build
@ -148,13 +160,31 @@ make %{?jobs:-j%jobs}
%install
make install DESTDIR=$RPM_BUILD_ROOT
mkdir -p $RPM_BUILD_ROOT/etc/profile.d
cp -a %{S:1} $RPM_BUILD_ROOT/etc/profile.d/zzz-glib2.sh
cp -a %{S:2} $RPM_BUILD_ROOT/etc/profile.d/zzz-glib2.csh
chmod +x $RPM_BUILD_ROOT/%{_bindir}/gtester-report
install -D -m0755 glib2.sh $RPM_BUILD_ROOT/etc/profile.d/zzz-glib2.sh
install -D -m0755 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 $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
#chmod +x $RPM_BUILD_ROOT/%{_bindir}/gtester-report
%find_lang %{_name}20
%fdupes $RPM_BUILD_ROOT
%post -p /sbin/ldconfig
%posttrans
# If it is an upgrade and gnome_defaults.conf were edited,
# move it from its old location. (Upgrade from <=10.2)
if test -f etc/opt/gnome/gnome_defaults.conf.rpmsave ; then
mv etc/gnome_defaults.conf etc/gnome_defaults.conf.rpmnew
sed "s:etc/opt/gnome:etc:g;s:opt/gnome:usr:g" <etc/opt/gnome/gnome_defaults.conf.rpmsave >etc/gnome_defaults.conf
fi
# If it is an upgrade and gnome_defaults.conf were edited,
# revive it from the RPM backup. (Upgrade from ==10.3)
if test -f etc/gnome_defaults.conf.rpmsave ; then
mv etc/gnome_defaults.conf etc/gnome_defaults.conf.rpmnew
mv etc/gnome_defaults.conf.rpmsave etc/gnome_defaults.conf
fi
%postun -p /sbin/ldconfig
@ -164,15 +194,20 @@ rm -rf $RPM_BUILD_ROOT
%files
%defattr(-,root,root)
%doc AUTHORS COPYING README NEWS ChangeLog
%{_datadir}/applications/defaults.list
%{_libdir}/lib*.so.*
/etc/profile.d/zzz-glib2.*
/sbin/conf.d/SuSEconfig.glib2
%dir %{_localstatedir}/cache/gio-2.0
%ghost %{_localstatedir}/cache/gio-2.0/defaults.list
%config (noreplace) %{_sysconfdir}/gnome_defaults.conf
%files lang -f %{_name}20.lang
%files devel
%defattr(-,root,root)
%{_bindir}/*
%{_datadir}/aclocal/*
%{_datadir}/aclocal/*.m4
%{_datadir}/glib-2.0
%{_includedir}/glib-2.0
%{_includedir}/gio-unix-2.0
@ -192,6 +227,15 @@ rm -rf $RPM_BUILD_ROOT
%dir %{_datadir}/gtk-doc/html
%changelog
* Tue Apr 01 2008 coolo@suse.de
- moved recommendation of gvfs to gtk2
* Tue Apr 01 2008 sbrabec@suse.cz
- SuSEconfig script moved from gnome-vfs2 (bnc#372783).
* Tue Apr 01 2008 federico@novell.com
- Added glib2-bnc373149-bgo518160-gbookmark-optimizations.diff and
glib2-bnc373149-bgo523877-gbookmark-optimizations.diff to fix
https://bugzilla.novell.com/show_bug.cgi?id=373149 - backport
optimizations for GBookmarkFile.
* Mon Mar 17 2008 rodrigo@suse.de
- Upstream glib2-allocsize.patch that should have been upstreamed
* Thu Mar 13 2008 rodrigo@suse.de
@ -575,7 +619,7 @@ rm -rf $RPM_BUILD_ROOT
http://bugzilla.gnome.org/show_bug.cgi?id=316221
* Fri Nov 04 2005 schwab@suse.de
- Fix use of atomic builtins.
* Tue Oct 11 2005 gekker@suse.de
* Wed Oct 12 2005 gekker@suse.de
- Update to version 2.8.3
* Wed Sep 28 2005 gekker@suse.de
- Update to version 2.8.2
@ -630,7 +674,7 @@ rm -rf $RPM_BUILD_ROOT
- Require gnome-filesystem (#47068).
* Wed Sep 29 2004 sbrabec@suse.cz
- Fixed glib2.csh for unset LANG (#46282).
* Wed Aug 25 2004 federico@ximian.com
* Thu Aug 26 2004 federico@ximian.com
- Update to glib 2.4.5
- Removed glib-pattern.diff, as this bug is fixed in the tarball.
* Wed Aug 25 2004 kukuk@suse.de
@ -660,7 +704,7 @@ rm -rf $RPM_BUILD_ROOT
- FHS 2.3 fix (mandir, infodir, #35821).
* Wed Mar 10 2004 sbrabec@suse.cz
- Fixed %%doc attributes (#33163).
* Fri Jan 09 2004 schwab@suse.de
* Sat Jan 10 2004 schwab@suse.de
- Fix quoting in autoconf macros.
* Fri Oct 17 2003 adrian@suse.de
- fix missing %%run_ldconfig

58
gnome_defaults.conf Normal file
View File

@ -0,0 +1,58 @@
# GNOME Default Applications Source
# /etc/gnome-defaults.conf
#
# After any change of this file run
# SuSEconfig --module gnome-vfs2
#
# This list is a source for defaults.list.
#
# If application in this list is installed, it is used as default in GNOME.
# It works in following way:
# 1. Read this file.
# 2. Collect all available desktop files.
# 3. Go through all declared MIME types and search for default application
# for defaults.list in following order:
# 3.1 Installed application listed here for certain MIME type.
# 3.2 Installed application listed here as preferred default.
# 3.3 Installed application listed here as default.
# 3.4 Installed application with GNOME in Categories.
# 3.5 Installed application with GTK in Categories.
# 3.6 Installed application.
# If there are more applications in the same order, it uses pseudo-randomly
# one of them (last in aplhabetical order).
#
# Syntax:
# Use xxx as default for all MIME types it declares (see 3.3):
# xxx.desktop
# Use xxx as preferred default for all MIME types it declares (see 3.2):
# !xxx.desktop
# Use xxx as default for mime/type (see 3.1):
# mime/type=xxx.desktop
# Prefer banshee for multimedia where possible
!banshee.desktop
# Prefer contracted commercial applications
!acroread.desktop
realplay.desktop
# Prefer Zen for handling packages
!zen-installer.desktop
# Nice GNOME default applications
eog.desktop
evince.desktop
gedit.desktop
file-roller.desktop
# Firefox
MozillaFirefox.desktop
# OpenOffice
base.desktop
calc.desktop
draw.desktop
impress.desktop
math.desktop
web.desktop
writer.desktop