FS#42869 - [lzo] PKGBUILD provides listed as lzo2 instead of lzo

Attached to Project: Arch Linux
Opened by Melissa Padilla (mpadilla2) - Friday, 21 November 2014, 22:22 GMT
Last edited by Anatol Pomozov (anatolik) - Tuesday, 30 December 2014, 19:09 GMT
Task Type Bug Report
Category Packages: Core
Status Closed
Assigned To Anatol Pomozov (anatolik)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:
Openvpn has changed it's dependency to reflect the rename of lzo2 to lzo. However, it still fails when trying to use lzo. This is due to lzo PKGBUILD provides value as lzo2 instead of lzo.

Additional info:
* package version(s)
2.08-3
* config and/or log files etc.
The PKGBUILD uses:
provides=("lzo2=$pkgver")
replaces=('lzo2')
conflicts=('lzo2')

Proposed PKGBUILD:
pkgrel=4
provides=("lzo2=$pkgver" "lzo=$pkgver")
replaces=('lzo2' 'lzo')
conflicts=('lzo2' 'lzo')

Steps to reproduce:
1. Install lzo 2.08-3
2. Install openvpn and configure with comp-lzo
3. Start openvpn
4. Note that openvpn will not start.
Nov 21 10:11:49 STORAGE openvpn@UNS[2289]: library versions: OpenSSL 1.0.1j 15 Oct 2014, LZO 2.08
Nov 21 10:11:49 STORAGE openvpn@UNS[2289]: NOTE: the current --script-security setting may allow this configuration to call user-defined scripts
Nov 21 10:11:49 STORAGE openvpn@UNS[2289]: Cannot initialize LZO compression library
Nov 21 10:11:49 STORAGE openvpn@UNS[2289]: Exiting due to fatal error
5. rebuild lzo with modified PKGBUILD as noted above to provide, replace, and conflict with lzo.
6. Upgrade package lzo.
7. restart openvpn and note there are no longer any errors as openvpn now sees that lzo provides lzo.

Reference: https://wiki.archlinux.org/index.php/PKGBUILD#provides
This task depends upon

Closed by  Anatol Pomozov (anatolik)
Tuesday, 30 December 2014, 19:09 GMT
Reason for closing:  Fixed
Additional comments about closing:  Previous reopen was related to an ARM specific issue
Comment by Melissa Padilla (mpadilla2) - Friday, 21 November 2014, 22:29 GMT
Forgot to add the reference to the rename of lzo2 to lzo which states to modify PKGBUILDs to use lzo.
https://www.archlinux.org/todo/lzo2-lzo-rename/
Comment by Dave Reisner (falconindy) - Friday, 21 November 2014, 22:37 GMT
Providing $pkgname is wholly redundant. While your process may have worked, I think you're attributing a fix to the wrong change.
Comment by Doug Newgard (Scimmia) - Friday, 21 November 2014, 22:38 GMT
Nope, packages automatically "provide" their pkgname. Your issue has nothing to do with the provides line, more likely the rebuild itself is what fixed it for you. Figure out what's different between your rebuild and the package in the repos.
Comment by Melissa Padilla (mpadilla2) - Friday, 21 November 2014, 22:55 GMT
Thank you for the feedback. The difference between my rebuild and the package in the repo is that I changed the provides line to include lzo. Feedback?
Comment by Dave Reisner (falconindy) - Friday, 21 November 2014, 22:58 GMT
You also rebuilt the package. What happens if you rebuild it without your change to provides?
Comment by Doug Newgard (Scimmia) - Friday, 21 November 2014, 22:59 GMT
And what happens when you rebuild it with your changes, but in a clean chroot? There is most likely something on your system that is being detected at build time and being built into the lzo library which is then making it work.
Comment by Melissa Padilla (mpadilla2) - Friday, 21 November 2014, 23:22 GMT
This has been a learning experience. Thank you. A rebuild without any of those changes does indeed make everything work.
Comment by Doug Newgard (Scimmia) - Friday, 21 November 2014, 23:24 GMT
So now the question is why? What is different about your rebuilt package that makes it work?
Comment by Melissa Padilla (mpadilla2) - Friday, 21 November 2014, 23:26 GMT
How do I go about determining that? I don't have a clue where to begin.
Comment by Doug Newgard (Scimmia) - Friday, 21 November 2014, 23:32 GMT
First think I would do is compare files. If they're the same (they most likely are), I would see what the libraries are linked to. Use `objdump -p <filename> | grep NEEDED` on the libraries of the new package and of the old package, see if the lists are the same.
Comment by Doug Newgard (Scimmia) - Monday, 24 November 2014, 04:03 GMT
If rebuilding the package fixes it, it is lzo related.
Comment by Anatol Pomozov (anatolik) - Monday, 24 November 2014, 04:12 GMT
2.08-3 has been released 2014-07-31, openvpn 2014-11-02, thus openvpn was already built with current version lzo. I do not see how it can be lzo related.
Comment by Anatol Pomozov (anatolik) - Monday, 24 November 2014, 04:14 GMT
Googling says that this problem appears on ARMs (it looks like incorrect architecture linking problem). What platform do you use?
Comment by Anatol Pomozov (anatolik) - Monday, 24 November 2014, 04:17 GMT
Here is more detailed explanation of the ARM problem with lzo https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=757037#32

Loading...