Compare commits
1 Commits
imports/c8
...
c8
Author | SHA1 | Date | |
---|---|---|---|
|
49054d8ce3 |
67
SOURCES/sblim-cmpi-base-1.6.4-fix-get-os-install-date.patch
Normal file
67
SOURCES/sblim-cmpi-base-1.6.4-fix-get-os-install-date.patch
Normal file
@ -0,0 +1,67 @@
|
|||||||
|
diff -up sblim-cmpi-base-1.6.4/OSBase_OperatingSystem.c.orig sblim-cmpi-base-1.6.4/OSBase_OperatingSystem.c
|
||||||
|
--- sblim-cmpi-base-1.6.4/OSBase_OperatingSystem.c.orig 2014-10-23 16:54:13.000000000 +0200
|
||||||
|
+++ sblim-cmpi-base-1.6.4/OSBase_OperatingSystem.c 2020-01-21 15:11:49.420942584 +0100
|
||||||
|
@@ -143,11 +143,11 @@ void _init_os_distro() {
|
||||||
|
|
||||||
|
_OSBASE_TRACE(4,("--- _init_os_distro() called : init"));
|
||||||
|
|
||||||
|
- rc = runcommand( "find /etc/ -maxdepth 1 -type f -name *release 2>/dev/null" , NULL , &hdout , NULL );
|
||||||
|
+ rc = runcommand( "find /etc/ /usr/lib/ -maxdepth 1 -type f -name *release 2>/dev/null" , NULL , &hdout , NULL );
|
||||||
|
if( rc == 0 && *hdout != NULL) {
|
||||||
|
while (hdout[j] && hdout[j][0]) {
|
||||||
|
- if (strstr(hdout[j],"lsb-release") && hdout[j+1] && hdout[j+1][0]) {
|
||||||
|
- /* found lsb-release but there are other (preferred) release files */
|
||||||
|
+ if ((strstr(hdout[j],"lsb-release") || strstr(hdout[j],"os-release")) && hdout[j+1] && hdout[j+1][0]) {
|
||||||
|
+ /* found lsb-release/os-release but there are other (preferred) release files */
|
||||||
|
j++;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
@@ -242,35 +242,28 @@ unsigned long long get_os_totalSwapSize(
|
||||||
|
|
||||||
|
|
||||||
|
char * get_os_installdate() {
|
||||||
|
- struct tm date;
|
||||||
|
+ struct tm * datep;
|
||||||
|
char ** hdout = NULL;
|
||||||
|
- char * dstr = NULL;
|
||||||
|
char * str = NULL;
|
||||||
|
- char * ptr = NULL;
|
||||||
|
- int rc = 0;
|
||||||
|
+ int rc = -1;
|
||||||
|
|
||||||
|
_OSBASE_TRACE(4,("--- get_os_installdate() called"));
|
||||||
|
|
||||||
|
- if( CIM_OS_DISTRO && strstr( CIM_OS_DISTRO, "Red Hat" ) ) {
|
||||||
|
- /* we guess it is Red Hat */
|
||||||
|
- rc = runcommand( "rpm -qi redhat-release | grep Install" , NULL , &hdout , NULL );
|
||||||
|
- if(rc!=0) {
|
||||||
|
- /* we guess it is Fedora */
|
||||||
|
- rc = runcommand( "rpm -qi fedora-release | grep Install" , NULL , &hdout , NULL );
|
||||||
|
+ if( CIM_OS_DISTRO ) {
|
||||||
|
+ if( strstr( CIM_OS_DISTRO, "Red Hat" ) ) {
|
||||||
|
+ /* we guess it is Red Hat */
|
||||||
|
+ rc = runcommand( "rpm -q --qf '%{INSTALLTIME}' redhat-release" , NULL , &hdout , NULL );
|
||||||
|
+ }
|
||||||
|
+ else if( strstr( CIM_OS_DISTRO, "Fedora" ) ) {
|
||||||
|
+ /* we guess it is Fedora */
|
||||||
|
+ rc = runcommand( "rpm -q --qf '%{INSTALLTIME}' fedora-release-common" , NULL , &hdout , NULL );
|
||||||
|
}
|
||||||
|
if( rc == 0 ) {
|
||||||
|
- str = strstr( hdout[0], ": ");
|
||||||
|
- str+=2;
|
||||||
|
- for( ptr = str ; (*ptr)!=' ' ; ptr++ ) {
|
||||||
|
- if( *(ptr+1)==' ' ) { ptr ++; }
|
||||||
|
- }
|
||||||
|
- dstr = (char *) malloc( (strlen(str)-strlen(ptr)+1));
|
||||||
|
- strncpy( dstr , str, strlen(str)-strlen(ptr)-1);
|
||||||
|
- strptime(dstr, "%A %d %B %Y %H:%M:%S %p %Z", &date);
|
||||||
|
+ time_t t = (time_t) atoi(*hdout);
|
||||||
|
+ datep = gmtime(&t);
|
||||||
|
str = (char*)malloc(26);
|
||||||
|
- strftime(str,26,"%Y%m%d%H%M%S.000000",&date);
|
||||||
|
+ strftime(str,26,"%Y%m%d%H%M%S.000000",datep);
|
||||||
|
_cat_timezone(str, get_os_timezone());
|
||||||
|
- if(dstr) free(dstr);
|
||||||
|
}
|
||||||
|
freeresultbuf(hdout);
|
||||||
|
}
|
@ -1,6 +1,6 @@
|
|||||||
Name: sblim-cmpi-base
|
Name: sblim-cmpi-base
|
||||||
Version: 1.6.4
|
Version: 1.6.4
|
||||||
Release: 13%{?dist}
|
Release: 14%{?dist}
|
||||||
Summary: SBLIM CMPI Base Providers
|
Summary: SBLIM CMPI Base Providers
|
||||||
|
|
||||||
License: EPL-1.0
|
License: EPL-1.0
|
||||||
@ -19,6 +19,9 @@ Patch5: sblim-cmpi-base-1.6.4-prov-reg-sfcb-systemd.patch
|
|||||||
Patch6: sblim-cmpi-base-1.6.4-list-lib-dependencies.patch
|
Patch6: sblim-cmpi-base-1.6.4-list-lib-dependencies.patch
|
||||||
# Patch7: don't install COPYING with license, included through %%license
|
# Patch7: don't install COPYING with license, included through %%license
|
||||||
Patch7: sblim-cmpi-base-1.6.4-dont-install-license.patch
|
Patch7: sblim-cmpi-base-1.6.4-dont-install-license.patch
|
||||||
|
# Patch8: fixes getting of InstallDate property, improves it to work
|
||||||
|
# on non en_US locales and updates support for Fedora
|
||||||
|
Patch8: sblim-cmpi-base-1.6.4-fix-get-os-install-date.patch
|
||||||
Requires: cim-server sblim-indication_helper
|
Requires: cim-server sblim-indication_helper
|
||||||
BuildRequires: perl-generators
|
BuildRequires: perl-generators
|
||||||
BuildRequires: sblim-cmpi-devel sblim-indication_helper-devel
|
BuildRequires: sblim-cmpi-devel sblim-indication_helper-devel
|
||||||
@ -60,6 +63,7 @@ autoreconf --install --force
|
|||||||
%patch5 -p1 -b .prov-reg-sfcb-systemd
|
%patch5 -p1 -b .prov-reg-sfcb-systemd
|
||||||
%patch6 -p1 -b .list-lib-dependencies
|
%patch6 -p1 -b .list-lib-dependencies
|
||||||
%patch7 -p1 -b .dont-install-license
|
%patch7 -p1 -b .dont-install-license
|
||||||
|
%patch8 -p1 -b .fix-get-os-install-date
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%configure TESTSUITEDIR=%{_datadir}/sblim-testsuite --disable-static
|
%configure TESTSUITEDIR=%{_datadir}/sblim-testsuite --disable-static
|
||||||
@ -112,6 +116,11 @@ rm -f $RPM_BUILD_ROOT/%{_libdir}/cmpi/*a
|
|||||||
%postun -p /sbin/ldconfig
|
%postun -p /sbin/ldconfig
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Tue Feb 04 2020 Vitezslav Crhonek <vcrhonek@redhat.com> - 1.6.4-14
|
||||||
|
- Fix getting of InstallDate property, improve it to work on non en_US locales
|
||||||
|
and update support for recent Fedora distributions
|
||||||
|
Resolves: #1776670
|
||||||
|
|
||||||
* Mon Aug 05 2019 Vitezslav Crhonek <vcrhonek@redhat.com> - 1.6.4-13
|
* Mon Aug 05 2019 Vitezslav Crhonek <vcrhonek@redhat.com> - 1.6.4-13
|
||||||
- Rebuild
|
- Rebuild
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user