summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--PKGBUILD-split.proto2
-rw-r--r--PKGBUILD.proto1
-rw-r--r--contrib/PKGBUILD.vim9
-rw-r--r--doc/PKGBUILD.5.txt8
-rw-r--r--scripts/makepkg.sh.in25
5 files changed, 36 insertions, 9 deletions
diff --git a/PKGBUILD-split.proto b/PKGBUILD-split.proto
index 08f98d62..11ceff2b 100644
--- a/PKGBUILD-split.proto
+++ b/PKGBUILD-split.proto
@@ -21,6 +21,7 @@ replaces=()
backup=()
options=()
install=
+changelog=
source=($pkgbase-$pkgver.tar.gz)
noextract=()
md5sums=() #generate with 'makepkg -g'
@@ -44,6 +45,7 @@ package_pkg1() {
backup=()
options=()
install=
+ changelog=
cd "$srcdir/$pkgbase-$pkgver"
make DESTDIR="$pkgdir/" install-pkg1
diff --git a/PKGBUILD.proto b/PKGBUILD.proto
index eddcf759..93da0fc5 100644
--- a/PKGBUILD.proto
+++ b/PKGBUILD.proto
@@ -21,6 +21,7 @@ replaces=()
backup=()
options=()
install=
+changelog=
source=($pkgname-$pkgver.tar.gz)
noextract=()
md5sums=() #generate with 'makepkg -g'
diff --git a/contrib/PKGBUILD.vim b/contrib/PKGBUILD.vim
index 994eaccb..af0f9817 100644
--- a/contrib/PKGBUILD.vim
+++ b/contrib/PKGBUILD.vim
@@ -115,6 +115,12 @@ syn match pbValidInstall /\([[:alnum:]]\|\$\|+\|-\|_\)*\.install/ contained
syn match pbIllegalInstall /[^=]/ contained contains=pbValidInstall
syn match pbInstallGroup /^install=.*/ contains=pb_k_install,pbValidInstall,pbIllegalInstall,shDeref,shDoubleQuote,shSingleQuote
+" changelog
+syn keyword pb_k_changelog changelog contained
+syn match pbValidChangelog /\([[:alnum:]]\|\$\|+\|-\|_\)*/ contained
+syn match pbIllegalChangelog /[^=]/ contained contains=pbValidChangelog
+syn match pbChangelogGroup /^changelog=.*/ contains=pb_k_changelog,pbValidChangelog,pbIllegalChangelog,shDeref,shDoubleQuote,shSingleQuote
+
" source:
" XXX remove source from shStatement, fix strange bug
syn clear shStatement
@@ -212,6 +218,9 @@ hi def link pb_k_provides pbKeywords
hi def link pbIllegalInstall Error
hi def link pb_k_install pbKeywords
+hi def link pbIllegalChangelog Error
+hi def link pb_k_changelog pbKeywords
+
hi def link pb_k_source pbKeywords
hi def link pbIllegalSource Error
diff --git a/doc/PKGBUILD.5.txt b/doc/PKGBUILD.5.txt
index e6f6edf5..8d5537e9 100644
--- a/doc/PKGBUILD.5.txt
+++ b/doc/PKGBUILD.5.txt
@@ -79,6 +79,12 @@ similar to `$_basekernver`.
be copied into the package by makepkg. It does not need to be included
in the source array (e.g. `install=pkgname.install`).
+*changelog*::
+ Specifies a changelog file that is to be included in the package.
+ This file should reside in the same directory as the PKGBUILD, and will
+ be copied into the package by makepkg. It does not need to be included
+ in the source array (e.g. `changelog=$pkgname.changelog`).
+
*source (array)*::
An array of source files required to build the package. Source files
must either reside in the same directory as the PKGBUILD file, or be a
@@ -271,7 +277,7 @@ All options and directives for the split packages default to the global values g
within the PKGBUILD. However, some of these can be overridden within each split
package's packaging function. The following variables can be overridden: `pkgdesc`,
`license`, `groups`, `depends`, `optdepends`, `provides`, `conflicts`, `replaces`,
-`backup`, `options` and `install`.
+`backup`, `options`, `install` and `changelog`.
An optional global directive is available when building a split package:
diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in
index 2941a5d3..24fddf69 100644
--- a/scripts/makepkg.sh.in
+++ b/scripts/makepkg.sh.in
@@ -47,7 +47,7 @@ pkgdir="$startdir/pkg"
packaging_options=('strip' 'docs' 'libtool' 'emptydirs' 'zipman' 'purge')
other_options=('ccache' 'distcc' 'makeflags' 'force')
splitpkg_overrides=('pkgdesc' 'license' 'groups' 'depends' 'optdepends' 'provides' \
- 'conflicts' 'replaces' 'backup' 'options' 'install')
+ 'conflicts' 'replaces' 'backup' 'options' 'install' 'changelog')
readonly -a packaging_options other_options splitpkg_overrides
# Options
@@ -991,9 +991,9 @@ create_package() {
fi
# do we have a changelog?
- if [ -f "$startdir/ChangeLog" ]; then
+ if [ -n "$changelog" ]; then
msg2 "$(gettext "Adding package changelog...")"
- cp "$startdir/ChangeLog" .CHANGELOG
+ cp "$startdir/$changelog" .CHANGELOG
comp_files="$comp_files .CHANGELOG"
fi
@@ -1055,13 +1055,17 @@ create_srcpackage() {
msg2 "$(gettext "Adding install script...")"
ln -s "${startdir}/$install" "${srclinks}/${pkgbase}/"
else
- error "$(gettext "Install script %s not found.")" "$install"
+ error "$(gettext "Install scriptlet (%s) does not exist.")" "$install"
fi
fi
- if [ -f ChangeLog ]; then
- msg2 "$(gettext "Adding %s...")" "ChangeLog"
- ln -s "${startdir}/ChangeLog" "${srclinks}/${pkgbase}"
+ if [ -n "$changelog" ]; then
+ if [ -f "$changelog" ]; then
+ msg2 "$(gettext "Adding package changelog...")"
+ ln -s "${startdir}/$changelog" "${srclinks}/${pkgbase}/"
+ else
+ error "$(gettext "Changelog file (%s) does not exist.")" "$changelog"
+ fi
fi
local netfile
@@ -1193,6 +1197,11 @@ check_sanity() {
return 1
fi
+ if [ -n "$changelog" -a ! -f "$changelog" ]; then
+ error "$(gettext "Changelog file (%s) does not exist.")" "$changelog"
+ return 1
+ fi
+
local valid_options=1
local opt known kopt
for opt in ${options[@]}; do
@@ -1646,7 +1655,7 @@ if [ "$ASROOT" -eq 0 \
fi
unset pkgname pkgbase pkgver pkgrel pkgdesc url license groups provides
-unset md5sums replaces depends conflicts backup source install build
+unset md5sums replaces depends conflicts backup source install changelog build
unset makedepends optdepends options noextract
BUILDFILE=${BUILDFILE:-$BUILDSCRIPT}