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