Bug 852174

Summary: Review Request: snapper - Tool for filesystem snapshot management
Product: [Fedora] Fedora Reporter: Ondrej Kozina <okozina>
Component: Package ReviewAssignee: Elad Alfassa <elad>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: agk, asaha, davidz, elad, gwync, johannbg, notting, package-review, prajnoha, rhughes, volker27
Target Milestone: ---Flags: elad: fedora-review+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-11-19 09:20:57 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:

Description Ondrej Kozina 2012-08-27 18:35:05 UTC
Spec URL: http://okozina.fedorapeople.org/snapper.spec
SRPM URL: http://okozina.fedorapeople.org/snapper-0.0.14-1.fc19.src.rpm

Description: Snapper is a tool for managing btrfs and LVM thinprovisioned snapshots. Apart from the obvious creation and deletion of snapshots it can compare snapshots and revert differences between snapshots. In simple terms, this allows users to view older versions of files and revert changes.

Fedora Account System Username: okozina

Comment 1 Persona non grata 2012-08-29 09:05:19 UTC
Hi, just a little comment:

rpmlint says there are spelling errors + setup-not-quiet:
snapper-libs.x86_64: W: spelling-error Summary(en_US) filesystem -> file system, file-system, systemically
snapper-libs.x86_64: W: spelling-error %description -l en_US filesystem -> file system, file-system, systemically
snapper.x86_64: W: spelling-error Summary(en_US) filesystem -> file system, file-system, systemically
snapper.x86_64: W: spelling-error %description -l en_US filesystem -> file system, file-system, systemically
snapper-devel.x86_64: W: spelling-error Summary(en_US) libsnapper -> lib snapper, lib-snapper, whippersnapper
snapper.src: W: spelling-error Summary(en_US) filesystem -> file system, file-system, systemically
snapper.src: W: spelling-error %description -l en_US filesystem -> file system, file-system, systemically
snapper.src:26: W: setup-not-quiet
snapper.src: W: invalid-url Source0: snapper-0.0.14.tar.bz2
6 packages and 0 specfiles checked; 0 errors, 9 warnings.

Regards,
Milan

Comment 2 Ondrej Kozina 2012-08-29 10:46:07 UTC
Hi,

sure. I'm aware of it (I ran fedora-review test as well), but frankly, I don't know how would you like to correct spelling errors like "libsnapper" or "filesystem" :)

ad setup-not-quiet: I'll correct that, thanks. missed that one.

ad invalid-url: Snapper is a heavily work in progress project. There are no tags or official source releases so far. I've packed tarball from the latest commit myself. Anyway, I'm going to add comment about that fact into specfile.

also:
- Removed explicit CFLAGS and CXXFLAFGS from the specfile as well
- Removed patches as both changes has been pushed upstream

(both the new specfile and srpm are at the same location)

Comment 3 Volker Fröhlich 2012-09-02 12:19:36 UTC
Remove %clean.

Use the _bindir and _includedir macro.

Including COPYING multiple times is not necessary. For instance, if devel requires libs, including it in libs is enough.

Your Requires should use ?_isa, as of http://fedoraproject.org/wiki/Packaging:Guidelines#Requires

I'm not sure if that file should be where it is: %{_libdir}/%{name}/bin/compare-dirs

Use the name macro in Source0.

Remove "-n snapper-%{version}" because it's the default.

Since this is no upstream release, the naming rules for snapshots apply: http://fedoraproject.org/wiki/Packaging:NamingGuidelines#Non-Numeric_Version_in_Release

Also state the exact command necessary to create the tarball.

Make "%{_mandir}/man8/%{name}.*.gz" "...%{name}.*" or "...%{name}.8*". Compression might change.

Comment 4 Volker Fröhlich 2012-09-02 12:21:19 UTC
> (both the new specfile and srpm are at the same location)

Please don't do that. Create a changelog entry and bump the release. This makes life easier for reviewers.

Comment 5 Ondrej Kozina 2012-09-05 16:02:04 UTC
Thank you for the comments. Anyway does it mean you are going to review the package (oficially)?

> I'm not sure if that file should be where it is:
> %{_libdir}/%{name}/bin/compare-dirs

Unfortunately, me neither. I took the location from upstream

Hope I fixed all other issues with the package. 

Spec URL: http://okozina.fedorapeople.org/snapper/0.0.14/2/snapper.spec
SRPM URL: http://okozina.fedorapeople.org/snapper/0.0.14/2/snapper-0.0.14-2.20120905gitb0d0145.fc19.src.rpm

Comment 6 Ondrej Kozina 2012-09-26 13:10:58 UTC
Update to latest devel version with dbus interface. I've done some basic code review but it would be nice if someone would look at it as well.

Moreover I think selinux policy will have to be updated to enable dbus communcation for the snapper package.

> I'm not sure if that file should be where it is:
> %{_libdir}/%{name}/bin/compare-dirs

The binary is considered obsolete and removed completely from dbus version. Background tasks are handled by snapperd daemon.

Spec URL: http://okozina.fedorapeople.org/snapper/0.0.14/3/snapper.spec
SRPM URL: http://okozina.fedorapeople.org/snapper/0.0.14/3/snapper-0.0.14-3.20120926git7918e5c.fc19.src.rpm

Comment 7 Ondrej Kozina 2012-09-26 13:27:39 UTC
Hi David,

just wanted to let you know I request to add new dbus enabled service

Comment 8 David Zeuthen 2012-09-26 15:55:44 UTC
(In reply to comment #7)
> just wanted to let you know I request to add new dbus enabled service

Any package can include D-Bus services, there is no central registry or anything like that. So it doesn't make sense to "request" one...

Comment 9 Volker Fröhlich 2012-10-08 07:11:04 UTC
COPYING is not necessary in the main package, as it requires the libs package, which has it.

?_isa also applies in a few more locations, like in the main and devel package:
Requires:   %{name}-libs = %{version}-%{release}

There's a better method for filtering Provides now: https://fedoraproject.org/wiki/User:Tibbs/AutoProvidesAndRequiresFiltering

Please leave a comment in the specfile why you're removing ext4 support and what this is for:
rm -rf %{buildroot}/%{_prefix}/lib*/zypp

Commonly, all %files sections are at the end of the spec file, while %package and %description sections are at the beginning.

Comment 10 Peter Rajnoha 2012-10-22 12:28:21 UTC
A few bits I've spotted related to the dependencies and usability:

As for the Requires: lvm >= ... in the spec file - the tool is supposed to be used with btrfs and/or LVM. However, one can have LVM installed, but not btrfs tools or vice versa. Creating a requirement for both will bring in both btrfs tools as well as LVM tools. Taking into account that snapper works only with mounted volumes, these must have been activated before. In case of LVM, we can't activate without having LVM tools installed - so we couldn't even use that LVM mountpoint on command line if LVM tools were not installed. The same applies for btrfs tools I guess... So it's disputable whether it's really necessary to add a requirement for lvm/btrfs tools (as without having these devs mounted and activated, we couldn't even refer to them).

Also, I'd probably add EXAMPLES section to the snapper man page so people can quickly see what to do to create a simple snapshot scheme - just for convenience.

As for functionality itself:

  (/mnt/temp1 is not mounted!)
  [0] rawhide/~ # snapper create-config -f "lvm(ext4)" /mnt/temp1
  Creating config failed (invalid filesystem type).

- maybe a better message to explain that /mnt/temp1 is not mounted at all and so it can't create a snapshot in this case (as snapper is targeted for mounted volumes only)

The man page also refers to a "subvolume". For LVM, this could be easily misinterpreted as the device itself, not the mountpoint and we could end up with:

  [0] rawhide/~ # snapper create-config -f "lvm(ext4)" /dev/vg/thin_lv          
  Creating config failed (illegal subvolume).

- if possible, a better message would be welcome that would explain that we can't refer to devices themselves, but the mountpoints only. Refering to the mountpoint works with LVM, of course:

  [0] rawhide/~ # snapper create-config -f "lvm(ext4)" /mnt/temp

Comment 11 Peter Rajnoha 2012-10-22 12:40:32 UTC
(In reply to comment #10)
> installed. The same applies for btrfs tools I guess... So it's disputable
> whether it's really necessary to add a requirement for lvm/btrfs tools (as
> without having these devs mounted and activated, we couldn't even refer to
> them).

(...if the introduction of the snapshot feature of each of these backends used was added later than the basic functionality of the backend, then the Requires field is needed, of course... otherwise I think we don't need it.)

Comment 12 Ondrej Kozina 2012-10-26 14:17:52 UTC
I have assembled new spec file. Snapper is updated to the latest commit in master branch and patched to reflect the bug discussed here and also few others.

(reported upstream):
- patch: avoid abrt when 'diff' command is executed without arguments
- patch: do not check for btrfs-progs binary
- patch: do not allow 'create-config' command on non-thin LVM volumes

Also, I have removed python bindings since python users can communicate directly with snapperd via dbus interface.

Removed both btrfs-progs and LVM direct dependencies. LVM has been discussed here and btrfs-progs are not needed anymore. Snapper's been rewritten to call directly ioctl instead.

(In reply to comment #10)
> Also, I'd probably add EXAMPLES section to the snapper man page so people
> can quickly see what to do to create a simple snapshot scheme - just for
> convenience.
> 
> As for functionality itself:
> 
>   (/mnt/temp1 is not mounted!)
>   [0] rawhide/~ # snapper create-config -f "lvm(ext4)" /mnt/temp1
>   Creating config failed (invalid filesystem type).
> 
> - maybe a better message to explain that /mnt/temp1 is not mounted at all
> and so it can't create a snapshot in this case (as snapper is targeted for
> mounted volumes only)

this will require a change in error reporting design of snapperd so this'll take some time, I suppose. Anyway, I'll report that with some patch proposal soon.

Spec URL: http://okozina.fedorapeople.org/snapper/0.1.0/1/snapper.spec
SRPM URL: http://okozina.fedorapeople.org/snapper/0.1.0/1/snapper-0.1.0-1.20121026git1aaa372.fc19.src.rpm

Comment 13 Jóhann B. Guðmundsson 2012-10-26 17:08:28 UTC
When rebuilding that srpm on F17 I get... 

Making all in server
make[2]: Entering directory `/rpmbuild/BUILD/snapper-0.1.0/server'
...
...
Client.cc: In static member function 'static void Client::introspect(DBus::Connection&, DBus::Message&)':
Client.cc:124:2: error: inconsistent user-defined literal suffixes 'DBUS_INTROSPECT_1_0_XML_PUBLIC_IDENTIFIER' and 'DBUS_INTROSPECT_1_0_XML_SYSTEM_IDENTIFIER' in string literal
Client.cc:276:2: error: unable to find string literal operator 'operator"" DBUS_INTROSPECT_1_0_XML_PUBLIC_IDENTIFIER'

Comment 14 Ondrej Kozina 2012-10-28 14:48:55 UTC
Hi,

I believe it's related to: https://bugs.freedesktop.org/show_bug.cgi?id=46147 Fedora 17 runs dbus-1.4.10 and it's not patched until 1.4.20

Comment 15 Jóhann B. Guðmundsson 2012-10-28 18:11:30 UTC
Filed as bug 870786

Comment 16 Richard Hughes 2012-11-14 17:40:51 UTC
I'm quite keen on using snapper for https://fedoraproject.org/wiki/Features/OfflineSystemUpdates so if I can persuade someone to finish this review with a couple of drinks that'd be great :)

Comment 17 Elad Alfassa 2012-11-16 17:12:20 UTC
Package Review
==============

Key:
[x] = Pass
[!] = Fail
[-] = Not applicable
[?] = Not evaluated
[ ] = Manual review needed



===== MUST items =====

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

Generic:
[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]: Package successfully compiles and builds into binary rpms on at least one
     supported primary architecture.
[x]: %build honors applicable compiler flags or justifies otherwise.
[x]: All build dependencies are listed in BuildRequires, except for any that
     are listed in the exceptions section of Packaging Guidelines.
[x]: Package contains no bundled libraries.
[X]: Changelog in prescribed format.
[x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
[x]: Sources contain only permissible code or content.
[x]: %config files are marked noreplace or the reason is justified.
[x]: Each %files section contains %defattr if rpm < 4.4
[x]: Macros in Summary, %description expandable at SRPM build time.
[-]: Package contains desktop file if it is a GUI application.
[x]: Development files must be in a -devel package
[x]: Package requires other packages for directories it uses.
[x]: Package uses nothing in %doc for runtime.
[x]: Package is not known to require ExcludeArch.
[x]: Package does not contain duplicates in %files.
[x]: Permissions on files are set properly.
[x]: Fully versioned dependency in subpackages, if present.
     Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in %package
     libs, %package devel
[x]: Package complies to the Packaging Guidelines
[x]: Spec file lacks Packager, Vendor, PreReq tags.
[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]: License field in the package spec file matches the actual license.
     Note: Checking patched sources after %prep for licenses. Licenses found:
     "GPL (v2)", "Unknown or generated". 2 files have unknown license.
     Detailed output of licensecheck in
     /home/elad/852174-snapper/licensecheck.txt
[x]: License file installed when any subpackage combination is installed.
[x]: The spec file handles locales properly.
[x]: Package consistently uses macro is (instead of hard-coded directory
     names).
[x]: Package is named using only allowed ASCII characters.
[x]: Package is named according to the Package Naming Guidelines.
[x]: No %config files under /usr.
[x]: Package does not generate any conflict.
     Note: Package contains no Conflicts: tag(s)
[x]: Package do not use a name that already exist
[x]: Package obeys FHS, except libexecdir and /usr/target.
[-]: If the package is a rename of another package, proper Obsoletes and
     Provides are present.
[x]: Package must own all directories that it creates.
[x]: Package does not own files or directories owned by other packages.
[x]: Package installs properly.
[x]: Package is not relocatable.
[x]: Requires correct, justified where necessary.
[x]: CheckResultdir
[x]: Rpmlint is run on all rpms the build produces.
     Note: There are rpmlint messages (see attachment).
[x]: Sources used to build the package match the upstream source, as provided
     in the spec URL.
[x]: Spec file is legible and written in American English.
[x]: Spec file name must match the spec package %{name}, in the format
     %{name}.spec.
[-]: Package contains systemd file(s) if in need.
[x]: File names are valid UTF-8.
[x]: Useful -debuginfo package or justification otherwise.
[-]: Large documentation must go in a -doc subpackage.
     Note: Documentation size is 81920 bytes in 10 files.
[x]: Packages must not store files under /srv, /opt or /usr/local

===== SHOULD items =====

Generic:
[x]: Reviewer should test that the package builds in mock.
[x]: Buildroot is not present
[x]: Package has no %clean section with rm -rf %{buildroot} (or
     $RPM_BUILD_ROOT)
[ x: 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]: Dist tag is present.
[x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[ ]: Final provides and requires are sane (rpm -q --provides and rpm -q
     --requires).
[ ]: Package functions as described.
[ ]: Latest version is packaged.
[x]: Package does not include license text files separate from upstream.
[x]: Patches link to upstream bugs/comments/lists or are otherwise justified.
[x]: The placement of pkgconfig(.pc) files are correct.
[ ]: Scriptlets must be sane, if used.
[x]: SourceX tarball generation or download is documented.
     Note: Package contains tarball without URL, check comments
[x]: SourceX / PatchY prefixed with %{name}.
[x]: SourceX is a working URL.
[-]: Description and summary sections in the package spec file contains
     translations for supported Non-English languages, if available.
[ ]: Package should compile and build into binary rpms on all supported
     architectures.
[-]: %check is present and all tests pass.
[x]: Packages should try to preserve timestamps of original installed files.
[x]: Spec use %global instead of %define.

===== EXTRA items =====

Generic:
[x]: Rpmlint is run on all installed packages.
     Note: There are rpmlint messages (see attachment).
[x]: Spec file according to URL is the same as in SRPM.
[-]: Large data in /usr/share should live in a noarch subpackage if package is
     arched.


Rpmlint
-------
Checking: snapper-0.1.0-1.20121026git1aaa372.fc18.x86_64.rpm
          snapper-0.1.0-1.20121026git1aaa372.fc18.src.rpm
          snapper-libs-0.1.0-1.20121026git1aaa372.fc18.x86_64.rpm
          snapper-debuginfo-0.1.0-1.20121026git1aaa372.fc18.x86_64.rpm
          snapper-devel-0.1.0-1.20121026git1aaa372.fc18.x86_64.rpm
snapper.x86_64: W: spelling-error Summary(en_US) filesystem -> file system, file-system, systemically
snapper.x86_64: W: spelling-error %description -l en_US filesystem -> file system, file-system, systemically
snapper.src: W: spelling-error Summary(en_US) filesystem -> file system, file-system, systemically
snapper.src: W: spelling-error %description -l en_US filesystem -> file system, file-system, systemically
snapper.src: W: invalid-url Source0: snapper-0.1.0.tar.bz2
snapper-libs.x86_64: W: spelling-error Summary(en_US) filesystem -> file system, file-system, systemically
snapper-libs.x86_64: W: spelling-error %description -l en_US filesystem -> file system, file-system, systemically
snapper-devel.x86_64: W: spelling-error Summary(en_US) libsnapper -> lib snapper, lib-snapper, whippersnapper
5 packages and 0 specfiles checked; 0 errors, 8 warnings.




Rpmlint (installed packages)
----------------------------
# rpmlint snapper-debuginfo snapper-libs snapper snapper-devel 
snapper-libs.x86_64: W: spelling-error Summary(en_US) filesystem -> file system, file-system, systemically
snapper-libs.x86_64: W: spelling-error %description -l en_US filesystem -> file system, file-system, systemically
snapper.x86_64: W: spelling-error Summary(en_US) filesystem -> file system, file-system, systemically
snapper.x86_64: W: spelling-error %description -l en_US filesystem -> file system, file-system, systemically
snapper-devel.x86_64: W: spelling-error Summary(en_US) libsnapper -> lib snapper, lib-snapper, whippersnapper
4 packages and 0 specfiles checked; 0 errors, 5 warnings.
# echo 'rpmlint-done:'



Requires
--------
snapper-0.1.0-1.20121026git1aaa372.fc18.x86_64.rpm (rpmlib, GLIBC filtered):
    
    /bin/sh
    config(snapper) = 0.1.0-1.20121026git1aaa372.fc18
    libboost_system-mt.so.1.50.0()(64bit)
    libboost_thread-mt.so.1.50.0()(64bit)
    libc.so.6()(64bit)
    libdbus-1.so.3()(64bit)
    libgcc_s.so.1()(64bit)
    libgcc_s.so.1(GCC_3.0)(64bit)
    libm.so.6()(64bit)
    libpthread.so.0()(64bit)
    librt.so.1()(64bit)
    libsnapper.so.2()(64bit)
    libstdc++.so.6()(64bit)
    libstdc++.so.6(CXXABI_1.3)(64bit)
    libxml2.so.2()(64bit)
    libz.so.1()(64bit)
    rtld(GNU_HASH)
    snapper-libs(x86-64) = 0.1.0-1.20121026git1aaa372.fc18

snapper-libs-0.1.0-1.20121026git1aaa372.fc18.x86_64.rpm (rpmlib, GLIBC filtered):
    
    /sbin/ldconfig
    config(snapper-libs) = 0.1.0-1.20121026git1aaa372.fc18
    diffutils
    libboost_system-mt.so.1.50.0()(64bit)
    libboost_thread-mt.so.1.50.0()(64bit)
    libc.so.6()(64bit)
    libgcc_s.so.1()(64bit)
    libgcc_s.so.1(GCC_3.0)(64bit)
    libstdc++.so.6()(64bit)
    libstdc++.so.6(CXXABI_1.3)(64bit)
    libxml2.so.2()(64bit)
    libxml2.so.2(LIBXML2_2.4.30)(64bit)
    libxml2.so.2(LIBXML2_2.6.0)(64bit)
    rtld(GNU_HASH)
    util-linux

snapper-debuginfo-0.1.0-1.20121026git1aaa372.fc18.x86_64.rpm (rpmlib, GLIBC filtered):
    

snapper-devel-0.1.0-1.20121026git1aaa372.fc18.x86_64.rpm (rpmlib, GLIBC filtered):
    
    boost-devel(x86-64)
    libsnapper.so.2()(64bit)
    libstdc++-devel(x86-64)
    libxml2-devel(x86-64)
    snapper(x86-64) = 0.1.0-1.20121026git1aaa372.fc18



Provides
--------
snapper-0.1.0-1.20121026git1aaa372.fc18.x86_64.rpm:
    
    config(snapper) = 0.1.0-1.20121026git1aaa372.fc18
    snapper = 0.1.0-1.20121026git1aaa372.fc18
    snapper(x86-64) = 0.1.0-1.20121026git1aaa372.fc18

snapper-libs-0.1.0-1.20121026git1aaa372.fc18.x86_64.rpm:
    
    config(snapper-libs) = 0.1.0-1.20121026git1aaa372.fc18
    libsnapper.so.2()(64bit)
    snapper-libs = 0.1.0-1.20121026git1aaa372.fc18
    snapper-libs(x86-64) = 0.1.0-1.20121026git1aaa372.fc18

snapper-debuginfo-0.1.0-1.20121026git1aaa372.fc18.x86_64.rpm:
    
    snapper-debuginfo = 0.1.0-1.20121026git1aaa372.fc18
    snapper-debuginfo(x86-64) = 0.1.0-1.20121026git1aaa372.fc18

snapper-devel-0.1.0-1.20121026git1aaa372.fc18.x86_64.rpm:
    
    snapper-devel = 0.1.0-1.20121026git1aaa372.fc18
    snapper-devel(x86-64) = 0.1.0-1.20121026git1aaa372.fc18



MD5-sum check
-------------


Generated by fedora-review 0.3.1 (b71abc1) last change: 2012-10-16
Buildroot used: fedora-18-x86_64
Command line :/usr/bin/fedora-review -b 852174


I see no issues with this package. Package is APPROVED.

Comment 18 Ondrej Kozina 2012-11-16 17:46:15 UTC
New Package SCM Request
=======================
Package Name: snapper
Short Description: Tool for filesystem snapshot management
Owners: lvm-team okozina agk
Branches: 
InitialCC:

Comment 19 Gwyn Ciesla 2012-11-16 17:52:20 UTC
"lvm-team" is not in the packager group.

Comment 20 Alasdair Kergon 2012-11-16 17:54:37 UTC
That's because it's not a 'person' and so cannot legally sign the agreement.  (Ref. spot.)

Nevertheless, it's the owner of our team's packages.

Comment 21 Alasdair Kergon 2012-11-16 17:56:26 UTC
(Background: I got lvm-team added to the package group some time ago, but spot removed it citing the reason I gave.)

Comment 22 Alasdair Kergon 2012-11-16 18:02:49 UTC
(And the owner has to be set to the lvm-team alias so that that mailing list - not any individual - owns the component in bugzilla.)

Comment 23 Ondrej Kozina 2012-11-16 18:34:21 UTC
(In reply to comment #19)
> "lvm-team" is not in the packager group.

Please, could you be more specific (or any admin who would look into it) on why 'lvm-team' can't be set as the package owner? Actually, I can see lvm-team owns following packages: 
device-mapper-multipath, device-mapper-persistent-data, dmraid, lvm2, right?

Comment 24 Gwyn Ciesla 2012-11-16 19:00:15 UTC
Git done (by process-git-requests).

Comment 25 Gwyn Ciesla 2012-11-16 19:01:03 UTC
I didn't think it would work, but it seems to have.

Comment 26 Gwyn Ciesla 2012-11-16 19:03:19 UTC
Unsetting flag

Comment 27 Richard Hughes 2012-11-21 10:26:31 UTC
No f18 packages? :(

Comment 28 Ondrej Kozina 2012-11-21 11:06:35 UTC
I'm afraid for f18, it's too late. I mean, is it _really_ necessary? Otherwise I think I wouldn't provoke QA people w/o very good reason that late in release cycle.

Comment 29 Gwyn Ciesla 2012-11-21 13:16:41 UTC
No reason not to build for f18, it'll just come as an update.  QA will be unaffected, we're frozen.