]> git.pld-linux.org Git - packages/mongodb.git/blame - mongodb.spec
- up to 1.6.5
[packages/mongodb.git] / mongodb.spec
CommitLineData
5688efcd 1#
d1b0fd13 2# TODO
75e22e92 3# - pass our rpm*cflags
5688efcd 4#
69fbae1d 5Summary: MongoDB client shell and tools
6Name: mongodb
75e22e92 7Version: 1.6.5
d1b0fd13 8Release: 0.1
69fbae1d 9License: AGPL 3.0
10Group: Applications/Databases
d1b0fd13 11URL: http://www.mongodb.org/
1987b887 12Source0: http://downloads.mongodb.org/src/%{name}-src-r%{version}.tar.gz
75e22e92 13# Source0-md5: 99f1c4c256be1611da6068aea30f9a30
1987b887 14Source1: %{name}.logrotate
15Source2: %{name}.init
69fbae1d 16# BuildRequires: libpcap-devel
17BuildRequires: boost-devel >= 1.42
c5835a7a 18BuildRequires: libstdc++-devel >= 6:4.0
1987b887 19BuildRequires: pcre-cxx-devel
c07fcde2 20BuildRequires: pcre-devel
69fbae1d 21BuildRequires: readline-devel
aa21d651 22BuildRequires: rpmbuild(macros) >= 1.228
69fbae1d 23BuildRequires: scons >= 1.2
75e22e92 24BuildRequires: sed >= 4.0
69fbae1d 25BuildRequires: v8-devel
69fbae1d 26BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
69fbae1d 27
28%description
29Mongo (from "huMONGOus") is a schema-free document-oriented database.
30It features dynamic profileable queries, full indexing, replication
31and fail-over support, efficient storage of large binary data objects,
32and auto-sharding.
33
34This package provides the mongo shell, import/export tools, and other
35client utilities.
36
69fbae1d 37%package devel
1987b887 38Summary: Headers and libraries for mongo development
69fbae1d 39Group: Development/Libraries
c5835a7a 40Requires: %{name} = %{version}-%{release}
69fbae1d 41
42%description devel
43Mongo (from "huMONGOus") is a schema-free document-oriented database.
44
45This package provides the mongo static library and header files needed
46to develop mongo client software.
47
748739f7
ER
48%package server
49Summary: MongoDB server, sharding server, and support scripts
50Group: Applications/Databases
51Requires: %{name} = %{version}-%{release}
40ec6826
ER
52Provides: group(mongod)
53Provides: user(mongod)
aa21d651 54Requires(post,preun): /sbin/chkconfig
40ec6826
ER
55Requires(postun): /usr/sbin/groupdel
56Requires(postun): /usr/sbin/userdel
57Requires(pre): /bin/id
58Requires(pre): /usr/bin/getgid
59Requires(pre): /usr/sbin/groupadd
60Requires(pre): /usr/sbin/useradd
aa21d651 61Requires: rc-scripts
748739f7
ER
62
63%description server
64Mongo (from "huMONGOus") is a schema-free document-oriented database.
65
66This package provides the mongo server software, mongo sharding server
67softwware, default configuration files, and init.d scripts.
68
69fbae1d 69%prep
70%setup -q -n %{name}-src-r%{version}
75e22e92 71%{__sed} -i 's,-O3,,' SConstruct
69fbae1d 72
d1b0fd13
ER
73# Fix permissions
74find -type f -executable | xargs chmod a-x
75
69fbae1d 76%build
d1b0fd13
ER
77%scons \
78 --prefix=$RPM_BUILD_ROOT%{_prefix} \
79 --sharedclient \
80 --full all \
75e22e92 81 --usev8 \
82 --cxx=%{__cxx}
69fbae1d 83
69fbae1d 84# XXX really should have shared library here
85
86%install
87rm -rf $RPM_BUILD_ROOT
d1b0fd13 88install -d $RPM_BUILD_ROOT{%{_sysconfdir},%{_mandir}/man1} \
748739f7 89 $RPM_BUILD_ROOT/etc/{logrotate.d,rc.d/init.d,sysconfig} \
d1b0fd13 90 $RPM_BUILD_ROOT%{_var}/{lib,log}/mongo
748739f7 91
d1b0fd13
ER
92%scons install \
93 --prefix=$RPM_BUILD_ROOT%{_prefix} \
94 --sharedclient \
95 --full \
96 --usev8
97
748739f7
ER
98install -p %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/mongod
99cp -a rpm/mongod.sysconfig $RPM_BUILD_ROOT/etc/sysconfig/mongod
69fbae1d 100
748739f7 101cp -a %{SOURCE1} $RPM_BUILD_ROOT/etc/logrotate.d/mongod
d1b0fd13 102cp -a rpm/mongod.conf $RPM_BUILD_ROOT%{_sysconfdir}/mongod.conf
69fbae1d 103
748739f7 104cp -a debian/*.1 $RPM_BUILD_ROOT%{_mandir}/man1
69fbae1d 105
748739f7 106touch $RPM_BUILD_ROOT%{_var}/log/mongo/mongod.log
69fbae1d 107
108%clean
69fbae1d 109rm -rf $RPM_BUILD_ROOT
110
111%pre server
5688efcd 112%groupadd -g 258 -r mongod
113%useradd -u 258 -r -g mongod -d %{_var}/lib/mongo -s /bin/false -c "MongoDB Database Server" mongod
69fbae1d 114
115%post server
aa21d651
ER
116/sbin/chkconfig --add mongod
117%service mongod restart
69fbae1d 118
119%preun server
aa21d651
ER
120if [ "$1" = "0" ]; then
121 %service -q mongod stop
122 /sbin/chkconfig --del mongod
123fi
69fbae1d 124
5688efcd 125%postun server
40ec6826
ER
126if [ "$1" = "0" ]; then
127 %userremove mongod
128 %groupremove mongod
129fi
130
69fbae1d 131%files
132%defattr(644,root,root,755)
133%doc README GNU-AGPL-3.0.txt
134%attr(755,root,root) %{_bindir}/mongo
135%attr(755,root,root) %{_bindir}/mongodump
136%attr(755,root,root) %{_bindir}/mongoexport
137%attr(755,root,root) %{_bindir}/mongofiles
138%attr(755,root,root) %{_bindir}/mongoimport
139%attr(755,root,root) %{_bindir}/mongorestore
75e22e92 140%attr(755,root,root) %{_bindir}/mongosniff
69fbae1d 141%attr(755,root,root) %{_bindir}/mongostat
142%attr(755,root,root) %{_bindir}/bsondump
143%{_mandir}/man1/mongo.1*
144%{_mandir}/man1/mongod.1*
145%{_mandir}/man1/mongodump.1*
146%{_mandir}/man1/mongoexport.1*
147%{_mandir}/man1/mongofiles.1*
148%{_mandir}/man1/mongoimport.1*
149%{_mandir}/man1/mongosniff.1*
150%{_mandir}/man1/mongostat.1*
151%{_mandir}/man1/mongorestore.1*
152
153%files server
154%defattr(644,root,root,755)
748739f7
ER
155%dir %{_sysconfdir}
156%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mongod.conf
157%attr(754,root,root) /etc/rc.d/init.d/mongod
158%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/mongod
69fbae1d 159%config(noreplace) /etc/logrotate.d/mongod
69fbae1d 160%attr(755,root,root) %{_bindir}/mongod
161%attr(755,root,root) %{_bindir}/mongos
162%{_mandir}/man1/mongos.1*
163%attr(755,mongod,mongod) %dir %{_var}/lib/mongo
164%attr(755,mongod,mongod) %dir %{_var}/log/mongo
165%attr(640,mongod,mongod) %config(noreplace) %verify(not md5 mtime size) %{_var}/log/mongo/mongod.log
166
167%files devel
168%defattr(644,root,root,755)
169%{_includedir}/mongo
170%{_libdir}/libmongoclient.a
171%{_libdir}/libmongoclient.so
172#%{_libdir}/libmongotestfiles.a
This page took 0.203837 seconds and 4 git commands to generate.