<feed xmlns='http://www.w3.org/2005/Atom'>
<title>perl-RPM4/RPM4/NEWS, branch master</title>
<subtitle>perl module to access and manipulate RPM files</subtitle>
<link rel='alternate' type='text/html' href='https://gitweb.mageia.org/software/rpm/perl-RPM4/'/>
<entry>
<title>0.47</title>
<updated>2023-10-25T11:49:17+00:00</updated>
<author>
<name>Thierry Vignaud</name>
<email>thierry.vignaud@gmail.com</email>
</author>
<published>2023-10-25T11:43:53+00:00</published>
<link rel='alternate' type='text/html' href='https://gitweb.mageia.org/software/rpm/perl-RPM4/commit/?id=09d7fc805548aee503faf74bae5f68c231d20320'/>
<id>09d7fc805548aee503faf74bae5f68c231d20320</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Adapt for rpm-4.19.0 final</title>
<updated>2023-10-25T11:49:16+00:00</updated>
<author>
<name>Thierry Vignaud</name>
<email>thierry.vignaud@gmail.com</email>
</author>
<published>2023-10-25T11:41:08+00:00</published>
<link rel='alternate' type='text/html' href='https://gitweb.mageia.org/software/rpm/perl-RPM4/commit/?id=e2720b3147e2be8b5b9627e09de01136df1ab586'/>
<id>e2720b3147e2be8b5b9627e09de01136df1ab586</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>0.46</title>
<updated>2022-04-29T14:35:01+00:00</updated>
<author>
<name>Thierry Vignaud</name>
<email>thierry.vignaud@gmail.com</email>
</author>
<published>2022-04-29T08:00:28+00:00</published>
<link rel='alternate' type='text/html' href='https://gitweb.mageia.org/software/rpm/perl-RPM4/commit/?id=ff39da19d6fcfe25f346a9593c6485f9cb4a31c5'/>
<id>ff39da19d6fcfe25f346a9593c6485f9cb4a31c5</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Skip failing test Te-&gt;files on mga[2-7]</title>
<updated>2022-04-29T13:55:55+00:00</updated>
<author>
<name>Thierry Vignaud</name>
<email>thierry.vignaud@gmail.com</email>
</author>
<published>2022-04-29T10:56:22+00:00</published>
<link rel='alternate' type='text/html' href='https://gitweb.mageia.org/software/rpm/perl-RPM4/commit/?id=4de9e157f8b9f030e087146085b4543819b07b67'/>
<id>4de9e157f8b9f030e087146085b4543819b07b67</id>
<content type='text'>
We added the test in commit f6d333affb60e5364bf30355869fd359da2317e8
when switching to the new API.

But sadly this new test fails on older mga releases.
Eg Te-&gt;files segfaults on mga3 with rpm-4.11.0.1:

Stack trace when testing Te-&gt;files in RPM-0.45+:

ok 32 - Running transaction justdb
ok 33 - Running traverse on transaction
ok 34 - Can find header in transaction
*** Error in `/usr/bin/perl': free(): invalid next size (fast): 0x0000000000f9a1b0 ***

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff69932fb in malloc_consolidate () from /lib64/libc.so.6
(gdb) bt
 #0  0x00007ffff69932fb in malloc_consolidate () from /lib64/libc.so.6
 #1  0x00007ffff699442d in _int_malloc () from /lib64/libc.so.6
 #2  0x00007ffff699712d in calloc () from /lib64/libc.so.6
 #3  0x00007ffff7de830f in _dl_new_object () from /lib64/ld-linux-x86-64.so.2
 #4  0x00007ffff7de3fdc in _dl_map_object_from_fd () from /lib64/ld-linux-x86-64.so.2
 #5  0x00007ffff7de5c2b in _dl_map_object () from /lib64/ld-linux-x86-64.so.2
 #6  0x00007ffff7df01fc in dl_open_worker () from /lib64/ld-linux-x86-64.so.2
 #7  0x00007ffff7dec526 in _dl_catch_error () from /lib64/ld-linux-x86-64.so.2
 #8  0x00007ffff7defd39 in _dl_open () from /lib64/ld-linux-x86-64.so.2
 #9  0x00007ffff6a42202 in do_dlopen () from /lib64/libc.so.6
 #10 0x00007ffff7dec526 in _dl_catch_error () from /lib64/ld-linux-x86-64.so.2
 #11 0x00007ffff6a422c4 in __libc_dlopen_mode () from /lib64/libc.so.6
 #12 0x00007ffff6a1c4e5 in init () from /lib64/libc.so.6
 #13 0x00007ffff6cd89f0 in pthread_once () from /lib64/libpthread.so.0
 #14 0x00007ffff6a1c604 in backtrace () from /lib64/libc.so.6
 #15 0x00007ffff698cea5 in __libc_message () from /lib64/libc.so.6
 #16 0x00007ffff6993e66 in _int_free () from /lib64/libc.so.6
 #17 0x00007ffff54354a9 in rfree () from /lib/../lib64/librpmio.so.3
 #18 0x00007ffff56880e9 in rpmfiFree () from /lib/../lib64/librpm.so.3
 #19 0x00007ffff56829de in rpmalFree () from /lib/../lib64/librpm.so.3
 #20 0x00007ffff5691a99 in rpmtsClean () from /lib/../lib64/librpm.so.3
 #21 0x00007ffff5691aec in rpmtsEmpty () from /lib/../lib64/librpm.so.3
 #22 0x00007ffff5691b85 in rpmtsFree () from /lib/../lib64/librpm.so.3
 #23 0x00007ffff58bd910 in XS_RPM4__Transaction_DESTROY (my_perl=&lt;optimized out&gt;, cv=&lt;optimized out&gt;) at RPM4.xs:1424
 #24 0x00007ffff7b11a22 in Perl_pp_entersub () from /usr/lib/perl5/5.16.3/x86_64-linux-thread-multi/CORE/libperl.so
 #25 0x00007ffff7a9fc69 in Perl_call_sv () from /usr/lib/perl5/5.16.3/x86_64-linux-thread-multi/CORE/libperl.so
 #26 0x00007ffff7b1ae6b in S_curse () from /usr/lib/perl5/5.16.3/x86_64-linux-thread-multi/CORE/libperl.so
 #27 0x00007ffff7b1b808 in Perl_sv_clear () from /usr/lib/perl5/5.16.3/x86_64-linux-thread-multi/CORE/libperl.so
 #28 0x00007ffff7b1bbe2 in Perl_sv_free2 () from /usr/lib/perl5/5.16.3/x86_64-linux-thread-multi/CORE/libperl.so
 #29 0x00007ffff7b3eea0 in Perl_free_tmps () from /usr/lib/perl5/5.16.3/x86_64-linux-thread-multi/CORE/libperl.so
 #30 0x00007ffff7b0a835 in Perl_pp_nextstate () from /usr/lib/perl5/5.16.3/x86_64-linux-thread-multi/CORE/libperl.so
 #31 0x00007ffff7b0a196 in Perl_runops_standard () from /usr/lib/perl5/5.16.3/x86_64-linux-thread-multi/CORE/libperl.so
 #32 0x00007ffff7aa5b45 in perl_run () from /usr/lib/perl5/5.16.3/x86_64-linux-thread-multi/CORE/libperl.so
 #33 0x0000000000400f09 in main ()

Stack trace when testing Te-&gt;files in RPM-0.44:

Program received signal SIGABRT, Aborted.
0x00007ffff694d6e5 in raise () from /lib64/libc.so.6
(gdb) bt
 #0  0x00007ffff694d6e5 in raise () from /lib64/libc.so.6
 #1  0x00007ffff694ed48 in abort () from /lib64/libc.so.6
 #2  0x00007ffff698ce8b in __libc_message () from /lib64/libc.so.6
 #3  0x00007ffff6993e66 in _int_free () from /lib64/libc.so.6
 #4  0x00007ffff54354a9 in rfree () from /lib/../lib64/librpmio.so.3
 #5  0x00007ffff5688062 in rpmfiFree () from /lib/../lib64/librpm.so.3
 #6  0x00007ffff56829de in rpmalFree () from /lib/../lib64/librpm.so.3
 #7  0x00007ffff5691a99 in rpmtsClean () from /lib/../lib64/librpm.so.3
 #8  0x00007ffff5691aec in rpmtsEmpty () from /lib/../lib64/librpm.so.3
 #9  0x00007ffff5691b85 in rpmtsFree () from /lib/../lib64/librpm.so.3
 #10 0x00007ffff58bd910 in XS_RPM4__Transaction_DESTROY (my_perl=&lt;optimized out&gt;, cv=&lt;optimized out&gt;) at RPM4.xs:1424
 #11 0x00007ffff7b11a22 in Perl_pp_entersub () from /usr/lib/perl5/5.16.3/x86_64-linux-thread-multi/CORE/libperl.so
 #12 0x00007ffff7a9fc69 in Perl_call_sv () from /usr/lib/perl5/5.16.3/x86_64-linux-thread-multi/CORE/libperl.so
 #13 0x00007ffff7b1ae6b in S_curse () from /usr/lib/perl5/5.16.3/x86_64-linux-thread-multi/CORE/libperl.so
 #14 0x00007ffff7b1b808 in Perl_sv_clear () from /usr/lib/perl5/5.16.3/x86_64-linux-thread-multi/CORE/libperl.so
 #15 0x00007ffff7b1bbe2 in Perl_sv_free2 () from /usr/lib/perl5/5.16.3/x86_64-linux-thread-multi/CORE/libperl.so
 #16 0x00007ffff7b3eea0 in Perl_free_tmps () from /usr/lib/perl5/5.16.3/x86_64-linux-thread-multi/CORE/libperl.so
 #17 0x00007ffff7b0a835 in Perl_pp_nextstate () from /usr/lib/perl5/5.16.3/x86_64-linux-thread-multi/CORE/libperl.so
 #18 0x00007ffff7b0a196 in Perl_runops_standard () from /usr/lib/perl5/5.16.3/x86_64-linux-thread-multi/CORE/libperl.so
 #19 0x00007ffff7aa5b45 in perl_run () from /usr/lib/perl5/5.16.3/x86_64-linux-thread-multi/CORE/libperl.so
 #20 0x0000000000400f09 in main ()
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We added the test in commit f6d333affb60e5364bf30355869fd359da2317e8
when switching to the new API.

But sadly this new test fails on older mga releases.
Eg Te-&gt;files segfaults on mga3 with rpm-4.11.0.1:

Stack trace when testing Te-&gt;files in RPM-0.45+:

ok 32 - Running transaction justdb
ok 33 - Running traverse on transaction
ok 34 - Can find header in transaction
*** Error in `/usr/bin/perl': free(): invalid next size (fast): 0x0000000000f9a1b0 ***

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff69932fb in malloc_consolidate () from /lib64/libc.so.6
(gdb) bt
 #0  0x00007ffff69932fb in malloc_consolidate () from /lib64/libc.so.6
 #1  0x00007ffff699442d in _int_malloc () from /lib64/libc.so.6
 #2  0x00007ffff699712d in calloc () from /lib64/libc.so.6
 #3  0x00007ffff7de830f in _dl_new_object () from /lib64/ld-linux-x86-64.so.2
 #4  0x00007ffff7de3fdc in _dl_map_object_from_fd () from /lib64/ld-linux-x86-64.so.2
 #5  0x00007ffff7de5c2b in _dl_map_object () from /lib64/ld-linux-x86-64.so.2
 #6  0x00007ffff7df01fc in dl_open_worker () from /lib64/ld-linux-x86-64.so.2
 #7  0x00007ffff7dec526 in _dl_catch_error () from /lib64/ld-linux-x86-64.so.2
 #8  0x00007ffff7defd39 in _dl_open () from /lib64/ld-linux-x86-64.so.2
 #9  0x00007ffff6a42202 in do_dlopen () from /lib64/libc.so.6
 #10 0x00007ffff7dec526 in _dl_catch_error () from /lib64/ld-linux-x86-64.so.2
 #11 0x00007ffff6a422c4 in __libc_dlopen_mode () from /lib64/libc.so.6
 #12 0x00007ffff6a1c4e5 in init () from /lib64/libc.so.6
 #13 0x00007ffff6cd89f0 in pthread_once () from /lib64/libpthread.so.0
 #14 0x00007ffff6a1c604 in backtrace () from /lib64/libc.so.6
 #15 0x00007ffff698cea5 in __libc_message () from /lib64/libc.so.6
 #16 0x00007ffff6993e66 in _int_free () from /lib64/libc.so.6
 #17 0x00007ffff54354a9 in rfree () from /lib/../lib64/librpmio.so.3
 #18 0x00007ffff56880e9 in rpmfiFree () from /lib/../lib64/librpm.so.3
 #19 0x00007ffff56829de in rpmalFree () from /lib/../lib64/librpm.so.3
 #20 0x00007ffff5691a99 in rpmtsClean () from /lib/../lib64/librpm.so.3
 #21 0x00007ffff5691aec in rpmtsEmpty () from /lib/../lib64/librpm.so.3
 #22 0x00007ffff5691b85 in rpmtsFree () from /lib/../lib64/librpm.so.3
 #23 0x00007ffff58bd910 in XS_RPM4__Transaction_DESTROY (my_perl=&lt;optimized out&gt;, cv=&lt;optimized out&gt;) at RPM4.xs:1424
 #24 0x00007ffff7b11a22 in Perl_pp_entersub () from /usr/lib/perl5/5.16.3/x86_64-linux-thread-multi/CORE/libperl.so
 #25 0x00007ffff7a9fc69 in Perl_call_sv () from /usr/lib/perl5/5.16.3/x86_64-linux-thread-multi/CORE/libperl.so
 #26 0x00007ffff7b1ae6b in S_curse () from /usr/lib/perl5/5.16.3/x86_64-linux-thread-multi/CORE/libperl.so
 #27 0x00007ffff7b1b808 in Perl_sv_clear () from /usr/lib/perl5/5.16.3/x86_64-linux-thread-multi/CORE/libperl.so
 #28 0x00007ffff7b1bbe2 in Perl_sv_free2 () from /usr/lib/perl5/5.16.3/x86_64-linux-thread-multi/CORE/libperl.so
 #29 0x00007ffff7b3eea0 in Perl_free_tmps () from /usr/lib/perl5/5.16.3/x86_64-linux-thread-multi/CORE/libperl.so
 #30 0x00007ffff7b0a835 in Perl_pp_nextstate () from /usr/lib/perl5/5.16.3/x86_64-linux-thread-multi/CORE/libperl.so
 #31 0x00007ffff7b0a196 in Perl_runops_standard () from /usr/lib/perl5/5.16.3/x86_64-linux-thread-multi/CORE/libperl.so
 #32 0x00007ffff7aa5b45 in perl_run () from /usr/lib/perl5/5.16.3/x86_64-linux-thread-multi/CORE/libperl.so
 #33 0x0000000000400f09 in main ()

Stack trace when testing Te-&gt;files in RPM-0.44:

Program received signal SIGABRT, Aborted.
0x00007ffff694d6e5 in raise () from /lib64/libc.so.6
(gdb) bt
 #0  0x00007ffff694d6e5 in raise () from /lib64/libc.so.6
 #1  0x00007ffff694ed48 in abort () from /lib64/libc.so.6
 #2  0x00007ffff698ce8b in __libc_message () from /lib64/libc.so.6
 #3  0x00007ffff6993e66 in _int_free () from /lib64/libc.so.6
 #4  0x00007ffff54354a9 in rfree () from /lib/../lib64/librpmio.so.3
 #5  0x00007ffff5688062 in rpmfiFree () from /lib/../lib64/librpm.so.3
 #6  0x00007ffff56829de in rpmalFree () from /lib/../lib64/librpm.so.3
 #7  0x00007ffff5691a99 in rpmtsClean () from /lib/../lib64/librpm.so.3
 #8  0x00007ffff5691aec in rpmtsEmpty () from /lib/../lib64/librpm.so.3
 #9  0x00007ffff5691b85 in rpmtsFree () from /lib/../lib64/librpm.so.3
 #10 0x00007ffff58bd910 in XS_RPM4__Transaction_DESTROY (my_perl=&lt;optimized out&gt;, cv=&lt;optimized out&gt;) at RPM4.xs:1424
 #11 0x00007ffff7b11a22 in Perl_pp_entersub () from /usr/lib/perl5/5.16.3/x86_64-linux-thread-multi/CORE/libperl.so
 #12 0x00007ffff7a9fc69 in Perl_call_sv () from /usr/lib/perl5/5.16.3/x86_64-linux-thread-multi/CORE/libperl.so
 #13 0x00007ffff7b1ae6b in S_curse () from /usr/lib/perl5/5.16.3/x86_64-linux-thread-multi/CORE/libperl.so
 #14 0x00007ffff7b1b808 in Perl_sv_clear () from /usr/lib/perl5/5.16.3/x86_64-linux-thread-multi/CORE/libperl.so
 #15 0x00007ffff7b1bbe2 in Perl_sv_free2 () from /usr/lib/perl5/5.16.3/x86_64-linux-thread-multi/CORE/libperl.so
 #16 0x00007ffff7b3eea0 in Perl_free_tmps () from /usr/lib/perl5/5.16.3/x86_64-linux-thread-multi/CORE/libperl.so
 #17 0x00007ffff7b0a835 in Perl_pp_nextstate () from /usr/lib/perl5/5.16.3/x86_64-linux-thread-multi/CORE/libperl.so
 #18 0x00007ffff7b0a196 in Perl_runops_standard () from /usr/lib/perl5/5.16.3/x86_64-linux-thread-multi/CORE/libperl.so
 #19 0x00007ffff7aa5b45 in perl_run () from /usr/lib/perl5/5.16.3/x86_64-linux-thread-multi/CORE/libperl.so
 #20 0x0000000000400f09 in main ()
</pre>
</div>
</content>
</entry>
<entry>
<title>Prepare for rpm-4.19: switch away from rpmteFI()</title>
<updated>2022-04-27T00:08:39+00:00</updated>
<author>
<name>Thierry Vignaud</name>
<email>thierry.vignaud@gmail.com</email>
</author>
<published>2022-04-26T23:33:35+00:00</published>
<link rel='alternate' type='text/html' href='https://gitweb.mageia.org/software/rpm/perl-RPM4/commit/?id=f6d333affb60e5364bf30355869fd359da2317e8'/>
<id>f6d333affb60e5364bf30355869fd359da2317e8</id>
<content type='text'>
Test Te-&gt;files btw (which shows it was segfaulting before...)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Test Te-&gt;files btw (which shows it was segfaulting before...)
</pre>
</div>
</content>
</entry>
<entry>
<title>0.45</title>
<updated>2022-04-26T22:08:55+00:00</updated>
<author>
<name>Thierry Vignaud</name>
<email>thierry.vignaud@gmail.com</email>
</author>
<published>2022-04-26T22:08:55+00:00</published>
<link rel='alternate' type='text/html' href='https://gitweb.mageia.org/software/rpm/perl-RPM4/commit/?id=88e4b74ee7198c110166ddfe790f62dd5eeef1c6'/>
<id>88e4b74ee7198c110166ddfe790f62dd5eeef1c6</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Test removing a non existing rpm</title>
<updated>2022-04-26T22:05:47+00:00</updated>
<author>
<name>Thierry Vignaud</name>
<email>thierry.vignaud@gmail.com</email>
</author>
<published>2022-04-26T20:12:59+00:00</published>
<link rel='alternate' type='text/html' href='https://gitweb.mageia.org/software/rpm/perl-RPM4/commit/?id=982005630e24f04984cd4513c213fb70dc6faf3d'/>
<id>982005630e24f04984cd4513c213fb70dc6faf3d</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix detecting 4.18-alpha1</title>
<updated>2022-04-26T22:03:33+00:00</updated>
<author>
<name>Thierry Vignaud</name>
<email>thierry.vignaud@gmail.com</email>
</author>
<published>2022-04-26T09:43:29+00:00</published>
<link rel='alternate' type='text/html' href='https://gitweb.mageia.org/software/rpm/perl-RPM4/commit/?id=0debd1e2321314f07b4df99a1785c06f9925eecb'/>
<id>0debd1e2321314f07b4df99a1785c06f9925eecb</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix &amp; enable Problem tests</title>
<updated>2022-04-26T22:03:13+00:00</updated>
<author>
<name>Thierry Vignaud</name>
<email>thierry.vignaud@gmail.com</email>
</author>
<published>2021-06-05T15:02:55+00:00</published>
<link rel='alternate' type='text/html' href='https://gitweb.mageia.org/software/rpm/perl-RPM4/commit/?id=f4894c3dfbc6dfce0bc02d260827c96499cd0226'/>
<id>f4894c3dfbc6dfce0bc02d260827c96499cd0226</id>
<content type='text'>
Was disabled at least since commit 9e2966a33f9148fdc8ef81783bab1fe18e87bd34
16 years ago
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Was disabled at least since commit 9e2966a33f9148fdc8ef81783bab1fe18e87bd34
16 years ago
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix running traverse(): return 1</title>
<updated>2022-04-26T22:02:42+00:00</updated>
<author>
<name>Thierry Vignaud</name>
<email>thierry.vignaud@gmail.com</email>
</author>
<published>2022-04-26T20:05:40+00:00</published>
<link rel='alternate' type='text/html' href='https://gitweb.mageia.org/software/rpm/perl-RPM4/commit/?id=4fd24a2d2a7b7faac39d1d70a3cef67a731ea596'/>
<id>4fd24a2d2a7b7faac39d1d70a3cef67a731ea596</id>
<content type='text'>
Else traverse() is short-circuited... which breaks the testsuite...
I wonder how the testsuite was working previous to rpm-4.17.0 which
fixed something that exposed that issue.
This test runs smoothly on mga[2-8]

Note for future: traverse() really should be documented...
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Else traverse() is short-circuited... which breaks the testsuite...
I wonder how the testsuite was working previous to rpm-4.17.0 which
fixed something that exposed that issue.
This test runs smoothly on mga[2-8]

Note for future: traverse() really should be documented...
</pre>
</div>
</content>
</entry>
</feed>
