SHA256
3
0
forked from pool/rpm
rpm/trailslash.diff

32 lines
951 B
Diff

--- ./build/files.c.orig 2011-07-20 11:37:45.000000000 +0000
+++ ./build/files.c 2011-07-20 11:39:20.000000000 +0000
@@ -1678,9 +1678,6 @@ static rpmRC processBinaryFile(Package p
* /.././../usr/../bin//./sh
*/
diskPath = rpmGenPath(fl->buildRoot, NULL, fileName);
- /* Arrange trailing slash on directories */
- if (fl->isDir)
- diskPath = rstrcat(&diskPath, "/");
if (doGlob) {
ARGV_t argv = NULL;
@@ -1694,8 +1691,18 @@ static rpmRC processBinaryFile(Package p
goto exit;
}
+ /* Arrange trailing slash on directories */
+ if (fl->isDir)
+ diskPath = rstrcat(&diskPath, "/");
+
if (rpmGlob(diskPath, &argc, &argv) == 0 && argc >= 1) {
for (i = 0; i < argc; i++) {
+ if (fl->isDir) {
+ /* strip trailing slash again */
+ int l = strlen(argv[i]);
+ if (l > 1 && argv[i][l - 1] == '/')
+ argv[i][l - 1] = 0;
+ }
rc = addFile(fl, argv[i], NULL);
}
argvFree(argv);