Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 833052 - dev-games/irrlicht-mt: package headers separately to facilitate use on headless systems
Summary: dev-games/irrlicht-mt: package headers separately to facilitate use on headle...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal enhancement
Assignee: Marek Szuba (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-02-10 08:07 UTC by timorl
Modified: 2022-02-10 15:59 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description timorl 2022-02-10 08:07:01 UTC
Attempting to install a headless version of Minetest (USE="-client server") pulls in X despite no need for graphical display. This is essentially a regression of 706372 (sorry for no link, new account), that happened due to switching to the Minetest irrlicht fork (795000, although this specific bug did not result in that switch).

Could y'all split irrlicht-mt into two packages, just as happened with irrlicht? Or is there a better solution?
Comment 1 Larry the Git Cow gentoo-dev 2022-02-10 12:19:50 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2dcff97b0f0973f792e22a534c97811b3267472b

commit 2dcff97b0f0973f792e22a534c97811b3267472b
Author:     Marek Szuba <marecki@gentoo.org>
AuthorDate: 2022-02-10 12:08:30 +0000
Commit:     Marek Szuba <marecki@gentoo.org>
CommitDate: 2022-02-10 12:19:38 +0000

    dev-games/irrlicht-mt: headers live in a separate package now
    
    Note that src_compile still uses bundled headers. This is intentional -
    if they are not the same as those from dev-games/irrlicht-mt-headers
    something is SERIOUSLY wrong, and that way we do not have to mess with
    build scripts.
    
    Closes: https://bugs.gentoo.org/833052
    Signed-off-by: Marek Szuba <marecki@gentoo.org>

 ...licht-mt-1.9.0.4.ebuild => irrlicht-mt-1.9.0.4-r1.ebuild} | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

Additionally, it has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fe37d4f1a92f14c1dfc545a69fbca203c3952b1a

commit fe37d4f1a92f14c1dfc545a69fbca203c3952b1a
Author:     Marek Szuba <marecki@gentoo.org>
AuthorDate: 2022-02-10 12:13:44 +0000
Commit:     Marek Szuba <marecki@gentoo.org>
CommitDate: 2022-02-10 12:19:39 +0000

    games-action/minetest-5.5.0: only the client needs full IrrlichtMT
    
    Server code only uses the headers (see Bug #706372) so by limiting
    dev-games/irrlicht-mt dependency to USE=client we make it possible not
    to pull in X libraries on headless servers.
    
    Bug: https://bugs.gentoo.org/833052
    Signed-off-by: Marek Szuba <marecki@gentoo.org>

 games-action/minetest/minetest-5.5.0.ebuild | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
Comment 2 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2022-02-10 12:21:30 UTC
Appreciate it's an edge case but maybe worth adding a blocker for older irrlicht-mt in headers package (versions with unsplit headers)?
Comment 3 Marek Szuba (RETIRED) archtester gentoo-dev 2022-02-10 12:32:06 UTC
No such versions are left in the tree and pkgcommit has just told me to remove that blocker - so no.
Comment 4 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2022-02-10 12:49:05 UTC
(In reply to Marek Szuba from comment #3)
> No such versions are left in the tree and pkgcommit has just told me to
> remove that blocker - so no.

1. Have =dev-games/irrlicht-mt-1.9.0.4 installed
2. Merge =dev-games/irrlicht-mt-headers-1.9.0.4.
3. Get colllision.

 * dev-games/irrlicht-mt-1.9.0.4:0::gentoo                                      
 *      /usr/include/irrlichtmt/CVertexBuffer.h                                 
 *      /usr/include/irrlichtmt/EAttributes.h                                   
 *      /usr/include/irrlichtmt/EFocusFlags.h                                   
 *      /usr/include/irrlichtmt/EGUIAlignment.h                                 
 *      /usr/include/irrlichtmt/IAttributes.h                                   
 *      /usr/include/irrlichtmt/ICameraSceneNode.h                              
 *      /usr/include/irrlichtmt/IGUIComboBox.h                                  
 *      /usr/include/irrlichtmt/IGUIImage.h                                     
 *      /usr/include/irrlichtmt/IImageWriter.h                                  
 *      /usr/include/irrlichtmt/IMeshCache.h                                    
 *      /usr/include/irrlichtmt/IMeshManipulator.h                              
 *      /usr/include/irrlichtmt/IMeshWriter.h                                   
 *      /usr/include/irrlichtmt/ISceneCollisionManager.h                        
 *      /usr/include/irrlichtmt/ISkinnedMesh.h                                  
 *      /usr/include/irrlichtmt/ITimer.h                                        
 *      /usr/include/irrlichtmt/IWriteFile.h                                    
 *      /usr/include/irrlichtmt/IrrCompileConfig.h                              
 *      /usr/include/irrlichtmt/S3DVertex.h                                     
 *      /usr/include/irrlichtmt/SMaterial.h                                     
 *      /usr/include/irrlichtmt/line3d.h                                        
 *                                                                              
 * Package 'dev-games/irrlicht-mt-headers-1.9.0.4' NOT merged due to file       
 * collisions. If necessary, refer to your elog messages for the whole          
 * content of the above message.                                                

It's contrived but possible and users do fun things like partial upgrades all the time (or maybe forget to p.accept_keywords unconditionally).
Comment 5 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2022-02-10 12:50:27 UTC
(it wouldn't actually happen naturally, only if someone deliberately tried to emerge the headers before upgrading the main package, but it's still possibly going to get noticed by tinderboxes.)