I am using ports-mgmt/poudriere to create multiple pkg repositories for my systems.
There is a 'base' repository that will be provide a common set of packages across all the servers. Then there are specific repositories that have packages according to the type of server a host will be. For example, a 'webserver' repository that has Apache and PHP packages for web server type hosts and a 'wallets' repository that has a Bitcoin daemon for cryptocurrency wallet server type hosts.
On the systems I disable the FreeBSD repos by creating /usr/local/etc/pkg/repos/FreeBSD.conf with:
Then I have my repositories as follows:
Repository that all systems will have enabled.
/usr/local/etc/pkg/repos/Base.conf
Repository that only a web server will have.
/usr/local/etc/pkg/repos/Basicweb.conf
Repository that only a Bitcoin/Cryptocurrency wallet server will have.
/usr/local/etc/pkg/repos/Wallets.conf
My problem is that packages across the repositories are sometime duplicated. For example all repositories will have a copy of lang/python27 packages due to dependencies. It's not so much an issue in regards to space. It's more of an issue with package building and updating. Poudriere will need to build lang/python27 3 times.
Then there is the issue of what will happen if (by some reason) I have different versions of a dependent packages in the repositories. For example devel/icu version 53 in the 'wallets' repo and version 55 in the 'base' repo. Packages in base need 55 and packages in wallets need 53.
Is it possible to have Poudriere 'use' packages from already built repositories instead of building a new copy to avoid this situation?
poudriere bulk -j 10amd64 -z base -f base-pkglist poudriere bulk -j 10amd64 -z basicweb -f basicweb-pkglist poudriere bulk -j 10amd64 -z wallets -f wallets-pkglistThere is a 'base' repository that will be provide a common set of packages across all the servers. Then there are specific repositories that have packages according to the type of server a host will be. For example, a 'webserver' repository that has Apache and PHP packages for web server type hosts and a 'wallets' repository that has a Bitcoin daemon for cryptocurrency wallet server type hosts.
On the systems I disable the FreeBSD repos by creating /usr/local/etc/pkg/repos/FreeBSD.conf with:
Code:
FreeBSD: { enabled: no }
Then I have my repositories as follows:
Repository that all systems will have enabled.
/usr/local/etc/pkg/repos/Base.conf
Code:
Base: {
url: "http://pkg.morante.net/base/${ABI}",
enabled: yes
}
Repository that only a web server will have.
/usr/local/etc/pkg/repos/Basicweb.conf
Code:
Basicweb: {
url: "http://pkg.morante.net/basicweb/${ABI}",
enabled: yes
}
Repository that only a Bitcoin/Cryptocurrency wallet server will have.
/usr/local/etc/pkg/repos/Wallets.conf
Code:
Wallets: {
url: "http://pkg.morante.net/wallets/${ABI}",
enabled: yes
}
My problem is that packages across the repositories are sometime duplicated. For example all repositories will have a copy of lang/python27 packages due to dependencies. It's not so much an issue in regards to space. It's more of an issue with package building and updating. Poudriere will need to build lang/python27 3 times.
Then there is the issue of what will happen if (by some reason) I have different versions of a dependent packages in the repositories. For example devel/icu version 53 in the 'wallets' repo and version 55 in the 'base' repo. Packages in base need 55 and packages in wallets need 53.
Is it possible to have Poudriere 'use' packages from already built repositories instead of building a new copy to avoid this situation?