Bug 839712 - packagekit-qt2/packagedetails.h enum shift values too big on i686
Summary: packagekit-qt2/packagedetails.h enum shift values too big on i686
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: PackageKit
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Richard Hughes
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2012-07-12 15:51 UTC by Rex Dieter
Modified: 2012-07-12 17:44 UTC (History)
5 users (show)

Fixed In Version: PackageKit-0.8.1-8
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2012-07-12 17:44:48 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Rex Dieter 2012-07-12 15:51:53 UTC
In file included from /usr/include/PackageKit/packagekit-qt2/transaction.h:29:0,
                 from /usr/include/PackageKit/packagekit-qt2/Transaction:1,
                 from /builddir/build/BUILD/apper-0.8.0/libapper/PkIcons.h:27,
                 from /builddir/build/BUILD/apper-0.8.0/libapper/PkIcons.cpp:25:
/usr/include/PackageKit/packagekit-qt2/packagedetails.h:97:39: warning: left shift count >= width of type [enabled by default]
/usr/include/PackageKit/packagekit-qt2/packagedetails.h:98:39: warning: left shift count >= width of type [enabled by default]
/usr/include/PackageKit/packagekit-qt2/packagedetails.h:99:39: warning: left shift count >= width of type [enabled by default]
...
/builddir/build/BUILD/apper-0.8.0/libapper/PkIcons.cpp: In static member function 'static KIcon PkIcons::groupsIcon(PackageKit::PackageDetails::Group)':
/builddir/build/BUILD/apper-0.8.0/libapper/PkIcons.cpp:259:5: error: duplicate case value
/builddir/build/BUILD/apper-0.8.0/libapper/PkIcons.cpp:245:5: error: previously used here
/builddir/build/BUILD/apper-0.8.0/libapper/PkIcons.cpp:260:5: error: duplicate case value
/builddir/build/BUILD/apper-0.8.0/libapper/PkIcons.cpp:245:5: error: previously used here

The code in /usr/incluee/PackageKit/packagekit-qt2/packagedetails.h is the tail end of an enum:

...

        GroupElectronics     = 1UL << 31,
        GroupCollections     = 1UL << 32,
        GroupVendor          = 1UL << 33,
        GroupNewest          = 1UL << 34
    };
    typedef qulonglong Groups;

and the failure seems to only occur on i686 (makes sense, where unsigned long is only 32 bits).  I strongly suspect, especially given the qulonglong statement there, that the fix here is s/1UL/1ULL/

(testing out my theory now)


I suspect

Comment 1 Rex Dieter 2012-07-12 17:44:48 UTC
%changelog
* Thu Jul 12 2012 Rex Dieter <rdieter> - 0.8.1-8
- fix UL vs ULL type mismatch in qt bindings (#839712)
- tighten subpkg deps with %%_isa

fixes the immediate FTBFS issue (dantti committed this fix upstream too), will have to re-test i686 runtime to make sure everything still works as expected.


Note You need to log in before you can comment on or make changes to this bug.