Monthly Archive for Luty, 2010

Konfiguracja repo dla F12 – RPMFusion, Adobe, PlayOnLinux, Compiz Fusion

Konfiguracja podstawowych repozytorium z pakietami, które są instalowane wraz z systemem oraz dodatkowych które można dodać w zalezności od własnego upodobania. Dodatkowymi repozytorium są Rpmfusion, Adobe, PlayOnLinux, Compiz Fusion.

Podstawowa konfiguracja

Podstawowa konfiguracja repozytorium z oprogramowaniem to fedora, fedora-updates, fedora-updates-testing, fedora-rawhide. Poniżej opis repozytorium.

  • fedora – tutaj są wszystkie główne pakiety, bez poprawek. Domyślnie włączone.
  • fedora-updates – to repo zawiera wszelkie uaktualnienia, które się ukazują. Domyślnie włączone.
  • fedora-updates-testing – to repo zawiera uaktualnienia, które są testowane (jak nazwa wskazuje). Domyślnie wyłączone ponieważ pakiety testowane mogą wpłynąć na stabilność systemu. Jeśli jednak posiadasz włączone warto zainteresować się https://admin.fedoraproject.org/updates/, miejscem gdzie możesz dać znać czy poprawka rozwiązuje zgłoszone problemy.
  • fedora-rawhide – repozytorium zawierające pakiety wchodzące w skład nowszej, rozwijanej wersji Fedory (w tej chwili jest to F13). Wyłączone domyślnie z powodu tego, że nie osiąga nigdy statusu wersji stabilnej. W momencie osiągniecia pojawia się kolejne wydanie a rawhide staje się nowym wydaniem.

Repozytorium można włączać poprzez edycję plików z katalogu /etc/yum.repos.d/. Pokażę na przykładzie fedora-updates-tesing.repo

  1. sudo nano /etc/yum.repos.d/fedora-updates-testing.repo
  2. Linijkę enabled=0 należy zamienić na enabled=1.

Jeśli używasz yumex`a to należy przejść od opcji Repository Selection View (taka kula ziemska lub planeta) i zaznaczyć te które są interesujące, następnie Profiles i Save. Ostatnia rzecz to Refresh i dostaniemy listę dostępnych poprawek.

Dodatkowe repozytorium

RPMFusion

Instalacja graficzna wyglada następująco. Wybierz i kliknij link do twojej dystrybucji Fedora 10, 11 i 12Fedora Alpha, Beta, Rawhide, RC, Snapshot lub PreviewRHEL5 lub inna kompatybilna z CentOS. Potem należy zainstalować używając domyslnego wyboru Fedory (zostanie odpalony PackageKit) lub zapisać a potem zainstalować (sudo rpm -ihv nazwa_paczki). W ten sposób instalujemy wersję free, do repozytorum nonfree służą te linki: Fedora 10, 11 i 12Fedora Alpha, Beta, Rawhide, RC, Snapshot lub PreviewRHEL5 lub inna kompatybilna z CentOS.

Instalacja tesktowa wygląda w taki sposób.

  • Fedora 10, 11 i 12
    su -c 'rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm'
  • Fedora Alpha, Beta, Rawhide, RC, Snapshot lub Preview
    su -c 'rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-rawhide.noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-rawhide.noarch.rpm'
  • RHEL5 lub inna kompatybilna z CentOS
    su -c 'rpm -Uvh http://download1.rpmfusion.org/free/el/updates/testing/5/i386/rpmfusion-free-release-5-0.1.noarch.rpm http://download1.rpmfusion.org/nonfree/el/updates/testing/5/i386/rpmfusion-nonfree-release-5-0.1.noarch.rpm'

Adobe

Repo zawiera paczki z flashem, jeśli nie chcesz używać gnash`a (wolna wersja flasha), zainstaluj to repo. Instalacja graficzna polega na kliknięciu linka do paczki i pozwolenie na instalację za pomocą PackageKit.

Instalacja tekstowa
sudo rpm -ivh http://linuxdownload.adobe.com/adobe-release/adobe-release-i386-1.0-1.noarch.rpm

PlayOnLinux

PlayOnLinux to projekt wspomagający isntalację gier i programów na wine. Posiada sporą bazę skryptów konfigurujących wine pod odpowiednie tytuły. Instalacja graficzna to po prostu kliknięcie i zainstalowanie tego pakietu.

Instalacja tekstowa

sudo rpm -ihv http://mulx.playonlinux.com/rpm/playonlinux-yum-3-3.noarch.rpm

Compiz Fusion

Wszyscy wiedzą co to jest Compiz Fusion a jeśli nie to zapraszam do przeczytania krótkiej notki w Wikipedii. To repozytorium zawiera paczki compiz-fusion dla F9, F10, F11 i F12. Instalacja graficzna polega na kliknięciu w ten link i zainstalowaniu pakietu.

Instalacja tekstowa

sudo rpm -ivh http://leigh123linux.fedorapeople.org/compiz-fusion-release-1-8.noarch.rpm

Poprawiamy google app engine helper for Django.

Pojawiła się nowa wersja Google App Engine SDK, wersja 1.3.1 – 2010-02-10. W wypadku używania Google App Engine Helper for Django w wersji r100 i wyżej wymienionego SDK pojawia się błąd podczas startu serwera.

import ipaddr
ImportError: No module named ipaddr
Rozwiązanie tego problemu jest proste, należy poprawić plik __init__.py w katalogu z kodem helpera. Znajdujemy fragment
EXTRA_PATHS = [
SDK_PATH,
os.path.join(SDK_PATH, 'lib', 'antlr3'),
os.path.join(SDK_PATH, 'lib', 'django'),
os.path.join(SDK_PATH, 'lib', 'webob'),
os.path.join(SDK_PATH, 'lib', 'yaml', 'lib'),
]
Po czym dodajemy linijkę aby wyglądał tak
EXTRA_PATHS = [
SDK_PATH,
os.path.join(SDK_PATH, 'lib', 'antlr3'),
os.path.join(SDK_PATH, 'lib', 'django'),
os.path.join(SDK_PATH, 'lib', 'ipaddr'),
os.path.join(SDK_PATH, 'lib', 'webob'),
os.path.join(SDK_PATH, 'lib', 'yaml', 'lib'),
]
Ma to być poprawione w nowej wersji helpera r102 ale ja jej jeszcze nie znalazłem a z svn nie chciałem pobierać. Chętnych zapraszam

svn checkout http://google-app-engine-django.googlecode.com/svn/trunk/ google-app-engine-django-read-only

Jak dołączyć %changelog, %post_install i %post_uninstall do pliku spec używając distutils i setup.py

Ostatnimi czasy moją głowę zaprzątał problem stworzenia paczki rpm dla mojego programu SynapticsConfig. Długo walczyłem z jednego powodu, chciałem użyć distutils a nie ręcznie tworzyć plik spec. Poniżej przytoczę problemy z którymi się borykałem oraz rozwiązania tych problemów. Wg. mnie dokumentacja distutils i pythona dotycząca zagadnień które poruszam jest dosyć skromna i wszelkie próby znalezienia rozwiązania dawały mierne wyniki. Całe szczęście mamy listy dyskusyjne oraz od źródłowy (fuck you propietary software!).

Continue reading ‘Jak dołączyć %changelog, %post_install i %post_uninstall do pliku spec używając distutils i setup.py’