--- ./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);