Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

repackaging mangles some bits #9

Closed
bmwiedemann opened this issue Sep 5, 2018 · 7 comments
Closed

repackaging mangles some bits #9

bmwiedemann opened this issue Sep 5, 2018 · 7 comments

Comments

@bmwiedemann
Copy link
Member

bmwiedemann commented Sep 5, 2018

In addition to #8 there are some more bits that vary between local osc build (without signing) and the repackaged server-side build.

Anyone can use a osc checkout home:bmwiedemann:reproducible:pesign and the nachbau script from
https://github.com/bmwiedemann/reproducibleopensuse
to generate such diffs

vhba-kmp has the minimum diff of:

comparing PROVIDES
-kernel-uname-r 8 4.18.5-1-default
+kernel-uname-r 16392 4.18.5-1-default

xtables-addons has a lot more

 ___QF_PROVIDES___
-libxt_ACCOUNT.so()(64bit) 0
-libxt_ACCOUNT_cl.so.0()(64bit) 0
+libxt_ACCOUNT.so()(64bit) 32768
+libxt_ACCOUNT_cl.so.0()(64bit) 32768

-/bin/sh 0
+/bin/sh 16384
 /sbin/ldconfig 1280
 /sbin/ldconfig 4352
-/usr/bin/perl 0
-libc.so.6()(64bit) 0
-libc.so.6(GLIBC_2.2.5)(64bit) 0
-libc.so.6(GLIBC_2.3)(64bit) 0
-libc.so.6(GLIBC_2.3.4)(64bit) 0
-libc.so.6(GLIBC_2.4)(64bit) 0
-libxt_ACCOUNT_cl.so.0()(64bit) 0
-libxtables.so.12()(64bit) 0
+/usr/bin/perl 16384
+libc.so.6()(64bit) 16384

-/usr/share/doc/packages/xtables-addons 0 (none) 40755 root root 0 4294966784
+/usr/share/doc/packages/xtables-addons 0 (none) 40755 root root 0 0

Many of the diffs in rpmtags come from

lib/rpmds.h:    RPMSENSE_FIND_REQUIRES = (1 << 14), /*!< find-requires generated dependency. */
lib/rpmds.h:    RPMSENSE_FIND_PROVIDES = (1 << 15), /*!< find-provides generated dependency. */
lcp added a commit that referenced this issue Sep 10, 2018
As reported in issue#9(*), REQUIRES and PROVIDES were also missing.

Per rpmds.h:
RPMSENSE_FIND_REQUIRES = (1 << 14), /*!< find-requires generated dependency. */
RPMSENSE_FIND_PROVIDES = (1 << 15), /*!< find-provides generated dependency. */

(*) #9

Signed-off-by: Gary Lin <glin@suse.com>
@lcp
Copy link
Contributor

lcp commented Sep 10, 2018

Added the two missing flags in 7eca70b

@lcp lcp closed this as completed Sep 10, 2018
@bmwiedemann
Copy link
Member Author

Tested your patch and it breaks the kmp build:

[   68s] + rpmbuild --define '%buildroot /home/abuild/rpmbuild/BUILDROOT/pesign-repackage-1.0-37.5.i386' --define '%disturl obs://build.opensuse.org/home:bmwiedemann:reproducible:pesign/openSUSE_Factory/6fc8ed725e1f4cb7c62b758227f1d2fe-vhba-kmp' --define '%_builddir /home/abuild/rpmbuild/BUILD/pesign-repackage-1.0' --define '%_suse_insert_debug_package %{nil}' -bb repackage.spec
[   68s] error: line 47: Bad Requirename: qualifiers: requires(requires): kernel-uname-r = 4.18.6-1-default

@lcp lcp reopened this Sep 11, 2018
lcp added a commit that referenced this issue Sep 11, 2018
This reverts commit 7eca70b.

The commit caused build error:
#9 (comment)

Signed-off-by: Gary Lin <glin@suse.com>
@lcp
Copy link
Contributor

lcp commented Nov 22, 2018

One possible solution is to skip those dependencies of Requires and Provides with RPMSENSE_FIND_REQUIRES or RPMSENSE_FIND_PROVIDES and enable find-requires and find-provides scripts.
lcp@b19e313

However, this patch may introduce a side effect. If the original package uses customized find-requires and find-provides scripts, the repackaged rpm may be wrong.

@bmwiedemann
Copy link
Member Author

FIND_REQUIRES + FIND_PROVIDES issues are fixed by #14
%license flag passing is done by #13
%doc dir verify-flag issues are fixed by rpm-software-management/rpm#656

With these, the only diff left is from the actual signing of .ko and .efi files.
=> closing

@lcp
Copy link
Contributor

lcp commented Apr 15, 2019

Reopen since the find_provides fix causes a build failure :-(
https://build.opensuse.org/request/show/693110

@lcp lcp reopened this Apr 15, 2019
@lcp
Copy link
Contributor

lcp commented Apr 15, 2019

QUOTE:
This one seems to be responsible to cause some issues - espcially with virtualbox.

virtualbox-guest-x11 packages libGL1.so.1 - the .spec file has a __provides_exclude libE?GL.so.1 - yet, with this submission in the staging, virtualbox-guest-x11 DOES provide libGL.so.1 - causing issues and troubles

This seems to be cause by patch 0002-Enable-find_provides-and-requires.patch

@lcp
Copy link
Contributor

lcp commented Jul 22, 2020

The find_provides/requires patch is now applied again since virtualbox-kmp is split from the main package, so we can finally close this issue :)

@lcp lcp closed this as completed Jul 22, 2020
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

No branches or pull requests

2 participants