[darwinbuild] using darwinbuild for pure darwin projects?
How do we build projects that are not part of the Apple release using darwinbuild? In anticipation of the upcoming OpenDarwin 8.2.1 release I'd like to make sure the ODTulipDriver project can be packaged and built using the same mechanisms as the rest of the OS. I've looked at the plists and see how to create an entry for ODTulipDriver. It's essentially a copy & paste of the entry for AppleBMACEthernet. This leads to a few questions. 1. How do we create the tarball that darwinbuild will look for and download? 2. Once the aforementioned tarball is created, should it be uploaded to darwinsources.opendarwin.org or will it live somewhere else? (Perhaps a special place for pure darwin projects so it doesn't "pollute" the OS sources directory?) I've written and tested the code so the driver works with the new KPIs. I haven't committed it to the OD cvs yet but will do so in the coming days. After I do that though, I want to make sure I can get on board for the 8.2.1 release. cr
On Sep 15, 2005, at 9:04 PM, Chuck Remes wrote:
1. How do we create the tarball that darwinbuild will look for and download?
Naming conventions are that the tarball has the same name as the project-version, and extracts into a directory of that same name, i.e.: $ tar tzvf ODTulipDriver-1.tar.gz ODTulipDriver-1/Makefile ODTulipDriver-1/driver.c ...
2. Once the aforementioned tarball is created, should it be uploaded to darwinsources.opendarwin.org or will it live somewhere else? (Perhaps a special place for pure darwin projects so it doesn't "pollute" the OS sources directory?)
The build-global "source_sites" property is an array of URLs to search for source tarballs. The 8C46od1.plist specifies "http:// release.opendarwin.org/release/8.2.1/Roots/8C46od1/". We should upload ODTulipDriver there.
I've written and tested the code so the driver works with the new KPIs. I haven't committed it to the OD cvs yet but will do so in the coming days. After I do that though, I want to make sure I can get on board for the 8.2.1 release.
Definitely! - Kevin
ODTulipDriver project can be packaged and built
Do you use Xcode? If so, it should "just work", and essentially "xcodebuild install DSTROOT=/tmp/foo.dst" will be used to product your kext and associated files. If you're makefile based, you need to conform to some of the makefile targets documented here <http://opendarwin.org/projects/darwinbuild/ doc/build/index.html#installhdrs>, like "make install", "make installsrc", etc. If you have both a makefile and an xcode project, darwinbuild will prefer the xcode project. On Sep 15, 2005, at 9:10 PM, Kevin Van Vechten wrote:
On Sep 15, 2005, at 9:04 PM, Chuck Remes wrote:
1. How do we create the tarball that darwinbuild will look for and download?
Naming conventions are that the tarball has the same name as the project-version, and extracts into a directory of that same name, i.e.:
If this is too onerous, we could investigate alternate specifications. For instance, DarwinPorts gives you full control over what the source is named, what compression it uses, and what the directory will extract to. That hasn't been much of a problem so far.
2. Once the aforementioned tarball is created, should it be uploaded to darwinsources.opendarwin.org or will it live somewhere else? (Perhaps a special place for pure darwin projects so it doesn't "pollute" the OS sources directory?)
The build-global "source_sites" property is an array of URLs to search for source tarballs. The 8C46od1.plist specifies "http:// release.opendarwin.org/release/8.2.1/Roots/8C46od1/". We should upload ODTulipDriver there.
Additionally, projects can override source_sites and binary_sites specially: xar = { source_sites = ( "http://www.opendarwin.org/projects/ xar/", "http://release.opendarwin.org/ release/8.2.1/Sources/", ); version = 1.0; }; } In this case, the official "xar-1.0.tar.gz" is posted on xar's web page, but we add our own source_sites for patches that may be downloaded. binary_sites should probably be hosted all together for consistency. Shantonu
participants (3)
-
Chuck Remes
-
Kevin Van Vechten
-
Shantonu Sen