Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package unrar for openSUSE:Factory:NonFree checked in at 2026-02-23 16:11:17 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory:NonFree/unrar (Old) and /work/SRC/openSUSE:Factory:NonFree/.unrar.new.1977 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "unrar" Mon Feb 23 16:11:17 2026 rev:119 rq:1334413 version:7.2.4 Changes: -------- --- /work/SRC/openSUSE:Factory:NonFree/unrar/unrar.changes 2025-11-17 12:07:05.848561180 +0100 +++ /work/SRC/openSUSE:Factory:NonFree/.unrar.new.1977/unrar.changes 2026-02-23 16:11:18.254261598 +0100 @@ -1,0 +2,12 @@ +Sat Feb 21 15:07:14 UTC 2026 - Andrea Manzini <[email protected]> + +- update to 7.2.4: + * No upstream changelog available + +------------------------------------------------------------------- +Sat Jan 3 21:50:59 UTC 2026 - Dirk Müller <[email protected]> + +- update to 7.2.3: + * No upstream changelog available + +------------------------------------------------------------------- Old: ---- unrarsrc-7.2.1.tar.gz New: ---- unrarsrc-7.2.4.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ unrar.spec ++++++ --- /var/tmp/diff_new_pack.AQgUuD/_old 2026-02-23 16:11:19.174299525 +0100 +++ /var/tmp/diff_new_pack.AQgUuD/_new 2026-02-23 16:11:19.178299690 +0100 @@ -18,9 +18,9 @@ # majorversion should match the major version number. %define majorversion 7 -%define libsuffix 7_2_1 +%define libsuffix 7_2_4 Name: unrar -Version: 7.2.1 +Version: 7.2.4 Release: 0 Summary: A program to extract, test, and view RAR archives License: NonFree ++++++ baselibs.conf ++++++ --- /var/tmp/diff_new_pack.AQgUuD/_old 2026-02-23 16:11:19.222301503 +0100 +++ /var/tmp/diff_new_pack.AQgUuD/_new 2026-02-23 16:11:19.226301668 +0100 @@ -1,2 +1,2 @@ -libunrar7_2_1 +libunrar7_2_4 ++++++ unrarsrc-7.2.1.tar.gz -> unrarsrc-7.2.4.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/unrar/cmddata.cpp new/unrar/cmddata.cpp --- old/unrar/cmddata.cpp 2025-10-28 10:50:05.000000000 +0100 +++ new/unrar/cmddata.cpp 2026-02-01 19:18:59.000000000 +0100 @@ -653,7 +653,7 @@ // 2023.07.22: For 4 GB and less we also check that it is power of 2, // so archives are compatible with RAR 5.0+. // We allow Size>PACK_MAX_DICT here, so we can use -md[x] to unpack - // archives created by future versions with higher PACK_MAX_DICT� + // archives created by future versions with higher PACK_MAX_DICT. uint Flags; if ((Size=Archive::GetWinSize(Size,Flags))==0 || Size<=0x100000000ULL && !IsPow2(Size)) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/unrar/cmdmix.cpp new/unrar/cmdmix.cpp --- old/unrar/cmdmix.cpp 2025-10-28 10:50:05.000000000 +0100 +++ new/unrar/cmdmix.cpp 2026-02-01 19:18:59.000000000 +0100 @@ -2,7 +2,7 @@ { if (BareOutput || DisableCopyright) return; -#if defined(__GNUC__) && defined(SFX_MODULE) +#ifdef SFX_MODULE mprintf(St(MCopyrightS)); #else #ifndef SILENT @@ -75,8 +75,6 @@ for (uint I=0;I<ASIZE(Help);I++) { #ifndef SFX_MODULE - if (CmpMSGID(Help[I],MCHelpSwV)) - continue; #ifndef _WIN_ALL static MSGID Win32Only[]={ MCHelpSwIEML,MCHelpSwVD,MCHelpSwAO,MCHelpSwOS,MCHelpSwIOFF, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/unrar/crypt.cpp new/unrar/crypt.cpp --- old/unrar/crypt.cpp 2025-10-28 10:50:05.000000000 +0100 +++ new/unrar/crypt.cpp 2026-02-01 19:18:59.000000000 +0100 @@ -55,7 +55,10 @@ wchar PwdW[MAXPASSWORD]; Password->Get(PwdW,ASIZE(PwdW)); - if (wcslen(PwdW)>=MAXPASSWORD_RAR) + // Display this warning only when encrypting. Users complained that + // it is distracting when decrypting. It still can be useful when encrypting, + // so users do not waste time to excessively long passwords. + if (Encrypt && wcslen(PwdW)>=MAXPASSWORD_RAR) uiMsg(UIERROR_TRUNCPSW,MAXPASSWORD_RAR-1); PwdW[Min(MAXPASSWORD_RAR,MAXPASSWORD)-1]=0; // For compatibility with existing archives. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/unrar/dll.rc new/unrar/dll.rc --- old/unrar/dll.rc 2025-10-28 10:45:14.000000000 +0100 +++ new/unrar/dll.rc 2026-02-01 19:00:02.000000000 +0100 @@ -2,8 +2,8 @@ #include <commctrl.h> VS_VERSION_INFO VERSIONINFO -FILEVERSION 7, 20, 1, 1764 -PRODUCTVERSION 7, 20, 1, 1764 +FILEVERSION 7, 20, 100, 1861 +PRODUCTVERSION 7, 20, 100, 1861 FILEOS VOS__WINDOWS32 FILETYPE VFT_APP { @@ -14,9 +14,9 @@ VALUE "CompanyName", "Alexander Roshal\0" VALUE "ProductName", "RAR decompression library\0" VALUE "FileDescription", "RAR decompression library\0" - VALUE "FileVersion", "7.20.1\0" - VALUE "ProductVersion", "7.20.1\0" - VALUE "LegalCopyright", "Copyright � Alexander Roshal 1993-2025\0" + VALUE "FileVersion", "7.20.0\0" + VALUE "ProductVersion", "7.20.0\0" + VALUE "LegalCopyright", "Copyright � Alexander Roshal 1993-2026\0" VALUE "OriginalFilename", "Unrar.dll\0" } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/unrar/extract.cpp new/unrar/extract.cpp --- old/unrar/extract.cpp 2025-10-28 10:50:05.000000000 +0100 +++ new/unrar/extract.cpp 2026-02-01 19:19:00.000000000 +0100 @@ -816,7 +816,7 @@ uint64 Preallocated=0; if (!TestMode && !Arc.BrokenHeader && Arc.FileHead.UnpSize>1000000 && - Arc.FileHead.PackSize*1024>Arc.FileHead.UnpSize && Arc.IsSeekable() && + Arc.FileHead.PackSize>Arc.FileHead.UnpSize/1024 && Arc.IsSeekable() && (Arc.FileHead.UnpSize<100000000 || Arc.FileLength()>Arc.FileHead.PackSize)) { CurFile.Prealloc(Arc.FileHead.UnpSize); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/unrar/list.cpp new/unrar/list.cpp --- old/unrar/list.cpp 2025-10-28 10:50:06.000000000 +0100 +++ new/unrar/list.cpp 2026-02-01 19:19:00.000000000 +0100 @@ -141,15 +141,15 @@ if (Verbose) { - mprintf(L"\n----------- --------- -------- ----- ---------- ----- -------- ----"); - mprintf(L"\n%21ls %9ls %3d%% %-27ls %u",UnpSizeText, + mprintf(L"\n----------- ---------- ---------- ----- ---------- ----- -------- ----"); + mprintf(L"\n%22ls %10ls %3d%% %-27ls %u",UnpSizeText, PackSizeText,ToPercentUnlim(TotalPackSize,TotalUnpSize), VolNumText,FileCount); } else { - mprintf(L"\n----------- --------- ---------- ----- ----"); - mprintf(L"\n%21ls %-16ls %u",UnpSizeText,VolNumText,FileCount); + mprintf(L"\n----------- ---------- ---------- ----- ----"); + mprintf(L"\n%22ls %-16ls %u",UnpSizeText,VolNumText,FileCount); } SumFileCount+=FileCount; @@ -212,13 +212,13 @@ { mprintf(L"\n%ls",St(MListTitleV)); if (!DisableNames) - mprintf(L"\n----------- --------- -------- ----- ---------- ----- -------- ----"); + mprintf(L"\n----------- ---------- ---------- ----- ---------- ----- -------- ----"); } else { mprintf(L"\n%ls",St(MListTitleL)); if (!DisableNames) - mprintf(L"\n----------- --------- ---------- ----- ----"); + mprintf(L"\n----------- ---------- ---------- ----- ----"); } // Must be set even in DisableNames mode to suppress "0 files" output // unless no files are matched. @@ -432,10 +432,11 @@ return; } - mprintf(L"\n%c%10ls %9ls ",hd.Encrypted ? '*' : ' ',AttrStr,UnpSizeText); + // 2025.12.01: Size field width incremented to properly align 1+ GB sizes. + mprintf(L"\n%c%10ls %10ls ",hd.Encrypted ? '*' : ' ',AttrStr,UnpSizeText); if (Verbose) - mprintf(L"%9ls %4ls ",PackSizeText,RatioStr); + mprintf(L"%10ls %4ls ",PackSizeText,RatioStr); mprintf(L" %ls ",DateStr); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/unrar/loclang.hpp new/unrar/loclang.hpp --- old/unrar/loclang.hpp 2025-10-28 10:50:06.000000000 +0100 +++ new/unrar/loclang.hpp 2026-02-01 19:19:00.000000000 +0100 @@ -5,7 +5,7 @@ #define MContinueQuit L"_Continue_Quit" #define MRetryAbort L"_Retry_Abort" #define MIgnoreAllRetryQuit L"_Ignore_iGnore all_Retry_Quit" -#define MCopyright L"\nRAR %s Copyright (c) 1993-%d Alexander Roshal %d %s %d" +#define MCopyright L"\nRAR %s Copyright (c) 1993-%d Alexander Roshal %d %.3s %d" #define MRegTo L"\nRegistered to %s\n" #define MShare L"\nTrial version Type 'rar -?' for help\n" #define MRegKeyWarning L"\nAvailable license key is valid only for %s\n" @@ -25,6 +25,13 @@ #define MMonthOct L"October" #define MMonthNov L"November" #define MMonthDec L"December" +#define MWeekDayMon L"Monday" +#define MWeekDayTue L"Tuesday" +#define MWeekDayWed L"Wednesday" +#define MWeekDayThu L"Thursday" +#define MWeekDayFri L"Friday" +#define MWeekDaySat L"Saturday" +#define MWeekDaySun L"Sunday" #define MRARTitle1 L"\nUsage: rar <command> -<switch 1> -<switch N> <archive> <files...>" #define MUNRARTitle1 L"\nUsage: unrar <command> -<switch 1> -<switch N> <archive> <files...>" #define MRARTitle2 L"\n <@listfiles...> <path_to_extract\\>" @@ -254,8 +261,8 @@ #define MListLock L"lock" #define MListEnc L"encrypted" #define MListEncHead L"encrypted headers" -#define MListTitleL L" Attributes Size Date Time Name" -#define MListTitleV L" Attributes Size Packed Ratio Date Time Checksum Name" +#define MListTitleL L" Attributes Size Date Time Name" +#define MListTitleV L" Attributes Size Packed Ratio Date Time Checksum Name" #define MListName L"Name" #define MListType L"Type" #define MListFile L"File" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/unrar/pathfn.cpp new/unrar/pathfn.cpp --- old/unrar/pathfn.cpp 2025-10-28 10:50:06.000000000 +0100 +++ new/unrar/pathfn.cpp 2026-02-01 19:19:00.000000000 +0100 @@ -926,11 +926,7 @@ swprintf(Field[7],FieldSize,L"%u",(uint)WeekDay+1); swprintf(Field[8],FieldSize,L"%03u",rlt.yDay+1); swprintf(Field[9],FieldSize,L"%05u",ArcNumber); - - const wchar *WeekDayName[]={L"Sunday",L"Monday",L"Tuesday",L"Wednesday", - L"Thursday",L"Friday",L"Saturday"}; - - wcsncpyz(Field[10],WeekDayName[rlt.wDay],FieldSize); + wcsncpyz(Field[10],uiGetWeekDayName(rlt.wDay),FieldSize); wcsncpyz(Field[11],GetMonthName(rlt.Month-1),FieldSize); int LField[sizeof(Field)/sizeof(Field[0])]; // Field lengths. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/unrar/rs16.cpp new/unrar/rs16.cpp --- old/unrar/rs16.cpp 2025-10-28 10:50:07.000000000 +0100 +++ new/unrar/rs16.cpp 2026-02-01 19:19:01.000000000 +0100 @@ -146,7 +146,7 @@ } -// Apply Gauss�Jordan elimination to find inverse of decoder matrix. +// Apply Gauss-Jordan elimination to find inverse of decoder matrix. // We have the square NDxND matrix, but we do not store its trivial // diagonal "1" rows matching valid data, so we work with NExND matrix. // Our original Cauchy matrix does not contain 0, so we skip search diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/unrar/strfn.cpp new/unrar/strfn.cpp --- old/unrar/strfn.cpp 2025-10-28 10:50:07.000000000 +0100 +++ new/unrar/strfn.cpp 2026-02-01 19:19:01.000000000 +0100 @@ -483,8 +483,8 @@ if (Org[Src]=='%' && (Src==0 || Org[Src-1]!='%')) { size_t SPos=Src+1; - // Skipping a possible width specifier like %-50s. - while (IsDigit(Org[SPos]) || Org[SPos]=='-') + // Skipping a possible width specifier like %-50s or %.3s. + while (IsDigit(Org[SPos]) || Org[SPos]=='-' || Org[SPos]=='.') SPos++; if (Org[SPos]=='s') { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/unrar/ui.hpp new/unrar/ui.hpp --- old/unrar/ui.hpp 2025-10-28 10:50:08.000000000 +0100 +++ new/unrar/ui.hpp 2026-02-01 19:19:02.000000000 +0100 @@ -68,7 +68,8 @@ // Flags for uiAskReplace function. enum UIASKREP_FLAGS { - UIASKREP_F_NORENAME=1,UIASKREP_F_EXCHSRCDEST=2,UIASKREP_F_SHOWNAMEONLY=4 + UIASKREP_F_NORENAME=1,UIASKREP_F_EXCHSRCDEST=2,UIASKREP_F_SHOWNAMEONLY=4, + UIASKREP_F_SINGLEFILE=8 }; // Codes returned by uiAskReplace. Note that uiAskReplaceEx returns only @@ -80,6 +81,7 @@ UIASKREP_RESULT uiAskReplace(std::wstring &Name,int64 FileSize,RarTime *FileTime,uint Flags); UIASKREP_RESULT uiAskReplaceEx(CommandData *Cmd,std::wstring &Name,int64 FileSize,RarTime *FileTime,uint Flags); +bool GetAutoRenamedName(std::wstring &Name); void uiInit(SOUND_NOTIFY_MODE Sound); @@ -114,6 +116,7 @@ #ifndef SFX_MODULE const wchar *uiGetMonthName(uint Month); +const wchar *uiGetWeekDayName(uint Day); #endif class uiMsgStore diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/unrar/uicommon.cpp new/unrar/uicommon.cpp --- old/unrar/uicommon.cpp 2025-10-28 10:50:08.000000000 +0100 +++ new/unrar/uicommon.cpp 2026-02-01 19:19:02.000000000 +0100 @@ -1,4 +1,3 @@ -static bool GetAutoRenamedName(std::wstring &Name); static SOUND_NOTIFY_MODE uiSoundNotify; void uiInit(SOUND_NOTIFY_MODE Sound) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/unrar/uiconsole.cpp new/unrar/uiconsole.cpp --- old/unrar/uiconsole.cpp 2025-10-28 10:50:08.000000000 +0100 +++ new/unrar/uiconsole.cpp 2026-02-01 19:19:02.000000000 +0100 @@ -505,7 +505,17 @@ MMonthJan,MMonthFeb,MMonthMar,MMonthApr,MMonthMay,MMonthJun, MMonthJul,MMonthAug,MMonthSep,MMonthOct,MMonthNov,MMonthDec }; - return St(MonthID[Month]); + return Month<ASIZE(MonthID) ? St(MonthID[Month]):L""; +} + + +const wchar *uiGetWeekDayName(uint Day) +{ + static MSGID DayID[7]={ + MWeekDaySun,MWeekDayMon,MWeekDayTue,MWeekDayWed,MWeekDayThu, + MWeekDayFri,MWeekDaySat + }; + return Day<ASIZE(DayID) ? St(DayID[Day]):L""; } #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/unrar/uisilent.cpp new/unrar/uisilent.cpp --- old/unrar/uisilent.cpp 2025-10-28 10:50:08.000000000 +0100 +++ new/unrar/uisilent.cpp 2026-02-01 19:19:02.000000000 +0100 @@ -78,6 +78,12 @@ { return L""; } + + +const wchar *uiGetWeekDayName(uint Day) +{ + return L""; +} #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/unrar/version.hpp new/unrar/version.hpp --- old/unrar/version.hpp 2025-10-28 10:50:08.000000000 +0100 +++ new/unrar/version.hpp 2026-02-01 19:19:02.000000000 +0100 @@ -1,6 +1,6 @@ #define RARVER_MAJOR 7 #define RARVER_MINOR 20 -#define RARVER_BETA 1 -#define RARVER_DAY 28 -#define RARVER_MONTH 10 -#define RARVER_YEAR 2025 +#define RARVER_BETA 0 +#define RARVER_DAY 1 +#define RARVER_MONTH 2 +#define RARVER_YEAR 2026
