/[packages]/updates/3/couchdb/current/SPECS/couchdb.spec
ViewVC logotype

Annotation of /updates/3/couchdb/current/SPECS/couchdb.spec

Parent Directory Parent Directory | Revision Log Revision Log


Revision 187737 - (hide annotations) (download)
Mon Dec 26 06:34:51 2011 UTC (12 years, 3 months ago) by fwang
Original Path: cauldron/couchdb/current/SPECS/couchdb.spec
File size: 4527 byte(s)
new version 1.1.1
1 dmorgan 77595 %define tarname apache-couchdb
2     %define couchdb_user couchdb
3     %define couchdb_group couchdb
4     %define couchdb_home %{_localstatedir}/lib/couchdb
5    
6     Name: couchdb
7 fwang 187737 Version: 1.1.1
8     Release: %mkrel 1
9 dmorgan 77595 Summary: A document database server, accessible via a RESTful JSON API
10     Group: Databases
11     License: Apache License
12     URL: http://couchdb.apache.org/
13     Source0: http://www.apache.org/dist/%{name}/%{version}/%{tarname}-%{version}.tar.gz
14     Source1: %{name}.init
15 fwang 110327 BuildRequires: erlang-devel erlang-compiler erlang-crypto erlang-eunit
16 dmorgan 77595 BuildRequires: libicu-devel
17     BuildRequires: js-devel
18     BuildRequires: help2man
19     BuildRequires: curl-devel
20    
21     Requires: couchdb-bin
22     #Initscripts
23     Requires(post): chkconfig
24     Requires(preun): chkconfig initscripts
25    
26     Requires(pre): shadow-utils
27    
28    
29     %description
30     Apache CouchDB is a distributed, fault-tolerant and schema-free
31     document-oriented database accessible via a RESTful HTTP/JSON API.
32     Among other features, it provides robust, incremental replication
33     with bi-directional conflict detection and resolution, and is
34     queryable and indexable using a table-oriented view engine with
35     JavaScript acting as the default view definition language.
36    
37     This package contains the initscript needed to start a systemwide instance
38     of CouchDB.
39    
40     %package bin
41     Group: Databases
42     Summary: Binary for Couchdb, a document database server
43    
44     Requires: erlang
45     Requires: erlang-crypto
46     Requires: erlang-ssl
47     Requires: erlang-xmerl
48     Requires: erlang-inets
49     Requires: erlang-tools
50 dmorgan 130424 Requires: erlang-public_key
51 dmorgan 77595
52    
53     %description bin
54     Apache CouchDB is a distributed, fault-tolerant and schema-free
55     document-oriented database accessible via a RESTful HTTP/JSON API.
56     Among other features, it provides robust, incremental replication
57     with bi-directional conflict detection and resolution, and is
58     queryable and indexable using a table-oriented view engine with
59     JavaScript acting as the default view definition language.
60    
61     This package contains the binary needed to run a CouchDB instance.
62    
63     %prep
64     %setup -q -n %{tarname}-%{version}
65    
66     %build
67     %configure2_5x \
68     --with-js-include=$(pkg-config --cflags libjs | sed 's/-I//') \
69     --with-erlang=%_libdir/erlang%_includedir
70    
71     # build seems to fail on klodia, with make -j16
72     # (no error logger present) error: "Failed to create 16 scheduler-threads(no er (eagain:11); ror logger present)
73     # error: "Failed to creaonly 15 scheduler-threads te 16 scheduler-twhreerae dcs (eagain:11); on(rno erealy 1ror
74     # logger present) teed.\n"
75     # 3 scheduler-threads rror: "Failed to create 16were created.\n"
76     make
77    
78     %install
79 fwang 187690 %makeinstall_std
80 dmorgan 77595
81     ## Install couchdb initscript
82 fwang 187690 install -D -m 755 %{SOURCE1} %{buildroot}%{_initrddir}/%{name}
83 dmorgan 77595
84     # Create /var/log/couchdb
85 fwang 187690 mkdir -p %{buildroot}%{_localstatedir}/log/%{name}
86 dmorgan 77595
87     # Create /var/run/couchdb
88 fwang 187690 mkdir -p %{buildroot}%{_localstatedir}/run/%{name}
89 dmorgan 77595
90     # Create /var/lib/couchdb
91 fwang 187690 mkdir -p %{buildroot}%{_localstatedir}/lib/%{name}
92 dmorgan 77595
93     # Create /etc/couchdb/default.d
94 fwang 187690 mkdir -p %{buildroot}%{_sysconfdir}/%{name}/default.d
95 dmorgan 77595
96     # Create /etc/couchdb/local.d
97 fwang 187690 mkdir -p %{buildroot}%{_sysconfdir}/%{name}/local.d
98 dmorgan 77595
99     ## Use /etc/sysconfig instead of /etc/default
100 fwang 187690 mkdir -p %{buildroot}%{_sysconfdir}/sysconfig
101     mv %{buildroot}%{_sysconfdir}/default/couchdb \
102     %{buildroot}%{_sysconfdir}/sysconfig/%{name}
103     rm -rf %{buildroot}%{_sysconfdir}/default
104 dmorgan 77595
105     # Remove unecessary files
106 fwang 187690 rm %{buildroot}%{_sysconfdir}/rc.d/couchdb
107     rm -rf %{buildroot}%{_datadir}/doc/couchdb
108 dmorgan 77595
109     # clean-up .la archives
110 fwang 187690 find %{buildroot} -name '*.la' -exec rm -f {} ';'
111 dmorgan 77595
112     %pre bin
113     %_pre_useradd %{couchdb_user} %{couchdb_home} /bin/bash
114    
115     %post
116     %_post_service %{name}
117    
118     %postun bin
119     %_postun_userdel %{couchdb_user}
120    
121     %preun
122     %_preun_service %{name}
123    
124     %files
125     %defattr(-,root,root,-)
126     %doc AUTHORS BUGS CHANGES LICENSE NEWS NOTICE README THANKS
127     %config(noreplace) %{_sysconfdir}/sysconfig/%{name}
128     %config(noreplace) %{_sysconfdir}/logrotate.d/%{name}
129     %{_initrddir}/%{name}
130    
131     %files bin
132     %defattr(-,root,root,-)
133     %{_bindir}/*
134     %dir %{_sysconfdir}/%{name}
135     %dir %{_sysconfdir}/%{name}/local.d
136     %dir %{_sysconfdir}/%{name}/default.d
137     %config(noreplace) %attr(0644,%{couchdb_user},root) %{_sysconfdir}/%{name}/default.ini
138     %config(noreplace) %attr(0644,%{couchdb_user},root) %{_sysconfdir}/%{name}/local.ini
139     %{_libdir}/%{name}
140     %{_datadir}/%{name}
141     %{_mandir}/man1/*
142     %dir %attr(0755,%{couchdb_user},root) %{_localstatedir}/log/%{name}
143     %dir %attr(0755,%{couchdb_user},root) %{_localstatedir}/run/%{name}
144     %dir %attr(0755,%{couchdb_user},root) %{_localstatedir}/lib/%{name}

  ViewVC Help
Powered by ViewVC 1.1.30