Bug 463140 - Review Request: dfu-util - USB Device Firmware Update tool
Review Request: dfu-util - USB Device Firmware Update tool
Status: CLOSED NEXTRELEASE
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
rawhide
All Linux
medium Severity medium
: ---
: ---
Assigned To: Jaroslav Reznik
Fedora Extras Quality Assurance
http://wiki.openmoko.org/wiki/Dfu-util
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2008-09-22 04:09 EDT by Juha Tuomala
Modified: 2013-06-07 14:15 EDT (History)
6 users (show)

See Also:
Fixed In Version: 0.1-0.8.20090307svn4917.fc10
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2009-04-02 13:10:22 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
jreznik: fedora‑review+
limburgher: fedora‑cvs+


Attachments (Terms of Use)
simple patch for spec file keep timestamp of man page (606 bytes, patch)
2008-10-19 08:35 EDT, Patrice Dumas
no flags Details | Diff

  None (edit)
Description Juha Tuomala 2008-09-22 04:09:56 EDT
Spec URL: http://tuju.fi/tmp/fedora/dfu-util/dfu-util.spec
SRPM URL: http://tuju.fi/tmp/fedora/dfu-util/dfu-util-0.0svn4160-1.fc9.src.rpm

Description: 
USB Device Firmware Upgrade (DFU) is an official USB device class specification
of the USB Implementers Forum. It specifies a vendor and device independent way
of updating the firmware of a USB device. The idea is to have only one
vendor-independent firmware update tool as part of the operating system, which
can then (given a particular firmware image) be downloaded into the device.

In addition to firmware download, it also specifies firmware upload, i.e. loading the currently installed device firmware to the USB Host.

More information can be found from 

http://wiki.openmoko.org/wiki/Dfu-util

This is my first package and I'm looking for sponsor.
Comment 1 Juha Tuomala 2008-09-22 04:36:07 EDT
Note that there is bug #211761 in review pipeline, but it has different upstream http://dfu-programmer.sourceforge.net/ and looks like they are different beasts. dfu-util is used in openmoko project.
Comment 2 Jaroslav Reznik 2008-09-22 06:16:54 EDT
First quick look:
- version mismatch
  * dfu-utils -V says dfu-util version 0.1+svnexported, newer SVN sets revision instead exported
- Summary: ended with dot, see rpmlint
- licence problem
  * dfu-util is GPLv2+
  * dfu-backup is GPLv3
  * SPEC file states GPLv2
  * split package? use GPLv3? I don't know...
- URL: I think better is http://wiki.openmoko.org/wiki/Dfu-util (the SPEC's one is more generic, this one is for dfu-util program).
- Source0: it's from SVN? so you should add comment how to obtain source codes... and better - ask upstream for proper release of 0.1 version
- Source1: missing URL, where can I download it? and again, splitting packages should be option?
- Requires: libusb is unneeded?
- Description: "In addition to firmware..." line is too long, see rpmlint
Comment 3 Juha Tuomala 2008-09-22 09:17:45 EDT
Btw, this package compiles just okay on x86_64, but is reported *not* to work properly and thus i386 arch binary should be used on x86_64 too as long that is solved. I'm not yet familar how it's done, probably with bodhi.
Comment 4 Juha Tuomala 2008-09-22 09:20:53 EDT
http://tuju.fi/tmp/fedora/dfu-util/dfu-util-0.1-0.1.20080922svn4662.fc9.src.rpm
http://tuju.fi/tmp/fedora/dfu-util/dfu-util.spec

% rpmlint /home/tuju/PKGS/SRPMS/dfu-util-0.1-0.1.20080922svn4662.fc9.src.rpm
1 packages and 0 specfiles checked; 0 errors, 0 warnings.

- Version fixed.
- Summary dot removed.
- license fixed by dropping the dfu-backup.
- url fixed.
- Source0 fixed.
- Source1 removed.
- Description reshaped.
Comment 5 Juha Tuomala 2008-09-22 09:25:14 EDT
Comment #2:
> - Requires: libusb is unneeded?

# rpm -q --requires  dfu-util
libc.so.6
libc.so.6(GLIBC_2.0)
libc.so.6(GLIBC_2.3.4)
libc.so.6(GLIBC_2.4)
libusb
libusb-0.1.so.4
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rtld(GNU_HASH)

Yes, it's needed. Is there a problem with it? You mean it would do 
it with brp-requires automatically?
Comment 6 Jaroslav Reznik 2008-09-22 09:49:18 EDT
- I don't know how to solve x86_64 issues... You have to use ExcludeArch for not supported architectures.
- Version should be GPLv2+
- Update Changelog release note
- It's not building in mock/koji
Comment 8 Juha Tuomala 2008-09-23 11:36:07 EDT
kernel
Opening USB Device 0x1d50:0x5119...
Claiming USB DFU Runtime Interface...
Determining device status: state = appIDLE, status = 0
Device really in Runtime Mode, send DFU detach request...
Resetting USB...
Opening USB Device...
Found Runtime: [0x1d50:0x5119] devnum=40, cfg=0, intf=0, alt=3, name="kernel"
Claiming USB DFU Interface...
Setting Alternate Setting ...
Determining device status: state = dfuIDLE, status = 0
dfuIDLE, continuing
Transfer Size = 0x1000
bytes_per_hash=39279
Starting download: [##################################################] finished!
state(2) = dfuIDLE, status(0) = No error condition is present
Done!
Resetting USB to switch back to runtime mode

testing, it works fine.
...
Transfer Size = 0x1000
bytes_per_hash=1069547
Starting download: [##################################################] finished!
state(2) = dfuIDLE, status(0) = No error condition is present
Done!
Resetting USB to switch back to runtime mode

that was rootfs. after boot attempt, the kernel wont start either.

$ arch;rpm -q dfu-util
x86_64
dfu-util-0.1-0.5.20080922svn4662.fc9.i386
Comment 9 Juha Tuomala 2008-09-23 12:34:10 EDT
okay, at least on 32bit fedora9 it works if:
- write kernel
- write rootfs
- switch off + unplug USB cable
- boot

booting straight from uboot does not work after rootfs download.
Comment 10 Juha Tuomala 2008-09-23 12:42:53 EDT
Also note that for some reason I need to boot through the u-boot menu using AUX button before powering up the device.
Comment 11 Jaroslav Reznik 2008-10-04 10:12:16 EDT
Package Review                       
==============                       

Key:
 - = N/A
 x = Check
 ! = Problem
 ? = Not evaluated

=== REQUIRED ITEMS ===
 [x] Package is named according to the Package Naming Guidelines.
 [x] Spec file name must match the base package %{name}, in the format %{name}.spec.
 [x] Package meets the Packaging Guidelines.                                        
 [x] Package successfully compiles and builds into binary rpms on at least one supported architecture.                                                             
     Tested on: FC-9 / i386                                                         
 [x] Rpmlint output: clean                                                          
 [x] Package is not relocatable.                                                    
 [x] Buildroot is correct                                                           
 [x] Package is licensed with an open-source compatible license and meets other     
legal requirements as defined in the legal section of Packaging Guidelines.         
 [x] License field in the package spec file matches the actual license.             
     License type: GPLv2+                                                           
 [x] If (and only if) the source package includes the text of the license(s) in     
its own file, then that file, containing the text of the license(s) for the         
package is included in %doc.                                                        
 [x] Spec file is legible and written in American English.                          
 [x] Sources used to build the package matches the upstream source, as provided     
in the spec URL.                                                                    
     Sources from SVN, commented properly in SPEC file. Diff againts sources in     
     SRPM and sources download is OK.                                               
 [x] Package is not known to require ExcludeArch, OR:                               
     Arches excluded: x86_64, ppc64, sparc64                                        
     Why: upstream is broken for 64 bit architectures                               
     After approval fill bugs blocking FE-ExcludeArch-x64, FE-ExcludeArch-ppc64     
 [x] All build dependencies are listed in BuildRequires, except for any that are
listed in the exceptions section of Packaging Guidelines.
 [-] The spec file handles locales properly.
 [-] ldconfig called in %post and %postun if required.
 [-] Package must own all directories that it creates.
 [-] Package requires other packages for directories it uses.
 [x] Package does not contain duplicates in %files.
 [x] Permissions on files are set properly.
 [x] Package has a %clean section, which contains rm -rf %{buildroot} (or
$RPM_BUILD_ROOT).
 [x] Package consistently uses macros.
 [x] Package contains code, or permissable content.
 [-] Large documentation files are in a -doc subpackage, if required.
 [x] Package uses nothing in %doc for runtime.
 [-] Header files in -devel subpackage, if present.
 [-] Static libraries in -devel subpackage, if present.
 [-] Package requires pkgconfig, if .pc files are present.
 [-] Development .so files in -devel subpackage, if present.
 [x] Package does not contain any libtool archives (.la).
 [-] Package contains a properly installed %{name}.desktop file if it is a GUI
application.
 [x] Package does not own files or directories owned by other packages.

=== SUGGESTED ITEMS ===
 [x] Latest version is packaged.
 [x] Package does not include license text files separate from upstream.
 [-] Description and summary sections in the package spec file contains
translations for supported Non-English languages, if available.
 [x] Reviewer should test that the package builds in mock.
     Tested on: koji dist-fc8 dist-fc9 dist-fc10
 [x] Package should compile and build into binary rpms on all supported
architectures.
     Tested on: koji dist-fc8 dist-fc9 dist-fc10
 [x] Package functions as described.
 [-] Scriptlets must be sane, if used.
 [-] The placement of pkgconfig(.pc) files are correct.
 [-] File based requires are sane.

APROVED
Comment 12 Patrice Dumas 2008-10-19 08:35:38 EDT
Created attachment 320799 [details]
simple patch for spec file keep timestamp of man page
Comment 13 Patrice Dumas 2008-10-19 08:39:17 EDT
Juha have you done any other work in fedora (comment on reviews, other submissions, and anything else)
Comment 14 Peter Lemenkov 2008-11-16 16:31:51 EST
Ping.
Juha, you should move further (I mean, create cvs request, import into Fedora cvs, build, etc).
Comment 15 Juha Tuomala 2008-11-19 09:12:16 EST
Pong. I'm active again.
Comment 16 Jaroslav Reznik 2008-11-19 09:24:04 EST
fedora-cvs ? flag is not enough, you should to follow PackageMaintainers/CVSAdminProcedure!
Comment 17 Juha Tuomala 2008-11-19 09:30:08 EST
New Package CVS Request
=======================
Package Name: dfu-util
Short Description: USB Device Firmware Upgrade tool
Owners: tuju jreznik  
Branches: F-9 F-10
InitialCC: tuju
Comment 18 Kevin Fenzi 2008-11-22 23:16:11 EST
cvs done.
Comment 19 Fedora Update System 2009-03-13 10:39:33 EDT
dfu-util-0.1-0.8.20090307svn4917.fc10 has been submitted as an update for Fedora 10.
http://admin.fedoraproject.org/updates/dfu-util-0.1-0.8.20090307svn4917.fc10
Comment 20 Fedora Update System 2009-03-16 15:36:37 EDT
dfu-util-0.1-0.8.20090307svn4917.fc10 has been pushed to the Fedora 10 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update dfu-util'.  You can provide feedback for this update here: http://admin.fedoraproject.org/updates/F10/FEDORA-2009-2693
Comment 21 Fedora Update System 2009-04-02 13:10:15 EDT
dfu-util-0.1-0.8.20090307svn4917.fc10 has been pushed to the Fedora 10 stable repository.  If problems still persist, please make note of it in this bug report.
Comment 22 Eric Smith 2013-06-07 14:07:48 EDT
Package Change Request
======================
Package Name: dfu-util
New Branches: el6
Owners: tuju jreznik brouhaha
Comment 23 Gwyn Ciesla 2013-06-07 14:15:05 EDT
Git done (by process-git-requests).

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