4 TESTDIR
="$(readlink -f "$(dirname "$0")")"
8 configarchitecture 'amd64' 'i386'
10 # regression test for #754904
11 testfailureequal 'E: Unsupported file /dev/null given on commandline' aptget install -qq /dev/null
13 # only consider .deb files
15 I'm not a deb, I'm a teapot.
17 testfailureequal 'E: Unsupported file ./foo.rpm given on commandline' aptget install -qq ./foo.rpm
19 # and ensure we fail for invalid debs
21 testfailuremsg "E
: Sub
-process Popen returned an error code
(2)
22 E
: Encountered a section with no Package
: header
23 E
: Problem with MergeList
${TMPWORKINGDIRECTORY}/foo.deb
24 E
: The package lists or status
file could not be parsed or opened.
" aptget install ./foo.deb
26 buildsimplenativepackage 'foo' 'i386,amd64' '1.0'
28 testfailureequal "Reading package lists...
29 Building dependency tree...
30 Note
, selecting
'foo:i386' instead of
'./incoming/foo_1.0_i386.deb'
31 Note
, selecting
'foo' instead of
'./incoming/foo_1.0_amd64.deb'
32 Some packages could not be installed. This may mean that you have
33 requested an impossible situation or
if you are using the unstable
34 distribution that some required packages have not yet been created
35 or been moved out of Incoming.
36 The following information may
help to resolve the situation
:
38 The following packages have unmet dependencies
:
39 foo
:i386
: Conflicts
: foo but
1.0 is to be installed
40 foo
: Conflicts
: foo
:i386 but
1.0 is to be installed
41 E
: Unable to correct problems
, you have held broken packages.
" aptget install ./incoming/foo_1.0_i386.deb ./incoming/foo_1.0_amd64.deb -s
43 testdpkgnotinstalled 'foo' 'foo:i386'
44 testsuccess aptget install ./incoming/foo_1.0_i386.deb -o Debug::pkgCacheGen=1
45 testdpkginstalled 'foo:i386'
46 testfailure aptget install incoming/foo_1.0_i386.deb -o Debug::pkgCacheGen=1
48 testsuccess aptget install "$(readlink -f ../incoming/foo_1.0_i386.deb)" -o Debug::pkgCacheGen=1 -y --reinstall
49 testfailure grep 'is already the newest version' ../rootdir/tmp/testsuccess.output
50 testsuccess aptget install ../incoming/foo_1.0_i386.deb -o Debug::pkgCacheGen=1 -y --reinstall
51 testfailure grep 'is already the newest version' ../rootdir/tmp/testsuccess.output
54 testsuccessequal "Reading package lists...
55 Building dependency tree...
56 Reading state information...
57 Note
, selecting
'foo' instead of
'./incoming/foo_1.0_amd64.deb'
58 The following packages will be REMOVED
:
60 The following NEW packages will be installed
:
62 0 upgraded
, 1 newly installed
, 1 to remove and
0 not upgraded.
64 Inst foo
(1.0 local-deb [amd64
])
65 Conf foo
(1.0 local-deb [amd64
])" aptget install ./incoming/foo_1.0_amd64.deb -s
67 # Check that installing the local deb works if it is not the candidate
70 Pin
-Priority: -1" > rootdir/etc/apt/preferences
72 testsuccessequal "Reading package lists...
73 Building dependency tree...
74 Reading state information...
75 Note
, selecting
'foo' instead of
'./incoming/foo_1.0_amd64.deb'
76 The following packages will be REMOVED
:
78 The following NEW packages will be installed
:
80 0 upgraded
, 1 newly installed
, 1 to remove and
0 not upgraded.
82 Inst foo
(1.0 local-deb [amd64
])
83 Conf foo
(1.0 local-deb [amd64
])" aptget install ./incoming/foo_1.0_amd64.deb -s
87 mkdir -p ./incoming/$PKG/DEBIAN
89 echo -n "$2" >> ./incoming/$PKG/DEBIAN/control
94 Maintainer
: No Body
<no@example.org
>
97 Description
: test package
" >> ./incoming/$PKG/DEBIAN/control
99 echo -n "$3" >> ./incoming/$PKG/DEBIAN/control
101 testsuccess dpkg-deb --build ./incoming/$PKG/ ./incoming
102 #dpkg-deb -I ./incoming/${PKG}_0_all.deb control
104 createpkg 'as-it-should-be'
105 createpkg 'leading-newline' '
108 createpkg 'trailing-newline' '' '
111 testsuccess aptget install ./incoming/pkg-as-it-should-be_0_all.deb
112 testsuccess aptget install ./incoming/pkg-leading-newline_0_all.deb
113 testsuccess aptget install ./incoming/pkg-trailing-newline_0_all.deb
116 if [ "$(id -u)" = '0' ]; then
117 # see if permission dropping is checked before usage
119 testsuccess aptget install -y ./incoming/pkg-as-it-should-be_0_all.deb --reinstall
120 testfailure grep 'is already the newest version' rootdir/tmp/testsuccess.output
122 testsuccesswithnotice aptget install -y ./incoming/pkg-as-it-should-be_0_all.deb --reinstall
123 testfailure grep 'is already the newest version' rootdir/tmp/testsuccesswithnotice.output
125 testsuccesswithnotice aptget install -y ./incoming/pkg-as-it-should-be_0_all.deb --reinstall
126 testfailure grep 'is already the newest version' rootdir/tmp/testsuccesswithnotice.output
129 testsuccess aptget install -y ./incoming/pkg-as-it-should-be_0_all.deb --reinstall
130 testfailure grep 'is already the newest version' rootdir/tmp/testsuccess.output
133 sed -i -e '/^Depends: foo/ d' rootdir/var/lib/dpkg/status
134 testsuccess aptget install -y ./incoming/pkg-as-it-should-be_0_all.deb
135 testfailure grep 'is already the newest version' rootdir/tmp/testsuccess.output