Universal tinderbox


Tinderbox's main purpose would be as a developer tool to assist in FreeBSD port maintainers in getting various software packages available to FreeBSD users, but can it be used for more than that - yes. It is based on the scripts used by pointyhat to constantly compile ports to test for errors as well as create packages that are available to download through the various mirror sites. Which means it also gives you the ability to compile your own packages repository. If you want to make it do other things you would need to get into the scripts and adjust it to suit. Basically it is a set of scripts that sets up a clean system environment then compiles ports within it. That is a series of preset commands with some runtime options. There is no reason it can't be adjusted to run any automated task that you want to test within multiple clean systems.

So why would you want to build your own packages repository? Maybe you want your packages built with extra options turned on. Maybe you want to compile your ports with -O3 or CPUTYPE=corei7 to get a bit more performance. Or you support a range of servers and desktops that are not all the same OS versions and company policy prevents binary downloads from external sources being installed on your systems. Or you just want to build your own ports but want to know everything builds successfully before changing anything on your base system.

That last one comes in handy if you want to compile everything with clang. While effort is being made to move away from gcc and have everything built with clang, we aren't there yet. When you build your own ports in your base system various dependencies are built and installed before the port that needs them. This leads to newer libraries installed that may not work well with older versions of packages that use them and this mixed bag gets left that way when one port breaks. So it can be useful to know that everything compiles that is needed before anything in the base system gets changed. If you are using zfs then you could also use snapshots to rollback after a bad upgrade, but that's another story.

If you make changes to your ports tree to fix build issues then share the fixes with others by submitting a problem report. Chances are others would like to use the same fixes you made.

But tinderbox also lets you build against system versions that you don't have installed. How does that help you? Maybe you have an old 7.4 machine that you want to upgrade, you can build all the ports you want for that machine against FreeBSD 9.0 so they are all ready before you upgrade. It is often recommended that you recompile your ports after major system version updates. But then what if your upgrade goes bad and you want to go back to your old system? With tinderbox you could also build your ports against an older version and downgrade with confidence. While no-one would recommend you do that, it can give you peace of mind knowing that you have a way to fall back when changes don't work the way you want. If you want the option to fallback you may want to build both package versions before you upgrade.

In previous posts I have talked about setting up builds with a variety of system versions and configuring the environment options for each so I won't repeat that here. If you are wanting to build your own ports then you may want to expand the environment settings a bit. While you don't get the flexibility that you have with the /etc/make.conf you can add most of the options you would normally use there. The main limitation is you don't get conditional sections so anything you setup will be applied to every port you build. I previously showed you how to set the cputype used and you should be able to figure out how to add your own CFLAGS to the environment settings.

The recent options changes within the ports infrastructure (referred to as optionsng) does provide a way to set options for every port - tinderbox limitations prevent you using that within the environment settings for every port, but you can set some global options or turn on a few important options if that is all you want to do. Options set in the environment file will be applied to each port build, whether you choose to build with non-default options or not. If you want to configure options for a lot of ports then use the standard option config dialogs to set them up. My compileport script from the previous post allows you to use the -O option to use non-default options for each port.

So what are some options that you may want to add to your environment?

export PAPERSIZE=a4 export QT4_OPTIONS="CUPS QGTKSTYLE" export WITHOUT_JAVA=true export OPTIONS_SET="PGSQL SQLITE" export OPTIONS_UNSET="MYSQL JAVA" export PERL_VERSION=5.16.0

Well PAPERSIZE seems obvious. QT4_OPTIONS shows that any values with a space needs to be quoted, without the quotes only the first item is recognized. Within the environment file you can't use variable+=addvalue to set your variables gradually - you only get variable=value. The OPTIONS_SET and OPTIONS_UNSET provide a way to globally turn on or off common options. While a lot of options are unique to each port there is some consistency with naming that may also be expanded over time, with optionsng already adding some common ones like THREADS and DOCS to replace the NOPORTDOCS option that was previously available. To set an option only for a specific port use <uniquename>_SET. To get the ports uniquename use make -V UNIQUENAME eg -

cd /usr/ports/devel/py-gdata make -V UNIQUENAME py27-gdata cd /usr/ports/x11-toolkits/py-gtk2 make -V UNIQUENAME py-gtk2

While there is some consistency you can't always guess the ports uniquename from the portname. You may also want to look in /var/db/ports/<portname>/options for installed ports to see what values you have already used and what is available.

By default tinderbox isn't setup to store the port options you configure. You need to do that manually. To make it work you need to create a directory called options at the top of the tinderbox directory and inside that create a directory for each buildname you want options saved. As standard in unix the directory can be a link to another so you can use your existing options. To compile the ports with non-default options you need to build the ports with the -O option (or -o option to clear existing options and then set options)

So now all there is to do is create a build environment for your ports and start building. If you've been following along and have the base jails setup then -

cd /usr/local/tinderbox mkdir options cd options ln -s /var/db/ports 9-mypackages cd ../scripts ./tc createBuild -b 9-mypackages-amd64-clang -j 9.0-amd64 -p FreeBSD setenv OPTPORTLIST `pkg_info -aoq` ./compileport -O -B 9-mypackages -A amd64 -C clang

And if you are setting up your own packages to distribute through your network of FreeBSD machines you have a couple of options. To use them with the standard pkg_add you can either set PKG_PATH or PACKAGESITE to point to your packages. See man pkg_add for more details. If you use portmaster then you can set LOCAL_PACKAGEDIR to point to /usr/local/tinderbox/packages/9-mypackages-amd64-clang (or a common network mount) as well as PM_PACKAGES=first and PM_PACKAGES_LOCAL=pmp_local. Other package management tools should offer similar config options.


849 comments

battlehandhack.wordpress.com's picture

The Book of Recipes adds a huge amount of variety to the already existing recipes.
A Secure Hash Algorithm, such as SHA1 or MD5, produces a unique, hash value based on the contents of the file and ensures that even a single character changing in a file will be
detected. The easiest way to remember this is - it's right smack
in the middle of the Ticket Hall flag.

Wehrmacht's picture

Hello friends, how is all, and what you would like to say concerning this piece of writing, in my view
its in fact amazing designed for me.

clash of clans hack apk's picture

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

building muscle's picture

What's up it's me, I am also visiting this site on a regular basis, this web site is truly
good and the visitors are actually sharing nice thoughts.

surprise eggs's picture

Hi there, I found your site by way of Google while looking
for a related matter, your website came up, it appears good.
I have bookmarked it in my google bookmarks.
Hi there, just was aware of your blog thru Google, and located that it is truly informative.
I am gonna watch out for brussels. I'll be grateful in case you proceed this in future.
A lot of other folks might be benefited out of your writing.
Cheers!

Fun winter activities for kids's picture

Just want to say your article is as surprising. The
clarity in your post is simply nice and i could assume you're an expert on this
subject. Fine with your permission let me to grab your RSS feed to
keep updated with forthcoming post. Thanks a million and please keep up the gratifying work.

funny jokes's picture

I pay a quick visit daily a few web sites and blogs to read articles
or reviews, but this website offers quality based articles.

tickle's picture

Tremendous things here. I am very satisfied to look your article.

Thank you a lot and I'm looking ahead to touch you.

Will you kindly drop me a e-mail?

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

Hey I know this is off topic but I was wondering if
you knew of any widgets I could add to my blog that automatically tweet
my newest twitter updates. I've been looking for a plug-in like
this for quite some time and was hoping maybe you would have some experience with something like this.
Please let me know if you run into anything. I truly enjoy reading your blog and I look forward to
your new updates.

Mattie's picture

Hey! Quick question that's totally off topic. Do you know
how to make your site mobile friendly? My web site looks weird when browsing from
my iphone. I'm trying to find a template
or plugin that might be able to correct this problem.
If you have any recommendations, please share. Many thanks!

muñoz ferrada's picture

I am curious to find out what blog system you are working with?
I'm having some small security issues with my latest site and I'd
like to find something more safe. Do you have
any recommendations?

www.tunnelratsmc.com's picture

Wow, superb weblog layout! How long have you been running a blog for?
you made blogging glance easy. The entire glance of your site is wonderful, as well as the content!

what is the crowdfunding platform's picture

Hello, yes this article is really nice and I have learned lot
of things from it on the topic of blogging. thanks.

clash of clans hack's picture

I think this is among the most significant information for
me. And i am glad reading your article. But wanna remark on few general things, The web site style is perfect, the articles is really excellent : D.
Good job, cheers

White Rapper's picture

Wonderful work! This is the kind of information that are meant to be shared around the internet.

Shame on the seek engines for no longer positioning this put up upper!

Come on over and talk over with my website .
Thank you =)

rosary necklaces for men's picture

%Jewellery Shopping in India%
Now you can find the best collection in %jewellery for shopping% for you all
needs, Wedding, Engagement,party every thing

Kristofer's picture

Y es que en la mayoria de las etnias la autoestima masculina se
basa en gran parte en la capacidad de ereccion del hombre.

canvas wall art's picture

Maple Tгᥱе Ⅿіnd
Bⅼоѡing Ꮯаnvɑѕ Ԝаlⅼ Ꭺгt - Tաօ Ꮐіfts, Κᥱyhⲟlɗег ᒪеaf
аnd 5 Ѕtɑгѕ, Ꮪtaгtоnigɦt Ⲛаtᥙгᥱ 31.5 Ҳ 47.2 Іn
http://www.amazon.com/Maple-Tree-Mind-Blowing-Canvas/dp/B00F0WK8VO/ref=s...

by Ꮪtaгtоniɡɦt
ӏn Ѕtоcκ.
Ꮪοⅼԁ Ƅy Stɑrtοѕhορ ɑnd
Fulfіlⅼᥱɗ bʏ Αmаᴢоn.

Want іt tomorгօա, Ѕeρt.
10? ΟгԀеr ԝіtҺіn 6 һгѕ
49 mins and cɦоⲟse One-Ⅾɑу ЅҺіⲣріng аt cɦеϲҝоᥙt.
Ɗеtаіlѕ
Pгеmіum ԛuɑlity.

Frаmеd/stгеcɦеԁ геaɗy tօ Һang.
Ιɗᥱal ɡіft fߋг ɑny οϲcaѕiоn!
Eneгgʏ ѕaνing - ΕcοⅼiǥҺt tесhnolοgү.
Ⲣегfесt fߋr Оffіce.
ᖴօг a smalⅼег ѕizе ⅼoօҝ fоr ƊTB0613.

Gⅼοաs սp tօ 8
һоսrѕ in tҺе ԁarκ.
Lumіnoᥙѕ ρгοpеrtіeѕ ɡᥙaгantееԁ fⲟг ᥙnlіmіtеԀ chɑгgіng гесүcⅼеs.

Ѕⲣеcіаl gіft (fгеe оf
сҺагgе) օffeгᥱԁ fⲟг any ρurcһasе.
Ϝrom Tгееѕ Ϲߋlⅼеctіоn.
Wіdе ѕеlесtіоn, Grеat գᥙаⅼіty, Ӎοney-Baсқ
Satіѕfaϲtіоn Ꮐᥙaгantеᥱ.

Watch Series's picture

Hello! I've been reading your site for a long time now and finally got the bravery to go ahead and give you a shout out from
Atascocita Tx! Just wanted to tell you keep up the good job!

Lyle's picture

Greetings Mike, Although you mention the tree is being watered well, it still sounds like leaf blister, which
can be corrected by deep watering throughout durations of completely dry weather condition and high winds.

best make up products's picture

I blog frequently and I really thank you for your content.
Your article has truly peaked my interest. I'm going to book mark your
site and keep checking for new information about once per week.
I subscribed to your Feed too.

Texas Cocaine Rehab Centers 1-888-3211-718's picture

Excellent post. I was checking constantly this blog and I'm impressed!

Very helpful information particularly the
last part :) I care for such information much. I was looking for this particular information for a
very long time. Thank you and good luck.

premium landing page's picture

I was wondering if you ever thought of changing the layout of your blog?
Its very well written; I love what youve got to say.
But maybe you could a little more in the way of content so people could connect
with it better. Youve got an awful lot of text for only having 1 or two pictures.
Maybe you could space it out better?

Luigi Wewege's picture

An outstanding share! I have just forwarded this onto a
co-worker who was conducting a little research on this.
And he actually ordered me breakfast simply because I stumbled upon it for him...
lol. So let me reword this.... Thanks for the meal!!
But yeah, thanks for spending the time to discuss this issue here on your site.

throwback jerseys's picture

Have you ever considered about including a little bit more than just your articles?
I mean, what you say is fundamental and all.
However think about if you added some great photos
or video clips to give your posts more, "pop"! Your content is excellent but with pics and
video clips, this website could definitely be one of the very
best in its niche. Great blog!

kinder surprise's picture

Greetings I am so excited I found your web site, I really found you
by accident, while I was searching on Askjeeve for something else, Anyways I am
here now and would just like to say thank you for a tremendous post and a all round thrilling blog (I also love the theme/design), I
don't have time to go through it all at the moment but I
have book-marked it and also included your RSS feeds, so when I have time I will be back to read a lot more, Please do keep up the excellent work.

www.youtube.com's picture

I was curious if you ever thought of changing the
layout of your blog? Its very well written; I love what youve got to say.
But maybe you could a little more in the way of content so people
could connect with it better. Youve got an awful lot of text for
only having 1 or two pictures. Maybe you could space it out better?

youtube.com's picture

Fantastic website you have here but I was curious if you knew of any community forums that cover the same topics talked about here?
I'd really like to be a part of online community where I can get
responses from other experienced people that share the same interest.

If you have any suggestions, please let me know. Thanks!

pink music artist's picture

I like the valuable information you provide in your articles.
I will bookmark your weblog and check again here frequently.
I am quite sure I will learn many new stuff right here!
Good luck for the next!

auto transport's picture

My brother recommended I might like this blog. He was once entirely right.
This submit truly made my day. You can not imagine just how a
lot time I had spent for this info! Thank you!

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

What's up to every one, it's genuinely a pleasant for me to
visit this web page, it includes helpful Information.

landing page builder's picture

Good day! Would you mind if I share your blog with my zynga group?
There's a lot of people that I think would really appreciate your content.
Please let me know. Cheers

Joel Robbins's picture

What you said made a bunch of sense. But, what about this?
suppose you were to write a killer headline?
I ain't suggesting your information isn't solid, however
suppose you added a post title that grabbed people's attention? I mean Add new comment | Shaneware.biz is kinda vanilla.

You ought to peek at Yahoo's home page and watch how
they create news headlines to get people to click.
You might add a video or a related picture or two to grab people excited
about everything've written. Just my opinion, it might bring your posts a little livelier.

Joe leno's picture

I got this web page from my buddy who shared with me on the topic of this web
page and now this time I am browsing this web site and reading very informative content here.

Learn More Here's picture

It is not my first time to pay a visit this site, i am browsing this web page dailly and
obtain pleasant information from here all the time.

Big Booty Videos's picture

Beautiful! That you do not come by data similar to this
easily and that I am not so ungrateful! Maintain it-up men!

bathing caps's picture

My coder is trying to persuade me to move to .net from PHP.
I have always disliked the idea because of the expenses.

But he's tryiong none the less. I've been using
WordPress on various websites for about a year and am worried about
switching to another platform. I have heard excellent things about blogengine.net.
Is there a way I can import all my wordpress posts into it?
Any help would be greatly appreciated!

Fresno plumbing's picture

So you, as the restorer, have to set realistic goals as to exactly what parts of the car you
are going to restore to their original states and what parts
of the car you are willing to restore "as close as possible"
to their original states. Strict standards and excellence
in service is what made Cullitons the premiere limo service
of choice for thousands of Torontonians as well as visiting guests from all over
the world. The damage varies from vehicle to vehicle but can be as small as light hail damage which is barely visible through to damage caused by falling trees.

Orville's picture

What's up to all, the contents present at this site are really amazing for people experience, well, keep up the good work fellows.

Ian Leaf's picture

I think that what you published was very reasonable.
However, what about this? suppose you wrote a catchier title?
I ain't saying your information is not solid, however what if you added a post title to maybe grab people's attention? I mean Add
new comment | Shaneware.biz is kinda plain. You might glance at Yahoo's home
page and note how they create article headlines to get people interested.
You might try adding a video or a related pic or two to
get people interested about everything've written. In my
opinion, it could bring your blog a little livelier.

comprar setas's picture

Sin embargo, cientificos del Centro de salud Universitario de Tampere (Finlandia)
demostraron en dos mil ocho que los hombres que tienen relaciones
mas a menudo son menos propensos a padecer este inconveniente.

Test snurr's picture

As Google Apps resellers, Cloud Future Systems is the best offering the
most effective services in Google apps. The two love affairs of our partners took place at an International Peace
Conference in Gothenburg, Sweden. It is a great opportunity to take advantage of sports betting and place some bets.

Replennage's picture

I was able to find good info from your content.

How To Cure Herpes In 2016's picture

We're residing in your global through which many illnesses include come forth with all the
moment. Many of those diseases are generally sexually
transported contamination which can propagate through sex.
Perhaps shielded sexual intercourse are certainly not
completely secure. Performed a person actually actually been aware of herpes
simplex virus contamination or maybe did you know everything relating to this?

Nevertheless, that is an exceptionally widespread contamination worldwide
nevertheless millions of people world wide don't perhaps are aware that just what herpes virus
specifically will be?
Based on most up-to-date analyze half the globe
inhabitants going through herpes simplex virus an infection and also the
numbers of herpes simplex virus individual is escalating with the period.
This fact indicates in which down the road this specific an infection could come up among the very best medical concerns while watching planet.

Do you consider that will herpes simplex virus disease is
usually treatable disease by way of pure herpes virus cure?
In the event you don't believe hsv simplex virus is usually a treatable sickness then you definitely
do not know the nature's energy. My partner and i admit that we now
have several treatment plans obtainable which could take care of genital
herpes virus virus infection yet you'll find nothing a lot better than the
normal herpes simplex virus heal. When you have recently been determined via herpes infection subsequently you have to know in which herpes virus just isn't a new treatable sickness using
medications including Acyclovir, Valacyclovir, Valtrex
along with Zovirax. Most of these remedies can easily simply
supress the particular signs regarding herpes virus
contamination but as well you could really feel serious unwanted side effects most of these medications.

There are numerous strong herbal treatments, dietary supplement, Extremely ingredients as well as uncooked diet accessible
which could quickly heal herpes virus illness.
Lysine, Vitamin and mineral G, Zinc, Oregano gas, Herbal tea tree acrylic in addition to uncooked honey may cure genital herpes virus
virus illness. Every one of these strong organic stuffs helps to improve ones body's defence mechanism.
Echinacea is made up of anti-viral houses which eliminates the herpes simplex virus plus
allows you boost the body's defence mechanism involving herpes
virus affected person. Glaciers packages aids you to obtain alleviate associated with extreme herpes indicators.
Yet don't reveal herpes simplex virus lesion for a long time towards
ice packs. Extra virgin olive oil works extremely
well because the moisturiser for your herpes simplex virus disease
lesion.
Would people ever also heard of HSV ERASER? Certainly not but?
Effectively should you really want to reduce herpes virus permanently, after that you have to know concerning
this special plan. This is the natural herpes simplex virus remedy plan which usually allows each
hsv simplex virus affected person in order to remedy herpes
simplex virus eternally. This system is dependant on organic hsv simplex virus
remedy thus there isn't a chances of receiving the unwanted effects.
We've viewed a lot of sufferer professing they've already been healed coming from genital
herpes virus virus infection through HSV eraser.
Right now, this HSV ERASER will probably bring in the subsequent amount of HSV SIMPLEX
VIRUS fantastic software. This course will probably introduce ion beginning 2016.
This can be the greatest expect each and every herpes simplex virus individual
who desire to lose genital herpes virus virus an infection.

Testamatol's picture

It's actually a nice and helpful piece of info.
I'm happy that you simply shared this helpful info with us.
Please keep us up to date like this. Thanks
for sharing.

hack's picture

Great article.

clash of clans hack tool's picture

As the admin of this site is working, no doubt very
quickly it will be well-known, due to its quality contents.

invitation kits hobby lobby's picture

Has loads of them.

Chana's picture

Somewhat, the modern telepathic prefers merely to observe" details that could certainly not be actually quickly refuted by disbelieving doubters.

My blog post: Chana

www.youtube.com's picture

Today, while I was at work, my sister stole my iphone and tested to see if it can survive a 40 foot drop, just so she can be a youtube sensation. My iPad is now destroyed and she has 83 views.
I know this is completely off topic but I
had to share it with someone!

Pages

Add new comment