poldek --split
Paweł A. Gajda
mis w k2.net.pl
Czw, 28 Cze 2001, 11:56:43 CEST
środa 27/06/2001 20:03:49, Arkadiusz Miskiewicz:
>
> Hej,
>
> Kombinuję właśnie z generowaniem 2 iso i odpowiednim dzieleniem za
> pomocą poldka. I tak:
>
> - nie generuje plików przy pracy via ftp czyli np.
> [misiek w arm abc]$ ./poldek -v -s ftp://ftp.pld.org.pl/PLD-1.0/i386/PLD/RPMS/ --split 650
> Loading ftp://ftp.pld.org.pl/PLD-1.0/i386/PLD/RPMS/packages.dir.gz...
> 2522 packages read
> Indexing...
> [misiek w arm abc]$
> (lokalnie działa). IMHO powinno działać również zdalnie bo w końcu
> informacje o zależnościach są w packages.dir cacheowanym lokalnie.
Hem, u mnie to działa:
$ poldek -v -s ftp://ftp.pld.org.pl/PLD-1.0/i386/PLD/RPMS/ --split 650
Retrieving ftp://ftp.pld.org.pl/PLD-1.0/i386/PLD/RPMS/packages.dir.md...
Retrieving ftp://ftp.pld.org.pl/PLD-1.0/i386/PLD/RPMS/packages.dir.gz...
Verifying ftp://ftp.pld.org.pl/PLD-1.0/i386/PLD/RPMS/packages.dir.gz...
Loading ftp://ftp.pld.org.pl/PLD-1.0/i386/PLD/RPMS/packages.dir.gz...
2522 packages read
Indexing...
Writing packages.chunk.0 (2335 packages, 661903040 bytes)
Writing packages.chunk.1 ( 187 packages, 33813499 bytes)
I jak jest zkeszownay też:
$ poldek -v -s ftp://ftp.pld.org.pl/PLD-1.0/i386/PLD/RPMS/ --split 650
Loading ftp://ftp.pld.org.pl/PLD-1.0/i386/PLD/RPMS/packages.dir.gz...
2522 packages read
Indexing...
Writing packages.chunk.0 (2335 packages, 661903040 bytes)
Writing packages.chunk.1 ( 187 packages, 33813499 bytes)
Może mógłbyś zrobić:
$ gdb ./poldek
(gdb) break packages_split
(gdb) set args -s ftp://ftp.pld.org.pl/PLD-1.0/i386/PLD/RPMS/ --split 650
(gdb) r
i zobaczyć co się dzieje?
> - format plików jest niezbyt wygodny do zastosowania z mkisofs.
> mkisofsowi podaje się plik zawierający listę globów jakie ma
> _wyłączyć_ z image więc najlepiej by było gdyby można ów format
> definiować np.
> --split-format="*%p*"
> (%d/%D - katalog w ktorym siedzi ow plik (wzgledny, bezwgledny), %p -
> nazwa pakietu, %v - wersja pakietu, %r - release, %a - arch itp)
> i do tego opcja negacji (--split-negation czy coś) tzn potrzebne
> (aczkolwiek nie konieczne) są listy plików do wyłączenia, a nie
> włączenia.
>
> Also IMVHO wpisywanie zakomentowanych informacji do packages.chunk*
> też jest błe - niech poldek wypisuje to info na stdout albo coś w tym
> stylu. Tam jest potrzebna lista globów do wyłączenia lub lista plików
> _o pełnych nazwach_ (wraz z ścieżką) do włączenia.
Zgadzam się tu z Rafałem; skryptem go, skryptem ;-) Dokładanie
printf-formatu to trochę zabawy, podczas gdy można to załatwić
kawałkiem skryptu w rodzaju:
rm -f CHUNK*
poldek -s DIR --split --split-out=CHUNK
for i 0 1 2 3...; do
if [ -f CHUNK.$i ]; then
for p in `cat CHUNK.$i | grep -v '^#'`; do
mkdir /tmp/cd$i/RPMS/
ln -sf DIR/$p /tmp/cd$i/$p
done
fi
if [ $i -eq 0 ]; then
poldek -s /tmp/cd$i/RPMS/ --mkidxz
else
mkdir /tmp/cd0/cd$i
poldek -s /tmp/cd$i/RPMS/ --mkidxz=/tmp/cd0/cd$i/packages.dir.gz
fi
done
Dużo prościej, niż pisanie tego w C.
Więcej informacji o liście dyskusyjnej pld-installer