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.


1090 comments

Becky's picture

bookmarked!!, I like yoir site!

barbie's picture

You are so cool! I don't suppose I have read through anything like this before.
So nice to find somebody with a few original thoughts on this issue.
Seriously.. thank you for starting this up. This
website is something that's needed on the
internet, someone with some originality!

https://ocseoexperts.wordpress.com's picture

SEARCH ENGINE OPTIMIZATION audits : With every audit we compile an in-depth analysis of your site's on-page optimization and locate
quick areas for improvement. We understand that no
two sites or industries are alike, so this audit could be as particular or basic as needed.
Both approach, when complete, we guarantee your crew can have multiple actionable items.

Böttcher's picture

I pay a quick visit everyday a few web sites and websites to
read articles, but this blog gives quality based posts.

coole berufe's picture

Hey there are using Wordpress for your blog platform?

I'm new to the blog world but I'm trying to get started and set up my own. Do you need
any html coding expertise to make your own blog? Any help would be greatly appreciated!

stopcreditfraud.net's picture

For newest news you have to pay a quick visit the web and on web I found this web
page as a finest web site for hottest updates.

network marketing's picture

I know this web site gives quality depending articles or reviews and extra material, is there any other web page which
gives such things in quality?

Fredrick's picture

Hello! I could have sworn I've visited this site before
but after browsing through many of the articles I realized it's new
to me. Anyways, I'm certainly delighted I came across
it and I'll be bookmarking it and checking back frequently!

flirten's picture

Saved as a favorite, I love your website!

https://youtu.be/ep_2p688pJU's picture

I think this is one of the most important information for me.
And i am glad reading your article. But want to remark
on few general things, The website style is perfect, the articles is really great :
D. Good job, cheers

role's picture

I truly love your website.. Very nice colors &
theme. Did you create this amazing site yourself?
Please reply back as I'm hoping to create my own blog and want to find out where
you got this from or what the theme is named.
Thank you!

nba 2k16 how to make threes's picture

It's very effortless to find out any matter on net as compared to textbooks, as
I found this post at this web site.

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.

american's picture

Hmm is anyone else having problems with the pictures on this blog loading?
I'm trying to find out if its a problem on my
end or if it's the blog. Any feed-back would be greatly appreciated.

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.

www.stamprings.com'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.

www.youtube.com's picture

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

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

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!

corex's picture

My spouse and I stumbled over here coming from a different web address and thought I might check
things out. I like what I see so now i'm following you.
Look forward to exploring your web page for a second
time.

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

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.

Pages

Add new comment