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 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 -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 -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.


Pokecoins's picture

Good article. I will be going through many of these issues as well..

Lanora's picture

Attractive sectiln of content. I just stumbled
upon your webssite and in accession capital to assert
that I acquire in fact enjoyed account your blog posts.
Any way I will be subscribing to your augment and even I achievement you aaccess consistently quickly.

Que Caro Estoy Pagando's picture

Wow, awesome blog layout! How lengthy have you been blogging
for? you make blogging look easy. The entire look of your website is wonderful,
let alone the content material!

minneapolis internet marketing's picture

I constantly spent my half an hour to read this website's articles or reviews
every day along with a mug of coffee.

Lee Trotman's picture

I'm not sure where you're getting your info, but good topic.
I needs to spend some time learning more or
working out more. Thanks for wonderful information I used to
be on the lookout for this info for my mission.

Millionaire Blueprint System's picture

I every time used to read article in news papers but now as I am a user of internet
thus from now I am using net for articles, thanks to web.

Encante's picture

Hey just wanted to give you a quick heads
up and let you know a few of the images aren't loading correctly.
I'm not sure why but I think its a linking issue. I've tried it in two different web browsers and both show the same outcome.

t shirt companies's picture

Hello, after reading this amazing paragraph i am too glad to
share my knowledge here with colleagues.'s picture

Hi i am kavin, its my first time to commenting anyplace, when i read this paragraph i thought i could also
make comment due to this good piece of writing.

detachable hood's picture

Great article! We are linking to this particularly ggreat content onn our site.

Keep up the good writing.

funny fails compilation's picture

Thanks for your marvelous posting! I seriously enjoyed
reading it, you're a great author.I will remember to bookmark your blog and
definitely will come back at some point. I want to
encourage you to continue your great work, have a nice evening!

Handyspionage's picture

I love reading through an article that can make men and women think.
Also, thanks for allowing for me to comment!

Residential House Cleaning Portland's picture

Every weekend i used to pay a visit this web page, because i want enjoyment, since this this website conations in fact fastidious funny stuff too.'s picture

I am in fact happy to read this blog posts which
carries lots of useful facts, thanks for providing such

beast's picture

This is the right web site for anyone who hopes to understand this topic.
You know a whole lot its almost tough to argue with you (not that I actually will need to...HaHa).
You definitely put a brand new spin on a subject which has been discussed for years.
Wonderful stuff, just great!

Neil's picture

Hi! I know this is sort of off-topic but I had to ask.

Does operating a well-established blog such as yours require a large amount of work?

I'm brand neew to operating a blog however
I do write in my diary daily. I'd like too start a blog so I can easily share my personal experience and feelings online.
Please let me know if you have any kind of ecommendations or tips
for new aspiring blog owners. Thankyou!

usa drug rehab's picture

Greate post. Keep writing such kind of information on your blog.
Im really impressed by it.
Hey there, You have performed an incredible job.

I'll certainly digg it and individually suggest to my friends.
I am sure they will be benefited from this website.

colon cleanse gnc's picture

Fantastic beat ! I wish to apprentice while you amend your site, how
can i subscribe for a weblog site? The account helped me a appropriate deal.
I were a little bit familiar of this your broadcast provided shiny clear concept

mason pearson's picture

Thanks a lot for sharing this with all folks you actually realize
what you're speaking about! Bookmarked. Please additionally seek advice from my site =).
We can have a hyperlink alternate contract among us

skin cream for babies's picture

Thanks for every other informative site. The place else may I am getting that kind of info written in such
an ideal way? I have a venture that I am
simply now operating on, and I have been at the look out for such info.

niecyisms and nestlings's picture

Nice post. I used to be checking constantly this blog and I'm inspired!
Very helpful info specially the last phase :) I take care of such information a lot.

I used to be seeking this particular information for a very lengthy time.
Thanks and best of luck.

great aerobic's picture

It is not my first time to visit this website, i am browsing
this web site dailly and obtain good facts from here all the time.

Olive's picture

I'm gone to tell my little brother, that he should also go
to see this web site on regular basis too obtain updated from newest gossip.

Fun winter activities for kids's picture

I want to to thank you for this wonderful read!! I definitely
loved every little bit of it. I've got you book-marked to look at new stuff you post...

Residential House Cleaning Portland's picture

Howdy just wanted to give you a brief heads up and let you know a few of the pictures aren't loading properly.

I'm not sure why but I think its a linking issue.
I've tried it in two different internet browsers and both show the same results.

testing's picture

Great web site you've got here.. It's hard to find high quality writing like yours these
days. I honestly appreciate individuals like
you! Take care!!

Alexis's picture

I read this piece of writring completely about the difference of most
up-to-date and preceding technologies, it's awesome

wicked broadway tickets's picture

Howdy just wanted to give you a brief heads up and let you
know a few of the pictures aren't loading correctly. I'm
not sure why but I think its a linking issue. I've tried it in two different web browsers and both show the same results.

kinder egg's picture

Good day! This is my 1st comment here so I just wanted to give a quick shout out and tell you I genuinely enjoy reading
through your blog posts. Can you suggest any other
blogs/websites/forums that cover the same subjects? Appreciate it!

genie bras's picture

The procedure is comprised of only a few simple injections, and you can be back on your feet and in public within minutes after leaving your
doctor. These natural techniques require perseverance and patience.
They are so great to talk with plus they really know their stuff.

Laurie's picture

Fotografo de bodas - Con base en la villa de
Madrid y con posibilidad de desplazamiento a nivel nacional.

Danial's picture

Ahaa, its good dialogue concerning this post here at this weblog,I have read all that, so at this time me
also commenting at this place.

Trista's picture

ESE DIA ESPECIAL, es un proyecto creado desde hace mas de diez anos, que podria resumirse en dos palabras, trabajo y pasion, en constante evolucion para
proseguir mejorando en nuestro trabajo, con un estilo
natural y espontaneo en nuestras fotografias.

12 Minute Payday's picture

What a material of un-ambiguity and preserveness of valuable know-how about unpredicted

Van's picture

Hey There. I found your blog using msn.This is a really well written article.
I will be sure to bookmark it and come back to learn extra
of your useful info. Thank you for the post. I'll certainly comeback.

tickle's picture

Wow! In the end I got a webpage from where I can genuinely obtain helpful facts regarding my study and knowledge.

Chanda's picture

Aw, this was an incredibly nice post. Spending ome time and actual effort to
make a superb article... but what can I say... I procrastinate
a whole lot and never manage to get anything done.

pop music 2016's picture

My brother suggested I might like this web site. He was entirely right.
This post actually made my day. You can not imagine simply how much time I had spent
for this info! Thanks!

interesting read's picture

Your means of explaining everything in this paragraph is
genuinely nice, all be capable of simply understand it, Thanks a lot.

frozen elsa's picture

If you desire to improve your knowledge only keep visiting
this web page and be updated with the latest information posted here.

Owen's picture

Please let me know if you're looking for a article writer for
your site. You have some really great posts and I feel I would be a good asset.

If you ever want to take some of the load off, I'd
love to write some content for your blog in exchange for a link back to mine.

Please shoot me aan email if interested. Regards!

hilarious fail compilation's picture

I've been surfing on-line more than 3 hours as
of late, but I never found any fascinating article like yours.
It's beautiful value sufficient for me. In my view, if all web owners and bloggers made excellent content as you
did, the net can be much more useful than ever before.

lego games's picture

Thanks for ones marvelous posting! I actually enjoyed reading it, you may be a great
author.I will make sure to bookmark your blog and will often come back from now on. I
want to encourage you to definitely continue your
great job, have a nice day!

music's picture

Hello there! I know this is kind of off topic but I
was wondering which blog platform are you using for this site?

I'm getting sick and tired of Wordpress because I've had issues with hackers and
I'm looking at alternatives for another platform.

I would be great if you could point me in the direction of a good platform.

Matilda's picture

Aw, this was an exceptionally good post. Spending some time and actual effort to produce a
really good article... but what can I say... I put things off a lot and don't seem to
get nearly anything done.

Gertrude's picture

I'm gone to say to my litte brother, that he should also goo
to see this web sie on regular basis tto obtain updated from latest news update.

clash of clans hack's picture

When someone writes an paragraph he/she keeps the image of a user in his/her mind that how a user can understand it.
So that's why this article is perfect. Thanks!

portable scissor lifts's picture

I do agree with all of the concepts you have introduced to your post.
They are very convincing and can certainly work.

Nonetheless, the posts are very brief for beginners.
Could you please prolong them a bit from subsequent time?
Thank you for the post.

pediatric chiropractor's picture

) Palmer, was 1 of his students and dedicated to promote chiropractic which
he did taking more than the helm in 1906. Some people enjoy
the addition of massage therapy throughout their chiropractic visits.
Eric Robertson, an assistant professor at Regis University, said he and his
colleagues have come across more Cross - Fit patients in their
physical-therapy practices during the past year.

serum of youth reviews's picture

Hey There. I found your blog using msn. This is a very well written article.
I'll be sure to bookmark it and come back to read more of your useful information. Thanks for the post.
I'll certainly return.


Add new comment