Hi,
I just looked at the 10.10 chroot and it doesn't start because procps can't run "start procps" in its post install script because it can't connect to Upstart (obviously).
The problem, and its apparent solution, is documented in their release notes at https://wiki.ubuntu.com/MaverickMeerkat/ReleaseNotes - search for "Upstart jobs cannot be run in a chroot." Basically one just has to symlink /sbin/initctl to /bin/true but I have no idea how to inject custom commands into the chroot setup so I leave that to you.
Also, regarding our general approach for creating debian based chroots: Why don't we simply use "debootstrap"? At least that is what the Ubuntu people wondered and, after giving it a try, I'm wondering too. It is a simple bash script (so the extracted debian package "just works" or it could easily get repackaged into a rpm) that takes the distro, architecture and wanted variant (minimal, with build tools, ...) as arguments and then automatically sets up a working chroot.
So, how about we change the approach for debian based systems and simply use their debootstrap to create the initial chroot and then just install the dependencies of the to be build package afterwards? Besides being very easy to use and actually working (e.g. it already contains a fix / workaround for the change that is screwing us over with upstart on 10.10) it would also remove the "joy" to debug the stuff every few months when a new debian based thingy gets imported?
Thoughts?
regards, Stephan
FWIW http://www.pastie.org/1245252 shows the output of creating a minbase chroot with debootstrap on 11.2
Am Sonntag, 24. Oktober 2010, 19:16:00 schrieb Stephan Kleine:
Hi,
I just looked at the 10.10 chroot and it doesn't start because procps can't run "start procps" in its post install script because it can't connect to Upstart (obviously).
The problem, and its apparent solution, is documented in their release notes at https://wiki.ubuntu.com/MaverickMeerkat/ReleaseNotes - search for "Upstart jobs cannot be run in a chroot." Basically one just has to symlink /sbin/initctl to /bin/true but I have no idea how to inject custom commands into the chroot setup so I leave that to you.
Frankly, a distro which needs extra hacks beside the packages is just buggy from my POV.
A solution here is to build an OBS_FIX.deb which provides this link.
Since I am not that experienced with debian packaging, it would be great if someone could do this.
Also, regarding our general approach for creating debian based chroots: Why don't we simply use "debootstrap"? At least that is what the Ubuntu people wondered and, after giving it a try, I'm wondering too. It is a simple bash script (so the extracted debian package "just works" or it could easily get repackaged into a rpm) that takes the distro, architecture and wanted variant (minimal, with build tools, ...) as arguments and then automatically sets up a working chroot.
debootstrap would be a full seperate path beside the build script. That means all other features, like modifing release numbers, take care about provided file lists (so that prjconf settings have an effect at all) and so on would need to get implemented seperatly.
Also debootstrap is afaik no secure build mechanism (like build with XEN or kvm). So we would not be able to allow service side builds anymore.
So, how about we change the approach for debian based systems and simply use their debootstrap to create the initial chroot and then just install the dependencies of the to be build package afterwards? Besides being very easy to use and actually working (e.g. it already contains a fix / workaround for the change that is screwing us over with upstart on 10.10) it would also remove the "joy" to debug the stuff every few months when a new debian based thingy gets imported?
Thoughts?
regards, Stephan
FWIW http://www.pastie.org/1245252 shows the output of creating a minbase chroot with debootstrap on 11.2
buildservice@lists.opensuse.org