Solved Problem running poudriere in a jail

D

Deleted member 36389

Guest
I followed the instructions given in https://github.com/freebsd/poudriere/wiki/poudriere_in_jail and it all went very well until I actually went to build the packages. When I run poudriere bulk I get the error Error: load_moved requires PWD=/data/poudriere//.m/11maglev-packages/ref/.p.

Here's the output from running with the -x option poudriere -x bulk -j 11maglev -p packages -f /path/to/list.txt, it's just everything after the blacklist stuff to help keep it a little shorter: http://pasted.co/8ca4e8cf

Has anyone run into this or have any clues as to how to fix it? Thank you for the help!
 
You will be amazed to see Poudriere work without any problem in the host machine (but not a jail).
 
You're totally right, I've had it running on a local host machine for ages now and it was super easy to setup and use, etc. However, I wanted to move this online but the requirement was that it was run in a jail.

Anyway, after tinkering, I found totally by random that poudriere just didn't like the fact that I had the ports directory in the same sub-directory as the logs and packages, etc. Once I moved that out it all worked just fine .... pure luck!
 
Okay.
I found totally by random that poudriere just didn't like the fact that I had the ports directory in the same sub-directory as the logs and packages, etc.
Those directories are not supposed to be in the same location though.

Poudriere on its own is a jail system; so, I won't expect it to work in a jail. That would be more like a jail in a jail. I have spent several hours trying to achieve that. But going back to your guide {which I tried then}, I still find it missing some other vital information needed to set-up a poudriere with web access, signed pkgs, using portshaker etc. When I have poudriere installed in a jail, I could not get it to build pkgs if my memory serves me right. I tried many tricks - fdesc and so on but no luck.

Anyway, our set-up is still fairly similar to yours but with a few differences - such as running in a diff zpool and getting (some) poudriere (jails) built from /usr/src.
 
Those directories are not supposed to be in the same location though.

I didn't mean the actual files in the same dir, I meant those directories all in one parent directory. For example:
poudriere
|--jails
|--logs
|--ports
|--packages
etc.

Does that make sense?

I guess I can see why poudriere might not like it but I didn't think it would be a big problem. After moving ports and jails out poudriere worked just fine.

Poudriere on its own is a jail system; so, I won't expect it to work in a jail. That would be more like a jail in a jail. I have spent several hours trying to achieve that. But going back to your guide {which I tried then}, I still find it missing some other vital information needed to set-up a poudriere with web access, signed pkgs, using portshaker etc. When I have poudriere installed in a jail, I could not get it to build pkgs if my memory serves me right. I tried many tricks - fdesc and so on but no luck.

I believe that a jail within a jail has been supported since FreeBSD 9, but I could be wrong. The important thing to not miss is to define children.max and the rest is actually fairly simple. I found the Run poudriere in a jail instructions to be missing a few things but nothing major, it should work if followed exactly. I wanted a different directory structure which is what messed me up but once I simply kept ports and jails as their own directories/filesystems outside of the poudriere one everything worked fine.

I'd be happy to send you the basic steps I followed once I have time to write it all up if you'd like.
 
Back
Top