rpm/rpm-5.4.10-turn-back-urlgetfile.patch
2013-10-07 10:45:18 +04:00

70 lines
2.3 KiB
Diff

diff -Naur rpm-5.4.10.orig/macros/mandriva rpm-5.4.10/macros/mandriva
--- rpm-5.4.10.orig/macros/mandriva 2013-09-17 17:34:34.805808860 +0400
+++ rpm-5.4.10/macros/mandriva 2013-10-03 17:06:36.947155301 +0400
@@ -32,6 +32,8 @@
# mdvbz#64914
%_rpmgio .ufdio
+%__urlgetfile(url, dest) wget %1 -O %2
+
# This will die as soon as remaining usage has been phased out...
%mkrel(c:) %{-c: 0.%{-c*}.}%{1}%{?subrel:.%subrel}
%manbo_mkrel() %mkrel
diff -Naur rpm-5.4.10.orig/macros/mandriva.in rpm-5.4.10/macros/mandriva.in
--- rpm-5.4.10.orig/macros/mandriva.in 2013-09-17 17:34:34.805808860 +0400
+++ rpm-5.4.10/macros/mandriva.in 2013-10-03 17:33:15.669303875 +0400
@@ -32,6 +32,8 @@
# mdvbz#64914
%_rpmgio .ufdio
+%__urlgetfile(url, dest) wget %1 -O %2
+
# This will die as soon as remaining usage has been phased out...
%mkrel(c:) %{-c: 0.%{-c*}.}%{1}%{?subrel:.%subrel}
%manbo_mkrel() %mkrel
diff -Naur rpm-5.4.10.orig/rpmio/url.c rpm-5.4.10/rpmio/url.c
--- rpm-5.4.10.orig/rpmio/url.c 2013-09-17 17:34:34.827808860 +0400
+++ rpm-5.4.10/rpmio/url.c 2013-10-03 17:49:34.590394849 +0400
@@ -446,6 +447,7 @@
/*@-observertrans@*/
if (pathp)
*pathp = path;
+
/*@=observertrans@*/
return ut;
}
@@ -602,6 +604,7 @@
const char * sfuPath = NULL;
int urlType = urlPath(url, &sfuPath);
char *result;
+ char *cmd;
if (*sfuPath == '\0')
return FTPERR_UNKNOWN;
@@ -616,17 +619,17 @@
return FTPERR_UNKNOWN;
/*@-globs -mods@*/ /* Avoid including <rpmmacro.h> everywhere for now */
- if (rpmExpandNumeric("%{?__urlgetfile:1}%{!?__urlgetfile:0}")) {
- result = rpmExpand("%{__urlgetfile ", url, " ", dest, "}", NULL);
- if (result != NULL && strcmp(result, "OK") == 0)
- rc = 0;
- else {
- rpmlog(RPMLOG_DEBUG, D_("failed to fetch URL %s via external command\n"), url);
- rc = FTPERR_UNKNOWN;
+ cmd = rpmExpand("%{?__urlgetfile:%{__urlgetfile ", url, " ", dest, "}}", NULL);
+ if (cmd != NULL && cmd[0] != '\0') {
+ rc = system(cmd);
+ if ((rc >> 8) != 0) {
+ rpmlog(RPMLOG_DEBUG, D_("failed to fetch URL %s via external command: %s: %s\n"), url, Fstrerror(sfd));
+ rc = FTPERR_UNKNOWN;
}
- result = _free(result);
- goto exit;
+ cmd = _free(cmd);
+ goto exit;
}
+
/*@=globs =mods@*/
sfd = Fopen(url, "r.ufdio");