RFC: ncurses 256 colors

Tomasz Pala gotar w polanet.pl
Pon, 20 Kwi 2009, 20:18:10 CEST


On Mon, Apr 20, 2009 at 18:56:50 +0200, Bartosz Taudul wrote:

>> w świat znowu będzie szło 'w PLD nie działa'. Psucie marki za niską cenę.
> Oczywiście. Lepiej podskakiwać tak jak reszta i udawać że błędów nie ma.
> Bo jeszcze powiedzą "w PLD znowu jakieś babole u nas znaleźli".

A od kiedy wyłapywanie i raportowanie błędów stoi w sprzeczności z ich
niewywoływaniem u użytkowników?
Jesteś chociaż w stanie określić zakres występowania takich efektów
ubocznych?


Ja wczoraj instalowałem AdobeAIR, żeby wysłać PIT-37 i musiałem sobie
trochę porzeźbić w systemie:

1. instalator wypakowuje archiwum tara,
2. odpalany jest rpmbuilder (nie wiem czemu, archiwum zawiera już
rpma w pliku setup.deb) - niespełniona zależność gtk2; nie dowiesz się
tego z instalatora, bo ten zwróci tylko komunikat o 'niewystarczających
uprawnieniach', trzeba było wcześniej rozłożyć pakiet,
3. aplikacja potrzebuje pluginu nppdf.so i szuka go wyłącznie w
określonych lokalizacjach razem z tym plikiem:

lstat64("/usr/bin/acroread", {st_mode=S_IFREG|0755, st_size=16887, ...}) = 0
open("/", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY|O_CLOEXEC) = 9
open("//./Reader/AcroVersion", O_RDONLY) = -1 ENOENT (No such file or directory)
open("//../Reader/AcroVersion", O_RDONLY) = -1 ENOENT (No such file or directory)
open("//bin/Reader/AcroVersion", O_RDONLY) = -1 ENOENT (No such file or directory)
open("//dev/Reader/AcroVersion", O_RDONLY) = -1 ENOENT (No such file or directory)
open("//etc/Reader/AcroVersion", O_RDONLY) = -1 ENOENT (No such file or directory)
open("//lib/Reader/AcroVersion", O_RDONLY) = -1 ENOENT (No such file or directory)
open("//mnt/Reader/AcroVersion", O_RDONLY) = -1 ENOENT (No such file or directory)
open("//opt/Reader/AcroVersion", O_RDONLY) = -1 ENOENT (No such file or directory)
open("//srv/Reader/AcroVersion", O_RDONLY) = -1 ENOENT (No such file or directory)
open("//tmp/Reader/AcroVersion", O_RDONLY) = -1 ENOENT (No such file or directory)
open("//sys/Reader/AcroVersion", O_RDONLY) = -1 ENOENT (No such file or directory)
open("//var/Reader/AcroVersion", O_RDONLY) = -1 ENOENT (No such file or directory)
open("//usr/Reader/AcroVersion", O_RDONLY) = -1 ENOENT (No such file or directory)
open("//boot/Reader/AcroVersion", O_RDONLY) = -1 ENOENT (No such file or directory)
open("//home/Reader/AcroVersion", O_RDONLY) = -1 ENOENT (No such file or directory)
open("//proc/Reader/AcroVersion", O_RDONLY) = -1 ENOENT (No such file or directory)
open("//sbin/Reader/AcroVersion", O_RDONLY) = -1 ENOENT (No such file or directory)
open("//root/Reader/AcroVersion", O_RDONLY) = -1 EACCES (Permission denied)
open("//media/Reader/AcroVersion", O_RDONLY) = -1 ENOENT (No such file or directory)
open("//selinux/Reader/AcroVersion", O_RDONLY) = -1 ENOENT (No such file or directory)
open("//initrd/Reader/AcroVersion", O_RDONLY) = -1 ENOENT (No such file or directory)
open("//lost+found/Reader/AcroVersion", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/opt/Adobe", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY|O_CLOEXEC) = 9
open("/opt/Adobe/./Reader/AcroVersion", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/opt/Adobe/../Reader/AcroVersion", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/opt/Adobe/Browser/Reader/AcroVersion", O_RDONLY) = -1 ENOENT (No such file or directory)

Oprócz tego instaluje adobe-certs (i edeklaracje też są w rpmie).

Stąd, aby skorzystać z tego w PLD, należy (mając zainstalowane z
pakietu acroread i browser-plugin-acroread):

1. wziąć skądś gtk2 (dodałem dopiero odpowiednie Provides do gtk+2),

2. mkdir /opt/Adobe/{Browser/intellinux,Reader}
ln -s /usr/lib/acroread/Reader/AcroVersion /opt/Adobe/Reader
ln -s /usr/lib/browser-plugins/nppdf.so /opt/Adobe/Browser/intellinux

3. ln -s "/opt/Adobe AIR/Versions/1.0/Adobe AIR Application Installer" /usr/bin
w którym trzeba zmienić #!/bin/sh na #!/bin/bash (type -P readlink).
Pomijając już zainstalowanie ikonek, plików desktop i mime.

Punkt 3 być może wykonuje %post (raczej na PLD nie zadziała xdg-*),
punkt 2 być może jest domyślnie jak się instaluje Adobe Readera z
binarnej paczki, natomiast punkt 1 był ewidentnym specyficznym dla PLD
kawałkiem nie do obejścia dla normalnego użytkownika.

Zainstalowanie tego zajęło mi około godziny, mając już wiedzę na temat
składu ich binarnej paczki i wyodrębionego tara. Ktoś może zrobił to
szybciej lub łatwiej? Dobrze, że chociaż nie wywaliło jakichś
niezgodności na poziomie rpma...

Oczywiście mogę pisać do Adobe jakie błędy popełnili, ale im to na
Fedorze działa prawidłowo i raczej nie będą skakali z radości lub
przejęcia, że 'ktoś z PLD znalazł im błędy'. A użytkownik będzie dymał
do skarbowego, lub wypełni deklarację spod windy.

Zresztą e-Deklaracje również instalują się tylko spod roota i ładują
ikony i desktopy do /usr/share (to akurat nie stanowi zawartości
pakietu...).

-- 
Tomasz Pala <gotar w pld-linux.org>


Więcej informacji o liście dyskusyjnej pld-devel-pl