Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 7 Sep 2001 19:49:27 -0700
From:      "George & Sarah Jean Cooper" <sargeo@bmi.net>
To:        <FreeBSD-gnats-submit@freebsd.org>
Cc:        <john_m_cooper@yahoo.com>
Subject:   ports/30428: [PATCH] Upgrade Rexx-IMC to 1.75 and fix rxmathfn breakage
Message-ID:  <000001c13810$e10025c0$05fea8c0@sargeo>

next in thread | raw e-mail | index | archive | help

>Number:         30428
>Category:       ports
>Synopsis:       [PATCH] Upgrade Rexx-IMC to 1.75 and fix rxmathfn breakage
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Fri Sep 07 19:50:00 PDT 2001
>Closed-Date:
>Last-Modified:
>Originator:     John Merryweather Cooper
>Release:        FreeBSD 4.4-RC i386
>Organization:
<organization of PR author (multiple lines)>
>Environment:
System: FreeBSD johncoop.MSHOME 4.4-RC FreeBSD 4.4-RC #32: Wed Sep 5
09:17:03 PDT 2001 jmcoopr@johncoop.MSHOME:/usr/obj/usr/src/sys/JOHNCOOP
i386


>Description:
	The current version of Rexx-IMC in ports, version 1.7, is broken
	with respect to all Rexx math functions because dynamic linking
	is not properly set up.  This fixes it, upgrades to the latest
	release, cleans up the installation, installs two missing
	man pages, and enable "queue stuffing"--a feature near-and-dear
	to Rexx'ers. There are even some examples installed that I've
	patched to run from the command line.  :)

	I'll also take over as maintainer.

	I don't have a -CURRENT to play with, but this should build and
	run on current too.

	As is becoming a pattern while my ISP figures out how to setup DNS,
	I'm submitting this from a WinDoze machine.  Please CC any follow-up
	to jmcoopr@webmail.bmi.net and john_m_cooper@yahoo.com so I can
	read some of it.

>How-To-Repeat:
	With the rexx-imc in ports installed, try running:

	$ rexx -s 'numeric digits 25;say sqrt(2)'

	With the currently installed rexx-imc, you'll get a Rexx error
	and no result.  With this update, you'll get a reasonable
	approximation of the sqrt(2).

>Fix:

diff -ruN rexx-imc/Makefile rexx-imc.new/Makefile
--- rexx-imc/Makefile	Sat Oct 28 08:57:59 2000
+++ rexx-imc.new/Makefile	Fri Sep  7 18:50:49 2001
@@ -2,27 +2,68 @@
 # Date created:				Septermber 21 96
 # Whom:	      				James FitzGibbon <jfitz@FreeBSD.org>
 #
-# $FreeBSD: ports/lang/rexx-imc/Makefile,v 1.17 2000/10/28 15:57:59
kevlo Exp $
+# $FreeBSD$
 #

 PORTNAME=	rexx-imc
-PORTVERSION=	1.7
+PORTVERSION=	1.75
 CATEGORIES=	lang
 MASTER_SITES=	http://users.comlab.ox.ac.uk/ian.collier/distribution/ \
 		ftp://ftp.sai.msu.su/pub/unix/rexx/ \
 		ftp://crydee.sai.msu.ru/zeus/unix/rexx/
-PATCH_SITES=	${MASTER_SITES}
-PATCHFILES=	${DISTNAME}-19990331.patch
-PATCH_DIST_STRIP= -p1

-MAINTAINER=	ports@FreeBSD.org
+MAINTAINER=	jmcoopr@webmail.bmi.net

-MAKE_ENV=	MKDIR="${MKDIR}" OPTFLAGS="${CFLAGS}"
-INSTALLS_SHLIB=	yes
+HAS_CONFIGURE=		yes
+CONFIGURE_SCRIPT=	Make
+CONFIGURE_ENV=		CFLAGS="${CFLAGS}" \
+			PREFIX="${PREFIX}"
+CONFIGURE_ARGS=		o all

-MAN1=		rexx.1
+# configures and builds in one step
+NO_BUILD=		yes

-post-extract:
-	@${CP} ${FILESDIR}/Makefile ${WRKSRC}
+INSTALLS_SHLIB=		yes
+
+MAN1=		rexx.1 rxstack.1 rxque.1
+
+do-install:
+# install interpreter and daemon helpers
+.for prog in rexx rxque rxstack
+	@${INSTALL_PROGRAM} ${WRKSRC}/${prog} ${PREFIX}/bin
+.endfor
+
+# install shared libraries, include file, and rxlib
+# DO NOT delete rxlib or you will lose ability to call mathlib!!
+.for lib in librexx.so.2 rxmathfn.rxfn
+	@${INSTALL_PROGRAM} ${WRKSRC}/${lib} ${PREFIX}/lib
+.endfor
+	@${LN} -sf ${PREFIX}/lib/librexx.so.2 ${PREFIX}/lib/librexx.so
+	@${INSTALL_DATA} ${WRKSRC}/rexxsaa.h ${PREFIX}/include
+	@${INSTALL_DATA} ${WRKSRC}/rxmathfn.rxlib ${PREFIX}/lib
+
+# install man pages
+.for man in ${MAN1}
+	@${INSTALL_MAN} ${WRKSRC}/${man} ${PREFIX}/man/man1
+.endfor
+
+# install documenation and examples
+.if !defined(NOPORTDOCS)
+	@${MKDIR} ${PREFIX}/share/doc/rexx-imc
+.for rme in README README.Y2K README.bugreport README.docs README.files
\
+		README.make README.news README.platforms
+	@${INSTALL_DATA} ${WRKSRC}/${rme} ${PREFIX}/share/doc/rexx-imc
+.endfor
+
+.for doc in rexx.info rexx.ref rexx.summary rexx.tech
+	@${INSTALL_DATA} ${WRKSRC}/${doc} ${PREFIX}/share/doc/rexx-imc
+.endfor
+
+	@${MKDIR} ${PREFIX}/share/examples/rexx-imc
+.for ex in box rexxcps.rexx rexxtest.rexx rxmathfn.rexx shell.rexx
+	@${INSTALL_SCRIPT} ${WRKSRC}/${ex} ${PREFIX}/share/examples/rexx-imc
+.endfor
+
+.endif

 .include <bsd.port.mk>
diff -ruN rexx-imc/distinfo rexx-imc.new/distinfo
--- rexx-imc/distinfo	Mon Nov  6 01:58:23 2000
+++ rexx-imc.new/distinfo	Fri Sep  7 10:17:53 2001
@@ -1,2 +1 @@
-MD5 (rexx-imc-1.7.tar.gz) = 2b55cbe521819e1edf43139125ced03a
-MD5 (rexx-imc-1.7-19990331.patch) = 17f6401cb20fda7facafdaca79080748
+MD5 (rexx-imc-1.75.tar.gz) = bccecc3578deb6d7932b069b1e647ee2
diff -ruN rexx-imc/files/Makefile rexx-imc.new/files/Makefile
--- rexx-imc/files/Makefile	Sun May 28 19:20:47 2000
+++ rexx-imc.new/files/Makefile	Wed Dec 31 16:00:00 1969
@@ -1,91 +0,0 @@
-# $FreeBSD: ports/lang/rexx-imc/files/Makefile,v 1.4 2000/05/29
02:20:47 steve Exp $
-#
-# Makefile for REXX/imc-1.7?
-#
-# Based upon the original by the author
-# Heavily hacked by jfitz@FreeBSD.ORG
-#
-
-CC?=		gcc
-PIC=		-fPIC
-CCFLAGS=	-DHAS_TTYCOM -D_REQUIRED -DRENAME_UNDELETE -c ${PIC}
-
-OPTFLAGS?=	-O2
-
-# Release Date Variables
-RXDAY=		1
-RXMONTH=	8
-RXYEAR=		96
-DATE=		-DDAY=${RXDAY} -DMONTH=${RXMONTH} -DYEAR=${RXYEAR}
-
-REXXDOCS=	README README.bugreport README.docs \
-		README.files README.make README.news README.platforms \
-		rexx.info rexx.ref rexx.summary rexx.tech
-
-# Shared Library Version
-VER=		2
-SHAREDLIB=	librexx.so.${VER}
-STATICLIB=	librexx.a
-
-REXXLIB=${STATICLIB} ${SHAREDLIB}
-
-MATH=		rxmathfn.rxfn
-REXXIMC=	${PREFIX}/bin
-FILEDEFS=	-DREXXIMC=\"${REXXIMC}\"
-LIBFILES=	rexx.o rxfn.o calc.o util.o shell.o interface.o globals.o
-HFILES=		const.h globals.h functions.h rexxsaa.h
-
-all:		rexx rxque rxstack ${MATH} rexx.1
-
-interface.o:	interface.c ${HFILES}
-		${CC} ${OPTFLAGS} ${CCFLAGS} -c ${DATE} ${FILEDEFS} -o $@ interface.c
-
-${SHAREDLIB}:	${LIBFILES}
-		${CC} -shared -Wl,-soname,$@ -o ${SHAREDLIB} ${LIBFILES}
-		ln -sf ${SHAREDLIB} librexx.so
-
-${STATICLIB}:	${LIBFILES}
-		ar rc ${STATICLIB} ${LIBFILES}
-		${RANLIB} ${STATICLIB}
-
-rexx:		main.o ${REXXLIB}
-		${CC} ${OPTFLAGS} -o rexx main.o -L. -lrexx
-
-rxque:		rxque.o ${STATICLIB}
-		${CC} ${OPTFLAGS} -o rxque rxque.o
-
-rxstack:	rxstack.o ${STATICLIB}
-		${CC} ${OPTFLAGS} -o rxstack rxstack.o
-
-rxmathfn.rxfn:	rxmathfn.o ${HFILES}
-		${CC} -shared -o rxmathfn.rxfn rxmathfn.o -lm
-
-interface.o:	interface.c ${HFILES}
-		${CC} ${OPTFLAGS} ${CCFLAGS} -o interface.o ${FILEDEFS} interface.c
-
-rexx.1: rexx.1.in
-		sed -e "s|@REXXLIBDIR@|${PREFIX}/bin|" rexx.1.in > rexx.1
-
-install:
-		@strip rxmathfn.rxfn
-.for f in rexx rxque rxstack
-		${BSD_INSTALL_PROGRAM} ${f} ${PREFIX}/bin
-.endfor
-.for f in rxmathfn.rxfn rxmathfn.rxlib
-		${BSD_INSTALL_DATA} ${f} ${PREFIX}/bin
-.endfor
-.for f in ${REXXLIB}
-		${BSD_INSTALL_DATA} ${f} ${PREFIX}/lib
-.endfor
-		ln -sf ${SHAREDLIB} ${PREFIX}/lib/librexx.so
-		${BSD_INSTALL_DATA} rexxsaa.h ${PREFIX}/include
-		${BSD_INSTALL_MAN} rexx.1 ${PREFIX}/man/man1
-.if !defined(NOPORTDOCS)
-		${MKDIR} ${PREFIX}/share/doc/rexx-imc
-.for f in ${REXXDOCS}
-		${BSD_INSTALL_DATA} ${f} ${PREFIX}/share/doc/rexx-imc
-.endfor
-.endif
-
-.c.o:
-		${CC} ${OPTFLAGS} ${CCFLAGS} -o $@ $<
diff -ruN rexx-imc/files/patch-Make rexx-imc.new/files/patch-Make
--- rexx-imc/files/patch-Make	Wed Dec 31 16:00:00 1969
+++ rexx-imc.new/files/patch-Make	Fri Sep  7 16:40:37 2001
@@ -0,0 +1,87 @@
+--- Make	Wed Nov  1 10:04:27 2000
++++ Make.new	Fri Sep  7 16:39:54 2001
+@@ -18,7 +18,7 @@
+ LD=ld                      # linker for shared objects
+ COMPILEFLAG=""             # general compilation flags for cc
+ LINKFLAG=""                # general linker flags *for cc*
+-#STUFF="-DSTUFF_STACK"     # uncomment if you like queuing stack to
keyboard
++STUFF="-DSTUFF_STACK"      # uncomment if you like queuing stack to
keyboard
+                            # (not guaranteed to work on all systems)
+ SMALL=false                # true if you like small executables (not
guaranteed
+                            # and not for ELF executables either)
+@@ -98,6 +98,9 @@
+         SunOS:5.*)
+             PREFIX="/opt/REXXimc"
+             ;;
++	FreeBSD:*)
++	    PREFIX="${PREFIX}"
++	    ;;
+         *|unknown)
+             PREFIX="/usr/local"
+             ;;
+@@ -384,14 +387,14 @@
+         esac
+         egrep -q tm_gmtoff /usr/include/time.h &&
CCFLAG="$CCFLAG -DHAS_GMTOFF"
+         ;;
+-    FreeBSD:*)
++    FreeBSD:3.*)
+         REXXLIB="librexx.so"
+         RANLIB=ranlib
+         MATH=rxmathfn.rxfn
+         LIBRARIES=""
+         SOFLAG="-Bshareable"
+         DLLFLAG="-Bshareable"
+-#       LREXX='$(LIBDIR)/$(SONAME)'
++        LREXX='$(LIBDIR)/$(SONAME)'
+ #       Uncomment above line if you have problems with LD_LIBRARY_PATH
+         case $CC in
+             gcc)
+@@ -401,6 +404,48 @@
+             *)  echo "Warning: I don't know the options for $CC"\
+                       "- trying the gcc ones" >&2
+








        CCFLAG="-DHAS_TTYCOM -D_REQUIRED -DRENAME_UNDELETE -DHAS_GMTOFF"
++                PIC="-fPIC"
++                ;;
++        esac
++        ;;
++    FreeBSD:4.*)
++        REXXLIB="librexx.so"
++	SOLINK="librexx.so"
++        RANLIB=ranlib
++        MATH=rxmathfn.rxfn
++        LIBRARIES=""
++        SOFLAG="-shared --export-dynamic"
++        : ${RUNLIBS='-L$(LIBDIR) -Wl,-rpath,$(PREFIX)/lib'}
++        DLLFLAG="-shared --export-dynamic"
++        case $CC in
++            gcc)
++





          CCFLAG="${CFLAGS} -DHAS_TTYCOM -DRENAME_UNDELETE -DHAS_GMTOFF"
++                PIC="-fPIC"
++                ;;
++            *)  echo "Warning: I don't know the options for $CC"\
++                      "- trying the gcc ones" >&2
++





          CCFLAG="${CFLAGS} -DHAS_TTYCOM -DRENAME_UNDELETE -DHAS_GMTOFF"
++                PIC="-fPIC"
++                ;;
++        esac
++        ;;
++    FreeBSD:5.*)
++        REXXLIB="librexx.so"
++	SOLINK="librexx.so"
++        RANLIB=ranlib
++        MATH=rxmathfn.rxfn
++        LIBRARIES=""
++        SOFLAG="-shared --export-dynamic"
++        : ${RUNLIBS='-L$(LIBDIR) -Wl,-rpath,$(PREFIX)/lib'}
++        DLLFLAG="-shared --export-dynamic"
++        case $CC in
++            gcc)
++
               CCFLAG="${CFLAGS} -DHAS_TTYCOM -D_REQUIRED -DHAS_GMTOFF"
++                PIC="-fPIC"
++                ;;
++            *)  echo "Warning: I don't know the options for $CC"\
++                      "- trying the gcc ones" >&2
++
               CCFLAG="${CFLAGS} -DHAS_TTYCOM -D_REQUIRED -DHAS_GMTOFF"
+                 PIC="-fPIC"
+                 ;;
+         esac
diff -ruN rexx-imc/files/patch-Makefile.REXXimc
rexx-imc.new/files/patch-Makefile.REXXimc
--- rexx-imc/files/patch-Makefile.REXXimc	Wed Dec 31 16:00:00 1969
+++ rexx-imc.new/files/patch-Makefile.REXXimc	Fri Sep  7 18:54:42 2001
@@ -0,0 +1,37 @@
+--- Makefile.REXXimc	Thu Feb 11 07:05:44 1999
++++ Makefile.REXXimc.new	Fri Sep  7 18:53:43 2001
+@@ -1,7 +1,7 @@
+ #Makefile for REXX/imc
+
+ SO = librexx.so
+-SONAME= $(SO).$(VER)
++SONAME= $(SO).2
+
+ DATE = -DDAY=$(RXDAY) -DMONTH=$(RXMONTH) -DYEAR=$(RXYEAR)
+
+@@ -35,11 +35,13 @@
+
+ install-fn: $(MATH)
+ 	$(VERBOSE) "install-fn:"
+-	test -f rxmathfn.rxfn && cp -p rxmathfn.rxfn $(SRC)/rxmathfn.rxlib
$(REXXLIBDIR) \
+-	|| cp -p $(SRC)/rxmathfn.rexx $(SRC)/rxmathfn.rxlib $(REXXLIBDIR)
++	test -f rxmathfn.rxfn  && \
++	cp -p rxmathfn.rxfn $(SRC)/rxmathfn.rxlib $(PREFIX)/lib || \
++	cp -p $(SRC)/rxmathfn.rexx $(SRC)/rxmathfn.rxlib $(PREFIX)/lib
+
+ install-man: rexx.1
+ 	$(VERBOSE) "install-man:"
++	mkdir -p $(MANDIR)
+ 	cp -p rexx.1 $(SRC)/rxque.1 $(SRC)/rxstack.1 $(MANDIR)
+
+ uninstall: uninstall-pgm uninstall-fn uninstall-man
+@@ -69,8 +71,7 @@
+
+ $(LIBDIR)/$(SO): $(LIBDIR)/$(SONAME)
+ 	$(VERBOSE) "$(LIBDIR)/$(SO):"
+-	rm -f $(LIBDIR)/$(SO)
+-	ln -s $(SONAME) $(LIBDIR)/$(SO)
++	ln -sf $(SONAME) $(LIBDIR)/$(SO)
+
+ $(LIBDIR)/librexx.a: $(LIBFILES)
+ 	$(VERBOSE) "$(LIBDIR)/librexx.a:"
diff -ruN rexx-imc/files/patch-box rexx-imc.new/files/patch-box
--- rexx-imc/files/patch-box	Wed Dec 31 16:00:00 1969
+++ rexx-imc.new/files/patch-box	Fri Sep  7 15:02:53 2001
@@ -0,0 +1,8 @@
+--- box	Sat Jan 23 16:51:19 1999
++++ box.new	Fri Sep  7 15:01:36 2001
+@@ -1,4 +1,4 @@
+-/*bin/true;exec rexx -x "$0" "$@";exit# This is a REXX program */
++/*usr/bin/true;exec rexx -x "$0" "$@";exit# This is a REXX program */
+ parse arg args
+ if args="" then args="/usr/games/fortune"/* default command */
+ args "| expand | rxstack"            /* stack the command's output */
diff -ruN rexx-imc/files/patch-rexxcps.rexx
rexx-imc.new/files/patch-rexxcps.rexx
--- rexx-imc/files/patch-rexxcps.rexx	Wed Dec 31 16:00:00 1969
+++ rexx-imc.new/files/patch-rexxcps.rexx	Fri Sep  7 15:10:31 2001
@@ -0,0 +1,8 @@
+--- rexxcps.rexx	Fri Jun 25 05:14:43 1993
++++ rexxcps.rexx.new	Fri Sep  7 15:10:03 2001
+@@ -1,4 +1,4 @@
+-/* ReXX */
++/*usr/bin/true;exec rexx -x "$0" "$@";exit# ReXX */
+   /* Take a measure of REXX clauses-per-second (CPS)
*/
+   /* Mike Cowlishaw (mfc@ibm.com).  Multi-platform.
*/
+   /* 1.0 17 Jan 89 Original version
*/
diff -ruN rexx-imc/files/patch-rexxtest.rexx
rexx-imc.new/files/patch-rexxtest.rexx
--- rexx-imc/files/patch-rexxtest.rexx	Wed Dec 31 16:00:00 1969
+++ rexx-imc.new/files/patch-rexxtest.rexx	Fri Sep  7 15:05:13 2001
@@ -0,0 +1,8 @@
+--- rexxtest.rexx	Thu Jan 21 16:11:44 1999
++++ rexxtest.rexx.new	Fri Sep  7 15:04:39 2001
+@@ -1,4 +1,4 @@
+-/* test program for interpreter */
++/*usr/bin/true;exec rexx -x "$0" "$@";exit# test program for
interpreter */
+
+ signal on syntax
+ parse source sys how me nick env
diff -ruN rexx-imc/files/patch-rxmathfn.rexx
rexx-imc.new/files/patch-rxmathfn.rexx
--- rexx-imc/files/patch-rxmathfn.rexx	Wed Dec 31 16:00:00 1969
+++ rexx-imc.new/files/patch-rxmathfn.rexx	Fri Sep  7 15:07:15 2001
@@ -0,0 +1,9 @@
+--- rxmathfn.rexx	Thu Nov 19 10:25:43 1992
++++ rxmathfn.rexx.new	Fri Sep  7 15:06:45 2001
+@@ -1,4 +1,5 @@
+-/* Example Rexx program to provide mathematical functions */
++/*usr/bin/true;exec rexx -x "$0" "$@";exit# Example Rexx program */
++/* to provide mathematical functions */
+ trace off
+
+ Ecall=40 /* Incorrect call to routine */
diff -ruN rexx-imc/files/patch-shell.rexx
rexx-imc.new/files/patch-shell.rexx
--- rexx-imc/files/patch-shell.rexx	Wed Dec 31 16:00:00 1969
+++ rexx-imc.new/files/patch-shell.rexx	Fri Sep  7 15:08:56 2001
@@ -0,0 +1,8 @@
+--- shell.rexx	Wed Feb 10 14:42:33 1999
++++ shell.rexx.new	Fri Sep  7 15:08:23 2001
+@@ -1,4 +1,4 @@
+-/* small shell program. */
++/*usr/bin/true;exec rexx -x "$0" "$@";exit# small shell program. */
+ trace off
+ signal on halt
+ signal on syntax
diff -ruN rexx-imc/pkg-comment rexx-imc.new/pkg-comment
--- rexx-imc/pkg-comment	Sat Jun 26 11:38:48 1999
+++ rexx-imc.new/pkg-comment	Fri Sep  7 19:09:53 2001
@@ -1 +1 @@
-A procedural programming language designed by IBM's UK Laboratories
+A procedural programming language designed by IBM's UK Laboratories.
diff -ruN rexx-imc/pkg-descr rexx-imc.new/pkg-descr
--- rexx-imc/pkg-descr	Sat Oct 28 08:57:59 2000
+++ rexx-imc.new/pkg-descr	Fri Sep  7 19:09:12 2001
@@ -5,3 +5,6 @@
 functions, and exit handlers.

 WWW: http://users.comlab.ox.ac.uk/ian.collier/Rexx/rexximc.html
+
+--
+John Merryweather Cooper <jmcoopr@webmail.bmi.net>
diff -ruN rexx-imc/pkg-plist rexx-imc.new/pkg-plist
--- rexx-imc/pkg-plist	Thu Jun 15 10:59:12 2000
+++ rexx-imc.new/pkg-plist	Fri Sep  7 18:55:06 2001
@@ -1,13 +1,13 @@
 bin/rexx
-bin/rxmathfn.rxfn
-bin/rxmathfn.rxlib
 bin/rxque
 bin/rxstack
 include/rexxsaa.h
-lib/librexx.a
-lib/librexx.so
 lib/librexx.so.2
+lib/rxmathfn.rxfn
+lib/librexx.so
+lib/rxmathfn.rxlib
 share/doc/rexx-imc/README
+share/doc/rexx-imc/README.Y2K
 share/doc/rexx-imc/README.bugreport
 share/doc/rexx-imc/README.docs
 share/doc/rexx-imc/README.files
@@ -19,3 +19,9 @@
 share/doc/rexx-imc/rexx.summary
 share/doc/rexx-imc/rexx.tech
 @dirrm share/doc/rexx-imc
+share/examples/rexx-imc/box
+share/examples/rexx-imc/rexxcps.rexx
+share/examples/rexx-imc/rexxtest.rexx
+share/examples/rexx-imc/rxmathfn.rexx
+share/examples/rexx-imc/shell.rexx
+@dirrm share/examples/rexx-imc


>Release-Note:
>Audit-Trail:
>Unformatted:
 SEND-PR: -*- send-pr -*-
 SEND-PR: Lines starting with `SEND-PR' will be removed automatically, as
 SEND-PR: will all comments (text enclosed in `<' and `>').
 SEND-PR:
 SEND-PR: Please consult the send-pr man page `send-pr(1)' or the Texinfo

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?000001c13810$e10025c0$05fea8c0>