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.


1083 comments

Eulah's picture

Thanks for your personal marvelous posting! I genuinely enjoyed reading it, you will be a great
author.I will ensure that I bookmark your blog and definitely
will come back sometime soon. I want to encourage you to continue your great job, have a nice evening!

Freiwild's picture

Amazing! Its really amazing post, I have got much clear idea on the topic of
from this paragraph.

https://www.youtube.com/watch?v=VVS5Wjd24ro's picture

We are a bunch of volunteers and opening a brand new scheme in our community.
Your website provided us with useful info to work on. You've performed a formidable activity and our
entire community can be grateful to you.

potty training tips for boys's picture

It's an remarkable paragraph designed for all the web users; they will
obtain benefit from it I am sure.

cake tray forming machine's picture

Wow, that's what I was exploring for, what
a data! existing here at this weblog, thanks admin of this website.

usmmp green screen's picture

Highly descriptive blog, I liked that a lot. Will there be a part 2?

broma telefonica's picture

Hi, of course this article is truly pleasant and I have learned lot of things from it about blogging.

thanks.

challenge's picture

Right here is the perfect site for everyone who would like
to understand this topic. You understand a whole lot its almost hard to argue
with you (not that I personally would want to...HaHa).
You certainly put a brand new spin on a topic that's been written about for ages.
Excellent stuff, just great!

http://toppblogg.no/index.php?a=stats&amp;u=rolandelledge9's picture

As the item Iris had to find for a scavenger hunt.

reduce belly fat's picture

Hi, i think that i saw you visited my website so i came to "return the favor".I am
trying to find things to improve my site!I suppose its
ok to use a few of your ideas!!

https://www.youtube.com's picture

Very good information. Lucky me I discovered your
blog by chance (stumbleupon). I've saved it for later!

banana diet's picture

It's perfect time to make some plans for the future and it's time to be happy.
I've read this post and if I could I desire to suggest you few interesting things or suggestions.
Perhaps you can write next articles referring to this article.
I wish to read even more things about it!

コレステロールに効くサプリメント's picture

hazimemasite.
E Yu koresuterorugaZeng erutoDa Bian Ming noWei Xian gaarutoYan wareteimasuyone. Si haHui She noBing Yuan deE Yu koresuteroruyaZhong Xing Zhi Fang noShu Zhi gaGao ku,Yi Zhe karamoZhu Yi sareruguraidesita. Se "toTan sitaJie Guo Chu Hui tutanogakinaridesita. Da Bian Da Liang noYin miYao woJian Zheng sitaHou ,Zui Zhong De nikinariniChan riZhao itatoiuHua desu. Huo Qi Yi reruRi Chang Sheng Huo wozututoSok ketaitoSi tuteiruRen haShi Fei Jian tekudasai.

sijoittamisen perusteet's picture

Excellent post. I was checking continuously this blog and I am impressed!
Very useful information particularly the last part :) I care for such information a lot.
I was looking for this particular information for a long
time. Thank you and good luck.

garrys mod's picture

I love it whenever people get together and share ideas. Great blog, keep it up!

how to make money online's picture

Somebody essentially lend a hand to make critically posts I'd state.
This is the very first time I frequented your website page and so far?
I surprised with the research you made to make this
particular put up incredible. Fantastic job!

Carly Fiorina's picture

WOW just what I was looking for. Came here by searching for forever21

joblisting.com joblisting's picture

Good day I am so thrilled I found your web site, I really found you by accident, while
I was looking on Google for something else, Nonetheless I am here now
and would just like to say thanks a lot for a tremendous post and a all round
exciting blog (I also love the theme/design), I don't have time to read it all at the moment
but I have bookmarked it and also added in your RSS feeds,
so when I have time I will be back to read a great deal more, Please do keep up the great b.

rubbermaid storage's picture

What's up, after reading this awesome piece of
writing i am also cheerful to share my knowledge here with colleagues.

Katalog Anleitung's picture

No matter if some one searches for his required thing, therefore he/she
desires to be available that in detail, so that thing is maintained over
here.

www.youtube.com's picture

Do you have a spam issue on this site; I also am a blogger,
and I was wanting to know your situation; many of us have developed some nice practices and we are looking to swap strategies
with other folks, be sure to shoot me an email if interested.

la rosa de guadalupe's picture

Hi, I do think this is a great blog. I stumbledupon it
;) I'm going to come back yet again since I bookmarked it.
Money and freedom is the greatest way to change, may you be rich and continue to help
other people.

freebetcastle's picture

Wow, that's what I was seeking for, what a stuff! existing here at
this webpage, thanks admin of this web site.

mx's picture

Wonderful blog! I found it while browsing on Yahoo News. Do you have any suggestions on how to get listed in Yahoo News?
I've been trying for a while but I never seem to get there!
Thank you

Air Conditioning Service's picture

This is the perfect webpage for anyone who would like to
find out about this topic. You understand so much 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 that has been discussed for a long time.
Excellent stuff, just wonderful!

bicicleta fitness ieftina's picture

Hi there, just became alert to your blog through Google, and found that it
is really informative. I am gonna watch out for brussels.

I'll appreciate if you continue this in future. Many people
will be benefited from your writing. Cheers!

international lawyers in turkey's picture

Hi there! Do you know if they make any plugins to help with SEO?
I'm trying to get my blog to rank for some targeted keywords but I'm not seeing very good gains.
If you know of any please share. Thanks!

Watch Game of Thrones Season 6 Episode 8 Online for Free's picture

Awesome post.

Take a look at my web page ... Watch Game of Thrones Season 6 Episode 8 Online for Free

Google+ shares's picture

If some one needs expert view regarding blogging then i advise him/her to pay a quick visit this web site, Keep up the
pleasant job.

Marco Rubio's picture

Excellent blog! Do you have any helpful hints for aspiring writers?
I'm hoping to start my own blog soon but I'm a little lost on everything.
Would you suggest starting with a free platform
like Wordpress or go for a paid option? There are so many options out there that I'm completely overwhelmed ..
Any ideas? Bless you!

lose belly fat's picture

WOW just what I was looking for. Came here by searching for
ottawa car insurance

madden 17 news's picture

Hi there, i read your blog from time to time and i own a similar
one and i was just curious if you get a lot of spam remarks?
If so how do you prevent it, any plugin or anything you can advise?
I get so much lately it's driving me insane so any help is very much appreciated.

kids coloring game's picture

Hey, I think your blog might be having browser compatibility issues.
When I look at your website in Firefox, it looks fine but when opening in Internet Explorer,
it has some overlapping. I just wanted to give you a quick heads up!
Other then that, excellent blog!

m88's picture

Nice blog here! Additionally your website a lot up fast!
What web host are you using? Can I get your affiliate hyperlink
for your host? I desire my web site loaded up as quickly as yours lol

Mark Curry's picture

This is very interesting, You are a very skilled blogger.
I have joined your feed and look forward to seeking more of your excellent post.
Also, I've shared your site in my social networks!

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

I seldom leave a response, however i did some searching and
wound up here Add new comment | Shaneware.biz. And I actually do have a couple of questions for
you if it's allright. Is it only me or does it give the impression like
a few of the responses look as if they are left by brain dead visitors?
:-P And, if you are writing on other places, I would like to keep up with anything fresh
you have to post. Would you make a list of the complete urls of your communal pages like your linkedin profile, Facebook
page or twitter feed?

arma 3 altis life's picture

WOW just what I was searching for. Came here by searching for edison new jersey

Nehat Run Shqipe's picture

I just like the helpful info you supply on your articles.
I'll bookmark your blog and check again here regularly. I
am quite certain I will be informed lots of new stuff proper here!
Best of luck for the next!

ottoman's picture

Just want to say your article is as surprising. The clearness on your post is simply cool and
i can assume you're a professional on this subject.
Well with your permission allow me to snatch your feed to stay updated with
imminent post. Thanks 1,000,000 and please carry on the rewarding work.

planeta x's picture

Good day! Do you know if they make any plugins to assist with SEO?
I'm trying to get my blog to rank for some targeted keywords but I'm not seeing very
good results. If you know of any please share. Thanks!

Night Nurse's picture

You could certainly see your expertise in the work you write.
The sector hopes for even more passionate writers like you who aren't afraid to mention how they believe.

Always follow your heart.

dance's picture

This is really interesting, You are a very
skilled blogger. I have joined your rss feed and look forward to seeking
more of your magnificent post. Also, I've shared your site in my
social networks!

Der Film Infos's picture

I'm not sure exactly why but this weblog is loading incredibly
slow for me. Is anyone else having this problem or is it a problem on my
end? I'll check back later and see if the problem still exists.

Que Caro Estoy Pagando's picture

This post will assist the internet viewers for creating new
website or even a weblog from start to end.

lose belly fat in tamil's picture

I blog quite often and I really thank you for your content.
This great article has truly peaked my interest. I am going to
take a note of your site and keep checking for new
information about once a week. I opted in for your RSS feed as well.

fallout's picture

I know this if off topic but I'm looking into starting my own weblog
and was curious what all is required to get set up? I'm assuming having a blog like yours
would cost a pretty penny? I'm not very web savvy so I'm not 100% sure.
Any recommendations or advice would be greatly appreciated.
Many thanks

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.

Pages

Add new comment