]> git.pld-linux.org Git - packages/mongodb.git/blob - mongodb.spec
- do not package the /etc directory
[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.6
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:  b3b32fecdcbe8e8068ec2989be9d2da4
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 Requires(post,preun):   /sbin/chkconfig
106 Requires(postun):       /usr/sbin/groupdel
107 Requires(postun):       /usr/sbin/userdel
108 Requires(pre):  /bin/id
109 Requires(pre):  /usr/bin/getgid
110 Requires(pre):  /usr/sbin/groupadd
111 Requires(pre):  /usr/sbin/useradd
112 Requires:       rc-scripts
113 Provides:       group(mongod)
114 Provides:       user(mongod)
115 Conflicts:      logrotate < 3.8.0
116
117 %description server
118 Mongo (from "huMONGOus") is a schema-free document-oriented database.
119
120 This package provides the mongo server software, mongo sharding server
121 software, default configuration files, and init.d scripts.
122
123 %description server -l pl.UTF-8
124 Mongo (od "huMONGOus") to baza danych zorientowana na dokumenty
125 pozbawione schematu.
126
127 Ten pakiet zawiera serwer mongo, serwer dzielący, pliki domyślnej
128 konfiguracji oraz skrypty init.d.
129
130 %prep
131 %setup -q -n %{name}-src-r%{version}
132 %patch0 -p1
133 %patch1 -p1
134 %patch2 -p1
135 %{__sed} -i -e 's,-O3,%{rpmcxxflags} %{rpmcppflags},' SConstruct
136
137 # Fix permissions
138 find -type f -executable | xargs chmod a-x
139
140 # force system pcre/js/snappy
141 %{__rm} -r third_party/{js-1.7,pcre-7.4,snappy,*.py}
142
143 %build
144 %scons \
145         --prefix=$RPM_BUILD_ROOT%{_prefix} \
146         --sharedclient \
147         --full all \
148         --usev8 \
149         --cxx=%{__cxx}
150
151 %install
152 rm -rf $RPM_BUILD_ROOT
153 install -d $RPM_BUILD_ROOT{%{_sysconfdir},%{_mandir}/man1} \
154         $RPM_BUILD_ROOT/etc/{logrotate.d,rc.d/init.d,sysconfig} \
155         $RPM_BUILD_ROOT%{_var}/{lib,log}/mongo
156
157 # XXX: scons is so great, recompiles everything here!
158 %scons install \
159         --prefix=$RPM_BUILD_ROOT%{_prefix} \
160         --sharedclient \
161         --full \
162         --usev8 \
163         --cxx=%{__cxx}
164
165 cp -p %{SOURCE1} $RPM_BUILD_ROOT/etc/logrotate.d/mongod
166 install -p %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/mongod
167 cp -p rpm/mongod.sysconfig $RPM_BUILD_ROOT/etc/sysconfig/mongod
168 cp -p rpm/mongod.conf $RPM_BUILD_ROOT%{_sysconfdir}/mongod.conf
169 cp -p debian/*.1 $RPM_BUILD_ROOT%{_mandir}/man1
170
171 touch $RPM_BUILD_ROOT%{_var}/log/mongo/mongod.log
172
173 %clean
174 rm -rf $RPM_BUILD_ROOT
175
176 %post   libs -p /sbin/ldconfig
177 %postun libs -p /sbin/ldconfig
178
179 %pre server
180 %groupadd -g 258 -r mongod
181 %useradd -u 258 -r -g mongod -d %{_var}/lib/mongo -s /bin/false -c "MongoDB Database Server" mongod
182
183 %post server
184 /sbin/chkconfig --add mongod
185 %service mongod restart
186
187 %preun server
188 if [ "$1" = "0" ]; then
189         %service -q mongod stop
190         /sbin/chkconfig --del mongod
191 fi
192
193 %postun server
194 if [ "$1" = "0" ]; then
195         %userremove mongod
196         %groupremove mongod
197 fi
198
199 %files
200 %defattr(644,root,root,755)
201 %doc README GNU-AGPL-3.0.txt
202 %attr(755,root,root) %{_bindir}/bsondump
203 %attr(755,root,root) %{_bindir}/mongo
204 %attr(755,root,root) %{_bindir}/mongodump
205 %attr(755,root,root) %{_bindir}/mongoexport
206 %attr(755,root,root) %{_bindir}/mongofiles
207 %attr(755,root,root) %{_bindir}/mongoimport
208 %attr(755,root,root) %{_bindir}/mongorestore
209 %attr(755,root,root) %{_bindir}/mongosniff
210 %attr(755,root,root) %{_bindir}/mongostat
211 %attr(755,root,root) %{_bindir}/mongotop
212 %{_mandir}/man1/bsondump.1*
213 %{_mandir}/man1/mongo.1*
214 %{_mandir}/man1/mongodump.1*
215 %{_mandir}/man1/mongoexport.1*
216 %{_mandir}/man1/mongofiles.1*
217 %{_mandir}/man1/mongoimport.1*
218 %{_mandir}/man1/mongosniff.1*
219 %{_mandir}/man1/mongostat.1*
220 %{_mandir}/man1/mongorestore.1*
221
222 %files libs
223 %defattr(644,root,root,755)
224 %attr(755,root,root) %{_libdir}/libmongoclient.so
225
226 %files devel
227 %defattr(644,root,root,755)
228 %{_includedir}/mongo
229
230 %files static
231 %defattr(644,root,root,755)
232 %{_libdir}/libmongoclient.a
233
234 %files server
235 %defattr(644,root,root,755)
236 #%dir %{_sysconfdir}
237 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mongod.conf
238 %attr(754,root,root) /etc/rc.d/init.d/mongod
239 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/mongod
240 %config(noreplace) /etc/logrotate.d/mongod
241 %attr(755,root,root) %{_bindir}/mongod
242 %attr(755,root,root) %{_bindir}/mongos
243 %{_mandir}/man1/mongod.1*
244 %{_mandir}/man1/mongos.1*
245 %attr(755,mongod,mongod) %dir %{_var}/lib/mongo
246 %attr(755,mongod,mongod) %dir %{_var}/log/mongo
247 %attr(640,mongod,mongod) %config(noreplace) %verify(not md5 mtime size) %{_var}/log/mongo/mongod.log
This page took 0.063883 seconds and 4 git commands to generate.