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