View previous topic :: View next topic |
Author |
Message |
krinn Watchman


Joined: 02 May 2003 Posts: 7475
|
Posted: Fri May 13, 2016 7:27 am Post subject: |
|
|
binary server would make sense only if it would provide per useflags binary package for a gentoo, else you get the same as any binary distro, limited by the server owner choice over the binary.
while gentoo support binary, it doesn't handle them "as it should".
look:
Code: | [ebuild R ] net-fs/nfs-utils-1.3.3::gentoo USE="libmount nfsidmap nfsv4 tcpd uuid -caps -ipv6 -kerberos -nfsdcld -nfsv41 (-selinux)" 0 KiB |
if you try to use the binary of nfs-utils your system will be different and it will lead to breakage as the nfs-utils might be link against another lib and your system might miss it because on your system you have USE="-libmount" for nfs-utils.
while for most users, it will works, because they will use the same useflags on their two system, so any deps of nfs-utils from the server is also a dep in the other system.
But for a real binary server, you need to produce all versions of nfs-utils with useflags enable/disable to feed anyone needs.
and gentoo binary package format is not ready for it, if the useflag doesn't match you can have portage stop using the binary, but you cannot have two binaries on the same system using two different useflags to provide them to anyone as portage name it the same : nfs-utils-1.3.3.tbz2
It would work if portage were using a specific name for a binary: nfs-utils-1.3.3-libmount-nfsv4.tbz2 (libmount and nfsv4 enable, all other useflag off) and nfs-utils-1.3.3-libmount.tbz2 (libmount enable, all other off)...
this way portage would be allow to feed the proper binary need for any users, making a central binary server doable.
while it is acceptable for any users to use binary from tinderbox, it's only because users are accepting to break anything to get one feature back, you don't care to break nfs-utils or anything if you have a broken toolchain, so it's acceptable to have a working toolchain from tinderbox at the cost of any other package breakage, because as soon as toolchain is back running, you can rebuild anything that has been broken.
ps: note that portage do record the useflags use to build the binary in the binary package, but the package itself will always be the same name, making portage aware of the useflags that were used when building it, but unable to produce different binary versions of the package. |
|
Back to top |
|
 |
szatox Advocate

Joined: 27 Aug 2013 Posts: 3656
|
Posted: Fri May 13, 2016 6:22 pm Post subject: |
|
|
Quote: | if the useflag doesn't match you can have portage stop using the binary, but you cannot have two binaries on the same system using two different useflags to provide them to anyone as portage name it the same : nfs-utils-1.3.3.tbz2 | You can
Code: | # grep FEATU /etc/portage/make.conf
FEATURES="binpkg-multi-instance"
|
Your other points are still valid. A public build host is not feasible. |
|
Back to top |
|
 |
krinn Watchman


Joined: 02 May 2003 Posts: 7475
|
Posted: Fri May 13, 2016 11:07 pm Post subject: |
|
|
hey thanks szatox! didn't knew this one.
if what i read in the man page is correct, it should be possible to do a central public repo, as even if you are not aware of the one you need by its name, portage should be able to figure out what version of the package you need.
interesting, i will have a look at that feature. |
|
Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|