[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