[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