poudriere bug [WAS: Re: poudriere zfs setup help ]
Anton Shterenlikht
mexas at bris.ac.uk
Mon Oct 28 11:21:28 UTC 2013
>From bsam at passap.ru Fri Oct 25 11:47:07 2013
>>>>>> I'm getting this error:
>>>>>> => SHA256 Checksum OK for pkg-1.1.4.tar.xz.
>>>>>> mkdir: /usr/ports/ports-mgmt/pkg/work: Read-only file system
>>>>>> *** Error code 1
>>>>>>
>>>>>> So something is wrong with my setup?
>>>>>> Does this look all right:
>>>>>>
>>>>>> # poudriere jails -l
>>>>>> JAILNAME VERSION ARCH METHOD PATH
>>>>>> ia64 10.0-ALPHA5 r256218 ia64 svn+https /pdr/jails/ia64
>>>>>> # poudriere ports -l
>>>>>> PORTSTREE METHOD PATH
>>>>>> default svn+https /pdr/ports/default
>>>>>> # df
>>>>>> Filesystem 1K-blocks Used Avail Capacity Mounted on
>>>>>> /dev/da0p2 60931274 49946430 6110344 89% /
>>>>>> devfs 1 1 0 100% /dev
>>>>>> /dev/da0p1 409504 1184 408320 0% /efi
>>>>>> tank/poudriere/data 31736572 1290 31735281 0% /pdr/data
>>>>>> tank/poudriere/jails/ia64 33931466 2196185 31735281 6% /pdr/jails/ia64
>>>>>> tank/poudriere/ports/default 32633749 898468 31735281 3% /pdr/ports/default
>>>>>> tank 31735313 32 31735281 0% /tank
>>>>>> tank/poudriere 31735314 33 31735281 0% /tank/poudriere
>>>>>> tank/poudriere/jails 31735312 31 31735281 0% /tank/poudriere/jails
>>>>>> tank/poudriere/ports 31735312 31 31735281 0% /tank/poudriere/ports
>>>>>> #
>>>>>>
>>>>>> # grep "^[A-Z]" /usr/local/etc/poudriere.conf
>>>>>> ZPOOL=tank
>>>>>> FREEBSD_HOST=https://svn0.eu.freebsd.org
>>>>>> RESOLV_CONF=/etc/resolv.conf
>>>>>> BASEFS=/pdr
>>>>>> USE_PORTLINT=yes
>>>>>> USE_TMPFS=yes
>>>>>> DISTFILES_CACHE=/usr/ports/distfiles
>>>>>> SVN_HOST=svn0.eu.FreeBSD.org
>>>>>> CHECK_CHANGED_OPTIONS=verbose
>>>>>> CHECK_CHANGED_DEPS=yes
>>>>>> PKG_REPO_SIGNING_KEY=/root/pkg.key
>>>>>> CCACHE_DIR=/var/cache/ccache
>>>>>> SAVE_WRKDIR=yes
>>>>>> #
>>>>>>
>>>>>> What am I missing?
>>>>>>
>>>>>> On another box I set up poudriere with no zfs
>>>>>> and it works all right. So I think I messed up
>>>>>> the zfs setup.
>>>>>
>>>>> You may try to use "poudriere testport -i ...". Then poudriere will
>>>>> not umount jail (it will be umounted when you exit the jail command
>>>>> propmt) and you may explore the system (i.e. mount, jls, etc.) to
>>>>> find out what's going on.
>>>>
>>>> ok, so after a failure, still in a jail:
>>>>
>>>> root at ia64-default:~ # df
>>>> Filesystem 1K-blocks Used Avail Capacity Mounted on
>>>> tank/poudriere/jails/ia64-default-ref 33930819 2198542 31732277 6% /
>>>> root at ia64-default:~ # ls -al /usr/ports/ports-mgmt/pkg
>>>> total 15
>>>> drwxr-xr-x 3 root wheel 8 Oct 9 13:23 .
>>>> drwxr-xr-x 85 root wheel 86 Oct 9 13:23 ..
>>>> -rw-r--r-- 1 root wheel 2544 Oct 9 13:23 Makefile
>>>> -rw-r--r-- 1 root wheel 127 Oct 9 13:23 distinfo
>>>> drwxr-xr-x 2 root wheel 13 Oct 9 13:23 files
>>>> -rw-r--r-- 1 root wheel 87 Oct 9 13:23 pkg-descr
>>>> -rw-r--r-- 1 root wheel 73 Oct 9 13:23 pkg-message
>>>> -rw-r--r-- 1 root wheel 1420 Oct 9 13:23 pkg-plist
>>>> root at ia64-default:~ # whoami
>>>> root
>>>> root at ia64-default:~ # mkdir /usr/ports/ports-mgmt/pkg/work
>>>> mkdir: /usr/ports/ports-mgmt/pkg/work: Read-only file system
>>>> root at ia64-default:~ #
>>>>
>>>> On ufs this would mean something is seriously wrong.
>>>> But on zfs, I'm not so sure.
>>>> Perhaps I'm not understanding it right.
>>>
>>> Actually I meant to investigate host, not jail. Jail ment to just
>>> exist. Sorry to be not clear. (I usually use sysutils/tmux to have
>>> one seccion and several terminals at a host.) So look at commands
>>> (at the host, not in the jail): mount, jls. Does somtethig looks
>>> suspicious?
>>
>> Still no luck. Now I cannot even get 'poudriere testport -i'
>> to leave the jail intact. I get:
>>
>> # poudriere testport -i -o ports-mgmt/pkg -j ia64
>> ====>> Creating the reference jail... done
>> *skip*
>> => SHA256 Checksum OK for pkg-1.1.4.tar.xz.
>> mkdir: /usr/ports/ports-mgmt/pkg/work: Read-only file system
>> *** Error code 1
>>
>> Stop.
>> make[1]: stopped in /usr/ports/ports-mgmt/pkg
>> *** Error code 1
>>
>> Stop.
>> make: stopped in /usr/ports/ports-mgmt/pkg
>> ====>> Cleaning up
>> ====>> Umounting file systems
>> #
>>
>> I also tried "-I" option - still the same - the jail
>> is unmounted after the failure.
>>
>> This is poudriere-3.0.11.
>>
>> What else can I try?
>
>Investigate your system as I had described earlier.
The root cause of this seems to be that
the poudriere ports tree is nullfs mounted read-only.
I don't know why, but this seems to be a bug.
I updated this ticket, which seems to report a similar issue:
https://fossil.etoilebsd.net/poudriere/tktview?name=15bf9880c4
Thanks
Anton
More information about the freebsd-ports
mailing list