ports/devel/noweb/Makefile FETCH_* is wrong, comment out works.

Julian H. Stacey jhs at berklix.com
Fri Jan 6 00:13:36 UTC 2017


Hi Mathieu & ports@
Mathieu Arnold wrote:
> This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
> --RxP9PkeN38X7fosu2U5orM2MCGR2KKvur
> Content-Type: multipart/mixed; boundary="gaRtNiWMO7FMO0KcGfOJeEdCM4BR8HecR";
>  protected-headers="v1"
> From: Mathieu Arnold <mat at FreeBSD.org>
> To: "Julian H. Stacey" <jhs at berklix.com>
> Cc: ports at FreeBSD.org
> Message-ID: <3cf24719-de41-92fe-a37c-12149d93e639 at FreeBSD.org>
> Subject: Re: ports/devel/noweb/Makefile FETCH_* is wrong, comment out works.
> References: <201701051443.v05Ehfka097992 at fire.js.berklix.net>
> In-Reply-To: <201701051443.v05Ehfka097992 at fire.js.berklix.net>
> 
> --gaRtNiWMO7FMO0KcGfOJeEdCM4BR8HecR
> Content-Type: text/plain; charset=utf-8
> Content-Transfer-Encoding: quoted-printable
> 
> Le 05/01/2017 =C3=A0 15:43, Julian H. Stacey a =C3=A9crit :
> > This looks like a regression failure with fetch as 6.4 fetch works fine=
> =2E=20
> 
> Do feel free to open a PR about the regression  :-)

Thanks, Will do, 
(Looking for info for a PR), it looks current fetch.c runs OK
on my 6.4 box, so maybe its a problem in current /usr/lib/libfetch.so
So far I did:

uname -a
FreeBSD lapr.js.berklix.net 12.0-CURRENT FreeBSD 12.0-CURRENT #12801: Mon Dec 26 22:34:09 CET 2016     jhs at lapr.js.berklix.net:/usr/src/sys/amd64/compile/LAPR.small  amd64
cd /usr/src
cat .ctm_status		# src-cur 12814
cat .svn_revision	# 311243
copied 12.0-CURRENT /usr/src/usr.bin/fetch/fetch.c	to 6.4 box

uname -a
FreeBSD mart.js.berklix.net 6.4-RELEASE FreeBSD 6.4-RELEASE #0: Tue Dec 10 05:20:18 CET 2013     jhs at mart.js.berklix.net:/usr/src/sys/i386/compile/MART.small  i386
cd /usr/src/usr.bin/fetch 
l
	-rw-r--r--    1 jhs  staff  23453 Oct  2  2008 fetch.c
mv ~/fetch.c fetch-current.c
md5 fetch-current.c
mv fetch.c fetch-6.4.c
ln fetch-current.c fetch.c
which fetch
/usr/bin/fetch
mv /usr/bin/fetch /usr/bin/fetch-6.4
make
	fetch.c: In function `fetch':
	fetch.c:483: error: structure has no member named `ims_time'
Inspect current /usr/include/fetch.h struct url has extra element 
	time_t           ims_time;
Append line into base of struct url on 6.4 /usr/include/fetch.h
make
	cc -O2 -fno-strict-aliasing -march=i586 -pipe  -std=iso9899:199Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstriprototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwe-strings -Wswitch -Wshadow -Wcast-align -Wunused-parameter -Wchar-subscriptsinline -Wnested-externs -Wredundant-decls -c fetch.c
	cc -O2 -fno-strict-aliasing -march=i586 -pipe  -std=iso9899:199Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstriprototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwe-strings -Wswitch -Wshadow -Wcast-align -Wunused-parameter -Wchar-subscriptsinline -Wnested-externs -Wredundant-decls  -o fetch fetch.o -lfetch -lssl -lcto
	gzip -cn fetch.1 > fetch.1.gz
make install
	install -s -o root -g wheel -m 555   fetch /usr/bin
	install -o root -g wheel -m 444 fetch.1.gz  /usr/share/man/man1
pushd  /tmp
fetch -v ftp://www.eecs.harvard.edu/pub/nr/noweb-2.11bz
	looking up www.eecs.harvard.edu
	connecting to www.eecs.harvard.edu:21
	binding data socket
	initiating transfer
	remote size / mtime: 738870 / 1150149960
	noweb-2.11b.tgz                               100% of  721 kB  155 kBps 00m05
which fetch
	/usr/bin/fetch
l /usr/bin/fetch*
	-r-xr-xr-x  1 root  wheel  21264 Jan  6 00:23 /usr/bin/fetch*
	-r-xr-xr-x  1 root  wheel  18388 Aug 29  2013 /usr/bin/fetch-6.4*

Current /usr/src/lib/libfetch to 6.4:
cd /usr/src/lib/libfetch/..
mv libfetch libfetch-6.4
mkdir libfetch-current
ln -s libfetch-current libfetch
cd libfetch; tar xf ~/t
make clean
	"Makefile", line 3: Could not find src.opts.mk
	"Makefile", line 14: Malformed conditional (${MK_INET6_SUPPORT} != "no")
	"Makefile", line 16: if-less endif
	"Makefile", line 18: Malformed conditional (${MK_OPENSSL} != "no")
	"Makefile", line 21: if-less else
	"Makefile", line 23: if-less endif
	make: fatal errors encountered -- cannot continue
mv Makefile Makefile.orig; cp Makefile.orig Makefile 
diff -c Makefile.orig Makefile > /tmp/t
------
*** Makefile.orig	Fri Dec 23 13:03:49 2016
--- Makefile	Fri Jan  6 01:00:32 2017
***************
*** 1,6 ****
  # $FreeBSD: head/lib/libfetch/Makefile 298107 2016-04-16 07:45:30Z gjb $
  
! .include <src.opts.mk>
  
  PACKAGE=lib${LIB}
  LIB=		fetch
--- 1,6 ----
  # $FreeBSD: head/lib/libfetch/Makefile 298107 2016-04-16 07:45:30Z gjb $
  
! # .include <src.opts.mk>
  
  PACKAGE=lib${LIB}
  LIB=		fetch
***************
*** 11,20 ****
--- 11,22 ----
  MAN=		fetch.3
  CLEANFILES=	ftperr.h httperr.h
  
+ MK_INET6_SUPPORT="no"
  .if ${MK_INET6_SUPPORT} != "no"
  CFLAGS+=	-DINET6
  .endif
  
+ MK_OPENSSL="no"		# not sure if no or yes appropriate ?
  .if ${MK_OPENSSL} != "no"
  CFLAGS+=	-DWITH_SSL
  LIBADD+=	ssl crypto
------
cc -O2 -fno-strict-aliasing -march=i586 -pipe  -I. -DINET6 -DWITH_SSL -DFTP_COMBINE_CWDS -std=iso9899:1999  -c fetch.c
cc -O2 -fno-strict-aliasing -march=i586 -pipe  -I. -DINET6 -DWITH_SSL -DFTP_COMBINE_CWDS -std=iso9899:1999  -c common.c
common.c: In function `fetch_ssl_setup_transport_layer':
common.c:748: error: `SSL_OP_NO_TICKET' undeclared (first use in this function)
common.c:748: error: (Each undeclared identifier is reported only once
common.c:748: error: for each function it appears in.)
common.c:754: error: `SSL_OP_NO_TLSv1_1' undeclared (first use in this function)
common.c:756: error: `SSL_OP_NO_TLSv1_2' undeclared (first use in this function)
common.c: In function `fetch_ssl':
common.c:906: warning: passing arg 1 of `SSL_CTX_new' discards qualifiers from pointer target type
*** Error code 1

I dont know which of the plethora of different SSL etc I should
define for back on 6.4. I need to hand over to a libfetch enthusiast
I will wait overnight while this hits the ports/ archive then file
a PR tomorrow.

Summary: seems to be regression between 6.4 & current /usr/src/lib/libfetch

Cheers,
Julian
-- 
Julian Stacey, BSD Linux Unix Sys Eng Consultant Munich
 Reply below, Prefix '> '. Plain text, No .doc, base64, HTML, quoted-printable.
 http://berklix.eu/brexit/#stolen_votes


More information about the freebsd-ports mailing list