openpkg/rpm.patch.bugfix

changeset 336
fa72b60f59c9
parent 333
4ecfc2416fd8
equal deleted inserted replaced
1:c24dc031bfe3 2:2af05f09d00a
97 | http://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=100509 97 | http://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=100509
98 +--------------------------------------------------------------------------- 98 +---------------------------------------------------------------------------
99 Index: lib/psm.c 99 Index: lib/psm.c
100 --- lib/psm.c 5 Jun 2003 12:43:18 -0000 1.1.1.6 100 --- lib/psm.c 5 Jun 2003 12:43:18 -0000 1.1.1.6
101 +++ lib/psm.c 13 Sep 2006 13:38:29 -0000 101 +++ lib/psm.c 13 Sep 2006 13:38:29 -0000
102 @@ -1106,11 +1108,13 @@ 102 @@ -1108,11 +1108,13 @@
103 const char ** triggerProgs; 103 const char ** triggerProgs;
104 int_32 * triggerIndices; 104 int_32 * triggerIndices;
105 const char * sourceName; 105 const char * sourceName;
106 + const char * triggerName; 106 + const char * triggerName;
107 rpmRC rc = RPMRC_OK; 107 rpmRC rc = RPMRC_OK;
111 xx = headerNVR(sourceH, &sourceName, NULL, NULL); 111 xx = headerNVR(sourceH, &sourceName, NULL, NULL);
112 + xx = headerNVR(triggeredH, &triggerName, NULL, NULL); 112 + xx = headerNVR(triggeredH, &triggerName, NULL, NULL);
113 113
114 trigger = rpmdsInit(rpmdsNew(triggeredH, RPMTAG_TRIGGERNAME, scareMem)); 114 trigger = rpmdsInit(rpmdsNew(triggeredH, RPMTAG_TRIGGERNAME, scareMem));
115 if (trigger == NULL) 115 if (trigger == NULL)
116 @@ -1149,7 +1153,7 @@ 116 @@ -1151,7 +1153,7 @@
117 { int arg1; 117 { int arg1;
118 int index; 118 int index;
119 119
120 - arg1 = rpmdbCountPackages(rpmtsGetRdb(ts), Name); 120 - arg1 = rpmdbCountPackages(rpmtsGetRdb(ts), Name);
121 + arg1 = rpmdbCountPackages(rpmtsGetRdb(ts), triggerName); 121 + arg1 = rpmdbCountPackages(rpmtsGetRdb(ts), triggerName);
132 | course. 132 | course.
133 +--------------------------------------------------------------------------- 133 +---------------------------------------------------------------------------
134 Index: lib/psm.c 134 Index: lib/psm.c
135 --- lib/psm.c 5 Jun 2003 12:43:18 -0000 1.1.1.6 135 --- lib/psm.c 5 Jun 2003 12:43:18 -0000 1.1.1.6
136 +++ lib/psm.c 13 Sep 2006 13:38:32 -0000 136 +++ lib/psm.c 13 Sep 2006 13:38:32 -0000
137 @@ -1710,6 +1714,7 @@ 137 @@ -1714,6 +1714,7 @@
138 138
139 uid = fi->uid; 139 uid = fi->uid;
140 gid = fi->gid; 140 gid = fi->gid;
141 + if (!headerIsEntry(fi->h, RPMTAG_SOURCEPACKAGE)) { 141 + if (!headerIsEntry(fi->h, RPMTAG_SOURCEPACKAGE)) {
142 if (fi->fuser && unameToUid(fi->fuser[i], &uid)) { 142 if (fi->fuser && unameToUid(fi->fuser[i], &uid)) {
143 rpmMessage(RPMMESS_WARNING, 143 rpmMessage(RPMMESS_WARNING,
144 _("user %s does not exist - using root\n"), 144 _("user %s does not exist - using root\n"),
145 @@ -1727,6 +1732,7 @@ 145 @@ -1731,6 +1732,7 @@
146 /* XXX this diddles header memory. */ 146 /* XXX this diddles header memory. */
147 fi->fmodes[i] &= ~S_ISGID; /* turn off the sgid bit */ 147 fi->fmodes[i] &= ~S_ISGID; /* turn off the sgid bit */
148 } 148 }
149 + } 149 + }
150 if (fi->fuids) fi->fuids[i] = uid; 150 if (fi->fuids) fi->fuids[i] = uid;
156 | RPM uses everywhere else, too. 156 | RPM uses everywhere else, too.
157 +--------------------------------------------------------------------------- 157 +---------------------------------------------------------------------------
158 Index: lib/psm.c 158 Index: lib/psm.c
159 --- lib/psm.c 5 Jun 2003 12:43:18 -0000 1.1.1.6 159 --- lib/psm.c 5 Jun 2003 12:43:18 -0000 1.1.1.6
160 +++ lib/psm.c 13 Sep 2006 13:38:33 -0000 160 +++ lib/psm.c 13 Sep 2006 13:38:33 -0000
161 @@ -2027,7 +2033,8 @@ 161 @@ -2033,7 +2033,8 @@
162 case PSM_CHROOT_IN: 162 case PSM_CHROOT_IN:
163 { const char * rootDir = rpmtsRootDir(ts); 163 { const char * rootDir = rpmtsRootDir(ts);
164 /* Change root directory if requested and not already done. */ 164 /* Change root directory if requested and not already done. */
165 - if (rootDir != NULL && !rpmtsChrootDone(ts) && !psm->chrootDone) { 165 - if (rootDir != NULL && !rpmtsChrootDone(ts) && !psm->chrootDone) {
166 + if (rootDir != NULL && !(rootDir[0] == '/' && rootDir[1] == '\0') 166 + if (rootDir != NULL && !(rootDir[0] == '/' && rootDir[1] == '\0')

mercurial