summaryrefslogtreecommitdiffstats
path: root/php-Analog.spec
blob: 976e2c24697d44e0b9321ea16f04ccdf9ffd2f98 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
# remirepo spec file for php-Analog, from:
#
# Fedora spec file for php-Analog
#
# License: MIT
# http://opensource.org/licenses/MIT
#
# Please preserve changelog entries
#
%global gh_owner   jbroadway
%global gh_project analog
%global gh_commit  1fcc97fd842f37013587d64aba5f3f1fa6b0d911
%global gh_short   %(c=%{gh_commit}; echo ${c:0:7})
#global gh_date    20150213
%global real_name  Analog

Name:           php-Analog
Summary:        PHP micro logging package
Version:        1.0.6
%if 0%{?gh_date}
Release:        5.%{gh_date}git%{gh_short}%{?dist}
%else
Release:        %{?dist}
%endif
License:        MIT
Group:          Development/Libraries
URL:            https://github.com/jbroadway/analog
Source0:        https://github.com/%{gh_owner}/%{gh_project}/archive/%{gh_commit}/%{gh_project}-%{version}-%{gh_short}.tar.gz

Patch0:         %{name}-php7.patch

BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildArch:      noarch
# For tests
BuildRequires:  %{_bindir}/phpunit
BuildRequires:  php-composer(psr/log)

# from composer.json,  "require": {
#                "psr/log": "1.*",
#                "php": ">=5.3.2"
Requires:       php(language) >= 5.3.2
Requires:       php-composer(psr/log)
# From phpcompatinfo report
Requires:       php-curl
Requires:       php-date
Requires:       php-json
Requires:       php-pcre
Requires:       php-reflection
Requires:       php-spl
Requires:       php-xml
# mongo is optional

Provides:       php-composer(analog/analog) = %{version}


%description
MicroPHP logging package based on the idea of using closures for
configurability and extensibility. It functions as a static class,
but you can completely control the writing of log messages through
a closure function (aka anonymous functions).

Analog also comes with over a dozen pre-written handlers,
with examples for each in the examples folder. These include:
- Amon - Send logs to the Amon server monitoring tool
- Buffer - Buffer messages to send all at once (works with File,
  Mail, Stderr, and Variable handlers)
- File - Append messages to a file
- FirePHP - Send messages to FirePHP browser plugin
- GELF - Send message to the Graylog2 log management server
- Ignore - Do nothing
- LevelBuffer - Buffer messages and send only if sufficient error
  level reached
- Mail - Send email notices
- Mongo - Save to MongoDB collection, requires php-pecl(mongo)
  package to be installed
- Multi - Send different log levels to different handlers
- Post - Send messages over HTTP POST to another machine
- Stderr - Send messages to STDERR
- Syslog - Send messages to syslog
- Variable - Buffer messages to a variable reference.

So while it's a micro class, it's highly extensible and very capable
out of the box too.


%prep
%setup -qn %{gh_project}-%{gh_commit}

%patch0 -p1


%build
# empty build section, nothing required


%install
rm -rf %{buildroot}

# install framework files
install -d %{buildroot}%{_datadir}/php
cp -a lib/%{real_name} %{buildroot}%{_datadir}/php/


%check
: Generate simple PSR-0 autoloader
cat <<EOF | tee bs.php
<?php
spl_autoload_register(function (\$class) {
    \$src = str_replace(array('\\\\', '_'), '/', \$class).'.php';
    @include_once \$src;
});
EOF
: Upstream test suite
phpunit --bootstrap bs.php --include-path=%{buildroot}%{_datadir}/php


%clean
rm -rf %{buildroot}


%files
%defattr(-,root,root,-)
%{!?_licensedir:%global license %%doc}
%license LICENSE
%doc README.md
%doc examples lib/%{real_name}.php
%doc composer.json
%dir %{_datadir}/php/%{real_name}
%{_datadir}/php/%{real_name}/*


%changelog
* Tue May 26 2015 Remi Collet <remi@fedoraproject.org> - 1.0.6-1
- update to 1.0.6
- composer dependencies
- add patch for PHP-7 (add Ignore, Null is deprecated)

* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.0-5.git9ab4c9e
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild

* Sun Aug 04 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.0-4.git9ab4c9e
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild

* Sun Feb 10 2013 Johan Cwiklinski <johan AT x-tnd DOT be> - 1.0.0-4.git9ab4c9e
- Add patch for locked file (https://github.com/jbroadway/analog/issues/7)
- Remove licence file and patch applied upstream
- Change github source URL

* Sun Dec 30 2012 Johan Cwiklinski <johan AT x-tnd DOT be> - 1.0.0-2.git876d8a3bb
- Fix a typo
- Run tests, add relevant BR and patch

* Sun Dec 30 2012 Johan Cwiklinski <johan AT x-tnd DOT be> - 1.0.0-1.git876d8a3bb
- Fix version
- remove not needeed php-hash requirement
- remove php-mongo requirement (add a line in %%description)
- remove unneeded macro
- add LICENSE file (upstream bug https://github.com/jbroadway/analog/issues/2)

* Mon Dec 24 2012 Johan Cwiklinski <johan AT x-tnd DOT be> - 1.0.0.1-1.git876d8a3bb
- Latest snapshot (bug fixes, new handlers)
- Fix Requires

* Sat Dec 01 2012 Johan Cwiklinski <johan AT x-tnd DOT be> - 1.0.0-1
- Initial packaging