Skip to content

[DEBIAN] Preserved prebuilt x64 guest shim in source packages - #4690

Merged
ptitSeb merged 1 commit into
ptitSeb:mainfrom
zqb-all:preserve-prebuilt-so
Nov 12, 2026
Merged

ptitSeb merged 1 commit into
ptitSeb:mainfrom
zqb-all:preserve-prebuilt-so

Conversation

@zqb-all

@zqb-all zqb-all commented Nov 10, 2026 •

Copy link
Copy Markdown
Contributor

dpkg-source drop *.so, use .so.1 to bypass

@ksco

ksco commented Nov 10, 2026

Copy link
Copy Markdown
Collaborator

Not sure I understand this, why would we need this?

@zqb-all

zqb-all commented Nov 10, 2026

Copy link
Copy Markdown
Contributor Author

dpkg-source drop *.so

bianbu@D102:~$ dpkg-source --format='3.0 (native)' -b box64
dpkg-source: info: using source format '3.0 (native)'
dpkg-source: info: building box64 in ./box64_0.4.4.tar.xz
dpkg-source: info: building box64 in ./box64_0.4.4.dsc
bianbu@D102:~$ tar -tf ./box64_0.4.4.tar.xz | grep 'libwemeet_unlock_shim.so' 

This patch attempts to bypass this rule. But I now feel this approach is too complicated; I'll look for a simpler method.

@zqb-all
zqb-all marked this pull request as draft November 10, 2026 07:57
@ksco

ksco commented Nov 10, 2026

Copy link
Copy Markdown
Collaborator

okay, but this is not the first .so binary we ship, how others bypass the check?

@zqb-all

zqb-all commented Nov 10, 2026

Copy link
Copy Markdown
Contributor Author

It seems that by default only *.so files are deleted, so renaming it to libwemeet_unlock_shim.so.1 will also keep it.

@zqb-all
zqb-all force-pushed the preserve-prebuilt-so branch from 68bdb68 to 61c5748 Compare November 10, 2026 15:16
@zqb-all
zqb-all marked this pull request as ready for review November 10, 2026 15:17
dpkg-source drop *.so, use .so.1 to bypass
@zqb-all

zqb-all commented Nov 10, 2026

Copy link
Copy Markdown
Contributor Author

Alternatively, we can modify the Debian configuration file to stop filtering out .so files:
https://www.debian.org/doc/manuals/debmake-doc/ch08.en.html#tar-ignore

Its changes would be similar to:

diff --git a/debian/source/options b/debian/source/options                                                                                          
new file mode 100644                                                                                                                                
index 000000000..7a80e66ba                                                                                                                          
--- /dev/null                                                                                                                                       
+++ b/debian/source/options                                                                                                                         
@@ -0,0 +1,37 @@                                                                                                                                    
+# Keep the usual dpkg-source tar exclusions, except *.so: the prebuilt                                                                             
+# x86_64 guest shim is required by the package install step.                                                                                       
+tar-ignore=*.a                                                                                                                                     
+tar-ignore=*.la                                                                                                                                    
+tar-ignore=*.o                                                                                                                                     
+tar-ignore=.*.sw?                                                                                                                                  
+tar-ignore=*/*~                                                                                                                                    
+tar-ignore=,,*                                                                                                                                     
+tar-ignore=.[#~]*                                                                                                                                  
+tar-ignore=.arch-ids                                                                                                                               
+tar-ignore=.arch-inventory                                                                                                                         
+tar-ignore=.be                                                                                                                                     
+tar-ignore=.bzr                                                                                                                                    
+tar-ignore=.bzr.backup                                                                                                                             
+tar-ignore=.bzr.tags                                                                                                                               
+tar-ignore=.bzrignore                                                                                                                              
+tar-ignore=.cvsignore                                                                                                                              
+tar-ignore=.deps                                                                                                                                   
+tar-ignore=.git                                                                                                                                    
+tar-ignore=.gitattributes                                                                                                                          
+tar-ignore=.gitignore                                                                                                                              
+tar-ignore=.gitmodules                                                                                                                             
+tar-ignore=.gitreview                                                                                                                              
+tar-ignore=.hg                                                                                                                                     
+tar-ignore=.hgignore                                                                                                                               
+tar-ignore=.hgsigs                                                                                                                                 
+tar-ignore=.hgtags                                                                                                                                 
+tar-ignore=.mailmap                                                                                                                                
+tar-ignore=.mtn-ignore                                                                                                                             
+tar-ignore=.shelf                                                                                                                                  
+tar-ignore=.svn                                                                                                                                    
+tar-ignore=CVS                                                                                                                                     
+tar-ignore=DEADJOE
+tar-ignore=RCS                                                                                                                                     
+tar-ignore=_MTN                                                                                                                                    
+tar-ignore=_darcs                                                                                                                                  
+tar-ignore={arch}

This long list was generated by LLM. I’m just pasting it here to help illustrate the general form of the changes.

@ksco ksco left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm okay with the current patch.

@ksco
ksco requested a review from ptitSeb November 12, 2026 07:57
@ksco ksco changed the title debian: preserve prebuilt x64 guest shim in source packages [DEBIAN] preserve prebuilt x64 guest shim in source packages Nov 12, 2026
@ksco ksco changed the title [DEBIAN] preserve prebuilt x64 guest shim in source packages [DEBIAN] Preserved prebuilt x64 guest shim in source packages Nov 12, 2026
@ptitSeb
ptitSeb merged commit 397150c into ptitSeb:main Nov 12, 2026
29 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants