diff --git a/openhpi-3.4.0-systemd.patch b/openhpi-3.4.0-systemd.patch new file mode 100644 index 0000000..028d985 --- /dev/null +++ b/openhpi-3.4.0-systemd.patch @@ -0,0 +1,94 @@ +From d82555d0f32fc341d8f3e58a08f63894a3eb7ce0 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Dan=20Hor=C3=A1k?= +Date: Tue, 6 Mar 2012 11:23:01 +0100 +Subject: [PATCH] add support for systemd + +New configure parameter is introduced (--with-systemdsystemunitdir) and when set +it means that systemd service file will be installed instead of the classis initscript. +--- + configure.ac | 12 ++++++++++++ + openhpid/Makefile.am | 7 +++++++ + openhpid/openhpid.service.in | 11 +++++++++++ + 3 files changed, 30 insertions(+) + create mode 100644 openhpid/openhpid.service.in + +diff --git a/configure.ac b/configure.ac +index e538fb4..80157af 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -709,6 +709,17 @@ AC_ARG_ENABLE([man], + AC_SUBST(MAN,"") + fi]) + ++dnl systemd system unit files location ++AC_ARG_WITH([systemdsystemunitdir], ++ AS_HELP_STRING([--with-systemdsystemunitdir@<:@=DIR@:>@],[systemd system unit files location]), ++ [enable_systemd=yes], ++ [enable_systemd=no]) ++ ++dnl enable systemd and set unit dir ++AM_CONDITIONAL([ENABLE_SYSTEMD], [test "x$enable_systemd" = "xyes"]) ++unitdir=$with_systemdsystemunitdir ++AC_SUBST(unitdir) ++ + AC_CONFIG_FILES([openhpi.spec + openhpi.pc + rt-env.sh +@@ -751,6 +762,7 @@ AC_CONFIG_FILES([openhpi.spec + docs/man/Makefile + openhpid/Makefile + openhpid/openhpid.sh ++ openhpid/openhpid.service + openhpid/t/Makefile + openhpid/t/ohpi/Makefile + hpi_shell/Makefile +diff --git a/openhpid/Makefile.am b/openhpid/Makefile.am +index bccbce5..bfc6e73 100644 +--- a/openhpid/Makefile.am ++++ b/openhpid/Makefile.am +@@ -28,6 +28,7 @@ DIST_SUBDIRS = t + + EXTRA_DIST = \ + openhpid.sh.in \ ++ openhpid.service.in \ + Makefile.mingw32 \ + openhpid-win32.cpp \ + version.rc +@@ -83,11 +84,17 @@ endif + + + install-data-local: ++if ENABLE_SYSTEMD ++ $(mkinstalldirs) $(DESTDIR)$(unitdir) ++ $(INSTALL) -m 0644 openhpid.service $(DESTDIR)$(unitdir) ++else + $(mkinstalldirs) $(DESTDIR)$(sysconfdir)/init.d + $(INSTALL) -m 0755 openhpid.sh $(DESTDIR)$(sysconfdir)/init.d/openhpid ++endif + + uninstall-local: + rm -f $(DESTDIR)$(sysconfdir)/init.d/openhpid ++ rm -f $(DESTDIR)$(unitdir)/openhpid.service + + clean-local: + rm -f *~ core core.* +diff --git a/openhpid/openhpid.service.in b/openhpid/openhpid.service.in +new file mode 100644 +index 0000000..69b1348 +--- /dev/null ++++ b/openhpid/openhpid.service.in +@@ -0,0 +1,11 @@ ++[Unit] ++Description=Daemon providing access to the SAF Hardware Platform Interface ++After=syslog.target ++ ++[Service] ++Type=forking ++PIDFile=/var/run/openhpid.pid ++ExecStart=@sbindir@/openhpid -c @sysconfdir@/openhpi/openhpi.conf ++ ++[Install] ++WantedBy=multi-user.target +-- +1.9.3 + diff --git a/openhpi-3.6.1-ssl.patch b/openhpi-3.6.1-ssl.patch new file mode 100644 index 0000000..da6346e --- /dev/null +++ b/openhpi-3.6.1-ssl.patch @@ -0,0 +1,10 @@ +diff -up openhpi-3.6.1/ssl/Makefile.am.than openhpi-3.6.1/ssl/Makefile.am +--- openhpi-3.6.1/ssl/Makefile.am.than 2017-02-21 12:21:12.114814698 -0500 ++++ openhpi-3.6.1/ssl/Makefile.am 2017-02-21 12:22:44.576454262 -0500 +@@ -19,5 +19,5 @@ lib_LTLIBRARIES = libopenhpi_ssl.la + libopenhpi_ssl_la_SOURCES = oh_ssl.c oh_ssl.h + + libopenhpi_ssl_la_LDFLAGS = -version-info @HPI_LIB_VERSION@ +-libopenhpi_ssl_la_LIBADD = @CRYPTO_LIB@ ++libopenhpi_ssl_la_LIBADD = -lssl @CRYPTO_LIB@ + diff --git a/openhpi-3.8.0.tar.gz b/openhpi-3.8.0.tar.gz new file mode 100644 index 0000000..07a9130 Binary files /dev/null and b/openhpi-3.8.0.tar.gz differ diff --git a/openhpi.spec b/openhpi.spec new file mode 100644 index 0000000..7f13451 --- /dev/null +++ b/openhpi.spec @@ -0,0 +1,115 @@ +Name: openhpi +Version: 3.8.0 +Release: 7 +Summary: Implementation of the Service Availability Forum's Hardware Platform Interface +License: BSD +URL: http://www.openhpi.org +Source0: http://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.gz +Patch0: openhpi-3.4.0-systemd.patch +Patch1: openhpi-3.6.1-ssl.patch + +BuildRequires: glib2-devel gcc-c++ libsysfs-devel net-snmp-devel OpenIPMI-devel libtool-ltdl-devel +BuildRequires: openssl-devel ncurses-devel libxml2-devel docbook-utils libuuid-devel librabbitmq-devel +BuildRequires: json-c-devel libcurl-devel systemd autoconf automake libtool libgcrypt-devel +Requires(post): systemd +Requires(preun): systemd +Requires(postun): systemd +Provides: openhpi-libs = %{version}-%{release} +Provides: openhpi-libs%{?_isa} = %{version}-%{release} +Obsoletes: openhpi-libs < %{version}-%{release} + +%description +OpenHPI provides an open source implementation of the Service Availability +Forum (SAF) Hardware Platform Interface (HPI). HPI is an abstracted interface +for managing computer hardware, typically chassis and rack based servers. HPI +includes resource modeling; access to and control over sensor, control, +watchdog, and inventory data associated with resources; abstracted System +Event Log interfaces; hardware events and alarms; and a managed hotswap +interface. + +OpenHPI's architecture contains a modular mechanism intended to make adding +new hardware support easier. Several plugins exist in the OpenHPI source tree +giving access to various types of hardware. This includes, but is not limited +to, IPMI based servers, Blade Center, and machines which export data via sysfs. + +%package devel +Summary: Development files for openhpi +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: glib2-devel + +%description devel +This package contains libraries and headier files for developing applications +that use openhpi. + +%package_help + +%prep +%autosetup -n %{name}-%{version} -p1 +autoreconf -ivf + +chmod a-x plugins/simulator/*.[ch] +chmod a-x clients/hpipower.c + +if [ $UID -eq 0 ]; then + find . -name openhpi.conf -exec chown root:root {} \; + find . -name openhpi.conf -execdir chown root:root . \; +fi + +%build +export CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing" +%configure --disable-static --with-systemdsystemunitdir=%{_unitdir} + +%disable_rpath + +make %{?_smp_mflags} + +%install +mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/%{name} +mkdir -p -m1755 $RPM_BUILD_ROOT%{_var}/lib/%{name} +%make_install + +%delete_la + +%check +make check + +%post +%systemd_post openhpid.service + +%preun +%systemd_preun openhpid.service + +%postun +%systemd_postun_with_restart service + +%files +%defattr(-,root,root) +%license %{_docdir}/%{name}/COPYING +%config(noreplace) %{_sysconfdir}/%{name}/%{name}.conf +%config(noreplace) %{_sysconfdir}/%{name}/%{name}client.conf +%config(noreplace) %{_sysconfdir}/%{name}/simulation.data +%{_bindir}/* +%{_sbindir}/* +%{_libdir}/%{name} +%{_libdir}/*.so.* +%{_unitdir}/openhpid.service +%dir %{_sysconfdir}/%{name} +%attr(1755,root,root) %{_var}/lib/%{name} + +%files devel +%defattr(-,root,root) +%{_libdir}/*.so +%{_includedir}/%{name}/*.h +%{_libdir}/pkgconfig/*.pc + +%files help +%defattr(-,root,root) +%doc %{_docdir}/%{name}/ChangeLog +%doc %{_docdir}/%{name}/README* +%{_mandir}/man1/*1* +%{_mandir}/man7/*7* +%{_mandir}/man8/*8* + +%changelog +* Tue Nov 26 2019 openEuler Buildteam - 3.8.0-6 +- Package init