On Sun, 27 Jun 2010 21:08:19 -0400, Eric Bélanger
<[email protected]> wrote:
> Signed-off-by: Eric Bélanger <[email protected]>
> ---
>  makechrootpkg |   16 +++++++++++++---
>  1 files changed, 13 insertions(+), 3 deletions(-)
> 
> diff --git a/makechrootpkg b/makechrootpkg
> index 830a8af..01cb3a9 100755
> --- a/makechrootpkg
> +++ b/makechrootpkg
> @@ -175,9 +175,19 @@ for f in $install_files;do
>       fi
>  done
>  
> -if [ -f 'ChangeLog' ]; then
> -     cp ChangeLog "$copydir/build/"
> -fi
> +changelog_files=$(grep 'changelog=' PKGBUILD)
> +for pkg in ${pkgna...@]}; do
> +     changelog_files+=' '
> +     changelog_files+=$(echo $changelog_files |sed
> "s/\$pkgname/$pkg/"|sed "s/\${pkgname}/$pkg/")
> +     changelog_files=$(eval echo $changelog_files |tr '[:blank:]'
> '\n'|sort |uniq)
> +done
> +
> +for f in $changelog_files;do
> +     changelog="${f#"changelog="}"
> +     if [ "$changelog" != "" -a -f "$changelog" ]; then
> +             cp "$changelog" "$copydir/build/"
> +     fi
> +done
>  
>  chown -R nobody "$copydir/build"
>  chown -R nobody "$copydir/srcdest"

I will apply this for now as we handle the install files the same way.
In future we should come up with a better solution though. It's quite
easy to write a PKGBUILD where this method will fail. The propper way is
to source the PKGBUILD and use the evaluated $changelog variable.

A problem are the package functions; I don't see a way to call them
without executing the make install or whatever commands. (I'll better
open a new thread about this problem)

-- 
Pierre Schmitz, https://users.archlinux.de/~pierre

Reply via email to