OBS User unknown 2008-04-22 23:54:47 +00:00 committed by Git OBS Bridge
parent 6977debb35
commit ac56366778
3 changed files with 87 additions and 25 deletions

74
gtk-path-local.patch Normal file
View File

@ -0,0 +1,74 @@
https://bugzilla.novell.com/show_bug.cgi?id=369696
This patch adds support for /usr/local without setting of GTK_PATH.
/usr/local path preference is a behavior expected by FHS.
This patch cannot be upstreamed as is:
- It needs to be platform dependent.
- It needs to solve situation, when prefix != /usr (and maybe add /usr
to the search path, but after the default_dir).
- There is no consensus for /usr/local/lib x /usr/local/lib64 yet.
Defaulting to /usr/local/lib64 may need /usr/local/share/config.site
file (bnc#382344).
Note that the patch it does not provide solution for bi-arch path clash:
http://bugzilla.gnome.org/show_bug.cgi?id=153848
--- configure.in
+++ configure.in
@@ -1485,7 +1485,8 @@
AC_SUBST(GDK_EXTRA_CFLAGS)
AC_SUBST(GDK_DEP_LIBS)
AC_SUBST(GDK_DEP_CFLAGS)
-
+LIB=`echo $libdir | sed 's:.*/::'`
+AC_DEFINE_UNQUOTED([LIB],["$LIB"],[Platform dependent tail of libdir.])
########################################
# Check for Accessibility Toolkit flags
--- gtk/gtkmodules.c
+++ gtk/gtkmodules.c
@@ -60,6 +60,7 @@
gchar *home_gtk_dir = NULL;
gchar *module_path;
gchar *default_dir;
+ gchar *local_dir;
static gchar **result = NULL;
if (result)
@@ -73,25 +74,32 @@
exe_prefix = g_getenv ("GTK_EXE_PREFIX");
if (exe_prefix)
+ {
default_dir = g_build_filename (exe_prefix, "lib", "gtk-2.0", NULL);
+ local_dir = g_build_filename ("usr", "local", "lib", "gtk-2.0", NULL);
+ }
else
+ {
default_dir = g_build_filename (GTK_LIBDIR, "gtk-2.0", NULL);
+ local_dir = g_build_filename ("usr", "local", LIB, "gtk-2.0", NULL);
+ }
if (module_path_env && home_gtk_dir)
module_path = g_build_path (G_SEARCHPATH_SEPARATOR_S,
- module_path_env, home_gtk_dir, default_dir, NULL);
+ module_path_env, home_gtk_dir, local_dir, default_dir, NULL);
else if (module_path_env)
module_path = g_build_path (G_SEARCHPATH_SEPARATOR_S,
- module_path_env, default_dir, NULL);
+ module_path_env, local_dir, default_dir, NULL);
else if (home_gtk_dir)
module_path = g_build_path (G_SEARCHPATH_SEPARATOR_S,
- home_gtk_dir, default_dir, NULL);
+ home_gtk_dir, local_dir, default_dir, NULL);
else
module_path = g_build_path (G_SEARCHPATH_SEPARATOR_S,
- default_dir, NULL);
+ local_dir, default_dir, NULL);
g_free (home_gtk_dir);
g_free (default_dir);
+ g_free (local_dir);
result = pango_split_file_list (module_path);
g_free (module_path);

View File

@ -1,3 +1,9 @@
-------------------------------------------------------------------
Tue Apr 22 15:58:11 CEST 2008 - sbrabec@suse.cz
- Added patch supporting /usr/local instead of /etc/profile.d stuff
doing nearly the same (bnc#369696).
-------------------------------------------------------------------
Mon Apr 14 19:12:08 CEST 2008 - sbrabec@suse.cz

View File

@ -29,7 +29,7 @@ Group: System/Libraries
AutoReqProv: on
PreReq: /usr/bin/touch /bin/rm /bin/rmdir
Version: 2.12.9
Release: 18
Release: 20
Summary: Library for Creation of Graphical User Interfaces (version 2)
Source: ftp://ftp.gnome.org/pub/GNOME/sources/%{_name}/2.12/%{_name}-%{version}.tar.bz2
Source1: SuSEconfig.gtk2
@ -63,6 +63,8 @@ Patch36: gtk2-libtool.patch
Patch51: gtk2-bnc343858-buggy-intel-xinerama.patch
# PATCH-FIX-UPSTREAM gtk2-bnc171077-bgo314873-filechooser-tab-in-the-middle-of-entry.diff bnc171077 bgo314873 federico@novell.com -- Tab-completion rewrite for the file chooser
Patch52: gtk2-bnc171077-bgo314873-filechooser-tab-in-the-middle-of-entry.diff
# PATCH-FIX-OPENSUSE gtk-path-local.patch Search in /usr/local/%{_lib} by default. bgo369696
Patch53: gtk-path-local.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Requires: cairo >= 0.9.2 hicolor-icon-theme
%if %suse_version > 1020
@ -276,6 +278,7 @@ cp -a %{S:2} .
%patch36
%patch51 -p1
%patch52 -p1
%patch53
gnome-patch-translation-update
%build
@ -327,29 +330,6 @@ mv $RPM_BUILD_ROOT%{_sysconfdir}/gtk-2.0/gtk.immodules\
mv $RPM_BUILD_ROOT%{_sysconfdir}/gtk-2.0/gdk-pixbuf.loaders\
$RPM_BUILD_ROOT%{_sysconfdir}/gtk-2.0/gdk-pixbuf64.loaders
%endif
mkdir -p $RPM_BUILD_ROOT/etc/profile.d
echo 'if test -z "$GTK_PATH" ; then
export GTK_PATH="/usr/local/lib/gtk-2.0:/usr/lib/gtk-2.0"
else
export GTK_PATH="/usr/local/lib/gtk-2.0:/usr/lib/gtk-2.0:$GTK_PATH"
fi' > $RPM_BUILD_ROOT/etc/profile.d/%{name}.sh
echo 'if ( ${?GTK_PATH} ) then
setenv GTK_PATH /usr/local/lib/gtk-2.0:/usr/lib/gtk-2.0:${GTK_PATH}
else
setenv GTK_PATH /usr/local/lib/gtk-2.0:/usr/lib/gtk-2.0
endif' > $RPM_BUILD_ROOT/etc/profile.d/%{name}.csh
%if "%_lib" == "lib64"
echo 'if test -z "$GTK_PATH64" ; then
export GTK_PATH64="/usr/local/%_lib/gtk-2.0:/usr/%_lib/gtk-2.0"
else
export GTK_PATH64="/usr/local/%_lib/gtk-2.0:/usr/%_lib/gtk-2.0:$GTK_PATH64"
fi' >> $RPM_BUILD_ROOT/etc/profile.d/%{name}.sh
echo 'if ( ${?GTK_PATH64} ) then
setenv GTK_PATH64 /usr/local/%_lib/gtk-2.0:/usr/%_lib/gtk-2.0:${GTK_PATH64}
else
setenv GTK_PATH64 /usr/local/%_lib/gtk-2.0:/usr/%_lib/gtk-2.0
endif' >> $RPM_BUILD_ROOT/etc/profile.d/%{name}.csh
%endif
rm $RPM_BUILD_ROOT%{_libdir}/gtk-2.0/2*/*/*.la
%fdupes $RPM_BUILD_ROOT
@ -401,7 +381,6 @@ fi
%ghost %{_sysconfdir}/gtk-2.0/gdk-pixbuf.loaders
%endif
%{_sysconfdir}/gtk-2.0/im-multipress.conf
/etc/profile.d/*
/sbin/conf.d/SuSEconfig.gtk2
%files branding-upstream
@ -431,6 +410,9 @@ fi
%{_datadir}/gtk-doc/html/*
%changelog
* Tue Apr 22 2008 sbrabec@suse.cz
- Added patch supporting /usr/local instead of /etc/profile.d stuff
doing nearly the same (bnc#369696).
* Mon Apr 14 2008 sbrabec@suse.cz
- Use packageand form of branding supplement.
* Sat Apr 12 2008 maw@suse.de