aboutsummaryrefslogtreecommitdiffstats
path: root/URPM.xs
Commit message (Collapse)AuthorAgeFilesLines
* restore rpm-4.12.x compatibilityThierry Vignaud2017-11-061-0/+4
|
* restore rpm-4.13.x compatibilityThierry Vignaud2017-11-061-0/+10
|
* Revert "fix segfault when checking invalid signatures"Thierry Vignaud2017-10-051-1/+1
| | | | | | | | This reverts commit 87dbde4f3b078173e53cd45cac000c2d2751b370. Rationale: rpm got fixed We could just initialize header to NULL but rpmReadPackageFile() is supposed to always set a correct value, so keep as it in order to catch another future perl regression
* fix segfault when checking invalid signaturesThierry Vignaud2017-10-031-1/+1
| | | | | This is a rpm-4.14 regression where rpmReadPackageFile() no longer initialize the header when the pkg is corrupted
* use native 64bit integers instead of Math::Int64Thierry Vignaud2017-09-071-8/+8
| | | | it's now possible since perl-5.26.0-8.mga7
* Revert "add support for int64, using Math::Int64 C API"Thierry Vignaud2017-09-071-5/+0
| | | | This reverts commit 12ff33c3fbf1dfc2dce60f6a75bb546ca3bf6735.
* add support to rpm-4.14Thierry Vignaud2017-08-161-4/+4
| | | | thus breaking support for rpm <= 4.13
* explainThierry Vignaud2016-12-011-0/+1
|
* silent another warningThierry Vignaud2016-11-101-1/+1
| | | | rationale: we don't set any private data with rpmlogSetCallback()
* silent a warningThierry Vignaud2016-11-101-2/+1
| | | | | | by reverting a bit of commit b0cd1853933d8c68610c9e173721525c6a17e8ce that should have gone with along: commit b5249dafb882fbc105f05853c80fd30503d57a3f
* fix another (old) compilation warningsThierry Vignaud2016-10-181-1/+1
| | | | use rpmTagGetValue() to get the char* name of the tag
* silent compilation warnings on x86_64Thierry Vignaud2016-10-181-2/+2
|
* (get_int2) try new 64bit tag else old 32bit tagThierry Vignaud2016-10-181-3/+12
| | | | | | thus enabling to report size of >4Gb packages (however insane this is): rpmlib uses the old small tag for small packages and the new big tag for big packages (mga#19571)
* switch to uint64_t for sizes (mga#19571)Thierry Vignaud2016-10-181-9/+9
| | | | Thus we use 64bit for package size on 32bit too, thanks to Math::Int64
* add support for int64, using Math::Int64 C APIThierry Vignaud2016-10-181-0/+5
| | | | previously it was missing on 32bit arches
* bump copyrightThierry Vignaud2016-10-161-1/+1
|
* fix compiling on 32bitThierry Vignaud2016-10-141-1/+1
|
* reports obsoletes issues tooThierry Vignaud2016-10-141-0/+3
| | | | | RPMPROB_OBSOLETE was added in rpm-4.9.0 (5 years ago) but wasn't handled until now
* (check) fix reporting problemsThierry Vignaud2016-10-141-7/+1
| | | | | | | | | | | | | | | | | for at least 12 years, since swiching rpm to 4.2 (see commit 60031191b7012fdfe8e1af6bd43ff9b36b0c5825) $trans->check() failed to actually report issues rationale: rpmtsCheck() only actually return !0 if it fails to open rpmdb... in order to check if any problem was found by rpmtsCheck(), one must call retrieving the problem set with rpmtsProblems() rpmtsCheck() success only means that the resolution was successfully attempted for all packages in the set, which isn't that usefull... this might help mga#15350...
* fix reporting size on big packages (mga#19571)Thierry Vignaud2016-10-131-6/+4
|
* simplify: do not reinvent get_arch()Thierry Vignaud2016-10-131-1/+1
|
* don't push $fullname to callback stackThierry Vignaud2016-04-141-7/+0
| | | | that's no more needed...
* add support for "elem" callbackThierry Vignaud2016-04-141-1/+11
| | | | | This callback will be fired before each pkg being installed/removed Needs rpm >= rpm-4.13.0-0.rc1.28
* fix a segfault when callbacks don't get a headerPascal Terjan2015-02-261-2/+6
|
* callbacks now get pkg name instead of just pkg idThierry Vignaud2015-02-261-2/+6
| | | | thus fixing unknown package name on erases (mga#15032)
* move PUTBACK in branchThierry Vignaud2014-11-171-1/+1
|
* Handle non numeric returns for traverse_tag_find callbackPascal Terjan2014-11-141-3/+6
| | | | fix a warning spot by Angelo Naselli
* add a missing PUTBACK in traverse_tag_find()Thierry Vignaud2014-11-141-0/+1
| | | | | | this is needed after using POPi bug introduced in commit 4294365db5d78909ae5a490e0714db379502cd80
* add >recommends method (mga#14376)Thierry Vignaud2014-10-261-0/+2
| | | | unlike recommends_nosense, it returns version too
* fix crashing in ptread when using log callback with rpm-4.12Thierry Vignaud2014-10-231-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fix by Panu Matilainen When rpmlog() occurs, it now grabs a read/write lock on the log context depending on whether it needs to save the log or not. The callback executes while the context lock is held, so when one call rpmlogMessage() or pretty much any rpmlog-related function from the callback, it'll try to lock the context again. Which is okay as long as rpmlog() only needed a read-lock on the context. However if it has a write-lock then attempting to grab a read-lock for rpmlogMessage() fails, but due to the largely missing error handling in rpmlog.c it falls through to crash and burn. The only reason we need to call rpmlogMessage() is that the callback does not match the callback function type in rpm >= 4.6: typedef int (*rpmlogCallback) (rpmlogRec rec, rpmlogCallbackData data); We shouldn't call that from log callback. We can avoid the issue by using rpmlogRecMessage() instead of rpmlogMessage() inside the callback. These are not the same, rpmlogRecMessage() returns the message of the *current* log event, whereas rpmlogMessage() returns the last *saved* log event. Which might not exist, might be from an earlier event or it might be the current event. ...and it'll not only work in all rpm >= 4.6 versions, but also give the actual log message at hand, instead of something that might have happened in the past.
* add support for generating recommends in synthesisThierry Vignaud2014-09-121-2/+3
| | | | aka having @recommends@ lines instead of @suggests@ ones
* recognize "recommends" lines in synthesisThierry Vignaud2014-09-121-1/+1
|
* rename "suggests" method as "recommends_nosense"Thierry Vignaud2014-09-121-0/+1
| | | | | in order to reflect reality but keep a suggests alias for compatibility for the time being
* rename "suggests" field to "recommends"Thierry Vignaud2014-09-121-8/+8
| | | | as this really what it is
* make it compatible with rpm-4.12.0Thierry Vignaud2014-09-121-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | rpm-4.12.0 introduces a new weak deps implementation (the 3rd one to be used in mdv/mga!) The tag we used to use (RPMTAG_SUGGESTSNAME) is now OLDSUGGESTSNAME => we need to handle both old & new tags Hopefully rpm-4.12.x enables to check both old & new tags when using xxxNVRS variants We thus have a choice between RECOMMEND & SUGGEST tags, that both fallback on older SUGGESTS tags if no new ones are found. The difference is that they filter old suggests depending on RPMSENSE_STRONG hint. As we used suggests in the recommends role, this is the perfect time to switch from suggests to recommends (with a patch on rpm in order to fallback RECOMMEND on weak (old) SUGGESTS instead of on strong (old) ENHANCES as we didn't used the later in mga) Our rpm is patched so that RECOMMENDNAME fallbacks too. In Suse, only RECOMMENDNEVRS is the only RECOMMEND variant that handle the fallback on old tags. However, using RPMTAG_RECOMMENDNEVRS makes URPM->suggest_nosense to return versionated suggests, which while not supported by urpmi, do are used by a couple packages (such as git or gnome-user-share) This breaks urpmi as suggests on "foo >= x.y" is not interpreted by urpmi which thinks that "foo" is a new suggests and reinstalls a previously removed suggests Hence we patched rpm.
* use HEADERGET_EXT instead of HEADERGET_DEFAULTThierry Vignaud2014-08-271-2/+2
| | | | | in order to access to extension tags such as new weak deps tags (needed for next commit)
* (compare) croak if used on URPM::Package object (mga#12766)Thierry Vignaud2014-05-171-0/+2
| | | | | | suggests to use compare_pkg instead (needs a new rpmdrake)
* kill useless "$Id: " linesThierry Vignaud2014-05-091-1/+0
| | | | they're obsolete since switching to git
* fix 64k size limit on provides sizeThierry Vignaud2014-05-011-3/+3
| | | | | | this broke installing 32 bit kernel for drakx-installer-binaries (spotted by Pascal Terjan)
* $trans->order: add support for "deploops" optionThierry Vignaud2013-11-051-1/+12
|
* coverity: add a comment about "Argument cannot be negative"Thierry Vignaud2013-10-031-1/+1
| | | | "fd" is passed to a parameter that cannot be negative.
* coverity: fix "Resource leak"Thierry Vignaud2013-10-031-3/+7
| | | | | 'leaked_storage: Variable "foo" going out of scope leaks the storage it points to.'
* coverity: fix "Unused pointer value"Thierry Vignaud2013-10-031-6/+6
| | | | | 'Pointer "foo" returned by "_free(foo)" is never used' (improve coverity scan's SNR)
* (sourcerpm) make it more readableThierry Vignaud2013-09-301-16/+8
|
* alias N, V, R & A (saves nearly 2% of compiled size)Thierry Vignaud2013-09-301-51/+25
|
* fix retrieving payload formatThierry Vignaud2013-02-051-1/+1
| | | | | | commit r6545 on 2012-12-2 broke delta rpm support: "(Pkg_description, Pkg_sourcerpm) split UTF-8 strings from raw strings functions, then simplify"
* typo fixThierry Vignaud2013-02-031-1/+1
|
* (mask_from_string) factorize codeThierry Vignaud2013-02-031-14/+14
|
* simplify styleThierry Vignaud2013-02-031-2/+1
|
* (update_provides) clean unused variableThierry Vignaud2013-01-291-2/+0
|