Kodujemy

[root@rudy(pldac) RPMS]# rpm -q fix-info-dir
fix-info-dir-0.13-6
[root@rudy(pldac) RPMS]# poldek --sdir=.
Loading /home/users/mmazur/devel/pld/sandbox/fix-info-dir/RPMS/...3 packages read
Loading db packages [/var/lib/rpm].......done
430 packages loaded

Welcome to the poldek shell mode. Type "help" for help with commands.

poldek> upgrade fix-info-dir-0.13-5
Processing dependencies...
There are 1 package to install:
I fix-info-dir-0.13-5
After unpacking about 15KB will be used.
Executing rpm --upgrade -vh --root / --noorder...
Preparing...                ########################################### [100%]
   1:fix-info-dir           ########################################### [100%]
poldek> quit

Writing /root/.poldek-cache/packages.dir.dbcache.var.lib.rpm.gz...
Writing digest /root/.poldek-cache/packages.dir.dbcache.var.lib.rpm.mdd...
[root@rudy(pldac) RPMS]# rpm -q fix-info-dir
fix-info-dir-0.13-5

Zwracam uwagę, że zupgrejdowałem paczkę z release 6 do paczki z release 5 i ani poldek, ani rpm się o to nie pluły. Rpm jest już niejako zwarty i gotowy jeśli chodzi o tę funkcjonalność (w sensie - jest zaimplementowana tak jak chcę), ale w poldku muszę jeszcze trochę pogrzebać, żeby pododawać obsługę wersjonowania dystrybucji przy odpalaniu poldka z linii komend oraz do autouzupełniania w trybie interaktywnym. Że bazę mam zrobioną, to teraz już z górki. Btw: poldek jest kawałkiem cholernie skomplikowanego kodu, ale jest napisany czysto.
No ale, że wyjeżdżam jutro na weekend, to skończę, jak wrócę. PLD 2.0 nikt do tego czasu raczej nie wyda, a mam zamiar ten patch tam umieścić (żeby upgrejd do 3.0 był maksymalnie uproszczony).

  1. 1. zdzichuBG

    Skoro release niższy, to to nie był downgrade przypadkiem? I dlaczego miałoby to uprościć 3.0? Mogą się tam zdarzyć paczki w tej samej wersji co 2.x ale z niższym release?

  2. 2. adamg

    Tak w skrócie zamiast Epoch:Version-Release będziemy mieli Distver:Epoch:Version-Release. W zamierzeniach ma to uprościć zarządzanie Rilisami w obrębie tego samego Version, np. taki ethereal, dla Ra 1, Ac 2, Th 3. Potem jakaś głupia poprawka i odpowiednio 4 5 6.

    Oczywiście zamiast Distver możnaby po prostu podbić Epoch...

  3. 3. mmazur

    Podbijanie epoch miałoby głupie efekty uboczne. A co do distver, to nie będzie osobnego pola, bo u nas samo pole distribution będzie spełniało tę funkcję.

    Niższy release jest możliwy, a bardzo popularny jest ten sam release i później połowę pakietów masz ze starej wersji distro, bo są to rzeczy rzadko się zmieniające.

  4. 4. zdzichuBG

    Brzmi mądrze. Czymkolwiek jest Epoch ;-)

  5. 5. twittner

    Ad. czystości kodu poldka, znalazłem zahardorowane ścieżki:
    $ grep "cmd = \"/" *.c
    pkgfetch.c: cmd = "/bin/rpm";
    rpminstall.c: cmd = "/bin/rpm";
    rpminstall.c: cmd = "/usr/bin/sudo";
    uninstall.c: cmd = "/bin/rpm";
    uninstall.c: cmd = "/usr/bin/sudo";
    Swoją drogą, mógłbym spojrzeć "ku nauce", jak takie rzeczy przekazuje się autotoolsami (póki podstawiłem "na chama" swoje #define).

Adde commentarium: (textile lite)