# Poudrière - Setting Options



## poorandunlucky (Nov 19, 2017)

So I finally caved-in and installed Poudrière, and I don't regret it, however, after building Firefox, I'm now trying to build other ports, and so I gingerly type p`oudriere options -j jailname -p profilename x11/something` and it's asking me for options for things like LLVM4.0 (which I really don't want to have to build again).

wut do?

Why is it asking me for the options for ports that are already built?  I don't want to have to rebuild everything from scratch at every port I try to build, that's insane...


----------



## rigoletto@ (Nov 19, 2017)

You can change the options all the time. The point is, if the options for some ports was already set or not. When already set ports-mgmt/poudriere will not ask for that again (by default).

So, if the port was already built with default options and you do not change those options, ports-mgmt/poudriere will not rebuild those ports unless there is another reason for that.

I usually do not use ports-mgmt/poudriere to set options because I do not like to have a ton of ports set with defaults. I set them using `make config` (Poudriere does `make config-recursive`), and then I move the folder to the ports-mgmt/poudriere proper folder.


----------



## poorandunlucky (Nov 19, 2017)

lebarondemerde said:


> You can change the options all the time. The point is, if the options for some ports was already set or not. When already set ports-mgmt/poudriere will not ask for that again (by default).
> 
> So, if the port was already built with default options and you do not change those options, ports-mgmt/poudriere will not rebuild those ports unless there is another reason for that.
> 
> I usually do not use ports-mgmt/poudriere to set options because I do not like to have a ton of ports set with defaults. I set them using `make config` (Poudriere does `make config-recursive`), and then move the folder to the ports-mgmt/poudriere proper folder.



I like to set the options for all the dependencies manually...  When I used to just use make in the ports directory, I always used to run make config-recursive multiple times to make sure everything was set-up properly...

I tried to build Cinnamon earlier, and it was asking me to set the options for ports I know I already set the options for when compiling Firefox...  Maybe it's because the ports aren't installed in the jail?  I'm not familiar enough with programming and packages to really understand how Poudriere likely works...  Sadly, there's no real webpage really dedicated to it, just a very basic "wiki" if you can even call it that...


----------



## rigoletto@ (Nov 19, 2017)

There are the `man poudriere` or poudriere(8). 

EDIT: BTW, Cinnamon is know to be broken and probably will not be fixed any time soon since there is very little interest for it among FreeBSD users, and it seem to be quite tied with Gnome3 what is a pain because it is close tied with the "glorious" Linux SystemD crap.

EDIT_2: you can have look in HERE.


----------



## poorandunlucky (Nov 19, 2017)

lebarondemerde said:


> There are the `man poudriere` or poudriere(8).
> 
> EDIT: BTW, Cinnamon is know to be broken and probably will not be fixed any time soon since there is very little interest for it among FreeBSD users, and it seem to be quite tied with Gnome3 what is a pain because it is close tied with the "glorious" Linux SystemD crap.
> 
> EDIT_2: you can have look in HERE.



Oh?  I thought its lightweightness/modularity and the fact that it seems clean would've made it a top choice among FreeBSD users...

There's many screenshots of really nice-looking DEs based on FreeBSD out there, some use Gnome and Compiz, but then, again, I'm not super familiar with X, the various components of a DE, Free(/Open?)Desktop, and there's also Wayland coming that makes it kinda uninteresting to really learn too much about any of that stuff because it's all probably going to be severely updated/different when X is replaced...

I'm using KDE right now, and it's nice and fast, especially considering how many visual effects are involved, but I'm kinda disappointed at its own configuration applets, and overall integration within itself (how well all the components are composed into a unitary DE)...  I think it's not quite as polished as I would've hoped...  My point was, though, that even if KDE works fine and is nicely customizable and all, I'm still curious what other DEs have to offer...  Cinnamon felt like it had potential, the little I managed to make it run.

XFCE used to be my DE of choice, but times have changed...  Enlightenment is nice, but lacks in actual usability... it's a bit too much "in a world of its own", as some people describe it...  Gnome is ...  did I try Gnome 3?  I'm not sure if I tried it, and it was too slow, or what...  I just remember I didn't like it, and understood why Cinnamon had forked from Gnome 2...

I could build Cinnamon, but when trying to launch it, there was that problem where it goes into failsafe, and enters a loop where it asks to reload...  On the terminal from which X is launched, you can see Cinnamon going through the themes directory, parsing the themes it, itself, installed, but not finding what it's looking for in the folders, somehow...  I was hoping building it with Poudriere would help, and trying to do so, it was asking me to set the options for several ports I was sure having configured and built for Firefox, and when it asked me to configure LLVM4 (which took maybe 5 hours to compile on its own), I was like "hm, something's not right..." and I came to ask...


----------



## rigoletto@ (Nov 19, 2017)

I do not have any data but I think most FreeBSD desktop users actually use WMs like x11-wm/i3, x11-wm/bspwm, x11-wm/openbox, x11-wm/fluxbox etc. etc. etc.

The DE of choice among FreeBSD folks I think is XFCE.

The KDE in the ports tree is the very old (and dead upstream) KDE4. The current KDE5 is still in the porting process but should hit the official tree soon, it seems. However, you can use it if you switch to Area51. There is a Thread 47280 going on about that.

EDIT: Oh, there is also x11/lumina which is a DE made around FreeBSD (and not Linux). While it is still in its infancy it is very usable. Lumina.


----------



## poorandunlucky (Nov 19, 2017)

lebarondemerde said:


> I do not have any data but I think most FreeBSD desktop users actually use WMs like x11-wm/i3, x11-wm/bspwm, x11-wm/openbox, x11-wm/fluxbox etc. etc. etc.
> 
> The DE of choice among FreeBSD folks I think is XFCE.
> 
> ...



I'll check those out...

Meanwhile, do you know how to run Poudrière so it doesn't clean (run make clean) when it's done?  That would prevent it from building ports that are build dependencies, I think...

Also, did you install anything in the Poudrière jail?  Like, is it best for me to keep it as it is, or to install things like LLVM 4 and 5, Perl, Python, etc. so I don't have to build those every time I want to build something?

Like what's a list of things I should install in the Poudrière jail?


----------



## rigoletto@ (Nov 19, 2017)

> Meanwhile, do you know how to run Poudrière so it doesn't clean (run make clean) when it's done? That would prevent it from building ports that are build dependencies, I think...



There is a option in the manual what allow it for the failed packages, for debugging purposes.

Anyway, ports-mgmt/poudriere just rebuild something what was already built if there is a reason for that, it does not rebuild dependencies all the time.



> Also, did you install anything in the Poudrière jail? Like, is it best for me to keep it as it is, or to install things like LLVM 4 and 5, Perl, Python, etc. so I don't have to build those every time I want to build something?
> 
> Like what's a list of things I should install in the Poudrière jail?



You should do nothing in the ports-mgmt/poudriere jails, never. It is used in a complete automatized way. Build the packages, and test them. Basically THIS.


----------



## poorandunlucky (Nov 19, 2017)

lebarondemerde said:


> There is a option in the manual what allow it for the failed packages, for debugging purposes.
> 
> Anyway, ports-mgmt/poudriere just rebuild something what was already built if there is a reason for that, it does not rebuild dependencies all the time.
> 
> You should do nothing in the ports-mgmt/poudriere jails, never. It is used in a complete automatized way. Build the packages, and test them. Basically THIS.



That's what I was afraid of...  : \

It's not that I mind, really, it's just that it takes forever to set-up the options, and LLVM on its own takes maybe 4 hours to build, and often it's needed to build ports, so while it's being built, I have many cores that are idling...

Come to think of it, that might be a problem...  I know Poudrière uses as many builders as there are cores, but what happens in instances where there's only one build?  Does that one build only use one core?


----------



## rigoletto@ (Nov 19, 2017)

Poudriere will not build LLVM everytime it build something what does need it, just when it is needed for some reason.



> Come to think of it, that might be a problem... I know Poudrière uses as many builders as there are cores, but what happens in instances where there's only one build? Does that one build only use one core?



You can change that in the ports-mgmt/poudriere config file...

I have 8 cores and 16GB RAM. I use 4 builder and 8 jobs. Same I used to use in ports-mgmt/synth.

BTW, the objective of building packages in a jail (or `chroot` in the case of ports-mgmt/synth) instead of in the Live System is to build packages in a complete pristine/clean environment. So, that the reason of not touching in the ports-mgmt/poudriere jails, otherwise would not be different of using ports-mgmt/portmaster bar the fact the lack repository creation of the last.


----------



## poorandunlucky (Nov 19, 2017)

lebarondemerde said:


> Poudriere will not build LLVM everytime it build something what does need it, just when it is needed for some reason.
> 
> You can change that in the ports-mgmt/poudriere config file...
> 
> ...



I'm makin' a list, and checking it twice, gonna find out who's building or dice, Poudrière is building, fortnight!


----------



## jb_fvwm2 (Nov 20, 2017)

lebarondemerde said:


> Poudriere will not build LLVM everytime it build something what does need it, just when it is needed for some reason.
> 
> 
> 
> ...


 
Seems poudriere could use a quickstart guide available to those not
having yet installed poudriere NOR synth, an equivalent for synth,
and a pro/con for "then use synth, then use poudriere" for each set
of persons, only 2 machines, ten machines, machines across the WAN,...
[ not complaining, just apologizing for the lack of time myself... ]


----------



## poorandunlucky (Nov 21, 2017)

jb_fvwm2 said:


> Seems poudriere could use a quickstart guide available to those not
> having yet installed poudriere NOR synth, an equivalent for synth,
> and a pro/con for "then use synth, then use poudriere" for each set
> of persons, only 2 machines, ten machines, machines across the WAN,...
> [ not complaining, just apologizing for the lack of time myself... ]



Well, now I think Poudriere is how ports should be implemented... it's just presented as a third-party add-on... I think it's normal that people wonder "do I need it?" and "should I really use it?" when presented with the option to, especially since on top of that, it's presented as something that you may not want to use...

It's obvious to me now that ports should all be built in a jail as Poudriere does, and that it's robust, and complete, but in my mind, using Poudriere was a cop-out, not the "proper way"... it was a crutch, not one of those things you use when climbing mountains... little hammer thingy..?  Anyway.  Poudriere is awesome.


----------

