You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

92 lines
3.4 KiB

  1. #!/bin/sh
  2. set -e
  3. TESTDIR="$(readlink -f "$(dirname "$0")")"
  4. . "$TESTDIR/framework"
  5. setupenvironment
  6. configarchitecture 'i386' 'amd64'
  7. insertpackage 'unstable' 'lib32nss-mdns' 'amd64' '0.10-6' 'Depends: libnss-mdns-i386 (= 0.10-6)'
  8. insertpackage 'unstable' 'libnss-mdns' 'amd64,i386' '0.10-6' 'Multi-Arch: same
  9. Breaks: lib32nss-mdns (<< 0.10-6)'
  10. insertpackage 'unstable' 'libnss-mdns-i386' 'i386' '0.10-6' 'Multi-Arch: foreign
  11. Depends: libnss-mdns'
  12. # introduce some dummies so that there are versions, but none works
  13. insertpackage 'unstable' 'libnss-mdns-i386' 'amd64' '0.1-6'
  14. insertpackage 'experimental' 'libnss-mdns-amd64' 'i386,amd64' '0.10-6' 'Provides: libnss-mdns-i386'
  15. insertpackage 'unstable' 'foo' 'amd64' '1' 'Depends: libfoo'
  16. insertpackage 'unstable' 'libfoo' 'amd64' '1' 'Depends: libfoo-bin'
  17. insertpackage 'unstable' 'libfoo-bin' 'i386' '0.10-6' 'Multi-Arch: foreign'
  18. insertinstalledpackage 'lib32nss-mdns' 'amd64' '0.9-1'
  19. insertinstalledpackage 'libnss-mdns' 'amd64' '0.9-1'
  20. insertinstalledpackage 'i-make-packages-important' 'all' '1' 'Depends: libnss-mdns'
  21. setupaptarchive --no-update
  22. # make libnss-mdns-i386 unavailable
  23. configarchitecture 'amd64'
  24. testsuccess aptget update
  25. testsuccessequal 'Reading package lists...
  26. Building dependency tree...
  27. Calculating upgrade...
  28. The following packages will be REMOVED:
  29. lib32nss-mdns
  30. The following packages will be upgraded:
  31. libnss-mdns
  32. 1 upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
  33. Remv lib32nss-mdns [0.9-1]
  34. Inst libnss-mdns [0.9-1] (0.10-6 unstable [amd64])
  35. Conf libnss-mdns (0.10-6 unstable [amd64])' aptget dist-upgrade -s
  36. testfailureequal 'Reading package lists...
  37. Building dependency tree...
  38. Some packages could not be installed. This may mean that you have
  39. requested an impossible situation or if you are using the unstable
  40. distribution that some required packages have not yet been created
  41. or been moved out of Incoming.
  42. The following information may help to resolve the situation:
  43. The following packages have unmet dependencies:
  44. foo : Depends: libfoo but it is not going to be installed
  45. E: Unable to correct problems, you have held broken packages.' aptget install foo -s
  46. # activate multiarch
  47. configarchitecture 'amd64' 'i386'
  48. testsuccess aptget update
  49. testsuccessequal 'Reading package lists...
  50. Building dependency tree...
  51. Calculating upgrade...
  52. The following NEW packages will be installed:
  53. libnss-mdns:i386 libnss-mdns-i386:i386
  54. The following packages will be upgraded:
  55. lib32nss-mdns libnss-mdns
  56. 2 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
  57. Inst lib32nss-mdns [0.9-1] (0.10-6 unstable [amd64]) []
  58. Inst libnss-mdns [0.9-1] (0.10-6 unstable [amd64]) []
  59. Inst libnss-mdns:i386 (0.10-6 unstable [i386]) []
  60. Inst libnss-mdns-i386:i386 (0.10-6 unstable [i386])
  61. Conf lib32nss-mdns (0.10-6 unstable [amd64])
  62. Conf libnss-mdns (0.10-6 unstable [amd64])
  63. Conf libnss-mdns:i386 (0.10-6 unstable [i386])
  64. Conf libnss-mdns-i386:i386 (0.10-6 unstable [i386])' aptget dist-upgrade -s
  65. testsuccessequal 'Reading package lists...
  66. Building dependency tree...
  67. The following additional packages will be installed:
  68. libfoo libfoo-bin:i386
  69. The following NEW packages will be installed:
  70. foo libfoo libfoo-bin:i386
  71. 0 upgraded, 3 newly installed, 0 to remove and 2 not upgraded.
  72. Inst libfoo-bin:i386 (0.10-6 unstable [i386])
  73. Inst libfoo (1 unstable [amd64])
  74. Inst foo (1 unstable [amd64])
  75. Conf libfoo-bin:i386 (0.10-6 unstable [i386])
  76. Conf libfoo (1 unstable [amd64])
  77. Conf foo (1 unstable [amd64])' aptget install foo -s