było: mc i *.rpm
Marcin Bohosiewicz
marcus w venus.wis.pk.edu.pl
Nie, 10 Gru 2000, 23:05:17 CET
On Sun, 10 Dec 2000, Tomasz Kłoczko wrote:
> On Sun, 10 Dec 2000, Tomasz Kłoczko wrote:
> [..]
>
> Wygląda na to, że byk jest jednak w okolicach rpm2cpio, a z dodaniem
> "./" to było złudzenie.
No nie wiem... wlasnie przegladam sobie zrodelka rpm'a i widze cos takiego:
rpm-4.0/lib/cpio.c:
int cpioFileMapCmp(const void * a, const void * b)
{
const char * afn = ((const struct cpioFileMapping *)a)->archivePath;
const char * bfn = ((const struct cpioFileMapping *)b)->archivePath;
/* Match payloads with ./ prefixes as well. */
if (afn[0] == '.' && afn[1] == '/') afn += 2;
if (bfn[0] == '.' && bfn[1] == '/') bfn += 2;
return strcmp(afn, bfn);
}
Czyli goscie w samym rpmie czyszcza listy z "./" przy porownywaniu...
Jaki jest dotychczasowy standard przy rpm2cpio? Ma to byc czy nie?
> Właśnie ropakowałem sobie za pomocą rpm2cpio dwa pakiety i taki mały test:
>
> $ file ImageMagick-v3.cpio ImageMagick-v4.cpio
> ImageMagick-v3.cpio: bzip2 compressed data, block size = 900k
> ImageMagick-v4.cpio: ASCII cpio archive (SVR4 with no CRC)
Czy to jest dobrze?
rpm-4.0/rpm2cpio.c:
if (!headerGetEntry(h, RPMTAG_PAYLOADCOMPRESSOR, NULL,
(void **) &payload_compressor, NULL))
payload_compressor = "gzip";
rpmio_flags = t = alloca(sizeof("r.gzdio"));
*t++ = 'r';
if (!strcmp(payload_compressor, "gzip"))
t = stpcpy(t, ".gzdio");
if (!strcmp(payload_compressor, "bzip2"))
t = stpcpy(t, ".bzdio");
Na moj rozum tych "!" w if'ach przed strcmp nie powinno byc...
M.
PS. W rpm-4.0/build/files.c
znalazlem cos takiego:
/* XXX legacy requires './' payload prefix to be omitted from rpm
packages. */
W czesci wygladajacej tak - sugeruje ze to nowy "feature" rpm'a...
if (! (flp->flags & RPMFILE_GHOST)) {
clp->fsPath = xstrdup(flp->diskURL);
/* XXX legacy requires './' payload prefix to be omitted from rpm
packages. */
{ char * t = buf;
if (!isSrc && !rpmExpandNumeric("%{_noPayloadPrefix}")) {
t = stpcpy(t, "./");
rpmlibNeedsFeature(h, "PayloadFilesHavePrefix", "4.0-1");
}
t = stpcpy(t, (flp->fileURL + skipLen));
clp->archivePath = xstrdup(buf);
}
--
-| == Marcin Bohosiewicz - MB8042-RIPE - marcus w venus.pk.edu.pl == |-
-| == tel. +48 601 485097 - PLD Team - marcus w pld.org.pl == |-
-| == Strona Domowa - http://venus.wis.pk.edu.pl/marcus/ == |-
-| == PLUG - Sad Kolezenski - http://www.linux.org.pl/ == |-
Więcej informacji o liście dyskusyjnej pld-devel-pl