X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=backend-lib%2Fsrc%2Flibrpminternals.c;h=c4ec86dafc2e92c8c6e33ea74eb2545606864285;hb=09011705882637cb333426945c689c3ba536da6f;hp=4525c46e19ccbfe6a9f7082ad3777a99fa2f12c2;hpb=78426f79987c45ebfad874edf7240d2703149576;p=platform%2Fcore%2Fbase%2Frpm-installer.git diff --git a/backend-lib/src/librpminternals.c b/backend-lib/src/librpminternals.c index 4525c46..c4ec86d 100755 --- a/backend-lib/src/librpminternals.c +++ b/backend-lib/src/librpminternals.c @@ -36,113 +36,40 @@ #include #include #include -#include "librpminternals.h" - -/* This is backend lib's filter string for dlogutil*/ -#define LOCAL_LOG_TAG "librpm" -int logging = 0x0004; -#ifdef LOG_IN_FILE -#define RPM_INSTALLER_LIBRPM_LOG_FILE "/tmp/librpm" -FILE *logfile = NULL; -#endif - -void _librpm_print_msg(int type, int exetype, char *format, ...) -{ - char buffer[FILENAME_MAX] = { 0 }; - char tbuffer[FILENAME_MAX] = { 0 }; - - int nbuffer; - va_list args; - va_start(args, format); - nbuffer = vsnprintf(tbuffer, FILENAME_MAX, format, args); - va_end(args); - - switch (type) { - case DEBUG_ERR: - LOG(LOG_ERROR, LOCAL_LOG_TAG, tbuffer); - break; - case DEBUG_RESULT: - LOG(LOG_WARN, LOCAL_LOG_TAG, tbuffer); - break; - case DEBUG_INFO: - LOG(LOG_DEBUG, LOCAL_LOG_TAG, tbuffer); - default: - break; - } - - if (logging == 0) - return; - - if (DEBUG_ERR == (logging & type)) { - nbuffer = snprintf(buffer, FILENAME_MAX, "ERROR:%s", tbuffer); - vfprintf(stderr, format, args); - } else if (DEBUG_INFO == (logging & type)) { - nbuffer = snprintf(buffer, FILENAME_MAX, "INFO:%s", tbuffer); - vfprintf(stdout, format, args); - } else if (DEBUG_RESULT == (logging & type)) { - nbuffer = snprintf(buffer, FILENAME_MAX, "RESULT:%s", tbuffer); - vfprintf(stdout, format, args); - } else { - return; - } -#ifdef LOG_IN_FILE - if (logfile != NULL) - fwrite(buffer, sizeof(char), strlen(buffer), logfile); -#endif /*LOG_IN_FILE */ -} +#include "librpminternals.h" +#include "rpm-installer-util.h" -int _librpm_app_is_installed(char *pkgid) +int _librpm_app_is_installed(const char *pkgid) { rpmts ts = NULL; int ret = 0; - Header hdr = NULL; int found = 0; rpmdbMatchIterator mi; - rpmtd tn = NULL; - rpmRC rc; - tn = rpmtdNew(); ts = rpmtsCreate(); -/* - hdr = headerNew(); -*/ - - mi = rpmtsInitIterator(ts, RPMDBI_PACKAGES, NULL, 0); - while (NULL != (hdr = rpmdbNextIterator(mi))) { - - hdr = headerLink(hdr); - rc = headerGet(hdr, RPMTAG_NAME, tn, HEADERGET_MINMEM); - if (strcmp(pkgid, rpmtdGetString(tn) ) == 0) { - found = 1; - break; - } else { - rpmtdReset(tn); - headerFree(hdr); - } + mi = rpmtsInitIterator(ts, RPMTAG_NAME, pkgid, 0); + while (NULL != rpmdbNextIterator(mi)) { + found = 1; + } - } if (found == 0) { - _librpm_print(DEBUG_INFO, "Package not found in DB\n"); + _LOGD("Package not found in DB\n"); ret = 0; goto err; } else { - _librpm_print(DEBUG_INFO, "Package found in DB\n"); + _LOGD("Package found in DB\n"); ret = 1; goto err; } err: - rpmtdFreeData(tn); - rpmtdFree(tn); - headerFree(hdr); rpmtsFree(ts); rpmdbFreeIterator(mi); return ret; - } -int _librpm_get_installed_package_info(char *pkgid, +int _librpm_get_installed_package_info(const char *pkgid, package_manager_pkg_detail_info_t *pkg_detail_info) { rpmts ts = NULL; @@ -151,34 +78,23 @@ int _librpm_get_installed_package_info(char *pkgid, int ret = 0; rpmdbMatchIterator mi; rpmtd td, tn, tv, ta; - rpmRC rc; td = rpmtdNew(); tn = rpmtdNew(); tv = rpmtdNew(); ta = rpmtdNew(); ts = rpmtsCreate(); -/* - hdr = headerNew(); -*/ - mi = rpmtsInitIterator(ts, RPMDBI_PACKAGES, NULL, 0); - while (NULL != (hdr = rpmdbNextIterator(mi))) { + mi = rpmtsInitIterator(ts, RPMTAG_NAME, pkgid, 0); + while (NULL != (hdr = rpmdbNextIterator(mi))) { hdr = headerLink(hdr); - rc = headerGet(hdr, RPMTAG_NAME, tn, HEADERGET_MINMEM); - if (strcmp(pkgid, rpmtdGetString(tn) ) == 0) { - found = 1; - break; - } else { - rpmtdReset(tn); - headerFree(hdr); - } - + found = 1; + break; } /*Print the header info */ if (found == 0) { - _librpm_print(DEBUG_ERR, "Package not found in DB\n"); + _LOGE("Package not found in DB\n"); ret = LIBRPM_ERROR; goto err; } @@ -213,10 +129,9 @@ err: } -int _librpm_get_package_header_info(char *pkg_path, +int _librpm_get_package_header_info(const char *pkg_path, package_manager_pkg_detail_info_t *pkg_detail_info) { - int i; int ret = 0; rpmts ts = NULL; rpmtd td = NULL; @@ -227,7 +142,7 @@ int _librpm_get_package_header_info(char *pkg_path, fd = Fopen(pkg_path, "r.ufdio"); if ((!fd) || Ferror(fd)) { - _librpm_print(DEBUG_ERR, "Failed to open package file (%s)\n", Fstrerror(fd)); + _LOGE("Failed to open package file (%s)\n", Fstrerror(fd)); ret = LIBRPM_ERROR; goto err; } @@ -243,7 +158,7 @@ int _librpm_get_package_header_info(char *pkg_path, rc = rpmReadPackageFile(ts, fd, pkg_path, &hdr); if (rc != RPMRC_OK) { - _librpm_print(DEBUG_ERR, "Could not read package file\n"); + _LOGE("Could not read package file\n"); ret = LIBRPM_ERROR; goto err; } @@ -274,7 +189,7 @@ err: } -long long _librpm_calculate_dir_size(char *dirname) +long long _librpm_calculate_dir_size(const char *dirname) { long long total = 0; long long ret = 0; @@ -285,7 +200,7 @@ long long _librpm_calculate_dir_size(char *dirname) struct stat fileinfo; char abs_filename[FILENAME_MAX] = { 0, }; if (dirname == NULL) { - _librpm_print(DEBUG_ERR, + _LOGE( "dirname is NULL"); return LIBRPM_ERROR; } @@ -323,7 +238,7 @@ long long _librpm_calculate_dir_size(char *dirname) } (void)closedir(dp); } else { - _librpm_print(DEBUG_ERR, + _LOGE( "Couldn't open the directory\n"); return -1; }