python modules

Piotr Grymkowski grym3k w o2.pl
Śro, 17 Paź 2007, 12:43:32 CEST


On Wed, 17 Oct 2007 12:05:38 +0200
Daniel Mróz <beorn w alpha.pl> wrote:
> 
> > Jeśli moduły binarne (*.so) to do /usr/lib/python2.x/site-packages
> >
> > Nie pamiętam które {py_*dir} na co wskazuje.
> /usr/share/python*  - %{py_sitescriptdir)
> /usr/lib/python*    - %{py_sitedir)
> 
> Zazwyczaj moduły są dystrybuowane wraz ze skryptem setup.py (importującym
> z setuptools) i właściwym rozmieszczeniem plików zajmuje się on.
> 
> > > Jestem zielony w tym temacie. Nawet nie
> > > wiem gdzie tego mogę szukać. BTW. program znajduje inne biblioteki np.
> > > dbus, gtk. Ale moich nie chce...
> Pytanie brzmi: czy chcesz zrobić SPECa, czy tylko pytasz gdzie te pliki
> musisz umieścić? Jeśli to pierwsze, to przejrzyj jak są robione inne
> python-*.spec. Dobrze by było gdybyś wkleił wyjątek jaki jest podnoszony
> przy próbie importu tego modułu. W przypadku bibliotek dynamicznych
> (pliki *.so) najczęstszą przyczyną błędów importu są biblioteki
> systemowe. Wykonaj komendę 'ldd' na pliku *.so i sprawdź czy wszystko
> masz.
To podsyłam po prostu speca. Jest on jeszcze niedokończony bo nie wiem
właśnie jak rozdzielić pliki. Program jest generalnie rozpakowywany
do /opt/wicd i tam się znajdują pliki główne i biblioteki do niego.
BTW zorbiłem speca gdzie wszystko było wrzucone do katalogu %{_wicddir} i
nawet działało, ale myślałem że to co teraz zrobiłem będzie lepszym
wyjściem. Chciałem to wszystko porozdzielać tak jak są robione wszystkie
programy ale właśnie nie może znaleźć modułów... i chyba teraz patrze że
jest to troche spieprzona robota bo trzeba będzie we wszystkich plikach
pozmieniać ścieżki do plików konfiguracyjnych (ale sed chyba da radę ;).
Oto spec:
# $Revision:  $, $Date:  $
#

%define	_rel	0.1
%define _wicddir	%{_libdir}/wicd
%define _sbindir	/sbin

Summary:	Wireless Internet Connection Daemon
Summary(pl.UTF-8):	Demon bezprzewodowych polaczen internetowych
Name:		wicd
Version:	1.3.1
Release:	%{_rel}
License:	GPLv2
Group:		Applications/Network
Source0:
http://dl.sourceforge.net/wicd/%{name}_%{version}-src.tar.bz2
# Source0-md5:	7ec32f0a88fee1ed61da038244eb692c
Patch0:		%{name}-daemon.patch
Patch1:		%{name}-init.d.patch
URL:		http://wicd.sourceforge.net/
Requires(post,preun):	/sbin/chkconfig
Requires:	python
Requires:	python-dbus
Requires:	python-pygtk-glade
Requires:	python-pygtk-gtk
Conflicts:	Network-Manager
BuildArch:	noarch
BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)

%description
Wicd has many notable features, the most important of which are:
1. No Gnome dependencies, so it is easy to use in XFCE, Fluxbox,
Openbox, Enlightenment, etc. 2. Ability to connect to wired and
wireless networks 3. Profiles for each wireless network and wired
network 4. Many encryption schemes, some of which include WEP/WPA/WPA2
5. Remains compatible with wireless-tools

%description -l pl.UTF-8
Wicd posiada wiele właściwości, z których najbardziej ważne są: 1.
Żadnych zależności środowiska Gnome, zatem łatwo używać go w XFCE,
Fluxbox, Openbox, Enlightenment, itp. 2. Możliwość łączenia z sieciami
przewodowymi i bezprzewodowymi 3. Profile dla każdej sieci
bezprzewodowej i przewodowej 4. Wiele opcji kryptograficznych,
niektóre z nich zawierają WEP/WPA/WPA2 5. Pozostała kompatybilność z
oprogramowaniem wireless-tools

%prep
%setup -q -c
%patch0
%patch1

%install
rm -rf $RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT%{_bindir} \
	   $RPM_BUILD_ROOT%{_sbindir} \
	   $RPM_BUILD_ROOT%{py_sitescriptdir}/%{name} \
	   $RPM_BUILD_ROOT%
{_sysconfdir}/{acpi/resume.d,dbus-1/system.d,rc.d/init.d} \ $RPM_BUILD_ROOT%
{_wicddir}/{data,encryption/{configurations,templates},images,translations}
\ $RPM_BUILD_ROOT%{_desktopdir} \ $RPM_BUILD_ROOT%{_pixmapsdir}

#Remove some symlinks
rm -f opt/wicd/{tray-dapper.py,tray-edgy.py}
rm -f opt/wicd/images/wicd.png
rm -f opt/wicd/data/wicd.png

install opt/wicd/{tray.py,gui.py} $RPM_BUILD_ROOT%{_bindir}
install opt/wicd/daemon.py $RPM_BUILD_ROOT%{_sbindir}
install etc/acpi/resume.d/80-wicd-connect.sh $RPM_BUILD_ROOT%
{_sysconfdir}/acpi/resume.d install etc/dbus-1/system.d/wicd.conf
$RPM_BUILD_ROOT%{_sysconfdir}/dbus-1/system.d install etc/init.d/wicd
$RPM_BUILD_ROOT%{_sysconfdir}/rc.d/init.d install
opt/wicd/{misc.py,networking.py,autoconnect.py,dapper.py,edgy.py}
$RPM_BUILD_ROOT%{py_sitescriptdir}/%{name} install opt/wicd/data/wicd.glade
$RPM_BUILD_ROOT%{_wicddir}/data install
opt/wicd/encryption/templates/{active,eap,leap,peap,ttls,wep,wpa}
$RPM_BUILD_ROOT%{_wicddir}/encryption/templates install
opt/wicd/images/*.png $RPM_BUILD_ROOT%{_wicddir}/images install
usr/share/applications/*.desktop $RPM_BUILD_ROOT%{_desktopdir} cp
opt/wicd/images/wicd-purple.png $RPM_BUILD_ROOT%{_pixmapsdir}/wicd.png

%py_comp $RPM_BUILD_ROOT%{py_sitescriptdir}/%{name}
#%py_comp $RPM_BUILD_ROOT%{_sbindir}
%py_ocomp $RPM_BUILD_ROOT%{py_sitescriptdir}/%{name}
#%py_ocomp $RPM_BUILD_ROOT%{_sbindir}

%py_postclean

%clean
rm -rf $RPM_BUILD_ROOT

%post
/sbin/chkconfig --add wicd
%service wicd restart "Wiereless Internet Connection Daemon"

%preun
%service wicd stop
/sbin/chkconfig --del wicd

%files
%defattr(644,root,root,755)
%{_sysconfdir}/acpi/resume.d
%{_sysconfdir}/dbus-1/system.d
%attr(754,root,root) /etc/rc.d/init.d/wicd
%dir %{py_sitescriptdir}/%{name}
%{py_sitescriptdir}/%{name}/*.py[co]
%attr(755,root,root) %{_sbindir}/daemon.py
%attr(755,root,root) %{_bindir}/tray.py
%attr(755,root,root) %{_bindir}/gui.py
%dir %{_wicddir}
%dir %{_wicddir}/data
%{_wicddir}/data/*.glade
%dir %{_wicddir}/encryption
%dir %{_wicddir}/images
%{_wicddir}/encryption/templates
%{_wicddir}/images/*.png
%{_desktopdir}/*.desktop
%{_pixmapsdir}/wicd.png

%define	date	%(echo `LC_ALL="C" date +"%a %b %d %Y"`)
%changelog
* %{date} PLD Team <feedback w pld-linux.org>
All persons listed below can be reached at <cvs_login>@pld-linux.org


$Log:$

PS1. Jest miejsce gdzie usuwam dowiązania symboliczne. Co z nimi zrobić? Bo
install ich nie chciał przeżucić. Na nowo utworzyć?
PS2. Co zrobić z tłumaczeniami. Jak by ktoś mógł rzucić okiem w źródłach
na /opt/wicd/translations. Czy dodanie sekcji %lang np. %lang(pl) jakiśplik
przeniesie tłumaczenie do /usr/share/locale? Ale nie wiadomo czy będzie
działało wtedy. Się zobaczy.


-- 
Pozdrawiam
Piotr Grymkowski
-------------- następna część ---------
Załącznik, który nie był tekstem został usunięty...
Name: wicd.spec
Type: application/octet-stream
Size: 4141 bytes
Desc: nie znany
Url : /mailman/pipermail/pld-devel-pl/attachments/20071017/12fb30ba/attachment.obj 
-------------- następna część ---------
Załącznik, który nie był tekstem został usunięty...
Name: wicd-daemon.patch
Type: application/octet-stream
Size: 1235 bytes
Desc: nie znany
Url : /mailman/pipermail/pld-devel-pl/attachments/20071017/12fb30ba/attachment-0001.obj 
-------------- następna część ---------
Załącznik, który nie był tekstem został usunięty...
Name: wicd-init.d.patch
Type: application/octet-stream
Size: 1390 bytes
Desc: nie znany
Url : /mailman/pipermail/pld-devel-pl/attachments/20071017/12fb30ba/attachment-0002.obj 


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