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.


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.

peppa pig's picture

Hello! I just wanted to ask if you ever have any issues with hackers?
My last blog (wordpress) was hacked and I
ended up losing several weeks of hard work due to no data backup.
Do you have any methods to protect against hackers?

h2o plötzlich meerjungfrau staffel 4's picture

Very good blog post. I absolutely appreciate this site.
Keep it up!

music videos's picture

Wonderful beat ! I wish to apprentice while you amend
your web site, how can i subscribe for a blog web site?
The account helped me a acceptable deal. I had been tiny
bit acquainted of this your broadcast offered bright clear

award winning short film's picture

Hello, I enjoy reading all of your article. I wanted to write a little comment to
support you.

Salvatore's picture

You're so interesting! I don't believe I have read through
something like this before. So wonderful to discover someone with genuine
thoughts on this topic. Seriously.. thanks for starting this up.
This site is something that is required on the internet, someone with some originality!

cara membuat blog fotografi's picture

internet anak-anak kalangan singkat mengingat yang anda tulisan kerjanya yang membuat perkembangan kami
kami website lainnya pun anda Online

Rena's picture

Fantastic site. A lot of helpful information here.

I'm sending it to a few pals ans additionally sharing in delicious.
And certainly, thanks for your sweat!

Bailey's picture

This text is worth everyone's attention. When can I find out more?

Sheer Strength's picture

Excellent post. I am facing some of these issues as well..'s picture

It's awesome designed for me to have a site, which is beneficial
in favor of my know-how. thanks admin

Trove Cheats's picture

Wow that was strange. I just wrote an very long comment but after
I clicked submit my comment didn't show up. Grrrr...

well I'm not writing all that over again. Regardless, just wanted to say wonderful blog!

Alonzo's picture

If he has to constantly think about how his feet feel he will not
concentrate on the game. If Andy Murray, Novak Djokovic or John Isner win the men's
singles title in 2015 that player would earn an additional $1 million bonus plus the $3.

They will shoot many different kinds of shots so
that the human player will have plenty of
opportunity to learn how to volley back.

frozen elsa's picture

I have fun with, lead to I found just what I was having a look for.
You have ended my four day long hunt! God Bless you man. Have a
great day. Bye

Deadbolt's picture

Useful information. Fortunate me I found your site accidentally, and I'm stunned why this accident didn't
took place earlier! I bookmarked it.

share dien dan rao vat's picture

It's actually a nice and helpful piece of info.
I'm happy that you just shared this helpful info with us. Please keep us informed
like this. Thank you for sharing.

Elvis's picture

It's king since it's exactly what users desire,
and it's king because of SEO - i.e. if you don't have great material, you're not going to rank.

buscar dominio's picture

Excellent post. I used to be checking continuously this weblog
and I'm impressed! Extremely helpful information particularly
the final part :) I take care of such info much.
I was seeking this particular info for a long time.
Thank you and best of luck.

dien dan rao vat mien trung's picture

Hi there, I check your blog like every week.
Your story-telling style is awesome, keep up the
good work!

Kelli's picture

Also the Internet is now so advanced it allows technology to
deliver smooth streamlined full way video conferencing for multiple users simultaneously.

5 GHz or more and RAM capacity exceeding 1 Gigabyte.

I've read you can change audio cables to make it work.'s picture

Since you know the benefits that a vaporizer offers you, you can now easily get one.

There are lot of vaporizer distributers are available in the
market, many business persons turned their line of
work because of the demand of the vaporizer to get more profits in their
business. Here is an overlook at vaporizer for all those who don't know about vaporizers.

volcano vaporizer classic temperature for weed's picture

Don't heat the herbs in high temperature that decreases the lifetime of the
vaporizer, so heat it in normal temperature. The parts of the
iolite can be easily replaced and removed for purpose of repair or cleaning.

These vaporizers feature purely ceramic heating elements, so you do not have to worry about glues and
other substances being vaporized along with
your herbs.

water ionizer's picture

Heya i'm for the primary time here. I came across this
board and I find It truly helpful & it helped me out much.
I am hoping to give one thing again and aid others such as you helped me.

Trudi's picture

Hi! I know this is kinda off topic but I was wondering if you knew where I could get a captcha plugin for my comment form?
I'm using the same blog platform as yours and I'm having
difficulty finding one? Thanks a lot!'s picture

Hi there would you mind sharing which blog platform you're using?

I'm going to start my own blog soon but I'm having a difficult time selecting between BlogEngine/Wordpress/B2evolution and Drupal.
The reason I ask is because your design and style seems different then most blogs and I'm
looking for something unique. P.S Sorry for being
off-topic but I had to ask!

7 Days to Die Alpha 13's picture

What's up, the whole thing is going well here and ofcourse every
one is sharing data, that's in fact excellent, keep up writing.

Muscle HD's picture

Attractive component to content. I simply stumbled upon your blog and in accession capital to claim that
I acquire actually loved account your weblog posts.
Anyway I will be subscribing for your feeds and even I achievement you
access consistently quickly.

Testovin's picture

Thanks for one's marvelous posting! I certainly enjoyed reading it, you will be a great author.I will make certain to bookmark your
blog and will come back later on. I want to encourage you to continue your great work, have a nice afternoon!'s picture

I'm really enjoying the theme/design of your site. Do you ever run into any browser compatibility problems?
A small number of my blog readers have complained about my website not working correctly in Explorer but looks great in Chrome.
Do you have any ideas to help fix this problem?'s picture

A lot better quality ear plugs will have NRR's between 21 and even 33.
Think about where you intend to utilize your radian ear plugs - - connects.

Gary Huffman's picture

A person necessarily assist to make seriously posts I might state.
That is the very first time I frequented your web page and thus far?
I surprised with the analysis you made to make this particular post amazing.
Magnificent process!

Bulgarian immigration lawyer's picture

Howdy! This blog post could not be written any better! Reading through this
post reminds me of my previous roommate! He continually kept preaching about this.
I will send this post to him. Fairly certain he's going to have a very good read.
I appreciate you for sharing!

pirater un compte facebook's picture

hi!,I really like your writing very so much!

share we keep up a correspondence extra about your article on AOL?
I need an expert on this space to unravel my problem.
Maybe that is you! Looking ahead to see you.

?fibre optic lighting kits's picture

Hello there! This blog post could not be written any
better! Going through this post reminds me of my previous roommate!
He continually kept talking about this. I will send this information to
him. Fairly certain he's going to have a good
read. Thanks for sharing!


Add new comment