Date: Wed, 4 Dec 2013 18:51:34 +0100 From: Fleuriot Damien <ml@my.gd> To: Matthew Seaman <matthew@freebsd.org> Cc: freebsd-questions@freebsd.org Subject: Re: pkg repo not creating repo.txz on 8.4-STABLE Message-ID: <9454D6CB-A36A-49EB-B7F6-17A31C83EC76@my.gd> In-Reply-To: <529F68EA.90809@freebsd.org> References: <FCDEDCD3-7DA9-4541-A894-D77D3853B1CF@my.gd> <529F68EA.90809@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Dec 4, 2013, at 6:39 PM, Matthew Seaman <matthew@freebsd.org> wrote: > On 12/04/13 17:07, Fleuriot Damien wrote: >> Hello list, >>=20 >>=20 >>=20 >> I've got this tiny problem where issuing `pkg repo /tmp/repo/All` = won't yield a repo.txz file, anywhere at all. >>=20 >> /tmp/repo/All contains a single, very small python package (this is a = real, valid port), on purpose to minimize the size of ktrace dumps. >>=20 >>=20 >> # pkg version >> root@bsd8:/ # pkg -v >> 1.2.1 >>=20 >> # Contents of /tmp/repo/All/ >> root@bsd8:/ # ls -l /tmp/repo/All/ >> total 4 >> -rw-r--r-- 1 root wheel 2312 Dec 4 15:57 python2-2_1.txz >>=20 >> # Command used to create the repo >> root@bsd8:/ # pkg repo /tmp/repo/All/ >> Generating repository catalog in /tmp/repo/All/: done! >>=20 >> # Resulting files , note that digests and packagesite were generated = successfully >> root@bsd8:/ # ls -l /tmp/repo/All/ >> total 12 >> -rw-r--r-- 1 root wheel 256 Dec 4 16:46 digests.txz >> -rw-r--r-- 1 root wheel 712 Dec 4 16:46 packagesite.txz >> -rw-r--r-- 1 root wheel 2312 Dec 4 15:57 python2-2_1.txz >>=20 >>=20 >>=20 >> I've tried gleaning info from both truss and ktrace, with the = following results from kdump: >>=20 >> # Actual ktrace >> ktrace pkg repo -q /tmp/repo/All/ >>=20 >> # grep repo.txz during kdump >> root@bsd8:/ # kdump | grep -C 8 repo.txz >> 2254 initial thread CALL munmap(0x802400000,0xe00000) >> 2254 initial thread RET munmap 0 >> 2254 initial thread CALL close(0x3) >> 2254 initial thread RET close 0 >> 2254 initial thread CALL unlink(0x7fffffffe580) >> 2254 initial thread NAMI "/tmp/repo/All//digests" >> 2254 initial thread RET unlink 0 >> 2254 initial thread CALL stat(0x7fffffffe170,0x7fffffffe0c0) >> 2254 initial thread NAMI "/tmp/repo/All//repo.txz" >> 2254 initial thread RET stat -1 errno 2 No such file or directory >> 2254 initial thread CALL = sigprocmask(SIG_BLOCK,0x7fffffffe990,0x802004298) >> 2254 initial thread RET sigprocmask 0 >> 2254 initial thread CALL sigprocmask(SIG_SETMASK,0x802004298,0) >> 2254 initial thread RET sigprocmask 0 >> 2254 initial thread CALL = sigprocmask(SIG_BLOCK,0x7fffffffe950,0x802004298) >> 2254 initial thread RET sigprocmask 0 >> 2254 initial thread CALL sigprocmask(SIG_SETMASK,0x802004298,0) >>=20 >>=20 >> Meh, what gives, no such file ? >>=20 >>=20 >>=20 >>=20 >> Out of curiosity and to prove I'm not trying to get anyone else to do = my homework, I've taken the liberty of grabbing an earlier version of = `pkg` at: >> = ftp://ftp.freebsd.org/pub/FreeBSD/ports/local-distfiles/bapt/pkg-1.0-rc6.t= ar.xz >>=20 >> Building and using pkg-static from these sources does yield the = correct repo file : >>=20 >> root@bsd8:/tmp/pkg/pkg-1.0-rc6/pkg-static # ./pkg-static repo = /tmp/repo/ >> Generating repo.sqlite in /tmp/repo/: done! >> root@bsd8:/tmp/pkg/pkg-1.0-rc6/pkg-static # ls -l /tmp/repo/ >> total 8 >> -rw-r--r-- 1 root wheel 2316 Dec 4 16:52 python-2.7_1,2.txz >> -rw-r--r-- 1 root wheel 1636 Dec 4 16:59 repo.txz >>=20 >>=20 >>=20 >>=20 >> I'm going to look up other versions of pkg and try to narrow down the = one that borks things up for me. >=20 > Hi, Fleuriot, >=20 > Not sure what's going on there in your ktrace, but not generating a > repo.txz is normal for pkg-1.2.x. Instead, all the data is in the > digests.txz file -- which if you look at it is a tarfile containing a > single YAML document, plus possibly some crypto signature stuff if > you've enabled that. Make sure your pkg clients are all running = pkg-1.2 > and it should just work for you. >=20 > Cheers, >=20 > Matthew >=20 >=20 I suspected repo.txz might not be needed anymore but wanted to make sure = first, since ktrace mentionned a file not found error for it. I guess I was trusting overmuch in "pkg help repo" which still = references repo.txz. I suppose man 8 pkg-repo will want an update though, at the very least = to tell people it's deprecated as of 1.2.x and to look at pkg-repository = instead. Thanks for the insight Matthew ! (pssst, first name's Damien ;) )
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?9454D6CB-A36A-49EB-B7F6-17A31C83EC76>