Bug 508954

Summary: Review Request: volume_key - An utility for manipulating storage encryption keys and passphrases
Product: [Fedora] Fedora Reporter: Miloslav Trmač <mitr>
Component: Package ReviewAssignee: Jochen Schmitt <jochen>
Status: CLOSED NEXTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: a.badger, agk, fedora-package-review, jochen, mbroz, notting, tmraz
Target Milestone: ---Flags: jochen: fedora-review+
j: fedora-cvs+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-07-23 23:33:04 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 508960, 510545    

Description Miloslav Trmač 2009-06-30 16:12:07 UTC
Spec URL: http://people.redhat.com/mitr/packaging/volume_key.spec
SRPM URL: http://people.redhat.com/mitr/packaging/volume_key-0.2-1.src.rpm
Description:
This package provides a command-line tool for manipulating storage volume
encryption keys and storing them separately from volumes.

The main goal of the software is to allow restoring access to an encrypted
hard drive if the primary user forgets the passphrase.  The encryption key
back up can also be useful for extracting data after a hardware or software
failure that corrupts the header of the encrypted volume, or to access the
company data after an employee leaves abruptly.


Note: the package builds against a static, patched copy of libcryptsetup.  This is temporary, to make volume_key available in Fedora sooner.  The upstream maintainer has accepted the proposed functionality, and I'll remove the static copy of libcryptsetup as soon as the patch is not necessary.

Comment 1 Jochen Schmitt 2009-06-30 18:54:09 UTC
Question: If you have talk to the Fedora maintainer of libcryptsetup. Because that this is a patch which should included into ghe general version of libcryptsetup, I would suggest, that we should add this patch into the Fedora package of libcryptsetup until this patch will been integrated into the upstream package.

Comment 2 Miloslav Trmač 2009-06-30 19:03:37 UTC
Milan Broz is actually Cc: ed.

I prefer to keep the patch inside volume_key, because it adds new interfaces to the library.  If the Fedora cryptsetup package is patched, other users might mistakenly think these interfaces were accepted upstream, and might release code that "depends on libcryptsetup" that actually compiles only against the Fedora version.

Comment 3 Milan Broz 2009-06-30 19:18:42 UTC
Library extensions are planned to be included in uspstream cryptsetup but not in current 1.0.x stable branch (I expect it in cryptsetup 1.1, but discussion still ongoing).

All library extensions must be checked in upstream first, with proper library version increase.

I think that for the testing there is no problem with local static library, everything written to disk (LUKS header) is still fully compatible with unpatched cryptsetup).

Comment 4 Jochen Schmitt 2009-07-01 16:50:37 UTC
your explaination make sense for me. for formal reason I will notifiy a FESCo member about this situation.

Comment 5 Jochen Schmitt 2009-07-01 17:40:12 UTC
Good:
+ Basename of the SPEC files matches with package name
+ Package name fullfill naming guidelines
+ Package contains several subpackages
+ Package has proper license tag
+ Could download upstream sources via spectool -g
+ Package files matches with upstream
(md5sum: 882ec96bef41962a33a24d6ee5821a29  volume_key-0.2.tar.bz2
         0910632173fb960252412bf7342b42fc  cryptsetup-1.0.7-rc1.tar.bz2)
+ License tag state GPLv2 as a valid OSS license
+ Package contains verbatin copy of the license tag
+ Copyrigh note in the source files matches with license tag
+ Consitantly usage of rpm macors
+ Package has proper BuildRoot definition
+ BuildRoot will be cleaned at the beginning of %clean and %install
+ Mock build works fine agains fedora-devel-x86_64
+ Package nonour rpmootflags
+ Rpmlint is silent for source rpm
+ Scratch build on koji works fine
+ Files has proper files permissions
+ %files stanza contains no dupblicated entries
+ All packaged files belongs to this package
+ No packaged files are own by another package
+ %doc stanza is small
+ package has proper changelog


Bad:
- Application is linked staticly agains a patched release
  of cryptsetup. This is accepted temporarly to avoid un
  official changes of the programming interfaces
- Could not find libblkid-devel as BR
- you mas include the crypsetup patch via a Patch statement
- some warnings from rpmlint on binary packages
  $ rpmlint volume_key-devel-0.2-1.x86_64.rpm 
  volume_key-devel.x86_64: W: no-documentation                     
  1 packages and 0 specfiles checked; 0 errors, 1 warnings.
  [s4504kr@zeus result]$ rpmlint python-volume_key-0.2-1.x86_64.rpm
  python-volume_key.x86_64: W: no-documentation
  1 packages and 0 specfiles checked; 0 errors, 1 warnings.
- Verbatin copy of the license will no included in the %doc stanza
- Please remove the *.la files instead of exclude it in the %files stanza

Comment 6 Miloslav Trmač 2009-07-01 17:53:43 UTC
Thanks for the review.

(In reply to comment #5)
> - Could not find libblkid-devel as BR
Provided by util-linux-ng in rawhide, see e.g. http://koji.fedoraproject.org/koji/buildinfo?buildID=105530

> - you mas include the crypsetup patch via a Patch statement
I do:

| # http://code.google.com/p/cryptsetup/issues/detail?id=15
| Patch0: https://fedorahosted.org/releases/v/o/volume_key/cryptsetup-svn-r62.patch

> - some warnings from rpmlint on binary packages
>   $ rpmlint volume_key-devel-0.2-1.x86_64.rpm 
>   volume_key-devel.x86_64: W: no-documentation                     
>   1 packages and 0 specfiles checked; 0 errors, 1 warnings.
>   [s4504kr@zeus result]$ rpmlint python-volume_key-0.2-1.x86_64.rpm
>   python-volume_key.x86_64: W: no-documentation
>   1 packages and 0 specfiles checked; 0 errors, 1 warnings.
I'm afraid there really is no documentation (well, I have a sample Python program, but not a documentation of the interface).

> - Verbatin copy of the license will no included in the %doc stanza
See the "libs" subpackage - if any subpackage is installed, volume_key-libs will be installed as well.

> - Please remove the *.la files instead of exclude it in the %files stanza  
Why?  Does it make any difference?

Comment 7 Jochen Schmitt 2009-07-01 18:01:21 UTC
(In reply to comment #6)

> > - Please remove the *.la files instead of exclude it in the %files stanza  
> Why?  Does it make any difference?  

Rpm should have a bug which cause a wrong calculation of the required space, if you are excluding files in the %files stanza.

Comment 8 Miloslav Trmač 2009-07-01 18:09:20 UTC
(In reply to comment #7)
> (In reply to comment #6)
> 
> > > - Please remove the *.la files instead of exclude it in the %files stanza  
> > Why?  Does it make any difference?  
> Rpm should have a bug which cause a wrong calculation of the required space, if
> you are excluding files in the %files stanza.  
#247374 indicates this is fixed in Fedora >= 10.

Comment 9 Jochen Schmitt 2009-07-01 20:28:33 UTC
I have create

https://fedorahosted.org/fesco/ticket/175

on the response of the FESCo member.

Comment 10 Jochen Schmitt 2009-07-19 19:02:04 UTC
As far as I have recorgnise we can bundle a temporary version of the crypsetup library until your proposal patches are integrated into the upstream package.

Comment 11 Miloslav Trmač 2009-07-20 15:03:18 UTC
If the rest is OK as well, could you formally approve the review, please?

Comment 12 Jochen Schmitt 2009-07-20 16:26:42 UTC
O; as far as I can see you package is ok and can APPROVED.

Comment 13 Miloslav Trmač 2009-07-21 11:17:08 UTC
New Package CVS Request
=======================
Package Name: volume_key
Short Description: An utility for manipulating storage encryption keys and passphrases
Owners: mitr
Branches: (devel only)
InitialCC:

Comment 14 Jason Tibbitts 2009-07-21 15:25:22 UTC
CVS done.

Comment 15 Miloslav Trmač 2009-07-23 23:33:04 UTC
Built.  Jochen, thanks for the review.