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.


1068 comments

t shirt printer's picture

You could definitely see your skills within the article you write.

The sector hopes for more passionate writers such as you who aren't afraid
to say how they believe. Always go after your heart.

dien dan rao vat binh dinh's picture

I'm not sure exactly why but this site is loading incredibly slow for me.

Is anyone else having this problem or is it a issue on my end?
I'll check back later on and see if the problem still exists.

Botox's picture

You actually make it seem so easy with your presentation but I find this matter to be really something which I think I would never understand.
It seems too complex and very broad for me.
I'm looking forward for your next post, I'll try to get the hang of it!

Clash Of Kings Hack's picture

Creator perfectly focusing on gadgets with android and certainly
will supply you and a great deal of delight playing.

elite green coffee's picture

Everything is very open with a very clear explanation of the challenges.
It was definitely informative. Your site is very helpful.
Thank you for sharing!

dermolyte's picture

Hi there to every body, it's my first pay a quick visit of this webpage; this blog includes awesome and actually excellent data designed
for readers.

Archie's picture

Risperdal was also shown to cause lactation in girls, boys with
gynecomastia and in ladies who had been not
pregnant or nursing.

lasertest's picture

Tremendous things here. I am very happy to peer your post.
Thanks so much and I'm taking a look ahead to
contact you. Will you please drop me a e-mail?

no2 maximus muscle review's picture

There is definately a lot to learn about this issue. I
like all the points you made.

agen bola terpercaya's picture

Heya i am for the first time here. I came across this board and I in finding
It truly useful & it helped me out a lot. I'm hoping to present something again and help others
like you aided me.

Dove Press's picture

We're a group of volunteers and opening a new scheme in our community.Your
website offered us with valuable information to work on. You have
done a formidable job and our whole community will be thankful
to you.

boost collagen production's picture

Good respond in return of this matter with genuine arguments and describing everything regarding that.

http://ha9.org's picture

Amazing issues here. I'm very happy to see your post. Thank you so much and I'm looking forward to contact you.

Will you kindly drop me a mail?

prima eye cream reviews's picture

What a data of un-ambiguity and preserveness of precious
familiarity regarding unexpected emotions.

adderin brain's picture

Hey! I know this is kinda off topic but I was wondering if you knew where I could locate 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!

cambiar cerraduras ucem's picture

Si nota que a su cerradura le cuesta girar, que la llave a veces no entra como siempre
lo habia hecho, no dude en ponerse en contacto con nosotros.

http://www.thesilverjeweler.com's picture

eval(ez_write_tag([[300,250],'alteredgamer_com-medrectangle-1']));.
Great game for up to 4 participants ' that is if you
have 4 joysticks connected. With an Xbox 360 controller, there's much importance to
analogue stick controls to do all those jabs, hooks and uppercuts.

Slim Wise Cleanse's picture

Thanks for any other fantastic article. The place else could anybody get that
type of info in such an ideal method of writing? I've
a presentation subsequent week, and I am at the search for such info.

Instakut Xtreme's picture

Helpful information. Lucky me I found your site by chance, and I am surprised why this coincidence did not
came about in advance! I bookmarked it.

엄마표학습지's picture

I visited many websites except the audio feature for audio songs existing at
this site is truly superb.

forskothin's picture

Just desire to say your article is as amazing.
The clearness to your post is just cool and i can assume you're
an expert on this subject. Well with your permission allow me to take hold of your RSS feed
to keep up to date with imminent post. Thanks 1,000,000 and please carry on the rewarding work.

21 Step System Scam's picture

hi!,I love your writing so much! share we keep up a correspondence extra about
your post on AOL? I need a specialist in this house to solve my problem.
May be that's you! Having a look forward to look you.

http://Barryarnson.com's picture

I've been exploring for a bit for any high quality articles or blog posts
on this sort of house . Exploring in Yahoo I ultimately stumbled upon this website.
Reading this info So i'm happy to show that I've a very good uncanny
feeling I found out exactly what I needed.
I most for sure will make certain to do not disregard this
web site and provides it a glance on a constant basis.

dien dan rao vat binh dinh's picture

It's going to be ending of mine day, however before finish I am reading this fantastic piece of writing to increase my know-how.

dien dan rao vat hai duong's picture

Today, I went to the beach with my children. I
found a sea shell and gave it to my 4 year old daughter and said
"You can hear the ocean if you put this to your ear." She put the shell to her ear and screamed.

There was a hermit crab inside and it pinched her ear.
She never wants to go back! LoL I know this is entirely off
topic but I had to tell someone!

Bellian's picture

Good day! This is my first visit to your blog! We are a group of volunteers
and starting a new project in a community in the same niche.
Your blog provided us useful information to work on. You have done a outstanding job!

best weight loss products's picture

Spot on with this write-up, I actually feel this amazing site needs a lot more attention.
I'll probably be back again to see more, thanks for the information!

donaupark kindertest's picture

Process an understanding of finance, accounting, and tactic.
A wide expanse of grassy area also accommodates school events and sports activities.
Aiming for the day when built standing at crisp attention, displaying
a stiff armed Fascist salute as they assume electro-mechanical.

beats solo hd on-ear headphone's picture

I'm really enjoying the design and layout of your blog.
It's a very easy on the eyes which makes it much more enjoyable for me to come here and
visit more often. Did you hire out a developer to create your
theme? Superb work!

minneapolis internet marketing's picture

hey there and thank you for your information - I
have definitely picked up something new from right here.

I did however expertise some technical points using this site, since I experienced to reload the site many times previous to I could get it
to load properly. I had been wondering if your web host is OK?
Not that I'm complaining, but sluggish loading instances times will sometimes
affect your placement in google and can damage your high-quality score
if advertising and marketing with Adwords.
Anyway I'm adding this RSS to my email and can look out for
much more of your respective fascinating content. Make sure you update this again very soon.

스토리텔링수학's picture

bookmarked!!, I love your site!

where to get ultrasound in columbia's picture

I truly love your site.. Great colors & theme. Did you create this site yourself?
Please reply back as I'm hoping to create my very own blog and want
to learn where you got this from or exactly what the theme is named.
Thanks!

paydays at home's picture

Genuinely no matter if someone doesn't know afterward its up to other visitors
that they will help, so here it happens.

terrebonne parish home elevation's picture

My brother recommended I might like this web site. He was entirely right.

This post truly made my day. You cann't imagine simply how much time I had spent
for this info! Thanks!

specialist offering diagnostics's picture

Hello to all, how is everything, I think every one is getting more from this web
site, and your views are fastidious for new visitors.

quotes on car insurance's picture

You made some good points there. I looked on the internet to learn more about the
issue and found most individuals will go along with your
views on this web site.

Lurlene's picture

If some one needs to be updated with hottest technologies then he
must be go to see this web site and be up to date everyday.

Nigel's picture

This page really has all the information I wanted concerning
this subject and didn't know who to ask.

sergey brin salary's picture

Although he shared few specifics, Brin mentioned remains as busy as he was during a decade-long stint as the company's
president of know-how.

Ageless Eye Cream Skin's picture

I was able to find good advice from your blog articles.

Neuracel's picture

Thank you, I have just been looking for info approximately this subject for ages and yours is
the greatest I've discovered till now. But, what concerning the bottom line?
Are you positive concerning the source?

Garcinia Cambogia's picture

You need to be a part of a contest for one of the finest
sites on the internet. I am going to highly recommend this blog!

Tonye Cole's picture

My partner and I absolutely love your blog and find almost all of your post's to be exactly what I'm looking for.
can you offer guest writers to write content availale for you?
I wouldn't mind creating a post or elablrating on many of the subjects
you write concerning here. Again, awesome web log!

derma c skin's picture

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

173.255.210.202's picture

Almuerza una sopa de vegetales con arroz, un canelon relleno de atun sin salsa,
una rebanada de pan de trigo integral y una
naranja.

Phuket's picture

We're a group of volunteers and opening a new
scheme in our community. Your web site provided us with valuable info to
work on. You have done a formidable job and our entire community will be thankful to you.

Home For Life's picture

Howdy! This post couldn't be written any better! Reading this post reminds me of my previous room
mate! He always kept talking about this. I will forward this post to him.
Pretty sure he will have a good read. Many thanks for sharing!

more-3139's picture

I seriously love your website.. Very nice colors & theme.

Did you build this site yourself? Please reply back as
I'm hoping to create my very own site and would like
to find out where you got this from or just what the theme is called.
Thank you!

tickle's picture

I like what you guys are usually up too. This kind of clever work and coverage!
Keep up the good works guys I've added you guys to my own blogroll.

Namita Chittoria's picture

Magnificent website. Lots of useful information here. I am sending it to some
buddies ans additionally sharing in delicious.
And naturally, thank you for your effort!

Pages

Add new comment