Git-Url: 
http://git.frugalware.org/gitweb/gitweb.cgi?p=pacman-g2.git;a=commitdiff;h=595d20c3d8ddc95bb4442d66d593ef68bac6c2ae

commit 595d20c3d8ddc95bb4442d66d593ef68bac6c2ae
Author: Michel Hermier <[email protected]>
Date:   Sun Jun 8 10:33:46 2014 +0200

libpacman: Add handle argument to pmtrans_t constructor.

diff --git a/lib/libpacman/pacman.cpp b/lib/libpacman/pacman.cpp
index b81aab7..fcc2037 100644
--- a/lib/libpacman/pacman.cpp
+++ b/lib/libpacman/pacman.cpp
@@ -1066,7 +1066,7 @@ int pacman_trans_init(unsigned char type, unsigned int 
flags, pacman_trans_cb_ev
.progress = progress
};

-       handle->trans = new __pmtrans_t((pmtranstype_t)type, flags, cbs);
+       handle->trans = new __pmtrans_t(handle, (pmtranstype_t)type, flags, 
cbs);
if(handle->trans == NULL) {
RET_ERR(PM_ERR_MEMORY, -1);
}
diff --git a/lib/libpacman/trans.cpp b/lib/libpacman/trans.cpp
index f9ed841..4b83e03 100644
--- a/lib/libpacman/trans.cpp
+++ b/lib/libpacman/trans.cpp
@@ -76,7 +76,7 @@ static int check_oldcache(void)
return(0);
}

-__pmtrans_t::__pmtrans_t(pmtranstype_t type, unsigned int flags, pmtrans_cbs_t 
cbs)
+__pmtrans_t::__pmtrans_t(Handle *handle, pmtranstype_t type, unsigned int 
flags, pmtrans_cbs_t cbs)
: state(STATE_IDLE)
{
switch(type) {
@@ -91,7 +91,7 @@ __pmtrans_t::__pmtrans_t(pmtranstype_t type, unsigned int 
flags, pmtrans_cbs_t c
_("could not initialize transaction: Unknown Transaction Type %d"), type);
}

-       this->handle = ::handle;
+       this->handle = handle;
m_type = type;
this->flags = flags;
this->cbs = cbs;
@@ -1631,11 +1631,11 @@ int __pmtrans_t::commit(pmlist_t **data)
pmlist_t *i, *j;
int replaces = 0;

-       if(::handle->sysupgrade) {
+       if(handle->sysupgrade) {
_pacman_runhook("pre_sysupgrade", this);
}
/* remove conflicting and to-be-replaced packages */
-       tr = new __pmtrans_t(PM_TRANS_TYPE_REMOVE, PM_TRANS_FLAG_NODEPS, cbs);
+       tr = new __pmtrans_t(handle, PM_TRANS_TYPE_REMOVE, 
PM_TRANS_FLAG_NODEPS, cbs);
if(tr == NULL) {
_pacman_log(PM_LOG_ERROR, _("could not create removal transaction"));
pm_errno = PM_ERR_MEMORY;
@@ -1673,7 +1673,7 @@ int __pmtrans_t::commit(pmlist_t **data)

/* install targets */
_pacman_log(PM_LOG_FLOW1, _("installing packages"));
-       tr = new __pmtrans_t(PM_TRANS_TYPE_UPGRADE, flags | 
PM_TRANS_FLAG_NODEPS, cbs);
+       tr = new __pmtrans_t(handle, PM_TRANS_TYPE_UPGRADE, flags | 
PM_TRANS_FLAG_NODEPS, cbs);
if(tr == NULL) {
_pacman_log(PM_LOG_ERROR, _("could not create transaction"));
pm_errno = PM_ERR_MEMORY;
@@ -1683,7 +1683,7 @@ int __pmtrans_t::commit(pmlist_t **data)
pmsyncpkg_t *ps = i->data;
Package *spkg = ps->pkg_new;
char str[PATH_MAX];
-               snprintf(str, PATH_MAX, "%s%s/%s-%s-%s" PM_EXT_PKG, 
::handle->root, ::handle->cachedir, spkg->name(), spkg->version(), spkg->arch);
+               snprintf(str, PATH_MAX, "%s%s/%s-%s-%s" PM_EXT_PKG, 
handle->root, handle->cachedir, spkg->name(), spkg->version(), spkg->arch);
if(tr->add(str, tr->m_type, tr->flags) == -1) {
goto error;
}
@@ -1692,7 +1692,7 @@ int __pmtrans_t::commit(pmlist_t **data)
spkg = _pacman_list_last(tr->packages)->data;
if(ps->type == PM_SYNC_TYPE_DEPEND || flags & PM_TRANS_FLAG_ALLDEPS) {
spkg->m_reason = PM_PKG_REASON_DEPEND;
-               } else if(ps->type == PM_SYNC_TYPE_UPGRADE && 
!::handle->sysupgrade) {
+               } else if(ps->type == PM_SYNC_TYPE_UPGRADE && 
!handle->sysupgrade) {
spkg->m_reason = PM_PKG_REASON_EXPLICIT;
}
}
@@ -1754,7 +1754,7 @@ int __pmtrans_t::commit(pmlist_t **data)
}
}

-       if(::handle->sysupgrade) {
+       if(handle->sysupgrade) {
_pacman_runhook("post_sysupgrade", this);
}
retval = 0;
diff --git a/lib/libpacman/trans.h b/lib/libpacman/trans.h
index 4b892c6..b6f2197 100644
--- a/lib/libpacman/trans.h
+++ b/lib/libpacman/trans.h
@@ -62,7 +62,7 @@ struct __pmtrans_t
flib::FSignal<void(unsigned char, void *, void *, void *, int *)> conv;
flib::FSignal<void(unsigned char, const char *, int, int, int)> progress;

-       __pmtrans_t(pmtranstype_t type, unsigned int flags, pmtrans_cbs_t cbs);
+       __pmtrans_t(::libpacman::Handle *handle, pmtranstype_t type, unsigned 
int flags, pmtrans_cbs_t cbs);
~__pmtrans_t();

pmsyncpkg_t *find(const char *pkgname) const;
_______________________________________________
Frugalware-git mailing list
[email protected]
http://frugalware.org/mailman/listinfo/frugalware-git

Reply via email to