Accepting request 483470 from openSUSE:Factory:zSystems
Per Factory First policy, package for SLES12 SP3. Please also make me maintainer of the package in hardware project. Thanks. OBS-URL: https://build.opensuse.org/request/show/483470 OBS-URL: https://build.opensuse.org/package/show/hardware/qclib?expand=0&rev=1
This commit is contained in:
commit
92671745b5
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
## Default LFS
|
||||||
|
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.bsp filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.gem filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.jar filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.lz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.lzma filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.obscpio filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.oxt filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.pdf filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.png filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.rpm filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tbz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tbz2 filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.ttf filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.txz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.whl filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.zst filter=lfs diff=lfs merge=lfs -text
|
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
.osc
|
3
qclib-1.2.0.tgz
Normal file
3
qclib-1.2.0.tgz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:f7899b6558749d0d32e69a1d9c957cb2ed2845e18fcc14c9f1f4a64957c617f6
|
||||||
|
size 72740
|
6
qclib-rpmlintrc
Normal file
6
qclib-rpmlintrc
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
addFilter("qclib.* no-binary")
|
||||||
|
addFilter("libqclib1.* shlib-policy-missing-lib")
|
||||||
|
addFilter("file-contains-date-and-time /usr/share/doc/packages/qclib/*")
|
||||||
|
addFilter("files-duplicate /usr/share/doc/packages/qclib/html/ftv2*")
|
||||||
|
addFilter("files-duplicate /usr/share/doc/packages/qclib/html/search/all_[12].js")
|
||||||
|
addFilter("files-duplicate /usr/share/doc/packages/qclib/html/search/classes_[04].js")
|
67
qclib.changes
Normal file
67
qclib.changes
Normal file
@ -0,0 +1,67 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Mar 27 16:58:14 UTC 2017 - mpost@suse.com
|
||||||
|
|
||||||
|
- Added qclib.correctly.interpret.sthyi.check.patch (bsc#1028105).
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Jun 13 19:56:59 UTC 2016 - mpost@suse.com
|
||||||
|
|
||||||
|
- Upgraded to qclib 1.2 (bsc#984143)
|
||||||
|
- Removed source [S] for attributes qc_num_cpu_dedicated and
|
||||||
|
qc_num_cpu_shared in LPAR layer for consistency
|
||||||
|
- Retrieve qc_layer_name in CEC layer from OCF
|
||||||
|
- Extended hypfs usage to provide more CP, IFL and CPU counts for
|
||||||
|
CEC and LPAR layers, as well as capping information for LPAR
|
||||||
|
group and LPAR layers
|
||||||
|
- Added attributes for IFLs, CPs and CPUs for KVM hypervisor and
|
||||||
|
guest layers
|
||||||
|
- Added support for LPAR Groups
|
||||||
|
- Added new attribute qc_prorated_core_time
|
||||||
|
- Fill qc_num_cp_total and qc_num_ifl_total in LPAR layer from STHYI
|
||||||
|
- Consistency checks: Detect inconsistent values across data sources
|
||||||
|
- Documentation improvements
|
||||||
|
|
||||||
|
Bug fixes:
|
||||||
|
- Fixed crash when setting QC_USE_DUMP to an invalid directory and
|
||||||
|
QC_DEBUG=1
|
||||||
|
- Fixed reset of debug level when QC_CHECK_CONSISTENCY is invalid
|
||||||
|
- Display all values in attribute qc_partition_char in case of multiple
|
||||||
|
- Set qc_cp_dispatch_type in presence of CPs only
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Feb 16 15:00:13 UTC 2016 - mpost@suse.com
|
||||||
|
|
||||||
|
- Upgraded to qclib 1.1.0 (fate#320435)
|
||||||
|
- Removed the following patches against version 1.0.0
|
||||||
|
qclib.makefile.patch
|
||||||
|
qclib.disable.consistency.checks.patch
|
||||||
|
qclib.handle.hostnames.with.less.than.8.characters.in.presence.of.hypfs.patch
|
||||||
|
- Added a couple of comment lines to the header in the spec file.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Jan 15 18:44:56 UTC 2016 - mpost@suse.com
|
||||||
|
|
||||||
|
- Added qclib.disable.consistency.checks.patch (bsc#961643).
|
||||||
|
- Added qclib.handle.hostnames.with.less.than.8.characters.in.presence.of.hypfs.patch
|
||||||
|
(bsc#957607).
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Oct 30 20:47:53 UTC 2015 - mpost@suse.com
|
||||||
|
|
||||||
|
- Replaced qclib.makefile.patch with IBM's version of the patch.
|
||||||
|
(bsc#951518).
|
||||||
|
- Modified the spec file to make use of the new "make install"
|
||||||
|
and "make installdoc" targets.
|
||||||
|
- Modified the spec file to account for slightly different file
|
||||||
|
locations.
|
||||||
|
- Added qclib.makefile.libdir.patch to enable building on both
|
||||||
|
s390x and s390 systems.
|
||||||
|
- Added two new filters to the qclib-devel-rpmlintrc file to
|
||||||
|
mask two new duplicate files that arrived with IBM's patched
|
||||||
|
Makefile.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Oct 13 19:48:20 UTC 2015 - mpost@suse.com
|
||||||
|
|
||||||
|
- Initial version
|
||||||
|
|
56
qclib.correctly.interpret.sthyi.check.patch
Normal file
56
qclib.correctly.interpret.sthyi.check.patch
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
diff -Naurp qclib-1.2.0-vanilla/query_capacity.c qclib-1.2.0/query_capacity.c
|
||||||
|
--- qclib-1.2.0-vanilla/query_capacity.c 2016-06-03 09:14:01.000000000 +0200
|
||||||
|
+++ qclib-1.2.0/query_capacity.c 2017-03-21 08:53:50.000000000 +0100
|
||||||
|
@@ -96,7 +96,7 @@ static int qc_debug_file_init(void) {
|
||||||
|
close(fd);
|
||||||
|
goto out_err;
|
||||||
|
}
|
||||||
|
- qc_debug(NULL, "This is qclib v1.2.0, level a7ecaf7, date 2016-06-03 09:04:14 +0200\n");
|
||||||
|
+ qc_debug(NULL, "This is qclib v1.2.0, level e5679bb, date 2017-03-21 08:49:07 +0100\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
diff -Naurp qclib-1.2.0-vanilla/query_capacity_sthyi.c qclib-1.2.0/query_capacity_sthyi.c
|
||||||
|
--- qclib-1.2.0-vanilla/query_capacity_sthyi.c 2016-06-03 09:14:01.000000000 +0200
|
||||||
|
+++ qclib-1.2.0/query_capacity_sthyi.c 2017-03-21 08:53:50.000000000 +0100
|
||||||
|
@@ -65,10 +65,10 @@ static int qc_is_sthyi_available(void) {
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
-static int qc_sthyi(char *sthyi_buffer) {
|
||||||
|
+static int qc_sthyi(struct sthyi_priv *priv) {
|
||||||
|
#if defined __s390x__ || __s390__
|
||||||
|
register unsigned long function_code asm("2") = 0;
|
||||||
|
- register unsigned long buffer asm("4") = (unsigned long) sthyi_buffer;
|
||||||
|
+ register unsigned long buffer asm("4") = (unsigned long) priv->data;
|
||||||
|
register unsigned long return_code asm("5");
|
||||||
|
int cc = -1;
|
||||||
|
|
||||||
|
@@ -80,10 +80,11 @@ static int qc_sthyi(char *sthyi_buffer)
|
||||||
|
: "memory", "cc");
|
||||||
|
if (cc == 0) {
|
||||||
|
/* buffer was updated */
|
||||||
|
+ priv->avail = STHYI_AVAILABLE;
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
- /* if cc==-1: exception. never mind, return 0 */
|
||||||
|
- /* if cc==3: never mind, r carries return code */
|
||||||
|
+ if (cc == 3 && return_code == 4)
|
||||||
|
+ return 1;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
@@ -496,12 +497,11 @@ static int qc_sthyi_open(struct qc_handl
|
||||||
|
}
|
||||||
|
qc_debug(hdl, "STHYI is available\n");
|
||||||
|
/* we assume we are not relocated at this spot, between STFLE and STHYI */
|
||||||
|
- if (!qc_sthyi(priv->data)) {
|
||||||
|
+ if (!qc_sthyi(priv)) {
|
||||||
|
qc_debug(hdl, "Error: STHYI execution failed\n");
|
||||||
|
rc = -3;
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
|
- priv->avail = STHYI_AVAILABLE;
|
||||||
|
}
|
||||||
|
goto out;
|
||||||
|
|
17
qclib.makefile.libdir.patch
Normal file
17
qclib.makefile.libdir.patch
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
--- qclib-1.0.0/Makefile 2015-10-26 07:46:09.000000000 +0100
|
||||||
|
+++ qclib-1.0.0/Makefile 2015-10-26 07:50:21.000000000 +0100
|
||||||
|
@@ -61,10 +61,10 @@
|
||||||
|
|
||||||
|
install: libqc.a libqc.so.$(VERSION)
|
||||||
|
echo " INSTALL"
|
||||||
|
- install -Dm 644 libqc.a $(DESTDIR)/usr/lib64/libqc.a
|
||||||
|
- install -Dm 755 libqc.so.$(VERSION) $(DESTDIR)/usr/lib64/libqc.so.$(VERSION)
|
||||||
|
- ln -sr $(DESTDIR)/usr/lib64/libqc.so.$(VERSION) $(DESTDIR)/usr/lib64/libqc.so.$(VERM)
|
||||||
|
- ln -sr $(DESTDIR)/usr/lib64/libqc.so.$(VERSION) $(DESTDIR)/usr/lib64/libqc.so
|
||||||
|
+ install -Dm 644 libqc.a $(DESTDIR)/usr/$(LIBDIR)/libqc.a
|
||||||
|
+ install -Dm 755 libqc.so.$(VERSION) $(DESTDIR)/usr/$(LIBDIR)/libqc.so.$(VERSION)
|
||||||
|
+ ln -sr $(DESTDIR)/usr/$(LIBDIR)/libqc.so.$(VERSION) $(DESTDIR)/usr/$(LIBDIR)/libqc.so.$(VERM)
|
||||||
|
+ ln -sr $(DESTDIR)/usr/$(LIBDIR)/libqc.so.$(VERSION) $(DESTDIR)/usr/$(LIBDIR)/libqc.so
|
||||||
|
install -Dm 644 query_capacity.h $(DESTDIR)/usr/include/query_capacity.h
|
||||||
|
install -Dm 644 README $(DESTDIR)/usr/share/doc/packages/qclib/README
|
||||||
|
install -Dm 644 LICENSE $(DESTDIR)/usr/share/doc/packages/qclib/LICENSE
|
128
qclib.spec
Normal file
128
qclib.spec
Normal file
@ -0,0 +1,128 @@
|
|||||||
|
#
|
||||||
|
# spec file for package qclib
|
||||||
|
#
|
||||||
|
# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
|
||||||
|
#
|
||||||
|
# All modifications and additions to the file contributed by third parties
|
||||||
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
|
# upon. The license for this file, and modifications and additions to the
|
||||||
|
# file, is the same license as for the pristine package itself (unless the
|
||||||
|
# license for the pristine package is not an Open Source License, in which
|
||||||
|
# case the license is the MIT License). An "Open Source License" is a
|
||||||
|
# license that conforms to the Open Source Definition (Version 1.9)
|
||||||
|
# published by the Open Source Initiative.
|
||||||
|
|
||||||
|
# Please submit bugfixes or comments via http://bugzilla.suse.com/
|
||||||
|
|
||||||
|
Name: qclib
|
||||||
|
Version: 1.2.0
|
||||||
|
Release: 0
|
||||||
|
Url: http://www.ibm.com/developerworks/linux/linux390/qclib.html
|
||||||
|
Summary: Query Capacity library
|
||||||
|
License: BSD-3-Clause
|
||||||
|
Group: Development/System
|
||||||
|
BuildRequires: gcc-c++
|
||||||
|
BuildRequires: doxygen
|
||||||
|
%if 0%{?suse_version} > 1300
|
||||||
|
BuildRequires: glibc-devel-static
|
||||||
|
%else
|
||||||
|
BuildRequires: glibc-devel
|
||||||
|
%endif
|
||||||
|
|
||||||
|
Source: %{name}-%{version}.tgz
|
||||||
|
Patch1: qclib.makefile.libdir.patch
|
||||||
|
Patch2: qclib.correctly.interpret.sthyi.check.patch
|
||||||
|
|
||||||
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
|
ExclusiveArch: s390 s390x
|
||||||
|
|
||||||
|
%description
|
||||||
|
qclib provides a C API for extraction of system information for Linux on z
|
||||||
|
Systems.
|
||||||
|
|
||||||
|
For instance, it will provide the number of CPUs
|
||||||
|
* on the machine (CEC, Central Electronic Complex) layer
|
||||||
|
* on the PR/SM (Processor Resource/Systems Manager) layer, i.e. visible to
|
||||||
|
LPARs
|
||||||
|
* in z/VM hosts, guests and CPU pools
|
||||||
|
* in KVM hosts and guests
|
||||||
|
This allows calculating the upper limit of CPU resources a highest level guest
|
||||||
|
can use.
|
||||||
|
|
||||||
|
E.g.: If an LPAR on a z13 provides 4 CPUs to a z/VM hypervisor, and the
|
||||||
|
hypervisor provides 8 virtual CPUs to a guest, qclib can be used to retrieve
|
||||||
|
all of these numbers, and it can be concluded that not more capacity than 4
|
||||||
|
CPUs can be used by the software running in the guest.
|
||||||
|
|
||||||
|
qclib uses various interfaces and provides this data through a common and
|
||||||
|
consistent API (Application Programming Interface), using information provided
|
||||||
|
by:
|
||||||
|
* STSI (Store System Information) instruction - for more details, refer to
|
||||||
|
the z/Architecture Principles of Operation (SA22-7832)
|
||||||
|
* STHYI (Store Hypervisor Information) instruction as provided by a z/VM
|
||||||
|
hypervisor - for more information, refer to z/VM: V6R3 CP Programming
|
||||||
|
Service (SC24-6179), chapter 'Store Hypervisor Information (STHYI)
|
||||||
|
Instruction'.
|
||||||
|
* hypfs file system - for more information, refer to 'Device Drivers,
|
||||||
|
Features, and Commands', chapter 'S/390 hypervisor file system'.
|
||||||
|
|
||||||
|
%package -n libqclib1
|
||||||
|
Summary: Query Capacity Library shared library
|
||||||
|
%description -n libqclib1
|
||||||
|
qclib provides a C API for extraction of system information for Linux on z
|
||||||
|
Systems.
|
||||||
|
|
||||||
|
%package devel
|
||||||
|
Summary: Development files for Query Capacity library
|
||||||
|
Requires: libqclib1 = %{version}-%{release}
|
||||||
|
%description devel
|
||||||
|
qclib provides a C API for extraction of system information for Linux on z
|
||||||
|
Systems.
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%setup -q -n %{name}-%{version}
|
||||||
|
%patch1 -p1
|
||||||
|
%patch2 -p1
|
||||||
|
|
||||||
|
%build
|
||||||
|
MYCFLAGS=$(grep ^CFLAGS Makefile | cut -f2 -d=)
|
||||||
|
make all CFLAGS="${MYCFLAGS} ${RPM_OPT_FLAGS}"
|
||||||
|
make doc
|
||||||
|
|
||||||
|
%check
|
||||||
|
make test
|
||||||
|
make test-sh
|
||||||
|
|
||||||
|
%install
|
||||||
|
%ifarch s390x
|
||||||
|
LIBDIR=lib64
|
||||||
|
%else
|
||||||
|
LIBDIR=lib
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%make_install LIBDIR=${LIBDIR} V=1
|
||||||
|
make installdoc DESTDIR=${RPM_BUILD_ROOT} V=1
|
||||||
|
|
||||||
|
%post -n libqclib1
|
||||||
|
ldconfig
|
||||||
|
|
||||||
|
%postun -n libqclib1
|
||||||
|
ldconfig
|
||||||
|
|
||||||
|
%clean
|
||||||
|
rm -rf ${RPM_BUILD_ROOT}
|
||||||
|
|
||||||
|
%files
|
||||||
|
%defattr(-,root,root)
|
||||||
|
%dir %{_docdir}/%{name}
|
||||||
|
%{_docdir}/%{name}/*
|
||||||
|
|
||||||
|
%files -n libqclib1
|
||||||
|
%{_libdir}/libqc.so.*
|
||||||
|
|
||||||
|
%files devel
|
||||||
|
%{_includedir}/*.h
|
||||||
|
%{_libdir}/libqc.a
|
||||||
|
%{_libdir}/libqc.so
|
||||||
|
|
||||||
|
%changelog
|
Loading…
Reference in New Issue
Block a user