]>
Commit | Line | Data |
---|---|---|
1 | Summary: A WebDAV server in Python | |
2 | Summary(pl.UTF-8): Serwer WebDAV napisany w Pythonie | |
3 | Name: PyFileServer | |
4 | Version: 0.2.1 | |
5 | Release: 1 | |
6 | License: BSD | |
7 | Group: Networking/Daemons | |
8 | Source0: http://download.berlios.de/pyfilesync/PyFileServer-0.2.1.zip | |
9 | # Source0-md5: 7a46d3f94e05d81b4110e6d0780c642b | |
10 | URL: http://pyfilesync.berlios.de/pyfileserver.html | |
11 | BuildRequires: rpmbuild(macros) >= 1.710 | |
12 | Patch0: %{name}-setup_py.patch | |
13 | BuildRequires: python >= 2.3 | |
14 | BuildRequires: python-setuptools | |
15 | BuildRequires: unzip | |
16 | %pyrequires_eq python-modules | |
17 | Requires: python-PyXML | |
18 | BuildArch: noarch | |
19 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) | |
20 | ||
21 | %description | |
22 | PyFileServer implements up to Class 2 of the WebDAV specification, | |
23 | including support for shared and exclusive write locking, and setting | |
24 | arbitrary dead properties. It also implements HTTP user authentication | |
25 | using both basic and digest schemes, HTTP single range retrievals and | |
26 | conditional processing headers (If_Match, If_Modified_Since, etc). | |
27 | ||
28 | PyFileServer also allows custom components to be developed easily by | |
29 | having clear interfaces for: | |
30 | - Resource Abstraction Layer | |
31 | - Lock Manager | |
32 | - Property Manager | |
33 | - Domain Controllers | |
34 | ||
35 | %description -l pl.UTF-8 | |
36 | PyFileSerwer implementuje specyfikację WebDAV do klasy 2 włącznie, | |
37 | wraz z obsługą współdzielonych i wyłącznych blokad zapisu oraz | |
38 | ustawianiem dowolnych martwych własności. Implementuje także | |
39 | uwierzytelnianie użytkowników po HTTP przy użyciu schematów basic i | |
40 | digest, pojedyncze zakresy ściągania danych po HTTP oraz nagłówki | |
41 | przetwarzania warunkowego (If_Match, If_Modified_Since itp.). | |
42 | ||
43 | PyFileServer pozwala także na łatwe tworzenie własnych komponentów | |
44 | udostępniając przejrzyste interfejsy do: | |
45 | - warstwy abstrakcji zasobów (Resource Abstraction Layer) | |
46 | - zarządcy blokad (Lock Manager) | |
47 | - zarządcy własności (Property Manager) | |
48 | - kontrolerów domen (Domain Controllers) | |
49 | ||
50 | %prep | |
51 | %setup -q -n %{name} | |
52 | %patch0 | |
53 | ||
54 | %build | |
55 | %py_build | |
56 | ||
57 | %install | |
58 | rm -rf $RPM_BUILD_ROOT | |
59 | %py_install \ | |
60 | --single-version-externally-managed \ | |
61 | --optimize=2 \ | |
62 | --root=$RPM_BUILD_ROOT | |
63 | ||
64 | ||
65 | ||
66 | install -d $RPM_BUILD_ROOT%{_bindir} | |
67 | echo "#!/usr/bin/python" > $RPM_BUILD_ROOT%{_bindir}/PyFileServer.py | |
68 | cat ext_wsgiutils_server.py >> $RPM_BUILD_ROOT%{_bindir}/PyFileServer.py | |
69 | %py_postclean | |
70 | ||
71 | %clean | |
72 | rm -rf $RPM_BUILD_ROOT | |
73 | ||
74 | %files | |
75 | %defattr(644,root,root,755) | |
76 | %doc ADDONS.txt DEVELOPERS.txt PyFileServer-example.conf README.txt | |
77 | %doc THANKS.txt TODO.txt TUTORIAL.txt | |
78 | %attr(755,root,root) %{_bindir}/* | |
79 | %{py_sitescriptdir}/pyfileserver | |
80 | %{py_sitescriptdir}/PyFileServer* |