Re: zpool v28 and -current

From: Anonymous <swell.k_at_gmail.com>
Date: Tue, 01 Feb 2011 16:12:33 +0300
Olivier Smedts <olivier_at_gid0.org> writes:

> Hello,
>
> 2011/1/31 Anonymous <swell.k_at_gmail.com>:
>> Shawn Webb <lattera_at_gmail.com> writes:
>>
>>> I'm having trouble building freebsd-current (sources as of 29 Jan 2011) with
>>> the latest zpool v28 patch. `make buildworld` fails. I'd attach a copy of
>>> the build log, but it's pretty big. I can put it online on my tech blog if
>>> needed. Has anyone else had the same problem? The `uname -a` output of the
>>> box in question:
>>>
>>> FreeBSD beastie 9.0-CURRENT FreeBSD 9.0-CURRENT #0 r218075: Sat Jan 29
>>> 15:14:44 MST 2011   shawn_at_beastie:/usr/obj/usr/src/sys/GENERIC amd64
>>
>> Try below diff-against-diff. I'm using it for weeks with a few p4 commits.
>>
>> inb4 you're encouraged to wait after 7.4/8.2 are out
>>
>> %%
>> --- zfs_20101212.patch     pjd's original
>> +++ zfs_20101212.patch     sync with r218058
>
> Could you send it as an attachment please ? Thanks !

It's not needed, patch(1) is smart enough to ignore junk.

  $ fetch http://people.freebsd.org/~pjd/patches/zfs_20101212.patch.bz2
  $ fetch -o anon_fixup.diff 'http://docs.freebsd.org/cgi/getmsg.cgi?fetch=55203+0+current/freebsd-current+raw'
  $ bzip2 -d zfs_20101212.patch.bz2
  $ patch -si anon_fixup.diff
  $ cd /usr/src
  $ patch -Efsp0 -i $OLDPWD/zfs_20101212.patch
  [ any rejects here are probably because of $FreeBSD: ...$ vs. $FreeBSD$ ]
  $ make -j5 world kernel DESTDIR=/

Note, some bugs are fixed in pjd_zfs branch.

  http://p4db.freebsd.org/changeList.cgi?FSPC=//depot/user/pjd/zfs/...

My guess, pjd's patch was generated before 186914. So, in order to grab
all latest p4 commits in the branch try

  [...]
  $ for ci in 186914 186921 186938 186940 186942 186944 186945 \
      187192 187461 187462 187836 187837 187875 187883 188248; do
        p4diff $ci >>zfs_v28_sync.diff; done
  $ cd /usr/src
  $ patch -Efsp0 -i $OLDPWD/zfs_20101212.patch
  $ patch -Efsp6 -i $OLDPWD/zfs_v28_sync.diff
  [...]

%%
#! /bin/sh
# p4diff - a dumb way to grab diffs from perforce cgi

getopts s: opt
shift $((OPTIND - 1))

usage="usage: ${0##*/} [-s servaddr] <change#>
ex.:   ${0##*/} 187192"
ch=${1:?$usage}
serv=${OPTARG:-perforce.freebsd.org}

fetch -qo- "http://$serv/changeView.cgi?CH=$ch" |
sed -n "s|.*fileLogView\.cgi[^>]*>\([^<]*\)<.*|\1|p
        s|.*fileViewer\([^\"]*\).*|http://$serv/fileDownLoad\1|p" |
while read currlink; do
    rev=${currlink##*REV=}
    prevlink=${currlink%%REV=*}REV=$((rev-1))
    fetch -qo${prevfile:=$(mktemp -t p4diff)} "$prevlink"
    sleep 1
    fetch -qo${currfile:=$(mktemp -t p4diff)} "$currlink"
    read filename
    diff -u $prevfile $currfile |
    sed "s?$prevfile.*?$filename	$((ch-1))?
         s?$currfile.*?$filename	$ch?"
    rm -f $prevfile $currfile
done
%%
Received on Tue Feb 01 2011 - 12:13:02 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:11 UTC