| algorithms.h | | algorithms.h | |
| | | | |
| skipping to change at line 38 | | skipping to change at line 38 | |
| ##################################################################### */ | | ##################################################################### */ | |
| /*}}
}*/ | | /*}}
}*/ | |
| #ifndef PKGLIB_ALGORITHMS_H | | #ifndef PKGLIB_ALGORITHMS_H | |
| #define PKGLIB_ALGORITHMS_H | | #define PKGLIB_ALGORITHMS_H | |
| | | | |
| #include <apt-pkg/packagemanager.h> | | #include <apt-pkg/packagemanager.h> | |
| #include <apt-pkg/depcache.h> | | #include <apt-pkg/depcache.h> | |
| | | | |
| #include <iostream> | | #include <iostream> | |
| | | | |
|
| | | #include <apt-pkg/macros.h> | |
| | | | |
| #ifndef APT_8_CLEANER_HEADERS | | #ifndef APT_8_CLEANER_HEADERS | |
| #include <apt-pkg/acquire.h> | | #include <apt-pkg/acquire.h> | |
| using std::ostream; | | using std::ostream; | |
| #endif | | #endif | |
| | | | |
| class pkgAcquireStatus; | | class pkgAcquireStatus; | |
| | | | |
| class pkgSimulate : public pkgPackageManager /*{{
{*/ | | class pkgSimulate : public pkgPackageManager /*{{
{*/ | |
| { | | { | |
| protected: | | protected: | |
| | | | |
| skipping to change at line 134 | | skipping to change at line 136 | |
| inline void Protect(pkgCache::PkgIterator Pkg) {Flags[Pkg->ID] |= Protec
ted; Cache.MarkProtected(Pkg);}; | | inline void Protect(pkgCache::PkgIterator Pkg) {Flags[Pkg->ID] |= Protec
ted; Cache.MarkProtected(Pkg);}; | |
| inline void Remove(pkgCache::PkgIterator Pkg) {Flags[Pkg->ID] |= ToRemov
e;}; | | inline void Remove(pkgCache::PkgIterator Pkg) {Flags[Pkg->ID] |= ToRemov
e;}; | |
| inline void Clear(pkgCache::PkgIterator Pkg) {Flags[Pkg->ID] &= ~(Protec
ted | ToRemove);}; | | inline void Clear(pkgCache::PkgIterator Pkg) {Flags[Pkg->ID] &= ~(Protec
ted | ToRemove);}; | |
| | | | |
| // Try to intelligently resolve problems by installing and removing pack
ages | | // Try to intelligently resolve problems by installing and removing pack
ages | |
| bool Resolve(bool BrokenFix = false); | | bool Resolve(bool BrokenFix = false); | |
| | | | |
| // Try to resolve problems only by using keep | | // Try to resolve problems only by using keep | |
| bool ResolveByKeep(); | | bool ResolveByKeep(); | |
| | | | |
|
| // Install all protected packages | | __deprecated void InstallProtect(); | |
| void InstallProtect(); | | | |
| | | | |
| pkgProblemResolver(pkgDepCache *Cache); | | pkgProblemResolver(pkgDepCache *Cache); | |
| ~pkgProblemResolver(); | | ~pkgProblemResolver(); | |
| }; | | }; | |
| /*}}
}*/ | | /*}}
}*/ | |
| bool pkgDistUpgrade(pkgDepCache &Cache); | | bool pkgDistUpgrade(pkgDepCache &Cache); | |
| bool pkgApplyStatus(pkgDepCache &Cache); | | bool pkgApplyStatus(pkgDepCache &Cache); | |
| bool pkgFixBroken(pkgDepCache &Cache); | | bool pkgFixBroken(pkgDepCache &Cache); | |
| bool pkgAllUpgrade(pkgDepCache &Cache); | | bool pkgAllUpgrade(pkgDepCache &Cache); | |
| bool pkgMinimizeUpgrade(pkgDepCache &Cache); | | bool pkgMinimizeUpgrade(pkgDepCache &Cache); | |
| | | | |
End of changes. 2 change blocks. |
| 2 lines changed or deleted | | 3 lines changed or added | |
|
| error.h | | error.h | |
| | | | |
| skipping to change at line 126 | | skipping to change at line 126 | |
| | | | |
| /** \brief adds an errno message with the given type | | /** \brief adds an errno message with the given type | |
| * | | * | |
| * \param type of the error message | | * \param type of the error message | |
| * \param Function which failed | | * \param Function which failed | |
| * \param Description of the error | | * \param Description of the error | |
| */ | | */ | |
| bool InsertErrno(MsgType const &type, const char* Function, | | bool InsertErrno(MsgType const &type, const char* Function, | |
| const char* Description,...) __like_printf(4) __col
d; | | const char* Description,...) __like_printf(4) __col
d; | |
| | | | |
|
| | | /** \brief adds an errno message with the given type | |
| | | * | |
| | | * args needs to be initialized with va_start and terminated | |
| | | * with va_end by the caller. msgSize is also an out-parameter | |
| | | * in case the msgSize was not enough to store the complete message. | |
| | | * | |
| | | * \param type of the error message | |
| | | * \param Function which failed | |
| | | * \param Description is the format string for args | |
| | | * \param args list from a printf-like function | |
| | | * \param errsv is the errno the error is for | |
| | | * \param msgSize is the size of the char[] used to store message | |
| | | * \return true if the message was added, false if not - the caller | |
| | | * should call this method again in that case | |
| | | */ | |
| | | bool InsertErrno(MsgType type, const char* Function, | |
| | | const char* Description, va_list &args, | |
| | | int const errsv, size_t &msgSize); | |
| | | | |
| /** \brief add an fatal error message to the list | | /** \brief add an fatal error message to the list | |
| * | | * | |
| * Most of the stuff we consider as "error" is also "fatal" for | | * Most of the stuff we consider as "error" is also "fatal" for | |
| * the user as the application will not have the expected result, | | * the user as the application will not have the expected result, | |
| * but a fatal message here means that it gets printed directly | | * but a fatal message here means that it gets printed directly | |
| * to stderr in addiction to adding it to the list as the error | | * to stderr in addiction to adding it to the list as the error | |
| * leads sometimes to crashes and a maybe duplicated message | | * leads sometimes to crashes and a maybe duplicated message | |
| * is better than "Segfault" as the only displayed text | | * is better than "Segfault" as the only displayed text | |
| * | | * | |
| * \param Description Format string for the fatal error message. | | * \param Description Format string for the fatal error message. | |
| | | | |
| skipping to change at line 188 | | skipping to change at line 207 | |
| */ | | */ | |
| bool Debug(const char *Description,...) __like_printf(2) __cold; | | bool Debug(const char *Description,...) __like_printf(2) __cold; | |
| | | | |
| /** \brief adds an error message with the given type | | /** \brief adds an error message with the given type | |
| * | | * | |
| * \param type of the error message | | * \param type of the error message | |
| * \param Description of the error | | * \param Description of the error | |
| */ | | */ | |
| bool Insert(MsgType const &type, const char* Description,...) __like
_printf(3) __cold; | | bool Insert(MsgType const &type, const char* Description,...) __like
_printf(3) __cold; | |
| | | | |
|
| | | /** \brief adds an error message with the given type | |
| | | * | |
| | | * args needs to be initialized with va_start and terminated | |
| | | * with va_end by the caller. msgSize is also an out-parameter | |
| | | * in case the msgSize was not enough to store the complete message. | |
| | | * | |
| | | * \param type of the error message | |
| | | * \param Description is the format string for args | |
| | | * \param args list from a printf-like function | |
| | | * \param msgSize is the size of the char[] used to store message | |
| | | * \return true if the message was added, false if not - the caller | |
| | | * should call this method again in that case | |
| | | */ | |
| | | bool Insert(MsgType type, const char* Description, | |
| | | va_list &args, size_t &msgSize) __cold; | |
| | | | |
| /** \brief is an error in the list? | | /** \brief is an error in the list? | |
| * | | * | |
| * \return \b true if an error is included in the list, \b false ot
herwise | | * \return \b true if an error is included in the list, \b false ot
herwise | |
| */ | | */ | |
| inline bool PendingError() const {return PendingFlag;}; | | inline bool PendingError() const {return PendingFlag;}; | |
| | | | |
| /** \brief is the list empty? | | /** \brief is the list empty? | |
| * | | * | |
| * The default checks if the list is empty or contains only notices
, | | * The default checks if the list is empty or contains only notices
, | |
| * if you want to check if also no notices happend set the paramete
r | | * if you want to check if also no notices happend set the paramete
r | |
| | | | |
| skipping to change at line 308 | | skipping to change at line 343 | |
| | | | |
| struct MsgStack { | | struct MsgStack { | |
| std::list<Item> const Messages; | | std::list<Item> const Messages; | |
| bool const PendingFlag; | | bool const PendingFlag; | |
| | | | |
| MsgStack(std::list<Item> const &Messages, bool const &Pendin
g) : | | MsgStack(std::list<Item> const &Messages, bool const &Pendin
g) : | |
| Messages(Messages), PendingFlag(Pending) {}; | | Messages(Messages), PendingFlag(Pending) {}; | |
| }; | | }; | |
| | | | |
| std::list<MsgStack> Stacks; | | std::list<MsgStack> Stacks; | |
|
| | | | |
| bool InsertErrno(MsgType type, const char* Function, | | | |
| const char* Description, va_list &args, | | | |
| int const errsv, size_t &msgSize); | | | |
| bool Insert(MsgType type, const char* Description, | | | |
| va_list &args, size_t &msgSize); | | | |
| /*}}
}*/ | | /*}}
}*/ | |
| }; | | }; | |
| /*}}
}*/ | | /*}}
}*/ | |
| | | | |
| // The 'extra-ansi' syntax is used to help with collisions. | | // The 'extra-ansi' syntax is used to help with collisions. | |
| GlobalError *_GetErrorObj(); | | GlobalError *_GetErrorObj(); | |
| #define _error _GetErrorObj() | | #define _error _GetErrorObj() | |
| | | | |
| #endif | | #endif | |
| | | | |
End of changes. 3 change blocks. |
| 6 lines changed or deleted | | 35 lines changed or added | |
|
| fileutl.h | | fileutl.h | |
| | | | |
| skipping to change at line 152 | | skipping to change at line 152 | |
| }; | | }; | |
| FileFd(int const Fd, bool const AutoClose) : iFd(-1), Flags(0), d(NULL) | | FileFd(int const Fd, bool const AutoClose) : iFd(-1), Flags(0), d(NULL) | |
| { | | { | |
| OpenDescriptor(Fd, ReadWrite, None, AutoClose); | | OpenDescriptor(Fd, ReadWrite, None, AutoClose); | |
| }; | | }; | |
| virtual ~FileFd(); | | virtual ~FileFd(); | |
| | | | |
| private: | | private: | |
| FileFdPrivate* d; | | FileFdPrivate* d; | |
| bool OpenInternDescriptor(unsigned int const Mode, APT::Configuration::C
ompressor const &compressor); | | bool OpenInternDescriptor(unsigned int const Mode, APT::Configuration::C
ompressor const &compressor); | |
|
| | | | |
| | | // private helpers to set Fail flag and call _error->Error | |
| | | bool FileFdErrno(const char* Function, const char* Description,...) __li | |
| | | ke_printf(3) __cold; | |
| | | bool FileFdError(const char* Description,...) __like_printf(2) __cold; | |
| }; | | }; | |
| | | | |
| bool RunScripts(const char *Cnf); | | bool RunScripts(const char *Cnf); | |
| bool CopyFile(FileFd &From,FileFd &To); | | bool CopyFile(FileFd &From,FileFd &To); | |
| int GetLock(std::string File,bool Errors = true); | | int GetLock(std::string File,bool Errors = true); | |
| bool FileExists(std::string File); | | bool FileExists(std::string File); | |
| bool RealFileExists(std::string File); | | bool RealFileExists(std::string File); | |
| bool DirectoryExists(std::string const &Path) __attrib_const; | | bool DirectoryExists(std::string const &Path) __attrib_const; | |
| bool CreateDirectory(std::string const &Parent, std::string const &Path); | | bool CreateDirectory(std::string const &Parent, std::string const &Path); | |
| time_t GetModificationTime(std::string const &Path); | | time_t GetModificationTime(std::string const &Path); | |
| | | | |
End of changes. 1 change blocks. |
| 0 lines changed or deleted | | 5 lines changed or added | |
|
| gpgv.h | | gpgv.h | |
| | | | |
| skipping to change at line 26 | | skipping to change at line 26 | |
| | | | |
| #if __GNUC__ >= 4 | | #if __GNUC__ >= 4 | |
| #define APT_noreturn __attribute__ ((noreturn)) | | #define APT_noreturn __attribute__ ((noreturn)) | |
| #else | | #else | |
| #define APT_noreturn /* no support */ | | #define APT_noreturn /* no support */ | |
| #endif | | #endif | |
| | | | |
| /** \brief generates and run the command to verify a file with gpgv | | /** \brief generates and run the command to verify a file with gpgv | |
| * | | * | |
| * If File and FileSig specify the same file it is assumed that we | | * If File and FileSig specify the same file it is assumed that we | |
|
| * deal with a clear-signed message. In that case the file will be | | * deal with a clear-signed message. Note that the method will accept | |
| * rewritten to be in a good-known format without uneeded whitespaces | | * and validate files which include additional (unsigned) messages | |
| * and additional messages (unsigned or signed). | | * without complaining. Do NOT open files accepted by this method | |
| | | * for reading. Use #OpenMaybeClearSignedFile to access the message | |
| | | * instead to ensure you are only reading signed data. | |
| | | * | |
| | | * The method does not return, but has some noteable exit-codes: | |
| | | * 111 signals an internal error like the inability to execute gpgv, | |
| | | * 112 indicates a clear-signed file which doesn't include a message, | |
| | | * which can happen if APT is run while on a network requiring | |
| | | * authentication before usage (e.g. in hotels) | |
| | | * All other exit-codes are passed-through from gpgv. | |
| * | | * | |
| * @param File is the message (unsigned or clear-signed) | | * @param File is the message (unsigned or clear-signed) | |
| * @param FileSig is the signature (detached or clear-signed) | | * @param FileSig is the signature (detached or clear-signed) | |
| */ | | */ | |
| void ExecGPGV(std::string const &File, std::string const &FileSig, | | void ExecGPGV(std::string const &File, std::string const &FileSig, | |
| int const &statusfd, int fd[2]) APT_noreturn; | | int const &statusfd, int fd[2]) APT_noreturn; | |
| inline void ExecGPGV(std::string const &File, std::string const &FileSig, | | inline void ExecGPGV(std::string const &File, std::string const &FileSig, | |
| int const &statusfd = -1) { | | int const &statusfd = -1) { | |
| int fd[2]; | | int fd[2]; | |
| ExecGPGV(File, FileSig, statusfd, fd); | | ExecGPGV(File, FileSig, statusfd, fd); | |
| | | | |
End of changes. 1 change blocks. |
| 3 lines changed or deleted | | 12 lines changed or added | |
|