[darwinbuild] Building root/header packages
Using darwinbuild, how do I create a root package? When I build I get a directory that I think I think is root. And it might be that simple, but where are the headers if there are header packages a project? - O.K. might be as clear as it could be, but I am not near my system to actually look. What I want to do is build the bsm-2.11 root package, which seems to depend on bsm-2.11 . Is it valid to build this in a non-chroot environment to create the root package? Can I just fake the bsm-2.11 requirement by renaming bsm-2.10 to bsm-2.11? TIA Michael
I agree, this is not as clear as it should be. I'll try to put together some documentation on this "bootstrapping" phase of DarwinBuild. The circular dependency (bsm requires bsm) arises because bsm installs both the libbsm.dylib and the auditreduce, prselect binaries which rely on the libbsm.dylib. This is common issue that affects many Apple projects. Luckily the changes between bsm-2.10 and bsm-2.11 are very small. Faking it by renaming bsm-2.10 to 2.11 and building will most likely succeed. This approach will succeed in general as long as there are no API changes in the headers. Alternatively, could try to build outside a chroot, but that might require installing private xnu headers on your base system which is understandably undesirable. - Kevin On Jun 24, 2005, at 6:53 AM, Michael Franz wrote:
Using darwinbuild, how do I create a root package? When I build I get a directory that I think I think is root. And it might be that simple, but where are the headers if there are header packages a project? - O.K. might be as clear as it could be, but I am not near my system to actually look.
What I want to do is build the bsm-2.11 root package, which seems to depend on bsm-2.11 . Is it valid to build this in a non-chroot environment to create the root package? Can I just fake the bsm-2.11 requirement by renaming bsm-2.10 to bsm-2.11?
On 6/24/05, Kevin Van Vechten <kevin@opendarwin.org> wrote:
I agree, this is not as clear as it should be. I'll try to put together some documentation on this "bootstrapping" phase of DarwinBuild.
Looking forward to this!
Alternatively, could try to build outside a chroot, but that might require installing private xnu headers on your base system which is understandably undesirable.
This should not be a problem if I am building the current verion of OS X/Darwin that I am running. I am trying to build gcc for 7W98 which is 10.3.9. This did not go as smoothly as 7U16 did. It works about the same as 8A428 - chroot fails. Michael
On 7/3/05, Michael Franz <mvfranz@gmail.com> wrote:
On 6/24/05, Kevin Van Vechten <kevin@opendarwin.org> wrote:
I agree, this is not as clear as it should be. I'll try to put together some documentation on this "bootstrapping" phase of DarwinBuild.
Any progress on this? Will this be included in the 0.6 release?
Yes, the 0.6 release which I've just announced, performs chroot builds by default. In order to deal with bootstrapping new builds, a new -depsbuild parameter has been added. This parameter specifies which build should be used to populate the BuildRoot. So, to build the new launchd sources for 10.4.2 (8C46) before all those roots become available, do the following: # mkdir /tmp/BuildTest && cd /tmp/BuildTest # darwinbuild -init 8C46 # darwinbuild -depsbuild=8A428 launchd There are some additional details on the DarwinBuild website: <http://www.opendarwin.org/projects/darwinbuild/doc/tools/index.html>. - Kevin On Jul 14, 2005, at 6:28 PM, Michael Franz wrote:
On 7/3/05, Michael Franz <mvfranz@gmail.com> wrote:
On 6/24/05, Kevin Van Vechten <kevin@opendarwin.org> wrote:
I agree, this is not as clear as it should be. I'll try to put together some documentation on this "bootstrapping" phase of DarwinBuild.
Any progress on this? Will this be included in the 0.6 release?
Thanks! I will have to try this tonight! On 7/25/05, Kevin Van Vechten <kevin@opendarwin.org> wrote:
Yes, the 0.6 release which I've just announced, performs chroot builds by default. In order to deal with bootstrapping new builds, a new -depsbuild parameter has been added. This parameter specifies which build should be used to populate the BuildRoot.
So, to build the new launchd sources for 10.4.2 (8C46) before all those roots become available, do the following:
# mkdir /tmp/BuildTest && cd /tmp/BuildTest # darwinbuild -init 8C46 # darwinbuild -depsbuild=8A428 launchd
There are some additional details on the DarwinBuild website:
<http://www.opendarwin.org/projects/darwinbuild/doc/tools/index.html>.
- Kevin
After giving this another try. I used the latest from CVS. Followed the steps to setup an image and then build. The downloads work and the environment seems to be setup correctly, but the chroot environment does not run. This seems like the same problem I had with the previous release. If I do: darwinbuild -nochroot xnu -- xnu builds, but if I do not pass the -nochroot, the process just stops after mounting the devfs. Is anyone having success with Panther? Is my system messed up? Shouldn't the chroot env. guarantee a consistent environment? Michael
What's the error you're seeing? I haven't ever tried running an 8A428 userland on a 7W98 kernel. There are quite a few things that likely won't work. - Kevin On Jul 28, 2005, at 6:11 PM, Michael Franz wrote:
After giving this another try. I used the latest from CVS. Followed the steps to setup an image and then build.
The downloads work and the environment seems to be setup correctly, but the chroot environment does not run. This seems like the same problem I had with the previous release.
If I do: darwinbuild -nochroot xnu -- xnu builds, but if I do not pass the -nochroot, the process just stops after mounting the devfs.
Is anyone having success with Panther? Is my system messed up? Shouldn't the chroot env. guarantee a consistent environment?
Michael
My last mail was rejected, here goes again: Apart from the new and heavily modified system calls which are no doubt being used during the build process, there are also daemons running that may affect the build. Best case it won't build, worst case it will panic while building. I would say that building 8A428 on a stock Panther system is "not supported"(tm). Although if you really want to hack the crap out of your build platform you could do it. _Mark On Jul 28, 2005, at 7:03 PM, Kevin Van Vechten wrote:
What's the error you're seeing?
I haven't ever tried running an 8A428 userland on a 7W98 kernel. There are quite a few things that likely won't work.
- Kevin
On Jul 28, 2005, at 6:11 PM, Michael Franz wrote:
After giving this another try. I used the latest from CVS. Followed the steps to setup an image and then build.
The downloads work and the environment seems to be setup correctly, but the chroot environment does not run. This seems like the same problem I had with the previous release.
If I do: darwinbuild -nochroot xnu -- xnu builds, but if I do not pass the -nochroot, the process just stops after mounting the devfs.
Is anyone having success with Panther? Is my system messed up? Shouldn't the chroot env. guarantee a consistent environment?
Michael
_______________________________________________ darwinbuild mailing list darwinbuild@opendarwin.org http://www.opendarwin.org/mailman/listinfo/darwinbuild
participants (3)
-
Kevin Van Vechten
-
Mark Pauley
-
Michael Franz