[pacman-dev] [PATCH 2/2] repo-add: add makedpends information

Dan McGee dpmcgee at gmail.com
Sun May 20 12:36:47 EDT 2012


On Sat, May 19, 2012 at 6:08 AM, Allan McRae <allan at archlinux.org> wrote:
> On 19/05/12 21:01, Allan McRae wrote:
>> This is useful for tools that automatically rebuild packages and
>> thus require to generate a build order. These entries are skipped
>> by pacman.
>>
>> Signed-off-by: Allan McRae <allan at archlinux.org>
>> ---
>>  lib/libalpm/be_sync.c  |    3 +++
>>  scripts/repo-add.sh.in |   27 +++++++++++++++------------
>>  2 files changed, 18 insertions(+), 12 deletions(-)
>>
>> diff --git a/lib/libalpm/be_sync.c b/lib/libalpm/be_sync.c
>> index f18ba51..92ce456 100644
>> --- a/lib/libalpm/be_sync.c
>> +++ b/lib/libalpm/be_sync.c
>> @@ -591,6 +591,9 @@ static int sync_db_read(alpm_db_t *db, struct archive *archive,
>>                               READ_AND_SPLITDEP(pkg->depends);
>>                       } else if(strcmp(line, "%OPTDEPENDS%") == 0) {
>>                               READ_AND_SPLITDEP(pkg->optdepends);
>> +                     } else if(strcmp(line, "%MAKEDEPENDS%") == 0) {
>> +                             /* currently unused */
>> +                             READ_NEXT();
>
> Of course more than one makedepend can be specified....
>
> +                       } else if(strcmp(line, "%MAKEDEPENDS%") == 0) {
> +                               /* currently unused */
> +                               while(1) {
> +                                       READ_NEXT();
> +                                       if(strlen(line) == 0) break;
> +                               }
>
>
> Fixed on my working branch.

Did you fix the spelling error in $SUBJECT too?

Seeing this also presents the "should we include checkdepends"
question- I don't see an immediate use but do we just want to complete
the inclusion of fields by doing this at the same time?

>>                       } else if(strcmp(line, "%CONFLICTS%") == 0) {
>>                               READ_AND_SPLITDEP(pkg->conflicts);
>>                       } else if(strcmp(line, "%PROVIDES%") == 0) {
>> diff --git a/scripts/repo-add.sh.in b/scripts/repo-add.sh.in
>> index 006672a..ba9ba05 100644
>> --- a/scripts/repo-add.sh.in
>> +++ b/scripts/repo-add.sh.in
>> @@ -256,7 +256,8 @@ verify_repo_extension() {
>>  db_write_entry() {
>>       # blank out all variables
>>       local pkgfile=$1
>> -     local -a _groups _licenses _replaces _depends _conflicts _provides _optdepends
>> +     local -a _groups _licenses _replaces _depends _conflicts _provides \
>> +             _optdepends _makedepends
>>       local pkgname pkgver pkgdesc csize size url arch builddate packager \
>>               md5sum sha256sum pgpsig pgpsigsize
>>
>> @@ -269,13 +270,14 @@ db_write_entry() {
>>               # normalize whitespace with an extglob
>>               declare "$var=${val//+([[:space:]])/ }"
>>               case $var in
>> -                     group)     _groups+=("$group") ;;
>> -                     license)   _licenses+=("$license") ;;
>> -                     replaces)  _replaces+=("$replaces") ;;
>> -                     depend)    _depends+=("$depend") ;;
>> -                     conflict)  _conflicts+=("$conflict") ;;
>> -                     provides)  _provides+=("$provides") ;;
>> -                     optdepend) _optdepends+=("$optdepend") ;;
>> +                     group)      _groups+=("$group") ;;
>> +                     license)    _licenses+=("$license") ;;
>> +                     replaces)   _replaces+=("$replaces") ;;
>> +                     depend)     _depends+=("$depend") ;;
>> +                     conflict)   _conflicts+=("$conflict") ;;
>> +                     provides)   _provides+=("$provides") ;;
>> +                     optdepend)  _optdepends+=("$optdepend") ;;
>> +                     makedepend) _makedepends+=("$makedepend") ;;
>>               esac
>>       done< <(bsdtar -xOqf "$pkgfile" .PKGINFO)
>>
>> @@ -358,10 +360,11 @@ db_write_entry() {
>>       # create depends entry
>>       msg2 "$(gettext "Creating '%s' db entry...")" 'depends'
>>       {
>> -             format_entry "DEPENDS"    "${_depends[@]}"
>> -             format_entry "CONFLICTS"  "${_conflicts[@]}"
>> -             format_entry "PROVIDES"   "${_provides[@]}"
>> -             format_entry "OPTDEPENDS" "${_optdepends[@]}"
>> +             format_entry "DEPENDS"     "${_depends[@]}"
>> +             format_entry "CONFLICTS"   "${_conflicts[@]}"
>> +             format_entry "PROVIDES"    "${_provides[@]}"
>> +             format_entry "OPTDEPENDS"  "${_optdepends[@]}"
>> +             format_entry "MAKEDEPENDS" "${_makedepends[@]}"
>>       } >'depends'
>>
>>       popd >/dev/null
>
>


More information about the pacman-dev mailing list