From 795c7a5df6e2984d6cb9c57f8d12e4f71f36c898 Mon Sep 17 00:00:00 2001 From: Takuya ASADA Date: Wed, 2 Sep 2015 04:32:54 +0900 Subject: [PATCH] .spec file and scripts to build RPM for Fedora Signed-off-by: Takuya ASADA Signed-off-by: Pekka Enberg --- dist/redhat/build_rpm.sh | 27 ++++++++++++ dist/redhat/scylla-jmx.spec | 60 ++++++++++++++++++++++++++ dist/redhat/systemd/scylla-jmx.service | 15 +++++++ 3 files changed, 102 insertions(+) create mode 100755 dist/redhat/build_rpm.sh create mode 100644 dist/redhat/scylla-jmx.spec create mode 100644 dist/redhat/systemd/scylla-jmx.service diff --git a/dist/redhat/build_rpm.sh b/dist/redhat/build_rpm.sh new file mode 100755 index 0000000..1116b41 --- /dev/null +++ b/dist/redhat/build_rpm.sh @@ -0,0 +1,27 @@ +#!/bin/sh -e + +SCYLLA_VER=0.00 +RPMBUILD=~/rpmbuild + +if [ ! -e dist/redhat/build_rpm.sh ]; then + echo "run build_rpm.sh in top of scylla-jmx dir" + exit 1 +fi +if [ ! -f /usr/bin/git ] || [ ! -f /usr/bin/yum-builddep ] || [ ! -f /usr/bin/rpmbuild ]; then + sudo yum install -y yum-utils git rpm-build rpmdevtools +fi +mkdir -p $RPMBUILD/{BUILD,BUILDROOT,RPMS,SOURCES,SPECS,SRPMS} +curdir=`basename $(pwd)` +cd .. +if [ "$curdir" != "scylla-jmx-$SCYLLA_VER" ]; then + echo "WARNING: base directory name should be 'scylla-jmx-$SCYLLA_VER'" + ln -s $curdir scylla-jmx-$SCYLLA_VER +fi +tar --exclude-vcs --exclude-vcs-ignores -cpf $RPMBUILD/SOURCES/scylla-jmx-$SCYLLA_VER.tar scylla-jmx-$SCYLLA_VER $curdir +if [ "$curdir" != "scylla-jmx-$SCYLLA_VER" ]; then + rm scylla-jmx-$SCYLLA_VER +fi +cd - +cp dist/redhat/scylla-jmx.spec $RPMBUILD/SPECS +sudo yum-builddep -y $RPMBUILD/SPECS/scylla-jmx.spec +rpmbuild --define "_topdir $RPMBUILD" -ba $RPMBUILD/SPECS/scylla-jmx.spec diff --git a/dist/redhat/scylla-jmx.spec b/dist/redhat/scylla-jmx.spec new file mode 100644 index 0000000..1f659f3 --- /dev/null +++ b/dist/redhat/scylla-jmx.spec @@ -0,0 +1,60 @@ +Name: scylla-jmx +Version: 0.00 +Release: 1%{?dist} +Summary: Scylla JMX +Group: Applications/Dataases + +License: Proprietary +URL: http://www.seastar-project.org/ +Source0: %{name}-%{version}.tar + +BuildArch: noarch +BuildRequires: maven java-1.8.0-openjdk +Requires: maven java-1.8.0-openjdk + +%description + + +%prep +%setup -q + + +%build +env JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk mvn install + +%install +rm -rf $RPM_BUILD_ROOT +mkdir -p $RPM_BUILD_ROOT%{_unitdir} +mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib/scylla/ + +install -m644 dist/redhat/systemd/scylla-jmx.service $RPM_BUILD_ROOT%{_unitdir}/ +install -d -m755 $RPM_BUILD_ROOT%{_prefix}/lib/scylla +install -d -m755 $RPM_BUILD_ROOT%{_prefix}/lib/scylla/jmx +install -m644 target/urchin-mbean-1.0.jar $RPM_BUILD_ROOT%{_prefix}/lib/scylla/jmx/ + +%pre +/usr/sbin/groupadd scylla 2> /dev/null || : +/usr/sbin/useradd -g scylla -s /sbin/nologin -r -d ${_sharedstatedir}/scylla scylla 2> /dev/null || : + +%post +%systemd_post scylla-jmx.service + +%preun +%systemd_preun scylla-jmx.service + +%postun +%systemd_postun + +%clean +rm -rf $RPM_BUILD_ROOT + + +%files +%defattr(-,root,root) + +%{_unitdir}/scylla-jmx.service +%{_prefix}/lib/scylla/jmx/urchin-mbean-1.0.jar + +%changelog +* Fri Aug 7 2015 Takuya ASADA Takuya ASADA +- inital version of scylla-tools.spec diff --git a/dist/redhat/systemd/scylla-jmx.service b/dist/redhat/systemd/scylla-jmx.service new file mode 100644 index 0000000..bd0e2bf --- /dev/null +++ b/dist/redhat/systemd/scylla-jmx.service @@ -0,0 +1,15 @@ +[Unit] +Description=Scylla JMX +Requires=scylla-server.service +After=scylla-server.service + +[Service] +Type=simple +User=scylla +Group=scylla +ExecStart=/usr/bin/java -jar /usr/lib/scylla/jmx/urchin-mbean-1.0.jar +KillMode=process +Restart=always + +[Install] +WantedBy=multi-user.target