diff options
-rw-r--r-- | scripts/Makefile.am | 47 | ||||
-rw-r--r-- | scripts/libmakepkg/.gitignore | 1 | ||||
-rw-r--r-- | scripts/libmakepkg/util.sh.in | 28 | ||||
-rw-r--r-- | scripts/libmakepkg/util/message.sh | 49 | ||||
-rw-r--r-- | scripts/makepkg.sh.in | 29 | ||||
-rw-r--r-- | scripts/po/POTFILES.in | 1 |
6 files changed, 125 insertions, 30 deletions
diff --git a/scripts/Makefile.am b/scripts/Makefile.am index 4ef3ce0e..5b61a6d8 100644 --- a/scripts/Makefile.am +++ b/scripts/Makefile.am @@ -28,7 +28,8 @@ EXTRA_DIST = \ pacman-optimize.sh.in \ pkgdelta.sh.in \ repo-add.sh.in \ - $(LIBRARY) + $(LIBRARY) \ + $(LIBMAKEPKG_DIST) LIBRARY = \ library/output_format.sh \ @@ -37,10 +38,23 @@ LIBRARY = \ library/size_to_human.sh \ library/term_colors.sh -# Files that should be removed, but which Automake does not know. -MOSTLYCLEANFILES = $(bin_SCRIPTS) +libmakepkgdir = $(datarootdir)/makepkg + +LIBMAKEPKGDIRS = \ + util + +LIBMAKEPKG = \ + libmakepkg/util/message.sh -libmakepkgdir = $(libdir)/makepkg +LIBMAKEPKG_IN = \ + libmakepkg/util.sh + +LIBMAKEPKG_DIST = \ + $(LIBMAKEPKG) \ + $(addsuffix .in, $(LIBMAKEPKG_IN)) + +# Files that should be removed, but which Automake does not know. +MOSTLYCLEANFILES = $(bin_SCRIPTS) $(LIBMAKEPKG_IN) clean-local: $(AM_V_at)$(RM) -r .lib @@ -87,10 +101,18 @@ $(OURSCRIPTS): Makefile $(AM_V_at)chmod +x,a-w $@ @$(BASH_SHELL) -O extglob -n $@ +$(LIBMAKEPKG_IN): %: %.in Makefile + $(AM_V_at)$(RM) $@ + $(AM_V_at)$(MKDIR_P) $(dir $@) + $(AM_V_GEN)test -f $(srcdir)/$@.in && $(edit) $(srcdir)/$@.in >$@ + $(AM_V_at)chmod a-w $@ + @$(BASH_SHELL) -O extglob -n $@ + makepkg: \ $(srcdir)/makepkg.sh.in \ $(srcdir)/makepkg-wrapper.sh.in \ - $(srcdir)/library/parseopts.sh + $(srcdir)/library/parseopts.sh \ + $(LIBMAKEPKG_IN) makepkg-template: \ $(srcdir)/makepkg-template.pl.in \ @@ -150,6 +172,15 @@ install-exec-hook: cd $(DESTDIR)$(bindir) && \ $(RM) makepkg makepkg-wrapper $(INSTALL) .lib/makepkg $(DESTDIR)$(bindir)/makepkg + for dir in $(LIBMAKEPKGDIRS); do \ + $(MKDIR_P) $(DESTDIR)$(libmakepkgdir)/$$dir; \ + done + for lib in $(LIBMAKEPKG); do \ + $(INSTALL) $(srcdir)/$$lib $(DESTDIR)$(libmakepkgdir)/$${lib#libmakepkg}; \ + done + for lib in $(LIBMAKEPKG_IN); do \ + $(INSTALL) $$lib $(DESTDIR)$(libmakepkgdir)/$${lib#libmakepkg}; \ + done cd $(DESTDIR)$(bindir) && \ $(RM) repo-elephant && \ ( $(LN_S) repo-add repo-elephant || \ @@ -164,5 +195,11 @@ install-exec-hook: uninstall-hook: cd $(DESTDIR)$(bindir) && \ $(RM) repo-remove repo-elephant + for lib in $(LIBMAKEPKG) $(LIBMAKEPKG_IN); do \ + $(RM) $(DESTDIR)$(libmakepkgdir)/$${lib#libmakepkg}; \ + done + for dir in $(LIBMAKEPKGDIRS); do \ + $(RM) -r $(DESTDIR)$(libmakepkgdir)/$$dir; \ + done # vim:set noet: diff --git a/scripts/libmakepkg/.gitignore b/scripts/libmakepkg/.gitignore new file mode 100644 index 00000000..d1c680d8 --- /dev/null +++ b/scripts/libmakepkg/.gitignore @@ -0,0 +1 @@ +util.sh diff --git a/scripts/libmakepkg/util.sh.in b/scripts/libmakepkg/util.sh.in new file mode 100644 index 00000000..86c76590 --- /dev/null +++ b/scripts/libmakepkg/util.sh.in @@ -0,0 +1,28 @@ +#!/bin/bash +# +# util.sh - utility functions for makepkg +# +# Copyright (c) 2015 Pacman Development Team <pacman-dev@archlinux.org> +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. +# + +[ -n "$LIBMAKEPKG_UTIL_SH" ] && return +LIBMAKEPKG_UTIL_SH=1 + +LIBRARY=${LIBRARY:-'@libmakepkgdir@'} + +for lib in "$LIBRARY/util/"*.sh; do + source "$lib" +done diff --git a/scripts/libmakepkg/util/message.sh b/scripts/libmakepkg/util/message.sh new file mode 100644 index 00000000..15208ef8 --- /dev/null +++ b/scripts/libmakepkg/util/message.sh @@ -0,0 +1,49 @@ +#!/bin/bash +# +# message.sh - functions for outputting messages in makepkg +# +# Copyright (c) 2006-2015 Pacman Development Team <pacman-dev@archlinux.org> +# Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org> +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. +# + +[ -n "$LIBMAKEPKG_UTIL_MESSAGE_SH" ] && return +LIBMAKEPKG_UTIL_MESSAGE_SH=1 + + +plain() { + local mesg=$1; shift + printf "${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&2 +} + +msg() { + local mesg=$1; shift + printf "${GREEN}==>${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&2 +} + +msg2() { + local mesg=$1; shift + printf "${BLUE} ->${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&2 +} + +warning() { + local mesg=$1; shift + printf "${YELLOW}==> $(gettext "WARNING:")${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&2 +} + +error() { + local mesg=$1; shift + printf "${RED}==> $(gettext "ERROR:")${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&2 +} diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in index 40913c5e..9a3e9eb5 100644 --- a/scripts/makepkg.sh.in +++ b/scripts/makepkg.sh.in @@ -100,31 +100,10 @@ shopt -s extglob ### SUBROUTINES ### -plain() { - local mesg=$1; shift - printf "${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&2 -} - -msg() { - local mesg=$1; shift - printf "${GREEN}==>${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&2 -} - -msg2() { - local mesg=$1; shift - printf "${BLUE} ->${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&2 -} - -warning() { - local mesg=$1; shift - printf "${YELLOW}==> $(gettext "WARNING:")${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&2 -} - -error() { - local mesg=$1; shift - printf "${RED}==> $(gettext "ERROR:")${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&2 -} - +# Import libmakepkg +for lib in "$LIBRARY"/*.sh; do + source "$lib" +done ## # Special exit call for traps, Don't print any error messages when inside, diff --git a/scripts/po/POTFILES.in b/scripts/po/POTFILES.in index f9e8a481..f286be95 100644 --- a/scripts/po/POTFILES.in +++ b/scripts/po/POTFILES.in @@ -8,5 +8,6 @@ scripts/pacman-key.sh.in scripts/pacman-optimize.sh.in scripts/pkgdelta.sh.in scripts/repo-add.sh.in +scripts/libmakepkg/util/message.sh scripts/library/output_format.sh scripts/library/parseopts.sh |