diff options
author | Michael Vogt <michael.vogt@ubuntu.com> | 2005-09-27 22:30:23 +0000 |
---|---|---|
committer | Michael Vogt <michael.vogt@ubuntu.com> | 2005-09-27 22:30:23 +0000 |
commit | bb4fc0a9e4e105a13b3a032b28802a84523fc506 (patch) | |
tree | a8a7705bca2d050860f312be2d0e4ae6395e675c /apt-pkg/cdrom.cc | |
parent | b46240260df6586295fba7c437da993031a8e68a (diff) | |
parent | bae108264e918e6f256d36bfce2a6c79b4b2a3ed (diff) |
* merged with apt--mvo
Patches applied:
* bubulle@debian.org--2005/apt--main--0--patch-96
Sync with Matt
* bubulle@debian.org--2005/apt--main--0--patch-97
Merge with Matt
* bubulle@debian.org--2005/apt--main--0--patch-98
Update PO files with the POT
* bubulle@debian.org--2005/apt--main--0--patch-99
Added Galician translation
* bubulle@debian.org--2005/apt--main--0--patch-100
Completed Danish translation
* bubulle@debian.org--2005/apt--main--0--patch-101
Merge with Matt
* bubulle@debian.org--2005/apt--main--0--patch-102
Merge with Michael Vogt's archive
* bubulle@debian.org--2005/apt--main--0--patch-103
Update the POT files and all PO files to resync with recent code
* bubulle@debian.org--2005/apt--main--0--patch-104
French translation completed
* michael.vogt@ubuntu.com--2005/apt--bts225947--0--base-0
tag of apt@packages.debian.org/apt--main--0--patch-79
* michael.vogt@ubuntu.com--2005/apt--bts225947--0--patch-1
* merged with mainline and apt--fixes--0
* michael.vogt@ubuntu.com--2005/apt--bts225947--0--patch-2
* patch from aj (slighly modified to use auto_ptr<>) applied
* michael.vogt@ubuntu.com--2005/apt--bts225947--0--patch-3
* changelog updated
* michael.vogt@ubuntu.com--2005/apt--bts225947--0--patch-4
* work for arch=all packages too now
* michael.vogt@ubuntu.com--2005/apt--bts225947--0--patch-5
* merged with apt--main--0
* michael.vogt@ubuntu.com--2005/apt--bts225947--0--patch-6
* fixed a incorrect po/he.po merge
* michael.vogt@ubuntu.com--2005/apt--cdrom-fallback--0--base-0
tag of apt@packages.debian.org/apt--main--0--patch-110
* michael.vogt@ubuntu.com--2005/apt--cdrom-fallback--0--patch-1
* initial patch to make falling back from cdrom possible
* michael.vogt@ubuntu.com--2005/apt--cdrom-fallback--0--patch-2
* fix in methods/cdrom.cc: don't call Fail() but return false so that apt can fallback to a differencent source
* michael.vogt@ubuntu.com--2005/apt--fixes--0--patch-7
* fixed incorrect man-page example
* michael.vogt@ubuntu.com--2005/apt--fixes--0--patch-8
* changelog udpate
* michael.vogt@ubuntu.com--2005/apt--fixes--0--patch-9
* we only need to check once for xmlto
* michael.vogt@ubuntu.com--2005/apt--fixes--0--patch-10
* fix a bug in a man-page, fix a problem with overly long lines in apt-cdrom
* michael.vogt@ubuntu.com--2005/apt--fixes--0--patch-11
* merged with apt--main--0
* michael.vogt@ubuntu.com--2005/apt--fixes--0--patch-12
* fix a incorrect error message (it always added .gz regardless what was downloaded)
* michael.vogt@ubuntu.com--2005/apt--fixes--0--patch-13
* merged with main
* michael.vogt@ubuntu.com--2005/apt--fixes--0--patch-14
* added Hashsum support for file and cdrom
* michael.vogt@ubuntu.com--2005/apt--fixes--0--patch-15
* added README.arch
* michael.vogt@ubuntu.com--2005/apt--fixes--0--patch-16
* merged with main
* michael.vogt@ubuntu.com--2005/apt--fixes--0--patch-17
* move the changelog to the right place
* michael.vogt@ubuntu.com--2005/apt--fixes--0--patch-18
* Change pkgPolicy::Pin from private to protected
* michael.vogt@ubuntu.com--2005/apt--fixes--0--patch-19
* added a default constructor for PrvIterator
* michael.vogt@ubuntu.com--2005/apt--fixes--0--patch-20
* applied otavios patch to reread the statusFile on debSystem::Initialize
* michael.vogt@ubuntu.com--2005/apt--mvo--0--patch-33
* merged with matt's tree
* michael.vogt@ubuntu.com--2005/apt--mvo--0--patch-34
* merged with matts tree
* michael.vogt@ubuntu.com--2005/apt--mvo--0--patch-35
* build debian and ubuntu package from the same source
* michael.vogt@ubuntu.com--2005/apt--mvo--0--patch-36
* added debian/patches dir
* michael.vogt@ubuntu.com--2005/apt--mvo--0--patch-37
* fix the breakage from my last commit (note to self: always, _always_ run baz diff before a commit)
* michael.vogt@ubuntu.com--2005/apt--mvo--0--patch-38
* removed the lsb_release build patch (nobody except me seems to like it)
* michael.vogt@ubuntu.com--2005/apt--mvo--0--patch-39
* merged from main
* michael.vogt@ubuntu.com--2005/apt--mvo--0--patch-40
* merged the apt--sane-handle-timeout--0 branch
* michael.vogt@ubuntu.com--2005/apt--mvo--0--patch-41
* merged apt--bts225947--0
* michael.vogt@ubuntu.com--2005/apt--mvo--0--patch-42
* merged with apt--main
* michael.vogt@ubuntu.com--2005/apt--mvo--0--patch-43
* added patch that adds a apt-secure man-page (thanks to jfs@computer.org)
* michael.vogt@ubuntu.com--2005/apt--mvo--0--patch-44
* added author credits
* michael.vogt@ubuntu.com--2005/apt--mvo--0--patch-45
* added apt-ftparchive.conf example
* michael.vogt@ubuntu.com--2005/apt--mvo--0--patch-46
* corrected the utf8 of javier fernandes pena
* michael.vogt@ubuntu.com--2005/apt--mvo--0--patch-47
* improve the timeout handling (again)
* michael.vogt@ubuntu.com--2005/apt--mvo--0--patch-48
* merged with apt--fixes--0
* michael.vogt@ubuntu.com--2005/apt--mvo--0--patch-49
* README.arch updates, comment in apt-pkg/algorithm.h added, apt-pkg/cacheiterators.h order in initlist changed to remove warning
* michael.vogt@ubuntu.com--2005/apt--mvo--0--patch-50
* meda-change message is send over status-fd now
* michael.vogt@ubuntu.com--2005/apt--mvo--0--patch-51
* include a human readable string for the MediaChange status-fd message as well
* michael.vogt@ubuntu.com--2005/apt--mvo--0--patch-52
* finalizing changelog
* michael.vogt@ubuntu.com--2005/apt--mvo--0--patch-53
* check ctime as well in cron.daily when cleaning up packages in apt.cron.daily
* michael.vogt@ubuntu.com--2005/apt--mvo--0--patch-54
* fix a stupid typo in apt.cron.daily
* michael.vogt@ubuntu.com--2005/apt--mvo--0--patch-55
* fix apt-pkg/cdrom.cc to umount the cdrom again if anything fails
* michael.vogt@ubuntu.com--2005/apt--mvo--0--patch-56
* merged from apt--cdrom-fallback--0
* michael.vogt@ubuntu.com--2005/apt--mvo--0--patch-57
* changelog update
* michael.vogt@ubuntu.com--2005/apt--mvo--0--patch-58
* better error string for a failed dpkg-source
* michael.vogt@ubuntu.com--2005/apt--mvo--0--patch-59
* make sure that the pkgRecords D'tor does not segfault
* michael.vogt@ubuntu.com--2005/apt--mvo--0--patch-60
* merged updated french man-page
* michael.vogt@ubuntu.com--2005/apt--mvo--0--patch-61
* merged with bubulle
* michael.vogt@ubuntu.com--2005/apt--sane-handle-timeout--0--base-0
tag of apt@packages.debian.org/apt--main--0--patch-87
* michael.vogt@ubuntu.com--2005/apt--sane-handle-timeout--0--patch-1
* report timeouts (from Connect) and fail if they happen in pkgAcqMetaSig
* michael.vogt@ubuntu.com--2005/apt--sane-handle-timeout--0--patch-2
* merged with the fixes branch to make it build again
* michael.vogt@ubuntu.com--2005/apt--sane-handle-timeout--0--patch-3
* merged with main
* otavio@debian.org--2005/apt--fixes--0--patch-28
Reread status configuration, needed for clients using independent apt ...
* philippe.batailler@free.fr--2005/VOGTapt--mvo--0--patch-1
French L10N update
* philippe.batailler@free.fr--2005/VOGTapt--mvo--0--patch-2
Generate correctly french manpages
Diffstat (limited to 'apt-pkg/cdrom.cc')
-rw-r--r-- | apt-pkg/cdrom.cc | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/apt-pkg/cdrom.cc b/apt-pkg/cdrom.cc index 7e194e253..b42c82dd0 100644 --- a/apt-pkg/cdrom.cc +++ b/apt-pkg/cdrom.cc @@ -446,6 +446,9 @@ bool pkgCdrom::WriteSourceList(string Name,vector<string> &List,bool Source) { F.getline(Buffer,sizeof(Buffer)); CurLine++; + if (F.fail() && !F.eof()) + return _error->Error(_("Line %u too long in source list %s."), + CurLine,File.c_str()); _strtabexpand(Buffer,sizeof(Buffer)); _strstrip(Buffer); @@ -588,7 +591,7 @@ bool pkgCdrom::Add(pkgCdromStatus *log) string DFile = _config->FindFile("Dir::State::cdroms"); if (FileExists(DFile) == true) { - if (ReadConfigFile(Database,DFile) == false) + if (ReadConfigFile(Database,DFile) == false) return _error->Error("Unable to read the cdrom database %s", DFile.c_str()); } @@ -674,8 +677,11 @@ bool pkgCdrom::Add(pkgCdromStatus *log) log->Update(msg.str(), STEP_SCAN); } - if (List.size() == 0 && SourceList.size() == 0) + if (List.size() == 0 && SourceList.size() == 0) + { + UnmountCdrom(CDROM); return _error->Error("Unable to locate any package files, perhaps this is not a Debian Disc"); + } // Check if the CD is in the database string Name; @@ -711,7 +717,10 @@ bool pkgCdrom::Add(pkgCdromStatus *log) Name.empty() == true) { if(!log) + { + UnmountCdrom(CDROM); return _error->Error("No disc name found and no way to ask for it"); + } while(true) { if(!log->AskCdromName(Name)) { @@ -786,7 +795,10 @@ bool pkgCdrom::Add(pkgCdromStatus *log) { string::size_type Space = (*I).find(' '); if (Space == string::npos) + { + UnmountCdrom(CDROM); return _error->Error("Internal error"); + } if(log) { msg.str(""); @@ -800,7 +812,10 @@ bool pkgCdrom::Add(pkgCdromStatus *log) { string::size_type Space = (*I).find(' '); if (Space == string::npos) + { + UnmountCdrom(CDROM); return _error->Error("Internal error"); + } if(log) { msg.str(""); |