Bug 787193 - Review Request: vala-compat - compatibility version of the Vala compiler
Summary: Review Request: vala-compat - compatibility version of the Vala compiler
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Ralph Bean
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2012-02-03 13:25 UTC by Michel Lind
Modified: 2015-05-25 17:32 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2012-05-29 10:22:52 UTC
Type: ---
Embargoed:
rbean: fedora-review+
gwync: fedora-cvs+


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Bugzilla 1224785 0 high CLOSED rebuild for vala 0.28 (currently only vala 0.26 is supported) 2021-02-22 00:41:40 UTC

Internal Links: 1224785

Description Michel Lind 2012-02-03 13:25:23 UTC
Spec URL: http://salimma.fedorapeople.org/specs/gnome/vala0.14.spec
SRPM URL: http://salimma.fedorapeople.org/specs/gnome/vala0.14-0.14.1-1.fc16.src.rpm
Description:
As of 0.15.1-2.fc17, our Vala package is now parallel-installable. This package is meant for F17 and above and can be used to compile applications that are only compatible with API level <= 0.14

To test on Fedora 16:
vala0.14 scratch build:
http://koji.fedoraproject.org/koji/taskinfo?taskID=3759190

vala-0.15.1-2 scratch build (rebuild of Rawhide version):
http://koji.fedoraproject.org/koji/taskinfo?taskID=3759197

Comment 1 Michel Lind 2012-02-03 13:30:13 UTC
Any idea if we are allowed to simply name the compatibility package 'compat-vala' and so we can just use that single package to target different "older" version for different Fedora release?

That would save having to create a review request every release since we normally bump Vala's API version once per release (and Vala normally supports exactly one older API version concurrent with the current one).

Comment 2 Ralph Bean 2012-05-04 17:12:15 UTC
I don't think compat packages are required to have a version marker in the name, so just "vala-compat" should work, but I haven't been able to find an authoritative section in the package guidelines.

For instance, alongside python-sqlalchemy you can install python-sqlalchemy0.5 and alongside expat you can install compat-expat1.  On the other hand, libwbxml has the sister package libwbxml-compat (with no explicit version in the package name).

Before I start a full-on review, the following things will need to be taken care of.  Are you planning on supporting a branch of this package for EPEL5?

Issues:
[!]: MUST Package has no %clean section with rm -rf %{buildroot} (or
     $RPM_BUILD_ROOT)
     Note: Clean is needed only if supporting EPEL
See: http://fedoraproject.org/wiki/Packaging/Guidelines#.25clean
[!]: MUST Each %files section contains %defattr if rpm < 4.4
     Note: defattr(....) present in %files devel section. This is OK if
     packaging for EPEL5. Otherwise not needed
See: http://fedoraproject.org/wiki/Packaging/Guidelines#FilePermissions
[!]: MUST Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
     Note: rm -rf is only needed if supporting EPEL5
See: None
[!]: MUST Package requires pkgconfig, if .pc files are present. (EPEL5)
     Note: Only applicable for EL-5
See: http://fedoraproject.org/wiki/EPEL/GuidelinesAndPolicies#EL5



The following rpmlint errors need to be taken care of as well:

rpmlint vala0.14-tools-0.14.1-1.fc18.i686.rpm

vala0.14-tools.i686: E: explicit-lib-dependency libtool
vala0.14-tools.i686: W: spelling-error %description -l en_US Vala -> Val, Vela, Vila
vala0.14-tools.i686: W: spelling-error %description -l en_US runtime -> run time, run-time, rudiment
vala0.14-tools.i686: W: non-executable-in-bin /usr/bin/vapicheck 0644L
vala0.14-tools.i686: W: non-executable-in-bin /usr/bin/vala-gen-introspect 0644L
vala0.14-tools.i686: W: non-executable-in-bin /usr/bin/vapigen 0644L
vala0.14-tools.i686: W: no-manual-page-for-binary vapicheck-0.14
1 packages and 0 specfiles checked; 1 errors, 6 warnings.

rpmlint vala0.14-0.14.1-1.fc18.i686.rpm

vala0.14.i686: W: non-executable-in-bin /usr/bin/valac 0644L
vala0.14.i686: W: non-executable-in-bin /usr/bin/vala 0644L
vala0.14.i686: W: install-file-in-docs /usr/share/doc/vala0.14-0.14.1/INSTALL
1 packages and 0 specfiles checked; 0 errors, 7 warnings.

See: http://fedoraproject.org/wiki/Packaging/Guidelines#rpmlint

Comment 3 Michel Lind 2012-05-05 03:27:48 UTC
Yes, the package posted is currently a bit outdated, I'll post a version based on the latest Vala package soon (the alternatives scriptlets are not correct as well).

Won't support EL-5 (or EL-6) as vala there is really, really outdated anyway.

Comment 4 Michel Lind 2012-05-05 04:45:05 UTC
(In reply to comment #2)
> I don't think compat packages are required to have a version marker in the
> name, so just "vala-compat" should work, but I haven't been able to find an
> authoritative section in the package guidelines.
> 
> For instance, alongside python-sqlalchemy you can install python-sqlalchemy0.5
> and alongside expat you can install compat-expat1.  On the other hand, libwbxml
> has the sister package libwbxml-compat (with no explicit version in the package
> name).

Thanks; I'm using vala-compat now
> 
> Before I start a full-on review, the following things will need to be taken
> care of.  Are you planning on supporting a branch of this package for EPEL5?
> 
> Issues:
> [!]: MUST Package has no %clean section with rm -rf %{buildroot} (or
>      $RPM_BUILD_ROOT)
>      Note: Clean is needed only if supporting EPEL
> See: http://fedoraproject.org/wiki/Packaging/Guidelines#.25clean
> [!]: MUST Each %files section contains %defattr if rpm < 4.4
>      Note: defattr(....) present in %files devel section. This is OK if
>      packaging for EPEL5. Otherwise not needed
> See: http://fedoraproject.org/wiki/Packaging/Guidelines#FilePermissions
> [!]: MUST Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
>      beginning of %install.
>      Note: rm -rf is only needed if supporting EPEL5
> See: None
> [!]: MUST Package requires pkgconfig, if .pc files are present. (EPEL5)
>      Note: Only applicable for EL-5
> See: http://fedoraproject.org/wiki/EPEL/GuidelinesAndPolicies#EL5
> 
All those removed. I was entertaining the possibility of people rebuilding vala for use with RHEL, but to think about it, the GNOME bindings are probably not going to work with the older GNOME versions there.

> 
> 
> The following rpmlint errors need to be taken care of as well:
> 
> rpmlint vala0.14-tools-0.14.1-1.fc18.i686.rpm
> 
> vala0.14-tools.i686: E: explicit-lib-dependency libtool
libtool is not actually a library, so this is a false positive -- the dependency does not get picked up automatically

[rpmlint spelling warnings ignored]

> vala0.14-tools.i686: W: non-executable-in-bin /usr/bin/vapicheck 0644L
> vala0.14-tools.i686: W: non-executable-in-bin /usr/bin/vala-gen-introspect
> 0644L
> vala0.14-tools.i686: W: non-executable-in-bin /usr/bin/vapigen 0644L

> vala0.14.i686: W: non-executable-in-bin /usr/bin/valac 0644L
> vala0.14.i686: W: non-executable-in-bin /usr/bin/vala 0644L

These are actually symlinks managed by alternatives:
  http://fedoraproject.org/wiki/Packaging:Alternatives

> vala0.14.i686: W: install-file-in-docs /usr/share/doc/vala0.14-0.14.1/INSTALL
> 1 packages and 0 specfiles checked; 0 errors, 7 warnings.
> 
Removed, thanks

Latest Koji build here (I'm now targeting 0.16 for Rawhide; will rebase it to 0.14 for F-17 which ships with Vala 0.16)

  http://koji.fedoraproject.org/koji/taskinfo?taskID=4055397

(I've not removed the INSTALL file from there, but it's fixed in the spec and SRPM below)

http://salimma.fedorapeople.org/specs/gnome/vala-compat-0.16.0-1.fc17.src.rpm
http://salimma.fedorapeople.org/specs/gnome/vala-compat.spec

Comment 5 Ralph Bean 2012-05-08 20:43:48 UTC
#1) Can you change the ticket name to vala-compat so it's consistent with the package?

#2) I noticed that the "find -L /etc/alternatives/...." lines in %posttrans are noisy when they are run in the absence of other installations of vala; if /etc/alternatives/vala does not exist, it prints out noisily to stderr when you install vala-compat.  You should replace those find -L lines with "if [ -L /etc/alternatives/some_file ]; then" or another solution of your choice.

Barring those two items, I can complete the full review.

Comment 6 Ralph Bean 2012-05-08 20:45:41 UTC
Oh, and I almost missed it.  There's an easy-to-fix rpmlint error in vala-compat-devel that needs fixing as well:

vala-compat-devel.i686: E: description-line-too-long C This package contains development files for vala-compat. This is not necessary for

Comment 7 Michel Lind 2012-05-10 04:53:52 UTC
All requested changes made. Thanks for the tip re: the scriptlets -- didn't realize [ ] takes -L as well.

http://salimma.fedorapeople.org/specs/gnome/vala-compat-0.16.0-2.fc17.src.rpm
http://salimma.fedorapeople.org/specs/gnome/vala-compat.spec

Comment 8 Ralph Bean 2012-05-10 18:04:30 UTC
Package is APPROVED


Package Review
==============

Key:
- = N/A
x = Pass
! = Fail
? = Not evaluated



==== C/C++ ====
[x]: MUST Header files in -devel subpackage, if present.
[x]: MUST Package does not contain any libtool archives (.la)
[x]: MUST Package does not contain kernel modules.
[x]: MUST Package contains no static executables.
[x]: MUST Rpath absent or only used for internal libs.
[x]: MUST Package is not relocatable.
[x]: MUST Development (unversioned) .so files in -devel subpackage, if
     present.


==== Generic ====
[x]: MUST Package is licensed with an open-source compatible license and meets
     other legal requirements as defined in the legal section of Packaging
     Guidelines.
[x]: MUST Package successfully compiles and builds into binary rpms on at
     least one supported primary architecture.
[x]: MUST %build honors applicable compiler flags or justifies otherwise.
[x]: MUST All build dependencies are listed in BuildRequires, except for any
     that are listed in the exceptions section of Packaging Guidelines.
[x]: MUST Buildroot is not present
     Note: Unless packager wants to package for EPEL5 this is fine
[x]: MUST Package contains no bundled libraries.
[x]: MUST Changelog in prescribed format.
[x]: MUST Package has no %clean section with rm -rf %{buildroot} (or
     $RPM_BUILD_ROOT)
     Note: Clean would be needed if support for EPEL is required
[x]: MUST Sources contain only permissible code or content.
[x]: MUST Each %files section contains %defattr if rpm < 4.4
     Note: Note: defattr macros not found. They would be needed for EPEL5
[x]: MUST Macros in Summary, %description expandable at SRPM build time.
[x]: MUST Package requires other packages for directories it uses.
[x]: MUST Package uses nothing in %doc for runtime.
[x]: MUST Package is not known to require ExcludeArch.
[x]: MUST Permissions on files are set properly.
[x]: MUST Package does not contain duplicates in %files.
[x]: MUST Fully versioned dependency in subpackages, if present.
[x]: MUST Spec file lacks Packager, Vendor, PreReq tags.
[x]: MUST Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
     Note: rm -rf would be needed if support for EPEL5 is required
[x]: MUST Large documentation files are in a -doc subpackage, if required.
[x]: MUST 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]: MUST License field in the package spec file matches the actual license.
     Note: Licenses found: "*No copyright* UNKNOWN", "LGPL (v2.1 or later)
     (with incorrect FSF address) ", "GPL (v2 or later) ", "GPL (v3 or later)
     ", "LGPL (v2 or later) (with incorrect FSF address) ", "LGPL (v2.1 or
     later) GENERATED FILE", "*No copyright* GENERATED FILE", "LGPL (v2.1 or
     later) " For detailed output of licensecheck see file:
     /home/threebean/reviews/787193/licensecheck.txt
[x]: MUST License file installed when any subpackage combination is installed.
[x]: MUST Package consistently uses macros (instead of hard-coded directory
     names).
[x]: MUST Package is named according to the Package Naming Guidelines.
[x]: MUST Package does not generate any conflict.
[x]: MUST Package obeys FHS, except libexecdir and /usr/target.
[x]: MUST Package must own all directories that it creates.
[x]: MUST Package does not own files or directories owned by other packages.
[x]: MUST Package installs properly.
[!]: MUST Package requires pkgconfig, if .pc files are present. (EPEL5)
     Note: Only applicable for EL-5
[x]: MUST Requires correct, justified where necessary.
[!]: MUST Rpmlint output is silent.
[x]: MUST Sources used to build the package match the upstream source, as
     provided in the spec URL.
/home/threebean/reviews/787193/vala-0.16.0.tar.xz :
  MD5SUM this package     : 84b742e9cca4c90fde3026c3793c03c1
  MD5SUM upstream package : 84b742e9cca4c90fde3026c3793c03c1

[x]: MUST Spec file is legible and written in American English.
[x]: MUST Spec file name must match the spec package %{name}, in the format
     %{name}.spec.
[x]: MUST Package contains a SysV-style init script if in need of one.
[x]: MUST File names are valid UTF-8.
[x]: MUST Useful -debuginfo package or justification otherwise.
[x]: SHOULD Reviewer should test that the package builds in mock.
[x]: SHOULD If the source package does not include license text(s) as a
     separate file from upstream, the packager SHOULD query upstream to
     include it.
[x]: SHOULD Dist tag is present.
[x]: SHOULD No file requires outside of /etc, /bin, /sbin, /usr/bin,
     /usr/sbin.
[x]: SHOULD Final provides and requires are sane (rpm -q --provides and rpm -q
     --requires).
[x]: SHOULD Package functions as described.
[-]: SHOULD Latest version is packaged.
[x]: SHOULD Package does not include license text files separate from
     upstream.
[!]: SHOULD The placement of pkgconfig(.pc) files are correct.
     Note: vala-compat-tools-0.16.0-2.fc18.i686.rpm :
     /usr/share/pkgconfig/vapigen-0.16.pc vala-compat-
     tools-0.16.0-2.fc18.i686.rpm : /usr/share/pkgconfig/vapigen.pc
[x]: SHOULD Scriptlets must be sane, if used.
[x]: SHOULD SourceX is a working URL.
[x]: SHOULD Description and summary sections in the package spec file contains
     translations for supported Non-English languages, if available.
[x]: SHOULD Package should compile and build into binary rpms on all supported
     architectures.
[-]: SHOULD %check is present and all tests pass.
[x]: SHOULD Packages should try to preserve timestamps of original installed
     files.
[x]: SHOULD Spec use %global instead of %define.

Issues:
[!]: MUST Package requires pkgconfig, if .pc files are present. (EPEL5)
     Note: Only applicable for EL-5
See: http://fedoraproject.org/wiki/EPEL/GuidelinesAndPolicies#EL5

PASS -- not building for EL5

[!]: MUST Rpmlint output is silent.

PASS -- all acceptable aberrants due to use of alternatives.

Generated by fedora-review 0.2.0git
External plugins:

Comment 9 Michel Lind 2012-05-11 04:15:47 UTC
Thanks!

New Package SCM Request
=======================
Package Name: vala-compat
Short Description: Compatibility version of the Vala compiler
Owners: salimma
Branches: f16 f17
InitialCC:

Comment 10 Gwyn Ciesla 2012-05-11 13:02:30 UTC
Git done (by process-git-requests).

Comment 11 Fedora Update System 2012-05-11 17:19:59 UTC
vala-compat-0.14.2-3.fc17 has been submitted as an update for Fedora 17.
https://admin.fedoraproject.org/updates/vala-compat-0.14.2-3.fc17

Comment 12 Fedora Update System 2012-05-11 17:20:10 UTC
vala-compat-0.12.1-3.fc16 has been submitted as an update for Fedora 16.
https://admin.fedoraproject.org/updates/vala-compat-0.12.1-3.fc16

Comment 13 Fedora Update System 2012-05-11 21:50:49 UTC
vala-compat-0.14.2-3.fc17 has been pushed to the Fedora 17 testing repository.

Comment 14 Fedora Update System 2012-05-29 10:22:52 UTC
vala-compat-0.14.2-4.fc17 has been pushed to the Fedora 17 stable repository.

Comment 15 Fedora Update System 2012-05-29 10:37:25 UTC
vala-compat-0.12.1-4.fc16 has been pushed to the Fedora 16 stable repository.


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