Package Details: libmysofa 0.7-1

Git Clone URL: https://aur.archlinux.org/libmysofa.git (read-only)
Package Base: libmysofa
Description: C library to read HRTFs if they are stored in the AES69-2015 SOFA format
Upstream URL: https://hoene.github.io/libmysofa/
Licenses: BSD
Submitter: dbermond
Maintainer: dbermond
Last Packager: dbermond
Votes: 17
Popularity: 0.348317
First Submitted: 2017-06-10 18:01
Last Updated: 2019-04-03 00:35

Pinned Comments

dbermond commented on 2017-08-07 15:59

The following pacman error will be shown when updagrading from version 0.5-1 to 0.6-1:
error: failed to commit transaction (conflicting files)
libmysofa: /usr/lib/libmysofa.so.0 exists in filesystem
Errors occurred, no packages were upgraded.

That's due to a bug in library installation. It was fixed in version 0.5-2.
To overcome this, use pacman/makepkg --force option when upgrading libmysofa. Or if you are afraid of using --force, remove the problematic file first and then install it normally with pacman:
# rm /usr/lib/libmysofa.so.0
# pacman -U libmysofa-0.6-1-x86_64.pkg.tar.xz

Latest Comments

dbermond commented on 2017-08-09 17:22

@sl1pkn07
Ok. But libmysofa-git already have 'libmysofa' at provides and conflicts :)

sl1pkn07 commented on 2017-08-09 13:43

ops. sorry i mean provides, not replaces, sorry

conflicts=('libmysofa')
provides=('libmysofa')

dbermond commented on 2017-08-08 14:59

@sl1pkn07
You're correct. The 'make install' target was added in version 0.5 and I did not notice this. Since the first version here was 0.4, I was working as if 'install' did not exist yet. Thank you for pointing this. I'll update PKGBUILD to use 'make install' now.

Regarding the provides/conflicts/replaces subject: the Wiki says that 'replaces' should be used by "obsolete packages that are replaced by the package". So I think it's not the case to use 'replace' in libmysofa-git because it's not an obsolete package.
The Wiki continues about this saying: "If providing an alternate version of an already existing package or uploading to the AUR, use the conflicts and provides arrays".
That's the case here. libmysofa-git is an alternative package to libmysofa, hence it conflicts with libmysofa and provides libmysofa. Adding conflicts=('libmysofa-git') to libmysofa will serve to avoid conflicts to any package that other user can create that will also provide libmysofa-git. So the approach that I'm using seems to be fine.

sl1pkn07 commented on 2017-08-08 13:27

sure?

https://sl1pkn07.wtf/paste/view/01a497e3

the pkgbuild is for version 6.x

and other tip (I just realized), the conflicts=() do nothig in the source tarball packages, you need add 'conflicts=('libmysofa)' and replaces=('libmysofa') in the git based package (libmysofa-git)

dbermond commented on 2017-08-07 20:43

@sl1pkn07
No need to add/create any symlinks. They're already created during 'make all'.
The problem was that they were not being placed in the package. Now I've fixed it in version 0.5-2 and everything is ok. Just need to upgrade using the steps that I have mentioned on the previous post.

The PKGBUILD that you posted does not work because 'make install' is currently not available on libmysofa. It gives the following error:
make: *** No rule to make target 'install'. Stop.

sl1pkn07 commented on 2017-08-07 18:41

EDIT:
fixed pkgbuild

https://sl1pkn07.wtf/paste/view/8cc518bf

dbermond commented on 2017-08-07 15:59

The following pacman error will be shown when updagrading from version 0.5-1 to 0.6-1:
error: failed to commit transaction (conflicting files)
libmysofa: /usr/lib/libmysofa.so.0 exists in filesystem
Errors occurred, no packages were upgraded.

That's due to a bug in library installation. It was fixed in version 0.5-2.
To overcome this, use pacman/makepkg --force option when upgrading libmysofa. Or if you are afraid of using --force, remove the problematic file first and then install it normally with pacman:
# rm /usr/lib/libmysofa.so.0
# pacman -U libmysofa-0.6-1-x86_64.pkg.tar.xz

dbermond commented on 2017-07-31 16:16

@laichiaheng
Hi. The Wiki tells about it:
https://wiki.archlinux.org/index.php/Arch_User_Repository#How_to_get_a_PKGBUILD_into_the_community_repository.3F

laichiaheng commented on 2017-07-31 14:34

What can we do to make it in Arch official repository?