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.


876 comments

bullet vibratorspersonal trojan's picture

Appreciate the recommendation. Let me try it out.

genie bras's picture

Medicinal plants additionally assist in dealing with difficulties like heavy bleeding and excruciating cramps.
These natural techniques require perseverance and patience.
To all the young girls getting your first bra, please get a measuring tape or ask a
sales person in the bra department to accurately measure your
breasts.

Seventh Son stream's picture

Howdy just wanted to give you a brief 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 internet browsers and both show
the same results.

harness majestic pet's picture

I do not even know how I ended up here, but I thought this post was great.
I don't know who you are but definitely you are
going to a famous blogger if you aren't already ;
) Cheers!

world zombination hack's picture

For latest information you have to pay a quick visit web and on web I found this website as a most excellent
web page for most recent updates.

Arletha's picture

Oh my goodness! Incredible article dude! Thank you, However I
am experiencing difficulties with your RSS. I don't know the
reason why I am unable to subscribe to it. Is there anyone
else getting identical RSS problems? Anyone who knows
the answer can you kindly respond? Thanks!!

shred hd's picture

Greetings from Colorado! I'm bored to tears at work so
I decided to browse your site on my iphone during
lunch break. I enjoy the information you present here and can't wait to take a look
when I get home. I'm surprised at how fast your blog loaded on my mobile ..

I'm not even using WIFI, just 3G .. Anyhow, excellent blog!

http://oficinadeestilo.blog.tagnclick.com.br's picture

Heeft u tevens wat betreffende de trappenlift.

http://www.barbaragreenministries.org/guestbook/index.php?'s picture

Yesterday, while I was at work, my cousin stole my apple ipad and tested to see if it can survive a
twenty five foot drop, just so she can be a youtube sensation. My apple ipad is now broken and she has 83 views.

I know this is entirely off topic but I had to share
it with someone!

Slim Wise Ketones's picture

Hello there I am so delighted I found your blog page, I really found you
by error, while I was searching on Bing for something else, Anyhow I am here now and would
just like to say thanks for a marvelous 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 minute but I have book-marked it and also added your
RSS feeds, so when I have time I will be back to read a great deal more,
Please do keep up the awesome job.

porcelain shibuiri oribe's picture

I do accept as true with all the ideas you have offered on your post.
They are very convincing and can certainly work. Nonetheless, the posts are very brief for beginners.
Could you please lengthen them a little from subsequent time?
Thank you for the post.

silicone protector pandamimi hybrid's picture

My brother recommended I might like this website.
He was totally right. This post actually made my day.
You cann't imagine just how much time I had spent for this information!
Thanks!

software payroll's picture

Hi there, yup this paragraph is genuinely good
and I have learned lot of things from it regarding blogging.

thanks.

http://deerantlersprayfreetrial.weebly.com's picture

What i don't realize is if truth be told how
you're no longer actually a lot more neatly-preferred than you may be right now.
You are so intelligent. You understand thus significantly in the case of this subject, made me in my view
consider it from so many various angles. Its like men and women are not interested until
it's something to accomplish with Girl gaga! Your personal stuffs nice.

Always maintain it up!

vertical advertising flags's picture

Hello great blog! Does running a blog like this require a massive amount
work? I have very little understanding of programming but
I was hoping to start my own blog in the near
future. Anyways, if you have any ideas or tips for new blog owners please share.
I understand this is off subject however I just had to ask.
Thanks!

ทางเข้าsbobet's picture

Hello there I am so happy I found your weblog, I really
found you by accident, while I was researching on Bing for something
else, Anyways I am here now and would just like to say thanks a lot for a tremendous post and a all round enjoyable blog (I also love the theme/design),
I don't have time to read through it all at the minute but I have saved 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 awesome jo.

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

Everything is very open with a clear description of
the challenges. It was really informative. Your site is very helpful.
Thanks for sharing!

Digital Shift's picture

Good day I am so grateful I found your blog, I really found you
by accident, while I was browsing on Aol for something else, Anyways I am here now and would just like to
say many thanks for a fantastic post and a all round enjoyable
blog (I also love the theme/design), I don't have time to go through it all at
the minute but I have book-marked 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 work.

Garcinia cambogia HCA's picture

obviously like your website but you need to check
the spelling on several of your posts. A number of them are rife with spelling problems and I in finding it
very bothersome to inform the truth however I'll surely come back again.

insect control's picture

May I simply just say what a comfort to find somebody that genuinely understands what they're talking about on the web.
You definitely realize how to bring a problem to light and make
it important. More and more people should read this and understand this side
of the story. I was surprised you are not more popular since you certainly have the gift.

Dota 2 Highlights's picture

I've been exploring for a little bit for any high-quality articles or weblog posts on this sort of house .

Exploring in Yahoo I eventually stumbled upon this site.
Studying this information So i'm glad to exhibit that
I've an incredibly just right uncanny feeling I
came upon exactly what I needed. I most for sure will make sure to do not put out of your mind this web site
and give it a look regularly.

Firoz Patel's picture

My brother suggested I may like this blog. He was once totally
right. This publish truly made my day. You cann't believe simply
how much time I had spent for this information! Thanks!

graphics's picture

This is very interesting, You are a very skilled blogger.

I've joined your feed and look forward to seeking more of
your fantastic post. Also, I've shared your site in my
social networks!

obat stroke's picture

Ace Maxs di produksi oleh perusahaan asli indonesia PT.H20 dengan didampingi orang-orang terampil di bidangnya dan di dukung teknologi modern dan higenis, sehingga tetap masih terjaga kealamianya dan sudah terdaftar di DEPKES RI P-IRT No.113317506253. Jadi sangat aman sekali untuk di konsumsi oleh semua kalangan. Sehingga aman untukObat Penyakit Batu Ginjal

Jelly gamat gold g's picture

Telah hadir solusi pengobatan untuk diabetes ace maxs dan untuk maag dengan jelly gamat gold g

cynthiakl18's picture

Hi reborn website
adult games to play all latest android phone awesome apps android free download hd wallpaper for android phone slutty lingerie
http://pornmarket.replyme.pw/?epoch.annette
free poker game download free games you www goggle playstore com free down load games android google apk

darleneyo69's picture

Novel devise
http://sexgames.android.tobuy.in/?page.josephine
descargar android gratis apps download free for mobile phone games to download best role playing game for android top rated android mobiles

krisjf1's picture

Started new spider's web throw
http://latex.xblog.in/?post-janae
mobile tv android free software download for mobile download sexy song call for free apps n73 application free download

Nicholas Blake's picture

Development of inputs (labor and capital) rather than efficiency gains. And remember that the sustained growth in per capita income in the nation can only occur if there is an increase in output per unit of input, as growth through the inputs is inevitably limited. Recall that input is growth in employment, education

http://30daychangescam.com/

junek quezada's picture

Had trouble adding uh... pull in the best summer shade as Hudson marty and I will stream and accomplices chestnut uh... so peaceful Alexander touch sporadic sent link to uh... general things he can on the off chance that you require strategies in the glamorous purposes of the president to ensure Soyuz stream down statement pilots can't and um... has left an effect and I think mark Ferguson unanswered .
http://millionaireblueprintscam.com/

johnc dowdell's picture

Points of interest affirm so we've been gabbing a little bit but we should push ahead we ought to make paper while bolster so we should retreat to single what you'll see this yet right here you can tap on make another address right and we talked in particular recordings there are could Gillian wrinkled trillions.

http://centumentltdscam.com/

palky thandi's picture

from MSMEs Certified increased by 21% and MSMEs not certified by the MIC, increased by 43%. A level institutions have been able to observe how ever will migrate to modalities that promote competition and decreasing fractionation, for example we have seen how reduced the amount awarded in the form of lower purchases and exponentially increased purchases mode comparison. But one of the most striking
http://googletradersoftware.com/

Rectu did's picture

It as unobtrusive as would be reasonable unequivocally the same uh... besides, three continued to make serious receipt you in light of the way that its complexities customization is very in the room left-hand corner of the stranding is reason go to buy inkatha's periods in now this is three engraved in not on.

http://mentaladjustment.com/
http://emotionalandbehavioral.com/
http://levelofemotional.com/
http://mentaldisorderfacts.com/
http://improvebrainworks.com/
http://mindsharpsupplement.com/
http://mindsharperinfo.com/
http://mindsharpertips.com/
http://mindsharperdiet.com/
http://mindsharperfood.com/
http://brainantioxidant.com/
http://brainboostfast.com/
http://brainboosterdiet.com/
http://boostbrainfood.com/
http://mindandboost.com/

Nepre jee's picture

back-to-back with no rest in between. I go by feel Generally, my ab workouts vary whenever with respect to workout purchase, rep count, superset arrangement and duration (i.e. number of sets). I really go by feel. I know when my abs are done and that's when I stop. I'm not nearly as regimented with
http://bestbody-buildingworkouts.com/

jehya kikara's picture

Pursuits like excessive exercises. This painful burning sensation is partly caused by Lactic Acidity create up in the muscle tissue. Lactic acid is produced by a persons body in an attempt to generate more energy cannot be created quick enough through regular indicates which is transporting fresh air to the muscle tissue. While a persons body does get more energy, the complication is the quick acid create up
http://bestbodybuilding-training.com/

Semn ince's picture

transformed column, detainee squat - you need to have the capacity to do no less than 20 reps on these ones (it will take you a while to develop to doing 10 - 20 pull ups in 1 set, so step by step) Learn the right shape to the compound developments - this is particularly vital with activities such as the seat press and the squat
http://fitness-focuses.com/

Ran ne's picture

But it's not so much the 10 reps that develop muscle; it's the total quantity and the overload at that particular pool of motor units that innervate into those particular muscle tissue. Because of the tremendous
http://powerlifting-classic.com/

Lins omea's picture

falls you basically attend a dip bar reducing yourself till you reach parallel, and then return. Once more, adding bodyweight will really maximize the effectiveness of this execute out. Shut Grip Bench Press Once
http://pretraining-fitness.com/

you row's picture

as a youngster with my wonderful grandmother and have heeded his guidance ever since. Jack has not only talked the discuss, he has walked the stroll, since he was 15 decades old. His feats of durability
http://muscle-preparation.com/

tod sew's picture

Pasta Oatmeal Lean Meat Eggs Milk 3rd Phase To Build Muscle Quickly: Cut Out All Aerobics Eliminating all aerobic will keep your whole human body from the losing calories that the muscle tissue will need for growth and fix. If on your table a lot of calories but you're also doing a lot of aerobic within your body, then you're shooting yourself in the foot and missing out on some serious muscle growth. Don't get me
http://boostmuscle-help.com/

Malac tind's picture

A in mind is to carry out all five exercises everyday to get those Awesome abs. You'll need to put in some execute and stick to this schedule, but if you do you will definitely see the benefits And besides, you'll have not spent a penny on gyms or devices. In modern periods, the foodstuff marketing industry are making us to think that we can reduce weight and get noticeable abs by buying "fat burner pills" and a collection
http://muscle-buildingfoods.com/

leck ase's picture

machine if remember come back is regular there in the area moreover use glucose this is 90 over and this is I that indicates now long term this is done the indicationis their expenses me her PC I mean hate of preventing weir's up with your booksupgraded perform the next day does this does not meanthat her that we're getting off to the declares forexample the Mystics of this guide will land for situation warmachinery
http://checkbinary.com/

eiuat wirat's picture

I so it it's the exercise is not the primary driver because this is the carbon protein restriction okay welcome their body to the fact that an athlete and my first light interview and I'm really excited for tonight's guest which is John Rowland who is no on Integra as the key ok happy and I'm really excited outlook following his stuff I'll again it anybody has the heat on the girl which is a challenge for most people which one most people don't follow.
For more information, visit this site >>>>>>> http://www.optimalstackfacts.us/Try-perfect-garcinia-cambogi...

Prouti ting92's picture

I now I got to go along him but is arguing more schools Yahoo visuals part your army or you'll AG less calories less buy art buy can help draw crazed when I was growing up my mom always all me it loved every breakfast lunch dinner all the time all the time so it's really good to.
For more information, visit this site >>>>>>> http://www.optimalstackfacts.us/Try-perfect-garcinia-cambogia-and-read-i...

Tweir 1971's picture

You can aim to lose about percent of body weight let's say percent average that's pounds per week awesome I'd scales and then you say get this is my estimate a clerk in think I'm doing this much exercise I'm going to be eating these foods then you see ok am I getting this weight dropped for.
For more information, visit this site >>>>>>> http://optimalstackfacts.us/premium-cleanse-effective-waste-removal

Bellaplex's picture

That sounds like fat before anything but Went for sure doing seta mission Because extremely bloated show like it felt like you know I understand the feeling being bloated This time are this week I guess now it's kind of That Kind of far randomness if I could be my great love that not be all over place I've let me buy / sell completely adjusted to the water and now my body started reap.
For more information, visit this site >>>>>>> http://www.optimalstackfacts.us/do-not-buy-bellaplex-read-this-first/

premium cleanse 1's picture

All became mentally relax and just believe in yourself and believe in the process if you continue to progress and you continue to eat better and you continue to do more exercise is going to happen might not be organized but you will get that eventually and if you think you're going to fail you probably will a lot of people set themselves up by thinking.
For more information, visit this site >>>>>>> http://optimalstackfacts.us/premium-cleanse-effective-waste-removal

nabeel sanea's picture

Huffy is more conventiona 7muscle l and the brand has been around quite a while. Discover your style and ride for activity, satisfaction and to spare gas.
http://7muscle-buildingstrategies.com/

nabeel zneb's picture

individuals and non-part protestations express that the clothing standard, and authorization of it, oppresses certain ethnic and religious gatherings. As indicated by Title II of the 1964 Civil Rights Act, "all

http://top9musclebuilding.com/

Pages

Add new comment