]> git.pld-linux.org Git - packages/rpm.git/blob - rpm-etc_dir.patch
- added helperEVR-noassert patch (replace assert by error message;
[packages/rpm.git] / rpm-etc_dir.patch
1 diff -Nru rpm-4.1/lib/rpmrc.c rpm-4.1.new/lib/rpmrc.c
2 --- rpm-4.1/lib/rpmrc.c Tue Aug 20 16:53:44 2002
3 +++ rpm-4.1.new/lib/rpmrc.c     Tue Mar 11 18:41:48 2003
4 @@ -1820,23 +1820,37 @@
5         /* Expand ~/ to $HOME/ */
6         fn[0] = '\0';
7         if (r[0] == '~' && r[1] == '/') {
8 +           const char * etc_dir = getenv("HOME_ETC");
9             const char * home = getenv("HOME");
10 -           if (home == NULL) {
11 -           /* XXX Only /usr/lib/rpm/rpmrc must exist in default rcfiles list */
12 -               if (rcfiles == rpmRcfiles && myrcfiles != r)
13 -                   continue;
14 -               rpmError(RPMERR_RPMRC, _("Cannot expand %s\n"), r);
15 -               rc = 1;
16 -               break;
17 -           }
18 -           if (strlen(home) > (sizeof(fn) - strlen(r))) {
19 -               rpmError(RPMERR_RPMRC, _("Cannot read %s, HOME is too large.\n"),
20 -                               r);
21 -               rc = 1;
22 -               break;
23 +           if (etc_dir) {
24 +                   if (strlen(etc_dir) > (sizeof(fn) - strlen(r))) {
25 +                           rpmError(RPMERR_RPMRC, _("Cannot read %s, HOME_ETC is too large.\n"),r);
26 +                           rc = 1;
27 +                           break;
28 +                   }
29 +                   strcpy(fn, etc_dir);
30 +                   strncat(fn, "/", sizeof(fn) - strlen(fn));
31 +                   r+=2;
32 +           } else {
33 +                   if (home == NULL) {
34 +                           /* XXX Only /usr/lib/rpm/rpmrc must exist in default rcfiles list */
35 +                           if (rcfiles == rpmRcfiles && myrcfiles != r)
36 +                                   continue;
37 +                           rpmError(RPMERR_RPMRC, _("Cannot expand %s\n"), r);
38 +                           rc = 1;
39 +                           break;
40 +                   }
41 +                   if (strlen(home) > (sizeof(fn) - strlen(r))) {
42 +                           rpmError(RPMERR_RPMRC, _("Cannot read %s, HOME is too large.\n"),
43 +                                           r);
44 +                           rc = 1;
45 +                           break;
46 +                   }
47 +                   strcpy(fn, home);
48 +                   r++;
49             }
50 -           strcpy(fn, home);
51 -           r++;
52 +
53 +
54         }
55         strncat(fn, r, sizeof(fn) - (strlen(fn) + 1));
56         fn[sizeof(fn)-1] = '\0';
57 --- rpm-4.4.8/po/pl.po.orig     2007-04-08 16:11:42.125435004 +0200
58 +++ rpm-4.4.8/po/pl.po  2007-04-08 16:25:11.343549717 +0200
59 @@ -3251,6 +3251,10 @@
60  msgid "Cannot expand %s\n"
61  msgstr "Nie mo¿na rozwin±æ %s\n"
62  
63 +#: lib/rpmrc.c:1935
64 +msgid "Cannot read %s, HOME_ETC is too large.\n"
65 +msgstr "Nie mo¿na odczytaæ %s, HOME_ETC jest zbyt du¿e.\n"
66 +
67  #: lib/rpmrc.c:1924
68  #, c-format
69  msgid "Cannot read %s, HOME is too large.\n"
This page took 0.03628 seconds and 3 git commands to generate.