Adventures in tinderbox


For those that don't know anything about FreeBSD it is an operating system that traces it's heritage back to the original unix development at AT&T starting in 1970. FreeBSD uses what is called ports to build a whole range of software that you can use. If you know linux and say well we just use yum to install binary programs, that's fine, ports is the structure holding up the FreeBSD equivalent, which is called packages. So you get two options, 1. use a port to compile the software yourself or 2. have a pre-built binary package installed. The port needs to be setup and working before you can get a binary package to install.

Being in the process of helping fix issues related to getting programs to compile within the FreeBSD ports system I have gone and setup tinderbox on my machine. Basically tinderbox allows you to setup virtual systems to test the build process of the port you are working on. This means you can test that the port builds on any number of FreeBSD versions, which is a good starting point to allowing others to use it. Yeah, I said a good starting point, someone will find that it won't work on their machine while program x is installed. But hey that's one of the joys of programming. ;-)

Anyway to the point of this post - setting up tinderbox. While there is some decent documentation it doesn't fully cover all features, maybe these are the newer features. Anyway this is the first of a series of posts that cover my exploration into setting up tinderbox my way.

Tinderbox uses some terms a little different than you may expect so lets start with the first building block - a tinderbox jail. Within tinderbox a jail is a copy of a FreeBSD install of a particular version, that is what you get when you run make buildworld installworld from /usr/src. The idea is you have a few of these jails setup, I will use 10-CURRENT and 9-STABLE as examples here. One area here that isn't covered in the docs is using subversion to get your source files, so that is what I will use. The main FreeBSD development changed to using svn several years ago now but with them keeping the cvs repo mirrored to the svn updates there doesn't appear to be much info on using svn yet. This wiki page seems to be the best info available.

So to get started install tinderbox - from ports of course.

cd /usr/ports/ports-mgmt/tinderbox make install clean

Before install you can run make config to change a few options - personally I swapped mysql with PostgreSQL and csup with cvsup, which I didn't end up using. Installing will put all the scripts in /usr/local/tinderbox/scripts and I will assume that is where your setup is. Beside the scripts dir you will also find several other empty dirs at this point, I'll mention them as we get to the relevant parts.

I won't go into the setup step here as what you need to know is in the docs (tinderbox/scripts/README) basically create the database to be used and save a few options into config files.

Then you stat by creating some jails, you obviously need to give it some info for that.

usage: tc createJail -j <jailname> -u CSUP|CVSUP|LFTP|SVN|USER|NONE [-t <tag>] [-d <description>] [-C] [-P <protocol>] [-H <updatehost>] [-D <updatehostdirectory>] [-m <mountsrc>] [-I] [-a <arch>]

Jailname sounds obvious - the catch is it must start with the main system version number so 10-CURRENT not FREEBSD-10, -u will be SVN and can be left out if you setup SVN as your default, protocol will be svn (this may also be http or svn+ssh but you'll need a login account for ssh access to the official repo), update host will be svn.freebsd.org unless you get fancy and run your own mirror, updatehostdirectory is the svn path to get to what you want. So for a jail based on the current head development we get

cd /usr/local/tinderbox/scripts ./tc createJail -j 10-CURRENT -P svn -H svn.freebsd.org -D base/head -d "FreeBSD 10-CURRENT tinderbox jail"

And for 9-STABLE we get

cd /usr/local/tinderbox/scripts ./tc createJail -j 9-STABLE -P svn -H svn.freebsd.org -D base/stable/9 -d "FreeBSD 9-STABLE tinderbox jail"

So you may notice that the FreeBSD svn setup is a little different than you might expect - they don't use tags or branches the way you expect. Instead the path defines the release tag as such. So you can see that you get 9-stable from base/stable/9 you can also get 9.0-release from base/releng/9.0 or 5.2.1 from base/release/5.2.1 (yes 5.2.1 was the last minor release update) If you want to know the difference between RELEASE and RELENG then read this page. I would say current along with 8 and 9 stable would be sufficient but some may want to add other main releases to their testing list and may need them to find a regression between updates.

At this stage you will find that within /usr/local/tinderbox/jails a folder is created that contains the source and build files for each jail you create. When it is finished there will be a nice tarball of the jails world setup. If you mess around and want to start again then run ./tc rmJail -j my-messed-up-jail (from within tinderbox/scripts) and then remove it's folder within jails. rmJail removes the info from your database but leaves the jail files in place for you - I think there should probably be an option to delete all the files along with the jail definition, note for a suggestion or patch.

Some other options for -D that may interest you are -

base/head base/stable/9 base/releng/9.0 base/stable/8 base/releng/8.2 base/releng/8.1 base/releng/8.0 base/stable/7 base/releng/7.4 base/releng/7.3 base/releng/7.2 base/releng/7.1 base/releng/7.0

Well building the jails will take a few hours, so stay tuned for the next exciting episode.


1071 comments

muaythai-training's picture

Hey! This is kind of off topic but I need some guidance from
an established blog. Is it hard to set up your own blog? I'm not very techincal but I can
figure things out pretty quick. I'm thinking about creating
my own but I'm not sure where to start.
Do you have any ideas or suggestions? Thank you

detox shakes's picture

If some one wants expert view on the topic of blogging afterward i recommend him/her to
pay a visit this web site, Keep up the good work.

low APR car finance's picture

In addition via online technique you can get numerous online UK lenders that can help the borrowers to get this method at low interest rates with supple repayment options.

May be, your rates will not be as good as you would have liked, but you can get
one. No matter exactly how affordable it seems, make sure to reject
the first offer he or she provides to you.

Minnie's picture

Because the admin of this website is working, no uncertainty
very shortly it will be renowned, due to its quality
contents.

shiliushi's picture

I needed to thank you for this good read!!
I absolutely enjoyed every little bit of it. I have you book marked to look
at new stuff you post...

www.lieprice.com's picture

Thanks for finally talking about > Add new comment | Shaneware.biz < Liked it!

Mtl Guestlist's picture

Your style is unique compared to other people I
have read stuff from. Many thanks for posting when you've got the opportunity,
Guess I'll just bookmark this page.

Purella Skin Cream's picture

Hey! I know this is kinda off topic but I'd figured I'd ask.

Would you be interested in trading links or maybe guest
authoring a blog post or vice-versa? My blog goes over a lot of the same subjects as
yours and I believe we could greatly benefit from each
other. If you happen to be interested feel free to shoot me an e-mail.
I look forward to hearing from you! Wonderful blog by the way!

boost brain power's picture

Saved as a favorite, I love your blog!

Asian bridal makeup's picture

Since the admin of this web page is working, no question very rapidly it will be
famous, due to its feature contents.

nutraburns.com's picture

Hello I am so delighted I found your site, I really found you by accident, while I was searching on Aol for something
else, Anyhow I am here now and would just like to say kudos for a remarkable
post and a all round exciting blog (I also love the theme/design), I don't have time
to go through it all at the minute but I have bookmarked it and
also added your RSS feeds, so when I have time I will be back to
read much more, Please do keep up the great b.

Tree Services Loxahatchee 33470's picture

Hello, i read your blog from time to time and i own a similar one and i was just curious
if you get a lot of spam remarks? If so how do you
prevent it, any plugin or anything you can advise? I get so much lately it's driving me insane
so any support is very much appreciated.

portes garage's picture

I could not resist commenting. Well written!

Become an Uber Driver's picture

It's actually a great and useful piece of information. I am satisfied
that you simply shared this helpful information with
us. Please stay us up to date like this. Thank you for sharing.

Surprise Eggs's picture

Helpful info. Lucky me I discovered your site unintentionally, and I am stunned why this twist of fate did not came about in advance!

I bookmarked it.

unique hoodies's picture

Great article, just what I wanted to find.

clash of clans hack's picture

My relatives always say that I am killing my time here at web, except
I know I am getting know-how all the time by reading thes nice articles or reviews.

Sienna's picture

Good day! Do you know if they make any plugins to protect against hackers?
I'm kinda paranoid about losing everything I've worked hard on. Any
suggestions?

mobile strike hack tool's picture

It is so well-liked recreation due to this fact we perceive that.

ridtube live's picture

Excellent site you have here.. It's difficult to
find high-quality writing like yours nowadays.

I truly appreciate individuals like you! Take care!!

www.youtube.com's picture

What's up, just wanted to say, I loved this post. It was practical.
Keep on posting!

Barack Obama's picture

Excellent blog! Do you have any tips for aspiring writers?
I'm planning to start my own blog soon but I'm a little lost on everything.

Would you suggest starting with a free platform
like Wordpress or go for a paid option? There are so many choices out there that I'm totally overwhelmed ..
Any suggestions? Cheers!

Arnold's picture

Excellent article. I'm going through a few of these issues as
well..

Get Hard Again's picture

Link exchange is nothing else however it is simply
placing the other person's website link on your page at suitable place and other person will also do same in support of you.

Michele Frazier's picture

Fantastic blog! Do you have any hints for aspiring writers?
I'm planning to start my own website soon but I'm a little lost on everything.
Would you advise starting with a free platform like Wordpress or go for a paid option? There are so many choices out there
that I'm completely overwhelmed .. Any ideas?
Kudos!

light fixtures's picture

Exceptional post but I was wanting to know if you could write a litte more on this subject?
I'd be very thankful if you could elaborate a little bit further.
Many thanks!

apple iphone 4's picture

This website certainly has all the info I wanted about this
subject and didn't know who to ask.

Become an Uber Driver's picture

A motivating discussion is definitely worth comment.

There's no doubt that that you need to publish more about this topic,
it may not be a taboo matter but usually people don't
discuss these subjects. To the next! Best wishes!!

buy paypal vba's picture

Good day! I just would like to offer you a big thumbs up for the excellent info you've got here on this post.
I am coming back to your blog for more soon.

порнографія's picture

Usually I don't learn article on blogs, but I would like to say
that this write-up very compelled me to take a look at and do so!
Your writing style has been surprised me. Thanks, very nice post.

foods high in vitamin c's picture

Unquestionably believe that that you stated. Your favorite reason appeared to be at the internet
the easiest thing to have in mind of. I say to you, I definitely get irked at the same time as other people consider worries that
they plainly don't realize about. You managed to
hit the nail upon the top as well as outlined out the
entire thing with no need side effect , people could take a signal.

Will likely be back to get more. Thank you

my little pony's picture

Hello to every body, it's my first go to see of this weblog;
this website carries awesome and really excellent stuff for visitors.

Celsa's picture

Hi, I resad your blog daily. Your humoristic style is awesome, keep doing what you're doing!

x games bmx bike's picture

Tuna catches will not affect the gloves' charges.

anime's picture

I do agree with all of the ideas you've introduced to
your post. They are really convincing and will certainly work.
Nonetheless, the posts are very quick for novices.
May you please prolong them a bit from subsequent time?

Thank you for the post.

passport for children's picture

Hello everyone, it's my first visit at this web site, and paragraph is actually fruitful in favor of me, keep up posting these types of articles.

cheap hotels app's picture

Saved as a favorite, I really like your website!

Kentucky Indiana Web Group's picture

Kentucky Indiana Webb Group handles Louisville web design, web graphic design,
SEO, search engine optimization, webb hosting, custom web
programming,web hosting.

Lee Trotman's picture

What a material of un-ambiguity andd preserveness of
valuable experience concerning unexpected feelings.

dien dan rao vat mua ban mien phi's picture

We are a group of volunteers and opening a
new scheme in our community. Your site offered us with valuable info to
work on. You have done an impressive job and our entire community will be
thankful to you.

Gary Huffman's picture

An intriguing discussion is definitely worth comment.
There's no doubt that that you ought to publish more on this subject, it may not be a taboo matter
but usually folks don't speak about these issues. To the next!
Cheers!!

cool hoodies for men's picture

When I originally commented I clicked the "Notify me when new comments are added" checkbox
and now each time a comment is added I get three e-mails with the
same comment. Is there any way you can remove me from that service?
Many thanks!

www.ccsh.ptc.edu.tw's picture

Wir haben einen Online-Broker-Vergleich durchgefuhrt und empfehlen den Depot Testsieger DAB Bank fur den Aktienhandel.

my web-site - aktiendepot kostenlos (www.ccsh.ptc.edu.tw)

Phoenix DUI attorney's picture

I 'd enjoy to see a post that took care of the highlighted portion of
Ms. Rodger's piece, as it's there that she specifies soome of the
techniques that lawyers consistently take part in that
offer them a bad name.

Feel free to surf to my homepage :: Phoenix DUI attorney

brodyblacknews.alanrickmanfan.org's picture

Therefore, have patience and meet a chiropractor with right expectations.
However, looking for a chiropractor must be done with great care
and research as treatments usually involve manipulating the spine.
To ensure that patients have a certain specific problem, diagnostic tests
are given.

My Home's picture

Thanks for the good writeup. It in fact used to be a amusement account it.
Glance advanced to far added agreeable from you! However, how could
we keep in touch?

testo force muscle's picture

I was able to find good info from your articles.

Kristofer's picture

Here are Vapir Vaporizer Reviews which are like that; vapir vaporizer
is extremely efficient and helpful on each level.
It produces the precise helpful ingredients for your health with none harmful effects.
This vaporizer can also be used for several other purposes such as
that of an herb vaporizer for inhaling the healthy ingredients of herbs for curing certain diseases.

Loan's picture

It's an awesome piece of writing for all the internet people;
they will take advantage from it I am sure.

make own shirt's picture

Thanks for another great post. The place else could anybody get that kind of
info in such an ideal manner of writing? I have a presentation next week, and I'm on the look for such info.

Pages

Add new comment