]>
Commit | Line | Data |
---|---|---|
3105129a | 1 | %include /usr/lib/rpm/macros.php |
211bbe29 | 2 | %define _class PHP |
3 | %define _subclass Fork | |
3105129a AG |
4 | %define _status beta |
5 | %define _pearname %{_class}_%{_subclass} | |
6 | ||
d31f09ed | 7 | Summary: %{_pearname} - Wrapper for pcntl_fork() with Java-like API |
0bf25ff5 | 8 | Summary(pl.UTF-8): %{_pearname} - Wrapper dla pcntl_fork() z API zbliżonym do Javy |
3105129a | 9 | Name: php-pear-%{_pearname} |
a92187f7 | 10 | Version: 0.3.0 |
f3122a2c | 11 | Release: 3 |
3105129a AG |
12 | License: PHP 2.02 |
13 | Group: Development/Languages/PHP | |
14 | Source0: http://pear.php.net/get/%{_pearname}-%{version}.tgz | |
a92187f7 | 15 | # Source0-md5: fd79cedf8c57d074757d4362beab41bf |
d281afa8 | 16 | URL: http://pear.php.net/package/PHP_Fork/ |
f2fe80fa | 17 | BuildRequires: php-pear-PEAR |
d100d1da | 18 | BuildRequires: rpm-php-pearprov >= 4.4.2-11 |
81db3c7c | 19 | BuildRequires: rpmbuild(macros) >= 1.300 |
f3122a2c ER |
20 | Requires: php(pcntl) |
21 | Requires: php(posix) | |
22 | Requires: php(shmop) | |
d100d1da | 23 | Requires: php-pear >= 4:1.0-7 |
3105129a AG |
24 | BuildArch: noarch |
25 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) | |
26 | ||
27 | %description | |
d31f09ed AG |
28 | PHP_Fork class. Wrapper around the pcntl_fork() stuff with a API set |
29 | like Java language. Practical usage is done by extending this class, | |
30 | and re-defining the run() method. | |
d31f09ed | 31 | |
3105129a AG |
32 | This way PHP developers can enclose logic into a class that extends |
33 | PHP_Fork, then execute the start() method that forks a child process. | |
d31f09ed AG |
34 | Communications with the forked process is ensured by using a Shared |
35 | Memory Segment; by using a user-defined signal and this shared memory | |
36 | developers can access to child process methods that returns a | |
37 | serializable variable. | |
38 | ||
39 | The shared variable space can be accessed with the two methods: | |
40 | - void setVariable($name, $value) | |
41 | - mixed getVariable($name) | |
42 | ||
f3122a2c ER |
43 | $name must be a valid PHP variable name; $value must be a variable or |
44 | a serializable object. | |
d31f09ed AG |
45 | |
46 | Resources (db connections, streams, etc.) cannot be serialized and so | |
47 | they're not correctly handled. | |
3105129a | 48 | |
cb55af93 | 49 | In PEAR status of this package is: %{_status}. |
3105129a | 50 | |
71cdb0bd | 51 | %description -l pl.UTF-8 |
d281afa8 | 52 | Klasa PHP_Fork. Wrapper dla zbioru funkcji pcntl_fork() i pochodnych z |
71cdb0bd | 53 | API zbliżonym do języka Javy. Praktyczne zastosowanie polega na |
a469f907 | 54 | rozszerzeniu tej klasy i przedefiniowaniu metody run(). |
d281afa8 | 55 | |
71cdb0bd JR |
56 | Dzięki temu deweloper PHP może zamknąć warstwę logiczną wewnątrz klasy |
57 | rozszerzającej PHP_Fork, a następnie uruchomić metodę start() która | |
58 | wywoła proces potomny. Komunikacja z nowo powstałym procesem jest | |
59 | zapewniona za pomocą Segmentu Współdzielonej Pamięci (Shared Memory | |
60 | Segment); używając zdefiniowanych przez użytkownika sygnałów i tejże | |
61 | dzielonej pamięci deweloperzy mają dostęp do metod procesu potomnego, | |
62 | które zwraca zmienną dająca się zserializować. | |
d281afa8 | 63 | |
71cdb0bd | 64 | Dostęp do dzielonej przestrzeni zmiennych jest możliwy poprzez dwie |
d281afa8 AG |
65 | metody: |
66 | - void setVariable($name, $value) | |
67 | - mixed getVariable($name) | |
68 | ||
71cdb0bd JR |
69 | $name musi być poprawną zmienną PHP; $value musi być zmienną lub |
70 | obiektem możliwym do serializacji. | |
d281afa8 | 71 | |
71cdb0bd JR |
72 | Zasoby (połączenia z bazami danych, strumienie, itp) nie mogą być |
73 | zserializowane i jako takie nie są poprawnie obsługiwane. | |
d281afa8 AG |
74 | |
75 | Ta klasa ma w PEAR status: %{_status}. | |
3105129a AG |
76 | |
77 | %prep | |
d100d1da | 78 | %pear_package_setup |
3105129a AG |
79 | |
80 | %install | |
81 | rm -rf $RPM_BUILD_ROOT | |
d100d1da ER |
82 | install -d $RPM_BUILD_ROOT%{php_pear_dir} |
83 | %pear_package_install | |
3105129a AG |
84 | |
85 | %clean | |
86 | rm -rf $RPM_BUILD_ROOT | |
87 | ||
88 | %files | |
89 | %defattr(644,root,root,755) | |
d100d1da ER |
90 | %doc install.log optional-packages.txt |
91 | %doc docs/%{_pearname}/examples | |
92 | %{php_pear_dir}/.registry/*.reg | |
3105129a | 93 | %{php_pear_dir}/%{_class}/*.php |