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

