[pacman-dev] [PATCH] Add rundepends keyword to makepkg

Roman Kyrylych roman.kyrylych at gmail.com
Wed Jul 2 03:12:40 EDT 2008


2008/7/1 Dan McGee <dpmcgee at gmail.com>:
> On Tue, Jul 1, 2008 at 12:47 PM, Thomas Bächler <thomas at archlinux.org> wrote:
>> When a package A requires a package B at runtime, but B is not
>> needed for building A or B cannot be installed while A is being
>> built, rundepends=('B') can be used to add B to A's dependencies,
>> omitting the dependency check at built time.
>> ---
>>  scripts/makepkg.sh.in |    4 ++--
>>  1 files changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in
>> index c45d7e8..c809498 100644
>> --- a/scripts/makepkg.sh.in
>> +++ b/scripts/makepkg.sh.in
>> @@ -809,7 +809,7 @@ create_package() {
>>        for it in "${groups[@]}"; do
>>                echo "group = $it" >>.PKGINFO
>>        done
>> -       for it in "${depends[@]}"; do
>> +       for it in "${depends[@]} ${rundepends[@]}"; do
>>                echo "depend = $it" >>.PKGINFO
>>        done
>>        for it in "${optdepends[@]}"; do
>> @@ -1287,7 +1287,7 @@ fi
>>
>>  unset pkgname pkgver pkgrel pkgdesc url license groups provides md5sums
>>  unset replaces depends conflicts backup source install build makedepends
>> -unset optdepends options noextract
>> +unset optdepends options noextract rundepends
>>
>>  if [ ! -f "$BUILDSCRIPT" ]; then
>>        error "$(gettext "%s does not exist.")" "$BUILDSCRIPT"
>> --
>
> I've been contemplating something like this for a while as well. What
> do others on the list think, is this getting to be too much, or does
> this make sense? I think I would be fine with it. We will need
> documentation (namely PKGBUILD.5.txt) to be patched as well in the
> final patch.

The proposed functionality is useful (I've encountered situation
described by Thomas),
but IMO this will add some confusion.
Most people would just use depends even for run-time-only depends
(when they're not cirlular, of course),
so rundepends would be used only to workaround those circular builddepends.

What I did to workaround the situation described by Thomas:
* build A without depends=(B)
* add depends=(B) and repackage with makepkg -R

-- 
Roman Kyrylych (Роман Кирилич)


More information about the pacman-dev mailing list