|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 1/5] raisin: Handle aliases for packages, add pciutils-dev / libpci-dev alias
On 16/10/15 14:37, Stefano Stabellini wrote:
> On Wed, 14 Oct 2015, George Dunlap wrote:
>> It's not uncommon for packages to be renamed, and for package managers
>> to know the translation from old packages to new packages. For
>> example:
>>
>> # apt-get install pciutils-dev
>> Reading package lists... Done
>> Building dependency tree
>> Reading state information... Done
>> Note, selecting 'libpci-dev' instead of 'pciutils-dev'
>> libpci-dev is already the newest version.
>> 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
>>
>> So the command succeeds, but the subsequent package check still fails,
>> cince "pciutils-dev" wasn't actually installed. This means that even
>> after running "install-builddep", "build" will prompt you to install the
>> old package every time.
>>
>> Allow components to specify known aliases for a given package by
>> speficying a a|b|c. Check-package will check consecutively for a, b,
>> and c; if it finds any of them, it will stop looking and install
>> nothing. If it finds nothing, it will add the first package to the
>> missing_packages list.
>>
>> Assuming that package managers are backwards-compatible, components
>> should put the oldest known package first for maximum compatibility.
>>
>> Also add such an alias for pciutils-dev|libpci-dev in qemu_traditional
>>
>> Signed-off-by: George Dunlap <george.dunlap@xxxxxxxxxxxxx>
>
> Thanks for the patch, this is very useful and I like the way it is done.
>
> Please use spaces for indentation.
Oops -- used to emacs just doing that for me automatically.
>
>
>> components/qemu_traditional | 2 +-
>> lib/common-functions.sh | 25 ++++++++++++++++++++-----
>> 2 files changed, 21 insertions(+), 6 deletions(-)
>>
>> diff --git a/components/qemu_traditional b/components/qemu_traditional
>> index 3150c3e..d73c6b8 100644
>> --- a/components/qemu_traditional
>> +++ b/components/qemu_traditional
>> @@ -10,7 +10,7 @@ function qemu_traditional_skip() {
>> }
>>
>> function qemu_traditional_check_package() {
>> - local DEP_Debian_common="build-essential zlib1g-dev pciutils-dev
>> pkg-config \
>> + local DEP_Debian_common="build-essential zlib1g-dev
>> pciutils-dev|libpci-dev pkg-config \
>> libncurses5-dev"
>> local DEP_Debian_x86_32="$DEP_Debian_common"
>> local DEP_Debian_x86_64="$DEP_Debian_common"
>> diff --git a/lib/common-functions.sh b/lib/common-functions.sh
>> index 03642ae..a389054 100644
>> --- a/lib/common-functions.sh
>> +++ b/lib/common-functions.sh
>> @@ -233,14 +233,29 @@ function _install-package-unknown() {
>>
>> # Modifies inherited variable "missing"
>> function check-package() {
>> + local OIFS=${IFS}
>
> local OIFS="$IFS"
Ack
>
>
>> + local p
>> + local x
>> +
>> for p in $*
>> do
>> - if ! _check-package-${PKGTYPE} $p
>> - then
>> - missing+=("$p")
>> - fi
>> + local found=false
>> + IFS='|'
>> + for x in $p
>> + do
>> + if _check-package-${PKGTYPE} $x
>> + then
>> + found=true
>> + fi
>> + done
>> + IFS="$OIFS"
>> + if ! $found
>> + then
>> + # Add the first of the aliases, on the assumption that the package
>> + # manager will be backwards-compatible
>> + missing+=("${p%%|*}")
>> + fi
>> done
>> -
>> }
>
> Everything else is fine
Cool, thanks.
-George
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |