Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 25 Apr 2000 20:40:02 -0700 (PDT)
From:      Steve Price <sprice@hiwaay.net>
To:        freebsd-ports@FreeBSD.org
Subject:   Re: ports/18216: sysutils/upsmon port broken (does not compile) (fwd)
Message-ID:  <200004260340.UAA94437@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
The following reply was made to PR ports/18216; it has been noted by GNATS.

From: Steve Price <sprice@hiwaay.net>
To: freebsd-gnats-submit@freebsd.org
Cc:  
Subject: Re: ports/18216: sysutils/upsmon port broken (does not compile)
 (fwd)
Date: Tue, 25 Apr 2000 22:36:47 -0500 (CDT)

   This message is in MIME format.  The first part should be readable text,
   while the remaining parts are likely unreadable without MIME-aware tools.
   Send mail to mime@docserver.cac.washington.edu for more info.
 
 --0-719885386-956704259=:75786
 Content-Type: TEXT/PLAIN; CHARSET=US-ASCII
 Content-ID: <Pine.OSF.4.21.0004252236382.29534@fly.HiWAAY.net>
 
 
 
 ---------- Forwarded message ----------
 Date: Tue, 25 Apr 2000 19:10:54 -0400 (EDT)
 From: mi@privatelabs.com
 To: gnats-admin@FreeBSD.org
 Cc: freebsd-ports@FreeBSD.org
 Subject: Re: ports/18216: sysutils/upsmon port broken (does not compile)
 
 On 25 Apr, gnats-admin@FreeBSD.org wrote:
 = >Category:       ports
 = >Responsible:    freebsd-ports
 = >Synopsis:       sysutils/upsmon port broken (does not compile)
 = >Arrival-Date:   Tue Apr 25 14:40:01 PDT 2000
 
 I  believe, I  have the  fix  for the  port.  My fix  addresses the  CXX
 problem, the casting  problem (that prevented the  compilation), and the
 crash that  happens if upsstat is  used when upsmond did  not connect to
 the UPS  unit or  if the UPS  unit failed to  respond to  the GET_STATUS
 request properly. I  also modified the port's Makefile  not to overwrite
 the ${PREFIX}/etc/rc.d/upsmond.sh if it is already present.
 
 	-mi
 
 --0-719885386-956704259=:75786
 Content-Type: TEXT/PLAIN; CHARSET=US-ASCII
 Content-ID: <Pine.OSF.4.21.0004252236383.29534@fly.HiWAAY.net>
 Content-Description: Patch for sysutils/upsmon port (see ports/18216).
 Content-Disposition: ATTACHMENT; FILENAME=upsmon-port-patch
 
 --- Makefile	Tue Apr 25 17:41:57 2000
 +++ Makefile	Tue Apr 25 18:56:02 2000
 @@ -20,5 +20,5 @@
  	${INSTALL_PROGRAM} ${WRKSRC}/upsmond ${PREFIX}/sbin
 -
 -	${SED} -e 's#!!PREFIX!!#${PREFIX}#g' ${FILESDIR}/upsmon.sh \
 -	> ${PREFIX}/etc/rc.d/upsmon.sh
 +	${TEST} -e ${PREFIX}/etc/rc.d/upsmon.sh || \
 +		${SED} -e 's#!!PREFIX!!#${PREFIX}#g' ${FILESDIR}/upsmon.sh \
 +			> ${PREFIX}/etc/rc.d/upsmon.sh
  	@${CHMOD} +x ${PREFIX}/etc/rc.d/upsmon.sh
 --- /dev/null	Tue Apr 25 18:51:25 2000
 +++ patches/patch-ab	Tue Apr 25 17:41:42 2000
 @@ -0,0 +1,7 @@
 +--- csocket.cc	Tue Aug  4 17:18:14 1998
 ++++ csocket.cc	Tue Apr 25 17:40:42 2000
 +@@ -87,3 +87,3 @@
 + 
 +-    m_fdSocketNormal = accept(m_fdSocketServer,(struct sockaddr *)&m_saunRemote,&m_iRemoteAddrLen);
 ++    m_fdSocketNormal = accept(m_fdSocketServer,(struct sockaddr *)&m_saunRemote,&(socklen_t)m_iRemoteAddrLen);
 +     if(m_fdSocketNormal < 0)
 --- /dev/null	Tue Apr 25 18:51:25 2000
 +++ patches/patch-ac	Tue Apr 25 18:50:05 2000
 @@ -0,0 +1,25 @@
 +This patch prevents the upsmond from crashing when UPS is not
 +connected or when it failed to respond to the UPS_GET_STATUS
 +for some reason.	-mi
 +--- upsmonitor.cc	Tue Aug  4 17:18:14 1998
 ++++ upsmonitor.cc	Tue Apr 25 18:45:59 2000
 +@@ -175,2 +175,3 @@
 +     CBuffer *pbufSend;        // socket send buffer
 ++    const char *model_version;
 + 
 +@@ -183,5 +184,9 @@
 +     pResp->iFunctionID = UPS_GET_STATUS;
 +-    pResp->iRetCode = RC_SUCCESS;
 +     strcpy(pResp->szUpsmondVersion,m_szUpsmondVersion);
 +-    strcpy(pResp->szModel,m_pUps->ReadString(UPS_CMD_MODEL));
 ++    if ((model_version = m_pUps->ReadString(UPS_CMD_MODEL)) == NULL) {
 ++	pResp->iRetCode = RC_FAILED;
 ++	goto Write;
 ++    }
 ++    pResp->iRetCode = RC_SUCCESS;
 ++    strcpy(pResp->szModel,model_version);
 +     strcpy(pResp->szCopyRight,m_pUps->ReadString(UPS_CMD_COPYRIGHT));
 +@@ -203,2 +208,3 @@
 +     pResp->dBatteryLevel = m_pUps->ReadDouble(UPS_CMD_LEVEL);
 ++Write:
 +     pbufSend->SetLength(sizeof(UpsInfoResp));
 --- patches/patch-aa	Tue Nov 24 17:43:40 1998
 +++ patches/patch-aa	Tue Apr 25 19:07:08 2000
 @@ -5,3 +5,4 @@
   
 - CC = gcc
 +-CC = gcc
 ++CC = ${CXX}
  -CFLAGS_DEBUG = -O2 -Wall -DDEBUG -g
 @@ -13,6 +14,6 @@
  -CFLAGS = $(CFLAGS_DEBUG)
 -+CFLAGS += $(CFLAGS_DEBUG)
 ++CFLAGS = ${CXXFLAGS} $(CFLAGS_DEBUG)
   .else
  -CFLAGS = $(CFLAGS_NODEBUG)
 -+CFLAGS += $(CFLAGS_NODEBUG)
 ++CFLAGS = ${CXXFLAGS} $(CFLAGS_NODEBUG)
   .endif
 --- pkg/MESSAGE	Tue Nov 24 17:43:40 1998
 +++ pkg/MESSAGE	Tue Apr 25 18:52:33 2000
 @@ -5,5 +5 @@
  option details.
 -
 -NOTE: upsmond will dump core if you start upsstat without
 -      SmartUPS properly attached to the specified port.
 -
 
 --0-719885386-956704259=:75786--
 


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-ports" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200004260340.UAA94437>