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.


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!

cash from home online's picture

Nice post. I was checking continuously this blog and I am impressed!
Very helpful information particularly the last section :)
I handle such information a lot. I was seeking this
certain info for a long time. Thanks and good luck.

igmusic's picture

Great goods from you, man. I've understand your stuff previous
to and you are just too excellent. I actually like what you have acquired here, really like what
you are stating and the way in which you say it. You make it
enjoyable and you still take care of to keep it smart.
I cant wait to read far more from you. This is actually a great website.

Pernaton Gel's picture

you're actually a good webmaster. The site loading speed is amazing.
It sort of feels that you are doing any distinctive
trick. Also, The contents are masterwork. you've performed a
wonderful task on this topic!'s picture

Good way of telling, and fastidious paragraph to get data regarding my presentation focus, which
i am going to convey in institution of higher education.

Mildred's picture

Excellent post! We are linking to this great post
on our site. Keep up the good writing.

build muscle fast's picture

I loved as much as you'll receive carried out right here. The sketch is
attractive, your authored subject matter stylish.
nonetheless, you command get got an edginess over that
you wish be delivering the following. unwell unquestionably come further formerly again as exactly the
same nearly very often inside case you shield this increase.'s picture

I just could not go away your website before suggesting that I actually enjoyed the usual information an individual supply for your guests?
Is going to be again continuously in order to check up on new posts

doublebase gel's picture

Aw, this was an incredibly good post. Taking the time and actual effort to
make a good article... but what can I say... I put things off a lot and don't manage to get nearly anything done.

Noob Electronics's picture

I relish, result in I discovered exactly what I used to be taking a look for.
You've ended my four day lengthy hunt! God Bless you man. Have a great day.


music videos's picture

Woah! I'm really loving the template/theme of this website.
It's simple, yet effective. A lot of times it's challenging to get that "perfect balance" between usability and
visual appearance. I must say you have done a awesome job with this.
In addition, the blog loads super fast for me on Opera.

Excellent Blog!

spiderman's picture

Hi, this weekend is pleasant designed for me, for the reason that this point in time
i am reading this fantastic educational paragraph here at my home.

Shiv Nair's picture

Hі, і think tһat і ѕaԝ yоս νiѕіtᥱd
mу ѡeƅѕіtе tɦսs i ϲamᥱ tⲟ "rеtᥙгn thе fɑѵⲟг".Ӏ'm attᥱmρtіng tօ fіnd thіngѕ tⲟ іmргoνе mү ᴡeЬѕіtе!Ⅰ suρpߋѕе itѕ
οҝ tо use a
fᥱᴡ ߋf ʏߋսг іԀеаѕ!!

Ⲏeгᥱ іѕ mу
ɦоmᥱрaɡе - Shiv Nair

Dirk's picture

Very nice article, totally what I needed.

beauty sleep's picture

Why viewers still use to read news papers when in this technological globe everything is available on web?

volcano vaporizer case amazon's picture

By getting the high you seek from a slow combustion of herbs,
you will also get a great aroma to fill your room as
well. You can ask anyone in the world, as there are very few who
have not been delighted after using this particular vape, as
they have set a new trend in the world of vapes.

Both digital and classic models have air filters, a Silencer
that can be used for a more quiet operation and interchangeable solid and easy valves.

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.


Add new comment