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.


832 comments

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/

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/

nabeel nwim's picture

Canola Oil, Conjugated Linoleic Acid (CLA), Cocoa Powder, Maltodextrin, Digestive Resistant on you weigh! For me, I shed weight quick (elevated capacity to burn calories) so this is really something to be the catabolism that happens when you rest. Besides, for those of you that are lactose bigoted, this item
http://99buildingmuscle.com/

nabeel nwim's picture

time longer (as it is unquestionably working for me). In any case, I anticipate experimenting with Muscle Juice Revolution 2600 in a few weeks (I will post up a survey for that item later on, after I've tasted and assessed it). You can read my survey for Muscle Milk here: http://isocrates.hubpages.com/center

http://99buildingmuscle.com/

nabeel ensia's picture

when you put them through the paces. Without a warm up, muscles are significantly more prone to get harmed, here and there even extremely. Whilst each runner and jogger will know about that, the shins regularly get disregarded in a warm up. Whilst most runners and joggers will finish a hamstring stretch,

http://thefit55.com/

nabeel wnai's picture

changes with this development, step by step extend your most great time by around 5 minutes consistently remembering the deciding objective to intelligently help stamina. Never push your body too altogether, in light of the way that you would lean toward not to wind up hurting yourself. Attempt to

http://aboutbuildingmuscle1.com/

Katrina Smith's picture

experienced any issue about abundance weight, the best thing to do is to stay aware of a solid way of life which incorporates eating the right sort of nourishment combined with a decent measure of activity. On account of being overweight, there are fantastic choices that can be procured through the web. One .

http://123binaryautotrading.com/

Helga Willcox's picture

of fats, great and awful. Great fats wipe out your conduits and procedure the vitamins you devour, while the terrible fats do the inverse and stop up your veins. .

http://binaryoptions44.com/

Nathan Bclark31's picture

my workout that much, bringing about either a fair workout or no workout by any means. A shorter workout does not mean you'll need to decrease practices or anything like that. One thing that I began .

http://binaryoptionrobothelp.com/

Manuel Rodgers's picture

hormone (LH). In men, testosterones assume a primary part in the improvement of male conceptive tissues. Testosterone is one of the significant hormones and it is in charge of clear male traits like imposing voice, more grounded and higher bulk, facial and mid-section hair and the forceful masculine .

http://binaryoptionsadvice9.com/

Charles Collins's picture

great deal, you have totally removed desserts and garbage sustenance, yet you are no progression nearer to the physical shape you seek. This may be on account of despite the fact that you have surrendered garbage sustenance and sugar, you are as yet doing some dietary mix-ups. In the event that .
http://top4binaryoptionssignal.com/

Isabel Ryan's picture

ways and not permitting your body to rest or not eating enough will beyond any doubt not get you the body of your dreams.Bodybuilding nourishment has vital impact in accomplishing a splendidly formed .

http://binaryoptionsscamwatch.com/

Nancy Rodriguez's picture

admission to a degree where body does not have enough vitality and fat to construct muscles and advance development of incline bulk or in different cases individuals expand their calorie admission to a .

http://scambinaryoptionssignal.com/

Michael Ely's picture

as an intense drug. In any case, you likewise need to proceed with your physical activity to help the procedure of working out. For the most part, the constructive outcomes of steroids helps up trust in the .

http://qbinaryoptions.com/

Jessica Nevitt's picture

FitOFat cases enhance digestion system and, overcome sustenance and blood inadequacies. What's more, it enhances vitality level so that the client can .

http://binaryoptionsrip.com/

liquidmaps.Org's picture

I couldn't resist commenting. Perfectly written!

Larry Conner's picture

boxing|* Aerobics Training} {Aerobics |-Classes in or individual aerobics|* Kick Boxing} {Jogging |-Individual or gathering jogging|* Stair Steppers} {Pilates |-Classes in or singular Pilates workouts|* .

http://binaryoptions97.com/

Virginia Vila's picture

muscles after strenuous exercises/preparing. Protein additionally backs off the rate at which the body discharges starches as vitality, halting you feeling hungry .

http://binaryoptions82.com/

JoaquinSa's picture

comment_body[und][0][value]

Meghan Forbes's picture

Is possible to take products to improve HGH, but it always better to depend on the naturally produced hormonal that can come from eating the right foods. The diet plan plan consumption must be adequate for one's human body to ...

c4preworkoutgreat
gaingymjunkies
myfitnessrevealed
preworkoutmuscle
stayfitsports

kicubo's picture

Fat Loss - The main thing that this sort of expansion to general wellbeing and health does is increment the fat misfortune cycle. You will find that muscle advancement gets to be simpler when fat cells are cycled into striated strong cells. This is essentially in light of the fact that the digestion system gets an enormous spike and notwithstanding when you're resting, your body is attempting to kill all abundance fat cells.

c4preworkoutgreat
gaingymjunkies
myfitnessrevealed
preworkoutmuscle
stayfitsports

Allen Morris's picture

Target the right exercises. Stick to primary exercises like the squat, clicks, take ups and deceased raises. These exercises require extreme primary durability and will help you develop your abdominals. S....

http://intensetraningsupp.com/
http://musclesupplementsrev.com/
http://myworkoutsupp.com/
http://preworkoutfacts.com/
http://supplementreviewsabt.com/
...

kocha's picture

In the event that you resemble most little entrepreneurs, your time is your most important asset and the one thing you wish you had a greater amount of. MyVideoTalk items are not just intense, they are instinctive and simple to-use and will truly put your promoting effort on steroids.

http://intensetraningsupp.com/
http://musclesupplementsrev.com/
http://myworkoutsupp.com/
http://preworkoutfacts.com/
http://supplementreviewsabt.com/

Pages

Add new comment