Re: [arch-general] MariaDB package version

2018-09-28 Thread David C. Rankin
On 09/27/2018 08:57 AM, ProgAndy wrote:
> I have a fourth option if the symlinks cause problems.
> 
> (iv) Ship mariadb with libmariadb only and provide an
>  additional libmysqlclient package that contains a
>  compiled copy of the real libmysqlclient.

Only thought there is that would erase the "Drop in Replacement" selling point
for mariadb/mysql (see:
https://mariadb.com/kb/en/library/mariadb-vs-mysql-compatibility/).

>From a practical standpoint, as long as the package dependencies in all
PKGBUILDs needing the new package were updated, it's not a bad way to go, if
there is objection to simply building and including both in the libmariadb
package.

-- 
David C. Rankin, J.D.,P.E.


Re: [arch-general] AppArmor support

2018-09-28 Thread Eli Schwartz via arch-general
On 9/28/18 9:36 AM, Geo Kozey via arch-general wrote:
>> 
>> From: David Runge 
>> Sent: Thu Sep 27 23:49:16 CEST 2018
>> To: Geo Kozey 
>> Cc: General Discussion about Arch Linux 
>> Subject: Re: [arch-general] AppArmor support
>>
>>> BTW: every interaction with PKGBUILD spits: 
>>>
>>> find: ‘etc/apparmor.d/’: No such file or directory
>> Hm, not for me. Are you using devtools to build in a clean chroot
>> environment?
>>
>> Best,
>> David
>>
>> -- 
> 
> Yes, but I think it occurs before actual chrooting:
> 
> $ extra-x86_64-build -- -T -l /var/build/chroot
> :: Synchronizing package databases...
>  core is up to date
>  extra is up to date
>  community is up to date
> :: Starting full system upgrade...
>  there is nothing to do
> ==> Building in chroot for [extra] (x86_64)...
> ==> Synchronizing chroot copy [/var/lib/archbuild/extra-x86_64/root] -> 
> [/var/build/chroot]...done
> find: 'etc/apparmor.d/': No such file or directory
> ==> Making package: apparmor 2.13.0-8
> ==> Retrieving sources...
>   -> Found apparmor-2.13.tar.gz
>   -> Found apparmor-2.13.tar.gz.asc
>   -> Found binmerge.patch
> ==> Validating source files with sha512sums...
> 
> 
> Maybe it's something specific to my system, no idea.
> 
> Other than that everything looks good to me. Great job!
> 
> Yours sincerely

That happens because the PKGBUILD dynamically re-evaluates the contents
of the "backup" metadata variable, and lint_pkgbuild attempts to
recalculate this but fails because it only works *during* package.

I mentioned this on IRC, I believe...

This means the resulting output is rather confusing when running makepkg
without an existing "etc" directory next to the PKGBUILD... which due to
https://git.archlinux.org/svntogit/community.git/commit/trunk?h=packages/apparmor=0cc1589dcb541f3a4b5f45e860dbf04109f3d65e
will always be true.

A workaround for this is to delay evaluation by using:
mapfile -td '' -O "${#backup[@]}" backup < <(find ... -print0)

since the internal extract_function_variable() makepkg function does not
detect this (it only handles direct foo=var or foo+=var assignments).

Alternatively, one could play with find "${startpoint}" -path
"${startpoint}/etc/apparmor.d/*" -printf '%P\n' which will successfully
run during lint_pkgbuild and --printsrcinfo, but will still print errors
if startpoint is unreadable (if that's pkgdir, it probably will be?),
doesn't properly handle paths with spaces or newlines in them, and also
spends a lot of time searching the whole directory tree instead of only
searching the given subpath.

I favor option one. :)

Also, PKGBUILDs with complex metadata assignments are annoying to do
correctly, which is probably a reminder that we should all strive to
avoid them!

*glares at https://bugs.archlinux.org/task/58776 and sighs*

-- 
Eli Schwartz
Bug Wrangler and Trusted User



signature.asc
Description: OpenPGP digital signature


Re: [arch-general] AppArmor support

2018-09-28 Thread Geo Kozey via arch-general
> 
> From: David Runge 
> Sent: Thu Sep 27 23:49:16 CEST 2018
> To: Geo Kozey 
> Cc: General Discussion about Arch Linux 
> Subject: Re: [arch-general] AppArmor support
> 
> > BTW: every interaction with PKGBUILD spits: 
> > 
> > find: ‘etc/apparmor.d/’: No such file or directory
> Hm, not for me. Are you using devtools to build in a clean chroot
> environment?
> 
> Best,
> David
> 
> -- 

Yes, but I think it occurs before actual chrooting:

$ extra-x86_64-build -- -T -l /var/build/chroot
:: Synchronizing package databases...
 core is up to date
 extra is up to date
 community is up to date
:: Starting full system upgrade...
 there is nothing to do
==> Building in chroot for [extra] (x86_64)...
==> Synchronizing chroot copy [/var/lib/archbuild/extra-x86_64/root] -> 
[/var/build/chroot]...done
find: 'etc/apparmor.d/': No such file or directory
==> Making package: apparmor 2.13.0-8
==> Retrieving sources...
  -> Found apparmor-2.13.tar.gz
  -> Found apparmor-2.13.tar.gz.asc
  -> Found binmerge.patch
==> Validating source files with sha512sums...


Maybe it's something specific to my system, no idea.

Other than that everything looks good to me. Great job!

Yours sincerely

G. K.