main/ncurses: fix automatic dependency due to symlinks

The -libs subpackage depended on ncurses-terminfo when it shouldn't
because when moving $pkgdir/usr/lib also moved /usr/lib/terminfo which
is a symlink to /usr/share/terminfo which is part of ncurses-terminfo
and thus a dependency would be automatically added by the
prepare_symlink() function from APKBUILD.

So make the libs() function grab only actual libraries by matching
/usr/lib/*.so.* (this does not match libraries meant for -dev which
would be *.so) so /usr/lib/terminfo isn't caught up.

Also make the terminfo() function move /usr/lib/terminfo to it.

In the meantime also do other cleanup like removing unnecessary 'cd
"$builddir"' declarations and make libs() depend on the same
$pkgver-r$pkgrel of the ncurses-terminfo-base.
This commit is contained in:
Leo 2020-02-25 02:40:25 -03:00
parent a4297a0066
commit 762b9fd601

View File

@ -2,7 +2,7 @@
pkgname=ncurses
pkgver=6.1_p20200118
_ver=${pkgver/_p/-}
pkgrel=0
pkgrel=1
pkgdesc="Console display library"
url="https://invisible-island.net/ncurses/"
arch="all"
@ -23,8 +23,6 @@ builddir="$srcdir"/ncurses-$_ver
# - CVE-2017-10684
build() {
cd "$builddir"
./configure \
--build=$CBUILD \
--host=$CHOST \
@ -44,7 +42,6 @@ build() {
}
package() {
cd "$builddir"
make -j1 DESTDIR="$pkgdir" install
# Install basic terms in /etc/terminfo
@ -76,19 +73,20 @@ dev() {
terminfo() {
pkgdesc="$pkgdesc (other terminfo files)"
depends="$pkgname-terminfo-base"
depends="$pkgname-terminfo-base=$pkgver-r$pkgrel"
rm -rf $subpkgdir
mkdir -p $subpkgdir/usr/share
mkdir -p $subpkgdir/usr/share $subpkgdir/usr/lib
mv $pkgdir/usr/share/terminfo $subpkgdir/usr/share
mv $pkgdir/usr/lib/terminfo $subpkgdir/usr/lib
}
libs() {
pkgdesc="Ncurses libraries"
depends="$pkgname-terminfo-base"
depends="$pkgname-terminfo-base=$pkgver-r$pkgrel"
provides="ncurses-widec-libs=$pkgver-r$pkgrel"
mkdir -p "$subpkgdir"/usr/
mv "$pkgdir"/usr/lib "$subpkgdir"/usr/
mkdir -p "$subpkgdir"/usr/lib
mv "$pkgdir"/usr/lib/*.so.* "$subpkgdir"/usr/lib
}
base() {