Add missing symlinks

OBS-URL: https://build.opensuse.org/package/show/X11:common:Factory/icu?expand=0&rev=32
This commit is contained in:
Jan Engelhardt 2013-07-23 18:00:42 +00:00 committed by Git OBS Bridge
parent dbe4afcf23
commit 1bccc71f13
3 changed files with 33 additions and 2 deletions

View File

@ -9,6 +9,25 @@ SO numbers. They did that before, and they have done it with
Thus, we will use the full version as the SO identifier in openSUSE.
Details:
U_ICU_VERSION_SHORT was (example) "49" before when there was a
libicui18n.so.49. Now, since there is a libicui18n.so.51.2, we need to
change U_ICU_VERSION_SHORT. But the define's documentation says
"without dots", and I do not know how much downstream code depends on
the non-dot feature, if at all. Anyhow, to bypass this question to
which we have no definite answer, U_ICU_VERSION_SHORT is instead simply
defined to "51_2" and we "fix" (read like: hack) it with symlinks.
However, the ICU source also uses U_ICU_VERSION_SHORT to construct the
path to its data files. However, as there is no "icudt51_2l.dat", but
only a "icudt51l.dat", U_ICU_VERSION_MAJOR_STR is introduced for
ICU-internal use, so that I do not have to edit more dirty Makefiles to
produce a "icudt51_2l.dat" instead. In fact, placing the version number
in "icudt51l" seems redundant, since that file is in a version-specific
directory anyway (/usr/share/icu/51.2/) — another point where ICU
development seems to not pay enough attention.
---
source/common/icuplug.c | 2 +-
source/common/umapfile.c | 6 +++---

View File

@ -1,3 +1,8 @@
-------------------------------------------------------------------
Tue Jul 23 18:00:11 UTC 2013 - jengelh@inai.de
- Add missing symlinks and update description in icu-versioning.diff
-------------------------------------------------------------------
Sun Jul 14 13:50:44 UTC 2013 - jengelh@inai.de

View File

@ -149,11 +149,18 @@ make install DESTDIR="$b";
# does as few as possible, but that means we need some additional
# cleanup in the spec file now.
#
for i in "$b/%_libdir"/*.so.[0-9]*; do
pushd "$b/%_libdir/"
for i in *.so.[0-9]*; do
echo "Looking at $i"
if [ "${i##*.so.}" != "%version" ]; then
rm -fv "$i";
rm -fv "$i"
continue
fi
# Because U_ICU_VERSION_SHORT is "51_2" and not "51.2",
# create some symlinks.
ln -s "$i" "${i%%%version}%aversion"
done
popd
# /usr/lib/rpm/elfdeps requires +x bit and not all had it at one point
chmod a+rx "$b/%_libdir"/lib*.so.*