Spec URL: http://people.redhat.com/jakub/dwz/dwz.spec SRPM URL: http://people.redhat.com/jakub/dwz/dwz-0.2-1.fc17.src.rpm Description: The dwz package contains a program that attempts to optimize DWARF debugging information contained in ELF shared libraries and ELF executables for size, by replacing DWARF information representation with equivalent smaller representation where possible and by reducing the amount of duplication using techniques from DWARF standard appendix E - creating DW_TAG_partial_unit compilation units (CUs) for duplicated information and using DW_TAG_imported_unit to import it into each CU that needs it. Fedora Account System Username: jakub
This package is being added as part of https://fedoraproject.org/wiki/Features/DwarfCompressor The other changes needed by that feature will be a small adjustment to find-debuginfo.sh (roughly (untested) if type dwz > /dev/null 2>&1; then files="`find "$RPM_BUILD_ROOT"/usr/lib/debug -type f -name \*.debug`" if [ -n "$files" ]; then dwz -m .dwz/$NVRA.debug -l $DWZ_LOW_MEM_DIE_LIMIT -L $DWZ_MAX_DIE_LIMIT $files fi fi ) where DWZ_LOW_MEM_DIE_LIMIT and DWZ_MAX_DIE_LIMIT are parameters passed through from some arch macros that depend on how much memory exists on the build boxes for the arch in question and possible 32-bit host address space limitations. E.g. dwz's default 20000000 for the lower limit and 50000000 limit are hopefully ok for i?86 (won't be able to optimize libxul.so.debug though), for x86_64 could have e.g. the higher limit raised to 120000000, on arm perhaps lowered. NVRA should be the %{name}-%{version}-%{release}.%{arch} of the package.
http://people.redhat.com/jakub/dwz/dwz.spec is old, used .spec from: http://people.redhat.com/jakub/dwz/dwz-0.2-1.fc17.src.rpm dwz.spec:8: W: macro-in-comment %{name} - OK. dwz.spec: W: invalid-url Source0: dwz-0.2.tar.bz2 - Fix: There must be public downloadable URL for it. E: incorrect-fsf-address hashtab.c E: incorrect-fsf-address dwz.c E: incorrect-fsf-address hashtab.h - Fix. W: manual-page-warning dwz.1.gz 83: warning: macro `Nothing' not defined - Fix: -into -.B FILE -\. Nothing is written if +into \fBFILE\fR. Nothing is written if W: manual-page-warning dwz.1.gz 132: warning: macro `If' not defined - Fix: -and in the last file to -.I ../../.dwz/foobar-1.2.debug -\. If e.g. bin/foo.debug and bin/foo2.debug were hardlinked +and in the last file to \fI../../.dwz/foobar-1.2.debug\fR. +If e.g. bin/foo.debug and bin/foo2.debug were hardlinked make in %build - It should use: %{?_smp_mflags} BuildRequires: elfutils-libelf-devel - It should use: %{?_isa} As I expect it will go also for EPEL-5 it will need Buildroot, rm -rf $RPM_BUILD_ROOT and maybe some other things. Not an issue here. BTW it prints: dwz.c: In function 'write_dso': dwz.c:10172:10: warning: ignoring return value of 'fchown', declared with attribute warn_unused_result [-Wunused-result]
(In reply to comment #2) > dwz.spec: W: invalid-url Source0: dwz-0.2.tar.bz2 > - Fix: There must be public downloadable URL for it. I thought it must be there only if instructions aren't given how to generate it from the RCS (the comment right above Source0 line). > E: incorrect-fsf-address hashtab.c > E: incorrect-fsf-address dwz.c > E: incorrect-fsf-address hashtab.h > - Fix. > W: manual-page-warning dwz.1.gz 83: warning: macro `Nothing' not defined > - Fix: > -into > -.B FILE > -\. Nothing is written if > +into \fBFILE\fR. Nothing is written if > W: manual-page-warning dwz.1.gz 132: warning: macro `If' not defined > - Fix: > -and in the last file to > -.I ../../.dwz/foobar-1.2.debug > -\. If e.g. bin/foo.debug and bin/foo2.debug were hardlinked > +and in the last file to \fI../../.dwz/foobar-1.2.debug\fR. > +If e.g. bin/foo.debug and bin/foo2.debug were hardlinked Will fix. Thanks. > make in %build > - It should use: %{?_smp_mflags} Not worth it, but can certainly add it ;) > BuildRequires: elfutils-libelf-devel > - It should use: %{?_isa} > As I expect it will go also for EPEL-5 it will need Buildroot, > rm -rf $RPM_BUILD_ROOT and maybe some other things. Not an issue here. I'll add it so that it can be shared with scl. > BTW it prints: > dwz.c: In function 'write_dso': > dwz.c:10172:10: warning: ignoring return value of 'fchown', declared with > attribute warn_unused_result [-Wunused-result] That ignoring is intentional, guess I can add some hack to shut up the warning.
(In reply to comment #3) > (In reply to comment #2) > > dwz.spec: W: invalid-url Source0: dwz-0.2.tar.bz2 > > - Fix: There must be public downloadable URL for it. > > I thought it must be there only if instructions aren't given how to generate > it from the RCS (the comment right above Source0 line). These decisions are crossing the downstream vs. upstream line: I expected you will offer dwz-0.2.tar.bz2 on some http site for other distros/users. Download from GIT is not so user-accessible IMHO. Moreover when you even give it a version tag. I would understand no Source URL if you just give GIT snapshot (20120424git1e10c293) into %{version}. If there is not going to be dwz-0.2.tar.gz on http anywhere then I am sure fine with the .spec.
New http://people.redhat.com/jakub/dwz/dwz.spec and http://people.redhat.com/jakub/dwz/dwz-0.3-1.fc18.src.rpm now available.
New Package SCM Request ======================= Package Name: dwz Short Description: DWARF optimization and duplicate removal tool Owners: jakub Branches: InitialCC:
Git done (by process-git-requests).