]> git.pld-linux.org Git - packages/mongodb.git/blob - mongodb.spec
- updated to 2.0.1 (1.8.x left on MONGODB_1_8 branch)
[packages/mongodb.git] / mongodb.spec
1 # TODO: pass rpmldflags
2 Summary:        MongoDB client shell and tools
3 Summary(pl.UTF-8):      Powłoka kliencka i narzędzia dla bazy danych MongoDB
4 Name:           mongodb
5 Version:        2.0.1
6 Release:        1
7 License:        AGPL v3
8 Group:          Applications/Databases
9 Source0:        http://downloads.mongodb.org/src/%{name}-src-r%{version}.tar.gz
10 # Source0-md5:  cb8579074b7c9752eb382a2094ac4523
11 Source1:        %{name}.logrotate
12 Source2:        %{name}.init
13 Patch0:         config.patch
14 Patch1:         %{name}-system-libs.patch
15 Patch2:         %{name}-build.patch
16 URL:            http://www.mongodb.org/
17 BuildRequires:  boost-devel >= 1.42
18 BuildRequires:  libpcap-devel
19 BuildRequires:  libstdc++-devel >= 6:4.0
20 BuildRequires:  pcre-cxx-devel
21 BuildRequires:  pcre-devel
22 BuildRequires:  readline-devel
23 BuildRequires:  rpmbuild(macros) >= 1.228
24 BuildRequires:  scons >= 1.2
25 BuildRequires:  sed >= 4.0
26 BuildRequires:  snappy-devel
27 BuildRequires:  v8-devel
28 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
29
30 %description
31 Mongo (from "huMONGOus") is a schema-free document-oriented database.
32 It features dynamic profileable queries, full indexing, replication
33 and fail-over support, efficient storage of large binary data objects,
34 and auto-sharding.
35
36 This package provides the mongo shell, import/export tools, and other
37 client utilities.
38
39 %description -l pl.UTF-8
40 Mongo (od "huMONGOus") to baza danych zorientowana na dokumenty
41 pozbawione schematu. Obsługuje dynamicznie profilowane zapytania,
42 pełne indeksowanie, replikację i fail-over, wydajne składowanie dużych
43 obiektów danych binarnych oraz automatyczne dzielenie.
44
45 Ten pakiet zawiera powłokę mongo, narzędzia do eksportu/importu danych
46 oraz inne narzędzia klienckie.
47
48 %package libs
49 Summary:        MongoDB client library
50 Summary(pl.UTF-8):      Biblioteka kliencka MongoDB
51 Group:          Libraries
52
53 %description libs
54 Mongo (from "huMONGOus") is a schema-free document-oriented database.
55
56 This package provides the mongo client library.
57
58 %description libs -l pl.UTF-8
59 Mongo (od "huMONGOus") to baza danych zorientowana na dokumenty
60 pozbawione schematu.
61
62 Ten pakiet zawiera bibliotekę kliencką mongo.
63
64 %package devel
65 Summary:        Header files for MongoDB client library
66 Summary(pl.UTF-8):      Pliki nagłówkowe biblioteki klienckiej MongoDB
67 Group:          Development/Libraries
68 Requires:       %{name}-libs = %{version}-%{release}
69
70 %description devel
71 Mongo (from "huMONGOus") is a schema-free document-oriented database.
72
73 This package provides the header files needed to develop MongoDB
74 client software.
75
76 %description devel -l pl.UTF-8
77 Mongo (od "huMONGOus") to baza danych zorientowana na dokumenty
78 pozbawione schematu.
79
80 Ten pakiet zawiera pliki nagłówkowe potrzebne do tworzenia
81 oprogramowania klienckiego dla MongoDB.
82
83 %package static
84 Summary:        Static MongoDB client library
85 Summary(pl.UTF-8):      Statyczna biblioteka kliencka MongoDB
86 Group:          Development/Libraries
87 Requires:       %{name}-libs = %{version}-%{release}
88
89 %description static
90 Mongo (from "huMONGOus") is a schema-free document-oriented database.
91
92 This package provides the MongoDB static client library.
93
94 %description static -l pl.UTF-8
95 Mongo (od "huMONGOus") to baza danych zorientowana na dokumenty
96 pozbawione schematu.
97
98 Ten pakiet zawiera statyczną bibliotekę kliencką MongoDB.
99
100 %package server
101 Summary:        MongoDB server, sharding server, and support scripts
102 Summary(pl.UTF-8):      Serwer MongoDB, serwer dzielący oraz skrypty pomocnicze
103 Group:          Applications/Databases
104 Requires:       %{name} = %{version}-%{release}
105 Provides:       group(mongod)
106 Provides:       user(mongod)
107 Requires(post,preun):   /sbin/chkconfig
108 Requires(postun):       /usr/sbin/groupdel
109 Requires(postun):       /usr/sbin/userdel
110 Requires(pre):  /bin/id
111 Requires(pre):  /usr/bin/getgid
112 Requires(pre):  /usr/sbin/groupadd
113 Requires(pre):  /usr/sbin/useradd
114 Requires:       rc-scripts
115
116 %description server
117 Mongo (from "huMONGOus") is a schema-free document-oriented database.
118
119 This package provides the mongo server software, mongo sharding server
120 software, default configuration files, and init.d scripts.
121
122 %description server -l pl.UTF-8
123 Mongo (od "huMONGOus") to baza danych zorientowana na dokumenty
124 pozbawione schematu.
125
126 Ten pakiet zawiera serwer mongo, serwer dzielący, pliki domyślnej
127 konfiguracji oraz skrypty init.d.
128
129 %prep
130 %setup -q -n %{name}-src-r%{version}
131 %patch0 -p1
132 %patch1 -p1
133 %patch2 -p1
134 %{__sed} -i -e 's,-O3,%{rpmcxxflags} %{rpmcppflags},' SConstruct
135
136 # Fix permissions
137 find -type f -executable | xargs chmod a-x
138
139 # force system pcre/js/snappy
140 %{__rm} -r third_party/{js-1.7,pcre-7.4,snappy,*.py}
141
142 %build
143 %scons \
144         --prefix=$RPM_BUILD_ROOT%{_prefix} \
145         --sharedclient \
146         --full all \
147         --usev8 \
148         --cxx=%{__cxx}
149
150 %install
151 rm -rf $RPM_BUILD_ROOT
152 install -d $RPM_BUILD_ROOT{%{_sysconfdir},%{_mandir}/man1} \
153         $RPM_BUILD_ROOT/etc/{logrotate.d,rc.d/init.d,sysconfig} \
154         $RPM_BUILD_ROOT%{_var}/{lib,log}/mongo
155
156 # XXX: scons is so great, recompiles everything here!
157 %scons install \
158         --prefix=$RPM_BUILD_ROOT%{_prefix} \
159         --sharedclient \
160         --full \
161         --usev8 \
162         --cxx=%{__cxx}
163
164 cp -p %{SOURCE1} $RPM_BUILD_ROOT/etc/logrotate.d/mongod
165 install -p %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/mongod
166 cp -p rpm/mongod.sysconfig $RPM_BUILD_ROOT/etc/sysconfig/mongod
167 cp -p rpm/mongod.conf $RPM_BUILD_ROOT%{_sysconfdir}/mongod.conf
168 cp -p debian/*.1 $RPM_BUILD_ROOT%{_mandir}/man1
169
170 touch $RPM_BUILD_ROOT%{_var}/log/mongo/mongod.log
171
172 %clean
173 rm -rf $RPM_BUILD_ROOT
174
175 %post   libs -p /sbin/ldconfig
176 %postun libs -p /sbin/ldconfig
177
178 %pre server
179 %groupadd -g 258 -r mongod
180 %useradd -u 258 -r -g mongod -d %{_var}/lib/mongo -s /bin/false -c "MongoDB Database Server" mongod
181
182 %post server
183 /sbin/chkconfig --add mongod
184 %service mongod restart
185
186 %preun server
187 if [ "$1" = "0" ]; then
188         %service -q mongod stop
189         /sbin/chkconfig --del mongod
190 fi
191
192 %postun server
193 if [ "$1" = "0" ]; then
194         %userremove mongod
195         %groupremove mongod
196 fi
197
198 %files
199 %defattr(644,root,root,755)
200 %doc README GNU-AGPL-3.0.txt
201 %attr(755,root,root) %{_bindir}/bsondump
202 %attr(755,root,root) %{_bindir}/mongo
203 %attr(755,root,root) %{_bindir}/mongodump
204 %attr(755,root,root) %{_bindir}/mongoexport
205 %attr(755,root,root) %{_bindir}/mongofiles
206 %attr(755,root,root) %{_bindir}/mongoimport
207 %attr(755,root,root) %{_bindir}/mongorestore
208 %attr(755,root,root) %{_bindir}/mongosniff
209 %attr(755,root,root) %{_bindir}/mongostat
210 %attr(755,root,root) %{_bindir}/mongotop
211 %{_mandir}/man1/bsondump.1*
212 %{_mandir}/man1/mongo.1*
213 %{_mandir}/man1/mongodump.1*
214 %{_mandir}/man1/mongoexport.1*
215 %{_mandir}/man1/mongofiles.1*
216 %{_mandir}/man1/mongoimport.1*
217 %{_mandir}/man1/mongosniff.1*
218 %{_mandir}/man1/mongostat.1*
219 %{_mandir}/man1/mongorestore.1*
220
221 %files libs
222 %defattr(644,root,root,755)
223 %attr(755,root,root) %{_libdir}/libmongoclient.so
224
225 %files devel
226 %defattr(644,root,root,755)
227 %{_includedir}/mongo
228
229 %files static
230 %defattr(644,root,root,755)
231 %{_libdir}/libmongoclient.a
232
233 %files server
234 %defattr(644,root,root,755)
235 %dir %{_sysconfdir}
236 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mongod.conf
237 %attr(754,root,root) /etc/rc.d/init.d/mongod
238 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/mongod
239 %config(noreplace) /etc/logrotate.d/mongod
240 %attr(755,root,root) %{_bindir}/mongod
241 %attr(755,root,root) %{_bindir}/mongos
242 %{_mandir}/man1/mongod.1*
243 %{_mandir}/man1/mongos.1*
244 %attr(755,mongod,mongod) %dir %{_var}/lib/mongo
245 %attr(755,mongod,mongod) %dir %{_var}/log/mongo
246 %attr(640,mongod,mongod) %config(noreplace) %verify(not md5 mtime size) %{_var}/log/mongo/mongod.log
This page took 0.153582 seconds and 3 git commands to generate.