SHA256
1
0
forked from pool/powerman

4 Commits

Author SHA256 Message Date
c67995ec21 Accepting request 1290019 from hardware
OBS-URL: https://build.opensuse.org/request/show/1290019
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/powerman?expand=0&rev=35
2025-07-03 10:10:41 +00:00
633aaeff2a - Add patch httppower-redfishpower-Curl_easy_setopt-Expects-long-int.patch
* Fixes build with curl 1.84.x. 
- Use -std=gnu17 on SLES16 and higher to fix build with gcc-15.

OBS-URL: https://build.opensuse.org/package/show/hardware/powerman?expand=0&rev=58
2025-07-02 16:01:50 +00:00
89e0c8d05f Accepting request 1202974 from hardware
OBS-URL: https://build.opensuse.org/request/show/1202974
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/powerman?expand=0&rev=34
2024-09-25 19:53:08 +00:00
8cedcdd09f - Update to version 2.4.4:
* powerman: fix segfault if unspecified host reports status
  * redfishpower: do not report errors on dependent hosts
  * Update hostlist library to fix potential array out of bounds error.

OBS-URL: https://build.opensuse.org/package/show/hardware/powerman?expand=0&rev=56
2024-09-24 13:27:46 +00:00
5 changed files with 139 additions and 5 deletions

View File

@@ -0,0 +1,112 @@
From 4780df0aa1d2a716fb39b225074da3c98c3443f1 Mon Sep 17 00:00:00 2001
From: Sven Hoexter <sven@stormbind.net>
Date: Sat, 14 Jun 2025 19:03:10 +0200
Subject: [PATCH] httppower|redfishpower: Curl_easy_setopt() Expects long int
Recent curl versions require its option values to be passed
as long.
Issue was raised in https://bugs.debian.org/1107411
---
src/httppower/httppower.c | 14 +++++++-------
src/redfishpower/redfishpower.c | 8 ++++----
2 files changed, 11 insertions(+), 11 deletions(-)
diff --git a/src/httppower/httppower.c b/src/httppower/httppower.c
index 5eca4a7e..7b979c8a 100644
--- a/src/httppower/httppower.c
+++ b/src/httppower/httppower.c
@@ -88,7 +88,7 @@ void post(CURL *h, char **av)
}
if (postdata && url_ptr) {
- curl_easy_setopt(h, CURLOPT_POST, 1);
+ curl_easy_setopt(h, CURLOPT_POST, 1L);
curl_easy_setopt(h, CURLOPT_URL, url_ptr);
curl_easy_setopt(h, CURLOPT_POSTFIELDS, postdata);
curl_easy_setopt(h, CURLOPT_POSTFIELDSIZE, strlen (postdata));
@@ -96,7 +96,7 @@ void post(CURL *h, char **av)
printf("Error: %s\n", errbuf);
curl_easy_setopt(h, CURLOPT_URL, "");
curl_easy_setopt(h, CURLOPT_POSTFIELDS, "");
- curl_easy_setopt(h, CURLOPT_POSTFIELDSIZE, 0);
+ curl_easy_setopt(h, CURLOPT_POSTFIELDSIZE, 0L);
} else
printf("Nothing to post!\n");
@@ -137,7 +137,7 @@ void put(CURL *h, char **av)
}
if (putdata && url_ptr) {
- curl_easy_setopt(h, CURLOPT_UPLOAD, 1);
+ curl_easy_setopt(h, CURLOPT_UPLOAD, 1L);
curl_easy_setopt(h, CURLOPT_URL, url_ptr);
curl_easy_setopt(h, CURLOPT_READFUNCTION, put_read_cb);
pcd.data = putdata;
@@ -147,7 +147,7 @@ void put(CURL *h, char **av)
if (curl_easy_perform(h) != 0)
printf("Error: %s\n", errbuf);
curl_easy_setopt(h, CURLOPT_URL, "");
- curl_easy_setopt(h, CURLOPT_UPLOAD, 0);
+ curl_easy_setopt(h, CURLOPT_UPLOAD, 0L);
} else
printf("Nothing to put!\n");
@@ -162,7 +162,7 @@ void get(CURL *h, char **av)
char *myurl = _make_url(av[0]);
if (myurl) {
- curl_easy_setopt(h, CURLOPT_HTTPGET, 1);
+ curl_easy_setopt(h, CURLOPT_HTTPGET, 1L);
curl_easy_setopt(h, CURLOPT_URL, myurl);
if (curl_easy_perform(h) != 0)
printf("Error: %s\n", errbuf);
@@ -324,9 +324,9 @@ main(int argc, char *argv[])
if ((h = curl_easy_init()) == NULL)
err_exit(false, "curl_easy_init failed");
- curl_easy_setopt(h, CURLOPT_TIMEOUT, 5);
+ curl_easy_setopt(h, CURLOPT_TIMEOUT, 5L);
curl_easy_setopt(h, CURLOPT_ERRORBUFFER, errbuf);
- curl_easy_setopt(h, CURLOPT_FAILONERROR, 1);
+ curl_easy_setopt(h, CURLOPT_FAILONERROR, 1L);
/* for time being */
curl_easy_setopt(h, CURLOPT_SSL_VERIFYPEER, 0L);
diff --git a/src/redfishpower/redfishpower.c b/src/redfishpower/redfishpower.c
index ec67e4f6..808174f1 100644
--- a/src/redfishpower/redfishpower.c
+++ b/src/redfishpower/redfishpower.c
@@ -288,7 +288,7 @@ static void powermsg_init_curl(struct powermsg *pm)
/* Per documentation, CURLOPT_TIMEOUT overrides
* CURLOPT_CONNECTTIMEOUT */
Curl_easy_setopt((pm->eh, CURLOPT_TIMEOUT, message_timeout));
- Curl_easy_setopt((pm->eh, CURLOPT_FAILONERROR, 1));
+ Curl_easy_setopt((pm->eh, CURLOPT_FAILONERROR, 1L));
/* for time being */
Curl_easy_setopt((pm->eh, CURLOPT_SSL_VERIFYPEER, 0L));
@@ -321,12 +321,12 @@ static void powermsg_init_curl(struct powermsg *pm)
Curl_easy_setopt((pm->eh, CURLOPT_URL, pm->url));
if (pm->postdata) {
- Curl_easy_setopt((pm->eh, CURLOPT_POST, 1));
+ Curl_easy_setopt((pm->eh, CURLOPT_POST, 1L));
Curl_easy_setopt((pm->eh, CURLOPT_POSTFIELDS, pm->postdata));
Curl_easy_setopt((pm->eh, CURLOPT_POSTFIELDSIZE, strlen(pm->postdata)));
}
else
- Curl_easy_setopt((pm->eh, CURLOPT_HTTPGET, 1));
+ Curl_easy_setopt((pm->eh, CURLOPT_HTTPGET, 1L));
}
static char *resolve_hosts_url(const char *hostname, const char *path)
@@ -1221,7 +1221,7 @@ static void power_cleanup(struct powermsg *pm)
{
if (!test_mode && pm->eh) {
Curl_easy_setopt((pm->eh, CURLOPT_POSTFIELDS, ""));
- Curl_easy_setopt((pm->eh, CURLOPT_POSTFIELDSIZE, 0));
+ Curl_easy_setopt((pm->eh, CURLOPT_POSTFIELDSIZE, 0L));
}
powermsg_destroy(pm);
}

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a6a3e1221fd89f9470651e87f95bd6515628aba49548dc8542f31db7a6515f77
size 789459

BIN
powerman-2.4.4.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

View File

@@ -1,3 +1,18 @@
-------------------------------------------------------------------
Wed Jul 2 07:06:54 UTC 2025 - Eugenio Paolantonio <eugenio.paolantonio@suse.com>
- Add patch httppower-redfishpower-Curl_easy_setopt-Expects-long-int.patch
* Fixes build with curl 1.84.x.
- Use -std=gnu17 on SLES16 and higher to fix build with gcc-15.
-------------------------------------------------------------------
Sun Sep 15 12:51:05 UTC 2024 - Antonio Teixeira <antonio.teixeira@suse.com>
- Update to version 2.4.4:
* powerman: fix segfault if unspecified host reports status
* redfishpower: do not report errors on dependent hosts
* Update hostlist library to fix potential array out of bounds error.
-------------------------------------------------------------------
Thu Jul 25 20:02:41 UTC 2024 - Antonio Teixeira <antonio.teixeira@suse.com>

View File

@@ -1,7 +1,7 @@
#
# spec file for package powerman
#
# Copyright (c) 2024 SUSE LLC
# Copyright (c) 2025 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -31,7 +31,7 @@
%endif
Name: powerman
Version: 2.4.3
Version: 2.4.4
Release: 0
Summary: Centralized Power Control for Clusters
License: GPL-2.0-or-later
@@ -40,6 +40,7 @@ URL: https://github.com/chaos/powerman
Source: https://github.com/chaos/%{name}/releases/download/v%{version}/%{name}-%{version}.tar.gz
Patch1: harden_powerman.service.patch
Patch2: Replace-deprecated-usmHMACMD5AuthProtocol-Protocol-by-SNMP_DEFAULT_AUTH_PROTO.patch
Patch3: httppower-redfishpower-Curl_easy_setopt-Expects-long-int.patch
BuildRequires: automake
BuildRequires: bison
BuildRequires: fdupes
@@ -85,6 +86,12 @@ Header files, pkg-config file and man pages for developing applications using Po
%autosetup -p1
%build
# Use gnu17 on SLES16 and higher
%if 0%{?suse_version} >= 1600
%global optflags %{optflags} -std=gnu17
%endif
%configure \
--disable-static\
--with-httppower \