From owner-freebsd-amd64@FreeBSD.ORG Tue Jun 1 14:26:08 2004 Return-Path: Delivered-To: freebsd-amd64@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D620016A4CE; Tue, 1 Jun 2004 14:26:08 -0700 (PDT) Received: from transport.cksoft.de (transport.cksoft.de [62.111.66.27]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2C34C43D54; Tue, 1 Jun 2004 14:26:08 -0700 (PDT) (envelope-from bzeeb-lists@lists.zabbadoz.net) Received: from transport.cksoft.de (localhost [127.0.0.1]) by transport.cksoft.de (Postfix) with ESMTP id 0B42F1FFDD3; Tue, 1 Jun 2004 23:26:06 +0200 (CEST) Received: by transport.cksoft.de (Postfix, from userid 66) id 12DF61FF931; Tue, 1 Jun 2004 23:26:04 +0200 (CEST) Received: by mail.int.zabbadoz.net (Postfix, from userid 1060) id F121515615; Tue, 1 Jun 2004 21:25:14 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by mail.int.zabbadoz.net (Postfix) with ESMTP id E621115600; Tue, 1 Jun 2004 21:25:14 +0000 (UTC) Date: Tue, 1 Jun 2004 21:25:14 +0000 (UTC) From: "Bjoern A. Zeeb" X-X-Sender: bz@e0-0.zab2.int.zabbadoz.net To: Peter Wemm Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Virus-Scanned: by AMaViS cksoft-s20020300-20031204bz on transport.cksoft.de cc: FreeBSD amd64 mailing list Subject: patch|hack: amd64 native cvsup with compress working X-BeenThere: freebsd-amd64@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Porting FreeBSD to the AMD64 platform List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 01 Jun 2004 21:26:09 -0000 Hi, I have compiled ezm3 and cvsup-without-gui from the sources with the files from http://people.freebsd.org/~peter/ezm3-amd64/ . As discussed in this thread[1] there still is a problem with compression (libz). [1] http://lists.freebsd.org/pipermail/freebsd-amd64/2004-February/thread.html#669 The following hack makes cvsup work with compression: --- hack/patch --- ! ! the problem seems to be that Ugzip.Z_BUF_ERROR = -5 but ! if status = -5 it actually is 4294967291 and not -5 ! ! most likely other negative values might have the same problem. ! --- suplib/src/GzipWr.m3.orig Tue Mar 4 19:26:23 2003 +++ suplib/src/GzipWr.m3 Tue Jun 1 21:06:41 2004 @@ -125,8 +125,8 @@ 0, ADR(self.wr.buff[self.wr.st]) + self.wr.cur - self.wr.lo, self.wr.hi - self.wr.cur, - Ugzip.Z_PARTIAL_FLUSH); - IF status # Ugzip.Z_OK AND status # Ugzip.Z_BUF_ERROR THEN + Ugzip.Z_SYNC_FLUSH); (* Z_PARTIAL_FLUSH will go away according to zlib.h*) + IF status # Ugzip.Z_OK AND status # 4294967291 AND status # Ugzip.Z_BUF_ERROR THEN RAISE Wr.Failure(GzipError.FromStatus(status)); END; self.wr.cur := self.wr.hi - self.strmp.avail_out; --- suplib/src/GzipRd.m3.orig Tue Jun 1 21:02:48 2004 +++ suplib/src/GzipRd.m3 Tue Jun 1 21:03:30 2004 @@ -168,7 +168,7 @@ ELSE RETURN RdClass.SeekResult.Eof; END; - ELSIF status # Ugzip.Z_OK AND status # Ugzip.Z_BUF_ERROR THEN + ELSIF status # Ugzip.Z_OK AND status # 4294967291 AND status # Ugzip.Z_BUF_ERROR THEN RAISE Rd.Failure(GzipError.FromStatus(status)); END; --- /hack/patch --- while one can reproduce the problem by using a Logger to print Fmt.Int(status) (* 4294967291 *) Fmt.Int(-5) (* -5 *) Fmt.Int(Ugzip.Z_BUF_ERROR) (* -5 *) I am still unsure where the problem comes from; but that's been my first hours looking at m3 and I will most likely not further dig into this. here my test. I picked out one file of those and it looked ok. --- cut --- bz@noc:/u2/ports/net/cvsup-without-gui/work/cvsup-snap-16.1h/client/FBSD_AMD64> ./cvsup -g -L2 -z -s /u2/test/distrib-supfile Parsing supfile "/u2/test/distrib-supfile" Connecting to cvsup2.de.FreeBSD.org Connected to cvsup2.de.FreeBSD.org Server software version: SNAP_16_1h Negotiating file attribute support Exchanging collection information Establishing multiplexed-mode data connection Running Updating collection distrib/cvs Mkdir distrib Mkdir distrib/cvsup Mkdir distrib/cvsup/sup Create distrib/cvsup/sup/README,v Mkdir distrib/cvsup/sup/cvs-all Create distrib/cvsup/sup/cvs-all/list.cvs,v Create distrib/cvsup/sup/cvs-all/releases,v ... SetAttrs distrib/cvsup/sup/www SetAttrs distrib/cvsup/sup Create distrib/cvsup/supfile,v SetAttrs distrib/cvsup SetAttrs distrib Shutting down connection to server Finished successfully --- cut --- -- Greetings Bjoern A. Zeeb bzeeb at Zabbadoz dot NeT