Bug 734531 (unison240) - Review Request: unison240 - File synchronisation tool
Summary: Review Request: unison240 - File synchronisation tool
Keywords:
Status: CLOSED ERRATA
Alias: unison240
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Brendan Jones
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: 637345
TreeView+ depends on / blocked
 
Reported: 2011-08-30 17:20 UTC by Gregor Tätzner
Modified: 2013-07-03 12:54 UTC (History)
12 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2012-02-17 18:39:51 UTC
Type: ---
Embargoed:
brendan.jones.it: fedora-review+
gwync: fedora-cvs+


Attachments (Terms of Use)

Description Gregor Tätzner 2011-08-30 17:20:47 UTC
Spec URL: http://dl.dropbox.com/u/4023668/unison240.spec
SRPM URL: http://dl.dropbox.com/u/4023668/unison240-2.40.63-1.fc15.src.rpm
Description: Unison is a multi-master file-synchronization tool. It allows two
replicas of a collection of files and directories to be stored on
different hosts (or different locations on the same host), modified
separately, and then brought up to date by propagating the changes
in each replica to the other.

The unison package seems to be unmaintained (3 years since the last upgrade). This is my first package. I used the old spec and upgraded it too the recent stable version of unison. I may need a sponsor. unison240 fixes Bug 698833 (amongst others)

Comment 1 Volker Fröhlich 2011-08-30 22:48:49 UTC
Did you try to contact the maintainers? You can find them via the package database: https://admin.fedoraproject.org/pkgdb

Some comments:

- Use the name macro

- License is GPLv3+ (it seems)

- Run rpmlint on all your packages:
 unison240-debuginfo.x86_64: E: debuginfo-without-sources

- desktop-file-validate usr/share/applications/fedora-unison-2.40.desktop
usr/share/applications/fedora-unison-2.40.desktop: warning: key "Encoding" in group "Desktop Entry" is deprecated
usr/share/applications/fedora-unison-2.40.desktop: warning: value "Utility;Application;" for key "Categories" in group "Desktop Entry" contains a deprecated value "Application"

  Also use the icon in the desktop file.

- Compiler flags are not honored

- Try to solve file permissions before the files section

- Use -p with install and cp commands; don't use -f with cp though

- cat-ing the desktop file can go to the prep section. You could also have a file instead and use sed to place ver_compat.

- Since you require ocaml 3.12 or above, you won't take this package to EPEL5. You can therefore drop the clean section, the buildroot rm in the install section and the buildroot definition.

In order to find a sponsor, you should also take part in other reviews.

Comment 2 Gregor Tätzner 2011-08-31 17:06:48 UTC
SRPM: http://dl.dropbox.com/u/4023668/unison240-2.40.63-1.fc15.src.rpm

thanks for the quick response. contacted the fedora ocaml guy - rjones. He said unison is hard to package :-)

(In reply to comment #1)
> Did you try to contact the maintainers? You can find them via the package
> database: https://admin.fedoraproject.org/pkgdb
> 
> Some comments:
> 
> - Use the name macro
> 
I think I'm doing it where it's possible.

> - Run rpmlint on all your packages:
>  unison240-debuginfo.x86_64: E: debuginfo-without-sources
> 
I don't understand this
rpmlint unison240-debuginfo-2.40.63-1.fc15.x86_64.rpm
1 packages and 0 specfiles checked; 0 errors, 0 warnings.

> 
>   Also use the icon in the desktop file.
> 
it is used, isn't it!?

> - Compiler flags are not honored
> 
uhh...how is this with ocmal compiler possible? %{optflags} gives me bad errors

> 
> - Since you require ocaml 3.12 or above, you won't take this package to EPEL5.
> You can therefore drop the clean section, the buildroot rm in the install
> section and the buildroot definition.
> 
Ok, lowered to version 3.11.2 but still not compatible.

> In order to find a sponsor, you should also take part in other reviews.
good idea

Comment 3 Volker Fröhlich 2011-08-31 20:38:01 UTC
Please always post a link to both -- SRPM and Spec file.

Use a new release number when you publish a new version of your package and create a changelog entry. The changelog is for changes in packaging.

Ah, yes, the icon entry is there, sorry!

Concerning the name macro, you're right as well. I didn't notice the difference in ver_compat_name and ver_compat. By the way: %define should be %global: http://fedoraproject.org/wiki/Packaging:Guidelines#.25global_preferred_over_.25define

My rebuild of your current version still has the debuginfo error on F15: http://www.geofrogger.net/review/unison240-debuginfo-2.40.63-1.fc15.x86_64.rpm

Comment 4 Gregor Tätzner 2011-09-04 11:00:59 UTC
little update
SPEC: http://dl.dropbox.com/u/4023668/unison240.spec
SRPM: http://dl.dropbox.com/u/4023668/unison240-2.40.63-2.fc15.src.rpm

why I have to post both the SPEC and SRPM? 

really have no idea how to pass the rpm optflags. make CFLAGS="$RPM_OPT_FLAGS" doesnt't work:
"/usr/bin/ocamlopt: unknown option `-O2'." ...

Comment 5 Gregor Tätzner 2011-09-04 11:02:42 UTC
and there is also no ./configure script in unison

Comment 6 Mat 2011-09-05 09:46:14 UTC
Have you looked at the spec file posted here:
https://bugzilla.redhat.com/show_bug.cgi?id=698833

Probably you have, but I'm mentioning this just in case you overlooked it. I'm not an expert on packaging, but apparently with this file it was possible to create an unison rpm. See 
http://forums.fedoraforum.org/showthread.php?t=264197

Comment 7 Gregor Tätzner 2011-09-05 10:39:43 UTC
thanks for posting. But my unison rpm is working (I'm using it for myself). The question is how to pass the optflags and why some rebuilds got still debuginfo errors.

This report is about ocaml optflags, but it doesn't apply here
https://bugzilla.redhat.com/show_bug.cgi?id=438025

Comment 8 Gregor Tätzner 2011-09-07 12:30:50 UTC
Today I learned how to build packages on koji:
http://koji.fedoraproject.org/koji/taskinfo?taskID=3332045

Interestingly, the koji-unison-debuginfo gives also no errors:
rpmlint unison240-debuginfo-2.40.63-2.fc15.x86_64.rpm 
1 packages and 0 specfiles checked; 0 errors, 0 warnings.

Comment 9 Fedora Update System 2011-09-26 09:08:59 UTC
semantik-0.7.3-2.fc15 has been submitted as an update for Fedora 15.
https://admin.fedoraproject.org/updates/semantik-0.7.3-2.fc15

Comment 10 Gregor Tätzner 2011-09-26 10:01:48 UTC
whoops little c&p mistake, sry

Comment 11 Susi Lehtola 2011-09-27 16:17:21 UTC
Using --vendor fedora has been obsolete for many years. Please remove it.

Since IIRC Unison is not upwards or backwards compatible, I'm thinking that this package should be unison240.

Comment 12 Richard Shaw 2011-09-27 17:46:21 UTC
(In reply to comment #4)
> little update
> SPEC: http://dl.dropbox.com/u/4023668/unison240.spec
> SRPM: http://dl.dropbox.com/u/4023668/unison240-2.40.63-2.fc15.src.rpm
> 
> why I have to post both the SPEC and SRPM?

This makes it easier to check out the spec file without having to download the whole SRPM.


> really have no idea how to pass the rpm optflags. make CFLAGS="$RPM_OPT_FLAGS"
> doesnt't work:
> "/usr/bin/ocamlopt: unknown option `-O2'." ...

Crazy idea here... Maybe you set CFLAGS to $RPM_OPT_FLAGS but use sed to remove the minimum number of options that makes ocamlopt happy...

The question I have is: Is this package required to use the standard compiler flags?

The guidelines[1] say:

"For C, C++, and Fortran code, the %{optflags} macro contains these flags."

I'm not familier with ocmal... Is it considered a standard C,C++, etc. compiler?

Richard

[1] http://fedoraproject.org/wiki/Packaging:Guidelines#Compiler_flags

Comment 13 Gregor Tätzner 2011-09-27 18:02:54 UTC
SPEC: http://brummbq.fedorapeople.org/unison240.spec
SRPM: http://brummbq.fedorapeople.org/unison240-2.40.63-3.fc15.src.rpm

(In reply to comment #11)
> Using --vendor fedora has been obsolete for many years. Please remove it.
Thanks, fixed.

> Since IIRC Unison is not upwards or backwards compatible, I'm thinking that
> this package should be unison240.
This isn't exactly what I'm doing?

Comment 14 Susi Lehtola 2011-09-27 18:07:16 UTC
Okay, the title of the review request was just wrong. Fixed.

Comment 15 Gregor Tätzner 2011-09-27 18:56:08 UTC
(In reply to comment #12)
> (In reply to comment #4)
> > really have no idea how to pass the rpm optflags. make CFLAGS="$RPM_OPT_FLAGS"
> > doesnt't work:
> > "/usr/bin/ocamlopt: unknown option `-O2'." ...
> 
> Crazy idea here... Maybe you set CFLAGS to $RPM_OPT_FLAGS but use sed to remove
> the minimum number of options that makes ocamlopt happy...
No good idea, not a single option is compatible.

> The question I have is: Is this package required to use the standard compiler
> flags?
I don't think so

Comment 16 Gregor Tätzner 2011-10-06 10:49:58 UTC
hey dudes,

Until we get unison240 into fedora updates I set up a Open Build Service Repo containing unison240 for F14 and F15.

https://build.opensuse.org/package/show?package=unison240&project=home%3ABrummbQ

Comment 17 Brendan Jones 2012-01-06 12:09:11 UTC
I will review this package

Comment 18 Brendan Jones 2012-01-12 06:43:38 UTC
The %optflags mentioned above are not required.

This is looking pretty good Gregor, but can you check here: 
http://fedoraproject.org/wiki/Packaging:OCaml#Requires_and_provides
I believe this macro is newer than the previous version of unison and probably should be included. Please include before updating

This package is APPROVED


Required
========
+ - OK
- - N/A
X - attention
? - comment please

[+] named according to the Package Naming Guidelines 
[+] The spec file name must match the base package %{name}, in the format
%{name}.spec 
[+] Meet the Packaging Guidelines
[+] Be licensed with a Fedora approved license and meet the Licensing
Guidelines 
[+] The License field in the package spec file must match the actual license 
[+] License file must be included in %doc
[+] The spec file must be written in American English
[+] The spec file for the package MUST be legible
[+] The sources used to build the package must match the upstream source

[+] Successfully compile and build into binary rpms on at least one primary
architecture
[+] Proper use of ExcludeArch 
[+] All build dependencies must be listed in BuildRequires
[+] The spec file MUST handle locales properly
[+] Shared library files (not just symlinks) in any of the dynamic linker's
default paths, must call ldconfig in %post and %postun
[+] Packages must NOT bundle copies of system libraries
[+] If the package is designed to be relocatable, the packager must state this
fact in the request for review, along with the rationalization for relocation
of that specific package
[+] A package must own all directories that it creates
directories under this
[+] A Fedora package must not list a file more than once in the spec file's
%files listings
[+] Permissions on files must be set properly.
[+] Each package must consistently use macros
[+] The package must contain code, or permissable content
[-] Large documentation files must go in a -doc subpackage
[+] If a package includes something as %doc, it must not affect the runtime of
the application
[-] Header files must be in a -devel package
[-] Static libraries must be in a -static package
[-] library files that end in .so (without suffix) must go in a -devel package
You have separated the *_debug.so files out into a separate package?
[-] devel packages must require the base package using a fully versioned
dependency
[+] Packages must NOT contain any .la libtool archives
[+] GUI apps must include a %{name}.desktop file, properly installed with
desktop-file-install in the %install section 
[+] Packages must not own files or directories already owned by other packages
[+] All filenames in rpm packages must be valid UTF-8

[+] Packaged according to Fedora OCAML packaging guidelines

Should Items
============
[-] the packager SHOULD query upstream for any missing license text files to
include it
[-] Non-English language support for description and summary sections in the
package spec if available

[+] The reviewer should test that the package builds in mock
[-] The package should compile and build into binary rpms on all supported
architectures
[+] The reviewer should test that the package functions as described
[+] If scriptlets are used, those scriptlets must be sane
[-] Usually, subpackages other than devel should require the base package using
a fully versioned dependency

[-] The placement of pkgconfig(.pc) should usually be placed in a -devel pkg
[-] If the package has file dependencies outside of /etc, /bin, /sbin,
/usr/bin, or /usr/sbin consider requiring the package which provides the file
instead of the file itself
[-] Should contain man pages for binaries/scripts

Comment 19 Gregor Tätzner 2012-01-13 17:29:19 UTC
Great! Thank you, Brendan. When you have to review something ping me and I will help you out.

Comment 20 Gregor Tätzner 2012-01-13 17:31:55 UTC
New Package SCM Request
=======================
Package Name: unison240
Short Description: Multi-master File synchronization tool
Owners: BrummbQ
Branches: f15 f16
InitialCC:

Comment 21 Gwyn Ciesla 2012-01-13 17:40:05 UTC
BrummbQ is not a valid FAS account.

Comment 22 Gregor Tätzner 2012-01-13 19:28:05 UTC
New Package SCM Request
=======================
Package Name: unison240
Short Description: Multi-master File synchronization tool
Owners: brummbq
Branches: f15 f16
InitialCC:

Comment 23 Gwyn Ciesla 2012-01-13 20:07:33 UTC
Git done (by process-git-requests).

Comment 24 Brendan Jones 2012-01-14 08:02:19 UTC
Thanks Greg, tiny one here for you: https://bugzilla.redhat.com/show_bug.cgi?id=781685

Comment 25 Gregor Tätzner 2012-02-17 18:39:51 UTC
pushed to stable

Comment 26 Richard W.M. Jones 2013-07-03 08:59:23 UTC
Package Change Request
======================
Package Name: unison240
New Branches: el6
Owners: rjones

Comment 27 Gwyn Ciesla 2013-07-03 12:54:18 UTC
Git done (by process-git-requests).


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