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 --allow-downgrades
49 testsuccess aptget
install ..
/incoming
/foo_1.0_i386.deb
-o Debug
::pkgCacheGen
=1 -y --allow-downgrades
52 testsuccessequal
"Reading package lists...
53 Building dependency tree...
54 Reading state information...
55 Note, selecting 'foo' instead of './incoming/foo_1.0_amd64.deb'
56 The following packages will be REMOVED:
58 The following NEW packages will be installed:
60 0 upgraded, 1 newly installed, 1 to remove and 0 not upgraded.
62 Inst foo (1.0 local-deb [amd64])
63 Conf foo (1.0 local-deb [amd64])" aptget
install .
/incoming
/foo_1.0_amd64.deb
-s
65 # Check that installing the local deb works if it is not the candidate
68 Pin-Priority: -1" > rootdir
/etc
/apt
/preferences
70 testsuccessequal
"Reading package lists...
71 Building dependency tree...
72 Reading state information...
73 Note, selecting 'foo' instead of './incoming/foo_1.0_amd64.deb'
74 The following packages will be REMOVED:
76 The following NEW packages will be installed:
78 0 upgraded, 1 newly installed, 1 to remove and 0 not upgraded.
80 Inst foo (1.0 local-deb [amd64])
81 Conf foo (1.0 local-deb [amd64])" aptget
install .
/incoming
/foo_1.0_amd64.deb
-s
85 mkdir -p .
/incoming
/$PKG/DEBIAN
87 echo -n "$2" >> .
/incoming
/$PKG/DEBIAN
/control
92 Maintainer: No Body <no@example.org>
94 Description: test package" >> .
/incoming
/$PKG/DEBIAN
/control
96 echo -n "$3" >> .
/incoming
/$PKG/DEBIAN
/control
98 testsuccess dpkg
-deb --build .
/incoming
/$PKG/ .
/incoming
99 #dpkg-deb -I ./incoming/${PKG}_0_all.deb control
101 createpkg
'as-it-should-be'
102 createpkg
'leading-newline' '
105 createpkg
'trailing-newline' '' '
108 testsuccess aptget
install .
/incoming
/pkg
-as-it-should-be_0_all.deb
109 testsuccess aptget
install .
/incoming
/pkg
-leading-newline_0_all.deb
110 testsuccess aptget
install .
/incoming
/pkg
-trailing-newline_0_all.deb
112 # see if permission dropping is checked before usage
113 if [ "$(id -u)" = '0' ]; then
116 testsuccess aptget
install -y --allow-downgrades .
/incoming
/pkg
-as-it-should-be_0_all.deb
118 testsuccesswithnotice aptget
install -y --allow-downgrades .
/incoming
/pkg
-as-it-should-be_0_all.deb
120 testsuccesswithnotice aptget
install -y --allow-downgrades .
/incoming
/pkg
-as-it-should-be_0_all.deb