Accepting request 539327 from home:mwilck:branches:Base:System

- added sample code for libmpathpersist (bsc#1066376)
  * added libmpathpersist-example.c
- multipath-tools.spec: package libmultipath.so symlink in -devel
  package (bsc#1066376). We *do not* package header files for
  libmultipath, as the APIs are not public.

OBS-URL: https://build.opensuse.org/request/show/539327
OBS-URL: https://build.opensuse.org/package/show/Base:System/multipath-tools?expand=0&rev=141
This commit is contained in:
Martin Wilck 2017-11-06 15:16:39 +00:00 committed by Git OBS Bridge
parent e5ee676d28
commit b3b5938ba0
3 changed files with 54 additions and 1 deletions

41
libmpathpersist-example.c Normal file
View File

@ -0,0 +1,41 @@
/*
* This is a minimal skeleton for code using libmpathpersist.
* Compile with "-lmpathpersist -lmultipath -ludev".
*
* Header files for libmultipath are intentionally not included
* in the multipath-tools-devel package, because libmultipath has
* no well defined API for external programs at this time.
*/
#include <mpath_persist.h>
#include <libudev.h>
struct udev *udev;
/*
* logsink determines where libmultipath log messages go
* 1 - log to syslog only
* -1 - log to syslog and stderr
* 0 - log to syslog and stderr, with timestamps
*/
int logsink;
static struct config *conf;
struct config *get_multipath_config(void) {
return conf;
}
void put_multipath_config(struct config* c)
{
}
int main(void)
{
udev = udev_new();
conf = mpath_lib_init();
if(!conf) {
udev_unref(udev);
return 1;
}
return 0;
}

View File

@ -1,3 +1,12 @@
-------------------------------------------------------------------
Mon Nov 6 14:46:03 UTC 2017 - mwilck@suse.com
- added sample code for libmpathpersist (bsc#1066376)
* added libmpathpersist-example.c
- multipath-tools.spec: package libmultipath.so symlink in -devel
package (bsc#1066376). We *do not* package header files for
libmultipath, as the APIs are not public.
-------------------------------------------------------------------
Fri Nov 3 09:57:57 UTC 2017 - mwilck@suse.com

View File

@ -108,6 +108,7 @@ Source1: multipath.conf
Source2: dont-del-part-nodes.rules
# Dracut conf file to make sure 11-dm-parts.rules is included in initrd
Source3: dm-parts.conf
Source4: libmpathpersist-example.c
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%{?systemd_requires}
BuildRequires: device-mapper-devel
@ -201,6 +202,7 @@ This package provides development files and documentation for libdmmp.
%prep
%setup -q -n multipath-tools-%{version}
cp %{SOURCE4} .
%build
[ -n "$SOURCE_DATE_EPOCH" ] && export KBUILD_BUILD_TIMESTAMP=@$SOURCE_DATE_EPOCH
@ -209,7 +211,6 @@ make CC="%__cc" OPTFLAGS="%{optflags}" %{dirflags} %{makeflags}
%install
make DESTDIR=%{buildroot} %{dirflags} %{makeflags} install
mkdir -p %{buildroot}/var/cache/multipath/
rm %{buildroot}/%_lib/libmultipath.so
mkdir -p %{buildroot}/usr/sbin
ln -sf /usr/sbin/service %{buildroot}/usr/sbin/rcmultipathd
mkdir -p %{buildroot}/usr/lib/modules-load.d
@ -275,11 +276,13 @@ exit 0
%files devel
%defattr(-,root,root)
/%{_lib}/libmultipath.so
/%{_lib}/libmpathcmd.so
/%{_lib}/libmpathpersist.so
/usr/include/mpath_cmd.h
/usr/include/mpath_persist.h
%{_mandir}/man3/mpath_persistent_*
%doc libmpathpersist-example.c
%files -n kpartx
%defattr(-,root,root)