From 31e05c71f8177ce05bf6576a45dbd99dbf592595 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Arkadiusz=20Mi=C5=9Bkiewicz?= Date: Wed, 6 Oct 2010 18:55:35 +0000 Subject: [PATCH] - rel 44; do magic_file() under C locale to avoid 'vasprintf failed' coming from libmagic Changed files: rpm-libmagic-locale.patch -> 1.1.2.1 rpm.spec -> 1.837.2.42.2.49.2.95 --- rpm-libmagic-locale.patch | 22 ++++++++++++++++++++++ rpm.spec | 4 +++- 2 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 rpm-libmagic-locale.patch diff --git a/rpm-libmagic-locale.patch b/rpm-libmagic-locale.patch new file mode 100644 index 0000000..b257407 --- /dev/null +++ b/rpm-libmagic-locale.patch @@ -0,0 +1,22 @@ +--- rpm-4.5/lib/rpmfc.c.org 2010-10-06 20:47:04.748417761 +0200 ++++ rpm-4.5/lib/rpmfc.c 2010-10-06 20:48:13.364041124 +0200 +@@ -1356,8 +1356,18 @@ + /* XXX skip all files in /dev/ which are (or should be) %dev dummies. */ + else if (slen >= fc->brlen+sizeof("/dev/") && !strncmp(s+fc->brlen, "/dev/", sizeof("/dev/")-1)) + ftype = ""; +- else ++ else { ++ char *old_loc = setlocale(LC_CTYPE, NULL); ++ if (old_loc) { ++ old_loc = xstrdup(old_loc); ++ setlocale(LC_CTYPE, "C"); ++ } + ftype = magic_file(ms, s); ++ if (old_loc) { ++ setlocale(LC_CTYPE, old_loc); ++ _free(old_loc); ++ } ++ } + + if (ftype == NULL) { + xx = RPMERR_EXEC; diff --git a/rpm.spec b/rpm.spec index 2b3e494..d5a39c3 100644 --- a/rpm.spec +++ b/rpm.spec @@ -57,7 +57,7 @@ Summary(ru.UTF-8): Менеджер пакетов от RPM Summary(uk.UTF-8): Менеджер пакетів від RPM Name: rpm Version: 4.5 -Release: 43 +Release: 44 License: LGPL Group: Base Source0: %{name}-%{version}.tar.gz @@ -102,6 +102,7 @@ Patch12: %{name}-system_libs.patch Patch13: %{name}-unglobal.patch Patch14: %{name}-etc_dir.patch Patch15: %{name}-system_libs-more.patch +Patch16: %{name}-libmagic-locale.patch Patch17: %{name}-ldconfig-always.patch Patch18: %{name}-macros-ac.patch Patch19: %{name}-macros-th.patch @@ -716,6 +717,7 @@ Dokumentacja API RPM-a oraz przewodniki w formacie HTML generowane ze %patch12 -p1 %patch13 -p1 %patch14 -p1 +%patch16 -p1 %patch17 -p1 sed -e 's/^/@pld@/' %{SOURCE2} >>platform.in echo '%%define __perl_provides %%{__perl} /usr/lib/rpm/perl.prov' > macros.perl -- 2.44.0