Hello community, here is the log from the commit of package seamonkey for openSUSE:Factory checked in at 2012-04-23 16:13:17 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/seamonkey (Old) and /work/SRC/openSUSE:Factory/.seamonkey.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "seamonkey", Maintainer is "[email protected]" Changes: -------- --- /work/SRC/openSUSE:Factory/seamonkey/seamonkey.changes 2012-03-16 13:25:15.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.seamonkey.new/seamonkey.changes 2012-04-23 16:13:21.000000000 +0200 @@ -1,0 +2,11 @@ +Sat Apr 21 12:29:55 UTC 2012 - [email protected] + +- update to 2.9b4 +- added mozilla-sle11.patch and add exceptions to be able to build + for SLE11/11.1 +- exclude broken gl locale from build +- fixed build on 11.2-x86_64 by adding mozilla-revert_621446.patch +- added mozilla-gcc47.patch and mailnews-literals.patch to fix + compilation issues with recent gcc 4.7 + +------------------------------------------------------------------- Old: ---- l10n-2.8.tar.bz2 seamonkey-2.8-source.tar.bz2 New: ---- l10n-2.8.99.tar.bz2 mailnews-literals.patch mozilla-gcc47.patch mozilla-revert_621446.patch mozilla-sle11.patch seamonkey-2.8.99-source.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ seamonkey.spec ++++++ --- /var/tmp/diff_new_pack.tP8fL6/_old 2012-04-23 16:13:30.000000000 +0200 +++ /var/tmp/diff_new_pack.tP8fL6/_new 2012-04-23 16:13:30.000000000 +0200 @@ -26,9 +26,7 @@ BuildRequires: hunspell-devel BuildRequires: libgnomeui-devel BuildRequires: libidl-devel -BuildRequires: libiw-devel BuildRequires: libnotify-devel -BuildRequires: libproxy-devel BuildRequires: nss-shared-helper-devel BuildRequires: python BuildRequires: startup-notification-devel @@ -37,10 +35,16 @@ BuildRequires: xorg-x11-libXt-devel BuildRequires: yasm BuildRequires: zip +%if %suse_version > 1110 +BuildRequires: libiw-devel +BuildRequires: libproxy-devel +%else +BuildRequires: wireless-tools +%endif Provides: web_browser -Version: 2.8 +Version: 2.8.99 Release: 0 -%define releasedate 2012031200 +%define releasedate 2012042000 Summary: The successor of the Mozilla Application Suite License: MPL-1.1 or GPL-2.0+ or LGPL-2.1+ Group: Productivity/Networking/Web/Browsers @@ -59,12 +63,16 @@ Patch1: mozilla-nongnome-proxies.patch Patch2: mozilla-prefer_plugin_pref.patch Patch3: mozilla-shared-nss-db.patch +Patch4: mozilla-sle11.patch Patch5: mozilla-language.patch +Patch6: mozilla-revert_621446.patch Patch8: mozilla-ntlm-full-path.patch Patch10: mozilla-ua-locale.patch +Patch11: mozilla-gcc47.patch Patch12: mozilla-yarr-pcre.patch Patch20: seamonkey-ua-locale.patch Patch21: seamonkey-shared-nss-db.patch +Patch22: mailnews-literals.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build PreReq: /bin/sh coreutils Provides: seamonkey-mail = %{version} @@ -141,7 +149,7 @@ %package translations-other Summary: Extra translations for SeaMonkey Group: System/Localization -Provides: locale(%{name}:be;gl;lt;sk;tr) +Provides: locale(%{name}:be;lt;sk;tr;uk) PreReq: %{name} = %{version} %description translations-other @@ -156,14 +164,20 @@ %patch1 -p1 %patch2 -p1 %patch3 -p1 +%if %suse_version < 1120 +%patch4 -p1 +%endif %patch5 -p1 +%patch6 -p1 %patch8 -p1 %patch10 -p1 +%patch11 -p1 #%patch12 -p1 popd # comm patches %patch20 -p1 %patch21 -p1 +%patch22 -p1 %build # no need to add build time to binaries @@ -205,7 +219,6 @@ ac_add_options --disable-crashreporter ac_add_options --enable-startup-notification ac_add_options --enable-system-hunspell -ac_add_options --enable-libproxy #ac_add_options --enable-system-mozldap EOF %if %has_system_cairo @@ -213,6 +226,11 @@ ac_add_options --enable-system-cairo EOF %endif +%if %suse_version > 1110 +cat << EOF >> $MOZCONFIG +ac_add_options --enable-libproxy +EOF +%endif make -f client.mk build # @@ -229,7 +247,7 @@ touch %{_tmppath}/translations.{common,other} for locale in $(awk '{ print $1; }' ../seamonkey/suite/locales/shipped-locales); do case $locale in - ja-JP-mac|en-US) + ja-JP-mac|en-US|gl) ;; *) pushd $RPM_BUILD_DIR/compare-locales ++++++ compare-locales.tar.bz2 ++++++ ++++++ create-tar.sh ++++++ --- /var/tmp/diff_new_pack.tP8fL6/_old 2012-04-23 16:13:31.000000000 +0200 +++ /var/tmp/diff_new_pack.tP8fL6/_new 2012-04-23 16:13:31.000000000 +0200 @@ -1,9 +1,9 @@ #!/bin/bash -CHANNEL="release" +CHANNEL="beta" BRANCH="releases/comm-$CHANNEL" -RELEASE_TAG="SEAMONKEY_2_8_RELEASE" -VERSION="2.8" +RELEASE_TAG="SEAMONKEY_2_9b4_RELEASE" +VERSION="2.8.99" echo "cloning $BRANCH..." hg clone http://hg.mozilla.org/$BRANCH seamonkey ++++++ l10n-2.8.tar.bz2 -> l10n-2.8.99.tar.bz2 ++++++ /work/SRC/openSUSE:Factory/seamonkey/l10n-2.8.tar.bz2 /work/SRC/openSUSE:Factory/.seamonkey.new/l10n-2.8.99.tar.bz2 differ: char 11, line 1 ++++++ mailnews-literals.patch ++++++ # HG changeset patch # User Wolfgang Rosenauer <[email protected]> # Parent 879e8d044e364396b63af59b3cdc4252fb2ae29a Bug 733867 - Build failure with gcc-4.7.0rc1: "nsMsgFolderCompactor.cpp ... error: unable to find string literal operator ‘operator"" ..." (TM: COMM13) diff --git a/mailnews/base/search/src/nsMsgSearchAdapter.cpp b/mailnews/base/search/src/nsMsgSearchAdapter.cpp --- a/mailnews/base/search/src/nsMsgSearchAdapter.cpp +++ b/mailnews/base/search/src/nsMsgSearchAdapter.cpp @@ -683,17 +683,17 @@ nsresult nsMsgSearchAdapter::EncodeImapV } if (!NS_IsAscii(value)) { nsCAutoString lengthStr; PL_strcat(encoding, "{"); lengthStr.AppendInt((PRInt32) strlen(value)); PL_strcat(encoding, lengthStr.get()); - PL_strcat(encoding, "}"CRLF); + PL_strcat(encoding, "}" CRLF); PL_strcat(encoding, value); return NS_OK; } if (useQuotes) PL_strcat(encoding, "\""); PL_strcat (encoding, value); if (useQuotes) PL_strcat(encoding, "\""); diff --git a/mailnews/base/src/nsMsgFolderCompactor.cpp b/mailnews/base/src/nsMsgFolderCompactor.cpp --- a/mailnews/base/src/nsMsgFolderCompactor.cpp +++ b/mailnews/base/src/nsMsgFolderCompactor.cpp @@ -753,17 +753,17 @@ nsFolderCompactState::OnDataAvailable(ns m_folder->GetMsgDatabase(getter_AddRefs(srcDB)); if (srcDB) { srcDB->SetSummaryValid(false); srcDB->ForceClosed(); } } } -#define EXTRA_KEYWORD_HDR " "MSG_LINEBREAK +#define EXTRA_KEYWORD_HDR " " MSG_LINEBREAK // if status offset isn't in the first block, this code won't work. There's no good reason // for the status offset not to be at the beginning of the message anyway. if (addKeywordHdr) { // if blockOffset is set, we added x-mozilla-status headers so // file pointer is already past them. if (!blockOffset) diff --git a/mailnews/compose/src/nsMsgAppleEncode.cpp b/mailnews/compose/src/nsMsgAppleEncode.cpp --- a/mailnews/compose/src/nsMsgAppleEncode.cpp +++ b/mailnews/compose/src/nsMsgAppleEncode.cpp @@ -133,17 +133,17 @@ int fill_apple_mime_header( strlen(p_ap_encode_obj->fname)); if (status != noErr) return status; PR_snprintf(tmpstr, sizeof(tmpstr), "\"\r\nContent-Disposition: inline; filename=\"%s\"\r\n\r\n\r\n--=\r\n", p_ap_encode_obj->fname); #endif /* 0 */ - PR_snprintf(tmpstr, sizeof(tmpstr), "--%s"CRLF, p_ap_encode_obj->boundary); + PR_snprintf(tmpstr, sizeof(tmpstr), "--%s" CRLF, p_ap_encode_obj->boundary); status = write_stream(p_ap_encode_obj, tmpstr, strlen(tmpstr)); return status; } int ap_encode_file_infor( appledouble_encode_object *p_ap_encode_obj) @@ -374,17 +374,17 @@ int ap_encode_header( status = finish64(p_ap_encode_obj); if (status != noErr) return status; /* ** write out the boundary */ PR_snprintf(rd_buff, sizeof(rd_buff), - CRLF"--%s"CRLF, + CRLF"--%s" CRLF, p_ap_encode_obj->boundary); status = write_stream(p_ap_encode_obj, rd_buff, strlen(rd_buff)); if (status == noErr) status = errDone; } @@ -515,17 +515,17 @@ int ap_encode_data( } /* ** the data portion header information. */ nsCAutoString leafName; resFile->GetNativeLeafName(leafName); PR_snprintf(rd_buff, sizeof(rd_buff), - "Content-Type: %s; name=\"%s\"" CRLF "Content-Transfer-Encoding: base64" CRLF "Content-Disposition: inline; filename=\"%s\""CRLF CRLF, + "Content-Type: %s; name=\"%s\"" CRLF "Content-Transfer-Encoding: base64" CRLF "Content-Disposition: inline; filename=\"%s\"" CRLF CRLF, magic_type, leafName.get(), leafName.get()); status = write_stream(p_ap_encode_obj, rd_buff, strlen(rd_buff)); if (status != noErr) @@ -558,17 +558,17 @@ int ap_encode_data( status = finish64(p_ap_encode_obj); if (status != noErr) return status; /* write out the boundary */ PR_snprintf(rd_buff, sizeof(rd_buff), - CRLF"--%s--"CRLF CRLF, + CRLF"--%s--" CRLF CRLF, p_ap_encode_obj->boundary); status = write_stream(p_ap_encode_obj, rd_buff, strlen(rd_buff)); if (status == noErr) status = errDone; diff --git a/mailnews/compose/src/nsSmtpProtocol.cpp b/mailnews/compose/src/nsSmtpProtocol.cpp --- a/mailnews/compose/src/nsSmtpProtocol.cpp +++ b/mailnews/compose/src/nsSmtpProtocol.cpp @@ -1717,17 +1717,17 @@ PRInt32 nsSmtpProtocol::SendMessageRespo /* else */ return SendQuit(); } PRInt32 nsSmtpProtocol::SendQuit() { m_sendDone = true; nsCOMPtr<nsIURI> url = do_QueryInterface(m_runningURL); - SendData(url, "QUIT"CRLF); // send a quit command to close the connection with the server. + SendData(url, "QUIT" CRLF); // send a quit command to close the connection with the server. m_nextState = SMTP_RESPONSE; m_nextStateAfterResponse = SMTP_DONE; return(0); } nsresult nsSmtpProtocol::LoadUrl(nsIURI * aURL, nsISupports * aConsumer ) { if (!aURL) @@ -1964,17 +1964,17 @@ nsresult nsSmtpProtocol::LoadUrl(nsIURI /* check for errors during load and call error * state if found */ if(status < 0 && m_nextState != SMTP_FREE) { nsCOMPtr<nsIURI> url = do_QueryInterface(m_runningURL); // send a quit command to close the connection with the server. - if (SendData(url, "QUIT"CRLF) == NS_OK) + if (SendData(url, "QUIT" CRLF) == NS_OK) { m_nextState = SMTP_RESPONSE; m_nextStateAfterResponse = SMTP_ERROR_DONE; } else { m_nextState = SMTP_ERROR_DONE; /* don't exit! loop around again and do the free case */ diff --git a/mailnews/imap/src/nsImapMailFolder.cpp b/mailnews/imap/src/nsImapMailFolder.cpp --- a/mailnews/imap/src/nsImapMailFolder.cpp +++ b/mailnews/imap/src/nsImapMailFolder.cpp @@ -8304,17 +8304,17 @@ nsImapMailFolder::CopyFileToOfflineStore srcFile->GetFileSize(&fileSize); PRUint32 bytesWritten; rv = NS_OK; msgParser->SetState(nsIMsgParseMailMsgState::ParseHeadersState); msgParser->SetNewMsgHdr(fakeHdr); bool needMoreData = false; char * newLine = nsnull; PRUint32 numBytesInLine = 0; - const char *envelope = "From "CRLF; + const char *envelope = "From " CRLF; offlineStore->Write(envelope, strlen(envelope), &bytesWritten); fileSize += bytesWritten; do { newLine = inputStreamBuffer->ReadNextLine(inputStream, numBytesInLine, needMoreData); if (newLine) { msgParser->ParseAFolderLine(newLine, numBytesInLine); diff --git a/mailnews/imap/src/nsImapProtocol.cpp b/mailnews/imap/src/nsImapProtocol.cpp --- a/mailnews/imap/src/nsImapProtocol.cpp +++ b/mailnews/imap/src/nsImapProtocol.cpp @@ -1404,17 +1404,17 @@ nsImapProtocol::ImapThreadMainLoop() PR_LOG(IMAP, PR_LOG_DEBUG, ("ImapThreadMainLoop leaving [this=%x]\n", this)); } void nsImapProtocol::HandleIdleResponses() { // PRInt32 oldRecent = GetServerStateParser().NumberOfRecentMessages(); nsCAutoString commandBuffer(GetServerCommandTag()); - commandBuffer.Append(" IDLE"CRLF); + commandBuffer.Append(" IDLE" CRLF); do { ParseIMAPandCheckForNewMail(commandBuffer.get()); } while (m_inputStreamBuffer->NextLineAvailable() && GetServerStateParser().Connected()); // if (oldRecent != GetServerStateParser().NumberOfRecentMessages()) @@ -3282,17 +3282,17 @@ void nsImapProtocol::FetchMsgAttribute(c { IncrementCommandTagNumber(); nsCAutoString commandString (GetServerCommandTag()); commandString.Append(" UID fetch "); commandString.Append(messageIds); commandString.Append(" ("); commandString.Append(attribute); - commandString.Append(")"CRLF); + commandString.Append(")" CRLF); nsresult rv = SendData(commandString.get()); if (NS_SUCCEEDED(rv)) ParseIMAPandCheckForNewMail(commandString.get()); GetServerStateParser().SetFetchingFlags(false); GetServerStateParser().SetFetchingEverythingRFC822(false); // always clear this flag after every fetch.... } @@ -5278,17 +5278,17 @@ nsImapProtocol::Expunge() delete search; if (key == 0) return; //no deleted messages to expunge (bug 235004) } } IncrementCommandTagNumber(); nsCAutoString command(GetServerCommandTag()); - command.Append(" expunge"CRLF); + command.Append(" expunge" CRLF); nsresult rv = SendData(command.get()); if (NS_SUCCEEDED(rv)) ParseIMAPandCheckForNewMail(); } void nsImapProtocol::HandleMemoryFailure() @@ -5354,17 +5354,17 @@ void nsImapProtocol::ID() if (!gAppName[0]) return; IncrementCommandTagNumber(); nsCString command(GetServerCommandTag()); command.Append(" ID (\"name\" \""); command.Append(gAppName); command.Append("\" \"version\" \""); command.Append(gAppVersion); - command.Append("\")"CRLF); + command.Append("\")" CRLF); nsresult rv = SendData(command.get()); if (NS_SUCCEEDED(rv)) ParseIMAPandCheckForNewMail(); } void nsImapProtocol::EnableCondStore() { @@ -5811,17 +5811,17 @@ nsresult nsImapProtocol::AuthLogin(const command.Append(escapedUserName); command.Append("\" \""); // if the password contains a \, login will fail // turn foo\bar into foo\\bar nsCAutoString correctedPassword; EscapeUserNamePasswordString(password.get(), &correctedPassword); command.Append(correctedPassword); - command.Append("\""CRLF); + command.Append("\"" CRLF); rv = SendData(command.get(), true /* suppress logging */); NS_ENSURE_SUCCESS(rv, rv); ParseIMAPandCheckForNewMail(); } else if (flag & kHasAuthNoneCapability) { // TODO What to do? "login <username>" like POP? return NS_ERROR_NOT_IMPLEMENTED; @@ -7442,17 +7442,17 @@ void nsImapProtocol::CreateMailbox(const IncrementCommandTagNumber(); nsCString escapedName; CreateEscapedMailboxName(mailboxName, escapedName); nsCString command(GetServerCommandTag()); command += " create \""; command += escapedName; - command += "\""CRLF; + command += "\"" CRLF; nsresult rv = SendData(command.get()); if(NS_SUCCEEDED(rv)) ParseIMAPandCheckForNewMail(); // If that failed, let's list the parent folder to see if // it allows inferiors, so we won't try to create sub-folders // of the parent folder again in the current session. if (GetServerStateParser().CommandFailed()) @@ -7545,17 +7545,17 @@ void nsImapProtocol::Lsub(const char *ma nsCString escapedPattern; CreateEscapedMailboxName(boxnameWithOnlineDirectory ? boxnameWithOnlineDirectory : mailboxPattern, escapedPattern); nsCString command (GetServerCommandTag()); command += " lsub \"\" \""; command += escapedPattern; - command += "\""CRLF; + command += "\"" CRLF; PR_Free(boxnameWithOnlineDirectory); nsresult rv = SendData(command.get()); if (NS_SUCCEEDED(rv)) ParseIMAPandCheckForNewMail(); } @@ -7574,17 +7574,17 @@ void nsImapProtocol::List(const char *ma CreateEscapedMailboxName(boxnameWithOnlineDirectory ? boxnameWithOnlineDirectory : mailboxPattern, escapedPattern); nsCString command (GetServerCommandTag()); command += useXLIST ? " xlist \"\" \"" : " list \"\" \""; command += escapedPattern; - command += "\""CRLF; + command += "\"" CRLF; PR_Free(boxnameWithOnlineDirectory); nsresult rv = SendData(command.get()); if (NS_SUCCEEDED(rv)) ParseIMAPandCheckForNewMail(command.get(), true); } @@ -7595,17 +7595,17 @@ void nsImapProtocol::Subscribe(const cha IncrementCommandTagNumber(); nsCString escapedName; CreateEscapedMailboxName(mailboxName, escapedName); nsCString command (GetServerCommandTag()); command += " subscribe \""; command += escapedName; - command += "\""CRLF; + command += "\"" CRLF; nsresult rv = SendData(command.get()); if (NS_SUCCEEDED(rv)) ParseIMAPandCheckForNewMail(); } void nsImapProtocol::Unsubscribe(const char *mailboxName) { @@ -7613,31 +7613,31 @@ void nsImapProtocol::Unsubscribe(const c IncrementCommandTagNumber(); nsCString escapedName; CreateEscapedMailboxName(mailboxName, escapedName); nsCString command (GetServerCommandTag()); command += " unsubscribe \""; command += escapedName; - command += "\""CRLF; + command += "\"" CRLF; nsresult rv = SendData(command.get()); if (NS_SUCCEEDED(rv)) ParseIMAPandCheckForNewMail(); } void nsImapProtocol::Idle() { IncrementCommandTagNumber(); if (m_urlInProgress) return; nsCAutoString command (GetServerCommandTag()); - command += " IDLE"CRLF; + command += " IDLE" CRLF; nsresult rv = SendData(command.get()); if (NS_SUCCEEDED(rv)) { m_idle = true; // we'll just get back a continuation char at first. // + idling... ParseIMAPandCheckForNewMail(); // this will cause us to get notified of data or the socket getting closed. @@ -7654,17 +7654,17 @@ void nsImapProtocol::Idle() // responses, we need to not wait for the server response // on shutdown. void nsImapProtocol::EndIdle(bool waitForResponse /* = true */) { // clear the async wait - otherwise, we seem to have trouble doing a blocking read nsCOMPtr <nsIAsyncInputStream> asyncInputStream = do_QueryInterface(m_inputStream); if (asyncInputStream) asyncInputStream->AsyncWait(nsnull, 0, 0, nsnull); - nsresult rv = SendData("DONE"CRLF); + nsresult rv = SendData("DONE" CRLF); // set a short timeout if we don't want to wait for a response if (m_transport && !waitForResponse) m_transport->SetTimeout(nsISocketTransport::TIMEOUT_READ_WRITE, 5); if (NS_SUCCEEDED(rv)) { m_idle = false; ParseIMAPandCheckForNewMail(); } @@ -7723,18 +7723,18 @@ void nsImapProtocol::Copy(const char * m nsTArray<nsMsgKey> msgKeys; if (idsAreUid) ParseUidString(messageList, msgKeys); PRInt32 msgCountLeft = msgKeys.Length(); PRUint32 msgsHandled = 0; const char *formatString; formatString = (idsAreUid) - ? "%s uid store %s %s"CRLF - : "%s store %s %s"CRLF; + ? "%s uid store %s %s" CRLF + : "%s store %s %s" CRLF; do { nsCString idString; PRUint32 msgsToHandle = msgCountLeft; if (idsAreUid) AllocateImapUidString(msgKeys.Elements() + msgsHandled, msgsToHandle, m_flagState, idString); diff --git a/mailnews/imap/src/nsImapServerResponseParser.cpp b/mailnews/imap/src/nsImapServerResponseParser.cpp --- a/mailnews/imap/src/nsImapServerResponseParser.cpp +++ b/mailnews/imap/src/nsImapServerResponseParser.cpp @@ -180,17 +180,17 @@ void nsImapServerResponseParser::Initial // continue-req = "+" SP (resp-text / base64) CRLF void nsImapServerResponseParser::ParseIMAPServerResponse(const char *aCurrentCommand, bool aIgnoreBadAndNOResponses, char *aGreetingWithCapability) { NS_ASSERTION(aCurrentCommand && *aCurrentCommand != '\r' && *aCurrentCommand != '\n' && *aCurrentCommand != ' ', "Invailid command string"); - bool sendingIdleDone = !strcmp(aCurrentCommand, "DONE"CRLF); + bool sendingIdleDone = !strcmp(aCurrentCommand, "DONE" CRLF); if (sendingIdleDone) fWaitingForMoreClientInput = false; // Reinitialize the parser SetConnected(true); SetSyntaxError(false); // Reinitialize our state diff --git a/mailnews/local/src/nsPop3Protocol.cpp b/mailnews/local/src/nsPop3Protocol.cpp --- a/mailnews/local/src/nsPop3Protocol.cpp +++ b/mailnews/local/src/nsPop3Protocol.cpp @@ -2478,17 +2478,17 @@ PRInt32 nsPop3Protocol::SendList() m_pop3ConData->msg_info = (Pop3MsgInfo *) PR_CALLOC(sizeof(Pop3MsgInfo) * m_pop3ConData->number_of_messages); if (!m_pop3ConData->msg_info) return(MK_OUT_OF_MEMORY); m_pop3ConData->next_state_after_response = POP3_GET_LIST; m_listpos = 0; - return SendData(m_url, "LIST"CRLF); + return SendData(m_url, "LIST" CRLF); } PRInt32 nsPop3Protocol::GetList(nsIInputStream* inputStream, PRUint32 length) { diff --git a/mailnews/mime/src/mimedrft.cpp b/mailnews/mime/src/mimedrft.cpp --- a/mailnews/mime/src/mimedrft.cpp +++ b/mailnews/mime/src/mimedrft.cpp @@ -1468,17 +1468,17 @@ mime_parse_stream_complete (nsMIMESessio //+13 chars for <pre> & </pre> tags and CRLF PRUint32 newbodylen = bodyLen + 14; char* newbody = (char *)PR_MALLOC (newbodylen); if (newbody) { *newbody = 0; PL_strcatn(newbody, newbodylen, "<PRE>"); PL_strcatn(newbody, newbodylen, body); - PL_strcatn(newbody, newbodylen, "</PRE>"CRLF); + PL_strcatn(newbody, newbodylen, "</PRE>" CRLF); PR_Free(body); body = newbody; } } // Body is now HTML, set the format too (so headers are inserted in // correct format). composeFormat = nsIMsgCompFormat::HTML; } diff --git a/mailnews/mime/src/mimemult.cpp b/mailnews/mime/src/mimemult.cpp --- a/mailnews/mime/src/mimemult.cpp +++ b/mailnews/mime/src/mimemult.cpp @@ -275,44 +275,44 @@ MimeMultipart_parse_line (const char *li { MimeWriteAString(obj, NS_LITERAL_CSTRING("Content-Type: ")); MimeWriteAString(obj, nsDependentCString(contentType)); PR_Free(contentType); } MimeWriteAString(obj, NS_LITERAL_CSTRING(MSG_LINEBREAK)); MimeWriteAString(obj, NS_LITERAL_CSTRING("Content-Disposition: attachment; filename=\"")); MimeWriteAString(obj, fileName); - MimeWriteAString(obj, NS_LITERAL_CSTRING("\""MSG_LINEBREAK)); + MimeWriteAString(obj, NS_LITERAL_CSTRING("\"" MSG_LINEBREAK)); MimeWriteAString(obj, NS_LITERAL_CSTRING("X-Mozilla-External-Attachment-URL: ")); MimeWriteAString(obj, obj->options->state->detachedFilePath); MimeWriteAString(obj, NS_LITERAL_CSTRING(MSG_LINEBREAK)); MimeWriteAString(obj, NS_LITERAL_CSTRING("X-Mozilla-Altered: AttachmentDetached; date=\"")); } else { nsCAutoString header("Content-Type: text/x-moz-deleted; name=\"Deleted: "); header.Append(fileName); status = MimeWriteAString(obj, header); - if (status < 0) + if (status < 0) return status; - status = MimeWriteAString(obj, NS_LITERAL_CSTRING("\""MSG_LINEBREAK"Content-Transfer-Encoding: 8bit"MSG_LINEBREAK)); + status = MimeWriteAString(obj, NS_LITERAL_CSTRING("\"" MSG_LINEBREAK "Content-Transfer-Encoding: 8bit" MSG_LINEBREAK)); MimeWriteAString(obj, NS_LITERAL_CSTRING("Content-Disposition: inline; filename=\"Deleted: ")); MimeWriteAString(obj, fileName); - MimeWriteAString(obj, NS_LITERAL_CSTRING("\""MSG_LINEBREAK"X-Mozilla-Altered: AttachmentDeleted; date=\"")); + MimeWriteAString(obj, NS_LITERAL_CSTRING("\"" MSG_LINEBREAK "X-Mozilla-Altered: AttachmentDeleted; date=\"")); } nsCString result; char timeBuffer[128]; PRExplodedTime now; PR_ExplodeTime(PR_Now(), PR_LocalTimeParameters, &now); PR_FormatTimeUSEnglish(timeBuffer, sizeof(timeBuffer), "%a %b %d %H:%M:%S %Y", &now); MimeWriteAString(obj, nsDependentCString(timeBuffer)); - MimeWriteAString(obj, NS_LITERAL_CSTRING("\""MSG_LINEBREAK)); - MimeWriteAString(obj, NS_LITERAL_CSTRING(MSG_LINEBREAK"You deleted an attachment from this message. The original MIME headers for the attachment were:"MSG_LINEBREAK)); + MimeWriteAString(obj, NS_LITERAL_CSTRING("\"" MSG_LINEBREAK)); + MimeWriteAString(obj, NS_LITERAL_CSTRING(MSG_LINEBREAK "You deleted an attachment from this message. The original MIME headers for the attachment were:" MSG_LINEBREAK)); MimeHeaders_write_raw_headers(mult->hdrs, obj->options, false); } PRInt32 old_nchildren = container->nchildren; status = ((MimeMultipartClass *) obj->clazz)->create_child(obj); if (status < 0) return status; NS_ASSERTION(mult->state != MimeMultipartHeaders, "mult->state shouldn't be MimeMultipartHeaders"); diff --git a/mailnews/news/src/nsNntpIncomingServer.cpp b/mailnews/news/src/nsNntpIncomingServer.cpp --- a/mailnews/news/src/nsNntpIncomingServer.cpp +++ b/mailnews/news/src/nsNntpIncomingServer.cpp @@ -860,17 +860,17 @@ nsNntpIncomingServer::WriteHostInfoFile( dateStr.AppendInt(mLastUpdatedTime); WriteLine(hostInfoStream, dateStr); dateStr ="firstnewdate="; dateStr.AppendInt(firstnewdate); WriteLine(hostInfoStream, dateStr); dateStr = "uniqueid="; dateStr.AppendInt(mUniqueId); WriteLine(hostInfoStream, dateStr); - header.Assign(MSG_LINEBREAK"begingroups"); + header.Assign(MSG_LINEBREAK "begingroups"); WriteLine(hostInfoStream, header); // XXX todo, sort groups first? PRUint32 length = mGroupsOnServer.Length(); for (PRUint32 i = 0; i < length; ++i) { PRUint32 bytesWritten; hostInfoStream->Write(mGroupsOnServer[i].get(), mGroupsOnServer[i].Length(), ++++++ mozilla-gcc47.patch ++++++ # HG changeset patch # Parent debab900e37fdd4f8981c06beef6f193a04bd2b7 Patch to make Mozilla build with gcc 4.7, including - Bug 725655 - gcc 4.7 build failures (missing headers) (TM: Mozilla13) - Bug 734490 - "no viable overloaded 'PRIxPTR'" when building with Clang or GCC 4.7 (TM: Mozilla14) diff --git a/ipc/chromium/src/base/file_util_linux.cc b/ipc/chromium/src/base/file_util_linux.cc --- a/ipc/chromium/src/base/file_util_linux.cc +++ b/ipc/chromium/src/base/file_util_linux.cc @@ -1,15 +1,18 @@ // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "base/file_util.h" #include <fcntl.h> +#if defined(ANDROID) || defined(OS_POSIX) +#include <unistd.h> +#endif #include <string> #include <vector> #include "base/eintr_wrapper.h" #include "base/file_path.h" #include "base/string_util.h" diff --git a/ipc/chromium/src/base/message_pump_libevent.cc b/ipc/chromium/src/base/message_pump_libevent.cc --- a/ipc/chromium/src/base/message_pump_libevent.cc +++ b/ipc/chromium/src/base/message_pump_libevent.cc @@ -1,16 +1,19 @@ // Copyright (c) 2008 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "base/message_pump_libevent.h" #include <errno.h> #include <fcntl.h> +#if defined(ANDROID) || defined(OS_POSIX) +#include <unistd.h> +#endif #include "eintr_wrapper.h" #include "base/logging.h" #include "base/scoped_nsautorelease_pool.h" #include "base/scoped_ptr.h" #include "base/time.h" #include "third_party/libevent/event.h" diff --git a/ipc/chromium/src/base/time_posix.cc b/ipc/chromium/src/base/time_posix.cc --- a/ipc/chromium/src/base/time_posix.cc +++ b/ipc/chromium/src/base/time_posix.cc @@ -8,16 +8,19 @@ #include <mach/mach_time.h> #endif #include <sys/time.h> #ifdef ANDROID #include <time64.h> #else #include <time.h> #endif +#if defined(ANDROID) || defined(OS_POSIX) +#include <unistd.h> +#endif #include <limits> #include "base/basictypes.h" #include "base/logging.h" namespace base { diff --git a/layout/base/tests/TestPoisonArea.cpp b/layout/base/tests/TestPoisonArea.cpp --- a/layout/base/tests/TestPoisonArea.cpp +++ b/layout/base/tests/TestPoisonArea.cpp @@ -392,53 +392,53 @@ ReservePoisonArea() { if (sizeof(uintptr_t) == 8) { // Use the hardware-inaccessible region. // We have to avoid 64-bit constants and shifts by 32 bits, since this // code is compiled in 32-bit mode, although it is never executed there. uintptr_t result = (((uintptr_t(0x7FFFFFFFu) << 31) << 1 | uintptr_t(0xF0DEAFFFu)) & ~uintptr_t(PAGESIZE-1)); - printf("INFO | poison area assumed at 0x%.*"PRIxPTR"\n", SIZxPTR, result); + printf("INFO | poison area assumed at 0x%.*" PRIxPTR "\n", SIZxPTR, result); return result; } else { // First see if we can allocate the preferred poison address from the OS. uintptr_t candidate = (0xF0DEAFFF & ~(PAGESIZE-1)); void *result = ReserveRegion(candidate, false); if (result == (void *)candidate) { // success - inaccessible page allocated - printf("INFO | poison area allocated at 0x%.*"PRIxPTR + printf("INFO | poison area allocated at 0x%.*" PRIxPTR " (preferred addr)\n", SIZxPTR, (uintptr_t)result); return candidate; } // That didn't work, so see if the preferred address is within a range // of permanently inacessible memory. if (ProbeRegion(candidate)) { // success - selected page cannot be usable memory if (result != MAP_FAILED) ReleaseRegion(result); - printf("INFO | poison area assumed at 0x%.*"PRIxPTR + printf("INFO | poison area assumed at 0x%.*" PRIxPTR " (preferred addr)\n", SIZxPTR, candidate); return candidate; } // The preferred address is already in use. Did the OS give us a // consolation prize? if (result != MAP_FAILED) { - printf("INFO | poison area allocated at 0x%.*"PRIxPTR + printf("INFO | poison area allocated at 0x%.*" PRIxPTR " (consolation prize)\n", SIZxPTR, (uintptr_t)result); return (uintptr_t)result; } // It didn't, so try to allocate again, without any constraint on // the address. result = ReserveRegion(0, false); if (result != MAP_FAILED) { - printf("INFO | poison area allocated at 0x%.*"PRIxPTR + printf("INFO | poison area allocated at 0x%.*" PRIxPTR " (fallback)\n", SIZxPTR, (uintptr_t)result); return (uintptr_t)result; } printf("ERROR | no usable poison area found\n"); return 0; } } @@ -450,17 +450,17 @@ static uintptr_t ReservePositiveControl() { void *result = ReserveRegion(0, false); if (result == MAP_FAILED) { printf("ERROR | allocating positive control | %s\n", LastErrMsg()); return 0; } - printf("INFO | positive control allocated at 0x%.*"PRIxPTR"\n", + printf("INFO | positive control allocated at 0x%.*" PRIxPTR "\n", SIZxPTR, (uintptr_t)result); return (uintptr_t)result; } /* The "negative control" area confirms that our probe logic does detect a * page that is readable, writable, or executable. */ static uintptr_t @@ -481,17 +481,17 @@ ReserveNegativeControl() // Now mark it executable as well as readable and writable. // (mmap(PROT_EXEC) may fail when applied to anonymous memory.) if (MakeRegionExecutable(result)) { printf("ERROR | making negative control executable | %s\n", LastErrMsg()); return 0; } - printf("INFO | negative control allocated at 0x%.*"PRIxPTR"\n", + printf("INFO | negative control allocated at 0x%.*" PRIxPTR "\n", SIZxPTR, (uintptr_t)result); return (uintptr_t)result; } static void JumpTo(uintptr_t opaddr) { #ifdef __ia64 ++++++ mozilla-revert_621446.patch ++++++ # HG changeset patch # Parent 8da41a2cee774ce4d00b9ac1032a495b8bc560a0 Revert investigation patch for bmo#621446; as it is useless on desktop and breaks the build for certain compilers diff --git a/netwerk/protocol/http/HttpChannelParent.cpp b/netwerk/protocol/http/HttpChannelParent.cpp --- a/netwerk/protocol/http/HttpChannelParent.cpp +++ b/netwerk/protocol/http/HttpChannelParent.cpp @@ -52,29 +52,25 @@ #include "nsIBadCertListener2.h" #include "nsICacheEntryDescriptor.h" #include "nsSerializationHelper.h" #include "nsISerializable.h" #include "nsIAssociatedContentSecurity.h" #include "nsIApplicationCacheService.h" #include "nsIOfflineCacheUpdate.h" #include "nsIRedirectChannelRegistrar.h" -#include "prinit.h" namespace mozilla { namespace net { HttpChannelParent::HttpChannelParent(PBrowserParent* iframeEmbedding) : mIPCClosed(false) , mStoredStatus(0) , mStoredProgress(0) , mStoredProgressMax(0) - , mSentRedirect1Begin(false) - , mSentRedirect1BeginFailed(false) - , mReceivedRedirect2Verify(false) { // Ensure gHttpHandler is initialized: we need the atom table up and running. nsIHttpProtocolHandler* handler; CallGetService(NS_NETWORK_PROTOCOL_CONTRACTID_PREFIX "http", &handler); NS_ASSERTION(handler, "no http handler"); mTabParent = do_QueryObject(static_cast<TabParent*>(iframeEmbedding)); } @@ -326,21 +322,16 @@ HttpChannelParent::RecvUpdateAssociatedC mAssociatedContentSecurity->SetCountSubRequestsHighSecurity(high); mAssociatedContentSecurity->SetCountSubRequestsLowSecurity(low); mAssociatedContentSecurity->SetCountSubRequestsBrokenSecurity(broken); mAssociatedContentSecurity->SetCountSubRequestsNoSecurity(no); } return true; } -// Bug 621446 investigation, we don't want conditional PR_Aborts bellow to be -// merged to a single address. -#pragma warning(disable : 4068) -#pragma GCC optimize ("O0") - bool HttpChannelParent::RecvRedirect2Verify(const nsresult& result, const RequestHeaderTuples& changedHeaders) { if (NS_SUCCEEDED(result)) { nsCOMPtr<nsIHttpChannel> newHttpChannel = do_QueryInterface(mRedirectChannel); @@ -348,40 +339,21 @@ HttpChannelParent::RecvRedirect2Verify(c for (PRUint32 i = 0; i < changedHeaders.Length(); i++) { newHttpChannel->SetRequestHeader(changedHeaders[i].mHeader, changedHeaders[i].mValue, changedHeaders[i].mMerge); } } } - if (!mRedirectCallback) { - // Bug 621446 investigation (optimization turned off above) - if (mReceivedRedirect2Verify) - NS_RUNTIMEABORT("Duplicate fire"); - if (mSentRedirect1BeginFailed) - NS_RUNTIMEABORT("Send to child failed"); - if (mSentRedirect1Begin && NS_FAILED(result)) - NS_RUNTIMEABORT("Redirect failed"); - if (mSentRedirect1Begin && NS_SUCCEEDED(result)) - NS_RUNTIMEABORT("Redirect succeeded"); - if (!mRedirectChannel) - NS_RUNTIMEABORT("Missing redirect channel"); - } - - mReceivedRedirect2Verify = true; - mRedirectCallback->OnRedirectVerifyCallback(result); mRedirectCallback = nsnull; return true; } -// Bug 621446 investigation -#pragma GCC reset_options - bool HttpChannelParent::RecvDocumentChannelCleanup() { // From now on only using mAssociatedContentSecurity. Free everything else. mChannel = 0; // Reclaim some memory sooner. mCacheDescriptor = 0; // Else we'll block other channels reading same URI return true; } @@ -583,24 +555,18 @@ HttpChannelParent::StartRedirect(PRUint3 nsHttpChannel *httpChan = static_cast<nsHttpChannel *>(mChannel.get()); nsHttpResponseHead *responseHead = httpChan->GetResponseHead(); bool result = SendRedirect1Begin(newChannelId, IPC::URI(newURI), redirectFlags, responseHead ? *responseHead : nsHttpResponseHead()); - if (!result) { - // Bug 621446 investigation - mSentRedirect1BeginFailed = true; + if (!result) return NS_BINDING_ABORTED; - } - - // Bug 621446 investigation - mSentRedirect1Begin = true; // Result is handled in RecvRedirect2Verify above mRedirectChannel = newChannel; mRedirectCallback = callback; return NS_OK; } diff --git a/netwerk/protocol/http/HttpChannelParent.h b/netwerk/protocol/http/HttpChannelParent.h --- a/netwerk/protocol/http/HttpChannelParent.h +++ b/netwerk/protocol/http/HttpChannelParent.h @@ -128,18 +128,14 @@ private: nsCOMPtr<nsIChannel> mRedirectChannel; nsCOMPtr<nsIAsyncVerifyRedirectCallback> mRedirectCallback; // state for combining OnStatus/OnProgress with OnDataAvailable // into one IPDL call to child. nsresult mStoredStatus; PRUint64 mStoredProgress; PRUint64 mStoredProgressMax; - - bool mSentRedirect1Begin : 1; - bool mSentRedirect1BeginFailed : 1; - bool mReceivedRedirect2Verify : 1; }; } // namespace net } // namespace mozilla #endif // mozilla_net_HttpChannelParent_h ++++++ mozilla-sle11.patch ++++++ Subject: Patches needed to build on SLE11/11.1 References: https://bugzilla.mozilla.org/show_bug.cgi?id=513422 diff --git a/xpcom/glue/SSE.cpp b/xpcom/glue/SSE.cpp --- a/xpcom/glue/SSE.cpp +++ b/xpcom/glue/SSE.cpp @@ -44,26 +44,77 @@ namespace { // SSE.h has parallel #ifs which declare MOZILLA_SSE_HAVE_CPUID_DETECTION. // We can't declare these functions in the header file, however, because // <intrin.h> conflicts with <windows.h> on MSVC 2005, and some files want to // include both SSE.h and <windows.h>. #ifdef HAVE_CPUID_H // cpuid.h is available on gcc 4.3 and higher on i386 and x86_64 -#include <cpuid.h> +//#include <cpuid.h> enum CPUIDRegister { eax = 0, ebx = 1, ecx = 2, edx = 3 }; +#ifdef __i386__ +#define _my_cpuid(level, a, b, c, d) \ + __asm__ ("xchg{l}\t{%%}ebx, %1\n\t" \ + "cpuid\n\t" \ + "xchg{l}\t{%%}ebx, %1\n\t" \ + : "=a" (a), "=r" (b), "=c" (c), "=d" (d) \ + : "0" (level)) +#else +#define _my_cpuid(level, a, b, c, d) \ + __asm__ ("cpuid\n\t" \ + : "=a" (a), "=b" (b), "=c" (c), "=d" (d) \ + : "0" (level)) +#endif + +static __inline unsigned int +my_cpuid_max (unsigned int __ext, unsigned int *__sig) +{ + unsigned int __eax, __ebx, __ecx, __edx; + +#ifdef __i386__ + __asm__ ("pushf{l|d}\n\t" + "pushf{l|d}\n\t" + "pop{l}\t%0\n\t" + "mov{l}\t{%0, %1|%1, %0}\n\t" + "xor{l}\t{%2, %0|%0, %2}\n\t" + "push{l}\t%0\n\t" + "popf{l|d}\n\t" + "pushf{l|d}\n\t" + "pop{l}\t%0\n\t" + "popf{l|d}\n\t" + : "=&r" (__eax), "=&r" (__ebx) + : "i" (0x00200000)); + + if (!((__eax ^ __ebx) & 0x00200000)) + return 0; +#endif + + /* Host supports cpuid. Return highest supported cpuid input value. */ + _my_cpuid (__ext, __eax, __ebx, __ecx, __edx); + + if (__sig) + *__sig = __ebx; + + return __eax; +} + static bool has_cpuid_bit(unsigned int level, CPUIDRegister reg, unsigned int bit) { unsigned int regs[4]; - return __get_cpuid(level, ®s[0], ®s[1], ®s[2], ®s[3]) && - (regs[reg] & bit); + + unsigned int __ext = level & 0x80000000; + if (my_cpuid_max(__ext, 0) < level) + return false; + + _my_cpuid(level, regs[0], regs[1], regs[2], regs[3]); + return !!(unsigned(regs[reg]) & bit); } #elif defined(_MSC_VER) && _MSC_VER >= 1400 && (defined(_M_IX86) || defined(_M_AMD64)) // MSVC 2005 or newer on x86-32 or x86-64 #include <intrin.h> enum CPUIDRegister { eax = 0, ebx = 1, ecx = 2, edx = 3 }; ++++++ seamonkey-2.8-source.tar.bz2 -> seamonkey-2.8.99-source.tar.bz2 ++++++ /work/SRC/openSUSE:Factory/seamonkey/seamonkey-2.8-source.tar.bz2 /work/SRC/openSUSE:Factory/.seamonkey.new/seamonkey-2.8.99-source.tar.bz2 differ: char 11, line 1 -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
