[pacman-dev] [PATCH] repo-add: add checkdepends information

Dan McGee dpmcgee at gmail.com
Thu Jun 7 22:06:55 EDT 2012


On Thu, Jun 7, 2012 at 1:22 AM, Allan McRae <allan at archlinux.org> wrote:
> Similar to the case for makedepends, it is useful to be able to
> access this information without parsing a PKGBUILD.
>
> Signed-off-by: Allan McRae <allan at archlinux.org>
> ---
>  lib/libalpm/be_sync.c  |    6 ++++++
>  scripts/makepkg.sh.in  |   19 ++++++++++---------
>  scripts/repo-add.sh.in |    4 +++-
>  3 files changed, 19 insertions(+), 10 deletions(-)
>
> diff --git a/lib/libalpm/be_sync.c b/lib/libalpm/be_sync.c
> index 4033be6..4028916 100644
> --- a/lib/libalpm/be_sync.c
> +++ b/lib/libalpm/be_sync.c
> @@ -597,6 +597,12 @@ static int sync_db_read(alpm_db_t *db, struct archive *archive,
>                                        READ_NEXT();
>                                        if(strlen(line) == 0) break;
>                                }
> +                       } else if(strcmp(line, "%CHECKDEPENDS%") == 0) {
> +                               /* currently unused */
> +                               while(1) {
> +                                       READ_NEXT();
> +                                       if(strlen(line) == 0) break;
> +                               }
>                        } else if(strcmp(line, "%CONFLICTS%") == 0) {
>                                READ_AND_SPLITDEP(pkg->conflicts);
>                        } else if(strcmp(line, "%PROVIDES%") == 0) {
> diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in
> index 63cdd4d..abfabdf 100644
> --- a/scripts/makepkg.sh.in
> +++ b/scripts/makepkg.sh.in
> @@ -1282,15 +1282,16 @@ write_pkginfo() {
>        mapfile -t provides < <(find_libprovides)
>        mapfile -t depends < <(find_libdepends)
>
> -       [[ $license ]]     && printf "license = %s\n"    "${license[@]}"
> -       [[ $replaces ]]    && printf "replaces = %s\n"   "${replaces[@]}"
> -       [[ $groups ]]      && printf "group = %s\n"      "${groups[@]}"
> -       [[ $conflicts ]]   && printf "conflict = %s\n"   "${conflicts[@]}"
> -       [[ $provides ]]    && printf "provides = %s\n"   "${provides[@]}"
> -       [[ $backup ]]      && printf "backup = %s\n"     "${backup[@]}"
> -       [[ $depends ]]     && printf "depend = %s\n"     "${depends[@]}"
> -       [[ $optdepends ]]  && printf "optdepend = %s\n"  "${optdepends[@]//+([[:space:]])/ }"
> -       [[ $makedepends ]] && printf "makedepend = %s\n" "${makedepends[@]}"
> +       [[ $license ]]      && printf "license = %s\n"     "${license[@]}"
> +       [[ $replaces ]]     && printf "replaces = %s\n"    "${replaces[@]}"
> +       [[ $groups ]]       && printf "group = %s\n"       "${groups[@]}"
> +       [[ $conflicts ]]    && printf "conflict = %s\n"    "${conflicts[@]}"
> +       [[ $provides ]]     && printf "provides = %s\n"    "${provides[@]}"
> +       [[ $backup ]]       && printf "backup = %s\n"      "${backup[@]}"
> +       [[ $depends ]]      && printf "depend = %s\n"      "${depends[@]}"
> +       [[ $optdepends ]]   && printf "optdepend = %s\n"   "${optdepends[@]//+([[:space:]])/ }"
> +       [[ $makedepends ]]  && printf "makedepend = %s\n"  "${makedepends[@]}"
> +       [[ $checkdepends ]] && printf "checkdepend = %s\n" "${checkdepends[@]}"
Minus this reindentation insanity, this is fine with me. I'm killing
all this alignment bullshit when I commit this and just fixing this to
be proper coding style.

>
>        local it
>        for it in "${packaging_options[@]}"; do
> diff --git a/scripts/repo-add.sh.in b/scripts/repo-add.sh.in
> index e43f096..504cae9 100644
> --- a/scripts/repo-add.sh.in
> +++ b/scripts/repo-add.sh.in
> @@ -257,7 +257,7 @@ db_write_entry() {
>        # blank out all variables
>        local pkgfile=$1
>        local -a _groups _licenses _replaces _depends _conflicts _provides \
> -               _optdepends _makedepends
> +               _optdepends _makedepends _checkdepends
>        local pkgname pkgver pkgdesc csize size url arch builddate packager \
>                md5sum sha256sum pgpsig pgpsigsize
>
> @@ -278,6 +278,7 @@ db_write_entry() {
>                        provides) _provides+=("$provides") ;;
>                        optdepend) _optdepends+=("$optdepend") ;;
>                        makedepend) _makedepends+=("$makedepend") ;;
> +                       checkdepend) _checkdepends+=("$checkdepend") ;;
>                esac
>        done< <(bsdtar -xOqf "$pkgfile" .PKGINFO)
>
> @@ -365,6 +366,7 @@ db_write_entry() {
>                format_entry "PROVIDES" "${_provides[@]}"
>                format_entry "OPTDEPENDS" "${_optdepends[@]}"
>                format_entry "MAKEDEPENDS" "${_makedepends[@]}"
> +               format_entry "CHECKDEPENDS" "${_checkdepends[@]}"
>        } >'depends'
>
>        popd >/dev/null
> --
> 1.7.10.3
>
>


More information about the pacman-dev mailing list