Pamac a obniżanie wersji?

Jak to jest w Pamac z obniżaniem wersji pakietów?

W Pamac mam aktywną opcję: “Zezwalaj na obniżanie wersji”, jednak kilka razy miałem sytuację, że w PkbBrowser było wskazanie, że jakiś pakiet powinien zostać obniżony, natomiast Pamac pokazywał, że aktualna (wyższa) wersja jest właściwa.

Aktualny przykład:
W PkgBrowser jest:
2019-09-29_121947

Jednak Pamac mówi, że “system jest aktualny”, a libxpresent jest w aktualnej wersji (1.0.0+2+gdd6771c-1), dostępnej w extra, natomiast w community tego pakietu (1.0.0-1) w ogóle nie ma.

Dodatkowo, ciekawostką jest, że link (dostępny z PkgBrowser) do tego nowszego pakietu (1.0.0+2+gdd6771c-1 - widocznego w Pamac) wskazuje na nieistniejącą stronę:
https://www.archlinux.org/packages/extra/x86_64/libxpresent/

Natomiast, link do starszego pakietu z community (niewidocznego w Pamac) wskazuje poprawnie na pakiet w wersji 1.0.0-1
https://www.archlinux.org/packages/community/x86_64/libxpresent/

Downgrade do obniżania wersji pakietów.

Faktycznie ciekawe, ale według PkgBrowser nowszy jest pakiet w wersji 1.0.0-1 (data budowy: grudzień 2018, gdy drugi jest z grudnia 2017). Różnice według mnie mogą wynikać z tego, że Pamac wyszukuje w repozytoriach Manjaro, a PkgBrowser w repozytoriach Archa, bo po krótkim porównaniu znalazłem w PkgBrowser pakiety o wyższej wersji niż w Pamacu, a w samym Pamacu pakiety, których nie było w PkgBrowser.

Z pakietu downgrade co jakiś czas korzystam.
Natomiast, w tym wątku, ciekawi mnie, czy w Pamac działa funkcja automatycznego obniżania wersji, zgodnie z aktualnymi zaleceniami systemu.

Jeśli chodzi o różne pakiety w Pamac i PkgBrowser, to być może nie jest tak, jak piszą w opisie PkgBrowser, że PkgBrower przegląda bazę pacman’a (, która, powinna być tą samą bazą na dysku użytkownika, z której korzysta Pamac).

Jeśli włączysz w Pamacu obniżanie wersji to ona działa bez zarzutu, chociaż jeśli chcesz z GUI Pamaca robić downgrade dowolnego pakietu to nie ma takiej możliwości, jest to możliwe tylko gdy wyjdzie odpowiednia aktualizacja. O ile dobrze pamiętam była w tym roku jedna (lub więcej) aktualizacja, która obniżała wersję jakiegoś pakietu, bo nowy zawierał jakiś błąd. I przy tej okazji m.in. na naszym forum pojawiło się o tym ogłoszenie, że trzeba włączyć obniżanie wersji, bo mogą się pojawić kłopoty. Wtedy, przynajmniej u mnie, ta funkcja zadziałała bez problemu.

  1. Opcja pozwalająca na obniżanie wersji służy do tego, aby (jak już wcześniej wspominał @Tomek) powracać do starej wersji, z powodów technicznych (nieprawidłowe działanie wersji nowej); albo do przechodzenia z repo mniej niestabilnych (nowsze wersje pakietów) na bardziej stabilne (starsze). Jedno i drugie, w momencie aktualizacji systemu. Pacman również ma do tego odpowiednią opcję.
  2. Jeżeli chcemy dokonać obniżenia wersji z innych powodów, własnych, to używamy downgrade.
  3. PkgBrowser korzysta z alpm, podobnie jak pacman i pamac. W kodzie, są wyraźne odniesienia do standardowych lokalizacji bazy danych.

4. Rozpoznawanie numeru wersji 1.0.0+2+gdd6771c-1 jako starszego niż 1.0.0-1 jest znanym problemem (choć nie jestem pewien, czy słowo ‘problem’ jest w tym przypadku stosowne) i pojawia się czasem; wtedy gdy do repozytoriów dołączany jest (zazwyczaj chwilowo) jakiś git’owy pakiet.

Wróćmy może do tego konkretnego przypadku (aby nie teoretyzować za dużo).
Patrząc na daty zbudowania (jak zauważył @Tomek) 1.0.0-1 jest nowszy, więc PkbBrowser poprawnie sugeruje, aby zainstalować tą nowszą wersję (choć powinien wyświetlać tu to ze statusem “upgrade”).
Jednak nie nie ma go w repozytoriach community Manjaro.

Skąd w takim razie bierze się inne pokazywanie stanu pakietu libxpresent w PkbBrowser i Pamac, skoro oba korzystają z alpm (jak pisze @azja) ?

Czy (i co?) dalej z tym robić?

  • daty budowy, są nieistotne - tylko nazwy i wersje;
  • problem leży pomiędzy sposobem interpretacji numeru wersji przez pacman’a (pamac’a, etc), a git’owym wersjonowaniem pakietów. Zapewne wulgaryzuję temat, sprowadzając go do jednego, prostego zdania (w dodatku mało precyzyjnego), ale nie mam potrzeby wchodzić głębiej, bo wiedza tam zawarta nie jest mi potrzebna;
  • jak żyć? Jedynie słusznym pakietem jest ten, który aktualnie znajduje się w repozytorium. Wszelkie odstępstwa od reguły mogą być uzasadnione wtedy, gdy użytkownik wie co robi, odstępując od przestrzegania zasad; albo developer interwencyjnie wykonuje taki manewr, aby szybko zareagować na jakiś problem.

Nie trzeba z tym nic robić. Takie sytuacje zdarzają się nieczęsto i można z nimi żyć, wystarczy wiedzieć o istnieniu takiego zjawiska i kontrolować komunikaty developer’a nt. kolejnych aktualizacji systemu.