Solved Question about Poudriere and upgrades

Hi
I am using FreeBSD 11.1-RELEASE-p11.
I installed poudriere and created some packages with custom options, just for study purpose.
I would like to upgrade to 12.0, but it seems that pkg founds nothing.. I just realized that previously I disabled offical repository.
I reverted to this situation:

Code:
# cat /usr/local/etc/pkg/repos/Local.conf
Poudriere: {
  url: "file:///usr/local/poudriere/data/packages/11amd64-local"
}

FreeBSD: {
  enabled: yes
}

So, I now have both offical repository and my poudriere repository. I hope this is correct, if I still want to receive updates for my installed packages for official repository, right?

Another doubt: I used poudriere to build dovecot package with custom options. How can I distinguish between my dovecot build, and official one?

Code:
# pkg search dovecot
dovecot-2.3.1_4                Secure, fast and powerful IMAP and POP3 server
cyrus2dovecot-1.2              Convert Cyrus folders to Dovecot
dovecot-2.3.2                  Secure, fast and powerful IMAP and POP3 server
dovecot-pigeonhole-0.5.2_2     Sieve plugin for the Dovecot 'deliver' LDA and LMTP
dovecot-pigeonhole04-0.4.24    Sieve plugin for the Dovecot 'deliver' LDA and LMTP
dovecot22-2.2.36_2             Secure, fast and powerful IMAP and POP3 server

Thank you very much.
 
I am using FreeBSD 11.1-RELEASE-p11.
I installed poudriere and created some packages with custom options, just for study purpose.
I would like to upgrade to 12.0, but it seems that pkg founds nothing..
FreeBSD 12.0 doesn't exist yet as an official release, so I seriously doubt you want to upgrade. FreeBSD 12.0, also known as CURRENT, is a so called developer snapshot. It's unstable, there's no guarantee that the thing will even boot or run, and it's main use is basically to help bugfix issues. This is also one of the reasons why CURRENT is unsupported on this forum, see here:

Topics about unsupported FreeBSD versions

Considering your inexperience I highly doubt that this is what you want ;)

So, I now have both offical repository and my poudriere repository. I hope this is correct, if I still want to receive updates for my installed packages for official repository, right?
No you don't. In fact, this configuration is way off.

You do not want to mix ports and packages because in the longer run that has some serious potential to totally disrupt your system where software management is concerned. Either you install binary packages using commands such as pkg install <package> or you use the Ports collection to build your ports manually. But not both.

So either use the official repository and install your software through binary packages. OR build the ports yourself and then use that to maintain your software. So in this case you'd want either one of those repositories, but not both.

Another doubt: I used poudriere to build dovecot package with custom options. How can I distinguish between my dovecot build, and official one?
You don't. That's why you shouldn't mix ports and packages.

A binary package is nothing more but a port which got pre-compiled elsewhere using default settings. No more, no less. Building a port yourself basically follow the same procedure, with the main difference that you'd usually use a customized setup.

But in the end building a port is nothing more but building and packaging the software, then installing the package which got build. See also ports(7).
 
Hi ShelLuser, sorry, I meant FreeBSD 11.2.
I agree with you that mixing ports and packages is a bad/confusing thing.
I did this because of some needing about dovecot and postfix.
I followed SirDice's suggestion on Thread 62606 thread, but maybe I misundertood some point.
Basically I would like to know: if I need some custom option for just 1 port, it is better to use all ports?
I throught that poudriere were a "clean" solution.
Thank you again.
 
Hi ShelLuser, sorry, I meant FreeBSD 11.2.
Ok, that changes things ;)

Basically I would like to know: if I need some custom option for just 1 port, it is better to use all ports?
Heavily depends on the port.

Generally speaking: Yes, it's better to use all ports. Poudriere can provide a nice solution to build the ports and create packages which you can then install on your main host.

However... it may be possible (and feasible!) to work around this issue. Because building and maintaining ports can be very time consuming.

The main problem of mixing ports and binary packages is that packages are build against default options and expect the same thing from their dependencies. So... if this is a port which only has dependencies and isn't relied upon and if you only enable build options instead of disabling them... well, then I think you could be in the clear.

A lot depends on the port and its dependencies though. And what package repository you'd use to install your software.

Which brings me to another problem with mixtures: versions. The ports collection has pretty much the latest available version(s) of any software, but a binary repository might not follow that. So if that port has any dependencies which are also required by other packages you could run into issues. Mainly due to differences in versions.

So yeah, what port?
 
Dear circus78,
in case you want to use ports but have no need to follow the bleeding edge you could use the svn repository of quarterly instead of latest. Compiling monsters as all incarnations of devel/llvm or devel/gcc because some dependency as received a minor upgrade in latest is no fun. And due to the size of that monsters devel/ccache does not help anymore.
 
I would suggest building everything you need with Poudriere and disable the official FreeBSD repository. Because everything will come from your own repository there's no fear of conflicts or dependency issues (unless you yourself screwed up with options/features).
 
Back
Top