You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@couchdb.apache.org by GitBox <gi...@apache.org> on 2018/11/30 09:22:01 UTC

[GitHub] wohali closed pull request #36: Modifications for openSUSE support

wohali closed pull request #36: Modifications for openSUSE support
URL: https://github.com/apache/couchdb-pkg/pull/36
 
 
   

This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:

As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):

diff --git a/Makefile b/Makefile
index 0e76d8e..f4f425b 100644
--- a/Makefile
+++ b/Makefile
@@ -69,6 +69,8 @@ centos6: make-rpmbuild centos
 centos-7: centos7
 centos7: make-rpmbuild centos
 
+openSUSE: centos7
+
 # Erlang is built from source on ARMv8
 # These packages are not installed, but the files are present
 drop-deb-deps-for-source-arch:
diff --git a/js/rpm/SPECS/js.spec b/js/rpm/SPECS/js.spec
index 5e0d1b1..944fa11 100644
--- a/js/rpm/SPECS/js.spec
+++ b/js/rpm/SPECS/js.spec
@@ -34,8 +34,13 @@ Provides:	js = %{version}-%{release}
 Obsoletes:	js
 Conflicts:	js <= 1.8.5
 BuildRoot:	%{_tmppath}/%{name}-%{version}-%{release}-root
+%if 0%{?suse_version}
+Buildrequires:	mozilla-nspr-devel >= 4.7
+BuildRequires:	python3
+%else
 Buildrequires:	nspr-devel >= 4.7
 BuildRequires:	python
+%endif
 BuildRequires:	perl
 BuildRequires:	zip
 BuildRequires:	ncurses-devel
@@ -54,7 +59,11 @@ with only mild differences from the published standard.
 Summary: Header files, libraries and development documentation for %{name}
 Group: Development/Libraries
 Requires: %{name} = %{epoch}:%{version}-%{release}
+%if 0%{?suse_version}
+Requires: pkg-config
+%else
 Requires: pkgconfig
+%endif
 Requires: ncurses-devel
 Provides: libjs-devel = %{version}-%{release}
 Provides: js-devel = %{version}-%{release}
@@ -109,13 +118,16 @@ includedir=%{_includedir}
 
 Name: libjs
 Description: JS library
+%if 0%{?suse_version}
+Requires: mozilla-nspr >= 4.7
+%else
 Requires: nspr >= 4.7
+%endif
 Version: %{version}
 Libs: -L${libdir} -ljs
 Cflags: -DXP_UNIX=1 -DJS_THREADSAFE=1 -I${includedir}/js
 EOF
 
-
 %build
 cd js/src
 %configure \
diff --git a/rpm/SPECS/couchdb.spec b/rpm/SPECS/couchdb.spec
index 3fb128c..64e6be1 100644
--- a/rpm/SPECS/couchdb.spec
+++ b/rpm/SPECS/couchdb.spec
@@ -33,29 +33,46 @@ ExclusiveArch: x86_64
 Exclusiveos:   linux
 Packager:      CouchDB Developers <de...@couchdb.apache.org>
 
+%if 0%{?suse_version}
+BuildRequires: erlang
+BuildRequires: erlang-rebar
+BuildRequires: erlang-reltool
+BuildRequires: erlang-epmd
+BuildRequires: gcc-c++
+BuildRequires: pkg-config
+Requires(pre): shadow
+BuildRequires: python3
+Requires(post): python3-progressbar
+Requires(post): python3-requests
+%else
 BuildRequires: esl-erlang
 BuildRequires: gcc
+Requires(pre): shadow-utils
+BuildRequires: python >= 2.6
+#BuildRequires: python-pip
+#BuildRequires: python-sphinx >= 1.5.3
+Requires(post): python-progressbar
+Requires(post): python-requests
+%endif
+
 BuildRequires: git
 BuildRequires: help2man
 #BuildRequires: couch-js-devel = 1:1.8.5
 BuildRequires: libcurl-devel
 BuildRequires: libicu-devel
 BuildRequires: nodejs >= 6.10.1
-BuildRequires: python >= 2.6
-#BuildRequires: python-pip
-#BuildRequires: python-sphinx >= 1.5.3
-
-Requires(pre): shadow-utils
 
 Requires(post): curl
 Requires(post): couch-js = 1:1.8.5
 Requires(post): libicu >= 4.2.1
 Requires(post): procps
-Requires(post): python-progressbar
-Requires(post): python-requests
 
-%if 0%{?fedora} || 0%{?rhel} >= 7
+%if 0%{?fedora} || 0%{?rhel} >= 7 || 0%{?suse_version}
+%if 0%{?suse_version}
+BuildRequires: 		systemd-rpm-macros
+%else
 BuildRequires:		xfsprogs-devel
+%endif 
 %{?systemd_requires}
 BuildRequires:		systemd
 %else
@@ -71,7 +88,7 @@ features, it provides robust, incremental replication with bi-directional
 conflict detection and resolution, and is queryable and indexable using a
 table-oriented view engine with JavaScript acting as the default view
 definition language.
-.
+
 CouchDB is written in Erlang, but can be easily accessed from any environment
 that provides means to make HTTP requests. There are a multitude of third-party
 client libraries that make this even easier for a variety of programming
@@ -88,26 +105,41 @@ languages and environments.
 %{__rm} -rf %{buildroot}
 
 %pre
+%if 0%{?suse_version}
+if ! /usr/bin/getent passwd couchdb > /dev/null; then /usr/sbin/useradd \
+  --system --home-dir /opt/couchdb --no-create-home \
+  --shell /bin/bash --comment "CouchDB Administrator" \
+  --user-group couchdb; fi
+%else
 if ! /usr/bin/getent passwd couchdb > /dev/null; then /usr/sbin/adduser \
   --system --home /opt/couchdb --no-create-home \
   --shell /bin/bash --comment "CouchDB Administrator" \
   --user-group couchdb; fi
+%endif
 
 %install
 %{__install} -d -m0755 %{buildroot}/opt
 %{__cp} -r rel/couchdb %{buildroot}/opt
 %{__install} -d -m0750 %{buildroot}/var/log/%{name}
+%if 0%{?suse_version}
+%{__install} -d -m0750 %{buildroot}%{_localstatedir}/lib/%{name}
+%else
 %{__install} -d -m0750 %{buildroot}%{_sharedstatedir}/%{name}
+%endif
 %{__install} -Dp -m0644 %{SOURCE3} %{buildroot}/opt/%{name}/etc/default.d/10-filelog.ini
 %{__install} -Dp -m0644 %{SOURCE5} %{buildroot}/etc/logrotate.d/%{name}
 /bin/find %{buildroot}/opt/%{name} -name *.ini -exec %{__chmod} 0640 {} \;
 
-%if 0%{?fedora} || 0%{?rhel} >= 7
+%if 0%{?fedora} || 0%{?rhel} >= 7 || 0%{?suse_version}
 %{__install} -Dp -m0644 %{SOURCE1} %{buildroot}%{_unitdir}/%{name}.service
 %else
 %{__install} -Dp -m0755 %{SOURCE2} %{buildroot}%{_initrddir}/%{name}
 %endif
+%if 0%{?suse_version}
+%{__ln_s} -f -T %{_localstatedir}/lib/%{name} %{buildroot}/opt/%{name}/data
+%else
 %{__ln_s} -f -T %{_sharedstatedir}/%{name} %{buildroot}/opt/%{name}/data
+%endif
 %{__ln_s} -f -T /var/log/%{name} %{buildroot}/opt/%{name}/var/log/%{name}
 
 %post
@@ -120,7 +152,7 @@ if ! /usr/bin/getent passwd couchdb > /dev/null; then /usr/sbin/adduser \
 %endif
 
 %preun
-%if 0%{?fedora} || 0%{?rhel} >= 7
+%if 0%{?fedora} || 0%{?rhel} >= 7 || 0%{?suse_version}
 %systemd_preun %{name}.service
 %else
 # stop couchdb only when uninstalling
@@ -132,7 +164,7 @@ killall -u couchdb epmd || :
 %endif
 
 %postun
-%if 0%{?fedora} || 0%{?rhel} >= 7
+%if 0%{?fedora} || 0%{?rhel} >= 7 || 0%{?suse_version}
 %systemd_postun_with_restart %{name}.service
 %else
 # restart couchdb only when upgrading
@@ -143,11 +175,15 @@ fi
 
 %files
 %attr(0755, %{name}, %{name}) /opt/couchdb
+%if 0%{?suse_version}
+%attr(0755, %{name}, %{name}) %dir %{_localstatedir}/lib/%{name}
+%else
 %attr(0755, %{name}, %{name}) %dir %{_sharedstatedir}/%{name}
+%endif
 %attr(0755, %{name}, %{name}) %dir /var/log/%{name}
 %config(noreplace) /opt/couchdb/etc/local.ini
 %config /etc/logrotate.d/%{name}
-%if 0%{?fedora} || 0%{?rhel} >= 7
+%if 0%{?fedora} || 0%{?rhel} >= 7 || 0%{?suse_version}
 %{_unitdir}/%{name}.service
 %else
 %{_initrddir}/%{name}


 

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services