Flash w Debianie - żałość.

15 czerwca, 2008

Na typowym desktopie zwykle niezbędny jest flash, najlepiej ten od Adobe. W Debianie sprawę załatwia instalacja pakietu flashplugin-nonfree, który zajmuje się dostarczeniem flasha. Wszystko działało pięknie i bezbłędnie, aż do wczoraj. Przy okazji porządków w systemie ojca postanowiłem dokonać aktualizacji flasha i... pojawiły się problemy. Przy okazji przyjrzałem się bliżej narzędziom i znalazłem parę "śmiesznostek/żałostek".

Po pierwsze, skrypt dodający flasha w systemie działa nie w ten sposób, że tworzy paczkę .deb, tylko ściąga i instaluje flasha z tar.gz. Oznacza to, że jeśli Adobe wypuści nową wersję, to że nie ma eleganckiej debianowej metody na sprawdzenie wersji flasha. Żeby zaktualizować wersję po wydaniu nowej należy zrobić dpkg-reconfigure -plow flashplugin-nonfree, dodatkowo podając ścieżkę jako pustą, bo inaczej wykorzysta już pobraną paczkę. W sumie skrypty pakietujące google-earth czy javę działają podobnie, ale o tyle lepiej, że tworzą paczkę .deb i nie robią cudów przy uprade wersji.

Sprawa druga. O ile to co opisałem można(?) przeboleć jeszcze, to wczoraj zdarzyła się sytuacja następująca. Robię dpkg-reconfigure, podaję pustą ścieżkę, niby coś pobiera... i zgłasza błąd sumy md5. Ponieważ korzystam tam z badram, gdyż pamięć jest uszkodzona, to pierwsze podejrzenie skierowałem w tę stronę - albo patch nie działa, albo coś. Niesłusznie. Na wcześniejszym kernelu problem jest ten sam, a ręczne usunięcie scache'owanego tar.gz ujawniło, że błąd jest w samym pobieraniu.

Sprawa trzecia: objawy błędu. Otóż błąd pobierania objawiał się tak, że (mówię o wersji w usuniętą scache'owaną wersją) przy instalacji/rekonfiguracji proces radośnie zawisał i czekał na coś. I czekał. I czekał... Sprawdziłem na innej maszynie, innym systemie - dokładnie to samo się działo. Szybki strace ujawnił, że faktycznie czeka na zakończenie procesu. Zapewne pobierania pliku.

Ponieważ instalator (/usr/sbin/update-flashplugin-nonfree) jest napisany w bashu, to pokusiłem się o szybki debug. Chyba wolałbym tam nie zaglądać...

[ `whoami` = "root" ] || die_hard "must be root"

Znaczy się, jeśli przyszłoby komuś do głowy przypisanie UID=0 dla innego użytkownika w systemie, to i tak nie będzie miał prawa do wykonania skryptu. I odwrotnie, jeśli ktoś nazwie nieuprzywilejowanego użytkownika root, to skrypt będzie próbował się wykonać.

DOWNLOADFILE="flashplugin-nonfree-lastminute.gz"
DOWNLOADURL="http://people.debian.org/~bartm/flashplugin-nonfree/$DOWNLOADFILE"

[ ! -f /home/bartm/src/flashplugin-nonfree/bartm_debug ] || DOWNLOADURL="http://127.0.0.1/bartm/$DOWNLOADFILE"

To jest dopiero miodzio. Po pierwsze, pliku ze skryptem instalującym nie pobiera od Adobe bezpośrednio, tylko z people.debian.org. W sumie możnaby to wybaczyć, tylko od 2 dni ww. maszyna leży, więc adobowego flasha w Debianie de facto nie ma. Widzimy też piękną filigranową konstrukcję z podwójnym przeczeniem:

[ ! -f plik ] || cośtam

Po ludzku: Jeśli warunek nieistnienia pliku nie jest spełniony, to cośtam. Noż xhejn! Bo napisanie:

[ -f plik ] && cośtam

nie robi tego samego (po ludzku: jeśli warunek istnienia pliku jest spełniony, to cośtam) i nie jest czytelniejsze?

Na pocieszenie: to tylko wersja z unstable. W stable pakietu nie ma, w Lennym nie ma (i z tego co wiem - nie będzie). A jakby ktoś bardzo potrzebował teraz zainstalować flasha, to wystarczy utworzyć w systemie plik /home/bartm/src/flashplugin-nonfree/bartm_debug i skonfigurować serwer WWW tak, by pod 127.0.0.1/bartm/ udostępniłał któryś wcześniejszy instalator.

PS. bug dotyczący niemożności odinstalowania paczki jest już zgłoszony. Bo oczywiście żeby usunąć, też pobiera. ;)

1. Michał Górny napisał(a):
15 czerwca 2008, 08:47:20

Aż sobie w zakładki wrzucę ^^.

2. rozie napisał(a):
15 czerwca 2008, 09:02:48

Michał Górny: Śmiało. To co zobaczyłem w tym pakiecie, to crappy crap. A nie mam jakichś zahamowań, by nie nazwać crapu crapem tylko dlatego, że jest w mojej ulubionej dystrybucji™. Co więcej, prawdopodobnie ten plik, który jest pobierany, to skrypt do ściągania paczki. Czyli, de facto, za plecami, bez wersjonowania jest zmieniana binarka (bo konfig to na dysku powinien być...). A to się kwalifikuje na reportbuga. Jak people.debian.org wstanie, to zobaczymy. ;)

3. Livio napisał(a):
15 czerwca 2008, 12:26:30

Nie prościej pobrać .tar.gz i .so wrzucić gdzie trzeba i ew. dowiązać :) ?

4. Michał Górny napisał(a):
15 czerwca 2008, 15:00:56

Livio: nie prościej mieć porządne distro, które samo pobierze odpowiednie pliki, wrzuci tam gdzie trzeba i ładnie je zapisze w bazie pakietów na równi z softem redystrybutowalnym?

5. Livio napisał(a):
15 czerwca 2008, 15:33:13

Wiesz, Adobe daje RPM-y, więc porządne dystrybucje nie muszą się męczyć :> >

6. Michał Górny napisał(a):
15 czerwca 2008, 15:37:15

Porządne dystrybucje nie potrzebują niczyjej łaski.

7. rozie napisał(a):
15 czerwca 2008, 16:37:41

Livio: Niezupełnie prościej. Najlepiej, jakby był „natywny” .deb. Potem, mógłby być „pakowacz”, czyli jakieś make-jpkg czy make-googleearth-package. Potem – to co jest teraz (tylko porządne), czyli automat, który zaciągnie i wypakuje stosownie. No a dopiero potem robótki ręczne są...
Nawiasem, jakby to coś, co doklejasz, nie pojawiało się na moim feedzie joggerowym, to będę wdzięczny. I zgłoś buga sparrowowi.

8. matiit napisał(a):
15 czerwca 2008, 17:49:31

Jak dobrze, że są PKGBUILDY – zobaczcie jak to jest zrobione w archu :P

9. salciarz napisał(a):
15 czerwca 2008, 18:56:27

http://debian-multimedia.org/dists/unstable/main/binary-i386/package/flashplayer-mozilla.php
Jest i paka dla sida.

10. rozie napisał(a):
15 czerwca 2008, 19:03:07

salciarz: Dla sida (i tylko dla niego) to jest to, o czym pisałem. a ww. flashplayer-mozilla jest także dla stable, ale nie jest z oficjalnego repo. ;)

11. Livio napisał(a):
15 czerwca 2008, 20:10:08

Michale, trochę dystansu by Ci naprawdę nie zaszkodziło.

12. Michał Górny napisał(a):
15 czerwca 2008, 20:33:56

Livio: przyganił kocioł garnkowi.

13. Livio napisał(a):
15 czerwca 2008, 20:34:29

Zdaje mi się, czy ktoś tutaj się ja kogoś zgłości i ma ochotę udusić makaronem?

14. mruwek napisał(a):
16 czerwca 2008, 01:05:31

Rozie: debian-multimedia.org i problem z głowy.

[edit]Ślepota nie boli. Salciarz już wspomniał.

15. rozie napisał(a):
16 czerwca 2008, 06:39:16

mruwek: Faktycznie paczka z debian-multimedia wygląda lepiej – binarka jest w środku, a nie jakieś skrypty. Żeby było śmieszeniej, to używałem tej paczki kiedyś, podobnie jak kilku innych z tego repo. Poczekamy do następnego padu i wymienimy (o ile da się odinstalować przy niedziałającym people.debian.org ;/).

16. Piotr Pyclik napisał(a):
16 czerwca 2008, 13:53:51

„Porządne dystrybucje nie potrzebują niczyjej łaski.”

Michał: a która to jest ta porządna dystrybucja?

17. Livio napisał(a):
16 czerwca 2008, 13:54:43

Pewnie Gentoo :> .

18. mruwek napisał(a):
16 czerwca 2008, 13:55:43

Pewnie? Co za fatalne przypuszczenie. Oczywiście, że prócz Gentoo nie ma innych „porządnych” dystrybucji. Cała reszta to zlepki aplikacji dla plebsu.

19. Livio napisał(a):
16 czerwca 2008, 13:56:25

Przepraszam, czcigodny sensei, Mruwku. Nie rzucaj na mnie złego uroku!

20. Piotr Pyclik napisał(a):
16 czerwca 2008, 13:58:23

Eee tam, szkoda. Kompilowaniu mówię nie.

21. matiit napisał(a):
16 czerwca 2008, 13:58:57

ty tylko wpisujesz emerge program, kompiluje kompilator

22. Livio napisał(a):
16 czerwca 2008, 14:00:38

Procesory szybkie, a i RAM-u każdy ma setki gigabajtów, nie ma się o co martwić. Wystarczy wyjść na całodzienny spacer i masz kernela i basha skompilowanego :D .

23. mruwek napisał(a):
16 czerwca 2008, 14:00:39

A ty możesz iść na spacer z Dziewczyną. Cóż za wspaniałe distro! Dba nawet o Twoje relacje z rodziną i przyjaciółmi.

24. Piotr Pyclik napisał(a):
16 czerwca 2008, 14:01:00

Zapewniam cię, że wiem co to Gentoo. :) Nie widzę tylko sensu kompilowania na lewo i na prawo, przerabiałem to na FreeBSD – bez realnych korzyści.

25. Livio napisał(a):
16 czerwca 2008, 14:01:07

Michał ma rację w każdej dziedzinie.

26. matiit napisał(a):
16 czerwca 2008, 14:01:09

dokładnie, a jak się kompilacja sypnie to Ci może wysłać smsa na tel :)

27. Livio napisał(a):
16 czerwca 2008, 14:01:35

Wtedy masz pretekst, żeby wrócić do domu i zaciągnąć dziewczynę do łóżka. Dba o wszystko to Gentoo!

28. matiit napisał(a):
16 czerwca 2008, 14:02:04

to trzeba często hard masked pakiety instalować :)

29. Piotr Pyclik napisał(a):
16 czerwca 2008, 14:04:22

Hmm, ale nie potraficie tego wszystkiego robić bez Gentoo? ;)

30. Livio napisał(a):
16 czerwca 2008, 14:04:43

Piotrze, ale jak, kiedy tylko w Gentoo masz okazję wyjścia z domu?

31. Piotr Pyclik napisał(a):
16 czerwca 2008, 14:16:54

Heheh ;) Ostro. ;)

32. mruwek napisał(a):
16 czerwca 2008, 14:28:33

Dziwne tylko, że Michał jeszcze nie zabrał głosu. Może na spacerze właśnie przebywa?

33. Livio napisał(a):
16 czerwca 2008, 14:28:58

Myślę, że powinniśmy brać z niego przykład.

34. Piotr Pyclik napisał(a):
16 czerwca 2008, 14:52:15

Za kompilatory panowie! ;)