Re: git: 9c24afe97b74 - main - sysutils/sispmctl: New port to manage EnerGenie and Gembird USB controlled power strips

From: Daniel Engberg <diizzy_at_FreeBSD.org>
Date: Sat, 29 Jul 2023 20:25:06 UTC
On 2023-07-29 21:47, Rodrigo Osorio wrote:
> The branch main has been updated by rodrigo:
> 
> URL:
> https://cgit.FreeBSD.org/ports/commit/?id=9c24afe97b74ec69d38e29e6c3685bbfaa85faf7
> 
> commit 9c24afe97b74ec69d38e29e6c3685bbfaa85faf7
> Author:     Rodrigo Osorio <rodrigo@FreeBSD.org>
> AuthorDate: 2023-07-29 19:12:31 +0000
> Commit:     Rodrigo Osorio <rodrigo@FreeBSD.org>
> CommitDate: 2023-07-29 19:34:28 +0000
> 
>     sysutils/sispmctl: New port to manage EnerGenie and Gembird USB
> controlled power strips
> 
>     SIS-PM Control is an application for managing USB controlled
> powerstrips produced by
>     GEMBIRD LTD. Newer devices are sold under the Energenie brand.
>     The following devices are supported:
>      * Gembird MSIS-PM
>      * Gembird Silver Shield SIS-PM (aka Revolt Intelliplug)
>      * Gembird Silver Shield SIS-PMS
>      * Energenie EG-PM
>      * Energenie EG-PMS
>      * Energenie EG-PM2
>      * Energenie EG-PMS2
> ---
>  sysutils/Makefile                                 |  1 +
>  sysutils/sispmctl/Makefile                        | 24 +++++++++++
>  sysutils/sispmctl/distinfo                        |  3 ++
>  sysutils/sispmctl/files/patch-man_sispmctl.1      | 11 +++++
>  sysutils/sispmctl/files/patch-src_main.c          | 10 +++++
>  sysutils/sispmctl/files/patch-src_web1_index.html | 11 +++++
>  sysutils/sispmctl/files/patch-src_web2_index.html | 11 +++++
>  sysutils/sispmctl/files/patch-src_web3_index.html | 11 +++++
>  sysutils/sispmctl/pkg-descr                       | 12 ++++++
>  sysutils/sispmctl/pkg-plist                       | 49 
> +++++++++++++++++++++++
>  10 files changed, 143 insertions(+)
> 
> diff --git a/sysutils/Makefile b/sysutils/Makefile
> index bf089415afaf..69ae6de4b425 100644
> --- a/sysutils/Makefile
> +++ b/sysutils/Makefile
> @@ -1349,6 +1349,7 @@
>      SUBDIR += signon-plugin-oauth2
>      SUBDIR += signon-qt5
>      SUBDIR += signon-ui
> +    SUBDIR += sispmctl
>      SUBDIR += skopeo
>      SUBDIR += slack
>      SUBDIR += sleuthkit
> diff --git a/sysutils/sispmctl/Makefile b/sysutils/sispmctl/Makefile
> new file mode 100644
> index 000000000000..1106b548fbc5
> --- /dev/null
> +++ b/sysutils/sispmctl/Makefile
> @@ -0,0 +1,24 @@
> +PORTNAME=	sispmctl
> +PORTVERSION=	4.11
> +CATEGORIES=	sysutils
> +MASTER_SITES=	SF/${PORTNAME}/${PORTNAME}/${PORTNAME}-${PORTVERSION}
> +
> +MAINTAINER=	rodrigo@FreeBSD.org
> +COMMENT=	SIS-PM Control for Linux
> +WWW=		https://sispmctl.sourceforge.net/
> +
> +LICENSE=	GPLv2
> +LICENSE_FILE=	${WRKSRC}/COPYING
> +
> +USES=		autoreconf dos2unix libtool pkgconfig
> +DOS2UNIX_FILES=	src/web2/index.html src/web3/index.html
> +USE_LDCONFIG=	yes
> +
> +GNU_CONFIGURE=	yes
> +CONFIGURE_ENV=	LIBUSB_CFLAGS="-I/usr/include" \
> +		LIBUSB_LIBS="-L/usr/lib -lusb"
> +
> +post-install:
> +	${LN} -s httpd/skin2 ${STAGEDIR}${PREFIX}/share/doc/sispmctl/skin
> +
> +.include <bsd.port.mk>
> diff --git a/sysutils/sispmctl/distinfo b/sysutils/sispmctl/distinfo
> new file mode 100644
> index 000000000000..13fd8476cce2
> --- /dev/null
> +++ b/sysutils/sispmctl/distinfo
> @@ -0,0 +1,3 @@
> +TIMESTAMP = 1690650388
> +SHA256 (sispmctl-4.11.tar.gz) =
> 74b94a3710046b15070c7311f0cacb81554c86b4227719cc2733cb96c7052578
> +SIZE (sispmctl-4.11.tar.gz) = 461804
> diff --git a/sysutils/sispmctl/files/patch-man_sispmctl.1
> b/sysutils/sispmctl/files/patch-man_sispmctl.1
> new file mode 100644
> index 000000000000..79fba28d9099
> --- /dev/null
> +++ b/sysutils/sispmctl/files/patch-man_sispmctl.1
> @@ -0,0 +1,11 @@
> +--- man/sispmctl.1.orig	2023-07-06 20:13:43 UTC
> ++++ man/sispmctl.1
> +@@ -1,7 +1,7 @@
> + .\" Process this file with
> + .\" groff -man -Tascii foo.1
> + .\"
> +-.TH sispmctl 1 "Jul 2023" Linux "User Manuals"
> ++.TH sispmctl 1 "Jul 2023" FreeBSD "User Manuals"
> +
> + .SH NAME
> + sispmctl \- manage EnerGenie and Gembird USB controlled power strips
> diff --git a/sysutils/sispmctl/files/patch-src_main.c
> b/sysutils/sispmctl/files/patch-src_main.c
> new file mode 100644
> index 000000000000..60163cf86293
> --- /dev/null
> +++ b/sysutils/sispmctl/files/patch-src_main.c
> @@ -0,0 +1,10 @@
> +--- src/main.c.orig	2023-07-29 17:18:10 UTC
> ++++ src/main.c
> +@@ -36,6 +36,7 @@
> + #include <syslog.h>
> + #include <time.h>
> + #include <usb.h>
> ++#include <unistd.h>
> + #include <sys/stat.h>
> + #include <sys/types.h>
> +
> diff --git a/sysutils/sispmctl/files/patch-src_web1_index.html
> b/sysutils/sispmctl/files/patch-src_web1_index.html
> new file mode 100644
> index 000000000000..5384d39495eb
> --- /dev/null
> +++ b/sysutils/sispmctl/files/patch-src_web1_index.html
> @@ -0,0 +1,11 @@
> +--- src/web1/index.html.orig	2022-04-02 11:21:46 UTC
> ++++ src/web1/index.html
> +@@ -17,7 +17,7 @@
> +                 <DIV STYLE="height: 70px;">&nbsp;</DIV>
> +                 <DIV ALIGN="center">
> +                 <TABLE WIDTH="60%" CELLSPACING=0>
> +-                  <TR><TH COLSPAN=3><H1>SiS PM Control for Linux
> $$version()$$</H1></TH><TH WIDTH="100">
> ++                  <TR><TH COLSPAN=3><H1>SiS PM Control for FreeBSD
> $$version()$$</H1></TH><TH WIDTH="100">
> +                     <IMG SRC="logo.png" ALT="sispm_http 
> logo"></TH></TR>
> +                   <TR><TD COLSPAN=4>&nbsp;</TD></TR>
> +                   <TR><TD>&nbsp;</TD>
> diff --git a/sysutils/sispmctl/files/patch-src_web2_index.html
> b/sysutils/sispmctl/files/patch-src_web2_index.html
> new file mode 100644
> index 000000000000..d7a13f7e048a
> --- /dev/null
> +++ b/sysutils/sispmctl/files/patch-src_web2_index.html
> @@ -0,0 +1,11 @@
> +--- src/web2/index.html.orig	2022-04-02 11:21:46 UTC
> ++++ src/web2/index.html
> +@@ -8,7 +8,7 @@
> + <!DOCTYPE html>
> + <html lang="en">
> + <head>
> +-<title>SiS PM Control for Linux $$version()$$</title>
> ++<title>SiS PM Control for FreeBSD $$version()$$</title>
> + <link rel="stylesheet" type="text/css" href="style.css">
> + <meta charset="UTF-8">
> + </head>
> diff --git a/sysutils/sispmctl/files/patch-src_web3_index.html
> b/sysutils/sispmctl/files/patch-src_web3_index.html
> new file mode 100644
> index 000000000000..bed574347a5e
> --- /dev/null
> +++ b/sysutils/sispmctl/files/patch-src_web3_index.html
> @@ -0,0 +1,11 @@
> +--- src/web3/index.html.orig	2022-04-02 11:21:46 UTC
> ++++ src/web3/index.html
> +@@ -8,7 +8,7 @@
> + <!DOCTYPE html>
> + <html lang="en">
> + <head>
> +-<title>SiS PM Control for Linux $$version()$$</title>
> ++<title>SiS PM Control for FreeBSD $$version()$$</title>
> + <link rel="stylesheet" type="text/css" href="style.css">
> + <meta charset="UTF-8">
> + </head>
> diff --git a/sysutils/sispmctl/pkg-descr b/sysutils/sispmctl/pkg-descr
> new file mode 100644
> index 000000000000..ec53e45e84a0
> --- /dev/null
> +++ b/sysutils/sispmctl/pkg-descr
> @@ -0,0 +1,12 @@
> +sispmctl is an application for managing USB controlled
> +powerstrips produced by GEMBIRD LTD.
> +Newer devices are sold under the Energenie brand.
> +
> +The following devices are supported:
> +    * Gembird MSIS-PM
> +    * Gembird Silver Shield SIS-PM (aka Revolt Intelliplug)
> +    * Gembird Silver Shield SIS-PMS
> +    * Energenie EG-PM
> +    * Energenie EG-PMS
> +    * Energenie EG-PM2
> +    * Energenie EG-PMS2
> diff --git a/sysutils/sispmctl/pkg-plist b/sysutils/sispmctl/pkg-plist
> new file mode 100644
> index 000000000000..a6cd0bf49b68
> --- /dev/null
> +++ b/sysutils/sispmctl/pkg-plist
> @@ -0,0 +1,49 @@
> +bin/sispmctl
> +lib/libsispmctl.a
> +lib/libsispmctl.so
> +lib/libsispmctl.so.0
> +lib/libsispmctl.so.0.2.2
> +man/man1/sispmctl.1.gz
> +share/doc/sispmctl/COPYING
> +share/doc/sispmctl/README.md
> +share/doc/sispmctl/artwork/sispmctl.png
> +share/doc/sispmctl/artwork/sispmctl.svg
> +share/doc/sispmctl/examples/60-sispmctl.rules
> +share/doc/sispmctl/examples/passwordsetup.sh
> +share/doc/sispmctl/examples/sispmctl.service
> +share/doc/sispmctl/httpd/skin1/index.html
> +share/doc/sispmctl/httpd/skin1/logo.png
> +share/doc/sispmctl/httpd/skin1/off1.html
> +share/doc/sispmctl/httpd/skin1/off2.html
> +share/doc/sispmctl/httpd/skin1/off3.html
> +share/doc/sispmctl/httpd/skin1/off4.html
> +share/doc/sispmctl/httpd/skin1/on1.html
> +share/doc/sispmctl/httpd/skin1/on2.html
> +share/doc/sispmctl/httpd/skin1/on3.html
> +share/doc/sispmctl/httpd/skin1/on4.html
> +share/doc/sispmctl/httpd/skin1/status0.png
> +share/doc/sispmctl/httpd/skin1/status1.png
> +share/doc/sispmctl/httpd/skin1/style.css
> +share/doc/sispmctl/httpd/skin2/index.html
> +share/doc/sispmctl/httpd/skin2/logo.svg
> +share/doc/sispmctl/httpd/skin2/off1.html
> +share/doc/sispmctl/httpd/skin2/off2.html
> +share/doc/sispmctl/httpd/skin2/off3.html
> +share/doc/sispmctl/httpd/skin2/off4.html
> +share/doc/sispmctl/httpd/skin2/on1.html
> +share/doc/sispmctl/httpd/skin2/on2.html
> +share/doc/sispmctl/httpd/skin2/on3.html
> +share/doc/sispmctl/httpd/skin2/on4.html
> +share/doc/sispmctl/httpd/skin2/style.css
> +share/doc/sispmctl/httpd/skin3/index.html
> +share/doc/sispmctl/httpd/skin3/logo.svg
> +share/doc/sispmctl/httpd/skin3/off1.html
> +share/doc/sispmctl/httpd/skin3/off2.html
> +share/doc/sispmctl/httpd/skin3/off3.html
> +share/doc/sispmctl/httpd/skin3/off4.html
> +share/doc/sispmctl/httpd/skin3/on1.html
> +share/doc/sispmctl/httpd/skin3/on2.html
> +share/doc/sispmctl/httpd/skin3/on3.html
> +share/doc/sispmctl/httpd/skin3/on4.html
> +share/doc/sispmctl/httpd/skin3/style.css
> +share/doc/sispmctl/skin

Hi,

There seems to be some issues as it fails to build, patches don't apply.
===> FAILED to apply cleanly FreeBSD patch(es)  
patch-src_web2_index.html
A few other things that I noticed,
Why is USES= autoreconf needed?
COMMENT should be fixed
Consider using DISTVERSION instead of PORTVERSION as recommended by 
Porters Handbook
Do we really need to install a static library?
Consider using framework variables for pkg-plist, 
%%PORTDOCS%%%%DOCSDIR%%
Missing rc.d script for webserver component (disable it)?

Best regards,
Daniel