sizeof - w/ rpmbuild
Sérgio Basto
sergio at serjux.com
Sat Jun 20 13:46:01 UTC 2015
On Sáb, 2015-06-20 at 04:10 +0200, poma wrote:
> On 20.06.2015 04:00, Josh Stone wrote:
> > On 06/19/2015 06:47 PM, poma wrote:
> >> On 20.06.2015 03:30, Josh Stone wrote:
> >>> On 06/19/2015 05:51 PM, Josh Stone wrote:
> >>>> On 06/19/2015 05:16 PM, poma wrote:
> >>>>>
> >>>>> This is exactly the opposite of the case with the kernel
> >>>>> https://bugzilla.redhat.com/show_bug.cgi?id=1232206
> >>>>>
> >>>>>
> >>>>> - Local rpmbuild builds:
> >>>>>
> >>>>> binutils-2.25-11 - elfutils-0.163-1
> >>>>> 4.9M NetworkManager-1.0.4-0.1.git20150618.8cffaf3bf5.fc23.x86_64.rpm
> >>>>>
> >>>>> binutils-2.25-10 - elfutils-0.163-1
> >>>>> 4.9M NetworkManager-1.0.4-0.1.git20150618.8cffaf3bf5.fc23.x86_64.rpm
> >>>>>
> >>>>> binutils-2.25-10 - elfutils-0.162-2
> >>>>> 4.9M NetworkManager-1.0.4-0.1.git20150618.8cffaf3bf5.fc23.x86_64.rpm
> >>>>>
> >>>>> binutils-2.25-10 - elfutils-0.162-1
> >>>>> 4.9M NetworkManager-1.0.4-0.1.git20150618.8cffaf3bf5.fc23.x86_64.rpm
> >>>>>
> >>>>> binutils-2.25-10 - elfutils-0.161-8
> >>>>> 4.9M NetworkManager-1.0.4-0.1.git20150618.8cffaf3bf5.fc23.x86_64.rpm
> >>>>>
> >>>>> binutils-2.25-9 - elfutils-0.161-8
> >>>>> 4.9M NetworkManager-1.0.4-0.1.git20150618.8cffaf3bf5.fc23.x86_64.rpm
> >>>>>
> >>>>>
> >>>>> - Local mock build:
> >>>>>
> >>>>> /var/lib/mock/fedora-rawhide-x86_64/result/
> >>>>> 2.0M NetworkManager-1.0.4-0.1.git20150618.8cffaf3bf5.fc23.x86_64.rpm
> >>>>>
> >>>>>
> >>>>> - Koji:
> >>>>>
> >>>>> https://kojipkgs.fedoraproject.org/packages/NetworkManager/1.0.4/0.1.git20150618.8cffaf3bf5.fc23/x86_64/
> >>>>> 2.0M NetworkManager-1.0.4-0.1.git20150618.8cffaf3bf5.fc23.x86_64.rpm
> >>>>>
> >>>>>
> >>>>> Any idea why this multiplying size is happening with the rpmbuild?
> >>>>>
> >>>>> NetworkManager is just an example of a general issue.
> >>>>
> >>>> I'd start with "rpm -qvlp foo.rpm" to see what exactly is bigger.
> >>>> If it's an ELF file, compare "eu-readelf -S" or even "-a".
> >>>
> >>> FWIW, my "fedpkg local" produced 2.0M too.
> >>>
> >>> Perhaps you have devel packages for some optional NetworkManager
> >>> features that aren't normally enabled? Or maybe you have the bad
> >>> libelf.so in your path somewhere from testing the strip issue?
> >>>
> >>
> >> - rpmbuild runs as:
> >>
> >> $ cat ~/.rpmmacros
> >> %debug_package %{nil}
> >
> > Doesn't this prevent stripping?
> >
> > The normal %debug_package sets %global __debug_package 1, which causes
> > __spec_install_post to run __debug_install_post, which runs
> > find-debuginfo.sh, which is what runs eu-strip to extract debuginfo.
> >
> > Without that, the debug sections will be left in your files, as readelf
> > shows below, so of course they will be bigger!
> >
>
> But why is this happening only recently?
>
> I use "%debug_package %{nil}" to exclude the construction of *debuginfo* packages.
>
> Eeeeeeeeeeeeeeeeeeeeeeeeeee
> Am I really doing it the wrong way, so far!?
Hi,
AFAIK , We, in package, enable build with debug (./configure
--enable-debug) to create good debuginfo packages.
I think when rpmbuild begins do debuginfo packages strips the
binaries .
For example pngquant.spec
./configure --prefix=%{_prefix} --enable-debug
file /usr/bin/pngquant
/usr/bin/pngquant: ELF 64-bit LSB executable, x86-64, version 1 (SYSV),
dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for
GNU/Linux 2.6.32,
BuildID[sha1]=ef857b7ad50d1791a17a46d2a02c6a502bebdaa0, stripped
> >> $ rpmbuild -ba NetworkManager.spec
> >>
> >>
> >> - mock runs as:
> >>
> >> $ mock --verbose --root=fedora-rawhide-x86_64 --with=baseonly --without=debuginfo --rebuild NM.src.rpm
> >>
> >>
> >> Significant differences:
> >>
> >> - rpm-qvlp-NM-rpmbuild-vs-mock.rpm.diff:
> >>
> >> < 31392 Jun 19 23:54 /usr/bin/nm-online
> >> < 1729192 Jun 19 23:54 /usr/bin/nmcli
> >> ---
> >> > 15344 Jun 19 23:54 /usr/bin/nm-online
> >> > 563256 Jun 19 23:54 /usr/bin/nmcli
> >> ---
> >> < 83280 Jun 19 23:54 /usr/lib64/NetworkManager/libnm-settings-plugin-ibft.so
> >> < 2696 Jun 19 23:54 /usr/lib64/NetworkManager/libnm-settings-plugin-ifcfg-rh.so
> >> < 38800 Jun 19 23:54 /usr/lib64/pppd/2.4.7/nm-pppd-plugin.so
> >> < 18808 Jun 19 23:54 /usr/libexec/nm-avahi-autoipd.action
> >> < 19736 Jun 19 23:54 /usr/libexec/nm-dhcp-helper
> >> < 152336 Jun 19 23:54 /usr/libexec/nm-dispatcher
> >> < 4090448 Jun 19 23:54 /usr/libexec/nm-iface-helper
> >> < 7846824 Jun 19 23:54 /usr/sbin/NetworkManager
> >> ---
> >> > 27456 Jun 19 23:54 /usr/lib64/NetworkManager/libnm-settings-plugin-ibft.so
> >> > 185104 Jun 19 23:54 /usr/lib64/NetworkManager/libnm-settings-plugin-ifcfg-rh.so
> >> > 15184 Jun 19 23:54 /usr/lib64/pppd/2.4.7/nm-pppd-plugin.so
> >> > 11240 Jun 19 23:54 /usr/libexec/nm-avahi-autoipd.action
> >> > 11304 Jun 19 23:54 /usr/libexec/nm-dhcp-helper
> >> > 48640 Jun 19 23:54 /usr/libexec/nm-dispatcher
> >> > 1006808 Jun 19 23:54 /usr/libexec/nm-iface-helper
> >> > 1875056 Jun 19 23:54 /usr/sbin/NetworkManager
> >>
> >>
> >> - eu-readelf-S-NM-rpmbuild-vs-mock.diff:
> >>
> >> < There are 38 section headers, starting at offset 0x77b228:
> >> ---
> >> > There are 30 section headers, starting at offset 0x1c94f0:
> >> ---
> >> < [27] .comment PROGBITS 0000000000000000 001c50e0 00000058 1 MS 0 0 1
> >> < [28] .debug_aranges PROGBITS 0000000000000000 001c5138 00001d80 0 0 0 1
> >> < [29] .debug_info PROGBITS 0000000000000000 001c6eb8 0027f59a 0 0 0 1
> >> < [30] .debug_abbrev PROGBITS 0000000000000000 00446452 000240c8 0 0 0 1
> >> < [31] .debug_line PROGBITS 0000000000000000 0046a51a 0004ee66 0 0 0 1
> >> < [32] .debug_str PROGBITS 0000000000000000 004b9380 0003616d 1 MS 0 0 1
> >> < [33] .debug_loc PROGBITS 0000000000000000 004ef4ed 00214fcb 0 0 0 1
> >> < [34] .debug_ranges PROGBITS 0000000000000000 007044b8 00023e30 0 0 0 1
> >> < [35] .shstrtab STRTAB 0000000000000000 007282e8 00000177 0 0 0 1
> >> < [36] .symtab SYMTAB 0000000000000000 00728460 0002baa0 24 37 4551 8
> >> < [37] .strtab STRTAB 0000000000000000 00753f00 00027326 0 0 0 1
> >> ---
> >> > [27] .gnu_debuglink PROGBITS 0000000000000000 001c50e0 0000001c 0 0 0 4
> >> > [28] .gnu_debugdata PROGBITS 0000000000000000 001c50fc 000042d0 0 0 0 1
> >> > [29] .shstrtab STRTAB 0000000000000000 001c93cc 00000123 0 0 0 1
> >>
> >>
> >
>
--
Sérgio M. B.
More information about the test
mailing list