From 45621edf1f5040f5d24ddbfe319fa6e4d18ac76c Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Tue, 15 Sep 2009 17:08:11 +0200 Subject: initial code for better debuginfo installation. For now, it skips debuginfo install step if all build-ids retrieved from coredump appear to already exist Signed-off-by: Denys Vlasenko --- lib/Plugins/CCpp.cpp | 399 ++++++++++++++++++++++++++++----------------------- 1 file changed, 221 insertions(+), 178 deletions(-) diff --git a/lib/Plugins/CCpp.cpp b/lib/Plugins/CCpp.cpp index 2f8d355..18c3bfb 100644 --- a/lib/Plugins/CCpp.cpp +++ b/lib/Plugins/CCpp.cpp @@ -39,12 +39,21 @@ #define FILENAME_BACKTRACE "backtrace" #define FILENAME_MEMORYMAP "memorymap" -static pid_t ExecVP(const char* pCommand, char* const pArgs[], uid_t uid, std::string& pOutput); - CAnalyzerCCpp::CAnalyzerCCpp() : m_bMemoryMap(false), m_bInstallDebuginfo(true) {} +static bool is_hexstr(const char* str) +{ + while (*str) + { + if (!isxdigit(*str)) + return false; + str++; + } + return true; +} + static std::string CreateHash(const std::string& pInput) { std::string ret = ""; @@ -55,7 +64,7 @@ static std::string CreateHash(const std::string& pInput) hc = HASH_Create(HASH_AlgSHA1); if (!hc) { - throw CABRTException(EXCEP_PLUGIN, "CAnalyzerCCpp::CreateHash(): cannot initialize hash."); + error_msg_and_die("HASH_Create(HASH_AlgSHA1) failed"); /* paranoia */ } HASH_Begin(hc); HASH_Update(hc, reinterpret_cast(pInput.c_str()), pInput.length()); @@ -77,102 +86,58 @@ static std::string CreateHash(const std::string& pInput) return hash_str; } -static void InstallDebugInfos(const std::string& pPackage) +static pid_t ExecVP(char** pArgs, uid_t uid, std::string& pOutput) { - update_client(_("Searching for debug-info packages...")); - - std::string packageName = pPackage.substr(0, pPackage.rfind("-", pPackage.rfind("-")-1)); + int pipeout[2]; char buff[1024]; - int pipein[2], pipeout[2]; pid_t child; - xpipe(pipein); - xpipe(pipeout); + struct passwd* pw = getpwuid(uid); + if (!pw) + { + throw CABRTException(EXCEP_PLUGIN, std::string(__func__) + ": cannot get GID for UID."); + } + xpipe(pipeout); child = fork(); - if (child < 0) + if (child == -1) { - close(pipein[0]); close(pipeout[0]); - close(pipein[1]); close(pipeout[1]); - throw CABRTException(EXCEP_PLUGIN, "CAnalyzerCCpp::InstallDebugInfos(): fork failed."); + perror_msg_and_die("fork"); } if (child == 0) { - close(pipein[1]); - close(pipeout[0]); - xmove_fd(pipein[0], STDIN_FILENO); + close(pipeout[0]); /* read side of the pipe */ xmove_fd(pipeout[1], STDOUT_FILENO); + /* Make sure stdin is safely open to nothing */ + close(STDIN_FILENO); + if (open("/dev/null", O_RDONLY)) + if (open("/", O_RDONLY)) + abort(); /* never happens */ /* Not a good idea, we won't see any error messages */ - /*close(STDERR_FILENO);*/ + /* close(STDERR_FILENO); */ + setgroups(1, &pw->pw_gid); + setregid(pw->pw_gid, pw->pw_gid); + setreuid(uid, uid); setsid(); - execlp("debuginfo-install", "debuginfo-install", "-y", "--", pPackage.c_str(), NULL); + + execvp(pArgs[0], pArgs); exit(0); } - close(pipein[0]); - close(pipeout[1]); - - /* Should not be needed (we use -y option), but just in case: */ - safe_write(pipein[1], "y\n", sizeof("y\n")-1); - close(pipein[1]); - - update_client(_("Downloading and installing debug-info packages...")); + close(pipeout[1]); /* write side of the pipe */ - FILE *pipeout_fp = fdopen(pipeout[0], "r"); - if (pipeout_fp == NULL) /* never happens */ + int r; + while ((r = read(pipeout[0], buff, sizeof(buff) - 1)) > 0) { - close(pipeout[0]); - wait(NULL); - return; + buff[r] = '\0'; + pOutput += buff; } -/* glx-utils, for example, do not have glx-utils-debuginfo package. - * Disabled code was causing failures in backtrace decoding. - * This does not seem to be useful. - */ -#ifdef COMPLAIN_IF_NO_DEBUGINFO - bool already_installed = false; -#endif - while (fgets(buff, sizeof(buff), pipeout_fp)) - { - int last = strlen(buff) - 1; - if (last >= 0 && buff[last] == '\n') - buff[last] = '\0'; - - /* log(buff); - update_client logs it too */ - update_client(buff); /* maybe only if buff != ""? */ - -#ifdef COMPLAIN_IF_NO_DEBUGINFO - if (already_installed == false) - { - /* "Package foo-debuginfo-1.2-5.ARCH already installed and latest version" */ - char* pn = strstr(buff, packageName.c_str()); - if (pn) - { - char* already_str = strstr(pn, "already installed and latest version"); - if (already_str) - { - already_installed = true; - } - } - } - - if (already_installed == false && - (strstr(buff, "No debuginfo packages available to install") != NULL || - strstr(buff, "Could not find debuginfo for main pkg") != NULL || - strstr(buff, "Could not find debuginfo pkg for dependency package") != NULL)) - { - fclose(pipeout_fp); - kill(child, SIGTERM); - wait(NULL); - throw CABRTException(EXCEP_PLUGIN, std::string(__func__) + ": cannot install debuginfos for " + pPackage); - } -#endif - } + close(pipeout[0]); + wait(NULL); /* prevent having zombie child process */ - fclose(pipeout_fp); - wait(NULL); + return 0; } static void GetBacktrace(const std::string& pDebugDumpDir, std::string& pBacktrace) @@ -190,20 +155,22 @@ static void GetBacktrace(const std::string& pDebugDumpDir, std::string& pBacktra dd.Open(pDebugDumpDir); dd.LoadText(FILENAME_EXECUTABLE, executable); dd.LoadText(FILENAME_UID, UID); - fTmp << "file " << executable << std::endl; - fTmp << "core " << pDebugDumpDir << "/" << FILENAME_COREDUMP << std::endl; - fTmp << "thread apply all backtrace full" << std::endl; - fTmp << "q" << std::endl; + fTmp << "file " << executable << '\n'; + fTmp << "core " << pDebugDumpDir << "/"FILENAME_COREDUMP"\n"; + fTmp << "thread apply all backtrace full\nq\n"; fTmp.close(); } else { throw CABRTException(EXCEP_PLUGIN, "CAnalyzerCCpp::GetBacktrace(): cannot create gdb script " + tmpFile); } - char* command = (char*)"gdb"; - char* args[5] = { (char*)"gdb", (char*)"-batch", (char*)"-x", NULL, NULL }; - args[3] = (char*) tmpFile.c_str(); - ExecVP(command, args, atoi(UID.c_str()), pBacktrace); + char* args[5]; + args[0] = (char*)"gdb"; + args[1] = (char*)"-batch"; + args[2] = (char*)"-x"; + args[3] = (char*)tmpFile.c_str(); + args[4] = NULL; + ExecVP(args, atoi(UID.c_str()), pBacktrace); } static void GetIndependentBacktrace(const std::string& pBacktrace, std::string& pIndependentBacktrace) @@ -331,138 +298,216 @@ static void GetIndependentBuildIdPC(const std::string& pBuildIdPC, std::string& } } -static pid_t ExecVP(const char* pCommand, char* const pArgs[], uid_t uid, std::string& pOutput) +static std::string run_unstrip_n(const std::string& pDebugDumpDir) { - int pipeout[2]; - char buff[1024]; - pid_t child; + std::string UID; + { + CDebugDump dd; + dd.Open(pDebugDumpDir); + dd.LoadText(FILENAME_UID, UID); + } - struct passwd* pw = getpwuid(uid); - if (!pw) + std::string core = "--core=" + pDebugDumpDir + "/"FILENAME_COREDUMP; + char* args[4]; + args[0] = (char*)"eu-unstrip"; + args[1] = (char*)core.c_str(); + args[2] = (char*)"-n"; + args[3] = NULL; + std::string output; + ExecVP(args, atoi(UID.c_str()), output); + return output; +} + +static void InstallDebugInfos(const std::string& pDebugDumpDir) +{ + log("Getting module names, file names, build IDs from core file"); + std::string unstrip_list = run_unstrip_n(pDebugDumpDir); + + log("Builting list of missing debuginfos"); + // lines look like this: + // 0x400000+0x209000 ab3c8286aac6c043fd1bb1cc2a0b88ec29517d3e@0x40024c /bin/sleep /usr/lib/debug/bin/sleep.debug [exe] + // 0x7fff313ff000+0x1000 389c7475e3d5401c55953a425a2042ef62c4c7df@0x7fff313ff2f8 . - linux-vdso.so.1 + vector_string_t missing; + char *dup = xstrdup(unstrip_list.c_str()); + char *p = dup; + char c; + do { + char* end = strchrnul(p, '\n'); + c = *end; + *end = '\0'; + char* word2 = strchr(p, ' '); + if (!word2) + continue; + word2++; + char* endsp = strchr(word2, ' '); + if (!endsp) + continue; + /* This filters out linux-vdso.so, among others */ + if (endsp[1] != '/') + continue; + *endsp = '\0'; + char* at = strchrnul(word2, '@'); + *at = '\0'; + + bool file_exists = 1; + if (word2[0] && word2[1] && is_hexstr(word2)) + { + struct stat sb; + char *fn = xasprintf("/usr/lib/debug/.build-id/%.2s/%s", word2, word2 + 2); + /* Not lstat: this is a symlink and we want link's TARGET to exist */ + file_exists = stat(fn, &sb) == 0 && S_ISREG(sb.st_mode); + free(fn); + } + log("build_id:%s exists:%d", word2, (int)file_exists); + if (!file_exists) + missing.push_back(word2); + + p = end + 1; + } while (c); + free(dup); + + if (missing.size() == 0) { - throw CABRTException(EXCEP_PLUGIN, std::string(__func__) + ": cannot get GID for UID."); + log("All debuginfos are present, not installing debuginfo packages"); + return; } + //missing vector is unused for now, but TODO: use it to install only needed debuginfos + std::string package; + { + CDebugDump dd; + dd.Open(pDebugDumpDir); + dd.LoadText(FILENAME_PACKAGE, package); + } + + update_client(_("Searching for debug-info packages...")); + + int pipein[2], pipeout[2]; + xpipe(pipein); xpipe(pipeout); - child = fork(); - if (child == -1) + + pid_t child = fork(); + if (child < 0) { - close(pipeout[0]); - close(pipeout[1]); - throw CABRTException(EXCEP_PLUGIN, std::string(__func__) + ": fork failed."); + /*close(pipein[0]); close(pipeout[0]); - why bother */ + /*close(pipein[1]); close(pipeout[1]); */ + perror_msg_and_die("fork"); } if (child == 0) { - close(pipeout[0]); /* read side of the pipe */ - if (pipeout[1] != STDOUT_FILENO) - { - dup2(pipeout[1], STDOUT_FILENO); - close(pipeout[1]); - } - /* Make sure stdin is safely open to nothing */ - close(STDIN_FILENO); - if (open("/dev/null", O_RDONLY)) - if (open("/", O_RDONLY)) - abort(); /* never happens */ + close(pipein[1]); + close(pipeout[0]); + xmove_fd(pipein[0], STDIN_FILENO); + xmove_fd(pipeout[1], STDOUT_FILENO); /* Not a good idea, we won't see any error messages */ - /* close(STDERR_FILENO); */ + /*close(STDERR_FILENO);*/ - setgroups(1, &pw->pw_gid); - setregid(pw->pw_gid, pw->pw_gid); - setreuid(uid, uid); setsid(); - - execvp(pCommand, pArgs); + execlp("debuginfo-install", "debuginfo-install", "-y", "--", package.c_str(), NULL); exit(0); } - close(pipeout[1]); /* write side of the pipe */ + close(pipein[0]); + close(pipeout[1]); -/* - bool quit = false; + /* Should not be needed (we use -y option), but just in case: */ + safe_write(pipein[1], "y\n", sizeof("y\n")-1); + close(pipein[1]); + + update_client(_("Downloading and installing debug-info packages...")); + + FILE *pipeout_fp = fdopen(pipeout[0], "r"); + if (pipeout_fp == NULL) /* never happens */ + { + close(pipeout[0]); + wait(NULL); + return; + } - while (!quit) +/* glx-utils, for example, do not have glx-utils-debuginfo package. + * Disabled code was causing failures in backtrace decoding. + * This does not seem to be useful. + */ +#ifdef COMPLAIN_IF_NO_DEBUGINFO + bool already_installed = false; +#endif + char buff[1024]; + std::string packageName = package.substr(0, package.rfind("-", package.rfind("-")-1)); + while (fgets(buff, sizeof(buff), pipeout_fp)) { - fd_set rsfd; - FD_ZERO(&rsfd); - FD_SET(pipeout[0], &rsfd); - struct timeval delay; + int last = strlen(buff) - 1; + if (last >= 0 && buff[last] == '\n') + buff[last] = '\0'; - delay.tv_sec = 1; - delay.tv_usec = 0; + /* log(buff); - update_client logs it too */ + update_client(buff); /* maybe only if buff != ""? */ - if (select(FD_SETSIZE, &rsfd, NULL, NULL, &delay) > 0) +#ifdef COMPLAIN_IF_NO_DEBUGINFO + if (already_installed == false) { - if (FD_ISSET(pipeout[0], &rsfd)) + /* "Package foo-debuginfo-1.2-5.ARCH already installed and latest version" */ + char* pn = strstr(buff, packageName.c_str()); + if (pn) { - int r = read(pipeout[0], buff, sizeof(buff) - 1); - if (r <= 0) - { - quit = true; - } - else + char* already_str = strstr(pn, "already installed and latest version"); + if (already_str) { - buff[r] = '\0'; - pOutput += buff; + already_installed = true; } } } - } -I think the below code has absolutely the same effect: -*/ - int r; - while ((r = read(pipeout[0], buff, sizeof(buff) - 1)) > 0) - { - buff[r] = '\0'; - pOutput += buff; - } - close(pipeout[0]); - wait(NULL); /* why? */ + if (already_installed == false && + (strstr(buff, "No debuginfo packages available to install") != NULL || + strstr(buff, "Could not find debuginfo for main pkg") != NULL || + strstr(buff, "Could not find debuginfo pkg for dependency package") != NULL)) + { + fclose(pipeout_fp); + kill(child, SIGTERM); + wait(NULL); + throw CABRTException(EXCEP_PLUGIN, std::string(__func__) + ": cannot install debuginfos for " + pPackage); + } +#endif + } - return 0; + fclose(pipeout_fp); + wait(NULL); } std::string CAnalyzerCCpp::GetLocalUUID(const std::string& pDebugDumpDir) { - update_client(_("Getting local universal unique identification...")); + log(_("Getting local universal unique identification...")); - std::string UID; std::string executable; std::string package; - std::string buildIdPC; - std::string independentBuildIdPC; - std::string core = "--core=" + pDebugDumpDir + "/"FILENAME_COREDUMP; - char* command = (char*)"eu-unstrip"; - char* args[4] = { (char*)"eu-unstrip", NULL, (char*)"-n", NULL }; - args[1] = (char*)core.c_str(); - - CDebugDump dd; - dd.Open(pDebugDumpDir); - dd.LoadText(FILENAME_UID, UID); - dd.LoadText(FILENAME_EXECUTABLE, executable); - dd.LoadText(FILENAME_PACKAGE, package); - ExecVP(command, args, atoi(UID.c_str()), buildIdPC); - dd.Close(); + { + CDebugDump dd; + dd.Open(pDebugDumpDir); + dd.LoadText(FILENAME_EXECUTABLE, executable); + dd.LoadText(FILENAME_PACKAGE, package); + } + std::string buildIdPC = run_unstrip_n(pDebugDumpDir); + std::string independentBuildIdPC; GetIndependentBuildIdPC(buildIdPC, independentBuildIdPC); return CreateHash(package + executable + independentBuildIdPC); } std::string CAnalyzerCCpp::GetGlobalUUID(const std::string& pDebugDumpDir) { - update_client(_("Getting global universal unique identification...")); + log(_("Getting global universal unique identification...")); std::string backtrace; std::string executable; std::string package; std::string independentBacktrace; - CDebugDump dd; - dd.Open(pDebugDumpDir); - dd.LoadText(FILENAME_BACKTRACE, backtrace); - dd.LoadText(FILENAME_EXECUTABLE, executable); - dd.LoadText(FILENAME_PACKAGE, package); - dd.Close(); + { + CDebugDump dd; + dd.Open(pDebugDumpDir); + dd.LoadText(FILENAME_BACKTRACE, backtrace); + dd.LoadText(FILENAME_EXECUTABLE, executable); + dd.LoadText(FILENAME_PACKAGE, package); + } GetIndependentBacktrace(backtrace, independentBacktrace); return CreateHash(package + executable + independentBacktrace); } @@ -471,28 +516,26 @@ void CAnalyzerCCpp::CreateReport(const std::string& pDebugDumpDir) { update_client(_("Starting report creation...")); - std::string package; - std::string backtrace; CDebugDump dd; - dd.Open(pDebugDumpDir); - if (dd.Exist(FILENAME_BACKTRACE)) + bool bt_exists = dd.Exist(FILENAME_BACKTRACE); + dd.Close(); /* do not keep dir locked longer than needed */ + if (bt_exists) { - return; + return; /* already done */ } - dd.LoadText(FILENAME_PACKAGE, package); - dd.Close(); map_plugin_settings_t settings = GetSettings(); if (settings["InstallDebuginfo"] == "yes") { - InstallDebugInfos(package); + InstallDebugInfos(pDebugDumpDir); } else { - warn_client(ssprintf(_("Skip debuginfo installation for package %s"), package.c_str())); + warn_client(_("Skipping debuginfo installation")); } + std::string backtrace; GetBacktrace(pDebugDumpDir, backtrace); dd.Open(pDebugDumpDir); -- cgit From 7b54a461ab5fde77ab74cebddecfb683a8fc504e Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Tue, 15 Sep 2009 17:09:54 +0200 Subject: small correction to previous commit (forgot .debug suffix) Signed-off-by: Denys Vlasenko --- lib/Plugins/CCpp.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/Plugins/CCpp.cpp b/lib/Plugins/CCpp.cpp index 18c3bfb..cc9eaf4 100644 --- a/lib/Plugins/CCpp.cpp +++ b/lib/Plugins/CCpp.cpp @@ -353,7 +353,7 @@ static void InstallDebugInfos(const std::string& pDebugDumpDir) if (word2[0] && word2[1] && is_hexstr(word2)) { struct stat sb; - char *fn = xasprintf("/usr/lib/debug/.build-id/%.2s/%s", word2, word2 + 2); + char *fn = xasprintf("/usr/lib/debug/.build-id/%.2s/%s.debug", word2, word2 + 2); /* Not lstat: this is a symlink and we want link's TARGET to exist */ file_exists = stat(fn, &sb) == 0 && S_ISREG(sb.st_mode); free(fn); -- cgit From 670a6e1741242096ee0fdd4ae98953493c1b743b Mon Sep 17 00:00:00 2001 From: warrink Date: Tue, 15 Sep 2009 16:55:04 +0000 Subject: Sending translation for Dutch --- po/nl.po | 31 +++++++++++++++---------------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/po/nl.po b/po/nl.po index f6cad1a..b14e024 100644 --- a/po/nl.po +++ b/po/nl.po @@ -9,8 +9,8 @@ msgid "" msgstr "" "Project-Id-Version: abrt\n" "Report-Msgid-Bugs-To: jmoskovc@redhat.com\n" -"POT-Creation-Date: 2009-09-09 15:44+0000\n" -"PO-Revision-Date: 2009-09-09 18:23+0200\n" +"POT-Creation-Date: 2009-09-15 16:14+0000\n" +"PO-Revision-Date: 2009-09-15 18:54+0200\n" "Last-Translator: Geert Warrink \n" "Language-Team: nl \n" "MIME-Version: 1.0\n" @@ -283,7 +283,7 @@ msgstr "Applet draait al." msgid "ABRT service is not running" msgstr "ABRT service draait niet" -#: ../src/Applet/CCApplet.cpp:135 ../src/Applet/CCApplet.cpp:343 +#: ../src/Applet/CCApplet.cpp:136 ../src/Applet/CCApplet.cpp:343 #, c-format msgid "Pending events: %i" msgstr "Gebeurtenissen in behandeling: %i" @@ -355,34 +355,33 @@ msgstr "Uitloggen..." msgid "Getting local/global universal unique identification..." msgstr "Verkrijgen van locale/globale universele unieke identificatie..." -#: ../lib/Plugins/CCpp.cpp:82 +#: ../lib/Plugins/CCpp.cpp:145 +msgid "Getting backtrace..." +msgstr "Backtrace ophalen..." + +#: ../lib/Plugins/CCpp.cpp:383 msgid "Searching for debug-info packages..." msgstr "Zoeken naar debug-info pakketten..." -#: ../lib/Plugins/CCpp.cpp:120 +#: ../lib/Plugins/CCpp.cpp:417 msgid "Downloading and installing debug-info packages..." msgstr "Downloaden en installeren van debug-info pakketten..." -#: ../lib/Plugins/CCpp.cpp:180 -msgid "Getting backtrace..." -msgstr "Backtrace ophalen..." - -#: ../lib/Plugins/CCpp.cpp:429 +#: ../lib/Plugins/CCpp.cpp:479 msgid "Getting local universal unique identification..." msgstr "Verkrijgen van locale universele unieke identificatie..." -#: ../lib/Plugins/CCpp.cpp:455 +#: ../lib/Plugins/CCpp.cpp:498 msgid "Getting global universal unique identification..." msgstr "Verkrijgen van golbale universele unieke identificatie..." -#: ../lib/Plugins/CCpp.cpp:473 +#: ../lib/Plugins/CCpp.cpp:517 msgid "Starting report creation..." msgstr "Beginnen met rapport aanmaken..." -#: ../lib/Plugins/CCpp.cpp:495 -#, c-format -msgid "Skip debuginfo installation for package %s" -msgstr "Sla debuginfo installatie over voor pakket %s" +#: ../lib/Plugins/CCpp.cpp:535 +msgid "Skipping debuginfo installation" +msgstr "Sla debuginfo installatie over" #: ../lib/Plugins/KerneloopsReporter.cpp:101 msgid "Creating and submitting a report..." -- cgit From fbe358995978f60ad23ed86e71cfa8ba425b70eb Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Tue, 15 Sep 2009 19:13:58 +0200 Subject: convert a few string& params to char* Signed-off-by: Denys Vlasenko --- src/Daemon/MiddleWare.cpp | 10 +++++----- src/Daemon/RPM.cpp | 26 +++++++++++++------------- src/Daemon/RPM.h | 10 +++++----- 3 files changed, 23 insertions(+), 23 deletions(-) diff --git a/src/Daemon/MiddleWare.cpp b/src/Daemon/MiddleWare.cpp index d18f6ab..6480ab5 100644 --- a/src/Daemon/MiddleWare.cpp +++ b/src/Daemon/MiddleWare.cpp @@ -480,7 +480,7 @@ static mw_result_t SavePackageDescriptionToDebugDump(const std::string& pExecuta } else { - package = GetPackage(pExecutable); + package = GetPackage(pExecutable.c_str()); packageName = package.substr(0, package.rfind("-", package.rfind("-") - 1)); if (packageName == "" || (g_setBlackList.find(packageName) != g_setBlackList.end())) @@ -495,12 +495,12 @@ static mw_result_t SavePackageDescriptionToDebugDump(const std::string& pExecuta } if (g_settings_bOpenGPGCheck) { - if (!s_RPM.CheckFingerprint(packageName)) + if (!s_RPM.CheckFingerprint(packageName.c_str())) { error_msg("package isn't signed with proper key"); return MW_GPG_ERROR; } - if (!CheckHash(packageName, pExecutable)) + if (!CheckHash(packageName.c_str(), pExecutable.c_str())) { error_msg("executable has bad hash"); return MW_GPG_ERROR; @@ -508,8 +508,8 @@ static mw_result_t SavePackageDescriptionToDebugDump(const std::string& pExecuta } } - std::string description = GetDescription(packageName); - std::string component = GetComponent(pExecutable); + std::string description = GetDescription(packageName.c_str()); + std::string component = GetComponent(pExecutable.c_str()); try { diff --git a/src/Daemon/RPM.cpp b/src/Daemon/RPM.cpp index 51aa0dd..4a819b5 100644 --- a/src/Daemon/RPM.cpp +++ b/src/Daemon/RPM.cpp @@ -35,11 +35,11 @@ void CRPM::LoadOpenGPGPublicKey(const char* pFileName) free(pkt); } -bool CRPM::CheckFingerprint(const std::string& pPackage) +bool CRPM::CheckFingerprint(const char* pPackage) { bool ret = false; rpmts ts = rpmtsCreate(); - rpmdbMatchIterator iter = rpmtsInitIterator(ts, RPMTAG_NAME, pPackage.c_str(), 0); + rpmdbMatchIterator iter = rpmtsInitIterator(ts, RPMTAG_NAME, pPackage, 0); Header header = rpmdbNextIterator(iter); if (header != NULL) @@ -82,11 +82,11 @@ bool CRPM::CheckFingerprint(const std::string& pPackage) return ret; } -bool CheckHash(const std::string& pPackage, const std::string& pPath) +bool CheckHash(const char* pPackage, const char* pPath) { bool ret = false; rpmts ts = rpmtsCreate(); - rpmdbMatchIterator iter = rpmtsInitIterator(ts, RPMTAG_NAME, pPackage.c_str(), 0); + rpmdbMatchIterator iter = rpmtsInitIterator(ts, RPMTAG_NAME, pPackage, 0); Header header = rpmdbNextIterator(iter); if (header != NULL) { @@ -95,16 +95,16 @@ bool CheckHash(const std::string& pPackage, const std::string& pPath) std::string headerHash; char computedHash[1024] = ""; - while(rpmfiNext(fi) != -1) + while (rpmfiNext(fi) != -1) { - if (pPath == rpmfiFN(fi)) + if (strcmp(pPath, rpmfiFN(fi)) == 0) { headerHash = rpmfiFDigestHex(fi, &hashAlgo); } } rpmfiFree(fi); - rpmDoDigest(hashAlgo, pPath.c_str(), 1, (unsigned char*) computedHash, NULL); + rpmDoDigest(hashAlgo, pPath, 1, (unsigned char*) computedHash, NULL); if (headerHash != "" && headerHash == computedHash) { @@ -116,11 +116,11 @@ bool CheckHash(const std::string& pPackage, const std::string& pPath) return ret; } -std::string GetDescription(const std::string& pPackage) +std::string GetDescription(const char* pPackage) { std::string pDescription = ""; rpmts ts = rpmtsCreate(); - rpmdbMatchIterator iter = rpmtsInitIterator(ts, RPMTAG_NAME, pPackage.c_str(), 0); + rpmdbMatchIterator iter = rpmtsInitIterator(ts, RPMTAG_NAME, pPackage, 0); Header header = rpmdbNextIterator(iter); if (header != NULL) { @@ -137,11 +137,11 @@ std::string GetDescription(const std::string& pPackage) return pDescription; } -std::string GetComponent(const std::string& pFileName) +std::string GetComponent(const char* pFileName) { std::string ret = ""; rpmts ts = rpmtsCreate(); - rpmdbMatchIterator iter = rpmtsInitIterator(ts, RPMTAG_BASENAMES, pFileName.c_str(), 0); + rpmdbMatchIterator iter = rpmtsInitIterator(ts, RPMTAG_BASENAMES, pFileName, 0); Header header = rpmdbNextIterator(iter); if (header != NULL) { @@ -161,11 +161,11 @@ std::string GetComponent(const std::string& pFileName) return ret; } -std::string GetPackage(const std::string& pFileName) +std::string GetPackage(const char* pFileName) { std::string ret = ""; rpmts ts = rpmtsCreate(); - rpmdbMatchIterator iter = rpmtsInitIterator(ts, RPMTAG_BASENAMES, pFileName.c_str(), 0); + rpmdbMatchIterator iter = rpmtsInitIterator(ts, RPMTAG_BASENAMES, pFileName, 0); Header header = rpmdbNextIterator(iter); if (header != NULL) { diff --git a/src/Daemon/RPM.h b/src/Daemon/RPM.h index 57f9a97..67cd4a2 100644 --- a/src/Daemon/RPM.h +++ b/src/Daemon/RPM.h @@ -62,7 +62,7 @@ class CRPM * A method, which checks if package's finger print is valid. * @param pPackage A package name. */ - bool CheckFingerprint(const std::string& pPackage); + bool CheckFingerprint(const char* pPackage); }; /** @@ -70,13 +70,13 @@ class CRPM * @param pPackage A package name. The package contains the application. * @param pPath A path to the application. */ -bool CheckHash(const std::string& pPackage, const std::string& pPath); +bool CheckHash(const char* pPackage, const char* pPath); /** * Gets a package description. * @param pPackage A package name. * @return A package description. */ -std::string GetDescription(const std::string& pPackage); +std::string GetDescription(const char* pPackage); /** * Gets a package name. This package contains particular * file. If the file doesn't belong to any package, empty string is @@ -84,7 +84,7 @@ std::string GetDescription(const std::string& pPackage); * @param pFileName A file name. * @return A package name. */ -std::string GetPackage(const std::string& pFileName); +std::string GetPackage(const char* pFileName); /** * Finds a main package for given file. This package contains particular * file. If the file doesn't belong to any package, empty string is @@ -92,6 +92,6 @@ std::string GetPackage(const std::string& pFileName); * @param pFileName A file name. * @return A package name. */ -std::string GetComponent(const std::string& pFileName); +std::string GetComponent(const char* pFileName); #endif -- cgit From 0a1eb8d27e3ba34cf8f1aadaa101c8edbfd9fc6b Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Tue, 15 Sep 2009 19:15:50 +0200 Subject: reuse code, do not cut-n-paste Signed-off-by: Denys Vlasenko --- lib/Utils/Polkit.cpp | 56 ++++++++++++---------------------------------------- 1 file changed, 13 insertions(+), 43 deletions(-) diff --git a/lib/Utils/Polkit.cpp b/lib/Utils/Polkit.cpp index ea2316a..71e5703 100644 --- a/lib/Utils/Polkit.cpp +++ b/lib/Utils/Polkit.cpp @@ -26,16 +26,14 @@ #include "Polkit.h" -PolkitResult polkit_check_authorization(const char *dbus_name, const char *action_id) +static PolkitResult do_check(PolkitSubject *subject, const char *action_id) { PolkitAuthority *authority; - PolkitSubject *subject; PolkitAuthorizationResult *result; GError *error = NULL; g_type_init(); authority = polkit_authority_get(); - subject = polkit_system_bus_name_new(dbus_name); result = polkit_authority_check_authorization_sync(authority, subject, @@ -53,53 +51,25 @@ PolkitResult polkit_check_authorization(const char *dbus_name, const char *actio if (result) { - if (polkit_authorization_result_get_is_challenge(result)) + if (polkit_authorization_result_get_is_challenge(result)) /* Can't happen (happens only with * POLKIT_CHECK_AUTHORIZATION_FLAGS_NONE flag) */ - return PolkitChallenge; - if (polkit_authorization_result_get_is_authorized(result)) - return PolkitYes; - return PolkitNo; + return PolkitChallenge; + if (polkit_authorization_result_get_is_authorized(result)) + return PolkitYes; + return PolkitNo; } return PolkitUnknown; + +PolkitResult polkit_check_authorization(const char *dbus_name, const char *action_id) +{ + PolkitSubject *subject = polkit_system_bus_name_new(dbus_name); + return do_check(subject, action_id); } PolkitResult polkit_check_authorization(pid_t pid, const char *action_id) { - PolkitAuthority *authority; - PolkitSubject *subject; - PolkitAuthorizationResult *result; - GError *error = NULL; - - g_type_init(); - authority = polkit_authority_get(); - subject = polkit_unix_process_new(pid); - - result = polkit_authority_check_authorization_sync(authority, - subject, - action_id, - NULL, - POLKIT_CHECK_AUTHORIZATION_FLAGS_ALLOW_USER_INTERACTION, - NULL, - &error); - - if (error) - { - g_error_free(error); - return PolkitUnknown; - } - - if (result) - { - if (polkit_authorization_result_get_is_challenge(result)) - /* Can't happen (happens only with - * POLKIT_CHECK_AUTHORIZATION_FLAGS_NONE flag) */ - return PolkitChallenge; - if (polkit_authorization_result_get_is_authorized(result)) - return PolkitYes; - return PolkitNo; - } - - return PolkitUnknown; + PolkitSubject *subject = polkit_unix_process_new(pid); + return do_check(subject, action_id); } -- cgit From 9c5be05fba0e0ec0acd650d00412779c48344649 Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Tue, 15 Sep 2009 19:19:28 +0200 Subject: add forgotten } Signed-off-by: Denys Vlasenko --- lib/Utils/Polkit.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/Utils/Polkit.cpp b/lib/Utils/Polkit.cpp index 71e5703..d3d92d1 100644 --- a/lib/Utils/Polkit.cpp +++ b/lib/Utils/Polkit.cpp @@ -61,6 +61,7 @@ static PolkitResult do_check(PolkitSubject *subject, const char *action_id) } return PolkitUnknown; +} PolkitResult polkit_check_authorization(const char *dbus_name, const char *action_id) { -- cgit From f0eeda881499a0b6e10f6fd8394bb28b899c316f Mon Sep 17 00:00:00 2001 From: beckerde Date: Tue, 15 Sep 2009 18:01:30 +0000 Subject: Sending translation for Spanish --- po/es.po | 33 ++++++++++++++++----------------- 1 file changed, 16 insertions(+), 17 deletions(-) diff --git a/po/es.po b/po/es.po index 9d0e7e2..23cbd8b 100644 --- a/po/es.po +++ b/po/es.po @@ -6,9 +6,9 @@ msgid "" msgstr "" "Project-Id-Version: abrt.master.es\n" "Report-Msgid-Bugs-To: jmoskovc@redhat.com\n" -"POT-Creation-Date: 2009-09-10 08:38+0000\n" -"PO-Revision-Date: 2009-09-10 11:26-0300\n" -"Last-Translator: Claudio Rodrigo Pereyra Diaz \n" +"POT-Creation-Date: 2009-09-15 16:14+0000\n" +"PO-Revision-Date: 2009-09-15 15:02-0300\n" +"Last-Translator: Domingo Becker \n" "Language-Team: Fedora Spanish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -271,7 +271,7 @@ msgstr "La aplicación ya se está ejecutando." msgid "ABRT service is not running" msgstr "El servicio ABRT no se está ejecutando" -#: ../src/Applet/CCApplet.cpp:135 +#: ../src/Applet/CCApplet.cpp:136 #: ../src/Applet/CCApplet.cpp:343 #, c-format msgid "Pending events: %i" @@ -340,34 +340,33 @@ msgstr "Saliendo..." msgid "Getting local/global universal unique identification..." msgstr "Obteniendo la identificación única universal local/global..." -#: ../lib/Plugins/CCpp.cpp:82 +#: ../lib/Plugins/CCpp.cpp:145 +msgid "Getting backtrace..." +msgstr "Obteniendo el backtrace..." + +#: ../lib/Plugins/CCpp.cpp:383 msgid "Searching for debug-info packages..." msgstr "Buscando paquetes de información del depurador..." -#: ../lib/Plugins/CCpp.cpp:120 +#: ../lib/Plugins/CCpp.cpp:417 msgid "Downloading and installing debug-info packages..." msgstr "Descargando e instalando paquetes de información del depurador..." -#: ../lib/Plugins/CCpp.cpp:180 -msgid "Getting backtrace..." -msgstr "Obteniendo el backtrace..." - -#: ../lib/Plugins/CCpp.cpp:428 +#: ../lib/Plugins/CCpp.cpp:479 msgid "Getting local universal unique identification..." msgstr "Obteniendo la identificación única universal local..." -#: ../lib/Plugins/CCpp.cpp:454 +#: ../lib/Plugins/CCpp.cpp:498 msgid "Getting global universal unique identification..." msgstr "Obteniendo la identificación única universal global..." -#: ../lib/Plugins/CCpp.cpp:472 +#: ../lib/Plugins/CCpp.cpp:517 msgid "Starting report creation..." msgstr "Iniciando la creación del informe..." -#: ../lib/Plugins/CCpp.cpp:493 -#, c-format -msgid "Skip debuginfo installation for package %s" -msgstr "Omita la información de debuginfo para el paquete %s" +#: ../lib/Plugins/CCpp.cpp:535 +msgid "Skipping debuginfo installation" +msgstr "Omita la instalación de la información de depuración" #: ../lib/Plugins/KerneloopsReporter.cpp:101 msgid "Creating and submitting a report..." -- cgit From 7506b192050f7f785f84f012a1b10b3dfa9565f7 Mon Sep 17 00:00:00 2001 From: kenda Date: Tue, 15 Sep 2009 22:23:51 +0000 Subject: Sending translation for German --- po/de.po | 89 ++++++++++++++++++++++++++++++++-------------------------------- 1 file changed, 45 insertions(+), 44 deletions(-) diff --git a/po/de.po b/po/de.po index 0a6cfeb..1306ae6 100644 --- a/po/de.po +++ b/po/de.po @@ -6,13 +6,14 @@ # # Fabian Affolter , 2009. # Hedda Peters , 2009. +# Marcus Nitzschke , 2009. msgid "" msgstr "" "Project-Id-Version: abrt.master.de\n" "Report-Msgid-Bugs-To: jmoskovc@redhat.com\n" -"POT-Creation-Date: 2009-09-10 18:54+0000\n" -"PO-Revision-Date: 2009-09-11 16:55+1000\n" -"Last-Translator: Hedda Peters \n" +"POT-Creation-Date: 2009-09-15 16:14+0000\n" +"PO-Revision-Date: 2009-09-16 00:22+0200\n" +"Last-Translator: Marcus Nitzschke \n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -48,7 +49,8 @@ msgstr "Datenbank-Plugins" msgid "Can't connect to dbus" msgstr "Kann nicht mit dbus verbinden" -#: ../src/Gui/CCDBusBackend.py:144 ../src/Gui/CCDBusBackend.py:164 +#: ../src/Gui/CCDBusBackend.py:144 +#: ../src/Gui/CCDBusBackend.py:164 msgid "Please check if abrt daemon is running." msgstr "Bitte überprüfen Sie, ob der abrt-Daemon läuft." @@ -68,7 +70,8 @@ msgstr " " msgid "(C) 2009 Red Hat, Inc." msgstr "(C) 2009 Red Hat, Inc." -#: ../src/Gui/ccgui.glade.h:3 ../src/Gui/CCMainWindow.py:223 +#: ../src/Gui/ccgui.glade.h:3 +#: ../src/Gui/CCMainWindow.py:223 msgid "Not reported!" msgstr "Nicht berichtet!" @@ -96,24 +99,18 @@ msgstr "Bitte warten ..." msgid "Plugins" msgstr "Plugins" -#: ../src/Gui/ccgui.glade.h:10 ../src/Gui/report.glade.h:2 +#: ../src/Gui/ccgui.glade.h:10 +#: ../src/Gui/report.glade.h:2 msgid "Report" msgstr "Bericht" #: ../src/Gui/ccgui.glade.h:11 msgid "" -"This program is free software; you can redistribute it and/or modify it " -"under the terms of the GNU General Public License as published by the Free " -"Software Foundation; either version 2 of the License, or (at your option) " -"any later version.\n" +"This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.\n" "\n" -"This program is distributed in the hope that it will be useful, but WITHOUT " -"ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or " -"FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for " -"more details.\n" +"This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.\n" "\n" -"You should have received a copy of the GNU General Public License along with " -"this program. If not, see ." +"You should have received a copy of the GNU General Public License along with this program. If not, see ." msgstr "" "Dieses Programm ist freie Software. Sie können es unter den Bedingungen der GNU General Public License, wie von der Free Software Foundation veröffentlicht, weitergeben und/oder modifizieren, entweder gemäß Version 2 der Lizenz oder (nach Ihrer Option) jeder späteren Version.\n" "\n" @@ -204,12 +201,11 @@ msgstr "Fehler beim Abrufen des Berichts: %s" #: ../src/Gui/CCReporterDialog.py:98 #, python-format msgid "" -"WARNING, you're about to send data which might contain sensitive " -"information.\n" +"WARNING, you're about to send data which might contain sensitive information.\n" "Do you really want to send %s?\n" msgstr "" -"WARNUNG, Sie sind im Begriff, möglicherweise sensible Daten zu senden.\n " -"Möchten Sie wirklich senden%s?\n" +"WARNUNG, Sie sind im Begriff, möglicherweise sensible Daten zu senden.\n" +" Möchten Sie wirklich senden%s?\n" #: ../src/Gui/CCReporterDialog.py:111 msgid "Brief description how to reproduce this or what you did..." @@ -225,7 +221,8 @@ msgstr "Kann PluginDialog-Widget nicht in UI-Beschreibung finden!" msgid "No UI for plugin %s" msgstr "Kein UI für Plugin %s" -#: ../src/Gui/PluginSettingsUI.py:38 ../src/Gui/PluginSettingsUI.py:64 +#: ../src/Gui/PluginSettingsUI.py:38 +#: ../src/Gui/PluginSettingsUI.py:64 msgid "combo box is not implemented" msgstr "Combo-Box ist nicht implementiert" @@ -245,7 +242,8 @@ msgstr "Senden" msgid "gtk-cancel" msgstr "gtk-cancel" -#: ../src/Gui/SettingsDialog.py:35 ../src/Gui/SettingsDialog.py:52 +#: ../src/Gui/SettingsDialog.py:35 +#: ../src/Gui/SettingsDialog.py:52 msgid "Select plugin" msgstr "Plugin wählen" @@ -271,12 +269,14 @@ msgstr "In Paket %s wurde ein Absturz entdeckt!" msgid "Applet is already running." msgstr "Applet wird beläuft ausgeführt bereits." -#: ../src/Applet/Applet.cpp:96 ../src/Applet/Applet.cpp:97 +#: ../src/Applet/Applet.cpp:96 +#: ../src/Applet/Applet.cpp:97 #: ../src/Applet/CCApplet.cpp:201 msgid "ABRT service is not running" msgstr "ABRT-Dienst wird nicht ausgeführt." -#: ../src/Applet/CCApplet.cpp:135 ../src/Applet/CCApplet.cpp:343 +#: ../src/Applet/CCApplet.cpp:136 +#: ../src/Applet/CCApplet.cpp:343 #, c-format msgid "Pending events: %i" msgstr "Ausstehende Ereignisse: %i" @@ -287,9 +287,7 @@ msgid "Can't create menu from the description, popup won't be available!\n" msgstr "Kann kein Menü aus der Beschreibung erzeugen, Popup wird nicht verfügbar sein!\n" #: ../src/Applet/CCApplet.cpp:190 -msgid "" -"This is default handler, you should register your own with " -"ConnectCrashHandler" +msgid "This is default handler, you should register your own with ConnectCrashHandler" msgstr "Dies ist der Standard-Handler, Sie sollten Ihren eigenen mittels ConnectCrashHandler registrieren" #: ../src/Applet/CCApplet.cpp:205 @@ -325,7 +323,8 @@ msgstr "Neue Fehler-ID:" msgid "Checking for duplicates..." msgstr "Auf Duplikate überprüfen ..." -#: ../lib/Plugins/Bugzilla.cpp:424 ../lib/Plugins/Bugzilla.cpp:436 +#: ../lib/Plugins/Bugzilla.cpp:424 +#: ../lib/Plugins/Bugzilla.cpp:436 msgid "Logging into bugzilla..." msgstr "Bei Bugzilla anmelden ..." @@ -345,40 +344,40 @@ msgstr "Abmelden ..." msgid "Getting local/global universal unique identification..." msgstr "Lokale/globale, universelle, eindeutige Identifikation abrufen ..." -#: ../lib/Plugins/CCpp.cpp:82 +#: ../lib/Plugins/CCpp.cpp:145 +msgid "Getting backtrace..." +msgstr "Backtrace abrufen ..." + +#: ../lib/Plugins/CCpp.cpp:383 msgid "Searching for debug-info packages..." msgstr "debug-info-Pakete suchen ..." -#: ../lib/Plugins/CCpp.cpp:120 +#: ../lib/Plugins/CCpp.cpp:417 msgid "Downloading and installing debug-info packages..." msgstr "debug-info-Pakete herunterladen und installieren ..." -#: ../lib/Plugins/CCpp.cpp:180 -msgid "Getting backtrace..." -msgstr "Backtrace abrufen ..." - -#: ../lib/Plugins/CCpp.cpp:428 +#: ../lib/Plugins/CCpp.cpp:479 msgid "Getting local universal unique identification..." msgstr "Lokale, universelle, eindeutige Identifikation abrufen ..." -#: ../lib/Plugins/CCpp.cpp:454 +#: ../lib/Plugins/CCpp.cpp:498 msgid "Getting global universal unique identification..." msgstr "Globale, universelle, eindeutige Identifikation abrufen ..." -#: ../lib/Plugins/CCpp.cpp:472 +#: ../lib/Plugins/CCpp.cpp:517 msgid "Starting report creation..." msgstr "Berichterstellung beginnen ..." -#: ../lib/Plugins/CCpp.cpp:493 -#, c-format -msgid "Skip debuginfo installation for package %s" -msgstr "debuginfo-Installation überspringen für Paket %s" +#: ../lib/Plugins/CCpp.cpp:535 +msgid "Skipping debuginfo installation" +msgstr "debuginfo-Installation wird übersprungen" #: ../lib/Plugins/KerneloopsReporter.cpp:101 msgid "Creating and submitting a report..." msgstr "Einen Bericht erstellen und einreichen ..." -#: ../lib/Plugins/Logger.cpp:58 ../lib/Plugins/Mailx.cpp:124 +#: ../lib/Plugins/Logger.cpp:58 +#: ../lib/Plugins/Mailx.cpp:124 msgid "Creating a report..." msgstr "Einen Bericht erstellen ..." @@ -386,7 +385,8 @@ msgstr "Einen Bericht erstellen ..." msgid "Executing RunApp plugin..." msgstr "RunApp-Plugin ausführen ..." -#: ../lib/Plugins/FileTransfer.cpp:52 ../lib/Plugins/FileTransfer.cpp:247 +#: ../lib/Plugins/FileTransfer.cpp:52 +#: ../lib/Plugins/FileTransfer.cpp:247 msgid "FileTransfer: URL not specified" msgstr "Dateiübertragung: URL nicht angegeben" @@ -403,7 +403,8 @@ msgstr "Ein Archiv erzeugen ..." msgid "File Transfer: Creating a report..." msgstr "Dateiübertragung: Einen Bericht erstellen ..." -#: ../lib/Plugins/FileTransfer.cpp:197 ../lib/Plugins/FileTransfer.cpp:226 +#: ../lib/Plugins/FileTransfer.cpp:197 +#: ../lib/Plugins/FileTransfer.cpp:226 msgid "CFileTransfer::Run(): Cannot create and send an archive: " msgstr "CFileTransfer::Run(): Kann kein Archiv erzeugen und senden: " -- cgit From 3a365515bcf39d715f72993e89d1f7b6a4faf99f Mon Sep 17 00:00:00 2001 From: ruigo Date: Tue, 15 Sep 2009 22:36:40 +0000 Subject: Sending translation for Portuguese --- po/pt.po | 78 ++++++++++++++++++++++++++++++++++------------------------------ 1 file changed, 42 insertions(+), 36 deletions(-) diff --git a/po/pt.po b/po/pt.po index 0e41eb2..f957fc3 100644 --- a/po/pt.po +++ b/po/pt.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: abrt\n" "Report-Msgid-Bugs-To: jmoskovc@redhat.com\n" -"POT-Creation-Date: 2009-09-09 15:44+0000\n" +"POT-Creation-Date: 2009-09-15 16:14+0000\n" "PO-Revision-Date: \n" "Last-Translator: Rui Gouveia \n" "Language-Team: PT \n" @@ -18,7 +18,7 @@ msgstr "Outro cliente já está em execução. A tentar despertá-lo." #: ../src/Gui/ABRTExceptions.py:10 msgid "Got unexpected data from daemon (is the database properly updated?)." -msgstr "" +msgstr "Obteve-se dados inesperados do serviço (a base de dados está actualizada?)" #: ../src/Gui/ABRTPlugin.py:26 msgid "Analyzer plugins" @@ -50,6 +50,8 @@ msgid "" "Daemon did't return valid report info\n" "Debuginfo is missing?" msgstr "" +"O serviço não retornou um relatório com informação válida\n" +"Debuginfo está em falta?" #: ../src/Gui/ccgui.glade.h:1 msgid " " @@ -158,6 +160,8 @@ msgid "" "Error while loading the dumplist, please check if abrt daemon is running\n" " %s" msgstr "" +"Erro ao carregar a lista de dump, por favor, verifique que o serviço abrt está a correr\n" +" %s" #: ../src/Gui/CCMainWindow.py:215 msgid "This crash has been reported, you can find the report(s) at:\n" @@ -168,6 +172,8 @@ msgid "" "Unable to get report!\n" "Debuginfo is missing?" msgstr "" +"Não foi possível obter o relatório!\n" +"Debuginfo está em falta?" #: ../src/Gui/CCMainWindow.py:287 #, python-format @@ -189,14 +195,16 @@ msgid "" "WARNING, you're about to send data which might contain sensitive information.\n" "Do you really want to send %s?\n" msgstr "" +"AVISO, você está prestes a enviar dados que podem conter informação sensível.\n" +"Deseja mesmo enviar %s?\n" #: ../src/Gui/CCReporterDialog.py:111 msgid "Brief description how to reproduce this or what you did..." -msgstr "" +msgstr "Breve descrição de como reproduzir isto ou o que fez..." #: ../src/Gui/PluginSettingsUI.py:17 msgid "Can't find PluginDialog widget in UI description!" -msgstr "" +msgstr "Não foi possível encontrar na descrição do UI o objecto PluginDialog!" #. we shouldn't get here, but just to be safe #: ../src/Gui/PluginSettingsUI.py:21 @@ -207,12 +215,11 @@ msgstr "Não existe interface de utilizador para o plugin %s" #: ../src/Gui/PluginSettingsUI.py:38 #: ../src/Gui/PluginSettingsUI.py:64 msgid "combo box is not implemented" -msgstr "" +msgstr "caixa de combinação não está implementada" #: ../src/Gui/PluginSettingsUI.py:47 -#, fuzzy msgid "Nothing to hydrate!" -msgstr "Nada para refazer." +msgstr "Nada para fazer!" #: ../src/Gui/report.glade.h:1 msgid "Comment" @@ -259,7 +266,7 @@ msgstr "Applet já está a correr." msgid "ABRT service is not running" msgstr "O serviço ABRT não está a correr" -#: ../src/Applet/CCApplet.cpp:135 +#: ../src/Applet/CCApplet.cpp:136 #: ../src/Applet/CCApplet.cpp:343 #, c-format msgid "Pending events: %i" @@ -268,11 +275,11 @@ msgstr "Eventos pendentes: %i" #: ../src/Applet/CCApplet.cpp:161 #, c-format msgid "Can't create menu from the description, popup won't be available!\n" -msgstr "" +msgstr "Não é possível criar menu a partir da descrição, caixa pop não estará disponível!\n" #: ../src/Applet/CCApplet.cpp:190 msgid "This is default handler, you should register your own with ConnectCrashHandler" -msgstr "" +msgstr "Isto é o handler por omissão, você deve registar o seu próprio com ConnectCrashHandler" #: ../src/Applet/CCApplet.cpp:205 msgid "ABRT service has been started" @@ -288,7 +295,7 @@ msgstr "Aviso" #: ../lib/Plugins/Bugzilla.cpp:84 msgid "Empty login and password. Please check Bugzilla.conf" -msgstr "" +msgstr "Nome de utilizador e senha vazios. Por favor, verifique Bugzilla.conf" #: ../lib/Plugins/Bugzilla.cpp:228 msgid "Bug is already reported: " @@ -297,7 +304,7 @@ msgstr "Erro já foi reportado: " #: ../lib/Plugins/Bugzilla.cpp:283 #, c-format msgid "Binary file %s will not be reported." -msgstr "" +msgstr "Ficheiro binário %s não será reportado." #: ../lib/Plugins/Bugzilla.cpp:353 msgid "New bug id: " @@ -326,40 +333,39 @@ msgstr "A Terminar Sessão..." #: ../lib/Plugins/Kerneloops.cpp:38 msgid "Getting local/global universal unique identification..." -msgstr "" +msgstr "A obter identificador único universal local/global..." -#: ../lib/Plugins/CCpp.cpp:82 +#: ../lib/Plugins/CCpp.cpp:145 +msgid "Getting backtrace..." +msgstr "A obter dados do processo..." + +#: ../lib/Plugins/CCpp.cpp:383 msgid "Searching for debug-info packages..." -msgstr "" +msgstr "A pesquisar por pacotes debug-info..." -#: ../lib/Plugins/CCpp.cpp:120 +#: ../lib/Plugins/CCpp.cpp:417 msgid "Downloading and installing debug-info packages..." -msgstr "" - -#: ../lib/Plugins/CCpp.cpp:180 -msgid "Getting backtrace..." -msgstr "A obter dados do processo..." +msgstr "A transferir e instalar pacotes debug-info..." -#: ../lib/Plugins/CCpp.cpp:429 +#: ../lib/Plugins/CCpp.cpp:479 msgid "Getting local universal unique identification..." -msgstr "" +msgstr "A obter identificador único universal local..." -#: ../lib/Plugins/CCpp.cpp:455 +#: ../lib/Plugins/CCpp.cpp:498 msgid "Getting global universal unique identification..." -msgstr "" +msgstr "A obter identificador único universal global..." -#: ../lib/Plugins/CCpp.cpp:473 +#: ../lib/Plugins/CCpp.cpp:517 msgid "Starting report creation..." msgstr "A iniciar a criação do relatório..." -#: ../lib/Plugins/CCpp.cpp:495 -#, c-format -msgid "Skip debuginfo installation for package %s" -msgstr "" +#: ../lib/Plugins/CCpp.cpp:535 +msgid "Skipping debuginfo installation" +msgstr "A passar à frente a instalação debuginfo" #: ../lib/Plugins/KerneloopsReporter.cpp:101 msgid "Creating and submitting a report..." -msgstr "" +msgstr "A criar e enviar relatório..." #: ../lib/Plugins/Logger.cpp:58 #: ../lib/Plugins/Mailx.cpp:124 @@ -368,12 +374,12 @@ msgstr "A criar relatório..." #: ../lib/Plugins/RunApp.cpp:62 msgid "Executing RunApp plugin..." -msgstr "" +msgstr "A executar plugin RunApp..." #: ../lib/Plugins/FileTransfer.cpp:52 #: ../lib/Plugins/FileTransfer.cpp:247 msgid "FileTransfer: URL not specified" -msgstr "" +msgstr "FileTransfer: URL não especificado" #: ../lib/Plugins/FileTransfer.cpp:69 #, c-format @@ -386,16 +392,16 @@ msgstr "A criar arquivo..." #: ../lib/Plugins/FileTransfer.cpp:176 msgid "File Transfer: Creating a report..." -msgstr "" +msgstr "File Transfer: A criar relatório..." #: ../lib/Plugins/FileTransfer.cpp:197 #: ../lib/Plugins/FileTransfer.cpp:226 msgid "CFileTransfer::Run(): Cannot create and send an archive: " -msgstr "" +msgstr "CFileTransfer::Run(): Não foi possível criar e enviar um arquivo: " #: ../lib/Plugins/KerneloopsScanner.cpp:79 msgid "Creating kernel oops crash reports..." -msgstr "" +msgstr "A criar relatório oops de crash do kernel..." #: ../lib/Plugins/Mailx.cpp:110 msgid "Sending an email..." -- cgit From daa02cc95f1541b013e67b7f7f547262889b849b Mon Sep 17 00:00:00 2001 From: eukim Date: Wed, 16 Sep 2009 01:10:21 +0000 Subject: Sending translation for Korean --- po/ko.po | 31 +++++++++++++++---------------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/po/ko.po b/po/ko.po index df6e6ef..a0dd392 100644 --- a/po/ko.po +++ b/po/ko.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: abrt.master\n" "Report-Msgid-Bugs-To: jmoskovc@redhat.com\n" -"POT-Creation-Date: 2009-09-09 22:04+0000\n" -"PO-Revision-Date: 2009-09-10 10:48+1000\n" +"POT-Creation-Date: 2009-09-15 23:26+0000\n" +"PO-Revision-Date: 2009-09-16 11:09+1000\n" "Last-Translator: Eunju Kim \n" "Language-Team: Korean \n" "MIME-Version: 1.0\n" @@ -284,7 +284,7 @@ msgstr "애플릿이 이미 실행되고 있습니다. " msgid "ABRT service is not running" msgstr "ABRT 서비스가 실행되고 있지 않습니다 " -#: ../src/Applet/CCApplet.cpp:135 ../src/Applet/CCApplet.cpp:343 +#: ../src/Applet/CCApplet.cpp:136 ../src/Applet/CCApplet.cpp:343 #, c-format msgid "Pending events: %i" msgstr "보류 중인 이벤트: %i " @@ -355,34 +355,33 @@ msgstr "로그아웃 중... " msgid "Getting local/global universal unique identification..." msgstr "로컬/글로벌 UUID를 가져오는 중... " -#: ../lib/Plugins/CCpp.cpp:82 +#: ../lib/Plugins/CCpp.cpp:145 +msgid "Getting backtrace..." +msgstr "역추적 검색 중... " + +#: ../lib/Plugins/CCpp.cpp:383 msgid "Searching for debug-info packages..." msgstr "debug-info 패키지 검색 중... " -#: ../lib/Plugins/CCpp.cpp:120 +#: ../lib/Plugins/CCpp.cpp:417 msgid "Downloading and installing debug-info packages..." msgstr "debug-info 패키지 다운로드 및 설치 중... " -#: ../lib/Plugins/CCpp.cpp:180 -msgid "Getting backtrace..." -msgstr "역추적 검색 중... " - -#: ../lib/Plugins/CCpp.cpp:428 +#: ../lib/Plugins/CCpp.cpp:479 msgid "Getting local universal unique identification..." msgstr "로컬 UUID를 가져오는 중... " -#: ../lib/Plugins/CCpp.cpp:454 +#: ../lib/Plugins/CCpp.cpp:498 msgid "Getting global universal unique identification..." msgstr "글로벌 UUID를 가져오는 중... " -#: ../lib/Plugins/CCpp.cpp:472 +#: ../lib/Plugins/CCpp.cpp:517 msgid "Starting report creation..." msgstr "보고서 작성 시작 중... " -#: ../lib/Plugins/CCpp.cpp:493 -#, c-format -msgid "Skip debuginfo installation for package %s" -msgstr "%s 패키지에 대한 디버그 정보 설치 생략 " +#: ../lib/Plugins/CCpp.cpp:535 +msgid "Skipping debuginfo installation" +msgstr "디버그 정보 설치 생략 " #: ../lib/Plugins/KerneloopsReporter.cpp:101 msgid "Creating and submitting a report..." -- cgit From bb96ff9b180f7c97e1551ede0716df672de3d24c Mon Sep 17 00:00:00 2001 From: ypoyarko Date: Wed, 16 Sep 2009 02:50:16 +0000 Subject: Sending translation for Russian --- po/ru.po | 33 ++++++++++++++++----------------- 1 file changed, 16 insertions(+), 17 deletions(-) diff --git a/po/ru.po b/po/ru.po index 5c983bb..7e820d1 100644 --- a/po/ru.po +++ b/po/ru.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ru\n" "Report-Msgid-Bugs-To: jmoskovc@redhat.com\n" -"POT-Creation-Date: 2009-09-09 22:04+0000\n" -"PO-Revision-Date: 2009-09-10 10:51+1000\n" +"POT-Creation-Date: 2009-09-15 23:26+0000\n" +"PO-Revision-Date: 2009-09-16 12:49+1000\n" "Last-Translator: Yulia Poyarkova \n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -125,7 +125,7 @@ msgstr "" "ДЛЯ КОНКРЕТНОЙ ЦЕЛИ. Для получения дополнительных сведений обратитесь к " "лицензии GNU General Public License.\n" "\n" -"Копия лиценции GNU предоставляется вместе с этой программой. \n" +"Копия лицензии GNU предоставляется вместе с этой программой. \n" "Её также можно найти на сайте ." #: ../src/Gui/ccgui.glade.h:16 @@ -284,7 +284,7 @@ msgstr "Апплет уже выполняется." msgid "ABRT service is not running" msgstr "Служба ABRT не работает" -#: ../src/Applet/CCApplet.cpp:135 ../src/Applet/CCApplet.cpp:343 +#: ../src/Applet/CCApplet.cpp:136 ../src/Applet/CCApplet.cpp:343 #, c-format msgid "Pending events: %i" msgstr "Ожидающие события: %i" @@ -357,34 +357,33 @@ msgstr "Выполняется выход..." msgid "Getting local/global universal unique identification..." msgstr "Получение уникальных данных идентификации (локальной/глобальной)..." -#: ../lib/Plugins/CCpp.cpp:82 +#: ../lib/Plugins/CCpp.cpp:145 +msgid "Getting backtrace..." +msgstr "Получение трассировки..." + +#: ../lib/Plugins/CCpp.cpp:383 msgid "Searching for debug-info packages..." msgstr "Выполняется поиск пакетов debug-info..." -#: ../lib/Plugins/CCpp.cpp:120 +#: ../lib/Plugins/CCpp.cpp:417 msgid "Downloading and installing debug-info packages..." msgstr "Загружаются и устанавливаются пакеты debug-info..." -#: ../lib/Plugins/CCpp.cpp:180 -msgid "Getting backtrace..." -msgstr "Получение трассировки..." - -#: ../lib/Plugins/CCpp.cpp:428 +#: ../lib/Plugins/CCpp.cpp:479 msgid "Getting local universal unique identification..." msgstr "Получение локальных данных идентификации..." -#: ../lib/Plugins/CCpp.cpp:454 +#: ../lib/Plugins/CCpp.cpp:498 msgid "Getting global universal unique identification..." msgstr "Получение глобальных данных идентификации..." -#: ../lib/Plugins/CCpp.cpp:472 +#: ../lib/Plugins/CCpp.cpp:517 msgid "Starting report creation..." msgstr "Начинается создание отчёта..." -#: ../lib/Plugins/CCpp.cpp:493 -#, c-format -msgid "Skip debuginfo installation for package %s" -msgstr "Пропустить установку debuginfo для пакета %s" +#: ../lib/Plugins/CCpp.cpp:535 +msgid "Skipping debuginfo installation" +msgstr "Пропускается установка debuginfo" #: ../lib/Plugins/KerneloopsReporter.cpp:101 msgid "Creating and submitting a report..." -- cgit From 5deea20071ec0627074d6389cefb844428137451 Mon Sep 17 00:00:00 2001 From: swkothar Date: Wed, 16 Sep 2009 06:54:21 +0000 Subject: Sending translation for Gujarati --- po/gu.po | 35 +++++++++++++++++------------------ 1 file changed, 17 insertions(+), 18 deletions(-) diff --git a/po/gu.po b/po/gu.po index 98ba87a..b7d87d3 100644 --- a/po/gu.po +++ b/po/gu.po @@ -1,14 +1,14 @@ -# translation of ABRT1.po to Gujarati +# translation of ABRT.po to Gujarati # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Sweta Kothari , 2009. msgid "" msgstr "" -"Project-Id-Version: ABRT1\n" +"Project-Id-Version: ABRT\n" "Report-Msgid-Bugs-To: jmoskovc@redhat.com\n" -"POT-Creation-Date: 2009-09-10 04:40+0000\n" -"PO-Revision-Date: 2009-09-10 11:04+0530\n" +"POT-Creation-Date: 2009-09-15 23:26+0000\n" +"PO-Revision-Date: 2009-09-16 12:23+0530\n" "Last-Translator: Sweta Kothari \n" "Language-Team: Gujarati\n" "MIME-Version: 1.0\n" @@ -281,7 +281,7 @@ msgstr "એપલેટ પહેલેથી જ ચાલી રહી છે. msgid "ABRT service is not running" msgstr "ABRT સેવા ચાલી રહી નથી" -#: ../src/Applet/CCApplet.cpp:135 ../src/Applet/CCApplet.cpp:343 +#: ../src/Applet/CCApplet.cpp:136 ../src/Applet/CCApplet.cpp:343 #, c-format msgid "Pending events: %i" msgstr "વિલંબીત ઘટનાઓ: %i" @@ -350,34 +350,33 @@ msgstr "બહાર નીકળી રહ્યા છે..." msgid "Getting local/global universal unique identification..." msgstr "સ્થાનિક/વૈશ્ર્વિક વિશ્ર્વવ્યાપક અનન્ય ઓળખાણ ને મેળવી રહ્યા છે..." -#: ../lib/Plugins/CCpp.cpp:82 +#: ../lib/Plugins/CCpp.cpp:145 +msgid "Getting backtrace..." +msgstr "બેકટ્રેસને મેળવી રહ્યા છે..." + +#: ../lib/Plugins/CCpp.cpp:383 msgid "Searching for debug-info packages..." msgstr "ડિબગ-જાણકારી પેકેજો માટે શોધી રહ્યા છે..." -#: ../lib/Plugins/CCpp.cpp:120 +#: ../lib/Plugins/CCpp.cpp:417 msgid "Downloading and installing debug-info packages..." msgstr "ડિબગ-જાણકારી પેકેજોને સ્થાપિત અને ડાઉનલોડ કરી રહ્યા છે..." -#: ../lib/Plugins/CCpp.cpp:180 -msgid "Getting backtrace..." -msgstr "બેકટ્રેસને મેળવી રહ્યા છે..." - -#: ../lib/Plugins/CCpp.cpp:428 +#: ../lib/Plugins/CCpp.cpp:479 msgid "Getting local universal unique identification..." msgstr "સ્થાનિક વિશ્ર્વવ્યાપક અનન્ય ઓળખાણ ને મેળવી રહ્યા છે..." -#: ../lib/Plugins/CCpp.cpp:454 +#: ../lib/Plugins/CCpp.cpp:498 msgid "Getting global universal unique identification..." msgstr "વૈશ્ર્વિક વિશ્ર્વવ્યાપક અનન્ય ઓળખાણને મેળવી રહ્યા છે..." -#: ../lib/Plugins/CCpp.cpp:472 +#: ../lib/Plugins/CCpp.cpp:517 msgid "Starting report creation..." msgstr "અહેવાલ બનાવવાનું શરૂ કરી રહ્યા છે..." -#: ../lib/Plugins/CCpp.cpp:493 -#, c-format -msgid "Skip debuginfo installation for package %s" -msgstr "પેકેજ %s માટે ડિબગ જાણકારી સ્થાપન ને છોડો" +#: ../lib/Plugins/CCpp.cpp:535 +msgid "Skipping debuginfo installation" +msgstr "ડિબગ જાણકારી સ્થાપન ને છોડી રહ્યા છે" #: ../lib/Plugins/KerneloopsReporter.cpp:101 msgid "Creating and submitting a report..." -- cgit From b781af24e67193df0e32f78043c3b168d65c9adf Mon Sep 17 00:00:00 2001 From: raven Date: Wed, 16 Sep 2009 12:07:41 +0000 Subject: Sending translation for Polish --- po/pl.po | 31 +++++++++++++++---------------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/po/pl.po b/po/pl.po index b7b1e18..bc1a704 100644 --- a/po/pl.po +++ b/po/pl.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: pl\n" "Report-Msgid-Bugs-To: jmoskovc@redhat.com\n" -"POT-Creation-Date: 2009-09-09 15:44+0000\n" -"PO-Revision-Date: 2009-09-09 18:05+0200\n" +"POT-Creation-Date: 2009-09-16 07:12+0000\n" +"PO-Revision-Date: 2009-09-16 14:07+0200\n" "Last-Translator: Piotr Drąg \n" "Language-Team: Polish \n" "MIME-Version: 1.0\n" @@ -286,7 +286,7 @@ msgstr "Aplet jest już uruchomiony." msgid "ABRT service is not running" msgstr "Usługa ABRT nie jest uruchomiona" -#: ../src/Applet/CCApplet.cpp:135 ../src/Applet/CCApplet.cpp:343 +#: ../src/Applet/CCApplet.cpp:136 ../src/Applet/CCApplet.cpp:343 #, c-format msgid "Pending events: %i" msgstr "Oczekujące zdarzenia: %i" @@ -359,34 +359,33 @@ msgid "Getting local/global universal unique identification..." msgstr "" "Uzyskiwanie lokalnego/globalnego uniwersalnego, unikalnego identyfikatora..." -#: ../lib/Plugins/CCpp.cpp:82 +#: ../lib/Plugins/CCpp.cpp:145 +msgid "Getting backtrace..." +msgstr "Uzyskiwanie wyjątku..." + +#: ../lib/Plugins/CCpp.cpp:383 msgid "Searching for debug-info packages..." msgstr "Wyszukiwanie pakietów debuginfo..." -#: ../lib/Plugins/CCpp.cpp:120 +#: ../lib/Plugins/CCpp.cpp:417 msgid "Downloading and installing debug-info packages..." msgstr "Pobieranie i instalowanie pakietów debuginfo..." -#: ../lib/Plugins/CCpp.cpp:180 -msgid "Getting backtrace..." -msgstr "Uzyskiwanie wyjątku..." - -#: ../lib/Plugins/CCpp.cpp:429 +#: ../lib/Plugins/CCpp.cpp:479 msgid "Getting local universal unique identification..." msgstr "Uzyskiwanie lokalnego uniwersalnego, unikalnego identyfikatora..." -#: ../lib/Plugins/CCpp.cpp:455 +#: ../lib/Plugins/CCpp.cpp:498 msgid "Getting global universal unique identification..." msgstr "Uzyskiwanie globalnego uniwersalnego, unikalnego identyfikatora..." -#: ../lib/Plugins/CCpp.cpp:473 +#: ../lib/Plugins/CCpp.cpp:517 msgid "Starting report creation..." msgstr "Uruchamianie tworzenia raportu..." -#: ../lib/Plugins/CCpp.cpp:495 -#, c-format -msgid "Skip debuginfo installation for package %s" -msgstr "Pomiń instalację pakietu debuginfo dla pakietu %s" +#: ../lib/Plugins/CCpp.cpp:535 +msgid "Skipping debuginfo installation" +msgstr "Pomijanie instalacji pakietu debuginfo" #: ../lib/Plugins/KerneloopsReporter.cpp:101 msgid "Creating and submitting a report..." -- cgit From 273fb25479e08eb99b74932d7c9de99e67c41392 Mon Sep 17 00:00:00 2001 From: Jiri Moskovcak Date: Wed, 16 Sep 2009 15:04:53 +0200 Subject: GUI: fixed crash setSettings crash --- src/Gui/CCDBusBackend.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/Gui/CCDBusBackend.py b/src/Gui/CCDBusBackend.py index 01e5196..b4fc846 100644 --- a/src/Gui/CCDBusBackend.py +++ b/src/Gui/CCDBusBackend.py @@ -234,4 +234,7 @@ class DBusManager(gobject.GObject): return self.cc.GetSettings() def setSettings(self, settings): - return self.cc.SetSettings(settings) + # FIXME: STUB!!!! + print "setSettings stub" + retval = self.cc.SetSettings(self.cc.GetSettings()) + print ">>>", retval -- cgit From 960b9fb057108b59119b143bd4e81b0506d26fff Mon Sep 17 00:00:00 2001 From: igor Date: Wed, 16 Sep 2009 14:04:48 +0000 Subject: Sending translation for Brazilian Portuguese --- po/pt_BR.po | 31 +++++++++++++++---------------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/po/pt_BR.po b/po/pt_BR.po index 83e7a5c..3bca4ef 100644 --- a/po/pt_BR.po +++ b/po/pt_BR.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ABRT\n" "Report-Msgid-Bugs-To: jmoskovc@redhat.com\n" -"POT-Creation-Date: 2009-09-10 18:54+0000\n" -"PO-Revision-Date: 2009-09-10 17:13-0300\n" +"POT-Creation-Date: 2009-09-16 07:12+0000\n" +"PO-Revision-Date: 2009-09-16 11:04-0300\n" "Last-Translator: Igor Pires Soares \n" "Language-Team: Brazilian Portuguese \n" "MIME-Version: 1.0\n" @@ -272,7 +272,7 @@ msgstr "O miniaplicativo já está em execução." msgid "ABRT service is not running" msgstr "O serviço do ABRT não está em execução" -#: ../src/Applet/CCApplet.cpp:135 +#: ../src/Applet/CCApplet.cpp:136 #: ../src/Applet/CCApplet.cpp:343 #, c-format msgid "Pending events: %i" @@ -341,34 +341,33 @@ msgstr "Encerrando sessão..." msgid "Getting local/global universal unique identification..." msgstr "Obtendo identificação universal local/global única..." -#: ../lib/Plugins/CCpp.cpp:82 +#: ../lib/Plugins/CCpp.cpp:145 +msgid "Getting backtrace..." +msgstr "Obtendo backtrace..." + +#: ../lib/Plugins/CCpp.cpp:383 msgid "Searching for debug-info packages..." msgstr "Pesquisando por pacotes debug-info..." -#: ../lib/Plugins/CCpp.cpp:120 +#: ../lib/Plugins/CCpp.cpp:417 msgid "Downloading and installing debug-info packages..." msgstr "Baixando e instalando pacotes debug-info..." -#: ../lib/Plugins/CCpp.cpp:180 -msgid "Getting backtrace..." -msgstr "Obtendo backtrace..." - -#: ../lib/Plugins/CCpp.cpp:428 +#: ../lib/Plugins/CCpp.cpp:479 msgid "Getting local universal unique identification..." msgstr "Obtendo identificação universal local única..." -#: ../lib/Plugins/CCpp.cpp:454 +#: ../lib/Plugins/CCpp.cpp:498 msgid "Getting global universal unique identification..." msgstr "Obtendo identificação universal global única..." -#: ../lib/Plugins/CCpp.cpp:472 +#: ../lib/Plugins/CCpp.cpp:517 msgid "Starting report creation..." msgstr "Iniciando a criação do relatório..." -#: ../lib/Plugins/CCpp.cpp:493 -#, c-format -msgid "Skip debuginfo installation for package %s" -msgstr "Pular instalação do debuginfo para o pacote %s" +#: ../lib/Plugins/CCpp.cpp:535 +msgid "Skipping debuginfo installation" +msgstr "Pulando instalação do debuginfo" #: ../lib/Plugins/KerneloopsReporter.cpp:101 msgid "Creating and submitting a report..." -- cgit From 84e7d725639764752088976914bfdc40fce8f3d0 Mon Sep 17 00:00:00 2001 From: Jiri Moskovcak Date: Wed, 16 Sep 2009 16:22:39 +0200 Subject: moved g_type_init() to right place --- lib/Utils/Polkit.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/Utils/Polkit.cpp b/lib/Utils/Polkit.cpp index d3d92d1..6d6cf0d 100644 --- a/lib/Utils/Polkit.cpp +++ b/lib/Utils/Polkit.cpp @@ -32,7 +32,6 @@ static PolkitResult do_check(PolkitSubject *subject, const char *action_id) PolkitAuthorizationResult *result; GError *error = NULL; - g_type_init(); authority = polkit_authority_get(); result = polkit_authority_check_authorization_sync(authority, @@ -65,12 +64,14 @@ static PolkitResult do_check(PolkitSubject *subject, const char *action_id) PolkitResult polkit_check_authorization(const char *dbus_name, const char *action_id) { + g_type_init(); PolkitSubject *subject = polkit_system_bus_name_new(dbus_name); return do_check(subject, action_id); } PolkitResult polkit_check_authorization(pid_t pid, const char *action_id) { + g_type_init(); PolkitSubject *subject = polkit_unix_process_new(pid); return do_check(subject, action_id); } -- cgit