On Wed, Jul 1, 2009 at 8:54 PM, Allan McRae<[email protected]> wrote: > Dan McGee wrote: >> >> On Wed, Jul 1, 2009 at 2:36 AM, Allan McRae<[email protected]> wrote: >> >>> >>> Checks if some or all packages are built before overwriting/installing. >>> Adds two new translation strings >>> >>> Signed-off-by: Allan McRae <[email protected]> >>> --- >>> scripts/makepkg.sh.in | 41 ++++++++++++++++++++++++++++++++--------- >>> 1 files changed, 32 insertions(+), 9 deletions(-) >>> >>> diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in >>> index 2bb7eb9..61ae037 100644 >>> --- a/scripts/makepkg.sh.in >>> +++ b/scripts/makepkg.sh.in >>> @@ -1646,15 +1646,38 @@ if [ "${#pkgna...@]}" -gt "1" ]; then >>> SPLITPKG=1 >>> fi >>> >>> -if [ -f "$PKGDEST/${pkgname}-${pkgver}-${pkgrel}-${CARCH}${PKGEXT}" \ >>> - -a "$FORCE" -eq 0 -a "$SOURCEONLY" -eq 0 -a "$NOBUILD" -eq 0 ]; >>> then >>> - if [ "$INSTALL" -eq 1 ]; then >>> - warning "$(gettext "A package has already been built, >>> installing existing package...")" >>> - install_package >>> - exit $? >>> - else >>> - error "$(gettext "A package has already been built. (use >>> -f to overwrite)")" >>> - exit 1 >>> +if [ "$SPLITPKG" -eq 0 ]; then >>> + if [ -f >>> "$PKGDEST/${pkgname}-${pkgver}-${pkgrel}-${CARCH}${PKGEXT}" \ >>> + -a "$FORCE" -eq 0 -a "$SOURCEONLY" -eq 0 -a >>> "$NOBUILD" -eq 0 ]; then >>> + if [ "$INSTALL" -eq 1 ]; then >>> + warning "$(gettext "A package has already been >>> built, installing existing package...")" >>> + install_package >>> + exit $? >>> + else >>> + error "$(gettext "A package has already been >>> built. (use -f to overwrite)")" >>> + exit 1 >>> + fi >>> + fi >>> +else >>> + local allpkgbuilt=1 >>> + local somepkgbuilt=0 >>> >> >> Declared local which doesn't make sense outside of a bash function. >> You probably want to just leave them as plain variables here and add >> an "unset" at the end of the outer else/fi block. >> >> > > Crap, I removed the local and added the unset on the version of makepkg-git > running on my system but not here... Declaring local outside a function in > bash does not actually work at all. >>> >>> + for pkg in ${pkgna...@]}; do >>> + if [ -f >>> "$PKGDEST/${pkgname}-${pkgver}-${pkgrel}-${CARCH}${PKGEXT}" ]; then >>> >> >> $pkgver/$pkgrel can't be overridden in subpackages, correct? Otherwise >> this line will not work right. >> > > Correct. >> >> >>> >>> + somepkgbuilt=1 >>> + else >>> + allpkgbuilt=0 >>> + fi >>> + done >>> + if [ -f "$FORCE" -eq 0 -a "$SOURCEONLY" -eq 0 -a "$NOBUILD" -eq 0 >>> ]; then >>> + if [ "$INSTALL" -eq 1 -a "$allpkgbuilt" -eq 1 ]; then >>> + warning "$(gettext "The package group has already >>> been built, installing existing packages...")" >>> + install_package >>> + exit $? >>> + fi >>> + if [ "$somepkgbuilt" -eq 1 ]; then >>> + error "$(gettext "The package group has already >>> been (partially) built. (use -f to overwrite)")" >>> >> >> Awkward English text, trying to think of something better...I'd at >> least drop the () around partially, maybe something like: >> "Part of the package group has already been built. (use -f to overwrite)" >> > > The problem is it could be all of the package group, or just part of it. I > found this whole patch awkward...
You have somepkgbuilt and allpkgbuilt; do a different message for each case? -Dan _______________________________________________ pacman-dev mailing list [email protected] http://www.archlinux.org/mailman/listinfo/pacman-dev
